Factor out common parts of STM32MP15xx DRAM controller configuration DT
description into stm32mp1-ddr.dtsi and introduce stm32mp13-ddr.dtsi which
describes STM32MP13xx DRAM controller configuration in DT.

Signed-off-by: Marek Vasut <marek.va...@mailbox.org>
---
Cc: Cheick Traore <cheick.tra...@foss.st.com>
Cc: Fabrice Gasnier <fabrice.gasn...@foss.st.com>
Cc: Gatien Chevallier <gatien.chevall...@foss.st.com>
Cc: Lionel Debieve <lionel.debi...@foss.st.com>
Cc: Pascal Zimmermann <pzimmerm...@dh-electronics.com>
Cc: Patrice Chotard <patrice.chot...@foss.st.com>
Cc: Patrick Delaunay <patrick.delau...@foss.st.com>
Cc: Simon Glass <s...@chromium.org>
Cc: Sughosh Ganu <sughosh.g...@linaro.org>
Cc: Tom Rini <tr...@konsulko.com>
Cc: u-b...@dh-electronics.com
Cc: u-boot@lists.denx.de
Cc: uboot-st...@st-md-mailman.stormreply.com
---
 arch/arm/dts/stm32mp1-ddr.dtsi  | 187 ++++++++++++++++++++++++++++++++
 arch/arm/dts/stm32mp13-ddr.dtsi |  49 +++++++++
 arch/arm/dts/stm32mp15-ddr.dtsi | 170 +----------------------------
 3 files changed, 237 insertions(+), 169 deletions(-)
 create mode 100644 arch/arm/dts/stm32mp1-ddr.dtsi
 create mode 100644 arch/arm/dts/stm32mp13-ddr.dtsi

