[PATCH 00/12] stm32mp1: use U-Boot device tree to configure MTD partitions
Patrice CHOTARD
patrice.chotard at foss.st.com
Fri Jun 16 13:36:08 CEST 2023
On 6/8/23 17:16, Patrick Delaunay wrote:
>
> Add the MTD partitions subnode in U-Boot device tree for all stm32mp13
> and stm32mp15 boards and no more rely on mtdids and mtdparts variables
> or CONFIG_SYS_MTDPARTS_RUNTIME.
>
> When these variables are absent, the required OF fallback is performed in
> mtd_probe_devices() with commit dc339bf784f0 ("mtd: add support for parsing
> partitions defined in OF").
>
> To allow dynamically configuration of MTD partitioning for Linux kernel,
> the MTD partitioning is only defined in U-Boot device tree and copied
> in Linux kernel device tree.
>
> This serie also disable CMD_MTDPARTS as it is strongly encouraged to
> no more use this command.
>
> Marek, I modify the dhcom/dhcor boardd in the last patch of the serie
> but if you prefer I can drop this patch.
>
> For "stm32mp157c-ev1.dts" used by stm32mp15_trusted_defconfig
>
> * nand0
> - type: NAND flash
> - block size: 0x40000 bytes
> - min I/O: 0x1000 bytes
> - OOB size: 224 bytes
> - OOB available: 118 bytes
> - ECC strength: 8 bits
> - ECC step size: 512 bytes
> - bitflip threshold: 6 bits
> - 0x000000000000-0x000040000000 : "nand0"
> - 0x000000000000-0x000000200000 : "fsbl"
> - 0x000000200000-0x000000600000 : "fip1"
> - 0x000000600000-0x000000a00000 : "fip2"
> - 0x000000a00000-0x000040000000 : "UBI"
> * nor0
> - device: flash at 0
> - parent: spi at 58003000
> - driver: jedec_spi_nor
> - path: /soc/spi at 58003000/flash at 0
> - type: NOR flash
> - block size: 0x10000 bytes
> - min I/O: 0x1 bytes
> - 0x000000000000-0x000004000000 : "nor0"
> - 0x000000000000-0x000000040000 : "fsbl1"
> - 0x000000040000-0x000000080000 : "fsbl2"
> - 0x000000080000-0x000000480000 : "fip"
> - 0x000000480000-0x000000500000 : "u-boot-env"
> - 0x000000500000-0x000004000000 : "nor-user"
>
>
> For "stm32mp157c-ev1-scmi.dts" the device tree file used by
> stm32mp15_defconfig, with TF-A BL2 and OP-TEE including a SCMI server
> for secure resources (when TZEN=1), the default STMicroelectronics
> configuration.
>
> I align the NOR and NAND layout on EV1 boards with the STMicroelectronics
> recommendations used in OpenSTLinux V4.0:
> with support of TF-A BL2 firmware update, required 2 "metadata" partition
> for redundancy and 2 FIPs for A/B update.
>
> * nand0
> - type: NAND flash
> - block size: 0x40000 bytes
> - min I/O: 0x1000 bytes
> - OOB size: 224 bytes
> - OOB available: 118 bytes
> - ECC strength: 8 bits
> - ECC step size: 512 bytes
> - bitflip threshold: 6 bits
> - 0x000000000000-0x000040000000 : "nand0"
> - 0x000000000000-0x000000080000 : "fsbl1"
> - 0x000000080000-0x000000100000 : "fsbl2"
> - 0x000000100000-0x000000180000 : "metadata1"
> - 0x000000180000-0x000000200000 : "metadata2"
> - 0x000000200000-0x000000600000 : "fip-a1"
> - 0x000000600000-0x000000a00000 : "fip-a2"
> - 0x000000a00000-0x000000e00000 : "fip-b1"
> - 0x000000e00000-0x000001200000 : "fip-b2"
> - 0x000001200000-0x000040000000 : "UBI"
> * nor0
> - device: flash at 0
> - parent: spi at 58003000
> - driver: jedec_spi_nor
> - path: /soc/spi at 58003000/flash at 0
> - type: NOR flash
> - block size: 0x10000 bytes
> - min I/O: 0x1 bytes
> - 0x000000000000-0x000004000000 : "nor0"
> - 0x000000000000-0x000000040000 : "fsbl1"
> - 0x000000040000-0x000000080000 : "fsbl2"
> - 0x000000080000-0x0000000c0000 : "metadata1"
> - 0x0000000c0000-0x000000100000 : "metadata2"
> - 0x000000100000-0x000000500000 : "fip-a"
> - 0x000000500000-0x000000900000 : "fip-b"
> - 0x000000900000-0x000000980000 : "u-boot-env"
> - 0x000000980000-0x000004000000 : "nor-user"
>
>
>
> Patrice Chotard (5):
> stm32mp: stm32prog: Remove usage of "mtdparts" function
> arm: dts: stm32: Add partitions in flash0 and nand node for
> stm32mp15xx-ev1
> configs: stm32mp: Disable SYS_MTDPARTS_RUNTIME for stm32mp15 and
> stm32mp13
> stm32mp: stm32prog: Remove tee_detected from stm32prog_data struct
> configs: stm32mp1: disable CMD_MTDPARTS
>
> Patrick Delaunay (7):
> fdt_support: include dm/ofnode.h
> fdt_support: add fdt_copy_fixed_partitions function
> dfu: mtd: remove direct call of mtdparts_init function
> arm: dts: stm32: Align stm32mp15xx-*-scmi-u-boot.dtsi file
> board: stm32mp1: use fdt_copy_fixed_partitions
> board: st: remove board_mtdparts_default
> arm: dts: stm32: Add partitions in flash0 and nand node for
> stm32mp15xx-dhcom/dhcor
>
> arch/arm/dts/stm32mp157a-dk1-u-boot.dtsi | 1 +
> arch/arm/dts/stm32mp157c-dk2-scmi-u-boot.dtsi | 7 +
> arch/arm/dts/stm32mp157c-ev1-scmi-u-boot.dtsi | 125 +++++++++++++
> arch/arm/dts/stm32mp157c-ev1-u-boot.dtsi | 98 +++++++++-
> arch/arm/dts/stm32mp15xx-dhcom-u-boot.dtsi | 27 +++
> arch/arm/dts/stm32mp15xx-dhcor-u-boot.dtsi | 27 +++
> .../cmd_stm32prog/cmd_stm32prog.c | 9 -
> .../mach-stm32mp/cmd_stm32prog/stm32prog.c | 53 ++----
> .../mach-stm32mp/cmd_stm32prog/stm32prog.h | 3 -
> .../arm/mach-stm32mp/include/mach/stm32prog.h | 4 -
> board/st/common/Kconfig | 66 -------
> board/st/common/Makefile | 1 -
> board/st/common/stm32mp_mtdparts.c | 177 ------------------
> board/st/stm32mp1/stm32mp1.c | 16 +-
> common/fdt_support.c | 75 +++++++-
> configs/stm32mp13_defconfig | 3 -
> configs/stm32mp15_basic_defconfig | 3 -
> configs/stm32mp15_defconfig | 7 +-
> configs/stm32mp15_dhcom_basic_defconfig | 3 -
> configs/stm32mp15_dhcor_basic_defconfig | 3 -
> configs/stm32mp15_trusted_defconfig | 3 -
> drivers/dfu/Kconfig | 1 -
> drivers/dfu/dfu_mtd.c | 34 ++--
> include/fdt_support.h | 8 +
> 24 files changed, 407 insertions(+), 347 deletions(-)
> delete mode 100644 board/st/common/stm32mp_mtdparts.c
>
For the whole series:
Applied to u-boot-stm/next
Thanks
Patrice
More information about the U-Boot
mailing list