arm: dts: stm32: Add partitions in flash0 and nand node for stm32mp15xx-ev1
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>
diff --git a/arch/arm/dts/stm32mp157c-ev1-u-boot.dtsi b/arch/arm/dts/stm32mp157c-ev1-u-boot.dtsi
index cb32c30..1f7fdbc 100644
--- a/arch/arm/dts/stm32mp157c-ev1-u-boot.dtsi
+++ b/arch/arm/dts/stm32mp157c-ev1-u-boot.dtsi
@@ -23,6 +23,103 @@
&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 {
@@ -55,4 +152,3 @@
bootph-pre-ram;
};
};
-