#@DESCRIPTION: STM32MP machine flashlayout configuration inherit flashlayout-stm32mp # Add specific dependencies to get all binaries generated before flashlayout files FLASHLAYOUT_DEPEND_TASKS += "${@bb.utils.contains('EXTRA_IMAGEDEPENDS', 'fip-stm32mp', 'fip-stm32mp:do_deploy', '', d)}" FLASHLAYOUT_DEPEND_TASKS += "${@bb.utils.contains('EXTRA_IMAGEDEPENDS', 'virtual/trusted-firmware-a', 'virtual/trusted-firmware-a:do_deploy', '', d)}" FLASHLAYOUT_DEPEND_TASKS += "${@bb.utils.contains('EXTRA_IMAGEDEPENDS', 'virtual/bootloader', 'virtual/bootloader:do_deploy', '', d)}" FLASHLAYOUT_DEPEND_TASKS += "${@bb.utils.contains('EXTRA_IMAGEDEPENDS', 'virtual-optee-os', 'virtual-optee-os:do_deploy', '', d)}" FLASHLAYOUT_DEPEND_TASKS += "${@bb.utils.contains('EXTRA_IMAGEDEPENDS', 'virtual/trusted-firmware-m', 'virtual/trusted-firmware-m:do_deploy', '', d)}" FLASHLAYOUT_SUFFIX = "${@bb.utils.contains('ENCRYPT_ENABLE', '1', '${ENCRYPT_SUFFIX}', '', d)}${@bb.utils.contains('SIGN_ENABLE', '1', '${SIGN_SUFFIX}', '', d)}.tsv" # List the PARTITION_TYPE used for bootloader partition FLASHLAYOUT_BINARY_TYPES += "Binary" FLASHLAYOUT_BINARY_TYPES += "ENV" FLASHLAYOUT_BINARY_TYPES += "FIP" FLASHLAYOUT_BINARY_TYPES += "FWU_MDATA" # ----------------------------------------------------------------------------- # For the stm32mp flashlayout files, configuration is done to get output file # with following name scheme: # FlashLayout_[_-].tsv # # The different labels are stored as list in different vars: # - FLASHLAYOUT_BOOTSCHEME_LABELS # - FLASHLAYOUT_CONFIG_LABELS # - FLASHLAYOUT_TYPE_LABELS # # The flashlayout file name is generated with following loop logic: # for bootscheme in FLASHLAYOUT_BOOTSCHEME_LABELS (expanded according to ongoing OVERRIDES) # for config in FLASHLAYOUT_CONFIG_LABELS (expanded according to ongoing $bootscheme and OVERRIDES) # for typelabel in FLASHLAYOUT_TYPE_LABELS (expanded according to ongoing $bootscheme, $config and OVERRIDES) # if FLASHLAYOUT_BOOTSCHEME_LABELS items > 1 && FLASHLAYOUT_TYPE_LABELS items > 1 # flashlayout_name = FlashLayout_$config_$typelabel-$bootscheme.tsv # else # flashlayout_name = FlashLayout_$config.tsv # # Each flashlayout file should contain lines that set the partition properties: # # # The partition properties are set with 'FLASHLAYOUT_PARTITION_xxx' vars: # - FLASHLAYOUT_PARTITION_ENABLE # - FLASHLAYOUT_PARTITION_ID # - Item from FLASHLAYOUT_PARTITION_LABELS list # - FLASHLAYOUT_PARTITION_TYPE with optional FLASHLAYOUT_PARTITION_COPY (in case greater than 1) # - FLASHLAYOUT_PARTITION_DEVICE # - FLASHLAYOUT_PARTITION_OFFSET # - FLASHLAYOUT_PARTITION_BIN2LOAD # # For the '$flashlayout_name' flashlayout file, the partition lines are generated # with following loop logic: # for partition in FLASHLAYOUT_PARTITION_LABELS (expanded according to ongoing $bootscheme, $config and OVERRIDES) # OVERRIDES_PREV = OVERRIDES # OVERRIDES = $partition:OVERRIDES # Compute partition properties for $partiton (expanded according to ongoing $bootscheme, $config and OVERRIDES) # Write new partition line to $flashlayout_name # OVERRIDES = OVERRIDES_PREV # # Modifying the OVERRIDES inside the loop allows dynamic configuration for each # partition property. This leaves plenty of possibility and guarantee specific # '$partition' override. # ----------------------------------------------------------------------------- # ----------------------------------------------------------------------------- # Define bootscheme labels # ----------------------------------------------------------------------------- FLASHLAYOUT_BOOTSCHEME_LABELS += "${BOOTSCHEME_LABELS}" # ----------------------------------------------------------------------------- # Define config labels # ----------------------------------------------------------------------------- # Priority var assignment (where are the usual override mechanism): # 1) FLASHLAYOUT_CONFIG_LABELS:: # 2) FLASHLAYOUT_CONFIG_LABELS: # 3) FLASHLAYOUT_CONFIG_LABELS: # 4) FLASHLAYOUT_CONFIG_LABELS # ----------------------------------------------------------------------------- FLASHLAYOUT_CONFIG_LABELS += "${@bb.utils.contains('BOOTDEVICE_LABELS', 'emmc', 'emmc', '', d)}" FLASHLAYOUT_CONFIG_LABELS += "${@bb.utils.contains('BOOTDEVICE_LABELS', 'nand-4-256-1024', 'nand-4-256-1024', '', d)}" FLASHLAYOUT_CONFIG_LABELS += "${@bb.utils.contains('BOOTDEVICE_LABELS', 'nor-sdcard', 'nor-sdcard', '', d)}" FLASHLAYOUT_CONFIG_LABELS += "${@bb.utils.contains('BOOTDEVICE_LABELS', 'nor-emmc', 'nor-emmc', '', d)}" FLASHLAYOUT_CONFIG_LABELS += "${@bb.utils.contains('BOOTDEVICE_LABELS', 'nor', 'nor', '', d)}" FLASHLAYOUT_CONFIG_LABELS += "${@bb.utils.contains('BOOTDEVICE_LABELS', 'sdcard', bb.utils.contains('MACHINE_FEATURES', 'efi', 'sdcard sdcard-EFI', 'sdcard', d), '', d)}" FLASHLAYOUT_CONFIG_LABELS += "${@bb.utils.contains('BOOTDEVICE_LABELS', 'nand-2-128-256', 'nand-2-128-256', '', d)}" FLASHLAYOUT_CONFIG_LABELS += "${@bb.utils.contains('BOOTDEVICE_LABELS', 'nand-4-256-512', 'nand-4-256-512', '', d)}" FLASHLAYOUT_CONFIG_LABELS += "${@bb.utils.contains('BOOTDEVICE_LABELS', 'nand-4-256-1024-sdcard', 'nand-4-256-1024-sdcard', '', d)}" FLASHLAYOUT_CONFIG_LABELS += "${@bb.utils.contains('BOOTDEVICE_LABELS', 'nand-2-128-256-sdcard', 'nand-2-128-256-sdcard', '', d)}" FLASHLAYOUT_CONFIG_LABELS += "${@bb.utils.contains('BOOTDEVICE_LABELS', 'nand-4-256-512-sdcard', 'nand-4-256-512-sdcard', '', d)}" # Override for fastboot FLASHLAYOUT_CONFIG_LABELS:fastboot += "${@bb.utils.contains('BOOTDEVICE_LABELS', 'emmc', 'emmc', '', d)}" FLASHLAYOUT_CONFIG_LABELS:fastboot += "${@bb.utils.contains('BOOTDEVICE_LABELS', 'sdcard', bb.utils.contains('MACHINE_FEATURES', 'efi', 'sdcard sdcard-EFI', 'sdcard', d), '', d)}" FLASHLAYOUT_CONFIG_LABELS:fastboot-opteemin += "${@bb.utils.contains('BOOTDEVICE_LABELS', 'emmc', 'emmc', '', d)}" FLASHLAYOUT_CONFIG_LABELS:fastboot-opteemin += "${@bb.utils.contains('BOOTDEVICE_LABELS', 'sdcard', bb.utils.contains('MACHINE_FEATURES', 'efi', 'sdcard sdcard-EFI', 'sdcard', d), '', d)}" # Set by default this variable to 0, and set to 1 only when we are using st-example-image-* ST_EXAMPLE_IMAGE ??= "0" # Remove NAND flashlayout when we are using st-example-image-* as rootfs too big for a NAND device size of 1 GBytes FLASHLAYOUT_CONFIG_LABELS:remove = "${@bb.utils.contains('ST_EXAMPLE_IMAGE', '1', 'nand-4-256-1024', '', d)}" FLASHLAYOUT_CONFIG_LABELS:remove = "${@bb.utils.contains('ST_EXAMPLE_IMAGE', '1', 'nand-2-128-256', '', d)}" FLASHLAYOUT_CONFIG_LABELS:remove = "${@bb.utils.contains('ST_EXAMPLE_IMAGE', '1', 'nand-4-256-512', '', d)}" FLASHLAYOUT_PARTITION_EMPTY_CONFIG = "none,empty,0,Binary" FLASHLAYOUT_CONFIG_LABELS[emmc] = "\ ${PARTITIONS_PROGRAMMER_CONFIG} \ ${@' '.join(['%s' % l for l in d.getVarFlag('PARTITIONS_BOOTLOADER_CONFIG', 'emmc').split()])} \ ${@' '.join(['%s' % l for l in d.getVarFlag('PARTITIONS_CONFIG', 'emmc').split()])} \ " FLASHLAYOUT_CONFIG_LABELS[nand-4-256-1024] = "\ ${PARTITIONS_PROGRAMMER_CONFIG} \ ${@' '.join(['%s' % l for l in d.getVarFlag('PARTITIONS_BOOTLOADER_CONFIG', 'nand-4-256-1024').split()])} \ ${@' '.join(['%s' % l for l in d.getVarFlag('PARTITIONS_CONFIG', 'nand-4-256-1024').split()])} \ " FLASHLAYOUT_CONFIG_LABELS[nor] = "\ ${PARTITIONS_PROGRAMMER_CONFIG} \ ${@' '.join(['%s' % l for l in d.getVarFlag('PARTITIONS_BOOTLOADER_CONFIG', 'nor').split()])} \ ${@' '.join(['%s' % l for l in d.getVarFlag('PARTITIONS_CONFIG', 'nor').split()])} \ " FLASHLAYOUT_CONFIG_LABELS[nor-sdcard] = "\ ${PARTITIONS_PROGRAMMER_CONFIG} \ ${@' '.join(['%s' % l for l in d.getVarFlag('PARTITIONS_BOOTLOADER_CONFIG', bb.utils.contains('MACHINE_FEATURES', 'm33td', 'nor-m33td', 'nor', d)).split()])} \ ${FLASHLAYOUT_PARTITION_EMPTY_CONFIG} \ ${@' '.join(['%s' % l for l in d.getVarFlag('PARTITIONS_BOOTLOADER_CONFIG', 'sdcard').split()]) if bb.utils.contains('MACHINE_FEATURES', 'm33td', True, False, d) else ''} \ ${@' '.join(['%s' % l for l in d.getVarFlag('PARTITIONS_CONFIG', 'sdcard').split()])} \ " FLASHLAYOUT_CONFIG_LABELS[nor-emmc] = "\ ${PARTITIONS_PROGRAMMER_CONFIG} \ ${@' '.join(['%s' % l for l in d.getVarFlag('PARTITIONS_BOOTLOADER_CONFIG', bb.utils.contains('MACHINE_FEATURES', 'm33td', 'nor-m33td', 'nor', d)).split()])} \ ${FLASHLAYOUT_PARTITION_EMPTY_CONFIG} \ ${@' '.join(['%s' % l for l in d.getVarFlag('PARTITIONS_BOOTLOADER_CONFIG', 'emmc').split()]) if bb.utils.contains('MACHINE_FEATURES', 'm33td', True, False, d) else ''} \ ${@' '.join(['%s' % l for l in d.getVarFlag('PARTITIONS_CONFIG', 'emmc').split()])} \ " FLASHLAYOUT_CONFIG_LABELS[sdcard] = "\ ${PARTITIONS_PROGRAMMER_CONFIG} \ ${@' '.join(['%s' % l for l in d.getVarFlag('PARTITIONS_BOOTLOADER_CONFIG', 'sdcard').split()])} \ ${@' '.join(['%s' % l for l in d.getVarFlag('PARTITIONS_CONFIG', 'sdcard').split()])} \ " FLASHLAYOUT_CONFIG_LABELS[sdcard-EFI] = "\ ${PARTITIONS_PROGRAMMER_CONFIG} \ ${@' '.join(['%s' % l for l in d.getVarFlag('PARTITIONS_BOOTLOADER_CONFIG', 'sdcard-EFI').split()])} \ ${@' '.join(['%s' % l for l in d.getVarFlag('PARTITIONS_CONFIG', 'sdcard-EFI').split()])} \ " FLASHLAYOUT_CONFIG_LABELS[nand-2-128-256] = "\ ${PARTITIONS_PROGRAMMER_CONFIG} \ ${@' '.join(['%s' % l for l in d.getVarFlag('PARTITIONS_BOOTLOADER_CONFIG', 'nand-2-128-256').split()])} \ ${@' '.join(['%s' % l for l in d.getVarFlag('PARTITIONS_CONFIG', 'nand-2-128-256').split()])} \ " FLASHLAYOUT_CONFIG_LABELS[nand-4-256-512] = "\ ${PARTITIONS_PROGRAMMER_CONFIG} \ ${@' '.join(['%s' % l for l in d.getVarFlag('PARTITIONS_BOOTLOADER_CONFIG', 'nand-4-256-512').split()])} \ ${@' '.join(['%s' % l for l in d.getVarFlag('PARTITIONS_CONFIG', 'nand-4-256-512').split()])} \ " # nand + sdcard FLASHLAYOUT_CONFIG_LABELS[nand-4-256-1024-sdcard] = "\ ${PARTITIONS_PROGRAMMER_CONFIG} \ ${@' '.join(['%s' % l for l in d.getVarFlag('PARTITIONS_BOOTLOADER_CONFIG', 'nand-4-256-1024').split()])} \ ${PARTITION_UBOOT_ENV_UBI_CONFIG} \ ${@' '.join(['%s' % l for l in d.getVarFlag('PARTITIONS_CONFIG', 'sdcard').split()])} \ " FLASHLAYOUT_CONFIG_LABELS[nand-2-128-256-sdcard] = "\ ${PARTITIONS_PROGRAMMER_CONFIG} \ ${@' '.join(['%s' % l for l in d.getVarFlag('PARTITIONS_BOOTLOADER_CONFIG', 'nand-2-128-256').split()])} \ ${PARTITION_UBOOT_ENV_UBI_CONFIG} \ ${@' '.join(['%s' % l for l in d.getVarFlag('PARTITIONS_CONFIG', 'sdcard').split()])} \ " FLASHLAYOUT_CONFIG_LABELS[nand-4-256-512-sdcard] = "\ ${PARTITIONS_PROGRAMMER_CONFIG} \ ${@' '.join(['%s' % l for l in d.getVarFlag('PARTITIONS_BOOTLOADER_CONFIG', 'nand-4-256-512').split()])} \ ${PARTITION_UBOOT_ENV_UBI_CONFIG} \ ${@' '.join(['%s' % l for l in d.getVarFlag('PARTITIONS_CONFIG', 'sdcard').split()])} \ " # ----------------------------------------------------------------------------- # Define label types for each config # ----------------------------------------------------------------------------- # NOTE: We use devicetree to allow proper filtering on supported storage device # ----------------------------------------------------------------------------- # Priority var assignment (where are the usual override mechanism): # 1) FLASHLAYOUT_TYPE_LABELS::: # 2) FLASHLAYOUT_TYPE_LABELS:: # 3) FLASHLAYOUT_TYPE_LABELS:: # 4) FLASHLAYOUT_TYPE_LABELS: # 5) FLASHLAYOUT_TYPE_LABELS:: # 6) FLASHLAYOUT_TYPE_LABELS: # 7) FLASHLAYOUT_TYPE_LABELS: # 8) FLASHLAYOUT_TYPE_LABELS # ----------------------------------------------------------------------------- # EMMC FLASHLAYOUT_TYPE_LABELS:emmc = "${STM32MP_DT_FILES_EMMC}" # NAND FLASHLAYOUT_TYPE_LABELS:nand-4-256-1024 = "${STM32MP_DT_FILES_NAND}" FLASHLAYOUT_TYPE_LABELS:nand-4-256-1024-sdcard = "${STM32MP_DT_FILES_NAND}" # NOR FLASHLAYOUT_TYPE_LABELS:nor = "${STM32MP_DT_FILES_NOR}" FLASHLAYOUT_TYPE_LABELS:nor-sdcard = "${STM32MP_DT_FILES_NOR}" FLASHLAYOUT_TYPE_LABELS:nor-emmc = "${STM32MP_DT_FILES_NOR}" # SDCARD FLASHLAYOUT_TYPE_LABELS:sdcard = "${STM32MP_DT_FILES_SDCARD}" FLASHLAYOUT_TYPE_LABELS:sdcard-EFI = "${STM32MP_DT_FILES_SDCARD}" # SPINAND FLASHLAYOUT_TYPE_LABELS:nand-2-128-256 = "${STM32MP_DT_FILES_SPINAND}" FLASHLAYOUT_TYPE_LABELS:nand-2-128-256-sdcard = "${STM32MP_DT_FILES_SPINAND}" FLASHLAYOUT_TYPE_LABELS:nand-4-256-512 = "${STM32MP_DT_FILES_SPINAND}" FLASHLAYOUT_TYPE_LABELS:nand-4-256-512-sdcard = "${STM32MP_DT_FILES_SPINAND}" # ----------------------------------------------------------------------------- # Define partitions to consider for flashlayout file generation # ----------------------------------------------------------------------------- # Priority var assignment (where are the usual override mechanism): # 1) FLASHLAYOUT_PARTITION_LABELS::: # 2) FLASHLAYOUT_PARTITION_LABELS:: # 3) FLASHLAYOUT_PARTITION_LABELS:: # 4) FLASHLAYOUT_PARTITION_LABELS: # 5) FLASHLAYOUT_PARTITION_LABELS:: # 6) FLASHLAYOUT_PARTITION_LABELS: # 7) FLASHLAYOUT_PARTITION_LABELS: # 8) FLASHLAYOUT_PARTITION_LABELS # ----------------------------------------------------------------------------- FLASHLAYOUT_PARTITION_LABELS:emmc = "${@' '.join(['%s' % l.split(',')[1] for l in d.getVarFlag('FLASHLAYOUT_CONFIG_LABELS', 'emmc').split()])}" FLASHLAYOUT_PARTITION_LABELS:nor = "${@' '.join(['%s' % l.split(',')[1] for l in d.getVarFlag('FLASHLAYOUT_CONFIG_LABELS', 'nor').split()])}" FLASHLAYOUT_PARTITION_LABELS:nor-sdcard = "${@' '.join(['%s' % l.split(',')[1] for l in d.getVarFlag('FLASHLAYOUT_CONFIG_LABELS', 'nor-sdcard').split()])}" FLASHLAYOUT_PARTITION_LABELS:nor-emmc = "${@' '.join(['%s' % l.split(',')[1] for l in d.getVarFlag('FLASHLAYOUT_CONFIG_LABELS', 'nor-emmc').split()])}" FLASHLAYOUT_PARTITION_LABELS:sdcard = "${@' '.join(['%s' % l.split(',')[1] for l in d.getVarFlag('FLASHLAYOUT_CONFIG_LABELS', 'sdcard').split()])}" FLASHLAYOUT_PARTITION_LABELS:sdcard-EFI = "${@' '.join(['%s' % l.split(',')[1] for l in d.getVarFlag('FLASHLAYOUT_CONFIG_LABELS', 'sdcard-EFI').split()])}" FLASHLAYOUT_PARTITION_LABELS:nand-2-128-256 = "${@' '.join(['%s' % l.split(',')[1] for l in d.getVarFlag('FLASHLAYOUT_CONFIG_LABELS', 'nand-2-128-256').split()])}" FLASHLAYOUT_PARTITION_LABELS:nand-2-128-256-sdcard = "${@' '.join(['%s' % l.split(',')[1] for l in d.getVarFlag('FLASHLAYOUT_CONFIG_LABELS', 'nand-2-128-256-sdcard').split()])}" FLASHLAYOUT_PARTITION_LABELS:nand-4-256-512 = "${@' '.join(['%s' % l.split(',')[1] for l in d.getVarFlag('FLASHLAYOUT_CONFIG_LABELS', 'nand-4-256-512').split()])}" FLASHLAYOUT_PARTITION_LABELS:nand-4-256-512-sdcard = "${@' '.join(['%s' % l.split(',')[1] for l in d.getVarFlag('FLASHLAYOUT_CONFIG_LABELS', 'nand-4-256-512-sdcard').split()])}" FLASHLAYOUT_PARTITION_LABELS:nand-4-256-1024 = "${@' '.join(['%s' % l.split(',')[1] for l in d.getVarFlag('FLASHLAYOUT_CONFIG_LABELS', 'nand-4-256-1024').split()])}" FLASHLAYOUT_PARTITION_LABELS:nand-4-256-1024-sdcard = "${@' '.join(['%s' % l.split(',')[1] for l in d.getVarFlag('FLASHLAYOUT_CONFIG_LABELS', 'nand-4-256-1024-sdcard').split()])}" # ----------------------------------------------------------------------------- # Partition properties configuration # ----------------------------------------------------------------------------- # Priority var assignment (where are the usual override mechanism # with dynamic append of ongoing 'partition name' item): # 1) FLASHLAYOUT_PARTITION_xxx::: # 2) FLASHLAYOUT_PARTITION_xxx:: # 3) FLASHLAYOUT_PARTITION_xxx:: # 4) FLASHLAYOUT_PARTITION_xxx: # 5) FLASHLAYOUT_PARTITION_xxx:: # 6) FLASHLAYOUT_PARTITION_xxx: # 7) FLASHLAYOUT_PARTITION_xxx: # 8) FLASHLAYOUT_PARTITION_xxx # 9) Default 'FLASHLAYOUT_PARTITION_xxx' to 'none' when not defined # ----------------------------------------------------------------------------- FLASHLAYOUT_PARTITION_ENABLE = "P" FLASHLAYOUT_PARTITION_ENABLE:${STM32MP_FSBL_PROGRAMMER_NAME} = "-" FLASHLAYOUT_PARTITION_ENABLE:${STM32MP_SSBL1_PROGRAMMER_NAME} = "-" FLASHLAYOUT_PARTITION_ENABLE:${STM32MP_SSBL2_PROGRAMMER_NAME} = "-" FLASHLAYOUT_PARTITION_ENABLE:empty = "PE" # Need to make sure to delete partition that contains U-Boot env before update (gpt partitions only) FLASHLAYOUT_PARTITION_ENABLE:sdcard:${STM32MP_SSBL1_NAME} = "${@bb.utils.contains('ENABLE_FLASHLAYOUT_CONFIG_FWUP', '1', '', 'PD', d)}" FLASHLAYOUT_PARTITION_ENABLE:sdcard-EFI:${STM32MP_SSBL1_NAME} = "${@bb.utils.contains('ENABLE_FLASHLAYOUT_CONFIG_FWUP', '1', '', 'PD', d)}" FLASHLAYOUT_PARTITION_ENABLE:emmc:${STM32MP_SSBL1_NAME} = "${@bb.utils.contains('ENABLE_FLASHLAYOUT_CONFIG_FWUP', '1', '', 'PD', d)}" FLASHLAYOUT_PARTITION_ENABLE:${STM32MP_METADATA_NAME} = "${@bb.utils.contains('MACHINE_FEATURES', 'fw-update', 'PD', 'PED', d)}" # ----------------------------------------------------------------------------- # Partition ID # ----------------------------------------------------------------------------- # For FSBL and SSBL binaries loaded in RAM to program the devices there are # reserved IDs on STM32CubeProgrammer side: # 0x01 for FSBL # 0x02 for SSBL1 # 0x03 for SSBL2 FLASHLAYOUT_PARTITION_ID:${STM32MP_FSBL_PROGRAMMER_NAME} = "0x01" FLASHLAYOUT_PARTITION_ID:${STM32MP_SSBL1_PROGRAMMER_NAME} = "0x02" FLASHLAYOUT_PARTITION_ID:${STM32MP_SSBL2_PROGRAMMER_NAME} = "0x03" FLASHLAYOUT_PARTITION_TYPE = "Binary" FLASHLAYOUT_PARTITION_TYPE:ubifs = "System" FLASHLAYOUT_PARTITION_COPY = "1" FLASHLAYOUT_PROGRAMMER_SECTIONS ?= "${@' '.join(['%s' % l.split(',')[1] for l in d.getVar('PARTITIONS_PROGRAMMER_CONFIG').split()])}" FLASHLAYOUT_SDCARD_SECTIONS ?= "\ ${@' '.join(['%s' % l.split(',')[1] for l in d.getVarFlag('PARTITIONS_BOOTLOADER_CONFIG', 'sdcard').split()]) if bb.utils.contains('MACHINE_FEATURES', 'm33td', True, False, d) else ''} \ ${@' '.join(['%s' % l.split(',')[1] for l in d.getVarFlag('PARTITIONS_CONFIG', 'sdcard').split()])} \ " FLASHLAYOUT_EMMC_SECTIONS ?= "\ ${@' '.join(['%s' % l.split(',')[1] for l in d.getVarFlag('PARTITIONS_BOOTLOADER_CONFIG', 'emmc').split()]) if bb.utils.contains('MACHINE_FEATURES', 'm33td', True, False, d) else ''} \ ${@' '.join(['%s' % l.split(',')[1] for l in d.getVarFlag('PARTITIONS_CONFIG', 'emmc').split()])} \ " FLASHLAYOUT_PARTITION_DEVICE:emmc = "none:${FLASHLAYOUT_PROGRAMMER_SECTIONS},${DEVICE:EMMC}:default" FLASHLAYOUT_PARTITION_DEVICE:nand-4-256-1024 = "none:${FLASHLAYOUT_PROGRAMMER_SECTIONS},${DEVICE:NAND}:default" FLASHLAYOUT_PARTITION_DEVICE:nor = "none:${FLASHLAYOUT_PROGRAMMER_SECTIONS},${DEVICE:NOR}:default" FLASHLAYOUT_PARTITION_DEVICE:sdcard = "none:${FLASHLAYOUT_PROGRAMMER_SECTIONS},${DEVICE:SDCARD}:default" FLASHLAYOUT_PARTITION_DEVICE:sdcard-EFI = "none:${FLASHLAYOUT_PROGRAMMER_SECTIONS},${DEVICE:SDCARD}:default" FLASHLAYOUT_PARTITION_DEVICE:nand-2-128-256 = "none:${FLASHLAYOUT_PROGRAMMER_SECTIONS},${DEVICE:SPINAND}:default" FLASHLAYOUT_PARTITION_DEVICE:nand-4-256-512 = "none:${FLASHLAYOUT_PROGRAMMER_SECTIONS},${DEVICE:SPINAND}:default" FLASHLAYOUT_PARTITION_DEVICE:nor-sdcard = "none:${FLASHLAYOUT_PROGRAMMER_SECTIONS},${DEVICE:NOR}:default,${DEVICE:SDCARD}:${FLASHLAYOUT_SDCARD_SECTIONS}" FLASHLAYOUT_PARTITION_DEVICE:nor-emmc = "none:${FLASHLAYOUT_PROGRAMMER_SECTIONS},${DEVICE:NOR}:default,${DEVICE:EMMC}:${FLASHLAYOUT_EMMC_SECTIONS}" FLASHLAYOUT_PARTITION_DEVICE:nand-4-256-1024-sdcard = "none:${FLASHLAYOUT_PROGRAMMER_SECTIONS},${DEVICE:NAND}:default,${DEVICE:SDCARD}:${FLASHLAYOUT_SDCARD_SECTIONS}" FLASHLAYOUT_PARTITION_DEVICE:nand-2-128-256-sdcard = "none:${FLASHLAYOUT_PROGRAMMER_SECTIONS},${DEVICE:SPINAND}:default,${DEVICE:SDCARD}:${FLASHLAYOUT_SDCARD_SECTIONS}" FLASHLAYOUT_PARTITION_DEVICE:nand-4-256-512-sdcard = "none:${FLASHLAYOUT_PROGRAMMER_SECTIONS},${DEVICE:SPINAND}:default,${DEVICE:SDCARD}:${FLASHLAYOUT_SDCARD_SECTIONS}" FLASHLAYOUT_PARTITION_OFFSET:emmc:${STM32MP_FSBL1_NAME} = "${DEVICE_START_OFFSET_BOOT0:EMMC}" FLASHLAYOUT_PARTITION_OFFSET:emmc:${STM32MP_FSBL2_NAME} = "${DEVICE_START_OFFSET_BOOT1:EMMC}" FLASHLAYOUT_PARTITION_OFFSET:nor-emmc:${STM32MP_FSBL1_NAME} = "${DEVICE_START_OFFSET_BOOT0:EMMC}" FLASHLAYOUT_PARTITION_OFFSET:nor-emmc:${STM32MP_FSBL2_NAME} = "${DEVICE_START_OFFSET_BOOT1:EMMC}" # Size defined in Kbytes # Override default partition size for rootfs to increase available free space # 3GiB for emmc FLASHLAYOUT_PARTITION_SIZE:emmc:${STM32MP_ROOTFS_LABEL} = "3145728" # 4GiB for sdcard FLASHLAYOUT_PARTITION_SIZE:nor-sdcard:${STM32MP_ROOTFS_LABEL} = "4194304" FLASHLAYOUT_PARTITION_SIZE:nor-emmc:${STM32MP_ROOTFS_LABEL} = "3145728" FLASHLAYOUT_PARTITION_SIZE:sdcard:${STM32MP_ROOTFS_LABEL} = "4194304" FLASHLAYOUT_PARTITION_SIZE:sdcard-EFI:${STM32MP_ROOTFS_LABEL} = "4194304" FLASHLAYOUT_PARTITION_SIZE:nand-4-256-1024-sdcard:${STM32MP_ROOTFS_LABEL} = "4194304" FLASHLAYOUT_PARTITION_SIZE:nand-2-128-256-sdcard:${STM32MP_ROOTFS_LABEL} = "4194304" FLASHLAYOUT_PARTITION_SIZE:nand-4-256-512-sdcard:${STM32MP_ROOTFS_LABEL} = "4194304" # Override default partition size for vendorfs FLASHLAYOUT_PARTITION_SIZE:nor-sdcard:${STM32MP_VENDORFS_LABEL}:stm32mp2common = "256000" FLASHLAYOUT_PARTITION_SIZE:nor-emmc:${STM32MP_VENDORFS_LABEL}:stm32mp2common = "256000" FLASHLAYOUT_PARTITION_SIZE:sdcard:${STM32MP_VENDORFS_LABEL}:stm32mp2common = "256000" FLASHLAYOUT_PARTITION_SIZE:emmc:${STM32MP_VENDORFS_LABEL}:stm32mp2common = "256000" FLASHLAYOUT_PARTITION_SIZE:nand-4-256-1024-sdcard:${STM32MP_VENDORFS_LABEL} = "199680" FLASHLAYOUT_PARTITION_SIZE:nand-2-128-256-sdcard:${STM32MP_VENDORFS_LABEL} = "199680" FLASHLAYOUT_PARTITION_SIZE:nand-4-256-512-sdcard:${STM32MP_VENDORFS_LABEL} = "199680" # Specific rename for 'fastboot' bootscheme as we want to use fastboot fip for programmer FLASHLAYOUT_PARTITION_BIN2LOAD:fastboot:${STM32MP_FSBL_PROGRAMMER_NAME} = "arm-trusted-firmware/tf-a-${STM32MP_DEVICETREE_PROGRAMMER_SUFFIX}-optee-${STM32MP_PROGRAMMER_SCHEME}-${STMP32MP_PROGRAMMER_SERIAL}${FIP_ENCRYPT_SUFFIX}${FIP_SIGN_SUFFIX}.stm32" FLASHLAYOUT_PARTITION_BIN2LOAD:fastboot:${STM32MP_SSBL1_PROGRAMMER_NAME} = "fip/fip-${STM32MP_DEVICETREE_PROGRAMMER_SUFFIX}-ddr--${FIP_ENCRYPT_SUFFIX}${FIP_SIGN_SUFFIX}.bin" FLASHLAYOUT_PARTITION_BIN2LOAD:fastboot:${STM32MP_SSBL2_PROGRAMMER_NAME} = "fip/fip-${STM32MP_DEVICETREE_PROGRAMMER_SUFFIX}--${FIP_ENCRYPT_SUFFIX}${FIP_SIGN_SUFFIX}.bin" FLASHLAYOUT_PARTITION_BIN2LOAD:fastboot-opteemin:${STM32MP_FSBL_PROGRAMMER_NAME} = "arm-trusted-firmware/tf-a-${STM32MP_DEVICETREE_PROGRAMMER_SUFFIX}-opteemin-${STM32MP_PROGRAMMER_SCHEME}-${STMP32MP_PROGRAMMER_SERIAL}${FIP_ENCRYPT_SUFFIX}${FIP_SIGN_SUFFIX}.stm32" FLASHLAYOUT_PARTITION_BIN2LOAD:fastboot-opteemin:${STM32MP_SSBL1_PROGRAMMER_NAME} = "fip/fip-${STM32MP_DEVICETREE_PROGRAMMER_SUFFIX}-ddr--${FIP_ENCRYPT_SUFFIX}${FIP_SIGN_SUFFIX}.bin" FLASHLAYOUT_PARTITION_BIN2LOAD:fastboot-opteemin:${STM32MP_SSBL2_PROGRAMMER_NAME} = "fip/fip-${STM32MP_DEVICETREE_PROGRAMMER_SUFFIX}--${FIP_ENCRYPT_SUFFIX}${FIP_SIGN_SUFFIX}.bin" # Set binaries to use for each partition # ----------------------------------------------------------------------------- # Use following pattern in binary name to expand to specific label config: # '' (to insert label from FLASHLAYOUT_CONFIG_LABELS - NB: substitution for all '-' in label by '_') # '' (to insert label from FLASHLAYOUT_BOOTSCHEME_LABELS) # '' (to insert label from FLASHLAYOUT_PARTITION_DEVICE) # '' (to insert label from FLASHLAYOUT_TYPE_LABELS) # These patterns are processed to expand binary name for each config. # ----------------------------------------------------------------------------- # ----------------------------------------------------------------------------- # Use the 'FLASHLAYOUT_PARTITION_REPLACE_PATTERNS' var to allow dynamic binary # renaming for the bootloader binaries. This is only required for all FLASHLAYOUT_PROGRAMMER_SECTIONS # partitions that provides the binary to flash the device. # The format to follow is: # '; ;' # And the pattern to replace in binary name is searched as: # '[-_]([-_.]|$)' # ----------------------------------------------------------------------------- # The daughter board does not support Programmer mode, so use eval one # (valid for FLASHLAYOUT_PROGRAMMER_SECTIONS partitions) FLASHLAYOUT_PARTITION_REPLACE_PATTERNS:${STM32MP_FSBL_PROGRAMMER_NAME}:append = " ed1;ev1" FLASHLAYOUT_PARTITION_REPLACE_PATTERNS:${STM32MP_SSBL1_PROGRAMMER_NAME}:append = " ed1;ev1" FLASHLAYOUT_PARTITION_REPLACE_PATTERNS:${STM32MP_SSBL2_PROGRAMMER_NAME}:append = " ed1;ev1" # Specific rename for 'fastboot' bootscheme as we use same bl2 as 'optee' bootscheme FLASHLAYOUT_PARTITION_REPLACE_PATTERNS:fastboot:${STM32MP_FSBL1_NAME}:append = " fastboot;optee" FLASHLAYOUT_PARTITION_REPLACE_PATTERNS:fastboot-opteemin:${STM32MP_FSBL1_NAME}:append = " fastboot-opteemin;opteemin" # Specific rename for 'fastboot' bootscheme as we use same fip as 'optee' bootscheme FLASHLAYOUT_PARTITION_REPLACE_PATTERNS:fastboot:${STM32MP_SSBL1_NAME}:append = " fastboot;optee" FLASHLAYOUT_PARTITION_REPLACE_PATTERNS:fastboot-opteemin:${STM32MP_SSBL1_NAME}:append = " fastboot-opteemin;opteemin"