MACHINE: add support of stm32mp1
stm32mp1 machine are a machine which support several board. Signed-off-by: Christophe Priouzeau <christophe.priouzeau@st.com>
This commit is contained in:
parent
2c397423da
commit
c5fda24713
|
|
@ -0,0 +1,47 @@
|
|||
# =========================================================================
|
||||
# GPU
|
||||
# =========================================================================
|
||||
GPU_USERLAND_LIBRARIES_WAYLAND ?= "gcnano-userland-multi-binary-stm32mp"
|
||||
GPU_USERLAND_LIBRARIES_EGLFS ?= "gcnano-userland-multi-binary-stm32mp"
|
||||
GPU_USERLAND_LIBRARIES_X11 ?= "mesa"
|
||||
|
||||
# Helper function for overloading the default EGL/GLES implementation.
|
||||
# The Vivnate libraries are compatible with the Mesa headers
|
||||
# but we can have several backend available following the distro configuration:
|
||||
# - wayland
|
||||
# - x11
|
||||
# - wayland + x11
|
||||
# - framebuffer
|
||||
# - drm
|
||||
|
||||
def get_gpu_vivante_handler(d):
|
||||
""" Overloading the default EGL/GLES/mesa implementation."""
|
||||
machine_features = d.getVar('MACHINE_FEATURES').split()
|
||||
distro_features = d.getVar('DISTRO_FEATURES').split()
|
||||
|
||||
gpu_lib_wayland = d.getVar('GPU_USERLAND_LIBRARIES_WAYLAND').split()
|
||||
gpu_lib_eglfs = d.getVar('GPU_USERLAND_LIBRARIES_EGLFS').split()
|
||||
gpu_lib_x11 = d.getVar('GPU_USERLAND_LIBRARIES_X11').split()
|
||||
|
||||
if 'gpu' in machine_features:
|
||||
if 'wayland' in distro_features:
|
||||
provider = gpu_lib_wayland[0]
|
||||
else:
|
||||
if 'x11' in distro_features:
|
||||
provider = gpu_lib_x11[0]
|
||||
else:
|
||||
'''no wayland, no X11 -> choose DRM/FB for eglfs'''
|
||||
provider = gpu_lib_eglfs[0]
|
||||
else:
|
||||
provider = "mesa"
|
||||
|
||||
return provider;
|
||||
|
||||
GPU_USERLAND_LIBRARIES_INSTALL = "${@get_gpu_vivante_handler(d)}"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/egl = "${@get_gpu_vivante_handler(d)}"
|
||||
PREFERRED_PROVIDER_virtual/libgles1 = "${@get_gpu_vivante_handler(d)}"
|
||||
PREFERRED_PROVIDER_virtual/libgles2 = "${@get_gpu_vivante_handler(d)}"
|
||||
PREFERRED_PROVIDER_virtual/libgbm = "${@get_gpu_vivante_handler(d)}"
|
||||
PREFERRED_PROVIDER_virtual/mesa = "${@bb.utils.contains('PREFERRED_PROVIDER_virtual/egl','mesa','mesa','mesa-gl',d)}"
|
||||
PREFERRED_PROVIDER_virtual/libgl = "${@bb.utils.contains('PREFERRED_PROVIDER_virtual/egl','mesa','mesa','mesa-gl',d)}"
|
||||
|
|
@ -0,0 +1,302 @@
|
|||
#@DESCRIPTION: Common Machine configuration for STM32 systems
|
||||
|
||||
require conf/machine/include/st-machine-extlinux-config-stm32mp.inc
|
||||
require conf/machine/include/st-machine-features-stm32mp.inc
|
||||
require conf/machine/include/st-machine-flashlayout-stm32mp.inc
|
||||
require conf/machine/include/st-machine-flashlayout-deleteall-stm32mp.inc
|
||||
|
||||
# Define specific common machine name
|
||||
MACHINEOVERRIDES .= ":stcommon"
|
||||
|
||||
# Define specific common layer name
|
||||
MACHINEOVERRIDES .= ":stm32mpcommon"
|
||||
|
||||
# =========================================================================
|
||||
# boot scheme
|
||||
# =========================================================================
|
||||
# List of supported boot schemes
|
||||
BOOTSCHEME_LABELS ??= "basic trusted optee"
|
||||
|
||||
# =========================================================================
|
||||
# Machine settings
|
||||
# =========================================================================
|
||||
# Default machine feature
|
||||
MACHINE_FEATURES = "usbhost usbgadget alsa screen ext2"
|
||||
MACHINE_FEATURES_append = " ${@bb.utils.contains('BOOTSCHEME_LABELS', 'optee', 'optee', '', d)} "
|
||||
MACHINE_FEATURES_append = " tpm2 "
|
||||
|
||||
# Default serial consoles (TTYs) to enable using getty
|
||||
# Before kernel 4.18, serial console are ttyS3 but after is ttySTM0
|
||||
SERIAL_CONSOLES = "115200;ttySTM0"
|
||||
SERIAL_CONSOLE = "115200 ttySTM0"
|
||||
|
||||
# Don't include kernels in standard images
|
||||
RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""
|
||||
|
||||
# Ship all kernel modules by default
|
||||
MACHINE_EXTRA_RRECOMMENDS = " kernel-modules"
|
||||
|
||||
# Default device tree list supported per board
|
||||
STM32MP_DT_FILES_DK ??= ""
|
||||
STM32MP_DT_FILES_ED ??= ""
|
||||
STM32MP_DT_FILES_EV ??= ""
|
||||
# Set default supported device tree list
|
||||
STM32MP_DEVICETREE_append = " ${STM32MP_DT_FILES_DK} "
|
||||
STM32MP_DEVICETREE_append = " ${STM32MP_DT_FILES_ED} "
|
||||
STM32MP_DEVICETREE_append = " ${STM32MP_DT_FILES_EV} "
|
||||
|
||||
# =========================================================================
|
||||
# Machine specific packages
|
||||
# =========================================================================
|
||||
MACHINE_EXTRA_RRECOMMENDS_append = " ${@bb.utils.contains('MACHINE_FEATURES', 'wifi', 'linux-firmware-bcm43430', '', d)} "
|
||||
MACHINE_EXTRA_RRECOMMENDS_append = " ${@bb.utils.contains('DISTRO_FEATURES','systemd',' wifi-suspend ','',d)} "
|
||||
MACHINE_EXTRA_RRECOMMENDS_append = " m4projects-stm32mp1 "
|
||||
MACHINE_EXTRA_RRECOMMENDS_append = " linux-examples-stm32mp1 "
|
||||
MACHINE_EXTRA_RRECOMMENDS_append = " m4fwcoredump "
|
||||
# Enable Software watchdog when sysvinit
|
||||
# We enable it to be aligned with the activation within u-boot https://gerrit.st.com/#/c/102528
|
||||
MACHINE_EXTRA_RRECOMMENDS_append = " ${@bb.utils.contains('DISTRO_FEATURES','sysvinit',' watchdog ','',d)} "
|
||||
|
||||
# =========================================================================
|
||||
# Image
|
||||
# =========================================================================
|
||||
IMAGE_CLASSES += "image_types-stubi st-partitions-image"
|
||||
|
||||
# Define image to use for extra partitions
|
||||
STM32MP_BOOTFS_IMAGE = "st-image-bootfs"
|
||||
STM32MP_BOOTFS_LABEL = "boot"
|
||||
STM32MP_BOOTFS_MOUNTPOINT_IMAGE = "/boot"
|
||||
STM32MP_USERFS_IMAGE = "st-image-userfs"
|
||||
STM32MP_USERFS_LABEL = "userfs"
|
||||
STM32MP_USERFS_MOUNTPOINT_IMAGE = "/usr/local"
|
||||
STM32MP_VENDORFS_IMAGE = "st-image-vendorfs"
|
||||
STM32MP_VENDORFS_LABEL = "vendorfs"
|
||||
STM32MP_VENDORFS_MOUNTPOINT_IMAGE = "/vendor"
|
||||
|
||||
# Define extra partition to build
|
||||
PARTITIONS_IMAGE = "${STM32MP_BOOTFS_IMAGE} ${STM32MP_USERFS_IMAGE} ${STM32MP_VENDORFS_IMAGE}"
|
||||
PARTITIONS_MOUNTPOINT_IMAGE = "${STM32MP_BOOTFS_MOUNTPOINT_IMAGE} ${STM32MP_USERFS_MOUNTPOINT_IMAGE} ${STM32MP_VENDORFS_MOUNTPOINT_IMAGE}"
|
||||
|
||||
# Enable licence summary and configure License content generation
|
||||
ENABLE_IMAGE_LICENSE_SUMMARY = "1"
|
||||
IMAGE_SUMMARY_LIST = "${STM32MP_BOOTFS_IMAGE}:${STM32MP_VENDORFS_IMAGE}:#IMAGE#:${STM32MP_USERFS_IMAGE}"
|
||||
|
||||
# Provide list of partition to mount
|
||||
MOUNT_PARTITIONS_LIST = "${STM32MP_BOOTFS_LABEL},${STM32MP_BOOTFS_MOUNTPOINT_IMAGE}"
|
||||
MOUNT_PARTITIONS_LIST += "${STM32MP_USERFS_LABEL},${STM32MP_USERFS_MOUNTPOINT_IMAGE}"
|
||||
MOUNT_PARTITIONS_LIST += "${STM32MP_VENDORFS_LABEL},${STM32MP_VENDORFS_MOUNTPOINT_IMAGE}"
|
||||
|
||||
# Define image partition size (supposed to be set as max size in image recipe)
|
||||
BOOTFS_PARTITION_SIZE = "65536"
|
||||
# New value proposed for rootfs is 768MB
|
||||
ROOTFS_PARTITION_SIZE = "768432"
|
||||
# If we consider the highest constraint is NAND size (so < 1GB)
|
||||
# Boot binaries 4 MB max (with optee) + bootfs 64 MB max + rootfs 768 MB max + userfs size (4*32MB) < 1024 MB
|
||||
USERFS_PARTITION_SIZE = "131072"
|
||||
# New value proposed for vendorfs is 16MB
|
||||
VENDORFS_PARTITION_SIZE = "16384"
|
||||
|
||||
# Define volume list for multivolume UBIFS
|
||||
STM32MP_UBI_VOLUME += "${STM32MP_BOOTFS_IMAGE}-${DISTRO}-${MACHINE}:${BOOTFS_PARTITION_SIZE}"
|
||||
STM32MP_UBI_VOLUME += "${IMAGE_LINK_NAME}:${ROOTFS_PARTITION_SIZE}"
|
||||
STM32MP_UBI_VOLUME += "${STM32MP_VENDORFS_IMAGE}-${DISTRO}-${MACHINE}:${VENDORFS_PARTITION_SIZE}"
|
||||
STM32MP_UBI_VOLUME += "${STM32MP_USERFS_IMAGE}-${DISTRO}-${MACHINE}:${USERFS_PARTITION_SIZE}"
|
||||
|
||||
# Set on machine side the max size for ROOTFS image to apply for default rootfs being built
|
||||
# On other image partition such settings is directly done in image recipe
|
||||
IMAGE_ROOTFS_MAXSIZE ?= "${ROOTFS_PARTITION_SIZE}"
|
||||
|
||||
# ST Naming rules partitions for UBI format are :
|
||||
# nand_<PageSize>_<BlockSize>
|
||||
# nor_<BlockSize>
|
||||
# Like that a same UBI partition can be used for severals NAND/NOR providers
|
||||
|
||||
# UBI Args for NAND soldered by default on MB1262
|
||||
# Micron MT29F8G16ABACAH4
|
||||
# LEB = BLOCK_SIZE - (2 * page size): 256*1024 - (2*4096)
|
||||
MKUBIFS_ARGS_nand_4_256 = "--min-io-size 4096 --leb-size 253952 --max-leb-cnt 4096 --space-fixup"
|
||||
UBINIZE_ARGS_nand_4_256 = "--min-io-size 4096 --peb-size 256KiB"
|
||||
|
||||
# Define UBI labels to build
|
||||
MULTIUBI_BUILD_append = " nand_4_256 "
|
||||
|
||||
# Set on machine side the UBI volume label for ROOTFS image to apply to reuse it
|
||||
# on kernel command line to mount UBI file system
|
||||
# On other image partition such settings is directly done in image recipe
|
||||
UBI_VOLNAME ?= "rootfs"
|
||||
|
||||
# create minimal inode number (as it is done by default in image_types.bbclass)
|
||||
# add naming of ext4 FS to be aligned with gpt... scripts
|
||||
# For label name we are using IMAGE_NAME_SUFFIX we are removing "." and truncing to 16 caracters
|
||||
# -L new-volume-label
|
||||
# Set the volume label for the filesystem to new-volume-label. The maximum length of the volume label is 16 bytes.
|
||||
EXTRA_IMAGECMD_ext4 = "-i 4096 -L ${@d.getVar('IMAGE_NAME_SUFFIX').replace('.', '', 1)[:16]}"
|
||||
|
||||
# Default FSTYPES requested
|
||||
IMAGE_FSTYPES = "tar.xz ext4"
|
||||
|
||||
# Allow debug on the platform with gdb and openocd tools
|
||||
EXTRA_IMAGEDEPENDS_append = " \
|
||||
gdb-cross-arm \
|
||||
openocd-stm32mp-native \
|
||||
sdcard-raw-tools-native \
|
||||
"
|
||||
|
||||
# Make sure to provide all expected tools in SDK
|
||||
ST_TOOLS_FOR_SDK = " \
|
||||
nativesdk-gcc-arm-none-eabi \
|
||||
nativesdk-binutils \
|
||||
nativesdk-openocd-stm32mp \
|
||||
nativesdk-sdcard-raw-tools \
|
||||
nativesdk-ncurses-libncursesw \
|
||||
nativesdk-perl-module-term-ansicolor \
|
||||
nativesdk-perl-module-encode \
|
||||
nativesdk-perl-module-encode-mime-header \
|
||||
"
|
||||
# For support of string convertion (iconv) in SDK
|
||||
ST_TOOLS_FOR_SDK_append = " \
|
||||
nativesdk-glibc-gconv-utf-16 \
|
||||
nativesdk-glibc-gconv-utf-32 \
|
||||
"
|
||||
|
||||
# for populate_sdk, we will have all the tools
|
||||
TOOLCHAIN_HOST_TASK_append = " ${ST_TOOLS_FOR_SDK} "
|
||||
|
||||
# Make sure to append mkimage to SDK for kernel uImage build
|
||||
TOOLCHAIN_HOST_TASK_append = " ${@bb.utils.contains('KERNEL_IMAGETYPE', 'uImage', 'nativesdk-u-boot-mkimage', '', d)} "
|
||||
TOOLCHAIN_HOST_TASK_append = " ${@bb.utils.contains('KERNEL_ALT_IMAGETYPE', 'uImage', 'nativesdk-u-boot-mkimage', '', d)} "
|
||||
# Make sure to append openssl to SDK for kernel-module and scripts build
|
||||
TOOLCHAIN_HOST_TASK_append = " nativesdk-openssl-dev "
|
||||
|
||||
# Make sure to append bison to SDK for u-boot build
|
||||
TOOLCHAIN_HOST_TASK_append = " ${@bb.utils.contains('EXTRA_IMAGEDEPENDS', 'u-boot-stm32mp', 'nativesdk-bison', '', d)} "
|
||||
|
||||
# for populate_sdk_ext, the tools are not desired as mandatory tools (aka basic
|
||||
# tools for devtool)
|
||||
TOOLCHAIN_HOST_TASK_remove_task-populate-sdk-ext = " ${ST_TOOLS_FOR_SDK} "
|
||||
|
||||
# buildtools and uninatve are used only by populate_sdk_ext
|
||||
# populate_sdk_ext = buildtools + uninatve + layer
|
||||
# buildtools: sdk part of esdk (like sdk generated by populate_sdk)
|
||||
# uninative: basic tools for devtool
|
||||
TOOLCHAIN_HOST_TASK_append_pn-buildtools-tarball = " ${ST_TOOLS_FOR_SDK} "
|
||||
TOOLCHAIN_HOST_TASK_remove_pn-uninative-tarball = " ${ST_TOOLS_FOR_SDK} "
|
||||
|
||||
# =========================================================================
|
||||
# Kernel
|
||||
# =========================================================================
|
||||
# Select kernel version
|
||||
PREFERRED_PROVIDER_virtual/kernel = "linux-stm32mp"
|
||||
|
||||
# Kernel image type
|
||||
KERNEL_IMAGETYPE = "uImage"
|
||||
KERNEL_ALT_IMAGETYPE = " Image "
|
||||
KERNEL_ALT_IMAGETYPE =+ " vmlinux "
|
||||
KERNEL_ALT_IMAGETYPE =+ " zImage "
|
||||
|
||||
# Maxsize authorized for uncompressed kernel binary
|
||||
# Define to null to skip kernel image size check
|
||||
KERNEL_IMAGE_MAXSIZE ?= ""
|
||||
|
||||
# List of device tree to install
|
||||
KERNEL_DEVICETREE ?= "${STM32MP_KERNEL_DEVICETREE}"
|
||||
STM32MP_KERNEL_DEVICETREE += "${@' '.join('%s.dtb' % d for d in '${STM32MP_DEVICETREE}'.split())}"
|
||||
STM32MP_KERNEL_DEVICETREE += "${@' '.join('%s.dtb' % d for d in '${CUBE_M4_EXAMPLES_DT}'.split())}"
|
||||
STM32MP_KERNEL_DEVICETREE += "${@' '.join('%s.dtb' % d for d in '${LINUX_A7_EXAMPLES_DT}'.split())}"
|
||||
|
||||
# Define the devicetree for Linux A7 examples
|
||||
LINUX_A7_EXAMPLES_DT ?= ""
|
||||
|
||||
# =========================================================================
|
||||
# u-boot
|
||||
# =========================================================================
|
||||
EXTRA_IMAGEDEPENDS += "u-boot-stm32mp"
|
||||
|
||||
# Define default U-Boot config
|
||||
UBOOT_CONFIG += "${@bb.utils.contains('BOOTSCHEME_LABELS', 'basic', 'basic', '', d)}"
|
||||
UBOOT_CONFIG += "${@bb.utils.contains('BOOTSCHEME_LABELS', 'trusted', 'trusted', '', d)}"
|
||||
UBOOT_CONFIG += "${@bb.utils.contains('BOOTSCHEME_LABELS', 'optee', 'optee', '', d)}"
|
||||
#Add this config until u-boot is able to flash with basic binary
|
||||
UBOOT_CONFIG += "${@bb.utils.contains('BOOTSCHEME_LABELS', 'basic', 'trusted', '', d)}"
|
||||
|
||||
# Define u-boot defconfig and binary to use for each UBOOT_CONFIG
|
||||
UBOOT_CONFIG[basic] = "stm32mp15_basic_defconfig,,u-boot.img"
|
||||
UBOOT_CONFIG[trusted] = "stm32mp15_trusted_defconfig,,u-boot.stm32"
|
||||
UBOOT_CONFIG[optee] = "stm32mp15_optee_defconfig,,u-boot.stm32"
|
||||
|
||||
# List of U-Boot device tree to use
|
||||
UBOOT_DEVICETREE = "${STM32MP_DEVICETREE}"
|
||||
|
||||
# Define u-boot splashscreen file naming
|
||||
UBOOT_SPLASH_IMAGE = "splash"
|
||||
|
||||
# =========================================================================
|
||||
# tf-a
|
||||
# =========================================================================
|
||||
# Finally we must compile tf-a in all cases as we need trusted binary to boot
|
||||
#EXTRA_IMAGEDEPENDS += "${@bb.utils.contains_any('BOOTSCHEME_LABELS', 'optee trusted', 'tf-a-stm32mp', '', d)}"
|
||||
EXTRA_IMAGEDEPENDS += "tf-a-stm32mp"
|
||||
|
||||
# Define default TF-A config
|
||||
TF_A_CONFIG += "${@bb.utils.contains('BOOTSCHEME_LABELS', 'trusted', 'trusted', '', d)}"
|
||||
TF_A_CONFIG += "${@bb.utils.contains('BOOTSCHEME_LABELS', 'optee', 'optee', '', d)}"
|
||||
|
||||
#Add this config until tf-a is able to flash with basic binary
|
||||
TF_A_CONFIG += "${@bb.utils.contains('BOOTSCHEME_LABELS', 'basic', 'trusted', '', d)}"
|
||||
#Add this config until optee is able to flash
|
||||
TF_A_CONFIG += "${@bb.utils.contains('BOOTSCHEME_LABELS', 'optee', 'trusted', '', d)}"
|
||||
|
||||
# Define SECURE_PAYLOAD config to set for each TF_A_CONFIG
|
||||
TF_A_CONFIG_optee = "AARCH32_SP=optee"
|
||||
TF_A_CONFIG_trusted = "AARCH32_SP=sp_min"
|
||||
|
||||
# List of TF-A device tree to use
|
||||
TF_A_DEVICETREE = "${STM32MP_DEVICETREE}"
|
||||
|
||||
# =========================================================================
|
||||
# optee
|
||||
# =========================================================================
|
||||
# Map OPTEE configuration to device tree list
|
||||
OPTEE_CONF = "${STM32MP_DEVICETREE}"
|
||||
|
||||
# =========================================================================
|
||||
# flashlayout
|
||||
# =========================================================================
|
||||
# Define bootscheme label to allow specific expansion for partition vars
|
||||
FLASHLAYOUT_BOOTSCHEME_LABELS += "${BOOTSCHEME_LABELS}"
|
||||
# Add specific scheme to provide flashlayout that will erase all storage devices
|
||||
FLASHLAYOUT_BOOTSCHEME_LABELS += "deleteall"
|
||||
|
||||
# Default config labels supported
|
||||
FLASHLAYOUT_CONFIG_LABELS ??= ""
|
||||
|
||||
# =========================================================================
|
||||
# Xserver
|
||||
# =========================================================================
|
||||
XSERVER ?= " \
|
||||
xserver-xorg \
|
||||
xserver-xorg-module-libint10 \
|
||||
xf86-input-evdev \
|
||||
xf86-video-modesetting \
|
||||
"
|
||||
|
||||
# =========================================================================
|
||||
# Enable deploy of bootloader elf files
|
||||
# =========================================================================
|
||||
ELF_DEBUG_ENABLE = "1"
|
||||
|
||||
# =========================================================================
|
||||
# M4 copro
|
||||
# =========================================================================
|
||||
# Define the devicetree for M4 examples
|
||||
CUBE_M4_EXAMPLES_DT ?= ""
|
||||
|
||||
# Define the name of default copro firmware executed @boot time
|
||||
# This name is cherry picked from list defined in m4projects-stm32mp1.bb
|
||||
DEFAULT_COPRO_FIRMWARE = "OpenAMP_TTY_echo"
|
||||
|
||||
# =========================================================================
|
||||
# GCNANO userland configuration
|
||||
# =========================================================================
|
||||
# Variable for using vendor directory instead of usr
|
||||
GCNANO_USERLAND_VENDOR_DIR = "${STM32MP_VENDORFS_MOUNTPOINT_IMAGE}"
|
||||
|
|
@ -0,0 +1,274 @@
|
|||
#@DESCRIPTION: STM32MP machine extlinux file configuration
|
||||
|
||||
# Set configuration file to monitor
|
||||
UBOOT_EXTLINUX_CONFIGURE_FILES_append = " ${STM32MP_BASE}/conf/machine/include/st-machine-extlinux-config-stm32mp.inc:True "
|
||||
|
||||
# Define the config flags to use to generate all extlinux targets
|
||||
UBOOT_EXTLINUX_CONFIG_FLAGS += "${@bb.utils.contains('FLASHLAYOUT_CONFIG_LABELS', 'emmc', '%s' % bb.utils.contains('BOOTSCHEME_LABELS', 'optee', 'emmc emmc-optee', 'emmc', d), '', d)}"
|
||||
UBOOT_EXTLINUX_CONFIG_FLAGS += "${@bb.utils.contains_any('FLASHLAYOUT_CONFIG_LABELS', [ 'nand-4-256', 'nor-nand-4-256' ], 'nand', '', d)}"
|
||||
UBOOT_EXTLINUX_CONFIG_FLAGS += "${@bb.utils.contains('FLASHLAYOUT_CONFIG_LABELS', 'nor-emmc', 'nor-emmc', '', d)}"
|
||||
UBOOT_EXTLINUX_CONFIG_FLAGS += "${@bb.utils.contains('FLASHLAYOUT_CONFIG_LABELS', 'nor-sdcard', 'nor-sdcard', '', d)}"
|
||||
UBOOT_EXTLINUX_CONFIG_FLAGS += "${@bb.utils.contains('FLASHLAYOUT_CONFIG_LABELS', 'sdcard', '%s' % bb.utils.contains('BOOTSCHEME_LABELS', 'optee', 'sdcard sdcard-optee', 'sdcard', d), '', d)}"
|
||||
|
||||
# Provide the list of supported devicetree for each config flag
|
||||
UBOOT_EXTLINUX_DEVICEFLAG_emmc ?= "${STM32MP_DT_FILES_ED} ${STM32MP_DT_FILES_EV}"
|
||||
UBOOT_EXTLINUX_DEVICEFLAG_emmc-optee ?= "${STM32MP_DT_FILES_ED} ${STM32MP_DT_FILES_EV}"
|
||||
UBOOT_EXTLINUX_DEVICEFLAG_nand ?= "${STM32MP_DT_FILES_EV}"
|
||||
UBOOT_EXTLINUX_DEVICEFLAG_nor-emmc ?= "${STM32MP_DT_FILES_EV}"
|
||||
UBOOT_EXTLINUX_DEVICEFLAG_nor-sdcard ?= "${STM32MP_DT_FILES_EV}"
|
||||
UBOOT_EXTLINUX_DEVICEFLAG_sdcard ?= "${STM32MP_DT_FILES_DK} ${STM32MP_DT_FILES_ED} ${STM32MP_DT_FILES_EV}"
|
||||
UBOOT_EXTLINUX_DEVICEFLAG_sdcard-optee ?= "${STM32MP_DT_FILES_DK} ${STM32MP_DT_FILES_ED} ${STM32MP_DT_FILES_EV}"
|
||||
|
||||
# Set generic extlinux bootdevice variable to ease definition
|
||||
EXTLINUX_BOOTDEVICE_EMMC = "mmc1"
|
||||
EXTLINUX_BOOTDEVICE_SDCARD = "mmc0"
|
||||
EXTLINUX_BOOTDEVICE_NORSDCARD = "nor0"
|
||||
EXTLINUX_BOOTDEVICE_NOREMMC = "nor0-mmc1"
|
||||
EXTLINUX_BOOTDEVICE_NAND = "nand0"
|
||||
|
||||
# Set generic extlinux root variable to ease definition
|
||||
EXTLINUX_ROOT_EMMC = "root=/dev/mmcblk1p4"
|
||||
EXTLINUX_ROOT_EMMC_OPTEE = "root=/dev/mmcblk1p7"
|
||||
EXTLINUX_ROOT_NAND = "ubi.mtd=UBI rootfstype=ubifs root=ubi0:rootfs"
|
||||
EXTLINUX_ROOT_NOREMMC = "root=/dev/mmcblk1p3"
|
||||
EXTLINUX_ROOT_NORSDCARD = "root=/dev/mmcblk0p3"
|
||||
EXTLINUX_ROOT_SDCARD = "root=/dev/mmcblk0p6"
|
||||
EXTLINUX_ROOT_SDCARD_OPTEE = "root=/dev/mmcblk0p9"
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# REMINDER: how 'exlinux.conf' files are built
|
||||
#
|
||||
# The 'extlinux.conf' files are generated under ${UBOOT_EXTLINUX_INSTALL_DIR}:
|
||||
# ${UBOOT_EXTLINUX_INSTALL_DIR}/${UBOOT_EXTLINUX_BOOTPREFIXES_${UBOOT_EXTLINUX_TARGETS}[0]}extlinux/extlinux.conf
|
||||
# ${UBOOT_EXTLINUX_INSTALL_DIR}/${UBOOT_EXTLINUX_BOOTPREFIXES_${UBOOT_EXTLINUX_TARGETS}[1]}extlinux/extlinux.conf
|
||||
# ...
|
||||
#
|
||||
# File content (${UBOOT_EXTLINUX_BOOTPREFIXES_${UBOOT_EXTLINUX_TARGETS}[0]}extlinux/exlinux.conf):
|
||||
# menu title Select the boot mode
|
||||
# TIMEOUT ${UBOOT_EXTLINUX_TIMEOUT}
|
||||
# DEFAULT ${UBOOT_EXTLINUX_DEFAULT_LABEL_${UBOOT_EXTLINUX_TARGETS}[0]}
|
||||
# LABEL ${UBOOT_EXTLINUX_LABELS_${UBOOT_EXTLINUX_TARGETS}[0]}[0]
|
||||
# KERNEL ${UBOOT_EXTLINUX_KERNEL} < OR OVERRIDE WITH : ${UBOOT_EXTLINUX_KERNEL_${IMAGE_UBOOT_EXTLINUX_LABELS}[0]} >
|
||||
# FDT ${UBOOT_EXTLINUX_FDT} < OR OVERRIDE WITH : ${UBOOT_EXTLINUX_FDT_${IMAGE_UBOOT_EXTLINUX_LABELS}[0]} >
|
||||
# APPEND ${UBOOT_EXTLINUX_ROOT} < OR OVERRIDE WITH : ${UBOOT_EXTLINUX_ROOT_${IMAGE_UBOOT_EXTLINUX_LABELS}[0]} >
|
||||
# LABEL ${UBOOT_EXTLINUX_LABELS_${UBOOT_EXTLINUX_TARGETS}[0]}[1]
|
||||
# KERNEL ${UBOOT_EXTLINUX_KERNEL} < OR OVERRIDE WITH : ${UBOOT_EXTLINUX_KERNEL_${IMAGE_UBOOT_EXTLINUX_LABELS}[1]} >
|
||||
# FDT ${UBOOT_EXTLINUX_FDT} < OR OVERRIDE WITH : ${UBOOT_EXTLINUX_FDT_${IMAGE_UBOOT_EXTLINUX_LABELS}[1]} >
|
||||
# APPEND ${UBOOT_EXTLINUX_ROOT} < OR OVERRIDE WITH : ${UBOOT_EXTLINUX_ROOT_${IMAGE_UBOOT_EXTLINUX_LABELS}[1]} >
|
||||
#
|
||||
# File content (${UBOOT_EXTLINUX_BOOTPREFIXES_${UBOOT_EXTLINUX_TARGETS}[0]}extlinux/exlinux.conf):
|
||||
# menu title Select the boot mode
|
||||
# TIMEOUT ${UBOOT_EXTLINUX_TIMEOUT}
|
||||
# DEFAULT ${UBOOT_EXTLINUX_DEFAULT_LABEL_${UBOOT_EXTLINUX_TARGETS}[1]}
|
||||
# LABEL ${UBOOT_EXTLINUX_LABELS_${UBOOT_EXTLINUX_TARGETS}[1]}[0]
|
||||
# KERNEL ${UBOOT_EXTLINUX_KERNEL} < OR OVERRIDE WITH : ${UBOOT_EXTLINUX_KERNEL_${IMAGE_UBOOT_EXTLINUX_LABELS}[0]} >
|
||||
# FDT ${UBOOT_EXTLINUX_FDT} < OR OVERRIDE WITH : ${UBOOT_EXTLINUX_FDT_${IMAGE_UBOOT_EXTLINUX_LABELS}[0]} >
|
||||
# APPEND ${UBOOT_EXTLINUX_ROOT} < OR OVERRIDE WITH : ${UBOOT_EXTLINUX_ROOT_${IMAGE_UBOOT_EXTLINUX_LABELS}[0]} >
|
||||
# LABEL ${UBOOT_EXTLINUX_LABELS_${UBOOT_EXTLINUX_TARGETS}[1]}[1]
|
||||
# KERNEL ${UBOOT_EXTLINUX_KERNEL} < OR OVERRIDE WITH : ${UBOOT_EXTLINUX_KERNEL_${IMAGE_UBOOT_EXTLINUX_LABELS}[1]} >
|
||||
# FDT ${UBOOT_EXTLINUX_FDT} < OR OVERRIDE WITH : ${UBOOT_EXTLINUX_FDT_${IMAGE_UBOOT_EXTLINUX_LABELS}[1]} >
|
||||
# APPEND ${UBOOT_EXTLINUX_ROOT} < OR OVERRIDE WITH : ${UBOOT_EXTLINUX_ROOT_${IMAGE_UBOOT_EXTLINUX_LABELS}[1]} >
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
# Set extlinux console for stm32mp machine
|
||||
UBOOT_EXTLINUX_CONSOLE = "console=${@d.getVar('SERIAL_CONSOLE').split()[1]},${@d.getVar('SERIAL_CONSOLE').split()[0]}"
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# DK1 configuration
|
||||
# -----------------------------------------------------------------------------
|
||||
# Define available targets to use
|
||||
UBOOT_EXTLINUX_CONFIGURED_TARGETS += "mp157a-dk1_sdcard"
|
||||
UBOOT_EXTLINUX_CONFIGURED_TARGETS += "mp157a-dk1_sdcard-optee"
|
||||
# Define bootprefix for each target
|
||||
UBOOT_EXTLINUX_BOOTPREFIXES_mp157a-dk1_sdcard = "${EXTLINUX_BOOTDEVICE_SDCARD}_stm32mp157a-dk1_"
|
||||
UBOOT_EXTLINUX_BOOTPREFIXES_mp157a-dk1_sdcard-optee = "${EXTLINUX_BOOTDEVICE_SDCARD}_stm32mp157a-dk1-optee_"
|
||||
# Define labels for each target
|
||||
UBOOT_EXTLINUX_LABELS_mp157a-dk1_sdcard = "stm32mp157a-dk1-sdcard"
|
||||
UBOOT_EXTLINUX_LABELS_mp157a-dk1_sdcard-optee = "stm32mp157a-dk1-sdcard-optee"
|
||||
# Define default boot config for each target
|
||||
UBOOT_EXTLINUX_DEFAULT_LABEL_mp157a-dk1_sdcard ?= "stm32mp157a-dk1-sdcard"
|
||||
UBOOT_EXTLINUX_DEFAULT_LABEL_mp157a-dk1_sdcard-optee ?= "stm32mp157a-dk1-sdcard-optee"
|
||||
# Define FDT overrides for all labels
|
||||
UBOOT_EXTLINUX_FDT_stm32mp157a-dk1-sdcard = "/stm32mp157a-dk1.dtb"
|
||||
UBOOT_EXTLINUX_FDT_stm32mp157a-dk1-sdcard-optee = "/stm32mp157a-dk1.dtb"
|
||||
# Define ROOT overrides for all labels
|
||||
UBOOT_EXTLINUX_ROOT_stm32mp157a-dk1-sdcard = "${EXTLINUX_ROOT_SDCARD}"
|
||||
UBOOT_EXTLINUX_ROOT_stm32mp157a-dk1-sdcard-optee = "${EXTLINUX_ROOT_SDCARD_OPTEE}"
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# DK2 configuration
|
||||
# -----------------------------------------------------------------------------
|
||||
# Define available targets to use
|
||||
UBOOT_EXTLINUX_CONFIGURED_TARGETS += "mp157c-dk2_sdcard"
|
||||
UBOOT_EXTLINUX_CONFIGURED_TARGETS += "mp157c-dk2_sdcard-optee"
|
||||
# Define bootprefix for each target
|
||||
UBOOT_EXTLINUX_BOOTPREFIXES_mp157c-dk2_sdcard = "${EXTLINUX_BOOTDEVICE_SDCARD}_stm32mp157c-dk2_"
|
||||
UBOOT_EXTLINUX_BOOTPREFIXES_mp157c-dk2_sdcard-optee = "${EXTLINUX_BOOTDEVICE_SDCARD}_stm32mp157c-dk2-optee_"
|
||||
# Define labels for each target
|
||||
UBOOT_EXTLINUX_LABELS_mp157c-dk2_sdcard = "stm32mp157c-dk2-sdcard"
|
||||
UBOOT_EXTLINUX_LABELS_mp157c-dk2_sdcard-optee = "stm32mp157c-dk2-sdcard-optee"
|
||||
# Define default boot config for each target
|
||||
UBOOT_EXTLINUX_DEFAULT_LABEL_mp157c-dk2_sdcard ?= "stm32mp157c-dk2-sdcard"
|
||||
UBOOT_EXTLINUX_DEFAULT_LABEL_mp157c-dk2_sdcard-optee ?= "stm32mp157c-dk2-sdcard-optee"
|
||||
# Define FDT overrides for all labels
|
||||
UBOOT_EXTLINUX_FDT_stm32mp157c-dk2-sdcard = "/stm32mp157c-dk2.dtb"
|
||||
UBOOT_EXTLINUX_FDT_stm32mp157c-dk2-sdcard-optee = "/stm32mp157c-dk2.dtb"
|
||||
# Define ROOT overrides for all labels
|
||||
UBOOT_EXTLINUX_ROOT_stm32mp157c-dk2-sdcard = "${EXTLINUX_ROOT_SDCARD}"
|
||||
UBOOT_EXTLINUX_ROOT_stm32mp157c-dk2-sdcard-optee = "${EXTLINUX_ROOT_SDCARD_OPTEE}"
|
||||
# -----------------------------------------------------------------------------
|
||||
# Append A7 examples labels for each target
|
||||
UBOOT_EXTLINUX_LABELS_mp157c-dk2_sdcard += "stm32mp157c-dk2-a7-examples-sdcard"
|
||||
UBOOT_EXTLINUX_LABELS_mp157c-dk2_sdcard-optee += "stm32mp157c-dk2-a7-examples-sdcard-optee"
|
||||
# Define FDT overrides for A7 labels
|
||||
UBOOT_EXTLINUX_FDT_stm32mp157c-dk2-a7-examples-sdcard = "/stm32mp157c-dk2-a7-examples.dtb"
|
||||
UBOOT_EXTLINUX_FDT_stm32mp157c-dk2-a7-examples-sdcard-optee = "/stm32mp157c-dk2-a7-examples.dtb"
|
||||
# Define ROOT overrides for A7 labels
|
||||
UBOOT_EXTLINUX_ROOT_stm32mp157c-dk2-a7-examples-sdcard = "${EXTLINUX_ROOT_SDCARD}"
|
||||
UBOOT_EXTLINUX_ROOT_stm32mp157c-dk2-a7-examples-sdcard-optee = "${EXTLINUX_ROOT_SDCARD_OPTEE}"
|
||||
# -----------------------------------------------------------------------------
|
||||
# Append M4 examples labels for each target
|
||||
UBOOT_EXTLINUX_LABELS_mp157c-dk2_sdcard += "stm32mp157c-dk2-m4-examples-sdcard"
|
||||
UBOOT_EXTLINUX_LABELS_mp157c-dk2_sdcard-optee += "stm32mp157c-dk2-m4-examples-sdcard-optee"
|
||||
# Define FDT overrides for M4 labels
|
||||
UBOOT_EXTLINUX_FDT_stm32mp157c-dk2-m4-examples-sdcard = "/stm32mp157c-dk2-m4-examples.dtb"
|
||||
UBOOT_EXTLINUX_FDT_stm32mp157c-dk2-m4-examples-sdcard-optee = "/stm32mp157c-dk2-m4-examples.dtb"
|
||||
# Define ROOT overrides for M4 labels
|
||||
UBOOT_EXTLINUX_ROOT_stm32mp157c-dk2-m4-examples-sdcard = "${EXTLINUX_ROOT_SDCARD}"
|
||||
UBOOT_EXTLINUX_ROOT_stm32mp157c-dk2-m4-examples-sdcard-optee = "${EXTLINUX_ROOT_SDCARD_OPTEE}"
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# ED1 configuration
|
||||
# -----------------------------------------------------------------------------
|
||||
# Define available targets to use
|
||||
UBOOT_EXTLINUX_CONFIGURED_TARGETS += "mp157c-ed1_emmc"
|
||||
UBOOT_EXTLINUX_CONFIGURED_TARGETS += "mp157c-ed1_emmc-optee"
|
||||
UBOOT_EXTLINUX_CONFIGURED_TARGETS += "mp157c-ed1_sdcard"
|
||||
UBOOT_EXTLINUX_CONFIGURED_TARGETS += "mp157c-ed1_sdcard-optee"
|
||||
# Define bootprefix for each target
|
||||
UBOOT_EXTLINUX_BOOTPREFIXES_mp157c-ed1_emmc = "${EXTLINUX_BOOTDEVICE_EMMC}_stm32mp157c-ed1_"
|
||||
UBOOT_EXTLINUX_BOOTPREFIXES_mp157c-ed1_emmc-optee = "${EXTLINUX_BOOTDEVICE_EMMC}_stm32mp157c-ed1-optee_"
|
||||
UBOOT_EXTLINUX_BOOTPREFIXES_mp157c-ed1_sdcard = "${EXTLINUX_BOOTDEVICE_SDCARD}_stm32mp157c-ed1_"
|
||||
UBOOT_EXTLINUX_BOOTPREFIXES_mp157c-ed1_sdcard-optee = "${EXTLINUX_BOOTDEVICE_SDCARD}_stm32mp157c-ed1-optee_"
|
||||
# Define labels for each target
|
||||
UBOOT_EXTLINUX_LABELS_mp157c-ed1_emmc = "stm32mp157c-ed1-emmc"
|
||||
UBOOT_EXTLINUX_LABELS_mp157c-ed1_emmc-optee = "stm32mp157c-ed1-emmc-optee"
|
||||
UBOOT_EXTLINUX_LABELS_mp157c-ed1_sdcard = "stm32mp157c-ed1-sdcard"
|
||||
UBOOT_EXTLINUX_LABELS_mp157c-ed1_sdcard-optee = "stm32mp157c-ed1-sdcard-optee"
|
||||
# Define default boot config for each target
|
||||
UBOOT_EXTLINUX_DEFAULT_LABEL_mp157c-ed1_emmc ?= "stm32mp157c-ed1-emmc"
|
||||
UBOOT_EXTLINUX_DEFAULT_LABEL_mp157c-ed1_emmc-optee ?= "stm32mp157c-ed1-emmc-optee"
|
||||
UBOOT_EXTLINUX_DEFAULT_LABEL_mp157c-ed1_sdcard ?= "stm32mp157c-ed1-sdcard"
|
||||
UBOOT_EXTLINUX_DEFAULT_LABEL_mp157c-ed1_sdcard-optee ?= "stm32mp157c-ed1-sdcard-optee"
|
||||
# Define FDT overrides for all labels
|
||||
UBOOT_EXTLINUX_FDT_stm32mp157c-ed1-emmc = "/stm32mp157c-ed1.dtb"
|
||||
UBOOT_EXTLINUX_FDT_stm32mp157c-ed1-emmc-optee = "/stm32mp157c-ed1.dtb"
|
||||
UBOOT_EXTLINUX_FDT_stm32mp157c-ed1-sdcard = "/stm32mp157c-ed1.dtb"
|
||||
UBOOT_EXTLINUX_FDT_stm32mp157c-ed1-sdcard-optee = "/stm32mp157c-ed1.dtb"
|
||||
# Define ROOT overrides for all labels
|
||||
UBOOT_EXTLINUX_ROOT_stm32mp157c-ed1-emmc = "${EXTLINUX_ROOT_EMMC}"
|
||||
UBOOT_EXTLINUX_ROOT_stm32mp157c-ed1-emmc-optee = "${EXTLINUX_ROOT_EMMC_OPTEE}"
|
||||
UBOOT_EXTLINUX_ROOT_stm32mp157c-ed1-sdcard = "${EXTLINUX_ROOT_SDCARD}"
|
||||
UBOOT_EXTLINUX_ROOT_stm32mp157c-ed1-sdcard-optee = "${EXTLINUX_ROOT_SDCARD_OPTEE}"
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# EV1 configuration
|
||||
# -----------------------------------------------------------------------------
|
||||
# Define available targets to use
|
||||
UBOOT_EXTLINUX_CONFIGURED_TARGETS += "mp157c-ev1_emmc"
|
||||
UBOOT_EXTLINUX_CONFIGURED_TARGETS += "mp157c-ev1_emmc-optee"
|
||||
UBOOT_EXTLINUX_CONFIGURED_TARGETS += "mp157c-ev1_nand"
|
||||
UBOOT_EXTLINUX_CONFIGURED_TARGETS += "mp157c-ev1_nor-sdcard"
|
||||
UBOOT_EXTLINUX_CONFIGURED_TARGETS += "mp157c-ev1_nor-emmc"
|
||||
UBOOT_EXTLINUX_CONFIGURED_TARGETS += "mp157c-ev1_sdcard"
|
||||
UBOOT_EXTLINUX_CONFIGURED_TARGETS += "mp157c-ev1_sdcard-optee"
|
||||
# Define bootprefix for each target
|
||||
UBOOT_EXTLINUX_BOOTPREFIXES_mp157c-ev1_emmc = "${EXTLINUX_BOOTDEVICE_EMMC}_stm32mp157c-ev1_"
|
||||
UBOOT_EXTLINUX_BOOTPREFIXES_mp157c-ev1_emmc-optee = "${EXTLINUX_BOOTDEVICE_EMMC}_stm32mp157c-ev1-optee_"
|
||||
UBOOT_EXTLINUX_BOOTPREFIXES_mp157c-ev1_nand = "${EXTLINUX_BOOTDEVICE_NAND}_stm32mp157c-ev1_"
|
||||
UBOOT_EXTLINUX_BOOTPREFIXES_mp157c-ev1_nor-sdcard = "${EXTLINUX_BOOTDEVICE_NORSDCARD}_stm32mp157c-ev1_"
|
||||
UBOOT_EXTLINUX_BOOTPREFIXES_mp157c-ev1_nor-emmc = "${EXTLINUX_BOOTDEVICE_NOREMMC}_stm32mp157c-ev1_"
|
||||
UBOOT_EXTLINUX_BOOTPREFIXES_mp157c-ev1_sdcard = "${EXTLINUX_BOOTDEVICE_SDCARD}_stm32mp157c-ev1_"
|
||||
UBOOT_EXTLINUX_BOOTPREFIXES_mp157c-ev1_sdcard-optee = "${EXTLINUX_BOOTDEVICE_SDCARD}_stm32mp157c-ev1-optee_"
|
||||
# Define labels for each target
|
||||
UBOOT_EXTLINUX_LABELS_mp157c-ev1_emmc = "stm32mp157c-ev1-emmc"
|
||||
UBOOT_EXTLINUX_LABELS_mp157c-ev1_emmc-optee = "stm32mp157c-ev1-emmc-optee"
|
||||
UBOOT_EXTLINUX_LABELS_mp157c-ev1_nand = "stm32mp157c-ev1-nand"
|
||||
UBOOT_EXTLINUX_LABELS_mp157c-ev1_nor-sdcard = "stm32mp157c-ev1-nor-sdcard"
|
||||
UBOOT_EXTLINUX_LABELS_mp157c-ev1_nor-emmc = "stm32mp157c-ev1-nor-emmc"
|
||||
UBOOT_EXTLINUX_LABELS_mp157c-ev1_sdcard = "stm32mp157c-ev1-sdcard"
|
||||
UBOOT_EXTLINUX_LABELS_mp157c-ev1_sdcard-optee = "stm32mp157c-ev1-sdcard-optee"
|
||||
# Define default boot config for each target
|
||||
UBOOT_EXTLINUX_DEFAULT_LABEL_mp157c-ev1_emmc ?= "stm32mp157c-ev1-emmc"
|
||||
UBOOT_EXTLINUX_DEFAULT_LABEL_mp157c-ev1_emmc-optee ?= "stm32mp157c-ev1-emmc-optee"
|
||||
UBOOT_EXTLINUX_DEFAULT_LABEL_mp157c-ev1_nand ?= "stm32mp157c-ev1-nand"
|
||||
UBOOT_EXTLINUX_DEFAULT_LABEL_mp157c-ev1_nor-sdcard ?= "stm32mp157c-ev1-nor-sdcard"
|
||||
UBOOT_EXTLINUX_DEFAULT_LABEL_mp157c-ev1_nor-emmc ?= "stm32mp157c-ev1-nor-emmc"
|
||||
UBOOT_EXTLINUX_DEFAULT_LABEL_mp157c-ev1_sdcard ?= "stm32mp157c-ev1-sdcard"
|
||||
UBOOT_EXTLINUX_DEFAULT_LABEL_mp157c-ev1_sdcard-optee ?= "stm32mp157c-ev1-sdcard-optee"
|
||||
# Define FDT overrides for all labels
|
||||
UBOOT_EXTLINUX_FDT_stm32mp157c-ev1-emmc = "/stm32mp157c-ev1.dtb"
|
||||
UBOOT_EXTLINUX_FDT_stm32mp157c-ev1-emmc-optee = "/stm32mp157c-ev1.dtb"
|
||||
UBOOT_EXTLINUX_FDT_stm32mp157c-ev1-nand = "/stm32mp157c-ev1.dtb"
|
||||
UBOOT_EXTLINUX_FDT_stm32mp157c-ev1-nor-sdcard = "/stm32mp157c-ev1.dtb"
|
||||
UBOOT_EXTLINUX_FDT_stm32mp157c-ev1-nor-emmc = "/stm32mp157c-ev1.dtb"
|
||||
UBOOT_EXTLINUX_FDT_stm32mp157c-ev1-sdcard = "/stm32mp157c-ev1.dtb"
|
||||
UBOOT_EXTLINUX_FDT_stm32mp157c-ev1-sdcard-optee = "/stm32mp157c-ev1.dtb"
|
||||
# Define ROOT overrides for all labels
|
||||
UBOOT_EXTLINUX_ROOT_stm32mp157c-ev1-emmc = "${EXTLINUX_ROOT_EMMC}"
|
||||
UBOOT_EXTLINUX_ROOT_stm32mp157c-ev1-emmc-optee = "${EXTLINUX_ROOT_EMMC_OPTEE}"
|
||||
UBOOT_EXTLINUX_ROOT_stm32mp157c-ev1-nand = "${EXTLINUX_ROOT_NAND}"
|
||||
UBOOT_EXTLINUX_ROOT_stm32mp157c-ev1-nor-sdcard = "${EXTLINUX_ROOT_NORSDCARD}"
|
||||
UBOOT_EXTLINUX_ROOT_stm32mp157c-ev1-nor-emmc = "${EXTLINUX_ROOT_NOREMMC}"
|
||||
UBOOT_EXTLINUX_ROOT_stm32mp157c-ev1-sdcard = "${EXTLINUX_ROOT_SDCARD}"
|
||||
UBOOT_EXTLINUX_ROOT_stm32mp157c-ev1-sdcard-optee = "${EXTLINUX_ROOT_SDCARD_OPTEE}"
|
||||
# -----------------------------------------------------------------------------
|
||||
# Append A7 examples labels for each target
|
||||
UBOOT_EXTLINUX_LABELS_mp157c-ev1_emmc += "stm32mp157c-ev1-a7-examples-emmc"
|
||||
UBOOT_EXTLINUX_LABELS_mp157c-ev1_emmc-optee += "stm32mp157c-ev1-a7-examples-emmc-optee"
|
||||
UBOOT_EXTLINUX_LABELS_mp157c-ev1_nand += "stm32mp157c-ev1-a7-examples-nand"
|
||||
UBOOT_EXTLINUX_LABELS_mp157c-ev1_nor-sdcard += "stm32mp157c-ev1-a7-examples-nor-sdcard"
|
||||
UBOOT_EXTLINUX_LABELS_mp157c-ev1_nor-emmc += "stm32mp157c-ev1-a7-examples-nor-emmc"
|
||||
UBOOT_EXTLINUX_LABELS_mp157c-ev1_sdcard += "stm32mp157c-ev1-a7-examples-sdcard"
|
||||
UBOOT_EXTLINUX_LABELS_mp157c-ev1_sdcard-optee += "stm32mp157c-ev1-a7-examples-sdcard-optee"
|
||||
# Define FDT overrides for A7 labels
|
||||
UBOOT_EXTLINUX_FDT_stm32mp157c-ev1-a7-examples-emmc = "/stm32mp157c-ev1-a7-examples.dtb"
|
||||
UBOOT_EXTLINUX_FDT_stm32mp157c-ev1-a7-examples-emmc-optee = "/stm32mp157c-ev1-a7-examples.dtb"
|
||||
UBOOT_EXTLINUX_FDT_stm32mp157c-ev1-a7-examples-nand = "/stm32mp157c-ev1-a7-examples.dtb"
|
||||
UBOOT_EXTLINUX_FDT_stm32mp157c-ev1-a7-examples-nor-sdcard = "/stm32mp157c-ev1-a7-examples.dtb"
|
||||
UBOOT_EXTLINUX_FDT_stm32mp157c-ev1-a7-examples-nor-emmc = "/stm32mp157c-ev1-a7-examples.dtb"
|
||||
UBOOT_EXTLINUX_FDT_stm32mp157c-ev1-a7-examples-sdcard = "/stm32mp157c-ev1-a7-examples.dtb"
|
||||
UBOOT_EXTLINUX_FDT_stm32mp157c-ev1-a7-examples-sdcard-optee = "/stm32mp157c-ev1-a7-examples.dtb"
|
||||
# Define ROOT overrides for A7 labels
|
||||
UBOOT_EXTLINUX_ROOT_stm32mp157c-ev1-a7-examples-emmc = "${EXTLINUX_ROOT_EMMC}"
|
||||
UBOOT_EXTLINUX_ROOT_stm32mp157c-ev1-a7-examples-emmc-optee = "${EXTLINUX_ROOT_EMMC_OPTEE}"
|
||||
UBOOT_EXTLINUX_ROOT_stm32mp157c-ev1-a7-examples-nand = "${EXTLINUX_ROOT_NAND}"
|
||||
UBOOT_EXTLINUX_ROOT_stm32mp157c-ev1-a7-examples-nor-sdcard = "${EXTLINUX_ROOT_NORSDCARD}"
|
||||
UBOOT_EXTLINUX_ROOT_stm32mp157c-ev1-a7-examples-nor-emmc = "${EXTLINUX_ROOT_NOREMMC}"
|
||||
UBOOT_EXTLINUX_ROOT_stm32mp157c-ev1-a7-examples-sdcard = "${EXTLINUX_ROOT_SDCARD}"
|
||||
UBOOT_EXTLINUX_ROOT_stm32mp157c-ev1-a7-examples-sdcard-optee = "${EXTLINUX_ROOT_SDCARD_OPTEE}"
|
||||
# -----------------------------------------------------------------------------
|
||||
# Append M4 examples labels for each target
|
||||
UBOOT_EXTLINUX_LABELS_mp157c-ev1_emmc += "stm32mp157c-ev1-m4-examples-emmc"
|
||||
UBOOT_EXTLINUX_LABELS_mp157c-ev1_emmc-optee += "stm32mp157c-ev1-m4-examples-emmc-optee"
|
||||
UBOOT_EXTLINUX_LABELS_mp157c-ev1_nand += "stm32mp157c-ev1-m4-examples-nand"
|
||||
UBOOT_EXTLINUX_LABELS_mp157c-ev1_nor-sdcard += "stm32mp157c-ev1-m4-examples-nor-sdcard"
|
||||
UBOOT_EXTLINUX_LABELS_mp157c-ev1_nor-emmc += "stm32mp157c-ev1-m4-examples-nor-emmc"
|
||||
UBOOT_EXTLINUX_LABELS_mp157c-ev1_sdcard += "stm32mp157c-ev1-m4-examples-sdcard"
|
||||
UBOOT_EXTLINUX_LABELS_mp157c-ev1_sdcard-optee += "stm32mp157c-ev1-m4-examples-sdcard-optee"
|
||||
# Define FDT overrides for M4 labels
|
||||
UBOOT_EXTLINUX_FDT_stm32mp157c-ev1-m4-examples-emmc = "/stm32mp157c-ev1-m4-examples.dtb"
|
||||
UBOOT_EXTLINUX_FDT_stm32mp157c-ev1-m4-examples-emmc-optee = "/stm32mp157c-ev1-m4-examples.dtb"
|
||||
UBOOT_EXTLINUX_FDT_stm32mp157c-ev1-m4-examples-nand = "/stm32mp157c-ev1-m4-examples.dtb"
|
||||
UBOOT_EXTLINUX_FDT_stm32mp157c-ev1-m4-examples-nor-sdcard = "/stm32mp157c-ev1-m4-examples.dtb"
|
||||
UBOOT_EXTLINUX_FDT_stm32mp157c-ev1-m4-examples-nor-emmc = "/stm32mp157c-ev1-m4-examples.dtb"
|
||||
UBOOT_EXTLINUX_FDT_stm32mp157c-ev1-m4-examples-sdcard = "/stm32mp157c-ev1-m4-examples.dtb"
|
||||
UBOOT_EXTLINUX_FDT_stm32mp157c-ev1-m4-examples-sdcard-optee = "/stm32mp157c-ev1-m4-examples.dtb"
|
||||
# Define ROOT overrides for M4 labels
|
||||
UBOOT_EXTLINUX_ROOT_stm32mp157c-ev1-m4-examples-emmc = "${EXTLINUX_ROOT_EMMC}"
|
||||
UBOOT_EXTLINUX_ROOT_stm32mp157c-ev1-m4-examples-emmc-optee = "${EXTLINUX_ROOT_EMMC_OPTEE}"
|
||||
UBOOT_EXTLINUX_ROOT_stm32mp157c-ev1-m4-examples-nand = "${EXTLINUX_ROOT_NAND}"
|
||||
UBOOT_EXTLINUX_ROOT_stm32mp157c-ev1-m4-examples-nor-sdcard = "${EXTLINUX_ROOT_NORSDCARD}"
|
||||
UBOOT_EXTLINUX_ROOT_stm32mp157c-ev1-m4-examples-nor-emmc = "${EXTLINUX_ROOT_NOREMMC}"
|
||||
UBOOT_EXTLINUX_ROOT_stm32mp157c-ev1-m4-examples-sdcard = "${EXTLINUX_ROOT_SDCARD}"
|
||||
UBOOT_EXTLINUX_ROOT_stm32mp157c-ev1-m4-examples-sdcard-optee = "${EXTLINUX_ROOT_SDCARD_OPTEE}"
|
||||
|
|
@ -0,0 +1,54 @@
|
|||
#@DESCRIPTION: Machine features definitions for STM32 systems
|
||||
|
||||
include conf/machine/include/gpu_vivante.inc
|
||||
|
||||
#------------------
|
||||
#
|
||||
# GPU
|
||||
#
|
||||
# To support gpu on a machine,
|
||||
# please add "gpu" to MACHINE_FEATURES in machine conf file
|
||||
|
||||
GPU_LIST = "kernel-module-galcore"
|
||||
GPU_IMAGE_INSTALL = "${@bb.utils.contains('MACHINE_FEATURES', 'gpu', '${GPU_LIST}', '', d)} "
|
||||
|
||||
#------------------
|
||||
#
|
||||
# optee
|
||||
#
|
||||
|
||||
OPTEE_LIST = "optee-os-stm32mp"
|
||||
OPTEE_IMAGE_INSTALL = "${@bb.utils.contains('COMBINED_FEATURES', 'optee', '${OPTEE_LIST}', '', d)} "
|
||||
PREFERRED_PROVIDER_optee-os = "optee-os-stm32mp"
|
||||
|
||||
OPTEE_BINARY = "optee-os-stm32mp"
|
||||
OPTEE_BINARY_INSTALL = "${@bb.utils.contains('MACHINE_FEATURES', 'optee', '${OPTEE_BINARY}', '', d)} "
|
||||
|
||||
#------------------
|
||||
#
|
||||
# Alsa
|
||||
#
|
||||
ALSA_ADDONS = "alsa-state-stm32mp1"
|
||||
ALSA_ADDONS_INSTALL = "${@bb.utils.contains('COMBINED_FEATURES', 'alsa', '${ALSA_ADDONS}', '', d)} "
|
||||
|
||||
#------------------
|
||||
#
|
||||
# bluetooth
|
||||
#
|
||||
BLUETOOTH_LIST = " linux-firmware-bluetooth-bcm4343 "
|
||||
BLUETOOTH_IMAGE_INSTALL = "${@bb.utils.contains('MACHINE_FEATURES', 'bluetooth', '${BLUETOOTH_LIST}', '', d)} "
|
||||
|
||||
#------------------
|
||||
#
|
||||
# Image appends
|
||||
#
|
||||
EXTRA_IMAGEDEPENDS_append = " \
|
||||
${OPTEE_BINARY_INSTALL} \
|
||||
"
|
||||
|
||||
MACHINE_EXTRA_RRECOMMENDS_append = " \
|
||||
${GPU_IMAGE_INSTALL} \
|
||||
${OPTEE_IMAGE_INSTALL} \
|
||||
${ALSA_ADDONS_INSTALL} \
|
||||
${BLUETOOTH_IMAGE_INSTALL}\
|
||||
"
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
#@DESCRIPTION: STM32MP machine flashlayout deleteall configuration
|
||||
|
||||
# Set configuration file to monitor
|
||||
FLASHLAYOUT_CONFIGURE_FILES_append = " ${STM32MP_BASE}/conf/machine/include/st-machine-flashlayout-deleteall-stm32mp.inc:True "
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Define config labels
|
||||
# -----------------------------------------------------------------------------
|
||||
FLASHLAYOUT_CONFIG_LABELS_deleteall = "disco eval"
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Define label types
|
||||
# -----------------------------------------------------------------------------
|
||||
FLASHLAYOUT_TYPE_LABELS_deleteall_disco = "${STM32MP_DT_FILES_DK}"
|
||||
FLASHLAYOUT_TYPE_LABELS_deleteall_eval = "${STM32MP_DT_FILES_ED} ${STM32MP_DT_FILES_EV}"
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Define partitions to use
|
||||
#
|
||||
# NB: To manage bootloader partitions, simplification is done by directly
|
||||
# re-using 'fsbl1-boot' and 'ssbl-boot' partitions already defined in file
|
||||
# 'st-machine-flashlayout-stm32mp.inc'
|
||||
# -----------------------------------------------------------------------------
|
||||
FLASHLAYOUT_PARTITION_LABELS_deleteall_disco = "fsbl1-boot ssbl-boot sdcard-all"
|
||||
FLASHLAYOUT_PARTITION_LABELS_deleteall_eval = "fsbl1-boot ssbl-boot emmc-fsbl1 emmc-fsbl2 emmc-all nand-4-256-all nor-all sdcard-all"
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Partition configuration for each partition label
|
||||
FLASHLAYOUT_PARTITION_ENABLE_emmc-fsbl1 = "PED"
|
||||
FLASHLAYOUT_PARTITION_ENABLE_emmc-fsbl2 = "PED"
|
||||
FLASHLAYOUT_PARTITION_ENABLE_emmc-all = "PED"
|
||||
FLASHLAYOUT_PARTITION_ENABLE_nand-4-256-all = "PED"
|
||||
FLASHLAYOUT_PARTITION_ENABLE_nor-all = "PED"
|
||||
FLASHLAYOUT_PARTITION_ENABLE_sdcard-all = "PED"
|
||||
|
||||
FLASHLAYOUT_PARTITION_ID_emmc-fsbl1 = "0x04"
|
||||
FLASHLAYOUT_PARTITION_ID_emmc-fsbl2 = "0x05"
|
||||
FLASHLAYOUT_PARTITION_ID_emmc-all = "0x30"
|
||||
FLASHLAYOUT_PARTITION_ID_nand-4-256-all = "0x40"
|
||||
FLASHLAYOUT_PARTITION_ID_nor-all = "0x50"
|
||||
FLASHLAYOUT_PARTITION_ID_sdcard-all = "0x60"
|
||||
|
||||
FLASHLAYOUT_PARTITION_TYPE_emmc-all = "RawImage"
|
||||
FLASHLAYOUT_PARTITION_TYPE_nand-4-256-all = "RawImage"
|
||||
FLASHLAYOUT_PARTITION_TYPE_nor-all = "RawImage"
|
||||
FLASHLAYOUT_PARTITION_TYPE_sdcard-all = "RawImage"
|
||||
|
||||
FLASHLAYOUT_PARTITION_DEVICE_emmc-fsbl1 = "${DEVICE_EMMC}"
|
||||
FLASHLAYOUT_PARTITION_DEVICE_emmc-fsbl2 = "${DEVICE_EMMC}"
|
||||
FLASHLAYOUT_PARTITION_DEVICE_emmc-all = "${DEVICE_EMMC}"
|
||||
FLASHLAYOUT_PARTITION_DEVICE_nand-4-256-all = "${DEVICE_NAND}"
|
||||
FLASHLAYOUT_PARTITION_DEVICE_nor-all = "${DEVICE_NOR}"
|
||||
FLASHLAYOUT_PARTITION_DEVICE_sdcard-all = "${DEVICE_SDCARD}"
|
||||
# Specific for fsbl1-boot ssbl-boot partitions
|
||||
FLASHLAYOUT_PARTITION_DEVICE_deleteall_fsbl1-boot = "none"
|
||||
FLASHLAYOUT_PARTITION_DEVICE_deleteall_ssbl-boot = "none"
|
||||
|
||||
FLASHLAYOUT_PARTITION_OFFSET_deleteall = "0x0"
|
||||
FLASHLAYOUT_PARTITION_OFFSET_deleteall_emmc-fsbl1 = "${FLASHLAYOUT_PARTITION_OFFSET_emmc_fsbl1}"
|
||||
FLASHLAYOUT_PARTITION_OFFSET_deleteall_emmc-fsbl2 = "${FLASHLAYOUT_PARTITION_OFFSET_emmc_fsbl2}"
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# The 'deletall' bootscheme is a trick to generate flashlayout files to clean
|
||||
# all memory devices on board. There are no specific 'deleteall' bootloader
|
||||
# binaries so use the 'trusted' or 'optee' one.
|
||||
BIN2BOOT_REPLACE_PATTERNS_fsbl1-boot_append = " deleteall;trusted"
|
||||
BIN2BOOT_REPLACE_PATTERNS_ssbl-boot_append = " ${@bb.utils.contains('BOOTSCHEME_LABELS', 'optee', 'deleteall;optee', 'deleteall;trusted', d)}"
|
||||
|
|
@ -0,0 +1,291 @@
|
|||
#@DESCRIPTION: STM32MP machine flashlayout configuration
|
||||
|
||||
INHERIT += "flashlayout-stm32mp"
|
||||
|
||||
# Set configuration file to monitor
|
||||
FLASHLAYOUT_CONFIGURE_FILES_append = " ${STM32MP_BASE}/conf/machine/include/st-machine-flashlayout-stm32mp.inc:True "
|
||||
|
||||
# Add specific dependencies to get all binaries generated before flashlayout files
|
||||
FLASHLAYOUT_DEPEND_TASKS += "${@bb.utils.contains('EXTRA_IMAGEDEPENDS', 'tf-a-stm32mp', 'tf-a-stm32mp:do_deploy', '', d)}"
|
||||
FLASHLAYOUT_DEPEND_TASKS += "${@bb.utils.contains('EXTRA_IMAGEDEPENDS', 'u-boot-stm32mp', 'u-boot-stm32mp:do_deploy', '', d)}"
|
||||
FLASHLAYOUT_DEPEND_TASKS += "${@bb.utils.contains('EXTRA_IMAGEDEPENDS', 'optee-os-stm32mp', 'optee-os-stm32mp:do_deploy', '', d)}"
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Define flashlayout devices
|
||||
# -----------------------------------------------------------------------------
|
||||
DEVICE_EMMC = "mmc1"
|
||||
DEVICE_NAND = "nand0"
|
||||
DEVICE_NOR = "nor0"
|
||||
DEVICE_SDCARD = "mmc0"
|
||||
# -----------------------------------------------------------------------------
|
||||
# EMMC
|
||||
# Extra space is required to store 'Protective MBR' and 'Primary GPT Header'
|
||||
# Currently the required size is 17kBytes (i.e. 0x4400)
|
||||
# We need to align this size to get the first offset to use
|
||||
DEVICE_START_OFFSET_mmc1 = "0x00080000"
|
||||
DEVICE_ALIGNMENT_SIZE_mmc1 = "0x00080000"
|
||||
# -----------------------------------------------------------------------------
|
||||
# NAND
|
||||
DEVICE_START_OFFSET_nand0 = "0x00000000"
|
||||
DEVICE_ALIGNMENT_SIZE_nand0 = "0x00040000"
|
||||
# -----------------------------------------------------------------------------
|
||||
# NOR
|
||||
DEVICE_START_OFFSET_nor0 = "0x00000000"
|
||||
DEVICE_ALIGNMENT_SIZE_nor0 = "0x00010000"
|
||||
# -----------------------------------------------------------------------------
|
||||
# SDCARD
|
||||
# Extra space is required to store 'Protective MBR' and 'Primary GPT Header'
|
||||
# Currently the required size is 17kBytes (i.e. 0x4400)
|
||||
# We need to align this size to get the first offset to use
|
||||
DEVICE_START_OFFSET_mmc0 = "0x00004400"
|
||||
DEVICE_ALIGNMENT_SIZE_mmc0 = "0x00000200"
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Define bootscheme labels
|
||||
# -----------------------------------------------------------------------------
|
||||
FLASHLAYOUT_BOOTSCHEME_LABELS ??= "basic optee trusted"
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Define config labels
|
||||
# -----------------------------------------------------------------------------
|
||||
# NOTE: define can be done with following priority assignment:
|
||||
# 1) list_<BOOTSCHEME>
|
||||
# 2) list
|
||||
# 3) Default 'list' to 'none' when not defined
|
||||
# -----------------------------------------------------------------------------
|
||||
FLASHLAYOUT_CONFIG_LABELS ??= "emmc nand-4-256 nor-sdcard nor-emmc nor-nand-4-256 sdcard"
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Define label types
|
||||
# -----------------------------------------------------------------------------
|
||||
# NOTE: define can be done with following priority assignment:
|
||||
# 1) list_<BOOTSCHEME>_<CONFIG>
|
||||
# 2) list_<BOOTSCHEME>
|
||||
# 3) list_<CONFIG>
|
||||
# 4) list
|
||||
# 5) Default 'list' to 'none' when not defined
|
||||
# -----------------------------------------------------------------------------
|
||||
# EMMC
|
||||
# Set flashlayout file generation to eval board (mother and daughter) only
|
||||
FLASHLAYOUT_TYPE_LABELS_emmc = "${STM32MP_DT_FILES_ED} ${STM32MP_DT_FILES_EV}"
|
||||
# NAND
|
||||
# Set flashlayout file generation to eval board only
|
||||
FLASHLAYOUT_TYPE_LABELS_nand-4-256 = "${STM32MP_DT_FILES_EV}"
|
||||
# NOR
|
||||
# Set flashlayout file generation to eval board only
|
||||
FLASHLAYOUT_TYPE_LABELS_nor-emmc = "${STM32MP_DT_FILES_EV}"
|
||||
FLASHLAYOUT_TYPE_LABELS_nor-nand-4-256 = "${STM32MP_DT_FILES_EV}"
|
||||
FLASHLAYOUT_TYPE_LABELS_nor-sdcard = "${STM32MP_DT_FILES_EV}"
|
||||
# SDCARD
|
||||
# Set flashlayout file generation for all boards
|
||||
FLASHLAYOUT_TYPE_LABELS_sdcard = "${STM32MP_DT_FILES_DK} ${STM32MP_DT_FILES_ED} ${STM32MP_DT_FILES_EV}"
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Define partitions to use
|
||||
# -----------------------------------------------------------------------------
|
||||
# There are few restrictions to follow:
|
||||
# - The partition for the first boot loader should follow the naming rule:
|
||||
# fsbl*
|
||||
# - The partition for the secondary boot loader should follow the naming rule:
|
||||
# ssbl
|
||||
# -----------------------------------------------------------------------------
|
||||
# NOTE: define can be done with following priority assignment:
|
||||
# 1) list_<BOOTSCHEME>_<CONFIG>
|
||||
# 2) list_<BOOTSCHEME>
|
||||
# 3) list_<CONFIG>
|
||||
# 4) list
|
||||
# 5) Default 'list' to 'none' when not defined
|
||||
# -----------------------------------------------------------------------------
|
||||
FLASHLAYOUT_PARTITION_LABELS_basic_emmc = "fsbl1-boot ssbl-boot fsbl1 fsbl2 ssbl"
|
||||
FLASHLAYOUT_PARTITION_LABELS_basic_nand-4-256 = "none"
|
||||
FLASHLAYOUT_PARTITION_LABELS_basic_nor-nand-4-256 = "fsbl1-boot ssbl-boot fsbl1 fsbl2 ssbl logo empty"
|
||||
FLASHLAYOUT_PARTITION_LABELS_basic_nor-emmc = "fsbl1-boot ssbl-boot fsbl1 fsbl2 ssbl logo empty"
|
||||
FLASHLAYOUT_PARTITION_LABELS_basic_nor-sdcard = "fsbl1-boot ssbl-boot fsbl1 fsbl2 ssbl logo empty bootfs vendorfs rootfs userfs"
|
||||
FLASHLAYOUT_PARTITION_LABELS_basic_sdcard = "fsbl1-boot ssbl-boot fsbl1 fsbl2 ssbl bootfs vendorfs rootfs userfs"
|
||||
|
||||
FLASHLAYOUT_PARTITION_LABELS_optee_emmc = "fsbl1-boot ssbl-boot fsbl1 fsbl2 ssbl teeh teed teex bootfs vendorfs rootfs userfs"
|
||||
FLASHLAYOUT_PARTITION_LABELS_optee_nand-4-256 = "fsbl1-boot ssbl-boot fsbl1 ssbl ssbl2 teeh teed teex ubifs"
|
||||
FLASHLAYOUT_PARTITION_LABELS_optee_nor-nand-4-256 = "fsbl1-boot ssbl-boot fsbl1 fsbl2 ssbl logo teeh teed teex empty empty2 empty3 ubifs"
|
||||
FLASHLAYOUT_PARTITION_LABELS_optee_nor-emmc = "fsbl1-boot ssbl-boot fsbl1 fsbl2 ssbl logo teeh teed teex empty bootfs vendorfs rootfs userfs"
|
||||
FLASHLAYOUT_PARTITION_LABELS_optee_nor-sdcard = "fsbl1-boot ssbl-boot fsbl1 fsbl2 ssbl logo teeh teed teex empty bootfs vendorfs rootfs userfs"
|
||||
FLASHLAYOUT_PARTITION_LABELS_optee_sdcard = "fsbl1-boot ssbl-boot fsbl1 fsbl2 ssbl teeh teed teex bootfs vendorfs rootfs userfs"
|
||||
|
||||
FLASHLAYOUT_PARTITION_LABELS_trusted_emmc = "fsbl1-boot ssbl-boot fsbl1 fsbl2 ssbl bootfs vendorfs rootfs userfs"
|
||||
FLASHLAYOUT_PARTITION_LABELS_trusted_nand-4-256 = "fsbl1-boot ssbl-boot fsbl1 ssbl ssbl2 ubifs"
|
||||
FLASHLAYOUT_PARTITION_LABELS_trusted_nor-nand-4-256 = "fsbl1-boot ssbl-boot fsbl1 fsbl2 ssbl logo empty empty2 empty3 ubifs"
|
||||
FLASHLAYOUT_PARTITION_LABELS_trusted_nor-emmc = "fsbl1-boot ssbl-boot fsbl1 fsbl2 ssbl logo empty bootfs vendorfs rootfs userfs"
|
||||
FLASHLAYOUT_PARTITION_LABELS_trusted_nor-sdcard = "fsbl1-boot ssbl-boot fsbl1 fsbl2 ssbl logo empty bootfs vendorfs rootfs userfs"
|
||||
FLASHLAYOUT_PARTITION_LABELS_trusted_sdcard = "fsbl1-boot ssbl-boot fsbl1 fsbl2 ssbl bootfs vendorfs rootfs userfs"
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Partition configuration for each partition label
|
||||
# NOTE: each item can be defined with following priority assignment:
|
||||
# 1) item_<BOOTSCHEME>_<CONFIG>_<PARTITION>
|
||||
# 2) item_<BOOTSCHEME>_<CONFIG>
|
||||
# 3) item_<BOOTSCHEME>_<PARTITION>
|
||||
# 4) item_<BOOTSCHEME>
|
||||
# 5) item_<CONFIG>_<PARTITION>
|
||||
# 6) item_<CONFIG>
|
||||
# 7) item_<PARTITION>
|
||||
# 8) item
|
||||
# 9) Default 'item' to 'none' when not defined
|
||||
# -----------------------------------------------------------------------------
|
||||
FLASHLAYOUT_PARTITION_ENABLE = "P"
|
||||
FLASHLAYOUT_PARTITION_ENABLE_fsbl1-boot = "-"
|
||||
FLASHLAYOUT_PARTITION_ENABLE_ssbl-boot = "-"
|
||||
FLASHLAYOUT_PARTITION_ENABLE_empty = "PE"
|
||||
FLASHLAYOUT_PARTITION_ENABLE_empty2 = "PE"
|
||||
FLASHLAYOUT_PARTITION_ENABLE_empty3 = "PE"
|
||||
FLASHLAYOUT_PARTITION_ENABLE_logo = "PE"
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Partition ID
|
||||
# -----------------------------------------------------------------------------
|
||||
# The STM32CubeProgrammer supported ID range is:
|
||||
# 0x00 to 0xFF
|
||||
# Some IDs are reserved for internal usage on STM32CubeProgrammer and special
|
||||
# management is implemented for binary with STM32 header. This means that for
|
||||
# flashlayout files, available ID range is only:
|
||||
# 0x01 to 0x0F for Boot partitions with STM32 header
|
||||
# 0x10 to 0xF0 for User partitions programmed without header
|
||||
# Note also that for FSBL and SSBL binaries loaded in RAM to program the devices
|
||||
# there are two reserved IDs
|
||||
# 0x01 for FSBL
|
||||
# 0x03 for SSBL
|
||||
FLASHLAYOUT_PARTITION_ID_fsbl1-boot = "0x01"
|
||||
FLASHLAYOUT_PARTITION_ID_ssbl-boot = "0x03"
|
||||
FLASHLAYOUT_PARTITION_ID_fsbl1 = "0x04"
|
||||
FLASHLAYOUT_PARTITION_ID_fsbl2 = "0x05"
|
||||
FLASHLAYOUT_PARTITION_ID_ssbl = "0x06"
|
||||
FLASHLAYOUT_PARTITION_ID_ssbl2 = "0x07"
|
||||
FLASHLAYOUT_PARTITION_ID_teeh = "0x0A"
|
||||
FLASHLAYOUT_PARTITION_ID_teed = "0x0B"
|
||||
FLASHLAYOUT_PARTITION_ID_teex = "0x0C"
|
||||
FLASHLAYOUT_PARTITION_ID_empty = "0x10"
|
||||
FLASHLAYOUT_PARTITION_ID_empty2 = "0x11"
|
||||
FLASHLAYOUT_PARTITION_ID_empty3 = "0x12"
|
||||
FLASHLAYOUT_PARTITION_ID_logo = "0x20"
|
||||
FLASHLAYOUT_PARTITION_ID_ubifs = "0x21"
|
||||
FLASHLAYOUT_PARTITION_ID_bootfs = "0x21"
|
||||
FLASHLAYOUT_PARTITION_ID_vendorfs = "0x22"
|
||||
FLASHLAYOUT_PARTITION_ID_rootfs = "0x23"
|
||||
FLASHLAYOUT_PARTITION_ID_userfs = "0x24"
|
||||
|
||||
FLASHLAYOUT_PARTITION_TYPE = "Binary"
|
||||
FLASHLAYOUT_PARTITION_TYPE_nand-4-256_fsbl1 = "Binary(2)"
|
||||
FLASHLAYOUT_PARTITION_TYPE_ubifs = "System"
|
||||
FLASHLAYOUT_PARTITION_TYPE_bootfs = "System"
|
||||
FLASHLAYOUT_PARTITION_TYPE_vendorfs = "FileSystem"
|
||||
FLASHLAYOUT_PARTITION_TYPE_rootfs = "FileSystem"
|
||||
FLASHLAYOUT_PARTITION_TYPE_userfs = "FileSystem"
|
||||
|
||||
FLASHLAYOUT_PARTITION_DEVICE_emmc = "${DEVICE_EMMC}"
|
||||
FLASHLAYOUT_PARTITION_DEVICE_nand-4-256 = "${DEVICE_NAND}"
|
||||
FLASHLAYOUT_PARTITION_DEVICE_nor = "${DEVICE_NOR}"
|
||||
FLASHLAYOUT_PARTITION_DEVICE_nor-emmc = "${DEVICE_NOR}"
|
||||
FLASHLAYOUT_PARTITION_DEVICE_nor-emmc_bootfs = "${DEVICE_EMMC}"
|
||||
FLASHLAYOUT_PARTITION_DEVICE_nor-emmc_vendorfs = "${DEVICE_EMMC}"
|
||||
FLASHLAYOUT_PARTITION_DEVICE_nor-emmc_rootfs = "${DEVICE_EMMC}"
|
||||
FLASHLAYOUT_PARTITION_DEVICE_nor-emmc_userfs = "${DEVICE_EMMC}"
|
||||
FLASHLAYOUT_PARTITION_DEVICE_nor-nand-4-256 = "${DEVICE_NOR}"
|
||||
FLASHLAYOUT_PARTITION_DEVICE_nor-nand-4-256_empty2 = "${DEVICE_NAND}"
|
||||
FLASHLAYOUT_PARTITION_DEVICE_nor-nand-4-256_empty3 = "${DEVICE_NAND}"
|
||||
FLASHLAYOUT_PARTITION_DEVICE_nor-nand-4-256_ubifs = "${DEVICE_NAND}"
|
||||
FLASHLAYOUT_PARTITION_DEVICE_nor-sdcard = "${DEVICE_NOR}"
|
||||
FLASHLAYOUT_PARTITION_DEVICE_nor-sdcard_bootfs = "${DEVICE_SDCARD}"
|
||||
FLASHLAYOUT_PARTITION_DEVICE_nor-sdcard_vendorfs = "${DEVICE_SDCARD}"
|
||||
FLASHLAYOUT_PARTITION_DEVICE_nor-sdcard_rootfs = "${DEVICE_SDCARD}"
|
||||
FLASHLAYOUT_PARTITION_DEVICE_nor-sdcard_userfs = "${DEVICE_SDCARD}"
|
||||
FLASHLAYOUT_PARTITION_DEVICE_sdcard = "${DEVICE_SDCARD}"
|
||||
# Specific for fsbl1-boot ssbl-boot partitions
|
||||
FLASHLAYOUT_PARTITION_DEVICE_basic_fsbl1-boot = "none"
|
||||
FLASHLAYOUT_PARTITION_DEVICE_basic_ssbl-boot = "none"
|
||||
FLASHLAYOUT_PARTITION_DEVICE_optee_fsbl1-boot = "none"
|
||||
FLASHLAYOUT_PARTITION_DEVICE_optee_ssbl-boot = "none"
|
||||
FLASHLAYOUT_PARTITION_DEVICE_trusted_fsbl1-boot = "none"
|
||||
FLASHLAYOUT_PARTITION_DEVICE_trusted_ssbl-boot = "none"
|
||||
|
||||
FLASHLAYOUT_PARTITION_OFFSET_fsbl1-boot = "0x0"
|
||||
FLASHLAYOUT_PARTITION_OFFSET_ssbl-boot = "0x0"
|
||||
FLASHLAYOUT_PARTITION_OFFSET_emmc_fsbl1 = "boot1"
|
||||
FLASHLAYOUT_PARTITION_OFFSET_emmc_fsbl2 = "boot2"
|
||||
FLASHLAYOUT_PARTITION_OFFSET_emmc_ssbl = "${DEVICE_START_OFFSET_mmc1}"
|
||||
FLASHLAYOUT_PARTITION_OFFSET_nand-4-256_fsbl1 = "${DEVICE_START_OFFSET_nand0}"
|
||||
FLASHLAYOUT_PARTITION_OFFSET_nor-sdcard_fsbl1 = "${DEVICE_START_OFFSET_nor0}"
|
||||
FLASHLAYOUT_PARTITION_OFFSET_nor-sdcard_bootfs = "${DEVICE_START_OFFSET_mmc0}"
|
||||
FLASHLAYOUT_PARTITION_OFFSET_nor-emmc_fsbl1 = "${DEVICE_START_OFFSET_nor0}"
|
||||
FLASHLAYOUT_PARTITION_OFFSET_nor-emmc_bootfs = "${DEVICE_START_OFFSET_mmc1}"
|
||||
FLASHLAYOUT_PARTITION_OFFSET_nor-nand-4-256_fsbl1 = "${DEVICE_START_OFFSET_nor0}"
|
||||
FLASHLAYOUT_PARTITION_OFFSET_nor-nand-4-256_empty2 = "${DEVICE_START_OFFSET_nand0}"
|
||||
FLASHLAYOUT_PARTITION_OFFSET_sdcard_fsbl1 = "${DEVICE_START_OFFSET_mmc0}"
|
||||
|
||||
# Size defined in Kbytes
|
||||
FLASHLAYOUT_PARTITION_SIZE_fsbl1 = "256"
|
||||
FLASHLAYOUT_PARTITION_SIZE_nand-4-256_fsbl1 = "2048"
|
||||
FLASHLAYOUT_PARTITION_SIZE_fsbl2 = "256"
|
||||
FLASHLAYOUT_PARTITION_SIZE_ssbl = "2048"
|
||||
FLASHLAYOUT_PARTITION_SIZE_ssbl2 = "2048"
|
||||
FLASHLAYOUT_PARTITION_SIZE_logo = "256"
|
||||
FLASHLAYOUT_PARTITION_SIZE_teeh = "256"
|
||||
FLASHLAYOUT_PARTITION_SIZE_teed = "256"
|
||||
FLASHLAYOUT_PARTITION_SIZE_teex = "256"
|
||||
FLASHLAYOUT_PARTITION_SIZE_empty = "0"
|
||||
FLASHLAYOUT_PARTITION_SIZE_empty2 = "${FLASHLAYOUT_PARTITION_SIZE_nand-4-256_fsbl1}"
|
||||
FLASHLAYOUT_PARTITION_SIZE_empty3 = "${FLASHLAYOUT_PARTITION_SIZE_ssbl}"
|
||||
# Specific override for partition size as the configuration should follow
|
||||
# the U-Boot source code where these partition sizes are hard coded
|
||||
FLASHLAYOUT_PARTITION_SIZE_nand-4-256_teeh = "512"
|
||||
FLASHLAYOUT_PARTITION_SIZE_nand-4-256_teed = "512"
|
||||
FLASHLAYOUT_PARTITION_SIZE_nand-4-256_teex = "512"
|
||||
|
||||
FLASHLAYOUT_PARTITION_SIZE_bootfs = "${BOOTFS_PARTITION_SIZE}"
|
||||
FLASHLAYOUT_PARTITION_SIZE_vendorfs = "${VENDORFS_PARTITION_SIZE}"
|
||||
FLASHLAYOUT_PARTITION_SIZE_rootfs = "${ROOTFS_PARTITION_SIZE}"
|
||||
FLASHLAYOUT_PARTITION_SIZE_ubifs = "none"
|
||||
FLASHLAYOUT_PARTITION_SIZE_userfs = "${USERFS_PARTITION_SIZE}"
|
||||
|
||||
# Set binaries to use for each partition
|
||||
FLASHLAYOUT_PARTITION_BIN2LOAD_fsbl1-boot = "tf-a.stm32"
|
||||
FLASHLAYOUT_PARTITION_BIN2LOAD_ssbl-boot = "u-boot.stm32"
|
||||
FLASHLAYOUT_PARTITION_BIN2LOAD_fsbl1 = "tf-a.stm32"
|
||||
FLASHLAYOUT_PARTITION_BIN2LOAD_basic_fsbl1 = "u-boot-spl.stm32"
|
||||
FLASHLAYOUT_PARTITION_BIN2LOAD_fsbl2 = "tf-a.stm32"
|
||||
FLASHLAYOUT_PARTITION_BIN2LOAD_basic_fsbl2 = "u-boot-spl.stm32"
|
||||
FLASHLAYOUT_PARTITION_BIN2LOAD_ssbl = "u-boot.stm32"
|
||||
FLASHLAYOUT_PARTITION_BIN2LOAD_basic_ssbl = "u-boot.img"
|
||||
FLASHLAYOUT_PARTITION_BIN2LOAD_ssbl2 = "u-boot.stm32"
|
||||
FLASHLAYOUT_PARTITION_BIN2LOAD_teeh = "tee-header_v2.stm32"
|
||||
FLASHLAYOUT_PARTITION_BIN2LOAD_teed = "tee-pageable_v2.stm32"
|
||||
FLASHLAYOUT_PARTITION_BIN2LOAD_teex = "tee-pager_v2.stm32"
|
||||
FLASHLAYOUT_PARTITION_BIN2LOAD_logo = "none"
|
||||
FLASHLAYOUT_PARTITION_BIN2LOAD_ubifs = "${IMAGE_LINK_NAME}_nand_4_256_multivolume.ubi"
|
||||
FLASHLAYOUT_PARTITION_BIN2LOAD_bootfs = "${STM32MP_BOOTFS_IMAGE}-${DISTRO}-${MACHINE}.ext4"
|
||||
FLASHLAYOUT_PARTITION_BIN2LOAD_vendorfs = "${STM32MP_VENDORFS_IMAGE}-${DISTRO}-${MACHINE}.ext4"
|
||||
FLASHLAYOUT_PARTITION_BIN2LOAD_rootfs = "${IMAGE_LINK_NAME}.ext4"
|
||||
FLASHLAYOUT_PARTITION_BIN2LOAD_userfs = "${STM32MP_USERFS_IMAGE}-${DISTRO}-${MACHINE}.ext4"
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Use the 'BIN2BOOT_REPLACE_PATTERNS' var to allow dynamic binary renaming for
|
||||
# the bootloader binaries. This is only required for fsbl1-boot and ssbl-boot
|
||||
# partitions that provides the binary to flash the device.
|
||||
# The format to follow is:
|
||||
# '<PATTERN2REPLACE_1>;<PATTERN2SET_1> <PATTERN2REPLACE_2>;<PATTERN2SET_2>'
|
||||
# And the pattern to replace in binary name is only searched as:
|
||||
# '-<PATTERN>$'
|
||||
# or
|
||||
# '-<PATTERN>-'
|
||||
# -----------------------------------------------------------------------------
|
||||
# The 'basic' bootscheme does not support Programmer mode, so use 'trusted' one
|
||||
# (valid for both fsbl1-boot and ssbl-boot)
|
||||
BIN2BOOT_REPLACE_PATTERNS_DEFAULT = "basic;trusted"
|
||||
# The daughter board does not support Programmer mode, so use eval one
|
||||
# (valid for both fsbl1-boot and ssbl-boot)
|
||||
BIN2BOOT_REPLACE_PATTERNS_DEFAULT_append = " ed1;ev1"
|
||||
|
||||
# Apply for fsbl1-boot and ssbl-boot
|
||||
BIN2BOOT_REPLACE_PATTERNS_fsbl1-boot = "${BIN2BOOT_REPLACE_PATTERNS_DEFAULT}"
|
||||
BIN2BOOT_REPLACE_PATTERNS_ssbl-boot = "${BIN2BOOT_REPLACE_PATTERNS_DEFAULT}"
|
||||
|
||||
# For fsbl1-boot, the 'optee' bootscheme does not support Programmer mode, so
|
||||
# prefer the 'trusted' one.
|
||||
BIN2BOOT_REPLACE_PATTERNS_fsbl1-boot_append = " optee;trusted"
|
||||
|
|
@ -0,0 +1,77 @@
|
|||
#@TYPE: Machine
|
||||
#@NAME: stm32mp1
|
||||
#@DESCRIPTION: Configuration for all STM32MP1 boards (EV, DK, ...)
|
||||
#@NEEDED_BSPLAYERS:
|
||||
|
||||
include conf/machine/include/st-machine-common-stm32mp.inc
|
||||
|
||||
# =========================================================================
|
||||
# Chip architecture
|
||||
# =========================================================================
|
||||
DEFAULTTUNE = "cortexa7thf-neon-vfpv4"
|
||||
include conf/machine/include/tune-cortexa7.inc
|
||||
|
||||
# =========================================================================
|
||||
# boot scheme
|
||||
# =========================================================================
|
||||
BOOTSCHEME_LABELS += "basic"
|
||||
BOOTSCHEME_LABELS += "trusted"
|
||||
BOOTSCHEME_LABELS += "optee"
|
||||
|
||||
# =========================================================================
|
||||
# Machine settings
|
||||
# =========================================================================
|
||||
# Define list of devicetree per board
|
||||
STM32MP_DT_FILES_DK += "stm32mp157a-dk1"
|
||||
STM32MP_DT_FILES_DK += "stm32mp157c-dk2"
|
||||
STM32MP_DT_FILES_ED += "stm32mp157c-ed1"
|
||||
STM32MP_DT_FILES_EV += "stm32mp157c-ev1"
|
||||
|
||||
# =========================================================================
|
||||
# Machine features
|
||||
# =========================================================================
|
||||
MACHINE_FEATURES += "bluetooth"
|
||||
MACHINE_FEATURES += "wifi"
|
||||
MACHINE_FEATURES += "${@'gpu' if d.getVar('ACCEPT_EULA_'+d.getVar('MACHINE')) == '1' else ''}"
|
||||
# Splashscreen enabled
|
||||
MACHINE_FEATURES += "splashscreen"
|
||||
|
||||
# =========================================================================
|
||||
# Image
|
||||
# =========================================================================
|
||||
# Add ubi FSTYPES to default ones for nand volumes
|
||||
IMAGE_FSTYPES += "stmultiubi"
|
||||
|
||||
# =========================================================================
|
||||
# Kernel
|
||||
# =========================================================================
|
||||
# Kernel config
|
||||
# Set this address to 0xC2000040, which is 0xC2000000 + 0x40.
|
||||
# 0xC2000000 is the memory address where U-Boot will copy from flash the file uImage and 0x40 is uImage header size (64Bytes).
|
||||
# With this value, U-Boot will be able to execute in place the zImage contained in uImage.
|
||||
ST_KERNEL_LOADADDR = "0xC2000040"
|
||||
|
||||
# For eval board: auto-load goodix module (touchscreen module)
|
||||
KERNEL_MODULE_AUTOLOAD = "goodix"
|
||||
|
||||
# Define the devicetree for Linux A7 examples
|
||||
LINUX_A7_EXAMPLES_DT += "stm32mp157c-dk2-a7-examples"
|
||||
LINUX_A7_EXAMPLES_DT += "stm32mp157c-ev1-a7-examples"
|
||||
|
||||
# =========================================================================
|
||||
# flashlayout
|
||||
# =========================================================================
|
||||
# Define the config labels to use to generate flashlayout file
|
||||
FLASHLAYOUT_CONFIG_LABELS += "emmc"
|
||||
FLASHLAYOUT_CONFIG_LABELS += "nand-4-256"
|
||||
FLASHLAYOUT_CONFIG_LABELS += "nor-sdcard"
|
||||
FLASHLAYOUT_CONFIG_LABELS += "nor-emmc"
|
||||
FLASHLAYOUT_CONFIG_LABELS += "nor-nand-4-256"
|
||||
FLASHLAYOUT_CONFIG_LABELS += "sdcard"
|
||||
|
||||
# =========================================================================
|
||||
# M4 copro
|
||||
# =========================================================================
|
||||
# Define the devicetree for M4 example
|
||||
CUBE_M4_EXAMPLES_DT += "stm32mp157c-dk2-m4-examples"
|
||||
CUBE_M4_EXAMPLES_DT += "stm32mp157c-ev1-m4-examples"
|
||||
Loading…
Reference in New Issue