1 ST,stm32mp1 DDR3/LPDDR2/LPDDR3 Controller (DDRCTRL and DDRPHYC)
6 - compatible : Should be "st,stm32mp1-ddr"
7 - reg : controleur (DDRCTRL) and phy (DDRPHYC) base address
8 - clocks : controller clocks handle
9 - clock-names : associated controller clock names
10 the "ddrphyc" clock is used to check the DDR frequency
11 at phy level according the expected value in "mem-speed" field
13 the next attributes are DDR parameters, they are generated by DDR tools
14 included in STM32 Cube tool
18 - st,mem-name : name for DDR configuration, simple string for information
19 - st,mem-speed : DDR expected speed for the setting in kHz
20 - st,mem-size : DDR mem size in byte
23 controlleur attributes:
24 -----------------------
25 - st,ctl-reg : controleur values depending of the DDR type
27 for STM32MP15x: 25 values are requested in this order
54 - st,ctl-timing : controleur values depending of frequency and timing parameter
56 for STM32MP15x: 12 values are requested in this order
70 - st,ctl-map : controleur values depending of address mapping
71 for STM32MP15x: 9 values are requested in this order
82 - st,ctl-perf : controleur values depending of performance and scheduling
83 for STM32MP15x: 17 values are requested in this order
104 - st,phy-reg : phy values depending of the DDR type (DDR3/LPDDR2/LPDDR3)
105 for STM32MP15x: 11 values are requested in this order
118 - st,phy-timing : phy values depending of frequency and timing parameter of DDR
119 for STM32MP15x: 10 values are requested in this order
131 - st,phy-cal : phy cal depending of calibration or tuning of DDR
132 This parameter is optional; when it is absent the built-in PHY
134 for STM32MP15x: 12 values are requested in this order
158 compatible = "st,stm32mp1-ddr";
160 reg = <0x5A003000 0x550
163 clocks = <&rcc_clk AXIDCG>,
168 <&rcc_clk DDRPHYCAPB>;
170 clock-names = "axidcg",
177 st,mem-name = "DDR3 2x4Gb 533MHz";
178 st,mem-speed = <533000>;
179 st,mem-size = <0x40000000>;
183 0x00000010 /*MRCTRL0*/
184 0x00000000 /*MRCTRL1*/
185 0x00000000 /*DERATEEN*/
186 0x00800000 /*DERATEINT*/
187 0x00000000 /*PWRCTL*/
188 0x00400010 /*PWRTMG*/
189 0x00000000 /*HWLPCTL*/
190 0x00210000 /*RFSHCTL0*/
191 0x00000000 /*RFSHCTL3*/
192 0x00000000 /*CRCPARCTL0*/
193 0xC2000040 /*ZQCTL0*/
194 0x02050105 /*DFITMG0*/
195 0x00000202 /*DFITMG1*/
196 0x07000000 /*DFILPCFG0*/
197 0xC0400003 /*DFIUPD0*/
198 0x00000000 /*DFIUPD1*/
199 0x00000000 /*DFIUPD2*/
200 0x00000000 /*DFIPHYMSTR*/
201 0x00000001 /*ODTMAP*/
204 0x00000000 /*DBGCMD*/
205 0x00000000 /*POISONCFG*/
210 0x0080008A /*RFSHTMG*/
211 0x121B2414 /*DRAMTMG0*/
212 0x000D041B /*DRAMTMG1*/
213 0x0607080E /*DRAMTMG2*/
214 0x0050400C /*DRAMTMG3*/
215 0x07040407 /*DRAMTMG4*/
216 0x06060303 /*DRAMTMG5*/
217 0x02020002 /*DRAMTMG6*/
218 0x00000202 /*DRAMTMG7*/
219 0x00001005 /*DRAMTMG8*/
220 0x000D041B /*DRAMTMG1*/4
221 0x06000600 /*ODTCFG*/
225 0x00080808 /*ADDRMAP1*/
226 0x00000000 /*ADDRMAP2*/
227 0x00000000 /*ADDRMAP3*/
228 0x00001F1F /*ADDRMAP4*/
229 0x07070707 /*ADDRMAP5*/
230 0x0F070707 /*ADDRMAP6*/
231 0x00000000 /*ADDRMAP9*/
232 0x00000000 /*ADDRMAP10*/
233 0x00000000 /*ADDRMAP11*/
238 0x00001201 /*SCHED*/1
239 0x01000001 /*PERFHPR1*/
240 0x08000200 /*PERFLPR1*/
241 0x08000400 /*PERFWR1*/
242 0x00010000 /*PCFGR_0*/
243 0x00000000 /*PCFGW_0*/
244 0x02100B03 /*PCFGQOS0_0*/
245 0x00800100 /*PCFGQOS1_0*/
246 0x01100B03 /*PCFGWQOS0_0*/
247 0x01000200 /*PCFGWQOS1_0*/
248 0x00010000 /*PCFGR_1*/
249 0x00000000 /*PCFGW_1*/
250 0x02100B03 /*PCFGQOS0_1*/
251 0x00800000 /*PCFGQOS1_1*/
252 0x01100B03 /*PCFGWQOS0_1*/
253 0x01000200 /*PCFGWQOS1_1*/
258 0x10400812 /*ACIOCR*/
263 0x0000007B /*ZQ0CR1*/
264 0x0000CE81 /*DX0GCR*/
265 0x0000CE81 /*DX1GCR*/
266 0x0000CE81 /*DX2GCR*/
267 0x0000CE81 /*DX3GCR*/
284 0x40000000 /*DX0DLLCR*/
285 0xFFFFFFFF /*DX0DQTR*/
286 0x3DB02000 /*DX0DQSTR*/
287 0x40000000 /*DX1DLLCR*/
288 0xFFFFFFFF /*DX1DQTR*/
289 0x3DB02000 /*DX1DQSTR*/
290 0x40000000 /*DX2DLLCR*/
291 0xFFFFFFFF /*DX2DQTR*/
292 0x3DB02000 /*DX2DQSTR*/
293 0x40000000 /*DX3DLLCR*/
294 0xFFFFFFFF /*DX3DQTR*/
295 0x3DB02000 /*DX3DQSTR*/