blob: 35b1e23f4ae185837dde97e52dd21aaf548a2662 [file] [log] [blame]
Googlerfc3e29a2022-11-22 14:17:45 +08001/* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */
2/*
3 * Copyright (c) 2019 Amlogic, Inc. All rights reserved.
4 */
5
6/** \brief DDR4U_2D training firmware message block structure
7 *
8 * Please refer to the Training Firmware App Note for futher information about
9 * the usage for Message Block.
10 */
11typedef struct _PMU_SMB_DDR4U_2D_t {
12 uint8_t Reserved00; // Byte offset 0x00, CSR Addr 0x54000, Direction=In
13 // Reserved00[0:4] RFU, must be zero
14 //
15 // Reserved00[5] = Train vrefDAC0 During Read Deskew
16 // 0x1 = Read Deskew will begin by enabling and roughly training the phy’s per-lane reference voltages. Training the vrefDACs CSRs will increase the maximum 1D training time by around half a millisecond, but will improve 1D training accuracy on systems with significant voltage-offsets between lane read eyes.
17 // 0X0 = Read Deskew will assume the messageblock’s phyVref setting will work for all lanes.
18 //
19 // Reserved00[6] = Enable High Effort WrDQ1D
20 // 0x1 = WrDQ1D will conditionally retry training at several extra RxClkDly Timings. This will increase the maximum 1D training time by up to 4 extra iterations of WrDQ1D. This is only required in systems that suffer from very large, asymmetric eye-collapse when receiving PRBS patterns.
21 // 0x0 = WrDQ1D assume rxClkDly values found by SI Friendly RdDqs1D will work for receiving PRBS patterns
22 //
23 // Reserved00[7] = Optimize for the special hard macros in TSMC28.
24 // 0x1 = set if the phy being trained was manufactured in any TSMC28 process node.
25 // 0x0 = otherwise, when not training a TSMC28 phy, leave this field as 0.
26 uint8_t MsgMisc; // Byte offset 0x01, CSR Addr 0x54000, Direction=In
27 // Contains various global options for training.
28 //
29 // Bit fields:
30 //
31 // MsgMisc[0] = MTESTEnable
32 // 0x1 = Pulse primary digital test output bump at the end of each major training stage. This enables observation of training stage completion by observing the digital test output.
33 // 0x0 = Do not pulse primary digital test output bump
34 //
35 // MsgMisc[1] = SimulationOnlyReset
36 // 0x1 = Verilog only simulation option to shorten duration of DRAM reset pulse length to 1ns.
37 // Must never be set to 1 in silicon.
38 // 0x0 = Use reset pulse length specifed by JEDEC standard
39 //
40 // MsgMisc[2] = SimulationOnlyTraining
41 // 0x1 = Verilog only simulation option to shorten the duration of the training steps by performing fewer iterations.
42 // Must never be set to 1 in silicon.
43 // 0x0 = Use standard training duration.
44 //
45 // MsgMisc[3] = UseDdr4PerDeviceVrefDq (DDR4 UDIMM and RDIMM only, otherwise RFU, must be zero)
46 // 0x1 = Program user characterized Vref DQ values per DDR4 DRAM device. The message block VrefDqR*Nib* fields must be populated with the desired per device Vref DQs when using this option. Note: this option is not applicable in 2D training because these values are explicitly trained in 2D.
47 // 0x0 = Program Vref DQ for all DDR4 devices with the single value provided in MR6 message block field
48 //
49 // MsgMisc[4] = Suppress streaming messages, including assertions, regardless of HdtCtrl setting.
50 // Stage Completion messages, as well as training completion and error messages are
51 // Still sent depending on HdtCtrl setting.
52 //
53 // MsgMisc[5] = PerByteMaxRdLat
54 // 0x1 = Each DBYTE will return dfi_rddata_valid at the lowest possible latency. This may result in unaligned data between bytes to be returned to the DFI.
55 // 0x0 = Every DBYTE will return dfi_rddata_valid simultaneously. This will ensure that data bytes will return aligned accesses to the DFI.
56 //
57 // MsgMisc[6] = PartialRank (DDR3 UDIMM and DDR4 UDIMM only, otherwise RFU, must be zero)
58 // 0x1 = Support rank populated with a subset of byte, but where even-odd pair of rank support all the byte
59 // 0x0 = All rank populated with all the byte (tyical configuration)
60 //
61 // MsgMisc[7] RFU, must be zero
62 //
63 // Notes:
64 //
65 // - SimulationOnlyReset and SimulationOnlyTraining can be used to speed up simulation run times, and must never be used in real silicon. Some VIPs may have checks on DRAM reset parameters that may need to be disabled when using SimulationOnlyReset.
66 uint16_t PmuRevision; // Byte offset 0x02, CSR Addr 0x54001, Direction=Out
67 // PMU firmware revision ID
68 // After training is run, this address will contain the revision ID of the firmware.
69 // Please reference this revision ID when filing support cases with Synopsys.
70 uint8_t Pstate; // Byte offset 0x04, CSR Addr 0x54002, Direction=In
71 // Must be set to the target Pstate to be trained
72 // 0x0 = Pstate 0
73 // 0x1 = Pstate 1
74 // 0x2 = Pstate 2
75 // 0x3 = Pstate 3
76 // All other encodings are reserved
77 uint8_t PllBypassEn; // Byte offset 0x05, CSR Addr 0x54002, Direction=In
78 // Set according to whether target Pstate uses PHY PLL bypass
79 // 0x0 = PHY PLL is enabled for target Pstate
80 // 0x1 = PHY PLL is bypassed for target Pstate
81 uint16_t DRAMFreq; // Byte offset 0x06, CSR Addr 0x54003, Direction=In
82 // DDR data rate for the target Pstate in units of MT/s.
83 // For example enter 0x0640 for DDR1600.
84 uint8_t DfiFreqRatio; // Byte offset 0x08, CSR Addr 0x54004, Direction=In
85 // Frequency ratio betwen DfiCtlClk and SDRAM memclk.
86 // 0x1 = 1:1
87 // 0x2 = 1:2
88 // 0x4 = 1:4
89 uint8_t BPZNResVal ; // Byte offset 0x09, CSR Addr 0x54004, Direction=In
90 // Must be programmed to match the precision resistor connected to Phy BP_ZN
91 // 0x00 = Do not program. Use current CSR value.
92 // 0xf0 = 240 Ohm (recommended value)
93 // 0x78 = 120 Ohm
94 // 0x28 = 40 Ohm
95 // All other values are reserved.
96 //
97 uint8_t PhyOdtImpedance; // Byte offset 0x0a, CSR Addr 0x54005, Direction=In
98 // Must be programmed to the termination impedance in ohms used by PHY during reads.
99 //
100 // 0x0 = Firmware skips programming (must be manually programmed by user prior to training start)
101 //
102 // See PHY databook for legal termination impedance values.
103 //
104 // For digital simulation, any legal value can be used. For silicon, the users must determine the correct value through SI simulation or other methods.
105 uint8_t PhyDrvImpedance; // Byte offset 0x0b, CSR Addr 0x54005, Direction=In
106 // Must be programmed to the driver impedance in ohms used by PHY during writes for all DBYTE drivers (DQ/DM/DBI/DQS).
107 //
108 // 0x0 = Firmware skips programming (must be manually programmed by user prior to training start)
109 //
110 // See PHY databook for legal R_on driver impedance values.
111 //
112 // For digital simulation, any value can be used that is not Hi-Z. For silicon, the users must determine the correct value through SI simulation or other methods.
113 uint8_t PhyVref; // Byte offset 0x0c, CSR Addr 0x54006, Direction=In
114 // Must be programmed with the Vref level to be used by the PHY during reads
115 //
116 // The units of this field are a percentage of VDDQ according to the following equation:
117 //
118 // Receiver Vref = VDDQ*PhyVref[6:0]/128
119 //
120 // For example to set Vref at 0.75*VDDQ, set this field to 0x60.
121 //
122 // For digital simulation, any legal value can be used. For silicon, the users must calculate the analytical Vref by using the impedances, terminations, and series resistance present in the system.
123 uint8_t DramType; // Byte offset 0x0d, CSR Addr 0x54006, Direction=In
124 // Module Type:
125 // 0x01 = Reserved
126 // 0x02 = DDR4 unbuffered
127 // 0x03 = Reserved
128 // 0x04 = Reserved
129 // 0x05 = Reserved
130 //
131 uint8_t DisabledDbyte; // Byte offset 0x0e, CSR Addr 0x54007, Direction=In
132 // Bitmap to indicate which Dbyte are not connected (for DByte 0 to 7):
133 // Set DisabledDbyte[i] to 1 only to specify that DByte i not need to be trained (DByte 8 can be disabled via EnabledDQs setting)
134 uint8_t EnabledDQs; // Byte offset 0x0f, CSR Addr 0x54007, Direction=In
135 // Total number of DQ bits enabled in PHY
136 uint8_t CsPresent; // Byte offset 0x10, CSR Addr 0x54008, Direction=In
137 // Indicates presence of DRAM at each chip select for PHY. Each bit corresponds to a logical CS.
138 //
139 // If the bit is set to 1, the CS is connected to DRAM.
140 // If the bit is set to 0, the CS is not connected to DRAM.
141 //
142 // CsPresent[0] = CS0 is populated with DRAM
143 // CsPresent[1] = CS1 is populated with DRAM
144 // CsPresent[2] = CS2 is populated with DRAM
145 // CsPresent[3] = CS3 is populated with DRAM
146 // CsPresent[7:4] = Reserved (must be programmed to 0)
147 //
148 //
149 uint8_t CsPresentD0; // Byte offset 0x11, CSR Addr 0x54008, Direction=In
150 // The CS signals from field CsPresent that are routed to DIMM connector 0
151 uint8_t CsPresentD1; // Byte offset 0x12, CSR Addr 0x54009, Direction=In
152 // The CS signals from field CsPresent that are routed to DIMM connector 1
153 uint8_t AddrMirror; // Byte offset 0x13, CSR Addr 0x54009, Direction=In
154 // Corresponds to CS[3:0]
155 // 1 = Address Mirror.
156 // 0 = No Address Mirror.
157 uint8_t CsTestFail; // Byte offset 0x14, CSR Addr 0x5400a, Direction=Out
158 // This field will be set if training fails on any rank.
159 // 0x0 = No failures
160 // non-zero = one or more ranks failed training
161 uint8_t PhyCfg; // Byte offset 0x15, CSR Addr 0x5400a, Direction=In
162 // Additional mode bits.
163 //
164 // Bit fields:
165 // [0] SlowAccessMode :
166 // 1 = 2T Address Timing.
167 // 0 = 1T Address Timing.
168 // [7-1] RFU, must be zero
169 uint16_t SequenceCtrl; // Byte offset 0x16, CSR Addr 0x5400b, Direction=In
170 // Controls the training steps to be run. Each bit corresponds to a training step.
171 //
172 // If the bit is set to 1, the training step will run.
173 // If the bit is set to 0, the training step will be skipped.
174 //
175 // Training step to bit mapping:
176 // SequenceCtrl[0] = Run DevInit - Device/phy initialization. Should always be set.
177 // SequenceCtrl[1] = RFU, must be zero
178 // SequenceCtrl[2] = RFU, must be zero
179 // SequenceCtrl[3] = RFU, must be zero
180 // SequenceCtrl[4] = RFU, must be zero
181 // SequenceCtrl[5] = Run rd2D - 2d read dqs training
182 // SequenceCtrl[6] = Run wr2D - 2d write dq training
183 // SequenceCtrl[7] = RFU, must be zero
184 // SequenceCtrl[8] = RFU, must be zero
185 // SequenceCtrl[9] = RFU, must be zero
186 // SequenceCtrl[10] = RFU, must be zero
187 // SequenceCtrl[11] = RFU, must be zero
188 // SequenceCtrl[12] = RFU, must be zero
189 // SequenceCtrl[13] = RFU, must be zero
190 // SequenceCtrl[15-14] = RFU, must be zero
191 uint8_t HdtCtrl; // Byte offset 0x18, CSR Addr 0x5400c, Direction=In
192 // To control the total number of debug messages, a verbosity subfield (HdtCtrl, Hardware Debug Trace Control) exists in the message block. Every message has a verbosity level associated with it, and as the HdtCtrl value is increased, less important s messages stop being sent through the mailboxes. The meanings of several major HdtCtrl thresholds are explained below:
193 //
194 // 0x05 = Detailed debug messages (e.g. Eye delays)
195 // 0x0A = Coarse debug messages (e.g. rank information)
196 // 0xC8 = Stage completion
197 // 0xC9 = Assertion messages
198 // 0xFF = Firmware completion messages only
199 //
200 // See Training App Note for more detailed information on what messages are included for each threshold.
201 //
202 uint8_t RX2D_TrainOpt; // Byte offset 0x19, CSR Addr 0x5400c, Direction=In
203 // Bit fields, if 2D read training enabled, then use these additional options:
204 // [0] DFE
205 // 1 = Run rx2D with DFE
206 // 0 = Run rx2D with DFE off
207 // [1-2] Voltage Step Size (2^n)
208 // 3 = 8 DAC settings between checked values
209 // 2 = 4 DAC settings between checked values
210 // 1 = 2 DAC settings between checked values
211 // 0 = 1 DAC settings between checked values
212 // [3-4] Delay Step Size (2^n)
213 // 3 = 8 LCDL delays between checked values
214 // 2 = 4 LCDL delays between checked values
215 // 1 = 2 LCDL delays between checked values
216 // 0 = 1 LCDL delays between checked values
217 // [5-7] RFU, must be zero
218 //
219 uint8_t TX2D_TrainOpt; // Byte offset 0x1a, CSR Addr 0x5400d, Direction=In
220 // Bit fields, if 2D write training is enabled, then use these additional options:
221 // [0] FFE
222 // 1 = Train tx2D with FFE
223 // 0 = Train tx2D with FFE off
224 // [1-2] Voltage Step Size (2^n)
225 // 3 = 8 DAC settings between checked values
226 // 2 = 4 DAC settings between checked values
227 // 1 = 2 DAC settings between checked values
228 // 0 = 1 DAC settings between checked values
229 // [3-4] Delay Step Size (2^n)
230 // 3 = 8 LCDL delays between checked values
231 // 2 = 4 LCDL delays between checked values
232 // 1 = 2 LCDL delays between checked values
233 // 0 = 1 LCDL delays between checked values
234 // [5] FFE Decision Algorithm Control
235 // 1 = FFE chooses the drive strength that maximizes the average eye-area across the entire phy.
236 // 0 = FFE chooses the drive strength that maximizes the smallest eye across the entire phy.
237 // [6-7] RFU, must be zero
238 //
239 uint8_t Share2DVrefResult; // Byte offset 0x1b, CSR Addr 0x5400d, Direction=In
240 // Bitmap that designates the phy's vref source for every pstate
241 // If Share2DVrefResult[x] = 0, then after 2D training, pstate x will continue using the phyVref provided in pstate x’s 1D messageblock.
242 // If Share2DVrefResult[x] = 1, then after 2D training, pstate x will use the per-lane VrefDAC0/1 CSRs trained by 2d training.
243 uint8_t Delay_Weight2D; // Byte offset 0x1c, CSR Addr 0x5400e, Direction=In
244 // During 2D training, the ideal eye center changes depending on how valuable delay margin is compared to voltage margin. delay_weight2D sets the value, or weight, of one step of delay margin. The ratio of voltage_weight2D to delay_weight2D will be used by 2D training to choose your preferred center point. There are 32 delay steps in a perfect eye.
245 uint8_t Voltage_Weight2D; // Byte offset 0x1d, CSR Addr 0x5400e, Direction=In
246 // During 2D training, the ideal eye center changes depending on how valuable voltage margin is compared to delay margin. voltage_weight2D sets the value, or weight, of one step of voltage margin. The ratio of voltage_weight2D to delay_weight2D will be used by 2D training to choose your preferred center point. There are 128 voltage steps in a perfect eye.
247 uint8_t Reserved1E; // Byte offset 0x1e, CSR Addr 0x5400f, Direction=In
248 // Input for constraining the range of vref(DQ) values training will collect data for, usually reducing training time. However, too large of a voltage range may cause longer 2D training times while too small of a voltage range may truncate passing regions. When in doubt, leave this field set to 0.
249 // Used by 2D training in: Rd2D, Wr2D
250 //
251 // Reserved1E[0-3]: Rd2D Voltage Range
252 // 0 = Training will search all phy vref(DQ) settings
253 // 1 = limit to +/-2 %VDDQ from phyVref
254 // 2 = limit to +/-4 %VDDQ from phyVref
255 // …
256 // 15 = limit to +/-30% VDDQ from phyVref
257 //
258 // Reserved1E[4-7]: Wr2D Voltage Range
259 // 0 = Training will search all dram vref(DQ) settings
260 // 1 = limit to +/-2 %VDDQ from MR6
261 // 2 = limit to +/-4 %VDDQ from MR6
262 // …
263 // 15 = limit to +/-30% VDDQ from MR6
264 uint8_t Reserved1F; // Byte offset 0x1f, CSR Addr 0x5400f, Direction=N/A
265 // This field is reserved and must be programmed to 0x00.
266 uint8_t Reserved20; // Byte offset 0x20, CSR Addr 0x54010, Direction=N/A
267 // This field is reserved and must be programmed to 0x00.
268 uint8_t Reserved21; // Byte offset 0x21, CSR Addr 0x54010, Direction=N/A
269 // This field is reserved and must be programmed to 0x00.
270 uint16_t PhyConfigOverride; // Byte offset 0x22, CSR Addr 0x54011, Direction=In
271 // Override PhyConfig csr.
272 // 0x0: Use hardware csr value for PhyConfing (recommended)
273 // Other values: Use value for PhyConfig instead of Hardware value.
274 //
275 uint8_t DFIMRLMargin; // Byte offset 0x24, CSR Addr 0x54012, Direction=In
276 // Margin added to smallest passing trained DFI Max Read Latency value, in units of DFI clocks. Recommended to be >= 1. See the Training App Note for more details on the training process and the use of this value.
277 uint8_t R0_RxClkDly_Margin; // Byte offset 0x25, CSR Addr 0x54012, Direction=Out
278 // Distance from the trained center to the closest failing region in DLL steps. This value is the minimum of all eyes in this timing group.
279 uint8_t R0_VrefDac_Margin; // Byte offset 0x26, CSR Addr 0x54013, Direction=Out
280 // Distance from the trained center to the closest failing region in phy DAC steps. This value is the minimum of all eyes in this timing group.
281 uint8_t R0_TxDqDly_Margin; // Byte offset 0x27, CSR Addr 0x54013, Direction=Out
282 // Distance from the trained center to the closest failing region in DLL steps. This value is the minimum of all eyes in this timing group.
283 uint8_t R0_DeviceVref_Margin; // Byte offset 0x28, CSR Addr 0x54014, Direction=Out
284 // Distance from the trained center to the closest failing region in device DAC steps. This value is the minimum of all eyes in this timing group.
285 uint8_t Reserved29; // Byte offset 0x29, CSR Addr 0x54014, Direction=N/A
286 // This field is reserved and must be programmed to 0x00.
287 uint8_t Reserved2A; // Byte offset 0x2a, CSR Addr 0x54015, Direction=N/A
288 // This field is reserved and must be programmed to 0x00.
289 uint8_t Reserved2B; // Byte offset 0x2b, CSR Addr 0x54015, Direction=N/A
290 // This field is reserved and must be programmed to 0x00.
291 uint8_t Reserved2C; // Byte offset 0x2c, CSR Addr 0x54016, Direction=N/A
292 // This field is reserved and must be programmed to 0x00.
293 uint8_t Reserved2D; // Byte offset 0x2d, CSR Addr 0x54016, Direction=N/A
294 // This field is reserved and must be programmed to 0x00.
295 uint8_t Reserved2E; // Byte offset 0x2e, CSR Addr 0x54017, Direction=N/A
296 // This field is reserved and must be programmed to 0x00.
297 uint8_t Reserved2F; // Byte offset 0x2f, CSR Addr 0x54017, Direction=N/A
298 // This field is reserved and must be programmed to 0x00.
299 uint8_t Reserved30; // Byte offset 0x30, CSR Addr 0x54018, Direction=N/A
300 // This field is reserved and must be programmed to 0x00.
301 uint8_t Reserved31; // Byte offset 0x31, CSR Addr 0x54018, Direction=N/A
302 // This field is reserved and must be programmed to 0x00.
303 uint8_t Reserved32; // Byte offset 0x32, CSR Addr 0x54019, Direction=N/A
304 // This field is reserved and must be programmed to 0x00.
305 uint8_t R1_RxClkDly_Margin; // Byte offset 0x33, CSR Addr 0x54019, Direction=Out
306 // Distance from the trained center to the closest failing region in DLL steps. This value is the minimum of all eyes in this timing group.
307 uint8_t R1_VrefDac_Margin; // Byte offset 0x34, CSR Addr 0x5401a, Direction=Out
308 // Distance from the trained center to the closest failing region in phy DAC steps. This value is the minimum of all eyes in this timing group.
309 uint8_t R1_TxDqDly_Margin; // Byte offset 0x35, CSR Addr 0x5401a, Direction=Out
310 // Distance from the trained center to the closest failing region in DLL steps. This value is the minimum of all eyes in this timing group.
311 uint8_t R1_DeviceVref_Margin; // Byte offset 0x36, CSR Addr 0x5401b, Direction=Out
312 // Distance from the trained center to the closest failing region in device DAC steps. This value is the minimum of all eyes in this timing group.
313 uint8_t Reserved37; // Byte offset 0x37, CSR Addr 0x5401b, Direction=N/A
314 // This field is reserved and must be programmed to 0x00.
315 uint8_t Reserved38; // Byte offset 0x38, CSR Addr 0x5401c, Direction=N/A
316 // This field is reserved and must be programmed to 0x00.
317 uint8_t Reserved39; // Byte offset 0x39, CSR Addr 0x5401c, Direction=N/A
318 // This field is reserved and must be programmed to 0x00.
319 uint8_t Reserved3A; // Byte offset 0x3a, CSR Addr 0x5401d, Direction=N/A
320 // This field is reserved and must be programmed to 0x00.
321 uint8_t Reserved3B; // Byte offset 0x3b, CSR Addr 0x5401d, Direction=N/A
322 // This field is reserved and must be programmed to 0x00.
323 uint8_t Reserved3C; // Byte offset 0x3c, CSR Addr 0x5401e, Direction=N/A
324 // This field is reserved and must be programmed to 0x00.
325 uint8_t Reserved3D; // Byte offset 0x3d, CSR Addr 0x5401e, Direction=N/A
326 // This field is reserved and must be programmed to 0x00.
327 uint8_t Reserved3E; // Byte offset 0x3e, CSR Addr 0x5401f, Direction=N/A
328 // This field is reserved and must be programmed to 0x00.
329 uint8_t Reserved3F; // Byte offset 0x3f, CSR Addr 0x5401f, Direction=N/A
330 // This field is reserved and must be programmed to 0x00.
331 uint8_t Reserved40; // Byte offset 0x40, CSR Addr 0x54020, Direction=N/A
332 // This field is reserved and must be programmed to 0x00.
333 uint8_t R2_RxClkDly_Margin; // Byte offset 0x41, CSR Addr 0x54020, Direction=Out
334 // Distance from the trained center to the closest failing region in DLL steps. This value is the minimum of all eyes in this timing group.
335 uint8_t R2_VrefDac_Margin; // Byte offset 0x42, CSR Addr 0x54021, Direction=Out
336 // Distance from the trained center to the closest failing region in phy DAC steps. This value is the minimum of all eyes in this timing group.
337 uint8_t R2_TxDqDly_Margin; // Byte offset 0x43, CSR Addr 0x54021, Direction=Out
338 // Distance from the trained center to the closest failing region in DLL steps. This value is the minimum of all eyes in this timing group.
339 uint8_t R2_DeviceVref_Margin; // Byte offset 0x44, CSR Addr 0x54022, Direction=Out
340 // Distance from the trained center to the closest failing region in device DAC steps. This value is the minimum of all eyes in this timing group.
341 uint8_t Reserved45; // Byte offset 0x45, CSR Addr 0x54022, Direction=N/A
342 // This field is reserved and must be programmed to 0x00.
343 uint8_t Reserved46; // Byte offset 0x46, CSR Addr 0x54023, Direction=N/A
344 // This field is reserved and must be programmed to 0x00.
345 uint8_t Reserved47; // Byte offset 0x47, CSR Addr 0x54023, Direction=N/A
346 // This field is reserved and must be programmed to 0x00.
347 uint8_t Reserved48; // Byte offset 0x48, CSR Addr 0x54024, Direction=N/A
348 // This field is reserved and must be programmed to 0x00.
349 uint8_t Reserved49; // Byte offset 0x49, CSR Addr 0x54024, Direction=N/A
350 // This field is reserved and must be programmed to 0x00.
351 uint8_t Reserved4A; // Byte offset 0x4a, CSR Addr 0x54025, Direction=N/A
352 // This field is reserved and must be programmed to 0x00.
353 uint8_t Reserved4B; // Byte offset 0x4b, CSR Addr 0x54025, Direction=N/A
354 // This field is reserved and must be programmed to 0x00.
355 uint8_t Reserved4C; // Byte offset 0x4c, CSR Addr 0x54026, Direction=N/A
356 // This field is reserved and must be programmed to 0x00.
357 uint8_t Reserved4D; // Byte offset 0x4d, CSR Addr 0x54026, Direction=N/A
358 // This field is reserved and must be programmed to 0x00.
359 uint8_t Reserved4E; // Byte offset 0x4e, CSR Addr 0x54027, Direction=N/A
360 // This field is reserved and must be programmed to 0x00.
361 uint8_t R3_RxClkDly_Margin; // Byte offset 0x4f, CSR Addr 0x54027, Direction=Out
362 // Distance from the trained center to the closest failing region in DLL steps. This value is the minimum of all eyes in this timing group.
363 uint8_t R3_VrefDac_Margin; // Byte offset 0x50, CSR Addr 0x54028, Direction=Out
364 // Distance from the trained center to the closest failing region in phy DAC steps. This value is the minimum of all eyes in this timing group.
365 uint8_t R3_TxDqDly_Margin; // Byte offset 0x51, CSR Addr 0x54028, Direction=Out
366 // Distance from the trained center to the closest failing region in DLL steps. This value is the minimum of all eyes in this timing group.
367 uint8_t R3_DeviceVref_Margin; // Byte offset 0x52, CSR Addr 0x54029, Direction=Out
368 // Distance from the trained center to the closest failing region in device DAC steps. This value is the minimum of all eyes in this timing group.
369 uint8_t Reserved53; // Byte offset 0x53, CSR Addr 0x54029, Direction=N/A
370 // This field is reserved and must be programmed to 0x00.
371 uint8_t Reserved54; // Byte offset 0x54, CSR Addr 0x5402a, Direction=N/A
372 // This field is reserved and must be programmed to 0x00.
373 uint8_t Reserved55; // Byte offset 0x55, CSR Addr 0x5402a, Direction=N/A
374 // This field is reserved and must be programmed to 0x00.
375 uint8_t Reserved56; // Byte offset 0x56, CSR Addr 0x5402b, Direction=N/A
376 // This field is reserved and must be programmed to 0x00.
377 uint8_t Reserved57; // Byte offset 0x57, CSR Addr 0x5402b, Direction=N/A
378 // This field is reserved and must be programmed to 0x00.
379 uint8_t Reserved58; // Byte offset 0x58, CSR Addr 0x5402c, Direction=N/A
380 // This field is reserved and must be programmed to 0x00.
381 uint8_t Reserved59; // Byte offset 0x59, CSR Addr 0x5402c, Direction=N/A
382 // This field is reserved and must be programmed to 0x00.
383 uint8_t Reserved5A; // Byte offset 0x5a, CSR Addr 0x5402d, Direction=N/A
384 // This field is reserved and must be programmed to 0x00.
385 uint8_t Reserved5B; // Byte offset 0x5b, CSR Addr 0x5402d, Direction=N/A
386 // This field is reserved and must be programmed to 0x00.
387 uint8_t Reserved5C; // Byte offset 0x5c, CSR Addr 0x5402e, Direction=N/A
388 // This field is reserved and must be programmed to 0x00.
389 uint8_t Reserved5D; // Byte offset 0x5d, CSR Addr 0x5402e, Direction=In
390 // Bit Field for enabling optional 2D training features that impact both Rx2D and Tx2D.
391 //
392 // Reserved5D[0-3]: bitTimeControl
393 // Input for increasing the number of data-comparisons 2D runs per (delay,voltage) point. Every time this input increases by 1, the number of 2D data comparisons is doubled. The 2D run time will increase proportionally to the number of bit times requested per point.
394 // 0 = 1 kilobit per point (legacy behavior)
395 // 1 = 2 kilobits per point
396 // 2 = 4 kilobits per point
397 // …
398 // 15 = 32 megabits per point
399 //
400 // Reserved5D[4]: Exhaustive2D
401 // 0 = 2D’s optimization assumes the optimal trained point is near the 1D trained point (legacy behavior)
402 // 1 = 2D’s optimization searches the entire passing region at the cost of run time. Recommended for optimal results any time the optimal trained point is expected to be near the edges of the eyes instead of near the 1D trained point.
403 //
404 // Reserved5D[5:7]: RFU, must be 0
405 uint16_t MR0; // Byte offset 0x5e, CSR Addr 0x5402f, Direction=In
406 // Value of DDR mode register MR0 for all ranks for current pstate
407 uint16_t MR1; // Byte offset 0x60, CSR Addr 0x54030, Direction=In
408 // Value of DDR mode register MR1 for all ranks for current pstate
409 uint16_t MR2; // Byte offset 0x62, CSR Addr 0x54031, Direction=In
410 // Value of DDR mode register MR2 for all ranks for current pstate
411 uint16_t MR3; // Byte offset 0x64, CSR Addr 0x54032, Direction=In
412 // Value of DDR mode register MR3 for all ranks for current pstate
413 uint16_t MR4; // Byte offset 0x66, CSR Addr 0x54033, Direction=In
414 // Value of DDR mode register MR4 for all ranks for current pstate
415 uint16_t MR5; // Byte offset 0x68, CSR Addr 0x54034, Direction=In
416 // Value of DDR mode register MR5 for all ranks for current pstate
417 uint16_t MR6; // Byte offset 0x6a, CSR Addr 0x54035, Direction=In
418 // Value of DDR mode register MR6 for all ranks for current pstate. Note: The initial VrefDq value and range must be set in A6:A0.
419 uint8_t X16Present; // Byte offset 0x6c, CSR Addr 0x54036, Direction=In
420 // X16 device map. Corresponds to CS[3:0].
421 // X16Present[0] = CS0 is populated with X16 devices
422 // X16Present[1] = CS1 is populated with X16 devices
423 // X16Present[2] = CS2 is populated with X16 devices
424 // X16Present[3] = CS3 is populated with X16 devices
425 // X16Present[7:4] = Reserved (must be programmed to 0)
426 //
427 // Ranks may not contain mixed device types.
428 uint8_t CsSetupGDDec; // Byte offset 0x6d, CSR Addr 0x54036, Direction=In
429 // controls timing of chip select signals when DDR4 gear-down mode is active
430 // 0 - Leave delay of chip select timing group signal the same both before and after gear-down sync occurs
431 // 1 - Add 1UI of delay to chip select timing group signals when geardown-mode is active. This allows CS signals to have equal setup and hold time in gear-down mode
432 uint16_t RTT_NOM_WR_PARK0; // Byte offset 0x6e, CSR Addr 0x54037, Direction=In
433 // Optional RTT_NOM, RTT_WR and RTT_PARK values for rank 0 DRAM:
434 // RTT_NOM_WR_PARK0[0] = 1: Option is enable (otherwise, remaining bit fields are don't care)
435 // RTT_NOM_WR_PARK0[5:3]: Optional RTT_NOM value to be used in MR1[10:8] for rank 0
436 // RTT_NOM_WR_PARK0[11:9]: Optional RTT_WR value to be used in MR2[11:9] for rank 0
437 // RTT_NOM_WR_PARK0[8:6]: Optional RTT_PARK value to be used in MR5[8:6] for rank 0
438 uint16_t RTT_NOM_WR_PARK1; // Byte offset 0x70, CSR Addr 0x54038, Direction=In
439 // Optional RTT_NOM, RTT_WR and RTT_PARK values for rank 1 DRAM:
440 // RTT_NOM_WR_PARK1[0] = 1: Option is enable (otherwise, remaining bit fields are don't care)
441 // RTT_NOM_WR_PARK1[5:3]: Optional RTT_NOM value to be used in MR1[10:8] for rank 1
442 // RTT_NOM_WR_PARK1[11:9]: Optional RTT_WR value to be used in MR2[11:9] for rank 1
443 // RTT_NOM_WR_PARK1[8:6]: Optional RTT_PARK value to be used in MR5[8:6] for rank 1
444 uint16_t RTT_NOM_WR_PARK2; // Byte offset 0x72, CSR Addr 0x54039, Direction=In
445 // Optional RTT_NOM, RTT_WR and RTT_PARK values for rank 2 DRAM:
446 // RTT_NOM_WR_PARK2[0] = 1: Option is enable (otherwise, remaining bit fields are don't care)
447 // RTT_NOM_WR_PARK2[5:3]: Optional RTT_NOM value to be used in MR1[10:8] for rank 2
448 // RTT_NOM_WR_PARK2[11:9]: Optional RTT_WR value to be used in MR2[11:9] for rank 2
449 // RTT_NOM_WR_PARK2[8:6]: Optional RTT_PARK value to be used in MR5[8:6] for rank 2
450 uint16_t RTT_NOM_WR_PARK3; // Byte offset 0x74, CSR Addr 0x5403a, Direction=In
451 // Optional RTT_NOM, RTT_WR and RTT_PARK values for rank 3 DRAM:
452 // RTT_NOM_WR_PARK3[0] = 1: Option is enable (otherwise, remaining bit fields are don't care)
453 // RTT_NOM_WR_PARK3[5:3]: Optional RTT_NOM value to be used in MR1[10:8] for rank 3
454 // RTT_NOM_WR_PARK3[11:9]: Optional RTT_WR value to be used in MR2[11:9] for rank 3
455 // RTT_NOM_WR_PARK3[8:6]: Optional RTT_PARK value to be used in MR5[8:6] for rank 3
456 uint16_t RTT_NOM_WR_PARK4; // Byte offset 0x76, CSR Addr 0x5403b, Direction=In
457 // Optional RTT_NOM, RTT_WR and RTT_PARK values for rank 4 DRAM:
458 // RTT_NOM_WR_PARK4[0] = 1: Option is enable (otherwise, remaining bit fields are don't care)
459 // RTT_NOM_WR_PARK4[5:3]: Optional RTT_NOM value to be used in MR1[10:8] for rank 4
460 // RTT_NOM_WR_PARK4[11:9]: Optional RTT_WR value to be used in MR2[11:9] for rank 4
461 // RTT_NOM_WR_PARK4[8:6]: Optional RTT_PARK value to be used in MR5[8:6] for rank 4
462 uint16_t RTT_NOM_WR_PARK5; // Byte offset 0x78, CSR Addr 0x5403c, Direction=In
463 // Optional RTT_NOM, RTT_WR and RTT_PARK values for rank 5 DRAM:
464 // RTT_NOM_WR_PARK5[0] = 1: Option is enable (otherwise, remaining bit fields are don't care)
465 // RTT_NOM_WR_PARK5[5:3]: Optional RTT_NOM value to be used in MR1[10:8] for rank 5
466 // RTT_NOM_WR_PARK5[11:9]: Optional RTT_WR value to be used in MR2[11:9] for rank 5
467 // RTT_NOM_WR_PARK5[8:6]: Optional RTT_PARK value to be used in MR5[8:6] for rank 5
468 uint16_t RTT_NOM_WR_PARK6; // Byte offset 0x7a, CSR Addr 0x5403d, Direction=In
469 // Optional RTT_NOM, RTT_WR and RTT_PARK values for rank 6 DRAM:
470 // RTT_NOM_WR_PARK6[0] = 1: Option is enable (otherwise, remaining bit fields are don't care)
471 // RTT_NOM_WR_PARK6[5:3]: Optional RTT_NOM value to be used in MR1[10:8] for rank 6
472 // RTT_NOM_WR_PARK6[11:9]: Optional RTT_WR value to be used in MR2[11:9] for rank 6
473 // RTT_NOM_WR_PARK6[8:6]: Optional RTT_PARK value to be used in MR5[8:6] for rank 6
474 uint16_t RTT_NOM_WR_PARK7; // Byte offset 0x7c, CSR Addr 0x5403e, Direction=In
475 // Optional RTT_NOM, RTT_WR and RTT_PARK values for rank 7 DRAM:
476 // RTT_NOM_WR_PARK7[0] = 1: Option is enable (otherwise, remaining bit fields are don't care)
477 // RTT_NOM_WR_PARK7[5:3]: Optional RTT_NOM value to be used in MR1[10:8] for rank 7
478 // RTT_NOM_WR_PARK7[11:9]: Optional RTT_WR value to be used in MR2[11:9] for rank 7
479 // RTT_NOM_WR_PARK7[8:6]: Optional RTT_PARK value to be used in MR5[8:6] for rank 7
480 uint8_t AcsmOdtCtrl0; // Byte offset 0x7e, CSR Addr 0x5403f, Direction=In
481 // Odt pattern for accesses targeting rank 0. [3:0] is used for write ODT [7:4] is used for read ODT
482 uint8_t AcsmOdtCtrl1; // Byte offset 0x7f, CSR Addr 0x5403f, Direction=In
483 // Odt pattern for accesses targeting rank 1. [3:0] is used for write ODT [7:4] is used for read ODT
484 uint8_t AcsmOdtCtrl2; // Byte offset 0x80, CSR Addr 0x54040, Direction=In
485 // Odt pattern for accesses targeting rank 2. [3:0] is used for write ODT [7:4] is used for read ODT
486 uint8_t AcsmOdtCtrl3; // Byte offset 0x81, CSR Addr 0x54040, Direction=In
487 // Odt pattern for accesses targeting rank 3. [3:0] is used for write ODT [7:4] is used for read ODT
488 uint8_t AcsmOdtCtrl4; // Byte offset 0x82, CSR Addr 0x54041, Direction=In
489 // Odt pattern for accesses targeting rank 4. [3:0] is used for write ODT [7:4] is used for read ODT
490 uint8_t AcsmOdtCtrl5; // Byte offset 0x83, CSR Addr 0x54041, Direction=In
491 // Odt pattern for accesses targeting rank 5. [3:0] is used for write ODT [7:4] is used for read ODT
492 uint8_t AcsmOdtCtrl6; // Byte offset 0x84, CSR Addr 0x54042, Direction=In
493 // Odt pattern for accesses targeting rank 6. [3:0] is used for write ODT [7:4] is used for read ODT
494 uint8_t AcsmOdtCtrl7; // Byte offset 0x85, CSR Addr 0x54042, Direction=In
495 // Odt pattern for accesses targeting rank 7. [3:0] is used for write ODT [7:4] is used for read ODT
496 uint8_t VrefDqR0Nib0; // Byte offset 0x86, CSR Addr 0x54043, Direction=InOut
497 // VrefDq for rank 0 nibble 0. Specifies MR6[6:0]
498 uint8_t VrefDqR0Nib1; // Byte offset 0x87, CSR Addr 0x54043, Direction=InOut
499 // VrefDq for rank 0 nibble 1. Specifies MR6[6:0]. Identical to VrefDqR0Nib0 for x8 or x16 devices.
500 uint8_t VrefDqR0Nib2; // Byte offset 0x88, CSR Addr 0x54044, Direction=InOut
501 // VrefDq for rank 0 nibble 2. Specifies MR6[6:0]. Identical to VrefDqR0Nib0 for x16 devices.
502 uint8_t VrefDqR0Nib3; // Byte offset 0x89, CSR Addr 0x54044, Direction=InOut
503 // VrefDq for rank 0 nibble 3. Specifies MR6[6:0]. Identical to VrefDqR0Nib0 for x16 devices, or VrefDqR0Nib2 for x8 devices.
504 uint8_t VrefDqR0Nib4; // Byte offset 0x8a, CSR Addr 0x54045, Direction=InOut
505 // VrefDq for rank 0 nibble 4. Specifies MR6[6:0]
506 uint8_t VrefDqR0Nib5; // Byte offset 0x8b, CSR Addr 0x54045, Direction=InOut
507 // VrefDq for rank 0 nibble 5. Specifies MR6[6:0]. Identical to VrefDqR0Nib4 for x8 or x16 devices.
508 uint8_t VrefDqR0Nib6; // Byte offset 0x8c, CSR Addr 0x54046, Direction=InOut
509 // VrefDq for rank 0 nibble 6. Specifies MR6[6:0]. Identical to VrefDqR0Nib4 for x16 devices.
510 uint8_t VrefDqR0Nib7; // Byte offset 0x8d, CSR Addr 0x54046, Direction=InOut
511 // VrefDq for rank 0 nibble 7. Specifies MR6[6:0]. Identical to VrefDqR0Nib4 for x16 devices, or VrefDqR0Nib6 for x8 devices.
512 uint8_t VrefDqR0Nib8; // Byte offset 0x8e, CSR Addr 0x54047, Direction=InOut
513 // VrefDq for rank 0 nibble 8. Specifies MR6[6:0]
514 uint8_t VrefDqR0Nib9; // Byte offset 0x8f, CSR Addr 0x54047, Direction=InOut
515 // VrefDq for rank 0 nibble 9. Specifies MR6[6:0]. Identical to VrefDqR0Nib8 for x8 or x16 devices.
516 uint8_t VrefDqR0Nib10; // Byte offset 0x90, CSR Addr 0x54048, Direction=InOut
517 // VrefDq for rank 0 nibble 10. Specifies MR6[6:0]. Identical to VrefDqR0Nib8 for x16 devices.
518 uint8_t VrefDqR0Nib11; // Byte offset 0x91, CSR Addr 0x54048, Direction=InOut
519 // VrefDq for rank 0 nibble 11. Specifies MR6[6:0]. Identical to VrefDqR0Nib8 for x16 devices, or VrefDqR0Nib10 for x8 devices.
520 uint8_t VrefDqR0Nib12; // Byte offset 0x92, CSR Addr 0x54049, Direction=InOut
521 // VrefDq for rank 0 nibble 12. Specifies MR6[6:0]
522 uint8_t VrefDqR0Nib13; // Byte offset 0x93, CSR Addr 0x54049, Direction=InOut
523 // VrefDq for rank 0 nibble 13. Specifies MR6[6:0]. Identical to VrefDqR0Nib12 for x8 or x16 devices.
524 uint8_t VrefDqR0Nib14; // Byte offset 0x94, CSR Addr 0x5404a, Direction=InOut
525 // VrefDq for rank 0 nibble 14. Specifies MR6[6:0]. Identical to VrefDqR0Nib12 for x16 devices.
526 uint8_t VrefDqR0Nib15; // Byte offset 0x95, CSR Addr 0x5404a, Direction=InOut
527 // VrefDq for rank 0 nibble 15. Specifies MR6[6:0]. Identical to VrefDqR0Nib12 for x16 devices, or VrefDqR0Nib14 for x8 devices.
528 uint8_t VrefDqR0Nib16; // Byte offset 0x96, CSR Addr 0x5404b, Direction=InOut
529 // VrefDq for rank 0 nibble 16. Specifies MR6[6:0]
530 uint8_t VrefDqR0Nib17; // Byte offset 0x97, CSR Addr 0x5404b, Direction=InOut
531 // VrefDq for rank 0 nibble 17. Specifies MR6[6:0]. Identical to VrefDqR0Nib16 for x8 or x16 devices.
532 uint8_t VrefDqR0Nib18; // Byte offset 0x98, CSR Addr 0x5404c, Direction=InOut
533 // VrefDq for rank 0 nibble 18. Specifies MR6[6:0]. Identical to VrefDqR0Nib16 for x16 devices.
534 uint8_t VrefDqR0Nib19; // Byte offset 0x99, CSR Addr 0x5404c, Direction=InOut
535 // VrefDq for rank 0 nibble 19. Specifies MR6[6:0]. Identical to VrefDqR0Nib16 for x16 devices, or VrefDqR0Nib18 for x8 devices.
536 uint8_t VrefDqR1Nib0; // Byte offset 0x9a, CSR Addr 0x5404d, Direction=InOut
537 // VrefDq for rank 1 nibble 0. Specifies MR6[6:0]
538 uint8_t VrefDqR1Nib1; // Byte offset 0x9b, CSR Addr 0x5404d, Direction=InOut
539 // VrefDq for rank 1 nibble 1. Specifies MR6[6:0]. Identical to VrefDqR1Nib0 for x8 or x16 devices.
540 uint8_t VrefDqR1Nib2; // Byte offset 0x9c, CSR Addr 0x5404e, Direction=InOut
541 // VrefDq for rank 1 nibble 2. Specifies MR6[6:0]. Identical to VrefDqR1Nib0 for x16 devices.
542 uint8_t VrefDqR1Nib3; // Byte offset 0x9d, CSR Addr 0x5404e, Direction=InOut
543 // VrefDq for rank 1 nibble 3. Specifies MR6[6:0]. Identical to VrefDqR1Nib0 for x16 devices, or VrefDqR1Nib2 for x8 devices.
544 uint8_t VrefDqR1Nib4; // Byte offset 0x9e, CSR Addr 0x5404f, Direction=InOut
545 // VrefDq for rank 1 nibble 4. Specifies MR6[6:0]
546 uint8_t VrefDqR1Nib5; // Byte offset 0x9f, CSR Addr 0x5404f, Direction=InOut
547 // VrefDq for rank 1 nibble 5. Specifies MR6[6:0]. Identical to VrefDqR1Nib4 for x8 or x16 devices.
548 uint8_t VrefDqR1Nib6; // Byte offset 0xa0, CSR Addr 0x54050, Direction=InOut
549 // VrefDq for rank 1 nibble 6. Specifies MR6[6:0]. Identical to VrefDqR1Nib4 for x16 devices.
550 uint8_t VrefDqR1Nib7; // Byte offset 0xa1, CSR Addr 0x54050, Direction=InOut
551 // VrefDq for rank 1 nibble 7. Specifies MR6[6:0]. Identical to VrefDqR1Nib4 for x16 devices, or VrefDqR1Nib6 for x8 devices.
552 uint8_t VrefDqR1Nib8; // Byte offset 0xa2, CSR Addr 0x54051, Direction=InOut
553 // VrefDq for rank 1 nibble 8. Specifies MR6[6:0]
554 uint8_t VrefDqR1Nib9; // Byte offset 0xa3, CSR Addr 0x54051, Direction=InOut
555 // VrefDq for rank 1 nibble 9. Specifies MR6[6:0]. Identical to VrefDqR1Nib8 for x8 or x16 devices.
556 uint8_t VrefDqR1Nib10; // Byte offset 0xa4, CSR Addr 0x54052, Direction=InOut
557 // VrefDq for rank 1 nibble 10. Specifies MR6[6:0]. Identical to VrefDqR1Nib8 for x16 devices.
558 uint8_t VrefDqR1Nib11; // Byte offset 0xa5, CSR Addr 0x54052, Direction=InOut
559 // VrefDq for rank 1 nibble 11. Specifies MR6[6:0]. Identical to VrefDqR1Nib8 for x16 devices, or VrefDqR1Nib10 for x8 devices.
560 uint8_t VrefDqR1Nib12; // Byte offset 0xa6, CSR Addr 0x54053, Direction=InOut
561 // VrefDq for rank 1 nibble 12. Specifies MR6[6:0]
562 uint8_t VrefDqR1Nib13; // Byte offset 0xa7, CSR Addr 0x54053, Direction=InOut
563 // VrefDq for rank 1 nibble 13. Specifies MR6[6:0]. Identical to VrefDqR1Nib12 for x8 or x16 devices.
564 uint8_t VrefDqR1Nib14; // Byte offset 0xa8, CSR Addr 0x54054, Direction=InOut
565 // VrefDq for rank 1 nibble 14. Specifies MR6[6:0]. Identical to VrefDqR1Nib12 for x16 devices.
566 uint8_t VrefDqR1Nib15; // Byte offset 0xa9, CSR Addr 0x54054, Direction=InOut
567 // VrefDq for rank 1 nibble 15. Specifies MR6[6:0]. Identical to VrefDqR1Nib12 for x16 devices, or VrefDqR1Nib14 for x8 devices.
568 uint8_t VrefDqR1Nib16; // Byte offset 0xaa, CSR Addr 0x54055, Direction=InOut
569 // VrefDq for rank 1 nibble 16. Specifies MR6[6:0]
570 uint8_t VrefDqR1Nib17; // Byte offset 0xab, CSR Addr 0x54055, Direction=InOut
571 // VrefDq for rank 1 nibble 17. Specifies MR6[6:0]. Identical to VrefDqR1Nib16 for x8 or x16 devices.
572 uint8_t VrefDqR1Nib18; // Byte offset 0xac, CSR Addr 0x54056, Direction=InOut
573 // VrefDq for rank 1 nibble 18. Specifies MR6[6:0]. Identical to VrefDqR1Nib16 for x16 devices.
574 uint8_t VrefDqR1Nib19; // Byte offset 0xad, CSR Addr 0x54056, Direction=InOut
575 // VrefDq for rank 1 nibble 19. Specifies MR6[6:0]. Identical to VrefDqR1Nib16 for x16 devices, or VrefDqR1Nib18 for x8 devices.
576 uint8_t VrefDqR2Nib0; // Byte offset 0xae, CSR Addr 0x54057, Direction=InOut
577 // VrefDq for rank 2 nibble 0. Specifies MR6[6:0]
578 uint8_t VrefDqR2Nib1; // Byte offset 0xaf, CSR Addr 0x54057, Direction=InOut
579 // VrefDq for rank 2 nibble 1. Specifies MR6[6:0]. Identical to VrefDqR2Nib0 for x8 or x16 devices.
580 uint8_t VrefDqR2Nib2; // Byte offset 0xb0, CSR Addr 0x54058, Direction=InOut
581 // VrefDq for rank 2 nibble 2. Specifies MR6[6:0]. Identical to VrefDqR2Nib0 for x16 devices.
582 uint8_t VrefDqR2Nib3; // Byte offset 0xb1, CSR Addr 0x54058, Direction=InOut
583 // VrefDq for rank 2 nibble 3. Specifies MR6[6:0]. Identical to VrefDqR2Nib0 for x16 devices, or VrefDqR2Nib2 for x8 devices.
584 uint8_t VrefDqR2Nib4; // Byte offset 0xb2, CSR Addr 0x54059, Direction=InOut
585 // VrefDq for rank 2 nibble 4. Specifies MR6[6:0]
586 uint8_t VrefDqR2Nib5; // Byte offset 0xb3, CSR Addr 0x54059, Direction=InOut
587 // VrefDq for rank 2 nibble 5. Specifies MR6[6:0]. Identical to VrefDqR2Nib4 for x8 or x16 devices.
588 uint8_t VrefDqR2Nib6; // Byte offset 0xb4, CSR Addr 0x5405a, Direction=InOut
589 // VrefDq for rank 2 nibble 6. Specifies MR6[6:0]. Identical to VrefDqR2Nib4 for x16 devices.
590 uint8_t VrefDqR2Nib7; // Byte offset 0xb5, CSR Addr 0x5405a, Direction=InOut
591 // VrefDq for rank 2 nibble 7. Specifies MR6[6:0]. Identical to VrefDqR2Nib4 for x16 devices, or VrefDqR2Nib6 for x8 devices.
592 uint8_t VrefDqR2Nib8; // Byte offset 0xb6, CSR Addr 0x5405b, Direction=InOut
593 // VrefDq for rank 2 nibble 8. Specifies MR6[6:0]
594 uint8_t VrefDqR2Nib9; // Byte offset 0xb7, CSR Addr 0x5405b, Direction=InOut
595 // VrefDq for rank 2 nibble 9. Specifies MR6[6:0]. Identical to VrefDqR2Nib8 for x8 or x16 devices.
596 uint8_t VrefDqR2Nib10; // Byte offset 0xb8, CSR Addr 0x5405c, Direction=InOut
597 // VrefDq for rank 2 nibble 10. Specifies MR6[6:0]. Identical to VrefDqR2Nib8 for x16 devices.
598 uint8_t VrefDqR2Nib11; // Byte offset 0xb9, CSR Addr 0x5405c, Direction=InOut
599 // VrefDq for rank 2 nibble 11. Specifies MR6[6:0]. Identical to VrefDqR2Nib8 for x16 devices, or VrefDqR2Nib10 for x8 devices.
600 uint8_t VrefDqR2Nib12; // Byte offset 0xba, CSR Addr 0x5405d, Direction=InOut
601 // VrefDq for rank 2 nibble 12. Specifies MR6[6:0]
602 uint8_t VrefDqR2Nib13; // Byte offset 0xbb, CSR Addr 0x5405d, Direction=InOut
603 // VrefDq for rank 2 nibble 13. Specifies MR6[6:0]. Identical to VrefDqR2Nib12 for x8 or x16 devices.
604 uint8_t VrefDqR2Nib14; // Byte offset 0xbc, CSR Addr 0x5405e, Direction=InOut
605 // VrefDq for rank 2 nibble 14. Specifies MR6[6:0]. Identical to VrefDqR2Nib12 for x16 devices.
606 uint8_t VrefDqR2Nib15; // Byte offset 0xbd, CSR Addr 0x5405e, Direction=InOut
607 // VrefDq for rank 2 nibble 15. Specifies MR6[6:0]. Identical to VrefDqR2Nib12 for x16 devices, or VrefDqR2Nib14 for x8 devices.
608 uint8_t VrefDqR2Nib16; // Byte offset 0xbe, CSR Addr 0x5405f, Direction=InOut
609 // VrefDq for rank 2 nibble 16. Specifies MR6[6:0]
610 uint8_t VrefDqR2Nib17; // Byte offset 0xbf, CSR Addr 0x5405f, Direction=InOut
611 // VrefDq for rank 2 nibble 17. Specifies MR6[6:0]. Identical to VrefDqR2Nib16 for x8 or x16 devices.
612 uint8_t VrefDqR2Nib18; // Byte offset 0xc0, CSR Addr 0x54060, Direction=InOut
613 // VrefDq for rank 2 nibble 18. Specifies MR6[6:0]. Identical to VrefDqR2Nib16 for x16 devices.
614 uint8_t VrefDqR2Nib19; // Byte offset 0xc1, CSR Addr 0x54060, Direction=InOut
615 // VrefDq for rank 2 nibble 19. Specifies MR6[6:0]. Identical to VrefDqR2Nib16 for x16 devices, or VrefDqR2Nib18 for x8 devices.
616 uint8_t VrefDqR3Nib0; // Byte offset 0xc2, CSR Addr 0x54061, Direction=InOut
617 // VrefDq for rank 3 nibble 0. Specifies MR6[6:0]
618 uint8_t VrefDqR3Nib1; // Byte offset 0xc3, CSR Addr 0x54061, Direction=InOut
619 // VrefDq for rank 3 nibble 1. Specifies MR6[6:0]. Identical to VrefDqR3Nib0 for x8 or x16 devices.
620 uint8_t VrefDqR3Nib2; // Byte offset 0xc4, CSR Addr 0x54062, Direction=InOut
621 // VrefDq for rank 3 nibble 2. Specifies MR6[6:0]. Identical to VrefDqR3Nib0 for x16 devices.
622 uint8_t VrefDqR3Nib3; // Byte offset 0xc5, CSR Addr 0x54062, Direction=InOut
623 // VrefDq for rank 3 nibble 3. Specifies MR6[6:0]. Identical to VrefDqR3Nib0 for x16 devices, or VrefDqR3Nib2 for x8 devices.
624 uint8_t VrefDqR3Nib4; // Byte offset 0xc6, CSR Addr 0x54063, Direction=InOut
625 // VrefDq for rank 3 nibble 4. Specifies MR6[6:0]
626 uint8_t VrefDqR3Nib5; // Byte offset 0xc7, CSR Addr 0x54063, Direction=InOut
627 // VrefDq for rank 3 nibble 5. Specifies MR6[6:0]. Identical to VrefDqR3Nib4 for x8 or x16 devices.
628 uint8_t VrefDqR3Nib6; // Byte offset 0xc8, CSR Addr 0x54064, Direction=InOut
629 // VrefDq for rank 3 nibble 6. Specifies MR6[6:0]. Identical to VrefDqR3Nib4 for x16 devices.
630 uint8_t VrefDqR3Nib7; // Byte offset 0xc9, CSR Addr 0x54064, Direction=InOut
631 // VrefDq for rank 3 nibble 7. Specifies MR6[6:0]. Identical to VrefDqR3Nib4 for x16 devices, or VrefDqR3Nib6 for x8 devices.
632 uint8_t VrefDqR3Nib8; // Byte offset 0xca, CSR Addr 0x54065, Direction=InOut
633 // VrefDq for rank 3 nibble 8. Specifies MR6[6:0]
634 uint8_t VrefDqR3Nib9; // Byte offset 0xcb, CSR Addr 0x54065, Direction=InOut
635 // VrefDq for rank 3 nibble 9. Specifies MR6[6:0]. Identical to VrefDqR3Nib8 for x8 or x16 devices.
636 uint8_t VrefDqR3Nib10; // Byte offset 0xcc, CSR Addr 0x54066, Direction=InOut
637 // VrefDq for rank 3 nibble 10. Specifies MR6[6:0]. Identical to VrefDqR3Nib8 for x16 devices.
638 uint8_t VrefDqR3Nib11; // Byte offset 0xcd, CSR Addr 0x54066, Direction=InOut
639 // VrefDq for rank 3 nibble 11. Specifies MR6[6:0]. Identical to VrefDqR3Nib8 for x16 devices, or VrefDqR3Nib10 for x8 devices.
640 uint8_t VrefDqR3Nib12; // Byte offset 0xce, CSR Addr 0x54067, Direction=InOut
641 // VrefDq for rank 3 nibble 12. Specifies MR6[6:0]
642 uint8_t VrefDqR3Nib13; // Byte offset 0xcf, CSR Addr 0x54067, Direction=InOut
643 // VrefDq for rank 3 nibble 13. Specifies MR6[6:0]. Identical to VrefDqR3Nib12 for x8 or x16 devices.
644 uint8_t VrefDqR3Nib14; // Byte offset 0xd0, CSR Addr 0x54068, Direction=InOut
645 // VrefDq for rank 3 nibble 14. Specifies MR6[6:0]. Identical to VrefDqR3Nib12 for x16 devices.
646 uint8_t VrefDqR3Nib15; // Byte offset 0xd1, CSR Addr 0x54068, Direction=InOut
647 // VrefDq for rank 3 nibble 15. Specifies MR6[6:0]. Identical to VrefDqR3Nib12 for x16 devices, or VrefDqR3Nib14 for x8 devices.
648 uint8_t VrefDqR3Nib16; // Byte offset 0xd2, CSR Addr 0x54069, Direction=InOut
649 // VrefDq for rank 3 nibble 16. Specifies MR6[6:0]
650 uint8_t VrefDqR3Nib17; // Byte offset 0xd3, CSR Addr 0x54069, Direction=InOut
651 // VrefDq for rank 3 nibble 17. Specifies MR6[6:0]. Identical to VrefDqR3Nib16 for x8 or x16 devices.
652 uint8_t VrefDqR3Nib18; // Byte offset 0xd4, CSR Addr 0x5406a, Direction=InOut
653 // VrefDq for rank 3 nibble 18. Specifies MR6[6:0]. Identical to VrefDqR3Nib16 for x16 devices.
654 uint8_t VrefDqR3Nib19; // Byte offset 0xd5, CSR Addr 0x5406a, Direction=InOut
655 // VrefDq for rank 3 nibble 19. Specifies MR6[6:0]. Identical to VrefDqR3Nib16 for x16 devices, or VrefDqR3Nib18 for x8 devices.
656 uint8_t ReservedD6; // Byte offset 0xd6, CSR Addr 0x5406b, Direction=N/A
657
658 uint8_t ReservedD7; // Byte offset 0xd7, CSR Addr 0x5406b, Direction=N/A
659
660 uint8_t ReservedD8; // Byte offset 0xd8, CSR Addr 0x5406c, Direction=N/A
661
662 uint8_t ReservedD9; // Byte offset 0xd9, CSR Addr 0x5406c, Direction=N/A
663
664 uint8_t ReservedDA; // Byte offset 0xda, CSR Addr 0x5406d, Direction=N/A
665
666 uint8_t ReservedDB; // Byte offset 0xdb, CSR Addr 0x5406d, Direction=N/A
667
668 uint8_t ReservedDC; // Byte offset 0xdc, CSR Addr 0x5406e, Direction=N/A
669
670 uint8_t ReservedDD; // Byte offset 0xdd, CSR Addr 0x5406e, Direction=N/A
671
672 uint8_t ReservedDE; // Byte offset 0xde, CSR Addr 0x5406f, Direction=N/A
673
674 uint8_t ReservedDF; // Byte offset 0xdf, CSR Addr 0x5406f, Direction=N/A
675
676 uint8_t ReservedE0; // Byte offset 0xe0, CSR Addr 0x54070, Direction=N/A
677
678 uint8_t ReservedE1; // Byte offset 0xe1, CSR Addr 0x54070, Direction=N/A
679
680 uint8_t ReservedE2; // Byte offset 0xe2, CSR Addr 0x54071, Direction=N/A
681
682 uint8_t ReservedE3; // Byte offset 0xe3, CSR Addr 0x54071, Direction=N/A
683
684 uint8_t ReservedE4; // Byte offset 0xe4, CSR Addr 0x54072, Direction=N/A
685
686 uint8_t ReservedE5; // Byte offset 0xe5, CSR Addr 0x54072, Direction=N/A
687
688 uint8_t ReservedE6; // Byte offset 0xe6, CSR Addr 0x54073, Direction=N/A
689
690 uint8_t ReservedE7; // Byte offset 0xe7, CSR Addr 0x54073, Direction=N/A
691
692 uint8_t ReservedE8; // Byte offset 0xe8, CSR Addr 0x54074, Direction=N/A
693
694 uint8_t ReservedE9; // Byte offset 0xe9, CSR Addr 0x54074, Direction=N/A
695
696 uint8_t ReservedEA; // Byte offset 0xea, CSR Addr 0x54075, Direction=N/A
697
698 uint8_t ReservedEB; // Byte offset 0xeb, CSR Addr 0x54075, Direction=N/A
699
700 uint8_t ReservedEC; // Byte offset 0xec, CSR Addr 0x54076, Direction=N/A
701
702 uint8_t ReservedED; // Byte offset 0xed, CSR Addr 0x54076, Direction=N/A
703
704 uint8_t ReservedEE; // Byte offset 0xee, CSR Addr 0x54077, Direction=N/A
705
706 uint8_t ReservedEF; // Byte offset 0xef, CSR Addr 0x54077, Direction=N/A
707
708 uint8_t ReservedF0; // Byte offset 0xf0, CSR Addr 0x54078, Direction=N/A
709
710 uint8_t ReservedF1; // Byte offset 0xf1, CSR Addr 0x54078, Direction=N/A
711
712 uint8_t ReservedF2; // Byte offset 0xf2, CSR Addr 0x54079, Direction=N/A
713
714 uint8_t ReservedF3; // Byte offset 0xf3, CSR Addr 0x54079, Direction=N/A
715
716 uint8_t ReservedF4; // Byte offset 0xf4, CSR Addr 0x5407a, Direction=N/A
717
718 uint8_t ReservedF5; // Byte offset 0xf5, CSR Addr 0x5407a, Direction=N/A
719
720 uint8_t ReservedF6; // Byte offset 0xf6, CSR Addr 0x5407b, Direction=N/A
721
722 uint8_t ReservedF7; // Byte offset 0xf7, CSR Addr 0x5407b, Direction=N/A
723
724 uint8_t ReservedF8; // Byte offset 0xf8, CSR Addr 0x5407c, Direction=N/A
725
726 uint8_t ReservedF9; // Byte offset 0xf9, CSR Addr 0x5407c, Direction=N/A
727
728 uint8_t ReservedFA; // Byte offset 0xfa, CSR Addr 0x5407d, Direction=N/A
729
730 uint8_t ReservedFB; // Byte offset 0xfb, CSR Addr 0x5407d, Direction=N/A
731
732 uint8_t ReservedFC; // Byte offset 0xfc, CSR Addr 0x5407e, Direction=N/A
733
734 uint8_t ReservedFD; // Byte offset 0xfd, CSR Addr 0x5407e, Direction=N/A
735
736 uint8_t ReservedFE; // Byte offset 0xfe, CSR Addr 0x5407f, Direction=N/A
737
738 uint8_t ReservedFF; // Byte offset 0xff, CSR Addr 0x5407f, Direction=N/A
739
740 uint8_t Reserved100; // Byte offset 0x100, CSR Addr 0x54080, Direction=N/A
741
742 uint8_t Reserved101; // Byte offset 0x101, CSR Addr 0x54080, Direction=N/A
743
744 uint8_t Reserved102; // Byte offset 0x102, CSR Addr 0x54081, Direction=N/A
745
746 uint8_t Reserved103; // Byte offset 0x103, CSR Addr 0x54081, Direction=N/A
747
748 uint8_t Reserved104; // Byte offset 0x104, CSR Addr 0x54082, Direction=N/A
749
750 uint8_t Reserved105; // Byte offset 0x105, CSR Addr 0x54082, Direction=N/A
751
752 uint8_t Reserved106; // Byte offset 0x106, CSR Addr 0x54083, Direction=N/A
753
754 uint8_t Reserved107; // Byte offset 0x107, CSR Addr 0x54083, Direction=N/A
755
756 uint8_t Reserved108; // Byte offset 0x108, CSR Addr 0x54084, Direction=N/A
757
758 uint8_t Reserved109; // Byte offset 0x109, CSR Addr 0x54084, Direction=N/A
759
760 uint8_t Reserved10A; // Byte offset 0x10a, CSR Addr 0x54085, Direction=N/A
761
762 uint8_t Reserved10B; // Byte offset 0x10b, CSR Addr 0x54085, Direction=N/A
763
764 uint8_t Reserved10C; // Byte offset 0x10c, CSR Addr 0x54086, Direction=N/A
765
766 uint8_t Reserved10D; // Byte offset 0x10d, CSR Addr 0x54086, Direction=N/A
767
768 uint8_t Reserved10E; // Byte offset 0x10e, CSR Addr 0x54087, Direction=N/A
769
770 uint8_t Reserved10F; // Byte offset 0x10f, CSR Addr 0x54087, Direction=N/A
771
772 uint8_t Reserved110; // Byte offset 0x110, CSR Addr 0x54088, Direction=N/A
773
774 uint8_t Reserved111; // Byte offset 0x111, CSR Addr 0x54088, Direction=N/A
775
776 uint8_t Reserved112; // Byte offset 0x112, CSR Addr 0x54089, Direction=N/A
777
778 uint8_t Reserved113; // Byte offset 0x113, CSR Addr 0x54089, Direction=N/A
779
780 uint8_t Reserved114; // Byte offset 0x114, CSR Addr 0x5408a, Direction=N/A
781
782 uint8_t Reserved115; // Byte offset 0x115, CSR Addr 0x5408a, Direction=N/A
783
784 uint8_t Reserved116; // Byte offset 0x116, CSR Addr 0x5408b, Direction=N/A
785
786 uint8_t Reserved117; // Byte offset 0x117, CSR Addr 0x5408b, Direction=N/A
787
788 uint8_t Reserved118; // Byte offset 0x118, CSR Addr 0x5408c, Direction=N/A
789
790 uint8_t Reserved119; // Byte offset 0x119, CSR Addr 0x5408c, Direction=N/A
791
792 uint8_t Reserved11A; // Byte offset 0x11a, CSR Addr 0x5408d, Direction=N/A
793
794 uint8_t Reserved11B; // Byte offset 0x11b, CSR Addr 0x5408d, Direction=N/A
795
796 uint8_t Reserved11C; // Byte offset 0x11c, CSR Addr 0x5408e, Direction=N/A
797
798 uint8_t Reserved11D; // Byte offset 0x11d, CSR Addr 0x5408e, Direction=N/A
799
800 uint8_t Reserved11E; // Byte offset 0x11e, CSR Addr 0x5408f, Direction=N/A
801
802 uint8_t Reserved11F; // Byte offset 0x11f, CSR Addr 0x5408f, Direction=N/A
803
804 uint8_t Reserved120; // Byte offset 0x120, CSR Addr 0x54090, Direction=N/A
805
806 uint8_t Reserved121; // Byte offset 0x121, CSR Addr 0x54090, Direction=N/A
807
808 uint8_t Reserved122; // Byte offset 0x122, CSR Addr 0x54091, Direction=N/A
809
810 uint8_t Reserved123; // Byte offset 0x123, CSR Addr 0x54091, Direction=N/A
811
812 uint8_t Reserved124; // Byte offset 0x124, CSR Addr 0x54092, Direction=N/A
813
814 uint8_t Reserved125; // Byte offset 0x125, CSR Addr 0x54092, Direction=N/A
815
816 uint8_t Reserved126; // Byte offset 0x126, CSR Addr 0x54093, Direction=N/A
817
818 uint8_t Reserved127; // Byte offset 0x127, CSR Addr 0x54093, Direction=N/A
819
820 uint8_t Reserved128; // Byte offset 0x128, CSR Addr 0x54094, Direction=N/A
821
822 uint8_t Reserved129; // Byte offset 0x129, CSR Addr 0x54094, Direction=N/A
823
824 uint8_t Reserved12A; // Byte offset 0x12a, CSR Addr 0x54095, Direction=N/A
825
826 uint8_t Reserved12B; // Byte offset 0x12b, CSR Addr 0x54095, Direction=N/A
827
828 uint8_t Reserved12C; // Byte offset 0x12c, CSR Addr 0x54096, Direction=N/A
829
830 uint8_t Reserved12D; // Byte offset 0x12d, CSR Addr 0x54096, Direction=N/A
831
832 uint8_t Reserved12E; // Byte offset 0x12e, CSR Addr 0x54097, Direction=N/A
833
834 uint8_t Reserved12F; // Byte offset 0x12f, CSR Addr 0x54097, Direction=N/A
835
836 uint8_t Reserved130; // Byte offset 0x130, CSR Addr 0x54098, Direction=N/A
837
838 uint8_t Reserved131; // Byte offset 0x131, CSR Addr 0x54098, Direction=N/A
839
840 uint8_t Reserved132; // Byte offset 0x132, CSR Addr 0x54099, Direction=N/A
841
842 uint8_t Reserved133; // Byte offset 0x133, CSR Addr 0x54099, Direction=N/A
843
844 uint8_t Reserved134; // Byte offset 0x134, CSR Addr 0x5409a, Direction=N/A
845
846 uint8_t Reserved135; // Byte offset 0x135, CSR Addr 0x5409a, Direction=N/A
847
848 uint8_t Reserved136; // Byte offset 0x136, CSR Addr 0x5409b, Direction=N/A
849
850 uint8_t Reserved137; // Byte offset 0x137, CSR Addr 0x5409b, Direction=N/A
851
852 uint8_t Reserved138; // Byte offset 0x138, CSR Addr 0x5409c, Direction=N/A
853
854 uint8_t Reserved139; // Byte offset 0x139, CSR Addr 0x5409c, Direction=N/A
855
856 uint8_t Reserved13A; // Byte offset 0x13a, CSR Addr 0x5409d, Direction=N/A
857
858 uint8_t Reserved13B; // Byte offset 0x13b, CSR Addr 0x5409d, Direction=N/A
859
860 uint8_t Reserved13C; // Byte offset 0x13c, CSR Addr 0x5409e, Direction=N/A
861
862 uint8_t Reserved13D; // Byte offset 0x13d, CSR Addr 0x5409e, Direction=N/A
863
864 uint8_t Reserved13E; // Byte offset 0x13e, CSR Addr 0x5409f, Direction=N/A
865
866 uint8_t Reserved13F; // Byte offset 0x13f, CSR Addr 0x5409f, Direction=N/A
867
868 uint8_t Reserved140; // Byte offset 0x140, CSR Addr 0x540a0, Direction=N/A
869
870 uint8_t Reserved141; // Byte offset 0x141, CSR Addr 0x540a0, Direction=N/A
871
872 uint8_t Reserved142; // Byte offset 0x142, CSR Addr 0x540a1, Direction=N/A
873
874 uint8_t Reserved143; // Byte offset 0x143, CSR Addr 0x540a1, Direction=N/A
875
876 uint8_t Reserved144; // Byte offset 0x144, CSR Addr 0x540a2, Direction=N/A
877
878 uint8_t Reserved145; // Byte offset 0x145, CSR Addr 0x540a2, Direction=N/A
879
880 uint8_t Reserved146; // Byte offset 0x146, CSR Addr 0x540a3, Direction=N/A
881
882 uint8_t Reserved147; // Byte offset 0x147, CSR Addr 0x540a3, Direction=N/A
883
884 uint8_t Reserved148; // Byte offset 0x148, CSR Addr 0x540a4, Direction=N/A
885
886 uint8_t Reserved149; // Byte offset 0x149, CSR Addr 0x540a4, Direction=N/A
887
888 uint8_t Reserved14A; // Byte offset 0x14a, CSR Addr 0x540a5, Direction=N/A
889
890 uint8_t Reserved14B; // Byte offset 0x14b, CSR Addr 0x540a5, Direction=N/A
891
892 uint8_t Reserved14C; // Byte offset 0x14c, CSR Addr 0x540a6, Direction=N/A
893
894 uint8_t Reserved14D; // Byte offset 0x14d, CSR Addr 0x540a6, Direction=N/A
895
896 uint8_t Reserved14E; // Byte offset 0x14e, CSR Addr 0x540a7, Direction=N/A
897
898 uint8_t Reserved14F; // Byte offset 0x14f, CSR Addr 0x540a7, Direction=N/A
899
900 uint8_t Reserved150; // Byte offset 0x150, CSR Addr 0x540a8, Direction=N/A
901
902 uint8_t Reserved151; // Byte offset 0x151, CSR Addr 0x540a8, Direction=N/A
903
904 uint8_t Reserved152; // Byte offset 0x152, CSR Addr 0x540a9, Direction=N/A
905
906 uint8_t Reserved153; // Byte offset 0x153, CSR Addr 0x540a9, Direction=N/A
907
908 uint8_t Reserved154; // Byte offset 0x154, CSR Addr 0x540aa, Direction=N/A
909
910 uint8_t Reserved155; // Byte offset 0x155, CSR Addr 0x540aa, Direction=N/A
911
912 uint8_t Reserved156; // Byte offset 0x156, CSR Addr 0x540ab, Direction=N/A
913
914 uint8_t Reserved157; // Byte offset 0x157, CSR Addr 0x540ab, Direction=N/A
915
916 uint8_t Reserved158; // Byte offset 0x158, CSR Addr 0x540ac, Direction=N/A
917
918 uint8_t Reserved159; // Byte offset 0x159, CSR Addr 0x540ac, Direction=N/A
919
920 uint8_t Reserved15A; // Byte offset 0x15a, CSR Addr 0x540ad, Direction=N/A
921
922 uint8_t Reserved15B; // Byte offset 0x15b, CSR Addr 0x540ad, Direction=N/A
923
924 uint8_t Reserved15C; // Byte offset 0x15c, CSR Addr 0x540ae, Direction=N/A
925
926 uint8_t Reserved15D; // Byte offset 0x15d, CSR Addr 0x540ae, Direction=N/A
927
928 uint8_t Reserved15E; // Byte offset 0x15e, CSR Addr 0x540af, Direction=N/A
929
930 uint8_t Reserved15F; // Byte offset 0x15f, CSR Addr 0x540af, Direction=N/A
931
932 uint8_t Reserved160; // Byte offset 0x160, CSR Addr 0x540b0, Direction=N/A
933
934 uint8_t Reserved161; // Byte offset 0x161, CSR Addr 0x540b0, Direction=N/A
935
936 uint8_t Reserved162; // Byte offset 0x162, CSR Addr 0x540b1, Direction=N/A
937
938 uint8_t Reserved163; // Byte offset 0x163, CSR Addr 0x540b1, Direction=N/A
939
940 uint8_t Reserved164; // Byte offset 0x164, CSR Addr 0x540b2, Direction=N/A
941
942 uint8_t Reserved165; // Byte offset 0x165, CSR Addr 0x540b2, Direction=N/A
943
944 uint8_t Reserved166; // Byte offset 0x166, CSR Addr 0x540b3, Direction=N/A
945
946 uint8_t Reserved167; // Byte offset 0x167, CSR Addr 0x540b3, Direction=N/A
947
948 uint8_t Reserved168; // Byte offset 0x168, CSR Addr 0x540b4, Direction=N/A
949
950 uint8_t Reserved169; // Byte offset 0x169, CSR Addr 0x540b4, Direction=N/A
951
952 uint8_t Reserved16A; // Byte offset 0x16a, CSR Addr 0x540b5, Direction=N/A
953
954 uint8_t Reserved16B; // Byte offset 0x16b, CSR Addr 0x540b5, Direction=N/A
955
956 uint8_t Reserved16C; // Byte offset 0x16c, CSR Addr 0x540b6, Direction=N/A
957
958 uint8_t Reserved16D; // Byte offset 0x16d, CSR Addr 0x540b6, Direction=N/A
959
960 uint8_t Reserved16E; // Byte offset 0x16e, CSR Addr 0x540b7, Direction=N/A
961
962 uint8_t Reserved16F; // Byte offset 0x16f, CSR Addr 0x540b7, Direction=N/A
963
964 uint8_t Reserved170; // Byte offset 0x170, CSR Addr 0x540b8, Direction=N/A
965
966 uint8_t Reserved171; // Byte offset 0x171, CSR Addr 0x540b8, Direction=N/A
967
968 uint8_t Reserved172; // Byte offset 0x172, CSR Addr 0x540b9, Direction=N/A
969
970 uint8_t Reserved173; // Byte offset 0x173, CSR Addr 0x540b9, Direction=N/A
971
972 uint8_t Reserved174; // Byte offset 0x174, CSR Addr 0x540ba, Direction=N/A
973
974 uint8_t Reserved175; // Byte offset 0x175, CSR Addr 0x540ba, Direction=N/A
975
976 uint8_t Reserved176; // Byte offset 0x176, CSR Addr 0x540bb, Direction=N/A
977
978 uint8_t Reserved177; // Byte offset 0x177, CSR Addr 0x540bb, Direction=N/A
979
980 uint8_t Reserved178; // Byte offset 0x178, CSR Addr 0x540bc, Direction=N/A
981
982 uint8_t Reserved179; // Byte offset 0x179, CSR Addr 0x540bc, Direction=N/A
983
984 uint8_t Reserved17A; // Byte offset 0x17a, CSR Addr 0x540bd, Direction=N/A
985
986 uint8_t Reserved17B; // Byte offset 0x17b, CSR Addr 0x540bd, Direction=N/A
987
988 uint8_t Reserved17C; // Byte offset 0x17c, CSR Addr 0x540be, Direction=N/A
989
990 uint8_t Reserved17D; // Byte offset 0x17d, CSR Addr 0x540be, Direction=N/A
991
992 uint8_t Reserved17E; // Byte offset 0x17e, CSR Addr 0x540bf, Direction=N/A
993
994 uint8_t Reserved17F; // Byte offset 0x17f, CSR Addr 0x540bf, Direction=N/A
995
996 uint8_t Reserved180; // Byte offset 0x180, CSR Addr 0x540c0, Direction=N/A
997
998 uint8_t Reserved181; // Byte offset 0x181, CSR Addr 0x540c0, Direction=N/A
999
1000 uint8_t Reserved182; // Byte offset 0x182, CSR Addr 0x540c1, Direction=N/A
1001
1002 uint8_t Reserved183; // Byte offset 0x183, CSR Addr 0x540c1, Direction=N/A
1003
1004 uint8_t Reserved184; // Byte offset 0x184, CSR Addr 0x540c2, Direction=N/A
1005
1006 uint8_t Reserved185; // Byte offset 0x185, CSR Addr 0x540c2, Direction=N/A
1007
1008 uint8_t Reserved186; // Byte offset 0x186, CSR Addr 0x540c3, Direction=N/A
1009
1010 uint8_t Reserved187; // Byte offset 0x187, CSR Addr 0x540c3, Direction=N/A
1011
1012 uint8_t Reserved188; // Byte offset 0x188, CSR Addr 0x540c4, Direction=N/A
1013
1014 uint8_t Reserved189; // Byte offset 0x189, CSR Addr 0x540c4, Direction=N/A
1015
1016 uint8_t Reserved18A; // Byte offset 0x18a, CSR Addr 0x540c5, Direction=N/A
1017
1018 uint8_t Reserved18B; // Byte offset 0x18b, CSR Addr 0x540c5, Direction=N/A
1019
1020 uint8_t Reserved18C; // Byte offset 0x18c, CSR Addr 0x540c6, Direction=N/A
1021
1022 uint8_t Reserved18D; // Byte offset 0x18d, CSR Addr 0x540c6, Direction=N/A
1023
1024 uint8_t Reserved18E; // Byte offset 0x18e, CSR Addr 0x540c7, Direction=N/A
1025
1026 uint8_t Reserved18F; // Byte offset 0x18f, CSR Addr 0x540c7, Direction=N/A
1027
1028 uint8_t Reserved190; // Byte offset 0x190, CSR Addr 0x540c8, Direction=N/A
1029
1030 uint8_t Reserved191; // Byte offset 0x191, CSR Addr 0x540c8, Direction=N/A
1031
1032 uint8_t Reserved192; // Byte offset 0x192, CSR Addr 0x540c9, Direction=N/A
1033
1034 uint8_t Reserved193; // Byte offset 0x193, CSR Addr 0x540c9, Direction=N/A
1035
1036 uint8_t Reserved194; // Byte offset 0x194, CSR Addr 0x540ca, Direction=N/A
1037
1038 uint8_t Reserved195; // Byte offset 0x195, CSR Addr 0x540ca, Direction=N/A
1039
1040 uint8_t Reserved196; // Byte offset 0x196, CSR Addr 0x540cb, Direction=N/A
1041
1042 uint8_t Reserved197; // Byte offset 0x197, CSR Addr 0x540cb, Direction=N/A
1043
1044 uint8_t Reserved198; // Byte offset 0x198, CSR Addr 0x540cc, Direction=N/A
1045
1046 uint8_t Reserved199; // Byte offset 0x199, CSR Addr 0x540cc, Direction=N/A
1047
1048 uint8_t Reserved19A; // Byte offset 0x19a, CSR Addr 0x540cd, Direction=N/A
1049
1050 uint8_t Reserved19B; // Byte offset 0x19b, CSR Addr 0x540cd, Direction=N/A
1051
1052 uint8_t Reserved19C; // Byte offset 0x19c, CSR Addr 0x540ce, Direction=N/A
1053
1054 uint8_t Reserved19D; // Byte offset 0x19d, CSR Addr 0x540ce, Direction=N/A
1055
1056 uint8_t Reserved19E; // Byte offset 0x19e, CSR Addr 0x540cf, Direction=N/A
1057
1058 uint8_t Reserved19F; // Byte offset 0x19f, CSR Addr 0x540cf, Direction=N/A
1059
1060 uint8_t Reserved1A0; // Byte offset 0x1a0, CSR Addr 0x540d0, Direction=N/A
1061
1062 uint8_t Reserved1A1; // Byte offset 0x1a1, CSR Addr 0x540d0, Direction=N/A
1063
1064 uint8_t Reserved1A2; // Byte offset 0x1a2, CSR Addr 0x540d1, Direction=N/A
1065
1066 uint8_t Reserved1A3; // Byte offset 0x1a3, CSR Addr 0x540d1, Direction=N/A
1067
1068 uint8_t Reserved1A4; // Byte offset 0x1a4, CSR Addr 0x540d2, Direction=N/A
1069
1070 uint8_t Reserved1A5; // Byte offset 0x1a5, CSR Addr 0x540d2, Direction=N/A
1071
1072 uint8_t Reserved1A6; // Byte offset 0x1a6, CSR Addr 0x540d3, Direction=N/A
1073
1074 uint8_t Reserved1A7; // Byte offset 0x1a7, CSR Addr 0x540d3, Direction=N/A
1075
1076 uint8_t Reserved1A8; // Byte offset 0x1a8, CSR Addr 0x540d4, Direction=N/A
1077
1078 uint8_t Reserved1A9; // Byte offset 0x1a9, CSR Addr 0x540d4, Direction=N/A
1079
1080 uint8_t Reserved1AA; // Byte offset 0x1aa, CSR Addr 0x540d5, Direction=N/A
1081
1082 uint8_t Reserved1AB; // Byte offset 0x1ab, CSR Addr 0x540d5, Direction=N/A
1083
1084 uint8_t Reserved1AC; // Byte offset 0x1ac, CSR Addr 0x540d6, Direction=N/A
1085
1086 uint8_t Reserved1AD; // Byte offset 0x1ad, CSR Addr 0x540d6, Direction=N/A
1087
1088 uint8_t Reserved1AE; // Byte offset 0x1ae, CSR Addr 0x540d7, Direction=N/A
1089
1090 uint8_t Reserved1AF; // Byte offset 0x1af, CSR Addr 0x540d7, Direction=N/A
1091
1092 uint8_t Reserved1B0; // Byte offset 0x1b0, CSR Addr 0x540d8, Direction=N/A
1093
1094 uint8_t Reserved1B1; // Byte offset 0x1b1, CSR Addr 0x540d8, Direction=N/A
1095
1096 uint8_t Reserved1B2; // Byte offset 0x1b2, CSR Addr 0x540d9, Direction=N/A
1097
1098 uint8_t Reserved1B3; // Byte offset 0x1b3, CSR Addr 0x540d9, Direction=N/A
1099
1100 uint8_t Reserved1B4; // Byte offset 0x1b4, CSR Addr 0x540da, Direction=N/A
1101
1102 uint8_t Reserved1B5; // Byte offset 0x1b5, CSR Addr 0x540da, Direction=N/A
1103
1104 uint8_t Reserved1B6; // Byte offset 0x1b6, CSR Addr 0x540db, Direction=N/A
1105
1106 uint8_t Reserved1B7; // Byte offset 0x1b7, CSR Addr 0x540db, Direction=N/A
1107
1108 uint8_t Reserved1B8; // Byte offset 0x1b8, CSR Addr 0x540dc, Direction=N/A
1109
1110 uint8_t Reserved1B9; // Byte offset 0x1b9, CSR Addr 0x540dc, Direction=N/A
1111
1112 uint8_t Reserved1BA; // Byte offset 0x1ba, CSR Addr 0x540dd, Direction=N/A
1113
1114 uint8_t Reserved1BB; // Byte offset 0x1bb, CSR Addr 0x540dd, Direction=N/A
1115
1116 uint8_t Reserved1BC; // Byte offset 0x1bc, CSR Addr 0x540de, Direction=N/A
1117
1118 uint8_t Reserved1BD; // Byte offset 0x1bd, CSR Addr 0x540de, Direction=N/A
1119
1120 uint8_t Reserved1BE; // Byte offset 0x1be, CSR Addr 0x540df, Direction=N/A
1121
1122 uint8_t Reserved1BF; // Byte offset 0x1bf, CSR Addr 0x540df, Direction=N/A
1123
1124 uint8_t Reserved1C0; // Byte offset 0x1c0, CSR Addr 0x540e0, Direction=N/A
1125
1126 uint8_t Reserved1C1; // Byte offset 0x1c1, CSR Addr 0x540e0, Direction=N/A
1127
1128 uint8_t Reserved1C2; // Byte offset 0x1c2, CSR Addr 0x540e1, Direction=N/A
1129
1130 uint8_t Reserved1C3; // Byte offset 0x1c3, CSR Addr 0x540e1, Direction=N/A
1131
1132 uint8_t Reserved1C4; // Byte offset 0x1c4, CSR Addr 0x540e2, Direction=N/A
1133
1134 uint8_t Reserved1C5; // Byte offset 0x1c5, CSR Addr 0x540e2, Direction=N/A
1135
1136 uint8_t Reserved1C6; // Byte offset 0x1c6, CSR Addr 0x540e3, Direction=N/A
1137
1138 uint8_t Reserved1C7; // Byte offset 0x1c7, CSR Addr 0x540e3, Direction=N/A
1139
1140 uint8_t Reserved1C8; // Byte offset 0x1c8, CSR Addr 0x540e4, Direction=N/A
1141
1142 uint8_t Reserved1C9; // Byte offset 0x1c9, CSR Addr 0x540e4, Direction=N/A
1143
1144 uint8_t Reserved1CA; // Byte offset 0x1ca, CSR Addr 0x540e5, Direction=N/A
1145
1146 uint8_t Reserved1CB; // Byte offset 0x1cb, CSR Addr 0x540e5, Direction=N/A
1147
1148 uint8_t Reserved1CC; // Byte offset 0x1cc, CSR Addr 0x540e6, Direction=N/A
1149
1150 uint8_t Reserved1CD; // Byte offset 0x1cd, CSR Addr 0x540e6, Direction=N/A
1151
1152 uint8_t Reserved1CE; // Byte offset 0x1ce, CSR Addr 0x540e7, Direction=N/A
1153
1154 uint8_t Reserved1CF; // Byte offset 0x1cf, CSR Addr 0x540e7, Direction=N/A
1155
1156 uint8_t Reserved1D0; // Byte offset 0x1d0, CSR Addr 0x540e8, Direction=N/A
1157
1158 uint8_t Reserved1D1; // Byte offset 0x1d1, CSR Addr 0x540e8, Direction=N/A
1159
1160 uint8_t Reserved1D2; // Byte offset 0x1d2, CSR Addr 0x540e9, Direction=N/A
1161
1162 uint8_t Reserved1D3; // Byte offset 0x1d3, CSR Addr 0x540e9, Direction=N/A
1163
1164 uint8_t Reserved1D4; // Byte offset 0x1d4, CSR Addr 0x540ea, Direction=N/A
1165
1166 uint8_t Reserved1D5; // Byte offset 0x1d5, CSR Addr 0x540ea, Direction=N/A
1167
1168 uint8_t Reserved1D6; // Byte offset 0x1d6, CSR Addr 0x540eb, Direction=N/A
1169
1170 uint8_t Reserved1D7; // Byte offset 0x1d7, CSR Addr 0x540eb, Direction=N/A
1171
1172 uint8_t Reserved1D8; // Byte offset 0x1d8, CSR Addr 0x540ec, Direction=N/A
1173
1174 uint8_t Reserved1D9; // Byte offset 0x1d9, CSR Addr 0x540ec, Direction=N/A
1175
1176 uint8_t Reserved1DA; // Byte offset 0x1da, CSR Addr 0x540ed, Direction=N/A
1177
1178 uint8_t Reserved1DB; // Byte offset 0x1db, CSR Addr 0x540ed, Direction=N/A
1179
1180 uint8_t Reserved1DC; // Byte offset 0x1dc, CSR Addr 0x540ee, Direction=N/A
1181
1182 uint8_t Reserved1DD; // Byte offset 0x1dd, CSR Addr 0x540ee, Direction=N/A
1183
1184 uint8_t Reserved1DE; // Byte offset 0x1de, CSR Addr 0x540ef, Direction=N/A
1185
1186 uint8_t Reserved1DF; // Byte offset 0x1df, CSR Addr 0x540ef, Direction=N/A
1187
1188 uint8_t Reserved1E0; // Byte offset 0x1e0, CSR Addr 0x540f0, Direction=N/A
1189
1190 uint8_t Reserved1E1; // Byte offset 0x1e1, CSR Addr 0x540f0, Direction=N/A
1191
1192 uint8_t Reserved1E2; // Byte offset 0x1e2, CSR Addr 0x540f1, Direction=N/A
1193
1194 uint8_t Reserved1E3; // Byte offset 0x1e3, CSR Addr 0x540f1, Direction=N/A
1195
1196 uint8_t Reserved1E4; // Byte offset 0x1e4, CSR Addr 0x540f2, Direction=N/A
1197
1198 uint8_t Reserved1E5; // Byte offset 0x1e5, CSR Addr 0x540f2, Direction=N/A
1199
1200 uint8_t Reserved1E6; // Byte offset 0x1e6, CSR Addr 0x540f3, Direction=N/A
1201
1202 uint8_t Reserved1E7; // Byte offset 0x1e7, CSR Addr 0x540f3, Direction=N/A
1203
1204 uint8_t Reserved1E8; // Byte offset 0x1e8, CSR Addr 0x540f4, Direction=N/A
1205
1206 uint8_t Reserved1E9; // Byte offset 0x1e9, CSR Addr 0x540f4, Direction=N/A
1207
1208 uint8_t Reserved1EA; // Byte offset 0x1ea, CSR Addr 0x540f5, Direction=N/A
1209
1210 uint8_t Reserved1EB; // Byte offset 0x1eb, CSR Addr 0x540f5, Direction=N/A
1211
1212 uint8_t Reserved1EC; // Byte offset 0x1ec, CSR Addr 0x540f6, Direction=N/A
1213
1214 uint8_t Reserved1ED; // Byte offset 0x1ed, CSR Addr 0x540f6, Direction=N/A
1215
1216 uint8_t Reserved1EE; // Byte offset 0x1ee, CSR Addr 0x540f7, Direction=N/A
1217
1218 uint8_t Reserved1EF; // Byte offset 0x1ef, CSR Addr 0x540f7, Direction=N/A
1219
1220 uint8_t Reserved1F0; // Byte offset 0x1f0, CSR Addr 0x540f8, Direction=N/A
1221
1222 uint8_t Reserved1F1; // Byte offset 0x1f1, CSR Addr 0x540f8, Direction=N/A
1223
1224 uint8_t Reserved1F2; // Byte offset 0x1f2, CSR Addr 0x540f9, Direction=N/A
1225
1226 uint8_t Reserved1F3; // Byte offset 0x1f3, CSR Addr 0x540f9, Direction=N/A
1227
1228 uint8_t Reserved1F4; // Byte offset 0x1f4, CSR Addr 0x540fa, Direction=N/A
1229
1230 uint8_t Reserved1F5; // Byte offset 0x1f5, CSR Addr 0x540fa, Direction=N/A
1231
1232 uint8_t Reserved1F6; // Byte offset 0x1f6, CSR Addr 0x540fb, Direction=N/A
1233
1234 uint8_t Reserved1F7; // Byte offset 0x1f7, CSR Addr 0x540fb, Direction=N/A
1235
1236 uint8_t Reserved1F8; // Byte offset 0x1f8, CSR Addr 0x540fc, Direction=N/A
1237
1238 uint8_t Reserved1F9; // Byte offset 0x1f9, CSR Addr 0x540fc, Direction=N/A
1239
1240 uint8_t Reserved1FA; // Byte offset 0x1fa, CSR Addr 0x540fd, Direction=N/A
1241
1242 uint8_t Reserved1FB; // Byte offset 0x1fb, CSR Addr 0x540fd, Direction=N/A
1243
1244 uint8_t Reserved1FC; // Byte offset 0x1fc, CSR Addr 0x540fe, Direction=N/A
1245
1246 uint8_t Reserved1FD; // Byte offset 0x1fd, CSR Addr 0x540fe, Direction=N/A
1247
1248 uint8_t Reserved1FE; // Byte offset 0x1fe, CSR Addr 0x540ff, Direction=N/A
1249
1250 uint8_t Reserved1FF; // Byte offset 0x1ff, CSR Addr 0x540ff, Direction=N/A
1251
1252 uint8_t Reserved200; // Byte offset 0x200, CSR Addr 0x54100, Direction=N/A
1253
1254 uint8_t Reserved201; // Byte offset 0x201, CSR Addr 0x54100, Direction=N/A
1255
1256 uint8_t Reserved202; // Byte offset 0x202, CSR Addr 0x54101, Direction=N/A
1257
1258 uint8_t Reserved203; // Byte offset 0x203, CSR Addr 0x54101, Direction=N/A
1259
1260 uint8_t Reserved204; // Byte offset 0x204, CSR Addr 0x54102, Direction=N/A
1261
1262 uint8_t Reserved205; // Byte offset 0x205, CSR Addr 0x54102, Direction=N/A
1263
1264 uint8_t Reserved206; // Byte offset 0x206, CSR Addr 0x54103, Direction=N/A
1265
1266 uint8_t Reserved207; // Byte offset 0x207, CSR Addr 0x54103, Direction=N/A
1267
1268 uint8_t Reserved208; // Byte offset 0x208, CSR Addr 0x54104, Direction=N/A
1269
1270 uint8_t Reserved209; // Byte offset 0x209, CSR Addr 0x54104, Direction=N/A
1271
1272 uint8_t Reserved20A; // Byte offset 0x20a, CSR Addr 0x54105, Direction=N/A
1273
1274 uint8_t Reserved20B; // Byte offset 0x20b, CSR Addr 0x54105, Direction=N/A
1275
1276 uint8_t Reserved20C; // Byte offset 0x20c, CSR Addr 0x54106, Direction=N/A
1277
1278 uint8_t Reserved20D; // Byte offset 0x20d, CSR Addr 0x54106, Direction=N/A
1279
1280 uint8_t Reserved20E; // Byte offset 0x20e, CSR Addr 0x54107, Direction=N/A
1281
1282 uint8_t Reserved20F; // Byte offset 0x20f, CSR Addr 0x54107, Direction=N/A
1283
1284 uint8_t Reserved210; // Byte offset 0x210, CSR Addr 0x54108, Direction=N/A
1285
1286 uint8_t Reserved211; // Byte offset 0x211, CSR Addr 0x54108, Direction=N/A
1287
1288 uint8_t Reserved212; // Byte offset 0x212, CSR Addr 0x54109, Direction=N/A
1289
1290 uint8_t Reserved213; // Byte offset 0x213, CSR Addr 0x54109, Direction=N/A
1291
1292 uint8_t Reserved214; // Byte offset 0x214, CSR Addr 0x5410a, Direction=N/A
1293
1294 uint8_t Reserved215; // Byte offset 0x215, CSR Addr 0x5410a, Direction=N/A
1295
1296 uint8_t Reserved216; // Byte offset 0x216, CSR Addr 0x5410b, Direction=N/A
1297
1298 uint8_t Reserved217; // Byte offset 0x217, CSR Addr 0x5410b, Direction=N/A
1299
1300 uint8_t Reserved218; // Byte offset 0x218, CSR Addr 0x5410c, Direction=N/A
1301
1302 uint8_t Reserved219; // Byte offset 0x219, CSR Addr 0x5410c, Direction=N/A
1303
1304 uint8_t Reserved21A; // Byte offset 0x21a, CSR Addr 0x5410d, Direction=N/A
1305
1306 uint8_t Reserved21B; // Byte offset 0x21b, CSR Addr 0x5410d, Direction=N/A
1307
1308 uint8_t Reserved21C; // Byte offset 0x21c, CSR Addr 0x5410e, Direction=N/A
1309
1310 uint8_t Reserved21D; // Byte offset 0x21d, CSR Addr 0x5410e, Direction=N/A
1311
1312 uint8_t Reserved21E; // Byte offset 0x21e, CSR Addr 0x5410f, Direction=N/A
1313
1314 uint8_t Reserved21F; // Byte offset 0x21f, CSR Addr 0x5410f, Direction=N/A
1315
1316 uint8_t Reserved220; // Byte offset 0x220, CSR Addr 0x54110, Direction=N/A
1317
1318 uint8_t Reserved221; // Byte offset 0x221, CSR Addr 0x54110, Direction=N/A
1319
1320 uint8_t Reserved222; // Byte offset 0x222, CSR Addr 0x54111, Direction=N/A
1321
1322 uint8_t Reserved223; // Byte offset 0x223, CSR Addr 0x54111, Direction=N/A
1323
1324 uint8_t Reserved224; // Byte offset 0x224, CSR Addr 0x54112, Direction=N/A
1325
1326 uint8_t Reserved225; // Byte offset 0x225, CSR Addr 0x54112, Direction=N/A
1327
1328 uint8_t Reserved226; // Byte offset 0x226, CSR Addr 0x54113, Direction=N/A
1329
1330 uint8_t Reserved227; // Byte offset 0x227, CSR Addr 0x54113, Direction=N/A
1331
1332 uint8_t Reserved228; // Byte offset 0x228, CSR Addr 0x54114, Direction=N/A
1333
1334 uint8_t Reserved229; // Byte offset 0x229, CSR Addr 0x54114, Direction=N/A
1335
1336 uint8_t Reserved22A; // Byte offset 0x22a, CSR Addr 0x54115, Direction=N/A
1337
1338 uint8_t Reserved22B; // Byte offset 0x22b, CSR Addr 0x54115, Direction=N/A
1339
1340 uint8_t Reserved22C; // Byte offset 0x22c, CSR Addr 0x54116, Direction=N/A
1341
1342 uint8_t Reserved22D; // Byte offset 0x22d, CSR Addr 0x54116, Direction=N/A
1343
1344 uint8_t Reserved22E; // Byte offset 0x22e, CSR Addr 0x54117, Direction=N/A
1345
1346 uint8_t Reserved22F; // Byte offset 0x22f, CSR Addr 0x54117, Direction=N/A
1347
1348 uint8_t Reserved230; // Byte offset 0x230, CSR Addr 0x54118, Direction=N/A
1349
1350 uint8_t Reserved231; // Byte offset 0x231, CSR Addr 0x54118, Direction=N/A
1351
1352 uint8_t Reserved232; // Byte offset 0x232, CSR Addr 0x54119, Direction=N/A
1353
1354 uint8_t Reserved233; // Byte offset 0x233, CSR Addr 0x54119, Direction=N/A
1355
1356 uint8_t Reserved234; // Byte offset 0x234, CSR Addr 0x5411a, Direction=N/A
1357
1358 uint8_t Reserved235; // Byte offset 0x235, CSR Addr 0x5411a, Direction=N/A
1359
1360 uint8_t Reserved236; // Byte offset 0x236, CSR Addr 0x5411b, Direction=N/A
1361
1362 uint8_t Reserved237; // Byte offset 0x237, CSR Addr 0x5411b, Direction=N/A
1363
1364 uint8_t Reserved238; // Byte offset 0x238, CSR Addr 0x5411c, Direction=N/A
1365
1366 uint8_t Reserved239; // Byte offset 0x239, CSR Addr 0x5411c, Direction=N/A
1367
1368 uint8_t Reserved23A; // Byte offset 0x23a, CSR Addr 0x5411d, Direction=N/A
1369
1370 uint8_t Reserved23B; // Byte offset 0x23b, CSR Addr 0x5411d, Direction=N/A
1371
1372 uint8_t Reserved23C; // Byte offset 0x23c, CSR Addr 0x5411e, Direction=N/A
1373
1374 uint8_t Reserved23D; // Byte offset 0x23d, CSR Addr 0x5411e, Direction=N/A
1375
1376 uint8_t Reserved23E; // Byte offset 0x23e, CSR Addr 0x5411f, Direction=N/A
1377
1378 uint8_t Reserved23F; // Byte offset 0x23f, CSR Addr 0x5411f, Direction=N/A
1379
1380 uint8_t Reserved240; // Byte offset 0x240, CSR Addr 0x54120, Direction=N/A
1381
1382 uint8_t Reserved241; // Byte offset 0x241, CSR Addr 0x54120, Direction=N/A
1383
1384 uint8_t Reserved242; // Byte offset 0x242, CSR Addr 0x54121, Direction=N/A
1385
1386 uint8_t Reserved243; // Byte offset 0x243, CSR Addr 0x54121, Direction=N/A
1387
1388 uint8_t Reserved244; // Byte offset 0x244, CSR Addr 0x54122, Direction=N/A
1389
1390 uint8_t Reserved245; // Byte offset 0x245, CSR Addr 0x54122, Direction=N/A
1391
1392 uint8_t Reserved246; // Byte offset 0x246, CSR Addr 0x54123, Direction=N/A
1393
1394 uint8_t Reserved247; // Byte offset 0x247, CSR Addr 0x54123, Direction=N/A
1395
1396 uint8_t Reserved248; // Byte offset 0x248, CSR Addr 0x54124, Direction=N/A
1397
1398 uint8_t Reserved249; // Byte offset 0x249, CSR Addr 0x54124, Direction=N/A
1399
1400 uint8_t Reserved24A; // Byte offset 0x24a, CSR Addr 0x54125, Direction=N/A
1401
1402 uint8_t Reserved24B; // Byte offset 0x24b, CSR Addr 0x54125, Direction=N/A
1403
1404 uint8_t Reserved24C; // Byte offset 0x24c, CSR Addr 0x54126, Direction=N/A
1405
1406 uint8_t Reserved24D; // Byte offset 0x24d, CSR Addr 0x54126, Direction=N/A
1407
1408 uint8_t Reserved24E; // Byte offset 0x24e, CSR Addr 0x54127, Direction=N/A
1409
1410 uint8_t Reserved24F; // Byte offset 0x24f, CSR Addr 0x54127, Direction=N/A
1411
1412 uint8_t Reserved250; // Byte offset 0x250, CSR Addr 0x54128, Direction=N/A
1413
1414 uint8_t Reserved251; // Byte offset 0x251, CSR Addr 0x54128, Direction=N/A
1415
1416 uint8_t Reserved252; // Byte offset 0x252, CSR Addr 0x54129, Direction=N/A
1417
1418 uint8_t Reserved253; // Byte offset 0x253, CSR Addr 0x54129, Direction=N/A
1419
1420 uint8_t Reserved254; // Byte offset 0x254, CSR Addr 0x5412a, Direction=N/A
1421
1422 uint8_t Reserved255; // Byte offset 0x255, CSR Addr 0x5412a, Direction=N/A
1423
1424 uint8_t Reserved256; // Byte offset 0x256, CSR Addr 0x5412b, Direction=N/A
1425
1426 uint8_t Reserved257; // Byte offset 0x257, CSR Addr 0x5412b, Direction=N/A
1427
1428 uint8_t Reserved258; // Byte offset 0x258, CSR Addr 0x5412c, Direction=N/A
1429
1430 uint8_t Reserved259; // Byte offset 0x259, CSR Addr 0x5412c, Direction=N/A
1431
1432 uint8_t Reserved25A; // Byte offset 0x25a, CSR Addr 0x5412d, Direction=N/A
1433
1434 uint8_t Reserved25B; // Byte offset 0x25b, CSR Addr 0x5412d, Direction=N/A
1435
1436 uint8_t Reserved25C; // Byte offset 0x25c, CSR Addr 0x5412e, Direction=N/A
1437
1438 uint8_t Reserved25D; // Byte offset 0x25d, CSR Addr 0x5412e, Direction=N/A
1439
1440 uint8_t Reserved25E; // Byte offset 0x25e, CSR Addr 0x5412f, Direction=N/A
1441
1442 uint8_t Reserved25F; // Byte offset 0x25f, CSR Addr 0x5412f, Direction=N/A
1443
1444 uint8_t Reserved260; // Byte offset 0x260, CSR Addr 0x54130, Direction=N/A
1445
1446 uint8_t Reserved261; // Byte offset 0x261, CSR Addr 0x54130, Direction=N/A
1447
1448 uint8_t Reserved262; // Byte offset 0x262, CSR Addr 0x54131, Direction=N/A
1449
1450 uint8_t Reserved263; // Byte offset 0x263, CSR Addr 0x54131, Direction=N/A
1451
1452 uint8_t Reserved264; // Byte offset 0x264, CSR Addr 0x54132, Direction=N/A
1453
1454 uint8_t Reserved265; // Byte offset 0x265, CSR Addr 0x54132, Direction=N/A
1455
1456 uint8_t Reserved266; // Byte offset 0x266, CSR Addr 0x54133, Direction=N/A
1457
1458 uint8_t Reserved267; // Byte offset 0x267, CSR Addr 0x54133, Direction=N/A
1459
1460 uint8_t Reserved268; // Byte offset 0x268, CSR Addr 0x54134, Direction=N/A
1461
1462 uint8_t Reserved269; // Byte offset 0x269, CSR Addr 0x54134, Direction=N/A
1463
1464 uint8_t Reserved26A; // Byte offset 0x26a, CSR Addr 0x54135, Direction=N/A
1465
1466 uint8_t Reserved26B; // Byte offset 0x26b, CSR Addr 0x54135, Direction=N/A
1467
1468 uint8_t Reserved26C; // Byte offset 0x26c, CSR Addr 0x54136, Direction=N/A
1469
1470 uint8_t Reserved26D; // Byte offset 0x26d, CSR Addr 0x54136, Direction=N/A
1471
1472 uint8_t Reserved26E; // Byte offset 0x26e, CSR Addr 0x54137, Direction=N/A
1473
1474 uint8_t Reserved26F; // Byte offset 0x26f, CSR Addr 0x54137, Direction=N/A
1475
1476 uint8_t Reserved270; // Byte offset 0x270, CSR Addr 0x54138, Direction=N/A
1477
1478 uint8_t Reserved271; // Byte offset 0x271, CSR Addr 0x54138, Direction=N/A
1479
1480 uint8_t Reserved272; // Byte offset 0x272, CSR Addr 0x54139, Direction=N/A
1481
1482 uint8_t Reserved273; // Byte offset 0x273, CSR Addr 0x54139, Direction=N/A
1483
1484 uint8_t Reserved274; // Byte offset 0x274, CSR Addr 0x5413a, Direction=N/A
1485
1486 uint8_t Reserved275; // Byte offset 0x275, CSR Addr 0x5413a, Direction=N/A
1487
1488 uint8_t Reserved276; // Byte offset 0x276, CSR Addr 0x5413b, Direction=N/A
1489
1490 uint8_t Reserved277; // Byte offset 0x277, CSR Addr 0x5413b, Direction=N/A
1491
1492 uint8_t Reserved278; // Byte offset 0x278, CSR Addr 0x5413c, Direction=N/A
1493
1494 uint8_t Reserved279; // Byte offset 0x279, CSR Addr 0x5413c, Direction=N/A
1495
1496 uint8_t Reserved27A; // Byte offset 0x27a, CSR Addr 0x5413d, Direction=N/A
1497
1498 uint8_t Reserved27B; // Byte offset 0x27b, CSR Addr 0x5413d, Direction=N/A
1499
1500 uint8_t Reserved27C; // Byte offset 0x27c, CSR Addr 0x5413e, Direction=N/A
1501
1502 uint8_t Reserved27D; // Byte offset 0x27d, CSR Addr 0x5413e, Direction=N/A
1503
1504 uint8_t Reserved27E; // Byte offset 0x27e, CSR Addr 0x5413f, Direction=N/A
1505
1506 uint8_t Reserved27F; // Byte offset 0x27f, CSR Addr 0x5413f, Direction=N/A
1507
1508 uint8_t Reserved280; // Byte offset 0x280, CSR Addr 0x54140, Direction=N/A
1509
1510 uint8_t Reserved281; // Byte offset 0x281, CSR Addr 0x54140, Direction=N/A
1511
1512 uint8_t Reserved282; // Byte offset 0x282, CSR Addr 0x54141, Direction=N/A
1513
1514 uint8_t Reserved283; // Byte offset 0x283, CSR Addr 0x54141, Direction=N/A
1515
1516 uint8_t Reserved284; // Byte offset 0x284, CSR Addr 0x54142, Direction=N/A
1517
1518 uint8_t Reserved285; // Byte offset 0x285, CSR Addr 0x54142, Direction=N/A
1519
1520 uint8_t Reserved286; // Byte offset 0x286, CSR Addr 0x54143, Direction=N/A
1521
1522 uint8_t Reserved287; // Byte offset 0x287, CSR Addr 0x54143, Direction=N/A
1523
1524 uint8_t Reserved288; // Byte offset 0x288, CSR Addr 0x54144, Direction=N/A
1525
1526 uint8_t Reserved289; // Byte offset 0x289, CSR Addr 0x54144, Direction=N/A
1527
1528 uint8_t Reserved28A; // Byte offset 0x28a, CSR Addr 0x54145, Direction=N/A
1529
1530 uint8_t Reserved28B; // Byte offset 0x28b, CSR Addr 0x54145, Direction=N/A
1531
1532 uint8_t Reserved28C; // Byte offset 0x28c, CSR Addr 0x54146, Direction=N/A
1533
1534 uint8_t Reserved28D; // Byte offset 0x28d, CSR Addr 0x54146, Direction=N/A
1535
1536 uint8_t Reserved28E; // Byte offset 0x28e, CSR Addr 0x54147, Direction=N/A
1537
1538 uint8_t Reserved28F; // Byte offset 0x28f, CSR Addr 0x54147, Direction=N/A
1539
1540 uint8_t Reserved290; // Byte offset 0x290, CSR Addr 0x54148, Direction=N/A
1541
1542 uint8_t Reserved291; // Byte offset 0x291, CSR Addr 0x54148, Direction=N/A
1543
1544 uint8_t Reserved292; // Byte offset 0x292, CSR Addr 0x54149, Direction=N/A
1545
1546 uint8_t Reserved293; // Byte offset 0x293, CSR Addr 0x54149, Direction=N/A
1547
1548 uint8_t Reserved294; // Byte offset 0x294, CSR Addr 0x5414a, Direction=N/A
1549
1550 uint8_t Reserved295; // Byte offset 0x295, CSR Addr 0x5414a, Direction=N/A
1551
1552 uint8_t Reserved296; // Byte offset 0x296, CSR Addr 0x5414b, Direction=N/A
1553
1554 uint8_t Reserved297; // Byte offset 0x297, CSR Addr 0x5414b, Direction=N/A
1555
1556 uint8_t Reserved298; // Byte offset 0x298, CSR Addr 0x5414c, Direction=N/A
1557
1558 uint8_t Reserved299; // Byte offset 0x299, CSR Addr 0x5414c, Direction=N/A
1559
1560 uint8_t Reserved29A; // Byte offset 0x29a, CSR Addr 0x5414d, Direction=N/A
1561
1562 uint8_t Reserved29B; // Byte offset 0x29b, CSR Addr 0x5414d, Direction=N/A
1563
1564 uint8_t Reserved29C; // Byte offset 0x29c, CSR Addr 0x5414e, Direction=N/A
1565
1566 uint8_t Reserved29D; // Byte offset 0x29d, CSR Addr 0x5414e, Direction=N/A
1567
1568 uint8_t Reserved29E; // Byte offset 0x29e, CSR Addr 0x5414f, Direction=N/A
1569
1570 uint8_t Reserved29F; // Byte offset 0x29f, CSR Addr 0x5414f, Direction=N/A
1571
1572 uint8_t Reserved2A0; // Byte offset 0x2a0, CSR Addr 0x54150, Direction=N/A
1573
1574 uint8_t Reserved2A1; // Byte offset 0x2a1, CSR Addr 0x54150, Direction=N/A
1575
1576 uint8_t Reserved2A2; // Byte offset 0x2a2, CSR Addr 0x54151, Direction=N/A
1577
1578 uint8_t Reserved2A3; // Byte offset 0x2a3, CSR Addr 0x54151, Direction=N/A
1579
1580 uint8_t Reserved2A4; // Byte offset 0x2a4, CSR Addr 0x54152, Direction=N/A
1581
1582 uint8_t Reserved2A5; // Byte offset 0x2a5, CSR Addr 0x54152, Direction=N/A
1583
1584 uint8_t Reserved2A6; // Byte offset 0x2a6, CSR Addr 0x54153, Direction=N/A
1585
1586 uint8_t Reserved2A7; // Byte offset 0x2a7, CSR Addr 0x54153, Direction=N/A
1587
1588 uint8_t Reserved2A8; // Byte offset 0x2a8, CSR Addr 0x54154, Direction=N/A
1589
1590 uint8_t Reserved2A9; // Byte offset 0x2a9, CSR Addr 0x54154, Direction=N/A
1591
1592 uint8_t Reserved2AA; // Byte offset 0x2aa, CSR Addr 0x54155, Direction=N/A
1593
1594 uint8_t Reserved2AB; // Byte offset 0x2ab, CSR Addr 0x54155, Direction=N/A
1595
1596 uint8_t Reserved2AC; // Byte offset 0x2ac, CSR Addr 0x54156, Direction=N/A
1597
1598 uint8_t Reserved2AD; // Byte offset 0x2ad, CSR Addr 0x54156, Direction=N/A
1599
1600 uint8_t Reserved2AE; // Byte offset 0x2ae, CSR Addr 0x54157, Direction=N/A
1601
1602 uint8_t Reserved2AF; // Byte offset 0x2af, CSR Addr 0x54157, Direction=N/A
1603
1604 uint8_t Reserved2B0; // Byte offset 0x2b0, CSR Addr 0x54158, Direction=N/A
1605
1606 uint8_t Reserved2B1; // Byte offset 0x2b1, CSR Addr 0x54158, Direction=N/A
1607
1608 uint8_t Reserved2B2; // Byte offset 0x2b2, CSR Addr 0x54159, Direction=N/A
1609
1610 uint8_t Reserved2B3; // Byte offset 0x2b3, CSR Addr 0x54159, Direction=N/A
1611
1612 uint8_t Reserved2B4; // Byte offset 0x2b4, CSR Addr 0x5415a, Direction=N/A
1613
1614 uint8_t Reserved2B5; // Byte offset 0x2b5, CSR Addr 0x5415a, Direction=N/A
1615
1616 uint8_t Reserved2B6; // Byte offset 0x2b6, CSR Addr 0x5415b, Direction=N/A
1617
1618 uint8_t Reserved2B7; // Byte offset 0x2b7, CSR Addr 0x5415b, Direction=N/A
1619
1620 uint8_t Reserved2B8; // Byte offset 0x2b8, CSR Addr 0x5415c, Direction=N/A
1621
1622 uint8_t Reserved2B9; // Byte offset 0x2b9, CSR Addr 0x5415c, Direction=N/A
1623
1624 uint8_t Reserved2BA; // Byte offset 0x2ba, CSR Addr 0x5415d, Direction=N/A
1625
1626 uint8_t Reserved2BB; // Byte offset 0x2bb, CSR Addr 0x5415d, Direction=N/A
1627
1628 uint8_t Reserved2BC; // Byte offset 0x2bc, CSR Addr 0x5415e, Direction=N/A
1629
1630 uint8_t Reserved2BD; // Byte offset 0x2bd, CSR Addr 0x5415e, Direction=N/A
1631
1632 uint8_t Reserved2BE; // Byte offset 0x2be, CSR Addr 0x5415f, Direction=N/A
1633
1634 uint8_t Reserved2BF; // Byte offset 0x2bf, CSR Addr 0x5415f, Direction=N/A
1635
1636 uint8_t Reserved2C0; // Byte offset 0x2c0, CSR Addr 0x54160, Direction=N/A
1637
1638 uint8_t Reserved2C1; // Byte offset 0x2c1, CSR Addr 0x54160, Direction=N/A
1639
1640 uint8_t Reserved2C2; // Byte offset 0x2c2, CSR Addr 0x54161, Direction=N/A
1641
1642 uint8_t Reserved2C3; // Byte offset 0x2c3, CSR Addr 0x54161, Direction=N/A
1643
1644 uint8_t Reserved2C4; // Byte offset 0x2c4, CSR Addr 0x54162, Direction=N/A
1645
1646 uint8_t Reserved2C5; // Byte offset 0x2c5, CSR Addr 0x54162, Direction=N/A
1647
1648 uint8_t Reserved2C6; // Byte offset 0x2c6, CSR Addr 0x54163, Direction=N/A
1649
1650 uint8_t Reserved2C7; // Byte offset 0x2c7, CSR Addr 0x54163, Direction=N/A
1651
1652 uint8_t Reserved2C8; // Byte offset 0x2c8, CSR Addr 0x54164, Direction=N/A
1653
1654 uint8_t Reserved2C9; // Byte offset 0x2c9, CSR Addr 0x54164, Direction=N/A
1655
1656 uint8_t Reserved2CA; // Byte offset 0x2ca, CSR Addr 0x54165, Direction=N/A
1657
1658 uint8_t Reserved2CB; // Byte offset 0x2cb, CSR Addr 0x54165, Direction=N/A
1659
1660 uint8_t Reserved2CC; // Byte offset 0x2cc, CSR Addr 0x54166, Direction=N/A
1661
1662 uint8_t Reserved2CD; // Byte offset 0x2cd, CSR Addr 0x54166, Direction=N/A
1663
1664 uint8_t Reserved2CE; // Byte offset 0x2ce, CSR Addr 0x54167, Direction=N/A
1665
1666 uint8_t Reserved2CF; // Byte offset 0x2cf, CSR Addr 0x54167, Direction=N/A
1667
1668 uint8_t Reserved2D0; // Byte offset 0x2d0, CSR Addr 0x54168, Direction=N/A
1669
1670 uint8_t Reserved2D1; // Byte offset 0x2d1, CSR Addr 0x54168, Direction=N/A
1671
1672 uint8_t Reserved2D2; // Byte offset 0x2d2, CSR Addr 0x54169, Direction=N/A
1673
1674 uint8_t Reserved2D3; // Byte offset 0x2d3, CSR Addr 0x54169, Direction=N/A
1675
1676 uint8_t Reserved2D4; // Byte offset 0x2d4, CSR Addr 0x5416a, Direction=N/A
1677
1678 uint8_t Reserved2D5; // Byte offset 0x2d5, CSR Addr 0x5416a, Direction=N/A
1679
1680 uint8_t Reserved2D6; // Byte offset 0x2d6, CSR Addr 0x5416b, Direction=N/A
1681
1682 uint8_t Reserved2D7; // Byte offset 0x2d7, CSR Addr 0x5416b, Direction=N/A
1683
1684 uint8_t Reserved2D8; // Byte offset 0x2d8, CSR Addr 0x5416c, Direction=N/A
1685
1686 uint8_t Reserved2D9; // Byte offset 0x2d9, CSR Addr 0x5416c, Direction=N/A
1687
1688 uint8_t Reserved2DA; // Byte offset 0x2da, CSR Addr 0x5416d, Direction=N/A
1689
1690 uint8_t Reserved2DB; // Byte offset 0x2db, CSR Addr 0x5416d, Direction=N/A
1691
1692 uint8_t Reserved2DC; // Byte offset 0x2dc, CSR Addr 0x5416e, Direction=N/A
1693
1694 uint8_t Reserved2DD; // Byte offset 0x2dd, CSR Addr 0x5416e, Direction=N/A
1695
1696 uint8_t Reserved2DE; // Byte offset 0x2de, CSR Addr 0x5416f, Direction=N/A
1697
1698 uint8_t Reserved2DF; // Byte offset 0x2df, CSR Addr 0x5416f, Direction=N/A
1699
1700 uint8_t Reserved2E0; // Byte offset 0x2e0, CSR Addr 0x54170, Direction=N/A
1701
1702 uint8_t Reserved2E1; // Byte offset 0x2e1, CSR Addr 0x54170, Direction=N/A
1703
1704 uint8_t Reserved2E2; // Byte offset 0x2e2, CSR Addr 0x54171, Direction=N/A
1705
1706 uint8_t Reserved2E3; // Byte offset 0x2e3, CSR Addr 0x54171, Direction=N/A
1707
1708 uint8_t Reserved2E4; // Byte offset 0x2e4, CSR Addr 0x54172, Direction=N/A
1709
1710 uint8_t Reserved2E5; // Byte offset 0x2e5, CSR Addr 0x54172, Direction=N/A
1711
1712 uint8_t Reserved2E6; // Byte offset 0x2e6, CSR Addr 0x54173, Direction=N/A
1713
1714 uint8_t Reserved2E7; // Byte offset 0x2e7, CSR Addr 0x54173, Direction=N/A
1715
1716 uint8_t Reserved2E8; // Byte offset 0x2e8, CSR Addr 0x54174, Direction=N/A
1717
1718 uint8_t Reserved2E9; // Byte offset 0x2e9, CSR Addr 0x54174, Direction=N/A
1719
1720 uint8_t Reserved2EA; // Byte offset 0x2ea, CSR Addr 0x54175, Direction=N/A
1721
1722 uint8_t Reserved2EB; // Byte offset 0x2eb, CSR Addr 0x54175, Direction=N/A
1723
1724 uint8_t Reserved2EC; // Byte offset 0x2ec, CSR Addr 0x54176, Direction=N/A
1725
1726 uint8_t Reserved2ED; // Byte offset 0x2ed, CSR Addr 0x54176, Direction=N/A
1727
1728 uint8_t Reserved2EE; // Byte offset 0x2ee, CSR Addr 0x54177, Direction=N/A
1729
1730 uint8_t Reserved2EF; // Byte offset 0x2ef, CSR Addr 0x54177, Direction=N/A
1731
1732 uint8_t Reserved2F0; // Byte offset 0x2f0, CSR Addr 0x54178, Direction=N/A
1733
1734 uint8_t Reserved2F1; // Byte offset 0x2f1, CSR Addr 0x54178, Direction=N/A
1735
1736 uint8_t Reserved2F2; // Byte offset 0x2f2, CSR Addr 0x54179, Direction=N/A
1737
1738 uint8_t Reserved2F3; // Byte offset 0x2f3, CSR Addr 0x54179, Direction=N/A
1739
1740 uint8_t Reserved2F4; // Byte offset 0x2f4, CSR Addr 0x5417a, Direction=N/A
1741
1742 uint8_t Reserved2F5; // Byte offset 0x2f5, CSR Addr 0x5417a, Direction=N/A
1743
1744 uint8_t Reserved2F6; // Byte offset 0x2f6, CSR Addr 0x5417b, Direction=N/A
1745
1746 uint8_t Reserved2F7; // Byte offset 0x2f7, CSR Addr 0x5417b, Direction=N/A
1747
1748 uint8_t Reserved2F8; // Byte offset 0x2f8, CSR Addr 0x5417c, Direction=N/A
1749
1750 uint8_t Reserved2F9; // Byte offset 0x2f9, CSR Addr 0x5417c, Direction=N/A
1751
1752 uint8_t Reserved2FA; // Byte offset 0x2fa, CSR Addr 0x5417d, Direction=N/A
1753
1754 uint8_t Reserved2FB; // Byte offset 0x2fb, CSR Addr 0x5417d, Direction=N/A
1755
1756 uint8_t Reserved2FC; // Byte offset 0x2fc, CSR Addr 0x5417e, Direction=N/A
1757
1758 uint8_t Reserved2FD; // Byte offset 0x2fd, CSR Addr 0x5417e, Direction=N/A
1759
1760 uint8_t Reserved2FE; // Byte offset 0x2fe, CSR Addr 0x5417f, Direction=N/A
1761
1762 uint8_t Reserved2FF; // Byte offset 0x2ff, CSR Addr 0x5417f, Direction=N/A
1763
1764 uint8_t Reserved300; // Byte offset 0x300, CSR Addr 0x54180, Direction=N/A
1765
1766 uint8_t Reserved301; // Byte offset 0x301, CSR Addr 0x54180, Direction=N/A
1767
1768 uint8_t Reserved302; // Byte offset 0x302, CSR Addr 0x54181, Direction=N/A
1769
1770 uint8_t Reserved303; // Byte offset 0x303, CSR Addr 0x54181, Direction=N/A
1771
1772 uint8_t Reserved304; // Byte offset 0x304, CSR Addr 0x54182, Direction=N/A
1773
1774 uint8_t Reserved305; // Byte offset 0x305, CSR Addr 0x54182, Direction=N/A
1775
1776 uint8_t Reserved306; // Byte offset 0x306, CSR Addr 0x54183, Direction=N/A
1777
1778 uint8_t Reserved307; // Byte offset 0x307, CSR Addr 0x54183, Direction=N/A
1779
1780 uint8_t Reserved308; // Byte offset 0x308, CSR Addr 0x54184, Direction=N/A
1781
1782 uint8_t Reserved309; // Byte offset 0x309, CSR Addr 0x54184, Direction=N/A
1783
1784 uint8_t Reserved30A; // Byte offset 0x30a, CSR Addr 0x54185, Direction=N/A
1785
1786 uint8_t Reserved30B; // Byte offset 0x30b, CSR Addr 0x54185, Direction=N/A
1787
1788 uint8_t Reserved30C; // Byte offset 0x30c, CSR Addr 0x54186, Direction=N/A
1789
1790 uint8_t Reserved30D; // Byte offset 0x30d, CSR Addr 0x54186, Direction=N/A
1791
1792 uint8_t Reserved30E; // Byte offset 0x30e, CSR Addr 0x54187, Direction=N/A
1793
1794 uint8_t Reserved30F; // Byte offset 0x30f, CSR Addr 0x54187, Direction=N/A
1795
1796 uint8_t Reserved310; // Byte offset 0x310, CSR Addr 0x54188, Direction=N/A
1797
1798 uint8_t Reserved311; // Byte offset 0x311, CSR Addr 0x54188, Direction=N/A
1799
1800 uint8_t Reserved312; // Byte offset 0x312, CSR Addr 0x54189, Direction=N/A
1801
1802 uint8_t Reserved313; // Byte offset 0x313, CSR Addr 0x54189, Direction=N/A
1803
1804 uint8_t Reserved314; // Byte offset 0x314, CSR Addr 0x5418a, Direction=N/A
1805
1806 uint8_t Reserved315; // Byte offset 0x315, CSR Addr 0x5418a, Direction=N/A
1807
1808 uint8_t Reserved316; // Byte offset 0x316, CSR Addr 0x5418b, Direction=N/A
1809
1810 uint8_t Reserved317; // Byte offset 0x317, CSR Addr 0x5418b, Direction=N/A
1811
1812 uint8_t Reserved318; // Byte offset 0x318, CSR Addr 0x5418c, Direction=N/A
1813
1814 uint8_t Reserved319; // Byte offset 0x319, CSR Addr 0x5418c, Direction=N/A
1815
1816 uint8_t Reserved31A; // Byte offset 0x31a, CSR Addr 0x5418d, Direction=N/A
1817
1818 uint8_t Reserved31B; // Byte offset 0x31b, CSR Addr 0x5418d, Direction=N/A
1819
1820 uint8_t Reserved31C; // Byte offset 0x31c, CSR Addr 0x5418e, Direction=N/A
1821
1822 uint8_t Reserved31D; // Byte offset 0x31d, CSR Addr 0x5418e, Direction=N/A
1823
1824 uint8_t Reserved31E; // Byte offset 0x31e, CSR Addr 0x5418f, Direction=N/A
1825
1826 uint8_t Reserved31F; // Byte offset 0x31f, CSR Addr 0x5418f, Direction=N/A
1827
1828 uint8_t Reserved320; // Byte offset 0x320, CSR Addr 0x54190, Direction=N/A
1829
1830 uint8_t Reserved321; // Byte offset 0x321, CSR Addr 0x54190, Direction=N/A
1831
1832 uint8_t Reserved322; // Byte offset 0x322, CSR Addr 0x54191, Direction=N/A
1833
1834 uint8_t Reserved323; // Byte offset 0x323, CSR Addr 0x54191, Direction=N/A
1835
1836 uint8_t Reserved324; // Byte offset 0x324, CSR Addr 0x54192, Direction=N/A
1837
1838 uint8_t Reserved325; // Byte offset 0x325, CSR Addr 0x54192, Direction=N/A
1839
1840 uint8_t Reserved326; // Byte offset 0x326, CSR Addr 0x54193, Direction=N/A
1841
1842 uint8_t Reserved327; // Byte offset 0x327, CSR Addr 0x54193, Direction=N/A
1843
1844 uint8_t Reserved328; // Byte offset 0x328, CSR Addr 0x54194, Direction=N/A
1845
1846 uint8_t Reserved329; // Byte offset 0x329, CSR Addr 0x54194, Direction=N/A
1847
1848 uint8_t Reserved32A; // Byte offset 0x32a, CSR Addr 0x54195, Direction=N/A
1849
1850 uint8_t Reserved32B; // Byte offset 0x32b, CSR Addr 0x54195, Direction=N/A
1851
1852 uint8_t Reserved32C; // Byte offset 0x32c, CSR Addr 0x54196, Direction=N/A
1853
1854 uint8_t Reserved32D; // Byte offset 0x32d, CSR Addr 0x54196, Direction=N/A
1855
1856 uint8_t Reserved32E; // Byte offset 0x32e, CSR Addr 0x54197, Direction=N/A
1857
1858 uint8_t Reserved32F; // Byte offset 0x32f, CSR Addr 0x54197, Direction=N/A
1859
1860 uint8_t Reserved330; // Byte offset 0x330, CSR Addr 0x54198, Direction=N/A
1861
1862 uint8_t Reserved331; // Byte offset 0x331, CSR Addr 0x54198, Direction=N/A
1863
1864 uint8_t Reserved332; // Byte offset 0x332, CSR Addr 0x54199, Direction=N/A
1865
1866 uint8_t Reserved333; // Byte offset 0x333, CSR Addr 0x54199, Direction=N/A
1867
1868 uint8_t Reserved334; // Byte offset 0x334, CSR Addr 0x5419a, Direction=N/A
1869
1870 uint8_t Reserved335; // Byte offset 0x335, CSR Addr 0x5419a, Direction=N/A
1871
1872 uint8_t Reserved336; // Byte offset 0x336, CSR Addr 0x5419b, Direction=N/A
1873
1874 uint8_t Reserved337; // Byte offset 0x337, CSR Addr 0x5419b, Direction=N/A
1875
1876 uint8_t Reserved338; // Byte offset 0x338, CSR Addr 0x5419c, Direction=N/A
1877
1878 uint8_t Reserved339; // Byte offset 0x339, CSR Addr 0x5419c, Direction=N/A
1879
1880 uint8_t Reserved33A; // Byte offset 0x33a, CSR Addr 0x5419d, Direction=N/A
1881
1882 uint8_t Reserved33B; // Byte offset 0x33b, CSR Addr 0x5419d, Direction=N/A
1883
1884 uint8_t Reserved33C; // Byte offset 0x33c, CSR Addr 0x5419e, Direction=N/A
1885
1886 uint8_t Reserved33D; // Byte offset 0x33d, CSR Addr 0x5419e, Direction=N/A
1887
1888 uint8_t Reserved33E; // Byte offset 0x33e, CSR Addr 0x5419f, Direction=N/A
1889
1890 uint8_t Reserved33F; // Byte offset 0x33f, CSR Addr 0x5419f, Direction=N/A
1891
1892 uint8_t Reserved340; // Byte offset 0x340, CSR Addr 0x541a0, Direction=N/A
1893
1894 uint8_t Reserved341; // Byte offset 0x341, CSR Addr 0x541a0, Direction=N/A
1895
1896 uint8_t Reserved342; // Byte offset 0x342, CSR Addr 0x541a1, Direction=N/A
1897
1898 uint8_t Reserved343; // Byte offset 0x343, CSR Addr 0x541a1, Direction=N/A
1899
1900 uint8_t Reserved344; // Byte offset 0x344, CSR Addr 0x541a2, Direction=N/A
1901
1902 uint8_t Reserved345; // Byte offset 0x345, CSR Addr 0x541a2, Direction=N/A
1903
1904 uint8_t Reserved346; // Byte offset 0x346, CSR Addr 0x541a3, Direction=N/A
1905
1906 uint8_t Reserved347; // Byte offset 0x347, CSR Addr 0x541a3, Direction=N/A
1907
1908 uint8_t Reserved348; // Byte offset 0x348, CSR Addr 0x541a4, Direction=N/A
1909
1910 uint8_t Reserved349; // Byte offset 0x349, CSR Addr 0x541a4, Direction=N/A
1911
1912 uint8_t Reserved34A; // Byte offset 0x34a, CSR Addr 0x541a5, Direction=N/A
1913
1914 uint8_t Reserved34B; // Byte offset 0x34b, CSR Addr 0x541a5, Direction=N/A
1915
1916 uint8_t Reserved34C; // Byte offset 0x34c, CSR Addr 0x541a6, Direction=N/A
1917
1918 uint8_t Reserved34D; // Byte offset 0x34d, CSR Addr 0x541a6, Direction=N/A
1919
1920 uint8_t Reserved34E; // Byte offset 0x34e, CSR Addr 0x541a7, Direction=N/A
1921
1922 uint8_t Reserved34F; // Byte offset 0x34f, CSR Addr 0x541a7, Direction=N/A
1923
1924 uint8_t Reserved350; // Byte offset 0x350, CSR Addr 0x541a8, Direction=N/A
1925
1926 uint8_t Reserved351; // Byte offset 0x351, CSR Addr 0x541a8, Direction=N/A
1927
1928 uint8_t Reserved352; // Byte offset 0x352, CSR Addr 0x541a9, Direction=N/A
1929
1930 uint8_t Reserved353; // Byte offset 0x353, CSR Addr 0x541a9, Direction=N/A
1931
1932 uint8_t Reserved354; // Byte offset 0x354, CSR Addr 0x541aa, Direction=N/A
1933
1934 uint8_t Reserved355; // Byte offset 0x355, CSR Addr 0x541aa, Direction=N/A
1935
1936 uint8_t Reserved356; // Byte offset 0x356, CSR Addr 0x541ab, Direction=N/A
1937
1938 uint8_t Reserved357; // Byte offset 0x357, CSR Addr 0x541ab, Direction=N/A
1939
1940 uint8_t Reserved358; // Byte offset 0x358, CSR Addr 0x541ac, Direction=N/A
1941
1942 uint8_t Reserved359; // Byte offset 0x359, CSR Addr 0x541ac, Direction=N/A
1943
1944 uint8_t Reserved35A; // Byte offset 0x35a, CSR Addr 0x541ad, Direction=N/A
1945
1946 uint8_t Reserved35B; // Byte offset 0x35b, CSR Addr 0x541ad, Direction=N/A
1947
1948 uint8_t Reserved35C; // Byte offset 0x35c, CSR Addr 0x541ae, Direction=N/A
1949
1950 uint8_t Reserved35D; // Byte offset 0x35d, CSR Addr 0x541ae, Direction=N/A
1951
1952 uint8_t Reserved35E; // Byte offset 0x35e, CSR Addr 0x541af, Direction=N/A
1953
1954 uint8_t Reserved35F; // Byte offset 0x35f, CSR Addr 0x541af, Direction=N/A
1955
1956 uint8_t Reserved360; // Byte offset 0x360, CSR Addr 0x541b0, Direction=N/A
1957
1958 uint8_t Reserved361; // Byte offset 0x361, CSR Addr 0x541b0, Direction=N/A
1959
1960 uint8_t Reserved362; // Byte offset 0x362, CSR Addr 0x541b1, Direction=N/A
1961
1962 uint8_t Reserved363; // Byte offset 0x363, CSR Addr 0x541b1, Direction=N/A
1963
1964 uint8_t Reserved364; // Byte offset 0x364, CSR Addr 0x541b2, Direction=N/A
1965
1966 uint8_t Reserved365; // Byte offset 0x365, CSR Addr 0x541b2, Direction=N/A
1967
1968 uint8_t Reserved366; // Byte offset 0x366, CSR Addr 0x541b3, Direction=N/A
1969
1970 uint8_t Reserved367; // Byte offset 0x367, CSR Addr 0x541b3, Direction=N/A
1971
1972 uint8_t Reserved368; // Byte offset 0x368, CSR Addr 0x541b4, Direction=N/A
1973
1974 uint8_t Reserved369; // Byte offset 0x369, CSR Addr 0x541b4, Direction=N/A
1975
1976 uint8_t Reserved36A; // Byte offset 0x36a, CSR Addr 0x541b5, Direction=N/A
1977
1978 uint8_t Reserved36B; // Byte offset 0x36b, CSR Addr 0x541b5, Direction=N/A
1979
1980 uint8_t Reserved36C; // Byte offset 0x36c, CSR Addr 0x541b6, Direction=N/A
1981
1982 uint8_t Reserved36D; // Byte offset 0x36d, CSR Addr 0x541b6, Direction=N/A
1983
1984 uint8_t Reserved36E; // Byte offset 0x36e, CSR Addr 0x541b7, Direction=N/A
1985
1986 uint8_t Reserved36F; // Byte offset 0x36f, CSR Addr 0x541b7, Direction=N/A
1987
1988 uint8_t Reserved370; // Byte offset 0x370, CSR Addr 0x541b8, Direction=N/A
1989
1990 uint8_t Reserved371; // Byte offset 0x371, CSR Addr 0x541b8, Direction=N/A
1991
1992 uint8_t Reserved372; // Byte offset 0x372, CSR Addr 0x541b9, Direction=N/A
1993
1994 uint8_t Reserved373; // Byte offset 0x373, CSR Addr 0x541b9, Direction=N/A
1995
1996 uint8_t Reserved374; // Byte offset 0x374, CSR Addr 0x541ba, Direction=N/A
1997
1998 uint8_t Reserved375; // Byte offset 0x375, CSR Addr 0x541ba, Direction=N/A
1999
2000 uint8_t Reserved376; // Byte offset 0x376, CSR Addr 0x541bb, Direction=N/A
2001
2002 uint8_t Reserved377; // Byte offset 0x377, CSR Addr 0x541bb, Direction=N/A
2003
2004 uint8_t Reserved378; // Byte offset 0x378, CSR Addr 0x541bc, Direction=N/A
2005
2006 uint8_t Reserved379; // Byte offset 0x379, CSR Addr 0x541bc, Direction=N/A
2007
2008 uint8_t Reserved37A; // Byte offset 0x37a, CSR Addr 0x541bd, Direction=N/A
2009
2010 uint8_t Reserved37B; // Byte offset 0x37b, CSR Addr 0x541bd, Direction=N/A
2011
2012 uint8_t Reserved37C; // Byte offset 0x37c, CSR Addr 0x541be, Direction=N/A
2013
2014 uint8_t Reserved37D; // Byte offset 0x37d, CSR Addr 0x541be, Direction=N/A
2015
2016 uint8_t Reserved37E; // Byte offset 0x37e, CSR Addr 0x541bf, Direction=N/A
2017
2018 uint8_t Reserved37F; // Byte offset 0x37f, CSR Addr 0x541bf, Direction=N/A
2019
2020 uint8_t Reserved380; // Byte offset 0x380, CSR Addr 0x541c0, Direction=N/A
2021
2022 uint8_t Reserved381; // Byte offset 0x381, CSR Addr 0x541c0, Direction=N/A
2023
2024 uint8_t Reserved382; // Byte offset 0x382, CSR Addr 0x541c1, Direction=N/A
2025
2026 uint8_t Reserved383; // Byte offset 0x383, CSR Addr 0x541c1, Direction=N/A
2027
2028 uint8_t Reserved384; // Byte offset 0x384, CSR Addr 0x541c2, Direction=N/A
2029
2030 uint8_t Reserved385; // Byte offset 0x385, CSR Addr 0x541c2, Direction=N/A
2031
2032 uint8_t Reserved386; // Byte offset 0x386, CSR Addr 0x541c3, Direction=N/A
2033
2034 uint8_t Reserved387; // Byte offset 0x387, CSR Addr 0x541c3, Direction=N/A
2035
2036 uint8_t Reserved388; // Byte offset 0x388, CSR Addr 0x541c4, Direction=N/A
2037
2038 uint8_t Reserved389; // Byte offset 0x389, CSR Addr 0x541c4, Direction=N/A
2039
2040 uint8_t Reserved38A; // Byte offset 0x38a, CSR Addr 0x541c5, Direction=N/A
2041
2042 uint8_t Reserved38B; // Byte offset 0x38b, CSR Addr 0x541c5, Direction=N/A
2043
2044 uint8_t Reserved38C; // Byte offset 0x38c, CSR Addr 0x541c6, Direction=N/A
2045
2046 uint8_t Reserved38D; // Byte offset 0x38d, CSR Addr 0x541c6, Direction=N/A
2047
2048 uint8_t Reserved38E; // Byte offset 0x38e, CSR Addr 0x541c7, Direction=N/A
2049
2050 uint8_t Reserved38F; // Byte offset 0x38f, CSR Addr 0x541c7, Direction=N/A
2051
2052 uint8_t Reserved390; // Byte offset 0x390, CSR Addr 0x541c8, Direction=N/A
2053
2054 uint8_t Reserved391; // Byte offset 0x391, CSR Addr 0x541c8, Direction=N/A
2055
2056 uint8_t Reserved392; // Byte offset 0x392, CSR Addr 0x541c9, Direction=N/A
2057
2058 uint8_t Reserved393; // Byte offset 0x393, CSR Addr 0x541c9, Direction=N/A
2059
2060 uint8_t Reserved394; // Byte offset 0x394, CSR Addr 0x541ca, Direction=N/A
2061
2062 uint8_t Reserved395; // Byte offset 0x395, CSR Addr 0x541ca, Direction=N/A
2063
2064 uint8_t Reserved396; // Byte offset 0x396, CSR Addr 0x541cb, Direction=N/A
2065
2066 uint8_t Reserved397; // Byte offset 0x397, CSR Addr 0x541cb, Direction=N/A
2067
2068 uint8_t Reserved398; // Byte offset 0x398, CSR Addr 0x541cc, Direction=N/A
2069
2070 uint8_t Reserved399; // Byte offset 0x399, CSR Addr 0x541cc, Direction=N/A
2071
2072 uint8_t Reserved39A; // Byte offset 0x39a, CSR Addr 0x541cd, Direction=N/A
2073
2074 uint8_t Reserved39B; // Byte offset 0x39b, CSR Addr 0x541cd, Direction=N/A
2075
2076 uint8_t Reserved39C; // Byte offset 0x39c, CSR Addr 0x541ce, Direction=N/A
2077
2078 uint8_t Reserved39D; // Byte offset 0x39d, CSR Addr 0x541ce, Direction=N/A
2079
2080 uint8_t Reserved39E; // Byte offset 0x39e, CSR Addr 0x541cf, Direction=N/A
2081
2082 uint8_t Reserved39F; // Byte offset 0x39f, CSR Addr 0x541cf, Direction=N/A
2083
2084 uint8_t Reserved3A0; // Byte offset 0x3a0, CSR Addr 0x541d0, Direction=N/A
2085
2086 uint8_t Reserved3A1; // Byte offset 0x3a1, CSR Addr 0x541d0, Direction=N/A
2087
2088 uint8_t Reserved3A2; // Byte offset 0x3a2, CSR Addr 0x541d1, Direction=N/A
2089
2090 uint8_t Reserved3A3; // Byte offset 0x3a3, CSR Addr 0x541d1, Direction=N/A
2091
2092 uint8_t Reserved3A4; // Byte offset 0x3a4, CSR Addr 0x541d2, Direction=N/A
2093
2094 uint8_t Reserved3A5; // Byte offset 0x3a5, CSR Addr 0x541d2, Direction=N/A
2095
2096 uint8_t Reserved3A6; // Byte offset 0x3a6, CSR Addr 0x541d3, Direction=N/A
2097
2098 uint8_t Reserved3A7; // Byte offset 0x3a7, CSR Addr 0x541d3, Direction=N/A
2099
2100 uint8_t Reserved3A8; // Byte offset 0x3a8, CSR Addr 0x541d4, Direction=N/A
2101
2102 uint8_t Reserved3A9; // Byte offset 0x3a9, CSR Addr 0x541d4, Direction=N/A
2103
2104 uint8_t Reserved3AA; // Byte offset 0x3aa, CSR Addr 0x541d5, Direction=N/A
2105
2106 uint8_t Reserved3AB; // Byte offset 0x3ab, CSR Addr 0x541d5, Direction=N/A
2107
2108 uint8_t Reserved3AC; // Byte offset 0x3ac, CSR Addr 0x541d6, Direction=N/A
2109
2110 uint8_t Reserved3AD; // Byte offset 0x3ad, CSR Addr 0x541d6, Direction=N/A
2111
2112 uint8_t Reserved3AE; // Byte offset 0x3ae, CSR Addr 0x541d7, Direction=N/A
2113
2114 uint8_t Reserved3AF; // Byte offset 0x3af, CSR Addr 0x541d7, Direction=N/A
2115
2116 uint8_t Reserved3B0; // Byte offset 0x3b0, CSR Addr 0x541d8, Direction=N/A
2117
2118 uint8_t Reserved3B1; // Byte offset 0x3b1, CSR Addr 0x541d8, Direction=N/A
2119
2120 uint8_t Reserved3B2; // Byte offset 0x3b2, CSR Addr 0x541d9, Direction=N/A
2121
2122 uint8_t Reserved3B3; // Byte offset 0x3b3, CSR Addr 0x541d9, Direction=N/A
2123
2124 uint8_t Reserved3B4; // Byte offset 0x3b4, CSR Addr 0x541da, Direction=N/A
2125
2126 uint8_t Reserved3B5; // Byte offset 0x3b5, CSR Addr 0x541da, Direction=N/A
2127
2128 uint8_t Reserved3B6; // Byte offset 0x3b6, CSR Addr 0x541db, Direction=N/A
2129
2130 uint8_t Reserved3B7; // Byte offset 0x3b7, CSR Addr 0x541db, Direction=N/A
2131
2132 uint8_t Reserved3B8; // Byte offset 0x3b8, CSR Addr 0x541dc, Direction=N/A
2133
2134 uint8_t Reserved3B9; // Byte offset 0x3b9, CSR Addr 0x541dc, Direction=N/A
2135
2136 uint8_t Reserved3BA; // Byte offset 0x3ba, CSR Addr 0x541dd, Direction=N/A
2137
2138 uint8_t Reserved3BB; // Byte offset 0x3bb, CSR Addr 0x541dd, Direction=N/A
2139
2140 uint8_t Reserved3BC; // Byte offset 0x3bc, CSR Addr 0x541de, Direction=N/A
2141
2142 uint8_t Reserved3BD; // Byte offset 0x3bd, CSR Addr 0x541de, Direction=N/A
2143
2144 uint8_t Reserved3BE; // Byte offset 0x3be, CSR Addr 0x541df, Direction=N/A
2145
2146 uint8_t Reserved3BF; // Byte offset 0x3bf, CSR Addr 0x541df, Direction=N/A
2147
2148 uint8_t Reserved3C0; // Byte offset 0x3c0, CSR Addr 0x541e0, Direction=N/A
2149
2150 uint8_t Reserved3C1; // Byte offset 0x3c1, CSR Addr 0x541e0, Direction=N/A
2151
2152 uint8_t Reserved3C2; // Byte offset 0x3c2, CSR Addr 0x541e1, Direction=N/A
2153
2154 uint8_t Reserved3C3; // Byte offset 0x3c3, CSR Addr 0x541e1, Direction=N/A
2155
2156 uint8_t Reserved3C4; // Byte offset 0x3c4, CSR Addr 0x541e2, Direction=N/A
2157
2158 uint8_t Reserved3C5; // Byte offset 0x3c5, CSR Addr 0x541e2, Direction=N/A
2159
2160 uint8_t Reserved3C6; // Byte offset 0x3c6, CSR Addr 0x541e3, Direction=N/A
2161
2162 uint8_t Reserved3C7; // Byte offset 0x3c7, CSR Addr 0x541e3, Direction=N/A
2163
2164 uint8_t Reserved3C8; // Byte offset 0x3c8, CSR Addr 0x541e4, Direction=N/A
2165
2166 uint8_t Reserved3C9; // Byte offset 0x3c9, CSR Addr 0x541e4, Direction=N/A
2167
2168 uint8_t Reserved3CA; // Byte offset 0x3ca, CSR Addr 0x541e5, Direction=N/A
2169
2170 uint8_t Reserved3CB; // Byte offset 0x3cb, CSR Addr 0x541e5, Direction=N/A
2171
2172 uint8_t Reserved3CC; // Byte offset 0x3cc, CSR Addr 0x541e6, Direction=N/A
2173
2174 uint8_t Reserved3CD; // Byte offset 0x3cd, CSR Addr 0x541e6, Direction=N/A
2175
2176 uint8_t Reserved3CE; // Byte offset 0x3ce, CSR Addr 0x541e7, Direction=N/A
2177
2178 uint8_t Reserved3CF; // Byte offset 0x3cf, CSR Addr 0x541e7, Direction=N/A
2179
2180 uint8_t Reserved3D0; // Byte offset 0x3d0, CSR Addr 0x541e8, Direction=N/A
2181
2182 uint8_t Reserved3D1; // Byte offset 0x3d1, CSR Addr 0x541e8, Direction=N/A
2183
2184 uint8_t Reserved3D2; // Byte offset 0x3d2, CSR Addr 0x541e9, Direction=N/A
2185
2186 uint8_t Reserved3D3; // Byte offset 0x3d3, CSR Addr 0x541e9, Direction=N/A
2187
2188 uint8_t Reserved3D4; // Byte offset 0x3d4, CSR Addr 0x541ea, Direction=N/A
2189
2190 uint8_t Reserved3D5; // Byte offset 0x3d5, CSR Addr 0x541ea, Direction=N/A
2191
2192 uint8_t Reserved3D6; // Byte offset 0x3d6, CSR Addr 0x541eb, Direction=N/A
2193
2194 uint8_t Reserved3D7; // Byte offset 0x3d7, CSR Addr 0x541eb, Direction=N/A
2195
2196 uint8_t Reserved3D8; // Byte offset 0x3d8, CSR Addr 0x541ec, Direction=N/A
2197
2198 uint8_t Reserved3D9; // Byte offset 0x3d9, CSR Addr 0x541ec, Direction=N/A
2199
2200 uint8_t Reserved3DA; // Byte offset 0x3da, CSR Addr 0x541ed, Direction=N/A
2201
2202 uint8_t Reserved3DB; // Byte offset 0x3db, CSR Addr 0x541ed, Direction=N/A
2203
2204 uint8_t Reserved3DC; // Byte offset 0x3dc, CSR Addr 0x541ee, Direction=N/A
2205
2206 uint8_t Reserved3DD; // Byte offset 0x3dd, CSR Addr 0x541ee, Direction=N/A
2207
2208 uint8_t Reserved3DE; // Byte offset 0x3de, CSR Addr 0x541ef, Direction=N/A
2209
2210 uint8_t Reserved3DF; // Byte offset 0x3df, CSR Addr 0x541ef, Direction=N/A
2211
2212 uint8_t Reserved3E0; // Byte offset 0x3e0, CSR Addr 0x541f0, Direction=N/A
2213
2214 uint8_t Reserved3E1; // Byte offset 0x3e1, CSR Addr 0x541f0, Direction=N/A
2215
2216 uint8_t Reserved3E2; // Byte offset 0x3e2, CSR Addr 0x541f1, Direction=N/A
2217
2218 uint8_t Reserved3E3; // Byte offset 0x3e3, CSR Addr 0x541f1, Direction=N/A
2219
2220 uint8_t Reserved3E4; // Byte offset 0x3e4, CSR Addr 0x541f2, Direction=N/A
2221
2222 uint8_t Reserved3E5; // Byte offset 0x3e5, CSR Addr 0x541f2, Direction=N/A
2223
2224 uint8_t Reserved3E6; // Byte offset 0x3e6, CSR Addr 0x541f3, Direction=N/A
2225
2226 uint8_t Reserved3E7; // Byte offset 0x3e7, CSR Addr 0x541f3, Direction=N/A
2227
2228 uint8_t Reserved3E8; // Byte offset 0x3e8, CSR Addr 0x541f4, Direction=N/A
2229
2230 uint8_t Reserved3E9; // Byte offset 0x3e9, CSR Addr 0x541f4, Direction=N/A
2231
2232 uint8_t Reserved3EA; // Byte offset 0x3ea, CSR Addr 0x541f5, Direction=N/A
2233
2234 uint8_t Reserved3EB; // Byte offset 0x3eb, CSR Addr 0x541f5, Direction=N/A
2235
2236 uint8_t Reserved3EC; // Byte offset 0x3ec, CSR Addr 0x541f6, Direction=N/A
2237
2238 uint8_t Reserved3ED; // Byte offset 0x3ed, CSR Addr 0x541f6, Direction=N/A
2239
2240 uint8_t Reserved3EE; // Byte offset 0x3ee, CSR Addr 0x541f7, Direction=N/A
2241
2242 uint8_t Reserved3EF; // Byte offset 0x3ef, CSR Addr 0x541f7, Direction=N/A
2243
2244 uint8_t Reserved3F0; // Byte offset 0x3f0, CSR Addr 0x541f8, Direction=N/A
2245
2246 uint8_t Reserved3F1; // Byte offset 0x3f1, CSR Addr 0x541f8, Direction=N/A
2247
2248 uint8_t Reserved3F2; // Byte offset 0x3f2, CSR Addr 0x541f9, Direction=N/A
2249
2250 uint8_t Reserved3F3; // Byte offset 0x3f3, CSR Addr 0x541f9, Direction=N/A
2251
2252 uint8_t Reserved3F4; // Byte offset 0x3f4, CSR Addr 0x541fa, Direction=N/A
2253
2254 uint8_t Reserved3F5; // Byte offset 0x3f5, CSR Addr 0x541fa, Direction=N/A
2255
2256 uint16_t ALT_CAS_L; // Byte offset 0x3f6, CSR Addr 0x541fb, Direction=in
2257 // This field must be populated if RdDBI is enabled (applicable when MR5[A12] == 1).
2258 // RdDBI is dynamically disabled in certain training steps,
2259 // and so the [RdDBI disabled] CAS Latency must be provided in this field.
2260 // The required encoding is as follows:
2261 // ALT_CAS_L[0] == 0: use value in MR0
2262 // ALT_CAS_L[0] == 1: use value in ALT_CAS_L, i.e., MR0{A[12],A[6],A[5],A[4],A[2]} = ALT_CAS_L[12,6,5,4,2]
2263 // Other bits are ignored
2264 uint8_t ALT_WCAS_L; // Byte offset 0x3f8, CSR Addr 0x541fc, Direction=In
2265 // This field must be populated if 2tCK write preambles are enabled (applicable when MR4[A12] == 1).
2266 // 2tCK write prambles are dynamically disabled in certain training steps,
2267 // and so the [1tCK write preamble] WCAS Latency must be provided in this field.
2268 // The required encoding is as follows:
2269 // ALT_WCAS_L[0] == 0: use value in MR2
2270 // ALT_WCAS_L[0] == 1: use value in ALT_WCAS_L, i.e., MR2{A[5],A[4],A[3]} = ALT_WCAS_L[5,4,3]
2271 // Other bits are ignored
2272 uint8_t D4Misc; // Byte offset 0x3f9, CSR Addr 0x541fc, Direction=In
2273 // Contains various options for training DDR4 Devices.
2274 //
2275 // Bit fields:
2276 //
2277 // D4Misc[7:1] RFU, must be zero
2278 //
2279 // D4Misc[0] = protect memory reset
2280 // 0x1 = dfi_reset_n cannot control BP_MEMRESERT_L to devices after training.
2281 // 0x0 = dfi_resert_n can control BP_MEMRESERT_L to devices after training
2282} __attribute__ ((packed)) PMU_SMB_DDR4U_2D_t;