diff --git a/arch/arm/dts/stm32mp1-ddr.dtsi b/arch/arm/dts/stm32mp1-ddr.dtsi
new file mode 100644
index 00000000000..da9f9fac4b8
--- /dev/null
+++ b/arch/arm/dts/stm32mp1-ddr.dtsi
@@ -0,0 +1,187 @@
+// SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause
+/*
+ * Copyright : STMicroelectronics 2018
+ */
+#include <linux/stringify.h>
+
+#ifdef CONFIG_SPL
+&ddr {
+       config-DDR_MEM_COMPATIBLE {
+               bootph-all;
+
+               compatible = __stringify(st,DDR_MEM_COMPATIBLE);
+
+               st,mem-name = DDR_MEM_NAME;
+               st,mem-speed = <DDR_MEM_SPEED>;
+               st,mem-size = <DDR_MEM_SIZE>;
+
+               st,ctl-reg = <
+                       DDR_MSTR
+                       DDR_MRCTRL0
+                       DDR_MRCTRL1
+                       DDR_DERATEEN
+                       DDR_DERATEINT
+                       DDR_PWRCTL
+                       DDR_PWRTMG
+                       DDR_HWLPCTL
+                       DDR_RFSHCTL0
+                       DDR_RFSHCTL3
+                       DDR_CRCPARCTL0
+                       DDR_ZQCTL0
+                       DDR_DFITMG0
+                       DDR_DFITMG1
+                       DDR_DFILPCFG0
+                       DDR_DFIUPD0
+                       DDR_DFIUPD1
+                       DDR_DFIUPD2
+                       DDR_DFIPHYMSTR
+                       DDR_ODTMAP
+                       DDR_DBG0
+                       DDR_DBG1
+                       DDR_DBGCMD
+                       DDR_POISONCFG
+                       DDR_PCCFG
+               >;
+
+               st,ctl-timing = <
+                       DDR_RFSHTMG
+                       DDR_DRAMTMG0
+                       DDR_DRAMTMG1
+                       DDR_DRAMTMG2
+                       DDR_DRAMTMG3
+                       DDR_DRAMTMG4
+                       DDR_DRAMTMG5
+                       DDR_DRAMTMG6
+                       DDR_DRAMTMG7
+                       DDR_DRAMTMG8
+                       DDR_DRAMTMG14
+                       DDR_ODTCFG
+               >;
+
+               st,ctl-map = <
+                       DDR_ADDRMAP1
+                       DDR_ADDRMAP2
+                       DDR_ADDRMAP3
+                       DDR_ADDRMAP4
+                       DDR_ADDRMAP5
+                       DDR_ADDRMAP6
+                       DDR_ADDRMAP9
+                       DDR_ADDRMAP10
+                       DDR_ADDRMAP11
+               >;
+
+
+               /*
+                * Both st,ctl-perf and st,phy-reg differ
+                * between STM32MP13xx and STM32MP15xx due
+                * to 16bit and 32bit DRAM bus respectively
+                * on these SoCs.
+                */
+
+               st,phy-timing = <
+                       DDR_PTR0
+                       DDR_PTR1
+                       DDR_PTR2
+                       DDR_DTPR0
+                       DDR_DTPR1
+                       DDR_DTPR2
+                       DDR_MR0
+                       DDR_MR1
+                       DDR_MR2
+                       DDR_MR3
+               >;
+
+               status = "okay";
+       };
+};
+#endif
+
+#undef DDR_MEM_COMPATIBLE
+#undef DDR_MEM_NAME
+#undef DDR_MEM_SPEED
+#undef DDR_MEM_SIZE
+
+#undef DDR_MSTR
+#undef DDR_MRCTRL0
+#undef DDR_MRCTRL1
+#undef DDR_DERATEEN
+#undef DDR_DERATEINT
+#undef DDR_PWRCTL
+#undef DDR_PWRTMG
+#undef DDR_HWLPCTL
+#undef DDR_RFSHCTL0
+#undef DDR_RFSHCTL3
+#undef DDR_RFSHTMG
+#undef DDR_CRCPARCTL0
+#undef DDR_DRAMTMG0
+#undef DDR_DRAMTMG1
+#undef DDR_DRAMTMG2
+#undef DDR_DRAMTMG3
+#undef DDR_DRAMTMG4
+#undef DDR_DRAMTMG5
+#undef DDR_DRAMTMG6
+#undef DDR_DRAMTMG7
+#undef DDR_DRAMTMG8
+#undef DDR_DRAMTMG14
+#undef DDR_ZQCTL0
+#undef DDR_DFITMG0
+#undef DDR_DFITMG1
+#undef DDR_DFILPCFG0
+#undef DDR_DFIUPD0
+#undef DDR_DFIUPD1
+#undef DDR_DFIUPD2
+#undef DDR_DFIPHYMSTR
+#undef DDR_ADDRMAP1
+#undef DDR_ADDRMAP2
+#undef DDR_ADDRMAP3
+#undef DDR_ADDRMAP4
+#undef DDR_ADDRMAP5
+#undef DDR_ADDRMAP6
+#undef DDR_ADDRMAP9
+#undef DDR_ADDRMAP10
+#undef DDR_ADDRMAP11
+#undef DDR_ODTCFG
+#undef DDR_ODTMAP
+#undef DDR_SCHED
+#undef DDR_SCHED1
+#undef DDR_PERFHPR1
+#undef DDR_PERFLPR1
+#undef DDR_PERFWR1
+#undef DDR_DBG0
+#undef DDR_DBG1
+#undef DDR_DBGCMD
+#undef DDR_POISONCFG
+#undef DDR_PCCFG
+#undef DDR_PCFGR_0
+#undef DDR_PCFGW_0
+#undef DDR_PCFGQOS0_0
+#undef DDR_PCFGQOS1_0
+#undef DDR_PCFGWQOS0_0
+#undef DDR_PCFGWQOS1_0
+#undef DDR_PCFGR_1
+#undef DDR_PCFGW_1
+#undef DDR_PCFGQOS0_1
+#undef DDR_PCFGQOS1_1
+#undef DDR_PCFGWQOS0_1
+#undef DDR_PCFGWQOS1_1
+#undef DDR_PGCR
+#undef DDR_PTR0
+#undef DDR_PTR1
+#undef DDR_PTR2
+#undef DDR_ACIOCR
+#undef DDR_DXCCR
+#undef DDR_DSGCR
+#undef DDR_DCR
+#undef DDR_DTPR0
+#undef DDR_DTPR1
+#undef DDR_DTPR2
+#undef DDR_MR0
+#undef DDR_MR1
+#undef DDR_MR2
+#undef DDR_MR3
+#undef DDR_ODTCR
+#undef DDR_ZQ0CR1
+#undef DDR_DX0GCR
+#undef DDR_DX1GCR
+#undef DDR_DX2GCR
+#undef DDR_DX3GCR
diff --git a/arch/arm/dts/stm32mp13-ddr.dtsi b/arch/arm/dts/stm32mp13-ddr.dtsi
new file mode 100644
index 00000000000..30d8c5014e0
--- /dev/null
+++ b/arch/arm/dts/stm32mp13-ddr.dtsi
@@ -0,0 +1,49 @@
+// SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause
+/*
+ * Copyright : STMicroelectronics 2018
+ */
+#ifdef CONFIG_SPL
+&ddr {
+       clocks = <&rcc AXIDCG>,
+                <&rcc DDRC1>,
+                <&rcc DDRPHYC>,
+                <&rcc DDRCAPB>,
+                <&rcc DDRPHYCAPB>;
+
+       clock-names = "axidcg",
+                     "ddrc1",
+                     "ddrphyc",
+                     "ddrcapb",
+                     "ddrphycapb";
+
+       config-DDR_MEM_COMPATIBLE {
+               st,ctl-perf = <
+                       DDR_SCHED
+                       DDR_SCHED1
+                       DDR_PERFHPR1
+                       DDR_PERFLPR1
+                       DDR_PERFWR1
+                       DDR_PCFGR_0
+                       DDR_PCFGW_0
+                       DDR_PCFGQOS0_0
+                       DDR_PCFGQOS1_0
+                       DDR_PCFGWQOS0_0
+                       DDR_PCFGWQOS1_0
+               >;
+
+               st,phy-reg = <
+                       DDR_PGCR
+                       DDR_ACIOCR
+                       DDR_DXCCR
+                       DDR_DSGCR
+                       DDR_DCR
+                       DDR_ODTCR
+                       DDR_ZQ0CR1
+                       DDR_DX0GCR
+                       DDR_DX1GCR
+               >;
+       };
+};
+#endif
+
+#include "stm32mp1-ddr.dtsi"
diff --git a/arch/arm/dts/stm32mp15-ddr.dtsi b/arch/arm/dts/stm32mp15-ddr.dtsi
index 48b0828828f..f18fdaeab68 100644
--- a/arch/arm/dts/stm32mp15-ddr.dtsi
+++ b/arch/arm/dts/stm32mp15-ddr.dtsi
@@ -2,8 +2,6 @@
 /*
  * Copyright : STMicroelectronics 2018
  */
