]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
arm: dts: stm32: Add partitions in flash0 and nand node for stm32mp15xx-ev1
authorPatrice Chotard <patrice.chotard@foss.st.com>
Thu, 8 Jun 2023 15:16:42 +0000 (17:16 +0200)
committerPatrice Chotard <patrice.chotard@foss.st.com>
Fri, 16 Jun 2023 09:01:16 +0000 (11:01 +0200)
Add partitions subnode in flash0 and nand nodes for all stm32mp157xx-ev1
boards. Update only the file stm32mp157c-ev1-*u-boot.dtsi, included by
other files  stm32mp15*-ev1-*-u-boot.dtsi.

For SCMI variant of device tree used with stm32mp15_defconfig
add partitions needed by TF-A firmware update:
- metadata to save the TF-A information: 2 copy
- fip-a / fip-b: two FIP slots, used for system A/B (seamless) update
- the previous "fsbl" partition with 2 copy of TFA is replaced
  by 2 partitions (only one copy in each MTD partition) to simplify
  the update: no need to managed this copy on update, need to update the
  two partition (skip bad block for NAND)
The offset for ENV partition are also updated in stm32mp15_defconfig

Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
arch/arm/dts/stm32mp157c-ev1-scmi-u-boot.dtsi
arch/arm/dts/stm32mp157c-ev1-u-boot.dtsi
configs/stm32mp15_defconfig

