MACHINE: rework of extlinux variables

Signed-off-by: Priouzeau Christophe <christophe.priouzeau@st.com>
This commit is contained in:
Priouzeau Christophe 2020-02-03 14:54:38 +01:00
parent 3d078a8e66
commit dfec3cadbf
10 changed files with 226 additions and 148 deletions

View File

@ -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

View File

@ -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_"

View File

@ -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)} "
#------------------

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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)}"

View File

@ -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)}"

View File

@ -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
# =========================================================================