-#include <linux/stringify.h>
-
 #ifdef CONFIG_SPL
 &ddr {
        clocks = <&rcc AXIDCG>,
@@ -21,69 +19,6 @@
                      "ddrphycapb";
 
        config-DDR_MEM_COMPATIBLE {
-               bootph-all;
-
-               compatible = __stringify(st,DDR_MEM_COMPATIBLE);
-
-               st,mem-name = DDR_MEM_NAME;
-               st,mem-speed = <DDR_MEM_SPEED>;
-               st,mem-size = <DDR_MEM_SIZE>;
-
-               st,ctl-reg = <
-                       DDR_MSTR
-                       DDR_MRCTRL0
-                       DDR_MRCTRL1
-                       DDR_DERATEEN
-                       DDR_DERATEINT
-                       DDR_PWRCTL
-                       DDR_PWRTMG
-                       DDR_HWLPCTL
-                       DDR_RFSHCTL0
-                       DDR_RFSHCTL3
-                       DDR_CRCPARCTL0
-                       DDR_ZQCTL0
-                       DDR_DFITMG0
-                       DDR_DFITMG1
-                       DDR_DFILPCFG0
-                       DDR_DFIUPD0
-                       DDR_DFIUPD1
-                       DDR_DFIUPD2
-                       DDR_DFIPHYMSTR
-                       DDR_ODTMAP
-                       DDR_DBG0
-                       DDR_DBG1
-                       DDR_DBGCMD
-                       DDR_POISONCFG
-                       DDR_PCCFG
-               >;
-
-               st,ctl-timing = <
-                       DDR_RFSHTMG
-                       DDR_DRAMTMG0
-                       DDR_DRAMTMG1
-                       DDR_DRAMTMG2
-                       DDR_DRAMTMG3
-                       DDR_DRAMTMG4
-                       DDR_DRAMTMG5
-                       DDR_DRAMTMG6
-                       DDR_DRAMTMG7
-                       DDR_DRAMTMG8
-                       DDR_DRAMTMG14
-                       DDR_ODTCFG
-               >;
-
-               st,ctl-map = <
-                       DDR_ADDRMAP1
-                       DDR_ADDRMAP2
-                       DDR_ADDRMAP3
-                       DDR_ADDRMAP4
-                       DDR_ADDRMAP5
-                       DDR_ADDRMAP6
-                       DDR_ADDRMAP9
-                       DDR_ADDRMAP10
-                       DDR_ADDRMAP11
-               >;
-
                st,ctl-perf = <
                        DDR_SCHED
                        DDR_SCHED1
@@ -117,111 +52,8 @@
                        DDR_DX2GCR
                        DDR_DX3GCR
                >;
-
-               st,phy-timing = <
-                       DDR_PTR0
-                       DDR_PTR1
-                       DDR_PTR2
-                       DDR_DTPR0
-                       DDR_DTPR1
-                       DDR_DTPR2
-                       DDR_MR0
-                       DDR_MR1
-                       DDR_MR2
-                       DDR_MR3
-               >;
-
-               status = "okay";
        };
 };
 #endif
 
