From dfec3cadbf40268fc0bc84db18fb62ddd418b146 Mon Sep 17 00:00:00 2001 From: Priouzeau Christophe Date: Mon, 3 Feb 2020 14:54:38 +0100 Subject: [PATCH] MACHINE: rework of extlinux variables Signed-off-by: Priouzeau Christophe --- .../include/st-machine-common-stm32mp.inc | 38 ++++++--- .../st-machine-extlinux-config-stm32mp.inc | 77 ++++++++--------- .../include/st-machine-features-stm32mp.inc | 2 +- ...-machine-flashlayout-deleteall-stm32mp.inc | 21 +---- ...machine-flashlayout-extensible-stm32mp.inc | 36 ++++++++ .../st-machine-flashlayout-stm32mp.inc | 83 +++++++++++++------ .../include/st-machine-providers-stm32mp.inc | 25 ++++++ conf/machine/stm32mp1-disco.conf | 31 ++++--- conf/machine/stm32mp1-eval.conf | 39 +++------ conf/machine/stm32mp1.conf | 22 ++--- 10 files changed, 226 insertions(+), 148 deletions(-) create mode 100644 conf/machine/include/st-machine-flashlayout-extensible-stm32mp.inc create mode 100644 conf/machine/include/st-machine-providers-stm32mp.inc diff --git a/conf/machine/include/st-machine-common-stm32mp.inc b/conf/machine/include/st-machine-common-stm32mp.inc index 874539f..a8521d1 100644 --- a/conf/machine/include/st-machine-common-stm32mp.inc +++ b/conf/machine/include/st-machine-common-stm32mp.inc @@ -4,6 +4,7 @@ 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 +require conf/machine/include/st-machine-flashlayout-extensible-stm32mp.inc # Define specific common machine name MACHINEOVERRIDES .= ":stcommon" @@ -17,6 +18,12 @@ MACHINEOVERRIDES .= ":stm32mpcommon" # List of supported boot schemes BOOTSCHEME_LABELS ??= "basic trusted optee" +# ========================================================================= +# boot device +# ========================================================================= +# List of supported boot devices +BOOTDEVICE_LABELS ??= "emmc nand-4-256 nor-emmc nor-nand-4-256 nor-sdcard sdcard" + # ========================================================================= # Machine settings # ========================================================================= @@ -49,8 +56,9 @@ STM32MP_DEVICETREE_append = " ${STM32MP_DT_FILES_EV} " # ========================================================================= # Machine specific packages # ========================================================================= +WIFI_SUSPEND = "${@bb.utils.contains('DISTRO_FEATURES','systemd',' wifi-suspend ','',d)}" 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 = " ${@bb.utils.contains('MACHINE_FEATURES', 'wifi', '${WIFI_SUSPEND}', '', d)} " MACHINE_EXTRA_RRECOMMENDS_append = " m4projects-stm32mp1 " MACHINE_EXTRA_RRECOMMENDS_append = " linux-examples-stm32mp1 " MACHINE_EXTRA_RRECOMMENDS_append = " m4fwcoredump " @@ -185,10 +193,16 @@ ST_TOOLS_FOR_SDK = " \ nativesdk-openocd-stm32mp \ nativesdk-sdcard-raw-tools \ nativesdk-ncurses-libncursesw \ + " + +# For support of perl ansicolor +ST_TOOLS_FOR_SDK_PERL = " \ nativesdk-perl-module-term-ansicolor \ nativesdk-perl-module-encode \ nativesdk-perl-module-encode-mime-header \ - " +" +ST_TOOLS_FOR_SDK_append = " ${ST_TOOLS_FOR_SDK_PERL} " + # For support of string convertion (iconv) in SDK ST_TOOLS_FOR_SDK_append = " \ nativesdk-glibc-gconv-utf-16 \ @@ -198,6 +212,7 @@ ST_TOOLS_FOR_SDK_append = " \ ST_TOOLS_FOR_SDK_append = " \ nativesdk-wayland \ " + # Make sure to append mkimage to SDK for kernel uImage build ST_DEPENDENCIES_BUILD_FOR_SDK = " \ ${@bb.utils.contains('KERNEL_IMAGETYPE', 'uImage', 'nativesdk-u-boot-mkimage', '', d)} \ @@ -219,10 +234,10 @@ TOOLCHAIN_HOST_TASK_append = " ${ST_DEPENDENCIES_BUILD_FOR_SDK} " TOOLCHAIN_HOST_TASK_remove_task-populate-sdk-ext = " ${ST_TOOLS_FOR_SDK} " TOOLCHAIN_HOST_TASK_remove_task-populate-sdk-ext = " ${ST_DEPENDENCIES_BUILD_FOR_SDK} " # buildtools is used only by populate_sdk_ext -# populate_sdk_ext = buildtools + uninatve + layer +# populate_sdk_ext = buildtools + uninative + layer # buildtools: sdk part of esdk (like sdk generated by populate_sdk) # uninative: basic tools for devtool -TOOLCHAIN_HOST_TASK_remove_pn-buildtools-tarball = " ${ST_TOOLS_FOR_SDK} " +TOOLCHAIN_HOST_TASK_remove_pn-buildtools-tarball = " ${ST_TOOLS_FOR_SDK_PERL} " TOOLCHAIN_TARGET_TASK += " bash-dev " TOOLCHAIN_TARGET_TASK_remove_pn-buildtools-tarball = " bash-dev " @@ -299,9 +314,13 @@ TF_A_CONFIG += "${@bb.utils.contains('BOOTSCHEME_LABELS', 'basic', 'trusted', '' 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_optee = "AARCH32_SP=optee STM32MP_BOOT_ONLY=1" TF_A_CONFIG_trusted = "AARCH32_SP=sp_min" +# Manage proper dependency +tfaconfig_env[vardeps] += "${@bb.utils.contains('TF_A_CONFIG', 'optee', 'TF_A_CONFIG_optee', '', d)}" +tfaconfig_env[vardeps] += "${@bb.utils.contains('TF_A_CONFIG', 'trusted', 'TF_A_CONFIG_trusted', '', d)}" + # List of TF-A device tree to use TF_A_DEVICETREE = "${STM32MP_DEVICETREE}" @@ -314,13 +333,12 @@ 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 ??= "" +# Add specific scheme to provide flashlayout that will make rootfs extensible to +# remaining device free space +# NOTE: this scheme is ONLY compatible with disco board and trusted bootscheme +FLASHLAYOUT_BOOTSCHEME_LABELS += "${@bb.utils.contains('BOOTSCHEME_LABELS', 'trusted', 'extensible', '', d)}" # ========================================================================= # Xserver diff --git a/conf/machine/include/st-machine-extlinux-config-stm32mp.inc b/conf/machine/include/st-machine-extlinux-config-stm32mp.inc index 7339291..c909e00 100644 --- a/conf/machine/include/st-machine-extlinux-config-stm32mp.inc +++ b/conf/machine/include/st-machine-extlinux-config-stm32mp.inc @@ -1,24 +1,5 @@ #@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" @@ -70,15 +51,35 @@ EXTLINUX_ROOT_SDCARD_OPTEE = "${@bb.utils.contains('ST_VENDORFS','1','root=/dev/ # APPEND ${UBOOT_EXTLINUX_ROOT} < OR OVERRIDE WITH : ${UBOOT_EXTLINUX_ROOT_${IMAGE_UBOOT_EXTLINUX_LABELS}[1]} > # ----------------------------------------------------------------------------- +# Init the list of targets per device config +UBOOT_EXTLINUX_TARGETS_emmc ?= "" +UBOOT_EXTLINUX_TARGETS_emmc-optee ?= "" +UBOOT_EXTLINUX_TARGETS_nand ?= "" +UBOOT_EXTLINUX_TARGETS_nor-emmc ?= "" +UBOOT_EXTLINUX_TARGETS_nor-sdcard ?= "" +UBOOT_EXTLINUX_TARGETS_sdcard ?= "" +UBOOT_EXTLINUX_TARGETS_sdcard-optee ?= "" +# Configure bootscheme diversity for emmc and sdcard +EXTLINUX_TARGETS_EMMC += "${@bb.utils.contains_any('BOOTSCHEME_LABELS', [ 'basic', 'trusted' ], '${UBOOT_EXTLINUX_TARGETS_emmc}', '', d)}" +EXTLINUX_TARGETS_EMMC += "${@bb.utils.contains('BOOTSCHEME_LABELS', 'optee', '${UBOOT_EXTLINUX_TARGETS_emmc-optee}', '', d)}" +EXTLINUX_TARGETS_SDCARD += "${@bb.utils.contains_any('BOOTSCHEME_LABELS', [ 'basic', 'trusted' ], '${UBOOT_EXTLINUX_TARGETS_sdcard}', '', d)}" +EXTLINUX_TARGETS_SDCARD += "${@bb.utils.contains('BOOTSCHEME_LABELS', 'optee', '${UBOOT_EXTLINUX_TARGETS_sdcard-optee}', '', d)}" +# Define the extlinux targets to use +UBOOT_EXTLINUX_TARGETS += "${@bb.utils.contains('BOOTDEVICE_LABELS', 'emmc', '${EXTLINUX_TARGETS_EMMC}', '', d)}" +UBOOT_EXTLINUX_TARGETS += "${@bb.utils.contains_any('BOOTDEVICE_LABELS', [ 'nand-4-256', 'nor-nand-4-256' ], '${UBOOT_EXTLINUX_TARGETS_nand}', '', d)}" +UBOOT_EXTLINUX_TARGETS += "${@bb.utils.contains('BOOTDEVICE_LABELS', 'nor-emmc', '${UBOOT_EXTLINUX_TARGETS_nor-emmc}', '', d)}" +UBOOT_EXTLINUX_TARGETS += "${@bb.utils.contains('BOOTDEVICE_LABELS', 'nor-sdcard', '${UBOOT_EXTLINUX_TARGETS_nor-sdcard}', '', d)}" +UBOOT_EXTLINUX_TARGETS += "${@bb.utils.contains('BOOTDEVICE_LABELS', 'sdcard', '${EXTLINUX_TARGETS_SDCARD}', '', d)}" + # 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 additional targets to use +UBOOT_EXTLINUX_TARGETS_sdcard += "${@bb.utils.contains('STM32MP_DEVICETREE', 'stm32mp157a-dk1', 'mp157a-dk1_sdcard', '', d)}" +UBOOT_EXTLINUX_TARGETS_sdcard-optee += "${@bb.utils.contains('STM32MP_DEVICETREE', 'stm32mp157a-dk1', 'mp157a-dk1_sdcard-optee', '', d)}" # 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_" @@ -98,9 +99,9 @@ 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 additional targets to use +UBOOT_EXTLINUX_TARGETS_sdcard += "${@bb.utils.contains('STM32MP_DEVICETREE', 'stm32mp157c-dk2', 'mp157c-dk2_sdcard', '', d)}" +UBOOT_EXTLINUX_TARGETS_sdcard-optee += "${@bb.utils.contains('STM32MP_DEVICETREE', 'stm32mp157c-dk2', 'mp157c-dk2_sdcard-optee', '', d)}" # 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_" @@ -140,11 +141,11 @@ UBOOT_EXTLINUX_ROOT_stm32mp157c-dk2-m4-examples-sdcard-optee = "${EXTLINUX_ROOT_ # ----------------------------------------------------------------------------- # 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 additional targets to use +UBOOT_EXTLINUX_TARGETS_emmc += "${@bb.utils.contains('STM32MP_DEVICETREE', 'stm32mp157c-ed1', 'mp157c-ed1_emmc', '', d)}" +UBOOT_EXTLINUX_TARGETS_emmc-optee += "${@bb.utils.contains('STM32MP_DEVICETREE', 'stm32mp157c-ed1', 'mp157c-ed1_emmc-optee', '', d)}" +UBOOT_EXTLINUX_TARGETS_sdcard += "${@bb.utils.contains('STM32MP_DEVICETREE', 'stm32mp157c-ed1', 'mp157c-ed1_sdcard', '', d)}" +UBOOT_EXTLINUX_TARGETS_sdcard-optee += "${@bb.utils.contains('STM32MP_DEVICETREE', 'stm32mp157c-ed1', 'mp157c-ed1_sdcard-optee', '', d)}" # 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_" @@ -174,14 +175,14 @@ 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 additional targets to use +UBOOT_EXTLINUX_TARGETS_emmc += "${@bb.utils.contains('STM32MP_DEVICETREE', 'stm32mp157c-ev1', 'mp157c-ev1_emmc', '', d)}" +UBOOT_EXTLINUX_TARGETS_emmc-optee += "${@bb.utils.contains('STM32MP_DEVICETREE', 'stm32mp157c-ev1', 'mp157c-ev1_emmc-optee', '', d)}" +UBOOT_EXTLINUX_TARGETS_nand += "${@bb.utils.contains('STM32MP_DEVICETREE', 'stm32mp157c-ev1', 'mp157c-ev1_nand', '', d)}" +UBOOT_EXTLINUX_TARGETS_nor-sdcard += "${@bb.utils.contains('STM32MP_DEVICETREE', 'stm32mp157c-ev1', 'mp157c-ev1_nor-sdcard', '', d)}" +UBOOT_EXTLINUX_TARGETS_nor-emmc += "${@bb.utils.contains('STM32MP_DEVICETREE', 'stm32mp157c-ev1', 'mp157c-ev1_nor-emmc', '', d)}" +UBOOT_EXTLINUX_TARGETS_sdcard += "${@bb.utils.contains('STM32MP_DEVICETREE', 'stm32mp157c-ev1', 'mp157c-ev1_sdcard', '', d)}" +UBOOT_EXTLINUX_TARGETS_sdcard-optee += "${@bb.utils.contains('STM32MP_DEVICETREE', 'stm32mp157c-ev1', 'mp157c-ev1_sdcard-optee', '', d)}" # 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_" diff --git a/conf/machine/include/st-machine-features-stm32mp.inc b/conf/machine/include/st-machine-features-stm32mp.inc index 8fc2f81..cf2c562 100644 --- a/conf/machine/include/st-machine-features-stm32mp.inc +++ b/conf/machine/include/st-machine-features-stm32mp.inc @@ -9,7 +9,7 @@ include conf/machine/include/gpu_vivante.inc # To support gpu on a machine, # please add "gpu" to MACHINE_FEATURES in machine conf file -GPU_LIST = "kernel-module-galcore" +GPU_LIST = "gcnano-driver-stm32mp" GPU_IMAGE_INSTALL = "${@bb.utils.contains('MACHINE_FEATURES', 'gpu', '${GPU_LIST}', '', d)} " #------------------ diff --git a/conf/machine/include/st-machine-flashlayout-deleteall-stm32mp.inc b/conf/machine/include/st-machine-flashlayout-deleteall-stm32mp.inc index 145e862..ccb367e 100644 --- a/conf/machine/include/st-machine-flashlayout-deleteall-stm32mp.inc +++ b/conf/machine/include/st-machine-flashlayout-deleteall-stm32mp.inc @@ -26,25 +26,6 @@ FLASHLAYOUT_PARTITION_LABELS_deleteall_eval = "fsbl1-boot ssbl-boot emmcfsbl1 e # ----------------------------------------------------------------------------- # Partition configuration for each partition label -FLASHLAYOUT_PARTITION_ENABLE_emmcfsbl1 = "PED" -FLASHLAYOUT_PARTITION_ENABLE_emmcfsbl2 = "PED" -FLASHLAYOUT_PARTITION_ENABLE_emmcall = "PED" -FLASHLAYOUT_PARTITION_ENABLE_nandall = "PED" -FLASHLAYOUT_PARTITION_ENABLE_norall = "PED" -FLASHLAYOUT_PARTITION_ENABLE_sdcardall = "PED" - -FLASHLAYOUT_PARTITION_ID_emmcfsbl1 = "0x08" -FLASHLAYOUT_PARTITION_ID_emmcfsbl2 = "0x09" -FLASHLAYOUT_PARTITION_ID_emmcall = "0x30" -FLASHLAYOUT_PARTITION_ID_nandall = "0x40" -FLASHLAYOUT_PARTITION_ID_norall = "0x50" -FLASHLAYOUT_PARTITION_ID_sdcardall = "0x60" - -FLASHLAYOUT_PARTITION_TYPE_emmcall = "RawImage" -FLASHLAYOUT_PARTITION_TYPE_nandall = "RawImage" -FLASHLAYOUT_PARTITION_TYPE_norall = "RawImage" -FLASHLAYOUT_PARTITION_TYPE_sdcardall = "RawImage" - FLASHLAYOUT_PARTITION_DEVICE_emmcfsbl1 = "${DEVICE_EMMC}" FLASHLAYOUT_PARTITION_DEVICE_emmcfsbl2 = "${DEVICE_EMMC}" FLASHLAYOUT_PARTITION_DEVICE_emmcall = "${DEVICE_EMMC}" @@ -60,7 +41,7 @@ FLASHLAYOUT_PARTITION_OFFSET_deleteall_emmcfsbl1 = "${FLASHLAYOUT_PARTITION_OFFS FLASHLAYOUT_PARTITION_OFFSET_deleteall_emmcfsbl2 = "${FLASHLAYOUT_PARTITION_OFFSET_emmc_fsbl2}" # ----------------------------------------------------------------------------- -# The 'deletall' bootscheme is a trick to generate flashlayout files to clean +# The 'deleteall' 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" diff --git a/conf/machine/include/st-machine-flashlayout-extensible-stm32mp.inc b/conf/machine/include/st-machine-flashlayout-extensible-stm32mp.inc new file mode 100644 index 0000000..9ede729 --- /dev/null +++ b/conf/machine/include/st-machine-flashlayout-extensible-stm32mp.inc @@ -0,0 +1,36 @@ +#@DESCRIPTION: STM32MP machine flashlayout extensible configuration + +# Set configuration file to monitor +FLASHLAYOUT_CONFIGURE_FILES_append = " ${STM32MP_BASE}/conf/machine/include/st-machine-flashlayout-extensible-stm32mp.inc:True " + +# ----------------------------------------------------------------------------- +# Define config labels +# ----------------------------------------------------------------------------- +FLASHLAYOUT_CONFIG_LABELS_extensible = "sdcard" + +# ----------------------------------------------------------------------------- +# Define label types +# ----------------------------------------------------------------------------- +FLASHLAYOUT_TYPE_LABELS_extensible = "${STM32MP_DT_FILES_DK}" + +# ----------------------------------------------------------------------------- +# 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_extensible = "fsbl1-boot ssbl-boot fsbl1 fsbl2 ssbl bootfs ${VENDORFS_PART} rootfs" + +# ----------------------------------------------------------------------------- +# Partition configuration for each partition label +# Specific for fsbl1-boot ssbl-boot partitions +FLASHLAYOUT_PARTITION_DEVICE_extensible_fsbl1-boot = "none" +FLASHLAYOUT_PARTITION_DEVICE_extensible_ssbl-boot = "none" + +# ----------------------------------------------------------------------------- +# The 'extensible' bootscheme is a trick to generate flashlayout files without +# userfs partition for trusted bootscheme ONLY. So rootfs partition will be +# extended up to the end of memory device, leaving plenty of space for user to +# install more applications via 'apt-get' +BIN2BOOT_REPLACE_PATTERNS_extensible_append = " extensible;trusted" diff --git a/conf/machine/include/st-machine-flashlayout-stm32mp.inc b/conf/machine/include/st-machine-flashlayout-stm32mp.inc index 6bb1fc4..4b31d05 100644 --- a/conf/machine/include/st-machine-flashlayout-stm32mp.inc +++ b/conf/machine/include/st-machine-flashlayout-stm32mp.inc @@ -43,7 +43,8 @@ DEVICE_ALIGNMENT_SIZE_mmc0 = "0x00000200" # ----------------------------------------------------------------------------- # Define bootscheme labels # ----------------------------------------------------------------------------- -FLASHLAYOUT_BOOTSCHEME_LABELS ??= "basic optee trusted" +# Define bootscheme label to allow specific expansion for partition vars +FLASHLAYOUT_BOOTSCHEME_LABELS += "${BOOTSCHEME_LABELS}" # ----------------------------------------------------------------------------- # Define config labels @@ -53,7 +54,13 @@ FLASHLAYOUT_BOOTSCHEME_LABELS ??= "basic optee trusted" # 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 supported config labels +FLASHLAYOUT_CONFIG_LABELS += "${@bb.utils.contains('BOOTDEVICE_LABELS', 'emmc', 'emmc', '', d)}" +FLASHLAYOUT_CONFIG_LABELS += "${@bb.utils.contains('BOOTDEVICE_LABELS', 'nand-4-256', 'nand-4-256', '', d)}" +FLASHLAYOUT_CONFIG_LABELS += "${@bb.utils.contains('BOOTDEVICE_LABELS', 'nor-emmc', 'nor-emmc', '', d)}" +FLASHLAYOUT_CONFIG_LABELS += "${@bb.utils.contains('BOOTDEVICE_LABELS', 'nor-nand-4-256', 'nor-nand-4-256', '', d)}" +FLASHLAYOUT_CONFIG_LABELS += "${@bb.utils.contains('BOOTDEVICE_LABELS', 'nor-sdcard', 'nor-sdcard', '', d)}" +FLASHLAYOUT_CONFIG_LABELS += "${@bb.utils.contains('BOOTDEVICE_LABELS', 'sdcard', 'sdcard', '', d)}" # Set by default this variable to 0, and set to 1 only when we are using st-example-image-* ST_EXAMPLE_IMAGE ??= "0" @@ -132,17 +139,18 @@ FLASHLAYOUT_PARTITION_LABELS_trusted_sdcard = "fsbl1-boot ssbl-boot fsbl # To manage properly dynamic boot for NOR use case, our 'boot.src' script scans # one after one the devices to find out expected binaries from bootfs partition. -# Currently the order followed by the script is: +# So we make sure to erase all devices we do not want to use to boot +# for our NOR-* boot configurations +FLASHLAYOUT_PARTITION_LABELS_basic_nor-emmc += "nandall sdcardall" +FLASHLAYOUT_PARTITION_LABELS_basic_nor-sdcard += "emmcfsbl1 emmcfsbl2 emmcall nandall" -# So proposal here is to make sure to erase device we do not want to use to boot -# for NOR-* boot configuration -FLASHLAYOUT_PARTITION_LABELS_basic_nor-emmc += "nandall sdcardall" - -FLASHLAYOUT_PARTITION_LABELS_optee_nor-nand-4-256 += "sdcardall" +FLASHLAYOUT_PARTITION_LABELS_optee_nor-nand-4-256 += "emmcfsbl1 emmcfsbl2 emmcall sdcardall" FLASHLAYOUT_PARTITION_LABELS_optee_nor-emmc += "nandall sdcardall" +FLASHLAYOUT_PARTITION_LABELS_optee_nor-sdcard += "emmcfsbl1 emmcfsbl2 emmcall nandall" -FLASHLAYOUT_PARTITION_LABELS_trusted_nor-nand-4-256 += "sdcardall" +FLASHLAYOUT_PARTITION_LABELS_trusted_nor-nand-4-256 += "emmcfsbl1 emmcfsbl2 emmcall sdcardall" FLASHLAYOUT_PARTITION_LABELS_trusted_nor-emmc += "nandall sdcardall" +FLASHLAYOUT_PARTITION_LABELS_trusted_nor-sdcard += "emmcfsbl1 emmcfsbl2 emmcall nandall" # ----------------------------------------------------------------------------- # Partition configuration for each partition label @@ -157,17 +165,24 @@ FLASHLAYOUT_PARTITION_LABELS_trusted_nor-emmc += "nandall sdcardall" # 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_emptyfsbl1 = "PE" -FLASHLAYOUT_PARTITION_ENABLE_emptyssbl = "PE" -FLASHLAYOUT_PARTITION_ENABLE_emptyssbl2 = "PE" -FLASHLAYOUT_PARTITION_ENABLE_emptyteeh = "PE" -FLASHLAYOUT_PARTITION_ENABLE_emptyteed = "PE" -FLASHLAYOUT_PARTITION_ENABLE_emptyteex = "PE" -FLASHLAYOUT_PARTITION_ENABLE_env = "PED" +FLASHLAYOUT_PARTITION_ENABLE = "P" +FLASHLAYOUT_PARTITION_ENABLE_fsbl1-boot = "-" +FLASHLAYOUT_PARTITION_ENABLE_ssbl-boot = "-" +FLASHLAYOUT_PARTITION_ENABLE_empty = "PE" +FLASHLAYOUT_PARTITION_ENABLE_emptyfsbl1 = "PE" +FLASHLAYOUT_PARTITION_ENABLE_emptyssbl = "PE" +FLASHLAYOUT_PARTITION_ENABLE_emptyssbl2 = "PE" +FLASHLAYOUT_PARTITION_ENABLE_emptyteeh = "PE" +FLASHLAYOUT_PARTITION_ENABLE_emptyteed = "PE" +FLASHLAYOUT_PARTITION_ENABLE_emptyteex = "PE" +FLASHLAYOUT_PARTITION_ENABLE_env = "PED" +# Specific to manage partition erase +FLASHLAYOUT_PARTITION_ENABLE_emmcall = "PED" +FLASHLAYOUT_PARTITION_ENABLE_emmcfsbl1 = "PED" +FLASHLAYOUT_PARTITION_ENABLE_emmcfsbl2 = "PED" +FLASHLAYOUT_PARTITION_ENABLE_nandall = "PED" +FLASHLAYOUT_PARTITION_ENABLE_norall = "PED" +FLASHLAYOUT_PARTITION_ENABLE_sdcardall = "PED" # ----------------------------------------------------------------------------- # Partition ID @@ -205,6 +220,13 @@ FLASHLAYOUT_PARTITION_ID_bootfs = "0x21" FLASHLAYOUT_PARTITION_ID_vendorfs = "0x22" FLASHLAYOUT_PARTITION_ID_rootfs = "0x23" FLASHLAYOUT_PARTITION_ID_userfs = "0x24" +# Specific to manage partition erase +FLASHLAYOUT_PARTITION_ID_emmcfsbl1 = "0x08" +FLASHLAYOUT_PARTITION_ID_emmcfsbl2 = "0x09" +FLASHLAYOUT_PARTITION_ID_emmcall = "0x30" +FLASHLAYOUT_PARTITION_ID_nandall = "0x40" +FLASHLAYOUT_PARTITION_ID_norall = "0x50" +FLASHLAYOUT_PARTITION_ID_sdcardall = "0x60" FLASHLAYOUT_PARTITION_TYPE = "Binary" FLASHLAYOUT_PARTITION_TYPE_nand-4-256_fsbl1 = "Binary(2)" @@ -213,6 +235,11 @@ FLASHLAYOUT_PARTITION_TYPE_bootfs = "System" FLASHLAYOUT_PARTITION_TYPE_vendorfs = "FileSystem" FLASHLAYOUT_PARTITION_TYPE_rootfs = "FileSystem" FLASHLAYOUT_PARTITION_TYPE_userfs = "FileSystem" +# Specific to manage partition erase +FLASHLAYOUT_PARTITION_TYPE_emmcall = "RawImage" +FLASHLAYOUT_PARTITION_TYPE_nandall = "RawImage" +FLASHLAYOUT_PARTITION_TYPE_norall = "RawImage" +FLASHLAYOUT_PARTITION_TYPE_sdcardall = "RawImage" FLASHLAYOUT_PARTITION_DEVICE_emmc = "${DEVICE_EMMC}" FLASHLAYOUT_PARTITION_DEVICE_nand-4-256 = "${DEVICE_NAND}" @@ -243,11 +270,17 @@ 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" - -# To manage NOR-* boot partition erase +# Specific to manage partition erase for NOR-* boot FLASHLAYOUT_PARTITION_DEVICE_nor-emmc_nandall = "${DEVICE_NAND}" FLASHLAYOUT_PARTITION_DEVICE_nor-emmc_sdcardall = "${DEVICE_SDCARD}" +FLASHLAYOUT_PARTITION_DEVICE_nor-nand-4-256_emmcall = "${DEVICE_EMMC}" +FLASHLAYOUT_PARTITION_DEVICE_nor-nand-4-256_emmcfsbl1 = "${DEVICE_EMMC}" +FLASHLAYOUT_PARTITION_DEVICE_nor-nand-4-256_emmcfsbl2 = "${DEVICE_EMMC}" FLASHLAYOUT_PARTITION_DEVICE_nor-nand-4-256_sdcardall = "${DEVICE_SDCARD}" +FLASHLAYOUT_PARTITION_DEVICE_nor-sdcard_emmcall = "${DEVICE_EMMC}" +FLASHLAYOUT_PARTITION_DEVICE_nor-sdcard_emmcfsbl1 = "${DEVICE_EMMC}" +FLASHLAYOUT_PARTITION_DEVICE_nor-sdcard_emmcfsbl2 = "${DEVICE_EMMC}" +FLASHLAYOUT_PARTITION_DEVICE_nor-sdcard_nandall = "${DEVICE_NAND}" FLASHLAYOUT_PARTITION_OFFSET_fsbl1-boot = "0x0" FLASHLAYOUT_PARTITION_OFFSET_ssbl-boot = "0x0" @@ -262,10 +295,12 @@ 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_emptyfsbl1 = "${DEVICE_START_OFFSET_nand0}" FLASHLAYOUT_PARTITION_OFFSET_sdcard_fsbl1 = "${DEVICE_START_OFFSET_mmc0}" - -# To manage NOR-* boot partition erase +# Specific to manage partition erase FLASHLAYOUT_PARTITION_OFFSET_nandall = "0x0" FLASHLAYOUT_PARTITION_OFFSET_sdcardall = "0x0" +FLASHLAYOUT_PARTITION_OFFSET_emmcall = "0x0" +FLASHLAYOUT_PARTITION_OFFSET_emmcfsbl1 = "${FLASHLAYOUT_PARTITION_OFFSET_emmc_fsbl1}" +FLASHLAYOUT_PARTITION_OFFSET_emmcfsbl2 = "${FLASHLAYOUT_PARTITION_OFFSET_emmc_fsbl2}" # Size defined in Kbytes FLASHLAYOUT_PARTITION_SIZE_fsbl1 = "256" diff --git a/conf/machine/include/st-machine-providers-stm32mp.inc b/conf/machine/include/st-machine-providers-stm32mp.inc new file mode 100644 index 0000000..ed18041 --- /dev/null +++ b/conf/machine/include/st-machine-providers-stm32mp.inc @@ -0,0 +1,25 @@ +# ========================================================================= +# Kernel +# ========================================================================= +PREFERRED_PROVIDER_virtual/kernel = "linux-stm32mp" + +# ========================================================================= +# u-boot +# ========================================================================= +PREFERRED_PROVIDER_virtual/bootloader = "u-boot-stm32mp" + +# ========================================================================= +# trusted-firmware-a +# ========================================================================= +PREFERRED_PROVIDER_virtual/trusted-firmware-a = "tf-a-stm32mp" +PREFERRED_PROVIDER_virtual/trusted-firmware-a-serialboot = "tf-a-stm32mp-serialboot" +# Define default TF-A config +TF_A_CONFIG_append_pn-tf-a-stm32mp-serialboot = " serialboot " +TF_A_CONFIG_append_pn-tf-a-stm32mp = " ${@bb.utils.contains('BOOTSCHEME_LABELS', 'trusted', 'trusted', '', d)} " +TF_A_CONFIG_append_pn-tf-a-stm32mp = " ${@bb.utils.contains('BOOTSCHEME_LABELS', 'optee', 'optee', '', d)} " + +# ========================================================================= +# optee-os +# ========================================================================= +PREFERRED_PROVIDER_virtual/optee-os = "optee-os-stm32mp" + diff --git a/conf/machine/stm32mp1-disco.conf b/conf/machine/stm32mp1-disco.conf index 9ee2cea..3aed654 100644 --- a/conf/machine/stm32mp1-disco.conf +++ b/conf/machine/stm32mp1-disco.conf @@ -18,6 +18,17 @@ include conf/machine/include/tune-cortexa7.inc BOOTSCHEME_LABELS += "trusted" #BOOTSCHEME_LABELS += "optee" +# ========================================================================= +# boot device +# ========================================================================= +# Define the boot device supported +#BOOTDEVICE_LABELS += "emmc" +#BOOTDEVICE_LABELS += "nand-4-256" +#BOOTDEVICE_LABELS += "nor-emmc" +#BOOTDEVICE_LABELS += "nor-nand-4-256" +#BOOTDEVICE_LABELS += "nor-sdcard" +BOOTDEVICE_LABELS += "sdcard" + # ========================================================================= # Machine settings # ========================================================================= @@ -52,17 +63,6 @@ MACHINE_FEATURES += "splashscreen" 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 # ========================================================================= @@ -85,12 +85,11 @@ M4_BOARDS = "STM32MP157C-DK2" # ========================================================================= WIC_CREATE_EXTRA_ARGS = "--no-fstab-update" WKS_FILE_DEPENDS ?= " \ - virtual/bootloader \ - virtual/trusted-firmware-a \ - virtual/trusted-firmware-a-serialboot \ - ${@bb.utils.contains('BOOTSCHEME_LABELS', 'optee', 'virtual/optee-os', '', d)} \ + u-boot-stm32mp \ + tf-a-stm32mp \ + ${@bb.utils.contains('BOOTSCHEME_LABELS', 'optee', 'optee-os-stm32mp', '', d)} \ st-image-bootfs \ - ${@bb.utils.contains('ST_VENDORFS','1','st-image-vendorfs', '', d)} \ + st-image-vendorfs \ st-image-userfs \ " TRUSTED_WIC_FILE = "${@bb.utils.contains('ST_VENDORFS','1','sdcard-stm32mp157c-dk2-trusted-vendorfs-1GB.wks.in','sdcard-stm32mp157c-dk2-trusted-1GB.wks.in',d)}" diff --git a/conf/machine/stm32mp1-eval.conf b/conf/machine/stm32mp1-eval.conf index 4b283cd..8109836 100644 --- a/conf/machine/stm32mp1-eval.conf +++ b/conf/machine/stm32mp1-eval.conf @@ -18,6 +18,17 @@ include conf/machine/include/tune-cortexa7.inc BOOTSCHEME_LABELS += "trusted" #BOOTSCHEME_LABELS += "optee" +# ========================================================================= +# boot device +# ========================================================================= +# Define the boot device supported +#BOOTDEVICE_LABELS += "emmc" +#BOOTDEVICE_LABELS += "nand-4-256" +#BOOTDEVICE_LABELS += "nor-emmc" +#BOOTDEVICE_LABELS += "nor-nand-4-256" +#BOOTDEVICE_LABELS += "nor-sdcard" +BOOTDEVICE_LABELS += "sdcard" + # ========================================================================= # Machine settings # ========================================================================= @@ -52,17 +63,6 @@ KERNEL_MODULE_AUTOLOAD = "goodix" #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 # ========================================================================= @@ -80,20 +80,3 @@ M4_BOARDS = "STM32MP157C-EV1" #UBOOT_EXTLINUX_DEFAULT_LABEL_mp157c-ev1_sdcard = "stm32mp157c-ev1-m4-examples-sdcard" #UBOOT_EXTLINUX_DEFAULT_LABEL_mp157c-ev1_sdcard-optee = "stm32mp157c-ev1-m4-examples-sdcard-optee" -# ========================================================================= -# WIC for sdcard raw image -# ========================================================================= -WIC_CREATE_EXTRA_ARGS = "--no-fstab-update" -WKS_FILE_DEPENDS ?= " \ - u-boot-stm32mp \ - tf-a-stm32mp \ - ${@bb.utils.contains('BOOTSCHEME_LABELS', 'optee', 'optee-os-stm32mp', '', d)} \ - st-image-bootfs \ - st-image-vendorfs \ - st-image-userfs \ -" -# for generated a WIC file, please uncomment the 2 following lines -#IMAGE_FSTYPES += "wic" -#WKS_FILE += "${@bb.utils.contains('BOOTSCHEME_LABELS', 'optee', 'sdcard-stm32mp157c-ev1-optee-1GB.wks', 'sdcard-stm32mp157c-ev1-trusted-1GB.wks', d)}" - - diff --git a/conf/machine/stm32mp1.conf b/conf/machine/stm32mp1.conf index c3c2584..5b7d41c 100644 --- a/conf/machine/stm32mp1.conf +++ b/conf/machine/stm32mp1.conf @@ -18,6 +18,17 @@ BOOTSCHEME_LABELS += "basic" BOOTSCHEME_LABELS += "trusted" BOOTSCHEME_LABELS += "optee" +# ========================================================================= +# boot device +# ========================================================================= +# Define the boot device supported +BOOTDEVICE_LABELS += "emmc" +BOOTDEVICE_LABELS += "nand-4-256" +BOOTDEVICE_LABELS += "nor-emmc" +BOOTDEVICE_LABELS += "nor-nand-4-256" +BOOTDEVICE_LABELS += "nor-sdcard" +BOOTDEVICE_LABELS += "sdcard" + # ========================================================================= # Machine settings # ========================================================================= @@ -52,17 +63,6 @@ KERNEL_MODULE_AUTOLOAD = "goodix" 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 # =========================================================================