Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
CTCaer
GitHub Repository: CTCaer/hekate
Path: blob/master/modules/hekate_libsys_lp0/sys_sdramlp0.c
3694 views
1
/*
2
* Copyright (c) 2013, NVIDIA CORPORATION. All rights reserved.
3
* Copyright 2014 Google Inc.
4
* Copyright (c) 2018 naehrwert
5
* Copyright (c) 2018-2026 CTCaer
6
*
7
* This program is free software; you can redistribute it and/or modify it
8
* under the terms and conditions of the GNU General Public License,
9
* version 2, as published by the Free Software Foundation.
10
*
11
* This program is distributed in the hope it will be useful, but WITHOUT
12
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
14
* more details.
15
*/
16
17
#include "t210.h"
18
#include "pmc_t210.h"
19
#include "sdram_lp0_param_t210.h"
20
#include "sdram_lp0_param_t210b01.h"
21
#include <module.h>
22
23
#define pack(src, src_bits, dst, dst_bits) { \
24
u32 mask = 0xFFFFFFFF >> (31 - ((1 ? src_bits) - (0 ? src_bits))); \
25
dst &= ~(mask << (0 ? dst_bits)); \
26
dst |= ((src >> (0 ? src_bits)) & mask) << (0 ? dst_bits); \
27
}
28
29
#define s(param, src_bits, pmcreg, dst_bits) \
30
pack(sdram->param, src_bits, pmc->pmc_ ## pmcreg, dst_bits)
31
32
#define c(value, pmcreg, dst_bits) \
33
pack(value, (1 ? dst_bits) - (0 ? dst_bits) : 0, pmc->pmc_ ## pmcreg, dst_bits)
34
35
/* 32 bits version of s macro */
36
#define s32(param, pmcreg) pmc->pmc_ ## pmcreg = sdram->param
37
38
/* 32 bits version c macro */
39
#define c32(value, pmcreg) pmc->pmc_ ## pmcreg = value
40
41
/*
42
* This function reads SDRAM parameters from the common BCT format and
43
* writes them into PMC scratch registers (where the BootROM expects them
44
* on LP0 resume).
45
*/
46
static void _sdram_lp0_save_params_t210(sdram_params_t210_t *sdram)
47
{
48
pmc_regs_t210_t *pmc = (pmc_regs_t210_t *)PMC_BASE;
49
50
// Patch full access to carveout parameters and unprotect their regions.
51
sdram->McGeneralizedCarveout1Cfg0 = 0;
52
sdram->McGeneralizedCarveout2Cfg0 = 0;
53
sdram->McGeneralizedCarveout3Cfg0 = 0;
54
sdram->McGeneralizedCarveout4Cfg0 = 0;
55
sdram->McGeneralizedCarveout5Cfg0 = 0;
56
57
// Patch SDRAM parameters.
58
u32 t0 = (sdram->EmcSwizzleRank0Byte0 << 5 >> 29) > (sdram->EmcSwizzleRank0Byte0 << 1 >> 29);
59
u32 t1 = (t0 & 0xFFFFFFEF) | (((sdram->EmcSwizzleRank1Byte0 << 5 >> 29) > (sdram->EmcSwizzleRank1Byte0 << 1 >> 29)) << 4);
60
u32 t2 = (t1 & 0xFFFFFFFD) | (((sdram->EmcSwizzleRank0Byte1 << 5 >> 29) > (sdram->EmcSwizzleRank0Byte1 << 1 >> 29)) << 1);
61
u32 t3 = (t2 & 0xFFFFFFDF) | (((sdram->EmcSwizzleRank1Byte1 << 5 >> 29) > (sdram->EmcSwizzleRank1Byte1 << 1 >> 29)) << 5);
62
u32 t4 = (t3 & 0xFFFFFFFB) | (((sdram->EmcSwizzleRank0Byte2 << 5 >> 29) > (sdram->EmcSwizzleRank0Byte2 << 1 >> 29)) << 2);
63
u32 t5 = (t4 & 0xFFFFFFBF) | (((sdram->EmcSwizzleRank1Byte2 << 5 >> 29) > (sdram->EmcSwizzleRank1Byte2 << 1 >> 29)) << 6);
64
u32 t6 = (t5 & 0xFFFFFFF7) | (((sdram->EmcSwizzleRank0Byte3 << 5 >> 29) > (sdram->EmcSwizzleRank0Byte3 << 1 >> 29)) << 3);
65
u32 t7 = (t6 & 0xFFFFFF7F) | (((sdram->EmcSwizzleRank1Byte3 << 5 >> 29) > (sdram->EmcSwizzleRank1Byte3 << 1 >> 29)) << 7);
66
sdram->SwizzleRankByteEncode = t7;
67
sdram->EmcBctSpare2 = 0x40000DD8;
68
sdram->EmcBctSpare3 = t7;
69
70
s(EmcClockSource, 7:0, scratch6, 15:8);
71
s(EmcClockSourceDll, 7:0, scratch6, 23:16);
72
s(EmcClockSource, 31:29, scratch6, 26:24);
73
s(EmcClockSourceDll, 31:29, scratch6, 29:27);
74
s(EmcClockSourceDll, 11:10, scratch6, 31:30);
75
s(ClkRstControllerPllmMisc2Override, 9:8, scratch7, 1:0);
76
s(ClkRstControllerPllmMisc2Override, 2:1, scratch7, 3:2);
77
s(EmcZqCalLpDdr4WarmBoot, 31:30, scratch7, 5:4);
78
s(EmcClockSource, 15:15, scratch7, 6:6);
79
s(EmcClockSource, 26:26, scratch7, 7:7);
80
s(EmcClockSource, 20:20, scratch7, 8:8);
81
s(EmcClockSource, 19:19, scratch7, 9:9);
82
s(ClkRstControllerPllmMisc2Override, 13:13, scratch7, 10:10);
83
s(ClkRstControllerPllmMisc2Override, 12:12, scratch7, 11:11);
84
s(ClkRstControllerPllmMisc2Override, 11:11, scratch7, 12:12);
85
s(ClkRstControllerPllmMisc2Override, 10:10, scratch7, 13:13);
86
s(ClkRstControllerPllmMisc2Override, 5:5, scratch7, 14:14);
87
s(ClkRstControllerPllmMisc2Override, 4:4, scratch7, 15:15);
88
s(ClkRstControllerPllmMisc2Override, 3:3, scratch7, 16:16);
89
s(ClkRstControllerPllmMisc2Override, 0:0, scratch7, 17:17);
90
s(EmcZqCalLpDdr4WarmBoot, 1:0, scratch7, 19:18);
91
s(EmcZqCalLpDdr4WarmBoot, 4:4, scratch7, 20:20);
92
s(EmcOdtWrite, 5:0, scratch7, 26:21);
93
s(EmcOdtWrite, 11:8, scratch7, 30:27);
94
s(EmcOdtWrite, 31:31, scratch7, 31:31);
95
s(EmcFdpdCtrlCmdNoRamp, 0:0, scratch13, 30:30);
96
s(EmcCfgPipeClk, 0:0, scratch13, 31:31);
97
s(McEmemArbMisc2, 0:0, scratch14, 30:30);
98
s(McDaCfg0, 0:0, scratch14, 31:31);
99
s(EmcQRst, 6:0, scratch15, 26:20);
100
s(EmcQRst, 20:16, scratch15, 31:27);
101
s(EmcPmacroCmdTxDrv, 5:0, scratch16, 25:20);
102
s(EmcPmacroCmdTxDrv, 13:8, scratch16, 31:26);
103
s(EmcPmacroAutocalCfg0, 2:0, scratch17, 22:20);
104
s(EmcPmacroAutocalCfg0, 10:8, scratch17, 25:23);
105
s(EmcPmacroAutocalCfg0, 18:16, scratch17, 28:26);
106
s(EmcPmacroAutocalCfg0, 26:24, scratch17, 31:29);
107
s(EmcPmacroAutocalCfg1, 2:0, scratch18, 22:20);
108
s(EmcPmacroAutocalCfg1, 10:8, scratch18, 25:23);
109
s(EmcPmacroAutocalCfg1, 18:16, scratch18, 28:26);
110
s(EmcPmacroAutocalCfg1, 26:24, scratch18, 31:29);
111
s(EmcPmacroAutocalCfg2, 2:0, scratch19, 22:20);
112
s(EmcPmacroAutocalCfg2, 10:8, scratch19, 25:23);
113
s(EmcPmacroAutocalCfg2, 18:16, scratch19, 28:26);
114
s(EmcPmacroAutocalCfg2, 26:24, scratch19, 31:29);
115
s32(EmcCfgRsv,scratch22);
116
s32(EmcAutoCalConfig, scratch23);
117
s32(EmcAutoCalVrefSel0, scratch24);
118
s32(EmcPmacroBrickCtrlRfu1, scratch25);
119
s32(EmcPmacroBrickCtrlRfu2, scratch26);
120
s32(EmcPmcScratch1, scratch27);
121
s32(EmcPmcScratch2, scratch28);
122
s32(EmcPmcScratch3, scratch29);
123
s32(McEmemArbDaTurns, scratch30);
124
s(EmcFbioSpare, 31:24, scratch58, 7:0);
125
s(EmcFbioSpare, 23:16, scratch58, 15:8);
126
s(EmcFbioSpare, 15:8, scratch58, 23:16);
127
s(EmcFbioSpare, 7:2, scratch58, 29:24);
128
s(EmcFbioSpare, 0:0, scratch58, 30:30);
129
s(EmcDllCfg0, 29:0, scratch59, 29:0);
130
s(EmcPmacroDdllBypass, 11:0, scratch60, 11:0);
131
s(EmcPmacroDdllBypass, 27:13, scratch60, 26:12);
132
s(EmcPmacroDdllBypass, 31:29, scratch60, 29:27);
133
s(McEmemArbMisc0, 14:0, scratch61, 14:0);
134
s(McEmemArbMisc0, 30:16, scratch61, 29:15);
135
s(EmcFdpdCtrlCmd, 16:0, scratch62, 16:0);
136
s(EmcFdpdCtrlCmd, 31:20, scratch62, 28:17);
137
s(EmcAutoCalConfig2, 27:0, scratch63, 27:0);
138
s(EmcBurstRefreshNum, 3:0, scratch63, 31:28);
139
s(EmcPmacroZctrl, 27:0, scratch64, 27:0);
140
s(EmcTppd, 3:0, scratch64, 31:28);
141
s(EmcCfgDigDll, 10:0, scratch65, 10:0);
142
s(EmcCfgDigDll, 25:12, scratch65, 24:11);
143
s(EmcCfgDigDll, 27:27, scratch65, 25:25);
144
s(EmcCfgDigDll, 31:30, scratch65, 27:26);
145
s(EmcR2r, 3:0, scratch65, 31:28);
146
s(EmcFdpdCtrlDq, 16:0, scratch66, 16:0);
147
s(EmcFdpdCtrlDq, 28:20, scratch66, 25:17);
148
s(EmcFdpdCtrlDq, 31:30, scratch66, 27:26);
149
s(EmcW2w, 3:0, scratch66, 31:28);
150
s(EmcPmacroTxPwrd4, 13:0, scratch67, 13:0);
151
s(EmcPmacroTxPwrd4, 29:16, scratch67, 27:14);
152
s(EmcPmacroCommonPadTxCtrl, 3:0, scratch67, 31:28);
153
s(EmcPmacroTxPwrd5, 13:0, scratch68, 13:0);
154
s(EmcPmacroTxPwrd5, 29:16, scratch68, 27:14);
155
s(EmcPmacroDdllPwrd0, 4:0, scratch69, 4:0);
156
s(EmcPmacroDdllPwrd0, 12:6, scratch69, 11:5);
157
s(EmcPmacroDdllPwrd0, 20:14, scratch69, 18:12);
158
s(EmcPmacroDdllPwrd0, 28:22, scratch69, 25:19);
159
s(EmcPmacroDdllPwrd0, 31:30, scratch69, 27:26);
160
s(EmcCfg, 4:4, scratch69, 31:31);
161
s(EmcPmacroDdllPwrd1, 4:0, scratch70, 4:0);
162
s(EmcPmacroDdllPwrd1, 12:6, scratch70, 11:5);
163
s(EmcPmacroDdllPwrd1, 20:14, scratch70, 18:12);
164
s(EmcPmacroDdllPwrd1, 28:22, scratch70, 25:19);
165
s(EmcPmacroDdllPwrd1, 31:30, scratch70, 27:26);
166
s(EmcCfg, 5:5, scratch70, 31:31);
167
s(EmcPmacroDdllPwrd2, 4:0, scratch71, 4:0);
168
s(EmcPmacroDdllPwrd2, 12:6, scratch71, 11:5);
169
s(EmcPmacroDdllPwrd2, 20:14, scratch71, 18:12);
170
s(EmcPmacroDdllPwrd2, 28:22, scratch71, 25:19);
171
s(EmcPmacroDdllPwrd2, 31:30, scratch71, 27:26);
172
s(EmcFbioCfg5, 23:20, scratch71, 31:28);
173
s(EmcPmacroIbVrefDq_0, 6:0, scratch72, 6:0);
174
s(EmcPmacroIbVrefDq_0, 14:8, scratch72, 13:7);
175
s(EmcPmacroIbVrefDq_0, 22:16, scratch72, 20:14);
176
s(EmcPmacroIbVrefDq_0, 30:24, scratch72, 27:21);
177
s(EmcFbioCfg5, 15:13, scratch72, 30:28);
178
s(EmcCfg, 6:6, scratch72, 31:31);
179
s(EmcPmacroIbVrefDq_1, 6:0, scratch73, 6:0);
180
s(EmcPmacroIbVrefDq_1, 14:8, scratch73, 13:7);
181
s(EmcPmacroIbVrefDq_1, 22:16, scratch73, 20:14);
182
s(EmcPmacroIbVrefDq_1, 30:24, scratch73, 27:21);
183
s(EmcCfg2, 5:3, scratch73, 30:28);
184
s(EmcCfg, 7:7, scratch73, 31:31);
185
s(EmcPmacroIbVrefDqs_0, 6:0, scratch74, 6:0);
186
s(EmcPmacroIbVrefDqs_0, 14:8, scratch74, 13:7);
187
s(EmcPmacroIbVrefDqs_0, 22:16, scratch74, 20:14);
188
s(EmcPmacroIbVrefDqs_0, 30:24, scratch74, 27:21);
189
s(EmcCfg, 17:16, scratch74, 29:28);
190
s(EmcFbioCfg5, 1:0, scratch74, 31:30);
191
s(EmcPmacroIbVrefDqs_1, 6:0, scratch75, 6:0);
192
s(EmcPmacroIbVrefDqs_1, 14:8, scratch75, 13:7);
193
s(EmcPmacroIbVrefDqs_1, 22:16, scratch75, 20:14);
194
s(EmcPmacroIbVrefDqs_1, 30:24, scratch75, 27:21);
195
s(EmcFbioCfg5, 3:2, scratch75, 29:28);
196
s(EmcCfg2, 27:26, scratch75, 31:30);
197
s(EmcPmacroDdllShortCmd_0, 6:0, scratch76, 6:0);
198
s(EmcPmacroDdllShortCmd_0, 14:8, scratch76, 13:7);
199
s(EmcPmacroDdllShortCmd_0, 22:16, scratch76, 20:14);
200
s(EmcPmacroDdllShortCmd_0, 30:24, scratch76, 27:21);
201
s(EmcPmacroCmdPadTxCtrl, 3:2, scratch76, 29:28);
202
s(EmcPmacroCmdPadTxCtrl, 7:6, scratch76, 31:30);
203
s(EmcPmacroDdllShortCmd_1, 6:0, scratch77, 6:0);
204
s(EmcPmacroDdllShortCmd_1, 14:8, scratch77, 13:7);
205
s(EmcPmacroDdllShortCmd_1, 22:16, scratch77, 20:14);
206
s(EmcPmacroDdllShortCmd_1, 30:24, scratch77, 27:21);
207
s(EmcPmacroCmdPadTxCtrl, 11:10, scratch77, 29:28);
208
s(EmcPmacroCmdPadTxCtrl, 15:14, scratch77, 31:30);
209
s(EmcAutoCalChannel, 5:0, scratch78, 5:0);
210
s(EmcAutoCalChannel, 11:8, scratch78, 9:6);
211
s(EmcAutoCalChannel, 27:16, scratch78, 21:10);
212
s(EmcAutoCalChannel, 31:29, scratch78, 24:22);
213
s(EmcConfigSampleDelay, 6:0, scratch78, 31:25);
214
s(EmcPmacroRxTerm, 5:0, scratch79, 5:0);
215
s(EmcPmacroRxTerm, 13:8, scratch79, 11:6);
216
s(EmcPmacroRxTerm, 21:16, scratch79, 17:12);
217
s(EmcPmacroRxTerm, 29:24, scratch79, 23:18);
218
s(EmcRc, 7:0, scratch79, 31:24);
219
s(EmcPmacroDqTxDrv, 5:0, scratch80, 5:0);
220
s(EmcPmacroDqTxDrv, 13:8, scratch80, 11:6);
221
s(EmcPmacroDqTxDrv, 21:16, scratch80, 17:12);
222
s(EmcPmacroDqTxDrv, 29:24, scratch80, 23:18);
223
s(EmcSelDpdCtrl, 5:2, scratch80, 27:24);
224
s(EmcSelDpdCtrl, 8:8, scratch80, 28:28);
225
s(EmcSelDpdCtrl, 18:16, scratch80, 31:29);
226
s(EmcPmacroCaTxDrv, 5:0, scratch81, 5:0);
227
s(EmcPmacroCaTxDrv, 13:8, scratch81, 11:6);
228
s(EmcPmacroCaTxDrv, 21:16, scratch81, 17:12);
229
s(EmcPmacroCaTxDrv, 29:24, scratch81, 23:18);
230
s(EmcObdly, 5:0, scratch81, 29:24);
231
s(EmcObdly, 29:28, scratch81, 31:30);
232
s(EmcZcalInterval, 23:10, scratch82, 13:0);
233
s(EmcZcalInterval, 9:0, scratch82, 23:14);
234
s(EmcPmacroCmdRxTermMode, 1:0, scratch82, 25:24);
235
s(EmcPmacroCmdRxTermMode, 5:4, scratch82, 27:26);
236
s(EmcPmacroCmdRxTermMode, 9:8, scratch82, 29:28);
237
s(EmcPmacroCmdRxTermMode, 13:12, scratch82, 31:30);
238
s(EmcDataBrlshft0, 23:0, scratch83, 23:0);
239
s(EmcPmacroDataRxTermMode, 1:0, scratch83, 25:24);
240
s(EmcPmacroDataRxTermMode, 5:4, scratch83, 27:26);
241
s(EmcPmacroDataRxTermMode, 9:8, scratch83, 29:28);
242
s(EmcPmacroDataRxTermMode, 13:12, scratch83, 31:30);
243
s(EmcDataBrlshft1, 23:0, scratch84, 23:0);
244
s(McEmemArbTimingRc, 7:0, scratch84, 31:24);
245
s(EmcDqsBrlshft0, 23:0, scratch85, 23:0);
246
s(McEmemArbRsv, 7:0, scratch85, 31:24);
247
s(EmcDqsBrlshft1, 23:0, scratch86, 23:0);
248
s(EmcCfgPipe2, 11:0, scratch87, 11:0);
249
s(EmcCfgPipe2, 27:16, scratch87, 23:12);
250
s(EmcCfgPipe1, 11:0, scratch88, 11:0);
251
s(EmcCfgPipe1, 27:16, scratch88, 23:12);
252
s(EmcPmacroCmdCtrl0, 5:0, scratch89, 5:0);
253
s(EmcPmacroCmdCtrl0, 13:8, scratch89, 11:6);
254
s(EmcPmacroCmdCtrl0, 21:16, scratch89, 17:12);
255
s(EmcPmacroCmdCtrl0, 29:24, scratch89, 23:18);
256
s(EmcPmacroCmdCtrl1, 5:0, scratch90, 5:0);
257
s(EmcPmacroCmdCtrl1, 13:8, scratch90, 11:6);
258
s(EmcPmacroCmdCtrl1, 21:16, scratch90, 17:12);
259
s(EmcPmacroCmdCtrl1, 29:24, scratch90, 23:18);
260
s(EmcRas, 6:0, scratch90, 30:24);
261
s(EmcCfg, 8:8, scratch90, 31:31);
262
s(EmcPmacroVttgenCtrl2, 23:0, scratch91, 23:0);
263
s(EmcW2p, 6:0, scratch91, 30:24);
264
s(EmcCfg, 9:9, scratch91, 31:31);
265
s(EmcPmacroCmdPadRxCtrl, 2:0, scratch92, 2:0);
266
s(EmcPmacroCmdPadRxCtrl, 5:4, scratch92, 4:3);
267
s(EmcPmacroCmdPadRxCtrl, 10:8, scratch92, 7:5);
268
s(EmcPmacroCmdPadRxCtrl, 22:12, scratch92, 18:8);
269
s(EmcPmacroCmdPadRxCtrl, 28:24, scratch92, 23:19);
270
s(EmcQSafe, 6:0, scratch92, 30:24);
271
s(EmcCfg, 18:18, scratch92, 31:31);
272
s(EmcPmacroDataPadRxCtrl, 2:0, scratch93, 2:0);
273
s(EmcPmacroDataPadRxCtrl, 5:4, scratch93, 4:3);
274
s(EmcPmacroDataPadRxCtrl, 10:8, scratch93, 7:5);
275
s(EmcPmacroDataPadRxCtrl, 22:12, scratch93, 18:8);
276
s(EmcPmacroDataPadRxCtrl, 28:24, scratch93, 23:19);
277
s(EmcRdv, 6:0, scratch93, 30:24);
278
s(EmcCfg, 21:21, scratch93, 31:31);
279
s(McEmemArbDaCovers, 23:0, scratch94, 23:0);
280
s(EmcRw2Pden, 6:0, scratch94, 30:24);
281
s(EmcCfg, 22:22, scratch94, 31:31);
282
s(EmcPmacroCmdCtrl2, 5:0, scratch95, 5:0);
283
s(EmcPmacroCmdCtrl2, 13:9, scratch95, 10:6);
284
s(EmcPmacroCmdCtrl2, 21:16, scratch95, 16:11);
285
s(EmcPmacroCmdCtrl2, 29:24, scratch95, 22:17);
286
s(EmcRfcPb, 8:0, scratch95, 31:23);
287
s(EmcPmacroQuseDdllRank0_0, 10:0, scratch96, 10:0);
288
s(EmcPmacroQuseDdllRank0_0, 26:16, scratch96, 21:11);
289
s(EmcCfgUpdate, 2:0, scratch96, 24:22);
290
s(EmcCfgUpdate, 10:8, scratch96, 27:25);
291
s(EmcCfgUpdate, 31:28, scratch96, 31:28);
292
s(EmcPmacroQuseDdllRank0_1, 10:0, scratch97, 10:0);
293
s(EmcPmacroQuseDdllRank0_1, 26:16, scratch97, 21:11);
294
s(EmcRfc, 9:0, scratch97, 31:22);
295
s(EmcPmacroQuseDdllRank0_2, 10:0, scratch98, 10:0);
296
s(EmcPmacroQuseDdllRank0_2, 26:16, scratch98, 21:11);
297
s(EmcTxsr, 9:0, scratch98, 31:22);
298
s(EmcPmacroQuseDdllRank0_3, 10:0, scratch99, 10:0);
299
s(EmcPmacroQuseDdllRank0_3, 26:16, scratch99, 21:11);
300
s(EmcMc2EmcQ, 2:0, scratch99, 24:22);
301
s(EmcMc2EmcQ, 10:8, scratch99, 27:25);
302
s(EmcMc2EmcQ, 27:24, scratch99, 31:28);
303
s(EmcPmacroQuseDdllRank0_4, 10:0, scratch100, 10:0);
304
s(EmcPmacroQuseDdllRank0_4, 26:16, scratch100, 21:11);
305
s(McEmemArbRing1Throttle, 4:0, scratch100, 26:22);
306
s(McEmemArbRing1Throttle, 20:16, scratch100, 31:27);
307
s(EmcPmacroQuseDdllRank0_5, 10:0, scratch101, 10:0);
308
s(EmcPmacroQuseDdllRank0_5, 26:16, scratch101, 21:11);
309
s(EmcPmacroQuseDdllRank1_0, 10:0, scratch102, 10:0);
310
s(EmcPmacroQuseDdllRank1_0, 26:16, scratch102, 21:11);
311
s(EmcAr2Pden, 8:0, scratch102, 30:22);
312
s(EmcCfg, 23:23, scratch102, 31:31);
313
s(EmcPmacroQuseDdllRank1_1, 10:0, scratch103, 10:0);
314
s(EmcPmacroQuseDdllRank1_1, 26:16, scratch103, 21:11);
315
s(EmcRfcSlr, 8:0, scratch103, 30:22);
316
s(EmcCfg, 24:24, scratch103, 31:31);
317
s(EmcPmacroQuseDdllRank1_2, 10:0, scratch104, 10:0);
318
s(EmcPmacroQuseDdllRank1_2, 26:16, scratch104, 21:11);
319
s(EmcIbdly, 6:0, scratch104, 28:22);
320
s(EmcIbdly, 29:28, scratch104, 30:29);
321
s(EmcCfg, 25:25, scratch104, 31:31);
322
s(EmcPmacroQuseDdllRank1_3, 10:0, scratch105, 10:0);
323
s(EmcPmacroQuseDdllRank1_3, 26:16, scratch105, 21:11);
324
s(McEmemArbTimingRFCPB, 8:0, scratch105, 30:22);
325
s(EmcCfg, 26:26, scratch105, 31:31);
326
s(EmcPmacroQuseDdllRank1_4, 10:0, scratch106, 10:0);
327
s(EmcPmacroQuseDdllRank1_4, 26:16, scratch106, 21:11);
328
s(EmcTfaw, 6:0, scratch106, 28:22);
329
s(EmcPmacroDataPadTxCtrl, 3:2, scratch106, 30:29);
330
s(EmcCfg, 28:28, scratch106, 31:31);
331
s(EmcPmacroQuseDdllRank1_5, 10:0, scratch107, 10:0);
332
s(EmcPmacroQuseDdllRank1_5, 26:16, scratch107, 21:11);
333
s(EmcTClkStable, 6:0, scratch107, 28:22);
334
s(EmcPmacroDataPadTxCtrl, 7:6, scratch107, 30:29);
335
s(EmcCfg, 29:29, scratch107, 31:31);
336
s(EmcPmacroObDdllLongDqRank0_0, 10:0, scratch108, 10:0);
337
s(EmcPmacroObDdllLongDqRank0_0, 26:16, scratch108, 21:11);
338
s(EmcPdex2Mrr, 6:0, scratch108, 28:22);
339
s(EmcPmacroDataPadTxCtrl, 11:10, scratch108, 30:29);
340
s(EmcCfg, 30:30, scratch108, 31:31);
341
s(EmcPmacroObDdllLongDqRank0_1, 10:0, scratch109, 10:0);
342
s(EmcPmacroObDdllLongDqRank0_1, 26:16, scratch109, 21:11);
343
s(EmcRdvMask, 6:0, scratch109, 28:22);
344
s(EmcPmacroDataPadTxCtrl, 15:14, scratch109, 30:29);
345
s(EmcCfg, 31:31, scratch109, 31:31);
346
s(EmcPmacroObDdllLongDqRank0_2, 10:0, scratch110, 10:0);
347
s(EmcPmacroObDdllLongDqRank0_2, 26:16, scratch110, 21:11);
348
s(EmcRdvEarlyMask, 6:0, scratch110, 28:22);
349
s(EmcFbioCfg5, 4:4, scratch110, 29:29);
350
s(EmcFbioCfg5, 8:8, scratch110, 30:30);
351
s(EmcFbioCfg5, 10:10, scratch110, 31:31);
352
s(EmcPmacroObDdllLongDqRank0_3, 10:0, scratch111, 10:0);
353
s(EmcPmacroObDdllLongDqRank0_3, 26:16, scratch111, 21:11);
354
s(EmcRdvEarly, 6:0, scratch111, 28:22);
355
s(EmcFbioCfg5, 12:12, scratch111, 29:29);
356
s(EmcFbioCfg5, 25:24, scratch111, 31:30);
357
s(EmcPmacroObDdllLongDqRank0_4, 10:0, scratch112, 10:0);
358
s(EmcPmacroObDdllLongDqRank0_4, 26:16, scratch112, 21:11);
359
s(EmcPmacroDdllShortCmd_2, 6:0, scratch112, 28:22);
360
s(EmcFbioCfg5, 28:26, scratch112, 31:29);
361
s(EmcPmacroObDdllLongDqRank0_5, 10:0, scratch113, 10:0);
362
s(EmcPmacroObDdllLongDqRank0_5, 26:16, scratch113, 21:11);
363
s(McEmemArbTimingRp, 6:0, scratch113, 28:22);
364
s(EmcFbioCfg5, 31:30, scratch113, 30:29);
365
s(EmcCfg2, 0:0, scratch113, 31:31);
366
s(EmcPmacroObDdllLongDqRank1_0, 10:0, scratch114, 10:0);
367
s(EmcPmacroObDdllLongDqRank1_0, 26:16, scratch114, 21:11);
368
s(McEmemArbTimingRas, 6:0, scratch114, 28:22);
369
s(EmcCfg2, 2:1, scratch114, 30:29);
370
s(EmcCfg2, 7:7, scratch114, 31:31);
371
s(EmcPmacroObDdllLongDqRank1_1, 10:0, scratch115, 10:0);
372
s(EmcPmacroObDdllLongDqRank1_1, 26:16, scratch115, 21:11);
373
s(McEmemArbTimingFaw, 6:0, scratch115, 28:22);
374
s(EmcCfg2, 11:10, scratch115, 30:29);
375
s(EmcCfg2, 14:14, scratch115, 31:31);
376
s(EmcPmacroObDdllLongDqRank1_2, 10:0, scratch123, 10:0);
377
s(EmcPmacroObDdllLongDqRank1_2, 26:16, scratch123, 21:11);
378
s(McEmemArbTimingRap2Pre, 6:0, scratch123, 28:22);
379
s(EmcCfg2, 16:15, scratch123, 30:29);
380
s(EmcCfg2, 20:20, scratch123, 31:31);
381
s(EmcPmacroObDdllLongDqRank1_3, 10:0, scratch124, 10:0);
382
s(EmcPmacroObDdllLongDqRank1_3, 26:16, scratch124, 21:11);
383
s(McEmemArbTimingWap2Pre, 6:0, scratch124, 28:22);
384
s(EmcCfg2, 24:22, scratch124, 31:29);
385
s(EmcPmacroObDdllLongDqRank1_4, 10:0, scratch125, 10:0);
386
s(EmcPmacroObDdllLongDqRank1_4, 26:16, scratch125, 21:11);
387
s(McEmemArbTimingR2W, 6:0, scratch125, 28:22);
388
s(EmcCfg2, 25:25, scratch125, 29:29);
389
s(EmcCfg2, 29:28, scratch125, 31:30);
390
s(EmcPmacroObDdllLongDqRank1_5, 10:0, scratch126, 10:0);
391
s(EmcPmacroObDdllLongDqRank1_5, 26:16, scratch126, 21:11);
392
s(McEmemArbTimingW2R, 6:0, scratch126, 28:22);
393
s(EmcCfg2, 31:30, scratch126, 30:29);
394
s(EmcCfgPipe, 0:0, scratch126, 31:31);
395
s(EmcPmacroObDdllLongDqsRank0_0, 10:0, scratch127, 10:0);
396
s(EmcPmacroObDdllLongDqsRank0_0, 26:16, scratch127, 21:11);
397
s(EmcRp, 5:0, scratch127, 27:22);
398
s(EmcCfgPipe, 4:1, scratch127, 31:28);
399
s(EmcPmacroObDdllLongDqsRank0_1, 10:0, scratch128, 10:0);
400
s(EmcPmacroObDdllLongDqsRank0_1, 26:16, scratch128, 21:11);
401
s(EmcR2w, 5:0, scratch128, 27:22);
402
s(EmcCfgPipe, 8:5, scratch128, 31:28);
403
s(EmcPmacroObDdllLongDqsRank0_2, 10:0, scratch129, 10:0);
404
s(EmcPmacroObDdllLongDqsRank0_2, 26:16, scratch129, 21:11);
405
s(EmcW2r, 5:0, scratch129, 27:22);
406
s(EmcCfgPipe, 11:9, scratch129, 30:28);
407
s(EmcCfgPipe, 16:16, scratch129, 31:31);
408
s(EmcPmacroObDdllLongDqsRank0_3, 10:0, scratch130, 10:0);
409
s(EmcPmacroObDdllLongDqsRank0_3, 26:16, scratch130, 21:11);
410
s(EmcR2p, 5:0, scratch130, 27:22);
411
s(EmcCfgPipe, 20:17, scratch130, 31:28);
412
s(EmcPmacroObDdllLongDqsRank0_4, 10:0, scratch131, 10:0);
413
s(EmcPmacroObDdllLongDqsRank0_4, 26:16, scratch131, 21:11);
414
s(EmcCcdmw, 5:0, scratch131, 27:22);
415
s(EmcCfgPipe, 24:21, scratch131, 31:28);
416
s(EmcPmacroObDdllLongDqsRank0_5, 10:0, scratch132, 10:0);
417
s(EmcPmacroObDdllLongDqsRank0_5, 26:16, scratch132, 21:11);
418
s(EmcRdRcd, 5:0, scratch132, 27:22);
419
s(EmcCfgPipe, 27:25, scratch132, 30:28);
420
s(EmcPmacroTxPwrd0, 0:0, scratch132, 31:31);
421
s(EmcPmacroObDdllLongDqsRank1_0, 10:0, scratch133, 10:0);
422
s(EmcPmacroObDdllLongDqsRank1_0, 26:16, scratch133, 21:11);
423
s(EmcWrRcd, 5:0, scratch133, 27:22);
424
s(EmcPmacroTxPwrd0, 4:1, scratch133, 31:28);
425
s(EmcPmacroObDdllLongDqsRank1_1, 10:0, scratch134, 10:0);
426
s(EmcPmacroObDdllLongDqsRank1_1, 26:16, scratch134, 21:11);
427
s(EmcWdv, 5:0, scratch134, 27:22);
428
s(EmcPmacroTxPwrd0, 8:5, scratch134, 31:28);
429
s(EmcPmacroObDdllLongDqsRank1_2, 10:0, scratch135, 10:0);
430
s(EmcPmacroObDdllLongDqsRank1_2, 26:16, scratch135, 21:11);
431
s(EmcQUse, 5:0, scratch135, 27:22);
432
s(EmcPmacroTxPwrd0, 12:9, scratch135, 31:28);
433
s(EmcPmacroObDdllLongDqsRank1_3, 10:0, scratch136, 10:0);
434
s(EmcPmacroObDdllLongDqsRank1_3, 26:16, scratch136, 21:11);
435
s(EmcPdEx2Wr, 5:0, scratch136, 27:22);
436
s(EmcPmacroTxPwrd0, 13:13, scratch136, 28:28);
437
s(EmcPmacroTxPwrd0, 18:16, scratch136, 31:29);
438
s(EmcPmacroObDdllLongDqsRank1_4, 10:0, scratch137, 10:0);
439
s(EmcPmacroObDdllLongDqsRank1_4, 26:16, scratch137, 21:11);
440
s(EmcPdEx2Rd, 5:0, scratch137, 27:22);
441
s(EmcPmacroTxPwrd0, 22:19, scratch137, 31:28);
442
s(EmcPmacroObDdllLongDqsRank1_5, 10:0, scratch138, 10:0);
443
s(EmcPmacroObDdllLongDqsRank1_5, 26:16, scratch138, 21:11);
444
s(EmcPdex2Cke, 5:0, scratch138, 27:22);
445
s(EmcPmacroTxPwrd0, 26:23, scratch138, 31:28);
446
s(EmcPmacroIbDdllLongDqsRank0_0, 10:0, scratch139, 10:0);
447
s(EmcPmacroIbDdllLongDqsRank0_0, 26:16, scratch139, 21:11);
448
s(EmcPChg2Pden, 5:0, scratch139, 27:22);
449
s(EmcPmacroTxPwrd0, 29:27, scratch139, 30:28);
450
s(EmcPmacroTxPwrd1, 0:0, scratch139, 31:31);
451
s(EmcPmacroIbDdllLongDqsRank0_1, 10:0, scratch140, 10:0);
452
s(EmcPmacroIbDdllLongDqsRank0_1, 26:16, scratch140, 21:11);
453
s(EmcAct2Pden, 5:0, scratch140, 27:22);
454
s(EmcPmacroTxPwrd1, 4:1, scratch140, 31:28);
455
s(EmcPmacroIbDdllLongDqsRank0_2, 10:0, scratch141, 10:0);
456
s(EmcPmacroIbDdllLongDqsRank0_2, 26:16, scratch141, 21:11);
457
s(EmcCke2Pden, 5:0, scratch141, 27:22);
458
s(EmcPmacroTxPwrd1, 8:5, scratch141, 31:28);
459
s(EmcPmacroIbDdllLongDqsRank0_3, 10:0, scratch142, 10:0);
460
s(EmcPmacroIbDdllLongDqsRank0_3, 26:16, scratch142, 21:11);
461
s(EmcTcke, 5:0, scratch142, 27:22);
462
s(EmcPmacroTxPwrd1, 12:9, scratch142, 31:28);
463
s(EmcPmacroIbDdllLongDqsRank1_0, 10:0, scratch143, 10:0);
464
s(EmcPmacroIbDdllLongDqsRank1_0, 26:16, scratch143, 21:11);
465
s(EmcTrpab, 5:0, scratch143, 27:22);
466
s(EmcPmacroTxPwrd1, 13:13, scratch143, 28:28);
467
s(EmcPmacroTxPwrd1, 18:16, scratch143, 31:29);
468
s(EmcPmacroIbDdllLongDqsRank1_1, 10:0, scratch144, 10:0);
469
s(EmcPmacroIbDdllLongDqsRank1_1, 26:16, scratch144, 21:11);
470
s(EmcClkenOverride, 3:1, scratch144, 24:22);
471
s(EmcClkenOverride, 8:6, scratch144, 27:25);
472
s(EmcPmacroTxPwrd1, 22:19, scratch144, 31:28);
473
s(EmcPmacroIbDdllLongDqsRank1_2, 10:0, scratch145, 10:0);
474
s(EmcPmacroIbDdllLongDqsRank1_2, 26:16, scratch145, 21:11);
475
s(EmcEInput, 5:0, scratch145, 27:22);
476
s(EmcPmacroTxPwrd1, 26:23, scratch145, 31:28);
477
s(EmcPmacroIbDdllLongDqsRank1_3, 10:0, scratch146, 10:0);
478
s(EmcPmacroIbDdllLongDqsRank1_3, 26:16, scratch146, 21:11);
479
s(EmcEInputDuration, 5:0, scratch146, 27:22);
480
s(EmcPmacroTxPwrd1, 29:27, scratch146, 30:28);
481
s(EmcPmacroTxPwrd2, 0:0, scratch146, 31:31);
482
s(EmcPmacroDdllLongCmd_0, 10:0, scratch147, 10:0);
483
s(EmcPmacroDdllLongCmd_0, 26:16, scratch147, 21:11);
484
s(EmcPutermExtra, 5:0, scratch147, 27:22);
485
s(EmcPmacroTxPwrd2, 4:1, scratch147, 31:28);
486
s(EmcPmacroDdllLongCmd_1, 10:0, scratch148, 10:0);
487
s(EmcPmacroDdllLongCmd_1, 26:16, scratch148, 21:11);
488
s(EmcTckesr, 5:0, scratch148, 27:22);
489
s(EmcPmacroTxPwrd2, 8:5, scratch148, 31:28);
490
s(EmcPmacroDdllLongCmd_2, 10:0, scratch149, 10:0);
491
s(EmcPmacroDdllLongCmd_2, 26:16, scratch149, 21:11);
492
s(EmcTpd, 5:0, scratch149, 27:22);
493
s(EmcPmacroTxPwrd2, 12:9, scratch149, 31:28);
494
s(EmcPmacroDdllLongCmd_3, 10:0, scratch150, 10:0);
495
s(EmcPmacroDdllLongCmd_3, 26:16, scratch150, 21:11);
496
s(EmcWdvMask, 5:0, scratch150, 27:22);
497
s(EmcPmacroTxPwrd2, 13:13, scratch150, 28:28);
498
s(EmcPmacroTxPwrd2, 18:16, scratch150, 31:29);
499
s(McEmemArbCfg, 8:0, scratch151, 8:0);
500
s(McEmemArbCfg, 20:16, scratch151, 13:9);
501
s(McEmemArbCfg, 31:24, scratch151, 21:14);
502
s(EmcWdvChk, 5:0, scratch151, 27:22);
503
s(EmcPmacroTxPwrd2, 22:19, scratch151, 31:28);
504
s(McEmemArbMisc1, 12:0, scratch152, 12:0);
505
s(McEmemArbMisc1, 25:21, scratch152, 17:13);
506
s(McEmemArbMisc1, 31:28, scratch152, 21:18);
507
s(EmcCmdBrlshft0, 5:0, scratch152, 27:22);
508
s(EmcPmacroTxPwrd2, 26:23, scratch152, 31:28);
509
s(EmcMrsWaitCnt2, 9:0, scratch153, 9:0);
510
s(EmcMrsWaitCnt2, 26:16, scratch153, 20:10);
511
s(EmcPmacroIbRxrt, 10:0, scratch153, 31:21);
512
s(EmcMrsWaitCnt, 9:0, scratch154, 9:0);
513
s(EmcMrsWaitCnt, 26:16, scratch154, 20:10);
514
s(EmcPmacroDdllLongCmd_4, 10:0, scratch154, 31:21);
515
s(EmcAutoCalInterval, 20:0, scratch155, 20:0);
516
s(McEmemArbOutstandingReq, 8:0, scratch155, 29:21);
517
s(McEmemArbOutstandingReq, 31:30, scratch155, 31:30);
518
s(McEmemArbRefpbHpCtrl, 6:0, scratch156, 6:0);
519
s(McEmemArbRefpbHpCtrl, 14:8, scratch156, 13:7);
520
s(McEmemArbRefpbHpCtrl, 22:16, scratch156, 20:14);
521
s(EmcCmdBrlshft1, 5:0, scratch156, 26:21);
522
s(EmcRrd, 4:0, scratch156, 31:27);
523
s(EmcQuseBrlshft0, 19:0, scratch157, 19:0);
524
s(EmcFbioCfg8, 27:16, scratch157, 31:20);
525
s(EmcQuseBrlshft1, 19:0, scratch158, 19:0);
526
s(EmcTxsrDll, 11:0, scratch158, 31:20);
527
s(EmcQuseBrlshft2, 19:0, scratch159, 19:0);
528
s(EmcTxdsrvttgen, 11:0, scratch159, 31:20);
529
s(EmcQuseBrlshft3, 19:0, scratch160, 19:0);
530
s(EmcPmacroVttgenCtrl0, 3:0, scratch160, 23:20);
531
s(EmcPmacroVttgenCtrl0, 11:8, scratch160, 27:24);
532
s(EmcPmacroVttgenCtrl0, 19:16, scratch160, 31:28);
533
s(EmcPmacroVttgenCtrl1, 19:0, scratch161, 19:0);
534
s(EmcCmdBrlshft2, 5:0, scratch161, 25:20);
535
s(EmcCmdBrlshft3, 5:0, scratch161, 31:26);
536
s(EmcAutoCalConfig3, 5:0, scratch162, 5:0);
537
s(EmcAutoCalConfig3, 13:8, scratch162, 11:6);
538
s(EmcAutoCalConfig3, 18:16, scratch162, 14:12);
539
s(EmcAutoCalConfig3, 22:20, scratch162, 17:15);
540
s(EmcTRefBw, 13:0, scratch162, 31:18);
541
s(EmcAutoCalConfig4, 5:0, scratch163, 5:0);
542
s(EmcAutoCalConfig4, 13:8, scratch163, 11:6);
543
s(EmcAutoCalConfig4, 18:16, scratch163, 14:12);
544
s(EmcAutoCalConfig4, 22:20, scratch163, 17:15);
545
s(EmcQpop, 6:0, scratch163, 24:18);
546
s(EmcQpop, 22:16, scratch163, 31:25);
547
s(EmcAutoCalConfig5, 5:0, scratch164, 5:0);
548
s(EmcAutoCalConfig5, 13:8, scratch164, 11:6);
549
s(EmcAutoCalConfig5, 18:16, scratch164, 14:12);
550
s(EmcAutoCalConfig5, 22:20, scratch164, 17:15);
551
s(EmcPmacroAutocalCfgCommon, 5:0, scratch164, 23:18);
552
s(EmcPmacroAutocalCfgCommon, 13:8, scratch164, 29:24);
553
s(EmcPmacroAutocalCfgCommon, 16:16, scratch164, 30:30);
554
s(EmcPmacroTxPwrd2, 27:27, scratch164, 31:31);
555
s(EmcAutoCalConfig6, 5:0, scratch165, 5:0);
556
s(EmcAutoCalConfig6, 13:8, scratch165, 11:6);
557
s(EmcAutoCalConfig6, 18:16, scratch165, 14:12);
558
s(EmcAutoCalConfig6, 22:20, scratch165, 17:15);
559
s(EmcWev, 5:0, scratch165, 23:18);
560
s(EmcWsv, 5:0, scratch165, 29:24);
561
s(EmcPmacroTxPwrd2, 29:28, scratch165, 31:30);
562
s(EmcAutoCalConfig7, 5:0, scratch166, 5:0);
563
s(EmcAutoCalConfig7, 13:8, scratch166, 11:6);
564
s(EmcAutoCalConfig7, 18:16, scratch166, 14:12);
565
s(EmcAutoCalConfig7, 22:20, scratch166, 17:15);
566
s(EmcCfg3, 2:0, scratch166, 20:18);
567
s(EmcCfg3, 6:4, scratch166, 23:21);
568
s(EmcQuseWidth, 3:0, scratch166, 27:24);
569
s(EmcQuseWidth, 29:28, scratch166, 29:28);
570
s(EmcPmacroTxPwrd3, 1:0, scratch166, 31:30);
571
s(EmcAutoCalConfig8, 5:0, scratch167, 5:0);
572
s(EmcAutoCalConfig8, 13:8, scratch167, 11:6);
573
s(EmcAutoCalConfig8, 18:16, scratch167, 14:12);
574
s(EmcAutoCalConfig8, 22:20, scratch167, 17:15);
575
s(EmcPmacroBgBiasCtrl0, 2:0, scratch167, 20:18);
576
s(EmcPmacroBgBiasCtrl0, 6:4, scratch167, 23:21);
577
s(McEmemArbTimingRcd, 5:0, scratch167, 29:24);
578
s(EmcPmacroTxPwrd3, 3:2, scratch167, 31:30);
579
s(EmcXm2CompPadCtrl2, 17:0, scratch168, 17:0);
580
s(McEmemArbTimingCcdmw, 5:0, scratch168, 23:18);
581
s(McEmemArbOverride, 27:27, scratch168, 24:24);
582
s(McEmemArbOverride, 26:26, scratch168, 25:25);
583
s(McEmemArbOverride, 16:16, scratch168, 26:26);
584
s(McEmemArbOverride, 10:10, scratch168, 27:27);
585
s(McEmemArbOverride, 4:4, scratch168, 28:28);
586
s(McEmemArbOverride, 3:3, scratch168, 29:29);
587
s(EmcPmacroTxPwrd3, 5:4, scratch168, 31:30);
588
s(EmcXm2CompPadCtrl3, 17:0, scratch169, 17:0);
589
s(EmcRext, 4:0, scratch169, 22:18);
590
s(EmcTClkStop, 4:0, scratch169, 27:23);
591
s(EmcPmacroTxPwrd3, 9:6, scratch169, 31:28);
592
s(EmcZcalWaitCnt, 10:0, scratch170, 10:0);
593
s(EmcZcalWaitCnt, 21:16, scratch170, 16:11);
594
s(EmcZcalWaitCnt, 31:31, scratch170, 17:17);
595
s(EmcWext, 4:0, scratch170, 22:18);
596
s(EmcRefctrl2, 0:0, scratch170, 23:23);
597
s(EmcRefctrl2, 26:24, scratch170, 26:24);
598
s(EmcRefctrl2, 31:31, scratch170, 27:27);
599
s(EmcPmacroTxPwrd3, 13:10, scratch170, 31:28);
600
s(EmcZcalMrwCmd, 7:0, scratch171, 7:0);
601
s(EmcZcalMrwCmd, 23:16, scratch171, 15:8);
602
s(EmcZcalMrwCmd, 31:30, scratch171, 17:16);
603
s(EmcWeDuration, 4:0, scratch171, 22:18);
604
s(EmcWsDuration, 4:0, scratch171, 27:23);
605
s(EmcPmacroTxPwrd3, 19:16, scratch171, 31:28);
606
s(EmcSwizzleRank0Byte0, 2:0, scratch172, 2:0);
607
s(EmcSwizzleRank0Byte0, 6:4, scratch172, 5:3);
608
s(EmcSwizzleRank0Byte0, 10:8, scratch172, 8:6);
609
s(EmcSwizzleRank0Byte0, 14:12, scratch172, 11:9);
610
s(EmcSwizzleRank0Byte0, 18:16, scratch172, 14:12);
611
s(EmcSwizzleRank0Byte0, 22:20, scratch172, 17:15);
612
s(EmcPutermWidth, 31:31, scratch172, 18:18);
613
s(EmcPutermWidth, 3:0, scratch172, 22:19);
614
s(McEmemArbTimingRrd, 4:0, scratch172, 27:23);
615
s(EmcPmacroTxPwrd3, 23:20, scratch172, 31:28);
616
s(EmcSwizzleRank0Byte1, 2:0, scratch173, 2:0);
617
s(EmcSwizzleRank0Byte1, 6:4, scratch173, 5:3);
618
s(EmcSwizzleRank0Byte1, 10:8, scratch173, 8:6);
619
s(EmcSwizzleRank0Byte1, 14:12, scratch173, 11:9);
620
s(EmcSwizzleRank0Byte1, 18:16, scratch173, 14:12);
621
s(EmcSwizzleRank0Byte1, 22:20, scratch173, 17:15);
622
s(McEmemArbTimingR2R, 4:0, scratch173, 22:18);
623
s(McEmemArbTimingW2W, 4:0, scratch173, 27:23);
624
s(EmcPmacroTxPwrd3, 27:24, scratch173, 31:28);
625
s(EmcSwizzleRank0Byte2, 2:0, scratch174, 2:0);
626
s(EmcSwizzleRank0Byte2, 6:4, scratch174, 5:3);
627
s(EmcSwizzleRank0Byte2, 10:8, scratch174, 8:6);
628
s(EmcSwizzleRank0Byte2, 14:12, scratch174, 11:9);
629
s(EmcSwizzleRank0Byte2, 18:16, scratch174, 14:12);
630
s(EmcSwizzleRank0Byte2, 22:20, scratch174, 17:15);
631
s(EmcPmacroTxPwrd3, 29:28, scratch174, 19:18);
632
s(EmcPmacroTxSelClkSrc0, 11:0, scratch174, 31:20);
633
s(EmcSwizzleRank0Byte3, 2:0, scratch175, 2:0);
634
s(EmcSwizzleRank0Byte3, 6:4, scratch175, 5:3);
635
s(EmcSwizzleRank0Byte3, 10:8, scratch175, 8:6);
636
s(EmcSwizzleRank0Byte3, 14:12, scratch175, 11:9);
637
s(EmcSwizzleRank0Byte3, 18:16, scratch175, 14:12);
638
s(EmcSwizzleRank0Byte3, 22:20, scratch175, 17:15);
639
s(EmcPmacroTxSelClkSrc0, 27:16, scratch175, 29:18);
640
s(EmcPmacroTxSelClkSrc1, 1:0, scratch175, 31:30);
641
s(EmcSwizzleRank1Byte0, 2:0, scratch176, 2:0);
642
s(EmcSwizzleRank1Byte0, 6:4, scratch176, 5:3);
643
s(EmcSwizzleRank1Byte0, 10:8, scratch176, 8:6);
644
s(EmcSwizzleRank1Byte0, 14:12, scratch176, 11:9);
645
s(EmcSwizzleRank1Byte0, 18:16, scratch176, 14:12);
646
s(EmcSwizzleRank1Byte0, 22:20, scratch176, 17:15);
647
s(EmcPmacroTxSelClkSrc1, 11:2, scratch176, 27:18);
648
s(EmcPmacroTxSelClkSrc1, 19:16, scratch176, 31:28);
649
s(EmcSwizzleRank1Byte1, 2:0, scratch177, 2:0);
650
s(EmcSwizzleRank1Byte1, 6:4, scratch177, 5:3);
651
s(EmcSwizzleRank1Byte1, 10:8, scratch177, 8:6);
652
s(EmcSwizzleRank1Byte1, 14:12, scratch177, 11:9);
653
s(EmcSwizzleRank1Byte1, 18:16, scratch177, 14:12);
654
s(EmcSwizzleRank1Byte1, 22:20, scratch177, 17:15);
655
s(EmcPmacroTxSelClkSrc1, 27:20, scratch177, 25:18);
656
s(EmcPmacroTxSelClkSrc3, 5:0, scratch177, 31:26);
657
s(EmcSwizzleRank1Byte2, 2:0, scratch178, 2:0);
658
s(EmcSwizzleRank1Byte2, 6:4, scratch178, 5:3);
659
s(EmcSwizzleRank1Byte2, 10:8, scratch178, 8:6);
660
s(EmcSwizzleRank1Byte2, 14:12, scratch178, 11:9);
661
s(EmcSwizzleRank1Byte2, 18:16, scratch178, 14:12);
662
s(EmcSwizzleRank1Byte2, 22:20, scratch178, 17:15);
663
s(EmcPmacroTxSelClkSrc3, 11:6, scratch178, 23:18);
664
s(EmcPmacroTxSelClkSrc3, 23:16, scratch178, 31:24);
665
s(EmcSwizzleRank1Byte3, 2:0, scratch179, 2:0);
666
s(EmcSwizzleRank1Byte3, 6:4, scratch179, 5:3);
667
s(EmcSwizzleRank1Byte3, 10:8, scratch179, 8:6);
668
s(EmcSwizzleRank1Byte3, 14:12, scratch179, 11:9);
669
s(EmcSwizzleRank1Byte3, 18:16, scratch179, 14:12);
670
s(EmcSwizzleRank1Byte3, 22:20, scratch179, 17:15);
671
s(EmcPmacroTxSelClkSrc3, 27:24, scratch179, 21:18);
672
s(EmcPmacroTxSelClkSrc2, 9:0, scratch179, 31:22);
673
s(EmcPmacroCmdBrickCtrlFdpd, 17:0, scratch180, 17:0);
674
s(EmcPmacroTxSelClkSrc2, 11:10, scratch180, 19:18);
675
s(EmcPmacroTxSelClkSrc2, 27:16, scratch180, 31:20);
676
s(EmcPmacroDataBrickCtrlFdpd, 17:0, scratch181, 17:0);
677
s(EmcPmacroTxSelClkSrc4, 11:0, scratch181, 29:18);
678
s(EmcPmacroTxSelClkSrc4, 17:16, scratch181, 31:30);
679
s(EmcFbioCfg7, 16:0, scratch182, 16:0);
680
s(McEmemArbRefpbBankCtrl, 6:0, scratch182, 23:17);
681
s(McEmemArbRefpbBankCtrl, 14:8, scratch182, 30:24);
682
s(McEmemArbRefpbBankCtrl, 31:31, scratch182, 31:31);
683
s(EmcDynSelfRefControl, 15:0, scratch183, 15:0);
684
s(EmcDynSelfRefControl, 31:31, scratch183, 16:16);
685
s(EmcPmacroTxSelClkSrc4, 27:18, scratch183, 26:17);
686
s(EmcPmacroTxSelClkSrc5, 4:0, scratch183, 31:27);
687
s(EmcDllCfg1, 16:0, scratch184, 16:0);
688
s(EmcPmacroTxSelClkSrc5, 11:5, scratch184, 23:17);
689
s(EmcPmacroTxSelClkSrc5, 23:16, scratch184, 31:24);
690
s(EmcPmacroPadCfgCtrl, 1:0, scratch185, 1:0);
691
s(EmcPmacroPadCfgCtrl, 6:5, scratch185, 3:2);
692
s(EmcPmacroPadCfgCtrl, 11:9, scratch185, 6:4);
693
s(EmcPmacroPadCfgCtrl, 13:13, scratch185, 7:7);
694
s(EmcPmacroPadCfgCtrl, 17:16, scratch185, 9:8);
695
s(EmcPmacroPadCfgCtrl, 21:20, scratch185, 11:10);
696
s(EmcPmacroPadCfgCtrl, 25:24, scratch185, 13:12);
697
s(EmcPmacroPadCfgCtrl, 30:28, scratch185, 16:14);
698
s(EmcPmacroTxSelClkSrc5, 27:24, scratch185, 20:17);
699
s(EmcPmacroCmdPadTxCtrl, 1:0, scratch185, 22:21);
700
s(EmcPmacroCmdPadTxCtrl, 5:4, scratch185, 24:23);
701
s(EmcPmacroCmdPadTxCtrl, 9:8, scratch185, 26:25);
702
s(EmcPmacroCmdPadTxCtrl, 13:12, scratch185, 28:27);
703
s(EmcPmacroCmdPadTxCtrl, 16:16, scratch185, 29:29);
704
s(EmcPmacroCmdPadTxCtrl, 21:20, scratch185, 31:30);
705
s(EmcRefresh, 15:0, scratch186, 15:0);
706
s(EmcCmdQ, 4:0, scratch186, 20:16);
707
s(EmcCmdQ, 10:8, scratch186, 23:21);
708
s(EmcCmdQ, 14:12, scratch186, 26:24);
709
s(EmcCmdQ, 28:24, scratch186, 31:27);
710
s(EmcAcpdControl, 15:0, scratch187, 15:0);
711
s(EmcAutoCalVrefSel1, 15:0, scratch187, 31:16);
712
s(EmcXm2CompPadCtrl, 1:0, scratch188, 1:0);
713
s(EmcXm2CompPadCtrl, 6:3, scratch188, 5:2);
714
s(EmcXm2CompPadCtrl, 9:9, scratch188, 6:6);
715
s(EmcXm2CompPadCtrl, 19:11, scratch188, 15:7);
716
s(EmcCfgDigDllPeriod, 15:0, scratch188, 31:16);
717
s(EmcCfgDigDll_1, 15:0, scratch189, 15:0);
718
s(EmcPreRefreshReqCnt, 15:0, scratch189, 31:16);
719
s(EmcPmacroCmdPadTxCtrl, 27:24, scratch190, 19:16);
720
s(EmcPmacroDataPadTxCtrl, 1:0, scratch190, 21:20);
721
s(EmcPmacroDataPadTxCtrl, 5:4, scratch190, 23:22);
722
s(EmcPmacroDataPadTxCtrl, 9:8, scratch190, 25:24);
723
s(EmcPmacroDataPadTxCtrl, 13:12, scratch190, 27:26);
724
s(EmcPmacroDataPadTxCtrl, 16:16, scratch190, 28:28);
725
s(EmcPmacroDataPadTxCtrl, 21:20, scratch190, 30:29);
726
s(EmcPmacroDataPadTxCtrl, 24:24, scratch190, 31:31);
727
s(EmcPmacroDataPadTxCtrl, 27:25, scratch191, 2:0);
728
729
s(EmcPinGpio, 1:0, scratch8, 31:30);
730
s(EmcPinGpioEn, 1:0, scratch9, 31:30);
731
s(EmcDevSelect, 1:0, scratch10, 31:30);
732
s(EmcZcalWarmColdBootEnables, 1:0, scratch11, 31:30);
733
s(EmcCfgDigDllPeriodWarmBoot, 1:0, scratch12, 31:30);
734
s32(EmcBctSpare13, scratch31);
735
s32(EmcBctSpare12, scratch32);
736
s32(EmcBctSpare7, scratch33);
737
s32(EmcBctSpare6, scratch40);
738
s32(EmcBctSpare5, scratch42);
739
s32(EmcBctSpare4, scratch44);
740
s32(EmcBctSpare3, scratch45);
741
s32(EmcBctSpare2, scratch46);
742
s32(EmcBctSpare1, scratch47);
743
s32(EmcBctSpare0, scratch48);
744
s32(EmcBctSpare9, scratch50);
745
s32(EmcBctSpare8, scratch51);
746
s32(BootRomPatchData, scratch56);
747
s32(BootRomPatchControl, scratch57);
748
s(McClkenOverrideAllWarmBoot, 0:0, scratch58, 31:31);
749
s(EmcClkenOverrideAllWarmBoot, 0:0, scratch59, 30:30);
750
s(EmcMrsWarmBootEnable, 0:0, scratch59, 31:31);
751
s(ClearClk2Mc1, 0:0, scratch60, 30:30);
752
s(EmcWarmBootExtraModeRegWriteEnable, 0:0, scratch60, 31:31);
753
s(ClkRstControllerPllmMisc2OverrideEnable, 0:0, scratch61, 30:30);
754
s(EmcDbgWriteMux, 0:0, scratch61, 31:31);
755
s(EmcExtraRefreshNum, 2:0, scratch62, 31:29);
756
s(PmcIoDpd3ReqWait, 2:0, scratch68, 30:28);
757
s(AhbArbitrationXbarCtrlMemInitDone, 0:0, scratch68, 31:31);
758
s(MemoryType, 2:0, scratch69, 30:28);
759
s(PmcIoDpd4ReqWait, 2:0, scratch70, 30:28);
760
s(EmcTimingControlWait, 7:0, scratch86, 31:24);
761
s(EmcZcalWarmBootWait, 7:0, scratch87, 31:24);
762
s(WarmBootWait, 7:0, scratch88, 31:24);
763
s(EmcPinProgramWait, 7:0, scratch89, 31:24);
764
s(EmcAutoCalWait, 9:0, scratch101, 31:22);
765
s(SwizzleRankByteEncode, 15:0, scratch190, 15:0);
766
767
// LPDDR4 MRW.
768
s(EmcMrwLpddr2ZcalWarmBoot, 23:16, scratch5, 7:0);
769
s(EmcMrwLpddr2ZcalWarmBoot, 7:0, scratch5, 15:8);
770
s(EmcWarmBootMrwExtra, 23:16, scratch5, 23:16);
771
s(EmcWarmBootMrwExtra, 7:0, scratch5, 31:24);
772
s(EmcMrwLpddr2ZcalWarmBoot, 31:30, scratch6, 1:0);
773
s(EmcWarmBootMrwExtra, 31:30, scratch6, 3:2);
774
s(EmcMrwLpddr2ZcalWarmBoot, 27:26, scratch6, 5:4);
775
s(EmcWarmBootMrwExtra, 27:26, scratch6, 7:6);
776
s(EmcMrw6, 27:0, scratch8, 27:0);
777
s(EmcMrw6, 31:30, scratch8, 29:28);
778
s(EmcMrw8, 27:0, scratch9, 27:0);
779
s(EmcMrw8, 31:30, scratch9, 29:28);
780
s(EmcMrw9, 27:0, scratch10, 27:0);
781
s(EmcMrw9, 31:30, scratch10, 29:28);
782
s(EmcMrw10, 27:0, scratch11, 27:0);
783
s(EmcMrw10, 31:30, scratch11, 29:28);
784
s(EmcMrw12, 27:0, scratch12, 27:0);
785
s(EmcMrw12, 31:30, scratch12, 29:28);
786
s(EmcMrw13, 27:0, scratch13, 27:0);
787
s(EmcMrw13, 31:30, scratch13, 29:28);
788
s(EmcMrw14, 27:0, scratch14, 27:0);
789
s(EmcMrw14, 31:30, scratch14, 29:28);
790
s(EmcMrw1, 7:0, scratch15, 7:0);
791
s(EmcMrw1, 23:16, scratch15, 15:8);
792
s(EmcMrw1, 27:26, scratch15, 17:16);
793
s(EmcMrw1, 31:30, scratch15, 19:18);
794
s(EmcWarmBootMrwExtra, 7:0, scratch16, 7:0);
795
s(EmcWarmBootMrwExtra, 23:16, scratch16, 15:8);
796
s(EmcWarmBootMrwExtra, 27:26, scratch16, 17:16);
797
s(EmcWarmBootMrwExtra, 31:30, scratch16, 19:18);
798
s(EmcMrw2, 7:0, scratch17, 7:0);
799
s(EmcMrw2, 23:16, scratch17, 15:8);
800
s(EmcMrw2, 27:26, scratch17, 17:16);
801
s(EmcMrw2, 31:30, scratch17, 19:18);
802
s(EmcMrw3, 7:0, scratch18, 7:0);
803
s(EmcMrw3, 23:16, scratch18, 15:8);
804
s(EmcMrw3, 27:26, scratch18, 17:16);
805
s(EmcMrw3, 31:30, scratch18, 19:18);
806
s(EmcMrw4, 7:0, scratch19, 7:0);
807
s(EmcMrw4, 23:16, scratch19, 15:8);
808
s(EmcMrw4, 27:26, scratch19, 17:16);
809
s(EmcMrw4, 31:30, scratch19, 19:18);
810
811
s32(EmcCmdMappingByte, secure_scratch8);
812
s32(EmcPmacroBrickMapping0, secure_scratch9);
813
s32(EmcPmacroBrickMapping1, secure_scratch10);
814
s32(EmcPmacroBrickMapping2, secure_scratch11);
815
s32(McVideoProtectGpuOverride0, secure_scratch12);
816
s(EmcCmdMappingCmd0_0, 6:0, secure_scratch13, 6:0);
817
s(EmcCmdMappingCmd0_0, 14:8, secure_scratch13, 13:7);
818
s(EmcCmdMappingCmd0_0, 22:16, secure_scratch13, 20:14);
819
s(EmcCmdMappingCmd0_0, 30:24, secure_scratch13, 27:21);
820
s(McVideoProtectBomAdrHi, 1:0, secure_scratch13, 29:28);
821
s(McVideoProtectWriteAccess, 1:0, secure_scratch13, 31:30);
822
s(EmcCmdMappingCmd0_1, 6:0, secure_scratch14, 6:0);
823
s(EmcCmdMappingCmd0_1, 14:8, secure_scratch14, 13:7);
824
s(EmcCmdMappingCmd0_1, 22:16, secure_scratch14, 20:14);
825
s(EmcCmdMappingCmd0_1, 30:24, secure_scratch14, 27:21);
826
s(McSecCarveoutAdrHi, 1:0, secure_scratch14, 29:28);
827
s(McMtsCarveoutAdrHi, 1:0, secure_scratch14, 31:30);
828
s(EmcCmdMappingCmd1_0, 6:0, secure_scratch15, 6:0);
829
s(EmcCmdMappingCmd1_0, 14:8, secure_scratch15, 13:7);
830
s(EmcCmdMappingCmd1_0, 22:16, secure_scratch15, 20:14);
831
s(EmcCmdMappingCmd1_0, 30:24, secure_scratch15, 27:21);
832
s(McGeneralizedCarveout5BomHi, 1:0, secure_scratch15, 29:28);
833
s(McGeneralizedCarveout3BomHi, 1:0, secure_scratch15, 31:30);
834
s(EmcCmdMappingCmd1_1, 6:0, secure_scratch16, 6:0);
835
s(EmcCmdMappingCmd1_1, 14:8, secure_scratch16, 13:7);
836
s(EmcCmdMappingCmd1_1, 22:16, secure_scratch16, 20:14);
837
s(EmcCmdMappingCmd1_1, 30:24, secure_scratch16, 27:21);
838
s(McGeneralizedCarveout2BomHi, 1:0, secure_scratch16, 29:28);
839
s(McGeneralizedCarveout4BomHi, 1:0, secure_scratch16, 31:30);
840
s(EmcCmdMappingCmd2_0, 6:0, secure_scratch17, 6:0);
841
s(EmcCmdMappingCmd2_0, 14:8, secure_scratch17, 13:7);
842
s(EmcCmdMappingCmd2_0, 22:16, secure_scratch17, 20:14);
843
s(EmcCmdMappingCmd2_0, 30:24, secure_scratch17, 27:21);
844
s(McGeneralizedCarveout1BomHi, 1:0, secure_scratch17, 29:28);
845
s(EmcAdrCfg, 0:0, secure_scratch17, 30:30);
846
s(EmcFbioSpare, 1:1, secure_scratch17, 31:31);
847
s(EmcCmdMappingCmd2_1, 6:0, secure_scratch18, 6:0);
848
s(EmcCmdMappingCmd2_1, 14:8, secure_scratch18, 13:7);
849
s(EmcCmdMappingCmd2_1, 22:16, secure_scratch18, 20:14);
850
s(EmcCmdMappingCmd2_1, 30:24, secure_scratch18, 27:21);
851
s(EmcFbioCfg8, 15:15, secure_scratch18, 28:28);
852
s(McEmemAdrCfg, 0:0, secure_scratch18, 29:29);
853
s(McSecCarveoutProtectWriteAccess, 0:0, secure_scratch18, 30:30);
854
s(McMtsCarveoutRegCtrl, 0:0, secure_scratch18, 31:31);
855
s(EmcCmdMappingCmd3_0, 6:0, secure_scratch19, 6:0);
856
s(EmcCmdMappingCmd3_0, 14:8, secure_scratch19, 13:7);
857
s(EmcCmdMappingCmd3_0, 22:16, secure_scratch19, 20:14);
858
s(EmcCmdMappingCmd3_0, 30:24, secure_scratch19, 27:21);
859
s(McGeneralizedCarveout2Cfg0, 6:3, secure_scratch19, 31:28);
860
s(EmcCmdMappingCmd3_1, 6:0, secure_scratch20, 6:0);
861
s(EmcCmdMappingCmd3_1, 14:8, secure_scratch20, 13:7);
862
s(EmcCmdMappingCmd3_1, 22:16, secure_scratch20, 20:14);
863
s(EmcCmdMappingCmd3_1, 30:24, secure_scratch20, 27:21);
864
s(McGeneralizedCarveout2Cfg0, 10:7, secure_scratch20, 31:28);
865
s(McGeneralizedCarveout4Cfg0, 26:0, secure_scratch39, 26:0);
866
s(McGeneralizedCarveout2Cfg0, 17:14, secure_scratch39, 30:27);
867
s(McVideoProtectVprOverride, 0:0, secure_scratch39, 31:31);
868
s(McGeneralizedCarveout5Cfg0, 26:0, secure_scratch40, 26:0);
869
s(McGeneralizedCarveout2Cfg0, 21:18, secure_scratch40, 30:27);
870
s(McVideoProtectVprOverride, 1:1, secure_scratch40, 31:31);
871
s(EmcCmdMappingCmd0_2, 6:0, secure_scratch41, 6:0);
872
s(EmcCmdMappingCmd0_2, 14:8, secure_scratch41, 13:7);
873
s(EmcCmdMappingCmd0_2, 22:16, secure_scratch41, 20:14);
874
s(EmcCmdMappingCmd0_2, 27:24, secure_scratch41, 24:21);
875
s(McGeneralizedCarveout1Cfg0, 6:3, secure_scratch41, 28:25);
876
s(McGeneralizedCarveout2Cfg0, 13:11, secure_scratch41, 31:29);
877
s(EmcCmdMappingCmd1_2, 6:0, secure_scratch42, 6:0);
878
s(EmcCmdMappingCmd1_2, 14:8, secure_scratch42, 13:7);
879
s(EmcCmdMappingCmd1_2, 22:16, secure_scratch42, 20:14);
880
s(EmcCmdMappingCmd1_2, 27:24, secure_scratch42, 24:21);
881
s(McGeneralizedCarveout1Cfg0, 13:7, secure_scratch42, 31:25);
882
s(EmcCmdMappingCmd2_2, 6:0, secure_scratch43, 6:0);
883
s(EmcCmdMappingCmd2_2, 14:8, secure_scratch43, 13:7);
884
s(EmcCmdMappingCmd2_2, 22:16, secure_scratch43, 20:14);
885
s(EmcCmdMappingCmd2_2, 27:24, secure_scratch43, 24:21);
886
s(McGeneralizedCarveout1Cfg0, 17:14, secure_scratch43, 28:25);
887
s(McGeneralizedCarveout3Cfg0, 13:11, secure_scratch43, 31:29);
888
s(EmcCmdMappingCmd3_2, 6:0, secure_scratch44, 6:0);
889
s(EmcCmdMappingCmd3_2, 14:8, secure_scratch44, 13:7);
890
s(EmcCmdMappingCmd3_2, 22:16, secure_scratch44, 20:14);
891
s(EmcCmdMappingCmd3_2, 27:24, secure_scratch44, 24:21);
892
s(McGeneralizedCarveout1Cfg0, 21:18, secure_scratch44, 28:25);
893
s(McVideoProtectVprOverride, 3:2, secure_scratch44, 30:29);
894
s(McVideoProtectVprOverride, 6:6, secure_scratch44, 31:31);
895
s(McEmemAdrCfgChannelMask, 31:9, secure_scratch45, 22:0);
896
s(McEmemAdrCfgDev0, 2:0, secure_scratch45, 25:23);
897
s(McEmemAdrCfgDev0, 9:8, secure_scratch45, 27:26);
898
s(McEmemAdrCfgDev0, 19:16, secure_scratch45, 31:28);
899
s(McEmemAdrCfgBankMask0, 31:10, secure_scratch46, 21:0);
900
s(McEmemAdrCfgDev1, 2:0, secure_scratch46, 24:22);
901
s(McEmemAdrCfgDev1, 9:8, secure_scratch46, 26:25);
902
s(McEmemAdrCfgDev1, 19:16, secure_scratch46, 30:27);
903
s(McVideoProtectVprOverride, 7:7, secure_scratch46, 31:31);
904
s(McEmemAdrCfgBankMask1, 31:10, secure_scratch47, 21:0);
905
s(McGeneralizedCarveout3Cfg0, 10:3, secure_scratch47, 29:22);
906
s(McVideoProtectVprOverride, 9:8, secure_scratch47, 31:30);
907
s(McEmemAdrCfgBankMask2, 31:10, secure_scratch48, 21:0);
908
s(McGeneralizedCarveout3Cfg0, 21:14, secure_scratch48, 29:22);
909
s(McVideoProtectVprOverride, 11:11, secure_scratch48, 30:30);
910
s(McVideoProtectVprOverride, 14:14, secure_scratch48, 31:31);
911
s(McVideoProtectGpuOverride1, 15:0, secure_scratch49, 15:0);
912
s(McEmemCfg, 13:0, secure_scratch49, 29:16);
913
s(McEmemCfg, 31:31, secure_scratch49, 30:30);
914
s(McVideoProtectVprOverride, 15:15, secure_scratch49, 31:31);
915
s(McGeneralizedCarveout3Bom, 31:17, secure_scratch50, 14:0);
916
s(McGeneralizedCarveout1Bom, 31:17, secure_scratch50, 29:15);
917
s(McVideoProtectVprOverride, 18:17, secure_scratch50, 31:30);
918
s(McGeneralizedCarveout4Bom, 31:17, secure_scratch51, 14:0);
919
s(McGeneralizedCarveout2Bom, 31:17, secure_scratch51, 29:15);
920
s(McVideoProtectVprOverride, 20:19, secure_scratch51, 31:30);
921
s(McGeneralizedCarveout5Bom, 31:17, secure_scratch52, 14:0);
922
s(McVideoProtectBom, 31:20, secure_scratch52, 26:15);
923
s(McVideoProtectVprOverride, 23:21, secure_scratch52, 29:27);
924
s(McVideoProtectVprOverride, 26:26, secure_scratch52, 30:30);
925
s(McVideoProtectVprOverride, 29:29, secure_scratch52, 31:31);
926
s(McVideoProtectSizeMb, 11:0, secure_scratch53, 11:0);
927
s(McSecCarveoutBom, 31:20, secure_scratch53, 23:12);
928
s(McVideoProtectVprOverride, 31:30, secure_scratch53, 25:24);
929
s(McVideoProtectVprOverride1, 1:0, secure_scratch53, 27:26);
930
s(McVideoProtectVprOverride1, 7:4, secure_scratch53, 31:28);
931
s(McSecCarveoutSizeMb, 11:0, secure_scratch54, 11:0);
932
s(McMtsCarveoutBom, 31:20, secure_scratch54, 23:12);
933
s(McVideoProtectVprOverride1, 15:8, secure_scratch54, 31:24);
934
s(McMtsCarveoutSizeMb, 11:0, secure_scratch55, 11:0);
935
s(McGeneralizedCarveout4Size128kb, 11:0, secure_scratch55, 23:12);
936
s(McVideoProtectVprOverride1, 16:16, secure_scratch55, 24:24);
937
s(McGeneralizedCarveout2Cfg0, 2:0, secure_scratch55, 27:25);
938
s(McGeneralizedCarveout2Cfg0, 25:22, secure_scratch55, 31:28);
939
s(McGeneralizedCarveout3Size128kb, 11:0, secure_scratch56, 11:0);
940
s(McGeneralizedCarveout2Size128kb, 11:0, secure_scratch56, 23:12);
941
s(McGeneralizedCarveout2Cfg0, 26:26, secure_scratch56, 24:24);
942
s(McGeneralizedCarveout1Cfg0, 2:0, secure_scratch56, 27:25);
943
s(McGeneralizedCarveout1Cfg0, 25:22, secure_scratch56, 31:28);
944
s(McGeneralizedCarveout1Size128kb, 11:0, secure_scratch57, 11:0);
945
s(McGeneralizedCarveout5Size128kb, 11:0, secure_scratch57, 23:12);
946
s(McGeneralizedCarveout1Cfg0, 26:26, secure_scratch57, 24:24);
947
s(McGeneralizedCarveout3Cfg0, 2:0, secure_scratch57, 27:25);
948
s(McGeneralizedCarveout3Cfg0, 25:22, secure_scratch57, 31:28);
949
s(McGeneralizedCarveout3Cfg0, 26:26, secure_scratch58, 0:0);
950
951
s32(McGeneralizedCarveout1Access0, secure_scratch59);
952
s32(McGeneralizedCarveout1Access1, secure_scratch60);
953
s32(McGeneralizedCarveout1Access2, secure_scratch61);
954
s32(McGeneralizedCarveout1Access3, secure_scratch62);
955
s32(McGeneralizedCarveout1Access4, secure_scratch63);
956
s32(McGeneralizedCarveout2Access0, secure_scratch64);
957
s32(McGeneralizedCarveout2Access1, secure_scratch65);
958
s32(McGeneralizedCarveout2Access2, secure_scratch66);
959
s32(McGeneralizedCarveout2Access3, secure_scratch67);
960
s32(McGeneralizedCarveout2Access4, secure_scratch68);
961
s32(McGeneralizedCarveout3Access0, secure_scratch69);
962
s32(McGeneralizedCarveout3Access1, secure_scratch70);
963
s32(McGeneralizedCarveout3Access2, secure_scratch71);
964
s32(McGeneralizedCarveout3Access3, secure_scratch72);
965
s32(McGeneralizedCarveout3Access4, secure_scratch73);
966
s32(McGeneralizedCarveout4Access0, secure_scratch74);
967
s32(McGeneralizedCarveout4Access1, secure_scratch75);
968
s32(McGeneralizedCarveout4Access2, secure_scratch76);
969
s32(McGeneralizedCarveout4Access3, secure_scratch77);
970
s32(McGeneralizedCarveout4Access4, secure_scratch78);
971
s32(McGeneralizedCarveout5Access0, secure_scratch79);
972
s32(McGeneralizedCarveout5Access1, secure_scratch80);
973
s32(McGeneralizedCarveout5Access2, secure_scratch81);
974
s32(McGeneralizedCarveout5Access3, secure_scratch82);
975
s32(McGeneralizedCarveout1ForceInternalAccess0, secure_scratch84);
976
s32(McGeneralizedCarveout1ForceInternalAccess1, secure_scratch85);
977
s32(McGeneralizedCarveout1ForceInternalAccess2, secure_scratch86);
978
s32(McGeneralizedCarveout1ForceInternalAccess3, secure_scratch87);
979
s32(McGeneralizedCarveout1ForceInternalAccess4, secure_scratch88);
980
s32(McGeneralizedCarveout2ForceInternalAccess0, secure_scratch89);
981
s32(McGeneralizedCarveout2ForceInternalAccess1, secure_scratch90);
982
s32(McGeneralizedCarveout2ForceInternalAccess2, secure_scratch91);
983
s32(McGeneralizedCarveout2ForceInternalAccess3, secure_scratch92);
984
s32(McGeneralizedCarveout2ForceInternalAccess4, secure_scratch93);
985
s32(McGeneralizedCarveout3ForceInternalAccess0, secure_scratch94);
986
s32(McGeneralizedCarveout3ForceInternalAccess1, secure_scratch95);
987
s32(McGeneralizedCarveout3ForceInternalAccess2, secure_scratch96);
988
s32(McGeneralizedCarveout3ForceInternalAccess3, secure_scratch97);
989
s32(McGeneralizedCarveout3ForceInternalAccess4, secure_scratch98);
990
s32(McGeneralizedCarveout4ForceInternalAccess0, secure_scratch99);
991
s32(McGeneralizedCarveout4ForceInternalAccess1, secure_scratch100);
992
s32(McGeneralizedCarveout4ForceInternalAccess2, secure_scratch101);
993
s32(McGeneralizedCarveout4ForceInternalAccess3, secure_scratch102);
994
s32(McGeneralizedCarveout4ForceInternalAccess4, secure_scratch103);
995
s32(McGeneralizedCarveout5ForceInternalAccess0, secure_scratch104);
996
s32(McGeneralizedCarveout5ForceInternalAccess1, secure_scratch105);
997
s32(McGeneralizedCarveout5ForceInternalAccess2, secure_scratch106);
998
s32(McGeneralizedCarveout5ForceInternalAccess3, secure_scratch107);
999
1000
// PLLM.
1001
c32(0, scratch2);
1002
s(PllMInputDivider, 7:0, scratch2, 7:0);
1003
s(PllMFeedbackDivider, 7:0, scratch2, 15:8);
1004
s(PllMPostDivider, 4:0, scratch2, 20:16);
1005
s(PllMKVCO, 0:0, scratch2, 21:21);
1006
s(PllMKCP, 1:0, scratch2, 23:22);
1007
1008
c32(0, scratch35);
1009
s(PllMSetupControl, 15:0, scratch35, 15:0);
1010
1011
// PLLX.
1012
c32(0, scratch3);
1013
s(PllMInputDivider, 7:0, scratch3, 7:0);
1014
c(62, scratch3, 15:8); // 62 divn.
1015
c(0, scratch3, 20:16); // 0 divp.
1016
s(PllMKVCO, 0:0, scratch3, 21:21);
1017
s(PllMKCP, 1:0, scratch3, 23:22);
1018
1019
c32(0, scratch36);
1020
s(PllMSetupControl, 23:0, scratch36, 23:0);
1021
1022
// PLLM/PLLX.
1023
c32(0, scratch4);
1024
s(PllMStableTime, 9:0, scratch4, 9:0);
1025
s(PllMStableTime, 9:0, scratch4, 19:10);
1026
}
1027
1028
/*
1029
* This function reads SDRAM parameters from the common BCT format and
1030
* writes them into PMC scratch registers (where the BootROM expects them
1031
* on LP0 resume).
1032
*/
1033
static void _sdram_lp0_save_params_t210b01(sdram_params_t210b01_t *sdram)
1034
{
1035
pmc_regs_t210_t *pmc = (pmc_regs_t210_t *)PMC_BASE;
1036
1037
// Patch full access to carveout parameters and unprotect their regions.
1038
sdram->mc_generalized_carveout1_cfg0 = 0;
1039
sdram->mc_generalized_carveout2_cfg0 = 0;
1040
sdram->mc_generalized_carveout3_cfg0 = 0;
1041
sdram->mc_generalized_carveout4_cfg0 = 0;
1042
sdram->mc_generalized_carveout5_cfg0 = 0;
1043
1044
// Patch SDRAM parameters.
1045
u32 t0 = (sdram->emc_swizzle_rank0_byte0 << 5 >> 29) > (sdram->emc_swizzle_rank0_byte0 << 1 >> 29);
1046
u32 t1 = (t0 & 0xFFFFFFEF) | (((sdram->emc_swizzle_rank1_byte0 << 5 >> 29) > (sdram->emc_swizzle_rank1_byte0 << 1 >> 29)) << 4);
1047
u32 t2 = (t1 & 0xFFFFFFFD) | (((sdram->emc_swizzle_rank0_byte1 << 5 >> 29) > (sdram->emc_swizzle_rank0_byte1 << 1 >> 29)) << 1);
1048
u32 t3 = (t2 & 0xFFFFFFDF) | (((sdram->emc_swizzle_rank1_byte1 << 5 >> 29) > (sdram->emc_swizzle_rank1_byte1 << 1 >> 29)) << 5);
1049
u32 t4 = (t3 & 0xFFFFFFFB) | (((sdram->emc_swizzle_rank0_byte2 << 5 >> 29) > (sdram->emc_swizzle_rank0_byte2 << 1 >> 29)) << 2);
1050
u32 t5 = (t4 & 0xFFFFFFBF) | (((sdram->emc_swizzle_rank1_byte2 << 5 >> 29) > (sdram->emc_swizzle_rank1_byte2 << 1 >> 29)) << 6);
1051
u32 t6 = (t5 & 0xFFFFFFF7) | (((sdram->emc_swizzle_rank0_byte3 << 5 >> 29) > (sdram->emc_swizzle_rank0_byte3 << 1 >> 29)) << 3);
1052
u32 t7 = (t6 & 0xFFFFFF7F) | (((sdram->emc_swizzle_rank1_byte3 << 5 >> 29) > (sdram->emc_swizzle_rank1_byte3 << 1 >> 29)) << 7);
1053
sdram->swizzle_rank_byte_encode = t7;
1054
sdram->emc_bct_spare2 = 0x40000DD8;
1055
sdram->emc_bct_spare3 = t7;
1056
1057
s(emc_clock_source, 7:0, scratch6, 15:8);
1058
s(emc_clock_source_dll, 7:0, scratch6, 23:16);
1059
s(emc_clock_source, 31:29, scratch6, 26:24);
1060
s(emc_clock_source_dll, 31:29, scratch6, 29:27);
1061
s(emc_clock_source_dll, 11:10, scratch6, 31:30);
1062
s(clk_rst_pllm_misc20_override, 9:8, scratch7, 1:0);
1063
s(clk_rst_pllm_misc20_override, 2:1, scratch7, 3:2);
1064
s(emc_zqcal_lpddr4_warm_boot, 31:30, scratch7, 5:4);
1065
s(emc_clock_source, 27:27, scratch7, 6:6);
1066
s(emc_clock_source, 26:26, scratch7, 7:7);
1067
s(emc_clock_source, 15:15, scratch7, 8:8);
1068
s(emc_clock_source, 25:25, scratch7, 9:9);
1069
s(emc_clock_source, 20:19, scratch7, 11:10);
1070
s(emc_clock_source, 16:16, scratch7, 12:12);
1071
s(clk_rst_pllm_misc20_override, 13:13, scratch7, 13:13);
1072
s(clk_rst_pllm_misc20_override, 12:12, scratch7, 14:14);
1073
s(clk_rst_pllm_misc20_override, 11:11, scratch7, 15:15);
1074
s(clk_rst_pllm_misc20_override, 10:10, scratch7, 16:16);
1075
s(clk_rst_pllm_misc20_override, 5:5, scratch7, 17:17);
1076
s(clk_rst_pllm_misc20_override, 4:4, scratch7, 18:18);
1077
s(clk_rst_pllm_misc20_override, 3:3, scratch7, 19:19);
1078
s(clk_rst_pllm_misc20_override, 0:0, scratch7, 20:20);
1079
s(emc_zqcal_lpddr4_warm_boot, 1:0, scratch7, 22:21);
1080
s(emc_zqcal_lpddr4_warm_boot, 4:4, scratch7, 23:23);
1081
s(emc_rc, 7:0, scratch7, 31:24);
1082
s(emc_pmacro_bg_bias_ctrl0, 13:12, scratch8, 31:30);
1083
s(emc_fdpd_ctrl_cmd_no_ramp, 0:0, scratch14, 30:30);
1084
s(emc_cfg_pipe_clk, 0:0, scratch14, 31:31);
1085
s(emc_qrst, 6:0, scratch15, 26:20);
1086
s(emc_qrst, 20:16, scratch15, 31:27);
1087
s(emc_pmacro_cmd_tx_drive, 5:0, scratch16, 25:20);
1088
s(emc_pmacro_cmd_tx_drive, 13:8, scratch16, 31:26);
1089
s(emc_fbio_cfg8, 27:16, scratch17, 31:20);
1090
s(emc_txsr_dll, 11:0, scratch18, 31:20);
1091
s(emc_txdsrvttgen, 11:0, scratch19, 31:20);
1092
s32(emc_cfg_rsv, scratch22);
1093
s32(emc_auto_cal_config, scratch23);
1094
s32(emc_auto_cal_vref_sel0, scratch24);
1095
s32(emc_pmacro_brick_ctrl_rfu1, scratch25);
1096
s32(emc_pmacro_brick_ctrl_rfu2, scratch26);
1097
s32(emc_pmc_scratch1, scratch27);
1098
s32(emc_pmc_scratch2, scratch28);
1099
s32(emc_pmc_scratch3, scratch29);
1100
s32(emc_pmacro_perbit_rfu_ctrl0, scratch30);
1101
s32(emc_pmacro_perbit_rfu_ctrl1, scratch31);
1102
s32(emc_pmacro_perbit_rfu_ctrl2, scratch32);
1103
s32(emc_pmacro_perbit_rfu_ctrl3, scratch33);
1104
s32(emc_pmacro_perbit_rfu_ctrl4, scratch40);
1105
s32(emc_pmacro_perbit_rfu_ctrl5, scratch42);
1106
s32(mc_emem_arb_da_turns, scratch44);
1107
s(emc_fbio_spare, 31:24, scratch64, 7:0);
1108
s(emc_fbio_spare, 23:16, scratch64, 15:8);
1109
s(emc_fbio_spare, 15:8, scratch64, 23:16);
1110
s(emc_fbio_spare, 7:2, scratch64, 29:24);
1111
s(emc_fbio_spare, 0:0, scratch64, 30:30);
1112
s(mc_emem_arb_misc2, 0:0, scratch64, 31:31);
1113
s(mc_emem_arb_misc0, 14:0, scratch65, 14:0);
1114
s(mc_emem_arb_misc0, 30:16, scratch65, 29:15);
1115
s(mc_da_cfg0, 0:0, scratch65, 30:30);
1116
s(emc_fdpd_ctrl_cmd, 16:0, scratch66, 16:0);
1117
s(emc_fdpd_ctrl_cmd, 31:20, scratch66, 28:17);
1118
s(emc_auto_cal_config2, 27:0, scratch67, 27:0);
1119
s(emc_burst_refresh_num, 3:0, scratch67, 31:28);
1120
s(emc_cfg_dig_dll, 10:0, scratch68, 10:0);
1121
s(emc_cfg_dig_dll, 25:12, scratch68, 24:11);
1122
s(emc_cfg_dig_dll, 27:27, scratch68, 25:25);
1123
s(emc_cfg_dig_dll, 31:30, scratch68, 27:26);
1124
s(emc_tppd, 3:0, scratch68, 31:28);
1125
s(emc_fdpd_ctrl_dq, 16:0, scratch69, 16:0);
1126
s(emc_fdpd_ctrl_dq, 28:20, scratch69, 25:17);
1127
s(emc_fdpd_ctrl_dq, 31:30, scratch69, 27:26);
1128
s(emc_r2r, 3:0, scratch69, 31:28);
1129
s(emc_pmacro_ib_vref_dq_0, 6:0, scratch70, 6:0);
1130
s(emc_pmacro_ib_vref_dq_0, 14:8, scratch70, 13:7);
1131
s(emc_pmacro_ib_vref_dq_0, 22:16, scratch70, 20:14);
1132
s(emc_pmacro_ib_vref_dq_0, 30:24, scratch70, 27:21);
1133
s(emc_w2w, 3:0, scratch70, 31:28);
1134
s(emc_pmacro_ib_vref_dq_1, 6:0, scratch71, 6:0);
1135
s(emc_pmacro_ib_vref_dq_1, 14:8, scratch71, 13:7);
1136
s(emc_pmacro_ib_vref_dq_1, 22:16, scratch71, 20:14);
1137
s(emc_pmacro_ib_vref_dq_1, 30:24, scratch71, 27:21);
1138
s(emc_pmacro_vttgen_ctrl0, 19:16, scratch71, 31:28);
1139
s(emc_pmacro_ib_vref_dqs_0, 6:0, scratch72, 6:0);
1140
s(emc_pmacro_ib_vref_dqs_0, 14:8, scratch72, 13:7);
1141
s(emc_pmacro_ib_vref_dqs_0, 22:16, scratch72, 20:14);
1142
s(emc_pmacro_ib_vref_dqs_0, 30:24, scratch72, 27:21);
1143
s(emc_pmacro_ib_vref_dqs_1, 6:0, scratch73, 6:0);
1144
s(emc_pmacro_ib_vref_dqs_1, 14:8, scratch73, 13:7);
1145
s(emc_pmacro_ib_vref_dqs_1, 22:16, scratch73, 20:14);
1146
s(emc_pmacro_ib_vref_dqs_1, 30:24, scratch73, 27:21);
1147
s(emc_pmacro_ddll_short_cmd_0, 6:0, scratch74, 6:0);
1148
s(emc_pmacro_ddll_short_cmd_0, 14:8, scratch74, 13:7);
1149
s(emc_pmacro_ddll_short_cmd_0, 22:16, scratch74, 20:14);
1150
s(emc_pmacro_ddll_short_cmd_0, 30:24, scratch74, 27:21);
1151
s(emc_pmacro_ddll_short_cmd_1, 6:0, scratch75, 6:0);
1152
s(emc_pmacro_ddll_short_cmd_1, 14:8, scratch75, 13:7);
1153
s(emc_pmacro_ddll_short_cmd_1, 22:16, scratch75, 20:14);
1154
s(emc_pmacro_ddll_short_cmd_1, 30:24, scratch75, 27:21);
1155
s(emc_dll_cfg0, 29:4, scratch76, 25:0);
1156
s(emc_rp, 5:0, scratch76, 31:26);
1157
s(emc_pmacro_tx_pwrd0, 10:0, scratch77, 10:0);
1158
s(emc_pmacro_tx_pwrd0, 13:12, scratch77, 12:11);
1159
s(emc_pmacro_tx_pwrd0, 26:16, scratch77, 23:13);
1160
s(emc_pmacro_tx_pwrd0, 29:28, scratch77, 25:24);
1161
s(emc_r2w, 5:0, scratch77, 31:26);
1162
s(emc_pmacro_tx_pwrd1, 10:0, scratch78, 10:0);
1163
s(emc_pmacro_tx_pwrd1, 13:12, scratch78, 12:11);
1164
s(emc_pmacro_tx_pwrd1, 26:16, scratch78, 23:13);
1165
s(emc_pmacro_tx_pwrd1, 29:28, scratch78, 25:24);
1166
s(emc_w2r, 5:0, scratch78, 31:26);
1167
s(emc_pmacro_tx_pwrd2, 10:0, scratch79, 10:0);
1168
s(emc_pmacro_tx_pwrd2, 13:12, scratch79, 12:11);
1169
s(emc_pmacro_tx_pwrd2, 26:16, scratch79, 23:13);
1170
s(emc_pmacro_tx_pwrd2, 29:28, scratch79, 25:24);
1171
s(emc_r2p, 5:0, scratch79, 31:26);
1172
s(emc_pmacro_tx_pwrd3, 10:0, scratch80, 10:0);
1173
s(emc_pmacro_tx_pwrd3, 13:12, scratch80, 12:11);
1174
s(emc_pmacro_tx_pwrd3, 26:16, scratch80, 23:13);
1175
s(emc_pmacro_tx_pwrd3, 29:28, scratch80, 25:24);
1176
s(emc_ccdmw, 5:0, scratch80, 31:26);
1177
s(emc_pmacro_tx_pwrd4, 10:0, scratch81, 10:0);
1178
s(emc_pmacro_tx_pwrd4, 13:12, scratch81, 12:11);
1179
s(emc_pmacro_tx_pwrd4, 26:16, scratch81, 23:13);
1180
s(emc_pmacro_tx_pwrd4, 29:28, scratch81, 25:24);
1181
s(emc_rd_rcd, 5:0, scratch81, 31:26);
1182
s(emc_pmacro_tx_pwrd5, 10:0, scratch82, 10:0);
1183
s(emc_pmacro_tx_pwrd5, 13:12, scratch82, 12:11);
1184
s(emc_pmacro_tx_pwrd5, 26:16, scratch82, 23:13);
1185
s(emc_pmacro_tx_pwrd5, 29:28, scratch82, 25:24);
1186
s(emc_wr_rcd, 5:0, scratch82, 31:26);
1187
s(emc_auto_cal_channel, 5:0, scratch83, 5:0);
1188
s(emc_auto_cal_channel, 11:8, scratch83, 9:6);
1189
s(emc_auto_cal_channel, 27:16, scratch83, 21:10);
1190
s(emc_auto_cal_channel, 31:29, scratch83, 24:22);
1191
s(emc_config_sample_delay, 6:0, scratch83, 31:25);
1192
s(emc_pmacro_rx_term, 5:0, scratch84, 5:0);
1193
s(emc_pmacro_rx_term, 13:8, scratch84, 11:6);
1194
s(emc_pmacro_rx_term, 21:16, scratch84, 17:12);
1195
s(emc_pmacro_rx_term, 29:24, scratch84, 23:18);
1196
s(emc_sel_dpd_ctrl, 5:2, scratch84, 27:24);
1197
s(emc_sel_dpd_ctrl, 8:8, scratch84, 28:28);
1198
s(emc_sel_dpd_ctrl, 18:16, scratch84, 31:29);
1199
s(emc_pmacro_dq_tx_drive, 5:0, scratch85, 5:0);
1200
s(emc_pmacro_dq_tx_drive, 13:8, scratch85, 11:6);
1201
s(emc_pmacro_dq_tx_drive, 21:16, scratch85, 17:12);
1202
s(emc_pmacro_dq_tx_drive, 29:24, scratch85, 23:18);
1203
s(emc_obdly, 5:0, scratch85, 29:24);
1204
s(emc_obdly, 29:28, scratch85, 31:30);
1205
s(emc_pmacro_ca_tx_drive, 5:0, scratch86, 5:0);
1206
s(emc_pmacro_ca_tx_drive, 13:8, scratch86, 11:6);
1207
s(emc_pmacro_ca_tx_drive, 21:16, scratch86, 17:12);
1208
s(emc_pmacro_ca_tx_drive, 29:24, scratch86, 23:18);
1209
s(emc_pmacro_vttgen_ctrl1, 15:10, scratch86, 29:24);
1210
s(emc_pmacro_vttgen_ctrl1, 21:20, scratch86, 31:30);
1211
s(emc_pmacro_zcrtl, 27:4, scratch87, 23:0);
1212
s(emc_pmacro_vttgen_ctrl2, 23:16, scratch87, 31:24);
1213
s(emc_zcal_interval, 23:10, scratch88, 13:0);
1214
s(emc_zcal_interval, 9:0, scratch88, 23:14);
1215
s(mc_emem_arb_timing_rc, 7:0, scratch88, 31:24);
1216
s(emc_data_brlshft0, 23:0, scratch89, 23:0);
1217
s(mc_emem_arb_rsv, 7:0, scratch89, 31:24);
1218
s(emc_data_brlshft1, 23:0, scratch90, 23:0);
1219
s(emc_dqs_brlshft0, 23:0, scratch91, 23:0);
1220
s(emc_dqs_brlshft1, 23:0, scratch92, 23:0);
1221
s(emc_swizzle_rank0_byte0, 2:0, scratch93, 2:0);
1222
s(emc_swizzle_rank0_byte0, 6:4, scratch93, 5:3);
1223
s(emc_swizzle_rank0_byte0, 10:8, scratch93, 8:6);
1224
s(emc_swizzle_rank0_byte0, 14:12, scratch93, 11:9);
1225
s(emc_swizzle_rank0_byte0, 18:16, scratch93, 14:12);
1226
s(emc_swizzle_rank0_byte0, 22:20, scratch93, 17:15);
1227
s(emc_swizzle_rank0_byte0, 26:24, scratch93, 20:18);
1228
s(emc_swizzle_rank0_byte0, 30:28, scratch93, 23:21);
1229
s(emc_swizzle_rank0_byte1, 2:0, scratch94, 2:0);
1230
s(emc_swizzle_rank0_byte1, 6:4, scratch94, 5:3);
1231
s(emc_swizzle_rank0_byte1, 10:8, scratch94, 8:6);
1232
s(emc_swizzle_rank0_byte1, 14:12, scratch94, 11:9);
1233
s(emc_swizzle_rank0_byte1, 18:16, scratch94, 14:12);
1234
s(emc_swizzle_rank0_byte1, 22:20, scratch94, 17:15);
1235
s(emc_swizzle_rank0_byte1, 26:24, scratch94, 20:18);
1236
s(emc_swizzle_rank0_byte1, 30:28, scratch94, 23:21);
1237
s(emc_ras, 6:0, scratch94, 30:24);
1238
s(emc_cfg, 4:4, scratch94, 31:31);
1239
s(emc_swizzle_rank0_byte2, 2:0, scratch95, 2:0);
1240
s(emc_swizzle_rank0_byte2, 6:4, scratch95, 5:3);
1241
s(emc_swizzle_rank0_byte2, 10:8, scratch95, 8:6);
1242
s(emc_swizzle_rank0_byte2, 14:12, scratch95, 11:9);
1243
s(emc_swizzle_rank0_byte2, 18:16, scratch95, 14:12);
1244
s(emc_swizzle_rank0_byte2, 22:20, scratch95, 17:15);
1245
s(emc_swizzle_rank0_byte2, 26:24, scratch95, 20:18);
1246
s(emc_swizzle_rank0_byte2, 30:28, scratch95, 23:21);
1247
s(emc_w2p, 6:0, scratch95, 30:24);
1248
s(emc_cfg, 5:5, scratch95, 31:31);
1249
s(emc_swizzle_rank0_byte3, 2:0, scratch96, 2:0);
1250
s(emc_swizzle_rank0_byte3, 6:4, scratch96, 5:3);
1251
s(emc_swizzle_rank0_byte3, 10:8, scratch96, 8:6);
1252
s(emc_swizzle_rank0_byte3, 14:12, scratch96, 11:9);
1253
s(emc_swizzle_rank0_byte3, 18:16, scratch96, 14:12);
1254
s(emc_swizzle_rank0_byte3, 22:20, scratch96, 17:15);
1255
s(emc_swizzle_rank0_byte3, 26:24, scratch96, 20:18);
1256
s(emc_swizzle_rank0_byte3, 30:28, scratch96, 23:21);
1257
s(emc_qsafe, 6:0, scratch96, 30:24);
1258
s(emc_cfg, 6:6, scratch96, 31:31);
1259
s(emc_swizzle_rank1_byte0, 2:0, scratch97, 2:0);
1260
s(emc_swizzle_rank1_byte0, 6:4, scratch97, 5:3);
1261
s(emc_swizzle_rank1_byte0, 10:8, scratch97, 8:6);
1262
s(emc_swizzle_rank1_byte0, 14:12, scratch97, 11:9);
1263
s(emc_swizzle_rank1_byte0, 18:16, scratch97, 14:12);
1264
s(emc_swizzle_rank1_byte0, 22:20, scratch97, 17:15);
1265
s(emc_swizzle_rank1_byte0, 26:24, scratch97, 20:18);
1266
s(emc_swizzle_rank1_byte0, 30:28, scratch97, 23:21);
1267
s(emc_rdv, 6:0, scratch97, 30:24);
1268
s(emc_cfg, 7:7, scratch97, 31:31);
1269
s(emc_swizzle_rank1_byte1, 2:0, scratch98, 2:0);
1270
s(emc_swizzle_rank1_byte1, 6:4, scratch98, 5:3);
1271
s(emc_swizzle_rank1_byte1, 10:8, scratch98, 8:6);
1272
s(emc_swizzle_rank1_byte1, 14:12, scratch98, 11:9);
1273
s(emc_swizzle_rank1_byte1, 18:16, scratch98, 14:12);
1274
s(emc_swizzle_rank1_byte1, 22:20, scratch98, 17:15);
1275
s(emc_swizzle_rank1_byte1, 26:24, scratch98, 20:18);
1276
s(emc_swizzle_rank1_byte1, 30:28, scratch98, 23:21);
1277
s(emc_rw2pden, 6:0, scratch98, 30:24);
1278
s(emc_cfg, 8:8, scratch98, 31:31);
1279
s(emc_swizzle_rank1_byte2, 2:0, scratch99, 2:0);
1280
s(emc_swizzle_rank1_byte2, 6:4, scratch99, 5:3);
1281
s(emc_swizzle_rank1_byte2, 10:8, scratch99, 8:6);
1282
s(emc_swizzle_rank1_byte2, 14:12, scratch99, 11:9);
1283
s(emc_swizzle_rank1_byte2, 18:16, scratch99, 14:12);
1284
s(emc_swizzle_rank1_byte2, 22:20, scratch99, 17:15);
1285
s(emc_swizzle_rank1_byte2, 26:24, scratch99, 20:18);
1286
s(emc_swizzle_rank1_byte2, 30:28, scratch99, 23:21);
1287
s(emc_tfaw, 6:0, scratch99, 30:24);
1288
s(emc_cfg, 9:9, scratch99, 31:31);
1289
s(emc_swizzle_rank1_byte3, 2:0, scratch100, 2:0);
1290
s(emc_swizzle_rank1_byte3, 6:4, scratch100, 5:3);
1291
s(emc_swizzle_rank1_byte3, 10:8, scratch100, 8:6);
1292
s(emc_swizzle_rank1_byte3, 14:12, scratch100, 11:9);
1293
s(emc_swizzle_rank1_byte3, 18:16, scratch100, 14:12);
1294
s(emc_swizzle_rank1_byte3, 22:20, scratch100, 17:15);
1295
s(emc_swizzle_rank1_byte3, 26:24, scratch100, 20:18);
1296
s(emc_swizzle_rank1_byte3, 30:28, scratch100, 23:21);
1297
s(emc_tclkstable, 6:0, scratch100, 30:24);
1298
s(emc_cfg, 18:18, scratch100, 31:31);
1299
s(emc_cfg_pipe2, 11:0, scratch101, 11:0);
1300
s(emc_cfg_pipe2, 27:16, scratch101, 23:12);
1301
s(emc_trtm, 6:0, scratch101, 30:24);
1302
s(emc_cfg, 21:21, scratch101, 31:31);
1303
s(emc_cfg_pipe1, 11:0, scratch102, 11:0);
1304
s(emc_cfg_pipe1, 27:16, scratch102, 23:12);
1305
s(emc_twtm, 6:0, scratch102, 30:24);
1306
s(emc_cfg, 22:22, scratch102, 31:31);
1307
s(emc_pmacro_ddll_pwrd0, 4:1, scratch103, 3:0);
1308
s(emc_pmacro_ddll_pwrd0, 7:6, scratch103, 5:4);
1309
s(emc_pmacro_ddll_pwrd0, 12:9, scratch103, 9:6);
1310
s(emc_pmacro_ddll_pwrd0, 15:14, scratch103, 11:10);
1311
s(emc_pmacro_ddll_pwrd0, 20:17, scratch103, 15:12);
1312
s(emc_pmacro_ddll_pwrd0, 23:22, scratch103, 17:16);
1313
s(emc_pmacro_ddll_pwrd0, 28:25, scratch103, 21:18);
1314
s(emc_pmacro_ddll_pwrd0, 31:30, scratch103, 23:22);
1315
s(emc_tratm, 6:0, scratch103, 30:24);
1316
s(emc_cfg, 23:23, scratch103, 31:31);
1317
s(emc_pmacro_ddll_pwrd1, 4:1, scratch104, 3:0);
1318
s(emc_pmacro_ddll_pwrd1, 7:6, scratch104, 5:4);
1319
s(emc_pmacro_ddll_pwrd1, 12:9, scratch104, 9:6);
1320
s(emc_pmacro_ddll_pwrd1, 15:14, scratch104, 11:10);
1321
s(emc_pmacro_ddll_pwrd1, 20:17, scratch104, 15:12);
1322
s(emc_pmacro_ddll_pwrd1, 23:22, scratch104, 17:16);
1323
s(emc_pmacro_ddll_pwrd1, 28:25, scratch104, 21:18);
1324
s(emc_pmacro_ddll_pwrd1, 31:30, scratch104, 23:22);
1325
s(emc_twatm, 6:0, scratch104, 30:24);
1326
s(emc_cfg, 24:24, scratch104, 31:31);
1327
s(emc_pmacro_ddll_pwrd2, 4:1, scratch105, 3:0);
1328
s(emc_pmacro_ddll_pwrd2, 7:6, scratch105, 5:4);
1329
s(emc_pmacro_ddll_pwrd2, 12:9, scratch105, 9:6);
1330
s(emc_pmacro_ddll_pwrd2, 15:14, scratch105, 11:10);
1331
s(emc_pmacro_ddll_pwrd2, 20:17, scratch105, 15:12);
1332
s(emc_pmacro_ddll_pwrd2, 23:22, scratch105, 17:16);
1333
s(emc_pmacro_ddll_pwrd2, 28:25, scratch105, 21:18);
1334
s(emc_pmacro_ddll_pwrd2, 31:30, scratch105, 23:22);
1335
s(emc_tr2ref, 6:0, scratch105, 30:24);
1336
s(emc_cfg, 25:25, scratch105, 31:31);
1337
s(emc_pmacro_ddll_periodic_offset, 5:0, scratch106, 5:0);
1338
s(emc_pmacro_ddll_periodic_offset, 16:8, scratch106, 14:6);
1339
s(emc_pmacro_ddll_periodic_offset, 28:20, scratch106, 23:15);
1340
s(emc_pdex2mrr, 6:0, scratch106, 30:24);
1341
s(emc_cfg, 26:26, scratch106, 31:31);
1342
s(mc_emem_arb_da_covers, 23:0, scratch107, 23:0);
1343
s(emc_clken_override, 3:1, scratch107, 26:24);
1344
s(emc_clken_override, 8:6, scratch107, 29:27);
1345
s(emc_clken_override, 16:16, scratch107, 30:30);
1346
s(emc_cfg, 28:28, scratch107, 31:31);
1347
s(emc_xm2_comp_pad_ctrl, 1:0, scratch108, 1:0);
1348
s(emc_xm2_comp_pad_ctrl, 6:4, scratch108, 4:2);
1349
s(emc_xm2_comp_pad_ctrl, 9:9, scratch108, 5:5);
1350
s(emc_xm2_comp_pad_ctrl, 19:11, scratch108, 14:6);
1351
s(emc_xm2_comp_pad_ctrl, 31:24, scratch108, 22:15);
1352
s(emc_rfc_pb, 8:0, scratch108, 31:23);
1353
s(emc_auto_cal_config3, 6:0, scratch109, 6:0);
1354
s(emc_auto_cal_config3, 14:8, scratch109, 13:7);
1355
s(emc_auto_cal_config3, 23:16, scratch109, 21:14);
1356
s(emc_cfg_update, 2:0, scratch109, 24:22);
1357
s(emc_cfg_update, 10:8, scratch109, 27:25);
1358
s(emc_cfg_update, 31:28, scratch109, 31:28);
1359
s(emc_auto_cal_config4, 6:0, scratch110, 6:0);
1360
s(emc_auto_cal_config4, 14:8, scratch110, 13:7);
1361
s(emc_auto_cal_config4, 23:16, scratch110, 21:14);
1362
s(emc_rfc, 9:0, scratch110, 31:22);
1363
s(emc_auto_cal_config5, 6:0, scratch111, 6:0);
1364
s(emc_auto_cal_config5, 14:8, scratch111, 13:7);
1365
s(emc_auto_cal_config5, 23:16, scratch111, 21:14);
1366
s(emc_txsr, 9:0, scratch111, 31:22);
1367
s(emc_auto_cal_config6, 6:0, scratch112, 6:0);
1368
s(emc_auto_cal_config6, 14:8, scratch112, 13:7);
1369
s(emc_auto_cal_config6, 23:16, scratch112, 21:14);
1370
s(emc_mc2emc_q, 2:0, scratch112, 24:22);
1371
s(emc_mc2emc_q, 10:8, scratch112, 27:25);
1372
s(emc_mc2emc_q, 27:24, scratch112, 31:28);
1373
s(emc_auto_cal_config7, 6:0, scratch113, 6:0);
1374
s(emc_auto_cal_config7, 14:8, scratch113, 13:7);
1375
s(emc_auto_cal_config7, 23:16, scratch113, 21:14);
1376
s(mc_emem_arb_ring1_throttle, 4:0, scratch113, 26:22);
1377
s(mc_emem_arb_ring1_throttle, 20:16, scratch113, 31:27);
1378
s(emc_auto_cal_config8, 6:0, scratch114, 6:0);
1379
s(emc_auto_cal_config8, 14:8, scratch114, 13:7);
1380
s(emc_auto_cal_config8, 23:16, scratch114, 21:14);
1381
s(emc_fbio_cfg7, 21:0, scratch115, 21:0);
1382
s(emc_ar2pden, 8:0, scratch115, 30:22);
1383
s(emc_cfg, 29:29, scratch115, 31:31);
1384
s(emc_pmacro_quse_ddll_rank0_0, 10:0, scratch123, 10:0);
1385
s(emc_pmacro_quse_ddll_rank0_0, 26:16, scratch123, 21:11);
1386
s(emc_rfc_slr, 8:0, scratch123, 30:22);
1387
s(emc_cfg, 30:30, scratch123, 31:31);
1388
s(emc_pmacro_quse_ddll_rank0_1, 10:0, scratch124, 10:0);
1389
s(emc_pmacro_quse_ddll_rank0_1, 26:16, scratch124, 21:11);
1390
s(emc_ibdly, 6:0, scratch124, 28:22);
1391
s(emc_ibdly, 29:28, scratch124, 30:29);
1392
s(emc_cfg, 31:31, scratch124, 31:31);
1393
s(emc_pmacro_quse_ddll_rank0_2, 10:0, scratch125, 10:0);
1394
s(emc_pmacro_quse_ddll_rank0_2, 26:16, scratch125, 21:11);
1395
s(mc_emem_arb_timing_rfcpb, 8:0, scratch125, 30:22);
1396
s(emc_fbio_cfg5, 4:4, scratch125, 31:31);
1397
s(emc_pmacro_quse_ddll_rank0_3, 10:0, scratch126, 10:0);
1398
s(emc_pmacro_quse_ddll_rank0_3, 26:16, scratch126, 21:11);
1399
s(emc_auto_cal_config9, 6:0, scratch126, 28:22);
1400
s(emc_fbio_cfg5, 15:13, scratch126, 31:29);
1401
s(emc_pmacro_quse_ddll_rank0_4, 10:0, scratch127, 10:0);
1402
s(emc_pmacro_quse_ddll_rank0_4, 26:16, scratch127, 21:11);
1403
s(emc_rdv_mask, 6:0, scratch127, 28:22);
1404
s(emc_cfg2, 5:3, scratch127, 31:29);
1405
s(emc_pmacro_quse_ddll_rank0_5, 10:0, scratch128, 10:0);
1406
s(emc_pmacro_quse_ddll_rank0_5, 26:16, scratch128, 21:11);
1407
s(emc_rdv_early_mask, 6:0, scratch128, 28:22);
1408
s(emc_pmacro_cmd_pad_tx_ctrl, 4:2, scratch128, 31:29);
1409
s(emc_pmacro_quse_ddll_rank1_0, 10:0, scratch129, 10:0);
1410
s(emc_pmacro_quse_ddll_rank1_0, 26:16, scratch129, 21:11);
1411
s(emc_rdv_early, 6:0, scratch129, 28:22);
1412
s(emc_pmacro_cmd_pad_tx_ctrl, 9:7, scratch129, 31:29);
1413
s(emc_pmacro_quse_ddll_rank1_1, 10:0, scratch130, 10:0);
1414
s(emc_pmacro_quse_ddll_rank1_1, 26:16, scratch130, 21:11);
1415
s(emc_quse_width, 4:0, scratch130, 26:22);
1416
s(emc_quse_width, 29:28, scratch130, 28:27);
1417
s(emc_pmacro_cmd_pad_tx_ctrl, 14:12, scratch130, 31:29);
1418
s(emc_pmacro_quse_ddll_rank1_2, 10:0, scratch131, 10:0);
1419
s(emc_pmacro_quse_ddll_rank1_2, 26:16, scratch131, 21:11);
1420
s(emc_pmacro_ddll_short_cmd_2, 6:0, scratch131, 28:22);
1421
s(emc_pmacro_cmd_pad_tx_ctrl, 19:17, scratch131, 31:29);
1422
s(emc_pmacro_quse_ddll_rank1_3, 10:0, scratch132, 10:0);
1423
s(emc_pmacro_quse_ddll_rank1_3, 26:16, scratch132, 21:11);
1424
s(emc_pmacro_cmd_rx_term_mode, 1:0, scratch132, 23:22);
1425
s(emc_pmacro_cmd_rx_term_mode, 5:4, scratch132, 25:24);
1426
s(emc_pmacro_cmd_rx_term_mode, 9:8, scratch132, 27:26);
1427
s(emc_pmacro_cmd_rx_term_mode, 13:13, scratch132, 28:28);
1428
s(emc_pmacro_data_pad_tx_ctrl, 4:2, scratch132, 31:29);
1429
s(emc_pmacro_quse_ddll_rank1_4, 10:0, scratch133, 10:0);
1430
s(emc_pmacro_quse_ddll_rank1_4, 26:16, scratch133, 21:11);
1431
s(emc_pmacro_data_rx_term_mode, 1:0, scratch133, 23:22);
1432
s(emc_pmacro_data_rx_term_mode, 5:4, scratch133, 25:24);
1433
s(emc_pmacro_data_rx_term_mode, 9:8, scratch133, 27:26);
1434
s(emc_pmacro_data_rx_term_mode, 13:13, scratch133, 28:28);
1435
s(emc_pmacro_data_pad_tx_ctrl, 9:7, scratch133, 31:29);
1436
s(emc_pmacro_quse_ddll_rank1_5, 10:0, scratch134, 10:0);
1437
s(emc_pmacro_quse_ddll_rank1_5, 26:16, scratch134, 21:11);
1438
s(mc_emem_arb_timing_rp, 6:0, scratch134, 28:22);
1439
s(emc_pmacro_data_pad_tx_ctrl, 14:12, scratch134, 31:29);
1440
s(emc_pmacro_ob_ddll_long_dq_rank0_0, 10:0, scratch135, 10:0);
1441
s(emc_pmacro_ob_ddll_long_dq_rank0_0, 26:16, scratch135, 21:11);
1442
s(mc_emem_arb_timing_ras, 6:0, scratch135, 28:22);
1443
s(emc_pmacro_data_pad_tx_ctrl, 19:17, scratch135, 31:29);
1444
s(emc_pmacro_ob_ddll_long_dq_rank0_1, 10:0, scratch136, 10:0);
1445
s(emc_pmacro_ob_ddll_long_dq_rank0_1, 26:16, scratch136, 21:11);
1446
s(mc_emem_arb_timing_faw, 6:0, scratch136, 28:22);
1447
s(emc_cfg, 17:16, scratch136, 30:29);
1448
s(emc_fbio_cfg5, 8:8, scratch136, 31:31);
1449
s(emc_pmacro_ob_ddll_long_dq_rank0_2, 10:0, scratch137, 10:0);
1450
s(emc_pmacro_ob_ddll_long_dq_rank0_2, 26:16, scratch137, 21:11);
1451
s(mc_emem_arb_timing_rap2pre, 6:0, scratch137, 28:22);
1452
s(emc_fbio_cfg5, 1:0, scratch137, 30:29);
1453
s(emc_fbio_cfg5, 10:10, scratch137, 31:31);
1454
s(emc_pmacro_ob_ddll_long_dq_rank0_3, 10:0, scratch138, 10:0);
1455
s(emc_pmacro_ob_ddll_long_dq_rank0_3, 26:16, scratch138, 21:11);
1456
s(mc_emem_arb_timing_wap2pre, 6:0, scratch138, 28:22);
1457
s(emc_fbio_cfg5, 3:2, scratch138, 30:29);
1458
s(emc_fbio_cfg5, 12:12, scratch138, 31:31);
1459
s(emc_pmacro_ob_ddll_long_dq_rank0_4, 10:0, scratch139, 10:0);
1460
s(emc_pmacro_ob_ddll_long_dq_rank0_4, 26:16, scratch139, 21:11);
1461
s(mc_emem_arb_timing_r2w, 6:0, scratch139, 28:22);
1462
s(emc_cfg2, 27:26, scratch139, 30:29);
1463
s(emc_fbio_cfg5, 24:24, scratch139, 31:31);
1464
s(emc_pmacro_ob_ddll_long_dq_rank0_5, 10:0, scratch140, 10:0);
1465
s(emc_pmacro_ob_ddll_long_dq_rank0_5, 26:16, scratch140, 21:11);
1466
s(mc_emem_arb_timing_w2r, 6:0, scratch140, 28:22);
1467
s(emc_fbio_cfg5, 27:25, scratch140, 31:29);
1468
s(emc_pmacro_ob_ddll_long_dq_rank1_0, 10:0, scratch141, 10:0);
1469
s(emc_pmacro_ob_ddll_long_dq_rank1_0, 26:16, scratch141, 21:11);
1470
s(emc_wdv, 5:0, scratch141, 27:22);
1471
s(emc_fbio_cfg5, 23:20, scratch141, 31:28);
1472
s(emc_pmacro_ob_ddll_long_dq_rank1_1, 10:0, scratch142, 10:0);
1473
s(emc_pmacro_ob_ddll_long_dq_rank1_1, 26:16, scratch142, 21:11);
1474
s(emc_quse, 5:0, scratch142, 27:22);
1475
s(emc_fbio_cfg5, 28:28, scratch142, 28:28);
1476
s(emc_fbio_cfg5, 31:30, scratch142, 30:29);
1477
s(emc_cfg2, 0:0, scratch142, 31:31);
1478
s(emc_pmacro_ob_ddll_long_dq_rank1_2, 10:0, scratch143, 10:0);
1479
s(emc_pmacro_ob_ddll_long_dq_rank1_2, 26:16, scratch143, 21:11);
1480
s(emc_pdex2wr, 5:0, scratch143, 27:22);
1481
s(emc_cfg2, 2:1, scratch143, 29:28);
1482
s(emc_cfg2, 7:7, scratch143, 30:30);
1483
s(emc_cfg2, 10:10, scratch143, 31:31);
1484
s(emc_pmacro_ob_ddll_long_dq_rank1_3, 10:0, scratch144, 10:0);
1485
s(emc_pmacro_ob_ddll_long_dq_rank1_3, 26:16, scratch144, 21:11);
1486
s(emc_pdex2rd, 5:0, scratch144, 27:22);
1487
s(emc_cfg2, 11:11, scratch144, 28:28);
1488
s(emc_cfg2, 16:14, scratch144, 31:29);
1489
s(emc_pmacro_ob_ddll_long_dq_rank1_4, 10:0, scratch145, 10:0);
1490
s(emc_pmacro_ob_ddll_long_dq_rank1_4, 26:16, scratch145, 21:11);
1491
s(emc_pdex2che, 5:0, scratch145, 27:22);
1492
s(emc_cfg2, 20:20, scratch145, 28:28);
1493
s(emc_cfg2, 24:22, scratch145, 31:29);
1494
s(emc_pmacro_ob_ddll_long_dq_rank1_5, 10:0, scratch146, 10:0);
1495
s(emc_pmacro_ob_ddll_long_dq_rank1_5, 26:16, scratch146, 21:11);
1496
s(emc_pchg2pden, 5:0, scratch146, 27:22);
1497
s(emc_cfg2, 25:25, scratch146, 28:28);
1498
s(emc_cfg2, 30:28, scratch146, 31:29);
1499
s(emc_pmacro_ob_ddll_long_dqs_rank0_0, 10:0, scratch147, 10:0);
1500
s(emc_pmacro_ob_ddll_long_dqs_rank0_0, 26:16, scratch147, 21:11);
1501
s(emc_act2pden, 5:0, scratch147, 27:22);
1502
s(emc_cfg2, 31:31, scratch147, 28:28);
1503
s(emc_cfg_pipe, 2:0, scratch147, 31:29);
1504
s(emc_pmacro_ob_ddll_long_dqs_rank0_1, 10:0, scratch148, 10:0);
1505
s(emc_pmacro_ob_ddll_long_dqs_rank0_1, 26:16, scratch148, 21:11);
1506
s(emc_cke2pden, 5:0, scratch148, 27:22);
1507
s(emc_cfg_pipe, 6:3, scratch148, 31:28);
1508
s(emc_pmacro_ob_ddll_long_dqs_rank0_2, 10:0, scratch149, 10:0);
1509
s(emc_pmacro_ob_ddll_long_dqs_rank0_2, 26:16, scratch149, 21:11);
1510
s(emc_tcke, 5:0, scratch149, 27:22);
1511
s(emc_cfg_pipe, 10:7, scratch149, 31:28);
1512
s(emc_pmacro_ob_ddll_long_dqs_rank0_3, 10:0, scratch150, 10:0);
1513
s(emc_pmacro_ob_ddll_long_dqs_rank0_3, 26:16, scratch150, 21:11);
1514
s(emc_trpab, 5:0, scratch150, 27:22);
1515
s(emc_cfg_pipe, 11:11, scratch150, 28:28);
1516
s(emc_cfg_pipe, 18:16, scratch150, 31:29);
1517
s(emc_pmacro_ob_ddll_long_dqs_rank0_4, 10:0, scratch151, 10:0);
1518
s(emc_pmacro_ob_ddll_long_dqs_rank0_4, 26:16, scratch151, 21:11);
1519
s(emc_einput, 5:0, scratch151, 27:22);
1520
s(emc_cfg_pipe, 22:19, scratch151, 31:28);
1521
s(emc_pmacro_ob_ddll_long_dqs_rank0_5, 10:0, scratch152, 10:0);
1522
s(emc_pmacro_ob_ddll_long_dqs_rank0_5, 26:16, scratch152, 21:11);
1523
s(emc_einput_duration, 5:0, scratch152, 27:22);
1524
s(emc_cfg_pipe, 26:23, scratch152, 31:28);
1525
s(emc_pmacro_ob_ddll_long_dqs_rank1_0, 10:0, scratch153, 10:0);
1526
s(emc_pmacro_ob_ddll_long_dqs_rank1_0, 26:16, scratch153, 21:11);
1527
s(emc_puterm_extra, 5:0, scratch153, 27:22);
1528
s(emc_cfg_pipe, 27:27, scratch153, 28:28);
1529
s(emc_pmacro_tx_sel_clk_src0, 2:0, scratch153, 31:29);
1530
s(emc_pmacro_ob_ddll_long_dqs_rank1_1, 10:0, scratch154, 10:0);
1531
s(emc_pmacro_ob_ddll_long_dqs_rank1_1, 26:16, scratch154, 21:11);
1532
s(emc_tckesr, 5:0, scratch154, 27:22);
1533
s(emc_pmacro_tx_sel_clk_src0, 6:3, scratch154, 31:28);
1534
s(emc_pmacro_ob_ddll_long_dqs_rank1_2, 10:0, scratch155, 10:0);
1535
s(emc_pmacro_ob_ddll_long_dqs_rank1_2, 26:16, scratch155, 21:11);
1536
s(emc_tpd, 5:0, scratch155, 27:22);
1537
s(emc_pmacro_tx_sel_clk_src0, 10:7, scratch155, 31:28);
1538
s(emc_pmacro_ob_ddll_long_dqs_rank1_3, 10:0, scratch156, 10:0);
1539
s(emc_pmacro_ob_ddll_long_dqs_rank1_3, 26:16, scratch156, 21:11);
1540
s(emc_wdv_mask, 5:0, scratch156, 27:22);
1541
s(emc_pmacro_tx_sel_clk_src0, 19:16, scratch156, 31:28);
1542
s(emc_pmacro_ob_ddll_long_dqs_rank1_4, 10:0, scratch157, 10:0);
1543
s(emc_pmacro_ob_ddll_long_dqs_rank1_4, 26:16, scratch157, 21:11);
1544
s(emc_wdv_chk, 5:0, scratch157, 27:22);
1545
s(emc_pmacro_tx_sel_clk_src0, 23:20, scratch157, 31:28);
1546
s(emc_pmacro_ob_ddll_long_dqs_rank1_5, 10:0, scratch158, 10:0);
1547
s(emc_pmacro_ob_ddll_long_dqs_rank1_5, 26:16, scratch158, 21:11);
1548
s(emc_cmd_brlshft0, 5:0, scratch158, 27:22);
1549
s(emc_pmacro_tx_sel_clk_src0, 26:24, scratch158, 30:28);
1550
s(emc_pmacro_tx_sel_clk_src1, 0:0, scratch158, 31:31);
1551
s(emc_pmacro_ib_ddll_long_dqs_rank0_0, 10:0, scratch159, 10:0);
1552
s(emc_pmacro_ib_ddll_long_dqs_rank0_0, 26:16, scratch159, 21:11);
1553
s(emc_cmd_brlshft1, 5:0, scratch159, 27:22);
1554
s(emc_pmacro_tx_sel_clk_src1, 4:1, scratch159, 31:28);
1555
s(emc_pmacro_ib_ddll_long_dqs_rank0_1, 10:0, scratch160, 10:0);
1556
s(emc_pmacro_ib_ddll_long_dqs_rank0_1, 26:16, scratch160, 21:11);
1557
s(emc_cmd_brlshft2, 5:0, scratch160, 27:22);
1558
s(emc_pmacro_tx_sel_clk_src1, 8:5, scratch160, 31:28);
1559
s(emc_pmacro_ib_ddll_long_dqs_rank0_2, 10:0, scratch161, 10:0);
1560
s(emc_pmacro_ib_ddll_long_dqs_rank0_2, 26:16, scratch161, 21:11);
1561
s(emc_cmd_brlshft3, 5:0, scratch161, 27:22);
1562
s(emc_pmacro_tx_sel_clk_src1, 10:9, scratch161, 29:28);
1563
s(emc_pmacro_tx_sel_clk_src1, 17:16, scratch161, 31:30);
1564
s(emc_pmacro_ib_ddll_long_dqs_rank0_3, 10:0, scratch162, 10:0);
1565
s(emc_pmacro_ib_ddll_long_dqs_rank0_3, 26:16, scratch162, 21:11);
1566
s(emc_wev, 5:0, scratch162, 27:22);
1567
s(emc_pmacro_tx_sel_clk_src1, 21:18, scratch162, 31:28);
1568
s(emc_pmacro_ib_ddll_long_dqs_rank1_0, 10:0, scratch163, 10:0);
1569
s(emc_pmacro_ib_ddll_long_dqs_rank1_0, 26:16, scratch163, 21:11);
1570
s(emc_wsv, 5:0, scratch163, 27:22);
1571
s(emc_pmacro_tx_sel_clk_src1, 25:22, scratch163, 31:28);
1572
s(emc_pmacro_ib_ddll_long_dqs_rank1_1, 10:0, scratch164, 10:0);
1573
s(emc_pmacro_ib_ddll_long_dqs_rank1_1, 26:16, scratch164, 21:11);
1574
s(emc_cfg3, 2:0, scratch164, 24:22);
1575
s(emc_cfg3, 6:4, scratch164, 27:25);
1576
s(emc_pmacro_tx_sel_clk_src1, 26:26, scratch164, 28:28);
1577
s(emc_pmacro_tx_sel_clk_src3, 2:0, scratch164, 31:29);
1578
s(emc_pmacro_ib_ddll_long_dqs_rank1_2, 10:0, scratch165, 10:0);
1579
s(emc_pmacro_ib_ddll_long_dqs_rank1_2, 26:16, scratch165, 21:11);
1580
s(emc_puterm_width, 31:31, scratch165, 22:22);
1581
s(emc_puterm_width, 4:0, scratch165, 27:23);
1582
s(emc_pmacro_tx_sel_clk_src3, 6:3, scratch165, 31:28);
1583
s(emc_pmacro_ib_ddll_long_dqs_rank1_3, 10:0, scratch166, 10:0);
1584
s(emc_pmacro_ib_ddll_long_dqs_rank1_3, 26:16, scratch166, 21:11);
1585
s(mc_emem_arb_timing_rcd, 5:0, scratch166, 27:22);
1586
s(emc_pmacro_tx_sel_clk_src3, 10:7, scratch166, 31:28);
1587
s(emc_pmacro_ddll_long_cmd_0, 10:0, scratch167, 10:0);
1588
s(emc_pmacro_ddll_long_cmd_0, 26:16, scratch167, 21:11);
1589
s(mc_emem_arb_timing_ccdmw, 5:0, scratch167, 27:22);
1590
s(emc_pmacro_tx_sel_clk_src3, 19:16, scratch167, 31:28);
1591
s(emc_pmacro_ddll_long_cmd_1, 10:0, scratch168, 10:0);
1592
s(emc_pmacro_ddll_long_cmd_1, 26:16, scratch168, 21:11);
1593
s(mc_emem_arb_override, 27:27, scratch168, 22:22);
1594
s(mc_emem_arb_override, 26:26, scratch168, 23:23);
1595
s(mc_emem_arb_override, 16:16, scratch168, 24:24);
1596
s(mc_emem_arb_override, 10:10, scratch168, 25:25);
1597
s(mc_emem_arb_override, 4:4, scratch168, 26:26);
1598
s(mc_emem_arb_override, 3:3, scratch168, 27:27);
1599
s(emc_pmacro_tx_sel_clk_src3, 23:20, scratch168, 31:28);
1600
s(emc_pmacro_ddll_long_cmd_2, 10:0, scratch169, 10:0);
1601
s(emc_pmacro_ddll_long_cmd_2, 26:16, scratch169, 21:11);
1602
s(emc_rrd, 4:0, scratch169, 26:22);
1603
s(emc_rext, 4:0, scratch169, 31:27);
1604
s(emc_pmacro_ddll_long_cmd_3, 10:0, scratch170, 10:0);
1605
s(emc_pmacro_ddll_long_cmd_3, 26:16, scratch170, 21:11);
1606
s(emc_tclkstop, 4:0, scratch170, 26:22);
1607
s(emc_wext, 4:0, scratch170, 31:27);
1608
s(emc_pmacro_perbit_fgcg_ctrl0, 10:0, scratch171, 10:0);
1609
s(emc_pmacro_perbit_fgcg_ctrl0, 26:16, scratch171, 21:11);
1610
s(emc_ref_ctrl2, 0:0, scratch171, 22:22);
1611
s(emc_ref_ctrl2, 26:24, scratch171, 25:23);
1612
s(emc_ref_ctrl2, 31:31, scratch171, 26:26);
1613
s(emc_we_duration, 4:0, scratch171, 31:27);
1614
s(emc_pmacro_perbit_fgcg_ctrl1, 10:0, scratch172, 10:0);
1615
s(emc_pmacro_perbit_fgcg_ctrl1, 26:16, scratch172, 21:11);
1616
s(emc_ws_duration, 4:0, scratch172, 26:22);
1617
s(emc_pmacro_pad_cfg_ctrl, 0:0, scratch172, 27:27);
1618
s(emc_pmacro_pad_cfg_ctrl, 9:9, scratch172, 28:28);
1619
s(emc_pmacro_pad_cfg_ctrl, 13:13, scratch172, 29:29);
1620
s(emc_pmacro_pad_cfg_ctrl, 17:16, scratch172, 31:30);
1621
s(emc_pmacro_perbit_fgcg_ctrl2, 10:0, scratch173, 10:0);
1622
s(emc_pmacro_perbit_fgcg_ctrl2, 26:16, scratch173, 21:11);
1623
s(mc_emem_arb_timing_rrd, 4:0, scratch173, 26:22);
1624
s(mc_emem_arb_timing_r2r, 4:0, scratch173, 31:27);
1625
s(emc_pmacro_perbit_fgcg_ctrl3, 10:0, scratch174, 10:0);
1626
s(emc_pmacro_perbit_fgcg_ctrl3, 26:16, scratch174, 21:11);
1627
s(mc_emem_arb_timing_w2w, 4:0, scratch174, 26:22);
1628
s(emc_pmacro_tx_sel_clk_src3, 26:24, scratch174, 29:27);
1629
s(emc_pmacro_tx_sel_clk_src2, 1:0, scratch174, 31:30);
1630
s(emc_pmacro_perbit_fgcg_ctrl4, 10:0, scratch175, 10:0);
1631
s(emc_pmacro_perbit_fgcg_ctrl4, 26:16, scratch175, 21:11);
1632
s(emc_pmacro_tx_sel_clk_src2, 10:2, scratch175, 30:22);
1633
s(emc_pmacro_tx_sel_clk_src2, 16:16, scratch175, 31:31);
1634
s(emc_pmacro_perbit_fgcg_ctrl5, 10:0, scratch176, 10:0);
1635
s(emc_pmacro_perbit_fgcg_ctrl5, 26:16, scratch176, 21:11);
1636
s(emc_pmacro_tx_sel_clk_src2, 26:17, scratch176, 31:22);
1637
s(mc_emem_arb_cfg, 8:0, scratch177, 8:0);
1638
s(mc_emem_arb_cfg, 20:16, scratch177, 13:9);
1639
s(mc_emem_arb_cfg, 31:24, scratch177, 21:14);
1640
s(emc_pmacro_tx_sel_clk_src4, 9:0, scratch177, 31:22);
1641
s(mc_emem_arb_misc1, 12:0, scratch178, 12:0);
1642
s(mc_emem_arb_misc1, 25:21, scratch178, 17:13);
1643
s(mc_emem_arb_misc1, 31:28, scratch178, 21:18);
1644
s(emc_pmacro_tx_sel_clk_src4, 10:10, scratch178, 22:22);
1645
s(emc_pmacro_tx_sel_clk_src4, 24:16, scratch178, 31:23);
1646
s(emc_mrs_wait_cnt2, 9:0, scratch179, 9:0);
1647
s(emc_mrs_wait_cnt2, 26:16, scratch179, 20:10);
1648
s(emc_odt_write, 5:0, scratch179, 26:21);
1649
s(emc_odt_write, 11:8, scratch179, 30:27);
1650
s(emc_odt_write, 31:31, scratch179, 31:31);
1651
s(emc_mrs_wait_cnt, 9:0, scratch180, 9:0);
1652
s(emc_mrs_wait_cnt, 26:16, scratch180, 20:10);
1653
s(emc_pmacro_ib_rxrt, 10:0, scratch180, 31:21);
1654
s(emc_auto_cal_interval, 20:0, scratch181, 20:0);
1655
s(emc_pmacro_ddll_long_cmd_4, 10:0, scratch181, 31:21);
1656
s(emc_emem_arb_refpb_hp_ctrl, 6:0, scratch182, 6:0);
1657
s(emc_emem_arb_refpb_hp_ctrl, 14:8, scratch182, 13:7);
1658
s(emc_emem_arb_refpb_hp_ctrl, 22:16, scratch182, 20:14);
1659
s(mc_emem_arb_outstanding_req, 8:0, scratch182, 29:21);
1660
s(mc_emem_arb_outstanding_req, 31:30, scratch182, 31:30);
1661
s(emc_xm2_comp_pad_ctrl2, 5:0, scratch183, 5:0);
1662
s(emc_xm2_comp_pad_ctrl2, 17:12, scratch183, 11:6);
1663
s(emc_xm2_comp_pad_ctrl2, 21:20, scratch183, 13:12);
1664
s(emc_xm2_comp_pad_ctrl2, 29:24, scratch183, 19:14);
1665
s(emc_pmacro_cmd_ctrl0, 0:0, scratch183, 20:20);
1666
s(emc_pmacro_cmd_ctrl0, 5:4, scratch183, 22:21);
1667
s(emc_pmacro_cmd_ctrl0, 8:8, scratch183, 23:23);
1668
s(emc_pmacro_cmd_ctrl0, 13:12, scratch183, 25:24);
1669
s(emc_pmacro_cmd_ctrl0, 16:16, scratch183, 26:26);
1670
s(emc_pmacro_cmd_ctrl0, 21:20, scratch183, 28:27);
1671
s(emc_pmacro_cmd_ctrl0, 24:24, scratch183, 29:29);
1672
s(emc_pmacro_cmd_ctrl0, 29:28, scratch183, 31:30);
1673
s(emc_cfg_dig_dll_1, 19:0, scratch184, 19:0);
1674
s(emc_pmacro_cmd_ctrl1, 0:0, scratch184, 20:20);
1675
s(emc_pmacro_cmd_ctrl1, 5:4, scratch184, 22:21);
1676
s(emc_pmacro_cmd_ctrl1, 8:8, scratch184, 23:23);
1677
s(emc_pmacro_cmd_ctrl1, 13:12, scratch184, 25:24);
1678
s(emc_pmacro_cmd_ctrl1, 16:16, scratch184, 26:26);
1679
s(emc_pmacro_cmd_ctrl1, 21:20, scratch184, 28:27);
1680
s(emc_pmacro_cmd_ctrl1, 24:24, scratch184, 29:29);
1681
s(emc_pmacro_cmd_ctrl1, 29:28, scratch184, 31:30);
1682
s(emc_quse_brlshft0, 19:0, scratch185, 19:0);
1683
s(emc_pmacro_cmd_ctrl2, 0:0, scratch185, 20:20);
1684
s(emc_pmacro_cmd_ctrl2, 5:4, scratch185, 22:21);
1685
s(emc_pmacro_cmd_ctrl2, 8:8, scratch185, 23:23);
1686
s(emc_pmacro_cmd_ctrl2, 13:12, scratch185, 25:24);
1687
s(emc_pmacro_cmd_ctrl2, 16:16, scratch185, 26:26);
1688
s(emc_pmacro_cmd_ctrl2, 21:20, scratch185, 28:27);
1689
s(emc_pmacro_cmd_ctrl2, 24:24, scratch185, 29:29);
1690
s(emc_pmacro_cmd_ctrl2, 29:28, scratch185, 31:30);
1691
s(emc_quse_brlshft1, 19:0, scratch186, 19:0);
1692
s(emc_pmacro_dsr_vttgen_ctrl0, 3:0, scratch186, 23:20);
1693
s(emc_pmacro_dsr_vttgen_ctrl0, 15:8, scratch186, 31:24);
1694
s(emc_quse_brlshft2, 19:0, scratch187, 19:0);
1695
s(emc_pmacro_perbit_rfu1_ctrl0, 5:0, scratch187, 25:20);
1696
s(emc_pmacro_perbit_rfu1_ctrl0, 21:16, scratch187, 31:26);
1697
s(emc_quse_brlshft3, 19:0, scratch188, 19:0);
1698
s(emc_pmacro_perbit_rfu1_ctrl1, 5:0, scratch188, 25:20);
1699
s(emc_pmacro_perbit_rfu1_ctrl1, 21:16, scratch188, 31:26);
1700
s(emc_dbg, 4:0, scratch189, 4:0);
1701
s(emc_dbg, 13:9, scratch189, 9:5);
1702
s(emc_dbg, 31:24, scratch189, 17:10);
1703
s(emc_trefbw, 13:0, scratch189, 31:18);
1704
s(emc_zcal_wait_cnt, 10:0, scratch191, 10:0);
1705
s(emc_zcal_wait_cnt, 21:16, scratch191, 16:11);
1706
s(emc_zcal_wait_cnt, 31:31, scratch191, 17:17);
1707
s(emc_qpop, 6:0, scratch191, 24:18);
1708
s(emc_qpop, 22:16, scratch191, 31:25);
1709
s(emc_zcal_mrw_cmd, 7:0, scratch192, 7:0);
1710
s(emc_zcal_mrw_cmd, 23:16, scratch192, 15:8);
1711
s(emc_zcal_mrw_cmd, 31:30, scratch192, 17:16);
1712
s(emc_pmacro_auto_cal_common, 5:0, scratch192, 23:18);
1713
s(emc_pmacro_auto_cal_common, 13:8, scratch192, 29:24);
1714
s(emc_pmacro_auto_cal_common, 16:16, scratch192, 30:30);
1715
s(emc_pmacro_tx_sel_clk_src4, 25:25, scratch192, 31:31);
1716
s(emc_dll_cfg1, 10:0, scratch193, 10:0);
1717
s(emc_dll_cfg1, 13:12, scratch193, 12:11);
1718
s(emc_dll_cfg1, 17:16, scratch193, 14:13);
1719
s(emc_dll_cfg1, 21:20, scratch193, 16:15);
1720
s(emc_dll_cfg1, 24:24, scratch193, 17:17);
1721
s(emc_pmacro_perbit_rfu1_ctrl2, 5:0, scratch193, 23:18);
1722
s(emc_pmacro_perbit_rfu1_ctrl2, 21:16, scratch193, 29:24);
1723
s(emc_pmacro_tx_sel_clk_src4, 26:26, scratch193, 30:30);
1724
s(emc_pmacro_tx_sel_clk_src5, 0:0, scratch193, 31:31);
1725
s(emc_pmacro_cmd_brick_ctrl_fdpd, 17:0, scratch194, 17:0);
1726
s(emc_pmacro_perbit_rfu1_ctrl3, 5:0, scratch194, 23:18);
1727
s(emc_pmacro_perbit_rfu1_ctrl3, 21:16, scratch194, 29:24);
1728
s(emc_pmacro_tx_sel_clk_src5, 2:1, scratch194, 31:30);
1729
s(emc_pmacro_data_brick_ctrl_fdpd, 17:0, scratch195, 17:0);
1730
s(emc_pmacro_perbit_rfu1_ctrl4, 5:0, scratch195, 23:18);
1731
s(emc_pmacro_perbit_rfu1_ctrl4, 21:16, scratch195, 29:24);
1732
s(emc_pmacro_tx_sel_clk_src5, 4:3, scratch195, 31:30);
1733
s(emc_dyn_self_ref_control, 15:0, scratch196, 15:0);
1734
s(emc_dyn_self_ref_control, 31:31, scratch196, 16:16);
1735
s(emc_emem_arb_refpb_bank_ctrl, 6:0, scratch196, 23:17);
1736
s(emc_emem_arb_refpb_bank_ctrl, 14:8, scratch196, 30:24);
1737
s(emc_emem_arb_refpb_bank_ctrl, 31:31, scratch196, 31:31);
1738
s(emc_pmacro_cmd_pad_rx_ctrl, 1:0, scratch197, 1:0);
1739
s(emc_pmacro_cmd_pad_rx_ctrl, 5:4, scratch197, 3:2);
1740
s(emc_pmacro_cmd_pad_rx_ctrl, 12:12, scratch197, 4:4);
1741
s(emc_pmacro_cmd_pad_rx_ctrl, 19:15, scratch197, 9:5);
1742
s(emc_pmacro_cmd_pad_rx_ctrl, 27:21, scratch197, 16:10);
1743
s(emc_pmacro_perbit_rfu1_ctrl5, 5:0, scratch197, 22:17);
1744
s(emc_pmacro_perbit_rfu1_ctrl5, 21:16, scratch197, 28:23);
1745
s(emc_pmacro_tx_sel_clk_src5, 7:5, scratch197, 31:29);
1746
s(emc_pmacro_data_pad_rx_ctrl, 1:0, scratch198, 1:0);
1747
s(emc_pmacro_data_pad_rx_ctrl, 5:4, scratch198, 3:2);
1748
s(emc_pmacro_data_pad_rx_ctrl, 12:12, scratch198, 4:4);
1749
s(emc_pmacro_data_pad_rx_ctrl, 19:15, scratch198, 9:5);
1750
s(emc_pmacro_data_pad_rx_ctrl, 27:21, scratch198, 16:10);
1751
s(emc_pmacro_tx_sel_clk_src5, 10:8, scratch198, 19:17);
1752
s(emc_pmacro_tx_sel_clk_src5, 26:16, scratch198, 30:20);
1753
s(emc_pmacro_cmd_pad_tx_ctrl, 0:0, scratch198, 31:31);
1754
s(emc_refresh, 15:0, scratch199, 15:0);
1755
s(emc_cmd_q, 4:0, scratch199, 20:16);
1756
s(emc_cmd_q, 10:8, scratch199, 23:21);
1757
s(emc_cmd_q, 14:12, scratch199, 26:24);
1758
s(emc_cmd_q, 28:24, scratch199, 31:27);
1759
s(emc_acpd_control, 15:0, scratch210, 15:0);
1760
s(emc_auto_cal_vref_sel1, 15:0, scratch210, 31:16);
1761
s(emc_pmacro_auto_cal_cfg0, 3:0, scratch211, 3:0);
1762
s(emc_pmacro_auto_cal_cfg0, 11:8, scratch211, 7:4);
1763
s(emc_pmacro_auto_cal_cfg0, 19:16, scratch211, 11:8);
1764
s(emc_pmacro_auto_cal_cfg0, 27:24, scratch211, 15:12);
1765
s(emc_pmacro_auto_cal_cfg1, 3:0, scratch211, 19:16);
1766
s(emc_pmacro_auto_cal_cfg1, 11:8, scratch211, 23:20);
1767
s(emc_pmacro_auto_cal_cfg1, 19:16, scratch211, 27:24);
1768
s(emc_pmacro_auto_cal_cfg1, 27:24, scratch211, 31:28);
1769
s(emc_pmacro_auto_cal_cfg2, 3:0, scratch212, 3:0);
1770
s(emc_pmacro_auto_cal_cfg2, 11:8, scratch212, 7:4);
1771
s(emc_pmacro_auto_cal_cfg2, 19:16, scratch212, 11:8);
1772
s(emc_pmacro_auto_cal_cfg2, 27:24, scratch212, 15:12);
1773
s(emc_xm2_comp_pad_ctrl3, 5:0, scratch212, 21:16);
1774
s(emc_xm2_comp_pad_ctrl3, 17:12, scratch212, 27:22);
1775
s(emc_xm2_comp_pad_ctrl3, 23:20, scratch212, 31:28);
1776
s(emc_cfg_dig_dll_period, 15:0, scratch213, 15:0);
1777
s(emc_prerefresh_req_cnt, 15:0, scratch213, 31:16);
1778
s(emc_pmacro_ddll_bypass, 0:0, scratch214, 0:0);
1779
s(emc_pmacro_ddll_bypass, 11:8, scratch214, 4:1);
1780
s(emc_pmacro_ddll_bypass, 16:13, scratch214, 8:5);
1781
s(emc_pmacro_ddll_bypass, 27:24, scratch214, 12:9);
1782
s(emc_pmacro_ddll_bypass, 31:29, scratch214, 15:13);
1783
s(emc_pmacro_data_pi_ctrl, 4:0, scratch214, 20:16);
1784
s(emc_pmacro_data_pi_ctrl, 12:8, scratch214, 25:21);
1785
s(emc_pmacro_data_pi_ctrl, 21:16, scratch214, 31:26);
1786
s(emc_pmacro_cmd_pi_ctrl, 4:0, scratch215, 4:0);
1787
s(emc_pmacro_cmd_pi_ctrl, 12:8, scratch215, 9:5);
1788
s(emc_pmacro_cmd_pi_ctrl, 21:16, scratch215, 15:10);
1789
1790
s(emc_pin_gpio, 1:0, scratch9, 31:30);
1791
s(emc_pin_gpio_enable, 1:0, scratch10, 31:30);
1792
s(emc_dev_select, 1:0, scratch11, 31:30);
1793
s(emc_zcal_warm_cold_boot_enables, 1:0, scratch12, 31:30);
1794
s(emc_cfg_dig_dll_period_warm_boot, 1:0, scratch13, 31:30);
1795
s32(emc_bct_spare13, scratch45);
1796
s32(emc_bct_spare12, scratch46);
1797
s32(emc_bct_spare7, scratch47);
1798
s32(emc_bct_spare6, scratch48);
1799
s32(emc_bct_spare5, scratch50);
1800
s32(emc_bct_spare4, scratch51);
1801
s32(emc_bct_spare3, scratch56);
1802
s32(emc_bct_spare2, scratch57);
1803
s32(emc_bct_spare1, scratch58);
1804
s32(emc_bct_spare0, scratch59);
1805
s32(emc_bct_spare9, scratch60);
1806
s32(emc_bct_spare8, scratch61);
1807
s32(boot_rom_patch_data, scratch62);
1808
s32(boot_rom_patch_control, scratch63);
1809
s(mc_clken_override_allwarm_boot, 0:0, scratch65, 31:31);
1810
s(emc_extra_refresh_num, 2:0, scratch66, 31:29);
1811
s(pmc_io_dpd3_req_wait, 2:0, scratch72, 30:28);
1812
s(emc_clken_override_allwarm_boot, 0:0, scratch72, 31:31);
1813
s(memory_type, 2:0, scratch73, 30:28);
1814
s(emc_mrs_warm_boot_enable, 0:0, scratch73, 31:31);
1815
s(pmc_io_dpd4_req_wait, 2:0, scratch74, 30:28);
1816
s(clear_clock2_mc1, 0:0, scratch74, 31:31);
1817
s(emc_warm_boot_extramode_reg_write_enable, 0:0, scratch75, 28:28);
1818
s(clk_rst_pllm_misc20_override_enable, 0:0, scratch75, 29:29);
1819
s(emc_dbg_write_mux, 0:0, scratch75, 30:30);
1820
s(ahb_arbitration_xbar_ctrl_meminit_done, 0:0, scratch75, 31:31);
1821
s(emc_timing_control_wait, 7:0, scratch90, 31:24);
1822
s(emc_zcal_warm_boot_wait, 7:0, scratch91, 31:24);
1823
s(warm_boot_wait, 7:0, scratch92, 31:24);
1824
s(emc_pin_program_wait, 7:0, scratch93, 31:24);
1825
s(emc_auto_cal_wait, 9:0, scratch114, 31:22);
1826
s(swizzle_rank_byte_encode, 15:0, scratch215, 31:16);
1827
s(emc_pmacro_cmd_pad_tx_ctrl, 6:5, scratch216, 1:0);
1828
s(emc_pmacro_cmd_pad_tx_ctrl, 10:10, scratch216, 2:2);
1829
s(emc_pmacro_cmd_pad_tx_ctrl, 16:15, scratch216, 4:3);
1830
s(emc_pmacro_cmd_pad_tx_ctrl, 30:21, scratch216, 14:5);
1831
s(emc_pmacro_data_pad_tx_ctrl, 0:0, scratch216, 15:15);
1832
s(emc_pmacro_data_pad_tx_ctrl, 6:5, scratch216, 17:16);
1833
s(emc_pmacro_data_pad_tx_ctrl, 10:10, scratch216, 18:18);
1834
s(emc_pmacro_data_pad_tx_ctrl, 16:15, scratch216, 20:19);
1835
s(emc_pmacro_data_pad_tx_ctrl, 30:21, scratch216, 30:21);
1836
1837
// LPDDR4 MRW.
1838
s(emc_mrw_lpddr2zcal_warm_boot, 23:16, scratch5, 7:0);
1839
s(emc_mrw_lpddr2zcal_warm_boot, 7:0, scratch5, 15:8);
1840
s(emc_warm_boot_mrw_extra, 23:16, scratch5, 23:16);
1841
s(emc_warm_boot_mrw_extra, 7:0, scratch5, 31:24);
1842
s(emc_mrw_lpddr2zcal_warm_boot, 31:30, scratch6, 1:0);
1843
s(emc_warm_boot_mrw_extra, 31:30, scratch6, 3:2);
1844
s(emc_mrw_lpddr2zcal_warm_boot, 27:26, scratch6, 5:4);
1845
s(emc_warm_boot_mrw_extra, 27:26, scratch6, 7:6);
1846
s(emc_mrw6, 27:0, scratch8, 27:0);
1847
s(emc_mrw6, 31:30, scratch8, 29:28);
1848
s(emc_mrw8, 27:0, scratch9, 27:0);
1849
s(emc_mrw8, 31:30, scratch9, 29:28);
1850
s(emc_mrw9, 27:0, scratch10, 27:0);
1851
s(emc_mrw9, 31:30, scratch10, 29:28);
1852
s(emc_mrw10, 27:0, scratch11, 27:0);
1853
s(emc_mrw10, 31:30, scratch11, 29:28);
1854
s(emc_mrw12, 27:0, scratch12, 27:0);
1855
s(emc_mrw12, 31:30, scratch12, 29:28);
1856
s(emc_mrw13, 27:0, scratch13, 27:0);
1857
s(emc_mrw13, 31:30, scratch13, 29:28);
1858
s(emc_mrw14, 27:0, scratch14, 27:0);
1859
s(emc_mrw14, 31:30, scratch14, 29:28);
1860
s(emc_mrw1, 7:0, scratch15, 7:0);
1861
s(emc_mrw1, 23:16, scratch15, 15:8);
1862
s(emc_mrw1, 27:26, scratch15, 17:16);
1863
s(emc_mrw1, 31:30, scratch15, 19:18);
1864
s(emc_warm_boot_mrw_extra, 7:0, scratch16, 7:0);
1865
s(emc_warm_boot_mrw_extra, 23:16, scratch16, 15:8);
1866
s(emc_warm_boot_mrw_extra, 27:26, scratch16, 17:16);
1867
s(emc_warm_boot_mrw_extra, 31:30, scratch16, 19:18);
1868
s(emc_mrw2, 7:0, scratch17, 7:0);
1869
s(emc_mrw2, 23:16, scratch17, 15:8);
1870
s(emc_mrw2, 27:26, scratch17, 17:16);
1871
s(emc_mrw2, 31:30, scratch17, 19:18);
1872
s(emc_mrw3, 7:0, scratch18, 7:0);
1873
s(emc_mrw3, 23:16, scratch18, 15:8);
1874
s(emc_mrw3, 27:26, scratch18, 17:16);
1875
s(emc_mrw3, 31:30, scratch18, 19:18);
1876
s(emc_mrw4, 7:0, scratch19, 7:0);
1877
s(emc_mrw4, 23:16, scratch19, 15:8);
1878
s(emc_mrw4, 27:26, scratch19, 17:16);
1879
s(emc_mrw4, 31:30, scratch19, 19:18);
1880
1881
s32(emc_cmd_mapping_byte, secure_scratch8);
1882
s32(emc_pmacro_brick_mapping0, secure_scratch9);
1883
s32(emc_pmacro_brick_mapping1, secure_scratch10);
1884
s32(emc_pmacro_brick_mapping2, secure_scratch11);
1885
s32(mc_video_protect_gpu_override0, secure_scratch12);
1886
s(emc_cmd_mapping_cmd0_0, 6:0, secure_scratch13, 6:0);
1887
s(emc_cmd_mapping_cmd0_0, 14:8, secure_scratch13, 13:7);
1888
s(emc_cmd_mapping_cmd0_0, 22:16, secure_scratch13, 20:14);
1889
s(emc_cmd_mapping_cmd0_0, 30:24, secure_scratch13, 27:21);
1890
s(mc_untranslated_region_check, 0:0, secure_scratch13, 28:28);
1891
s(mc_untranslated_region_check, 9:8, secure_scratch13, 30:29);
1892
s(emc_adr_cfg, 0:0, secure_scratch13, 31:31);
1893
s(emc_cmd_mapping_cmd0_1, 6:0, secure_scratch14, 6:0);
1894
s(emc_cmd_mapping_cmd0_1, 14:8, secure_scratch14, 13:7);
1895
s(emc_cmd_mapping_cmd0_1, 22:16, secure_scratch14, 20:14);
1896
s(emc_cmd_mapping_cmd0_1, 30:24, secure_scratch14, 27:21);
1897
s(mc_video_protect_bom_adr_hi, 1:0, secure_scratch14, 29:28);
1898
s(mc_video_protect_write_access, 1:0, secure_scratch14, 31:30);
1899
s(emc_cmd_mapping_cmd1_0, 6:0, secure_scratch15, 6:0);
1900
s(emc_cmd_mapping_cmd1_0, 14:8, secure_scratch15, 13:7);
1901
s(emc_cmd_mapping_cmd1_0, 22:16, secure_scratch15, 20:14);
1902
s(emc_cmd_mapping_cmd1_0, 30:24, secure_scratch15, 27:21);
1903
s(mc_sec_carveout_adr_hi, 1:0, secure_scratch15, 29:28);
1904
s(mc_mts_carveout_adr_hi, 1:0, secure_scratch15, 31:30);
1905
s(emc_cmd_mapping_cmd1_1, 6:0, secure_scratch16, 6:0);
1906
s(emc_cmd_mapping_cmd1_1, 14:8, secure_scratch16, 13:7);
1907
s(emc_cmd_mapping_cmd1_1, 22:16, secure_scratch16, 20:14);
1908
s(emc_cmd_mapping_cmd1_1, 30:24, secure_scratch16, 27:21);
1909
s(mc_generalized_carveout5_bom_hi, 1:0, secure_scratch16, 29:28);
1910
s(mc_generalized_carveout3_bom_hi, 1:0, secure_scratch16, 31:30);
1911
s(emc_cmd_mapping_cmd2_0, 6:0, secure_scratch17, 6:0);
1912
s(emc_cmd_mapping_cmd2_0, 14:8, secure_scratch17, 13:7);
1913
s(emc_cmd_mapping_cmd2_0, 22:16, secure_scratch17, 20:14);
1914
s(emc_cmd_mapping_cmd2_0, 30:24, secure_scratch17, 27:21);
1915
s(mc_generalized_carveout2_bom_hi, 1:0, secure_scratch17, 29:28);
1916
s(mc_generalized_carveout4_bom_hi, 1:0, secure_scratch17, 31:30);
1917
s(emc_cmd_mapping_cmd2_1, 6:0, secure_scratch18, 6:0);
1918
s(emc_cmd_mapping_cmd2_1, 14:8, secure_scratch18, 13:7);
1919
s(emc_cmd_mapping_cmd2_1, 22:16, secure_scratch18, 20:14);
1920
s(emc_cmd_mapping_cmd2_1, 30:24, secure_scratch18, 27:21);
1921
s(mc_generalized_carveout1_bom_hi, 1:0, secure_scratch18, 29:28);
1922
s(emc_fbio_spare, 1:1, secure_scratch18, 30:30);
1923
s(emc_fbio_cfg8, 15:15, secure_scratch18, 31:31);
1924
s(emc_cmd_mapping_cmd3_0, 6:0, secure_scratch19, 6:0);
1925
s(emc_cmd_mapping_cmd3_0, 14:8, secure_scratch19, 13:7);
1926
s(emc_cmd_mapping_cmd3_0, 22:16, secure_scratch19, 20:14);
1927
s(emc_cmd_mapping_cmd3_0, 30:24, secure_scratch19, 27:21);
1928
s(mc_emem_adr_cfg, 0:0, secure_scratch19, 28:28);
1929
s(mc_sec_carveout_protect_write_access, 0:0, secure_scratch19, 29:29);
1930
s(mc_mts_carveout_reg_ctrl, 0:0, secure_scratch19, 30:30);
1931
s(mc_video_protect_vpr_override, 0:0, secure_scratch19, 31:31);
1932
s(emc_cmd_mapping_cmd3_1, 6:0, secure_scratch20, 6:0);
1933
s(emc_cmd_mapping_cmd3_1, 14:8, secure_scratch20, 13:7);
1934
s(emc_cmd_mapping_cmd3_1, 22:16, secure_scratch20, 20:14);
1935
s(emc_cmd_mapping_cmd3_1, 30:24, secure_scratch20, 27:21);
1936
s(mc_generalized_carveout2_cfg0, 6:3, secure_scratch20, 31:28);
1937
s(mc_generalized_carveout4_cfg0, 26:0, secure_scratch39, 26:0);
1938
s(mc_generalized_carveout2_cfg0, 10:7, secure_scratch39, 30:27);
1939
s(mc_video_protect_vpr_override, 1:1, secure_scratch39, 31:31);
1940
s(mc_generalized_carveout5_cfg0, 26:0, secure_scratch40, 26:0);
1941
s(mc_generalized_carveout2_cfg0, 17:14, secure_scratch40, 30:27);
1942
s(mc_video_protect_vpr_override, 2:2, secure_scratch40, 31:31);
1943
s(emc_cmd_mapping_cmd0_2, 6:0, secure_scratch41, 6:0);
1944
s(emc_cmd_mapping_cmd0_2, 14:8, secure_scratch41, 13:7);
1945
s(emc_cmd_mapping_cmd0_2, 22:16, secure_scratch41, 20:14);
1946
s(emc_cmd_mapping_cmd0_2, 27:24, secure_scratch41, 24:21);
1947
s(mc_generalized_carveout2_cfg0, 21:18, secure_scratch41, 28:25);
1948
s(mc_generalized_carveout2_cfg0, 13:11, secure_scratch41, 31:29);
1949
s(emc_cmd_mapping_cmd1_2, 6:0, secure_scratch42, 6:0);
1950
s(emc_cmd_mapping_cmd1_2, 14:8, secure_scratch42, 13:7);
1951
s(emc_cmd_mapping_cmd1_2, 22:16, secure_scratch42, 20:14);
1952
s(emc_cmd_mapping_cmd1_2, 27:24, secure_scratch42, 24:21);
1953
s(mc_generalized_carveout1_cfg0, 6:3, secure_scratch42, 28:25);
1954
s(mc_generalized_carveout1_cfg0, 13:11, secure_scratch42, 31:29);
1955
s(emc_cmd_mapping_cmd2_2, 6:0, secure_scratch43, 6:0);
1956
s(emc_cmd_mapping_cmd2_2, 14:8, secure_scratch43, 13:7);
1957
s(emc_cmd_mapping_cmd2_2, 22:16, secure_scratch43, 20:14);
1958
s(emc_cmd_mapping_cmd2_2, 27:24, secure_scratch43, 24:21);
1959
s(mc_generalized_carveout1_cfg0, 10:7, secure_scratch43, 28:25);
1960
s(mc_generalized_carveout3_cfg0, 13:11, secure_scratch43, 31:29);
1961
s(emc_cmd_mapping_cmd3_2, 6:0, secure_scratch44, 6:0);
1962
s(emc_cmd_mapping_cmd3_2, 14:8, secure_scratch44, 13:7);
1963
s(emc_cmd_mapping_cmd3_2, 22:16, secure_scratch44, 20:14);
1964
s(emc_cmd_mapping_cmd3_2, 27:24, secure_scratch44, 24:21);
1965
s(mc_generalized_carveout1_cfg0, 17:14, secure_scratch44, 28:25);
1966
s(mc_video_protect_vpr_override, 3:3, secure_scratch44, 29:29);
1967
s(mc_video_protect_vpr_override, 7:6, secure_scratch44, 31:30);
1968
s(mc_emem_adr_cfg_channel_mask, 31:9, secure_scratch45, 22:0);
1969
s(mc_emem_adr_cfg_dev0, 2:0, secure_scratch45, 25:23);
1970
s(mc_emem_adr_cfg_dev0, 9:8, secure_scratch45, 27:26);
1971
s(mc_emem_adr_cfg_dev0, 19:16, secure_scratch45, 31:28);
1972
s(mc_emem_adr_cfg_bank_mask0, 31:10, secure_scratch46, 21:0);
1973
s(mc_emem_adr_cfg_dev1, 2:0, secure_scratch46, 24:22);
1974
s(mc_emem_adr_cfg_dev1, 9:8, secure_scratch46, 26:25);
1975
s(mc_emem_adr_cfg_dev1, 19:16, secure_scratch46, 30:27);
1976
s(mc_video_protect_vpr_override, 8:8, secure_scratch46, 31:31);
1977
s(mc_emem_adr_cfg_bank_mask1, 31:10, secure_scratch47, 21:0);
1978
s(mc_generalized_carveout1_cfg0, 21:18, secure_scratch47, 25:22);
1979
s(mc_generalized_carveout3_cfg0, 6:3, secure_scratch47, 29:26);
1980
s(mc_video_protect_vpr_override, 9:9, secure_scratch47, 30:30);
1981
s(mc_video_protect_vpr_override, 11:11, secure_scratch47, 31:31);
1982
s(mc_emem_adr_cfg_bank_mask2, 31:10, secure_scratch48, 21:0);
1983
s(mc_generalized_carveout3_cfg0, 10:7, secure_scratch48, 25:22);
1984
s(mc_generalized_carveout3_cfg0, 17:14, secure_scratch48, 29:26);
1985
s(mc_video_protect_vpr_override, 15:14, secure_scratch48, 31:30);
1986
s(mc_video_protect_gpu_override1, 15:0, secure_scratch49, 15:0);
1987
s(mc_emem_cfg, 13:0, secure_scratch49, 29:16);
1988
s(mc_emem_cfg, 31:31, secure_scratch49, 30:30);
1989
s(mc_video_protect_vpr_override, 17:17, secure_scratch49, 31:31);
1990
s(mc_generalized_carveout3_bom, 31:17, secure_scratch50, 14:0);
1991
s(mc_generalized_carveout1_bom, 31:17, secure_scratch50, 29:15);
1992
s(mc_video_protect_vpr_override, 19:18, secure_scratch50, 31:30);
1993
s(mc_generalized_carveout4_bom, 31:17, secure_scratch51, 14:0);
1994
s(mc_generalized_carveout2_bom, 31:17, secure_scratch51, 29:15);
1995
s(mc_video_protect_vpr_override, 21:20, secure_scratch51, 31:30);
1996
s(mc_generalized_carveout5_bom, 31:17, secure_scratch52, 14:0);
1997
s(mc_video_protect_bom, 31:20, secure_scratch52, 26:15);
1998
s(mc_generalized_carveout3_cfg0, 21:18, secure_scratch52, 30:27);
1999
s(mc_video_protect_vpr_override, 22:22, secure_scratch52, 31:31);
2000
s(mc_video_protect_size_mb, 11:0, secure_scratch53, 11:0);
2001
s(mc_sec_carveout_bom, 31:20, secure_scratch53, 23:12);
2002
s(mc_video_protect_vpr_override, 23:23, secure_scratch53, 24:24);
2003
s(mc_video_protect_vpr_override, 26:26, secure_scratch53, 25:25);
2004
s(mc_video_protect_vpr_override, 31:29, secure_scratch53, 28:26);
2005
s(mc_video_protect_vpr_override1, 1:0, secure_scratch53, 30:29);
2006
s(mc_video_protect_vpr_override1, 4:4, secure_scratch53, 31:31);
2007
s(mc_sec_carveout_size_mb, 11:0, secure_scratch54, 11:0);
2008
s(mc_mts_carveout_bom, 31:20, secure_scratch54, 23:12);
2009
s(mc_video_protect_vpr_override1, 12:5, secure_scratch54, 31:24);
2010
s(mc_mts_carveout_size_mb, 11:0, secure_scratch55, 11:0);
2011
s(mc_generalized_carveout4_size_128kb, 11:0, secure_scratch55, 23:12);
2012
s(mc_video_protect_vpr_override1, 16:13, secure_scratch55, 27:24);
2013
s(mc_video_protect_vpr_override1, 26:25, secure_scratch55, 29:28);
2014
s(mc_generalized_carveout2_cfg0, 1:0, secure_scratch55, 31:30);
2015
s(mc_generalized_carveout3_size_128kb, 11:0, secure_scratch56, 11:0);
2016
s(mc_generalized_carveout2_size_128kb, 11:0, secure_scratch56, 23:12);
2017
s(mc_generalized_carveout2_cfg0, 2:2, secure_scratch56, 24:24);
2018
s(mc_generalized_carveout2_cfg0, 26:22, secure_scratch56, 29:25);
2019
s(mc_generalized_carveout1_cfg0, 1:0, secure_scratch56, 31:30);
2020
s(mc_generalized_carveout1_size_128kb, 11:0, secure_scratch57, 11:0);
2021
s(mc_generalized_carveout5_size_128kb, 11:0, secure_scratch57, 23:12);
2022
s(mc_generalized_carveout1_cfg0, 2:2, secure_scratch57, 24:24);
2023
s(mc_generalized_carveout1_cfg0, 26:22, secure_scratch57, 29:25);
2024
s(mc_generalized_carveout3_cfg0, 1:0, secure_scratch57, 31:30);
2025
s(mc_generalized_carveout3_cfg0, 2:2, secure_scratch58, 0:0);
2026
s(mc_generalized_carveout3_cfg0, 26:22, secure_scratch58, 5:1);
2027
2028
s32(mc_generalized_carveout1_access0, secure_scratch59);
2029
s32(mc_generalized_carveout1_access1, secure_scratch60);
2030
s32(mc_generalized_carveout1_access2, secure_scratch61);
2031
s32(mc_generalized_carveout1_access3, secure_scratch62);
2032
s32(mc_generalized_carveout1_access4, secure_scratch63);
2033
s32(mc_generalized_carveout2_access0, secure_scratch64);
2034
s32(mc_generalized_carveout2_access1, secure_scratch65);
2035
s32(mc_generalized_carveout2_access2, secure_scratch66);
2036
s32(mc_generalized_carveout2_access3, secure_scratch67);
2037
s32(mc_generalized_carveout2_access4, secure_scratch68);
2038
s32(mc_generalized_carveout3_access0, secure_scratch69);
2039
s32(mc_generalized_carveout3_access1, secure_scratch70);
2040
s32(mc_generalized_carveout3_access2, secure_scratch71);
2041
s32(mc_generalized_carveout3_access3, secure_scratch72);
2042
s32(mc_generalized_carveout3_access4, secure_scratch73);
2043
s32(mc_generalized_carveout4_access0, secure_scratch74);
2044
s32(mc_generalized_carveout4_access1, secure_scratch75);
2045
s32(mc_generalized_carveout4_access2, secure_scratch76);
2046
s32(mc_generalized_carveout4_access3, secure_scratch77);
2047
s32(mc_generalized_carveout4_access4, secure_scratch78);
2048
s32(mc_generalized_carveout5_access0, secure_scratch79);
2049
s32(mc_generalized_carveout5_access1, secure_scratch80);
2050
s32(mc_generalized_carveout5_access2, secure_scratch81);
2051
s32(mc_generalized_carveout5_access3, secure_scratch82);
2052
s32(mc_generalized_carveout1_force_internal_access0, secure_scratch84);
2053
s32(mc_generalized_carveout1_force_internal_access1, secure_scratch85);
2054
s32(mc_generalized_carveout1_force_internal_access2, secure_scratch86);
2055
s32(mc_generalized_carveout1_force_internal_access3, secure_scratch87);
2056
s32(mc_generalized_carveout1_force_internal_access4, secure_scratch88);
2057
s32(mc_generalized_carveout2_force_internal_access0, secure_scratch89);
2058
s32(mc_generalized_carveout2_force_internal_access1, secure_scratch90);
2059
s32(mc_generalized_carveout2_force_internal_access2, secure_scratch91);
2060
s32(mc_generalized_carveout2_force_internal_access3, secure_scratch92);
2061
s32(mc_generalized_carveout2_force_internal_access4, secure_scratch93);
2062
s32(mc_generalized_carveout3_force_internal_access0, secure_scratch94);
2063
s32(mc_generalized_carveout3_force_internal_access1, secure_scratch95);
2064
s32(mc_generalized_carveout3_force_internal_access2, secure_scratch96);
2065
s32(mc_generalized_carveout3_force_internal_access3, secure_scratch97);
2066
s32(mc_generalized_carveout3_force_internal_access4, secure_scratch98);
2067
s32(mc_generalized_carveout4_force_internal_access0, secure_scratch99);
2068
s32(mc_generalized_carveout4_force_internal_access1, secure_scratch100);
2069
s32(mc_generalized_carveout4_force_internal_access2, secure_scratch101);
2070
s32(mc_generalized_carveout4_force_internal_access3, secure_scratch102);
2071
s32(mc_generalized_carveout4_force_internal_access4, secure_scratch103);
2072
s32(mc_generalized_carveout5_force_internal_access0, secure_scratch104);
2073
s32(mc_generalized_carveout5_force_internal_access1, secure_scratch105);
2074
s32(mc_generalized_carveout5_force_internal_access2, secure_scratch106);
2075
s32(mc_generalized_carveout5_force_internal_access3, secure_scratch107);
2076
2077
// PLLM. Unused, BCT is used for PLLM.
2078
c32(0, scratch2);
2079
s(pllm_input_divider, 7:0, scratch2, 7:0);
2080
s(pllm_feedback_divider, 7:0, scratch2, 15:8);
2081
s(pllm_post_divider, 0:0, scratch2, 16:16);
2082
s(pllm_kvco, 0:0, scratch2, 17:17);
2083
s(pllm_kcp, 1:0, scratch2, 19:18);
2084
2085
c32(0, scratch35);
2086
s(pllm_setup_control, 27:0, scratch35, 27:0);
2087
2088
// PLLX.
2089
s(pllm_input_divider, 7:0, scratch3, 7:0);
2090
c(62, scratch3, 15:8); // 62 divn.
2091
c(0, scratch3, 20:16); // 0 divp.
2092
s(pllm_kvco, 0:0, scratch3, 21:21);
2093
s(pllm_kcp, 1:0, scratch3, 23:22);
2094
// s(pllm_kcp, 9:0, scratch3, 31:22);
2095
2096
c32(0, scratch36);
2097
s(pllm_setup_control, 23:0, scratch36, 23:0);
2098
2099
// PLLM/PLLX.
2100
s(pllm_stable_time, 9:0, scratch4, 9:0);
2101
s(pllm_stable_time, 9:0, scratch4, 19:10);
2102
}
2103
2104
void sdram_lp0_entry(void *sdram_config, bdk_params_t *bp)
2105
{
2106
u32 chip_id = (APB_MISC(APB_MISC_GP_HIDREV) >> 4) & 0xF;
2107
2108
if (chip_id != GP_HIDREV_MAJOR_T210B01)
2109
_sdram_lp0_save_params_t210(sdram_config);
2110
else
2111
_sdram_lp0_save_params_t210b01(sdram_config);
2112
}
2113
2114