-#undef DDR_MEM_COMPATIBLE
-#undef DDR_MEM_NAME
-#undef DDR_MEM_SPEED
-#undef DDR_MEM_SIZE
-
-#undef DDR_MSTR
-#undef DDR_MRCTRL0
-#undef DDR_MRCTRL1
-#undef DDR_DERATEEN
-#undef DDR_DERATEINT
-#undef DDR_PWRCTL
-#undef DDR_PWRTMG
-#undef DDR_HWLPCTL
-#undef DDR_RFSHCTL0
-#undef DDR_RFSHCTL3
-#undef DDR_RFSHTMG
-#undef DDR_CRCPARCTL0
-#undef DDR_DRAMTMG0
-#undef DDR_DRAMTMG1
-#undef DDR_DRAMTMG2
-#undef DDR_DRAMTMG3
-#undef DDR_DRAMTMG4
-#undef DDR_DRAMTMG5
-#undef DDR_DRAMTMG6
-#undef DDR_DRAMTMG7
-#undef DDR_DRAMTMG8
-#undef DDR_DRAMTMG14
-#undef DDR_ZQCTL0
-#undef DDR_DFITMG0
-#undef DDR_DFITMG1
-#undef DDR_DFILPCFG0
-#undef DDR_DFIUPD0
-#undef DDR_DFIUPD1
-#undef DDR_DFIUPD2
-#undef DDR_DFIPHYMSTR
-#undef DDR_ADDRMAP1
-#undef DDR_ADDRMAP2
-#undef DDR_ADDRMAP3
-#undef DDR_ADDRMAP4
-#undef DDR_ADDRMAP5
-#undef DDR_ADDRMAP6
-#undef DDR_ADDRMAP9
-#undef DDR_ADDRMAP10
-#undef DDR_ADDRMAP11
-#undef DDR_ODTCFG
-#undef DDR_ODTMAP
-#undef DDR_SCHED
-#undef DDR_SCHED1
-#undef DDR_PERFHPR1
-#undef DDR_PERFLPR1
-#undef DDR_PERFWR1
-#undef DDR_DBG0
-#undef DDR_DBG1
-#undef DDR_DBGCMD
-#undef DDR_POISONCFG
-#undef DDR_PCCFG
-#undef DDR_PCFGR_0
-#undef DDR_PCFGW_0
-#undef DDR_PCFGQOS0_0
-#undef DDR_PCFGQOS1_0
-#undef DDR_PCFGWQOS0_0
-#undef DDR_PCFGWQOS1_0
-#undef DDR_PCFGR_1
-#undef DDR_PCFGW_1
-#undef DDR_PCFGQOS0_1
-#undef DDR_PCFGQOS1_1
-#undef DDR_PCFGWQOS0_1
-#undef DDR_PCFGWQOS1_1
-#undef DDR_PGCR
-#undef DDR_PTR0
-#undef DDR_PTR1
-#undef DDR_PTR2
-#undef DDR_ACIOCR
-#undef DDR_DXCCR
-#undef DDR_DSGCR
-#undef DDR_DCR
-#undef DDR_DTPR0
-#undef DDR_DTPR1
-#undef DDR_DTPR2
-#undef DDR_MR0
-#undef DDR_MR1
-#undef DDR_MR2
-#undef DDR_MR3
-#undef DDR_ODTCR
-#undef DDR_ZQ0CR1
-#undef DDR_DX0GCR
-#undef DDR_DX1GCR
-#undef DDR_DX2GCR
-#undef DDR_DX3GCR
+#include "stm32mp1-ddr.dtsi"
-- 
2.47.2

Reply via email to