mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-12 06:12:58 +00:00
9f7c58dc0d
Remove the unnecessary nodes for TFABOOT and keep the mandatory part
in SOC dtsi, only the DDRCTRL and DDRPHY addresses.
This patch allows to manage the DDR configuration setting in U-Boot
device tree only if it is needed, when CONFIG_SPL is defined.
With TFABOOT, the DDR configuration is done in TF-A BL2 and the DDR size
is dynamically computed in U-Boot since commit d72e7bbe7c
("ram:
stm32mp1: compute DDR size from DDRCTL registers").
Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
227 lines
3.6 KiB
Text
227 lines
3.6 KiB
Text
// SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause
|
|
/*
|
|
* Copyright : STMicroelectronics 2018
|
|
*/
|
|
#include <linux/stringify.h>
|
|
|
|
#ifdef CONFIG_SPL
|
|
&ddr {
|
|
clocks = <&rcc AXIDCG>,
|
|
<&rcc DDRC1>,
|
|
<&rcc DDRC2>,
|
|
<&rcc DDRPHYC>,
|
|
<&rcc DDRCAPB>,
|
|
<&rcc DDRPHYCAPB>;
|
|
|
|
clock-names = "axidcg",
|
|
"ddrc1",
|
|
"ddrc2",
|
|
"ddrphyc",
|
|
"ddrcapb",
|
|
"ddrphycapb";
|
|
|
|
config-DDR_MEM_COMPATIBLE {
|
|
u-boot,dm-pre-reloc;
|
|
|
|
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
|
|
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
|
|
>;
|
|
|
|
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
|