4 #include <soc/addressmap.h>
17 #define pack(src, src_bits, dst, dst_bits) { \
18 _Static_assert((1 ? src_bits) >= (0 ? src_bits) && (1 ? dst_bits) >= \
19 (0 ? dst_bits), "byte range flipped (must be MSB:LSB)"); \
20 _Static_assert((1 ? src_bits) - (0 ? src_bits) == (1 ? dst_bits) - \
21 (0 ? dst_bits), "src and dst byte range lengths differ"); \
22 u32 mask = 0xffffffff >> (31 - ((1 ? src_bits) - (0 ? src_bits))); \
23 dst &= ~(mask << (0 ? dst_bits)); \
24 dst |= ((src >> (0 ? src_bits)) & mask) << (0 ? dst_bits); \
27 #define s(param, src_bits, pmcreg, dst_bits) \
28 pack(sdram->param, src_bits, pmc->pmcreg, dst_bits)
30 #define c(value, pmcreg, dst_bits) \
31 pack(value, (1 ? dst_bits) - (0 ? dst_bits) : 0, pmc->pmcreg, dst_bits)
34 #define s32(param, pmcreg) pmc->pmcreg = sdram->param
37 #define c32(value, pmcreg) pmc->pmcreg = value
40 s(EmcClockSourceDll, 7:0,
scratch6, 23:16);
41 s(EmcClockSource, 31:29,
scratch6, 26:24);
42 s(EmcClockSourceDll, 31:29,
scratch6, 29:27);
43 s(EmcClockSourceDll, 11:10,
scratch6, 31:30);
44 s(ClkRstControllerPllmMisc2Override, 9:8,
scratch7, 1:0);
45 s(ClkRstControllerPllmMisc2Override, 2:1,
scratch7, 3:2);
46 s(EmcZqCalLpDdr4WarmBoot, 31:30,
scratch7, 5:4);
51 s(ClkRstControllerPllmMisc2Override, 13:13,
scratch7, 10:10);
52 s(ClkRstControllerPllmMisc2Override, 12:12,
scratch7, 11:11);
53 s(ClkRstControllerPllmMisc2Override, 11:11,
scratch7, 12:12);
54 s(ClkRstControllerPllmMisc2Override, 10:10,
scratch7, 13:13);
55 s(ClkRstControllerPllmMisc2Override, 5:5,
scratch7, 14:14);
56 s(ClkRstControllerPllmMisc2Override, 4:4,
scratch7, 15:15);
57 s(ClkRstControllerPllmMisc2Override, 3:3,
scratch7, 16:16);
58 s(ClkRstControllerPllmMisc2Override, 0:0,
scratch7, 17:17);
59 s(EmcZqCalLpDdr4WarmBoot, 1:0,
scratch7, 19:18);
60 s(EmcZqCalLpDdr4WarmBoot, 4:4,
scratch7, 20:20);
64 s(EmcFdpdCtrlCmdNoRamp, 0:0,
scratch13, 30:30);
72 s(EmcPmacroAutocalCfg0, 2:0,
scratch17, 22:20);
73 s(EmcPmacroAutocalCfg0, 10:8,
scratch17, 25:23);
74 s(EmcPmacroAutocalCfg0, 18:16,
scratch17, 28:26);
75 s(EmcPmacroAutocalCfg0, 26:24,
scratch17, 31:29);
76 s(EmcPmacroAutocalCfg1, 2:0,
scratch18, 22:20);
77 s(EmcPmacroAutocalCfg1, 10:8,
scratch18, 25:23);
78 s(EmcPmacroAutocalCfg1, 18:16,
scratch18, 28:26);
79 s(EmcPmacroAutocalCfg1, 26:24,
scratch18, 31:29);
80 s(EmcPmacroAutocalCfg2, 2:0,
scratch19, 22:20);
81 s(EmcPmacroAutocalCfg2, 10:8,
scratch19, 25:23);
82 s(EmcPmacroAutocalCfg2, 18:16,
scratch19, 28:26);
83 s(EmcPmacroAutocalCfg2, 26:24,
scratch19, 31:29);
100 s(EmcPmacroDdllBypass, 27:13,
scratch60, 26:12);
101 s(EmcPmacroDdllBypass, 31:29,
scratch60, 29:27);
121 s(EmcPmacroCommonPadTxCtrl, 3:0,
scratch67, 31:28);
126 s(EmcPmacroDdllPwrd0, 20:14,
scratch69, 18:12);
127 s(EmcPmacroDdllPwrd0, 28:22,
scratch69, 25:19);
128 s(EmcPmacroDdllPwrd0, 31:30,
scratch69, 27:26);
132 s(EmcPmacroDdllPwrd1, 20:14,
scratch70, 18:12);
133 s(EmcPmacroDdllPwrd1, 28:22,
scratch70, 25:19);
134 s(EmcPmacroDdllPwrd1, 31:30,
scratch70, 27:26);
138 s(EmcPmacroDdllPwrd2, 20:14,
scratch71, 18:12);
139 s(EmcPmacroDdllPwrd2, 28:22,
scratch71, 25:19);
140 s(EmcPmacroDdllPwrd2, 31:30,
scratch71, 27:26);
143 s(EmcPmacroIbVrefDq_0, 14:8,
scratch72, 13:7);
144 s(EmcPmacroIbVrefDq_0, 22:16,
scratch72, 20:14);
145 s(EmcPmacroIbVrefDq_0, 30:24,
scratch72, 27:21);
149 s(EmcPmacroIbVrefDq_1, 14:8,
scratch73, 13:7);
150 s(EmcPmacroIbVrefDq_1, 22:16,
scratch73, 20:14);
151 s(EmcPmacroIbVrefDq_1, 30:24,
scratch73, 27:21);
155 s(EmcPmacroIbVrefDqs_0, 14:8,
scratch74, 13:7);
156 s(EmcPmacroIbVrefDqs_0, 22:16,
scratch74, 20:14);
157 s(EmcPmacroIbVrefDqs_0, 30:24,
scratch74, 27:21);
161 s(EmcPmacroIbVrefDqs_1, 14:8,
scratch75, 13:7);
162 s(EmcPmacroIbVrefDqs_1, 22:16,
scratch75, 20:14);
163 s(EmcPmacroIbVrefDqs_1, 30:24,
scratch75, 27:21);
166 s(EmcPmacroDdllShortCmd_0, 6:0,
scratch76, 6:0);
167 s(EmcPmacroDdllShortCmd_0, 14:8,
scratch76, 13:7);
168 s(EmcPmacroDdllShortCmd_0, 22:16,
scratch76, 20:14);
169 s(EmcPmacroDdllShortCmd_0, 30:24,
scratch76, 27:21);
170 s(EmcPmacroCmdPadTxCtrl, 3:2,
scratch76, 29:28);
171 s(EmcPmacroCmdPadTxCtrl, 7:6,
scratch76, 31:30);
172 s(EmcPmacroDdllShortCmd_1, 6:0,
scratch77, 6:0);
173 s(EmcPmacroDdllShortCmd_1, 14:8,
scratch77, 13:7);
174 s(EmcPmacroDdllShortCmd_1, 22:16,
scratch77, 20:14);
175 s(EmcPmacroDdllShortCmd_1, 30:24,
scratch77, 27:21);
176 s(EmcPmacroCmdPadTxCtrl, 11:10,
scratch77, 29:28);
177 s(EmcPmacroCmdPadTxCtrl, 15:14,
scratch77, 31:30);
180 s(EmcAutoCalChannel, 27:16,
scratch78, 21:10);
181 s(EmcAutoCalChannel, 31:29,
scratch78, 24:22);
182 s(EmcConfigSampleDelay, 6:0,
scratch78, 31:25);
203 s(EmcPmacroCmdRxTermMode, 1:0,
scratch82, 25:24);
204 s(EmcPmacroCmdRxTermMode, 5:4,
scratch82, 27:26);
205 s(EmcPmacroCmdRxTermMode, 9:8,
scratch82, 29:28);
206 s(EmcPmacroCmdRxTermMode, 13:12,
scratch82, 31:30);
208 s(EmcPmacroDataRxTermMode, 1:0,
scratch83, 25:24);
209 s(EmcPmacroDataRxTermMode, 5:4,
scratch83, 27:26);
210 s(EmcPmacroDataRxTermMode, 9:8,
scratch83, 29:28);
211 s(EmcPmacroDataRxTermMode, 13:12,
scratch83, 31:30);
223 s(EmcPmacroCmdCtrl0, 21:16,
scratch89, 17:12);
224 s(EmcPmacroCmdCtrl0, 29:24,
scratch89, 23:18);
227 s(EmcPmacroCmdCtrl1, 21:16,
scratch90, 17:12);
228 s(EmcPmacroCmdCtrl1, 29:24,
scratch90, 23:18);
231 s(EmcPmacroVttgenCtrl2, 23:0,
scratch91, 23:0);
234 s(EmcPmacroCmdPadRxCtrl, 2:0,
scratch92, 2:0);
235 s(EmcPmacroCmdPadRxCtrl, 5:4,
scratch92, 4:3);
236 s(EmcPmacroCmdPadRxCtrl, 10:8,
scratch92, 7:5);
237 s(EmcPmacroCmdPadRxCtrl, 22:12,
scratch92, 18:8);
238 s(EmcPmacroCmdPadRxCtrl, 28:24,
scratch92, 23:19);
241 s(EmcPmacroDataPadRxCtrl, 2:0,
scratch93, 2:0);
242 s(EmcPmacroDataPadRxCtrl, 5:4,
scratch93, 4:3);
243 s(EmcPmacroDataPadRxCtrl, 10:8,
scratch93, 7:5);
244 s(EmcPmacroDataPadRxCtrl, 22:12,
scratch93, 18:8);
245 s(EmcPmacroDataPadRxCtrl, 28:24,
scratch93, 23:19);
253 s(EmcPmacroCmdCtrl2, 21:16,
scratch95, 16:11);
254 s(EmcPmacroCmdCtrl2, 29:24,
scratch95, 22:17);
256 s(EmcPmacroQuseDdllRank0_0, 10:0,
scratch96, 10:0);
257 s(EmcPmacroQuseDdllRank0_0, 26:16,
scratch96, 21:11);
261 s(EmcPmacroQuseDdllRank0_1, 10:0,
scratch97, 10:0);
262 s(EmcPmacroQuseDdllRank0_1, 26:16,
scratch97, 21:11);
264 s(EmcPmacroQuseDdllRank0_2, 10:0,
scratch98, 10:0);
265 s(EmcPmacroQuseDdllRank0_2, 26:16,
scratch98, 21:11);
267 s(EmcPmacroQuseDdllRank0_3, 10:0,
scratch99, 10:0);
268 s(EmcPmacroQuseDdllRank0_3, 26:16,
scratch99, 21:11);
272 s(EmcPmacroQuseDdllRank0_4, 10:0,
scratch100, 10:0);
273 s(EmcPmacroQuseDdllRank0_4, 26:16,
scratch100, 21:11);
275 s(McEmemArbRing1Throttle, 20:16,
scratch100, 31:27);
276 s(EmcPmacroQuseDdllRank0_5, 10:0,
scratch101, 10:0);
277 s(EmcPmacroQuseDdllRank0_5, 26:16,
scratch101, 21:11);
278 s(EmcPmacroQuseDdllRank1_0, 10:0,
scratch102, 10:0);
279 s(EmcPmacroQuseDdllRank1_0, 26:16,
scratch102, 21:11);
282 s(EmcPmacroQuseDdllRank1_1, 10:0,
scratch103, 10:0);
283 s(EmcPmacroQuseDdllRank1_1, 26:16,
scratch103, 21:11);
286 s(EmcPmacroQuseDdllRank1_2, 10:0,
scratch104, 10:0);
287 s(EmcPmacroQuseDdllRank1_2, 26:16,
scratch104, 21:11);
291 s(EmcPmacroQuseDdllRank1_3, 10:0,
scratch105, 10:0);
292 s(EmcPmacroQuseDdllRank1_3, 26:16,
scratch105, 21:11);
295 s(EmcPmacroQuseDdllRank1_4, 10:0,
scratch106, 10:0);
296 s(EmcPmacroQuseDdllRank1_4, 26:16,
scratch106, 21:11);
300 s(EmcPmacroQuseDdllRank1_5, 10:0,
scratch107, 10:0);
301 s(EmcPmacroQuseDdllRank1_5, 26:16,
scratch107, 21:11);
305 s(EmcPmacroObDdllLongDqRank0_0, 10:0,
scratch108, 10:0);
306 s(EmcPmacroObDdllLongDqRank0_0, 26:16,
scratch108, 21:11);
308 s(EmcPmacroDataPadTxCtrl, 11:10,
scratch108, 30:29);
310 s(EmcPmacroObDdllLongDqRank0_1, 10:0,
scratch109, 10:0);
311 s(EmcPmacroObDdllLongDqRank0_1, 26:16,
scratch109, 21:11);
313 s(EmcPmacroDataPadTxCtrl, 15:14,
scratch109, 30:29);
315 s(EmcPmacroObDdllLongDqRank0_2, 10:0,
scratch110, 10:0);
316 s(EmcPmacroObDdllLongDqRank0_2, 26:16,
scratch110, 21:11);
321 s(EmcPmacroObDdllLongDqRank0_3, 10:0,
scratch111, 10:0);
322 s(EmcPmacroObDdllLongDqRank0_3, 26:16,
scratch111, 21:11);
326 s(EmcPmacroObDdllLongDqRank0_4, 10:0,
scratch112, 10:0);
327 s(EmcPmacroObDdllLongDqRank0_4, 26:16,
scratch112, 21:11);
328 s(EmcPmacroDdllShortCmd_2, 6:0,
scratch112, 28:22);
330 s(EmcPmacroObDdllLongDqRank0_5, 10:0,
scratch113, 10:0);
331 s(EmcPmacroObDdllLongDqRank0_5, 26:16,
scratch113, 21:11);
335 s(EmcPmacroObDdllLongDqRank1_0, 10:0,
scratch114, 10:0);
336 s(EmcPmacroObDdllLongDqRank1_0, 26:16,
scratch114, 21:11);
340 s(EmcPmacroObDdllLongDqRank1_1, 10:0,
scratch115, 10:0);
341 s(EmcPmacroObDdllLongDqRank1_1, 26:16,
scratch115, 21:11);
345 s(EmcPmacroObDdllLongDqRank1_2, 10:0,
scratch123, 10:0);
346 s(EmcPmacroObDdllLongDqRank1_2, 26:16,
scratch123, 21:11);
350 s(EmcPmacroObDdllLongDqRank1_3, 10:0,
scratch124, 10:0);
351 s(EmcPmacroObDdllLongDqRank1_3, 26:16,
scratch124, 21:11);
354 s(EmcPmacroObDdllLongDqRank1_4, 10:0,
scratch125, 10:0);
355 s(EmcPmacroObDdllLongDqRank1_4, 26:16,
scratch125, 21:11);
359 s(EmcPmacroObDdllLongDqRank1_5, 10:0,
scratch126, 10:0);
360 s(EmcPmacroObDdllLongDqRank1_5, 26:16,
scratch126, 21:11);
364 s(EmcPmacroObDdllLongDqsRank0_0, 10:0,
scratch127, 10:0);
365 s(EmcPmacroObDdllLongDqsRank0_0, 26:16,
scratch127, 21:11);
368 s(EmcPmacroObDdllLongDqsRank0_1, 10:0,
scratch128, 10:0);
369 s(EmcPmacroObDdllLongDqsRank0_1, 26:16,
scratch128, 21:11);
372 s(EmcPmacroObDdllLongDqsRank0_2, 10:0,
scratch129, 10:0);
373 s(EmcPmacroObDdllLongDqsRank0_2, 26:16,
scratch129, 21:11);
377 s(EmcPmacroObDdllLongDqsRank0_3, 10:0,
scratch130, 10:0);
378 s(EmcPmacroObDdllLongDqsRank0_3, 26:16,
scratch130, 21:11);
381 s(EmcPmacroObDdllLongDqsRank0_4, 10:0,
scratch131, 10:0);
382 s(EmcPmacroObDdllLongDqsRank0_4, 26:16,
scratch131, 21:11);
385 s(EmcPmacroObDdllLongDqsRank0_5, 10:0,
scratch132, 10:0);
386 s(EmcPmacroObDdllLongDqsRank0_5, 26:16,
scratch132, 21:11);
390 s(EmcPmacroObDdllLongDqsRank1_0, 10:0,
scratch133, 10:0);
391 s(EmcPmacroObDdllLongDqsRank1_0, 26:16,
scratch133, 21:11);
394 s(EmcPmacroObDdllLongDqsRank1_1, 10:0,
scratch134, 10:0);
395 s(EmcPmacroObDdllLongDqsRank1_1, 26:16,
scratch134, 21:11);
398 s(EmcPmacroObDdllLongDqsRank1_2, 10:0,
scratch135, 10:0);
399 s(EmcPmacroObDdllLongDqsRank1_2, 26:16,
scratch135, 21:11);
402 s(EmcPmacroObDdllLongDqsRank1_3, 10:0,
scratch136, 10:0);
403 s(EmcPmacroObDdllLongDqsRank1_3, 26:16,
scratch136, 21:11);
407 s(EmcPmacroObDdllLongDqsRank1_4, 10:0,
scratch137, 10:0);
408 s(EmcPmacroObDdllLongDqsRank1_4, 26:16,
scratch137, 21:11);
411 s(EmcPmacroObDdllLongDqsRank1_5, 10:0,
scratch138, 10:0);
412 s(EmcPmacroObDdllLongDqsRank1_5, 26:16,
scratch138, 21:11);
415 s(EmcPmacroIbDdllLongDqsRank0_0, 10:0,
scratch139, 10:0);
416 s(EmcPmacroIbDdllLongDqsRank0_0, 26:16,
scratch139, 21:11);
420 s(EmcPmacroIbDdllLongDqsRank0_1, 10:0,
scratch140, 10:0);
421 s(EmcPmacroIbDdllLongDqsRank0_1, 26:16,
scratch140, 21:11);
424 s(EmcPmacroIbDdllLongDqsRank0_2, 10:0,
scratch141, 10:0);
425 s(EmcPmacroIbDdllLongDqsRank0_2, 26:16,
scratch141, 21:11);
428 s(EmcPmacroIbDdllLongDqsRank0_3, 10:0,
scratch142, 10:0);
429 s(EmcPmacroIbDdllLongDqsRank0_3, 26:16,
scratch142, 21:11);
432 s(EmcPmacroIbDdllLongDqsRank1_0, 10:0,
scratch143, 10:0);
433 s(EmcPmacroIbDdllLongDqsRank1_0, 26:16,
scratch143, 21:11);
437 s(EmcPmacroIbDdllLongDqsRank1_1, 10:0,
scratch144, 10:0);
438 s(EmcPmacroIbDdllLongDqsRank1_1, 26:16,
scratch144, 21:11);
442 s(EmcPmacroIbDdllLongDqsRank1_2, 10:0,
scratch145, 10:0);
443 s(EmcPmacroIbDdllLongDqsRank1_2, 26:16,
scratch145, 21:11);
446 s(EmcPmacroIbDdllLongDqsRank1_3, 10:0,
scratch146, 10:0);
447 s(EmcPmacroIbDdllLongDqsRank1_3, 26:16,
scratch146, 21:11);
452 s(EmcPmacroDdllLongCmd_0, 26:16,
scratch147, 21:11);
456 s(EmcPmacroDdllLongCmd_1, 26:16,
scratch148, 21:11);
460 s(EmcPmacroDdllLongCmd_2, 26:16,
scratch149, 21:11);
464 s(EmcPmacroDdllLongCmd_3, 26:16,
scratch150, 21:11);
483 s(EmcPmacroDdllLongCmd_4, 10:0,
scratch154, 31:21);
485 s(McEmemArbOutstandingReq, 8:0,
scratch155, 29:21);
486 s(McEmemArbOutstandingReq, 31:30,
scratch155, 31:30);
520 s(EmcPmacroAutocalCfgCommon, 5:0,
scratch164, 23:18);
521 s(EmcPmacroAutocalCfgCommon, 13:8,
scratch164, 29:24);
522 s(EmcPmacroAutocalCfgCommon, 16:16,
scratch164, 30:30);
608 s(EmcPmacroTxSelClkSrc0, 27:16,
scratch175, 29:18);
617 s(EmcPmacroTxSelClkSrc1, 19:16,
scratch176, 31:28);
624 s(EmcPmacroTxSelClkSrc1, 27:20,
scratch177, 25:18);
633 s(EmcPmacroTxSelClkSrc3, 23:16,
scratch178, 31:24);
640 s(EmcPmacroTxSelClkSrc3, 27:24,
scratch179, 21:18);
642 s(EmcPmacroCmdBrickCtrlFdpd, 17:0,
scratch180, 17:0);
643 s(EmcPmacroTxSelClkSrc2, 11:10,
scratch180, 19:18);
644 s(EmcPmacroTxSelClkSrc2, 27:16,
scratch180, 31:20);
645 s(EmcPmacroDataBrickCtrlFdpd, 17:0,
scratch181, 17:0);
647 s(EmcPmacroTxSelClkSrc4, 17:16,
scratch181, 31:30);
650 s(McEmemArbRefpbBankCtrl, 14:8,
scratch182, 30:24);
651 s(McEmemArbRefpbBankCtrl, 31:31,
scratch182, 31:31);
654 s(EmcPmacroTxSelClkSrc4, 27:18,
scratch183, 26:17);
658 s(EmcPmacroTxSelClkSrc5, 23:16,
scratch184, 31:24);
667 s(EmcPmacroTxSelClkSrc5, 27:24,
scratch185, 20:17);
671 s(EmcPmacroCmdPadTxCtrl, 13:12,
scratch185, 28:27);
672 s(EmcPmacroCmdPadTxCtrl, 16:16,
scratch185, 29:29);
673 s(EmcPmacroCmdPadTxCtrl, 21:20,
scratch185, 31:30);
688 s(EmcPmacroCmdPadTxCtrl, 27:24,
scratch190, 19:16);
692 s(EmcPmacroDataPadTxCtrl, 13:12,
scratch190, 27:26);
693 s(EmcPmacroDataPadTxCtrl, 16:16,
scratch190, 28:28);
694 s(EmcPmacroDataPadTxCtrl, 21:20,
scratch190, 30:29);
695 s(EmcPmacroDataPadTxCtrl, 24:24,
scratch190, 31:31);
701 s(EmcZcalWarmColdBootEnables, 1:0,
scratch11, 31:30);
702 s(EmcCfgDigDllPeriodWarmBoot, 1:0,
scratch12, 31:30);
717 s(McClkenOverrideAllWarmBoot, 0:0,
scratch58, 31:31);
718 s(EmcClkenOverrideAllWarmBoot, 0:0,
scratch59, 30:30);
719 s(EmcMrsWarmBootEnable, 0:0,
scratch59, 31:31);
721 s(EmcWarmBootExtraModeRegWriteEnable, 0:0,
scratch60, 31:31);
722 s(ClkRstControllerPllmMisc2OverrideEnable, 0:0,
scratch61, 30:30);
726 s(AhbArbitrationXbarCtrlMemInitDone, 0:0,
scratch68, 31:31);
729 s(EmcTimingControlWait, 7:0,
scratch86, 31:24);
730 s(EmcZcalWarmBootWait, 7:0,
scratch87, 31:24);
739 s(EmcMrwLpddr2ZcalWarmBoot, 23:16,
scratch5, 7:0);
740 s(EmcMrwLpddr2ZcalWarmBoot, 7:0,
scratch5, 15:8);
741 s(EmcWarmBootMrwExtra, 23:16,
scratch5, 23:16);
742 s(EmcWarmBootMrwExtra, 7:0,
scratch5, 31:24);
743 s(EmcMrwLpddr2ZcalWarmBoot, 31:30,
scratch6, 1:0);
744 s(EmcWarmBootMrwExtra, 31:30,
scratch6, 3:2);
745 s(EmcMrwLpddr2ZcalWarmBoot, 27:26,
scratch6, 5:4);
746 s(EmcWarmBootMrwExtra, 27:26,
scratch6, 7:6);
766 s(EmcWarmBootMrwExtra, 23:16,
scratch16, 15:8);
767 s(EmcWarmBootMrwExtra, 27:26,
scratch16, 17:16);
768 s(EmcWarmBootMrwExtra, 31:30,
scratch16, 19:18);
790 s(EmcWarmBootMrsExtra, 13:0,
scratch9, 13:0);
796 s(EmcWarmBootMrsExtra, 31:30,
scratch9, 25:24);
797 s(EmcWarmBootMrsExtra, 21:20,
scratch9, 27:26);
798 s(EmcZqCalDdr3WarmBoot, 31:30,
scratch9, 29:28);
803 s(EmcWarmBootMrsExtra, 27:27,
scratch10, 8:8);
804 s(EmcWarmBootMrsExtra, 26:26,
scratch10, 9:9);
805 s(EmcZqCalDdr3WarmBoot, 0:0,
scratch10, 10:10);
806 s(EmcZqCalDdr3WarmBoot, 4:4,
scratch10, 11:11);
1008 s(PllMInputDivider, 7:0,
scratch2, 7:0);
1009 s(PllMFeedbackDivider, 7:0,
scratch2, 15:8);
1010 s(PllMPostDivider, 4:0,
scratch2, 20:16);
1018 s(PllMInputDivider, 7:0,
scratch3, 7:0);
#define printk(level,...)
#define BIOS_CRIT
BIOS_CRIT - Recovery unlikely.
static struct tegra_pmc_regs * pmc
Defines the SDRAM parameter structure.
@ NvBootMemoryType_LpDdr2
void sdram_lp0_save_params(const struct sdram_params *sdram)
@ NvBootMemoryType_LpDdr4
#define s(param, src_bits, pmcreg, dst_bits)
#define c32(value, pmcreg)
#define c(value, pmcreg, dst_bits)
#define s32(param, pmcreg)