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 MHz
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: 10 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 for STM32MP15x: 12 values are requested in this order
156 compatible = "st,stm32mp1-ddr";
158 reg = <0x5A003000 0x550
161 clocks = <&rcc_clk AXIDCG>,
166 <&rcc_clk DDRPHYCAPB>;
168 clock-names = "axidcg",
175 st,mem-name = "DDR3 2x4Gb 533MHz";
176 st,mem-speed = <533>;
177 st,mem-size = <0x40000000>;
181 0x00000010 /*MRCTRL0*/
182 0x00000000 /*MRCTRL1*/
183 0x00000000 /*DERATEEN*/
184 0x00800000 /*DERATEINT*/
185 0x00000000 /*PWRCTL*/
186 0x00400010 /*PWRTMG*/
187 0x00000000 /*HWLPCTL*/
188 0x00210000 /*RFSHCTL0*/
189 0x00000000 /*RFSHCTL3*/
190 0x00000000 /*CRCPARCTL0*/
191 0xC2000040 /*ZQCTL0*/
192 0x02050105 /*DFITMG0*/
193 0x00000202 /*DFITMG1*/
194 0x07000000 /*DFILPCFG0*/
195 0xC0400003 /*DFIUPD0*/
196 0x00000000 /*DFIUPD1*/
197 0x00000000 /*DFIUPD2*/
198 0x00000000 /*DFIPHYMSTR*/
199 0x00000001 /*ODTMAP*/
202 0x00000000 /*DBGCMD*/
203 0x00000000 /*POISONCFG*/
208 0x0080008A /*RFSHTMG*/
209 0x121B2414 /*DRAMTMG0*/
210 0x000D041B /*DRAMTMG1*/
211 0x0607080E /*DRAMTMG2*/
212 0x0050400C /*DRAMTMG3*/
213 0x07040407 /*DRAMTMG4*/
214 0x06060303 /*DRAMTMG5*/
215 0x02020002 /*DRAMTMG6*/
216 0x00000202 /*DRAMTMG7*/
217 0x00001005 /*DRAMTMG8*/
218 0x000D041B /*DRAMTMG1*/4
219 0x06000600 /*ODTCFG*/
223 0x00080808 /*ADDRMAP1*/
224 0x00000000 /*ADDRMAP2*/
225 0x00000000 /*ADDRMAP3*/
226 0x00001F1F /*ADDRMAP4*/
227 0x07070707 /*ADDRMAP5*/
228 0x0F070707 /*ADDRMAP6*/
229 0x00000000 /*ADDRMAP9*/
230 0x00000000 /*ADDRMAP10*/
231 0x00000000 /*ADDRMAP11*/
236 0x00001201 /*SCHED*/1
237 0x01000001 /*PERFHPR1*/
238 0x08000200 /*PERFLPR1*/
239 0x08000400 /*PERFWR1*/
240 0x00010000 /*PCFGR_0*/
241 0x00000000 /*PCFGW_0*/
242 0x02100B03 /*PCFGQOS0_0*/
243 0x00800100 /*PCFGQOS1_0*/
244 0x01100B03 /*PCFGWQOS0_0*/
245 0x01000200 /*PCFGWQOS1_0*/
246 0x00010000 /*PCFGR_1*/
247 0x00000000 /*PCFGW_1*/
248 0x02100B03 /*PCFGQOS0_1*/
249 0x00800000 /*PCFGQOS1_1*/
250 0x01100B03 /*PCFGWQOS0_1*/
251 0x01000200 /*PCFGWQOS1_1*/
256 0x10400812 /*ACIOCR*/
261 0x0000007B /*ZQ0CR1*/
262 0x0000CE81 /*DX0GCR*/
263 0x0000CE81 /*DX1GCR*/
264 0x0000CE81 /*DX2GCR*/
265 0x0000CE81 /*DX3GCR*/
282 0x40000000 /*DX0DLLCR*/
283 0xFFFFFFFF /*DX0DQTR*/
284 0x3DB02000 /*DX0DQSTR*/
285 0x40000000 /*DX1DLLCR*/
286 0xFFFFFFFF /*DX1DQTR*/
287 0x3DB02000 /*DX1DQSTR*/
288 0x40000000 /*DX2DLLCR*/
289 0xFFFFFFFF /*DX2DQTR*/
290 0x3DB02000 /*DX2DQSTR*/
291 0x40000000 /*DX3DLLCR*/
292 0xFFFFFFFF /*DX3DQTR*/
293 0x3DB02000 /*DX3DQSTR*/