mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-28 23:51:33 +00:00
ARM: dts: stm32: Rework DDR DT inclusion
Adjust the DDR configuration dtsi such that they only generate the DRAM configuration node, the DDR controller node is moved into the stm32mp157-u-boot.dtsi itself. This permits including multiple DDR configuration dtsi files in board DT. Reviewed-by: Patrick Delaunay <patrick.delaunay@st.com> Signed-off-by: Marek Vasut <marex@denx.de> Cc: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Cc: Patrick Delaunay <patrick.delaunay@st.com> Cc: Patrice Chotard <patrice.chotard@st.com>
This commit is contained in:
parent
0c27c16495
commit
a8c97f4a00
4 changed files with 248 additions and 137 deletions
|
@ -2,156 +2,240 @@
|
||||||
/*
|
/*
|
||||||
* Copyright : STMicroelectronics 2018
|
* Copyright : STMicroelectronics 2018
|
||||||
*/
|
*/
|
||||||
|
#include <linux/stringify.h>
|
||||||
|
|
||||||
/ {
|
&ddr {
|
||||||
soc {
|
config-DDR_MEM_COMPATIBLE {
|
||||||
ddr: ddr@5a003000 {
|
u-boot,dm-pre-reloc;
|
||||||
u-boot,dm-pre-reloc;
|
|
||||||
|
|
||||||
compatible = "st,stm32mp1-ddr";
|
compatible = __stringify(st,DDR_MEM_COMPATIBLE);
|
||||||
|
|
||||||
reg = <0x5A003000 0x550
|
st,mem-name = DDR_MEM_NAME;
|
||||||
0x5A004000 0x234>;
|
st,mem-speed = <DDR_MEM_SPEED>;
|
||||||
|
st,mem-size = <DDR_MEM_SIZE>;
|
||||||
|
|
||||||
clocks = <&rcc AXIDCG>,
|
st,ctl-reg = <
|
||||||
<&rcc DDRC1>,
|
DDR_MSTR
|
||||||
<&rcc DDRC2>,
|
DDR_MRCTRL0
|
||||||
<&rcc DDRPHYC>,
|
DDR_MRCTRL1
|
||||||
<&rcc DDRCAPB>,
|
DDR_DERATEEN
|
||||||
<&rcc DDRPHYCAPB>;
|
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
|
||||||
|
>;
|
||||||
|
|
||||||
clock-names = "axidcg",
|
st,ctl-timing = <
|
||||||
"ddrc1",
|
DDR_RFSHTMG
|
||||||
"ddrc2",
|
DDR_DRAMTMG0
|
||||||
"ddrphyc",
|
DDR_DRAMTMG1
|
||||||
"ddrcapb",
|
DDR_DRAMTMG2
|
||||||
"ddrphycapb";
|
DDR_DRAMTMG3
|
||||||
|
DDR_DRAMTMG4
|
||||||
|
DDR_DRAMTMG5
|
||||||
|
DDR_DRAMTMG6
|
||||||
|
DDR_DRAMTMG7
|
||||||
|
DDR_DRAMTMG8
|
||||||
|
DDR_DRAMTMG14
|
||||||
|
DDR_ODTCFG
|
||||||
|
>;
|
||||||
|
|
||||||
st,mem-name = DDR_MEM_NAME;
|
st,ctl-map = <
|
||||||
st,mem-speed = <DDR_MEM_SPEED>;
|
DDR_ADDRMAP1
|
||||||
st,mem-size = <DDR_MEM_SIZE>;
|
DDR_ADDRMAP2
|
||||||
|
DDR_ADDRMAP3
|
||||||
|
DDR_ADDRMAP4
|
||||||
|
DDR_ADDRMAP5
|
||||||
|
DDR_ADDRMAP6
|
||||||
|
DDR_ADDRMAP9
|
||||||
|
DDR_ADDRMAP10
|
||||||
|
DDR_ADDRMAP11
|
||||||
|
>;
|
||||||
|
|
||||||
st,ctl-reg = <
|
st,ctl-perf = <
|
||||||
DDR_MSTR
|
DDR_SCHED
|
||||||
DDR_MRCTRL0
|
DDR_SCHED1
|
||||||
DDR_MRCTRL1
|
DDR_PERFHPR1
|
||||||
DDR_DERATEEN
|
DDR_PERFLPR1
|
||||||
DDR_DERATEINT
|
DDR_PERFWR1
|
||||||
DDR_PWRCTL
|
DDR_PCFGR_0
|
||||||
DDR_PWRTMG
|
DDR_PCFGW_0
|
||||||
DDR_HWLPCTL
|
DDR_PCFGQOS0_0
|
||||||
DDR_RFSHCTL0
|
DDR_PCFGQOS1_0
|
||||||
DDR_RFSHCTL3
|
DDR_PCFGWQOS0_0
|
||||||
DDR_CRCPARCTL0
|
DDR_PCFGWQOS1_0
|
||||||
DDR_ZQCTL0
|
DDR_PCFGR_1
|
||||||
DDR_DFITMG0
|
DDR_PCFGW_1
|
||||||
DDR_DFITMG1
|
DDR_PCFGQOS0_1
|
||||||
DDR_DFILPCFG0
|
DDR_PCFGQOS1_1
|
||||||
DDR_DFIUPD0
|
DDR_PCFGWQOS0_1
|
||||||
DDR_DFIUPD1
|
DDR_PCFGWQOS1_1
|
||||||
DDR_DFIUPD2
|
>;
|
||||||
DDR_DFIPHYMSTR
|
|
||||||
DDR_ODTMAP
|
|
||||||
DDR_DBG0
|
|
||||||
DDR_DBG1
|
|
||||||
DDR_DBGCMD
|
|
||||||
DDR_POISONCFG
|
|
||||||
DDR_PCCFG
|
|
||||||
>;
|
|
||||||
|
|
||||||
st,ctl-timing = <
|
st,phy-reg = <
|
||||||
DDR_RFSHTMG
|
DDR_PGCR
|
||||||
DDR_DRAMTMG0
|
DDR_ACIOCR
|
||||||
DDR_DRAMTMG1
|
DDR_DXCCR
|
||||||
DDR_DRAMTMG2
|
DDR_DSGCR
|
||||||
DDR_DRAMTMG3
|
DDR_DCR
|
||||||
DDR_DRAMTMG4
|
DDR_ODTCR
|
||||||
DDR_DRAMTMG5
|
DDR_ZQ0CR1
|
||||||
DDR_DRAMTMG6
|
DDR_DX0GCR
|
||||||
DDR_DRAMTMG7
|
DDR_DX1GCR
|
||||||
DDR_DRAMTMG8
|
DDR_DX2GCR
|
||||||
DDR_DRAMTMG14
|
DDR_DX3GCR
|
||||||
DDR_ODTCFG
|
>;
|
||||||
>;
|
|
||||||
|
|
||||||
st,ctl-map = <
|
st,phy-timing = <
|
||||||
DDR_ADDRMAP1
|
DDR_PTR0
|
||||||
DDR_ADDRMAP2
|
DDR_PTR1
|
||||||
DDR_ADDRMAP3
|
DDR_PTR2
|
||||||
DDR_ADDRMAP4
|
DDR_DTPR0
|
||||||
DDR_ADDRMAP5
|
DDR_DTPR1
|
||||||
DDR_ADDRMAP6
|
DDR_DTPR2
|
||||||
DDR_ADDRMAP9
|
DDR_MR0
|
||||||
DDR_ADDRMAP10
|
DDR_MR1
|
||||||
DDR_ADDRMAP11
|
DDR_MR2
|
||||||
>;
|
DDR_MR3
|
||||||
|
>;
|
||||||
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
|
|
||||||
DDR_PCFGR_1
|
|
||||||
DDR_PCFGW_1
|
|
||||||
DDR_PCFGQOS0_1
|
|
||||||
DDR_PCFGQOS1_1
|
|
||||||
DDR_PCFGWQOS0_1
|
|
||||||
DDR_PCFGWQOS1_1
|
|
||||||
>;
|
|
||||||
|
|
||||||
st,phy-reg = <
|
|
||||||
DDR_PGCR
|
|
||||||
DDR_ACIOCR
|
|
||||||
DDR_DXCCR
|
|
||||||
DDR_DSGCR
|
|
||||||
DDR_DCR
|
|
||||||
DDR_ODTCR
|
|
||||||
DDR_ZQ0CR1
|
|
||||||
DDR_DX0GCR
|
|
||||||
DDR_DX1GCR
|
|
||||||
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
|
|
||||||
>;
|
|
||||||
|
|
||||||
#ifdef DDR_PHY_CAL_SKIP
|
#ifdef DDR_PHY_CAL_SKIP
|
||||||
st,phy-cal = <
|
st,phy-cal = <
|
||||||
DDR_DX0DLLCR
|
DDR_DX0DLLCR
|
||||||
DDR_DX0DQTR
|
DDR_DX0DQTR
|
||||||
DDR_DX0DQSTR
|
DDR_DX0DQSTR
|
||||||
DDR_DX1DLLCR
|
DDR_DX1DLLCR
|
||||||
DDR_DX1DQTR
|
DDR_DX1DQTR
|
||||||
DDR_DX1DQSTR
|
DDR_DX1DQSTR
|
||||||
DDR_DX2DLLCR
|
DDR_DX2DLLCR
|
||||||
DDR_DX2DQTR
|
DDR_DX2DQTR
|
||||||
DDR_DX2DQSTR
|
DDR_DX2DQSTR
|
||||||
DDR_DX3DLLCR
|
DDR_DX3DLLCR
|
||||||
DDR_DX3DQTR
|
DDR_DX3DQTR
|
||||||
DDR_DX3DQSTR
|
DDR_DX3DQSTR
|
||||||
>;
|
>;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#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_DX0DLLCR
|
||||||
|
#undef DDR_DX0DQTR
|
||||||
|
#undef DDR_DX0DQSTR
|
||||||
|
#undef DDR_DX1GCR
|
||||||
|
#undef DDR_DX1DLLCR
|
||||||
|
#undef DDR_DX1DQTR
|
||||||
|
#undef DDR_DX1DQSTR
|
||||||
|
#undef DDR_DX2GCR
|
||||||
|
#undef DDR_DX2DLLCR
|
||||||
|
#undef DDR_DX2DQTR
|
||||||
|
#undef DDR_DX2DQSTR
|
||||||
|
#undef DDR_DX3GCR
|
||||||
|
#undef DDR_DX3DLLCR
|
||||||
|
#undef DDR_DX3DQTR
|
||||||
|
#undef DDR_DX3DQSTR
|
||||||
|
|
|
@ -16,6 +16,7 @@
|
||||||
* address mapping : RBC
|
* address mapping : RBC
|
||||||
* Tc > + 85C : N
|
* Tc > + 85C : N
|
||||||
*/
|
*/
|
||||||
|
#define DDR_MEM_COMPATIBLE ddr3-1066-888-bin-g-1x4gb-533mhz
|
||||||
#define DDR_MEM_NAME "DDR3-1066/888 bin G 1x4Gb 533MHz v1.45"
|
#define DDR_MEM_NAME "DDR3-1066/888 bin G 1x4Gb 533MHz v1.45"
|
||||||
#define DDR_MEM_SPEED 533000
|
#define DDR_MEM_SPEED 533000
|
||||||
#define DDR_MEM_SIZE 0x20000000
|
#define DDR_MEM_SIZE 0x20000000
|
||||||
|
|
|
@ -16,6 +16,7 @@
|
||||||
* address mapping : RBC
|
* address mapping : RBC
|
||||||
* Tc > + 85C : N
|
* Tc > + 85C : N
|
||||||
*/
|
*/
|
||||||
|
#define DDR_MEM_COMPATIBLE ddr3-1066-888-bin-g-2x4gb-533mhz
|
||||||
#define DDR_MEM_NAME "DDR3-1066/888 bin G 2x4Gb 533MHz v1.45"
|
#define DDR_MEM_NAME "DDR3-1066/888 bin G 2x4Gb 533MHz v1.45"
|
||||||
#define DDR_MEM_SPEED 533000
|
#define DDR_MEM_SPEED 533000
|
||||||
#define DDR_MEM_SIZE 0x40000000
|
#define DDR_MEM_SIZE 0x40000000
|
||||||
|
|
|
@ -36,6 +36,31 @@
|
||||||
|
|
||||||
soc {
|
soc {
|
||||||
u-boot,dm-pre-reloc;
|
u-boot,dm-pre-reloc;
|
||||||
|
|
||||||
|
ddr: ddr@5a003000 {
|
||||||
|
u-boot,dm-pre-reloc;
|
||||||
|
|
||||||
|
compatible = "st,stm32mp1-ddr";
|
||||||
|
|
||||||
|
reg = <0x5A003000 0x550
|
||||||
|
0x5A004000 0x234>;
|
||||||
|
|
||||||
|
clocks = <&rcc AXIDCG>,
|
||||||
|
<&rcc DDRC1>,
|
||||||
|
<&rcc DDRC2>,
|
||||||
|
<&rcc DDRPHYC>,
|
||||||
|
<&rcc DDRCAPB>,
|
||||||
|
<&rcc DDRPHYCAPB>;
|
||||||
|
|
||||||
|
clock-names = "axidcg",
|
||||||
|
"ddrc1",
|
||||||
|
"ddrc2",
|
||||||
|
"ddrphyc",
|
||||||
|
"ddrcapb",
|
||||||
|
"ddrphycapb";
|
||||||
|
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue