xref: /rk3399_ARM-atf/fdts/stm32mp25-lpddr4-2x16Gbits-32bits-1200MHz.dtsi (revision db7770ed3488a12713bd363df6cfd78855e3a501)
1*99adf4d4SBoerge Struempfel// SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause
2*99adf4d4SBoerge Struempfel/*
3*99adf4d4SBoerge Struempfel * Copyright (C) 2025, STMicroelectronics - All Rights Reserved
4*99adf4d4SBoerge Struempfel */
5*99adf4d4SBoerge Struempfel
6*99adf4d4SBoerge Struempfel/*
7*99adf4d4SBoerge Struempfel * STM32MP25 LPDDR4 board configuration
8*99adf4d4SBoerge Struempfel * LPDDR4 2x16Gbits 1x32bits 1200MHz
9*99adf4d4SBoerge Struempfel *
10*99adf4d4SBoerge Struempfel * version       2
11*99adf4d4SBoerge Struempfel * memclk        1200MHz  (2x DFI clock)
12*99adf4d4SBoerge Struempfel * width         32       32: full width / 16: half width
13*99adf4d4SBoerge Struempfel * ranks         2        Single or Dual rank
14*99adf4d4SBoerge Struempfel * density       16Gbits  (per 16bit channel)
15*99adf4d4SBoerge Struempfel * Addressing    RBC      row/bank interleaving
16*99adf4d4SBoerge Struempfel * DBI-RD        No       Read DBI
17*99adf4d4SBoerge Struempfel * DBI-WR        No       Write DBI
18*99adf4d4SBoerge Struempfel * RPST          1.5      Read postamble (ck)
19*99adf4d4SBoerge Struempfel * Per_bank_ref  Yes
20*99adf4d4SBoerge Struempfel */
21*99adf4d4SBoerge Struempfel
22*99adf4d4SBoerge Struempfel#define DDR_MEM_NAME	"LPDDR4 2x16Gbits 1x32bits 1200MHz"
23*99adf4d4SBoerge Struempfel#define DDR_MEM_SPEED	1200000
24*99adf4d4SBoerge Struempfel#define DDR_MEM_SIZE	0x100000000
25*99adf4d4SBoerge Struempfel
26*99adf4d4SBoerge Struempfel#define DDR_MSTR 0x03080020
27*99adf4d4SBoerge Struempfel#define DDR_MRCTRL0 0x00000030
28*99adf4d4SBoerge Struempfel#define DDR_MRCTRL1 0x00000000
29*99adf4d4SBoerge Struempfel#define DDR_MRCTRL2 0x00000000
30*99adf4d4SBoerge Struempfel#define DDR_DERATEEN 0x00000203
31*99adf4d4SBoerge Struempfel#define DDR_DERATEINT 0x0124f800
32*99adf4d4SBoerge Struempfel#define DDR_DERATECTL 0x00000000
33*99adf4d4SBoerge Struempfel#define DDR_PWRCTL 0x00000100
34*99adf4d4SBoerge Struempfel#define DDR_PWRTMG 0x00130001
35*99adf4d4SBoerge Struempfel#define DDR_HWLPCTL 0x00000002
36*99adf4d4SBoerge Struempfel#define DDR_RFSHCTL0 0x00210014
37*99adf4d4SBoerge Struempfel#define DDR_RFSHCTL1 0x00000000
38*99adf4d4SBoerge Struempfel#define DDR_RFSHCTL3 0x00000000
39*99adf4d4SBoerge Struempfel#define DDR_RFSHTMG 0x81240072
40*99adf4d4SBoerge Struempfel#define DDR_RFSHTMG1 0x00360000
41*99adf4d4SBoerge Struempfel#define DDR_CRCPARCTL0 0x00000000
42*99adf4d4SBoerge Struempfel#define DDR_CRCPARCTL1 0x00001000
43*99adf4d4SBoerge Struempfel#define DDR_INIT0 0xc0020002
44*99adf4d4SBoerge Struempfel#define DDR_INIT1 0x00010002
45*99adf4d4SBoerge Struempfel#define DDR_INIT2 0x00000d00
46*99adf4d4SBoerge Struempfel#define DDR_INIT3 0x00c40024
47*99adf4d4SBoerge Struempfel#define DDR_INIT4 0x00310008
48*99adf4d4SBoerge Struempfel#define DDR_INIT5 0x00100004
49*99adf4d4SBoerge Struempfel#define DDR_INIT6 0x00660047
50*99adf4d4SBoerge Struempfel#define DDR_INIT7 0x001d0047
51*99adf4d4SBoerge Struempfel#define DDR_DIMMCTL 0x00000000
52*99adf4d4SBoerge Struempfel#define DDR_RANKCTL 0x0000066f
53*99adf4d4SBoerge Struempfel#define DDR_RANKCTL1 0x00000011
54*99adf4d4SBoerge Struempfel#define DDR_DRAMTMG0 0x1718141a
55*99adf4d4SBoerge Struempfel#define DDR_DRAMTMG1 0x00050524
56*99adf4d4SBoerge Struempfel#define DDR_DRAMTMG2 0x060c1111
57*99adf4d4SBoerge Struempfel#define DDR_DRAMTMG3 0x0090900c
58*99adf4d4SBoerge Struempfel#define DDR_DRAMTMG4 0x0b04060b
59*99adf4d4SBoerge Struempfel#define DDR_DRAMTMG5 0x02030909
60*99adf4d4SBoerge Struempfel#define DDR_DRAMTMG6 0x02020007
61*99adf4d4SBoerge Struempfel#define DDR_DRAMTMG7 0x00000302
62*99adf4d4SBoerge Struempfel#define DDR_DRAMTMG8 0x03034405
63*99adf4d4SBoerge Struempfel#define DDR_DRAMTMG9 0x0004040d
64*99adf4d4SBoerge Struempfel#define DDR_DRAMTMG10 0x001c180a
65*99adf4d4SBoerge Struempfel#define DDR_DRAMTMG11 0x440c021c
66*99adf4d4SBoerge Struempfel#define DDR_DRAMTMG12 0x1a020010
67*99adf4d4SBoerge Struempfel#define DDR_DRAMTMG13 0x0b100002
68*99adf4d4SBoerge Struempfel#define DDR_DRAMTMG14 0x000000e9
69*99adf4d4SBoerge Struempfel#define DDR_DRAMTMG15 0x00000000
70*99adf4d4SBoerge Struempfel#define DDR_ZQCTL0 0x22580012
71*99adf4d4SBoerge Struempfel#define DDR_ZQCTL1 0x01e0493e
72*99adf4d4SBoerge Struempfel#define DDR_ZQCTL2 0x00000000
73*99adf4d4SBoerge Struempfel#define DDR_DFITMG0 0x0395820a
74*99adf4d4SBoerge Struempfel#define DDR_DFITMG1 0x000a0303
75*99adf4d4SBoerge Struempfel#define DDR_DFILPCFG0 0x07f04111
76*99adf4d4SBoerge Struempfel#define DDR_DFILPCFG1 0x000000f0
77*99adf4d4SBoerge Struempfel#define DDR_DFIUPD0 0x4040000c
78*99adf4d4SBoerge Struempfel#define DDR_DFIUPD1 0x0040007f
79*99adf4d4SBoerge Struempfel#define DDR_DFIUPD2 0x00000000
80*99adf4d4SBoerge Struempfel#define DDR_DFIMISC 0x00000041
81*99adf4d4SBoerge Struempfel#define DDR_DFITMG2 0x0000150a
82*99adf4d4SBoerge Struempfel#define DDR_DFITMG3 0x00000000
83*99adf4d4SBoerge Struempfel#define DDR_DBICTL 0x00000001
84*99adf4d4SBoerge Struempfel#define DDR_DFIPHYMSTR 0x80000001
85*99adf4d4SBoerge Struempfel#define DDR_ADDRMAP0 0x00000004
86*99adf4d4SBoerge Struempfel#define DDR_ADDRMAP1 0x00090909
87*99adf4d4SBoerge Struempfel#define DDR_ADDRMAP2 0x00000000
88*99adf4d4SBoerge Struempfel#define DDR_ADDRMAP3 0x00000000
89*99adf4d4SBoerge Struempfel#define DDR_ADDRMAP4 0x00001f1f
90*99adf4d4SBoerge Struempfel#define DDR_ADDRMAP5 0x080f0808
91*99adf4d4SBoerge Struempfel#define DDR_ADDRMAP6 0x08080808
92*99adf4d4SBoerge Struempfel#define DDR_ADDRMAP7 0x00000f08
93*99adf4d4SBoerge Struempfel#define DDR_ADDRMAP8 0x00003f3f
94*99adf4d4SBoerge Struempfel#define DDR_ADDRMAP9 0x08080808
95*99adf4d4SBoerge Struempfel#define DDR_ADDRMAP10 0x08080808
96*99adf4d4SBoerge Struempfel#define DDR_ADDRMAP11 0x00000008
97*99adf4d4SBoerge Struempfel#define DDR_ODTCFG 0x04000400
98*99adf4d4SBoerge Struempfel#define DDR_ODTMAP 0x00000000
99*99adf4d4SBoerge Struempfel#define DDR_SCHED 0x80001b00
100*99adf4d4SBoerge Struempfel#define DDR_SCHED1 0x00000000
101*99adf4d4SBoerge Struempfel#define DDR_PERFHPR1 0x04000200
102*99adf4d4SBoerge Struempfel#define DDR_PERFLPR1 0x08000080
103*99adf4d4SBoerge Struempfel#define DDR_PERFWR1 0x08000400
104*99adf4d4SBoerge Struempfel#define DDR_SCHED3 0x04040208
105*99adf4d4SBoerge Struempfel#define DDR_SCHED4 0x08400810
106*99adf4d4SBoerge Struempfel#define DDR_DBG0 0x00000000
107*99adf4d4SBoerge Struempfel#define DDR_DBG1 0x00000000
108*99adf4d4SBoerge Struempfel#define DDR_DBGCMD 0x00000000
109*99adf4d4SBoerge Struempfel#define DDR_SWCTL 0x00000000
110*99adf4d4SBoerge Struempfel#define DDR_SWCTLSTATIC 0x00000000
111*99adf4d4SBoerge Struempfel#define DDR_POISONCFG 0x00000000
112*99adf4d4SBoerge Struempfel#define DDR_PCCFG 0x00000000
113*99adf4d4SBoerge Struempfel#define DDR_PCFGR_0 0x00704100
114*99adf4d4SBoerge Struempfel#define DDR_PCFGW_0 0x00004100
115*99adf4d4SBoerge Struempfel#define DDR_PCTRL_0 0x00000000
116*99adf4d4SBoerge Struempfel#define DDR_PCFGQOS0_0 0x0021000c
117*99adf4d4SBoerge Struempfel#define DDR_PCFGQOS1_0 0x01000080
118*99adf4d4SBoerge Struempfel#define DDR_PCFGWQOS0_0 0x01100c07
119*99adf4d4SBoerge Struempfel#define DDR_PCFGWQOS1_0 0x04000200
120*99adf4d4SBoerge Struempfel#define DDR_PCFGR_1 0x00704100
121*99adf4d4SBoerge Struempfel#define DDR_PCFGW_1 0x00004100
122*99adf4d4SBoerge Struempfel#define DDR_PCTRL_1 0x00000000
123*99adf4d4SBoerge Struempfel#define DDR_PCFGQOS0_1 0x00100007
124*99adf4d4SBoerge Struempfel#define DDR_PCFGQOS1_1 0x01000080
125*99adf4d4SBoerge Struempfel#define DDR_PCFGWQOS0_1 0x01100c07
126*99adf4d4SBoerge Struempfel#define DDR_PCFGWQOS1_1 0x04000200
127*99adf4d4SBoerge Struempfel#define DDR_UIB_DRAMTYPE 0x00000002
128*99adf4d4SBoerge Struempfel#define DDR_UIB_DIMMTYPE 0x00000004
129*99adf4d4SBoerge Struempfel#define DDR_UIB_LP4XMODE 0x00000000
130*99adf4d4SBoerge Struempfel#define DDR_UIB_NUMDBYTE 0x00000004
131*99adf4d4SBoerge Struempfel#define DDR_UIB_NUMACTIVEDBYTEDFI0 0x00000002
132*99adf4d4SBoerge Struempfel#define DDR_UIB_NUMACTIVEDBYTEDFI1 0x00000002
133*99adf4d4SBoerge Struempfel#define DDR_UIB_NUMANIB 0x00000008
134*99adf4d4SBoerge Struempfel#define DDR_UIB_NUMRANK_DFI0 0x00000002
135*99adf4d4SBoerge Struempfel#define DDR_UIB_NUMRANK_DFI1 0x00000002
136*99adf4d4SBoerge Struempfel#define DDR_UIB_DRAMDATAWIDTH 0x00000010
137*99adf4d4SBoerge Struempfel#define DDR_UIB_NUMPSTATES 0x00000001
138*99adf4d4SBoerge Struempfel#define DDR_UIB_FREQUENCY_0 0x000004b0
139*99adf4d4SBoerge Struempfel#define DDR_UIB_PLLBYPASS_0 0x00000000
140*99adf4d4SBoerge Struempfel#define DDR_UIB_DFIFREQRATIO_0 0x00000001
141*99adf4d4SBoerge Struempfel#define DDR_UIB_DFI1EXISTS 0x00000001
142*99adf4d4SBoerge Struempfel#define DDR_UIB_TRAIN2D 0x00000000
143*99adf4d4SBoerge Struempfel#define DDR_UIB_HARDMACROVER 0x00000003
144*99adf4d4SBoerge Struempfel#define DDR_UIB_READDBIENABLE_0 0x00000000
145*99adf4d4SBoerge Struempfel#define DDR_UIB_DFIMODE 0x00000000
146*99adf4d4SBoerge Struempfel#define DDR_UIA_LP4RXPREAMBLEMODE_0 0x00000000
147*99adf4d4SBoerge Struempfel#define DDR_UIA_LP4POSTAMBLEEXT_0 0x00000001
148*99adf4d4SBoerge Struempfel#define DDR_UIA_D4RXPREAMBLELENGTH_0 0x00000001
149*99adf4d4SBoerge Struempfel#define DDR_UIA_D4TXPREAMBLELENGTH_0 0x00000000
150*99adf4d4SBoerge Struempfel#define DDR_UIA_EXTCALRESVAL 0x00000000
151*99adf4d4SBoerge Struempfel#define DDR_UIA_IS2TTIMING_0 0x00000000
152*99adf4d4SBoerge Struempfel#define DDR_UIA_ODTIMPEDANCE_0 0x00000035
153*99adf4d4SBoerge Struempfel#define DDR_UIA_TXIMPEDANCE_0 0x00000028
154*99adf4d4SBoerge Struempfel#define DDR_UIA_ATXIMPEDANCE 0x00000028
155*99adf4d4SBoerge Struempfel#define DDR_UIA_MEMALERTEN 0x00000000
156*99adf4d4SBoerge Struempfel#define DDR_UIA_MEMALERTPUIMP 0x00000000
157*99adf4d4SBoerge Struempfel#define DDR_UIA_MEMALERTVREFLEVEL 0x00000000
158*99adf4d4SBoerge Struempfel#define DDR_UIA_MEMALERTSYNCBYPASS 0x00000000
159*99adf4d4SBoerge Struempfel#define DDR_UIA_DISDYNADRTRI_0 0x00000001
160*99adf4d4SBoerge Struempfel#define DDR_UIA_PHYMSTRTRAININTERVAL_0 0x0000000a
161*99adf4d4SBoerge Struempfel#define DDR_UIA_PHYMSTRMAXREQTOACK_0 0x00000005
162*99adf4d4SBoerge Struempfel#define DDR_UIA_WDQSEXT 0x00000001
163*99adf4d4SBoerge Struempfel#define DDR_UIA_CALINTERVAL 0x00000009
164*99adf4d4SBoerge Struempfel#define DDR_UIA_CALONCE 0x00000000
165*99adf4d4SBoerge Struempfel#define DDR_UIA_LP4RL_0 0x00000004
166*99adf4d4SBoerge Struempfel#define DDR_UIA_LP4WL_0 0x00000004
167*99adf4d4SBoerge Struempfel#define DDR_UIA_LP4WLS_0 0x00000000
168*99adf4d4SBoerge Struempfel#define DDR_UIA_LP4DBIRD_0 0x00000000
169*99adf4d4SBoerge Struempfel#define DDR_UIA_LP4DBIWR_0 0x00000000
170*99adf4d4SBoerge Struempfel#define DDR_UIA_LP4NWR_0 0x00000004
171*99adf4d4SBoerge Struempfel#define DDR_UIA_LP4LOWPOWERDRV 0x00000000
172*99adf4d4SBoerge Struempfel#define DDR_UIA_DRAMBYTESWAP 0x00000000
173*99adf4d4SBoerge Struempfel#define DDR_UIA_RXENBACKOFF 0x00000000
174*99adf4d4SBoerge Struempfel#define DDR_UIA_TRAINSEQUENCECTRL 0x00000000
175*99adf4d4SBoerge Struempfel#define DDR_UIA_SNPSUMCTLOPT 0x00000000
176*99adf4d4SBoerge Struempfel#define DDR_UIA_SNPSUMCTLF0RC5X_0 0x00000000
177*99adf4d4SBoerge Struempfel#define DDR_UIA_TXSLEWRISEDQ_0 0x0000000f
178*99adf4d4SBoerge Struempfel#define DDR_UIA_TXSLEWFALLDQ_0 0x0000000f
179*99adf4d4SBoerge Struempfel#define DDR_UIA_TXSLEWRISEAC 0x0000000f
180*99adf4d4SBoerge Struempfel#define DDR_UIA_TXSLEWFALLAC 0x0000000f
181*99adf4d4SBoerge Struempfel#define DDR_UIA_DISABLERETRAINING 0x00000000
182*99adf4d4SBoerge Struempfel#define DDR_UIA_DISABLEPHYUPDATE 0x00000001
183*99adf4d4SBoerge Struempfel#define DDR_UIA_ENABLEHIGHCLKSKEWFIX 0x00000000
184*99adf4d4SBoerge Struempfel#define DDR_UIA_DISABLEUNUSEDADDRLNS 0x00000001
185*99adf4d4SBoerge Struempfel#define DDR_UIA_PHYINITSEQUENCENUM 0x00000000
186*99adf4d4SBoerge Struempfel#define DDR_UIA_ENABLEDFICSPOLARITYFIX 0x00000000
187*99adf4d4SBoerge Struempfel#define DDR_UIA_PHYVREF 0x00000014
188*99adf4d4SBoerge Struempfel#define DDR_UIA_SEQUENCECTRL_0 0x0000131f
189*99adf4d4SBoerge Struempfel#define DDR_UIM_MR0_0 0x00000000
190*99adf4d4SBoerge Struempfel#define DDR_UIM_MR1_0 0x000000c4
191*99adf4d4SBoerge Struempfel#define DDR_UIM_MR2_0 0x00000024
192*99adf4d4SBoerge Struempfel#define DDR_UIM_MR3_0 0x00000031
193*99adf4d4SBoerge Struempfel#define DDR_UIM_MR4_0 0x00000000
194*99adf4d4SBoerge Struempfel#define DDR_UIM_MR5_0 0x00000000
195*99adf4d4SBoerge Struempfel#define DDR_UIM_MR6_0 0x00000000
196*99adf4d4SBoerge Struempfel#define DDR_UIM_MR11_0 0x00000066
197*99adf4d4SBoerge Struempfel#define DDR_UIM_MR12_0 0x00000047
198*99adf4d4SBoerge Struempfel#define DDR_UIM_MR13_0 0x00000008
199*99adf4d4SBoerge Struempfel#define DDR_UIM_MR14_0 0x00000047
200*99adf4d4SBoerge Struempfel#define DDR_UIM_MR22_0 0x0000001d
201*99adf4d4SBoerge Struempfel#define DDR_UIS_SWIZZLE_0 0x00000003
202*99adf4d4SBoerge Struempfel#define DDR_UIS_SWIZZLE_1 0x00000002
203*99adf4d4SBoerge Struempfel#define DDR_UIS_SWIZZLE_2 0x00000000
204*99adf4d4SBoerge Struempfel#define DDR_UIS_SWIZZLE_3 0x00000001
205*99adf4d4SBoerge Struempfel#define DDR_UIS_SWIZZLE_4 0x00000006
206*99adf4d4SBoerge Struempfel#define DDR_UIS_SWIZZLE_5 0x00000007
207*99adf4d4SBoerge Struempfel#define DDR_UIS_SWIZZLE_6 0x00000005
208*99adf4d4SBoerge Struempfel#define DDR_UIS_SWIZZLE_7 0x00000004
209*99adf4d4SBoerge Struempfel#define DDR_UIS_SWIZZLE_8 0x00000005
210*99adf4d4SBoerge Struempfel#define DDR_UIS_SWIZZLE_9 0x00000004
211*99adf4d4SBoerge Struempfel#define DDR_UIS_SWIZZLE_10 0x00000007
212*99adf4d4SBoerge Struempfel#define DDR_UIS_SWIZZLE_11 0x00000006
213*99adf4d4SBoerge Struempfel#define DDR_UIS_SWIZZLE_12 0x00000000
214*99adf4d4SBoerge Struempfel#define DDR_UIS_SWIZZLE_13 0x00000003
215*99adf4d4SBoerge Struempfel#define DDR_UIS_SWIZZLE_14 0x00000002
216*99adf4d4SBoerge Struempfel#define DDR_UIS_SWIZZLE_15 0x00000001
217*99adf4d4SBoerge Struempfel#define DDR_UIS_SWIZZLE_16 0x00000005
218*99adf4d4SBoerge Struempfel#define DDR_UIS_SWIZZLE_17 0x00000007
219*99adf4d4SBoerge Struempfel#define DDR_UIS_SWIZZLE_18 0x00000006
220*99adf4d4SBoerge Struempfel#define DDR_UIS_SWIZZLE_19 0x00000004
221*99adf4d4SBoerge Struempfel#define DDR_UIS_SWIZZLE_20 0x00000000
222*99adf4d4SBoerge Struempfel#define DDR_UIS_SWIZZLE_21 0x00000001
223*99adf4d4SBoerge Struempfel#define DDR_UIS_SWIZZLE_22 0x00000003
224*99adf4d4SBoerge Struempfel#define DDR_UIS_SWIZZLE_23 0x00000002
225*99adf4d4SBoerge Struempfel#define DDR_UIS_SWIZZLE_24 0x00000007
226*99adf4d4SBoerge Struempfel#define DDR_UIS_SWIZZLE_25 0x00000004
227*99adf4d4SBoerge Struempfel#define DDR_UIS_SWIZZLE_26 0x00000005
228*99adf4d4SBoerge Struempfel#define DDR_UIS_SWIZZLE_27 0x00000006
229*99adf4d4SBoerge Struempfel#define DDR_UIS_SWIZZLE_28 0x00000002
230*99adf4d4SBoerge Struempfel#define DDR_UIS_SWIZZLE_29 0x00000003
231*99adf4d4SBoerge Struempfel#define DDR_UIS_SWIZZLE_30 0x00000001
232*99adf4d4SBoerge Struempfel#define DDR_UIS_SWIZZLE_31 0x00000000
233*99adf4d4SBoerge Struempfel#define DDR_UIS_SWIZZLE_32 0x00000000
234*99adf4d4SBoerge Struempfel#define DDR_UIS_SWIZZLE_33 0x00000001
235*99adf4d4SBoerge Struempfel#define DDR_UIS_SWIZZLE_34 0x00000002
236*99adf4d4SBoerge Struempfel#define DDR_UIS_SWIZZLE_35 0x00000003
237*99adf4d4SBoerge Struempfel#define DDR_UIS_SWIZZLE_36 0x00000004
238*99adf4d4SBoerge Struempfel#define DDR_UIS_SWIZZLE_37 0x00000005
239*99adf4d4SBoerge Struempfel#define DDR_UIS_SWIZZLE_38 0x00000000
240*99adf4d4SBoerge Struempfel#define DDR_UIS_SWIZZLE_39 0x00000001
241*99adf4d4SBoerge Struempfel#define DDR_UIS_SWIZZLE_40 0x00000002
242*99adf4d4SBoerge Struempfel#define DDR_UIS_SWIZZLE_41 0x00000003
243*99adf4d4SBoerge Struempfel#define DDR_UIS_SWIZZLE_42 0x00000004
244*99adf4d4SBoerge Struempfel#define DDR_UIS_SWIZZLE_43 0x00000005
245*99adf4d4SBoerge Struempfel
246*99adf4d4SBoerge Struempfel
247*99adf4d4SBoerge Struempfel#include "stm32mp25-ddr.dtsi"
248