index eef717946b5fb77cd97ba68c2f6bab75e9a2d777..9768db8de9c9afbd24ea306b2992aebcaf020cfa 100644 (file)
 
 &flash0 {
        bootph-pre-ram;
+       partitions {
+               compatible = "fixed-partitions";
+               #address-cells = <1>;
+               #size-cells = <1>;
+               partition@0 {
+                       label = "fsbl1";
+                       reg = <0x00000000 0x00040000>;
+               };
+               partition@40000 {
+                       label = "fsbl2";
+                       reg = <0x00040000 0x00040000>;
+               };
+               partition@80000 {
+                       label = "metadata1";
+                       reg = <0x00080000 0x00040000>;
+               };
+               partition@c0000 {
+                       label = "metadata2";
+                       reg = <0x000c0000 0x00040000>;
+               };
+               partition@100000 {
+                       label = "fip-a";
+                       reg = <0x00100000 0x00400000>;
+               };
+               partition@500000 {
+                       label = "fip-b";
+                       reg = <0x00500000 0x00400000>;
+               };
+               partition@900000 {
+                       label = "u-boot-env";
+                       reg = <0x00900000 0x00080000>;
+               };
+               partition@980000 {
+                       label = "nor-user";
+                       reg = <0x00980000 0x03680000>;
+               };
+       };
+};
+
+&fmc {
+       nand-controller@4,0 {
+               nand@0 {
+                       partitions {
+                               compatible = "fixed-partitions";
+                               #address-cells = <1>;
+                               #size-cells = <1>;
+                               partition@0 {
+                                       label = "fsbl1";
+                                       reg = <0x00000000 0x00080000>;
+                               };
+                               partition@80000 {
+                                       label = "fsbl2";
+                                       reg = <0x00080000 0x00080000>;
+                               };
+                               partition@100000 {
+                                       label = "metadata1";
+                                       reg = <0x00100000 0x00080000>;
+                               };
+                               partition@180000 {
+                                       label = "metadata2";
+                                       reg = <0x00180000 0x00080000>;
+                               };
+                               partition@200000 {
+                                       label = "fip-a1";
+                                       reg = <0x00200000 0x00400000>;
+                               };
+                               partition@600000 {
+                                       label = "fip-a2";
+                                       reg = <0x00600000 0x00400000>;
+                               };
+                               partition@a00000 {
+                                       label = "fip-b1";
+                                       reg = <0x00a00000 0x00400000>;
+                               };
+                               partition@e00000 {
+                                       label = "fip-b2";
+                                       reg = <0x00e00000 0x00400000>;
+                               };
+                               partition@1200000 {
+                                       label = "UBI";
+                                       reg = <0x01200000 0x3ee00000>;
+                               };
+                       };
+               };
+       };
 };
 
 &qspi {
index cb32c30431c2f9c2dca3146b2a29c89ba264fa96..1f7fdbce53046430974711ef9a8d228c8adc01c2 100644 (file)
 
 &flash0 {
        bootph-pre-ram;
+       partitions {
+               compatible = "fixed-partitions";
+               #address-cells = <1>;
+               #size-cells = <1>;
+
+#if defined(CONFIG_STM32MP15x_STM32IMAGE) || defined(CONFIG_SPL)
+               partition@0 {
+                       label = "fsbl1";
+                       reg = <0x00000000 0x00040000>;
+               };
+               partition@80000 {
+                       label = "fsbl2";
+                       reg = <0x00040000 0x00040000>;
+               };
+               partition@100000 {
+                       label = "ssbl";
+                       reg = <0x00080000 0x00200000>;
+               };
+               partition@280000  {
+                       label = "u-boot-env";
+                       reg = <0x00280000 0x00080000>;
+               };
+               partition@300000 {
+                       label = "nor-user";
+                       reg = <0x00300000 0x03d00000>;
+               };
+#else
+               partition@0 {
+                       label = "fsbl1";
+                       reg = <0x00000000 0x00040000>;
+               };
+               partition@40000 {
+                       label = "fsbl2";
+                       reg = <0x00040000 0x00040000>;
+               };
+               partition@100000 {
+                       label = "fip";
+                       reg = <0x00080000 0x00400000>;
+               };
+               partition@480000 {
+                       label = "u-boot-env";
+                       reg = <0x00480000 0x00080000>;
+               };
+               partition@500000 {
+                       label = "nor-user";
+                       reg = <0x00500000 0x03b00000>;
+               };
+#endif
+       };
+};
+
+&fmc {
+       nand-controller@4,0 {
+               nand@0 {
+                       partitions {
+                               compatible = "fixed-partitions";
+                               #address-cells = <1>;
+                               #size-cells = <1>;
+
+#if defined(CONFIG_STM32MP15x_STM32IMAGE) || defined(CONFIG_SPL)
+                               partition@0 {
+                                       label = "fsbl";
+                                       reg = <0x00000000 0x00200000>;
+                               };
+                               partition@200000 {
+                                       label = "ssbl1";
+                                       reg = <0x00200000 0x00200000>;
+                               };
+                               partition@400000 {
+                                       label = "ssbl2";
+                                       reg = <0x00400000 0x00200000>;
+                               };
+                               partition@600000 {
+                                       label = "UBI";
+                                       reg = <0x00600000 0x3fa00000>;
+                               };
+#else
+                               partition@0 {
+                                       label = "fsbl";
+                                       reg = <0x00000000 0x00200000>;
+                               };
+                               partition@200000 {
+                                       label = "fip1";
+                                       reg = <0x00200000 0x00400000>;
+                               };
+                               partition@600000 {
+                                       label = "fip2";
+                                       reg = <0x00600000 0x00400000>;
+                               };
+                               partition@1200000 {
+                                       label = "UBI";
+                                       reg = <0x00a00000 0x3f600000>;
+                               };
+#endif
+                       };
+               };
+       };
 };
 
 &qspi {
                bootph-pre-ram;
        };
 };
-
index 2669aae0f2f41d0d838dcbf52f8fad35a24e5371..bad5c32ef808e08e70c7ebcefbf5bf6e90c8f704 100644 (file)
@@ -3,7 +3,7 @@ CONFIG_ARCH_STM32MP=y
 CONFIG_TFABOOT=y
 CONFIG_SYS_MALLOC_F_LEN=0x80000
 CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0xc0100000
-CONFIG_ENV_OFFSET=0x480000
+CONFIG_ENV_OFFSET=0x900000
 CONFIG_ENV_SECT_SIZE=0x40000
 CONFIG_DEFAULT_DEVICE_TREE="stm32mp157c-ev1"
 CONFIG_SYS_PROMPT="STM32MP> "
@@ -11,7 +11,7 @@ CONFIG_DDR_CACHEABLE_SIZE=0x10000000
 CONFIG_CMD_STM32KEY=y
 CONFIG_TYPEC_STUSB160X=y
 CONFIG_TARGET_ST_STM32MP15x=y
-CONFIG_ENV_OFFSET_REDUND=0x4C0000
+CONFIG_ENV_OFFSET_REDUND=0x940000
 CONFIG_CMD_STM32PROG=y
 # CONFIG_ARMV7_NONSEC is not set
 CONFIG_SYS_LOAD_ADDR=0xc2000000