1 #ifndef __ODY_CSRS_DSS_H__
2 #define __ODY_CSRS_DSS_H__
3 /* This file is auto-generated. Do not edit */
4
5 /***********************license start***********************************
6 * Copyright (C) 2021-2026 Marvell.
7 * SPDX-License-Identifier: BSD-3-Clause
8 * https://spdx.org/licenses
9 ***********************license end**************************************/
10
11
12 /**
13 * @file
14 *
15 * Configuration and status register (CSR) address and type definitions for
16 * DSS.
17 *
18 * This file is auto generated. Do not edit.
19 *
20 */
21
22 /**
23 * Enumeration dss_bar_e
24 *
25 * DSS Base Address Register Enumeration
26 * Enumerates the base address registers.
27 */
28 #define ODY_DSS_BAR_E_DSSX_PF_BAR0(a) (0x87e1b0000000ll + 0x1000000ll * (a))
29 #define ODY_DSS_BAR_E_DSSX_PF_BAR0_SIZE 0x400000ull
30 #define ODY_DSS_BAR_E_DSSX_PF_BAR2(a) (0x87e1b0800000ll + 0x1000000ll * (a))
31 #define ODY_DSS_BAR_E_DSSX_PF_BAR2_SIZE 0x800000ull
32 #define ODY_DSS_BAR_E_DSSX_PF_BAR4(a) (0x87e1b0700000ll + 0x1000000ll * (a))
33 #define ODY_DSS_BAR_E_DSSX_PF_BAR4_SIZE 0x100000ull
34
35 /**
36 * Enumeration dss_chb_mpamf_err_e
37 *
38 * MPAM Error Code Enumeration
39 * Error codes to be reported in MPAMF_ESR (if DSS_DDRCTL_REGB_CHB_MPAM_NS/S_MPAMF_IDR_32[HAS_ESR]==1)
40 */
41 #define ODY_DSS_CHB_MPAMF_ERR_E_MONITOR_RANGE (5)
42 #define ODY_DSS_CHB_MPAMF_ERR_E_MSMONCFG_ID_RANGE (3)
43 #define ODY_DSS_CHB_MPAMF_ERR_E_NO_ERROR (0)
44 #define ODY_DSS_CHB_MPAMF_ERR_E_PARTID_SEL_RANGE (1)
45 #define ODY_DSS_CHB_MPAMF_ERR_E_REQ_PARTID_RANGE (2)
46 #define ODY_DSS_CHB_MPAMF_ERR_E_REQ_PMG_RANGE (4)
47 #define ODY_DSS_CHB_MPAMF_ERR_E_RESERVED_ERRCODE_10 (0xa)
48 #define ODY_DSS_CHB_MPAMF_ERR_E_RESERVED_ERRCODE_11 (0xb)
49 #define ODY_DSS_CHB_MPAMF_ERR_E_RESERVED_ERRCODE_12 (0xc)
50 #define ODY_DSS_CHB_MPAMF_ERR_E_RESERVED_ERRCODE_13 (0xd)
51 #define ODY_DSS_CHB_MPAMF_ERR_E_RESERVED_ERRCODE_14 (0xe)
52 #define ODY_DSS_CHB_MPAMF_ERR_E_RESERVED_ERRCODE_15 (0xf)
53 #define ODY_DSS_CHB_MPAMF_ERR_E_RESERVED_ERRCODE_6 (6)
54 #define ODY_DSS_CHB_MPAMF_ERR_E_RESERVED_ERRCODE_7 (7)
55 #define ODY_DSS_CHB_MPAMF_ERR_E_RESERVED_ERRCODE_8 (8)
56 #define ODY_DSS_CHB_MPAMF_ERR_E_RESERVED_ERRCODE_9 (9)
57
58 /**
59 * Enumeration dss_int_vec_e
60 *
61 * DSS MSI-X Vector Enumeration
62 * Enumerates the MSI-X interrupt vectors.
63 */
64 #define ODY_DSS_INT_VEC_E_DSS_INT (0)
65 #define ODY_DSS_INT_VEC_E_DSS_MCT_INT (1)
66 #define ODY_DSS_INT_VEC_E_DSS_MPAM_NS_INT (4)
67 #define ODY_DSS_INT_VEC_E_DSS_MPAM_S_INT (3)
68 #define ODY_DSS_INT_VEC_E_DSS_PERF_CNT_INT (2)
69
70 /**
71 * Register (RSL) dss#_cbusy_cnt_clr#
72 *
73 * CBUSY Counter Clear Register
74 * CBUSY Counter clear register.
75 */
76 union ody_dssx_cbusy_cnt_clrx {
77 uint64_t u;
78 struct ody_dssx_cbusy_cnt_clrx_s {
79 uint64_t cbusy_cnt_clr : 1;
80 uint64_t reserved_1_63 : 63;
81 } s;
82 /* struct ody_dssx_cbusy_cnt_clrx_s cn; */
83 };
84 typedef union ody_dssx_cbusy_cnt_clrx ody_dssx_cbusy_cnt_clrx_t;
85
86 static inline uint64_t ODY_DSSX_CBUSY_CNT_CLRX(uint64_t a, uint64_t b) __attribute__ ((pure, always_inline));
ODY_DSSX_CBUSY_CNT_CLRX(uint64_t a,uint64_t b)87 static inline uint64_t ODY_DSSX_CBUSY_CNT_CLRX(uint64_t a, uint64_t b)
88 {
89 if ((a <= 19) && (b <= 3))
90 return 0x87e1b0020320ll + 0x1000000ll * ((a) & 0x1f) + 8ll * ((b) & 0x3);
91 __ody_csr_fatal("DSSX_CBUSY_CNT_CLRX", 2, a, b, 0, 0, 0, 0);
92 }
93
94 #define typedef_ODY_DSSX_CBUSY_CNT_CLRX(a, b) ody_dssx_cbusy_cnt_clrx_t
95 #define bustype_ODY_DSSX_CBUSY_CNT_CLRX(a, b) CSR_TYPE_RSL
96 #define basename_ODY_DSSX_CBUSY_CNT_CLRX(a, b) "DSSX_CBUSY_CNT_CLRX"
97 #define device_bar_ODY_DSSX_CBUSY_CNT_CLRX(a, b) 0x0 /* PF_BAR0 */
98 #define busnum_ODY_DSSX_CBUSY_CNT_CLRX(a, b) (a)
99 #define arguments_ODY_DSSX_CBUSY_CNT_CLRX(a, b) (a), (b), -1, -1
100
101 /**
102 * Register (RSL) dss#_cbusy_cnt_ctrl#
103 *
104 * CBUSY Counter Control Register
105 * CBUSY Counter control register.
106 */
107 union ody_dssx_cbusy_cnt_ctrlx {
108 uint64_t u;
109 struct ody_dssx_cbusy_cnt_ctrlx_s {
110 uint64_t cbusy_cnt_en : 1;
111 uint64_t cbusy_cnt_interrupt_en : 1;
112 uint64_t cbusy_cnt_wrap_value : 1;
113 uint64_t reserved_3_9 : 7;
114 uint64_t count_cbusy_value_0 : 1;
115 uint64_t count_cbusy_value_1 : 1;
116 uint64_t count_cbusy_value_2 : 1;
117 uint64_t count_cbusy_value_3 : 1;
118 uint64_t count_cbusy_from_dat_flit : 1;
119 uint64_t count_cbusy_from_rsp_flit : 1;
120 uint64_t reserved_16_63 : 48;
121 } s;
122 /* struct ody_dssx_cbusy_cnt_ctrlx_s cn; */
123 };
124 typedef union ody_dssx_cbusy_cnt_ctrlx ody_dssx_cbusy_cnt_ctrlx_t;
125
126 static inline uint64_t ODY_DSSX_CBUSY_CNT_CTRLX(uint64_t a, uint64_t b) __attribute__ ((pure, always_inline));
ODY_DSSX_CBUSY_CNT_CTRLX(uint64_t a,uint64_t b)127 static inline uint64_t ODY_DSSX_CBUSY_CNT_CTRLX(uint64_t a, uint64_t b)
128 {
129 if ((a <= 19) && (b <= 3))
130 return 0x87e1b0020300ll + 0x1000000ll * ((a) & 0x1f) + 8ll * ((b) & 0x3);
131 __ody_csr_fatal("DSSX_CBUSY_CNT_CTRLX", 2, a, b, 0, 0, 0, 0);
132 }
133
134 #define typedef_ODY_DSSX_CBUSY_CNT_CTRLX(a, b) ody_dssx_cbusy_cnt_ctrlx_t
135 #define bustype_ODY_DSSX_CBUSY_CNT_CTRLX(a, b) CSR_TYPE_RSL
136 #define basename_ODY_DSSX_CBUSY_CNT_CTRLX(a, b) "DSSX_CBUSY_CNT_CTRLX"
137 #define device_bar_ODY_DSSX_CBUSY_CNT_CTRLX(a, b) 0x0 /* PF_BAR0 */
138 #define busnum_ODY_DSSX_CBUSY_CNT_CTRLX(a, b) (a)
139 #define arguments_ODY_DSSX_CBUSY_CNT_CTRLX(a, b) (a), (b), -1, -1
140
141 /**
142 * Register (RSL) dss#_cbusy_cnt_val#
143 *
144 * CBUSY Counter Value Register
145 * Counter value of chosen CBUSY events.
146 */
147 union ody_dssx_cbusy_cnt_valx {
148 uint64_t u;
149 struct ody_dssx_cbusy_cnt_valx_s {
150 uint64_t cbusy_counter_value : 63;
151 uint64_t cbusy_cnt_overflow : 1;
152 } s;
153 /* struct ody_dssx_cbusy_cnt_valx_s cn; */
154 };
155 typedef union ody_dssx_cbusy_cnt_valx ody_dssx_cbusy_cnt_valx_t;
156
157 static inline uint64_t ODY_DSSX_CBUSY_CNT_VALX(uint64_t a, uint64_t b) __attribute__ ((pure, always_inline));
ODY_DSSX_CBUSY_CNT_VALX(uint64_t a,uint64_t b)158 static inline uint64_t ODY_DSSX_CBUSY_CNT_VALX(uint64_t a, uint64_t b)
159 {
160 if ((a <= 19) && (b <= 3))
161 return 0x87e1b0020340ll + 0x1000000ll * ((a) & 0x1f) + 8ll * ((b) & 0x3);
162 __ody_csr_fatal("DSSX_CBUSY_CNT_VALX", 2, a, b, 0, 0, 0, 0);
163 }
164
165 #define typedef_ODY_DSSX_CBUSY_CNT_VALX(a, b) ody_dssx_cbusy_cnt_valx_t
166 #define bustype_ODY_DSSX_CBUSY_CNT_VALX(a, b) CSR_TYPE_RSL
167 #define basename_ODY_DSSX_CBUSY_CNT_VALX(a, b) "DSSX_CBUSY_CNT_VALX"
168 #define device_bar_ODY_DSSX_CBUSY_CNT_VALX(a, b) 0x0 /* PF_BAR0 */
169 #define busnum_ODY_DSSX_CBUSY_CNT_VALX(a, b) (a)
170 #define arguments_ODY_DSSX_CBUSY_CNT_VALX(a, b) (a), (b), -1, -1
171
172 /**
173 * Register (RSL) dss#_clk_en
174 *
175 * DSS Clock Enable Register
176 * Control of DSS domain's clock enables.
177 */
178 union ody_dssx_clk_en {
179 uint64_t u;
180 struct ody_dssx_clk_en_s {
181 uint64_t s_mc_core_clk_en : 1;
182 uint64_t s_phy_ref_clk_en : 1;
183 uint64_t s_rclk_en : 1;
184 uint64_t s_apb_clk_en : 1;
185 uint64_t s_mct_clk_en : 1;
186 uint64_t reserved_5_63 : 59;
187 } s;
188 /* struct ody_dssx_clk_en_s cn; */
189 };
190 typedef union ody_dssx_clk_en ody_dssx_clk_en_t;
191
192 static inline uint64_t ODY_DSSX_CLK_EN(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_CLK_EN(uint64_t a)193 static inline uint64_t ODY_DSSX_CLK_EN(uint64_t a)
194 {
195 if (a <= 19)
196 return 0x87e1b0000020ll + 0x1000000ll * ((a) & 0x1f);
197 __ody_csr_fatal("DSSX_CLK_EN", 1, a, 0, 0, 0, 0, 0);
198 }
199
200 #define typedef_ODY_DSSX_CLK_EN(a) ody_dssx_clk_en_t
201 #define bustype_ODY_DSSX_CLK_EN(a) CSR_TYPE_RSL
202 #define basename_ODY_DSSX_CLK_EN(a) "DSSX_CLK_EN"
203 #define device_bar_ODY_DSSX_CLK_EN(a) 0x0 /* PF_BAR0 */
204 #define busnum_ODY_DSSX_CLK_EN(a) (a)
205 #define arguments_ODY_DSSX_CLK_EN(a) (a), -1, -1, -1
206
207 /**
208 * Register (RSL) dss#_ctrl
209 *
210 * DSS Control Register
211 * General control register.
212 */
213 union ody_dssx_ctrl {
214 uint64_t u;
215 struct ody_dssx_ctrl_s {
216 uint64_t reserved_0_2 : 3;
217 uint64_t s_force_kbd_0_chi_read_buf_ram : 1;
218 uint64_t ecc_dispsn : 1;
219 uint64_t ecc_discor : 1;
220 uint64_t dmc_mdc_dis : 1;
221 uint64_t reserved_7_63 : 57;
222 } s;
223 /* struct ody_dssx_ctrl_s cn; */
224 };
225 typedef union ody_dssx_ctrl ody_dssx_ctrl_t;
226
227 static inline uint64_t ODY_DSSX_CTRL(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_CTRL(uint64_t a)228 static inline uint64_t ODY_DSSX_CTRL(uint64_t a)
229 {
230 if (a <= 19)
231 return 0x87e1b0000030ll + 0x1000000ll * ((a) & 0x1f);
232 __ody_csr_fatal("DSSX_CTRL", 1, a, 0, 0, 0, 0, 0);
233 }
234
235 #define typedef_ODY_DSSX_CTRL(a) ody_dssx_ctrl_t
236 #define bustype_ODY_DSSX_CTRL(a) CSR_TYPE_RSL
237 #define basename_ODY_DSSX_CTRL(a) "DSSX_CTRL"
238 #define device_bar_ODY_DSSX_CTRL(a) 0x0 /* PF_BAR0 */
239 #define busnum_ODY_DSSX_CTRL(a) (a)
240 #define arguments_ODY_DSSX_CTRL(a) (a), -1, -1, -1
241
242 /**
243 * Register (RSL) dss#_dbg_status_0
244 *
245 * Debug status 0 bits Register
246 * Reserved.
247 */
248 union ody_dssx_dbg_status_0 {
249 uint64_t u;
250 struct ody_dssx_dbg_status_0_s {
251 uint64_t dbg_rd_retry_rank : 1;
252 uint64_t reserved_1_63 : 63;
253 } s;
254 /* struct ody_dssx_dbg_status_0_s cn; */
255 };
256 typedef union ody_dssx_dbg_status_0 ody_dssx_dbg_status_0_t;
257
258 static inline uint64_t ODY_DSSX_DBG_STATUS_0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DBG_STATUS_0(uint64_t a)259 static inline uint64_t ODY_DSSX_DBG_STATUS_0(uint64_t a)
260 {
261 if (a <= 19)
262 return 0x87e1b0000120ll + 0x1000000ll * ((a) & 0x1f);
263 __ody_csr_fatal("DSSX_DBG_STATUS_0", 1, a, 0, 0, 0, 0, 0);
264 }
265
266 #define typedef_ODY_DSSX_DBG_STATUS_0(a) ody_dssx_dbg_status_0_t
267 #define bustype_ODY_DSSX_DBG_STATUS_0(a) CSR_TYPE_RSL
268 #define basename_ODY_DSSX_DBG_STATUS_0(a) "DSSX_DBG_STATUS_0"
269 #define device_bar_ODY_DSSX_DBG_STATUS_0(a) 0x0 /* PF_BAR0 */
270 #define busnum_ODY_DSSX_DBG_STATUS_0(a) (a)
271 #define arguments_ODY_DSSX_DBG_STATUS_0(a) (a), -1, -1, -1
272
273 /**
274 * Register (RSL) dss#_dbg_status_1
275 *
276 * Debug status 1 bits Register
277 * Reserved.
278 */
279 union ody_dssx_dbg_status_1 {
280 uint64_t u;
281 struct ody_dssx_dbg_status_1_s {
282 uint64_t dbg_prank_pre_pd : 2;
283 uint64_t dbg_prank_act_pd : 2;
284 uint64_t reserved_4_63 : 60;
285 } s;
286 /* struct ody_dssx_dbg_status_1_s cn; */
287 };
288 typedef union ody_dssx_dbg_status_1 ody_dssx_dbg_status_1_t;
289
290 static inline uint64_t ODY_DSSX_DBG_STATUS_1(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DBG_STATUS_1(uint64_t a)291 static inline uint64_t ODY_DSSX_DBG_STATUS_1(uint64_t a)
292 {
293 if (a <= 19)
294 return 0x87e1b0000128ll + 0x1000000ll * ((a) & 0x1f);
295 __ody_csr_fatal("DSSX_DBG_STATUS_1", 1, a, 0, 0, 0, 0, 0);
296 }
297
298 #define typedef_ODY_DSSX_DBG_STATUS_1(a) ody_dssx_dbg_status_1_t
299 #define bustype_ODY_DSSX_DBG_STATUS_1(a) CSR_TYPE_RSL
300 #define basename_ODY_DSSX_DBG_STATUS_1(a) "DSSX_DBG_STATUS_1"
301 #define device_bar_ODY_DSSX_DBG_STATUS_1(a) 0x0 /* PF_BAR0 */
302 #define busnum_ODY_DSSX_DBG_STATUS_1(a) (a)
303 #define arguments_ODY_DSSX_DBG_STATUS_1(a) (a), -1, -1, -1
304
305 /**
306 * Register (RSL32b) dss#_ddrctl_regb_addr_map0_addrmap1
307 *
308 * DSS Ddrctl Regb Addr Map0 Addrmap1 Register
309 * Address Map Register 1
310 */
311 union ody_dssx_ddrctl_regb_addr_map0_addrmap1 {
312 uint32_t u;
313 struct ody_dssx_ddrctl_regb_addr_map0_addrmap1_s {
314 uint32_t addrmap_cs_bit0 : 6;
315 uint32_t reserved_6_31 : 26;
316 } s;
317 /* struct ody_dssx_ddrctl_regb_addr_map0_addrmap1_s cn; */
318 };
319 typedef union ody_dssx_ddrctl_regb_addr_map0_addrmap1 ody_dssx_ddrctl_regb_addr_map0_addrmap1_t;
320
321 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP1(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP1(uint64_t a)322 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP1(uint64_t a)
323 {
324 if (a <= 19)
325 return 0x87e1b0230004ll + 0x1000000ll * ((a) & 0x1f);
326 __ody_csr_fatal("DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP1", 1, a, 0, 0, 0, 0, 0);
327 }
328
329 #define typedef_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP1(a) ody_dssx_ddrctl_regb_addr_map0_addrmap1_t
330 #define bustype_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP1(a) CSR_TYPE_RSL32b
331 #define basename_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP1(a) "DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP1"
332 #define device_bar_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP1(a) 0x0 /* PF_BAR0 */
333 #define busnum_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP1(a) (a)
334 #define arguments_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP1(a) (a), -1, -1, -1
335
336 /**
337 * Register (RSL32b) dss#_ddrctl_regb_addr_map0_addrmap10
338 *
339 * DSS Ddrctl Regb Addr Map0 Addrmap10 Register
340 * Address Map Register 10
341 */
342 union ody_dssx_ddrctl_regb_addr_map0_addrmap10 {
343 uint32_t u;
344 struct ody_dssx_ddrctl_regb_addr_map0_addrmap10_s {
345 uint32_t addrmap_row_b2 : 5;
346 uint32_t reserved_5_7 : 3;
347 uint32_t addrmap_row_b3 : 5;
348 uint32_t reserved_13_15 : 3;
349 uint32_t addrmap_row_b4 : 5;
350 uint32_t reserved_21_23 : 3;
351 uint32_t addrmap_row_b5 : 5;
352 uint32_t reserved_29_31 : 3;
353 } s;
354 /* struct ody_dssx_ddrctl_regb_addr_map0_addrmap10_s cn; */
355 };
356 typedef union ody_dssx_ddrctl_regb_addr_map0_addrmap10 ody_dssx_ddrctl_regb_addr_map0_addrmap10_t;
357
358 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP10(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP10(uint64_t a)359 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP10(uint64_t a)
360 {
361 if (a <= 19)
362 return 0x87e1b0230028ll + 0x1000000ll * ((a) & 0x1f);
363 __ody_csr_fatal("DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP10", 1, a, 0, 0, 0, 0, 0);
364 }
365
366 #define typedef_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP10(a) ody_dssx_ddrctl_regb_addr_map0_addrmap10_t
367 #define bustype_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP10(a) CSR_TYPE_RSL32b
368 #define basename_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP10(a) "DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP10"
369 #define device_bar_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP10(a) 0x0 /* PF_BAR0 */
370 #define busnum_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP10(a) (a)
371 #define arguments_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP10(a) (a), -1, -1, -1
372
373 /**
374 * Register (RSL32b) dss#_ddrctl_regb_addr_map0_addrmap11
375 *
376 * DSS Ddrctl Regb Addr Map0 Addrmap11 Register
377 * Address Map Register 11
378 */
379 union ody_dssx_ddrctl_regb_addr_map0_addrmap11 {
380 uint32_t u;
381 struct ody_dssx_ddrctl_regb_addr_map0_addrmap11_s {
382 uint32_t addrmap_row_b0 : 5;
383 uint32_t reserved_5_7 : 3;
384 uint32_t addrmap_row_b1 : 5;
385 uint32_t reserved_13_31 : 19;
386 } s;
387 /* struct ody_dssx_ddrctl_regb_addr_map0_addrmap11_s cn; */
388 };
389 typedef union ody_dssx_ddrctl_regb_addr_map0_addrmap11 ody_dssx_ddrctl_regb_addr_map0_addrmap11_t;
390
391 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP11(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP11(uint64_t a)392 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP11(uint64_t a)
393 {
394 if (a <= 19)
395 return 0x87e1b023002cll + 0x1000000ll * ((a) & 0x1f);
396 __ody_csr_fatal("DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP11", 1, a, 0, 0, 0, 0, 0);
397 }
398
399 #define typedef_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP11(a) ody_dssx_ddrctl_regb_addr_map0_addrmap11_t
400 #define bustype_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP11(a) CSR_TYPE_RSL32b
401 #define basename_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP11(a) "DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP11"
402 #define device_bar_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP11(a) 0x0 /* PF_BAR0 */
403 #define busnum_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP11(a) (a)
404 #define arguments_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP11(a) (a), -1, -1, -1
405
406 /**
407 * Register (RSL32b) dss#_ddrctl_regb_addr_map0_addrmap12
408 *
409 * DSS Ddrctl Regb Addr Map0 Addrmap12 Register
410 * Address Map Register 12
411 */
412 union ody_dssx_ddrctl_regb_addr_map0_addrmap12 {
413 uint32_t u;
414 struct ody_dssx_ddrctl_regb_addr_map0_addrmap12_s {
415 uint32_t nonbinary_device_density : 3;
416 uint32_t reserved_3_31 : 29;
417 } s;
418 /* struct ody_dssx_ddrctl_regb_addr_map0_addrmap12_s cn; */
419 };
420 typedef union ody_dssx_ddrctl_regb_addr_map0_addrmap12 ody_dssx_ddrctl_regb_addr_map0_addrmap12_t;
421
422 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP12(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP12(uint64_t a)423 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP12(uint64_t a)
424 {
425 if (a <= 19)
426 return 0x87e1b0230030ll + 0x1000000ll * ((a) & 0x1f);
427 __ody_csr_fatal("DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP12", 1, a, 0, 0, 0, 0, 0);
428 }
429
430 #define typedef_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP12(a) ody_dssx_ddrctl_regb_addr_map0_addrmap12_t
431 #define bustype_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP12(a) CSR_TYPE_RSL32b
432 #define basename_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP12(a) "DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP12"
433 #define device_bar_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP12(a) 0x0 /* PF_BAR0 */
434 #define busnum_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP12(a) (a)
435 #define arguments_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP12(a) (a), -1, -1, -1
436
437 /**
438 * Register (RSL32b) dss#_ddrctl_regb_addr_map0_addrmap3
439 *
440 * DSS Ddrctl Regb Addr Map0 Addrmap3 Register
441 * Address Map Register 3
442 */
443 union ody_dssx_ddrctl_regb_addr_map0_addrmap3 {
444 uint32_t u;
445 struct ody_dssx_ddrctl_regb_addr_map0_addrmap3_s {
446 uint32_t addrmap_bank_b0 : 6;
447 uint32_t reserved_6_7 : 2;
448 uint32_t addrmap_bank_b1 : 6;
449 uint32_t reserved_14_31 : 18;
450 } s;
451 /* struct ody_dssx_ddrctl_regb_addr_map0_addrmap3_s cn; */
452 };
453 typedef union ody_dssx_ddrctl_regb_addr_map0_addrmap3 ody_dssx_ddrctl_regb_addr_map0_addrmap3_t;
454
455 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP3(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP3(uint64_t a)456 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP3(uint64_t a)
457 {
458 if (a <= 19)
459 return 0x87e1b023000cll + 0x1000000ll * ((a) & 0x1f);
460 __ody_csr_fatal("DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP3", 1, a, 0, 0, 0, 0, 0);
461 }
462
463 #define typedef_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP3(a) ody_dssx_ddrctl_regb_addr_map0_addrmap3_t
464 #define bustype_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP3(a) CSR_TYPE_RSL32b
465 #define basename_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP3(a) "DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP3"
466 #define device_bar_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP3(a) 0x0 /* PF_BAR0 */
467 #define busnum_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP3(a) (a)
468 #define arguments_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP3(a) (a), -1, -1, -1
469
470 /**
471 * Register (RSL32b) dss#_ddrctl_regb_addr_map0_addrmap4
472 *
473 * DSS Ddrctl Regb Addr Map0 Addrmap4 Register
474 * Address Map Register 4
475 */
476 union ody_dssx_ddrctl_regb_addr_map0_addrmap4 {
477 uint32_t u;
478 struct ody_dssx_ddrctl_regb_addr_map0_addrmap4_s {
479 uint32_t addrmap_bg_b0 : 6;
480 uint32_t reserved_6_7 : 2;
481 uint32_t addrmap_bg_b1 : 6;
482 uint32_t reserved_14_15 : 2;
483 uint32_t addrmap_bg_b2 : 6;
484 uint32_t reserved_22_31 : 10;
485 } s;
486 /* struct ody_dssx_ddrctl_regb_addr_map0_addrmap4_s cn; */
487 };
488 typedef union ody_dssx_ddrctl_regb_addr_map0_addrmap4 ody_dssx_ddrctl_regb_addr_map0_addrmap4_t;
489
490 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP4(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP4(uint64_t a)491 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP4(uint64_t a)
492 {
493 if (a <= 19)
494 return 0x87e1b0230010ll + 0x1000000ll * ((a) & 0x1f);
495 __ody_csr_fatal("DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP4", 1, a, 0, 0, 0, 0, 0);
496 }
497
498 #define typedef_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP4(a) ody_dssx_ddrctl_regb_addr_map0_addrmap4_t
499 #define bustype_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP4(a) CSR_TYPE_RSL32b
500 #define basename_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP4(a) "DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP4"
501 #define device_bar_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP4(a) 0x0 /* PF_BAR0 */
502 #define busnum_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP4(a) (a)
503 #define arguments_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP4(a) (a), -1, -1, -1
504
505 /**
506 * Register (RSL32b) dss#_ddrctl_regb_addr_map0_addrmap5
507 *
508 * DSS Ddrctl Regb Addr Map0 Addrmap5 Register
509 * Address Map Register 5
510 */
511 union ody_dssx_ddrctl_regb_addr_map0_addrmap5 {
512 uint32_t u;
513 struct ody_dssx_ddrctl_regb_addr_map0_addrmap5_s {
514 uint32_t addrmap_col_b7 : 5;
515 uint32_t reserved_5_7 : 3;
516 uint32_t addrmap_col_b8 : 5;
517 uint32_t reserved_13_15 : 3;
518 uint32_t addrmap_col_b9 : 5;
519 uint32_t reserved_21_23 : 3;
520 uint32_t addrmap_col_b10 : 5;
521 uint32_t reserved_29_31 : 3;
522 } s;
523 /* struct ody_dssx_ddrctl_regb_addr_map0_addrmap5_s cn; */
524 };
525 typedef union ody_dssx_ddrctl_regb_addr_map0_addrmap5 ody_dssx_ddrctl_regb_addr_map0_addrmap5_t;
526
527 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP5(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP5(uint64_t a)528 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP5(uint64_t a)
529 {
530 if (a <= 19)
531 return 0x87e1b0230014ll + 0x1000000ll * ((a) & 0x1f);
532 __ody_csr_fatal("DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP5", 1, a, 0, 0, 0, 0, 0);
533 }
534
535 #define typedef_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP5(a) ody_dssx_ddrctl_regb_addr_map0_addrmap5_t
536 #define bustype_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP5(a) CSR_TYPE_RSL32b
537 #define basename_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP5(a) "DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP5"
538 #define device_bar_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP5(a) 0x0 /* PF_BAR0 */
539 #define busnum_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP5(a) (a)
540 #define arguments_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP5(a) (a), -1, -1, -1
541
542 /**
543 * Register (RSL32b) dss#_ddrctl_regb_addr_map0_addrmap6
544 *
545 * DSS Ddrctl Regb Addr Map0 Addrmap6 Register
546 * Address Map Register 6
547 */
548 union ody_dssx_ddrctl_regb_addr_map0_addrmap6 {
549 uint32_t u;
550 struct ody_dssx_ddrctl_regb_addr_map0_addrmap6_s {
551 uint32_t addrmap_col_b3 : 4;
552 uint32_t reserved_4_7 : 4;
553 uint32_t addrmap_col_b4 : 4;
554 uint32_t reserved_12_15 : 4;
555 uint32_t addrmap_col_b5 : 4;
556 uint32_t reserved_20_23 : 4;
557 uint32_t addrmap_col_b6 : 4;
558 uint32_t reserved_28_31 : 4;
559 } s;
560 /* struct ody_dssx_ddrctl_regb_addr_map0_addrmap6_s cn; */
561 };
562 typedef union ody_dssx_ddrctl_regb_addr_map0_addrmap6 ody_dssx_ddrctl_regb_addr_map0_addrmap6_t;
563
564 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP6(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP6(uint64_t a)565 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP6(uint64_t a)
566 {
567 if (a <= 19)
568 return 0x87e1b0230018ll + 0x1000000ll * ((a) & 0x1f);
569 __ody_csr_fatal("DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP6", 1, a, 0, 0, 0, 0, 0);
570 }
571
572 #define typedef_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP6(a) ody_dssx_ddrctl_regb_addr_map0_addrmap6_t
573 #define bustype_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP6(a) CSR_TYPE_RSL32b
574 #define basename_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP6(a) "DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP6"
575 #define device_bar_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP6(a) 0x0 /* PF_BAR0 */
576 #define busnum_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP6(a) (a)
577 #define arguments_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP6(a) (a), -1, -1, -1
578
579 /**
580 * Register (RSL32b) dss#_ddrctl_regb_addr_map0_addrmap7
581 *
582 * DSS Ddrctl Regb Addr Map0 Addrmap7 Register
583 * Address Map Register 7
584 */
585 union ody_dssx_ddrctl_regb_addr_map0_addrmap7 {
586 uint32_t u;
587 struct ody_dssx_ddrctl_regb_addr_map0_addrmap7_s {
588 uint32_t addrmap_row_b14 : 5;
589 uint32_t reserved_5_7 : 3;
590 uint32_t addrmap_row_b15 : 5;
591 uint32_t reserved_13_15 : 3;
592 uint32_t addrmap_row_b16 : 5;
593 uint32_t reserved_21_23 : 3;
594 uint32_t addrmap_row_b17 : 5;
595 uint32_t reserved_29_31 : 3;
596 } s;
597 /* struct ody_dssx_ddrctl_regb_addr_map0_addrmap7_s cn; */
598 };
599 typedef union ody_dssx_ddrctl_regb_addr_map0_addrmap7 ody_dssx_ddrctl_regb_addr_map0_addrmap7_t;
600
601 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP7(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP7(uint64_t a)602 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP7(uint64_t a)
603 {
604 if (a <= 19)
605 return 0x87e1b023001cll + 0x1000000ll * ((a) & 0x1f);
606 __ody_csr_fatal("DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP7", 1, a, 0, 0, 0, 0, 0);
607 }
608
609 #define typedef_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP7(a) ody_dssx_ddrctl_regb_addr_map0_addrmap7_t
610 #define bustype_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP7(a) CSR_TYPE_RSL32b
611 #define basename_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP7(a) "DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP7"
612 #define device_bar_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP7(a) 0x0 /* PF_BAR0 */
613 #define busnum_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP7(a) (a)
614 #define arguments_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP7(a) (a), -1, -1, -1
615
616 /**
617 * Register (RSL32b) dss#_ddrctl_regb_addr_map0_addrmap8
618 *
619 * DSS Ddrctl Regb Addr Map0 Addrmap8 Register
620 * Address Map Register 8
621 */
622 union ody_dssx_ddrctl_regb_addr_map0_addrmap8 {
623 uint32_t u;
624 struct ody_dssx_ddrctl_regb_addr_map0_addrmap8_s {
625 uint32_t addrmap_row_b10 : 5;
626 uint32_t reserved_5_7 : 3;
627 uint32_t addrmap_row_b11 : 5;
628 uint32_t reserved_13_15 : 3;
629 uint32_t addrmap_row_b12 : 5;
630 uint32_t reserved_21_23 : 3;
631 uint32_t addrmap_row_b13 : 5;
632 uint32_t reserved_29_31 : 3;
633 } s;
634 /* struct ody_dssx_ddrctl_regb_addr_map0_addrmap8_s cn; */
635 };
636 typedef union ody_dssx_ddrctl_regb_addr_map0_addrmap8 ody_dssx_ddrctl_regb_addr_map0_addrmap8_t;
637
638 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP8(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP8(uint64_t a)639 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP8(uint64_t a)
640 {
641 if (a <= 19)
642 return 0x87e1b0230020ll + 0x1000000ll * ((a) & 0x1f);
643 __ody_csr_fatal("DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP8", 1, a, 0, 0, 0, 0, 0);
644 }
645
646 #define typedef_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP8(a) ody_dssx_ddrctl_regb_addr_map0_addrmap8_t
647 #define bustype_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP8(a) CSR_TYPE_RSL32b
648 #define basename_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP8(a) "DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP8"
649 #define device_bar_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP8(a) 0x0 /* PF_BAR0 */
650 #define busnum_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP8(a) (a)
651 #define arguments_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP8(a) (a), -1, -1, -1
652
653 /**
654 * Register (RSL32b) dss#_ddrctl_regb_addr_map0_addrmap9
655 *
656 * DSS Ddrctl Regb Addr Map0 Addrmap9 Register
657 * Address Map Register 9
658 */
659 union ody_dssx_ddrctl_regb_addr_map0_addrmap9 {
660 uint32_t u;
661 struct ody_dssx_ddrctl_regb_addr_map0_addrmap9_s {
662 uint32_t addrmap_row_b6 : 5;
663 uint32_t reserved_5_7 : 3;
664 uint32_t addrmap_row_b7 : 5;
665 uint32_t reserved_13_15 : 3;
666 uint32_t addrmap_row_b8 : 5;
667 uint32_t reserved_21_23 : 3;
668 uint32_t addrmap_row_b9 : 5;
669 uint32_t reserved_29_31 : 3;
670 } s;
671 /* struct ody_dssx_ddrctl_regb_addr_map0_addrmap9_s cn; */
672 };
673 typedef union ody_dssx_ddrctl_regb_addr_map0_addrmap9 ody_dssx_ddrctl_regb_addr_map0_addrmap9_t;
674
675 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP9(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP9(uint64_t a)676 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP9(uint64_t a)
677 {
678 if (a <= 19)
679 return 0x87e1b0230024ll + 0x1000000ll * ((a) & 0x1f);
680 __ody_csr_fatal("DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP9", 1, a, 0, 0, 0, 0, 0);
681 }
682
683 #define typedef_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP9(a) ody_dssx_ddrctl_regb_addr_map0_addrmap9_t
684 #define bustype_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP9(a) CSR_TYPE_RSL32b
685 #define basename_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP9(a) "DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP9"
686 #define device_bar_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP9(a) 0x0 /* PF_BAR0 */
687 #define busnum_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP9(a) (a)
688 #define arguments_ODY_DSSX_DDRCTL_REGB_ADDR_MAP0_ADDRMAP9(a) (a), -1, -1, -1
689
690 /**
691 * Register (RSL32b) dss#_ddrctl_regb_arb_port0_pcfgqos0
692 *
693 * DSS Ddrctl Regb Arb Port0 Pcfgqos0 Register
694 * Reserved.
695 */
696 union ody_dssx_ddrctl_regb_arb_port0_pcfgqos0 {
697 uint32_t u;
698 struct ody_dssx_ddrctl_regb_arb_port0_pcfgqos0_s {
699 uint32_t rqos_map_level1 : 4;
700 uint32_t reserved_4_15 : 12;
701 uint32_t rqos_map_region0 : 2;
702 uint32_t reserved_18_19 : 2;
703 uint32_t rqos_map_region1 : 2;
704 uint32_t reserved_22_31 : 10;
705 } s;
706 /* struct ody_dssx_ddrctl_regb_arb_port0_pcfgqos0_s cn; */
707 };
708 typedef union ody_dssx_ddrctl_regb_arb_port0_pcfgqos0 ody_dssx_ddrctl_regb_arb_port0_pcfgqos0_t;
709
710 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCFGQOS0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCFGQOS0(uint64_t a)711 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCFGQOS0(uint64_t a)
712 {
713 if (a <= 19)
714 return 0x87e1b0220094ll + 0x1000000ll * ((a) & 0x1f);
715 __ody_csr_fatal("DSSX_DDRCTL_REGB_ARB_PORT0_PCFGQOS0", 1, a, 0, 0, 0, 0, 0);
716 }
717
718 #define typedef_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCFGQOS0(a) ody_dssx_ddrctl_regb_arb_port0_pcfgqos0_t
719 #define bustype_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCFGQOS0(a) CSR_TYPE_RSL32b
720 #define basename_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCFGQOS0(a) "DSSX_DDRCTL_REGB_ARB_PORT0_PCFGQOS0"
721 #define device_bar_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCFGQOS0(a) 0x0 /* PF_BAR0 */
722 #define busnum_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCFGQOS0(a) (a)
723 #define arguments_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCFGQOS0(a) (a), -1, -1, -1
724
725 /**
726 * Register (RSL32b) dss#_ddrctl_regb_arb_port0_pcfgqos1
727 *
728 * DSS Ddrctl Regb Arb Port0 Pcfgqos1 Register
729 * Reserved.
730 */
731 union ody_dssx_ddrctl_regb_arb_port0_pcfgqos1 {
732 uint32_t u;
733 struct ody_dssx_ddrctl_regb_arb_port0_pcfgqos1_s {
734 uint32_t rqos_map_timeoutb : 11;
735 uint32_t reserved_11_15 : 5;
736 uint32_t rqos_map_timeoutr : 11;
737 uint32_t reserved_27_31 : 5;
738 } s;
739 /* struct ody_dssx_ddrctl_regb_arb_port0_pcfgqos1_s cn; */
740 };
741 typedef union ody_dssx_ddrctl_regb_arb_port0_pcfgqos1 ody_dssx_ddrctl_regb_arb_port0_pcfgqos1_t;
742
743 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCFGQOS1(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCFGQOS1(uint64_t a)744 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCFGQOS1(uint64_t a)
745 {
746 if (a <= 19)
747 return 0x87e1b0220098ll + 0x1000000ll * ((a) & 0x1f);
748 __ody_csr_fatal("DSSX_DDRCTL_REGB_ARB_PORT0_PCFGQOS1", 1, a, 0, 0, 0, 0, 0);
749 }
750
751 #define typedef_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCFGQOS1(a) ody_dssx_ddrctl_regb_arb_port0_pcfgqos1_t
752 #define bustype_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCFGQOS1(a) CSR_TYPE_RSL32b
753 #define basename_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCFGQOS1(a) "DSSX_DDRCTL_REGB_ARB_PORT0_PCFGQOS1"
754 #define device_bar_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCFGQOS1(a) 0x0 /* PF_BAR0 */
755 #define busnum_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCFGQOS1(a) (a)
756 #define arguments_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCFGQOS1(a) (a), -1, -1, -1
757
758 /**
759 * Register (RSL32b) dss#_ddrctl_regb_arb_port0_pcfgwqos0
760 *
761 * DSS Ddrctl Regb Arb Port0 Pcfgwqos0 Register
762 * Port n Write QoS Configuration Register 0
763 */
764 union ody_dssx_ddrctl_regb_arb_port0_pcfgwqos0 {
765 uint32_t u;
766 struct ody_dssx_ddrctl_regb_arb_port0_pcfgwqos0_s {
767 uint32_t wqos_map_level1 : 4;
768 uint32_t reserved_4_7 : 4;
769 uint32_t wqos_map_level2 : 4;
770 uint32_t reserved_12_15 : 4;
771 uint32_t wqos_map_region0 : 2;
772 uint32_t reserved_18_19 : 2;
773 uint32_t wqos_map_region1 : 2;
774 uint32_t reserved_22_23 : 2;
775 uint32_t wqos_map_region2 : 2;
776 uint32_t reserved_26_31 : 6;
777 } s;
778 /* struct ody_dssx_ddrctl_regb_arb_port0_pcfgwqos0_s cn; */
779 };
780 typedef union ody_dssx_ddrctl_regb_arb_port0_pcfgwqos0 ody_dssx_ddrctl_regb_arb_port0_pcfgwqos0_t;
781
782 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCFGWQOS0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCFGWQOS0(uint64_t a)783 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCFGWQOS0(uint64_t a)
784 {
785 if (a <= 19)
786 return 0x87e1b022009cll + 0x1000000ll * ((a) & 0x1f);
787 __ody_csr_fatal("DSSX_DDRCTL_REGB_ARB_PORT0_PCFGWQOS0", 1, a, 0, 0, 0, 0, 0);
788 }
789
790 #define typedef_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCFGWQOS0(a) ody_dssx_ddrctl_regb_arb_port0_pcfgwqos0_t
791 #define bustype_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCFGWQOS0(a) CSR_TYPE_RSL32b
792 #define basename_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCFGWQOS0(a) "DSSX_DDRCTL_REGB_ARB_PORT0_PCFGWQOS0"
793 #define device_bar_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCFGWQOS0(a) 0x0 /* PF_BAR0 */
794 #define busnum_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCFGWQOS0(a) (a)
795 #define arguments_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCFGWQOS0(a) (a), -1, -1, -1
796
797 /**
798 * Register (RSL32b) dss#_ddrctl_regb_arb_port0_pcfgwqos1
799 *
800 * DSS Ddrctl Regb Arb Port0 Pcfgwqos1 Register
801 * Port n Write QoS Configuration Register 1
802 */
803 union ody_dssx_ddrctl_regb_arb_port0_pcfgwqos1 {
804 uint32_t u;
805 struct ody_dssx_ddrctl_regb_arb_port0_pcfgwqos1_s {
806 uint32_t wqos_map_timeout1 : 11;
807 uint32_t reserved_11_15 : 5;
808 uint32_t wqos_map_timeout2 : 11;
809 uint32_t reserved_27_31 : 5;
810 } s;
811 /* struct ody_dssx_ddrctl_regb_arb_port0_pcfgwqos1_s cn; */
812 };
813 typedef union ody_dssx_ddrctl_regb_arb_port0_pcfgwqos1 ody_dssx_ddrctl_regb_arb_port0_pcfgwqos1_t;
814
815 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCFGWQOS1(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCFGWQOS1(uint64_t a)816 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCFGWQOS1(uint64_t a)
817 {
818 if (a <= 19)
819 return 0x87e1b02200a0ll + 0x1000000ll * ((a) & 0x1f);
820 __ody_csr_fatal("DSSX_DDRCTL_REGB_ARB_PORT0_PCFGWQOS1", 1, a, 0, 0, 0, 0, 0);
821 }
822
823 #define typedef_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCFGWQOS1(a) ody_dssx_ddrctl_regb_arb_port0_pcfgwqos1_t
824 #define bustype_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCFGWQOS1(a) CSR_TYPE_RSL32b
825 #define basename_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCFGWQOS1(a) "DSSX_DDRCTL_REGB_ARB_PORT0_PCFGWQOS1"
826 #define device_bar_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCFGWQOS1(a) 0x0 /* PF_BAR0 */
827 #define busnum_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCFGWQOS1(a) (a)
828 #define arguments_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCFGWQOS1(a) (a), -1, -1, -1
829
830 /**
831 * Register (RSL32b) dss#_ddrctl_regb_arb_port0_pchbcbusyh
832 *
833 * DSS Ddrctl Regb Arb Port0 Pchbcbusyh Register
834 * CHB Port CBUSY CAM HPR Threshold register
835 */
836 union ody_dssx_ddrctl_regb_arb_port0_pchbcbusyh {
837 uint32_t u;
838 struct ody_dssx_ddrctl_regb_arb_port0_pchbcbusyh_s {
839 uint32_t cam_busy_threshold_hpr : 7;
840 uint32_t reserved_7_9 : 3;
841 uint32_t cam_free_threshold_hpr : 7;
842 uint32_t reserved_17_19 : 3;
843 uint32_t cam_middle_threshold_hpr : 7;
844 uint32_t reserved_27_31 : 5;
845 } s;
846 /* struct ody_dssx_ddrctl_regb_arb_port0_pchbcbusyh_s cn; */
847 };
848 typedef union ody_dssx_ddrctl_regb_arb_port0_pchbcbusyh ody_dssx_ddrctl_regb_arb_port0_pchbcbusyh_t;
849
850 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBCBUSYH(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBCBUSYH(uint64_t a)851 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBCBUSYH(uint64_t a)
852 {
853 if (a <= 19)
854 return 0x87e1b0220920ll + 0x1000000ll * ((a) & 0x1f);
855 __ody_csr_fatal("DSSX_DDRCTL_REGB_ARB_PORT0_PCHBCBUSYH", 1, a, 0, 0, 0, 0, 0);
856 }
857
858 #define typedef_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBCBUSYH(a) ody_dssx_ddrctl_regb_arb_port0_pchbcbusyh_t
859 #define bustype_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBCBUSYH(a) CSR_TYPE_RSL32b
860 #define basename_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBCBUSYH(a) "DSSX_DDRCTL_REGB_ARB_PORT0_PCHBCBUSYH"
861 #define device_bar_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBCBUSYH(a) 0x0 /* PF_BAR0 */
862 #define busnum_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBCBUSYH(a) (a)
863 #define arguments_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBCBUSYH(a) (a), -1, -1, -1
864
865 /**
866 * Register (RSL32b) dss#_ddrctl_regb_arb_port0_pchbcbusyl
867 *
868 * DSS Ddrctl Regb Arb Port0 Pchbcbusyl Register
869 * CHB Port CBUSY CAM LPR Threshold register
870 */
871 union ody_dssx_ddrctl_regb_arb_port0_pchbcbusyl {
872 uint32_t u;
873 struct ody_dssx_ddrctl_regb_arb_port0_pchbcbusyl_s {
874 uint32_t cam_busy_threshold_lpr : 7;
875 uint32_t reserved_7_9 : 3;
876 uint32_t cam_free_threshold_lpr : 7;
877 uint32_t reserved_17_19 : 3;
878 uint32_t cam_middle_threshold_lpr : 7;
879 uint32_t reserved_27_31 : 5;
880 } s;
881 /* struct ody_dssx_ddrctl_regb_arb_port0_pchbcbusyl_s cn; */
882 };
883 typedef union ody_dssx_ddrctl_regb_arb_port0_pchbcbusyl ody_dssx_ddrctl_regb_arb_port0_pchbcbusyl_t;
884
885 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBCBUSYL(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBCBUSYL(uint64_t a)886 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBCBUSYL(uint64_t a)
887 {
888 if (a <= 19)
889 return 0x87e1b0220924ll + 0x1000000ll * ((a) & 0x1f);
890 __ody_csr_fatal("DSSX_DDRCTL_REGB_ARB_PORT0_PCHBCBUSYL", 1, a, 0, 0, 0, 0, 0);
891 }
892
893 #define typedef_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBCBUSYL(a) ody_dssx_ddrctl_regb_arb_port0_pchbcbusyl_t
894 #define bustype_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBCBUSYL(a) CSR_TYPE_RSL32b
895 #define basename_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBCBUSYL(a) "DSSX_DDRCTL_REGB_ARB_PORT0_PCHBCBUSYL"
896 #define device_bar_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBCBUSYL(a) 0x0 /* PF_BAR0 */
897 #define busnum_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBCBUSYL(a) (a)
898 #define arguments_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBCBUSYL(a) (a), -1, -1, -1
899
900 /**
901 * Register (RSL32b) dss#_ddrctl_regb_arb_port0_pchbcbusyw
902 *
903 * DSS Ddrctl Regb Arb Port0 Pchbcbusyw Register
904 * CHB Port CBUSY CAM WR Threshold register
905 */
906 union ody_dssx_ddrctl_regb_arb_port0_pchbcbusyw {
907 uint32_t u;
908 struct ody_dssx_ddrctl_regb_arb_port0_pchbcbusyw_s {
909 uint32_t cam_busy_threshold_wr : 7;
910 uint32_t reserved_7_9 : 3;
911 uint32_t cam_free_threshold_wr : 7;
912 uint32_t reserved_17_19 : 3;
913 uint32_t cam_middle_threshold_wr : 7;
914 uint32_t reserved_27_31 : 5;
915 } s;
916 /* struct ody_dssx_ddrctl_regb_arb_port0_pchbcbusyw_s cn; */
917 };
918 typedef union ody_dssx_ddrctl_regb_arb_port0_pchbcbusyw ody_dssx_ddrctl_regb_arb_port0_pchbcbusyw_t;
919
920 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBCBUSYW(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBCBUSYW(uint64_t a)921 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBCBUSYW(uint64_t a)
922 {
923 if (a <= 19)
924 return 0x87e1b0220928ll + 0x1000000ll * ((a) & 0x1f);
925 __ody_csr_fatal("DSSX_DDRCTL_REGB_ARB_PORT0_PCHBCBUSYW", 1, a, 0, 0, 0, 0, 0);
926 }
927
928 #define typedef_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBCBUSYW(a) ody_dssx_ddrctl_regb_arb_port0_pchbcbusyw_t
929 #define bustype_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBCBUSYW(a) CSR_TYPE_RSL32b
930 #define basename_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBCBUSYW(a) "DSSX_DDRCTL_REGB_ARB_PORT0_PCHBCBUSYW"
931 #define device_bar_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBCBUSYW(a) 0x0 /* PF_BAR0 */
932 #define busnum_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBCBUSYW(a) (a)
933 #define arguments_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBCBUSYW(a) (a), -1, -1, -1
934
935 /**
936 * Register (RSL32b) dss#_ddrctl_regb_arb_port0_pchblctrl
937 *
938 * DSS Ddrctl Regb Arb Port0 Pchblctrl Register
939 * CHB Port Link Control register
940 */
941 union ody_dssx_ddrctl_regb_arb_port0_pchblctrl {
942 uint32_t u;
943 struct ody_dssx_ddrctl_regb_arb_port0_pchblctrl_s {
944 uint32_t txsactive_en : 1;
945 uint32_t reserved_1_31 : 31;
946 } s;
947 /* struct ody_dssx_ddrctl_regb_arb_port0_pchblctrl_s cn; */
948 };
949 typedef union ody_dssx_ddrctl_regb_arb_port0_pchblctrl ody_dssx_ddrctl_regb_arb_port0_pchblctrl_t;
950
951 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBLCTRL(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBLCTRL(uint64_t a)952 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBLCTRL(uint64_t a)
953 {
954 if (a <= 19)
955 return 0x87e1b0220900ll + 0x1000000ll * ((a) & 0x1f);
956 __ody_csr_fatal("DSSX_DDRCTL_REGB_ARB_PORT0_PCHBLCTRL", 1, a, 0, 0, 0, 0, 0);
957 }
958
959 #define typedef_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBLCTRL(a) ody_dssx_ddrctl_regb_arb_port0_pchblctrl_t
960 #define bustype_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBLCTRL(a) CSR_TYPE_RSL32b
961 #define basename_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBLCTRL(a) "DSSX_DDRCTL_REGB_ARB_PORT0_PCHBLCTRL"
962 #define device_bar_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBLCTRL(a) 0x0 /* PF_BAR0 */
963 #define busnum_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBLCTRL(a) (a)
964 #define arguments_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBLCTRL(a) (a), -1, -1, -1
965
966 /**
967 * Register (RSL32b) dss#_ddrctl_regb_arb_port0_pchblstat0
968 *
969 * DSS Ddrctl Regb Arb Port0 Pchblstat0 Register
970 * CHB Port Link status register 0
971 */
972 union ody_dssx_ddrctl_regb_arb_port0_pchblstat0 {
973 uint32_t u;
974 struct ody_dssx_ddrctl_regb_arb_port0_pchblstat0_s {
975 uint32_t txsactive_status : 1;
976 uint32_t rxsactive_status : 1;
977 uint32_t tx_req : 1;
978 uint32_t tx_ack : 1;
979 uint32_t rx_req : 1;
980 uint32_t rx_ack : 1;
981 uint32_t reserved_6_31 : 26;
982 } s;
983 /* struct ody_dssx_ddrctl_regb_arb_port0_pchblstat0_s cn; */
984 };
985 typedef union ody_dssx_ddrctl_regb_arb_port0_pchblstat0 ody_dssx_ddrctl_regb_arb_port0_pchblstat0_t;
986
987 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBLSTAT0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBLSTAT0(uint64_t a)988 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBLSTAT0(uint64_t a)
989 {
990 if (a <= 19)
991 return 0x87e1b0220980ll + 0x1000000ll * ((a) & 0x1f);
992 __ody_csr_fatal("DSSX_DDRCTL_REGB_ARB_PORT0_PCHBLSTAT0", 1, a, 0, 0, 0, 0, 0);
993 }
994
995 #define typedef_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBLSTAT0(a) ody_dssx_ddrctl_regb_arb_port0_pchblstat0_t
996 #define bustype_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBLSTAT0(a) CSR_TYPE_RSL32b
997 #define basename_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBLSTAT0(a) "DSSX_DDRCTL_REGB_ARB_PORT0_PCHBLSTAT0"
998 #define device_bar_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBLSTAT0(a) 0x0 /* PF_BAR0 */
999 #define busnum_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBLSTAT0(a) (a)
1000 #define arguments_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBLSTAT0(a) (a), -1, -1, -1
1001
1002 /**
1003 * Register (RSL32b) dss#_ddrctl_regb_arb_port0_pchbprctmr
1004 *
1005 * DSS Ddrctl Regb Arb Port0 Pchbprctmr Register
1006 * CHB Port Prefetch cache eviction Timer register
1007 */
1008 union ody_dssx_ddrctl_regb_arb_port0_pchbprctmr {
1009 uint32_t u;
1010 struct ody_dssx_ddrctl_regb_arb_port0_pchbprctmr_s {
1011 uint32_t prc_exp_cnt : 10;
1012 uint32_t reserved_10_15 : 6;
1013 uint32_t exp_cnt_div : 2;
1014 uint32_t reserved_18_31 : 14;
1015 } s;
1016 /* struct ody_dssx_ddrctl_regb_arb_port0_pchbprctmr_s cn; */
1017 };
1018 typedef union ody_dssx_ddrctl_regb_arb_port0_pchbprctmr ody_dssx_ddrctl_regb_arb_port0_pchbprctmr_t;
1019
1020 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBPRCTMR(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBPRCTMR(uint64_t a)1021 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBPRCTMR(uint64_t a)
1022 {
1023 if (a <= 19)
1024 return 0x87e1b0220908ll + 0x1000000ll * ((a) & 0x1f);
1025 __ody_csr_fatal("DSSX_DDRCTL_REGB_ARB_PORT0_PCHBPRCTMR", 1, a, 0, 0, 0, 0, 0);
1026 }
1027
1028 #define typedef_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBPRCTMR(a) ody_dssx_ddrctl_regb_arb_port0_pchbprctmr_t
1029 #define bustype_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBPRCTMR(a) CSR_TYPE_RSL32b
1030 #define basename_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBPRCTMR(a) "DSSX_DDRCTL_REGB_ARB_PORT0_PCHBPRCTMR"
1031 #define device_bar_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBPRCTMR(a) 0x0 /* PF_BAR0 */
1032 #define busnum_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBPRCTMR(a) (a)
1033 #define arguments_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBPRCTMR(a) (a), -1, -1, -1
1034
1035 /**
1036 * Register (RSL32b) dss#_ddrctl_regb_arb_port0_pchbprotqctl
1037 *
1038 * DSS Ddrctl Regb Arb Port0 Pchbprotqctl Register
1039 * CHB Port Protocol Queue control register
1040 */
1041 union ody_dssx_ddrctl_regb_arb_port0_pchbprotqctl {
1042 uint32_t u;
1043 struct ody_dssx_ddrctl_regb_arb_port0_pchbprotqctl_s {
1044 uint32_t rpq_lpr_min : 7;
1045 uint32_t reserved_7 : 1;
1046 uint32_t rpq_hpr_min : 7;
1047 uint32_t reserved_15_31 : 17;
1048 } s;
1049 /* struct ody_dssx_ddrctl_regb_arb_port0_pchbprotqctl_s cn; */
1050 };
1051 typedef union ody_dssx_ddrctl_regb_arb_port0_pchbprotqctl ody_dssx_ddrctl_regb_arb_port0_pchbprotqctl_t;
1052
1053 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBPROTQCTL(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBPROTQCTL(uint64_t a)1054 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBPROTQCTL(uint64_t a)
1055 {
1056 if (a <= 19)
1057 return 0x87e1b022090cll + 0x1000000ll * ((a) & 0x1f);
1058 __ody_csr_fatal("DSSX_DDRCTL_REGB_ARB_PORT0_PCHBPROTQCTL", 1, a, 0, 0, 0, 0, 0);
1059 }
1060
1061 #define typedef_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBPROTQCTL(a) ody_dssx_ddrctl_regb_arb_port0_pchbprotqctl_t
1062 #define bustype_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBPROTQCTL(a) CSR_TYPE_RSL32b
1063 #define basename_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBPROTQCTL(a) "DSSX_DDRCTL_REGB_ARB_PORT0_PCHBPROTQCTL"
1064 #define device_bar_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBPROTQCTL(a) 0x0 /* PF_BAR0 */
1065 #define busnum_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBPROTQCTL(a) (a)
1066 #define arguments_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBPROTQCTL(a) (a), -1, -1, -1
1067
1068 /**
1069 * Register (RSL32b) dss#_ddrctl_regb_arb_port0_pchbrlstat
1070 *
1071 * DSS Ddrctl Regb Arb Port0 Pchbrlstat Register
1072 * CHB Port Retry List status register
1073 */
1074 union ody_dssx_ddrctl_regb_arb_port0_pchbrlstat {
1075 uint32_t u;
1076 struct ody_dssx_ddrctl_regb_arb_port0_pchbrlstat_s {
1077 uint32_t retry_list_empty : 1;
1078 uint32_t retry_list_full : 1;
1079 uint32_t pend_qos_type : 5;
1080 uint32_t reserved_7_31 : 25;
1081 } s;
1082 /* struct ody_dssx_ddrctl_regb_arb_port0_pchbrlstat_s cn; */
1083 };
1084 typedef union ody_dssx_ddrctl_regb_arb_port0_pchbrlstat ody_dssx_ddrctl_regb_arb_port0_pchbrlstat_t;
1085
1086 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBRLSTAT(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBRLSTAT(uint64_t a)1087 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBRLSTAT(uint64_t a)
1088 {
1089 if (a <= 19)
1090 return 0x87e1b0220990ll + 0x1000000ll * ((a) & 0x1f);
1091 __ody_csr_fatal("DSSX_DDRCTL_REGB_ARB_PORT0_PCHBRLSTAT", 1, a, 0, 0, 0, 0, 0);
1092 }
1093
1094 #define typedef_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBRLSTAT(a) ody_dssx_ddrctl_regb_arb_port0_pchbrlstat_t
1095 #define bustype_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBRLSTAT(a) CSR_TYPE_RSL32b
1096 #define basename_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBRLSTAT(a) "DSSX_DDRCTL_REGB_ARB_PORT0_PCHBRLSTAT"
1097 #define device_bar_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBRLSTAT(a) 0x0 /* PF_BAR0 */
1098 #define busnum_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBRLSTAT(a) (a)
1099 #define arguments_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBRLSTAT(a) (a), -1, -1, -1
1100
1101 /**
1102 * Register (RSL32b) dss#_ddrctl_regb_arb_port0_pchbrqos0
1103 *
1104 * DSS Ddrctl Regb Arb Port0 Pchbrqos0 Register
1105 * CHB Port n Read QoS Configuration Register 0
1106 */
1107 union ody_dssx_ddrctl_regb_arb_port0_pchbrqos0 {
1108 uint32_t u;
1109 struct ody_dssx_ddrctl_regb_arb_port0_pchbrqos0_s {
1110 uint32_t chb_rqos_map_level1 : 4;
1111 uint32_t reserved_4_7 : 4;
1112 uint32_t chb_rqos_map_level2 : 4;
1113 uint32_t reserved_12_15 : 4;
1114 uint32_t chb_rqos_map_region0 : 2;
1115 uint32_t reserved_18_19 : 2;
1116 uint32_t chb_rqos_map_region1 : 2;
1117 uint32_t reserved_22_23 : 2;
1118 uint32_t chb_rqos_map_region2 : 2;
1119 uint32_t reserved_26_31 : 6;
1120 } s;
1121 /* struct ody_dssx_ddrctl_regb_arb_port0_pchbrqos0_s cn; */
1122 };
1123 typedef union ody_dssx_ddrctl_regb_arb_port0_pchbrqos0 ody_dssx_ddrctl_regb_arb_port0_pchbrqos0_t;
1124
1125 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBRQOS0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBRQOS0(uint64_t a)1126 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBRQOS0(uint64_t a)
1127 {
1128 if (a <= 19)
1129 return 0x87e1b0220910ll + 0x1000000ll * ((a) & 0x1f);
1130 __ody_csr_fatal("DSSX_DDRCTL_REGB_ARB_PORT0_PCHBRQOS0", 1, a, 0, 0, 0, 0, 0);
1131 }
1132
1133 #define typedef_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBRQOS0(a) ody_dssx_ddrctl_regb_arb_port0_pchbrqos0_t
1134 #define bustype_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBRQOS0(a) CSR_TYPE_RSL32b
1135 #define basename_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBRQOS0(a) "DSSX_DDRCTL_REGB_ARB_PORT0_PCHBRQOS0"
1136 #define device_bar_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBRQOS0(a) 0x0 /* PF_BAR0 */
1137 #define busnum_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBRQOS0(a) (a)
1138 #define arguments_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBRQOS0(a) (a), -1, -1, -1
1139
1140 /**
1141 * Register (RSL32b) dss#_ddrctl_regb_arb_port0_pchbrqos1
1142 *
1143 * DSS Ddrctl Regb Arb Port0 Pchbrqos1 Register
1144 * CHB Port n Read QoS Configuration Register 1
1145 */
1146 union ody_dssx_ddrctl_regb_arb_port0_pchbrqos1 {
1147 uint32_t u;
1148 struct ody_dssx_ddrctl_regb_arb_port0_pchbrqos1_s {
1149 uint32_t vpr_uncrd_timeout : 11;
1150 uint32_t reserved_11_15 : 5;
1151 uint32_t vpr_crd_timeout : 11;
1152 uint32_t reserved_27_31 : 5;
1153 } s;
1154 /* struct ody_dssx_ddrctl_regb_arb_port0_pchbrqos1_s cn; */
1155 };
1156 typedef union ody_dssx_ddrctl_regb_arb_port0_pchbrqos1 ody_dssx_ddrctl_regb_arb_port0_pchbrqos1_t;
1157
1158 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBRQOS1(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBRQOS1(uint64_t a)1159 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBRQOS1(uint64_t a)
1160 {
1161 if (a <= 19)
1162 return 0x87e1b0220914ll + 0x1000000ll * ((a) & 0x1f);
1163 __ody_csr_fatal("DSSX_DDRCTL_REGB_ARB_PORT0_PCHBRQOS1", 1, a, 0, 0, 0, 0, 0);
1164 }
1165
1166 #define typedef_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBRQOS1(a) ody_dssx_ddrctl_regb_arb_port0_pchbrqos1_t
1167 #define bustype_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBRQOS1(a) CSR_TYPE_RSL32b
1168 #define basename_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBRQOS1(a) "DSSX_DDRCTL_REGB_ARB_PORT0_PCHBRQOS1"
1169 #define device_bar_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBRQOS1(a) 0x0 /* PF_BAR0 */
1170 #define busnum_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBRQOS1(a) (a)
1171 #define arguments_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBRQOS1(a) (a), -1, -1, -1
1172
1173 /**
1174 * Register (RSL32b) dss#_ddrctl_regb_arb_port0_pchbtctrl
1175 *
1176 * DSS Ddrctl Regb Arb Port0 Pchbtctrl Register
1177 * CHB Port Transaction Control register
1178 */
1179 union ody_dssx_ddrctl_regb_arb_port0_pchbtctrl {
1180 uint32_t u;
1181 struct ody_dssx_ddrctl_regb_arb_port0_pchbtctrl_s {
1182 uint32_t dis_prefetch : 1;
1183 uint32_t crc_ue_rsp_sel : 2;
1184 uint32_t reserved_3 : 1;
1185 uint32_t dbg_force_pcrd_steal_mode : 1;
1186 uint32_t reserved_5_31 : 27;
1187 } s;
1188 /* struct ody_dssx_ddrctl_regb_arb_port0_pchbtctrl_s cn; */
1189 };
1190 typedef union ody_dssx_ddrctl_regb_arb_port0_pchbtctrl ody_dssx_ddrctl_regb_arb_port0_pchbtctrl_t;
1191
1192 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBTCTRL(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBTCTRL(uint64_t a)1193 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBTCTRL(uint64_t a)
1194 {
1195 if (a <= 19)
1196 return 0x87e1b0220904ll + 0x1000000ll * ((a) & 0x1f);
1197 __ody_csr_fatal("DSSX_DDRCTL_REGB_ARB_PORT0_PCHBTCTRL", 1, a, 0, 0, 0, 0, 0);
1198 }
1199
1200 #define typedef_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBTCTRL(a) ody_dssx_ddrctl_regb_arb_port0_pchbtctrl_t
1201 #define bustype_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBTCTRL(a) CSR_TYPE_RSL32b
1202 #define basename_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBTCTRL(a) "DSSX_DDRCTL_REGB_ARB_PORT0_PCHBTCTRL"
1203 #define device_bar_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBTCTRL(a) 0x0 /* PF_BAR0 */
1204 #define busnum_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBTCTRL(a) (a)
1205 #define arguments_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBTCTRL(a) (a), -1, -1, -1
1206
1207 /**
1208 * Register (RSL32b) dss#_ddrctl_regb_arb_port0_pchbwqos0
1209 *
1210 * DSS Ddrctl Regb Arb Port0 Pchbwqos0 Register
1211 * CHB Port n Write QoS Configuration Register 0
1212 */
1213 union ody_dssx_ddrctl_regb_arb_port0_pchbwqos0 {
1214 uint32_t u;
1215 struct ody_dssx_ddrctl_regb_arb_port0_pchbwqos0_s {
1216 uint32_t chb_wqos_map_level1 : 4;
1217 uint32_t reserved_4_7 : 4;
1218 uint32_t chb_wqos_map_level2 : 4;
1219 uint32_t reserved_12_15 : 4;
1220 uint32_t chb_wqos_map_region0 : 2;
1221 uint32_t reserved_18_19 : 2;
1222 uint32_t chb_wqos_map_region1 : 2;
1223 uint32_t reserved_22_23 : 2;
1224 uint32_t chb_wqos_map_region2 : 2;
1225 uint32_t reserved_26_31 : 6;
1226 } s;
1227 /* struct ody_dssx_ddrctl_regb_arb_port0_pchbwqos0_s cn; */
1228 };
1229 typedef union ody_dssx_ddrctl_regb_arb_port0_pchbwqos0 ody_dssx_ddrctl_regb_arb_port0_pchbwqos0_t;
1230
1231 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBWQOS0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBWQOS0(uint64_t a)1232 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBWQOS0(uint64_t a)
1233 {
1234 if (a <= 19)
1235 return 0x87e1b0220918ll + 0x1000000ll * ((a) & 0x1f);
1236 __ody_csr_fatal("DSSX_DDRCTL_REGB_ARB_PORT0_PCHBWQOS0", 1, a, 0, 0, 0, 0, 0);
1237 }
1238
1239 #define typedef_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBWQOS0(a) ody_dssx_ddrctl_regb_arb_port0_pchbwqos0_t
1240 #define bustype_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBWQOS0(a) CSR_TYPE_RSL32b
1241 #define basename_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBWQOS0(a) "DSSX_DDRCTL_REGB_ARB_PORT0_PCHBWQOS0"
1242 #define device_bar_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBWQOS0(a) 0x0 /* PF_BAR0 */
1243 #define busnum_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBWQOS0(a) (a)
1244 #define arguments_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBWQOS0(a) (a), -1, -1, -1
1245
1246 /**
1247 * Register (RSL32b) dss#_ddrctl_regb_arb_port0_pchbwqos1
1248 *
1249 * DSS Ddrctl Regb Arb Port0 Pchbwqos1 Register
1250 * CHB Port n Write QoS Configuration Register 1
1251 */
1252 union ody_dssx_ddrctl_regb_arb_port0_pchbwqos1 {
1253 uint32_t u;
1254 struct ody_dssx_ddrctl_regb_arb_port0_pchbwqos1_s {
1255 uint32_t vpw_uncrd_timeout : 11;
1256 uint32_t reserved_11_15 : 5;
1257 uint32_t vpw_crd_timeout : 11;
1258 uint32_t reserved_27_31 : 5;
1259 } s;
1260 /* struct ody_dssx_ddrctl_regb_arb_port0_pchbwqos1_s cn; */
1261 };
1262 typedef union ody_dssx_ddrctl_regb_arb_port0_pchbwqos1 ody_dssx_ddrctl_regb_arb_port0_pchbwqos1_t;
1263
1264 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBWQOS1(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBWQOS1(uint64_t a)1265 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBWQOS1(uint64_t a)
1266 {
1267 if (a <= 19)
1268 return 0x87e1b022091cll + 0x1000000ll * ((a) & 0x1f);
1269 __ody_csr_fatal("DSSX_DDRCTL_REGB_ARB_PORT0_PCHBWQOS1", 1, a, 0, 0, 0, 0, 0);
1270 }
1271
1272 #define typedef_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBWQOS1(a) ody_dssx_ddrctl_regb_arb_port0_pchbwqos1_t
1273 #define bustype_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBWQOS1(a) CSR_TYPE_RSL32b
1274 #define basename_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBWQOS1(a) "DSSX_DDRCTL_REGB_ARB_PORT0_PCHBWQOS1"
1275 #define device_bar_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBWQOS1(a) 0x0 /* PF_BAR0 */
1276 #define busnum_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBWQOS1(a) (a)
1277 #define arguments_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCHBWQOS1(a) (a), -1, -1, -1
1278
1279 /**
1280 * Register (RSL32b) dss#_ddrctl_regb_arb_port0_pctrl
1281 *
1282 * DSS Ddrctl Regb Arb Port0 Pctrl Register
1283 * Port Control Register
1284 */
1285 union ody_dssx_ddrctl_regb_arb_port0_pctrl {
1286 uint32_t u;
1287 struct ody_dssx_ddrctl_regb_arb_port0_pctrl_s {
1288 uint32_t port_en : 1;
1289 uint32_t reserved_1_31 : 31;
1290 } s;
1291 /* struct ody_dssx_ddrctl_regb_arb_port0_pctrl_s cn; */
1292 };
1293 typedef union ody_dssx_ddrctl_regb_arb_port0_pctrl ody_dssx_ddrctl_regb_arb_port0_pctrl_t;
1294
1295 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCTRL(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCTRL(uint64_t a)1296 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCTRL(uint64_t a)
1297 {
1298 if (a <= 19)
1299 return 0x87e1b0220090ll + 0x1000000ll * ((a) & 0x1f);
1300 __ody_csr_fatal("DSSX_DDRCTL_REGB_ARB_PORT0_PCTRL", 1, a, 0, 0, 0, 0, 0);
1301 }
1302
1303 #define typedef_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCTRL(a) ody_dssx_ddrctl_regb_arb_port0_pctrl_t
1304 #define bustype_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCTRL(a) CSR_TYPE_RSL32b
1305 #define basename_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCTRL(a) "DSSX_DDRCTL_REGB_ARB_PORT0_PCTRL"
1306 #define device_bar_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCTRL(a) 0x0 /* PF_BAR0 */
1307 #define busnum_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCTRL(a) (a)
1308 #define arguments_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PCTRL(a) (a), -1, -1, -1
1309
1310 /**
1311 * Register (RSL32b) dss#_ddrctl_regb_arb_port0_pstat
1312 *
1313 * DSS Ddrctl Regb Arb Port0 Pstat Register
1314 * Port Status Register
1315 */
1316 union ody_dssx_ddrctl_regb_arb_port0_pstat {
1317 uint32_t u;
1318 struct ody_dssx_ddrctl_regb_arb_port0_pstat_s {
1319 uint32_t rd_port_busy_0 : 1;
1320 uint32_t reserved_1_15 : 15;
1321 uint32_t wr_port_busy_0 : 1;
1322 uint32_t reserved_17_31 : 15;
1323 } s;
1324 /* struct ody_dssx_ddrctl_regb_arb_port0_pstat_s cn; */
1325 };
1326 typedef union ody_dssx_ddrctl_regb_arb_port0_pstat ody_dssx_ddrctl_regb_arb_port0_pstat_t;
1327
1328 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PSTAT(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PSTAT(uint64_t a)1329 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PSTAT(uint64_t a)
1330 {
1331 if (a <= 19)
1332 return 0x87e1b0220114ll + 0x1000000ll * ((a) & 0x1f);
1333 __ody_csr_fatal("DSSX_DDRCTL_REGB_ARB_PORT0_PSTAT", 1, a, 0, 0, 0, 0, 0);
1334 }
1335
1336 #define typedef_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PSTAT(a) ody_dssx_ddrctl_regb_arb_port0_pstat_t
1337 #define bustype_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PSTAT(a) CSR_TYPE_RSL32b
1338 #define basename_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PSTAT(a) "DSSX_DDRCTL_REGB_ARB_PORT0_PSTAT"
1339 #define device_bar_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PSTAT(a) 0x0 /* PF_BAR0 */
1340 #define busnum_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PSTAT(a) (a)
1341 #define arguments_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_PSTAT(a) (a), -1, -1, -1
1342
1343 /**
1344 * Register (RSL32b) dss#_ddrctl_regb_arb_port0_sbraddrlog0
1345 *
1346 * DSS Ddrctl Regb Arb Port0 Sbraddrlog0 Register
1347 * Lower 32 bits of last generated scrubber address
1348 */
1349 union ody_dssx_ddrctl_regb_arb_port0_sbraddrlog0 {
1350 uint32_t u;
1351 struct ody_dssx_ddrctl_regb_arb_port0_sbraddrlog0_s {
1352 uint32_t scrub_addr_log0 : 32;
1353 } s;
1354 /* struct ody_dssx_ddrctl_regb_arb_port0_sbraddrlog0_s cn; */
1355 };
1356 typedef union ody_dssx_ddrctl_regb_arb_port0_sbraddrlog0 ody_dssx_ddrctl_regb_arb_port0_sbraddrlog0_t;
1357
1358 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRADDRLOG0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRADDRLOG0(uint64_t a)1359 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRADDRLOG0(uint64_t a)
1360 {
1361 if (a <= 19)
1362 return 0x87e1b022011cll + 0x1000000ll * ((a) & 0x1f);
1363 __ody_csr_fatal("DSSX_DDRCTL_REGB_ARB_PORT0_SBRADDRLOG0", 1, a, 0, 0, 0, 0, 0);
1364 }
1365
1366 #define typedef_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRADDRLOG0(a) ody_dssx_ddrctl_regb_arb_port0_sbraddrlog0_t
1367 #define bustype_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRADDRLOG0(a) CSR_TYPE_RSL32b
1368 #define basename_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRADDRLOG0(a) "DSSX_DDRCTL_REGB_ARB_PORT0_SBRADDRLOG0"
1369 #define device_bar_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRADDRLOG0(a) 0x0 /* PF_BAR0 */
1370 #define busnum_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRADDRLOG0(a) (a)
1371 #define arguments_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRADDRLOG0(a) (a), -1, -1, -1
1372
1373 /**
1374 * Register (RSL32b) dss#_ddrctl_regb_arb_port0_sbraddrlog1
1375 *
1376 * DSS Ddrctl Regb Arb Port0 Sbraddrlog1 Register
1377 * Higher MEMC_HIF_ADDR_WIDTH-32 bits of last generated scrubber address
1378 */
1379 union ody_dssx_ddrctl_regb_arb_port0_sbraddrlog1 {
1380 uint32_t u;
1381 struct ody_dssx_ddrctl_regb_arb_port0_sbraddrlog1_s {
1382 uint32_t scrub_addr_log1 : 3;
1383 uint32_t reserved_3_31 : 29;
1384 } s;
1385 /* struct ody_dssx_ddrctl_regb_arb_port0_sbraddrlog1_s cn; */
1386 };
1387 typedef union ody_dssx_ddrctl_regb_arb_port0_sbraddrlog1 ody_dssx_ddrctl_regb_arb_port0_sbraddrlog1_t;
1388
1389 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRADDRLOG1(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRADDRLOG1(uint64_t a)1390 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRADDRLOG1(uint64_t a)
1391 {
1392 if (a <= 19)
1393 return 0x87e1b0220120ll + 0x1000000ll * ((a) & 0x1f);
1394 __ody_csr_fatal("DSSX_DDRCTL_REGB_ARB_PORT0_SBRADDRLOG1", 1, a, 0, 0, 0, 0, 0);
1395 }
1396
1397 #define typedef_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRADDRLOG1(a) ody_dssx_ddrctl_regb_arb_port0_sbraddrlog1_t
1398 #define bustype_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRADDRLOG1(a) CSR_TYPE_RSL32b
1399 #define basename_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRADDRLOG1(a) "DSSX_DDRCTL_REGB_ARB_PORT0_SBRADDRLOG1"
1400 #define device_bar_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRADDRLOG1(a) 0x0 /* PF_BAR0 */
1401 #define busnum_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRADDRLOG1(a) (a)
1402 #define arguments_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRADDRLOG1(a) (a), -1, -1, -1
1403
1404 /**
1405 * Register (RSL32b) dss#_ddrctl_regb_arb_port0_sbraddrrestore0
1406 *
1407 * DSS Ddrctl Regb Arb Port0 Sbraddrrestore0 Register
1408 * Lower 32 bits of address to be loaded to the scrubber
1409 */
1410 union ody_dssx_ddrctl_regb_arb_port0_sbraddrrestore0 {
1411 uint32_t u;
1412 struct ody_dssx_ddrctl_regb_arb_port0_sbraddrrestore0_s {
1413 uint32_t scrub_restore_address0 : 32;
1414 } s;
1415 /* struct ody_dssx_ddrctl_regb_arb_port0_sbraddrrestore0_s cn; */
1416 };
1417 typedef union ody_dssx_ddrctl_regb_arb_port0_sbraddrrestore0 ody_dssx_ddrctl_regb_arb_port0_sbraddrrestore0_t;
1418
1419 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRADDRRESTORE0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRADDRRESTORE0(uint64_t a)1420 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRADDRRESTORE0(uint64_t a)
1421 {
1422 if (a <= 19)
1423 return 0x87e1b0220124ll + 0x1000000ll * ((a) & 0x1f);
1424 __ody_csr_fatal("DSSX_DDRCTL_REGB_ARB_PORT0_SBRADDRRESTORE0", 1, a, 0, 0, 0, 0, 0);
1425 }
1426
1427 #define typedef_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRADDRRESTORE0(a) ody_dssx_ddrctl_regb_arb_port0_sbraddrrestore0_t
1428 #define bustype_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRADDRRESTORE0(a) CSR_TYPE_RSL32b
1429 #define basename_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRADDRRESTORE0(a) "DSSX_DDRCTL_REGB_ARB_PORT0_SBRADDRRESTORE0"
1430 #define device_bar_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRADDRRESTORE0(a) 0x0 /* PF_BAR0 */
1431 #define busnum_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRADDRRESTORE0(a) (a)
1432 #define arguments_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRADDRRESTORE0(a) (a), -1, -1, -1
1433
1434 /**
1435 * Register (RSL32b) dss#_ddrctl_regb_arb_port0_sbraddrrestore1
1436 *
1437 * DSS Ddrctl Regb Arb Port0 Sbraddrrestore1 Register
1438 * Higher MEMC_HIF_ADDR_WIDTH-32 bits of address to be loaded to the scrubber
1439 */
1440 union ody_dssx_ddrctl_regb_arb_port0_sbraddrrestore1 {
1441 uint32_t u;
1442 struct ody_dssx_ddrctl_regb_arb_port0_sbraddrrestore1_s {
1443 uint32_t scrub_restore_address1 : 3;
1444 uint32_t reserved_3_31 : 29;
1445 } s;
1446 /* struct ody_dssx_ddrctl_regb_arb_port0_sbraddrrestore1_s cn; */
1447 };
1448 typedef union ody_dssx_ddrctl_regb_arb_port0_sbraddrrestore1 ody_dssx_ddrctl_regb_arb_port0_sbraddrrestore1_t;
1449
1450 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRADDRRESTORE1(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRADDRRESTORE1(uint64_t a)1451 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRADDRRESTORE1(uint64_t a)
1452 {
1453 if (a <= 19)
1454 return 0x87e1b0220128ll + 0x1000000ll * ((a) & 0x1f);
1455 __ody_csr_fatal("DSSX_DDRCTL_REGB_ARB_PORT0_SBRADDRRESTORE1", 1, a, 0, 0, 0, 0, 0);
1456 }
1457
1458 #define typedef_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRADDRRESTORE1(a) ody_dssx_ddrctl_regb_arb_port0_sbraddrrestore1_t
1459 #define bustype_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRADDRRESTORE1(a) CSR_TYPE_RSL32b
1460 #define basename_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRADDRRESTORE1(a) "DSSX_DDRCTL_REGB_ARB_PORT0_SBRADDRRESTORE1"
1461 #define device_bar_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRADDRRESTORE1(a) 0x0 /* PF_BAR0 */
1462 #define busnum_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRADDRRESTORE1(a) (a)
1463 #define arguments_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRADDRRESTORE1(a) (a), -1, -1, -1
1464
1465 /**
1466 * Register (RSL32b) dss#_ddrctl_regb_arb_port0_sbrctl
1467 *
1468 * DSS Ddrctl Regb Arb Port0 Sbrctl Register
1469 * Scrubber Control Register
1470 */
1471 union ody_dssx_ddrctl_regb_arb_port0_sbrctl {
1472 uint32_t u;
1473 struct ody_dssx_ddrctl_regb_arb_port0_sbrctl_s {
1474 uint32_t scrub_en : 1;
1475 uint32_t scrub_during_lowpower : 1;
1476 uint32_t reserved_2_3 : 2;
1477 uint32_t scrub_burst_length_nm : 3;
1478 uint32_t reserved_7 : 1;
1479 uint32_t scrub_interval : 13;
1480 uint32_t reserved_21_23 : 3;
1481 uint32_t scrub_cmd_type : 2;
1482 uint32_t sbr_correction_mode : 2;
1483 uint32_t scrub_burst_length_lp : 3;
1484 uint32_t scrub_ue : 1;
1485 } s;
1486 /* struct ody_dssx_ddrctl_regb_arb_port0_sbrctl_s cn; */
1487 };
1488 typedef union ody_dssx_ddrctl_regb_arb_port0_sbrctl ody_dssx_ddrctl_regb_arb_port0_sbrctl_t;
1489
1490 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRCTL(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRCTL(uint64_t a)1491 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRCTL(uint64_t a)
1492 {
1493 if (a <= 19)
1494 return 0x87e1b02200e0ll + 0x1000000ll * ((a) & 0x1f);
1495 __ody_csr_fatal("DSSX_DDRCTL_REGB_ARB_PORT0_SBRCTL", 1, a, 0, 0, 0, 0, 0);
1496 }
1497
1498 #define typedef_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRCTL(a) ody_dssx_ddrctl_regb_arb_port0_sbrctl_t
1499 #define bustype_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRCTL(a) CSR_TYPE_RSL32b
1500 #define basename_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRCTL(a) "DSSX_DDRCTL_REGB_ARB_PORT0_SBRCTL"
1501 #define device_bar_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRCTL(a) 0x0 /* PF_BAR0 */
1502 #define busnum_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRCTL(a) (a)
1503 #define arguments_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRCTL(a) (a), -1, -1, -1
1504
1505 /**
1506 * Register (RSL32b) dss#_ddrctl_regb_arb_port0_sbrlpctl
1507 *
1508 * DSS Ddrctl Regb Arb Port0 Sbrlpctl Register
1509 * Scrubber DDR5 low power modes control register
1510 */
1511 union ody_dssx_ddrctl_regb_arb_port0_sbrlpctl {
1512 uint32_t u;
1513 struct ody_dssx_ddrctl_regb_arb_port0_sbrlpctl_s {
1514 uint32_t perrank_dis_scrub : 2;
1515 uint32_t reserved_2_3 : 2;
1516 uint32_t scrub_restore : 1;
1517 uint32_t reserved_5_31 : 27;
1518 } s;
1519 /* struct ody_dssx_ddrctl_regb_arb_port0_sbrlpctl_s cn; */
1520 };
1521 typedef union ody_dssx_ddrctl_regb_arb_port0_sbrlpctl ody_dssx_ddrctl_regb_arb_port0_sbrlpctl_t;
1522
1523 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRLPCTL(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRLPCTL(uint64_t a)1524 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRLPCTL(uint64_t a)
1525 {
1526 if (a <= 19)
1527 return 0x87e1b0220118ll + 0x1000000ll * ((a) & 0x1f);
1528 __ody_csr_fatal("DSSX_DDRCTL_REGB_ARB_PORT0_SBRLPCTL", 1, a, 0, 0, 0, 0, 0);
1529 }
1530
1531 #define typedef_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRLPCTL(a) ody_dssx_ddrctl_regb_arb_port0_sbrlpctl_t
1532 #define bustype_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRLPCTL(a) CSR_TYPE_RSL32b
1533 #define basename_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRLPCTL(a) "DSSX_DDRCTL_REGB_ARB_PORT0_SBRLPCTL"
1534 #define device_bar_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRLPCTL(a) 0x0 /* PF_BAR0 */
1535 #define busnum_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRLPCTL(a) (a)
1536 #define arguments_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRLPCTL(a) (a), -1, -1, -1
1537
1538 /**
1539 * Register (RSL32b) dss#_ddrctl_regb_arb_port0_sbrrange0
1540 *
1541 * DSS Ddrctl Regb Arb Port0 Sbrrange0 Register
1542 * Scrubber Address Range Mask Register 0
1543 */
1544 union ody_dssx_ddrctl_regb_arb_port0_sbrrange0 {
1545 uint32_t u;
1546 struct ody_dssx_ddrctl_regb_arb_port0_sbrrange0_s {
1547 uint32_t sbr_address_range_mask_0 : 32;
1548 } s;
1549 /* struct ody_dssx_ddrctl_regb_arb_port0_sbrrange0_s cn; */
1550 };
1551 typedef union ody_dssx_ddrctl_regb_arb_port0_sbrrange0 ody_dssx_ddrctl_regb_arb_port0_sbrrange0_t;
1552
1553 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRRANGE0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRRANGE0(uint64_t a)1554 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRRANGE0(uint64_t a)
1555 {
1556 if (a <= 19)
1557 return 0x87e1b02200f8ll + 0x1000000ll * ((a) & 0x1f);
1558 __ody_csr_fatal("DSSX_DDRCTL_REGB_ARB_PORT0_SBRRANGE0", 1, a, 0, 0, 0, 0, 0);
1559 }
1560
1561 #define typedef_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRRANGE0(a) ody_dssx_ddrctl_regb_arb_port0_sbrrange0_t
1562 #define bustype_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRRANGE0(a) CSR_TYPE_RSL32b
1563 #define basename_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRRANGE0(a) "DSSX_DDRCTL_REGB_ARB_PORT0_SBRRANGE0"
1564 #define device_bar_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRRANGE0(a) 0x0 /* PF_BAR0 */
1565 #define busnum_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRRANGE0(a) (a)
1566 #define arguments_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRRANGE0(a) (a), -1, -1, -1
1567
1568 /**
1569 * Register (RSL32b) dss#_ddrctl_regb_arb_port0_sbrrange1
1570 *
1571 * DSS Ddrctl Regb Arb Port0 Sbrrange1 Register
1572 * Scrubber Address Range Mask Register 1
1573 */
1574 union ody_dssx_ddrctl_regb_arb_port0_sbrrange1 {
1575 uint32_t u;
1576 struct ody_dssx_ddrctl_regb_arb_port0_sbrrange1_s {
1577 uint32_t sbr_address_range_mask_1 : 8;
1578 uint32_t reserved_8_31 : 24;
1579 } s;
1580 /* struct ody_dssx_ddrctl_regb_arb_port0_sbrrange1_s cn; */
1581 };
1582 typedef union ody_dssx_ddrctl_regb_arb_port0_sbrrange1 ody_dssx_ddrctl_regb_arb_port0_sbrrange1_t;
1583
1584 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRRANGE1(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRRANGE1(uint64_t a)1585 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRRANGE1(uint64_t a)
1586 {
1587 if (a <= 19)
1588 return 0x87e1b02200fcll + 0x1000000ll * ((a) & 0x1f);
1589 __ody_csr_fatal("DSSX_DDRCTL_REGB_ARB_PORT0_SBRRANGE1", 1, a, 0, 0, 0, 0, 0);
1590 }
1591
1592 #define typedef_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRRANGE1(a) ody_dssx_ddrctl_regb_arb_port0_sbrrange1_t
1593 #define bustype_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRRANGE1(a) CSR_TYPE_RSL32b
1594 #define basename_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRRANGE1(a) "DSSX_DDRCTL_REGB_ARB_PORT0_SBRRANGE1"
1595 #define device_bar_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRRANGE1(a) 0x0 /* PF_BAR0 */
1596 #define busnum_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRRANGE1(a) (a)
1597 #define arguments_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRRANGE1(a) (a), -1, -1, -1
1598
1599 /**
1600 * Register (RSL32b) dss#_ddrctl_regb_arb_port0_sbrstart0
1601 *
1602 * DSS Ddrctl Regb Arb Port0 Sbrstart0 Register
1603 * Scrubber Start Address Mask Register 0
1604 */
1605 union ody_dssx_ddrctl_regb_arb_port0_sbrstart0 {
1606 uint32_t u;
1607 struct ody_dssx_ddrctl_regb_arb_port0_sbrstart0_s {
1608 uint32_t sbr_address_start_mask_0 : 32;
1609 } s;
1610 /* struct ody_dssx_ddrctl_regb_arb_port0_sbrstart0_s cn; */
1611 };
1612 typedef union ody_dssx_ddrctl_regb_arb_port0_sbrstart0 ody_dssx_ddrctl_regb_arb_port0_sbrstart0_t;
1613
1614 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRSTART0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRSTART0(uint64_t a)1615 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRSTART0(uint64_t a)
1616 {
1617 if (a <= 19)
1618 return 0x87e1b02200f0ll + 0x1000000ll * ((a) & 0x1f);
1619 __ody_csr_fatal("DSSX_DDRCTL_REGB_ARB_PORT0_SBRSTART0", 1, a, 0, 0, 0, 0, 0);
1620 }
1621
1622 #define typedef_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRSTART0(a) ody_dssx_ddrctl_regb_arb_port0_sbrstart0_t
1623 #define bustype_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRSTART0(a) CSR_TYPE_RSL32b
1624 #define basename_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRSTART0(a) "DSSX_DDRCTL_REGB_ARB_PORT0_SBRSTART0"
1625 #define device_bar_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRSTART0(a) 0x0 /* PF_BAR0 */
1626 #define busnum_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRSTART0(a) (a)
1627 #define arguments_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRSTART0(a) (a), -1, -1, -1
1628
1629 /**
1630 * Register (RSL32b) dss#_ddrctl_regb_arb_port0_sbrstart1
1631 *
1632 * DSS Ddrctl Regb Arb Port0 Sbrstart1 Register
1633 * Scrubber Start Address Mask Register 1
1634 */
1635 union ody_dssx_ddrctl_regb_arb_port0_sbrstart1 {
1636 uint32_t u;
1637 struct ody_dssx_ddrctl_regb_arb_port0_sbrstart1_s {
1638 uint32_t sbr_address_start_mask_1 : 8;
1639 uint32_t reserved_8_31 : 24;
1640 } s;
1641 /* struct ody_dssx_ddrctl_regb_arb_port0_sbrstart1_s cn; */
1642 };
1643 typedef union ody_dssx_ddrctl_regb_arb_port0_sbrstart1 ody_dssx_ddrctl_regb_arb_port0_sbrstart1_t;
1644
1645 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRSTART1(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRSTART1(uint64_t a)1646 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRSTART1(uint64_t a)
1647 {
1648 if (a <= 19)
1649 return 0x87e1b02200f4ll + 0x1000000ll * ((a) & 0x1f);
1650 __ody_csr_fatal("DSSX_DDRCTL_REGB_ARB_PORT0_SBRSTART1", 1, a, 0, 0, 0, 0, 0);
1651 }
1652
1653 #define typedef_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRSTART1(a) ody_dssx_ddrctl_regb_arb_port0_sbrstart1_t
1654 #define bustype_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRSTART1(a) CSR_TYPE_RSL32b
1655 #define basename_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRSTART1(a) "DSSX_DDRCTL_REGB_ARB_PORT0_SBRSTART1"
1656 #define device_bar_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRSTART1(a) 0x0 /* PF_BAR0 */
1657 #define busnum_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRSTART1(a) (a)
1658 #define arguments_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRSTART1(a) (a), -1, -1, -1
1659
1660 /**
1661 * Register (RSL32b) dss#_ddrctl_regb_arb_port0_sbrstat
1662 *
1663 * DSS Ddrctl Regb Arb Port0 Sbrstat Register
1664 * Scrubber Status Register
1665 */
1666 union ody_dssx_ddrctl_regb_arb_port0_sbrstat {
1667 uint32_t u;
1668 struct ody_dssx_ddrctl_regb_arb_port0_sbrstat_s {
1669 uint32_t scrub_busy : 1;
1670 uint32_t scrub_done : 1;
1671 uint32_t reserved_2_3 : 2;
1672 uint32_t scrub_drop_cnt : 5;
1673 uint32_t reserved_9_31 : 23;
1674 } s;
1675 /* struct ody_dssx_ddrctl_regb_arb_port0_sbrstat_s cn; */
1676 };
1677 typedef union ody_dssx_ddrctl_regb_arb_port0_sbrstat ody_dssx_ddrctl_regb_arb_port0_sbrstat_t;
1678
1679 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRSTAT(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRSTAT(uint64_t a)1680 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRSTAT(uint64_t a)
1681 {
1682 if (a <= 19)
1683 return 0x87e1b02200e4ll + 0x1000000ll * ((a) & 0x1f);
1684 __ody_csr_fatal("DSSX_DDRCTL_REGB_ARB_PORT0_SBRSTAT", 1, a, 0, 0, 0, 0, 0);
1685 }
1686
1687 #define typedef_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRSTAT(a) ody_dssx_ddrctl_regb_arb_port0_sbrstat_t
1688 #define bustype_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRSTAT(a) CSR_TYPE_RSL32b
1689 #define basename_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRSTAT(a) "DSSX_DDRCTL_REGB_ARB_PORT0_SBRSTAT"
1690 #define device_bar_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRSTAT(a) 0x0 /* PF_BAR0 */
1691 #define busnum_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRSTAT(a) (a)
1692 #define arguments_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRSTAT(a) (a), -1, -1, -1
1693
1694 /**
1695 * Register (RSL32b) dss#_ddrctl_regb_arb_port0_sbrwdata0
1696 *
1697 * DSS Ddrctl Regb Arb Port0 Sbrwdata0 Register
1698 * Scrubber Write Data Pattern0
1699 */
1700 union ody_dssx_ddrctl_regb_arb_port0_sbrwdata0 {
1701 uint32_t u;
1702 struct ody_dssx_ddrctl_regb_arb_port0_sbrwdata0_s {
1703 uint32_t scrub_pattern0 : 32;
1704 } s;
1705 /* struct ody_dssx_ddrctl_regb_arb_port0_sbrwdata0_s cn; */
1706 };
1707 typedef union ody_dssx_ddrctl_regb_arb_port0_sbrwdata0 ody_dssx_ddrctl_regb_arb_port0_sbrwdata0_t;
1708
1709 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRWDATA0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRWDATA0(uint64_t a)1710 static inline uint64_t ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRWDATA0(uint64_t a)
1711 {
1712 if (a <= 19)
1713 return 0x87e1b02200e8ll + 0x1000000ll * ((a) & 0x1f);
1714 __ody_csr_fatal("DSSX_DDRCTL_REGB_ARB_PORT0_SBRWDATA0", 1, a, 0, 0, 0, 0, 0);
1715 }
1716
1717 #define typedef_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRWDATA0(a) ody_dssx_ddrctl_regb_arb_port0_sbrwdata0_t
1718 #define bustype_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRWDATA0(a) CSR_TYPE_RSL32b
1719 #define basename_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRWDATA0(a) "DSSX_DDRCTL_REGB_ARB_PORT0_SBRWDATA0"
1720 #define device_bar_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRWDATA0(a) 0x0 /* PF_BAR0 */
1721 #define busnum_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRWDATA0(a) (a)
1722 #define arguments_ODY_DSSX_DDRCTL_REGB_ARB_PORT0_SBRWDATA0(a) (a), -1, -1, -1
1723
1724 /**
1725 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_ns_mpamcfg_mbw_max
1726 *
1727 * DSS Ddrctl Regb Chb Mpam Ns Mpamcfg Mbw Max Register
1728 * MPAM memory maximum bandwidth partitioning partition configuration register.
1729 */
1730 union ody_dssx_ddrctl_regb_chb_mpam_ns_mpamcfg_mbw_max {
1731 uint32_t u;
1732 struct ody_dssx_ddrctl_regb_chb_mpam_ns_mpamcfg_mbw_max_s {
1733 uint32_t unimpl : 8;
1734 uint32_t max : 8;
1735 uint32_t reserved_16_31 : 16;
1736 } s;
1737 /* struct ody_dssx_ddrctl_regb_chb_mpam_ns_mpamcfg_mbw_max_s cn; */
1738 };
1739 typedef union ody_dssx_ddrctl_regb_chb_mpam_ns_mpamcfg_mbw_max ody_dssx_ddrctl_regb_chb_mpam_ns_mpamcfg_mbw_max_t;
1740
1741 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMCFG_MBW_MAX(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMCFG_MBW_MAX(uint64_t a)1742 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMCFG_MBW_MAX(uint64_t a)
1743 {
1744 if (a <= 19)
1745 return 0x87e1b0240208ll + 0x1000000ll * ((a) & 0x1f);
1746 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMCFG_MBW_MAX", 1, a, 0, 0, 0, 0, 0);
1747 }
1748
1749 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMCFG_MBW_MAX(a) ody_dssx_ddrctl_regb_chb_mpam_ns_mpamcfg_mbw_max_t
1750 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMCFG_MBW_MAX(a) CSR_TYPE_RSL32b
1751 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMCFG_MBW_MAX(a) "DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMCFG_MBW_MAX"
1752 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMCFG_MBW_MAX(a) 0x0 /* PF_BAR0 */
1753 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMCFG_MBW_MAX(a) (a)
1754 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMCFG_MBW_MAX(a) (a), -1, -1, -1
1755
1756 /**
1757 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_ns_mpamcfg_mbw_min
1758 *
1759 * DSS Ddrctl Regb Chb Mpam Ns Mpamcfg Mbw Min Register
1760 * MPAM memory minimum bandwidth partitioning partition configuration register.
1761 */
1762 union ody_dssx_ddrctl_regb_chb_mpam_ns_mpamcfg_mbw_min {
1763 uint32_t u;
1764 struct ody_dssx_ddrctl_regb_chb_mpam_ns_mpamcfg_mbw_min_s {
1765 uint32_t unimpl : 8;
1766 uint32_t min : 8;
1767 uint32_t reserved_16_31 : 16;
1768 } s;
1769 /* struct ody_dssx_ddrctl_regb_chb_mpam_ns_mpamcfg_mbw_min_s cn; */
1770 };
1771 typedef union ody_dssx_ddrctl_regb_chb_mpam_ns_mpamcfg_mbw_min ody_dssx_ddrctl_regb_chb_mpam_ns_mpamcfg_mbw_min_t;
1772
1773 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMCFG_MBW_MIN(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMCFG_MBW_MIN(uint64_t a)1774 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMCFG_MBW_MIN(uint64_t a)
1775 {
1776 if (a <= 19)
1777 return 0x87e1b0240200ll + 0x1000000ll * ((a) & 0x1f);
1778 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMCFG_MBW_MIN", 1, a, 0, 0, 0, 0, 0);
1779 }
1780
1781 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMCFG_MBW_MIN(a) ody_dssx_ddrctl_regb_chb_mpam_ns_mpamcfg_mbw_min_t
1782 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMCFG_MBW_MIN(a) CSR_TYPE_RSL32b
1783 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMCFG_MBW_MIN(a) "DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMCFG_MBW_MIN"
1784 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMCFG_MBW_MIN(a) 0x0 /* PF_BAR0 */
1785 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMCFG_MBW_MIN(a) (a)
1786 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMCFG_MBW_MIN(a) (a), -1, -1, -1
1787
1788 /**
1789 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_ns_mpamcfg_mbw_winwd
1790 *
1791 * DSS Ddrctl Regb Chb Mpam Ns Mpamcfg Mbw Winwd Register
1792 * MPAM memory bandwidth partitioning window width register.
1793 *
1794 * Note: This IP uses a custom implementation to set BW accounting widow.
1795 * MPAMCFG_MBW_WINWD hence is not compliant to the MPAM spec. SW should not use
1796 * MPAMCFG_MBW_WINWD and instead rely on MPAMF_CUST_WINDW register
1797 */
1798 union ody_dssx_ddrctl_regb_chb_mpam_ns_mpamcfg_mbw_winwd {
1799 uint32_t u;
1800 struct ody_dssx_ddrctl_regb_chb_mpam_ns_mpamcfg_mbw_winwd_s {
1801 uint32_t us_frac : 8;
1802 uint32_t us_int : 16;
1803 uint32_t reserved_24_31 : 8;
1804 } s;
1805 /* struct ody_dssx_ddrctl_regb_chb_mpam_ns_mpamcfg_mbw_winwd_s cn; */
1806 };
1807 typedef union ody_dssx_ddrctl_regb_chb_mpam_ns_mpamcfg_mbw_winwd ody_dssx_ddrctl_regb_chb_mpam_ns_mpamcfg_mbw_winwd_t;
1808
1809 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMCFG_MBW_WINWD(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMCFG_MBW_WINWD(uint64_t a)1810 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMCFG_MBW_WINWD(uint64_t a)
1811 {
1812 if (a <= 19)
1813 return 0x87e1b0240220ll + 0x1000000ll * ((a) & 0x1f);
1814 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMCFG_MBW_WINWD", 1, a, 0, 0, 0, 0, 0);
1815 }
1816
1817 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMCFG_MBW_WINWD(a) ody_dssx_ddrctl_regb_chb_mpam_ns_mpamcfg_mbw_winwd_t
1818 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMCFG_MBW_WINWD(a) CSR_TYPE_RSL32b
1819 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMCFG_MBW_WINWD(a) "DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMCFG_MBW_WINWD"
1820 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMCFG_MBW_WINWD(a) 0x0 /* PF_BAR0 */
1821 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMCFG_MBW_WINWD(a) (a)
1822 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMCFG_MBW_WINWD(a) (a), -1, -1, -1
1823
1824 /**
1825 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_ns_mpamcfg_part_sel
1826 *
1827 * DSS Ddrctl Regb Chb Mpam Ns Mpamcfg Part Sel Register
1828 * MPAM partition configuration selection register
1829 */
1830 union ody_dssx_ddrctl_regb_chb_mpam_ns_mpamcfg_part_sel {
1831 uint32_t u;
1832 struct ody_dssx_ddrctl_regb_chb_mpam_ns_mpamcfg_part_sel_s {
1833 uint32_t partid_sel : 16;
1834 uint32_t internal : 1;
1835 uint32_t reserved_17_31 : 15;
1836 } s;
1837 /* struct ody_dssx_ddrctl_regb_chb_mpam_ns_mpamcfg_part_sel_s cn; */
1838 };
1839 typedef union ody_dssx_ddrctl_regb_chb_mpam_ns_mpamcfg_part_sel ody_dssx_ddrctl_regb_chb_mpam_ns_mpamcfg_part_sel_t;
1840
1841 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMCFG_PART_SEL(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMCFG_PART_SEL(uint64_t a)1842 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMCFG_PART_SEL(uint64_t a)
1843 {
1844 if (a <= 19)
1845 return 0x87e1b0240100ll + 0x1000000ll * ((a) & 0x1f);
1846 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMCFG_PART_SEL", 1, a, 0, 0, 0, 0, 0);
1847 }
1848
1849 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMCFG_PART_SEL(a) ody_dssx_ddrctl_regb_chb_mpam_ns_mpamcfg_part_sel_t
1850 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMCFG_PART_SEL(a) CSR_TYPE_RSL32b
1851 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMCFG_PART_SEL(a) "DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMCFG_PART_SEL"
1852 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMCFG_PART_SEL(a) 0x0 /* PF_BAR0 */
1853 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMCFG_PART_SEL(a) (a)
1854 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMCFG_PART_SEL(a) (a), -1, -1, -1
1855
1856 /**
1857 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_ns_mpamf_aidr
1858 *
1859 * DSS Ddrctl Regb Chb Mpam Ns Mpamf Aidr Register
1860 * MPAM architecture ID register.
1861 */
1862 union ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_aidr {
1863 uint32_t u;
1864 struct ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_aidr_s {
1865 uint32_t archminorrev : 4;
1866 uint32_t archmajorrev : 4;
1867 uint32_t reserved_8_31 : 24;
1868 } s;
1869 /* struct ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_aidr_s cn; */
1870 };
1871 typedef union ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_aidr ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_aidr_t;
1872
1873 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_AIDR(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_AIDR(uint64_t a)1874 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_AIDR(uint64_t a)
1875 {
1876 if (a <= 19)
1877 return 0x87e1b0240020ll + 0x1000000ll * ((a) & 0x1f);
1878 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_AIDR", 1, a, 0, 0, 0, 0, 0);
1879 }
1880
1881 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_AIDR(a) ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_aidr_t
1882 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_AIDR(a) CSR_TYPE_RSL32b
1883 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_AIDR(a) "DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_AIDR"
1884 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_AIDR(a) 0x0 /* PF_BAR0 */
1885 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_AIDR(a) (a)
1886 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_AIDR(a) (a), -1, -1, -1
1887
1888 /**
1889 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_ns_mpamf_cust_cfg
1890 *
1891 * DSS Ddrctl Regb Chb Mpam Ns Mpamf Cust Cfg Register
1892 * MPAM Custom Register - MPAM Disable
1893 */
1894 union ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_cust_cfg {
1895 uint32_t u;
1896 struct ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_cust_cfg_s {
1897 uint32_t dis_mpam : 1;
1898 uint32_t reserved_1_31 : 31;
1899 } s;
1900 /* struct ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_cust_cfg_s cn; */
1901 };
1902 typedef union ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_cust_cfg ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_cust_cfg_t;
1903
1904 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_CUST_CFG(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_CUST_CFG(uint64_t a)1905 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_CUST_CFG(uint64_t a)
1906 {
1907 if (a <= 19)
1908 return 0x87e1b0240a10ll + 0x1000000ll * ((a) & 0x1f);
1909 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_CUST_CFG", 1, a, 0, 0, 0, 0, 0);
1910 }
1911
1912 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_CUST_CFG(a) ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_cust_cfg_t
1913 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_CUST_CFG(a) CSR_TYPE_RSL32b
1914 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_CUST_CFG(a) "DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_CUST_CFG"
1915 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_CUST_CFG(a) 0x0 /* PF_BAR0 */
1916 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_CUST_CFG(a) (a)
1917 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_CUST_CFG(a) (a), -1, -1, -1
1918
1919 /**
1920 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_ns_mpamf_cust_mbwc
1921 *
1922 * DSS Ddrctl Regb Chb Mpam Ns Mpamf Cust Mbwc Register
1923 * MPAM Custom Register - Memory Bandwitdh Counter
1924 */
1925 union ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_cust_mbwc {
1926 uint32_t u;
1927 struct ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_cust_mbwc_s {
1928 uint32_t mbwc : 24;
1929 uint32_t reserved_24_31 : 8;
1930 } s;
1931 /* struct ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_cust_mbwc_s cn; */
1932 };
1933 typedef union ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_cust_mbwc ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_cust_mbwc_t;
1934
1935 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_CUST_MBWC(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_CUST_MBWC(uint64_t a)1936 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_CUST_MBWC(uint64_t a)
1937 {
1938 if (a <= 19)
1939 return 0x87e1b0240a08ll + 0x1000000ll * ((a) & 0x1f);
1940 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_CUST_MBWC", 1, a, 0, 0, 0, 0, 0);
1941 }
1942
1943 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_CUST_MBWC(a) ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_cust_mbwc_t
1944 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_CUST_MBWC(a) CSR_TYPE_RSL32b
1945 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_CUST_MBWC(a) "DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_CUST_MBWC"
1946 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_CUST_MBWC(a) 0x0 /* PF_BAR0 */
1947 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_CUST_MBWC(a) (a)
1948 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_CUST_MBWC(a) (a), -1, -1, -1
1949
1950 /**
1951 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_ns_mpamf_cust_windw
1952 *
1953 * DSS Ddrctl Regb Chb Mpam Ns Mpamf Cust Windw Register
1954 * MPAM Custom Register containing the current bandwidth accounting window period
1955 */
1956 union ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_cust_windw {
1957 uint32_t u;
1958 struct ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_cust_windw_s {
1959 uint32_t wind_cyc_count : 24;
1960 uint32_t reserved_24_31 : 8;
1961 } s;
1962 /* struct ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_cust_windw_s cn; */
1963 };
1964 typedef union ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_cust_windw ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_cust_windw_t;
1965
1966 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_CUST_WINDW(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_CUST_WINDW(uint64_t a)1967 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_CUST_WINDW(uint64_t a)
1968 {
1969 if (a <= 19)
1970 return 0x87e1b0240a0cll + 0x1000000ll * ((a) & 0x1f);
1971 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_CUST_WINDW", 1, a, 0, 0, 0, 0, 0);
1972 }
1973
1974 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_CUST_WINDW(a) ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_cust_windw_t
1975 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_CUST_WINDW(a) CSR_TYPE_RSL32b
1976 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_CUST_WINDW(a) "DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_CUST_WINDW"
1977 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_CUST_WINDW(a) 0x0 /* PF_BAR0 */
1978 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_CUST_WINDW(a) (a)
1979 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_CUST_WINDW(a) (a), -1, -1, -1
1980
1981 /**
1982 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_ns_mpamf_ecr
1983 *
1984 * DSS Ddrctl Regb Chb Mpam Ns Mpamf Ecr Register
1985 * MPAM Error Control Register
1986 */
1987 union ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_ecr {
1988 uint32_t u;
1989 struct ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_ecr_s {
1990 uint32_t inten : 1;
1991 uint32_t reserved_1_31 : 31;
1992 } s;
1993 /* struct ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_ecr_s cn; */
1994 };
1995 typedef union ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_ecr ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_ecr_t;
1996
1997 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_ECR(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_ECR(uint64_t a)1998 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_ECR(uint64_t a)
1999 {
2000 if (a <= 19)
2001 return 0x87e1b02400f0ll + 0x1000000ll * ((a) & 0x1f);
2002 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_ECR", 1, a, 0, 0, 0, 0, 0);
2003 }
2004
2005 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_ECR(a) ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_ecr_t
2006 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_ECR(a) CSR_TYPE_RSL32b
2007 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_ECR(a) "DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_ECR"
2008 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_ECR(a) 0x0 /* PF_BAR0 */
2009 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_ECR(a) (a)
2010 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_ECR(a) (a), -1, -1, -1
2011
2012 /**
2013 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_ns_mpamf_esr
2014 *
2015 * DSS Ddrctl Regb Chb Mpam Ns Mpamf Esr Register
2016 * MPAM Error Status Register
2017 */
2018 union ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_esr {
2019 uint32_t u;
2020 struct ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_esr_s {
2021 uint32_t partidmon : 16;
2022 uint32_t mpamf_esr_pmg : 8;
2023 uint32_t errcode : 4;
2024 uint32_t reserved_28_30 : 3;
2025 uint32_t ovrwr : 1;
2026 } s;
2027 /* struct ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_esr_s cn; */
2028 };
2029 typedef union ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_esr ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_esr_t;
2030
2031 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_ESR(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_ESR(uint64_t a)2032 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_ESR(uint64_t a)
2033 {
2034 if (a <= 19)
2035 return 0x87e1b02400f8ll + 0x1000000ll * ((a) & 0x1f);
2036 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_ESR", 1, a, 0, 0, 0, 0, 0);
2037 }
2038
2039 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_ESR(a) ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_esr_t
2040 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_ESR(a) CSR_TYPE_RSL32b
2041 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_ESR(a) "DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_ESR"
2042 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_ESR(a) 0x0 /* PF_BAR0 */
2043 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_ESR(a) (a)
2044 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_ESR(a) (a), -1, -1, -1
2045
2046 /**
2047 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_ns_mpamf_idr
2048 *
2049 * DSS Ddrctl Regb Chb Mpam Ns Mpamf Idr Register
2050 * MPAM features ID register for a memory system component.
2051 */
2052 union ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_idr {
2053 uint32_t u;
2054 struct ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_idr_s {
2055 uint32_t partid_max : 16;
2056 uint32_t pmg_max : 8;
2057 uint32_t has_ccap_part : 1;
2058 uint32_t has_cport_part : 1;
2059 uint32_t has_mbw_part : 1;
2060 uint32_t has_pri_part : 1;
2061 uint32_t ext : 1;
2062 uint32_t has_impl_part : 1;
2063 uint32_t has_msmon : 1;
2064 uint32_t has_partid_nrw : 1;
2065 } s;
2066 /* struct ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_idr_s cn; */
2067 };
2068 typedef union ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_idr ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_idr_t;
2069
2070 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_IDR(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_IDR(uint64_t a)2071 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_IDR(uint64_t a)
2072 {
2073 if (a <= 19)
2074 return 0x87e1b0240000ll + 0x1000000ll * ((a) & 0x1f);
2075 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_IDR", 1, a, 0, 0, 0, 0, 0);
2076 }
2077
2078 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_IDR(a) ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_idr_t
2079 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_IDR(a) CSR_TYPE_RSL32b
2080 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_IDR(a) "DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_IDR"
2081 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_IDR(a) 0x0 /* PF_BAR0 */
2082 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_IDR(a) (a)
2083 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_IDR(a) (a), -1, -1, -1
2084
2085 /**
2086 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_ns_mpamf_idr_32
2087 *
2088 * DSS Ddrctl Regb Chb Mpam Ns Mpamf Idr 32 Register
2089 * Extended MPAM features ID register for a memory system component present only when
2090 * MPAM V1.1 Version is enabled. At this offset MPAMF_IDR[63:32] can be accessed
2091 */
2092 union ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_idr_32 {
2093 uint32_t u;
2094 struct ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_idr_32_s {
2095 uint32_t has_ris : 1;
2096 uint32_t reserved_1_3 : 3;
2097 uint32_t has_no_impl_part : 1;
2098 uint32_t has_no_impl_msmon : 1;
2099 uint32_t has_extd_esr : 1;
2100 uint32_t has_esr : 1;
2101 uint32_t has_err_msi : 1;
2102 uint32_t reserved_9_31 : 23;
2103 } s;
2104 /* struct ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_idr_32_s cn; */
2105 };
2106 typedef union ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_idr_32 ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_idr_32_t;
2107
2108 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_IDR_32(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_IDR_32(uint64_t a)2109 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_IDR_32(uint64_t a)
2110 {
2111 if (a <= 19)
2112 return 0x87e1b0240004ll + 0x1000000ll * ((a) & 0x1f);
2113 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_IDR_32", 1, a, 0, 0, 0, 0, 0);
2114 }
2115
2116 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_IDR_32(a) ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_idr_32_t
2117 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_IDR_32(a) CSR_TYPE_RSL32b
2118 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_IDR_32(a) "DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_IDR_32"
2119 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_IDR_32(a) 0x0 /* PF_BAR0 */
2120 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_IDR_32(a) (a)
2121 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_IDR_32(a) (a), -1, -1, -1
2122
2123 /**
2124 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_ns_mpamf_iidr
2125 *
2126 * DSS Ddrctl Regb Chb Mpam Ns Mpamf Iidr Register
2127 * MPAM implementation ID register.
2128 */
2129 union ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_iidr {
2130 uint32_t u;
2131 struct ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_iidr_s {
2132 uint32_t implementer : 12;
2133 uint32_t revision : 4;
2134 uint32_t variant : 4;
2135 uint32_t productid : 12;
2136 } s;
2137 /* struct ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_iidr_s cn; */
2138 };
2139 typedef union ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_iidr ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_iidr_t;
2140
2141 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_IIDR(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_IIDR(uint64_t a)2142 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_IIDR(uint64_t a)
2143 {
2144 if (a <= 19)
2145 return 0x87e1b0240018ll + 0x1000000ll * ((a) & 0x1f);
2146 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_IIDR", 1, a, 0, 0, 0, 0, 0);
2147 }
2148
2149 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_IIDR(a) ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_iidr_t
2150 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_IIDR(a) CSR_TYPE_RSL32b
2151 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_IIDR(a) "DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_IIDR"
2152 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_IIDR(a) 0x0 /* PF_BAR0 */
2153 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_IIDR(a) (a)
2154 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_IIDR(a) (a), -1, -1, -1
2155
2156 /**
2157 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_ns_mpamf_impl_idr
2158 *
2159 * DSS Ddrctl Regb Chb Mpam Ns Mpamf Impl Idr Register
2160 * MPAMF implementation-specific partitioning feature ID register for a memory system component.
2161 */
2162 union ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_impl_idr {
2163 uint32_t u;
2164 struct ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_impl_idr_s {
2165 uint32_t mpam_cust_offset : 32;
2166 } s;
2167 /* struct ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_impl_idr_s cn; */
2168 };
2169 typedef union ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_impl_idr ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_impl_idr_t;
2170
2171 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_IMPL_IDR(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_IMPL_IDR(uint64_t a)2172 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_IMPL_IDR(uint64_t a)
2173 {
2174 if (a <= 19)
2175 return 0x87e1b0240028ll + 0x1000000ll * ((a) & 0x1f);
2176 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_IMPL_IDR", 1, a, 0, 0, 0, 0, 0);
2177 }
2178
2179 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_IMPL_IDR(a) ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_impl_idr_t
2180 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_IMPL_IDR(a) CSR_TYPE_RSL32b
2181 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_IMPL_IDR(a) "DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_IMPL_IDR"
2182 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_IMPL_IDR(a) 0x0 /* PF_BAR0 */
2183 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_IMPL_IDR(a) (a)
2184 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_IMPL_IDR(a) (a), -1, -1, -1
2185
2186 /**
2187 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_ns_mpamf_mbw_idr
2188 *
2189 * DSS Ddrctl Regb Chb Mpam Ns Mpamf Mbw Idr Register
2190 * MPAM features memory bandwidth partitioning ID register
2191 */
2192 union ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_mbw_idr {
2193 uint32_t u;
2194 struct ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_mbw_idr_s {
2195 uint32_t bwa_wd : 6;
2196 uint32_t reserved_6_9 : 4;
2197 uint32_t has_min : 1;
2198 uint32_t has_max : 1;
2199 uint32_t has_pbm : 1;
2200 uint32_t has_prop : 1;
2201 uint32_t windwr : 1;
2202 uint32_t reserved_15 : 1;
2203 uint32_t bwpbm_wd : 13;
2204 uint32_t reserved_29_31 : 3;
2205 } s;
2206 /* struct ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_mbw_idr_s cn; */
2207 };
2208 typedef union ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_mbw_idr ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_mbw_idr_t;
2209
2210 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_MBW_IDR(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_MBW_IDR(uint64_t a)2211 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_MBW_IDR(uint64_t a)
2212 {
2213 if (a <= 19)
2214 return 0x87e1b0240040ll + 0x1000000ll * ((a) & 0x1f);
2215 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_MBW_IDR", 1, a, 0, 0, 0, 0, 0);
2216 }
2217
2218 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_MBW_IDR(a) ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_mbw_idr_t
2219 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_MBW_IDR(a) CSR_TYPE_RSL32b
2220 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_MBW_IDR(a) "DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_MBW_IDR"
2221 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_MBW_IDR(a) 0x0 /* PF_BAR0 */
2222 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_MBW_IDR(a) (a)
2223 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_MBW_IDR(a) (a), -1, -1, -1
2224
2225 /**
2226 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_ns_mpamf_mbwumon_idr
2227 *
2228 * DSS Ddrctl Regb Chb Mpam Ns Mpamf Mbwumon Idr Register
2229 * MPAM Memory BandWidth Monitor ID register.
2230 */
2231 union ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_mbwumon_idr {
2232 uint32_t u;
2233 struct ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_mbwumon_idr_s {
2234 uint32_t num_mon : 16;
2235 uint32_t reserved_16_25 : 10;
2236 uint32_t has_ofsr : 1;
2237 uint32_t reserved_27 : 1;
2238 uint32_t has_rwbw : 1;
2239 uint32_t lwd : 1;
2240 uint32_t has_long : 1;
2241 uint32_t has_capture : 1;
2242 } s;
2243 /* struct ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_mbwumon_idr_s cn; */
2244 };
2245 typedef union ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_mbwumon_idr ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_mbwumon_idr_t;
2246
2247 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_MBWUMON_IDR(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_MBWUMON_IDR(uint64_t a)2248 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_MBWUMON_IDR(uint64_t a)
2249 {
2250 if (a <= 19)
2251 return 0x87e1b0240090ll + 0x1000000ll * ((a) & 0x1f);
2252 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_MBWUMON_IDR", 1, a, 0, 0, 0, 0, 0);
2253 }
2254
2255 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_MBWUMON_IDR(a) ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_mbwumon_idr_t
2256 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_MBWUMON_IDR(a) CSR_TYPE_RSL32b
2257 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_MBWUMON_IDR(a) "DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_MBWUMON_IDR"
2258 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_MBWUMON_IDR(a) 0x0 /* PF_BAR0 */
2259 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_MBWUMON_IDR(a) (a)
2260 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_MBWUMON_IDR(a) (a), -1, -1, -1
2261
2262 /**
2263 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_ns_mpamf_msmon_idr
2264 *
2265 * DSS Ddrctl Regb Chb Mpam Ns Mpamf Msmon Idr Register
2266 * MPAM Memory System Monitor ID register.
2267 */
2268 union ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_msmon_idr {
2269 uint32_t u;
2270 struct ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_msmon_idr_s {
2271 uint32_t reserved_0_15 : 16;
2272 uint32_t msmon_csu : 1;
2273 uint32_t msmon_mbwu : 1;
2274 uint32_t reserved_18_27 : 10;
2275 uint32_t has_oflow_sr : 1;
2276 uint32_t has_oflow_msi : 1;
2277 uint32_t no_hw_oflw_intr : 1;
2278 uint32_t has_local_capt_evnt : 1;
2279 } s;
2280 /* struct ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_msmon_idr_s cn; */
2281 };
2282 typedef union ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_msmon_idr ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_msmon_idr_t;
2283
2284 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_MSMON_IDR(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_MSMON_IDR(uint64_t a)2285 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_MSMON_IDR(uint64_t a)
2286 {
2287 if (a <= 19)
2288 return 0x87e1b0240080ll + 0x1000000ll * ((a) & 0x1f);
2289 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_MSMON_IDR", 1, a, 0, 0, 0, 0, 0);
2290 }
2291
2292 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_MSMON_IDR(a) ody_dssx_ddrctl_regb_chb_mpam_ns_mpamf_msmon_idr_t
2293 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_MSMON_IDR(a) CSR_TYPE_RSL32b
2294 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_MSMON_IDR(a) "DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_MSMON_IDR"
2295 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_MSMON_IDR(a) 0x0 /* PF_BAR0 */
2296 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_MSMON_IDR(a) (a)
2297 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MPAMF_MSMON_IDR(a) (a), -1, -1, -1
2298
2299 /**
2300 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_ns_msmon_capt_evnt
2301 *
2302 * DSS Ddrctl Regb Chb Mpam Ns Msmon Capt Evnt Register
2303 * MPAM Monitor Capture Event register
2304 */
2305 union ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_capt_evnt {
2306 uint32_t u;
2307 struct ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_capt_evnt_s {
2308 uint32_t now : 1;
2309 uint32_t all : 1;
2310 uint32_t reserved_2_31 : 30;
2311 } s;
2312 /* struct ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_capt_evnt_s cn; */
2313 };
2314 typedef union ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_capt_evnt ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_capt_evnt_t;
2315
2316 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_CAPT_EVNT(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_CAPT_EVNT(uint64_t a)2317 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_CAPT_EVNT(uint64_t a)
2318 {
2319 if (a <= 19)
2320 return 0x87e1b0240808ll + 0x1000000ll * ((a) & 0x1f);
2321 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_CAPT_EVNT", 1, a, 0, 0, 0, 0, 0);
2322 }
2323
2324 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_CAPT_EVNT(a) ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_capt_evnt_t
2325 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_CAPT_EVNT(a) CSR_TYPE_RSL32b
2326 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_CAPT_EVNT(a) "DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_CAPT_EVNT"
2327 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_CAPT_EVNT(a) 0x0 /* PF_BAR0 */
2328 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_CAPT_EVNT(a) (a)
2329 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_CAPT_EVNT(a) (a), -1, -1, -1
2330
2331 /**
2332 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_ns_msmon_cfg_mbwu_ctl
2333 *
2334 * DSS Ddrctl Regb Chb Mpam Ns Msmon Cfg Mbwu Ctl Register
2335 * MPAM MBWU Configuration Control register
2336 */
2337 union ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_cfg_mbwu_ctl {
2338 uint32_t u;
2339 struct ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_cfg_mbwu_ctl_s {
2340 uint32_t mon_type : 8;
2341 uint32_t reserved_8_13 : 6;
2342 uint32_t oflow_intr_l : 1;
2343 uint32_t oflow_status_l : 1;
2344 uint32_t match_partid : 1;
2345 uint32_t match_pmg : 1;
2346 uint32_t reserved_18_23 : 6;
2347 uint32_t oflow_frz : 1;
2348 uint32_t reserved_25_26 : 2;
2349 uint32_t capt_reset : 1;
2350 uint32_t capt_evnt : 3;
2351 uint32_t en : 1;
2352 } s;
2353 /* struct ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_cfg_mbwu_ctl_s cn; */
2354 };
2355 typedef union ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_cfg_mbwu_ctl ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_cfg_mbwu_ctl_t;
2356
2357 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_CFG_MBWU_CTL(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_CFG_MBWU_CTL(uint64_t a)2358 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_CFG_MBWU_CTL(uint64_t a)
2359 {
2360 if (a <= 19)
2361 return 0x87e1b0240828ll + 0x1000000ll * ((a) & 0x1f);
2362 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_CFG_MBWU_CTL", 1, a, 0, 0, 0, 0, 0);
2363 }
2364
2365 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_CFG_MBWU_CTL(a) ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_cfg_mbwu_ctl_t
2366 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_CFG_MBWU_CTL(a) CSR_TYPE_RSL32b
2367 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_CFG_MBWU_CTL(a) "DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_CFG_MBWU_CTL"
2368 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_CFG_MBWU_CTL(a) 0x0 /* PF_BAR0 */
2369 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_CFG_MBWU_CTL(a) (a)
2370 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_CFG_MBWU_CTL(a) (a), -1, -1, -1
2371
2372 /**
2373 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_ns_msmon_cfg_mbwu_flt
2374 *
2375 * DSS Ddrctl Regb Chb Mpam Ns Msmon Cfg Mbwu Flt Register
2376 * MPAM MBWU Configuration Filter register
2377 */
2378 union ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_cfg_mbwu_flt {
2379 uint32_t u;
2380 struct ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_cfg_mbwu_flt_s {
2381 uint32_t partid : 16;
2382 uint32_t pmg : 8;
2383 uint32_t reserved_24_29 : 6;
2384 uint32_t rwbw : 2;
2385 } s;
2386 /* struct ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_cfg_mbwu_flt_s cn; */
2387 };
2388 typedef union ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_cfg_mbwu_flt ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_cfg_mbwu_flt_t;
2389
2390 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_CFG_MBWU_FLT(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_CFG_MBWU_FLT(uint64_t a)2391 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_CFG_MBWU_FLT(uint64_t a)
2392 {
2393 if (a <= 19)
2394 return 0x87e1b0240820ll + 0x1000000ll * ((a) & 0x1f);
2395 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_CFG_MBWU_FLT", 1, a, 0, 0, 0, 0, 0);
2396 }
2397
2398 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_CFG_MBWU_FLT(a) ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_cfg_mbwu_flt_t
2399 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_CFG_MBWU_FLT(a) CSR_TYPE_RSL32b
2400 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_CFG_MBWU_FLT(a) "DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_CFG_MBWU_FLT"
2401 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_CFG_MBWU_FLT(a) 0x0 /* PF_BAR0 */
2402 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_CFG_MBWU_FLT(a) (a)
2403 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_CFG_MBWU_FLT(a) (a), -1, -1, -1
2404
2405 /**
2406 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_ns_msmon_cfg_mon_sel
2407 *
2408 * DSS Ddrctl Regb Chb Mpam Ns Msmon Cfg Mon Sel Register
2409 * MPAM Monitor configuration selection register
2410 */
2411 union ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_cfg_mon_sel {
2412 uint32_t u;
2413 struct ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_cfg_mon_sel_s {
2414 uint32_t mon_sel : 16;
2415 uint32_t reserved_16_31 : 16;
2416 } s;
2417 /* struct ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_cfg_mon_sel_s cn; */
2418 };
2419 typedef union ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_cfg_mon_sel ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_cfg_mon_sel_t;
2420
2421 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_CFG_MON_SEL(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_CFG_MON_SEL(uint64_t a)2422 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_CFG_MON_SEL(uint64_t a)
2423 {
2424 if (a <= 19)
2425 return 0x87e1b0240800ll + 0x1000000ll * ((a) & 0x1f);
2426 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_CFG_MON_SEL", 1, a, 0, 0, 0, 0, 0);
2427 }
2428
2429 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_CFG_MON_SEL(a) ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_cfg_mon_sel_t
2430 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_CFG_MON_SEL(a) CSR_TYPE_RSL32b
2431 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_CFG_MON_SEL(a) "DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_CFG_MON_SEL"
2432 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_CFG_MON_SEL(a) 0x0 /* PF_BAR0 */
2433 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_CFG_MON_SEL(a) (a)
2434 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_CFG_MON_SEL(a) (a), -1, -1, -1
2435
2436 /**
2437 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_ns_msmon_mbwu_l
2438 *
2439 * DSS Ddrctl Regb Chb Mpam Ns Msmon Mbwu L Register
2440 * MPAM MBWU Long register
2441 */
2442 union ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_mbwu_l {
2443 uint32_t u;
2444 struct ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_mbwu_l_s {
2445 uint32_t value : 32;
2446 } s;
2447 /* struct ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_mbwu_l_s cn; */
2448 };
2449 typedef union ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_mbwu_l ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_mbwu_l_t;
2450
2451 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_L(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_L(uint64_t a)2452 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_L(uint64_t a)
2453 {
2454 if (a <= 19)
2455 return 0x87e1b0240880ll + 0x1000000ll * ((a) & 0x1f);
2456 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_L", 1, a, 0, 0, 0, 0, 0);
2457 }
2458
2459 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_L(a) ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_mbwu_l_t
2460 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_L(a) CSR_TYPE_RSL32b
2461 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_L(a) "DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_L"
2462 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_L(a) 0x0 /* PF_BAR0 */
2463 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_L(a) (a)
2464 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_L(a) (a), -1, -1, -1
2465
2466 /**
2467 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_ns_msmon_mbwu_l_32
2468 *
2469 * DSS Ddrctl Regb Chb Mpam Ns Msmon Mbwu L 32 Register
2470 * MPAM MBWU Long MSB 32bits register
2471 */
2472 union ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_mbwu_l_32 {
2473 uint32_t u;
2474 struct ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_mbwu_l_32_s {
2475 uint32_t value : 31;
2476 uint32_t nrdy : 1;
2477 } s;
2478 /* struct ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_mbwu_l_32_s cn; */
2479 };
2480 typedef union ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_mbwu_l_32 ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_mbwu_l_32_t;
2481
2482 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_L_32(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_L_32(uint64_t a)2483 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_L_32(uint64_t a)
2484 {
2485 if (a <= 19)
2486 return 0x87e1b0240884ll + 0x1000000ll * ((a) & 0x1f);
2487 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_L_32", 1, a, 0, 0, 0, 0, 0);
2488 }
2489
2490 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_L_32(a) ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_mbwu_l_32_t
2491 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_L_32(a) CSR_TYPE_RSL32b
2492 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_L_32(a) "DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_L_32"
2493 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_L_32(a) 0x0 /* PF_BAR0 */
2494 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_L_32(a) (a)
2495 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_L_32(a) (a), -1, -1, -1
2496
2497 /**
2498 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_ns_msmon_mbwu_l_capture
2499 *
2500 * DSS Ddrctl Regb Chb Mpam Ns Msmon Mbwu L Capture Register
2501 * MPAM MBWU Long Capture register
2502 */
2503 union ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_mbwu_l_capture {
2504 uint32_t u;
2505 struct ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_mbwu_l_capture_s {
2506 uint32_t value : 32;
2507 } s;
2508 /* struct ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_mbwu_l_capture_s cn; */
2509 };
2510 typedef union ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_mbwu_l_capture ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_mbwu_l_capture_t;
2511
2512 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_L_CAPTURE(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_L_CAPTURE(uint64_t a)2513 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_L_CAPTURE(uint64_t a)
2514 {
2515 if (a <= 19)
2516 return 0x87e1b0240890ll + 0x1000000ll * ((a) & 0x1f);
2517 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_L_CAPTURE", 1, a, 0, 0, 0, 0, 0);
2518 }
2519
2520 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_L_CAPTURE(a) ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_mbwu_l_capture_t
2521 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_L_CAPTURE(a) CSR_TYPE_RSL32b
2522 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_L_CAPTURE(a) "DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_L_CAPTURE"
2523 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_L_CAPTURE(a) 0x0 /* PF_BAR0 */
2524 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_L_CAPTURE(a) (a)
2525 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_L_CAPTURE(a) (a), -1, -1, -1
2526
2527 /**
2528 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_ns_msmon_mbwu_l_capture_32
2529 *
2530 * DSS Ddrctl Regb Chb Mpam Ns Msmon Mbwu L Capture 32 Register
2531 * MPAM MBWU Long Capture MSB 32bits register
2532 */
2533 union ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_mbwu_l_capture_32 {
2534 uint32_t u;
2535 struct ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_mbwu_l_capture_32_s {
2536 uint32_t value : 31;
2537 uint32_t nrdy : 1;
2538 } s;
2539 /* struct ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_mbwu_l_capture_32_s cn; */
2540 };
2541 typedef union ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_mbwu_l_capture_32 ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_mbwu_l_capture_32_t;
2542
2543 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_L_CAPTURE_32(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_L_CAPTURE_32(uint64_t a)2544 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_L_CAPTURE_32(uint64_t a)
2545 {
2546 if (a <= 19)
2547 return 0x87e1b0240894ll + 0x1000000ll * ((a) & 0x1f);
2548 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_L_CAPTURE_32", 1, a, 0, 0, 0, 0, 0);
2549 }
2550
2551 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_L_CAPTURE_32(a) ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_mbwu_l_capture_32_t
2552 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_L_CAPTURE_32(a) CSR_TYPE_RSL32b
2553 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_L_CAPTURE_32(a) "DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_L_CAPTURE_32"
2554 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_L_CAPTURE_32(a) 0x0 /* PF_BAR0 */
2555 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_L_CAPTURE_32(a) (a)
2556 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_L_CAPTURE_32(a) (a), -1, -1, -1
2557
2558 /**
2559 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_ns_msmon_mbwu_ofsr
2560 *
2561 * DSS Ddrctl Regb Chb Mpam Ns Msmon Mbwu Ofsr Register
2562 * MPAM MBWU OFSR register
2563 */
2564 union ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_mbwu_ofsr {
2565 uint32_t u;
2566 struct ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_mbwu_ofsr_s {
2567 uint32_t ofpnd : 32;
2568 } s;
2569 /* struct ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_mbwu_ofsr_s cn; */
2570 };
2571 typedef union ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_mbwu_ofsr ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_mbwu_ofsr_t;
2572
2573 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_OFSR(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_OFSR(uint64_t a)2574 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_OFSR(uint64_t a)
2575 {
2576 if (a <= 19)
2577 return 0x87e1b0240898ll + 0x1000000ll * ((a) & 0x1f);
2578 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_OFSR", 1, a, 0, 0, 0, 0, 0);
2579 }
2580
2581 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_OFSR(a) ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_mbwu_ofsr_t
2582 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_OFSR(a) CSR_TYPE_RSL32b
2583 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_OFSR(a) "DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_OFSR"
2584 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_OFSR(a) 0x0 /* PF_BAR0 */
2585 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_OFSR(a) (a)
2586 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_MBWU_OFSR(a) (a), -1, -1, -1
2587
2588 /**
2589 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_ns_msmon_oflow_sr
2590 *
2591 * DSS Ddrctl Regb Chb Mpam Ns Msmon Oflow Sr Register
2592 * MPAM MSMON OFLOW SR register
2593 */
2594 union ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_oflow_sr {
2595 uint32_t u;
2596 struct ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_oflow_sr_s {
2597 uint32_t reserved_0_29 : 30;
2598 uint32_t mbwu_oflow_pnd : 1;
2599 uint32_t reserved_31 : 1;
2600 } s;
2601 /* struct ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_oflow_sr_s cn; */
2602 };
2603 typedef union ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_oflow_sr ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_oflow_sr_t;
2604
2605 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_OFLOW_SR(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_OFLOW_SR(uint64_t a)2606 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_OFLOW_SR(uint64_t a)
2607 {
2608 if (a <= 19)
2609 return 0x87e1b02408f0ll + 0x1000000ll * ((a) & 0x1f);
2610 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_OFLOW_SR", 1, a, 0, 0, 0, 0, 0);
2611 }
2612
2613 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_OFLOW_SR(a) ody_dssx_ddrctl_regb_chb_mpam_ns_msmon_oflow_sr_t
2614 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_OFLOW_SR(a) CSR_TYPE_RSL32b
2615 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_OFLOW_SR(a) "DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_OFLOW_SR"
2616 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_OFLOW_SR(a) 0x0 /* PF_BAR0 */
2617 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_OFLOW_SR(a) (a)
2618 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_NS_MSMON_OFLOW_SR(a) (a), -1, -1, -1
2619
2620 /**
2621 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_s_mpamcfg_mbw_max
2622 *
2623 * DSS Ddrctl Regb Chb Mpam S Mpamcfg Mbw Max Register
2624 * MPAM memory maximum bandwidth partitioning partition configuration register.
2625 */
2626 union ody_dssx_ddrctl_regb_chb_mpam_s_mpamcfg_mbw_max {
2627 uint32_t u;
2628 struct ody_dssx_ddrctl_regb_chb_mpam_s_mpamcfg_mbw_max_s {
2629 uint32_t unimpl : 8;
2630 uint32_t max : 8;
2631 uint32_t reserved_16_31 : 16;
2632 } s;
2633 /* struct ody_dssx_ddrctl_regb_chb_mpam_s_mpamcfg_mbw_max_s cn; */
2634 };
2635 typedef union ody_dssx_ddrctl_regb_chb_mpam_s_mpamcfg_mbw_max ody_dssx_ddrctl_regb_chb_mpam_s_mpamcfg_mbw_max_t;
2636
2637 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMCFG_MBW_MAX(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMCFG_MBW_MAX(uint64_t a)2638 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMCFG_MBW_MAX(uint64_t a)
2639 {
2640 if (a <= 19)
2641 return 0x87e1b0250208ll + 0x1000000ll * ((a) & 0x1f);
2642 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMCFG_MBW_MAX", 1, a, 0, 0, 0, 0, 0);
2643 }
2644
2645 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMCFG_MBW_MAX(a) ody_dssx_ddrctl_regb_chb_mpam_s_mpamcfg_mbw_max_t
2646 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMCFG_MBW_MAX(a) CSR_TYPE_RSL32b
2647 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMCFG_MBW_MAX(a) "DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMCFG_MBW_MAX"
2648 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMCFG_MBW_MAX(a) 0x0 /* PF_BAR0 */
2649 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMCFG_MBW_MAX(a) (a)
2650 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMCFG_MBW_MAX(a) (a), -1, -1, -1
2651
2652 /**
2653 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_s_mpamcfg_mbw_min
2654 *
2655 * DSS Ddrctl Regb Chb Mpam S Mpamcfg Mbw Min Register
2656 * MPAM memory minimum bandwidth partitioning partition configuration register.
2657 */
2658 union ody_dssx_ddrctl_regb_chb_mpam_s_mpamcfg_mbw_min {
2659 uint32_t u;
2660 struct ody_dssx_ddrctl_regb_chb_mpam_s_mpamcfg_mbw_min_s {
2661 uint32_t unimpl : 8;
2662 uint32_t min : 8;
2663 uint32_t reserved_16_31 : 16;
2664 } s;
2665 /* struct ody_dssx_ddrctl_regb_chb_mpam_s_mpamcfg_mbw_min_s cn; */
2666 };
2667 typedef union ody_dssx_ddrctl_regb_chb_mpam_s_mpamcfg_mbw_min ody_dssx_ddrctl_regb_chb_mpam_s_mpamcfg_mbw_min_t;
2668
2669 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMCFG_MBW_MIN(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMCFG_MBW_MIN(uint64_t a)2670 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMCFG_MBW_MIN(uint64_t a)
2671 {
2672 if (a <= 19)
2673 return 0x87e1b0250200ll + 0x1000000ll * ((a) & 0x1f);
2674 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMCFG_MBW_MIN", 1, a, 0, 0, 0, 0, 0);
2675 }
2676
2677 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMCFG_MBW_MIN(a) ody_dssx_ddrctl_regb_chb_mpam_s_mpamcfg_mbw_min_t
2678 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMCFG_MBW_MIN(a) CSR_TYPE_RSL32b
2679 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMCFG_MBW_MIN(a) "DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMCFG_MBW_MIN"
2680 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMCFG_MBW_MIN(a) 0x0 /* PF_BAR0 */
2681 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMCFG_MBW_MIN(a) (a)
2682 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMCFG_MBW_MIN(a) (a), -1, -1, -1
2683
2684 /**
2685 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_s_mpamcfg_mbw_winwd
2686 *
2687 * DSS Ddrctl Regb Chb Mpam S Mpamcfg Mbw Winwd Register
2688 * MPAM memory bandwidth partitioning window width register.
2689 *
2690 * Note: This IP uses a custom implementation to set BW accounting widow.
2691 * MPAMCFG_MBW_WINWD hence is not compliant to the MPAM spec. SW should not use
2692 * MPAMCFG_MBW_WINWD and instead rely on MPAMF_CUST_WINDW register
2693 */
2694 union ody_dssx_ddrctl_regb_chb_mpam_s_mpamcfg_mbw_winwd {
2695 uint32_t u;
2696 struct ody_dssx_ddrctl_regb_chb_mpam_s_mpamcfg_mbw_winwd_s {
2697 uint32_t us_frac : 8;
2698 uint32_t us_int : 16;
2699 uint32_t reserved_24_31 : 8;
2700 } s;
2701 /* struct ody_dssx_ddrctl_regb_chb_mpam_s_mpamcfg_mbw_winwd_s cn; */
2702 };
2703 typedef union ody_dssx_ddrctl_regb_chb_mpam_s_mpamcfg_mbw_winwd ody_dssx_ddrctl_regb_chb_mpam_s_mpamcfg_mbw_winwd_t;
2704
2705 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMCFG_MBW_WINWD(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMCFG_MBW_WINWD(uint64_t a)2706 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMCFG_MBW_WINWD(uint64_t a)
2707 {
2708 if (a <= 19)
2709 return 0x87e1b0250220ll + 0x1000000ll * ((a) & 0x1f);
2710 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMCFG_MBW_WINWD", 1, a, 0, 0, 0, 0, 0);
2711 }
2712
2713 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMCFG_MBW_WINWD(a) ody_dssx_ddrctl_regb_chb_mpam_s_mpamcfg_mbw_winwd_t
2714 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMCFG_MBW_WINWD(a) CSR_TYPE_RSL32b
2715 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMCFG_MBW_WINWD(a) "DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMCFG_MBW_WINWD"
2716 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMCFG_MBW_WINWD(a) 0x0 /* PF_BAR0 */
2717 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMCFG_MBW_WINWD(a) (a)
2718 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMCFG_MBW_WINWD(a) (a), -1, -1, -1
2719
2720 /**
2721 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_s_mpamcfg_part_sel
2722 *
2723 * DSS Ddrctl Regb Chb Mpam S Mpamcfg Part Sel Register
2724 * MPAM partition configuration selection register
2725 */
2726 union ody_dssx_ddrctl_regb_chb_mpam_s_mpamcfg_part_sel {
2727 uint32_t u;
2728 struct ody_dssx_ddrctl_regb_chb_mpam_s_mpamcfg_part_sel_s {
2729 uint32_t partid_sel : 16;
2730 uint32_t internal : 1;
2731 uint32_t reserved_17_31 : 15;
2732 } s;
2733 /* struct ody_dssx_ddrctl_regb_chb_mpam_s_mpamcfg_part_sel_s cn; */
2734 };
2735 typedef union ody_dssx_ddrctl_regb_chb_mpam_s_mpamcfg_part_sel ody_dssx_ddrctl_regb_chb_mpam_s_mpamcfg_part_sel_t;
2736
2737 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMCFG_PART_SEL(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMCFG_PART_SEL(uint64_t a)2738 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMCFG_PART_SEL(uint64_t a)
2739 {
2740 if (a <= 19)
2741 return 0x87e1b0250100ll + 0x1000000ll * ((a) & 0x1f);
2742 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMCFG_PART_SEL", 1, a, 0, 0, 0, 0, 0);
2743 }
2744
2745 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMCFG_PART_SEL(a) ody_dssx_ddrctl_regb_chb_mpam_s_mpamcfg_part_sel_t
2746 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMCFG_PART_SEL(a) CSR_TYPE_RSL32b
2747 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMCFG_PART_SEL(a) "DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMCFG_PART_SEL"
2748 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMCFG_PART_SEL(a) 0x0 /* PF_BAR0 */
2749 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMCFG_PART_SEL(a) (a)
2750 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMCFG_PART_SEL(a) (a), -1, -1, -1
2751
2752 /**
2753 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_s_mpamf_aidr
2754 *
2755 * DSS Ddrctl Regb Chb Mpam S Mpamf Aidr Register
2756 * MPAM architecture ID register.
2757 */
2758 union ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_aidr {
2759 uint32_t u;
2760 struct ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_aidr_s {
2761 uint32_t archminorrev : 4;
2762 uint32_t archmajorrev : 4;
2763 uint32_t reserved_8_31 : 24;
2764 } s;
2765 /* struct ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_aidr_s cn; */
2766 };
2767 typedef union ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_aidr ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_aidr_t;
2768
2769 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_AIDR(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_AIDR(uint64_t a)2770 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_AIDR(uint64_t a)
2771 {
2772 if (a <= 19)
2773 return 0x87e1b0250020ll + 0x1000000ll * ((a) & 0x1f);
2774 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_AIDR", 1, a, 0, 0, 0, 0, 0);
2775 }
2776
2777 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_AIDR(a) ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_aidr_t
2778 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_AIDR(a) CSR_TYPE_RSL32b
2779 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_AIDR(a) "DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_AIDR"
2780 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_AIDR(a) 0x0 /* PF_BAR0 */
2781 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_AIDR(a) (a)
2782 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_AIDR(a) (a), -1, -1, -1
2783
2784 /**
2785 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_s_mpamf_cust_cfg
2786 *
2787 * DSS Ddrctl Regb Chb Mpam S Mpamf Cust Cfg Register
2788 * MPAM Custom Register - MPAM Disable
2789 */
2790 union ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_cust_cfg {
2791 uint32_t u;
2792 struct ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_cust_cfg_s {
2793 uint32_t dis_mpam : 1;
2794 uint32_t reserved_1_31 : 31;
2795 } s;
2796 /* struct ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_cust_cfg_s cn; */
2797 };
2798 typedef union ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_cust_cfg ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_cust_cfg_t;
2799
2800 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_CUST_CFG(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_CUST_CFG(uint64_t a)2801 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_CUST_CFG(uint64_t a)
2802 {
2803 if (a <= 19)
2804 return 0x87e1b0250a10ll + 0x1000000ll * ((a) & 0x1f);
2805 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_CUST_CFG", 1, a, 0, 0, 0, 0, 0);
2806 }
2807
2808 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_CUST_CFG(a) ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_cust_cfg_t
2809 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_CUST_CFG(a) CSR_TYPE_RSL32b
2810 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_CUST_CFG(a) "DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_CUST_CFG"
2811 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_CUST_CFG(a) 0x0 /* PF_BAR0 */
2812 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_CUST_CFG(a) (a)
2813 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_CUST_CFG(a) (a), -1, -1, -1
2814
2815 /**
2816 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_s_mpamf_cust_mbwc
2817 *
2818 * DSS Ddrctl Regb Chb Mpam S Mpamf Cust Mbwc Register
2819 * MPAM Custom Register - Memory Bandwitdh Counter
2820 */
2821 union ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_cust_mbwc {
2822 uint32_t u;
2823 struct ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_cust_mbwc_s {
2824 uint32_t mbwc : 24;
2825 uint32_t reserved_24_31 : 8;
2826 } s;
2827 /* struct ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_cust_mbwc_s cn; */
2828 };
2829 typedef union ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_cust_mbwc ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_cust_mbwc_t;
2830
2831 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_CUST_MBWC(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_CUST_MBWC(uint64_t a)2832 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_CUST_MBWC(uint64_t a)
2833 {
2834 if (a <= 19)
2835 return 0x87e1b0250a08ll + 0x1000000ll * ((a) & 0x1f);
2836 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_CUST_MBWC", 1, a, 0, 0, 0, 0, 0);
2837 }
2838
2839 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_CUST_MBWC(a) ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_cust_mbwc_t
2840 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_CUST_MBWC(a) CSR_TYPE_RSL32b
2841 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_CUST_MBWC(a) "DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_CUST_MBWC"
2842 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_CUST_MBWC(a) 0x0 /* PF_BAR0 */
2843 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_CUST_MBWC(a) (a)
2844 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_CUST_MBWC(a) (a), -1, -1, -1
2845
2846 /**
2847 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_s_mpamf_cust_windw
2848 *
2849 * DSS Ddrctl Regb Chb Mpam S Mpamf Cust Windw Register
2850 * MPAM Custom Register containing the current bandwidth accounting window period
2851 */
2852 union ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_cust_windw {
2853 uint32_t u;
2854 struct ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_cust_windw_s {
2855 uint32_t wind_cyc_count : 24;
2856 uint32_t reserved_24_31 : 8;
2857 } s;
2858 /* struct ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_cust_windw_s cn; */
2859 };
2860 typedef union ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_cust_windw ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_cust_windw_t;
2861
2862 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_CUST_WINDW(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_CUST_WINDW(uint64_t a)2863 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_CUST_WINDW(uint64_t a)
2864 {
2865 if (a <= 19)
2866 return 0x87e1b0250a0cll + 0x1000000ll * ((a) & 0x1f);
2867 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_CUST_WINDW", 1, a, 0, 0, 0, 0, 0);
2868 }
2869
2870 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_CUST_WINDW(a) ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_cust_windw_t
2871 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_CUST_WINDW(a) CSR_TYPE_RSL32b
2872 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_CUST_WINDW(a) "DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_CUST_WINDW"
2873 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_CUST_WINDW(a) 0x0 /* PF_BAR0 */
2874 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_CUST_WINDW(a) (a)
2875 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_CUST_WINDW(a) (a), -1, -1, -1
2876
2877 /**
2878 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_s_mpamf_ecr
2879 *
2880 * DSS Ddrctl Regb Chb Mpam S Mpamf Ecr Register
2881 * MPAM Error Control Register
2882 */
2883 union ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_ecr {
2884 uint32_t u;
2885 struct ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_ecr_s {
2886 uint32_t inten : 1;
2887 uint32_t reserved_1_31 : 31;
2888 } s;
2889 /* struct ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_ecr_s cn; */
2890 };
2891 typedef union ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_ecr ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_ecr_t;
2892
2893 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_ECR(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_ECR(uint64_t a)2894 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_ECR(uint64_t a)
2895 {
2896 if (a <= 19)
2897 return 0x87e1b02500f0ll + 0x1000000ll * ((a) & 0x1f);
2898 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_ECR", 1, a, 0, 0, 0, 0, 0);
2899 }
2900
2901 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_ECR(a) ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_ecr_t
2902 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_ECR(a) CSR_TYPE_RSL32b
2903 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_ECR(a) "DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_ECR"
2904 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_ECR(a) 0x0 /* PF_BAR0 */
2905 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_ECR(a) (a)
2906 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_ECR(a) (a), -1, -1, -1
2907
2908 /**
2909 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_s_mpamf_esr
2910 *
2911 * DSS Ddrctl Regb Chb Mpam S Mpamf Esr Register
2912 * MPAM Error Status Register
2913 */
2914 union ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_esr {
2915 uint32_t u;
2916 struct ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_esr_s {
2917 uint32_t partidmon : 16;
2918 uint32_t mpamf_esr_pmg : 8;
2919 uint32_t errcode : 4;
2920 uint32_t reserved_28_30 : 3;
2921 uint32_t ovrwr : 1;
2922 } s;
2923 /* struct ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_esr_s cn; */
2924 };
2925 typedef union ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_esr ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_esr_t;
2926
2927 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_ESR(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_ESR(uint64_t a)2928 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_ESR(uint64_t a)
2929 {
2930 if (a <= 19)
2931 return 0x87e1b02500f8ll + 0x1000000ll * ((a) & 0x1f);
2932 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_ESR", 1, a, 0, 0, 0, 0, 0);
2933 }
2934
2935 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_ESR(a) ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_esr_t
2936 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_ESR(a) CSR_TYPE_RSL32b
2937 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_ESR(a) "DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_ESR"
2938 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_ESR(a) 0x0 /* PF_BAR0 */
2939 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_ESR(a) (a)
2940 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_ESR(a) (a), -1, -1, -1
2941
2942 /**
2943 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_s_mpamf_idr
2944 *
2945 * DSS Ddrctl Regb Chb Mpam S Mpamf Idr Register
2946 * MPAM features ID register for a memory system component.
2947 */
2948 union ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_idr {
2949 uint32_t u;
2950 struct ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_idr_s {
2951 uint32_t partid_max : 16;
2952 uint32_t pmg_max : 8;
2953 uint32_t has_ccap_part : 1;
2954 uint32_t has_cport_part : 1;
2955 uint32_t has_mbw_part : 1;
2956 uint32_t has_pri_part : 1;
2957 uint32_t ext : 1;
2958 uint32_t has_impl_part : 1;
2959 uint32_t has_msmon : 1;
2960 uint32_t has_partid_nrw : 1;
2961 } s;
2962 /* struct ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_idr_s cn; */
2963 };
2964 typedef union ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_idr ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_idr_t;
2965
2966 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_IDR(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_IDR(uint64_t a)2967 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_IDR(uint64_t a)
2968 {
2969 if (a <= 19)
2970 return 0x87e1b0250000ll + 0x1000000ll * ((a) & 0x1f);
2971 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_IDR", 1, a, 0, 0, 0, 0, 0);
2972 }
2973
2974 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_IDR(a) ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_idr_t
2975 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_IDR(a) CSR_TYPE_RSL32b
2976 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_IDR(a) "DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_IDR"
2977 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_IDR(a) 0x0 /* PF_BAR0 */
2978 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_IDR(a) (a)
2979 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_IDR(a) (a), -1, -1, -1
2980
2981 /**
2982 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_s_mpamf_idr_32
2983 *
2984 * DSS Ddrctl Regb Chb Mpam S Mpamf Idr 32 Register
2985 * Extended MPAM features ID register for a memory system component present only when
2986 * MPAM V1.1 Version is enabled. At this offset MPAMF_IDR[63:32] can be accessed
2987 */
2988 union ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_idr_32 {
2989 uint32_t u;
2990 struct ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_idr_32_s {
2991 uint32_t has_ris : 1;
2992 uint32_t reserved_1_3 : 3;
2993 uint32_t has_no_impl_part : 1;
2994 uint32_t has_no_impl_msmon : 1;
2995 uint32_t has_extd_esr : 1;
2996 uint32_t has_esr : 1;
2997 uint32_t has_err_msi : 1;
2998 uint32_t reserved_9_31 : 23;
2999 } s;
3000 /* struct ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_idr_32_s cn; */
3001 };
3002 typedef union ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_idr_32 ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_idr_32_t;
3003
3004 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_IDR_32(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_IDR_32(uint64_t a)3005 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_IDR_32(uint64_t a)
3006 {
3007 if (a <= 19)
3008 return 0x87e1b0250004ll + 0x1000000ll * ((a) & 0x1f);
3009 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_IDR_32", 1, a, 0, 0, 0, 0, 0);
3010 }
3011
3012 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_IDR_32(a) ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_idr_32_t
3013 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_IDR_32(a) CSR_TYPE_RSL32b
3014 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_IDR_32(a) "DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_IDR_32"
3015 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_IDR_32(a) 0x0 /* PF_BAR0 */
3016 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_IDR_32(a) (a)
3017 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_IDR_32(a) (a), -1, -1, -1
3018
3019 /**
3020 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_s_mpamf_iidr
3021 *
3022 * DSS Ddrctl Regb Chb Mpam S Mpamf Iidr Register
3023 * MPAM implementation ID register.
3024 */
3025 union ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_iidr {
3026 uint32_t u;
3027 struct ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_iidr_s {
3028 uint32_t implementer : 12;
3029 uint32_t revision : 4;
3030 uint32_t variant : 4;
3031 uint32_t productid : 12;
3032 } s;
3033 /* struct ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_iidr_s cn; */
3034 };
3035 typedef union ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_iidr ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_iidr_t;
3036
3037 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_IIDR(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_IIDR(uint64_t a)3038 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_IIDR(uint64_t a)
3039 {
3040 if (a <= 19)
3041 return 0x87e1b0250018ll + 0x1000000ll * ((a) & 0x1f);
3042 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_IIDR", 1, a, 0, 0, 0, 0, 0);
3043 }
3044
3045 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_IIDR(a) ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_iidr_t
3046 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_IIDR(a) CSR_TYPE_RSL32b
3047 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_IIDR(a) "DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_IIDR"
3048 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_IIDR(a) 0x0 /* PF_BAR0 */
3049 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_IIDR(a) (a)
3050 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_IIDR(a) (a), -1, -1, -1
3051
3052 /**
3053 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_s_mpamf_impl_idr
3054 *
3055 * DSS Ddrctl Regb Chb Mpam S Mpamf Impl Idr Register
3056 * MPAMF implementation-specific partitioning feature ID register for a memory system component.
3057 */
3058 union ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_impl_idr {
3059 uint32_t u;
3060 struct ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_impl_idr_s {
3061 uint32_t mpam_cust_offset : 32;
3062 } s;
3063 /* struct ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_impl_idr_s cn; */
3064 };
3065 typedef union ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_impl_idr ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_impl_idr_t;
3066
3067 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_IMPL_IDR(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_IMPL_IDR(uint64_t a)3068 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_IMPL_IDR(uint64_t a)
3069 {
3070 if (a <= 19)
3071 return 0x87e1b0250028ll + 0x1000000ll * ((a) & 0x1f);
3072 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_IMPL_IDR", 1, a, 0, 0, 0, 0, 0);
3073 }
3074
3075 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_IMPL_IDR(a) ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_impl_idr_t
3076 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_IMPL_IDR(a) CSR_TYPE_RSL32b
3077 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_IMPL_IDR(a) "DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_IMPL_IDR"
3078 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_IMPL_IDR(a) 0x0 /* PF_BAR0 */
3079 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_IMPL_IDR(a) (a)
3080 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_IMPL_IDR(a) (a), -1, -1, -1
3081
3082 /**
3083 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_s_mpamf_mbw_idr
3084 *
3085 * DSS Ddrctl Regb Chb Mpam S Mpamf Mbw Idr Register
3086 * MPAM features memory bandwidth partitioning ID register
3087 */
3088 union ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_mbw_idr {
3089 uint32_t u;
3090 struct ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_mbw_idr_s {
3091 uint32_t bwa_wd : 6;
3092 uint32_t reserved_6_9 : 4;
3093 uint32_t has_min : 1;
3094 uint32_t has_max : 1;
3095 uint32_t has_pbm : 1;
3096 uint32_t has_prop : 1;
3097 uint32_t windwr : 1;
3098 uint32_t reserved_15 : 1;
3099 uint32_t bwpbm_wd : 13;
3100 uint32_t reserved_29_31 : 3;
3101 } s;
3102 /* struct ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_mbw_idr_s cn; */
3103 };
3104 typedef union ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_mbw_idr ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_mbw_idr_t;
3105
3106 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_MBW_IDR(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_MBW_IDR(uint64_t a)3107 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_MBW_IDR(uint64_t a)
3108 {
3109 if (a <= 19)
3110 return 0x87e1b0250040ll + 0x1000000ll * ((a) & 0x1f);
3111 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_MBW_IDR", 1, a, 0, 0, 0, 0, 0);
3112 }
3113
3114 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_MBW_IDR(a) ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_mbw_idr_t
3115 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_MBW_IDR(a) CSR_TYPE_RSL32b
3116 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_MBW_IDR(a) "DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_MBW_IDR"
3117 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_MBW_IDR(a) 0x0 /* PF_BAR0 */
3118 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_MBW_IDR(a) (a)
3119 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_MBW_IDR(a) (a), -1, -1, -1
3120
3121 /**
3122 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_s_mpamf_mbwumon_idr
3123 *
3124 * DSS Ddrctl Regb Chb Mpam S Mpamf Mbwumon Idr Register
3125 * MPAM Memory BandWidth Monitor ID register.
3126 */
3127 union ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_mbwumon_idr {
3128 uint32_t u;
3129 struct ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_mbwumon_idr_s {
3130 uint32_t num_mon : 16;
3131 uint32_t reserved_16_25 : 10;
3132 uint32_t has_ofsr : 1;
3133 uint32_t reserved_27 : 1;
3134 uint32_t has_rwbw : 1;
3135 uint32_t lwd : 1;
3136 uint32_t has_long : 1;
3137 uint32_t has_capture : 1;
3138 } s;
3139 /* struct ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_mbwumon_idr_s cn; */
3140 };
3141 typedef union ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_mbwumon_idr ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_mbwumon_idr_t;
3142
3143 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_MBWUMON_IDR(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_MBWUMON_IDR(uint64_t a)3144 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_MBWUMON_IDR(uint64_t a)
3145 {
3146 if (a <= 19)
3147 return 0x87e1b0250090ll + 0x1000000ll * ((a) & 0x1f);
3148 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_MBWUMON_IDR", 1, a, 0, 0, 0, 0, 0);
3149 }
3150
3151 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_MBWUMON_IDR(a) ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_mbwumon_idr_t
3152 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_MBWUMON_IDR(a) CSR_TYPE_RSL32b
3153 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_MBWUMON_IDR(a) "DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_MBWUMON_IDR"
3154 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_MBWUMON_IDR(a) 0x0 /* PF_BAR0 */
3155 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_MBWUMON_IDR(a) (a)
3156 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_MBWUMON_IDR(a) (a), -1, -1, -1
3157
3158 /**
3159 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_s_mpamf_msmon_idr
3160 *
3161 * DSS Ddrctl Regb Chb Mpam S Mpamf Msmon Idr Register
3162 * MPAM Memory System Monitor ID register.
3163 */
3164 union ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_msmon_idr {
3165 uint32_t u;
3166 struct ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_msmon_idr_s {
3167 uint32_t reserved_0_15 : 16;
3168 uint32_t msmon_csu : 1;
3169 uint32_t msmon_mbwu : 1;
3170 uint32_t reserved_18_27 : 10;
3171 uint32_t has_oflow_sr : 1;
3172 uint32_t has_oflow_msi : 1;
3173 uint32_t no_hw_oflw_intr : 1;
3174 uint32_t has_local_capt_evnt : 1;
3175 } s;
3176 /* struct ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_msmon_idr_s cn; */
3177 };
3178 typedef union ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_msmon_idr ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_msmon_idr_t;
3179
3180 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_MSMON_IDR(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_MSMON_IDR(uint64_t a)3181 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_MSMON_IDR(uint64_t a)
3182 {
3183 if (a <= 19)
3184 return 0x87e1b0250080ll + 0x1000000ll * ((a) & 0x1f);
3185 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_MSMON_IDR", 1, a, 0, 0, 0, 0, 0);
3186 }
3187
3188 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_MSMON_IDR(a) ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_msmon_idr_t
3189 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_MSMON_IDR(a) CSR_TYPE_RSL32b
3190 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_MSMON_IDR(a) "DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_MSMON_IDR"
3191 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_MSMON_IDR(a) 0x0 /* PF_BAR0 */
3192 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_MSMON_IDR(a) (a)
3193 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_MSMON_IDR(a) (a), -1, -1, -1
3194
3195 /**
3196 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_s_mpamf_sidr
3197 *
3198 * DSS Ddrctl Regb Chb Mpam S Mpamf Sidr Register
3199 * MPAM features secure ID register.
3200 */
3201 union ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_sidr {
3202 uint32_t u;
3203 struct ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_sidr_s {
3204 uint32_t s_partid_max : 16;
3205 uint32_t s_pmg_max : 8;
3206 uint32_t reserved_24_31 : 8;
3207 } s;
3208 /* struct ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_sidr_s cn; */
3209 };
3210 typedef union ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_sidr ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_sidr_t;
3211
3212 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_SIDR(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_SIDR(uint64_t a)3213 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_SIDR(uint64_t a)
3214 {
3215 if (a <= 19)
3216 return 0x87e1b0250008ll + 0x1000000ll * ((a) & 0x1f);
3217 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_SIDR", 1, a, 0, 0, 0, 0, 0);
3218 }
3219
3220 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_SIDR(a) ody_dssx_ddrctl_regb_chb_mpam_s_mpamf_sidr_t
3221 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_SIDR(a) CSR_TYPE_RSL32b
3222 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_SIDR(a) "DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_SIDR"
3223 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_SIDR(a) 0x0 /* PF_BAR0 */
3224 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_SIDR(a) (a)
3225 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MPAMF_SIDR(a) (a), -1, -1, -1
3226
3227 /**
3228 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_s_msmon_capt_evnt
3229 *
3230 * DSS Ddrctl Regb Chb Mpam S Msmon Capt Evnt Register
3231 * MPAM Monitor Capture Event register
3232 */
3233 union ody_dssx_ddrctl_regb_chb_mpam_s_msmon_capt_evnt {
3234 uint32_t u;
3235 struct ody_dssx_ddrctl_regb_chb_mpam_s_msmon_capt_evnt_s {
3236 uint32_t now : 1;
3237 uint32_t all : 1;
3238 uint32_t reserved_2_31 : 30;
3239 } s;
3240 /* struct ody_dssx_ddrctl_regb_chb_mpam_s_msmon_capt_evnt_s cn; */
3241 };
3242 typedef union ody_dssx_ddrctl_regb_chb_mpam_s_msmon_capt_evnt ody_dssx_ddrctl_regb_chb_mpam_s_msmon_capt_evnt_t;
3243
3244 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_CAPT_EVNT(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_CAPT_EVNT(uint64_t a)3245 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_CAPT_EVNT(uint64_t a)
3246 {
3247 if (a <= 19)
3248 return 0x87e1b0250808ll + 0x1000000ll * ((a) & 0x1f);
3249 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_CAPT_EVNT", 1, a, 0, 0, 0, 0, 0);
3250 }
3251
3252 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_CAPT_EVNT(a) ody_dssx_ddrctl_regb_chb_mpam_s_msmon_capt_evnt_t
3253 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_CAPT_EVNT(a) CSR_TYPE_RSL32b
3254 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_CAPT_EVNT(a) "DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_CAPT_EVNT"
3255 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_CAPT_EVNT(a) 0x0 /* PF_BAR0 */
3256 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_CAPT_EVNT(a) (a)
3257 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_CAPT_EVNT(a) (a), -1, -1, -1
3258
3259 /**
3260 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_s_msmon_cfg_mbwu_ctl
3261 *
3262 * DSS Ddrctl Regb Chb Mpam S Msmon Cfg Mbwu Ctl Register
3263 * MPAM MBWU Configuration Control register
3264 */
3265 union ody_dssx_ddrctl_regb_chb_mpam_s_msmon_cfg_mbwu_ctl {
3266 uint32_t u;
3267 struct ody_dssx_ddrctl_regb_chb_mpam_s_msmon_cfg_mbwu_ctl_s {
3268 uint32_t mon_type : 8;
3269 uint32_t reserved_8_13 : 6;
3270 uint32_t oflow_intr_l : 1;
3271 uint32_t oflow_status_l : 1;
3272 uint32_t match_partid : 1;
3273 uint32_t match_pmg : 1;
3274 uint32_t reserved_18_23 : 6;
3275 uint32_t oflow_frz : 1;
3276 uint32_t reserved_25_26 : 2;
3277 uint32_t capt_reset : 1;
3278 uint32_t capt_evnt : 3;
3279 uint32_t en : 1;
3280 } s;
3281 /* struct ody_dssx_ddrctl_regb_chb_mpam_s_msmon_cfg_mbwu_ctl_s cn; */
3282 };
3283 typedef union ody_dssx_ddrctl_regb_chb_mpam_s_msmon_cfg_mbwu_ctl ody_dssx_ddrctl_regb_chb_mpam_s_msmon_cfg_mbwu_ctl_t;
3284
3285 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_CFG_MBWU_CTL(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_CFG_MBWU_CTL(uint64_t a)3286 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_CFG_MBWU_CTL(uint64_t a)
3287 {
3288 if (a <= 19)
3289 return 0x87e1b0250828ll + 0x1000000ll * ((a) & 0x1f);
3290 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_CFG_MBWU_CTL", 1, a, 0, 0, 0, 0, 0);
3291 }
3292
3293 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_CFG_MBWU_CTL(a) ody_dssx_ddrctl_regb_chb_mpam_s_msmon_cfg_mbwu_ctl_t
3294 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_CFG_MBWU_CTL(a) CSR_TYPE_RSL32b
3295 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_CFG_MBWU_CTL(a) "DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_CFG_MBWU_CTL"
3296 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_CFG_MBWU_CTL(a) 0x0 /* PF_BAR0 */
3297 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_CFG_MBWU_CTL(a) (a)
3298 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_CFG_MBWU_CTL(a) (a), -1, -1, -1
3299
3300 /**
3301 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_s_msmon_cfg_mbwu_flt
3302 *
3303 * DSS Ddrctl Regb Chb Mpam S Msmon Cfg Mbwu Flt Register
3304 * MPAM MBWU Configuration Filter register
3305 */
3306 union ody_dssx_ddrctl_regb_chb_mpam_s_msmon_cfg_mbwu_flt {
3307 uint32_t u;
3308 struct ody_dssx_ddrctl_regb_chb_mpam_s_msmon_cfg_mbwu_flt_s {
3309 uint32_t partid : 16;
3310 uint32_t pmg : 8;
3311 uint32_t reserved_24_29 : 6;
3312 uint32_t rwbw : 2;
3313 } s;
3314 /* struct ody_dssx_ddrctl_regb_chb_mpam_s_msmon_cfg_mbwu_flt_s cn; */
3315 };
3316 typedef union ody_dssx_ddrctl_regb_chb_mpam_s_msmon_cfg_mbwu_flt ody_dssx_ddrctl_regb_chb_mpam_s_msmon_cfg_mbwu_flt_t;
3317
3318 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_CFG_MBWU_FLT(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_CFG_MBWU_FLT(uint64_t a)3319 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_CFG_MBWU_FLT(uint64_t a)
3320 {
3321 if (a <= 19)
3322 return 0x87e1b0250820ll + 0x1000000ll * ((a) & 0x1f);
3323 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_CFG_MBWU_FLT", 1, a, 0, 0, 0, 0, 0);
3324 }
3325
3326 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_CFG_MBWU_FLT(a) ody_dssx_ddrctl_regb_chb_mpam_s_msmon_cfg_mbwu_flt_t
3327 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_CFG_MBWU_FLT(a) CSR_TYPE_RSL32b
3328 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_CFG_MBWU_FLT(a) "DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_CFG_MBWU_FLT"
3329 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_CFG_MBWU_FLT(a) 0x0 /* PF_BAR0 */
3330 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_CFG_MBWU_FLT(a) (a)
3331 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_CFG_MBWU_FLT(a) (a), -1, -1, -1
3332
3333 /**
3334 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_s_msmon_cfg_mon_sel
3335 *
3336 * DSS Ddrctl Regb Chb Mpam S Msmon Cfg Mon Sel Register
3337 * MPAM Monitor configuration selection register
3338 */
3339 union ody_dssx_ddrctl_regb_chb_mpam_s_msmon_cfg_mon_sel {
3340 uint32_t u;
3341 struct ody_dssx_ddrctl_regb_chb_mpam_s_msmon_cfg_mon_sel_s {
3342 uint32_t mon_sel : 16;
3343 uint32_t reserved_16_31 : 16;
3344 } s;
3345 /* struct ody_dssx_ddrctl_regb_chb_mpam_s_msmon_cfg_mon_sel_s cn; */
3346 };
3347 typedef union ody_dssx_ddrctl_regb_chb_mpam_s_msmon_cfg_mon_sel ody_dssx_ddrctl_regb_chb_mpam_s_msmon_cfg_mon_sel_t;
3348
3349 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_CFG_MON_SEL(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_CFG_MON_SEL(uint64_t a)3350 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_CFG_MON_SEL(uint64_t a)
3351 {
3352 if (a <= 19)
3353 return 0x87e1b0250800ll + 0x1000000ll * ((a) & 0x1f);
3354 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_CFG_MON_SEL", 1, a, 0, 0, 0, 0, 0);
3355 }
3356
3357 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_CFG_MON_SEL(a) ody_dssx_ddrctl_regb_chb_mpam_s_msmon_cfg_mon_sel_t
3358 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_CFG_MON_SEL(a) CSR_TYPE_RSL32b
3359 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_CFG_MON_SEL(a) "DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_CFG_MON_SEL"
3360 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_CFG_MON_SEL(a) 0x0 /* PF_BAR0 */
3361 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_CFG_MON_SEL(a) (a)
3362 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_CFG_MON_SEL(a) (a), -1, -1, -1
3363
3364 /**
3365 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_s_msmon_mbwu_l
3366 *
3367 * DSS Ddrctl Regb Chb Mpam S Msmon Mbwu L Register
3368 * MPAM MBWU Long register
3369 */
3370 union ody_dssx_ddrctl_regb_chb_mpam_s_msmon_mbwu_l {
3371 uint32_t u;
3372 struct ody_dssx_ddrctl_regb_chb_mpam_s_msmon_mbwu_l_s {
3373 uint32_t value : 32;
3374 } s;
3375 /* struct ody_dssx_ddrctl_regb_chb_mpam_s_msmon_mbwu_l_s cn; */
3376 };
3377 typedef union ody_dssx_ddrctl_regb_chb_mpam_s_msmon_mbwu_l ody_dssx_ddrctl_regb_chb_mpam_s_msmon_mbwu_l_t;
3378
3379 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_L(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_L(uint64_t a)3380 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_L(uint64_t a)
3381 {
3382 if (a <= 19)
3383 return 0x87e1b0250880ll + 0x1000000ll * ((a) & 0x1f);
3384 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_L", 1, a, 0, 0, 0, 0, 0);
3385 }
3386
3387 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_L(a) ody_dssx_ddrctl_regb_chb_mpam_s_msmon_mbwu_l_t
3388 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_L(a) CSR_TYPE_RSL32b
3389 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_L(a) "DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_L"
3390 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_L(a) 0x0 /* PF_BAR0 */
3391 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_L(a) (a)
3392 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_L(a) (a), -1, -1, -1
3393
3394 /**
3395 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_s_msmon_mbwu_l_32
3396 *
3397 * DSS Ddrctl Regb Chb Mpam S Msmon Mbwu L 32 Register
3398 * MPAM MBWU Long MSB 32bits register
3399 */
3400 union ody_dssx_ddrctl_regb_chb_mpam_s_msmon_mbwu_l_32 {
3401 uint32_t u;
3402 struct ody_dssx_ddrctl_regb_chb_mpam_s_msmon_mbwu_l_32_s {
3403 uint32_t value : 31;
3404 uint32_t nrdy : 1;
3405 } s;
3406 /* struct ody_dssx_ddrctl_regb_chb_mpam_s_msmon_mbwu_l_32_s cn; */
3407 };
3408 typedef union ody_dssx_ddrctl_regb_chb_mpam_s_msmon_mbwu_l_32 ody_dssx_ddrctl_regb_chb_mpam_s_msmon_mbwu_l_32_t;
3409
3410 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_L_32(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_L_32(uint64_t a)3411 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_L_32(uint64_t a)
3412 {
3413 if (a <= 19)
3414 return 0x87e1b0250884ll + 0x1000000ll * ((a) & 0x1f);
3415 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_L_32", 1, a, 0, 0, 0, 0, 0);
3416 }
3417
3418 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_L_32(a) ody_dssx_ddrctl_regb_chb_mpam_s_msmon_mbwu_l_32_t
3419 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_L_32(a) CSR_TYPE_RSL32b
3420 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_L_32(a) "DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_L_32"
3421 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_L_32(a) 0x0 /* PF_BAR0 */
3422 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_L_32(a) (a)
3423 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_L_32(a) (a), -1, -1, -1
3424
3425 /**
3426 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_s_msmon_mbwu_l_capture
3427 *
3428 * DSS Ddrctl Regb Chb Mpam S Msmon Mbwu L Capture Register
3429 * MPAM MBWU Long Capture register
3430 */
3431 union ody_dssx_ddrctl_regb_chb_mpam_s_msmon_mbwu_l_capture {
3432 uint32_t u;
3433 struct ody_dssx_ddrctl_regb_chb_mpam_s_msmon_mbwu_l_capture_s {
3434 uint32_t value : 32;
3435 } s;
3436 /* struct ody_dssx_ddrctl_regb_chb_mpam_s_msmon_mbwu_l_capture_s cn; */
3437 };
3438 typedef union ody_dssx_ddrctl_regb_chb_mpam_s_msmon_mbwu_l_capture ody_dssx_ddrctl_regb_chb_mpam_s_msmon_mbwu_l_capture_t;
3439
3440 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_L_CAPTURE(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_L_CAPTURE(uint64_t a)3441 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_L_CAPTURE(uint64_t a)
3442 {
3443 if (a <= 19)
3444 return 0x87e1b0250890ll + 0x1000000ll * ((a) & 0x1f);
3445 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_L_CAPTURE", 1, a, 0, 0, 0, 0, 0);
3446 }
3447
3448 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_L_CAPTURE(a) ody_dssx_ddrctl_regb_chb_mpam_s_msmon_mbwu_l_capture_t
3449 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_L_CAPTURE(a) CSR_TYPE_RSL32b
3450 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_L_CAPTURE(a) "DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_L_CAPTURE"
3451 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_L_CAPTURE(a) 0x0 /* PF_BAR0 */
3452 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_L_CAPTURE(a) (a)
3453 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_L_CAPTURE(a) (a), -1, -1, -1
3454
3455 /**
3456 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_s_msmon_mbwu_l_capture_32
3457 *
3458 * DSS Ddrctl Regb Chb Mpam S Msmon Mbwu L Capture 32 Register
3459 * MPAM MBWU Long Capture MSB 32bits register
3460 */
3461 union ody_dssx_ddrctl_regb_chb_mpam_s_msmon_mbwu_l_capture_32 {
3462 uint32_t u;
3463 struct ody_dssx_ddrctl_regb_chb_mpam_s_msmon_mbwu_l_capture_32_s {
3464 uint32_t value : 31;
3465 uint32_t nrdy : 1;
3466 } s;
3467 /* struct ody_dssx_ddrctl_regb_chb_mpam_s_msmon_mbwu_l_capture_32_s cn; */
3468 };
3469 typedef union ody_dssx_ddrctl_regb_chb_mpam_s_msmon_mbwu_l_capture_32 ody_dssx_ddrctl_regb_chb_mpam_s_msmon_mbwu_l_capture_32_t;
3470
3471 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_L_CAPTURE_32(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_L_CAPTURE_32(uint64_t a)3472 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_L_CAPTURE_32(uint64_t a)
3473 {
3474 if (a <= 19)
3475 return 0x87e1b0250894ll + 0x1000000ll * ((a) & 0x1f);
3476 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_L_CAPTURE_32", 1, a, 0, 0, 0, 0, 0);
3477 }
3478
3479 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_L_CAPTURE_32(a) ody_dssx_ddrctl_regb_chb_mpam_s_msmon_mbwu_l_capture_32_t
3480 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_L_CAPTURE_32(a) CSR_TYPE_RSL32b
3481 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_L_CAPTURE_32(a) "DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_L_CAPTURE_32"
3482 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_L_CAPTURE_32(a) 0x0 /* PF_BAR0 */
3483 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_L_CAPTURE_32(a) (a)
3484 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_L_CAPTURE_32(a) (a), -1, -1, -1
3485
3486 /**
3487 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_s_msmon_mbwu_ofsr
3488 *
3489 * DSS Ddrctl Regb Chb Mpam S Msmon Mbwu Ofsr Register
3490 * MPAM MBWU OFSR register
3491 */
3492 union ody_dssx_ddrctl_regb_chb_mpam_s_msmon_mbwu_ofsr {
3493 uint32_t u;
3494 struct ody_dssx_ddrctl_regb_chb_mpam_s_msmon_mbwu_ofsr_s {
3495 uint32_t ofpnd : 32;
3496 } s;
3497 /* struct ody_dssx_ddrctl_regb_chb_mpam_s_msmon_mbwu_ofsr_s cn; */
3498 };
3499 typedef union ody_dssx_ddrctl_regb_chb_mpam_s_msmon_mbwu_ofsr ody_dssx_ddrctl_regb_chb_mpam_s_msmon_mbwu_ofsr_t;
3500
3501 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_OFSR(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_OFSR(uint64_t a)3502 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_OFSR(uint64_t a)
3503 {
3504 if (a <= 19)
3505 return 0x87e1b0250898ll + 0x1000000ll * ((a) & 0x1f);
3506 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_OFSR", 1, a, 0, 0, 0, 0, 0);
3507 }
3508
3509 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_OFSR(a) ody_dssx_ddrctl_regb_chb_mpam_s_msmon_mbwu_ofsr_t
3510 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_OFSR(a) CSR_TYPE_RSL32b
3511 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_OFSR(a) "DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_OFSR"
3512 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_OFSR(a) 0x0 /* PF_BAR0 */
3513 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_OFSR(a) (a)
3514 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_MBWU_OFSR(a) (a), -1, -1, -1
3515
3516 /**
3517 * Register (RSL32b) dss#_ddrctl_regb_chb_mpam_s_msmon_oflow_sr
3518 *
3519 * DSS Ddrctl Regb Chb Mpam S Msmon Oflow Sr Register
3520 * MPAM MSMON OFLOW SR register
3521 */
3522 union ody_dssx_ddrctl_regb_chb_mpam_s_msmon_oflow_sr {
3523 uint32_t u;
3524 struct ody_dssx_ddrctl_regb_chb_mpam_s_msmon_oflow_sr_s {
3525 uint32_t reserved_0_29 : 30;
3526 uint32_t mbwu_oflow_pnd : 1;
3527 uint32_t reserved_31 : 1;
3528 } s;
3529 /* struct ody_dssx_ddrctl_regb_chb_mpam_s_msmon_oflow_sr_s cn; */
3530 };
3531 typedef union ody_dssx_ddrctl_regb_chb_mpam_s_msmon_oflow_sr ody_dssx_ddrctl_regb_chb_mpam_s_msmon_oflow_sr_t;
3532
3533 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_OFLOW_SR(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_OFLOW_SR(uint64_t a)3534 static inline uint64_t ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_OFLOW_SR(uint64_t a)
3535 {
3536 if (a <= 19)
3537 return 0x87e1b02508f0ll + 0x1000000ll * ((a) & 0x1f);
3538 __ody_csr_fatal("DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_OFLOW_SR", 1, a, 0, 0, 0, 0, 0);
3539 }
3540
3541 #define typedef_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_OFLOW_SR(a) ody_dssx_ddrctl_regb_chb_mpam_s_msmon_oflow_sr_t
3542 #define bustype_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_OFLOW_SR(a) CSR_TYPE_RSL32b
3543 #define basename_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_OFLOW_SR(a) "DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_OFLOW_SR"
3544 #define device_bar_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_OFLOW_SR(a) 0x0 /* PF_BAR0 */
3545 #define busnum_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_OFLOW_SR(a) (a)
3546 #define arguments_ODY_DSSX_DDRCTL_REGB_CHB_MPAM_S_MSMON_OFLOW_SR(a) (a), -1, -1, -1
3547
3548 /**
3549 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_adveccindex
3550 *
3551 * DSS Ddrctl Regb Ddrc Ch0 Adveccindex Register
3552 * Advanced ECC Index Register
3553 */
3554 union ody_dssx_ddrctl_regb_ddrc_ch0_adveccindex {
3555 uint32_t u;
3556 struct ody_dssx_ddrctl_regb_ddrc_ch0_adveccindex_s {
3557 uint32_t ecc_syndrome_sel : 3;
3558 uint32_t ecc_err_symbol_sel : 2;
3559 uint32_t ecc_poison_beats_sel : 4;
3560 uint32_t reserved_9_31 : 23;
3561 } s;
3562 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_adveccindex_s cn; */
3563 };
3564 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_adveccindex ody_dssx_ddrctl_regb_ddrc_ch0_adveccindex_t;
3565
3566 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ADVECCINDEX(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ADVECCINDEX(uint64_t a)3567 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ADVECCINDEX(uint64_t a)
3568 {
3569 if (a <= 19)
3570 return 0x87e1b0210650ll + 0x1000000ll * ((a) & 0x1f);
3571 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_ADVECCINDEX", 1, a, 0, 0, 0, 0, 0);
3572 }
3573
3574 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ADVECCINDEX(a) ody_dssx_ddrctl_regb_ddrc_ch0_adveccindex_t
3575 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ADVECCINDEX(a) CSR_TYPE_RSL32b
3576 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ADVECCINDEX(a) "DSSX_DDRCTL_REGB_DDRC_CH0_ADVECCINDEX"
3577 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ADVECCINDEX(a) 0x0 /* PF_BAR0 */
3578 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ADVECCINDEX(a) (a)
3579 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ADVECCINDEX(a) (a), -1, -1, -1
3580
3581 /**
3582 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_adveccstat
3583 *
3584 * DSS Ddrctl Regb Ddrc Ch0 Adveccstat Register
3585 * Advanced ECC Status Register
3586 */
3587 union ody_dssx_ddrctl_regb_ddrc_ch0_adveccstat {
3588 uint32_t u;
3589 struct ody_dssx_ddrctl_regb_ddrc_ch0_adveccstat_s {
3590 uint32_t advecc_corrected_err : 1;
3591 uint32_t advecc_uncorrected_err : 1;
3592 uint32_t advecc_num_err_symbol : 3;
3593 uint32_t advecc_err_symbol_pos : 7;
3594 uint32_t reserved_12_15 : 4;
3595 uint32_t advecc_err_symbol_bits : 8;
3596 uint32_t advecc_ce_kbd_stat : 4;
3597 uint32_t advecc_ue_kbd_stat : 2;
3598 uint32_t sbr_read_advecc_ce : 1;
3599 uint32_t sbr_read_advecc_ue : 1;
3600 } s;
3601 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_adveccstat_s cn; */
3602 };
3603 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_adveccstat ody_dssx_ddrctl_regb_ddrc_ch0_adveccstat_t;
3604
3605 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ADVECCSTAT(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ADVECCSTAT(uint64_t a)3606 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ADVECCSTAT(uint64_t a)
3607 {
3608 if (a <= 19)
3609 return 0x87e1b0210654ll + 0x1000000ll * ((a) & 0x1f);
3610 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_ADVECCSTAT", 1, a, 0, 0, 0, 0, 0);
3611 }
3612
3613 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ADVECCSTAT(a) ody_dssx_ddrctl_regb_ddrc_ch0_adveccstat_t
3614 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ADVECCSTAT(a) CSR_TYPE_RSL32b
3615 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ADVECCSTAT(a) "DSSX_DDRCTL_REGB_DDRC_CH0_ADVECCSTAT"
3616 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ADVECCSTAT(a) 0x0 /* PF_BAR0 */
3617 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ADVECCSTAT(a) (a)
3618 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ADVECCSTAT(a) (a), -1, -1, -1
3619
3620 /**
3621 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_capar_cmdbuf_ctrl
3622 *
3623 * DSS Ddrctl Regb Ddrc Ch0 Capar Cmdbuf Ctrl Register
3624 * CA Parity Retry command buffer control register
3625 */
3626 union ody_dssx_ddrctl_regb_ddrc_ch0_capar_cmdbuf_ctrl {
3627 uint32_t u;
3628 struct ody_dssx_ddrctl_regb_ddrc_ch0_capar_cmdbuf_ctrl_s {
3629 uint32_t capar_cmdbuf_wdata : 16;
3630 uint32_t capar_cmdbuf_addr : 6;
3631 uint32_t reserved_22_28 : 7;
3632 uint32_t capar_cmdbuf_op_mode : 1;
3633 uint32_t capar_cmdbuf_rw_type : 1;
3634 uint32_t capar_cmdbuf_rw_start : 1;
3635 } s;
3636 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_capar_cmdbuf_ctrl_s cn; */
3637 };
3638 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_capar_cmdbuf_ctrl ody_dssx_ddrctl_regb_ddrc_ch0_capar_cmdbuf_ctrl_t;
3639
3640 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDBUF_CTRL(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDBUF_CTRL(uint64_t a)3641 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDBUF_CTRL(uint64_t a)
3642 {
3643 if (a <= 19)
3644 return 0x87e1b0210b50ll + 0x1000000ll * ((a) & 0x1f);
3645 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDBUF_CTRL", 1, a, 0, 0, 0, 0, 0);
3646 }
3647
3648 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDBUF_CTRL(a) ody_dssx_ddrctl_regb_ddrc_ch0_capar_cmdbuf_ctrl_t
3649 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDBUF_CTRL(a) CSR_TYPE_RSL32b
3650 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDBUF_CTRL(a) "DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDBUF_CTRL"
3651 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDBUF_CTRL(a) 0x0 /* PF_BAR0 */
3652 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDBUF_CTRL(a) (a)
3653 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDBUF_CTRL(a) (a), -1, -1, -1
3654
3655 /**
3656 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_capar_cmdbuf_stat
3657 *
3658 * DSS Ddrctl Regb Ddrc Ch0 Capar Cmdbuf Stat Register
3659 * CA Parity Retry command buffer status register.
3660 */
3661 union ody_dssx_ddrctl_regb_ddrc_ch0_capar_cmdbuf_stat {
3662 uint32_t u;
3663 struct ody_dssx_ddrctl_regb_ddrc_ch0_capar_cmdbuf_stat_s {
3664 uint32_t capar_cmdbuf_rdata : 16;
3665 uint32_t reserved_16_31 : 16;
3666 } s;
3667 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_capar_cmdbuf_stat_s cn; */
3668 };
3669 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_capar_cmdbuf_stat ody_dssx_ddrctl_regb_ddrc_ch0_capar_cmdbuf_stat_t;
3670
3671 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDBUF_STAT(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDBUF_STAT(uint64_t a)3672 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDBUF_STAT(uint64_t a)
3673 {
3674 if (a <= 19)
3675 return 0x87e1b0210b54ll + 0x1000000ll * ((a) & 0x1f);
3676 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDBUF_STAT", 1, a, 0, 0, 0, 0, 0);
3677 }
3678
3679 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDBUF_STAT(a) ody_dssx_ddrctl_regb_ddrc_ch0_capar_cmdbuf_stat_t
3680 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDBUF_STAT(a) CSR_TYPE_RSL32b
3681 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDBUF_STAT(a) "DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDBUF_STAT"
3682 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDBUF_STAT(a) 0x0 /* PF_BAR0 */
3683 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDBUF_STAT(a) (a)
3684 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDBUF_STAT(a) (a), -1, -1, -1
3685
3686 /**
3687 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_capar_cmdfifo_ctrl
3688 *
3689 * DSS Ddrctl Regb Ddrc Ch0 Capar Cmdfifo Ctrl Register
3690 * PASCAPAR CMDFIFO CTRL Register
3691 */
3692 union ody_dssx_ddrctl_regb_ddrc_ch0_capar_cmdfifo_ctrl {
3693 uint32_t u;
3694 struct ody_dssx_ddrctl_regb_ddrc_ch0_capar_cmdfifo_ctrl_s {
3695 uint32_t reserved_0_15 : 16;
3696 uint32_t cmdfifo_rd_addr : 8;
3697 uint32_t reserved_24_31 : 8;
3698 } s;
3699 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_capar_cmdfifo_ctrl_s cn; */
3700 };
3701 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_capar_cmdfifo_ctrl ody_dssx_ddrctl_regb_ddrc_ch0_capar_cmdfifo_ctrl_t;
3702
3703 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDFIFO_CTRL(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDFIFO_CTRL(uint64_t a)3704 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDFIFO_CTRL(uint64_t a)
3705 {
3706 if (a <= 19)
3707 return 0x87e1b0210dc0ll + 0x1000000ll * ((a) & 0x1f);
3708 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDFIFO_CTRL", 1, a, 0, 0, 0, 0, 0);
3709 }
3710
3711 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDFIFO_CTRL(a) ody_dssx_ddrctl_regb_ddrc_ch0_capar_cmdfifo_ctrl_t
3712 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDFIFO_CTRL(a) CSR_TYPE_RSL32b
3713 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDFIFO_CTRL(a) "DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDFIFO_CTRL"
3714 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDFIFO_CTRL(a) 0x0 /* PF_BAR0 */
3715 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDFIFO_CTRL(a) (a)
3716 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDFIFO_CTRL(a) (a), -1, -1, -1
3717
3718 /**
3719 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_capar_cmdfifo_log
3720 *
3721 * DSS Ddrctl Regb Ddrc Ch0 Capar Cmdfifo Log Register
3722 * PASCAPAR CMDFIFO LOG Register
3723 */
3724 union ody_dssx_ddrctl_regb_ddrc_ch0_capar_cmdfifo_log {
3725 uint32_t u;
3726 struct ody_dssx_ddrctl_regb_ddrc_ch0_capar_cmdfifo_log_s {
3727 uint32_t cmdfifo_window_cmd_num : 9;
3728 uint32_t reserved_9_15 : 7;
3729 uint32_t cmdfifo_recorded_cmd_num : 9;
3730 uint32_t reserved_25_30 : 6;
3731 uint32_t cmdfifo_overflow : 1;
3732 } s;
3733 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_capar_cmdfifo_log_s cn; */
3734 };
3735 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_capar_cmdfifo_log ody_dssx_ddrctl_regb_ddrc_ch0_capar_cmdfifo_log_t;
3736
3737 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDFIFO_LOG(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDFIFO_LOG(uint64_t a)3738 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDFIFO_LOG(uint64_t a)
3739 {
3740 if (a <= 19)
3741 return 0x87e1b0210dc8ll + 0x1000000ll * ((a) & 0x1f);
3742 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDFIFO_LOG", 1, a, 0, 0, 0, 0, 0);
3743 }
3744
3745 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDFIFO_LOG(a) ody_dssx_ddrctl_regb_ddrc_ch0_capar_cmdfifo_log_t
3746 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDFIFO_LOG(a) CSR_TYPE_RSL32b
3747 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDFIFO_LOG(a) "DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDFIFO_LOG"
3748 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDFIFO_LOG(a) 0x0 /* PF_BAR0 */
3749 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDFIFO_LOG(a) (a)
3750 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDFIFO_LOG(a) (a), -1, -1, -1
3751
3752 /**
3753 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_capar_cmdfifo_stat
3754 *
3755 * DSS Ddrctl Regb Ddrc Ch0 Capar Cmdfifo Stat Register
3756 * PASCAPAR CMDFIFO STAT Register
3757 */
3758 union ody_dssx_ddrctl_regb_ddrc_ch0_capar_cmdfifo_stat {
3759 uint32_t u;
3760 struct ody_dssx_ddrctl_regb_ddrc_ch0_capar_cmdfifo_stat_s {
3761 uint32_t cmdfifo_rd_data : 13;
3762 uint32_t reserved_13_31 : 19;
3763 } s;
3764 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_capar_cmdfifo_stat_s cn; */
3765 };
3766 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_capar_cmdfifo_stat ody_dssx_ddrctl_regb_ddrc_ch0_capar_cmdfifo_stat_t;
3767
3768 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDFIFO_STAT(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDFIFO_STAT(uint64_t a)3769 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDFIFO_STAT(uint64_t a)
3770 {
3771 if (a <= 19)
3772 return 0x87e1b0210dc4ll + 0x1000000ll * ((a) & 0x1f);
3773 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDFIFO_STAT", 1, a, 0, 0, 0, 0, 0);
3774 }
3775
3776 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDFIFO_STAT(a) ody_dssx_ddrctl_regb_ddrc_ch0_capar_cmdfifo_stat_t
3777 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDFIFO_STAT(a) CSR_TYPE_RSL32b
3778 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDFIFO_STAT(a) "DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDFIFO_STAT"
3779 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDFIFO_STAT(a) 0x0 /* PF_BAR0 */
3780 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDFIFO_STAT(a) (a)
3781 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_CMDFIFO_STAT(a) (a), -1, -1, -1
3782
3783 /**
3784 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_capar_dbg_stat0
3785 *
3786 * DSS Ddrctl Regb Ddrc Ch0 Capar Dbg Stat0 Register
3787 * PASCAPAR DEBUG STAT0 Register
3788 */
3789 union ody_dssx_ddrctl_regb_ddrc_ch0_capar_dbg_stat0 {
3790 uint32_t u;
3791 struct ody_dssx_ddrctl_regb_ddrc_ch0_capar_dbg_stat0_s {
3792 uint32_t dbg_capar_retry_mc_addr : 6;
3793 uint32_t reserved_6_15 : 10;
3794 uint32_t dbg_capar_retry_mc_code : 16;
3795 } s;
3796 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_capar_dbg_stat0_s cn; */
3797 };
3798 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_capar_dbg_stat0 ody_dssx_ddrctl_regb_ddrc_ch0_capar_dbg_stat0_t;
3799
3800 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_DBG_STAT0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_DBG_STAT0(uint64_t a)3801 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_DBG_STAT0(uint64_t a)
3802 {
3803 if (a <= 19)
3804 return 0x87e1b0210db8ll + 0x1000000ll * ((a) & 0x1f);
3805 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_DBG_STAT0", 1, a, 0, 0, 0, 0, 0);
3806 }
3807
3808 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_DBG_STAT0(a) ody_dssx_ddrctl_regb_ddrc_ch0_capar_dbg_stat0_t
3809 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_DBG_STAT0(a) CSR_TYPE_RSL32b
3810 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_DBG_STAT0(a) "DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_DBG_STAT0"
3811 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_DBG_STAT0(a) 0x0 /* PF_BAR0 */
3812 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_DBG_STAT0(a) (a)
3813 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_DBG_STAT0(a) (a), -1, -1, -1
3814
3815 /**
3816 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_capar_dbg_stat1
3817 *
3818 * DSS Ddrctl Regb Ddrc Ch0 Capar Dbg Stat1 Register
3819 * PASCAPAR DEBUG STAT1 Register
3820 */
3821 union ody_dssx_ddrctl_regb_ddrc_ch0_capar_dbg_stat1 {
3822 uint32_t u;
3823 struct ody_dssx_ddrctl_regb_ddrc_ch0_capar_dbg_stat1_s {
3824 uint32_t dbg_capar_retry_state_sceu : 3;
3825 uint32_t reserved_3 : 1;
3826 uint32_t dbg_capar_retry_state_mceu : 3;
3827 uint32_t reserved_7 : 1;
3828 uint32_t dbg_capar_retry_state_csm : 2;
3829 uint32_t reserved_10_31 : 22;
3830 } s;
3831 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_capar_dbg_stat1_s cn; */
3832 };
3833 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_capar_dbg_stat1 ody_dssx_ddrctl_regb_ddrc_ch0_capar_dbg_stat1_t;
3834
3835 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_DBG_STAT1(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_DBG_STAT1(uint64_t a)3836 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_DBG_STAT1(uint64_t a)
3837 {
3838 if (a <= 19)
3839 return 0x87e1b0210dbcll + 0x1000000ll * ((a) & 0x1f);
3840 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_DBG_STAT1", 1, a, 0, 0, 0, 0, 0);
3841 }
3842
3843 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_DBG_STAT1(a) ody_dssx_ddrctl_regb_ddrc_ch0_capar_dbg_stat1_t
3844 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_DBG_STAT1(a) CSR_TYPE_RSL32b
3845 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_DBG_STAT1(a) "DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_DBG_STAT1"
3846 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_DBG_STAT1(a) 0x0 /* PF_BAR0 */
3847 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_DBG_STAT1(a) (a)
3848 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPAR_DBG_STAT1(a) (a), -1, -1, -1
3849
3850 /**
3851 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_caparpoisonctl
3852 *
3853 * DSS Ddrctl Regb Ddrc Ch0 Caparpoisonctl Register
3854 * CA parity poison control Register
3855 */
3856 union ody_dssx_ddrctl_regb_ddrc_ch0_caparpoisonctl {
3857 uint32_t u;
3858 struct ody_dssx_ddrctl_regb_ddrc_ch0_caparpoisonctl_s {
3859 uint32_t capar_poison_inject_en : 1;
3860 uint32_t reserved_1_7 : 7;
3861 uint32_t capar_poison_cmdtype : 2;
3862 uint32_t reserved_10_11 : 2;
3863 uint32_t capar_poison_position : 8;
3864 uint32_t reserved_20_31 : 12;
3865 } s;
3866 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_caparpoisonctl_s cn; */
3867 };
3868 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_caparpoisonctl ody_dssx_ddrctl_regb_ddrc_ch0_caparpoisonctl_t;
3869
3870 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPARPOISONCTL(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPARPOISONCTL(uint64_t a)3871 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPARPOISONCTL(uint64_t a)
3872 {
3873 if (a <= 19)
3874 return 0x87e1b0210810ll + 0x1000000ll * ((a) & 0x1f);
3875 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_CAPARPOISONCTL", 1, a, 0, 0, 0, 0, 0);
3876 }
3877
3878 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPARPOISONCTL(a) ody_dssx_ddrctl_regb_ddrc_ch0_caparpoisonctl_t
3879 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPARPOISONCTL(a) CSR_TYPE_RSL32b
3880 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPARPOISONCTL(a) "DSSX_DDRCTL_REGB_DDRC_CH0_CAPARPOISONCTL"
3881 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPARPOISONCTL(a) 0x0 /* PF_BAR0 */
3882 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPARPOISONCTL(a) (a)
3883 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPARPOISONCTL(a) (a), -1, -1, -1
3884
3885 /**
3886 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_caparpoisonstat
3887 *
3888 * DSS Ddrctl Regb Ddrc Ch0 Caparpoisonstat Register
3889 * CA parity poison status Register
3890 */
3891 union ody_dssx_ddrctl_regb_ddrc_ch0_caparpoisonstat {
3892 uint32_t u;
3893 struct ody_dssx_ddrctl_regb_ddrc_ch0_caparpoisonstat_s {
3894 uint32_t capar_poison_complete : 1;
3895 uint32_t reserved_1_31 : 31;
3896 } s;
3897 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_caparpoisonstat_s cn; */
3898 };
3899 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_caparpoisonstat ody_dssx_ddrctl_regb_ddrc_ch0_caparpoisonstat_t;
3900
3901 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPARPOISONSTAT(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPARPOISONSTAT(uint64_t a)3902 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPARPOISONSTAT(uint64_t a)
3903 {
3904 if (a <= 19)
3905 return 0x87e1b0210814ll + 0x1000000ll * ((a) & 0x1f);
3906 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_CAPARPOISONSTAT", 1, a, 0, 0, 0, 0, 0);
3907 }
3908
3909 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPARPOISONSTAT(a) ody_dssx_ddrctl_regb_ddrc_ch0_caparpoisonstat_t
3910 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPARPOISONSTAT(a) CSR_TYPE_RSL32b
3911 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPARPOISONSTAT(a) "DSSX_DDRCTL_REGB_DDRC_CH0_CAPARPOISONSTAT"
3912 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPARPOISONSTAT(a) 0x0 /* PF_BAR0 */
3913 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPARPOISONSTAT(a) (a)
3914 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CAPARPOISONSTAT(a) (a), -1, -1, -1
3915
3916 /**
3917 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_chctl
3918 *
3919 * DSS Ddrctl Regb Ddrc Ch0 Chctl Register
3920 * Channel Control Register
3921 */
3922 union ody_dssx_ddrctl_regb_ddrc_ch0_chctl {
3923 uint32_t u;
3924 struct ody_dssx_ddrctl_regb_ddrc_ch0_chctl_s {
3925 uint32_t dual_channel_en : 1;
3926 uint32_t reserved_1_31 : 31;
3927 } s;
3928 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_chctl_s cn; */
3929 };
3930 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_chctl ody_dssx_ddrctl_regb_ddrc_ch0_chctl_t;
3931
3932 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CHCTL(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CHCTL(uint64_t a)3933 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CHCTL(uint64_t a)
3934 {
3935 if (a <= 19)
3936 return 0x87e1b0210c8cll + 0x1000000ll * ((a) & 0x1f);
3937 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_CHCTL", 1, a, 0, 0, 0, 0, 0);
3938 }
3939
3940 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CHCTL(a) ody_dssx_ddrctl_regb_ddrc_ch0_chctl_t
3941 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CHCTL(a) CSR_TYPE_RSL32b
3942 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CHCTL(a) "DSSX_DDRCTL_REGB_DDRC_CH0_CHCTL"
3943 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CHCTL(a) 0x0 /* PF_BAR0 */
3944 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CHCTL(a) (a)
3945 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CHCTL(a) (a), -1, -1, -1
3946
3947 /**
3948 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_cmdcfg
3949 *
3950 * DSS Ddrctl Regb Ddrc Ch0 Cmdcfg Register
3951 * Software DDR command configuration register
3952 */
3953 union ody_dssx_ddrctl_regb_ddrc_ch0_cmdcfg {
3954 uint32_t u;
3955 struct ody_dssx_ddrctl_regb_ddrc_ch0_cmdcfg_s {
3956 uint32_t cmd_type : 1;
3957 uint32_t multi_cyc_cs_en : 1;
3958 uint32_t pde_odt_ctrl : 1;
3959 uint32_t pd_mrr_nt_odt_en : 1;
3960 uint32_t cmd_timer_x32 : 12;
3961 uint32_t mrr_grp_sel : 3;
3962 uint32_t reserved_19_20 : 2;
3963 uint32_t ctrlupd_retry_thr : 4;
3964 uint32_t reserved_25_31 : 7;
3965 } s;
3966 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_cmdcfg_s cn; */
3967 };
3968 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_cmdcfg ody_dssx_ddrctl_regb_ddrc_ch0_cmdcfg_t;
3969
3970 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CMDCFG(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CMDCFG(uint64_t a)3971 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CMDCFG(uint64_t a)
3972 {
3973 if (a <= 19)
3974 return 0x87e1b0210b00ll + 0x1000000ll * ((a) & 0x1f);
3975 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_CMDCFG", 1, a, 0, 0, 0, 0, 0);
3976 }
3977
3978 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CMDCFG(a) ody_dssx_ddrctl_regb_ddrc_ch0_cmdcfg_t
3979 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CMDCFG(a) CSR_TYPE_RSL32b
3980 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CMDCFG(a) "DSSX_DDRCTL_REGB_DDRC_CH0_CMDCFG"
3981 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CMDCFG(a) 0x0 /* PF_BAR0 */
3982 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CMDCFG(a) (a)
3983 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CMDCFG(a) (a), -1, -1, -1
3984
3985 /**
3986 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_cmdctl
3987 *
3988 * DSS Ddrctl Regb Ddrc Ch0 Cmdctl Register
3989 * Software DDR command control register
3990 */
3991 union ody_dssx_ddrctl_regb_ddrc_ch0_cmdctl {
3992 uint32_t u;
3993 struct ody_dssx_ddrctl_regb_ddrc_ch0_cmdctl_s {
3994 uint32_t cmd_ctrl : 24;
3995 uint32_t cmd_code : 5;
3996 uint32_t cmd_seq_ongoing : 1;
3997 uint32_t cmd_seq_last : 1;
3998 uint32_t cmd_start : 1;
3999 } s;
4000 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_cmdctl_s cn; */
4001 };
4002 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_cmdctl ody_dssx_ddrctl_regb_ddrc_ch0_cmdctl_t;
4003
4004 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CMDCTL(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CMDCTL(uint64_t a)4005 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CMDCTL(uint64_t a)
4006 {
4007 if (a <= 19)
4008 return 0x87e1b0210b04ll + 0x1000000ll * ((a) & 0x1f);
4009 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_CMDCTL", 1, a, 0, 0, 0, 0, 0);
4010 }
4011
4012 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CMDCTL(a) ody_dssx_ddrctl_regb_ddrc_ch0_cmdctl_t
4013 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CMDCTL(a) CSR_TYPE_RSL32b
4014 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CMDCTL(a) "DSSX_DDRCTL_REGB_DDRC_CH0_CMDCTL"
4015 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CMDCTL(a) 0x0 /* PF_BAR0 */
4016 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CMDCTL(a) (a)
4017 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CMDCTL(a) (a), -1, -1, -1
4018
4019 /**
4020 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_cmdextctl
4021 *
4022 * DSS Ddrctl Regb Ddrc Ch0 Cmdextctl Register
4023 * Software DDR command extended control register
4024 */
4025 union ody_dssx_ddrctl_regb_ddrc_ch0_cmdextctl {
4026 uint32_t u;
4027 struct ody_dssx_ddrctl_regb_ddrc_ch0_cmdextctl_s {
4028 uint32_t cmd_ext_ctrl : 32;
4029 } s;
4030 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_cmdextctl_s cn; */
4031 };
4032 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_cmdextctl ody_dssx_ddrctl_regb_ddrc_ch0_cmdextctl_t;
4033
4034 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CMDEXTCTL(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CMDEXTCTL(uint64_t a)4035 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CMDEXTCTL(uint64_t a)
4036 {
4037 if (a <= 19)
4038 return 0x87e1b0210b08ll + 0x1000000ll * ((a) & 0x1f);
4039 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_CMDEXTCTL", 1, a, 0, 0, 0, 0, 0);
4040 }
4041
4042 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CMDEXTCTL(a) ody_dssx_ddrctl_regb_ddrc_ch0_cmdextctl_t
4043 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CMDEXTCTL(a) CSR_TYPE_RSL32b
4044 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CMDEXTCTL(a) "DSSX_DDRCTL_REGB_DDRC_CH0_CMDEXTCTL"
4045 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CMDEXTCTL(a) 0x0 /* PF_BAR0 */
4046 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CMDEXTCTL(a) (a)
4047 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CMDEXTCTL(a) (a), -1, -1, -1
4048
4049 /**
4050 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_cmdmrrdata
4051 *
4052 * DSS Ddrctl Regb Ddrc Ch0 Cmdmrrdata Register
4053 * Software DDR command MRR Data register
4054 */
4055 union ody_dssx_ddrctl_regb_ddrc_ch0_cmdmrrdata {
4056 uint32_t u;
4057 struct ody_dssx_ddrctl_regb_ddrc_ch0_cmdmrrdata_s {
4058 uint32_t cmd_mrr_data : 32;
4059 } s;
4060 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_cmdmrrdata_s cn; */
4061 };
4062 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_cmdmrrdata ody_dssx_ddrctl_regb_ddrc_ch0_cmdmrrdata_t;
4063
4064 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CMDMRRDATA(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CMDMRRDATA(uint64_t a)4065 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CMDMRRDATA(uint64_t a)
4066 {
4067 if (a <= 19)
4068 return 0x87e1b0210b14ll + 0x1000000ll * ((a) & 0x1f);
4069 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_CMDMRRDATA", 1, a, 0, 0, 0, 0, 0);
4070 }
4071
4072 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CMDMRRDATA(a) ody_dssx_ddrctl_regb_ddrc_ch0_cmdmrrdata_t
4073 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CMDMRRDATA(a) CSR_TYPE_RSL32b
4074 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CMDMRRDATA(a) "DSSX_DDRCTL_REGB_DDRC_CH0_CMDMRRDATA"
4075 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CMDMRRDATA(a) 0x0 /* PF_BAR0 */
4076 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CMDMRRDATA(a) (a)
4077 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CMDMRRDATA(a) (a), -1, -1, -1
4078
4079 /**
4080 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_cmdstat
4081 *
4082 * DSS Ddrctl Regb Ddrc Ch0 Cmdstat Register
4083 * Software DDR command status register
4084 */
4085 union ody_dssx_ddrctl_regb_ddrc_ch0_cmdstat {
4086 uint32_t u;
4087 struct ody_dssx_ddrctl_regb_ddrc_ch0_cmdstat_s {
4088 uint32_t mrr_data_vld : 1;
4089 uint32_t rd_data_vld : 1;
4090 uint32_t ddr5_2n_mode : 1;
4091 uint32_t reserved_3_7 : 5;
4092 uint32_t swcmd_lock : 1;
4093 uint32_t ducmd_lock : 1;
4094 uint32_t lccmd_lock : 1;
4095 uint32_t reserved_11 : 1;
4096 uint32_t cmd_rslt : 18;
4097 uint32_t cmd_err : 1;
4098 uint32_t cmd_done : 1;
4099 } s;
4100 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_cmdstat_s cn; */
4101 };
4102 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_cmdstat ody_dssx_ddrctl_regb_ddrc_ch0_cmdstat_t;
4103
4104 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CMDSTAT(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CMDSTAT(uint64_t a)4105 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CMDSTAT(uint64_t a)
4106 {
4107 if (a <= 19)
4108 return 0x87e1b0210b0cll + 0x1000000ll * ((a) & 0x1f);
4109 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_CMDSTAT", 1, a, 0, 0, 0, 0, 0);
4110 }
4111
4112 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CMDSTAT(a) ody_dssx_ddrctl_regb_ddrc_ch0_cmdstat_t
4113 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CMDSTAT(a) CSR_TYPE_RSL32b
4114 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CMDSTAT(a) "DSSX_DDRCTL_REGB_DDRC_CH0_CMDSTAT"
4115 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CMDSTAT(a) 0x0 /* PF_BAR0 */
4116 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CMDSTAT(a) (a)
4117 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CMDSTAT(a) (a), -1, -1, -1
4118
4119 /**
4120 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_crcparctl0
4121 *
4122 * DSS Ddrctl Regb Ddrc Ch0 Crcparctl0 Register
4123 * CRC Parity Control Register0
4124 */
4125 union ody_dssx_ddrctl_regb_ddrc_ch0_crcparctl0 {
4126 uint32_t u;
4127 struct ody_dssx_ddrctl_regb_ddrc_ch0_crcparctl0_s {
4128 uint32_t capar_err_intr_en : 1;
4129 uint32_t capar_err_intr_clr : 1;
4130 uint32_t capar_err_intr_force : 1;
4131 uint32_t reserved_3 : 1;
4132 uint32_t capar_err_max_reached_intr_en : 1;
4133 uint32_t capar_err_max_reached_intr_clr : 1;
4134 uint32_t capar_err_max_reached_intr_force : 1;
4135 uint32_t capar_err_cnt_clr : 1;
4136 uint32_t wr_crc_err_intr_en : 1;
4137 uint32_t wr_crc_err_intr_clr : 1;
4138 uint32_t wr_crc_err_intr_force : 1;
4139 uint32_t reserved_11 : 1;
4140 uint32_t wr_crc_err_max_reached_intr_en : 1;
4141 uint32_t wr_crc_err_max_reached_intr_clr : 1;
4142 uint32_t wr_crc_err_max_reached_intr_force : 1;
4143 uint32_t wr_crc_err_cnt_clr : 1;
4144 uint32_t reserved_16_19 : 4;
4145 uint32_t rd_crc_err_max_reached_int_en : 1;
4146 uint32_t rd_crc_err_max_reached_int_clr : 1;
4147 uint32_t rd_crc_err_cnt_clr : 1;
4148 uint32_t rd_crc_err_max_reached_intr_force : 1;
4149 uint32_t capar_fatl_err_intr_en : 1;
4150 uint32_t capar_fatl_err_intr_clr : 1;
4151 uint32_t capar_fatl_err_intr_force : 1;
4152 uint32_t reserved_27_31 : 5;
4153 } s;
4154 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_crcparctl0_s cn; */
4155 };
4156 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_crcparctl0 ody_dssx_ddrctl_regb_ddrc_ch0_crcparctl0_t;
4157
4158 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCPARCTL0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCPARCTL0(uint64_t a)4159 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCPARCTL0(uint64_t a)
4160 {
4161 if (a <= 19)
4162 return 0x87e1b0210800ll + 0x1000000ll * ((a) & 0x1f);
4163 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_CRCPARCTL0", 1, a, 0, 0, 0, 0, 0);
4164 }
4165
4166 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCPARCTL0(a) ody_dssx_ddrctl_regb_ddrc_ch0_crcparctl0_t
4167 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCPARCTL0(a) CSR_TYPE_RSL32b
4168 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCPARCTL0(a) "DSSX_DDRCTL_REGB_DDRC_CH0_CRCPARCTL0"
4169 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCPARCTL0(a) 0x0 /* PF_BAR0 */
4170 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCPARCTL0(a) (a)
4171 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCPARCTL0(a) (a), -1, -1, -1
4172
4173 /**
4174 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_crcparctl1
4175 *
4176 * DSS Ddrctl Regb Ddrc Ch0 Crcparctl1 Register
4177 * CRC Parity Control Register 1
4178 */
4179 union ody_dssx_ddrctl_regb_ddrc_ch0_crcparctl1 {
4180 uint32_t u;
4181 struct ody_dssx_ddrctl_regb_ddrc_ch0_crcparctl1_s {
4182 uint32_t parity_enable : 1;
4183 uint32_t bypass_internal_crc : 1;
4184 uint32_t reserved_2 : 1;
4185 uint32_t rd_crc_enable : 1;
4186 uint32_t wr_crc_enable : 1;
4187 uint32_t reserved_5 : 1;
4188 uint32_t dis_rd_crc_ecc_upr_nibble : 1;
4189 uint32_t crc_inc_dm : 1;
4190 uint32_t reserved_8_14 : 7;
4191 uint32_t dfi_alert_async_mode : 1;
4192 uint32_t capar_err_max_reached_th : 12;
4193 uint32_t reserved_28_31 : 4;
4194 } s;
4195 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_crcparctl1_s cn; */
4196 };
4197 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_crcparctl1 ody_dssx_ddrctl_regb_ddrc_ch0_crcparctl1_t;
4198
4199 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCPARCTL1(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCPARCTL1(uint64_t a)4200 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCPARCTL1(uint64_t a)
4201 {
4202 if (a <= 19)
4203 return 0x87e1b0210804ll + 0x1000000ll * ((a) & 0x1f);
4204 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_CRCPARCTL1", 1, a, 0, 0, 0, 0, 0);
4205 }
4206
4207 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCPARCTL1(a) ody_dssx_ddrctl_regb_ddrc_ch0_crcparctl1_t
4208 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCPARCTL1(a) CSR_TYPE_RSL32b
4209 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCPARCTL1(a) "DSSX_DDRCTL_REGB_DDRC_CH0_CRCPARCTL1"
4210 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCPARCTL1(a) 0x0 /* PF_BAR0 */
4211 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCPARCTL1(a) (a)
4212 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCPARCTL1(a) (a), -1, -1, -1
4213
4214 /**
4215 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_crcparctl2
4216 *
4217 * DSS Ddrctl Regb Ddrc Ch0 Crcparctl2 Register
4218 * CRC Parity Control Register 2
4219 */
4220 union ody_dssx_ddrctl_regb_ddrc_ch0_crcparctl2 {
4221 uint32_t u;
4222 struct ody_dssx_ddrctl_regb_ddrc_ch0_crcparctl2_s {
4223 uint32_t wr_crc_err_max_reached_th : 12;
4224 uint32_t reserved_12_15 : 4;
4225 uint32_t rd_crc_err_max_reached_th : 12;
4226 uint32_t reserved_28_31 : 4;
4227 } s;
4228 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_crcparctl2_s cn; */
4229 };
4230 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_crcparctl2 ody_dssx_ddrctl_regb_ddrc_ch0_crcparctl2_t;
4231
4232 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCPARCTL2(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCPARCTL2(uint64_t a)4233 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCPARCTL2(uint64_t a)
4234 {
4235 if (a <= 19)
4236 return 0x87e1b0210808ll + 0x1000000ll * ((a) & 0x1f);
4237 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_CRCPARCTL2", 1, a, 0, 0, 0, 0, 0);
4238 }
4239
4240 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCPARCTL2(a) ody_dssx_ddrctl_regb_ddrc_ch0_crcparctl2_t
4241 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCPARCTL2(a) CSR_TYPE_RSL32b
4242 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCPARCTL2(a) "DSSX_DDRCTL_REGB_DDRC_CH0_CRCPARCTL2"
4243 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCPARCTL2(a) 0x0 /* PF_BAR0 */
4244 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCPARCTL2(a) (a)
4245 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCPARCTL2(a) (a), -1, -1, -1
4246
4247 /**
4248 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_crcparstat
4249 *
4250 * DSS Ddrctl Regb Ddrc Ch0 Crcparstat Register
4251 * CRC Parity Status Register
4252 */
4253 union ody_dssx_ddrctl_regb_ddrc_ch0_crcparstat {
4254 uint32_t u;
4255 struct ody_dssx_ddrctl_regb_ddrc_ch0_crcparstat_s {
4256 uint32_t reserved_0_15 : 16;
4257 uint32_t capar_err_intr : 1;
4258 uint32_t capar_err_max_reached_intr : 1;
4259 uint32_t capar_fatl_err_intr : 1;
4260 uint32_t reserved_19_23 : 5;
4261 uint32_t wr_crc_err_intr : 1;
4262 uint32_t wr_crc_err_max_reached_intr : 1;
4263 uint32_t wr_crc_retry_limit_intr : 1;
4264 uint32_t rd_retry_limit_intr : 1;
4265 uint32_t capar_retry_limit_reached_intr : 1;
4266 uint32_t reserved_29_31 : 3;
4267 } s;
4268 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_crcparstat_s cn; */
4269 };
4270 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_crcparstat ody_dssx_ddrctl_regb_ddrc_ch0_crcparstat_t;
4271
4272 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCPARSTAT(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCPARSTAT(uint64_t a)4273 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCPARSTAT(uint64_t a)
4274 {
4275 if (a <= 19)
4276 return 0x87e1b021080cll + 0x1000000ll * ((a) & 0x1f);
4277 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_CRCPARSTAT", 1, a, 0, 0, 0, 0, 0);
4278 }
4279
4280 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCPARSTAT(a) ody_dssx_ddrctl_regb_ddrc_ch0_crcparstat_t
4281 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCPARSTAT(a) CSR_TYPE_RSL32b
4282 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCPARSTAT(a) "DSSX_DDRCTL_REGB_DDRC_CH0_CRCPARSTAT"
4283 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCPARSTAT(a) 0x0 /* PF_BAR0 */
4284 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCPARSTAT(a) (a)
4285 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCPARSTAT(a) (a), -1, -1, -1
4286
4287 /**
4288 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_crcpoisonctl0
4289 *
4290 * DSS Ddrctl Regb Ddrc Ch0 Crcpoisonctl0 Register
4291 * CRC poison control register
4292 */
4293 union ody_dssx_ddrctl_regb_ddrc_ch0_crcpoisonctl0 {
4294 uint32_t u;
4295 struct ody_dssx_ddrctl_regb_ddrc_ch0_crcpoisonctl0_s {
4296 uint32_t crc_poison_inject_en : 1;
4297 uint32_t crc_poison_type : 1;
4298 uint32_t reserved_2_7 : 6;
4299 uint32_t crc_poison_nibble : 5;
4300 uint32_t reserved_13_15 : 3;
4301 uint32_t crc_poison_times : 5;
4302 uint32_t reserved_21_31 : 11;
4303 } s;
4304 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_crcpoisonctl0_s cn; */
4305 };
4306 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_crcpoisonctl0 ody_dssx_ddrctl_regb_ddrc_ch0_crcpoisonctl0_t;
4307
4308 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCPOISONCTL0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCPOISONCTL0(uint64_t a)4309 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCPOISONCTL0(uint64_t a)
4310 {
4311 if (a <= 19)
4312 return 0x87e1b0210820ll + 0x1000000ll * ((a) & 0x1f);
4313 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_CRCPOISONCTL0", 1, a, 0, 0, 0, 0, 0);
4314 }
4315
4316 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCPOISONCTL0(a) ody_dssx_ddrctl_regb_ddrc_ch0_crcpoisonctl0_t
4317 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCPOISONCTL0(a) CSR_TYPE_RSL32b
4318 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCPOISONCTL0(a) "DSSX_DDRCTL_REGB_DDRC_CH0_CRCPOISONCTL0"
4319 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCPOISONCTL0(a) 0x0 /* PF_BAR0 */
4320 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCPOISONCTL0(a) (a)
4321 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCPOISONCTL0(a) (a), -1, -1, -1
4322
4323 /**
4324 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_crcpoisonstat
4325 *
4326 * DSS Ddrctl Regb Ddrc Ch0 Crcpoisonstat Register
4327 * CRC poison status register
4328 */
4329 union ody_dssx_ddrctl_regb_ddrc_ch0_crcpoisonstat {
4330 uint32_t u;
4331 struct ody_dssx_ddrctl_regb_ddrc_ch0_crcpoisonstat_s {
4332 uint32_t crc_poison_complete : 1;
4333 uint32_t reserved_1_31 : 31;
4334 } s;
4335 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_crcpoisonstat_s cn; */
4336 };
4337 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_crcpoisonstat ody_dssx_ddrctl_regb_ddrc_ch0_crcpoisonstat_t;
4338
4339 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCPOISONSTAT(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCPOISONSTAT(uint64_t a)4340 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCPOISONSTAT(uint64_t a)
4341 {
4342 if (a <= 19)
4343 return 0x87e1b021082cll + 0x1000000ll * ((a) & 0x1f);
4344 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_CRCPOISONSTAT", 1, a, 0, 0, 0, 0, 0);
4345 }
4346
4347 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCPOISONSTAT(a) ody_dssx_ddrctl_regb_ddrc_ch0_crcpoisonstat_t
4348 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCPOISONSTAT(a) CSR_TYPE_RSL32b
4349 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCPOISONSTAT(a) "DSSX_DDRCTL_REGB_DDRC_CH0_CRCPOISONSTAT"
4350 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCPOISONSTAT(a) 0x0 /* PF_BAR0 */
4351 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCPOISONSTAT(a) (a)
4352 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCPOISONSTAT(a) (a), -1, -1, -1
4353
4354 /**
4355 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_crcstat0
4356 *
4357 * DSS Ddrctl Regb Ddrc Ch0 Crcstat0 Register
4358 * CRC Error Status Register Nibbles 0 and 1
4359 */
4360 union ody_dssx_ddrctl_regb_ddrc_ch0_crcstat0 {
4361 uint32_t u;
4362 struct ody_dssx_ddrctl_regb_ddrc_ch0_crcstat0_s {
4363 uint32_t rd_crc_err_cnt_nibble_0 : 12;
4364 uint32_t reserved_12_15 : 4;
4365 uint32_t rd_crc_err_cnt_nibble_1 : 12;
4366 uint32_t reserved_28_31 : 4;
4367 } s;
4368 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_crcstat0_s cn; */
4369 };
4370 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_crcstat0 ody_dssx_ddrctl_regb_ddrc_ch0_crcstat0_t;
4371
4372 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT0(uint64_t a)4373 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT0(uint64_t a)
4374 {
4375 if (a <= 19)
4376 return 0x87e1b0210848ll + 0x1000000ll * ((a) & 0x1f);
4377 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT0", 1, a, 0, 0, 0, 0, 0);
4378 }
4379
4380 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT0(a) ody_dssx_ddrctl_regb_ddrc_ch0_crcstat0_t
4381 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT0(a) CSR_TYPE_RSL32b
4382 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT0(a) "DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT0"
4383 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT0(a) 0x0 /* PF_BAR0 */
4384 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT0(a) (a)
4385 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT0(a) (a), -1, -1, -1
4386
4387 /**
4388 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_crcstat1
4389 *
4390 * DSS Ddrctl Regb Ddrc Ch0 Crcstat1 Register
4391 * CRC Error Status Register Nibbles 2 and 3
4392 */
4393 union ody_dssx_ddrctl_regb_ddrc_ch0_crcstat1 {
4394 uint32_t u;
4395 struct ody_dssx_ddrctl_regb_ddrc_ch0_crcstat1_s {
4396 uint32_t rd_crc_err_cnt_nibble_2 : 12;
4397 uint32_t reserved_12_15 : 4;
4398 uint32_t rd_crc_err_cnt_nibble_3 : 12;
4399 uint32_t reserved_28_31 : 4;
4400 } s;
4401 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_crcstat1_s cn; */
4402 };
4403 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_crcstat1 ody_dssx_ddrctl_regb_ddrc_ch0_crcstat1_t;
4404
4405 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT1(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT1(uint64_t a)4406 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT1(uint64_t a)
4407 {
4408 if (a <= 19)
4409 return 0x87e1b021084cll + 0x1000000ll * ((a) & 0x1f);
4410 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT1", 1, a, 0, 0, 0, 0, 0);
4411 }
4412
4413 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT1(a) ody_dssx_ddrctl_regb_ddrc_ch0_crcstat1_t
4414 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT1(a) CSR_TYPE_RSL32b
4415 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT1(a) "DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT1"
4416 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT1(a) 0x0 /* PF_BAR0 */
4417 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT1(a) (a)
4418 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT1(a) (a), -1, -1, -1
4419
4420 /**
4421 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_crcstat10
4422 *
4423 * DSS Ddrctl Regb Ddrc Ch0 Crcstat10 Register
4424 * CRC Error Status 10th Registser
4425 */
4426 union ody_dssx_ddrctl_regb_ddrc_ch0_crcstat10 {
4427 uint32_t u;
4428 struct ody_dssx_ddrctl_regb_ddrc_ch0_crcstat10_s {
4429 uint32_t wr_crc_err_cnt : 12;
4430 uint32_t capar_err_cnt : 12;
4431 uint32_t reserved_24_31 : 8;
4432 } s;
4433 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_crcstat10_s cn; */
4434 };
4435 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_crcstat10 ody_dssx_ddrctl_regb_ddrc_ch0_crcstat10_t;
4436
4437 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT10(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT10(uint64_t a)4438 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT10(uint64_t a)
4439 {
4440 if (a <= 19)
4441 return 0x87e1b0210870ll + 0x1000000ll * ((a) & 0x1f);
4442 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT10", 1, a, 0, 0, 0, 0, 0);
4443 }
4444
4445 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT10(a) ody_dssx_ddrctl_regb_ddrc_ch0_crcstat10_t
4446 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT10(a) CSR_TYPE_RSL32b
4447 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT10(a) "DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT10"
4448 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT10(a) 0x0 /* PF_BAR0 */
4449 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT10(a) (a)
4450 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT10(a) (a), -1, -1, -1
4451
4452 /**
4453 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_crcstat2
4454 *
4455 * DSS Ddrctl Regb Ddrc Ch0 Crcstat2 Register
4456 * CRC Error Status Register Nibbles 4 and 5
4457 */
4458 union ody_dssx_ddrctl_regb_ddrc_ch0_crcstat2 {
4459 uint32_t u;
4460 struct ody_dssx_ddrctl_regb_ddrc_ch0_crcstat2_s {
4461 uint32_t rd_crc_err_cnt_nibble_4 : 12;
4462 uint32_t reserved_12_15 : 4;
4463 uint32_t rd_crc_err_cnt_nibble_5 : 12;
4464 uint32_t reserved_28_31 : 4;
4465 } s;
4466 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_crcstat2_s cn; */
4467 };
4468 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_crcstat2 ody_dssx_ddrctl_regb_ddrc_ch0_crcstat2_t;
4469
4470 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT2(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT2(uint64_t a)4471 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT2(uint64_t a)
4472 {
4473 if (a <= 19)
4474 return 0x87e1b0210850ll + 0x1000000ll * ((a) & 0x1f);
4475 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT2", 1, a, 0, 0, 0, 0, 0);
4476 }
4477
4478 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT2(a) ody_dssx_ddrctl_regb_ddrc_ch0_crcstat2_t
4479 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT2(a) CSR_TYPE_RSL32b
4480 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT2(a) "DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT2"
4481 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT2(a) 0x0 /* PF_BAR0 */
4482 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT2(a) (a)
4483 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT2(a) (a), -1, -1, -1
4484
4485 /**
4486 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_crcstat3
4487 *
4488 * DSS Ddrctl Regb Ddrc Ch0 Crcstat3 Register
4489 * CRC Error Status Register Nibbles 6 and 7
4490 */
4491 union ody_dssx_ddrctl_regb_ddrc_ch0_crcstat3 {
4492 uint32_t u;
4493 struct ody_dssx_ddrctl_regb_ddrc_ch0_crcstat3_s {
4494 uint32_t rd_crc_err_cnt_nibble_6 : 12;
4495 uint32_t reserved_12_15 : 4;
4496 uint32_t rd_crc_err_cnt_nibble_7 : 12;
4497 uint32_t reserved_28_31 : 4;
4498 } s;
4499 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_crcstat3_s cn; */
4500 };
4501 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_crcstat3 ody_dssx_ddrctl_regb_ddrc_ch0_crcstat3_t;
4502
4503 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT3(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT3(uint64_t a)4504 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT3(uint64_t a)
4505 {
4506 if (a <= 19)
4507 return 0x87e1b0210854ll + 0x1000000ll * ((a) & 0x1f);
4508 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT3", 1, a, 0, 0, 0, 0, 0);
4509 }
4510
4511 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT3(a) ody_dssx_ddrctl_regb_ddrc_ch0_crcstat3_t
4512 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT3(a) CSR_TYPE_RSL32b
4513 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT3(a) "DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT3"
4514 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT3(a) 0x0 /* PF_BAR0 */
4515 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT3(a) (a)
4516 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT3(a) (a), -1, -1, -1
4517
4518 /**
4519 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_crcstat4
4520 *
4521 * DSS Ddrctl Regb Ddrc Ch0 Crcstat4 Register
4522 * CRC Error Status Register Nibbles 8 and 9
4523 */
4524 union ody_dssx_ddrctl_regb_ddrc_ch0_crcstat4 {
4525 uint32_t u;
4526 struct ody_dssx_ddrctl_regb_ddrc_ch0_crcstat4_s {
4527 uint32_t rd_crc_err_cnt_nibble_8 : 12;
4528 uint32_t reserved_12_15 : 4;
4529 uint32_t rd_crc_err_cnt_nibble_9 : 12;
4530 uint32_t reserved_28_31 : 4;
4531 } s;
4532 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_crcstat4_s cn; */
4533 };
4534 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_crcstat4 ody_dssx_ddrctl_regb_ddrc_ch0_crcstat4_t;
4535
4536 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT4(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT4(uint64_t a)4537 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT4(uint64_t a)
4538 {
4539 if (a <= 19)
4540 return 0x87e1b0210858ll + 0x1000000ll * ((a) & 0x1f);
4541 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT4", 1, a, 0, 0, 0, 0, 0);
4542 }
4543
4544 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT4(a) ody_dssx_ddrctl_regb_ddrc_ch0_crcstat4_t
4545 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT4(a) CSR_TYPE_RSL32b
4546 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT4(a) "DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT4"
4547 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT4(a) 0x0 /* PF_BAR0 */
4548 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT4(a) (a)
4549 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_CRCSTAT4(a) (a), -1, -1, -1
4550
4551 /**
4552 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_dbictl
4553 *
4554 * DSS Ddrctl Regb Ddrc Ch0 Dbictl Register
4555 * DM/DBI Control Register
4556 */
4557 union ody_dssx_ddrctl_regb_ddrc_ch0_dbictl {
4558 uint32_t u;
4559 struct ody_dssx_ddrctl_regb_ddrc_ch0_dbictl_s {
4560 uint32_t dm_en : 1;
4561 uint32_t reserved_1_31 : 31;
4562 } s;
4563 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_dbictl_s cn; */
4564 };
4565 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_dbictl ody_dssx_ddrctl_regb_ddrc_ch0_dbictl_t;
4566
4567 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DBICTL(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DBICTL(uint64_t a)4568 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DBICTL(uint64_t a)
4569 {
4570 if (a <= 19)
4571 return 0x87e1b0210c94ll + 0x1000000ll * ((a) & 0x1f);
4572 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_DBICTL", 1, a, 0, 0, 0, 0, 0);
4573 }
4574
4575 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DBICTL(a) ody_dssx_ddrctl_regb_ddrc_ch0_dbictl_t
4576 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DBICTL(a) CSR_TYPE_RSL32b
4577 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DBICTL(a) "DSSX_DDRCTL_REGB_DDRC_CH0_DBICTL"
4578 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DBICTL(a) 0x0 /* PF_BAR0 */
4579 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DBICTL(a) (a)
4580 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DBICTL(a) (a), -1, -1, -1
4581
4582 /**
4583 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_ddrctl_ver_number
4584 *
4585 * DSS Ddrctl Regb Ddrc Ch0 Ddrctl Ver Number Register
4586 * DDRCTL Version Number Register
4587 */
4588 union ody_dssx_ddrctl_regb_ddrc_ch0_ddrctl_ver_number {
4589 uint32_t u;
4590 struct ody_dssx_ddrctl_regb_ddrc_ch0_ddrctl_ver_number_s {
4591 uint32_t ver_number : 32;
4592 } s;
4593 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_ddrctl_ver_number_s cn; */
4594 };
4595 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_ddrctl_ver_number ody_dssx_ddrctl_regb_ddrc_ch0_ddrctl_ver_number_t;
4596
4597 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DDRCTL_VER_NUMBER(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DDRCTL_VER_NUMBER(uint64_t a)4598 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DDRCTL_VER_NUMBER(uint64_t a)
4599 {
4600 if (a <= 19)
4601 return 0x87e1b0210ff8ll + 0x1000000ll * ((a) & 0x1f);
4602 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_DDRCTL_VER_NUMBER", 1, a, 0, 0, 0, 0, 0);
4603 }
4604
4605 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DDRCTL_VER_NUMBER(a) ody_dssx_ddrctl_regb_ddrc_ch0_ddrctl_ver_number_t
4606 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DDRCTL_VER_NUMBER(a) CSR_TYPE_RSL32b
4607 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DDRCTL_VER_NUMBER(a) "DSSX_DDRCTL_REGB_DDRC_CH0_DDRCTL_VER_NUMBER"
4608 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DDRCTL_VER_NUMBER(a) 0x0 /* PF_BAR0 */
4609 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DDRCTL_VER_NUMBER(a) (a)
4610 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DDRCTL_VER_NUMBER(a) (a), -1, -1, -1
4611
4612 /**
4613 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_ddrctl_ver_type
4614 *
4615 * DSS Ddrctl Regb Ddrc Ch0 Ddrctl Ver Type Register
4616 * DDRCTL Version Type Register
4617 */
4618 union ody_dssx_ddrctl_regb_ddrc_ch0_ddrctl_ver_type {
4619 uint32_t u;
4620 struct ody_dssx_ddrctl_regb_ddrc_ch0_ddrctl_ver_type_s {
4621 uint32_t ver_type : 32;
4622 } s;
4623 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_ddrctl_ver_type_s cn; */
4624 };
4625 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_ddrctl_ver_type ody_dssx_ddrctl_regb_ddrc_ch0_ddrctl_ver_type_t;
4626
4627 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DDRCTL_VER_TYPE(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DDRCTL_VER_TYPE(uint64_t a)4628 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DDRCTL_VER_TYPE(uint64_t a)
4629 {
4630 if (a <= 19)
4631 return 0x87e1b0210ffcll + 0x1000000ll * ((a) & 0x1f);
4632 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_DDRCTL_VER_TYPE", 1, a, 0, 0, 0, 0, 0);
4633 }
4634
4635 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DDRCTL_VER_TYPE(a) ody_dssx_ddrctl_regb_ddrc_ch0_ddrctl_ver_type_t
4636 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DDRCTL_VER_TYPE(a) CSR_TYPE_RSL32b
4637 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DDRCTL_VER_TYPE(a) "DSSX_DDRCTL_REGB_DDRC_CH0_DDRCTL_VER_TYPE"
4638 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DDRCTL_VER_TYPE(a) 0x0 /* PF_BAR0 */
4639 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DDRCTL_VER_TYPE(a) (a)
4640 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DDRCTL_VER_TYPE(a) (a), -1, -1, -1
4641
4642 /**
4643 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_deratectl1
4644 *
4645 * DSS Ddrctl Regb Ddrc Ch0 Deratectl1 Register
4646 * Temperature Derate Control Register 1
4647 */
4648 union ody_dssx_ddrctl_regb_ddrc_ch0_deratectl1 {
4649 uint32_t u;
4650 struct ody_dssx_ddrctl_regb_ddrc_ch0_deratectl1_s {
4651 uint32_t active_derate_byte_rank0 : 10;
4652 uint32_t reserved_10_31 : 22;
4653 } s;
4654 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_deratectl1_s cn; */
4655 };
4656 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_deratectl1 ody_dssx_ddrctl_regb_ddrc_ch0_deratectl1_t;
4657
4658 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATECTL1(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATECTL1(uint64_t a)4659 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATECTL1(uint64_t a)
4660 {
4661 if (a <= 19)
4662 return 0x87e1b0210104ll + 0x1000000ll * ((a) & 0x1f);
4663 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_DERATECTL1", 1, a, 0, 0, 0, 0, 0);
4664 }
4665
4666 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATECTL1(a) ody_dssx_ddrctl_regb_ddrc_ch0_deratectl1_t
4667 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATECTL1(a) CSR_TYPE_RSL32b
4668 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATECTL1(a) "DSSX_DDRCTL_REGB_DDRC_CH0_DERATECTL1"
4669 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATECTL1(a) 0x0 /* PF_BAR0 */
4670 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATECTL1(a) (a)
4671 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATECTL1(a) (a), -1, -1, -1
4672
4673 /**
4674 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_deratectl2
4675 *
4676 * DSS Ddrctl Regb Ddrc Ch0 Deratectl2 Register
4677 * Temperature Derate Control Register 2
4678 */
4679 union ody_dssx_ddrctl_regb_ddrc_ch0_deratectl2 {
4680 uint32_t u;
4681 struct ody_dssx_ddrctl_regb_ddrc_ch0_deratectl2_s {
4682 uint32_t active_derate_byte_rank1 : 10;
4683 uint32_t reserved_10_31 : 22;
4684 } s;
4685 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_deratectl2_s cn; */
4686 };
4687 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_deratectl2 ody_dssx_ddrctl_regb_ddrc_ch0_deratectl2_t;
4688
4689 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATECTL2(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATECTL2(uint64_t a)4690 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATECTL2(uint64_t a)
4691 {
4692 if (a <= 19)
4693 return 0x87e1b0210108ll + 0x1000000ll * ((a) & 0x1f);
4694 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_DERATECTL2", 1, a, 0, 0, 0, 0, 0);
4695 }
4696
4697 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATECTL2(a) ody_dssx_ddrctl_regb_ddrc_ch0_deratectl2_t
4698 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATECTL2(a) CSR_TYPE_RSL32b
4699 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATECTL2(a) "DSSX_DDRCTL_REGB_DDRC_CH0_DERATECTL2"
4700 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATECTL2(a) 0x0 /* PF_BAR0 */
4701 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATECTL2(a) (a)
4702 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATECTL2(a) (a), -1, -1, -1
4703
4704 /**
4705 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_deratectl5
4706 *
4707 * DSS Ddrctl Regb Ddrc Ch0 Deratectl5 Register
4708 * Temperature Derate Control Register 5
4709 */
4710 union ody_dssx_ddrctl_regb_ddrc_ch0_deratectl5 {
4711 uint32_t u;
4712 struct ody_dssx_ddrctl_regb_ddrc_ch0_deratectl5_s {
4713 uint32_t derate_temp_limit_intr_en : 1;
4714 uint32_t derate_temp_limit_intr_clr : 1;
4715 uint32_t derate_temp_limit_intr_force : 1;
4716 uint32_t reserved_3_31 : 29;
4717 } s;
4718 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_deratectl5_s cn; */
4719 };
4720 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_deratectl5 ody_dssx_ddrctl_regb_ddrc_ch0_deratectl5_t;
4721
4722 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATECTL5(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATECTL5(uint64_t a)4723 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATECTL5(uint64_t a)
4724 {
4725 if (a <= 19)
4726 return 0x87e1b0210114ll + 0x1000000ll * ((a) & 0x1f);
4727 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_DERATECTL5", 1, a, 0, 0, 0, 0, 0);
4728 }
4729
4730 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATECTL5(a) ody_dssx_ddrctl_regb_ddrc_ch0_deratectl5_t
4731 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATECTL5(a) CSR_TYPE_RSL32b
4732 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATECTL5(a) "DSSX_DDRCTL_REGB_DDRC_CH0_DERATECTL5"
4733 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATECTL5(a) 0x0 /* PF_BAR0 */
4734 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATECTL5(a) (a)
4735 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATECTL5(a) (a), -1, -1, -1
4736
4737 /**
4738 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_deratectl6
4739 *
4740 * DSS Ddrctl Regb Ddrc Ch0 Deratectl6 Register
4741 * Temperature Derate Control Register 6
4742 */
4743 union ody_dssx_ddrctl_regb_ddrc_ch0_deratectl6 {
4744 uint32_t u;
4745 struct ody_dssx_ddrctl_regb_ddrc_ch0_deratectl6_s {
4746 uint32_t derate_mr4_tuf_dis : 1;
4747 uint32_t reserved_1_15 : 15;
4748 uint32_t derate_low_temp_limit : 3;
4749 uint32_t reserved_19 : 1;
4750 uint32_t derate_high_temp_limit : 3;
4751 uint32_t reserved_23_31 : 9;
4752 } s;
4753 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_deratectl6_s cn; */
4754 };
4755 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_deratectl6 ody_dssx_ddrctl_regb_ddrc_ch0_deratectl6_t;
4756
4757 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATECTL6(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATECTL6(uint64_t a)4758 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATECTL6(uint64_t a)
4759 {
4760 if (a <= 19)
4761 return 0x87e1b0210118ll + 0x1000000ll * ((a) & 0x1f);
4762 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_DERATECTL6", 1, a, 0, 0, 0, 0, 0);
4763 }
4764
4765 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATECTL6(a) ody_dssx_ddrctl_regb_ddrc_ch0_deratectl6_t
4766 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATECTL6(a) CSR_TYPE_RSL32b
4767 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATECTL6(a) "DSSX_DDRCTL_REGB_DDRC_CH0_DERATECTL6"
4768 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATECTL6(a) 0x0 /* PF_BAR0 */
4769 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATECTL6(a) (a)
4770 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATECTL6(a) (a), -1, -1, -1
4771
4772 /**
4773 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_deratedbgctl
4774 *
4775 * DSS Ddrctl Regb Ddrc Ch0 Deratedbgctl Register
4776 * Temperature Derate Debug Contrl Register
4777 */
4778 union ody_dssx_ddrctl_regb_ddrc_ch0_deratedbgctl {
4779 uint32_t u;
4780 struct ody_dssx_ddrctl_regb_ddrc_ch0_deratedbgctl_s {
4781 uint32_t dbg_mr4_grp_sel : 3;
4782 uint32_t reserved_3 : 1;
4783 uint32_t dbg_mr4_rank_sel : 2;
4784 uint32_t reserved_6_31 : 26;
4785 } s;
4786 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_deratedbgctl_s cn; */
4787 };
4788 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_deratedbgctl ody_dssx_ddrctl_regb_ddrc_ch0_deratedbgctl_t;
4789
4790 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATEDBGCTL(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATEDBGCTL(uint64_t a)4791 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATEDBGCTL(uint64_t a)
4792 {
4793 if (a <= 19)
4794 return 0x87e1b0210124ll + 0x1000000ll * ((a) & 0x1f);
4795 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_DERATEDBGCTL", 1, a, 0, 0, 0, 0, 0);
4796 }
4797
4798 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATEDBGCTL(a) ody_dssx_ddrctl_regb_ddrc_ch0_deratedbgctl_t
4799 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATEDBGCTL(a) CSR_TYPE_RSL32b
4800 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATEDBGCTL(a) "DSSX_DDRCTL_REGB_DDRC_CH0_DERATEDBGCTL"
4801 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATEDBGCTL(a) 0x0 /* PF_BAR0 */
4802 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATEDBGCTL(a) (a)
4803 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATEDBGCTL(a) (a), -1, -1, -1
4804
4805 /**
4806 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_deratedbgstat
4807 *
4808 * DSS Ddrctl Regb Ddrc Ch0 Deratedbgstat Register
4809 * Temperature Derate Debug Status Register
4810 */
4811 union ody_dssx_ddrctl_regb_ddrc_ch0_deratedbgstat {
4812 uint32_t u;
4813 struct ody_dssx_ddrctl_regb_ddrc_ch0_deratedbgstat_s {
4814 uint32_t dbg_mr4_byte0 : 8;
4815 uint32_t dbg_mr4_byte1 : 8;
4816 uint32_t dbg_mr4_byte2 : 8;
4817 uint32_t dbg_mr4_byte3 : 8;
4818 } s;
4819 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_deratedbgstat_s cn; */
4820 };
4821 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_deratedbgstat ody_dssx_ddrctl_regb_ddrc_ch0_deratedbgstat_t;
4822
4823 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATEDBGSTAT(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATEDBGSTAT(uint64_t a)4824 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATEDBGSTAT(uint64_t a)
4825 {
4826 if (a <= 19)
4827 return 0x87e1b0210128ll + 0x1000000ll * ((a) & 0x1f);
4828 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_DERATEDBGSTAT", 1, a, 0, 0, 0, 0, 0);
4829 }
4830
4831 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATEDBGSTAT(a) ody_dssx_ddrctl_regb_ddrc_ch0_deratedbgstat_t
4832 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATEDBGSTAT(a) CSR_TYPE_RSL32b
4833 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATEDBGSTAT(a) "DSSX_DDRCTL_REGB_DDRC_CH0_DERATEDBGSTAT"
4834 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATEDBGSTAT(a) 0x0 /* PF_BAR0 */
4835 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATEDBGSTAT(a) (a)
4836 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATEDBGSTAT(a) (a), -1, -1, -1
4837
4838 /**
4839 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_deratestat0
4840 *
4841 * DSS Ddrctl Regb Ddrc Ch0 Deratestat0 Register
4842 * Temperature Derate Status Register 0
4843 */
4844 union ody_dssx_ddrctl_regb_ddrc_ch0_deratestat0 {
4845 uint32_t u;
4846 struct ody_dssx_ddrctl_regb_ddrc_ch0_deratestat0_s {
4847 uint32_t derate_temp_limit_intr : 1;
4848 uint32_t reserved_1_31 : 31;
4849 } s;
4850 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_deratestat0_s cn; */
4851 };
4852 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_deratestat0 ody_dssx_ddrctl_regb_ddrc_ch0_deratestat0_t;
4853
4854 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATESTAT0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATESTAT0(uint64_t a)4855 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATESTAT0(uint64_t a)
4856 {
4857 if (a <= 19)
4858 return 0x87e1b021011cll + 0x1000000ll * ((a) & 0x1f);
4859 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_DERATESTAT0", 1, a, 0, 0, 0, 0, 0);
4860 }
4861
4862 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATESTAT0(a) ody_dssx_ddrctl_regb_ddrc_ch0_deratestat0_t
4863 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATESTAT0(a) CSR_TYPE_RSL32b
4864 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATESTAT0(a) "DSSX_DDRCTL_REGB_DDRC_CH0_DERATESTAT0"
4865 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATESTAT0(a) 0x0 /* PF_BAR0 */
4866 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATESTAT0(a) (a)
4867 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATESTAT0(a) (a), -1, -1, -1
4868
4869 /**
4870 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_deratestat1
4871 *
4872 * DSS Ddrctl Regb Ddrc Ch0 Deratestat1 Register
4873 * Temperature Derate Status Register 1
4874 */
4875 union ody_dssx_ddrctl_regb_ddrc_ch0_deratestat1 {
4876 uint32_t u;
4877 struct ody_dssx_ddrctl_regb_ddrc_ch0_deratestat1_s {
4878 uint32_t refresh_rate_rank0 : 3;
4879 uint32_t reserved_3 : 1;
4880 uint32_t refresh_rate_rank1 : 3;
4881 uint32_t reserved_7_31 : 25;
4882 } s;
4883 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_deratestat1_s cn; */
4884 };
4885 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_deratestat1 ody_dssx_ddrctl_regb_ddrc_ch0_deratestat1_t;
4886
4887 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATESTAT1(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATESTAT1(uint64_t a)4888 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATESTAT1(uint64_t a)
4889 {
4890 if (a <= 19)
4891 return 0x87e1b0210120ll + 0x1000000ll * ((a) & 0x1f);
4892 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_DERATESTAT1", 1, a, 0, 0, 0, 0, 0);
4893 }
4894
4895 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATESTAT1(a) ody_dssx_ddrctl_regb_ddrc_ch0_deratestat1_t
4896 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATESTAT1(a) CSR_TYPE_RSL32b
4897 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATESTAT1(a) "DSSX_DDRCTL_REGB_DDRC_CH0_DERATESTAT1"
4898 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATESTAT1(a) 0x0 /* PF_BAR0 */
4899 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATESTAT1(a) (a)
4900 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DERATESTAT1(a) (a), -1, -1, -1
4901
4902 /**
4903 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_dfilpcfg0
4904 *
4905 * DSS Ddrctl Regb Ddrc Ch0 Dfilpcfg0 Register
4906 * DFI Low Power Configuration Register 0
4907 */
4908 union ody_dssx_ddrctl_regb_ddrc_ch0_dfilpcfg0 {
4909 uint32_t u;
4910 struct ody_dssx_ddrctl_regb_ddrc_ch0_dfilpcfg0_s {
4911 uint32_t dfi_lp_en_pd : 1;
4912 uint32_t reserved_1_3 : 3;
4913 uint32_t dfi_lp_en_sr : 1;
4914 uint32_t reserved_5_15 : 11;
4915 uint32_t dfi_lp_en_data : 1;
4916 uint32_t reserved_17_31 : 15;
4917 } s;
4918 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_dfilpcfg0_s cn; */
4919 };
4920 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_dfilpcfg0 ody_dssx_ddrctl_regb_ddrc_ch0_dfilpcfg0_t;
4921
4922 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DFILPCFG0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DFILPCFG0(uint64_t a)4923 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DFILPCFG0(uint64_t a)
4924 {
4925 if (a <= 19)
4926 return 0x87e1b0210500ll + 0x1000000ll * ((a) & 0x1f);
4927 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_DFILPCFG0", 1, a, 0, 0, 0, 0, 0);
4928 }
4929
4930 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DFILPCFG0(a) ody_dssx_ddrctl_regb_ddrc_ch0_dfilpcfg0_t
4931 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DFILPCFG0(a) CSR_TYPE_RSL32b
4932 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DFILPCFG0(a) "DSSX_DDRCTL_REGB_DDRC_CH0_DFILPCFG0"
4933 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DFILPCFG0(a) 0x0 /* PF_BAR0 */
4934 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DFILPCFG0(a) (a)
4935 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DFILPCFG0(a) (a), -1, -1, -1
4936
4937 /**
4938 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_dfimisc
4939 *
4940 * DSS Ddrctl Regb Ddrc Ch0 Dfimisc Register
4941 * DFI Miscellaneous Control Register
4942 */
4943 union ody_dssx_ddrctl_regb_ddrc_ch0_dfimisc {
4944 uint32_t u;
4945 struct ody_dssx_ddrctl_regb_ddrc_ch0_dfimisc_s {
4946 uint32_t reserved_0_1 : 2;
4947 uint32_t dfi_data_cs_polarity : 1;
4948 uint32_t reserved_3_4 : 2;
4949 uint32_t dfi_init_start : 1;
4950 uint32_t reserved_6_7 : 2;
4951 uint32_t dfi_frequency : 5;
4952 uint32_t reserved_13_31 : 19;
4953 } s;
4954 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_dfimisc_s cn; */
4955 };
4956 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_dfimisc ody_dssx_ddrctl_regb_ddrc_ch0_dfimisc_t;
4957
4958 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DFIMISC(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DFIMISC(uint64_t a)4959 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DFIMISC(uint64_t a)
4960 {
4961 if (a <= 19)
4962 return 0x87e1b0210510ll + 0x1000000ll * ((a) & 0x1f);
4963 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_DFIMISC", 1, a, 0, 0, 0, 0, 0);
4964 }
4965
4966 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DFIMISC(a) ody_dssx_ddrctl_regb_ddrc_ch0_dfimisc_t
4967 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DFIMISC(a) CSR_TYPE_RSL32b
4968 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DFIMISC(a) "DSSX_DDRCTL_REGB_DDRC_CH0_DFIMISC"
4969 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DFIMISC(a) 0x0 /* PF_BAR0 */
4970 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DFIMISC(a) (a)
4971 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DFIMISC(a) (a), -1, -1, -1
4972
4973 /**
4974 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_dfistat
4975 *
4976 * DSS Ddrctl Regb Ddrc Ch0 Dfistat Register
4977 * DFI Status Register
4978 */
4979 union ody_dssx_ddrctl_regb_ddrc_ch0_dfistat {
4980 uint32_t u;
4981 struct ody_dssx_ddrctl_regb_ddrc_ch0_dfistat_s {
4982 uint32_t dfi_init_complete : 1;
4983 uint32_t dfi_lp_ctrl_ack_stat : 1;
4984 uint32_t dfi_lp_data_ack_stat : 1;
4985 uint32_t reserved_3_31 : 29;
4986 } s;
4987 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_dfistat_s cn; */
4988 };
4989 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_dfistat ody_dssx_ddrctl_regb_ddrc_ch0_dfistat_t;
4990
4991 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DFISTAT(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DFISTAT(uint64_t a)4992 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DFISTAT(uint64_t a)
4993 {
4994 if (a <= 19)
4995 return 0x87e1b0210514ll + 0x1000000ll * ((a) & 0x1f);
4996 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_DFISTAT", 1, a, 0, 0, 0, 0, 0);
4997 }
4998
4999 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DFISTAT(a) ody_dssx_ddrctl_regb_ddrc_ch0_dfistat_t
5000 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DFISTAT(a) CSR_TYPE_RSL32b
5001 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DFISTAT(a) "DSSX_DDRCTL_REGB_DDRC_CH0_DFISTAT"
5002 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DFISTAT(a) 0x0 /* PF_BAR0 */
5003 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DFISTAT(a) (a)
5004 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DFISTAT(a) (a), -1, -1, -1
5005
5006 /**
5007 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_dfiupd0
5008 *
5009 * DSS Ddrctl Regb Ddrc Ch0 Dfiupd0 Register
5010 * DFI Update Register 0
5011 */
5012 union ody_dssx_ddrctl_regb_ddrc_ch0_dfiupd0 {
5013 uint32_t u;
5014 struct ody_dssx_ddrctl_regb_ddrc_ch0_dfiupd0_s {
5015 uint32_t reserved_0_28 : 29;
5016 uint32_t ctrlupd_pre_srx : 1;
5017 uint32_t dis_auto_ctrlupd_srx : 1;
5018 uint32_t reserved_31 : 1;
5019 } s;
5020 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_dfiupd0_s cn; */
5021 };
5022 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_dfiupd0 ody_dssx_ddrctl_regb_ddrc_ch0_dfiupd0_t;
5023
5024 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DFIUPD0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DFIUPD0(uint64_t a)5025 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DFIUPD0(uint64_t a)
5026 {
5027 if (a <= 19)
5028 return 0x87e1b0210508ll + 0x1000000ll * ((a) & 0x1f);
5029 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_DFIUPD0", 1, a, 0, 0, 0, 0, 0);
5030 }
5031
5032 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DFIUPD0(a) ody_dssx_ddrctl_regb_ddrc_ch0_dfiupd0_t
5033 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DFIUPD0(a) CSR_TYPE_RSL32b
5034 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DFIUPD0(a) "DSSX_DDRCTL_REGB_DDRC_CH0_DFIUPD0"
5035 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DFIUPD0(a) 0x0 /* PF_BAR0 */
5036 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DFIUPD0(a) (a)
5037 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DFIUPD0(a) (a), -1, -1, -1
5038
5039 /**
5040 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_dimmctl
5041 *
5042 * DSS Ddrctl Regb Ddrc Ch0 Dimmctl Register
5043 * DIMM Control Register
5044 */
5045 union ody_dssx_ddrctl_regb_ddrc_ch0_dimmctl {
5046 uint32_t u;
5047 struct ody_dssx_ddrctl_regb_ddrc_ch0_dimmctl_s {
5048 uint32_t dimm_stagger_cs_en : 1;
5049 uint32_t reserved_1_9 : 9;
5050 uint32_t dimm_type : 2;
5051 uint32_t reserved_12_14 : 3;
5052 uint32_t dimm_selfref_clock_stop_mode : 1;
5053 uint32_t reserved_16_31 : 16;
5054 } s;
5055 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_dimmctl_s cn; */
5056 };
5057 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_dimmctl ody_dssx_ddrctl_regb_ddrc_ch0_dimmctl_t;
5058
5059 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DIMMCTL(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DIMMCTL(uint64_t a)5060 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DIMMCTL(uint64_t a)
5061 {
5062 if (a <= 19)
5063 return 0x87e1b0210c88ll + 0x1000000ll * ((a) & 0x1f);
5064 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_DIMMCTL", 1, a, 0, 0, 0, 0, 0);
5065 }
5066
5067 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DIMMCTL(a) ody_dssx_ddrctl_regb_ddrc_ch0_dimmctl_t
5068 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DIMMCTL(a) CSR_TYPE_RSL32b
5069 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DIMMCTL(a) "DSSX_DDRCTL_REGB_DDRC_CH0_DIMMCTL"
5070 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DIMMCTL(a) 0x0 /* PF_BAR0 */
5071 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DIMMCTL(a) (a)
5072 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DIMMCTL(a) (a), -1, -1, -1
5073
5074 /**
5075 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_dqsosccfg0
5076 *
5077 * DSS Ddrctl Regb Ddrc Ch0 Dqsosccfg0 Register
5078 * DQSOSC Config Register 0
5079 */
5080 union ody_dssx_ddrctl_regb_ddrc_ch0_dqsosccfg0 {
5081 uint32_t u;
5082 struct ody_dssx_ddrctl_regb_ddrc_ch0_dqsosccfg0_s {
5083 uint32_t dis_dqsosc_srx : 1;
5084 uint32_t reserved_1_31 : 31;
5085 } s;
5086 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_dqsosccfg0_s cn; */
5087 };
5088 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_dqsosccfg0 ody_dssx_ddrctl_regb_ddrc_ch0_dqsosccfg0_t;
5089
5090 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DQSOSCCFG0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DQSOSCCFG0(uint64_t a)5091 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DQSOSCCFG0(uint64_t a)
5092 {
5093 if (a <= 19)
5094 return 0x87e1b0210308ll + 0x1000000ll * ((a) & 0x1f);
5095 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_DQSOSCCFG0", 1, a, 0, 0, 0, 0, 0);
5096 }
5097
5098 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DQSOSCCFG0(a) ody_dssx_ddrctl_regb_ddrc_ch0_dqsosccfg0_t
5099 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DQSOSCCFG0(a) CSR_TYPE_RSL32b
5100 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DQSOSCCFG0(a) "DSSX_DDRCTL_REGB_DDRC_CH0_DQSOSCCFG0"
5101 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DQSOSCCFG0(a) 0x0 /* PF_BAR0 */
5102 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DQSOSCCFG0(a) (a)
5103 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DQSOSCCFG0(a) (a), -1, -1, -1
5104
5105 /**
5106 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_dqsosctmg0
5107 *
5108 * DSS Ddrctl Regb Ddrc Ch0 Dqsosctmg0 Register
5109 * DQS OSC timing register for DRAM timing set 1
5110 */
5111 union ody_dssx_ddrctl_regb_ddrc_ch0_dqsosctmg0 {
5112 uint32_t u;
5113 struct ody_dssx_ddrctl_regb_ddrc_ch0_dqsosctmg0_s {
5114 uint32_t t_oscs : 14;
5115 uint32_t reserved_14_31 : 18;
5116 } s;
5117 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_dqsosctmg0_s cn; */
5118 };
5119 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_dqsosctmg0 ody_dssx_ddrctl_regb_ddrc_ch0_dqsosctmg0_t;
5120
5121 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DQSOSCTMG0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DQSOSCTMG0(uint64_t a)5122 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DQSOSCTMG0(uint64_t a)
5123 {
5124 if (a <= 19)
5125 return 0x87e1b021030cll + 0x1000000ll * ((a) & 0x1f);
5126 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_DQSOSCTMG0", 1, a, 0, 0, 0, 0, 0);
5127 }
5128
5129 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DQSOSCTMG0(a) ody_dssx_ddrctl_regb_ddrc_ch0_dqsosctmg0_t
5130 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DQSOSCTMG0(a) CSR_TYPE_RSL32b
5131 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DQSOSCTMG0(a) "DSSX_DDRCTL_REGB_DDRC_CH0_DQSOSCTMG0"
5132 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DQSOSCTMG0(a) 0x0 /* PF_BAR0 */
5133 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DQSOSCTMG0(a) (a)
5134 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DQSOSCTMG0(a) (a), -1, -1, -1
5135
5136 /**
5137 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_ds_dbg_ctrl0
5138 *
5139 * DSS Ddrctl Regb Ddrc Ch0 Ds Dbg Ctrl0 Register
5140 * PASDS DEBUG CTRL Register
5141 */
5142 union ody_dssx_ddrctl_regb_ddrc_ch0_ds_dbg_ctrl0 {
5143 uint32_t u;
5144 struct ody_dssx_ddrctl_regb_ddrc_ch0_ds_dbg_ctrl0_s {
5145 uint32_t dbg_bsm_sel_ctrl : 16;
5146 uint32_t dbg_lrsm_sel_ctrl : 16;
5147 } s;
5148 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_ds_dbg_ctrl0_s cn; */
5149 };
5150 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_ds_dbg_ctrl0 ody_dssx_ddrctl_regb_ddrc_ch0_ds_dbg_ctrl0_t;
5151
5152 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_CTRL0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_CTRL0(uint64_t a)5153 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_CTRL0(uint64_t a)
5154 {
5155 if (a <= 19)
5156 return 0x87e1b0210d80ll + 0x1000000ll * ((a) & 0x1f);
5157 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_CTRL0", 1, a, 0, 0, 0, 0, 0);
5158 }
5159
5160 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_CTRL0(a) ody_dssx_ddrctl_regb_ddrc_ch0_ds_dbg_ctrl0_t
5161 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_CTRL0(a) CSR_TYPE_RSL32b
5162 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_CTRL0(a) "DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_CTRL0"
5163 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_CTRL0(a) 0x0 /* PF_BAR0 */
5164 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_CTRL0(a) (a)
5165 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_CTRL0(a) (a), -1, -1, -1
5166
5167 /**
5168 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_ds_dbg_stat0
5169 *
5170 * DSS Ddrctl Regb Ddrc Ch0 Ds Dbg Stat0 Register
5171 * PASDS DEBUG STAT0 Register
5172 */
5173 union ody_dssx_ddrctl_regb_ddrc_ch0_ds_dbg_stat0 {
5174 uint32_t u;
5175 struct ody_dssx_ddrctl_regb_ddrc_ch0_ds_dbg_stat0_s {
5176 uint32_t dbg_stat0 : 32;
5177 } s;
5178 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_ds_dbg_stat0_s cn; */
5179 };
5180 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_ds_dbg_stat0 ody_dssx_ddrctl_regb_ddrc_ch0_ds_dbg_stat0_t;
5181
5182 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_STAT0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_STAT0(uint64_t a)5183 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_STAT0(uint64_t a)
5184 {
5185 if (a <= 19)
5186 return 0x87e1b0210d84ll + 0x1000000ll * ((a) & 0x1f);
5187 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_STAT0", 1, a, 0, 0, 0, 0, 0);
5188 }
5189
5190 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_STAT0(a) ody_dssx_ddrctl_regb_ddrc_ch0_ds_dbg_stat0_t
5191 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_STAT0(a) CSR_TYPE_RSL32b
5192 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_STAT0(a) "DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_STAT0"
5193 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_STAT0(a) 0x0 /* PF_BAR0 */
5194 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_STAT0(a) (a)
5195 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_STAT0(a) (a), -1, -1, -1
5196
5197 /**
5198 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_ds_dbg_stat1
5199 *
5200 * DSS Ddrctl Regb Ddrc Ch0 Ds Dbg Stat1 Register
5201 * PASDS DEBUG STAT1 Register
5202 */
5203 union ody_dssx_ddrctl_regb_ddrc_ch0_ds_dbg_stat1 {
5204 uint32_t u;
5205 struct ody_dssx_ddrctl_regb_ddrc_ch0_ds_dbg_stat1_s {
5206 uint32_t dbg_stat1 : 32;
5207 } s;
5208 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_ds_dbg_stat1_s cn; */
5209 };
5210 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_ds_dbg_stat1 ody_dssx_ddrctl_regb_ddrc_ch0_ds_dbg_stat1_t;
5211
5212 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_STAT1(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_STAT1(uint64_t a)5213 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_STAT1(uint64_t a)
5214 {
5215 if (a <= 19)
5216 return 0x87e1b0210d88ll + 0x1000000ll * ((a) & 0x1f);
5217 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_STAT1", 1, a, 0, 0, 0, 0, 0);
5218 }
5219
5220 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_STAT1(a) ody_dssx_ddrctl_regb_ddrc_ch0_ds_dbg_stat1_t
5221 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_STAT1(a) CSR_TYPE_RSL32b
5222 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_STAT1(a) "DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_STAT1"
5223 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_STAT1(a) 0x0 /* PF_BAR0 */
5224 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_STAT1(a) (a)
5225 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_STAT1(a) (a), -1, -1, -1
5226
5227 /**
5228 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_ds_dbg_stat2
5229 *
5230 * DSS Ddrctl Regb Ddrc Ch0 Ds Dbg Stat2 Register
5231 * PASDS DEBUG STAT2 Register
5232 */
5233 union ody_dssx_ddrctl_regb_ddrc_ch0_ds_dbg_stat2 {
5234 uint32_t u;
5235 struct ody_dssx_ddrctl_regb_ddrc_ch0_ds_dbg_stat2_s {
5236 uint32_t dbg_stat2 : 32;
5237 } s;
5238 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_ds_dbg_stat2_s cn; */
5239 };
5240 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_ds_dbg_stat2 ody_dssx_ddrctl_regb_ddrc_ch0_ds_dbg_stat2_t;
5241
5242 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_STAT2(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_STAT2(uint64_t a)5243 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_STAT2(uint64_t a)
5244 {
5245 if (a <= 19)
5246 return 0x87e1b0210d8cll + 0x1000000ll * ((a) & 0x1f);
5247 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_STAT2", 1, a, 0, 0, 0, 0, 0);
5248 }
5249
5250 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_STAT2(a) ody_dssx_ddrctl_regb_ddrc_ch0_ds_dbg_stat2_t
5251 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_STAT2(a) CSR_TYPE_RSL32b
5252 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_STAT2(a) "DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_STAT2"
5253 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_STAT2(a) 0x0 /* PF_BAR0 */
5254 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_STAT2(a) (a)
5255 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_STAT2(a) (a), -1, -1, -1
5256
5257 /**
5258 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_ds_dbg_stat3
5259 *
5260 * DSS Ddrctl Regb Ddrc Ch0 Ds Dbg Stat3 Register
5261 * PASDS DEBUG STAT3 Register
5262 */
5263 union ody_dssx_ddrctl_regb_ddrc_ch0_ds_dbg_stat3 {
5264 uint32_t u;
5265 struct ody_dssx_ddrctl_regb_ddrc_ch0_ds_dbg_stat3_s {
5266 uint32_t dbg_stat3 : 32;
5267 } s;
5268 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_ds_dbg_stat3_s cn; */
5269 };
5270 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_ds_dbg_stat3 ody_dssx_ddrctl_regb_ddrc_ch0_ds_dbg_stat3_t;
5271
5272 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_STAT3(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_STAT3(uint64_t a)5273 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_STAT3(uint64_t a)
5274 {
5275 if (a <= 19)
5276 return 0x87e1b0210d90ll + 0x1000000ll * ((a) & 0x1f);
5277 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_STAT3", 1, a, 0, 0, 0, 0, 0);
5278 }
5279
5280 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_STAT3(a) ody_dssx_ddrctl_regb_ddrc_ch0_ds_dbg_stat3_t
5281 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_STAT3(a) CSR_TYPE_RSL32b
5282 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_STAT3(a) "DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_STAT3"
5283 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_STAT3(a) 0x0 /* PF_BAR0 */
5284 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_STAT3(a) (a)
5285 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DS_DBG_STAT3(a) (a), -1, -1, -1
5286
5287 /**
5288 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_du_cfgbuf_ctrl
5289 *
5290 * DSS Ddrctl Regb Ddrc Ch0 Du Cfgbuf Ctrl Register
5291 * DDR_UTIL config buffer control register
5292 */
5293 union ody_dssx_ddrctl_regb_ddrc_ch0_du_cfgbuf_ctrl {
5294 uint32_t u;
5295 struct ody_dssx_ddrctl_regb_ddrc_ch0_du_cfgbuf_ctrl_s {
5296 uint32_t du_cfgbuf_wdata : 16;
5297 uint32_t du_cfgbuf_addr : 8;
5298 uint32_t du_cfgbuf_select : 1;
5299 uint32_t reserved_25_28 : 4;
5300 uint32_t du_cfgbuf_op_mode : 1;
5301 uint32_t du_cfgbuf_rw_type : 1;
5302 uint32_t du_cfgbuf_rw_start : 1;
5303 } s;
5304 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_du_cfgbuf_ctrl_s cn; */
5305 };
5306 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_du_cfgbuf_ctrl ody_dssx_ddrctl_regb_ddrc_ch0_du_cfgbuf_ctrl_t;
5307
5308 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DU_CFGBUF_CTRL(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DU_CFGBUF_CTRL(uint64_t a)5309 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DU_CFGBUF_CTRL(uint64_t a)
5310 {
5311 if (a <= 19)
5312 return 0x87e1b0210b24ll + 0x1000000ll * ((a) & 0x1f);
5313 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_DU_CFGBUF_CTRL", 1, a, 0, 0, 0, 0, 0);
5314 }
5315
5316 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DU_CFGBUF_CTRL(a) ody_dssx_ddrctl_regb_ddrc_ch0_du_cfgbuf_ctrl_t
5317 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DU_CFGBUF_CTRL(a) CSR_TYPE_RSL32b
5318 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DU_CFGBUF_CTRL(a) "DSSX_DDRCTL_REGB_DDRC_CH0_DU_CFGBUF_CTRL"
5319 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DU_CFGBUF_CTRL(a) 0x0 /* PF_BAR0 */
5320 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DU_CFGBUF_CTRL(a) (a)
5321 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DU_CFGBUF_CTRL(a) (a), -1, -1, -1
5322
5323 /**
5324 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_du_cfgbuf_stat
5325 *
5326 * DSS Ddrctl Regb Ddrc Ch0 Du Cfgbuf Stat Register
5327 * DDR_UTIL config buffer status register.
5328 */
5329 union ody_dssx_ddrctl_regb_ddrc_ch0_du_cfgbuf_stat {
5330 uint32_t u;
5331 struct ody_dssx_ddrctl_regb_ddrc_ch0_du_cfgbuf_stat_s {
5332 uint32_t du_cfgbuf_rdata : 16;
5333 uint32_t reserved_16_31 : 16;
5334 } s;
5335 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_du_cfgbuf_stat_s cn; */
5336 };
5337 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_du_cfgbuf_stat ody_dssx_ddrctl_regb_ddrc_ch0_du_cfgbuf_stat_t;
5338
5339 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DU_CFGBUF_STAT(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DU_CFGBUF_STAT(uint64_t a)5340 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DU_CFGBUF_STAT(uint64_t a)
5341 {
5342 if (a <= 19)
5343 return 0x87e1b0210b28ll + 0x1000000ll * ((a) & 0x1f);
5344 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_DU_CFGBUF_STAT", 1, a, 0, 0, 0, 0, 0);
5345 }
5346
5347 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DU_CFGBUF_STAT(a) ody_dssx_ddrctl_regb_ddrc_ch0_du_cfgbuf_stat_t
5348 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DU_CFGBUF_STAT(a) CSR_TYPE_RSL32b
5349 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DU_CFGBUF_STAT(a) "DSSX_DDRCTL_REGB_DDRC_CH0_DU_CFGBUF_STAT"
5350 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DU_CFGBUF_STAT(a) 0x0 /* PF_BAR0 */
5351 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DU_CFGBUF_STAT(a) (a)
5352 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DU_CFGBUF_STAT(a) (a), -1, -1, -1
5353
5354 /**
5355 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_du_cmdbuf_ctrl
5356 *
5357 * DSS Ddrctl Regb Ddrc Ch0 Du Cmdbuf Ctrl Register
5358 * DDR_UTIL command buffer control register
5359 */
5360 union ody_dssx_ddrctl_regb_ddrc_ch0_du_cmdbuf_ctrl {
5361 uint32_t u;
5362 struct ody_dssx_ddrctl_regb_ddrc_ch0_du_cmdbuf_ctrl_s {
5363 uint32_t du_cmdbuf_wdata : 16;
5364 uint32_t du_cmdbuf_addr : 8;
5365 uint32_t du_cmdbuf_select : 1;
5366 uint32_t reserved_25_28 : 4;
5367 uint32_t du_cmdbuf_op_mode : 1;
5368 uint32_t du_cmdbuf_rw_type : 1;
5369 uint32_t du_cmdbuf_rw_start : 1;
5370 } s;
5371 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_du_cmdbuf_ctrl_s cn; */
5372 };
5373 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_du_cmdbuf_ctrl ody_dssx_ddrctl_regb_ddrc_ch0_du_cmdbuf_ctrl_t;
5374
5375 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DU_CMDBUF_CTRL(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DU_CMDBUF_CTRL(uint64_t a)5376 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DU_CMDBUF_CTRL(uint64_t a)
5377 {
5378 if (a <= 19)
5379 return 0x87e1b0210b2cll + 0x1000000ll * ((a) & 0x1f);
5380 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_DU_CMDBUF_CTRL", 1, a, 0, 0, 0, 0, 0);
5381 }
5382
5383 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DU_CMDBUF_CTRL(a) ody_dssx_ddrctl_regb_ddrc_ch0_du_cmdbuf_ctrl_t
5384 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DU_CMDBUF_CTRL(a) CSR_TYPE_RSL32b
5385 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DU_CMDBUF_CTRL(a) "DSSX_DDRCTL_REGB_DDRC_CH0_DU_CMDBUF_CTRL"
5386 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DU_CMDBUF_CTRL(a) 0x0 /* PF_BAR0 */
5387 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DU_CMDBUF_CTRL(a) (a)
5388 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DU_CMDBUF_CTRL(a) (a), -1, -1, -1
5389
5390 /**
5391 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_du_cmdbuf_stat
5392 *
5393 * DSS Ddrctl Regb Ddrc Ch0 Du Cmdbuf Stat Register
5394 * DDR_UTIL command buffer status register.
5395 */
5396 union ody_dssx_ddrctl_regb_ddrc_ch0_du_cmdbuf_stat {
5397 uint32_t u;
5398 struct ody_dssx_ddrctl_regb_ddrc_ch0_du_cmdbuf_stat_s {
5399 uint32_t du_cmdbuf_rdata : 16;
5400 uint32_t reserved_16_31 : 16;
5401 } s;
5402 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_du_cmdbuf_stat_s cn; */
5403 };
5404 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_du_cmdbuf_stat ody_dssx_ddrctl_regb_ddrc_ch0_du_cmdbuf_stat_t;
5405
5406 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DU_CMDBUF_STAT(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DU_CMDBUF_STAT(uint64_t a)5407 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DU_CMDBUF_STAT(uint64_t a)
5408 {
5409 if (a <= 19)
5410 return 0x87e1b0210b30ll + 0x1000000ll * ((a) & 0x1f);
5411 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_DU_CMDBUF_STAT", 1, a, 0, 0, 0, 0, 0);
5412 }
5413
5414 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DU_CMDBUF_STAT(a) ody_dssx_ddrctl_regb_ddrc_ch0_du_cmdbuf_stat_t
5415 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DU_CMDBUF_STAT(a) CSR_TYPE_RSL32b
5416 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DU_CMDBUF_STAT(a) "DSSX_DDRCTL_REGB_DDRC_CH0_DU_CMDBUF_STAT"
5417 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DU_CMDBUF_STAT(a) 0x0 /* PF_BAR0 */
5418 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DU_CMDBUF_STAT(a) (a)
5419 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DU_CMDBUF_STAT(a) (a), -1, -1, -1
5420
5421 /**
5422 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_du_dbg_stat0
5423 *
5424 * DSS Ddrctl Regb Ddrc Ch0 Du Dbg Stat0 Register
5425 * PASDU DEBUG STAT0 Register
5426 */
5427 union ody_dssx_ddrctl_regb_ddrc_ch0_du_dbg_stat0 {
5428 uint32_t u;
5429 struct ody_dssx_ddrctl_regb_ddrc_ch0_du_dbg_stat0_s {
5430 uint32_t du_cur_blk_ucode : 16;
5431 uint32_t du_cur_blk_addr : 8;
5432 uint32_t du_cur_blk_index : 5;
5433 uint32_t du_cur_blk_set : 1;
5434 uint32_t reserved_30_31 : 2;
5435 } s;
5436 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_du_dbg_stat0_s cn; */
5437 };
5438 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_du_dbg_stat0 ody_dssx_ddrctl_regb_ddrc_ch0_du_dbg_stat0_t;
5439
5440 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DU_DBG_STAT0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DU_DBG_STAT0(uint64_t a)5441 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DU_DBG_STAT0(uint64_t a)
5442 {
5443 if (a <= 19)
5444 return 0x87e1b0210d94ll + 0x1000000ll * ((a) & 0x1f);
5445 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_DU_DBG_STAT0", 1, a, 0, 0, 0, 0, 0);
5446 }
5447
5448 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DU_DBG_STAT0(a) ody_dssx_ddrctl_regb_ddrc_ch0_du_dbg_stat0_t
5449 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DU_DBG_STAT0(a) CSR_TYPE_RSL32b
5450 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DU_DBG_STAT0(a) "DSSX_DDRCTL_REGB_DDRC_CH0_DU_DBG_STAT0"
5451 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DU_DBG_STAT0(a) 0x0 /* PF_BAR0 */
5452 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DU_DBG_STAT0(a) (a)
5453 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DU_DBG_STAT0(a) (a), -1, -1, -1
5454
5455 /**
5456 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_du_dbg_stat1
5457 *
5458 * DSS Ddrctl Regb Ddrc Ch0 Du Dbg Stat1 Register
5459 * PASDU DEBUG STAT1 Register
5460 */
5461 union ody_dssx_ddrctl_regb_ddrc_ch0_du_dbg_stat1 {
5462 uint32_t u;
5463 struct ody_dssx_ddrctl_regb_ddrc_ch0_du_dbg_stat1_s {
5464 uint32_t du_main_fsm_state : 3;
5465 uint32_t reserved_3 : 1;
5466 uint32_t du_sceu_fsm_state : 3;
5467 uint32_t reserved_7 : 1;
5468 uint32_t du_mceu_fsm_state : 3;
5469 uint32_t reserved_11_31 : 21;
5470 } s;
5471 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_du_dbg_stat1_s cn; */
5472 };
5473 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_du_dbg_stat1 ody_dssx_ddrctl_regb_ddrc_ch0_du_dbg_stat1_t;
5474
5475 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DU_DBG_STAT1(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DU_DBG_STAT1(uint64_t a)5476 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DU_DBG_STAT1(uint64_t a)
5477 {
5478 if (a <= 19)
5479 return 0x87e1b0210d98ll + 0x1000000ll * ((a) & 0x1f);
5480 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_DU_DBG_STAT1", 1, a, 0, 0, 0, 0, 0);
5481 }
5482
5483 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DU_DBG_STAT1(a) ody_dssx_ddrctl_regb_ddrc_ch0_du_dbg_stat1_t
5484 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DU_DBG_STAT1(a) CSR_TYPE_RSL32b
5485 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DU_DBG_STAT1(a) "DSSX_DDRCTL_REGB_DDRC_CH0_DU_DBG_STAT1"
5486 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DU_DBG_STAT1(a) 0x0 /* PF_BAR0 */
5487 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DU_DBG_STAT1(a) (a)
5488 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_DU_DBG_STAT1(a) (a), -1, -1, -1
5489
5490 /**
5491 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_eccbitmask0
5492 *
5493 * DSS Ddrctl Regb Ddrc Ch0 Eccbitmask0 Register
5494 * ECC Corrected Data Bit Mask Register 0
5495 */
5496 union ody_dssx_ddrctl_regb_ddrc_ch0_eccbitmask0 {
5497 uint32_t u;
5498 struct ody_dssx_ddrctl_regb_ddrc_ch0_eccbitmask0_s {
5499 uint32_t ecc_corr_bit_mask_31_0 : 32;
5500 } s;
5501 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_eccbitmask0_s cn; */
5502 };
5503 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_eccbitmask0 ody_dssx_ddrctl_regb_ddrc_ch0_eccbitmask0_t;
5504
5505 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCBITMASK0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCBITMASK0(uint64_t a)5506 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCBITMASK0(uint64_t a)
5507 {
5508 if (a <= 19)
5509 return 0x87e1b0210628ll + 0x1000000ll * ((a) & 0x1f);
5510 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_ECCBITMASK0", 1, a, 0, 0, 0, 0, 0);
5511 }
5512
5513 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCBITMASK0(a) ody_dssx_ddrctl_regb_ddrc_ch0_eccbitmask0_t
5514 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCBITMASK0(a) CSR_TYPE_RSL32b
5515 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCBITMASK0(a) "DSSX_DDRCTL_REGB_DDRC_CH0_ECCBITMASK0"
5516 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCBITMASK0(a) 0x0 /* PF_BAR0 */
5517 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCBITMASK0(a) (a)
5518 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCBITMASK0(a) (a), -1, -1, -1
5519
5520 /**
5521 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_eccbitmask1
5522 *
5523 * DSS Ddrctl Regb Ddrc Ch0 Eccbitmask1 Register
5524 * ECC Corrected Data Bit Mask Register 1
5525 */
5526 union ody_dssx_ddrctl_regb_ddrc_ch0_eccbitmask1 {
5527 uint32_t u;
5528 struct ody_dssx_ddrctl_regb_ddrc_ch0_eccbitmask1_s {
5529 uint32_t ecc_corr_bit_mask_63_32 : 32;
5530 } s;
5531 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_eccbitmask1_s cn; */
5532 };
5533 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_eccbitmask1 ody_dssx_ddrctl_regb_ddrc_ch0_eccbitmask1_t;
5534
5535 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCBITMASK1(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCBITMASK1(uint64_t a)5536 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCBITMASK1(uint64_t a)
5537 {
5538 if (a <= 19)
5539 return 0x87e1b021062cll + 0x1000000ll * ((a) & 0x1f);
5540 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_ECCBITMASK1", 1, a, 0, 0, 0, 0, 0);
5541 }
5542
5543 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCBITMASK1(a) ody_dssx_ddrctl_regb_ddrc_ch0_eccbitmask1_t
5544 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCBITMASK1(a) CSR_TYPE_RSL32b
5545 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCBITMASK1(a) "DSSX_DDRCTL_REGB_DDRC_CH0_ECCBITMASK1"
5546 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCBITMASK1(a) 0x0 /* PF_BAR0 */
5547 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCBITMASK1(a) (a)
5548 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCBITMASK1(a) (a), -1, -1, -1
5549
5550 /**
5551 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_eccbitmask2
5552 *
5553 * DSS Ddrctl Regb Ddrc Ch0 Eccbitmask2 Register
5554 * ECC Corrected Data Bit Mask Register 2
5555 */
5556 union ody_dssx_ddrctl_regb_ddrc_ch0_eccbitmask2 {
5557 uint32_t u;
5558 struct ody_dssx_ddrctl_regb_ddrc_ch0_eccbitmask2_s {
5559 uint32_t ecc_corr_bit_mask_71_64 : 8;
5560 uint32_t reserved_8_31 : 24;
5561 } s;
5562 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_eccbitmask2_s cn; */
5563 };
5564 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_eccbitmask2 ody_dssx_ddrctl_regb_ddrc_ch0_eccbitmask2_t;
5565
5566 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCBITMASK2(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCBITMASK2(uint64_t a)5567 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCBITMASK2(uint64_t a)
5568 {
5569 if (a <= 19)
5570 return 0x87e1b0210630ll + 0x1000000ll * ((a) & 0x1f);
5571 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_ECCBITMASK2", 1, a, 0, 0, 0, 0, 0);
5572 }
5573
5574 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCBITMASK2(a) ody_dssx_ddrctl_regb_ddrc_ch0_eccbitmask2_t
5575 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCBITMASK2(a) CSR_TYPE_RSL32b
5576 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCBITMASK2(a) "DSSX_DDRCTL_REGB_DDRC_CH0_ECCBITMASK2"
5577 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCBITMASK2(a) 0x0 /* PF_BAR0 */
5578 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCBITMASK2(a) (a)
5579 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCBITMASK2(a) (a), -1, -1, -1
5580
5581 /**
5582 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_ecccaddr0
5583 *
5584 * DSS Ddrctl Regb Ddrc Ch0 Ecccaddr0 Register
5585 * ECC Corrected Error Address Register 0
5586 */
5587 union ody_dssx_ddrctl_regb_ddrc_ch0_ecccaddr0 {
5588 uint32_t u;
5589 struct ody_dssx_ddrctl_regb_ddrc_ch0_ecccaddr0_s {
5590 uint32_t ecc_corr_row : 18;
5591 uint32_t reserved_18_23 : 6;
5592 uint32_t ecc_corr_rank : 1;
5593 uint32_t reserved_25_31 : 7;
5594 } s;
5595 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_ecccaddr0_s cn; */
5596 };
5597 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_ecccaddr0 ody_dssx_ddrctl_regb_ddrc_ch0_ecccaddr0_t;
5598
5599 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCADDR0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCADDR0(uint64_t a)5600 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCADDR0(uint64_t a)
5601 {
5602 if (a <= 19)
5603 return 0x87e1b0210614ll + 0x1000000ll * ((a) & 0x1f);
5604 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_ECCCADDR0", 1, a, 0, 0, 0, 0, 0);
5605 }
5606
5607 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCADDR0(a) ody_dssx_ddrctl_regb_ddrc_ch0_ecccaddr0_t
5608 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCADDR0(a) CSR_TYPE_RSL32b
5609 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCADDR0(a) "DSSX_DDRCTL_REGB_DDRC_CH0_ECCCADDR0"
5610 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCADDR0(a) 0x0 /* PF_BAR0 */
5611 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCADDR0(a) (a)
5612 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCADDR0(a) (a), -1, -1, -1
5613
5614 /**
5615 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_ecccaddr1
5616 *
5617 * DSS Ddrctl Regb Ddrc Ch0 Ecccaddr1 Register
5618 * ECC Corrected Error Address Register 1
5619 */
5620 union ody_dssx_ddrctl_regb_ddrc_ch0_ecccaddr1 {
5621 uint32_t u;
5622 struct ody_dssx_ddrctl_regb_ddrc_ch0_ecccaddr1_s {
5623 uint32_t ecc_corr_col : 11;
5624 uint32_t reserved_11_15 : 5;
5625 uint32_t ecc_corr_bank : 2;
5626 uint32_t reserved_18_23 : 6;
5627 uint32_t ecc_corr_bg : 3;
5628 uint32_t reserved_27_31 : 5;
5629 } s;
5630 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_ecccaddr1_s cn; */
5631 };
5632 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_ecccaddr1 ody_dssx_ddrctl_regb_ddrc_ch0_ecccaddr1_t;
5633
5634 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCADDR1(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCADDR1(uint64_t a)5635 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCADDR1(uint64_t a)
5636 {
5637 if (a <= 19)
5638 return 0x87e1b0210618ll + 0x1000000ll * ((a) & 0x1f);
5639 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_ECCCADDR1", 1, a, 0, 0, 0, 0, 0);
5640 }
5641
5642 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCADDR1(a) ody_dssx_ddrctl_regb_ddrc_ch0_ecccaddr1_t
5643 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCADDR1(a) CSR_TYPE_RSL32b
5644 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCADDR1(a) "DSSX_DDRCTL_REGB_DDRC_CH0_ECCCADDR1"
5645 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCADDR1(a) 0x0 /* PF_BAR0 */
5646 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCADDR1(a) (a)
5647 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCADDR1(a) (a), -1, -1, -1
5648
5649 /**
5650 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_ecccdata0
5651 *
5652 * DSS Ddrctl Regb Ddrc Ch0 Ecccdata0 Register
5653 * ECC Corrected Data Register 0
5654 */
5655 union ody_dssx_ddrctl_regb_ddrc_ch0_ecccdata0 {
5656 uint32_t u;
5657 struct ody_dssx_ddrctl_regb_ddrc_ch0_ecccdata0_s {
5658 uint32_t ecc_corr_data_31_0 : 32;
5659 } s;
5660 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_ecccdata0_s cn; */
5661 };
5662 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_ecccdata0 ody_dssx_ddrctl_regb_ddrc_ch0_ecccdata0_t;
5663
5664 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCDATA0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCDATA0(uint64_t a)5665 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCDATA0(uint64_t a)
5666 {
5667 if (a <= 19)
5668 return 0x87e1b021066cll + 0x1000000ll * ((a) & 0x1f);
5669 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_ECCCDATA0", 1, a, 0, 0, 0, 0, 0);
5670 }
5671
5672 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCDATA0(a) ody_dssx_ddrctl_regb_ddrc_ch0_ecccdata0_t
5673 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCDATA0(a) CSR_TYPE_RSL32b
5674 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCDATA0(a) "DSSX_DDRCTL_REGB_DDRC_CH0_ECCCDATA0"
5675 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCDATA0(a) 0x0 /* PF_BAR0 */
5676 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCDATA0(a) (a)
5677 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCDATA0(a) (a), -1, -1, -1
5678
5679 /**
5680 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_ecccfg0
5681 *
5682 * DSS Ddrctl Regb Ddrc Ch0 Ecccfg0 Register
5683 * ECC Configuration Register 0
5684 */
5685 union ody_dssx_ddrctl_regb_ddrc_ch0_ecccfg0 {
5686 uint32_t u;
5687 struct ody_dssx_ddrctl_regb_ddrc_ch0_ecccfg0_s {
5688 uint32_t ecc_mode : 3;
5689 uint32_t test_mode : 1;
5690 uint32_t ecc_type : 2;
5691 uint32_t reserved_6_22 : 17;
5692 uint32_t dis_scrub : 1;
5693 uint32_t reserved_24_31 : 8;
5694 } s;
5695 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_ecccfg0_s cn; */
5696 };
5697 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_ecccfg0 ody_dssx_ddrctl_regb_ddrc_ch0_ecccfg0_t;
5698
5699 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCFG0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCFG0(uint64_t a)5700 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCFG0(uint64_t a)
5701 {
5702 if (a <= 19)
5703 return 0x87e1b0210600ll + 0x1000000ll * ((a) & 0x1f);
5704 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_ECCCFG0", 1, a, 0, 0, 0, 0, 0);
5705 }
5706
5707 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCFG0(a) ody_dssx_ddrctl_regb_ddrc_ch0_ecccfg0_t
5708 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCFG0(a) CSR_TYPE_RSL32b
5709 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCFG0(a) "DSSX_DDRCTL_REGB_DDRC_CH0_ECCCFG0"
5710 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCFG0(a) 0x0 /* PF_BAR0 */
5711 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCFG0(a) (a)
5712 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCFG0(a) (a), -1, -1, -1
5713
5714 /**
5715 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_ecccfg1
5716 *
5717 * DSS Ddrctl Regb Ddrc Ch0 Ecccfg1 Register
5718 * ECC Configuration Register 1
5719 */
5720 union ody_dssx_ddrctl_regb_ddrc_ch0_ecccfg1 {
5721 uint32_t u;
5722 struct ody_dssx_ddrctl_regb_ddrc_ch0_ecccfg1_s {
5723 uint32_t data_poison_en : 1;
5724 uint32_t data_poison_bit : 1;
5725 uint32_t poison_chip_en : 1;
5726 uint32_t reserved_3_14 : 12;
5727 uint32_t poison_advecc_kbd : 1;
5728 uint32_t poison_num_dfi_beat : 1;
5729 uint32_t reserved_17_31 : 15;
5730 } s;
5731 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_ecccfg1_s cn; */
5732 };
5733 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_ecccfg1 ody_dssx_ddrctl_regb_ddrc_ch0_ecccfg1_t;
5734
5735 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCFG1(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCFG1(uint64_t a)5736 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCFG1(uint64_t a)
5737 {
5738 if (a <= 19)
5739 return 0x87e1b0210604ll + 0x1000000ll * ((a) & 0x1f);
5740 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_ECCCFG1", 1, a, 0, 0, 0, 0, 0);
5741 }
5742
5743 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCFG1(a) ody_dssx_ddrctl_regb_ddrc_ch0_ecccfg1_t
5744 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCFG1(a) CSR_TYPE_RSL32b
5745 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCFG1(a) "DSSX_DDRCTL_REGB_DDRC_CH0_ECCCFG1"
5746 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCFG1(a) 0x0 /* PF_BAR0 */
5747 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCFG1(a) (a)
5748 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCFG1(a) (a), -1, -1, -1
5749
5750 /**
5751 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_ecccfg2
5752 *
5753 * DSS Ddrctl Regb Ddrc Ch0 Ecccfg2 Register
5754 * ECC Configuration Register 2
5755 */
5756 union ody_dssx_ddrctl_regb_ddrc_ch0_ecccfg2 {
5757 uint32_t u;
5758 struct ody_dssx_ddrctl_regb_ddrc_ch0_ecccfg2_s {
5759 uint32_t bypass_internal_ecc : 1;
5760 uint32_t kbd_en : 1;
5761 uint32_t reserved_2_15 : 14;
5762 uint32_t flip_bit_pos0 : 7;
5763 uint32_t reserved_23 : 1;
5764 uint32_t flip_bit_pos1 : 7;
5765 uint32_t reserved_31 : 1;
5766 } s;
5767 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_ecccfg2_s cn; */
5768 };
5769 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_ecccfg2 ody_dssx_ddrctl_regb_ddrc_ch0_ecccfg2_t;
5770
5771 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCFG2(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCFG2(uint64_t a)5772 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCFG2(uint64_t a)
5773 {
5774 if (a <= 19)
5775 return 0x87e1b0210668ll + 0x1000000ll * ((a) & 0x1f);
5776 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_ECCCFG2", 1, a, 0, 0, 0, 0, 0);
5777 }
5778
5779 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCFG2(a) ody_dssx_ddrctl_regb_ddrc_ch0_ecccfg2_t
5780 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCFG2(a) CSR_TYPE_RSL32b
5781 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCFG2(a) "DSSX_DDRCTL_REGB_DDRC_CH0_ECCCFG2"
5782 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCFG2(a) 0x0 /* PF_BAR0 */
5783 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCFG2(a) (a)
5784 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCFG2(a) (a), -1, -1, -1
5785
5786 /**
5787 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_ecccsyn0
5788 *
5789 * DSS Ddrctl Regb Ddrc Ch0 Ecccsyn0 Register
5790 * ECC Corrected Syndrome Register 0
5791 */
5792 union ody_dssx_ddrctl_regb_ddrc_ch0_ecccsyn0 {
5793 uint32_t u;
5794 struct ody_dssx_ddrctl_regb_ddrc_ch0_ecccsyn0_s {
5795 uint32_t ecc_corr_syndromes_31_0 : 32;
5796 } s;
5797 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_ecccsyn0_s cn; */
5798 };
5799 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_ecccsyn0 ody_dssx_ddrctl_regb_ddrc_ch0_ecccsyn0_t;
5800
5801 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCSYN0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCSYN0(uint64_t a)5802 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCSYN0(uint64_t a)
5803 {
5804 if (a <= 19)
5805 return 0x87e1b021061cll + 0x1000000ll * ((a) & 0x1f);
5806 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_ECCCSYN0", 1, a, 0, 0, 0, 0, 0);
5807 }
5808
5809 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCSYN0(a) ody_dssx_ddrctl_regb_ddrc_ch0_ecccsyn0_t
5810 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCSYN0(a) CSR_TYPE_RSL32b
5811 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCSYN0(a) "DSSX_DDRCTL_REGB_DDRC_CH0_ECCCSYN0"
5812 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCSYN0(a) 0x0 /* PF_BAR0 */
5813 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCSYN0(a) (a)
5814 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCSYN0(a) (a), -1, -1, -1
5815
5816 /**
5817 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_ecccsyn1
5818 *
5819 * DSS Ddrctl Regb Ddrc Ch0 Ecccsyn1 Register
5820 * ECC Corrected Syndrome Register 1
5821 */
5822 union ody_dssx_ddrctl_regb_ddrc_ch0_ecccsyn1 {
5823 uint32_t u;
5824 struct ody_dssx_ddrctl_regb_ddrc_ch0_ecccsyn1_s {
5825 uint32_t ecc_corr_syndromes_63_32 : 32;
5826 } s;
5827 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_ecccsyn1_s cn; */
5828 };
5829 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_ecccsyn1 ody_dssx_ddrctl_regb_ddrc_ch0_ecccsyn1_t;
5830
5831 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCSYN1(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCSYN1(uint64_t a)5832 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCSYN1(uint64_t a)
5833 {
5834 if (a <= 19)
5835 return 0x87e1b0210620ll + 0x1000000ll * ((a) & 0x1f);
5836 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_ECCCSYN1", 1, a, 0, 0, 0, 0, 0);
5837 }
5838
5839 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCSYN1(a) ody_dssx_ddrctl_regb_ddrc_ch0_ecccsyn1_t
5840 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCSYN1(a) CSR_TYPE_RSL32b
5841 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCSYN1(a) "DSSX_DDRCTL_REGB_DDRC_CH0_ECCCSYN1"
5842 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCSYN1(a) 0x0 /* PF_BAR0 */
5843 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCSYN1(a) (a)
5844 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCSYN1(a) (a), -1, -1, -1
5845
5846 /**
5847 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_ecccsyn2
5848 *
5849 * DSS Ddrctl Regb Ddrc Ch0 Ecccsyn2 Register
5850 * ECC Corrected Syndrome Register 2
5851 */
5852 union ody_dssx_ddrctl_regb_ddrc_ch0_ecccsyn2 {
5853 uint32_t u;
5854 struct ody_dssx_ddrctl_regb_ddrc_ch0_ecccsyn2_s {
5855 uint32_t ecc_corr_syndromes_71_64 : 8;
5856 uint32_t reserved_8_15 : 8;
5857 uint32_t cb_corr_syndrome : 8;
5858 uint32_t reserved_24_31 : 8;
5859 } s;
5860 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_ecccsyn2_s cn; */
5861 };
5862 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_ecccsyn2 ody_dssx_ddrctl_regb_ddrc_ch0_ecccsyn2_t;
5863
5864 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCSYN2(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCSYN2(uint64_t a)5865 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCSYN2(uint64_t a)
5866 {
5867 if (a <= 19)
5868 return 0x87e1b0210624ll + 0x1000000ll * ((a) & 0x1f);
5869 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_ECCCSYN2", 1, a, 0, 0, 0, 0, 0);
5870 }
5871
5872 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCSYN2(a) ody_dssx_ddrctl_regb_ddrc_ch0_ecccsyn2_t
5873 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCSYN2(a) CSR_TYPE_RSL32b
5874 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCSYN2(a) "DSSX_DDRCTL_REGB_DDRC_CH0_ECCCSYN2"
5875 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCSYN2(a) 0x0 /* PF_BAR0 */
5876 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCSYN2(a) (a)
5877 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCSYN2(a) (a), -1, -1, -1
5878
5879 /**
5880 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_eccctl
5881 *
5882 * DSS Ddrctl Regb Ddrc Ch0 Eccctl Register
5883 * ECC Clear Register
5884 */
5885 union ody_dssx_ddrctl_regb_ddrc_ch0_eccctl {
5886 uint32_t u;
5887 struct ody_dssx_ddrctl_regb_ddrc_ch0_eccctl_s {
5888 uint32_t ecc_corrected_err_clr : 1;
5889 uint32_t ecc_uncorrected_err_clr : 1;
5890 uint32_t ecc_corr_err_cnt_clr : 1;
5891 uint32_t ecc_uncorr_err_cnt_clr : 1;
5892 uint32_t reserved_4_7 : 4;
5893 uint32_t ecc_corrected_err_intr_en : 1;
5894 uint32_t ecc_uncorrected_err_intr_en : 1;
5895 uint32_t reserved_10_15 : 6;
5896 uint32_t ecc_corrected_err_intr_force : 1;
5897 uint32_t ecc_uncorrected_err_intr_force : 1;
5898 uint32_t reserved_18_31 : 14;
5899 } s;
5900 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_eccctl_s cn; */
5901 };
5902 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_eccctl ody_dssx_ddrctl_regb_ddrc_ch0_eccctl_t;
5903
5904 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCTL(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCTL(uint64_t a)5905 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCTL(uint64_t a)
5906 {
5907 if (a <= 19)
5908 return 0x87e1b021060cll + 0x1000000ll * ((a) & 0x1f);
5909 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_ECCCTL", 1, a, 0, 0, 0, 0, 0);
5910 }
5911
5912 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCTL(a) ody_dssx_ddrctl_regb_ddrc_ch0_eccctl_t
5913 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCTL(a) CSR_TYPE_RSL32b
5914 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCTL(a) "DSSX_DDRCTL_REGB_DDRC_CH0_ECCCTL"
5915 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCTL(a) 0x0 /* PF_BAR0 */
5916 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCTL(a) (a)
5917 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCCTL(a) (a), -1, -1, -1
5918
5919 /**
5920 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_eccerrcnt
5921 *
5922 * DSS Ddrctl Regb Ddrc Ch0 Eccerrcnt Register
5923 * ECC Error Counter Register
5924 */
5925 union ody_dssx_ddrctl_regb_ddrc_ch0_eccerrcnt {
5926 uint32_t u;
5927 struct ody_dssx_ddrctl_regb_ddrc_ch0_eccerrcnt_s {
5928 uint32_t ecc_corr_err_cnt : 16;
5929 uint32_t ecc_uncorr_err_cnt : 16;
5930 } s;
5931 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_eccerrcnt_s cn; */
5932 };
5933 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_eccerrcnt ody_dssx_ddrctl_regb_ddrc_ch0_eccerrcnt_t;
5934
5935 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCERRCNT(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCERRCNT(uint64_t a)5936 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCERRCNT(uint64_t a)
5937 {
5938 if (a <= 19)
5939 return 0x87e1b0210610ll + 0x1000000ll * ((a) & 0x1f);
5940 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_ECCERRCNT", 1, a, 0, 0, 0, 0, 0);
5941 }
5942
5943 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCERRCNT(a) ody_dssx_ddrctl_regb_ddrc_ch0_eccerrcnt_t
5944 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCERRCNT(a) CSR_TYPE_RSL32b
5945 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCERRCNT(a) "DSSX_DDRCTL_REGB_DDRC_CH0_ECCERRCNT"
5946 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCERRCNT(a) 0x0 /* PF_BAR0 */
5947 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCERRCNT(a) (a)
5948 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCERRCNT(a) (a), -1, -1, -1
5949
5950 /**
5951 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_eccpoisonaddr0
5952 *
5953 * DSS Ddrctl Regb Ddrc Ch0 Eccpoisonaddr0 Register
5954 * ECC Data Poisoning Address Register 0.
5955 */
5956 union ody_dssx_ddrctl_regb_ddrc_ch0_eccpoisonaddr0 {
5957 uint32_t u;
5958 struct ody_dssx_ddrctl_regb_ddrc_ch0_eccpoisonaddr0_s {
5959 uint32_t ecc_poison_col : 12;
5960 uint32_t reserved_12_23 : 12;
5961 uint32_t ecc_poison_rank : 1;
5962 uint32_t reserved_25_31 : 7;
5963 } s;
5964 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_eccpoisonaddr0_s cn; */
5965 };
5966 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_eccpoisonaddr0 ody_dssx_ddrctl_regb_ddrc_ch0_eccpoisonaddr0_t;
5967
5968 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCPOISONADDR0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCPOISONADDR0(uint64_t a)5969 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCPOISONADDR0(uint64_t a)
5970 {
5971 if (a <= 19)
5972 return 0x87e1b0210648ll + 0x1000000ll * ((a) & 0x1f);
5973 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_ECCPOISONADDR0", 1, a, 0, 0, 0, 0, 0);
5974 }
5975
5976 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCPOISONADDR0(a) ody_dssx_ddrctl_regb_ddrc_ch0_eccpoisonaddr0_t
5977 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCPOISONADDR0(a) CSR_TYPE_RSL32b
5978 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCPOISONADDR0(a) "DSSX_DDRCTL_REGB_DDRC_CH0_ECCPOISONADDR0"
5979 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCPOISONADDR0(a) 0x0 /* PF_BAR0 */
5980 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCPOISONADDR0(a) (a)
5981 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCPOISONADDR0(a) (a), -1, -1, -1
5982
5983 /**
5984 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_eccpoisonaddr1
5985 *
5986 * DSS Ddrctl Regb Ddrc Ch0 Eccpoisonaddr1 Register
5987 * ECC Data Poisoning Address Register 1.
5988 */
5989 union ody_dssx_ddrctl_regb_ddrc_ch0_eccpoisonaddr1 {
5990 uint32_t u;
5991 struct ody_dssx_ddrctl_regb_ddrc_ch0_eccpoisonaddr1_s {
5992 uint32_t ecc_poison_row : 18;
5993 uint32_t reserved_18_23 : 6;
5994 uint32_t ecc_poison_bank : 2;
5995 uint32_t reserved_26_27 : 2;
5996 uint32_t ecc_poison_bg : 3;
5997 uint32_t reserved_31 : 1;
5998 } s;
5999 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_eccpoisonaddr1_s cn; */
6000 };
6001 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_eccpoisonaddr1 ody_dssx_ddrctl_regb_ddrc_ch0_eccpoisonaddr1_t;
6002
6003 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCPOISONADDR1(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCPOISONADDR1(uint64_t a)6004 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCPOISONADDR1(uint64_t a)
6005 {
6006 if (a <= 19)
6007 return 0x87e1b021064cll + 0x1000000ll * ((a) & 0x1f);
6008 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_ECCPOISONADDR1", 1, a, 0, 0, 0, 0, 0);
6009 }
6010
6011 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCPOISONADDR1(a) ody_dssx_ddrctl_regb_ddrc_ch0_eccpoisonaddr1_t
6012 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCPOISONADDR1(a) CSR_TYPE_RSL32b
6013 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCPOISONADDR1(a) "DSSX_DDRCTL_REGB_DDRC_CH0_ECCPOISONADDR1"
6014 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCPOISONADDR1(a) 0x0 /* PF_BAR0 */
6015 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCPOISONADDR1(a) (a)
6016 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCPOISONADDR1(a) (a), -1, -1, -1
6017
6018 /**
6019 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_eccpoisonpat0
6020 *
6021 * DSS Ddrctl Regb Ddrc Ch0 Eccpoisonpat0 Register
6022 * ECC Poison Pattern 0 Register
6023 */
6024 union ody_dssx_ddrctl_regb_ddrc_ch0_eccpoisonpat0 {
6025 uint32_t u;
6026 struct ody_dssx_ddrctl_regb_ddrc_ch0_eccpoisonpat0_s {
6027 uint32_t ecc_poison_data_31_0 : 32;
6028 } s;
6029 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_eccpoisonpat0_s cn; */
6030 };
6031 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_eccpoisonpat0 ody_dssx_ddrctl_regb_ddrc_ch0_eccpoisonpat0_t;
6032
6033 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCPOISONPAT0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCPOISONPAT0(uint64_t a)6034 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCPOISONPAT0(uint64_t a)
6035 {
6036 if (a <= 19)
6037 return 0x87e1b0210658ll + 0x1000000ll * ((a) & 0x1f);
6038 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_ECCPOISONPAT0", 1, a, 0, 0, 0, 0, 0);
6039 }
6040
6041 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCPOISONPAT0(a) ody_dssx_ddrctl_regb_ddrc_ch0_eccpoisonpat0_t
6042 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCPOISONPAT0(a) CSR_TYPE_RSL32b
6043 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCPOISONPAT0(a) "DSSX_DDRCTL_REGB_DDRC_CH0_ECCPOISONPAT0"
6044 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCPOISONPAT0(a) 0x0 /* PF_BAR0 */
6045 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCPOISONPAT0(a) (a)
6046 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCPOISONPAT0(a) (a), -1, -1, -1
6047
6048 /**
6049 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_eccpoisonpat2
6050 *
6051 * DSS Ddrctl Regb Ddrc Ch0 Eccpoisonpat2 Register
6052 * ECC Poison Pattern 2 Register
6053 */
6054 union ody_dssx_ddrctl_regb_ddrc_ch0_eccpoisonpat2 {
6055 uint32_t u;
6056 struct ody_dssx_ddrctl_regb_ddrc_ch0_eccpoisonpat2_s {
6057 uint32_t ecc_poison_data_71_64 : 8;
6058 uint32_t reserved_8_31 : 24;
6059 } s;
6060 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_eccpoisonpat2_s cn; */
6061 };
6062 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_eccpoisonpat2 ody_dssx_ddrctl_regb_ddrc_ch0_eccpoisonpat2_t;
6063
6064 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCPOISONPAT2(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCPOISONPAT2(uint64_t a)6065 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCPOISONPAT2(uint64_t a)
6066 {
6067 if (a <= 19)
6068 return 0x87e1b0210660ll + 0x1000000ll * ((a) & 0x1f);
6069 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_ECCPOISONPAT2", 1, a, 0, 0, 0, 0, 0);
6070 }
6071
6072 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCPOISONPAT2(a) ody_dssx_ddrctl_regb_ddrc_ch0_eccpoisonpat2_t
6073 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCPOISONPAT2(a) CSR_TYPE_RSL32b
6074 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCPOISONPAT2(a) "DSSX_DDRCTL_REGB_DDRC_CH0_ECCPOISONPAT2"
6075 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCPOISONPAT2(a) 0x0 /* PF_BAR0 */
6076 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCPOISONPAT2(a) (a)
6077 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCPOISONPAT2(a) (a), -1, -1, -1
6078
6079 /**
6080 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_eccstat
6081 *
6082 * DSS Ddrctl Regb Ddrc Ch0 Eccstat Register
6083 * SECDED ECC Status Register
6084 */
6085 union ody_dssx_ddrctl_regb_ddrc_ch0_eccstat {
6086 uint32_t u;
6087 struct ody_dssx_ddrctl_regb_ddrc_ch0_eccstat_s {
6088 uint32_t ecc_corrected_bit_num : 7;
6089 uint32_t reserved_7 : 1;
6090 uint32_t ecc_corrected_err : 8;
6091 uint32_t ecc_uncorrected_err : 8;
6092 uint32_t sbr_read_ecc_ce : 1;
6093 uint32_t sbr_read_ecc_ue : 1;
6094 uint32_t reserved_26_31 : 6;
6095 } s;
6096 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_eccstat_s cn; */
6097 };
6098 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_eccstat ody_dssx_ddrctl_regb_ddrc_ch0_eccstat_t;
6099
6100 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCSTAT(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCSTAT(uint64_t a)6101 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCSTAT(uint64_t a)
6102 {
6103 if (a <= 19)
6104 return 0x87e1b0210608ll + 0x1000000ll * ((a) & 0x1f);
6105 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_ECCSTAT", 1, a, 0, 0, 0, 0, 0);
6106 }
6107
6108 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCSTAT(a) ody_dssx_ddrctl_regb_ddrc_ch0_eccstat_t
6109 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCSTAT(a) CSR_TYPE_RSL32b
6110 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCSTAT(a) "DSSX_DDRCTL_REGB_DDRC_CH0_ECCSTAT"
6111 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCSTAT(a) 0x0 /* PF_BAR0 */
6112 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCSTAT(a) (a)
6113 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCSTAT(a) (a), -1, -1, -1
6114
6115 /**
6116 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_eccsymbol
6117 *
6118 * DSS Ddrctl Regb Ddrc Ch0 Eccsymbol Register
6119 * ECC Symbol Register
6120 */
6121 union ody_dssx_ddrctl_regb_ddrc_ch0_eccsymbol {
6122 uint32_t u;
6123 struct ody_dssx_ddrctl_regb_ddrc_ch0_eccsymbol_s {
6124 uint32_t ecc_corr_sym_71_64 : 8;
6125 uint32_t reserved_8_15 : 8;
6126 uint32_t ecc_uncorr_sym_71_64 : 8;
6127 uint32_t reserved_24_31 : 8;
6128 } s;
6129 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_eccsymbol_s cn; */
6130 };
6131 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_eccsymbol ody_dssx_ddrctl_regb_ddrc_ch0_eccsymbol_t;
6132
6133 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCSYMBOL(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCSYMBOL(uint64_t a)6134 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCSYMBOL(uint64_t a)
6135 {
6136 if (a <= 19)
6137 return 0x87e1b021067cll + 0x1000000ll * ((a) & 0x1f);
6138 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_ECCSYMBOL", 1, a, 0, 0, 0, 0, 0);
6139 }
6140
6141 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCSYMBOL(a) ody_dssx_ddrctl_regb_ddrc_ch0_eccsymbol_t
6142 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCSYMBOL(a) CSR_TYPE_RSL32b
6143 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCSYMBOL(a) "DSSX_DDRCTL_REGB_DDRC_CH0_ECCSYMBOL"
6144 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCSYMBOL(a) 0x0 /* PF_BAR0 */
6145 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCSYMBOL(a) (a)
6146 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCSYMBOL(a) (a), -1, -1, -1
6147
6148 /**
6149 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_eccuaddr0
6150 *
6151 * DSS Ddrctl Regb Ddrc Ch0 Eccuaddr0 Register
6152 * ECC Uncorrected Error Address Register 0
6153 */
6154 union ody_dssx_ddrctl_regb_ddrc_ch0_eccuaddr0 {
6155 uint32_t u;
6156 struct ody_dssx_ddrctl_regb_ddrc_ch0_eccuaddr0_s {
6157 uint32_t ecc_uncorr_row : 18;
6158 uint32_t reserved_18_23 : 6;
6159 uint32_t ecc_uncorr_rank : 1;
6160 uint32_t reserved_25_31 : 7;
6161 } s;
6162 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_eccuaddr0_s cn; */
6163 };
6164 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_eccuaddr0 ody_dssx_ddrctl_regb_ddrc_ch0_eccuaddr0_t;
6165
6166 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCUADDR0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCUADDR0(uint64_t a)6167 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCUADDR0(uint64_t a)
6168 {
6169 if (a <= 19)
6170 return 0x87e1b0210634ll + 0x1000000ll * ((a) & 0x1f);
6171 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_ECCUADDR0", 1, a, 0, 0, 0, 0, 0);
6172 }
6173
6174 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCUADDR0(a) ody_dssx_ddrctl_regb_ddrc_ch0_eccuaddr0_t
6175 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCUADDR0(a) CSR_TYPE_RSL32b
6176 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCUADDR0(a) "DSSX_DDRCTL_REGB_DDRC_CH0_ECCUADDR0"
6177 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCUADDR0(a) 0x0 /* PF_BAR0 */
6178 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCUADDR0(a) (a)
6179 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCUADDR0(a) (a), -1, -1, -1
6180
6181 /**
6182 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_eccuaddr1
6183 *
6184 * DSS Ddrctl Regb Ddrc Ch0 Eccuaddr1 Register
6185 * ECC Uncorrected Error Address Register 1
6186 */
6187 union ody_dssx_ddrctl_regb_ddrc_ch0_eccuaddr1 {
6188 uint32_t u;
6189 struct ody_dssx_ddrctl_regb_ddrc_ch0_eccuaddr1_s {
6190 uint32_t ecc_uncorr_col : 11;
6191 uint32_t reserved_11_15 : 5;
6192 uint32_t ecc_uncorr_bank : 2;
6193 uint32_t reserved_18_23 : 6;
6194 uint32_t ecc_uncorr_bg : 3;
6195 uint32_t reserved_27_31 : 5;
6196 } s;
6197 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_eccuaddr1_s cn; */
6198 };
6199 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_eccuaddr1 ody_dssx_ddrctl_regb_ddrc_ch0_eccuaddr1_t;
6200
6201 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCUADDR1(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCUADDR1(uint64_t a)6202 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCUADDR1(uint64_t a)
6203 {
6204 if (a <= 19)
6205 return 0x87e1b0210638ll + 0x1000000ll * ((a) & 0x1f);
6206 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_ECCUADDR1", 1, a, 0, 0, 0, 0, 0);
6207 }
6208
6209 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCUADDR1(a) ody_dssx_ddrctl_regb_ddrc_ch0_eccuaddr1_t
6210 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCUADDR1(a) CSR_TYPE_RSL32b
6211 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCUADDR1(a) "DSSX_DDRCTL_REGB_DDRC_CH0_ECCUADDR1"
6212 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCUADDR1(a) 0x0 /* PF_BAR0 */
6213 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCUADDR1(a) (a)
6214 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCUADDR1(a) (a), -1, -1, -1
6215
6216 /**
6217 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_eccudata0
6218 *
6219 * DSS Ddrctl Regb Ddrc Ch0 Eccudata0 Register
6220 * ECC Uncorrected Data Register 0
6221 */
6222 union ody_dssx_ddrctl_regb_ddrc_ch0_eccudata0 {
6223 uint32_t u;
6224 struct ody_dssx_ddrctl_regb_ddrc_ch0_eccudata0_s {
6225 uint32_t ecc_uncorr_data_31_0 : 32;
6226 } s;
6227 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_eccudata0_s cn; */
6228 };
6229 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_eccudata0 ody_dssx_ddrctl_regb_ddrc_ch0_eccudata0_t;
6230
6231 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCUDATA0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCUDATA0(uint64_t a)6232 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCUDATA0(uint64_t a)
6233 {
6234 if (a <= 19)
6235 return 0x87e1b0210674ll + 0x1000000ll * ((a) & 0x1f);
6236 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_ECCUDATA0", 1, a, 0, 0, 0, 0, 0);
6237 }
6238
6239 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCUDATA0(a) ody_dssx_ddrctl_regb_ddrc_ch0_eccudata0_t
6240 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCUDATA0(a) CSR_TYPE_RSL32b
6241 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCUDATA0(a) "DSSX_DDRCTL_REGB_DDRC_CH0_ECCUDATA0"
6242 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCUDATA0(a) 0x0 /* PF_BAR0 */
6243 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCUDATA0(a) (a)
6244 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCUDATA0(a) (a), -1, -1, -1
6245
6246 /**
6247 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_eccusyn0
6248 *
6249 * DSS Ddrctl Regb Ddrc Ch0 Eccusyn0 Register
6250 * ECC Uncorrected Syndrome Register 0
6251 */
6252 union ody_dssx_ddrctl_regb_ddrc_ch0_eccusyn0 {
6253 uint32_t u;
6254 struct ody_dssx_ddrctl_regb_ddrc_ch0_eccusyn0_s {
6255 uint32_t ecc_uncorr_syndromes_31_0 : 32;
6256 } s;
6257 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_eccusyn0_s cn; */
6258 };
6259 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_eccusyn0 ody_dssx_ddrctl_regb_ddrc_ch0_eccusyn0_t;
6260
6261 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCUSYN0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCUSYN0(uint64_t a)6262 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCUSYN0(uint64_t a)
6263 {
6264 if (a <= 19)
6265 return 0x87e1b021063cll + 0x1000000ll * ((a) & 0x1f);
6266 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_ECCUSYN0", 1, a, 0, 0, 0, 0, 0);
6267 }
6268
6269 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCUSYN0(a) ody_dssx_ddrctl_regb_ddrc_ch0_eccusyn0_t
6270 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCUSYN0(a) CSR_TYPE_RSL32b
6271 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCUSYN0(a) "DSSX_DDRCTL_REGB_DDRC_CH0_ECCUSYN0"
6272 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCUSYN0(a) 0x0 /* PF_BAR0 */
6273 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCUSYN0(a) (a)
6274 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCUSYN0(a) (a), -1, -1, -1
6275
6276 /**
6277 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_eccusyn1
6278 *
6279 * DSS Ddrctl Regb Ddrc Ch0 Eccusyn1 Register
6280 * ECC Uncorrected Syndrome Register 1
6281 */
6282 union ody_dssx_ddrctl_regb_ddrc_ch0_eccusyn1 {
6283 uint32_t u;
6284 struct ody_dssx_ddrctl_regb_ddrc_ch0_eccusyn1_s {
6285 uint32_t ecc_uncorr_syndromes_63_32 : 32;
6286 } s;
6287 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_eccusyn1_s cn; */
6288 };
6289 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_eccusyn1 ody_dssx_ddrctl_regb_ddrc_ch0_eccusyn1_t;
6290
6291 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCUSYN1(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCUSYN1(uint64_t a)6292 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCUSYN1(uint64_t a)
6293 {
6294 if (a <= 19)
6295 return 0x87e1b0210640ll + 0x1000000ll * ((a) & 0x1f);
6296 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_ECCUSYN1", 1, a, 0, 0, 0, 0, 0);
6297 }
6298
6299 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCUSYN1(a) ody_dssx_ddrctl_regb_ddrc_ch0_eccusyn1_t
6300 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCUSYN1(a) CSR_TYPE_RSL32b
6301 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCUSYN1(a) "DSSX_DDRCTL_REGB_DDRC_CH0_ECCUSYN1"
6302 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCUSYN1(a) 0x0 /* PF_BAR0 */
6303 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCUSYN1(a) (a)
6304 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCUSYN1(a) (a), -1, -1, -1
6305
6306 /**
6307 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_eccusyn2
6308 *
6309 * DSS Ddrctl Regb Ddrc Ch0 Eccusyn2 Register
6310 * ECC Uncorrected Syndrome Register 2
6311 */
6312 union ody_dssx_ddrctl_regb_ddrc_ch0_eccusyn2 {
6313 uint32_t u;
6314 struct ody_dssx_ddrctl_regb_ddrc_ch0_eccusyn2_s {
6315 uint32_t ecc_uncorr_syndromes_71_64 : 8;
6316 uint32_t reserved_8_15 : 8;
6317 uint32_t cb_uncorr_syndrome : 8;
6318 uint32_t reserved_24_31 : 8;
6319 } s;
6320 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_eccusyn2_s cn; */
6321 };
6322 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_eccusyn2 ody_dssx_ddrctl_regb_ddrc_ch0_eccusyn2_t;
6323
6324 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCUSYN2(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCUSYN2(uint64_t a)6325 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCUSYN2(uint64_t a)
6326 {
6327 if (a <= 19)
6328 return 0x87e1b0210644ll + 0x1000000ll * ((a) & 0x1f);
6329 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_ECCUSYN2", 1, a, 0, 0, 0, 0, 0);
6330 }
6331
6332 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCUSYN2(a) ody_dssx_ddrctl_regb_ddrc_ch0_eccusyn2_t
6333 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCUSYN2(a) CSR_TYPE_RSL32b
6334 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCUSYN2(a) "DSSX_DDRCTL_REGB_DDRC_CH0_ECCUSYN2"
6335 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCUSYN2(a) 0x0 /* PF_BAR0 */
6336 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCUSYN2(a) (a)
6337 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECCUSYN2(a) (a), -1, -1, -1
6338
6339 /**
6340 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_ecs_stat_dev_sel
6341 *
6342 * DSS Ddrctl Regb Ddrc Ch0 Ecs Stat Dev Sel Register
6343 * ECS Transparency MRR Control Register
6344 */
6345 union ody_dssx_ddrctl_regb_ddrc_ch0_ecs_stat_dev_sel {
6346 uint32_t u;
6347 struct ody_dssx_ddrctl_regb_ddrc_ch0_ecs_stat_dev_sel_s {
6348 uint32_t target_ecs_mrr_device_idx : 5;
6349 uint32_t reserved_5_31 : 27;
6350 } s;
6351 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_ecs_stat_dev_sel_s cn; */
6352 };
6353 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_ecs_stat_dev_sel ody_dssx_ddrctl_regb_ddrc_ch0_ecs_stat_dev_sel_t;
6354
6355 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECS_STAT_DEV_SEL(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECS_STAT_DEV_SEL(uint64_t a)6356 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECS_STAT_DEV_SEL(uint64_t a)
6357 {
6358 if (a <= 19)
6359 return 0x87e1b0210af4ll + 0x1000000ll * ((a) & 0x1f);
6360 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_ECS_STAT_DEV_SEL", 1, a, 0, 0, 0, 0, 0);
6361 }
6362
6363 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECS_STAT_DEV_SEL(a) ody_dssx_ddrctl_regb_ddrc_ch0_ecs_stat_dev_sel_t
6364 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECS_STAT_DEV_SEL(a) CSR_TYPE_RSL32b
6365 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECS_STAT_DEV_SEL(a) "DSSX_DDRCTL_REGB_DDRC_CH0_ECS_STAT_DEV_SEL"
6366 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECS_STAT_DEV_SEL(a) 0x0 /* PF_BAR0 */
6367 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECS_STAT_DEV_SEL(a) (a)
6368 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECS_STAT_DEV_SEL(a) (a), -1, -1, -1
6369
6370 /**
6371 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_ecs_stat_mr0
6372 *
6373 * DSS Ddrctl Regb Ddrc Ch0 Ecs Stat Mr0 Register
6374 * ECS Transparency MRR Data Register
6375 */
6376 union ody_dssx_ddrctl_regb_ddrc_ch0_ecs_stat_mr0 {
6377 uint32_t u;
6378 struct ody_dssx_ddrctl_regb_ddrc_ch0_ecs_stat_mr0_s {
6379 uint32_t ecs_mr16 : 8;
6380 uint32_t ecs_mr17 : 8;
6381 uint32_t ecs_mr18 : 8;
6382 uint32_t ecs_mr19 : 8;
6383 } s;
6384 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_ecs_stat_mr0_s cn; */
6385 };
6386 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_ecs_stat_mr0 ody_dssx_ddrctl_regb_ddrc_ch0_ecs_stat_mr0_t;
6387
6388 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECS_STAT_MR0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECS_STAT_MR0(uint64_t a)6389 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECS_STAT_MR0(uint64_t a)
6390 {
6391 if (a <= 19)
6392 return 0x87e1b0210af8ll + 0x1000000ll * ((a) & 0x1f);
6393 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_ECS_STAT_MR0", 1, a, 0, 0, 0, 0, 0);
6394 }
6395
6396 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECS_STAT_MR0(a) ody_dssx_ddrctl_regb_ddrc_ch0_ecs_stat_mr0_t
6397 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECS_STAT_MR0(a) CSR_TYPE_RSL32b
6398 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECS_STAT_MR0(a) "DSSX_DDRCTL_REGB_DDRC_CH0_ECS_STAT_MR0"
6399 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECS_STAT_MR0(a) 0x0 /* PF_BAR0 */
6400 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECS_STAT_MR0(a) (a)
6401 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECS_STAT_MR0(a) (a), -1, -1, -1
6402
6403 /**
6404 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_ecs_stat_mr1
6405 *
6406 * DSS Ddrctl Regb Ddrc Ch0 Ecs Stat Mr1 Register
6407 * ECS Transparency MRR Data Register
6408 */
6409 union ody_dssx_ddrctl_regb_ddrc_ch0_ecs_stat_mr1 {
6410 uint32_t u;
6411 struct ody_dssx_ddrctl_regb_ddrc_ch0_ecs_stat_mr1_s {
6412 uint32_t ecs_mr20 : 8;
6413 uint32_t reserved_8_31 : 24;
6414 } s;
6415 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_ecs_stat_mr1_s cn; */
6416 };
6417 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_ecs_stat_mr1 ody_dssx_ddrctl_regb_ddrc_ch0_ecs_stat_mr1_t;
6418
6419 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECS_STAT_MR1(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECS_STAT_MR1(uint64_t a)6420 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECS_STAT_MR1(uint64_t a)
6421 {
6422 if (a <= 19)
6423 return 0x87e1b0210afcll + 0x1000000ll * ((a) & 0x1f);
6424 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_ECS_STAT_MR1", 1, a, 0, 0, 0, 0, 0);
6425 }
6426
6427 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECS_STAT_MR1(a) ody_dssx_ddrctl_regb_ddrc_ch0_ecs_stat_mr1_t
6428 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECS_STAT_MR1(a) CSR_TYPE_RSL32b
6429 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECS_STAT_MR1(a) "DSSX_DDRCTL_REGB_DDRC_CH0_ECS_STAT_MR1"
6430 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECS_STAT_MR1(a) 0x0 /* PF_BAR0 */
6431 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECS_STAT_MR1(a) (a)
6432 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECS_STAT_MR1(a) (a), -1, -1, -1
6433
6434 /**
6435 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_ecsctl
6436 *
6437 * DSS Ddrctl Regb Ddrc Ch0 Ecsctl Register
6438 * ECS Control Register
6439 */
6440 union ody_dssx_ddrctl_regb_ddrc_ch0_ecsctl {
6441 uint32_t u;
6442 struct ody_dssx_ddrctl_regb_ddrc_ch0_ecsctl_s {
6443 uint32_t auto_ecs_refab_en : 2;
6444 uint32_t reserved_2_31 : 30;
6445 } s;
6446 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_ecsctl_s cn; */
6447 };
6448 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_ecsctl ody_dssx_ddrctl_regb_ddrc_ch0_ecsctl_t;
6449
6450 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECSCTL(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECSCTL(uint64_t a)6451 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECSCTL(uint64_t a)
6452 {
6453 if (a <= 19)
6454 return 0x87e1b0210af0ll + 0x1000000ll * ((a) & 0x1f);
6455 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_ECSCTL", 1, a, 0, 0, 0, 0, 0);
6456 }
6457
6458 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECSCTL(a) ody_dssx_ddrctl_regb_ddrc_ch0_ecsctl_t
6459 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECSCTL(a) CSR_TYPE_RSL32b
6460 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECSCTL(a) "DSSX_DDRCTL_REGB_DDRC_CH0_ECSCTL"
6461 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECSCTL(a) 0x0 /* PF_BAR0 */
6462 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECSCTL(a) (a)
6463 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ECSCTL(a) (a), -1, -1, -1
6464
6465 /**
6466 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_hwlpctl
6467 *
6468 * DSS Ddrctl Regb Ddrc Ch0 Hwlpctl Register
6469 * Hardware Low Power Control Register
6470 */
6471 union ody_dssx_ddrctl_regb_ddrc_ch0_hwlpctl {
6472 uint32_t u;
6473 struct ody_dssx_ddrctl_regb_ddrc_ch0_hwlpctl_s {
6474 uint32_t hw_lp_en : 1;
6475 uint32_t hw_lp_exit_idle_en : 1;
6476 uint32_t hw_lp_ctrl : 1;
6477 uint32_t reserved_3_31 : 29;
6478 } s;
6479 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_hwlpctl_s cn; */
6480 };
6481 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_hwlpctl ody_dssx_ddrctl_regb_ddrc_ch0_hwlpctl_t;
6482
6483 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_HWLPCTL(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_HWLPCTL(uint64_t a)6484 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_HWLPCTL(uint64_t a)
6485 {
6486 if (a <= 19)
6487 return 0x87e1b0210184ll + 0x1000000ll * ((a) & 0x1f);
6488 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_HWLPCTL", 1, a, 0, 0, 0, 0, 0);
6489 }
6490
6491 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_HWLPCTL(a) ody_dssx_ddrctl_regb_ddrc_ch0_hwlpctl_t
6492 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_HWLPCTL(a) CSR_TYPE_RSL32b
6493 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_HWLPCTL(a) "DSSX_DDRCTL_REGB_DDRC_CH0_HWLPCTL"
6494 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_HWLPCTL(a) 0x0 /* PF_BAR0 */
6495 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_HWLPCTL(a) (a)
6496 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_HWLPCTL(a) (a), -1, -1, -1
6497
6498 /**
6499 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_hwlpctl2
6500 *
6501 * DSS Ddrctl Regb Ddrc Ch0 Hwlpctl2 Register
6502 * Hardware Low Power Control Register 2
6503 */
6504 union ody_dssx_ddrctl_regb_ddrc_ch0_hwlpctl2 {
6505 uint32_t u;
6506 struct ody_dssx_ddrctl_regb_ddrc_ch0_hwlpctl2_s {
6507 uint32_t cactive_in_mask : 2;
6508 uint32_t reserved_2_31 : 30;
6509 } s;
6510 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_hwlpctl2_s cn; */
6511 };
6512 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_hwlpctl2 ody_dssx_ddrctl_regb_ddrc_ch0_hwlpctl2_t;
6513
6514 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_HWLPCTL2(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_HWLPCTL2(uint64_t a)6515 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_HWLPCTL2(uint64_t a)
6516 {
6517 if (a <= 19)
6518 return 0x87e1b0210188ll + 0x1000000ll * ((a) & 0x1f);
6519 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_HWLPCTL2", 1, a, 0, 0, 0, 0, 0);
6520 }
6521
6522 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_HWLPCTL2(a) ody_dssx_ddrctl_regb_ddrc_ch0_hwlpctl2_t
6523 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_HWLPCTL2(a) CSR_TYPE_RSL32b
6524 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_HWLPCTL2(a) "DSSX_DDRCTL_REGB_DDRC_CH0_HWLPCTL2"
6525 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_HWLPCTL2(a) 0x0 /* PF_BAR0 */
6526 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_HWLPCTL2(a) (a)
6527 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_HWLPCTL2(a) (a), -1, -1, -1
6528
6529 /**
6530 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_inittmg0
6531 *
6532 * DSS Ddrctl Regb Ddrc Ch0 Inittmg0 Register
6533 * SDRAM Initialization Timing Register 0
6534 */
6535 union ody_dssx_ddrctl_regb_ddrc_ch0_inittmg0 {
6536 uint32_t u;
6537 struct ody_dssx_ddrctl_regb_ddrc_ch0_inittmg0_s {
6538 uint32_t reserved_0_29 : 30;
6539 uint32_t skip_dram_init : 2;
6540 } s;
6541 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_inittmg0_s cn; */
6542 };
6543 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_inittmg0 ody_dssx_ddrctl_regb_ddrc_ch0_inittmg0_t;
6544
6545 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_INITTMG0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_INITTMG0(uint64_t a)6546 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_INITTMG0(uint64_t a)
6547 {
6548 if (a <= 19)
6549 return 0x87e1b0210d00ll + 0x1000000ll * ((a) & 0x1f);
6550 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_INITTMG0", 1, a, 0, 0, 0, 0, 0);
6551 }
6552
6553 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_INITTMG0(a) ody_dssx_ddrctl_regb_ddrc_ch0_inittmg0_t
6554 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_INITTMG0(a) CSR_TYPE_RSL32b
6555 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_INITTMG0(a) "DSSX_DDRCTL_REGB_DDRC_CH0_INITTMG0"
6556 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_INITTMG0(a) 0x0 /* PF_BAR0 */
6557 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_INITTMG0(a) (a)
6558 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_INITTMG0(a) (a), -1, -1, -1
6559
6560 /**
6561 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_lc_dbg_stat0
6562 *
6563 * DSS Ddrctl Regb Ddrc Ch0 Lc Dbg Stat0 Register
6564 * PASLC DEBUG STAT0 Register
6565 */
6566 union ody_dssx_ddrctl_regb_ddrc_ch0_lc_dbg_stat0 {
6567 uint32_t u;
6568 struct ody_dssx_ddrctl_regb_ddrc_ch0_lc_dbg_stat0_s {
6569 uint32_t dbg_rank_ctrl_mc_addr_0 : 8;
6570 uint32_t reserved_8_15 : 8;
6571 uint32_t dbg_rank_ctrl_mc_code_0 : 16;
6572 } s;
6573 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_lc_dbg_stat0_s cn; */
6574 };
6575 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_lc_dbg_stat0 ody_dssx_ddrctl_regb_ddrc_ch0_lc_dbg_stat0_t;
6576
6577 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_LC_DBG_STAT0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_LC_DBG_STAT0(uint64_t a)6578 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_LC_DBG_STAT0(uint64_t a)
6579 {
6580 if (a <= 19)
6581 return 0x87e1b0210d9cll + 0x1000000ll * ((a) & 0x1f);
6582 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_LC_DBG_STAT0", 1, a, 0, 0, 0, 0, 0);
6583 }
6584
6585 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_LC_DBG_STAT0(a) ody_dssx_ddrctl_regb_ddrc_ch0_lc_dbg_stat0_t
6586 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_LC_DBG_STAT0(a) CSR_TYPE_RSL32b
6587 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_LC_DBG_STAT0(a) "DSSX_DDRCTL_REGB_DDRC_CH0_LC_DBG_STAT0"
6588 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_LC_DBG_STAT0(a) 0x0 /* PF_BAR0 */
6589 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_LC_DBG_STAT0(a) (a)
6590 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_LC_DBG_STAT0(a) (a), -1, -1, -1
6591
6592 /**
6593 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_lc_dbg_stat1
6594 *
6595 * DSS Ddrctl Regb Ddrc Ch0 Lc Dbg Stat1 Register
6596 * PASLC DEBUG STAT1 Register
6597 */
6598 union ody_dssx_ddrctl_regb_ddrc_ch0_lc_dbg_stat1 {
6599 uint32_t u;
6600 struct ody_dssx_ddrctl_regb_ddrc_ch0_lc_dbg_stat1_s {
6601 uint32_t dbg_rank_ctrl_mc_addr_1 : 8;
6602 uint32_t reserved_8_15 : 8;
6603 uint32_t dbg_rank_ctrl_mc_code_1 : 16;
6604 } s;
6605 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_lc_dbg_stat1_s cn; */
6606 };
6607 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_lc_dbg_stat1 ody_dssx_ddrctl_regb_ddrc_ch0_lc_dbg_stat1_t;
6608
6609 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_LC_DBG_STAT1(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_LC_DBG_STAT1(uint64_t a)6610 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_LC_DBG_STAT1(uint64_t a)
6611 {
6612 if (a <= 19)
6613 return 0x87e1b0210da0ll + 0x1000000ll * ((a) & 0x1f);
6614 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_LC_DBG_STAT1", 1, a, 0, 0, 0, 0, 0);
6615 }
6616
6617 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_LC_DBG_STAT1(a) ody_dssx_ddrctl_regb_ddrc_ch0_lc_dbg_stat1_t
6618 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_LC_DBG_STAT1(a) CSR_TYPE_RSL32b
6619 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_LC_DBG_STAT1(a) "DSSX_DDRCTL_REGB_DDRC_CH0_LC_DBG_STAT1"
6620 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_LC_DBG_STAT1(a) 0x0 /* PF_BAR0 */
6621 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_LC_DBG_STAT1(a) (a)
6622 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_LC_DBG_STAT1(a) (a), -1, -1, -1
6623
6624 /**
6625 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_lc_dbg_stat4
6626 *
6627 * DSS Ddrctl Regb Ddrc Ch0 Lc Dbg Stat4 Register
6628 * PASLC DEBUG STAT4 Register
6629 */
6630 union ody_dssx_ddrctl_regb_ddrc_ch0_lc_dbg_stat4 {
6631 uint32_t u;
6632 struct ody_dssx_ddrctl_regb_ddrc_ch0_lc_dbg_stat4_s {
6633 uint32_t dbg_sceu_ctrl_state_sceu_0 : 3;
6634 uint32_t reserved_3 : 1;
6635 uint32_t dbg_mceu_ctrl_state_mceu_0 : 3;
6636 uint32_t reserved_7 : 1;
6637 uint32_t dbg_rank_ctrl_state_rsm_0 : 4;
6638 uint32_t reserved_12_15 : 4;
6639 uint32_t dbg_sceu_ctrl_state_sceu_1 : 3;
6640 uint32_t reserved_19 : 1;
6641 uint32_t dbg_mceu_ctrl_state_mceu_1 : 3;
6642 uint32_t reserved_23 : 1;
6643 uint32_t dbg_rank_ctrl_state_rsm_1 : 4;
6644 uint32_t reserved_28_31 : 4;
6645 } s;
6646 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_lc_dbg_stat4_s cn; */
6647 };
6648 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_lc_dbg_stat4 ody_dssx_ddrctl_regb_ddrc_ch0_lc_dbg_stat4_t;
6649
6650 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_LC_DBG_STAT4(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_LC_DBG_STAT4(uint64_t a)6651 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_LC_DBG_STAT4(uint64_t a)
6652 {
6653 if (a <= 19)
6654 return 0x87e1b0210dacll + 0x1000000ll * ((a) & 0x1f);
6655 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_LC_DBG_STAT4", 1, a, 0, 0, 0, 0, 0);
6656 }
6657
6658 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_LC_DBG_STAT4(a) ody_dssx_ddrctl_regb_ddrc_ch0_lc_dbg_stat4_t
6659 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_LC_DBG_STAT4(a) CSR_TYPE_RSL32b
6660 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_LC_DBG_STAT4(a) "DSSX_DDRCTL_REGB_DDRC_CH0_LC_DBG_STAT4"
6661 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_LC_DBG_STAT4(a) 0x0 /* PF_BAR0 */
6662 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_LC_DBG_STAT4(a) (a)
6663 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_LC_DBG_STAT4(a) (a), -1, -1, -1
6664
6665 /**
6666 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_lc_dbg_stat6
6667 *
6668 * DSS Ddrctl Regb Ddrc Ch0 Lc Dbg Stat6 Register
6669 * PASLC DEBUG STAT6 Register
6670 */
6671 union ody_dssx_ddrctl_regb_ddrc_ch0_lc_dbg_stat6 {
6672 uint32_t u;
6673 struct ody_dssx_ddrctl_regb_ddrc_ch0_lc_dbg_stat6_s {
6674 uint32_t dbg_dfi_lp_state_dsm : 3;
6675 uint32_t reserved_3 : 1;
6676 uint32_t dbg_dfi_lp_data_ack : 1;
6677 uint32_t dbg_dfi_lp_ctrl_ack : 1;
6678 uint32_t reserved_6_7 : 2;
6679 uint32_t dbg_hw_lp_state_hsm : 3;
6680 uint32_t reserved_11_31 : 21;
6681 } s;
6682 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_lc_dbg_stat6_s cn; */
6683 };
6684 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_lc_dbg_stat6 ody_dssx_ddrctl_regb_ddrc_ch0_lc_dbg_stat6_t;
6685
6686 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_LC_DBG_STAT6(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_LC_DBG_STAT6(uint64_t a)6687 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_LC_DBG_STAT6(uint64_t a)
6688 {
6689 if (a <= 19)
6690 return 0x87e1b0210db4ll + 0x1000000ll * ((a) & 0x1f);
6691 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_LC_DBG_STAT6", 1, a, 0, 0, 0, 0, 0);
6692 }
6693
6694 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_LC_DBG_STAT6(a) ody_dssx_ddrctl_regb_ddrc_ch0_lc_dbg_stat6_t
6695 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_LC_DBG_STAT6(a) CSR_TYPE_RSL32b
6696 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_LC_DBG_STAT6(a) "DSSX_DDRCTL_REGB_DDRC_CH0_LC_DBG_STAT6"
6697 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_LC_DBG_STAT6(a) 0x0 /* PF_BAR0 */
6698 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_LC_DBG_STAT6(a) (a)
6699 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_LC_DBG_STAT6(a) (a), -1, -1, -1
6700
6701 /**
6702 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_lp_cmdbuf_ctrl
6703 *
6704 * DSS Ddrctl Regb Ddrc Ch0 Lp Cmdbuf Ctrl Register
6705 * Low Power Control command buffer control register
6706 */
6707 union ody_dssx_ddrctl_regb_ddrc_ch0_lp_cmdbuf_ctrl {
6708 uint32_t u;
6709 struct ody_dssx_ddrctl_regb_ddrc_ch0_lp_cmdbuf_ctrl_s {
6710 uint32_t lp_cmdbuf_wdata : 16;
6711 uint32_t lp_cmdbuf_addr : 8;
6712 uint32_t reserved_24_28 : 5;
6713 uint32_t lp_cmdbuf_op_mode : 1;
6714 uint32_t lp_cmdbuf_rw_type : 1;
6715 uint32_t lp_cmdbuf_rw_start : 1;
6716 } s;
6717 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_lp_cmdbuf_ctrl_s cn; */
6718 };
6719 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_lp_cmdbuf_ctrl ody_dssx_ddrctl_regb_ddrc_ch0_lp_cmdbuf_ctrl_t;
6720
6721 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_LP_CMDBUF_CTRL(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_LP_CMDBUF_CTRL(uint64_t a)6722 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_LP_CMDBUF_CTRL(uint64_t a)
6723 {
6724 if (a <= 19)
6725 return 0x87e1b0210b34ll + 0x1000000ll * ((a) & 0x1f);
6726 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_LP_CMDBUF_CTRL", 1, a, 0, 0, 0, 0, 0);
6727 }
6728
6729 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_LP_CMDBUF_CTRL(a) ody_dssx_ddrctl_regb_ddrc_ch0_lp_cmdbuf_ctrl_t
6730 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_LP_CMDBUF_CTRL(a) CSR_TYPE_RSL32b
6731 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_LP_CMDBUF_CTRL(a) "DSSX_DDRCTL_REGB_DDRC_CH0_LP_CMDBUF_CTRL"
6732 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_LP_CMDBUF_CTRL(a) 0x0 /* PF_BAR0 */
6733 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_LP_CMDBUF_CTRL(a) (a)
6734 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_LP_CMDBUF_CTRL(a) (a), -1, -1, -1
6735
6736 /**
6737 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_lp_cmdbuf_stat
6738 *
6739 * DSS Ddrctl Regb Ddrc Ch0 Lp Cmdbuf Stat Register
6740 * Low Power Control command buffer status register.
6741 */
6742 union ody_dssx_ddrctl_regb_ddrc_ch0_lp_cmdbuf_stat {
6743 uint32_t u;
6744 struct ody_dssx_ddrctl_regb_ddrc_ch0_lp_cmdbuf_stat_s {
6745 uint32_t lp_cmdbuf_rdata : 16;
6746 uint32_t reserved_16_31 : 16;
6747 } s;
6748 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_lp_cmdbuf_stat_s cn; */
6749 };
6750 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_lp_cmdbuf_stat ody_dssx_ddrctl_regb_ddrc_ch0_lp_cmdbuf_stat_t;
6751
6752 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_LP_CMDBUF_STAT(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_LP_CMDBUF_STAT(uint64_t a)6753 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_LP_CMDBUF_STAT(uint64_t a)
6754 {
6755 if (a <= 19)
6756 return 0x87e1b0210b38ll + 0x1000000ll * ((a) & 0x1f);
6757 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_LP_CMDBUF_STAT", 1, a, 0, 0, 0, 0, 0);
6758 }
6759
6760 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_LP_CMDBUF_STAT(a) ody_dssx_ddrctl_regb_ddrc_ch0_lp_cmdbuf_stat_t
6761 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_LP_CMDBUF_STAT(a) CSR_TYPE_RSL32b
6762 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_LP_CMDBUF_STAT(a) "DSSX_DDRCTL_REGB_DDRC_CH0_LP_CMDBUF_STAT"
6763 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_LP_CMDBUF_STAT(a) 0x0 /* PF_BAR0 */
6764 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_LP_CMDBUF_STAT(a) (a)
6765 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_LP_CMDBUF_STAT(a) (a), -1, -1, -1
6766
6767 /**
6768 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_mstr0
6769 *
6770 * DSS Ddrctl Regb Ddrc Ch0 Mstr0 Register
6771 * Master Register0
6772 */
6773 union ody_dssx_ddrctl_regb_ddrc_ch0_mstr0 {
6774 uint32_t u;
6775 struct ody_dssx_ddrctl_regb_ddrc_ch0_mstr0_s {
6776 uint32_t ddr4 : 1;
6777 uint32_t reserved_1 : 1;
6778 uint32_t ddr5 : 1;
6779 uint32_t reserved_3 : 1;
6780 uint32_t bank_config : 2;
6781 uint32_t bg_config : 2;
6782 uint32_t burst_mode : 1;
6783 uint32_t burstchop : 1;
6784 uint32_t en_2t_timing_mode : 1;
6785 uint32_t reserved_11 : 1;
6786 uint32_t data_bus_width : 2;
6787 uint32_t reserved_14_15 : 2;
6788 uint32_t burst_rdwr : 5;
6789 uint32_t reserved_21_23 : 3;
6790 uint32_t active_ranks : 2;
6791 uint32_t reserved_26_29 : 4;
6792 uint32_t device_config : 2;
6793 } s;
6794 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_mstr0_s cn; */
6795 };
6796 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_mstr0 ody_dssx_ddrctl_regb_ddrc_ch0_mstr0_t;
6797
6798 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_MSTR0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_MSTR0(uint64_t a)6799 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_MSTR0(uint64_t a)
6800 {
6801 if (a <= 19)
6802 return 0x87e1b0210000ll + 0x1000000ll * ((a) & 0x1f);
6803 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_MSTR0", 1, a, 0, 0, 0, 0, 0);
6804 }
6805
6806 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_MSTR0(a) ody_dssx_ddrctl_regb_ddrc_ch0_mstr0_t
6807 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_MSTR0(a) CSR_TYPE_RSL32b
6808 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_MSTR0(a) "DSSX_DDRCTL_REGB_DDRC_CH0_MSTR0"
6809 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_MSTR0(a) 0x0 /* PF_BAR0 */
6810 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_MSTR0(a) (a)
6811 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_MSTR0(a) (a), -1, -1, -1
6812
6813 /**
6814 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_odtmap
6815 *
6816 * DSS Ddrctl Regb Ddrc Ch0 Odtmap Register
6817 * ODT/Rank Map Register
6818 */
6819 union ody_dssx_ddrctl_regb_ddrc_ch0_odtmap {
6820 uint32_t u;
6821 struct ody_dssx_ddrctl_regb_ddrc_ch0_odtmap_s {
6822 uint32_t rank0_wr_odt : 2;
6823 uint32_t reserved_2_3 : 2;
6824 uint32_t rank0_rd_odt : 2;
6825 uint32_t reserved_6_7 : 2;
6826 uint32_t rank1_wr_odt : 2;
6827 uint32_t reserved_10_11 : 2;
6828 uint32_t rank1_rd_odt : 2;
6829 uint32_t reserved_14_31 : 18;
6830 } s;
6831 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_odtmap_s cn; */
6832 };
6833 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_odtmap ody_dssx_ddrctl_regb_ddrc_ch0_odtmap_t;
6834
6835 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ODTMAP(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ODTMAP(uint64_t a)6836 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ODTMAP(uint64_t a)
6837 {
6838 if (a <= 19)
6839 return 0x87e1b0210c9cll + 0x1000000ll * ((a) & 0x1f);
6840 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_ODTMAP", 1, a, 0, 0, 0, 0, 0);
6841 }
6842
6843 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ODTMAP(a) ody_dssx_ddrctl_regb_ddrc_ch0_odtmap_t
6844 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ODTMAP(a) CSR_TYPE_RSL32b
6845 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ODTMAP(a) "DSSX_DDRCTL_REGB_DDRC_CH0_ODTMAP"
6846 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ODTMAP(a) 0x0 /* PF_BAR0 */
6847 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ODTMAP(a) (a)
6848 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ODTMAP(a) (a), -1, -1, -1
6849
6850 /**
6851 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_opctrl0
6852 *
6853 * DSS Ddrctl Regb Ddrc Ch0 Opctrl0 Register
6854 * Operation Control Register 0
6855 */
6856 union ody_dssx_ddrctl_regb_ddrc_ch0_opctrl0 {
6857 uint32_t u;
6858 struct ody_dssx_ddrctl_regb_ddrc_ch0_opctrl0_s {
6859 uint32_t dis_wc : 1;
6860 uint32_t reserved_1_31 : 31;
6861 } s;
6862 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_opctrl0_s cn; */
6863 };
6864 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_opctrl0 ody_dssx_ddrctl_regb_ddrc_ch0_opctrl0_t;
6865
6866 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_OPCTRL0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_OPCTRL0(uint64_t a)6867 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_OPCTRL0(uint64_t a)
6868 {
6869 if (a <= 19)
6870 return 0x87e1b0210b80ll + 0x1000000ll * ((a) & 0x1f);
6871 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_OPCTRL0", 1, a, 0, 0, 0, 0, 0);
6872 }
6873
6874 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_OPCTRL0(a) ody_dssx_ddrctl_regb_ddrc_ch0_opctrl0_t
6875 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_OPCTRL0(a) CSR_TYPE_RSL32b
6876 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_OPCTRL0(a) "DSSX_DDRCTL_REGB_DDRC_CH0_OPCTRL0"
6877 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_OPCTRL0(a) 0x0 /* PF_BAR0 */
6878 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_OPCTRL0(a) (a)
6879 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_OPCTRL0(a) (a), -1, -1, -1
6880
6881 /**
6882 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_opctrl1
6883 *
6884 * DSS Ddrctl Regb Ddrc Ch0 Opctrl1 Register
6885 * Operation Control Register 1
6886 */
6887 union ody_dssx_ddrctl_regb_ddrc_ch0_opctrl1 {
6888 uint32_t u;
6889 struct ody_dssx_ddrctl_regb_ddrc_ch0_opctrl1_s {
6890 uint32_t reserved_0 : 1;
6891 uint32_t dis_hif : 1;
6892 uint32_t reserved_2_31 : 30;
6893 } s;
6894 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_opctrl1_s cn; */
6895 };
6896 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_opctrl1 ody_dssx_ddrctl_regb_ddrc_ch0_opctrl1_t;
6897
6898 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_OPCTRL1(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_OPCTRL1(uint64_t a)6899 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_OPCTRL1(uint64_t a)
6900 {
6901 if (a <= 19)
6902 return 0x87e1b0210b84ll + 0x1000000ll * ((a) & 0x1f);
6903 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_OPCTRL1", 1, a, 0, 0, 0, 0, 0);
6904 }
6905
6906 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_OPCTRL1(a) ody_dssx_ddrctl_regb_ddrc_ch0_opctrl1_t
6907 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_OPCTRL1(a) CSR_TYPE_RSL32b
6908 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_OPCTRL1(a) "DSSX_DDRCTL_REGB_DDRC_CH0_OPCTRL1"
6909 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_OPCTRL1(a) 0x0 /* PF_BAR0 */
6910 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_OPCTRL1(a) (a)
6911 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_OPCTRL1(a) (a), -1, -1, -1
6912
6913 /**
6914 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_opctrlcam
6915 *
6916 * DSS Ddrctl Regb Ddrc Ch0 Opctrlcam Register
6917 * CAM Operation Control Register
6918 */
6919 union ody_dssx_ddrctl_regb_ddrc_ch0_opctrlcam {
6920 uint32_t u;
6921 struct ody_dssx_ddrctl_regb_ddrc_ch0_opctrlcam_s {
6922 uint32_t dbg_hpr_q_depth : 7;
6923 uint32_t reserved_7 : 1;
6924 uint32_t dbg_lpr_q_depth : 7;
6925 uint32_t reserved_15 : 1;
6926 uint32_t dbg_w_q_depth : 7;
6927 uint32_t reserved_23 : 1;
6928 uint32_t dbg_stall : 1;
6929 uint32_t dbg_rd_q_empty : 1;
6930 uint32_t dbg_wr_q_empty : 1;
6931 uint32_t reserved_27 : 1;
6932 uint32_t rd_data_pipeline_empty : 1;
6933 uint32_t wr_data_pipeline_empty : 1;
6934 uint32_t reserved_30_31 : 2;
6935 } s;
6936 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_opctrlcam_s cn; */
6937 };
6938 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_opctrlcam ody_dssx_ddrctl_regb_ddrc_ch0_opctrlcam_t;
6939
6940 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_OPCTRLCAM(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_OPCTRLCAM(uint64_t a)6941 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_OPCTRLCAM(uint64_t a)
6942 {
6943 if (a <= 19)
6944 return 0x87e1b0210b88ll + 0x1000000ll * ((a) & 0x1f);
6945 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_OPCTRLCAM", 1, a, 0, 0, 0, 0, 0);
6946 }
6947
6948 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_OPCTRLCAM(a) ody_dssx_ddrctl_regb_ddrc_ch0_opctrlcam_t
6949 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_OPCTRLCAM(a) CSR_TYPE_RSL32b
6950 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_OPCTRLCAM(a) "DSSX_DDRCTL_REGB_DDRC_CH0_OPCTRLCAM"
6951 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_OPCTRLCAM(a) 0x0 /* PF_BAR0 */
6952 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_OPCTRLCAM(a) (a)
6953 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_OPCTRLCAM(a) (a), -1, -1, -1
6954
6955 /**
6956 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_oprefctrl0
6957 *
6958 * DSS Ddrctl Regb Ddrc Ch0 Oprefctrl0 Register
6959 * Refresh Operation Control Register 0
6960 */
6961 union ody_dssx_ddrctl_regb_ddrc_ch0_oprefctrl0 {
6962 uint32_t u;
6963 struct ody_dssx_ddrctl_regb_ddrc_ch0_oprefctrl0_s {
6964 uint32_t rank0_refresh : 1;
6965 uint32_t rank1_refresh : 1;
6966 uint32_t reserved_2_31 : 30;
6967 } s;
6968 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_oprefctrl0_s cn; */
6969 };
6970 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_oprefctrl0 ody_dssx_ddrctl_regb_ddrc_ch0_oprefctrl0_t;
6971
6972 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_OPREFCTRL0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_OPREFCTRL0(uint64_t a)6973 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_OPREFCTRL0(uint64_t a)
6974 {
6975 if (a <= 19)
6976 return 0x87e1b0210b98ll + 0x1000000ll * ((a) & 0x1f);
6977 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_OPREFCTRL0", 1, a, 0, 0, 0, 0, 0);
6978 }
6979
6980 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_OPREFCTRL0(a) ody_dssx_ddrctl_regb_ddrc_ch0_oprefctrl0_t
6981 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_OPREFCTRL0(a) CSR_TYPE_RSL32b
6982 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_OPREFCTRL0(a) "DSSX_DDRCTL_REGB_DDRC_CH0_OPREFCTRL0"
6983 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_OPREFCTRL0(a) 0x0 /* PF_BAR0 */
6984 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_OPREFCTRL0(a) (a)
6985 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_OPREFCTRL0(a) (a), -1, -1, -1
6986
6987 /**
6988 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_oprefstat0
6989 *
6990 * DSS Ddrctl Regb Ddrc Ch0 Oprefstat0 Register
6991 * Refresh Operation Status Register 0
6992 */
6993 union ody_dssx_ddrctl_regb_ddrc_ch0_oprefstat0 {
6994 uint32_t u;
6995 struct ody_dssx_ddrctl_regb_ddrc_ch0_oprefstat0_s {
6996 uint32_t rank0_refresh_busy : 1;
6997 uint32_t rank1_refresh_busy : 1;
6998 uint32_t reserved_2_31 : 30;
6999 } s;
7000 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_oprefstat0_s cn; */
7001 };
7002 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_oprefstat0 ody_dssx_ddrctl_regb_ddrc_ch0_oprefstat0_t;
7003
7004 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_OPREFSTAT0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_OPREFSTAT0(uint64_t a)7005 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_OPREFSTAT0(uint64_t a)
7006 {
7007 if (a <= 19)
7008 return 0x87e1b0210ba0ll + 0x1000000ll * ((a) & 0x1f);
7009 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_OPREFSTAT0", 1, a, 0, 0, 0, 0, 0);
7010 }
7011
7012 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_OPREFSTAT0(a) ody_dssx_ddrctl_regb_ddrc_ch0_oprefstat0_t
7013 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_OPREFSTAT0(a) CSR_TYPE_RSL32b
7014 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_OPREFSTAT0(a) "DSSX_DDRCTL_REGB_DDRC_CH0_OPREFSTAT0"
7015 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_OPREFSTAT0(a) 0x0 /* PF_BAR0 */
7016 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_OPREFSTAT0(a) (a)
7017 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_OPREFSTAT0(a) (a), -1, -1, -1
7018
7019 /**
7020 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_pasctl0
7021 *
7022 * DSS Ddrctl Regb Ddrc Ch0 Pasctl0 Register
7023 * Phase Aware Schedule Control Register 0
7024 */
7025 union ody_dssx_ddrctl_regb_ddrc_ch0_pasctl0 {
7026 uint32_t u;
7027 struct ody_dssx_ddrctl_regb_ddrc_ch0_pasctl0_s {
7028 uint32_t init_done : 1;
7029 uint32_t dbg_st_en : 1;
7030 uint32_t bist_st_en : 1;
7031 uint32_t reserved_3_31 : 29;
7032 } s;
7033 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_pasctl0_s cn; */
7034 };
7035 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_pasctl0 ody_dssx_ddrctl_regb_ddrc_ch0_pasctl0_t;
7036
7037 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL0(uint64_t a)7038 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL0(uint64_t a)
7039 {
7040 if (a <= 19)
7041 return 0x87e1b0210a00ll + 0x1000000ll * ((a) & 0x1f);
7042 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL0", 1, a, 0, 0, 0, 0, 0);
7043 }
7044
7045 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL0(a) ody_dssx_ddrctl_regb_ddrc_ch0_pasctl0_t
7046 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL0(a) CSR_TYPE_RSL32b
7047 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL0(a) "DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL0"
7048 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL0(a) 0x0 /* PF_BAR0 */
7049 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL0(a) (a)
7050 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL0(a) (a), -1, -1, -1
7051
7052 /**
7053 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_pasctl1
7054 *
7055 * DSS Ddrctl Regb Ddrc Ch0 Pasctl1 Register
7056 * Phase Aware Schedule Control Register 1
7057 */
7058 union ody_dssx_ddrctl_regb_ddrc_ch0_pasctl1 {
7059 uint32_t u;
7060 struct ody_dssx_ddrctl_regb_ddrc_ch0_pasctl1_s {
7061 uint32_t pre_sb_enable : 1;
7062 uint32_t pre_ab_enable : 1;
7063 uint32_t pre_slot_config : 2;
7064 uint32_t reserved_4_11 : 8;
7065 uint32_t rank_switch_gap_unit_sel : 1;
7066 uint32_t mrr_des_timing_unit_sel : 2;
7067 uint32_t reserved_15_17 : 3;
7068 uint32_t selfref_wo_ref_pending : 1;
7069 uint32_t dfi_alert_assertion_mode : 1;
7070 uint32_t speculative_ref_pri_sel : 1;
7071 uint32_t dyn_pre_pri_dis : 1;
7072 uint32_t fixed_pre_pri_sel : 1;
7073 uint32_t reserved_23 : 1;
7074 uint32_t act2rda_cnt_mask : 1;
7075 uint32_t reserved_25_31 : 7;
7076 } s;
7077 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_pasctl1_s cn; */
7078 };
7079 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_pasctl1 ody_dssx_ddrctl_regb_ddrc_ch0_pasctl1_t;
7080
7081 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL1(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL1(uint64_t a)7082 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL1(uint64_t a)
7083 {
7084 if (a <= 19)
7085 return 0x87e1b0210a04ll + 0x1000000ll * ((a) & 0x1f);
7086 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL1", 1, a, 0, 0, 0, 0, 0);
7087 }
7088
7089 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL1(a) ody_dssx_ddrctl_regb_ddrc_ch0_pasctl1_t
7090 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL1(a) CSR_TYPE_RSL32b
7091 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL1(a) "DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL1"
7092 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL1(a) 0x0 /* PF_BAR0 */
7093 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL1(a) (a)
7094 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL1(a) (a), -1, -1, -1
7095
7096 /**
7097 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_pasctl10
7098 *
7099 * DSS Ddrctl Regb Ddrc Ch0 Pasctl10 Register
7100 * Phase Aware Schedule Control Register 10
7101 */
7102 union ody_dssx_ddrctl_regb_ddrc_ch0_pasctl10 {
7103 uint32_t u;
7104 struct ody_dssx_ddrctl_regb_ddrc_ch0_pasctl10_s {
7105 uint32_t rank_blk0_trig : 1;
7106 uint32_t rank_blk1_trig : 1;
7107 uint32_t rank_blk2_trig : 1;
7108 uint32_t rank_blk3_trig : 1;
7109 uint32_t rank_blk4_trig : 1;
7110 uint32_t rank_blk5_trig : 1;
7111 uint32_t rank_blk6_trig : 1;
7112 uint32_t rank_blk7_trig : 1;
7113 uint32_t rank_blk8_trig : 1;
7114 uint32_t rank_blk9_trig : 1;
7115 uint32_t rank_blk10_trig : 1;
7116 uint32_t rank_blk11_trig : 1;
7117 uint32_t rank_blk12_trig : 1;
7118 uint32_t rank_blk13_trig : 1;
7119 uint32_t rank_blk14_trig : 1;
7120 uint32_t rank_blk15_trig : 1;
7121 uint32_t reserved_16_31 : 16;
7122 } s;
7123 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_pasctl10_s cn; */
7124 };
7125 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_pasctl10 ody_dssx_ddrctl_regb_ddrc_ch0_pasctl10_t;
7126
7127 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL10(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL10(uint64_t a)7128 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL10(uint64_t a)
7129 {
7130 if (a <= 19)
7131 return 0x87e1b0210a28ll + 0x1000000ll * ((a) & 0x1f);
7132 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL10", 1, a, 0, 0, 0, 0, 0);
7133 }
7134
7135 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL10(a) ody_dssx_ddrctl_regb_ddrc_ch0_pasctl10_t
7136 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL10(a) CSR_TYPE_RSL32b
7137 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL10(a) "DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL10"
7138 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL10(a) 0x0 /* PF_BAR0 */
7139 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL10(a) (a)
7140 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL10(a) (a), -1, -1, -1
7141
7142 /**
7143 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_pasctl11
7144 *
7145 * DSS Ddrctl Regb Ddrc Ch0 Pasctl11 Register
7146 * Phase Aware Schedule Control Register 11
7147 */
7148 union ody_dssx_ddrctl_regb_ddrc_ch0_pasctl11 {
7149 uint32_t u;
7150 struct ody_dssx_ddrctl_regb_ddrc_ch0_pasctl11_s {
7151 uint32_t powerdown_entry_ba_0 : 8;
7152 uint32_t reserved_8_15 : 8;
7153 uint32_t powerdown_entry_size_0 : 8;
7154 uint32_t reserved_24_31 : 8;
7155 } s;
7156 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_pasctl11_s cn; */
7157 };
7158 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_pasctl11 ody_dssx_ddrctl_regb_ddrc_ch0_pasctl11_t;
7159
7160 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL11(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL11(uint64_t a)7161 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL11(uint64_t a)
7162 {
7163 if (a <= 19)
7164 return 0x87e1b0210a2cll + 0x1000000ll * ((a) & 0x1f);
7165 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL11", 1, a, 0, 0, 0, 0, 0);
7166 }
7167
7168 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL11(a) ody_dssx_ddrctl_regb_ddrc_ch0_pasctl11_t
7169 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL11(a) CSR_TYPE_RSL32b
7170 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL11(a) "DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL11"
7171 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL11(a) 0x0 /* PF_BAR0 */
7172 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL11(a) (a)
7173 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL11(a) (a), -1, -1, -1
7174
7175 /**
7176 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_pasctl12
7177 *
7178 * DSS Ddrctl Regb Ddrc Ch0 Pasctl12 Register
7179 * Phase Aware Schedule Control Register 12
7180 */
7181 union ody_dssx_ddrctl_regb_ddrc_ch0_pasctl12 {
7182 uint32_t u;
7183 struct ody_dssx_ddrctl_regb_ddrc_ch0_pasctl12_s {
7184 uint32_t powerdown_exit_ba_0 : 8;
7185 uint32_t reserved_8_15 : 8;
7186 uint32_t powerdown_exit_size_0 : 8;
7187 uint32_t reserved_24_31 : 8;
7188 } s;
7189 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_pasctl12_s cn; */
7190 };
7191 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_pasctl12 ody_dssx_ddrctl_regb_ddrc_ch0_pasctl12_t;
7192
7193 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL12(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL12(uint64_t a)7194 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL12(uint64_t a)
7195 {
7196 if (a <= 19)
7197 return 0x87e1b0210a30ll + 0x1000000ll * ((a) & 0x1f);
7198 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL12", 1, a, 0, 0, 0, 0, 0);
7199 }
7200
7201 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL12(a) ody_dssx_ddrctl_regb_ddrc_ch0_pasctl12_t
7202 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL12(a) CSR_TYPE_RSL32b
7203 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL12(a) "DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL12"
7204 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL12(a) 0x0 /* PF_BAR0 */
7205 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL12(a) (a)
7206 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL12(a) (a), -1, -1, -1
7207
7208 /**
7209 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_pasctl13
7210 *
7211 * DSS Ddrctl Regb Ddrc Ch0 Pasctl13 Register
7212 * Phase Aware Schedule Control Register 13
7213 */
7214 union ody_dssx_ddrctl_regb_ddrc_ch0_pasctl13 {
7215 uint32_t u;
7216 struct ody_dssx_ddrctl_regb_ddrc_ch0_pasctl13_s {
7217 uint32_t powerdown_entry_ba_1 : 8;
7218 uint32_t reserved_8_15 : 8;
7219 uint32_t powerdown_entry_size_1 : 8;
7220 uint32_t reserved_24_31 : 8;
7221 } s;
7222 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_pasctl13_s cn; */
7223 };
7224 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_pasctl13 ody_dssx_ddrctl_regb_ddrc_ch0_pasctl13_t;
7225
7226 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL13(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL13(uint64_t a)7227 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL13(uint64_t a)
7228 {
7229 if (a <= 19)
7230 return 0x87e1b0210a34ll + 0x1000000ll * ((a) & 0x1f);
7231 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL13", 1, a, 0, 0, 0, 0, 0);
7232 }
7233
7234 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL13(a) ody_dssx_ddrctl_regb_ddrc_ch0_pasctl13_t
7235 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL13(a) CSR_TYPE_RSL32b
7236 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL13(a) "DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL13"
7237 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL13(a) 0x0 /* PF_BAR0 */
7238 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL13(a) (a)
7239 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL13(a) (a), -1, -1, -1
7240
7241 /**
7242 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_pasctl14
7243 *
7244 * DSS Ddrctl Regb Ddrc Ch0 Pasctl14 Register
7245 * Phase Aware Schedule Control Register 14
7246 */
7247 union ody_dssx_ddrctl_regb_ddrc_ch0_pasctl14 {
7248 uint32_t u;
7249 struct ody_dssx_ddrctl_regb_ddrc_ch0_pasctl14_s {
7250 uint32_t powerdown_exit_ba_1 : 8;
7251 uint32_t reserved_8_15 : 8;
7252 uint32_t powerdown_exit_size_1 : 8;
7253 uint32_t reserved_24_31 : 8;
7254 } s;
7255 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_pasctl14_s cn; */
7256 };
7257 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_pasctl14 ody_dssx_ddrctl_regb_ddrc_ch0_pasctl14_t;
7258
7259 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL14(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL14(uint64_t a)7260 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL14(uint64_t a)
7261 {
7262 if (a <= 19)
7263 return 0x87e1b0210a38ll + 0x1000000ll * ((a) & 0x1f);
7264 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL14", 1, a, 0, 0, 0, 0, 0);
7265 }
7266
7267 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL14(a) ody_dssx_ddrctl_regb_ddrc_ch0_pasctl14_t
7268 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL14(a) CSR_TYPE_RSL32b
7269 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL14(a) "DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL14"
7270 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL14(a) 0x0 /* PF_BAR0 */
7271 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL14(a) (a)
7272 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL14(a) (a), -1, -1, -1
7273
7274 /**
7275 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_pasctl19
7276 *
7277 * DSS Ddrctl Regb Ddrc Ch0 Pasctl19 Register
7278 * Phase Aware Schedule Control Register 19
7279 */
7280 union ody_dssx_ddrctl_regb_ddrc_ch0_pasctl19 {
7281 uint32_t u;
7282 struct ody_dssx_ddrctl_regb_ddrc_ch0_pasctl19_s {
7283 uint32_t prank0_mode : 8;
7284 uint32_t prank1_mode : 8;
7285 uint32_t reserved_16_31 : 16;
7286 } s;
7287 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_pasctl19_s cn; */
7288 };
7289 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_pasctl19 ody_dssx_ddrctl_regb_ddrc_ch0_pasctl19_t;
7290
7291 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL19(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL19(uint64_t a)7292 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL19(uint64_t a)
7293 {
7294 if (a <= 19)
7295 return 0x87e1b0210a4cll + 0x1000000ll * ((a) & 0x1f);
7296 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL19", 1, a, 0, 0, 0, 0, 0);
7297 }
7298
7299 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL19(a) ody_dssx_ddrctl_regb_ddrc_ch0_pasctl19_t
7300 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL19(a) CSR_TYPE_RSL32b
7301 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL19(a) "DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL19"
7302 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL19(a) 0x0 /* PF_BAR0 */
7303 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL19(a) (a)
7304 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL19(a) (a), -1, -1, -1
7305
7306 /**
7307 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_pasctl2
7308 *
7309 * DSS Ddrctl Regb Ddrc Ch0 Pasctl2 Register
7310 * Phase Aware Schedule Control Register 2
7311 */
7312 union ody_dssx_ddrctl_regb_ddrc_ch0_pasctl2 {
7313 uint32_t u;
7314 struct ody_dssx_ddrctl_regb_ddrc_ch0_pasctl2_s {
7315 uint32_t dyn_pre_pri_hi_win_size : 8;
7316 uint32_t dyn_pre_pri_lo_wait_thr : 8;
7317 uint32_t lrank_rd2rd_gap : 3;
7318 uint32_t lrank_wr2wr_gap : 3;
7319 uint32_t reserved_22_23 : 2;
7320 uint32_t refsb_hi_wait_thr : 6;
7321 uint32_t t_ppd_cnt_en : 1;
7322 uint32_t reserved_31 : 1;
7323 } s;
7324 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_pasctl2_s cn; */
7325 };
7326 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_pasctl2 ody_dssx_ddrctl_regb_ddrc_ch0_pasctl2_t;
7327
7328 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL2(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL2(uint64_t a)7329 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL2(uint64_t a)
7330 {
7331 if (a <= 19)
7332 return 0x87e1b0210a08ll + 0x1000000ll * ((a) & 0x1f);
7333 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL2", 1, a, 0, 0, 0, 0, 0);
7334 }
7335
7336 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL2(a) ody_dssx_ddrctl_regb_ddrc_ch0_pasctl2_t
7337 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL2(a) CSR_TYPE_RSL32b
7338 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL2(a) "DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL2"
7339 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL2(a) 0x0 /* PF_BAR0 */
7340 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL2(a) (a)
7341 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL2(a) (a), -1, -1, -1
7342
7343 /**
7344 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_pasctl20
7345 *
7346 * DSS Ddrctl Regb Ddrc Ch0 Pasctl20 Register
7347 * Phase Aware Schedule Control Register 20
7348 */
7349 union ody_dssx_ddrctl_regb_ddrc_ch0_pasctl20 {
7350 uint32_t u;
7351 struct ody_dssx_ddrctl_regb_ddrc_ch0_pasctl20_s {
7352 uint32_t selfref_entry1_ba_0 : 8;
7353 uint32_t reserved_8_15 : 8;
7354 uint32_t selfref_entry1_size_0 : 8;
7355 uint32_t reserved_24_31 : 8;
7356 } s;
7357 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_pasctl20_s cn; */
7358 };
7359 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_pasctl20 ody_dssx_ddrctl_regb_ddrc_ch0_pasctl20_t;
7360
7361 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL20(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL20(uint64_t a)7362 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL20(uint64_t a)
7363 {
7364 if (a <= 19)
7365 return 0x87e1b0210a50ll + 0x1000000ll * ((a) & 0x1f);
7366 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL20", 1, a, 0, 0, 0, 0, 0);
7367 }
7368
7369 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL20(a) ody_dssx_ddrctl_regb_ddrc_ch0_pasctl20_t
7370 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL20(a) CSR_TYPE_RSL32b
7371 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL20(a) "DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL20"
7372 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL20(a) 0x0 /* PF_BAR0 */
7373 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL20(a) (a)
7374 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL20(a) (a), -1, -1, -1
7375
7376 /**
7377 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_pasctl21
7378 *
7379 * DSS Ddrctl Regb Ddrc Ch0 Pasctl21 Register
7380 * Phase Aware Schedule Control Register 21
7381 */
7382 union ody_dssx_ddrctl_regb_ddrc_ch0_pasctl21 {
7383 uint32_t u;
7384 struct ody_dssx_ddrctl_regb_ddrc_ch0_pasctl21_s {
7385 uint32_t selfref_entry2_ba_0 : 8;
7386 uint32_t reserved_8_15 : 8;
7387 uint32_t selfref_entry2_size_0 : 8;
7388 uint32_t reserved_24_31 : 8;
7389 } s;
7390 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_pasctl21_s cn; */
7391 };
7392 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_pasctl21 ody_dssx_ddrctl_regb_ddrc_ch0_pasctl21_t;
7393
7394 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL21(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL21(uint64_t a)7395 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL21(uint64_t a)
7396 {
7397 if (a <= 19)
7398 return 0x87e1b0210a54ll + 0x1000000ll * ((a) & 0x1f);
7399 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL21", 1, a, 0, 0, 0, 0, 0);
7400 }
7401
7402 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL21(a) ody_dssx_ddrctl_regb_ddrc_ch0_pasctl21_t
7403 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL21(a) CSR_TYPE_RSL32b
7404 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL21(a) "DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL21"
7405 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL21(a) 0x0 /* PF_BAR0 */
7406 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL21(a) (a)
7407 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL21(a) (a), -1, -1, -1
7408
7409 /**
7410 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_pasctl22
7411 *
7412 * DSS Ddrctl Regb Ddrc Ch0 Pasctl22 Register
7413 * Phase Aware Schedule Control Register 22
7414 */
7415 union ody_dssx_ddrctl_regb_ddrc_ch0_pasctl22 {
7416 uint32_t u;
7417 struct ody_dssx_ddrctl_regb_ddrc_ch0_pasctl22_s {
7418 uint32_t selfref_exit1_ba_0 : 8;
7419 uint32_t reserved_8_15 : 8;
7420 uint32_t selfref_exit1_size_0 : 8;
7421 uint32_t reserved_24_31 : 8;
7422 } s;
7423 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_pasctl22_s cn; */
7424 };
7425 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_pasctl22 ody_dssx_ddrctl_regb_ddrc_ch0_pasctl22_t;
7426
7427 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL22(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL22(uint64_t a)7428 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL22(uint64_t a)
7429 {
7430 if (a <= 19)
7431 return 0x87e1b0210a58ll + 0x1000000ll * ((a) & 0x1f);
7432 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL22", 1, a, 0, 0, 0, 0, 0);
7433 }
7434
7435 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL22(a) ody_dssx_ddrctl_regb_ddrc_ch0_pasctl22_t
7436 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL22(a) CSR_TYPE_RSL32b
7437 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL22(a) "DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL22"
7438 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL22(a) 0x0 /* PF_BAR0 */
7439 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL22(a) (a)
7440 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL22(a) (a), -1, -1, -1
7441
7442 /**
7443 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_pasctl23
7444 *
7445 * DSS Ddrctl Regb Ddrc Ch0 Pasctl23 Register
7446 * Phase Aware Schedule Control Register 23
7447 */
7448 union ody_dssx_ddrctl_regb_ddrc_ch0_pasctl23 {
7449 uint32_t u;
7450 struct ody_dssx_ddrctl_regb_ddrc_ch0_pasctl23_s {
7451 uint32_t selfref_exit2_ba_0 : 8;
7452 uint32_t reserved_8_15 : 8;
7453 uint32_t selfref_exit2_size_0 : 8;
7454 uint32_t reserved_24_31 : 8;
7455 } s;
7456 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_pasctl23_s cn; */
7457 };
7458 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_pasctl23 ody_dssx_ddrctl_regb_ddrc_ch0_pasctl23_t;
7459
7460 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL23(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL23(uint64_t a)7461 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL23(uint64_t a)
7462 {
7463 if (a <= 19)
7464 return 0x87e1b0210a5cll + 0x1000000ll * ((a) & 0x1f);
7465 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL23", 1, a, 0, 0, 0, 0, 0);
7466 }
7467
7468 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL23(a) ody_dssx_ddrctl_regb_ddrc_ch0_pasctl23_t
7469 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL23(a) CSR_TYPE_RSL32b
7470 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL23(a) "DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL23"
7471 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL23(a) 0x0 /* PF_BAR0 */
7472 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL23(a) (a)
7473 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL23(a) (a), -1, -1, -1
7474
7475 /**
7476 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_pasctl24
7477 *
7478 * DSS Ddrctl Regb Ddrc Ch0 Pasctl24 Register
7479 * Phase Aware Schedule Control Register 24
7480 */
7481 union ody_dssx_ddrctl_regb_ddrc_ch0_pasctl24 {
7482 uint32_t u;
7483 struct ody_dssx_ddrctl_regb_ddrc_ch0_pasctl24_s {
7484 uint32_t rfm_raa_en : 2;
7485 uint32_t reserved_2_3 : 2;
7486 uint32_t rfm_raa_reset : 2;
7487 uint32_t reserved_6_7 : 2;
7488 uint32_t rfm_raa_use_ecs_refab : 1;
7489 uint32_t reserved_9_15 : 7;
7490 uint32_t rfm_alert_thr : 16;
7491 } s;
7492 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_pasctl24_s cn; */
7493 };
7494 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_pasctl24 ody_dssx_ddrctl_regb_ddrc_ch0_pasctl24_t;
7495
7496 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL24(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL24(uint64_t a)7497 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL24(uint64_t a)
7498 {
7499 if (a <= 19)
7500 return 0x87e1b0210a60ll + 0x1000000ll * ((a) & 0x1f);
7501 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL24", 1, a, 0, 0, 0, 0, 0);
7502 }
7503
7504 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL24(a) ody_dssx_ddrctl_regb_ddrc_ch0_pasctl24_t
7505 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL24(a) CSR_TYPE_RSL32b
7506 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL24(a) "DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL24"
7507 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL24(a) 0x0 /* PF_BAR0 */
7508 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL24(a) (a)
7509 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL24(a) (a), -1, -1, -1
7510
7511 /**
7512 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_pasctl25
7513 *
7514 * DSS Ddrctl Regb Ddrc Ch0 Pasctl25 Register
7515 * Phase Aware Schedule Control Register 25
7516 */
7517 union ody_dssx_ddrctl_regb_ddrc_ch0_pasctl25 {
7518 uint32_t u;
7519 struct ody_dssx_ddrctl_regb_ddrc_ch0_pasctl25_s {
7520 uint32_t rfm_cmd_log : 32;
7521 } s;
7522 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_pasctl25_s cn; */
7523 };
7524 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_pasctl25 ody_dssx_ddrctl_regb_ddrc_ch0_pasctl25_t;
7525
7526 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL25(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL25(uint64_t a)7527 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL25(uint64_t a)
7528 {
7529 if (a <= 19)
7530 return 0x87e1b0210a64ll + 0x1000000ll * ((a) & 0x1f);
7531 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL25", 1, a, 0, 0, 0, 0, 0);
7532 }
7533
7534 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL25(a) ody_dssx_ddrctl_regb_ddrc_ch0_pasctl25_t
7535 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL25(a) CSR_TYPE_RSL32b
7536 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL25(a) "DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL25"
7537 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL25(a) 0x0 /* PF_BAR0 */
7538 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL25(a) (a)
7539 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL25(a) (a), -1, -1, -1
7540
7541 /**
7542 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_pasctl26
7543 *
7544 * DSS Ddrctl Regb Ddrc Ch0 Pasctl26 Register
7545 * Phase Aware Schedule Control Register 26
7546 */
7547 union ody_dssx_ddrctl_regb_ddrc_ch0_pasctl26 {
7548 uint32_t u;
7549 struct ody_dssx_ddrctl_regb_ddrc_ch0_pasctl26_s {
7550 uint32_t reserved_0_15 : 16;
7551 uint32_t capar_retry_size : 6;
7552 uint32_t reserved_22_31 : 10;
7553 } s;
7554 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_pasctl26_s cn; */
7555 };
7556 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_pasctl26 ody_dssx_ddrctl_regb_ddrc_ch0_pasctl26_t;
7557
7558 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL26(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL26(uint64_t a)7559 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL26(uint64_t a)
7560 {
7561 if (a <= 19)
7562 return 0x87e1b0210a68ll + 0x1000000ll * ((a) & 0x1f);
7563 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL26", 1, a, 0, 0, 0, 0, 0);
7564 }
7565
7566 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL26(a) ody_dssx_ddrctl_regb_ddrc_ch0_pasctl26_t
7567 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL26(a) CSR_TYPE_RSL32b
7568 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL26(a) "DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL26"
7569 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL26(a) 0x0 /* PF_BAR0 */
7570 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL26(a) (a)
7571 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL26(a) (a), -1, -1, -1
7572
7573 /**
7574 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_pasctl3
7575 *
7576 * DSS Ddrctl Regb Ddrc Ch0 Pasctl3 Register
7577 * Phase Aware Schedule Control Register 3
7578 */
7579 union ody_dssx_ddrctl_regb_ddrc_ch0_pasctl3 {
7580 uint32_t u;
7581 struct ody_dssx_ddrctl_regb_ddrc_ch0_pasctl3_s {
7582 uint32_t dimm_t_dcaw : 8;
7583 uint32_t dimm_n_dcac_m1 : 5;
7584 uint32_t reserved_13 : 1;
7585 uint32_t dimm_dcaw_en : 2;
7586 uint32_t reserved_16_31 : 16;
7587 } s;
7588 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_pasctl3_s cn; */
7589 };
7590 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_pasctl3 ody_dssx_ddrctl_regb_ddrc_ch0_pasctl3_t;
7591
7592 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL3(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL3(uint64_t a)7593 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL3(uint64_t a)
7594 {
7595 if (a <= 19)
7596 return 0x87e1b0210a0cll + 0x1000000ll * ((a) & 0x1f);
7597 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL3", 1, a, 0, 0, 0, 0, 0);
7598 }
7599
7600 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL3(a) ody_dssx_ddrctl_regb_ddrc_ch0_pasctl3_t
7601 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL3(a) CSR_TYPE_RSL32b
7602 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL3(a) "DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL3"
7603 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL3(a) 0x0 /* PF_BAR0 */
7604 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL3(a) (a)
7605 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL3(a) (a), -1, -1, -1
7606
7607 /**
7608 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_pasctl36
7609 *
7610 * DSS Ddrctl Regb Ddrc Ch0 Pasctl36 Register
7611 * Phase Aware Schedule Control Register 36
7612 */
7613 union ody_dssx_ddrctl_regb_ddrc_ch0_pasctl36 {
7614 uint32_t u;
7615 struct ody_dssx_ddrctl_regb_ddrc_ch0_pasctl36_s {
7616 uint32_t powerdown_idle_ctrl_0 : 2;
7617 uint32_t powerdown_idle_ctrl_1 : 1;
7618 uint32_t reserved_3_31 : 29;
7619 } s;
7620 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_pasctl36_s cn; */
7621 };
7622 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_pasctl36 ody_dssx_ddrctl_regb_ddrc_ch0_pasctl36_t;
7623
7624 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL36(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL36(uint64_t a)7625 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL36(uint64_t a)
7626 {
7627 if (a <= 19)
7628 return 0x87e1b0210a90ll + 0x1000000ll * ((a) & 0x1f);
7629 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL36", 1, a, 0, 0, 0, 0, 0);
7630 }
7631
7632 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL36(a) ody_dssx_ddrctl_regb_ddrc_ch0_pasctl36_t
7633 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL36(a) CSR_TYPE_RSL32b
7634 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL36(a) "DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL36"
7635 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL36(a) 0x0 /* PF_BAR0 */
7636 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL36(a) (a)
7637 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL36(a) (a), -1, -1, -1
7638
7639 /**
7640 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_pasctl37
7641 *
7642 * DSS Ddrctl Regb Ddrc Ch0 Pasctl37 Register
7643 * Phase Aware Schedule Control Register 37
7644 */
7645 union ody_dssx_ddrctl_regb_ddrc_ch0_pasctl37 {
7646 uint32_t u;
7647 struct ody_dssx_ddrctl_regb_ddrc_ch0_pasctl37_s {
7648 uint32_t dch_sync_mode : 1;
7649 uint32_t dch_ch0_mask : 1;
7650 uint32_t reserved_2_15 : 14;
7651 uint32_t t_selfref_exit_stagger : 5;
7652 uint32_t reserved_21_31 : 11;
7653 } s;
7654 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_pasctl37_s cn; */
7655 };
7656 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_pasctl37 ody_dssx_ddrctl_regb_ddrc_ch0_pasctl37_t;
7657
7658 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL37(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL37(uint64_t a)7659 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL37(uint64_t a)
7660 {
7661 if (a <= 19)
7662 return 0x87e1b0210a94ll + 0x1000000ll * ((a) & 0x1f);
7663 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL37", 1, a, 0, 0, 0, 0, 0);
7664 }
7665
7666 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL37(a) ody_dssx_ddrctl_regb_ddrc_ch0_pasctl37_t
7667 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL37(a) CSR_TYPE_RSL32b
7668 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL37(a) "DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL37"
7669 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL37(a) 0x0 /* PF_BAR0 */
7670 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL37(a) (a)
7671 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL37(a) (a), -1, -1, -1
7672
7673 /**
7674 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_pasctl38
7675 *
7676 * DSS Ddrctl Regb Ddrc Ch0 Pasctl38 Register
7677 * Phase Aware Schedule Control Register 38
7678 */
7679 union ody_dssx_ddrctl_regb_ddrc_ch0_pasctl38 {
7680 uint32_t u;
7681 struct ody_dssx_ddrctl_regb_ddrc_ch0_pasctl38_s {
7682 uint32_t bwl_win_len : 10;
7683 uint32_t bwl_en_len : 10;
7684 uint32_t reserved_20_29 : 10;
7685 uint32_t bwl_ctrl : 1;
7686 uint32_t bwl_en : 1;
7687 } s;
7688 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_pasctl38_s cn; */
7689 };
7690 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_pasctl38 ody_dssx_ddrctl_regb_ddrc_ch0_pasctl38_t;
7691
7692 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL38(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL38(uint64_t a)7693 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL38(uint64_t a)
7694 {
7695 if (a <= 19)
7696 return 0x87e1b0210a98ll + 0x1000000ll * ((a) & 0x1f);
7697 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL38", 1, a, 0, 0, 0, 0, 0);
7698 }
7699
7700 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL38(a) ody_dssx_ddrctl_regb_ddrc_ch0_pasctl38_t
7701 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL38(a) CSR_TYPE_RSL32b
7702 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL38(a) "DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL38"
7703 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL38(a) 0x0 /* PF_BAR0 */
7704 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL38(a) (a)
7705 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL38(a) (a), -1, -1, -1
7706
7707 /**
7708 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_pasctl4
7709 *
7710 * DSS Ddrctl Regb Ddrc Ch0 Pasctl4 Register
7711 * Phase Aware Schedule Control Register 4
7712 */
7713 union ody_dssx_ddrctl_regb_ddrc_ch0_pasctl4 {
7714 uint32_t u;
7715 struct ody_dssx_ddrctl_regb_ddrc_ch0_pasctl4_s {
7716 uint32_t ci_mrr_des1 : 4;
7717 uint32_t ci_mrr_des2 : 4;
7718 uint32_t ci_mrw_des1 : 4;
7719 uint32_t ci_mrw_des2 : 4;
7720 uint32_t ci_mpc_des1 : 4;
7721 uint32_t ci_mpc_des2 : 4;
7722 uint32_t reserved_24_31 : 8;
7723 } s;
7724 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_pasctl4_s cn; */
7725 };
7726 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_pasctl4 ody_dssx_ddrctl_regb_ddrc_ch0_pasctl4_t;
7727
7728 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL4(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL4(uint64_t a)7729 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL4(uint64_t a)
7730 {
7731 if (a <= 19)
7732 return 0x87e1b0210a10ll + 0x1000000ll * ((a) & 0x1f);
7733 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL4", 1, a, 0, 0, 0, 0, 0);
7734 }
7735
7736 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL4(a) ody_dssx_ddrctl_regb_ddrc_ch0_pasctl4_t
7737 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL4(a) CSR_TYPE_RSL32b
7738 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL4(a) "DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL4"
7739 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL4(a) 0x0 /* PF_BAR0 */
7740 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL4(a) (a)
7741 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL4(a) (a), -1, -1, -1
7742
7743 /**
7744 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_pasctl5
7745 *
7746 * DSS Ddrctl Regb Ddrc Ch0 Pasctl5 Register
7747 * Phase Aware Schedule Control Register 5
7748 */
7749 union ody_dssx_ddrctl_regb_ddrc_ch0_pasctl5 {
7750 uint32_t u;
7751 struct ody_dssx_ddrctl_regb_ddrc_ch0_pasctl5_s {
7752 uint32_t base_timer_en : 1;
7753 uint32_t reserved_1_31 : 31;
7754 } s;
7755 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_pasctl5_s cn; */
7756 };
7757 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_pasctl5 ody_dssx_ddrctl_regb_ddrc_ch0_pasctl5_t;
7758
7759 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL5(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL5(uint64_t a)7760 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL5(uint64_t a)
7761 {
7762 if (a <= 19)
7763 return 0x87e1b0210a14ll + 0x1000000ll * ((a) & 0x1f);
7764 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL5", 1, a, 0, 0, 0, 0, 0);
7765 }
7766
7767 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL5(a) ody_dssx_ddrctl_regb_ddrc_ch0_pasctl5_t
7768 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL5(a) CSR_TYPE_RSL32b
7769 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL5(a) "DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL5"
7770 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL5(a) 0x0 /* PF_BAR0 */
7771 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL5(a) (a)
7772 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL5(a) (a), -1, -1, -1
7773
7774 /**
7775 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_pasctl6
7776 *
7777 * DSS Ddrctl Regb Ddrc Ch0 Pasctl6 Register
7778 * Phase Aware Schedule Control Register 6
7779 */
7780 union ody_dssx_ddrctl_regb_ddrc_ch0_pasctl6 {
7781 uint32_t u;
7782 struct ody_dssx_ddrctl_regb_ddrc_ch0_pasctl6_s {
7783 uint32_t base_timer : 32;
7784 } s;
7785 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_pasctl6_s cn; */
7786 };
7787 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_pasctl6 ody_dssx_ddrctl_regb_ddrc_ch0_pasctl6_t;
7788
7789 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL6(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL6(uint64_t a)7790 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL6(uint64_t a)
7791 {
7792 if (a <= 19)
7793 return 0x87e1b0210a18ll + 0x1000000ll * ((a) & 0x1f);
7794 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL6", 1, a, 0, 0, 0, 0, 0);
7795 }
7796
7797 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL6(a) ody_dssx_ddrctl_regb_ddrc_ch0_pasctl6_t
7798 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL6(a) CSR_TYPE_RSL32b
7799 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL6(a) "DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL6"
7800 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL6(a) 0x0 /* PF_BAR0 */
7801 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL6(a) (a)
7802 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL6(a) (a), -1, -1, -1
7803
7804 /**
7805 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_pasctl7
7806 *
7807 * DSS Ddrctl Regb Ddrc Ch0 Pasctl7 Register
7808 * Phase Aware Schedule Control Register 7
7809 */
7810 union ody_dssx_ddrctl_regb_ddrc_ch0_pasctl7 {
7811 uint32_t u;
7812 struct ody_dssx_ddrctl_regb_ddrc_ch0_pasctl7_s {
7813 uint32_t glb_blk0_en : 1;
7814 uint32_t glb_blk1_en : 1;
7815 uint32_t glb_blk2_en : 1;
7816 uint32_t glb_blk3_en : 1;
7817 uint32_t glb_blk4_en : 1;
7818 uint32_t glb_blk5_en : 1;
7819 uint32_t glb_blk6_en : 1;
7820 uint32_t glb_blk7_en : 1;
7821 uint32_t reserved_8_31 : 24;
7822 } s;
7823 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_pasctl7_s cn; */
7824 };
7825 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_pasctl7 ody_dssx_ddrctl_regb_ddrc_ch0_pasctl7_t;
7826
7827 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL7(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL7(uint64_t a)7828 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL7(uint64_t a)
7829 {
7830 if (a <= 19)
7831 return 0x87e1b0210a1cll + 0x1000000ll * ((a) & 0x1f);
7832 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL7", 1, a, 0, 0, 0, 0, 0);
7833 }
7834
7835 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL7(a) ody_dssx_ddrctl_regb_ddrc_ch0_pasctl7_t
7836 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL7(a) CSR_TYPE_RSL32b
7837 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL7(a) "DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL7"
7838 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL7(a) 0x0 /* PF_BAR0 */
7839 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL7(a) (a)
7840 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL7(a) (a), -1, -1, -1
7841
7842 /**
7843 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_pasctl8
7844 *
7845 * DSS Ddrctl Regb Ddrc Ch0 Pasctl8 Register
7846 * Phase Aware Schedule Control Register 8
7847 */
7848 union ody_dssx_ddrctl_regb_ddrc_ch0_pasctl8 {
7849 uint32_t u;
7850 struct ody_dssx_ddrctl_regb_ddrc_ch0_pasctl8_s {
7851 uint32_t rank_blk0_en : 1;
7852 uint32_t rank_blk1_en : 1;
7853 uint32_t rank_blk2_en : 1;
7854 uint32_t rank_blk3_en : 1;
7855 uint32_t rank_blk4_en : 1;
7856 uint32_t rank_blk5_en : 1;
7857 uint32_t rank_blk6_en : 1;
7858 uint32_t rank_blk7_en : 1;
7859 uint32_t rank_blk8_en : 1;
7860 uint32_t rank_blk9_en : 1;
7861 uint32_t rank_blk10_en : 1;
7862 uint32_t rank_blk11_en : 1;
7863 uint32_t rank_blk12_en : 1;
7864 uint32_t rank_blk13_en : 1;
7865 uint32_t rank_blk14_en : 1;
7866 uint32_t rank_blk15_en : 1;
7867 uint32_t reserved_16_31 : 16;
7868 } s;
7869 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_pasctl8_s cn; */
7870 };
7871 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_pasctl8 ody_dssx_ddrctl_regb_ddrc_ch0_pasctl8_t;
7872
7873 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL8(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL8(uint64_t a)7874 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL8(uint64_t a)
7875 {
7876 if (a <= 19)
7877 return 0x87e1b0210a20ll + 0x1000000ll * ((a) & 0x1f);
7878 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL8", 1, a, 0, 0, 0, 0, 0);
7879 }
7880
7881 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL8(a) ody_dssx_ddrctl_regb_ddrc_ch0_pasctl8_t
7882 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL8(a) CSR_TYPE_RSL32b
7883 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL8(a) "DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL8"
7884 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL8(a) 0x0 /* PF_BAR0 */
7885 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL8(a) (a)
7886 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL8(a) (a), -1, -1, -1
7887
7888 /**
7889 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_pasctl9
7890 *
7891 * DSS Ddrctl Regb Ddrc Ch0 Pasctl9 Register
7892 * Phase Aware Schedule Control Register 9
7893 */
7894 union ody_dssx_ddrctl_regb_ddrc_ch0_pasctl9 {
7895 uint32_t u;
7896 struct ody_dssx_ddrctl_regb_ddrc_ch0_pasctl9_s {
7897 uint32_t glb_blk0_trig : 1;
7898 uint32_t glb_blk1_trig : 1;
7899 uint32_t glb_blk2_trig : 1;
7900 uint32_t glb_blk3_trig : 1;
7901 uint32_t glb_blk4_trig : 1;
7902 uint32_t glb_blk5_trig : 1;
7903 uint32_t glb_blk6_trig : 1;
7904 uint32_t glb_blk7_trig : 1;
7905 uint32_t reserved_8_31 : 24;
7906 } s;
7907 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_pasctl9_s cn; */
7908 };
7909 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_pasctl9 ody_dssx_ddrctl_regb_ddrc_ch0_pasctl9_t;
7910
7911 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL9(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL9(uint64_t a)7912 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL9(uint64_t a)
7913 {
7914 if (a <= 19)
7915 return 0x87e1b0210a24ll + 0x1000000ll * ((a) & 0x1f);
7916 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL9", 1, a, 0, 0, 0, 0, 0);
7917 }
7918
7919 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL9(a) ody_dssx_ddrctl_regb_ddrc_ch0_pasctl9_t
7920 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL9(a) CSR_TYPE_RSL32b
7921 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL9(a) "DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL9"
7922 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL9(a) 0x0 /* PF_BAR0 */
7923 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL9(a) (a)
7924 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASCTL9(a) (a), -1, -1, -1
7925
7926 /**
7927 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_paserrsts
7928 *
7929 * DSS Ddrctl Regb Ddrc Ch0 Paserrsts Register
7930 * Phase Aware Schedule Error Status Register
7931 */
7932 union ody_dssx_ddrctl_regb_ddrc_ch0_paserrsts {
7933 uint32_t u;
7934 struct ody_dssx_ddrctl_regb_ddrc_ch0_paserrsts_s {
7935 uint32_t swcmd_err_sts : 3;
7936 uint32_t reserved_3 : 1;
7937 uint32_t ducmd_err_sts : 3;
7938 uint32_t reserved_7 : 1;
7939 uint32_t lccmd_err_sts : 3;
7940 uint32_t reserved_11 : 1;
7941 uint32_t caparcmd_err_sts : 3;
7942 uint32_t reserved_15_31 : 17;
7943 } s;
7944 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_paserrsts_s cn; */
7945 };
7946 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_paserrsts ody_dssx_ddrctl_regb_ddrc_ch0_paserrsts_t;
7947
7948 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASERRSTS(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASERRSTS(uint64_t a)7949 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASERRSTS(uint64_t a)
7950 {
7951 if (a <= 19)
7952 return 0x87e1b0210b20ll + 0x1000000ll * ((a) & 0x1f);
7953 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_PASERRSTS", 1, a, 0, 0, 0, 0, 0);
7954 }
7955
7956 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASERRSTS(a) ody_dssx_ddrctl_regb_ddrc_ch0_paserrsts_t
7957 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASERRSTS(a) CSR_TYPE_RSL32b
7958 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASERRSTS(a) "DSSX_DDRCTL_REGB_DDRC_CH0_PASERRSTS"
7959 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASERRSTS(a) 0x0 /* PF_BAR0 */
7960 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASERRSTS(a) (a)
7961 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASERRSTS(a) (a), -1, -1, -1
7962
7963 /**
7964 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_pasint
7965 *
7966 * DSS Ddrctl Regb Ddrc Ch0 Pasint Register
7967 * Phase Aware Schedule Interrupt register
7968 */
7969 union ody_dssx_ddrctl_regb_ddrc_ch0_pasint {
7970 uint32_t u;
7971 struct ody_dssx_ddrctl_regb_ddrc_ch0_pasint_s {
7972 uint32_t swcmd_err_intr : 1;
7973 uint32_t ducmd_err_intr : 1;
7974 uint32_t lccmd_err_intr : 1;
7975 uint32_t ctrlupd_err_intr : 1;
7976 uint32_t rfm_alert_intr : 1;
7977 uint32_t caparcmd_err_intr : 1;
7978 uint32_t reserved_6_31 : 26;
7979 } s;
7980 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_pasint_s cn; */
7981 };
7982 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_pasint ody_dssx_ddrctl_regb_ddrc_ch0_pasint_t;
7983
7984 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASINT(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASINT(uint64_t a)7985 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASINT(uint64_t a)
7986 {
7987 if (a <= 19)
7988 return 0x87e1b0210b18ll + 0x1000000ll * ((a) & 0x1f);
7989 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_PASINT", 1, a, 0, 0, 0, 0, 0);
7990 }
7991
7992 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASINT(a) ody_dssx_ddrctl_regb_ddrc_ch0_pasint_t
7993 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASINT(a) CSR_TYPE_RSL32b
7994 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASINT(a) "DSSX_DDRCTL_REGB_DDRC_CH0_PASINT"
7995 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASINT(a) 0x0 /* PF_BAR0 */
7996 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASINT(a) (a)
7997 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASINT(a) (a), -1, -1, -1
7998
7999 /**
8000 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_pasintctl
8001 *
8002 * DSS Ddrctl Regb Ddrc Ch0 Pasintctl Register
8003 * Phase Aware Schedule Interrupt Control Register
8004 */
8005 union ody_dssx_ddrctl_regb_ddrc_ch0_pasintctl {
8006 uint32_t u;
8007 struct ody_dssx_ddrctl_regb_ddrc_ch0_pasintctl_s {
8008 uint32_t swcmd_err_intr_en : 1;
8009 uint32_t swcmd_err_intr_clr : 1;
8010 uint32_t swcmd_err_intr_force : 1;
8011 uint32_t reserved_3 : 1;
8012 uint32_t ducmd_err_intr_en : 1;
8013 uint32_t ducmd_err_intr_clr : 1;
8014 uint32_t ducmd_err_intr_force : 1;
8015 uint32_t reserved_7 : 1;
8016 uint32_t lccmd_err_intr_en : 1;
8017 uint32_t lccmd_err_intr_clr : 1;
8018 uint32_t lccmd_err_intr_force : 1;
8019 uint32_t reserved_11 : 1;
8020 uint32_t ctrlupd_err_intr_en : 1;
8021 uint32_t ctrlupd_err_intr_clr : 1;
8022 uint32_t ctrlupd_err_intr_force : 1;
8023 uint32_t reserved_15 : 1;
8024 uint32_t rfm_alert_intr_en : 1;
8025 uint32_t rfm_alert_intr_clr : 1;
8026 uint32_t rfm_alert_intr_force : 1;
8027 uint32_t reserved_19 : 1;
8028 uint32_t caparcmd_err_intr_en : 1;
8029 uint32_t caparcmd_err_intr_clr : 1;
8030 uint32_t caparcmd_err_intr_force : 1;
8031 uint32_t reserved_23_31 : 9;
8032 } s;
8033 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_pasintctl_s cn; */
8034 };
8035 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_pasintctl ody_dssx_ddrctl_regb_ddrc_ch0_pasintctl_t;
8036
8037 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASINTCTL(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASINTCTL(uint64_t a)8038 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASINTCTL(uint64_t a)
8039 {
8040 if (a <= 19)
8041 return 0x87e1b0210b1cll + 0x1000000ll * ((a) & 0x1f);
8042 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_PASINTCTL", 1, a, 0, 0, 0, 0, 0);
8043 }
8044
8045 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASINTCTL(a) ody_dssx_ddrctl_regb_ddrc_ch0_pasintctl_t
8046 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASINTCTL(a) CSR_TYPE_RSL32b
8047 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASINTCTL(a) "DSSX_DDRCTL_REGB_DDRC_CH0_PASINTCTL"
8048 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASINTCTL(a) 0x0 /* PF_BAR0 */
8049 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASINTCTL(a) (a)
8050 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PASINTCTL(a) (a), -1, -1, -1
8051
8052 /**
8053 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_pwrctl
8054 *
8055 * DSS Ddrctl Regb Ddrc Ch0 Pwrctl Register
8056 * Low Power Control Register
8057 */
8058 union ody_dssx_ddrctl_regb_ddrc_ch0_pwrctl {
8059 uint32_t u;
8060 struct ody_dssx_ddrctl_regb_ddrc_ch0_pwrctl_s {
8061 uint32_t selfref_en : 2;
8062 uint32_t reserved_2_3 : 2;
8063 uint32_t powerdown_en : 2;
8064 uint32_t reserved_6_7 : 2;
8065 uint32_t actv_pd_en : 1;
8066 uint32_t en_dfi_dram_clk_disable : 1;
8067 uint32_t reserved_10 : 1;
8068 uint32_t selfref_sw : 1;
8069 uint32_t reserved_12_19 : 8;
8070 uint32_t mpsm_pd_en : 2;
8071 uint32_t reserved_22_23 : 2;
8072 uint32_t mpsm_deep_pd_en : 2;
8073 uint32_t reserved_26_31 : 6;
8074 } s;
8075 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_pwrctl_s cn; */
8076 };
8077 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_pwrctl ody_dssx_ddrctl_regb_ddrc_ch0_pwrctl_t;
8078
8079 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PWRCTL(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PWRCTL(uint64_t a)8080 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PWRCTL(uint64_t a)
8081 {
8082 if (a <= 19)
8083 return 0x87e1b0210180ll + 0x1000000ll * ((a) & 0x1f);
8084 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_PWRCTL", 1, a, 0, 0, 0, 0, 0);
8085 }
8086
8087 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PWRCTL(a) ody_dssx_ddrctl_regb_ddrc_ch0_pwrctl_t
8088 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PWRCTL(a) CSR_TYPE_RSL32b
8089 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PWRCTL(a) "DSSX_DDRCTL_REGB_DDRC_CH0_PWRCTL"
8090 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PWRCTL(a) 0x0 /* PF_BAR0 */
8091 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PWRCTL(a) (a)
8092 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_PWRCTL(a) (a), -1, -1, -1
8093
8094 /**
8095 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_rankctl
8096 *
8097 * DSS Ddrctl Regb Ddrc Ch0 Rankctl Register
8098 * Rank Control Register
8099 */
8100 union ody_dssx_ddrctl_regb_ddrc_ch0_rankctl {
8101 uint32_t u;
8102 struct ody_dssx_ddrctl_regb_ddrc_ch0_rankctl_s {
8103 uint32_t max_rank_rd : 4;
8104 uint32_t reserved_4_11 : 8;
8105 uint32_t max_rank_wr : 4;
8106 uint32_t reserved_16_31 : 16;
8107 } s;
8108 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_rankctl_s cn; */
8109 };
8110 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_rankctl ody_dssx_ddrctl_regb_ddrc_ch0_rankctl_t;
8111
8112 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RANKCTL(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RANKCTL(uint64_t a)8113 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RANKCTL(uint64_t a)
8114 {
8115 if (a <= 19)
8116 return 0x87e1b0210c90ll + 0x1000000ll * ((a) & 0x1f);
8117 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_RANKCTL", 1, a, 0, 0, 0, 0, 0);
8118 }
8119
8120 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RANKCTL(a) ody_dssx_ddrctl_regb_ddrc_ch0_rankctl_t
8121 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RANKCTL(a) CSR_TYPE_RSL32b
8122 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RANKCTL(a) "DSSX_DDRCTL_REGB_DDRC_CH0_RANKCTL"
8123 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RANKCTL(a) 0x0 /* PF_BAR0 */
8124 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RANKCTL(a) (a)
8125 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RANKCTL(a) (a), -1, -1, -1
8126
8127 /**
8128 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_rdcrcerraddr0
8129 *
8130 * DSS Ddrctl Regb Ddrc Ch0 Rdcrcerraddr0 Register
8131 * Read CRC Error Address Register 0
8132 */
8133 union ody_dssx_ddrctl_regb_ddrc_ch0_rdcrcerraddr0 {
8134 uint32_t u;
8135 struct ody_dssx_ddrctl_regb_ddrc_ch0_rdcrcerraddr0_s {
8136 uint32_t rd_crc_err_row : 18;
8137 uint32_t reserved_18_23 : 6;
8138 uint32_t rd_crc_err_rank : 1;
8139 uint32_t reserved_25_31 : 7;
8140 } s;
8141 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_rdcrcerraddr0_s cn; */
8142 };
8143 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_rdcrcerraddr0 ody_dssx_ddrctl_regb_ddrc_ch0_rdcrcerraddr0_t;
8144
8145 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RDCRCERRADDR0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RDCRCERRADDR0(uint64_t a)8146 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RDCRCERRADDR0(uint64_t a)
8147 {
8148 if (a <= 19)
8149 return 0x87e1b0210830ll + 0x1000000ll * ((a) & 0x1f);
8150 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_RDCRCERRADDR0", 1, a, 0, 0, 0, 0, 0);
8151 }
8152
8153 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RDCRCERRADDR0(a) ody_dssx_ddrctl_regb_ddrc_ch0_rdcrcerraddr0_t
8154 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RDCRCERRADDR0(a) CSR_TYPE_RSL32b
8155 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RDCRCERRADDR0(a) "DSSX_DDRCTL_REGB_DDRC_CH0_RDCRCERRADDR0"
8156 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RDCRCERRADDR0(a) 0x0 /* PF_BAR0 */
8157 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RDCRCERRADDR0(a) (a)
8158 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RDCRCERRADDR0(a) (a), -1, -1, -1
8159
8160 /**
8161 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_rdcrcerraddr1
8162 *
8163 * DSS Ddrctl Regb Ddrc Ch0 Rdcrcerraddr1 Register
8164 * Read CRC Error Address Register 1
8165 */
8166 union ody_dssx_ddrctl_regb_ddrc_ch0_rdcrcerraddr1 {
8167 uint32_t u;
8168 struct ody_dssx_ddrctl_regb_ddrc_ch0_rdcrcerraddr1_s {
8169 uint32_t rd_crc_err_col : 11;
8170 uint32_t reserved_11_15 : 5;
8171 uint32_t rd_crc_err_bank : 2;
8172 uint32_t reserved_18_23 : 6;
8173 uint32_t rd_crc_err_bg : 3;
8174 uint32_t reserved_27_31 : 5;
8175 } s;
8176 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_rdcrcerraddr1_s cn; */
8177 };
8178 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_rdcrcerraddr1 ody_dssx_ddrctl_regb_ddrc_ch0_rdcrcerraddr1_t;
8179
8180 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RDCRCERRADDR1(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RDCRCERRADDR1(uint64_t a)8181 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RDCRCERRADDR1(uint64_t a)
8182 {
8183 if (a <= 19)
8184 return 0x87e1b0210834ll + 0x1000000ll * ((a) & 0x1f);
8185 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_RDCRCERRADDR1", 1, a, 0, 0, 0, 0, 0);
8186 }
8187
8188 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RDCRCERRADDR1(a) ody_dssx_ddrctl_regb_ddrc_ch0_rdcrcerraddr1_t
8189 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RDCRCERRADDR1(a) CSR_TYPE_RSL32b
8190 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RDCRCERRADDR1(a) "DSSX_DDRCTL_REGB_DDRC_CH0_RDCRCERRADDR1"
8191 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RDCRCERRADDR1(a) 0x0 /* PF_BAR0 */
8192 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RDCRCERRADDR1(a) (a)
8193 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RDCRCERRADDR1(a) (a), -1, -1, -1
8194
8195 /**
8196 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_rdcrcerrstat0
8197 *
8198 * DSS Ddrctl Regb Ddrc Ch0 Rdcrcerrstat0 Register
8199 * Read CRC Error Status Register 0
8200 */
8201 union ody_dssx_ddrctl_regb_ddrc_ch0_rdcrcerrstat0 {
8202 uint32_t u;
8203 struct ody_dssx_ddrctl_regb_ddrc_ch0_rdcrcerrstat0_s {
8204 uint32_t rd_crc_err_max_reached_int_nibble : 20;
8205 uint32_t reserved_20_30 : 11;
8206 uint32_t rd_crc_err_max_reached_int : 1;
8207 } s;
8208 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_rdcrcerrstat0_s cn; */
8209 };
8210 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_rdcrcerrstat0 ody_dssx_ddrctl_regb_ddrc_ch0_rdcrcerrstat0_t;
8211
8212 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RDCRCERRSTAT0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RDCRCERRSTAT0(uint64_t a)8213 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RDCRCERRSTAT0(uint64_t a)
8214 {
8215 if (a <= 19)
8216 return 0x87e1b0210840ll + 0x1000000ll * ((a) & 0x1f);
8217 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_RDCRCERRSTAT0", 1, a, 0, 0, 0, 0, 0);
8218 }
8219
8220 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RDCRCERRSTAT0(a) ody_dssx_ddrctl_regb_ddrc_ch0_rdcrcerrstat0_t
8221 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RDCRCERRSTAT0(a) CSR_TYPE_RSL32b
8222 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RDCRCERRSTAT0(a) "DSSX_DDRCTL_REGB_DDRC_CH0_RDCRCERRSTAT0"
8223 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RDCRCERRSTAT0(a) 0x0 /* PF_BAR0 */
8224 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RDCRCERRSTAT0(a) (a)
8225 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RDCRCERRSTAT0(a) (a), -1, -1, -1
8226
8227 /**
8228 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_retryctl0
8229 *
8230 * DSS Ddrctl Regb Ddrc Ch0 Retryctl0 Register
8231 * Retry Control Register 0
8232 */
8233 union ody_dssx_ddrctl_regb_ddrc_ch0_retryctl0 {
8234 uint32_t u;
8235 struct ody_dssx_ddrctl_regb_ddrc_ch0_retryctl0_s {
8236 uint32_t capar_retry_enable : 1;
8237 uint32_t rd_ue_retry_enable : 1;
8238 uint32_t rd_crc_retry_enable : 1;
8239 uint32_t wr_crc_retry_enable : 1;
8240 uint32_t reserved_4_7 : 4;
8241 uint32_t wr_crc_retry_limiter : 3;
8242 uint32_t rd_crc_retry_limiter : 3;
8243 uint32_t rd_ue_retry_limiter : 3;
8244 uint32_t capar_retry_limiter : 3;
8245 uint32_t wr_crc_retry_limit_intr_en : 1;
8246 uint32_t wr_crc_retry_limit_intr_clr : 1;
8247 uint32_t wr_crc_retry_limit_intr_force : 1;
8248 uint32_t rd_retry_limit_intr_en : 1;
8249 uint32_t rd_retry_limit_intr_clr : 1;
8250 uint32_t rd_retry_limit_intr_force : 1;
8251 uint32_t capar_retry_limit_intr_en : 1;
8252 uint32_t capar_retry_limit_intr_clr : 1;
8253 uint32_t capar_retry_limit_intr_force : 1;
8254 uint32_t reserved_29_31 : 3;
8255 } s;
8256 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_retryctl0_s cn; */
8257 };
8258 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_retryctl0 ody_dssx_ddrctl_regb_ddrc_ch0_retryctl0_t;
8259
8260 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RETRYCTL0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RETRYCTL0(uint64_t a)8261 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RETRYCTL0(uint64_t a)
8262 {
8263 if (a <= 19)
8264 return 0x87e1b0210890ll + 0x1000000ll * ((a) & 0x1f);
8265 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_RETRYCTL0", 1, a, 0, 0, 0, 0, 0);
8266 }
8267
8268 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RETRYCTL0(a) ody_dssx_ddrctl_regb_ddrc_ch0_retryctl0_t
8269 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RETRYCTL0(a) CSR_TYPE_RSL32b
8270 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RETRYCTL0(a) "DSSX_DDRCTL_REGB_DDRC_CH0_RETRYCTL0"
8271 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RETRYCTL0(a) 0x0 /* PF_BAR0 */
8272 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RETRYCTL0(a) (a)
8273 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RETRYCTL0(a) (a), -1, -1, -1
8274
8275 /**
8276 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_retryctl1
8277 *
8278 * DSS Ddrctl Regb Ddrc Ch0 Retryctl1 Register
8279 * Retry Control Register 1
8280 */
8281 union ody_dssx_ddrctl_regb_ddrc_ch0_retryctl1 {
8282 uint32_t u;
8283 struct ody_dssx_ddrctl_regb_ddrc_ch0_retryctl1_s {
8284 uint32_t reserved_0_28 : 29;
8285 uint32_t make_multi_retry_fatl_err : 1;
8286 uint32_t dis_capar_selfref_retry : 1;
8287 uint32_t dis_capar_powerdown_retry : 1;
8288 } s;
8289 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_retryctl1_s cn; */
8290 };
8291 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_retryctl1 ody_dssx_ddrctl_regb_ddrc_ch0_retryctl1_t;
8292
8293 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RETRYCTL1(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RETRYCTL1(uint64_t a)8294 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RETRYCTL1(uint64_t a)
8295 {
8296 if (a <= 19)
8297 return 0x87e1b0210894ll + 0x1000000ll * ((a) & 0x1f);
8298 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_RETRYCTL1", 1, a, 0, 0, 0, 0, 0);
8299 }
8300
8301 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RETRYCTL1(a) ody_dssx_ddrctl_regb_ddrc_ch0_retryctl1_t
8302 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RETRYCTL1(a) CSR_TYPE_RSL32b
8303 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RETRYCTL1(a) "DSSX_DDRCTL_REGB_DDRC_CH0_RETRYCTL1"
8304 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RETRYCTL1(a) 0x0 /* PF_BAR0 */
8305 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RETRYCTL1(a) (a)
8306 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RETRYCTL1(a) (a), -1, -1, -1
8307
8308 /**
8309 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_retrystat0
8310 *
8311 * DSS Ddrctl Regb Ddrc Ch0 Retrystat0 Register
8312 * CRC retry State register
8313 */
8314 union ody_dssx_ddrctl_regb_ddrc_ch0_retrystat0 {
8315 uint32_t u;
8316 struct ody_dssx_ddrctl_regb_ddrc_ch0_retrystat0_s {
8317 uint32_t retry_stat : 2;
8318 uint32_t reserved_2_6 : 5;
8319 uint32_t retry_fifo_fill_level : 8;
8320 uint32_t reserved_15 : 1;
8321 uint32_t rd_ue_retry_limit_reached : 1;
8322 uint32_t rd_crc_retry_limit_reached : 1;
8323 uint32_t reserved_18_23 : 6;
8324 uint32_t capar_fatl_err_code : 6;
8325 uint32_t reserved_30_31 : 2;
8326 } s;
8327 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_retrystat0_s cn; */
8328 };
8329 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_retrystat0 ody_dssx_ddrctl_regb_ddrc_ch0_retrystat0_t;
8330
8331 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RETRYSTAT0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RETRYSTAT0(uint64_t a)8332 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RETRYSTAT0(uint64_t a)
8333 {
8334 if (a <= 19)
8335 return 0x87e1b02108a0ll + 0x1000000ll * ((a) & 0x1f);
8336 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_RETRYSTAT0", 1, a, 0, 0, 0, 0, 0);
8337 }
8338
8339 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RETRYSTAT0(a) ody_dssx_ddrctl_regb_ddrc_ch0_retrystat0_t
8340 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RETRYSTAT0(a) CSR_TYPE_RSL32b
8341 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RETRYSTAT0(a) "DSSX_DDRCTL_REGB_DDRC_CH0_RETRYSTAT0"
8342 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RETRYSTAT0(a) 0x0 /* PF_BAR0 */
8343 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RETRYSTAT0(a) (a)
8344 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RETRYSTAT0(a) (a), -1, -1, -1
8345
8346 /**
8347 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_rfshctl0
8348 *
8349 * DSS Ddrctl Regb Ddrc Ch0 Rfshctl0 Register
8350 * Refresh Control Register 0
8351 */
8352 union ody_dssx_ddrctl_regb_ddrc_ch0_rfshctl0 {
8353 uint32_t u;
8354 struct ody_dssx_ddrctl_regb_ddrc_ch0_rfshctl0_s {
8355 uint32_t dis_auto_refresh : 1;
8356 uint32_t reserved_1_3 : 3;
8357 uint32_t refresh_update_level : 1;
8358 uint32_t reserved_5_31 : 27;
8359 } s;
8360 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_rfshctl0_s cn; */
8361 };
8362 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_rfshctl0 ody_dssx_ddrctl_regb_ddrc_ch0_rfshctl0_t;
8363
8364 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RFSHCTL0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RFSHCTL0(uint64_t a)8365 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RFSHCTL0(uint64_t a)
8366 {
8367 if (a <= 19)
8368 return 0x87e1b0210208ll + 0x1000000ll * ((a) & 0x1f);
8369 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_RFSHCTL0", 1, a, 0, 0, 0, 0, 0);
8370 }
8371
8372 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RFSHCTL0(a) ody_dssx_ddrctl_regb_ddrc_ch0_rfshctl0_t
8373 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RFSHCTL0(a) CSR_TYPE_RSL32b
8374 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RFSHCTL0(a) "DSSX_DDRCTL_REGB_DDRC_CH0_RFSHCTL0"
8375 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RFSHCTL0(a) 0x0 /* PF_BAR0 */
8376 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RFSHCTL0(a) (a)
8377 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RFSHCTL0(a) (a), -1, -1, -1
8378
8379 /**
8380 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_rfshmod0
8381 *
8382 * DSS Ddrctl Regb Ddrc Ch0 Rfshmod0 Register
8383 * Refresh Mode Register 0
8384 */
8385 union ody_dssx_ddrctl_regb_ddrc_ch0_rfshmod0 {
8386 uint32_t u;
8387 struct ody_dssx_ddrctl_regb_ddrc_ch0_rfshmod0_s {
8388 uint32_t refresh_burst : 6;
8389 uint32_t reserved_6_15 : 10;
8390 uint32_t mixed_refsb_hi_thr : 4;
8391 uint32_t reserved_20_31 : 12;
8392 } s;
8393 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_rfshmod0_s cn; */
8394 };
8395 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_rfshmod0 ody_dssx_ddrctl_regb_ddrc_ch0_rfshmod0_t;
8396
8397 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RFSHMOD0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RFSHMOD0(uint64_t a)8398 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RFSHMOD0(uint64_t a)
8399 {
8400 if (a <= 19)
8401 return 0x87e1b0210200ll + 0x1000000ll * ((a) & 0x1f);
8402 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_RFSHMOD0", 1, a, 0, 0, 0, 0, 0);
8403 }
8404
8405 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RFSHMOD0(a) ody_dssx_ddrctl_regb_ddrc_ch0_rfshmod0_t
8406 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RFSHMOD0(a) CSR_TYPE_RSL32b
8407 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RFSHMOD0(a) "DSSX_DDRCTL_REGB_DDRC_CH0_RFSHMOD0"
8408 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RFSHMOD0(a) 0x0 /* PF_BAR0 */
8409 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RFSHMOD0(a) (a)
8410 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RFSHMOD0(a) (a), -1, -1, -1
8411
8412 /**
8413 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_rfshmod1
8414 *
8415 * DSS Ddrctl Regb Ddrc Ch0 Rfshmod1 Register
8416 * Refresh Mode Register 1
8417 */
8418 union ody_dssx_ddrctl_regb_ddrc_ch0_rfshmod1 {
8419 uint32_t u;
8420 struct ody_dssx_ddrctl_regb_ddrc_ch0_rfshmod1_s {
8421 uint32_t same_bank_refresh : 2;
8422 uint32_t reserved_2_3 : 2;
8423 uint32_t tcr_refab_thr : 3;
8424 uint32_t reserved_7 : 1;
8425 uint32_t fgr_mode : 3;
8426 uint32_t reserved_11_31 : 21;
8427 } s;
8428 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_rfshmod1_s cn; */
8429 };
8430 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_rfshmod1 ody_dssx_ddrctl_regb_ddrc_ch0_rfshmod1_t;
8431
8432 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RFSHMOD1(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RFSHMOD1(uint64_t a)8433 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RFSHMOD1(uint64_t a)
8434 {
8435 if (a <= 19)
8436 return 0x87e1b0210204ll + 0x1000000ll * ((a) & 0x1f);
8437 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_RFSHMOD1", 1, a, 0, 0, 0, 0, 0);
8438 }
8439
8440 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RFSHMOD1(a) ody_dssx_ddrctl_regb_ddrc_ch0_rfshmod1_t
8441 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RFSHMOD1(a) CSR_TYPE_RSL32b
8442 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RFSHMOD1(a) "DSSX_DDRCTL_REGB_DDRC_CH0_RFSHMOD1"
8443 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RFSHMOD1(a) 0x0 /* PF_BAR0 */
8444 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RFSHMOD1(a) (a)
8445 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RFSHMOD1(a) (a), -1, -1, -1
8446
8447 /**
8448 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_rw_cmd_ctrl
8449 *
8450 * DSS Ddrctl Regb Ddrc Ch0 Rw Cmd Ctrl Register
8451 * Software Read Write Buffer Command Control
8452 */
8453 union ody_dssx_ddrctl_regb_ddrc_ch0_rw_cmd_ctrl {
8454 uint32_t u;
8455 struct ody_dssx_ddrctl_regb_ddrc_ch0_rw_cmd_ctrl_s {
8456 uint32_t wr_data_cb : 8;
8457 uint32_t wr_data_dq_mask : 8;
8458 uint32_t reserved_16_19 : 4;
8459 uint32_t wr_data_cb_mask : 1;
8460 uint32_t data_ecc_sel : 1;
8461 uint32_t rw_ecc_en : 1;
8462 uint32_t wr_data_sel : 1;
8463 uint32_t buf_addr : 4;
8464 uint32_t reserved_28_29 : 2;
8465 uint32_t buf_rw_op_type : 1;
8466 uint32_t buf_rw_start : 1;
8467 } s;
8468 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_rw_cmd_ctrl_s cn; */
8469 };
8470 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_rw_cmd_ctrl ody_dssx_ddrctl_regb_ddrc_ch0_rw_cmd_ctrl_t;
8471
8472 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RW_CMD_CTRL(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RW_CMD_CTRL(uint64_t a)8473 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RW_CMD_CTRL(uint64_t a)
8474 {
8475 if (a <= 19)
8476 return 0x87e1b0210b3cll + 0x1000000ll * ((a) & 0x1f);
8477 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_RW_CMD_CTRL", 1, a, 0, 0, 0, 0, 0);
8478 }
8479
8480 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RW_CMD_CTRL(a) ody_dssx_ddrctl_regb_ddrc_ch0_rw_cmd_ctrl_t
8481 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RW_CMD_CTRL(a) CSR_TYPE_RSL32b
8482 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RW_CMD_CTRL(a) "DSSX_DDRCTL_REGB_DDRC_CH0_RW_CMD_CTRL"
8483 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RW_CMD_CTRL(a) 0x0 /* PF_BAR0 */
8484 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RW_CMD_CTRL(a) (a)
8485 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RW_CMD_CTRL(a) (a), -1, -1, -1
8486
8487 /**
8488 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_rw_rd_data0
8489 *
8490 * DSS Ddrctl Regb Ddrc Ch0 Rw Rd Data0 Register
8491 * Software Read Command RD Data Register mapped to DQ[31:0]
8492 */
8493 union ody_dssx_ddrctl_regb_ddrc_ch0_rw_rd_data0 {
8494 uint32_t u;
8495 struct ody_dssx_ddrctl_regb_ddrc_ch0_rw_rd_data0_s {
8496 uint32_t rd_data_dq0 : 32;
8497 } s;
8498 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_rw_rd_data0_s cn; */
8499 };
8500 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_rw_rd_data0 ody_dssx_ddrctl_regb_ddrc_ch0_rw_rd_data0_t;
8501
8502 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RW_RD_DATA0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RW_RD_DATA0(uint64_t a)8503 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RW_RD_DATA0(uint64_t a)
8504 {
8505 if (a <= 19)
8506 return 0x87e1b0210b48ll + 0x1000000ll * ((a) & 0x1f);
8507 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_RW_RD_DATA0", 1, a, 0, 0, 0, 0, 0);
8508 }
8509
8510 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RW_RD_DATA0(a) ody_dssx_ddrctl_regb_ddrc_ch0_rw_rd_data0_t
8511 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RW_RD_DATA0(a) CSR_TYPE_RSL32b
8512 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RW_RD_DATA0(a) "DSSX_DDRCTL_REGB_DDRC_CH0_RW_RD_DATA0"
8513 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RW_RD_DATA0(a) 0x0 /* PF_BAR0 */
8514 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RW_RD_DATA0(a) (a)
8515 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RW_RD_DATA0(a) (a), -1, -1, -1
8516
8517 /**
8518 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_rw_rd_data1
8519 *
8520 * DSS Ddrctl Regb Ddrc Ch0 Rw Rd Data1 Register
8521 * Software Read Command RD Data Register mapped to DQ[63:32]
8522 */
8523 union ody_dssx_ddrctl_regb_ddrc_ch0_rw_rd_data1 {
8524 uint32_t u;
8525 struct ody_dssx_ddrctl_regb_ddrc_ch0_rw_rd_data1_s {
8526 uint32_t rd_data_dq1 : 32;
8527 } s;
8528 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_rw_rd_data1_s cn; */
8529 };
8530 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_rw_rd_data1 ody_dssx_ddrctl_regb_ddrc_ch0_rw_rd_data1_t;
8531
8532 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RW_RD_DATA1(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RW_RD_DATA1(uint64_t a)8533 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RW_RD_DATA1(uint64_t a)
8534 {
8535 if (a <= 19)
8536 return 0x87e1b0210b4cll + 0x1000000ll * ((a) & 0x1f);
8537 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_RW_RD_DATA1", 1, a, 0, 0, 0, 0, 0);
8538 }
8539
8540 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RW_RD_DATA1(a) ody_dssx_ddrctl_regb_ddrc_ch0_rw_rd_data1_t
8541 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RW_RD_DATA1(a) CSR_TYPE_RSL32b
8542 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RW_RD_DATA1(a) "DSSX_DDRCTL_REGB_DDRC_CH0_RW_RD_DATA1"
8543 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RW_RD_DATA1(a) 0x0 /* PF_BAR0 */
8544 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RW_RD_DATA1(a) (a)
8545 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RW_RD_DATA1(a) (a), -1, -1, -1
8546
8547 /**
8548 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_rw_wr_data0
8549 *
8550 * DSS Ddrctl Regb Ddrc Ch0 Rw Wr Data0 Register
8551 * Software Write Command WR Data Register mapped to DQ[31:0]
8552 */
8553 union ody_dssx_ddrctl_regb_ddrc_ch0_rw_wr_data0 {
8554 uint32_t u;
8555 struct ody_dssx_ddrctl_regb_ddrc_ch0_rw_wr_data0_s {
8556 uint32_t wr_data_dq0 : 32;
8557 } s;
8558 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_rw_wr_data0_s cn; */
8559 };
8560 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_rw_wr_data0 ody_dssx_ddrctl_regb_ddrc_ch0_rw_wr_data0_t;
8561
8562 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RW_WR_DATA0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RW_WR_DATA0(uint64_t a)8563 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RW_WR_DATA0(uint64_t a)
8564 {
8565 if (a <= 19)
8566 return 0x87e1b0210b40ll + 0x1000000ll * ((a) & 0x1f);
8567 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_RW_WR_DATA0", 1, a, 0, 0, 0, 0, 0);
8568 }
8569
8570 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RW_WR_DATA0(a) ody_dssx_ddrctl_regb_ddrc_ch0_rw_wr_data0_t
8571 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RW_WR_DATA0(a) CSR_TYPE_RSL32b
8572 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RW_WR_DATA0(a) "DSSX_DDRCTL_REGB_DDRC_CH0_RW_WR_DATA0"
8573 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RW_WR_DATA0(a) 0x0 /* PF_BAR0 */
8574 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RW_WR_DATA0(a) (a)
8575 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RW_WR_DATA0(a) (a), -1, -1, -1
8576
8577 /**
8578 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_rw_wr_data1
8579 *
8580 * DSS Ddrctl Regb Ddrc Ch0 Rw Wr Data1 Register
8581 * Software Write Command WR Data Register mapped to DQ[63:32]
8582 */
8583 union ody_dssx_ddrctl_regb_ddrc_ch0_rw_wr_data1 {
8584 uint32_t u;
8585 struct ody_dssx_ddrctl_regb_ddrc_ch0_rw_wr_data1_s {
8586 uint32_t wr_data_dq1 : 32;
8587 } s;
8588 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_rw_wr_data1_s cn; */
8589 };
8590 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_rw_wr_data1 ody_dssx_ddrctl_regb_ddrc_ch0_rw_wr_data1_t;
8591
8592 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RW_WR_DATA1(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RW_WR_DATA1(uint64_t a)8593 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RW_WR_DATA1(uint64_t a)
8594 {
8595 if (a <= 19)
8596 return 0x87e1b0210b44ll + 0x1000000ll * ((a) & 0x1f);
8597 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_RW_WR_DATA1", 1, a, 0, 0, 0, 0, 0);
8598 }
8599
8600 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RW_WR_DATA1(a) ody_dssx_ddrctl_regb_ddrc_ch0_rw_wr_data1_t
8601 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RW_WR_DATA1(a) CSR_TYPE_RSL32b
8602 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RW_WR_DATA1(a) "DSSX_DDRCTL_REGB_DDRC_CH0_RW_WR_DATA1"
8603 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RW_WR_DATA1(a) 0x0 /* PF_BAR0 */
8604 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RW_WR_DATA1(a) (a)
8605 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_RW_WR_DATA1(a) (a), -1, -1, -1
8606
8607 /**
8608 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_sched0
8609 *
8610 * DSS Ddrctl Regb Ddrc Ch0 Sched0 Register
8611 * Scheduler Control Register 0
8612 */
8613 union ody_dssx_ddrctl_regb_ddrc_ch0_sched0 {
8614 uint32_t u;
8615 struct ody_dssx_ddrctl_regb_ddrc_ch0_sched0_s {
8616 uint32_t reserved_0 : 1;
8617 uint32_t prefer_write : 1;
8618 uint32_t pageclose : 1;
8619 uint32_t reserved_3 : 1;
8620 uint32_t opt_wrcam_fill_level : 1;
8621 uint32_t dis_opt_ntt_by_act : 1;
8622 uint32_t dis_opt_ntt_by_pre : 1;
8623 uint32_t autopre_rmw : 1;
8624 uint32_t lpr_num_entries : 6;
8625 uint32_t reserved_14_26 : 13;
8626 uint32_t opt_act_lat : 1;
8627 uint32_t reserved_28_30 : 3;
8628 uint32_t opt_vprw_sch : 1;
8629 } s;
8630 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_sched0_s cn; */
8631 };
8632 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_sched0 ody_dssx_ddrctl_regb_ddrc_ch0_sched0_t;
8633
8634 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SCHED0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SCHED0(uint64_t a)8635 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SCHED0(uint64_t a)
8636 {
8637 if (a <= 19)
8638 return 0x87e1b0210380ll + 0x1000000ll * ((a) & 0x1f);
8639 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_SCHED0", 1, a, 0, 0, 0, 0, 0);
8640 }
8641
8642 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SCHED0(a) ody_dssx_ddrctl_regb_ddrc_ch0_sched0_t
8643 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SCHED0(a) CSR_TYPE_RSL32b
8644 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SCHED0(a) "DSSX_DDRCTL_REGB_DDRC_CH0_SCHED0"
8645 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SCHED0(a) 0x0 /* PF_BAR0 */
8646 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SCHED0(a) (a)
8647 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SCHED0(a) (a), -1, -1, -1
8648
8649 /**
8650 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_sched1
8651 *
8652 * DSS Ddrctl Regb Ddrc Ch0 Sched1 Register
8653 * Scheduler Control Register 1
8654 */
8655 union ody_dssx_ddrctl_regb_ddrc_ch0_sched1 {
8656 uint32_t u;
8657 struct ody_dssx_ddrctl_regb_ddrc_ch0_sched1_s {
8658 uint32_t reserved_0_11 : 12;
8659 uint32_t delay_switch_write : 4;
8660 uint32_t visible_window_limit_wr : 3;
8661 uint32_t reserved_19 : 1;
8662 uint32_t visible_window_limit_rd : 3;
8663 uint32_t reserved_23 : 1;
8664 uint32_t page_hit_limit_wr : 3;
8665 uint32_t reserved_27 : 1;
8666 uint32_t page_hit_limit_rd : 3;
8667 uint32_t opt_hit_gt_hpr : 1;
8668 } s;
8669 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_sched1_s cn; */
8670 };
8671 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_sched1 ody_dssx_ddrctl_regb_ddrc_ch0_sched1_t;
8672
8673 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SCHED1(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SCHED1(uint64_t a)8674 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SCHED1(uint64_t a)
8675 {
8676 if (a <= 19)
8677 return 0x87e1b0210384ll + 0x1000000ll * ((a) & 0x1f);
8678 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_SCHED1", 1, a, 0, 0, 0, 0, 0);
8679 }
8680
8681 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SCHED1(a) ody_dssx_ddrctl_regb_ddrc_ch0_sched1_t
8682 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SCHED1(a) CSR_TYPE_RSL32b
8683 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SCHED1(a) "DSSX_DDRCTL_REGB_DDRC_CH0_SCHED1"
8684 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SCHED1(a) 0x0 /* PF_BAR0 */
8685 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SCHED1(a) (a)
8686 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SCHED1(a) (a), -1, -1, -1
8687
8688 /**
8689 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_sched3
8690 *
8691 * DSS Ddrctl Regb Ddrc Ch0 Sched3 Register
8692 * Scheduler Control Register 3
8693 */
8694 union ody_dssx_ddrctl_regb_ddrc_ch0_sched3 {
8695 uint32_t u;
8696 struct ody_dssx_ddrctl_regb_ddrc_ch0_sched3_s {
8697 uint32_t wrcam_lowthresh : 6;
8698 uint32_t reserved_6_7 : 2;
8699 uint32_t wrcam_highthresh : 6;
8700 uint32_t reserved_14_15 : 2;
8701 uint32_t wr_pghit_num_thresh : 6;
8702 uint32_t reserved_22_23 : 2;
8703 uint32_t rd_pghit_num_thresh : 6;
8704 uint32_t reserved_30_31 : 2;
8705 } s;
8706 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_sched3_s cn; */
8707 };
8708 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_sched3 ody_dssx_ddrctl_regb_ddrc_ch0_sched3_t;
8709
8710 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SCHED3(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SCHED3(uint64_t a)8711 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SCHED3(uint64_t a)
8712 {
8713 if (a <= 19)
8714 return 0x87e1b021038cll + 0x1000000ll * ((a) & 0x1f);
8715 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_SCHED3", 1, a, 0, 0, 0, 0, 0);
8716 }
8717
8718 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SCHED3(a) ody_dssx_ddrctl_regb_ddrc_ch0_sched3_t
8719 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SCHED3(a) CSR_TYPE_RSL32b
8720 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SCHED3(a) "DSSX_DDRCTL_REGB_DDRC_CH0_SCHED3"
8721 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SCHED3(a) 0x0 /* PF_BAR0 */
8722 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SCHED3(a) (a)
8723 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SCHED3(a) (a), -1, -1, -1
8724
8725 /**
8726 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_sched4
8727 *
8728 * DSS Ddrctl Regb Ddrc Ch0 Sched4 Register
8729 * Scheduler Control Register 4
8730 */
8731 union ody_dssx_ddrctl_regb_ddrc_ch0_sched4 {
8732 uint32_t u;
8733 struct ody_dssx_ddrctl_regb_ddrc_ch0_sched4_s {
8734 uint32_t rd_act_idle_gap : 8;
8735 uint32_t wr_act_idle_gap : 8;
8736 uint32_t rd_page_exp_cycles : 8;
8737 uint32_t wr_page_exp_cycles : 8;
8738 } s;
8739 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_sched4_s cn; */
8740 };
8741 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_sched4 ody_dssx_ddrctl_regb_ddrc_ch0_sched4_t;
8742
8743 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SCHED4(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SCHED4(uint64_t a)8744 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SCHED4(uint64_t a)
8745 {
8746 if (a <= 19)
8747 return 0x87e1b0210390ll + 0x1000000ll * ((a) & 0x1f);
8748 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_SCHED4", 1, a, 0, 0, 0, 0, 0);
8749 }
8750
8751 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SCHED4(a) ody_dssx_ddrctl_regb_ddrc_ch0_sched4_t
8752 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SCHED4(a) CSR_TYPE_RSL32b
8753 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SCHED4(a) "DSSX_DDRCTL_REGB_DDRC_CH0_SCHED4"
8754 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SCHED4(a) 0x0 /* PF_BAR0 */
8755 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SCHED4(a) (a)
8756 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SCHED4(a) (a), -1, -1, -1
8757
8758 /**
8759 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_stat
8760 *
8761 * DSS Ddrctl Regb Ddrc Ch0 Stat Register
8762 * Operating Mode Status Register
8763 */
8764 union ody_dssx_ddrctl_regb_ddrc_ch0_stat {
8765 uint32_t u;
8766 struct ody_dssx_ddrctl_regb_ddrc_ch0_stat_s {
8767 uint32_t operating_mode : 3;
8768 uint32_t reserved_3 : 1;
8769 uint32_t selfref_type : 4;
8770 uint32_t reserved_8_19 : 12;
8771 uint32_t powerdown_state : 2;
8772 uint32_t reserved_22_23 : 2;
8773 uint32_t mpsm_state : 2;
8774 uint32_t reserved_26_29 : 4;
8775 uint32_t dfi_lp_state : 1;
8776 uint32_t reserved_31 : 1;
8777 } s;
8778 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_stat_s cn; */
8779 };
8780 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_stat ody_dssx_ddrctl_regb_ddrc_ch0_stat_t;
8781
8782 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_STAT(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_STAT(uint64_t a)8783 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_STAT(uint64_t a)
8784 {
8785 if (a <= 19)
8786 return 0x87e1b0210014ll + 0x1000000ll * ((a) & 0x1f);
8787 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_STAT", 1, a, 0, 0, 0, 0, 0);
8788 }
8789
8790 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_STAT(a) ody_dssx_ddrctl_regb_ddrc_ch0_stat_t
8791 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_STAT(a) CSR_TYPE_RSL32b
8792 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_STAT(a) "DSSX_DDRCTL_REGB_DDRC_CH0_STAT"
8793 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_STAT(a) 0x0 /* PF_BAR0 */
8794 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_STAT(a) (a)
8795 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_STAT(a) (a), -1, -1, -1
8796
8797 /**
8798 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_stat2
8799 *
8800 * DSS Ddrctl Regb Ddrc Ch0 Stat2 Register
8801 * Operating Mode Status Register2
8802 */
8803 union ody_dssx_ddrctl_regb_ddrc_ch0_stat2 {
8804 uint32_t u;
8805 struct ody_dssx_ddrctl_regb_ddrc_ch0_stat2_s {
8806 uint32_t glb_blk_events_ongoing : 8;
8807 uint32_t reserved_8_23 : 16;
8808 uint32_t selfref_ongoing : 2;
8809 uint32_t reserved_26_27 : 2;
8810 uint32_t powerdown_ongoing : 2;
8811 uint32_t reserved_30_31 : 2;
8812 } s;
8813 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_stat2_s cn; */
8814 };
8815 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_stat2 ody_dssx_ddrctl_regb_ddrc_ch0_stat2_t;
8816
8817 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_STAT2(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_STAT2(uint64_t a)8818 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_STAT2(uint64_t a)
8819 {
8820 if (a <= 19)
8821 return 0x87e1b0210018ll + 0x1000000ll * ((a) & 0x1f);
8822 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_STAT2", 1, a, 0, 0, 0, 0, 0);
8823 }
8824
8825 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_STAT2(a) ody_dssx_ddrctl_regb_ddrc_ch0_stat2_t
8826 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_STAT2(a) CSR_TYPE_RSL32b
8827 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_STAT2(a) "DSSX_DDRCTL_REGB_DDRC_CH0_STAT2"
8828 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_STAT2(a) 0x0 /* PF_BAR0 */
8829 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_STAT2(a) (a)
8830 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_STAT2(a) (a), -1, -1, -1
8831
8832 /**
8833 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_stat3
8834 *
8835 * DSS Ddrctl Regb Ddrc Ch0 Stat3 Register
8836 * Operating Mode Status Register3
8837 */
8838 union ody_dssx_ddrctl_regb_ddrc_ch0_stat3 {
8839 uint32_t u;
8840 struct ody_dssx_ddrctl_regb_ddrc_ch0_stat3_s {
8841 uint32_t rank_blk_events_ongoing : 16;
8842 uint32_t reserved_16_31 : 16;
8843 } s;
8844 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_stat3_s cn; */
8845 };
8846 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_stat3 ody_dssx_ddrctl_regb_ddrc_ch0_stat3_t;
8847
8848 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_STAT3(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_STAT3(uint64_t a)8849 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_STAT3(uint64_t a)
8850 {
8851 if (a <= 19)
8852 return 0x87e1b021001cll + 0x1000000ll * ((a) & 0x1f);
8853 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_STAT3", 1, a, 0, 0, 0, 0, 0);
8854 }
8855
8856 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_STAT3(a) ody_dssx_ddrctl_regb_ddrc_ch0_stat3_t
8857 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_STAT3(a) CSR_TYPE_RSL32b
8858 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_STAT3(a) "DSSX_DDRCTL_REGB_DDRC_CH0_STAT3"
8859 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_STAT3(a) 0x0 /* PF_BAR0 */
8860 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_STAT3(a) (a)
8861 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_STAT3(a) (a), -1, -1, -1
8862
8863 /**
8864 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_swctl
8865 *
8866 * DSS Ddrctl Regb Ddrc Ch0 Swctl Register
8867 * Software Register Programming Control Enable
8868 */
8869 union ody_dssx_ddrctl_regb_ddrc_ch0_swctl {
8870 uint32_t u;
8871 struct ody_dssx_ddrctl_regb_ddrc_ch0_swctl_s {
8872 uint32_t sw_done : 1;
8873 uint32_t reserved_1_31 : 31;
8874 } s;
8875 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_swctl_s cn; */
8876 };
8877 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_swctl ody_dssx_ddrctl_regb_ddrc_ch0_swctl_t;
8878
8879 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SWCTL(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SWCTL(uint64_t a)8880 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SWCTL(uint64_t a)
8881 {
8882 if (a <= 19)
8883 return 0x87e1b0210c80ll + 0x1000000ll * ((a) & 0x1f);
8884 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_SWCTL", 1, a, 0, 0, 0, 0, 0);
8885 }
8886
8887 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SWCTL(a) ody_dssx_ddrctl_regb_ddrc_ch0_swctl_t
8888 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SWCTL(a) CSR_TYPE_RSL32b
8889 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SWCTL(a) "DSSX_DDRCTL_REGB_DDRC_CH0_SWCTL"
8890 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SWCTL(a) 0x0 /* PF_BAR0 */
8891 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SWCTL(a) (a)
8892 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SWCTL(a) (a), -1, -1, -1
8893
8894 /**
8895 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_swctlstatic
8896 *
8897 * DSS Ddrctl Regb Ddrc Ch0 Swctlstatic Register
8898 * Static Registers Write Enable
8899 */
8900 union ody_dssx_ddrctl_regb_ddrc_ch0_swctlstatic {
8901 uint32_t u;
8902 struct ody_dssx_ddrctl_regb_ddrc_ch0_swctlstatic_s {
8903 uint32_t sw_static_unlock : 1;
8904 uint32_t reserved_1_31 : 31;
8905 } s;
8906 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_swctlstatic_s cn; */
8907 };
8908 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_swctlstatic ody_dssx_ddrctl_regb_ddrc_ch0_swctlstatic_t;
8909
8910 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SWCTLSTATIC(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SWCTLSTATIC(uint64_t a)8911 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SWCTLSTATIC(uint64_t a)
8912 {
8913 if (a <= 19)
8914 return 0x87e1b0210ca4ll + 0x1000000ll * ((a) & 0x1f);
8915 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_SWCTLSTATIC", 1, a, 0, 0, 0, 0, 0);
8916 }
8917
8918 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SWCTLSTATIC(a) ody_dssx_ddrctl_regb_ddrc_ch0_swctlstatic_t
8919 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SWCTLSTATIC(a) CSR_TYPE_RSL32b
8920 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SWCTLSTATIC(a) "DSSX_DDRCTL_REGB_DDRC_CH0_SWCTLSTATIC"
8921 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SWCTLSTATIC(a) 0x0 /* PF_BAR0 */
8922 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SWCTLSTATIC(a) (a)
8923 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SWCTLSTATIC(a) (a), -1, -1, -1
8924
8925 /**
8926 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_swstat
8927 *
8928 * DSS Ddrctl Regb Ddrc Ch0 Swstat Register
8929 * Software Register Programming Control Status
8930 */
8931 union ody_dssx_ddrctl_regb_ddrc_ch0_swstat {
8932 uint32_t u;
8933 struct ody_dssx_ddrctl_regb_ddrc_ch0_swstat_s {
8934 uint32_t sw_done_ack : 1;
8935 uint32_t reserved_1_31 : 31;
8936 } s;
8937 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_swstat_s cn; */
8938 };
8939 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_swstat ody_dssx_ddrctl_regb_ddrc_ch0_swstat_t;
8940
8941 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SWSTAT(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SWSTAT(uint64_t a)8942 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SWSTAT(uint64_t a)
8943 {
8944 if (a <= 19)
8945 return 0x87e1b0210c84ll + 0x1000000ll * ((a) & 0x1f);
8946 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_SWSTAT", 1, a, 0, 0, 0, 0, 0);
8947 }
8948
8949 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SWSTAT(a) ody_dssx_ddrctl_regb_ddrc_ch0_swstat_t
8950 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SWSTAT(a) CSR_TYPE_RSL32b
8951 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SWSTAT(a) "DSSX_DDRCTL_REGB_DDRC_CH0_SWSTAT"
8952 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SWSTAT(a) 0x0 /* PF_BAR0 */
8953 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SWSTAT(a) (a)
8954 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_SWSTAT(a) (a), -1, -1, -1
8955
8956 /**
8957 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_zqctl0
8958 *
8959 * DSS Ddrctl Regb Ddrc Ch0 Zqctl0 Register
8960 * ZQ Control Register 0
8961 */
8962 union ody_dssx_ddrctl_regb_ddrc_ch0_zqctl0 {
8963 uint32_t u;
8964 struct ody_dssx_ddrctl_regb_ddrc_ch0_zqctl0_s {
8965 uint32_t reserved_0_28 : 29;
8966 uint32_t zq_resistor_shared : 1;
8967 uint32_t reserved_30_31 : 2;
8968 } s;
8969 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_zqctl0_s cn; */
8970 };
8971 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_zqctl0 ody_dssx_ddrctl_regb_ddrc_ch0_zqctl0_t;
8972
8973 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ZQCTL0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ZQCTL0(uint64_t a)8974 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ZQCTL0(uint64_t a)
8975 {
8976 if (a <= 19)
8977 return 0x87e1b0210280ll + 0x1000000ll * ((a) & 0x1f);
8978 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_ZQCTL0", 1, a, 0, 0, 0, 0, 0);
8979 }
8980
8981 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ZQCTL0(a) ody_dssx_ddrctl_regb_ddrc_ch0_zqctl0_t
8982 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ZQCTL0(a) CSR_TYPE_RSL32b
8983 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ZQCTL0(a) "DSSX_DDRCTL_REGB_DDRC_CH0_ZQCTL0"
8984 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ZQCTL0(a) 0x0 /* PF_BAR0 */
8985 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ZQCTL0(a) (a)
8986 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ZQCTL0(a) (a), -1, -1, -1
8987
8988 /**
8989 * Register (RSL32b) dss#_ddrctl_regb_ddrc_ch0_zqctl2
8990 *
8991 * DSS Ddrctl Regb Ddrc Ch0 Zqctl2 Register
8992 * ZQ Control Register 2
8993 */
8994 union ody_dssx_ddrctl_regb_ddrc_ch0_zqctl2 {
8995 uint32_t u;
8996 struct ody_dssx_ddrctl_regb_ddrc_ch0_zqctl2_s {
8997 uint32_t dis_srx_zqcl : 1;
8998 uint32_t reserved_1_31 : 31;
8999 } s;
9000 /* struct ody_dssx_ddrctl_regb_ddrc_ch0_zqctl2_s cn; */
9001 };
9002 typedef union ody_dssx_ddrctl_regb_ddrc_ch0_zqctl2 ody_dssx_ddrctl_regb_ddrc_ch0_zqctl2_t;
9003
9004 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ZQCTL2(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ZQCTL2(uint64_t a)9005 static inline uint64_t ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ZQCTL2(uint64_t a)
9006 {
9007 if (a <= 19)
9008 return 0x87e1b0210288ll + 0x1000000ll * ((a) & 0x1f);
9009 __ody_csr_fatal("DSSX_DDRCTL_REGB_DDRC_CH0_ZQCTL2", 1, a, 0, 0, 0, 0, 0);
9010 }
9011
9012 #define typedef_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ZQCTL2(a) ody_dssx_ddrctl_regb_ddrc_ch0_zqctl2_t
9013 #define bustype_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ZQCTL2(a) CSR_TYPE_RSL32b
9014 #define basename_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ZQCTL2(a) "DSSX_DDRCTL_REGB_DDRC_CH0_ZQCTL2"
9015 #define device_bar_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ZQCTL2(a) 0x0 /* PF_BAR0 */
9016 #define busnum_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ZQCTL2(a) (a)
9017 #define arguments_ODY_DSSX_DDRCTL_REGB_DDRC_CH0_ZQCTL2(a) (a), -1, -1, -1
9018
9019 /**
9020 * Register (RSL32b) dss#_ddrctl_regb_freq0_ch0_crcpartmg0
9021 *
9022 * DSS Ddrctl Regb Freq0 Ch0 Crcpartmg0 Register
9023 * CRC Parity Timing 0. The register is defined in term of DRAM clock cycles
9024 */
9025 union ody_dssx_ddrctl_regb_freq0_ch0_crcpartmg0 {
9026 uint32_t u;
9027 struct ody_dssx_ddrctl_regb_freq0_ch0_crcpartmg0_s {
9028 uint32_t reserved_0_15 : 16;
9029 uint32_t t_wr_crc_alert_pw_max : 10;
9030 uint32_t reserved_26_27 : 2;
9031 uint32_t t_wr_crc_alert_pw_min : 4;
9032 } s;
9033 /* struct ody_dssx_ddrctl_regb_freq0_ch0_crcpartmg0_s cn; */
9034 };
9035 typedef union ody_dssx_ddrctl_regb_freq0_ch0_crcpartmg0 ody_dssx_ddrctl_regb_freq0_ch0_crcpartmg0_t;
9036
9037 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_CRCPARTMG0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_CRCPARTMG0(uint64_t a)9038 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_CRCPARTMG0(uint64_t a)
9039 {
9040 if (a <= 19)
9041 return 0x87e1b0200d14ll + 0x1000000ll * ((a) & 0x1f);
9042 __ody_csr_fatal("DSSX_DDRCTL_REGB_FREQ0_CH0_CRCPARTMG0", 1, a, 0, 0, 0, 0, 0);
9043 }
9044
9045 #define typedef_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_CRCPARTMG0(a) ody_dssx_ddrctl_regb_freq0_ch0_crcpartmg0_t
9046 #define bustype_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_CRCPARTMG0(a) CSR_TYPE_RSL32b
9047 #define basename_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_CRCPARTMG0(a) "DSSX_DDRCTL_REGB_FREQ0_CH0_CRCPARTMG0"
9048 #define device_bar_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_CRCPARTMG0(a) 0x0 /* PF_BAR0 */
9049 #define busnum_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_CRCPARTMG0(a) (a)
9050 #define arguments_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_CRCPARTMG0(a) (a), -1, -1, -1
9051
9052 /**
9053 * Register (RSL32b) dss#_ddrctl_regb_freq0_ch0_crcpartmg1
9054 *
9055 * DSS Ddrctl Regb Freq0 Ch0 Crcpartmg1 Register
9056 * CRC Parity Timing 1
9057 */
9058 union ody_dssx_ddrctl_regb_freq0_ch0_crcpartmg1 {
9059 uint32_t u;
9060 struct ody_dssx_ddrctl_regb_freq0_ch0_crcpartmg1_s {
9061 uint32_t t_csalt : 5;
9062 uint32_t reserved_5_31 : 27;
9063 } s;
9064 /* struct ody_dssx_ddrctl_regb_freq0_ch0_crcpartmg1_s cn; */
9065 };
9066 typedef union ody_dssx_ddrctl_regb_freq0_ch0_crcpartmg1 ody_dssx_ddrctl_regb_freq0_ch0_crcpartmg1_t;
9067
9068 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_CRCPARTMG1(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_CRCPARTMG1(uint64_t a)9069 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_CRCPARTMG1(uint64_t a)
9070 {
9071 if (a <= 19)
9072 return 0x87e1b0200d18ll + 0x1000000ll * ((a) & 0x1f);
9073 __ody_csr_fatal("DSSX_DDRCTL_REGB_FREQ0_CH0_CRCPARTMG1", 1, a, 0, 0, 0, 0, 0);
9074 }
9075
9076 #define typedef_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_CRCPARTMG1(a) ody_dssx_ddrctl_regb_freq0_ch0_crcpartmg1_t
9077 #define bustype_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_CRCPARTMG1(a) CSR_TYPE_RSL32b
9078 #define basename_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_CRCPARTMG1(a) "DSSX_DDRCTL_REGB_FREQ0_CH0_CRCPARTMG1"
9079 #define device_bar_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_CRCPARTMG1(a) 0x0 /* PF_BAR0 */
9080 #define busnum_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_CRCPARTMG1(a) (a)
9081 #define arguments_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_CRCPARTMG1(a) (a), -1, -1, -1
9082
9083 /**
9084 * Register (RSL32b) dss#_ddrctl_regb_freq0_ch0_dfilptmg0
9085 *
9086 * DSS Ddrctl Regb Freq0 Ch0 Dfilptmg0 Register
9087 * DFI Low Power Timing Register 0
9088 */
9089 union ody_dssx_ddrctl_regb_freq0_ch0_dfilptmg0 {
9090 uint32_t u;
9091 struct ody_dssx_ddrctl_regb_freq0_ch0_dfilptmg0_s {
9092 uint32_t dfi_lp_wakeup_pd : 5;
9093 uint32_t reserved_5_7 : 3;
9094 uint32_t dfi_lp_wakeup_sr : 5;
9095 uint32_t reserved_13_31 : 19;
9096 } s;
9097 /* struct ody_dssx_ddrctl_regb_freq0_ch0_dfilptmg0_s cn; */
9098 };
9099 typedef union ody_dssx_ddrctl_regb_freq0_ch0_dfilptmg0 ody_dssx_ddrctl_regb_freq0_ch0_dfilptmg0_t;
9100
9101 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFILPTMG0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFILPTMG0(uint64_t a)9102 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFILPTMG0(uint64_t a)
9103 {
9104 if (a <= 19)
9105 return 0x87e1b02005a0ll + 0x1000000ll * ((a) & 0x1f);
9106 __ody_csr_fatal("DSSX_DDRCTL_REGB_FREQ0_CH0_DFILPTMG0", 1, a, 0, 0, 0, 0, 0);
9107 }
9108
9109 #define typedef_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFILPTMG0(a) ody_dssx_ddrctl_regb_freq0_ch0_dfilptmg0_t
9110 #define bustype_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFILPTMG0(a) CSR_TYPE_RSL32b
9111 #define basename_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFILPTMG0(a) "DSSX_DDRCTL_REGB_FREQ0_CH0_DFILPTMG0"
9112 #define device_bar_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFILPTMG0(a) 0x0 /* PF_BAR0 */
9113 #define busnum_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFILPTMG0(a) (a)
9114 #define arguments_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFILPTMG0(a) (a), -1, -1, -1
9115
9116 /**
9117 * Register (RSL32b) dss#_ddrctl_regb_freq0_ch0_dfilptmg1
9118 *
9119 * DSS Ddrctl Regb Freq0 Ch0 Dfilptmg1 Register
9120 * DFI Low Power Timing Register 1
9121 */
9122 union ody_dssx_ddrctl_regb_freq0_ch0_dfilptmg1 {
9123 uint32_t u;
9124 struct ody_dssx_ddrctl_regb_freq0_ch0_dfilptmg1_s {
9125 uint32_t reserved_0_7 : 8;
9126 uint32_t dfi_tlp_resp : 5;
9127 uint32_t reserved_13_31 : 19;
9128 } s;
9129 /* struct ody_dssx_ddrctl_regb_freq0_ch0_dfilptmg1_s cn; */
9130 };
9131 typedef union ody_dssx_ddrctl_regb_freq0_ch0_dfilptmg1 ody_dssx_ddrctl_regb_freq0_ch0_dfilptmg1_t;
9132
9133 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFILPTMG1(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFILPTMG1(uint64_t a)9134 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFILPTMG1(uint64_t a)
9135 {
9136 if (a <= 19)
9137 return 0x87e1b02005a4ll + 0x1000000ll * ((a) & 0x1f);
9138 __ody_csr_fatal("DSSX_DDRCTL_REGB_FREQ0_CH0_DFILPTMG1", 1, a, 0, 0, 0, 0, 0);
9139 }
9140
9141 #define typedef_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFILPTMG1(a) ody_dssx_ddrctl_regb_freq0_ch0_dfilptmg1_t
9142 #define bustype_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFILPTMG1(a) CSR_TYPE_RSL32b
9143 #define basename_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFILPTMG1(a) "DSSX_DDRCTL_REGB_FREQ0_CH0_DFILPTMG1"
9144 #define device_bar_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFILPTMG1(a) 0x0 /* PF_BAR0 */
9145 #define busnum_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFILPTMG1(a) (a)
9146 #define arguments_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFILPTMG1(a) (a), -1, -1, -1
9147
9148 /**
9149 * Register (RSL32b) dss#_ddrctl_regb_freq0_ch0_dfitmg0
9150 *
9151 * DSS Ddrctl Regb Freq0 Ch0 Dfitmg0 Register
9152 * DFI Timing Register 0
9153 */
9154 union ody_dssx_ddrctl_regb_freq0_ch0_dfitmg0 {
9155 uint32_t u;
9156 struct ody_dssx_ddrctl_regb_freq0_ch0_dfitmg0_s {
9157 uint32_t dfi_tphy_wrlat : 7;
9158 uint32_t reserved_7 : 1;
9159 uint32_t dfi_tphy_wrdata : 6;
9160 uint32_t reserved_14_15 : 2;
9161 uint32_t dfi_t_rddata_en : 7;
9162 uint32_t reserved_23 : 1;
9163 uint32_t dfi_t_ctrl_delay : 5;
9164 uint32_t reserved_29_31 : 3;
9165 } s;
9166 /* struct ody_dssx_ddrctl_regb_freq0_ch0_dfitmg0_s cn; */
9167 };
9168 typedef union ody_dssx_ddrctl_regb_freq0_ch0_dfitmg0 ody_dssx_ddrctl_regb_freq0_ch0_dfitmg0_t;
9169
9170 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFITMG0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFITMG0(uint64_t a)9171 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFITMG0(uint64_t a)
9172 {
9173 if (a <= 19)
9174 return 0x87e1b0200580ll + 0x1000000ll * ((a) & 0x1f);
9175 __ody_csr_fatal("DSSX_DDRCTL_REGB_FREQ0_CH0_DFITMG0", 1, a, 0, 0, 0, 0, 0);
9176 }
9177
9178 #define typedef_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFITMG0(a) ody_dssx_ddrctl_regb_freq0_ch0_dfitmg0_t
9179 #define bustype_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFITMG0(a) CSR_TYPE_RSL32b
9180 #define basename_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFITMG0(a) "DSSX_DDRCTL_REGB_FREQ0_CH0_DFITMG0"
9181 #define device_bar_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFITMG0(a) 0x0 /* PF_BAR0 */
9182 #define busnum_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFITMG0(a) (a)
9183 #define arguments_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFITMG0(a) (a), -1, -1, -1
9184
9185 /**
9186 * Register (RSL32b) dss#_ddrctl_regb_freq0_ch0_dfitmg1
9187 *
9188 * DSS Ddrctl Regb Freq0 Ch0 Dfitmg1 Register
9189 * DFI Timing Register 1
9190 */
9191 union ody_dssx_ddrctl_regb_freq0_ch0_dfitmg1 {
9192 uint32_t u;
9193 struct ody_dssx_ddrctl_regb_freq0_ch0_dfitmg1_s {
9194 uint32_t dfi_t_dram_clk_enable : 5;
9195 uint32_t reserved_5_7 : 3;
9196 uint32_t dfi_t_dram_clk_disable : 5;
9197 uint32_t reserved_13_15 : 3;
9198 uint32_t dfi_t_wrdata_delay : 5;
9199 uint32_t reserved_21_31 : 11;
9200 } s;
9201 /* struct ody_dssx_ddrctl_regb_freq0_ch0_dfitmg1_s cn; */
9202 };
9203 typedef union ody_dssx_ddrctl_regb_freq0_ch0_dfitmg1 ody_dssx_ddrctl_regb_freq0_ch0_dfitmg1_t;
9204
9205 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFITMG1(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFITMG1(uint64_t a)9206 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFITMG1(uint64_t a)
9207 {
9208 if (a <= 19)
9209 return 0x87e1b0200584ll + 0x1000000ll * ((a) & 0x1f);
9210 __ody_csr_fatal("DSSX_DDRCTL_REGB_FREQ0_CH0_DFITMG1", 1, a, 0, 0, 0, 0, 0);
9211 }
9212
9213 #define typedef_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFITMG1(a) ody_dssx_ddrctl_regb_freq0_ch0_dfitmg1_t
9214 #define bustype_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFITMG1(a) CSR_TYPE_RSL32b
9215 #define basename_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFITMG1(a) "DSSX_DDRCTL_REGB_FREQ0_CH0_DFITMG1"
9216 #define device_bar_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFITMG1(a) 0x0 /* PF_BAR0 */
9217 #define busnum_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFITMG1(a) (a)
9218 #define arguments_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFITMG1(a) (a), -1, -1, -1
9219
9220 /**
9221 * Register (RSL32b) dss#_ddrctl_regb_freq0_ch0_dfitmg2
9222 *
9223 * DSS Ddrctl Regb Freq0 Ch0 Dfitmg2 Register
9224 * DFI Timing Register 2
9225 */
9226 union ody_dssx_ddrctl_regb_freq0_ch0_dfitmg2 {
9227 uint32_t u;
9228 struct ody_dssx_ddrctl_regb_freq0_ch0_dfitmg2_s {
9229 uint32_t dfi_tphy_wrcslat : 7;
9230 uint32_t reserved_7 : 1;
9231 uint32_t dfi_tphy_rdcslat : 7;
9232 uint32_t reserved_15_31 : 17;
9233 } s;
9234 /* struct ody_dssx_ddrctl_regb_freq0_ch0_dfitmg2_s cn; */
9235 };
9236 typedef union ody_dssx_ddrctl_regb_freq0_ch0_dfitmg2 ody_dssx_ddrctl_regb_freq0_ch0_dfitmg2_t;
9237
9238 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFITMG2(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFITMG2(uint64_t a)9239 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFITMG2(uint64_t a)
9240 {
9241 if (a <= 19)
9242 return 0x87e1b0200588ll + 0x1000000ll * ((a) & 0x1f);
9243 __ody_csr_fatal("DSSX_DDRCTL_REGB_FREQ0_CH0_DFITMG2", 1, a, 0, 0, 0, 0, 0);
9244 }
9245
9246 #define typedef_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFITMG2(a) ody_dssx_ddrctl_regb_freq0_ch0_dfitmg2_t
9247 #define bustype_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFITMG2(a) CSR_TYPE_RSL32b
9248 #define basename_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFITMG2(a) "DSSX_DDRCTL_REGB_FREQ0_CH0_DFITMG2"
9249 #define device_bar_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFITMG2(a) 0x0 /* PF_BAR0 */
9250 #define busnum_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFITMG2(a) (a)
9251 #define arguments_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFITMG2(a) (a), -1, -1, -1
9252
9253 /**
9254 * Register (RSL32b) dss#_ddrctl_regb_freq0_ch0_dfitmg7
9255 *
9256 * DSS Ddrctl Regb Freq0 Ch0 Dfitmg7 Register
9257 * DFI Timing Register 7
9258 */
9259 union ody_dssx_ddrctl_regb_freq0_ch0_dfitmg7 {
9260 uint32_t u;
9261 struct ody_dssx_ddrctl_regb_freq0_ch0_dfitmg7_s {
9262 uint32_t dfi_t_2n_mode_delay : 5;
9263 uint32_t dfi_t_init_start : 12;
9264 uint32_t dfi_t_init_complete : 15;
9265 } s;
9266 /* struct ody_dssx_ddrctl_regb_freq0_ch0_dfitmg7_s cn; */
9267 };
9268 typedef union ody_dssx_ddrctl_regb_freq0_ch0_dfitmg7 ody_dssx_ddrctl_regb_freq0_ch0_dfitmg7_t;
9269
9270 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFITMG7(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFITMG7(uint64_t a)9271 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFITMG7(uint64_t a)
9272 {
9273 if (a <= 19)
9274 return 0x87e1b020059cll + 0x1000000ll * ((a) & 0x1f);
9275 __ody_csr_fatal("DSSX_DDRCTL_REGB_FREQ0_CH0_DFITMG7", 1, a, 0, 0, 0, 0, 0);
9276 }
9277
9278 #define typedef_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFITMG7(a) ody_dssx_ddrctl_regb_freq0_ch0_dfitmg7_t
9279 #define bustype_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFITMG7(a) CSR_TYPE_RSL32b
9280 #define basename_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFITMG7(a) "DSSX_DDRCTL_REGB_FREQ0_CH0_DFITMG7"
9281 #define device_bar_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFITMG7(a) 0x0 /* PF_BAR0 */
9282 #define busnum_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFITMG7(a) (a)
9283 #define arguments_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFITMG7(a) (a), -1, -1, -1
9284
9285 /**
9286 * Register (RSL32b) dss#_ddrctl_regb_freq0_ch0_dfiupdtmg0
9287 *
9288 * DSS Ddrctl Regb Freq0 Ch0 Dfiupdtmg0 Register
9289 * DFI Update Timing Register 0
9290 */
9291 union ody_dssx_ddrctl_regb_freq0_ch0_dfiupdtmg0 {
9292 uint32_t u;
9293 struct ody_dssx_ddrctl_regb_freq0_ch0_dfiupdtmg0_s {
9294 uint32_t dfi_t_ctrlup_min : 10;
9295 uint32_t reserved_10_15 : 6;
9296 uint32_t dfi_t_ctrlup_max : 10;
9297 uint32_t reserved_26_31 : 6;
9298 } s;
9299 /* struct ody_dssx_ddrctl_regb_freq0_ch0_dfiupdtmg0_s cn; */
9300 };
9301 typedef union ody_dssx_ddrctl_regb_freq0_ch0_dfiupdtmg0 ody_dssx_ddrctl_regb_freq0_ch0_dfiupdtmg0_t;
9302
9303 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFIUPDTMG0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFIUPDTMG0(uint64_t a)9304 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFIUPDTMG0(uint64_t a)
9305 {
9306 if (a <= 19)
9307 return 0x87e1b02005a8ll + 0x1000000ll * ((a) & 0x1f);
9308 __ody_csr_fatal("DSSX_DDRCTL_REGB_FREQ0_CH0_DFIUPDTMG0", 1, a, 0, 0, 0, 0, 0);
9309 }
9310
9311 #define typedef_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFIUPDTMG0(a) ody_dssx_ddrctl_regb_freq0_ch0_dfiupdtmg0_t
9312 #define bustype_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFIUPDTMG0(a) CSR_TYPE_RSL32b
9313 #define basename_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFIUPDTMG0(a) "DSSX_DDRCTL_REGB_FREQ0_CH0_DFIUPDTMG0"
9314 #define device_bar_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFIUPDTMG0(a) 0x0 /* PF_BAR0 */
9315 #define busnum_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFIUPDTMG0(a) (a)
9316 #define arguments_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DFIUPDTMG0(a) (a), -1, -1, -1
9317
9318 /**
9319 * Register (RSL32b) dss#_ddrctl_regb_freq0_ch0_dramset1tmg0
9320 *
9321 * DSS Ddrctl Regb Freq0 Ch0 Dramset1tmg0 Register
9322 * SDRAM Timing Register 0 belonging to Timing Set 1
9323 */
9324 union ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg0 {
9325 uint32_t u;
9326 struct ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg0_s {
9327 uint32_t t_ras_min : 8;
9328 uint32_t reserved_8_15 : 8;
9329 uint32_t t_faw : 8;
9330 uint32_t wr2pre : 8;
9331 } s;
9332 /* struct ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg0_s cn; */
9333 };
9334 typedef union ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg0 ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg0_t;
9335
9336 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG0(uint64_t a)9337 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG0(uint64_t a)
9338 {
9339 if (a <= 19)
9340 return 0x87e1b0200000ll + 0x1000000ll * ((a) & 0x1f);
9341 __ody_csr_fatal("DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG0", 1, a, 0, 0, 0, 0, 0);
9342 }
9343
9344 #define typedef_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG0(a) ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg0_t
9345 #define bustype_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG0(a) CSR_TYPE_RSL32b
9346 #define basename_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG0(a) "DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG0"
9347 #define device_bar_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG0(a) 0x0 /* PF_BAR0 */
9348 #define busnum_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG0(a) (a)
9349 #define arguments_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG0(a) (a), -1, -1, -1
9350
9351 /**
9352 * Register (RSL32b) dss#_ddrctl_regb_freq0_ch0_dramset1tmg1
9353 *
9354 * DSS Ddrctl Regb Freq0 Ch0 Dramset1tmg1 Register
9355 * SDRAM Timing Register 1 belonging to Timing Set 1
9356 */
9357 union ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg1 {
9358 uint32_t u;
9359 struct ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg1_s {
9360 uint32_t t_rc : 8;
9361 uint32_t rd2pre : 8;
9362 uint32_t t_xp : 6;
9363 uint32_t reserved_22_31 : 10;
9364 } s;
9365 /* struct ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg1_s cn; */
9366 };
9367 typedef union ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg1 ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg1_t;
9368
9369 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG1(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG1(uint64_t a)9370 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG1(uint64_t a)
9371 {
9372 if (a <= 19)
9373 return 0x87e1b0200004ll + 0x1000000ll * ((a) & 0x1f);
9374 __ody_csr_fatal("DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG1", 1, a, 0, 0, 0, 0, 0);
9375 }
9376
9377 #define typedef_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG1(a) ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg1_t
9378 #define bustype_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG1(a) CSR_TYPE_RSL32b
9379 #define basename_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG1(a) "DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG1"
9380 #define device_bar_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG1(a) 0x0 /* PF_BAR0 */
9381 #define busnum_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG1(a) (a)
9382 #define arguments_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG1(a) (a), -1, -1, -1
9383
9384 /**
9385 * Register (RSL32b) dss#_ddrctl_regb_freq0_ch0_dramset1tmg13
9386 *
9387 * DSS Ddrctl Regb Freq0 Ch0 Dramset1tmg13 Register
9388 * SDRAM Timing Register 13 belonging to Timing Set 1
9389 */
9390 union ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg13 {
9391 uint32_t u;
9392 struct ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg13_s {
9393 uint32_t t_ppd : 4;
9394 uint32_t t_ccd_w2 : 8;
9395 uint32_t reserved_12_31 : 20;
9396 } s;
9397 /* struct ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg13_s cn; */
9398 };
9399 typedef union ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg13 ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg13_t;
9400
9401 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG13(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG13(uint64_t a)9402 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG13(uint64_t a)
9403 {
9404 if (a <= 19)
9405 return 0x87e1b0200034ll + 0x1000000ll * ((a) & 0x1f);
9406 __ody_csr_fatal("DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG13", 1, a, 0, 0, 0, 0, 0);
9407 }
9408
9409 #define typedef_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG13(a) ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg13_t
9410 #define bustype_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG13(a) CSR_TYPE_RSL32b
9411 #define basename_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG13(a) "DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG13"
9412 #define device_bar_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG13(a) 0x0 /* PF_BAR0 */
9413 #define busnum_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG13(a) (a)
9414 #define arguments_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG13(a) (a), -1, -1, -1
9415
9416 /**
9417 * Register (RSL32b) dss#_ddrctl_regb_freq0_ch0_dramset1tmg15
9418 *
9419 * DSS Ddrctl Regb Freq0 Ch0 Dramset1tmg15 Register
9420 * SDRAM Timing Register 15 belonging to Timing Set 1
9421 */
9422 union ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg15 {
9423 uint32_t u;
9424 struct ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg15_s {
9425 uint32_t t_stab_x32 : 10;
9426 uint32_t reserved_10_31 : 22;
9427 } s;
9428 /* struct ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg15_s cn; */
9429 };
9430 typedef union ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg15 ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg15_t;
9431
9432 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG15(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG15(uint64_t a)9433 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG15(uint64_t a)
9434 {
9435 if (a <= 19)
9436 return 0x87e1b020003cll + 0x1000000ll * ((a) & 0x1f);
9437 __ody_csr_fatal("DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG15", 1, a, 0, 0, 0, 0, 0);
9438 }
9439
9440 #define typedef_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG15(a) ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg15_t
9441 #define bustype_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG15(a) CSR_TYPE_RSL32b
9442 #define basename_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG15(a) "DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG15"
9443 #define device_bar_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG15(a) 0x0 /* PF_BAR0 */
9444 #define busnum_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG15(a) (a)
9445 #define arguments_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG15(a) (a), -1, -1, -1
9446
9447 /**
9448 * Register (RSL32b) dss#_ddrctl_regb_freq0_ch0_dramset1tmg18
9449 *
9450 * DSS Ddrctl Regb Freq0 Ch0 Dramset1tmg18 Register
9451 * SDRAM Timing Register 18 belonging to Timing Set 1
9452 */
9453 union ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg18 {
9454 uint32_t u;
9455 struct ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg18_s {
9456 uint32_t reserved_0_15 : 16;
9457 uint32_t t_mpsmx : 7;
9458 uint32_t reserved_23 : 1;
9459 uint32_t t_pd : 7;
9460 uint32_t reserved_31 : 1;
9461 } s;
9462 /* struct ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg18_s cn; */
9463 };
9464 typedef union ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg18 ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg18_t;
9465
9466 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG18(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG18(uint64_t a)9467 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG18(uint64_t a)
9468 {
9469 if (a <= 19)
9470 return 0x87e1b0200048ll + 0x1000000ll * ((a) & 0x1f);
9471 __ody_csr_fatal("DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG18", 1, a, 0, 0, 0, 0, 0);
9472 }
9473
9474 #define typedef_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG18(a) ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg18_t
9475 #define bustype_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG18(a) CSR_TYPE_RSL32b
9476 #define basename_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG18(a) "DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG18"
9477 #define device_bar_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG18(a) 0x0 /* PF_BAR0 */
9478 #define busnum_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG18(a) (a)
9479 #define arguments_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG18(a) (a), -1, -1, -1
9480
9481 /**
9482 * Register (RSL32b) dss#_ddrctl_regb_freq0_ch0_dramset1tmg2
9483 *
9484 * DSS Ddrctl Regb Freq0 Ch0 Dramset1tmg2 Register
9485 * SDRAM Timing Register 2 belonging to Timing Set 1
9486 */
9487 union ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg2 {
9488 uint32_t u;
9489 struct ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg2_s {
9490 uint32_t wr2rd : 8;
9491 uint32_t rd2wr : 8;
9492 uint32_t read_latency : 7;
9493 uint32_t reserved_23_31 : 9;
9494 } s;
9495 /* struct ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg2_s cn; */
9496 };
9497 typedef union ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg2 ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg2_t;
9498
9499 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG2(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG2(uint64_t a)9500 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG2(uint64_t a)
9501 {
9502 if (a <= 19)
9503 return 0x87e1b0200008ll + 0x1000000ll * ((a) & 0x1f);
9504 __ody_csr_fatal("DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG2", 1, a, 0, 0, 0, 0, 0);
9505 }
9506
9507 #define typedef_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG2(a) ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg2_t
9508 #define bustype_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG2(a) CSR_TYPE_RSL32b
9509 #define basename_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG2(a) "DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG2"
9510 #define device_bar_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG2(a) 0x0 /* PF_BAR0 */
9511 #define busnum_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG2(a) (a)
9512 #define arguments_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG2(a) (a), -1, -1, -1
9513
9514 /**
9515 * Register (RSL32b) dss#_ddrctl_regb_freq0_ch0_dramset1tmg20
9516 *
9517 * DSS Ddrctl Regb Freq0 Ch0 Dramset1tmg20 Register
9518 * SDRAM Timing Register 20 belonging to Timing Set 1
9519 */
9520 union ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg20 {
9521 uint32_t u;
9522 struct ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg20_s {
9523 uint32_t t_csl_srexit : 5;
9524 uint32_t reserved_5_7 : 3;
9525 uint32_t t_csh_srexit : 7;
9526 uint32_t reserved_15 : 1;
9527 uint32_t t_casrx : 5;
9528 uint32_t reserved_21_23 : 3;
9529 uint32_t t_cpded : 6;
9530 uint32_t reserved_30_31 : 2;
9531 } s;
9532 /* struct ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg20_s cn; */
9533 };
9534 typedef union ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg20 ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg20_t;
9535
9536 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG20(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG20(uint64_t a)9537 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG20(uint64_t a)
9538 {
9539 if (a <= 19)
9540 return 0x87e1b0200050ll + 0x1000000ll * ((a) & 0x1f);
9541 __ody_csr_fatal("DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG20", 1, a, 0, 0, 0, 0, 0);
9542 }
9543
9544 #define typedef_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG20(a) ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg20_t
9545 #define bustype_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG20(a) CSR_TYPE_RSL32b
9546 #define basename_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG20(a) "DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG20"
9547 #define device_bar_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG20(a) 0x0 /* PF_BAR0 */
9548 #define busnum_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG20(a) (a)
9549 #define arguments_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG20(a) (a), -1, -1, -1
9550
9551 /**
9552 * Register (RSL32b) dss#_ddrctl_regb_freq0_ch0_dramset1tmg21
9553 *
9554 * DSS Ddrctl Regb Freq0 Ch0 Dramset1tmg21 Register
9555 * SDRAM Timing Register 21 belonging to Timing Set 1
9556 */
9557 union ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg21 {
9558 uint32_t u;
9559 struct ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg21_s {
9560 uint32_t reserved_0_13 : 14;
9561 uint32_t t_mpc_hold : 3;
9562 uint32_t t_mpc_setup : 3;
9563 uint32_t t_mpc_cs : 5;
9564 uint32_t t_csl : 7;
9565 } s;
9566 /* struct ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg21_s cn; */
9567 };
9568 typedef union ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg21 ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg21_t;
9569
9570 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG21(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG21(uint64_t a)9571 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG21(uint64_t a)
9572 {
9573 if (a <= 19)
9574 return 0x87e1b0200054ll + 0x1000000ll * ((a) & 0x1f);
9575 __ody_csr_fatal("DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG21", 1, a, 0, 0, 0, 0, 0);
9576 }
9577
9578 #define typedef_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG21(a) ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg21_t
9579 #define bustype_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG21(a) CSR_TYPE_RSL32b
9580 #define basename_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG21(a) "DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG21"
9581 #define device_bar_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG21(a) 0x0 /* PF_BAR0 */
9582 #define busnum_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG21(a) (a)
9583 #define arguments_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG21(a) (a), -1, -1, -1
9584
9585 /**
9586 * Register (RSL32b) dss#_ddrctl_regb_freq0_ch0_dramset1tmg22
9587 *
9588 * DSS Ddrctl Regb Freq0 Ch0 Dramset1tmg22 Register
9589 * SDRAM Timing Register 22 belonging to Timing Set 1
9590 */
9591 union ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg22 {
9592 uint32_t u;
9593 struct ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg22_s {
9594 uint32_t t_rd2wr_dpr : 7;
9595 uint32_t t_rd2wr_dlr : 7;
9596 uint32_t t_wr2rd_dpr : 8;
9597 uint32_t t_wr2rd_dlr : 8;
9598 uint32_t reserved_30_31 : 2;
9599 } s;
9600 /* struct ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg22_s cn; */
9601 };
9602 typedef union ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg22 ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg22_t;
9603
9604 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG22(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG22(uint64_t a)9605 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG22(uint64_t a)
9606 {
9607 if (a <= 19)
9608 return 0x87e1b0200058ll + 0x1000000ll * ((a) & 0x1f);
9609 __ody_csr_fatal("DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG22", 1, a, 0, 0, 0, 0, 0);
9610 }
9611
9612 #define typedef_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG22(a) ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg22_t
9613 #define bustype_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG22(a) CSR_TYPE_RSL32b
9614 #define basename_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG22(a) "DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG22"
9615 #define device_bar_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG22(a) 0x0 /* PF_BAR0 */
9616 #define busnum_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG22(a) (a)
9617 #define arguments_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG22(a) (a), -1, -1, -1
9618
9619 /**
9620 * Register (RSL32b) dss#_ddrctl_regb_freq0_ch0_dramset1tmg26
9621 *
9622 * DSS Ddrctl Regb Freq0 Ch0 Dramset1tmg26 Register
9623 * SDRAM Timing Register 26 belonging to Timing Set 1
9624 */
9625 union ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg26 {
9626 uint32_t u;
9627 struct ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg26_s {
9628 uint32_t t_ccd_r : 8;
9629 uint32_t t_ccd_w : 8;
9630 uint32_t t_ccd_r_s : 8;
9631 uint32_t t_ccd_w_s : 8;
9632 } s;
9633 /* struct ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg26_s cn; */
9634 };
9635 typedef union ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg26 ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg26_t;
9636
9637 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG26(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG26(uint64_t a)9638 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG26(uint64_t a)
9639 {
9640 if (a <= 19)
9641 return 0x87e1b0200068ll + 0x1000000ll * ((a) & 0x1f);
9642 __ody_csr_fatal("DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG26", 1, a, 0, 0, 0, 0, 0);
9643 }
9644
9645 #define typedef_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG26(a) ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg26_t
9646 #define bustype_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG26(a) CSR_TYPE_RSL32b
9647 #define basename_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG26(a) "DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG26"
9648 #define device_bar_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG26(a) 0x0 /* PF_BAR0 */
9649 #define busnum_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG26(a) (a)
9650 #define arguments_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG26(a) (a), -1, -1, -1
9651
9652 /**
9653 * Register (RSL32b) dss#_ddrctl_regb_freq0_ch0_dramset1tmg27
9654 *
9655 * DSS Ddrctl Regb Freq0 Ch0 Dramset1tmg27 Register
9656 * SDRAM Timing Register 27 belonging to Timing Set 1
9657 */
9658 union ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg27 {
9659 uint32_t u;
9660 struct ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg27_s {
9661 uint32_t t_mrr2mpc : 8;
9662 uint32_t reserved_8_15 : 8;
9663 uint32_t t_ecsc : 9;
9664 uint32_t reserved_25_31 : 7;
9665 } s;
9666 /* struct ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg27_s cn; */
9667 };
9668 typedef union ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg27 ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg27_t;
9669
9670 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG27(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG27(uint64_t a)9671 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG27(uint64_t a)
9672 {
9673 if (a <= 19)
9674 return 0x87e1b020006cll + 0x1000000ll * ((a) & 0x1f);
9675 __ody_csr_fatal("DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG27", 1, a, 0, 0, 0, 0, 0);
9676 }
9677
9678 #define typedef_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG27(a) ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg27_t
9679 #define bustype_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG27(a) CSR_TYPE_RSL32b
9680 #define basename_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG27(a) "DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG27"
9681 #define device_bar_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG27(a) 0x0 /* PF_BAR0 */
9682 #define busnum_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG27(a) (a)
9683 #define arguments_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG27(a) (a), -1, -1, -1
9684
9685 /**
9686 * Register (RSL32b) dss#_ddrctl_regb_freq0_ch0_dramset1tmg28
9687 *
9688 * DSS Ddrctl Regb Freq0 Ch0 Dramset1tmg28 Register
9689 * SDRAM Timing Register 28 belonging to Timing Set 1
9690 */
9691 union ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg28 {
9692 uint32_t u;
9693 struct ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg28_s {
9694 uint32_t t_srx2srx : 7;
9695 uint32_t reserved_7 : 1;
9696 uint32_t t_cpded2srx : 7;
9697 uint32_t reserved_15 : 1;
9698 uint32_t t_cssr : 7;
9699 uint32_t reserved_23_31 : 9;
9700 } s;
9701 /* struct ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg28_s cn; */
9702 };
9703 typedef union ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg28 ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg28_t;
9704
9705 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG28(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG28(uint64_t a)9706 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG28(uint64_t a)
9707 {
9708 if (a <= 19)
9709 return 0x87e1b0200070ll + 0x1000000ll * ((a) & 0x1f);
9710 __ody_csr_fatal("DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG28", 1, a, 0, 0, 0, 0, 0);
9711 }
9712
9713 #define typedef_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG28(a) ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg28_t
9714 #define bustype_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG28(a) CSR_TYPE_RSL32b
9715 #define basename_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG28(a) "DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG28"
9716 #define device_bar_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG28(a) 0x0 /* PF_BAR0 */
9717 #define busnum_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG28(a) (a)
9718 #define arguments_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG28(a) (a), -1, -1, -1
9719
9720 /**
9721 * Register (RSL32b) dss#_ddrctl_regb_freq0_ch0_dramset1tmg29
9722 *
9723 * DSS Ddrctl Regb Freq0 Ch0 Dramset1tmg29 Register
9724 * SDRAM Timing Register 29 belonging to Timing Set 1
9725 */
9726 union ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg29 {
9727 uint32_t u;
9728 struct ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg29_s {
9729 uint32_t reserved_0_15 : 16;
9730 uint32_t t_ckact : 6;
9731 uint32_t reserved_22_23 : 2;
9732 uint32_t t_ckoff : 7;
9733 uint32_t reserved_31 : 1;
9734 } s;
9735 /* struct ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg29_s cn; */
9736 };
9737 typedef union ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg29 ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg29_t;
9738
9739 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG29(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG29(uint64_t a)9740 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG29(uint64_t a)
9741 {
9742 if (a <= 19)
9743 return 0x87e1b0200074ll + 0x1000000ll * ((a) & 0x1f);
9744 __ody_csr_fatal("DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG29", 1, a, 0, 0, 0, 0, 0);
9745 }
9746
9747 #define typedef_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG29(a) ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg29_t
9748 #define bustype_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG29(a) CSR_TYPE_RSL32b
9749 #define basename_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG29(a) "DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG29"
9750 #define device_bar_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG29(a) 0x0 /* PF_BAR0 */
9751 #define busnum_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG29(a) (a)
9752 #define arguments_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG29(a) (a), -1, -1, -1
9753
9754 /**
9755 * Register (RSL32b) dss#_ddrctl_regb_freq0_ch0_dramset1tmg3
9756 *
9757 * DSS Ddrctl Regb Freq0 Ch0 Dramset1tmg3 Register
9758 * SDRAM Timing Register 3 belonging to Timing Set 1
9759 */
9760 union ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg3 {
9761 uint32_t u;
9762 struct ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg3_s {
9763 uint32_t reserved_0_15 : 16;
9764 uint32_t t_mr : 7;
9765 uint32_t reserved_23_31 : 9;
9766 } s;
9767 /* struct ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg3_s cn; */
9768 };
9769 typedef union ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg3 ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg3_t;
9770
9771 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG3(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG3(uint64_t a)9772 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG3(uint64_t a)
9773 {
9774 if (a <= 19)
9775 return 0x87e1b020000cll + 0x1000000ll * ((a) & 0x1f);
9776 __ody_csr_fatal("DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG3", 1, a, 0, 0, 0, 0, 0);
9777 }
9778
9779 #define typedef_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG3(a) ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg3_t
9780 #define bustype_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG3(a) CSR_TYPE_RSL32b
9781 #define basename_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG3(a) "DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG3"
9782 #define device_bar_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG3(a) 0x0 /* PF_BAR0 */
9783 #define busnum_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG3(a) (a)
9784 #define arguments_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG3(a) (a), -1, -1, -1
9785
9786 /**
9787 * Register (RSL32b) dss#_ddrctl_regb_freq0_ch0_dramset1tmg31
9788 *
9789 * DSS Ddrctl Regb Freq0 Ch0 Dramset1tmg31 Register
9790 * SDRAM Timing Register 31 belonging to Timing Set 1
9791 */
9792 union ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg31 {
9793 uint32_t u;
9794 struct ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg31_s {
9795 uint32_t rfm_raaimt : 7;
9796 uint32_t reserved_7_8 : 2;
9797 uint32_t rfm_raa_thr : 9;
9798 uint32_t reserved_18 : 1;
9799 uint32_t rfm_raa_ref_decr : 2;
9800 uint32_t reserved_21_31 : 11;
9801 } s;
9802 /* struct ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg31_s cn; */
9803 };
9804 typedef union ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg31 ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg31_t;
9805
9806 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG31(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG31(uint64_t a)9807 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG31(uint64_t a)
9808 {
9809 if (a <= 19)
9810 return 0x87e1b020007cll + 0x1000000ll * ((a) & 0x1f);
9811 __ody_csr_fatal("DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG31", 1, a, 0, 0, 0, 0, 0);
9812 }
9813
9814 #define typedef_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG31(a) ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg31_t
9815 #define bustype_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG31(a) CSR_TYPE_RSL32b
9816 #define basename_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG31(a) "DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG31"
9817 #define device_bar_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG31(a) 0x0 /* PF_BAR0 */
9818 #define busnum_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG31(a) (a)
9819 #define arguments_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG31(a) (a), -1, -1, -1
9820
9821 /**
9822 * Register (RSL32b) dss#_ddrctl_regb_freq0_ch0_dramset1tmg4
9823 *
9824 * DSS Ddrctl Regb Freq0 Ch0 Dramset1tmg4 Register
9825 * SDRAM Timing Register 4 belonging to Timing Set 1
9826 */
9827 union ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg4 {
9828 uint32_t u;
9829 struct ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg4_s {
9830 uint32_t t_rp : 7;
9831 uint32_t reserved_7 : 1;
9832 uint32_t t_rrd : 6;
9833 uint32_t reserved_14_23 : 10;
9834 uint32_t t_rcd : 8;
9835 } s;
9836 /* struct ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg4_s cn; */
9837 };
9838 typedef union ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg4 ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg4_t;
9839
9840 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG4(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG4(uint64_t a)9841 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG4(uint64_t a)
9842 {
9843 if (a <= 19)
9844 return 0x87e1b0200010ll + 0x1000000ll * ((a) & 0x1f);
9845 __ody_csr_fatal("DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG4", 1, a, 0, 0, 0, 0, 0);
9846 }
9847
9848 #define typedef_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG4(a) ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg4_t
9849 #define bustype_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG4(a) CSR_TYPE_RSL32b
9850 #define basename_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG4(a) "DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG4"
9851 #define device_bar_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG4(a) 0x0 /* PF_BAR0 */
9852 #define busnum_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG4(a) (a)
9853 #define arguments_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG4(a) (a), -1, -1, -1
9854
9855 /**
9856 * Register (RSL32b) dss#_ddrctl_regb_freq0_ch0_dramset1tmg5
9857 *
9858 * DSS Ddrctl Regb Freq0 Ch0 Dramset1tmg5 Register
9859 * SDRAM Timing Register 5 belonging to Timing Set 1
9860 */
9861 union ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg5 {
9862 uint32_t u;
9863 struct ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg5_s {
9864 uint32_t reserved_0_15 : 16;
9865 uint32_t t_cksre : 7;
9866 uint32_t reserved_23 : 1;
9867 uint32_t t_cksrx : 6;
9868 uint32_t reserved_30_31 : 2;
9869 } s;
9870 /* struct ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg5_s cn; */
9871 };
9872 typedef union ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg5 ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg5_t;
9873
9874 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG5(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG5(uint64_t a)9875 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG5(uint64_t a)
9876 {
9877 if (a <= 19)
9878 return 0x87e1b0200014ll + 0x1000000ll * ((a) & 0x1f);
9879 __ody_csr_fatal("DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG5", 1, a, 0, 0, 0, 0, 0);
9880 }
9881
9882 #define typedef_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG5(a) ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg5_t
9883 #define bustype_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG5(a) CSR_TYPE_RSL32b
9884 #define basename_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG5(a) "DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG5"
9885 #define device_bar_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG5(a) 0x0 /* PF_BAR0 */
9886 #define busnum_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG5(a) (a)
9887 #define arguments_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG5(a) (a), -1, -1, -1
9888
9889 /**
9890 * Register (RSL32b) dss#_ddrctl_regb_freq0_ch0_dramset1tmg8
9891 *
9892 * DSS Ddrctl Regb Freq0 Ch0 Dramset1tmg8 Register
9893 * SDRAM Timing Register 8 belonging to Timing Set 1
9894 */
9895 union ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg8 {
9896 uint32_t u;
9897 struct ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg8_s {
9898 uint32_t t_xs_x32 : 7;
9899 uint32_t reserved_7 : 1;
9900 uint32_t t_xs_dll_x32 : 7;
9901 uint32_t reserved_15_31 : 17;
9902 } s;
9903 /* struct ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg8_s cn; */
9904 };
9905 typedef union ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg8 ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg8_t;
9906
9907 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG8(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG8(uint64_t a)9908 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG8(uint64_t a)
9909 {
9910 if (a <= 19)
9911 return 0x87e1b0200020ll + 0x1000000ll * ((a) & 0x1f);
9912 __ody_csr_fatal("DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG8", 1, a, 0, 0, 0, 0, 0);
9913 }
9914
9915 #define typedef_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG8(a) ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg8_t
9916 #define bustype_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG8(a) CSR_TYPE_RSL32b
9917 #define basename_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG8(a) "DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG8"
9918 #define device_bar_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG8(a) 0x0 /* PF_BAR0 */
9919 #define busnum_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG8(a) (a)
9920 #define arguments_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG8(a) (a), -1, -1, -1
9921
9922 /**
9923 * Register (RSL32b) dss#_ddrctl_regb_freq0_ch0_dramset1tmg9
9924 *
9925 * DSS Ddrctl Regb Freq0 Ch0 Dramset1tmg9 Register
9926 * SDRAM Timing Register 9 belonging to Timing Set 1
9927 */
9928 union ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg9 {
9929 uint32_t u;
9930 struct ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg9_s {
9931 uint32_t wr2rd_s : 8;
9932 uint32_t t_rrd_s : 6;
9933 uint32_t reserved_14_31 : 18;
9934 } s;
9935 /* struct ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg9_s cn; */
9936 };
9937 typedef union ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg9 ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg9_t;
9938
9939 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG9(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG9(uint64_t a)9940 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG9(uint64_t a)
9941 {
9942 if (a <= 19)
9943 return 0x87e1b0200024ll + 0x1000000ll * ((a) & 0x1f);
9944 __ody_csr_fatal("DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG9", 1, a, 0, 0, 0, 0, 0);
9945 }
9946
9947 #define typedef_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG9(a) ody_dssx_ddrctl_regb_freq0_ch0_dramset1tmg9_t
9948 #define bustype_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG9(a) CSR_TYPE_RSL32b
9949 #define basename_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG9(a) "DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG9"
9950 #define device_bar_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG9(a) 0x0 /* PF_BAR0 */
9951 #define busnum_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG9(a) (a)
9952 #define arguments_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_DRAMSET1TMG9(a) (a), -1, -1, -1
9953
9954 /**
9955 * Register (RSL32b) dss#_ddrctl_regb_freq0_ch0_ecsset1tmg0
9956 *
9957 * DSS Ddrctl Regb Freq0 Ch0 Ecsset1tmg0 Register
9958 * ECS Timing Register 0 belonging to Timing Set 1
9959 */
9960 union ody_dssx_ddrctl_regb_freq0_ch0_ecsset1tmg0 {
9961 uint32_t u;
9962 struct ody_dssx_ddrctl_regb_freq0_ch0_ecsset1tmg0_s {
9963 uint32_t t_ecs_int_x1024 : 12;
9964 uint32_t reserved_12_15 : 4;
9965 uint32_t t_refi_ecs_offset_x1_x32 : 8;
9966 uint32_t reserved_24_31 : 8;
9967 } s;
9968 /* struct ody_dssx_ddrctl_regb_freq0_ch0_ecsset1tmg0_s cn; */
9969 };
9970 typedef union ody_dssx_ddrctl_regb_freq0_ch0_ecsset1tmg0 ody_dssx_ddrctl_regb_freq0_ch0_ecsset1tmg0_t;
9971
9972 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_ECSSET1TMG0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_ECSSET1TMG0(uint64_t a)9973 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_ECSSET1TMG0(uint64_t a)
9974 {
9975 if (a <= 19)
9976 return 0x87e1b0200640ll + 0x1000000ll * ((a) & 0x1f);
9977 __ody_csr_fatal("DSSX_DDRCTL_REGB_FREQ0_CH0_ECSSET1TMG0", 1, a, 0, 0, 0, 0, 0);
9978 }
9979
9980 #define typedef_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_ECSSET1TMG0(a) ody_dssx_ddrctl_regb_freq0_ch0_ecsset1tmg0_t
9981 #define bustype_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_ECSSET1TMG0(a) CSR_TYPE_RSL32b
9982 #define basename_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_ECSSET1TMG0(a) "DSSX_DDRCTL_REGB_FREQ0_CH0_ECSSET1TMG0"
9983 #define device_bar_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_ECSSET1TMG0(a) 0x0 /* PF_BAR0 */
9984 #define busnum_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_ECSSET1TMG0(a) (a)
9985 #define arguments_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_ECSSET1TMG0(a) (a), -1, -1, -1
9986
9987 /**
9988 * Register (RSL32b) dss#_ddrctl_regb_freq0_ch0_hwlptmg0
9989 *
9990 * DSS Ddrctl Regb Freq0 Ch0 Hwlptmg0 Register
9991 * Hardware Low Power Control Register
9992 */
9993 union ody_dssx_ddrctl_regb_freq0_ch0_hwlptmg0 {
9994 uint32_t u;
9995 struct ody_dssx_ddrctl_regb_freq0_ch0_hwlptmg0_s {
9996 uint32_t reserved_0_15 : 16;
9997 uint32_t hw_lp_idle_x32 : 12;
9998 uint32_t reserved_28_31 : 4;
9999 } s;
10000 /* struct ody_dssx_ddrctl_regb_freq0_ch0_hwlptmg0_s cn; */
10001 };
10002 typedef union ody_dssx_ddrctl_regb_freq0_ch0_hwlptmg0 ody_dssx_ddrctl_regb_freq0_ch0_hwlptmg0_t;
10003
10004 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_HWLPTMG0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_HWLPTMG0(uint64_t a)10005 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_HWLPTMG0(uint64_t a)
10006 {
10007 if (a <= 19)
10008 return 0x87e1b0200b80ll + 0x1000000ll * ((a) & 0x1f);
10009 __ody_csr_fatal("DSSX_DDRCTL_REGB_FREQ0_CH0_HWLPTMG0", 1, a, 0, 0, 0, 0, 0);
10010 }
10011
10012 #define typedef_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_HWLPTMG0(a) ody_dssx_ddrctl_regb_freq0_ch0_hwlptmg0_t
10013 #define bustype_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_HWLPTMG0(a) CSR_TYPE_RSL32b
10014 #define basename_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_HWLPTMG0(a) "DSSX_DDRCTL_REGB_FREQ0_CH0_HWLPTMG0"
10015 #define device_bar_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_HWLPTMG0(a) 0x0 /* PF_BAR0 */
10016 #define busnum_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_HWLPTMG0(a) (a)
10017 #define arguments_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_HWLPTMG0(a) (a), -1, -1, -1
10018
10019 /**
10020 * Register (RSL32b) dss#_ddrctl_regb_freq0_ch0_perfhpr1
10021 *
10022 * DSS Ddrctl Regb Freq0 Ch0 Perfhpr1 Register
10023 * High Priority Read CAM Register 1
10024 */
10025 union ody_dssx_ddrctl_regb_freq0_ch0_perfhpr1 {
10026 uint32_t u;
10027 struct ody_dssx_ddrctl_regb_freq0_ch0_perfhpr1_s {
10028 uint32_t hpr_max_starve : 16;
10029 uint32_t reserved_16_23 : 8;
10030 uint32_t hpr_xact_run_length : 8;
10031 } s;
10032 /* struct ody_dssx_ddrctl_regb_freq0_ch0_perfhpr1_s cn; */
10033 };
10034 typedef union ody_dssx_ddrctl_regb_freq0_ch0_perfhpr1 ody_dssx_ddrctl_regb_freq0_ch0_perfhpr1_t;
10035
10036 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_PERFHPR1(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_PERFHPR1(uint64_t a)10037 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_PERFHPR1(uint64_t a)
10038 {
10039 if (a <= 19)
10040 return 0x87e1b0200c80ll + 0x1000000ll * ((a) & 0x1f);
10041 __ody_csr_fatal("DSSX_DDRCTL_REGB_FREQ0_CH0_PERFHPR1", 1, a, 0, 0, 0, 0, 0);
10042 }
10043
10044 #define typedef_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_PERFHPR1(a) ody_dssx_ddrctl_regb_freq0_ch0_perfhpr1_t
10045 #define bustype_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_PERFHPR1(a) CSR_TYPE_RSL32b
10046 #define basename_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_PERFHPR1(a) "DSSX_DDRCTL_REGB_FREQ0_CH0_PERFHPR1"
10047 #define device_bar_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_PERFHPR1(a) 0x0 /* PF_BAR0 */
10048 #define busnum_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_PERFHPR1(a) (a)
10049 #define arguments_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_PERFHPR1(a) (a), -1, -1, -1
10050
10051 /**
10052 * Register (RSL32b) dss#_ddrctl_regb_freq0_ch0_perflpr1
10053 *
10054 * DSS Ddrctl Regb Freq0 Ch0 Perflpr1 Register
10055 * Low Priority Read CAM Register 1
10056 */
10057 union ody_dssx_ddrctl_regb_freq0_ch0_perflpr1 {
10058 uint32_t u;
10059 struct ody_dssx_ddrctl_regb_freq0_ch0_perflpr1_s {
10060 uint32_t lpr_max_starve : 16;
10061 uint32_t reserved_16_23 : 8;
10062 uint32_t lpr_xact_run_length : 8;
10063 } s;
10064 /* struct ody_dssx_ddrctl_regb_freq0_ch0_perflpr1_s cn; */
10065 };
10066 typedef union ody_dssx_ddrctl_regb_freq0_ch0_perflpr1 ody_dssx_ddrctl_regb_freq0_ch0_perflpr1_t;
10067
10068 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_PERFLPR1(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_PERFLPR1(uint64_t a)10069 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_PERFLPR1(uint64_t a)
10070 {
10071 if (a <= 19)
10072 return 0x87e1b0200c84ll + 0x1000000ll * ((a) & 0x1f);
10073 __ody_csr_fatal("DSSX_DDRCTL_REGB_FREQ0_CH0_PERFLPR1", 1, a, 0, 0, 0, 0, 0);
10074 }
10075
10076 #define typedef_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_PERFLPR1(a) ody_dssx_ddrctl_regb_freq0_ch0_perflpr1_t
10077 #define bustype_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_PERFLPR1(a) CSR_TYPE_RSL32b
10078 #define basename_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_PERFLPR1(a) "DSSX_DDRCTL_REGB_FREQ0_CH0_PERFLPR1"
10079 #define device_bar_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_PERFLPR1(a) 0x0 /* PF_BAR0 */
10080 #define busnum_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_PERFLPR1(a) (a)
10081 #define arguments_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_PERFLPR1(a) (a), -1, -1, -1
10082
10083 /**
10084 * Register (RSL32b) dss#_ddrctl_regb_freq0_ch0_perfwr1
10085 *
10086 * DSS Ddrctl Regb Freq0 Ch0 Perfwr1 Register
10087 * Write CAM Register 1
10088 */
10089 union ody_dssx_ddrctl_regb_freq0_ch0_perfwr1 {
10090 uint32_t u;
10091 struct ody_dssx_ddrctl_regb_freq0_ch0_perfwr1_s {
10092 uint32_t w_max_starve : 16;
10093 uint32_t reserved_16_23 : 8;
10094 uint32_t w_xact_run_length : 8;
10095 } s;
10096 /* struct ody_dssx_ddrctl_regb_freq0_ch0_perfwr1_s cn; */
10097 };
10098 typedef union ody_dssx_ddrctl_regb_freq0_ch0_perfwr1 ody_dssx_ddrctl_regb_freq0_ch0_perfwr1_t;
10099
10100 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_PERFWR1(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_PERFWR1(uint64_t a)10101 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_PERFWR1(uint64_t a)
10102 {
10103 if (a <= 19)
10104 return 0x87e1b0200c88ll + 0x1000000ll * ((a) & 0x1f);
10105 __ody_csr_fatal("DSSX_DDRCTL_REGB_FREQ0_CH0_PERFWR1", 1, a, 0, 0, 0, 0, 0);
10106 }
10107
10108 #define typedef_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_PERFWR1(a) ody_dssx_ddrctl_regb_freq0_ch0_perfwr1_t
10109 #define bustype_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_PERFWR1(a) CSR_TYPE_RSL32b
10110 #define basename_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_PERFWR1(a) "DSSX_DDRCTL_REGB_FREQ0_CH0_PERFWR1"
10111 #define device_bar_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_PERFWR1(a) 0x0 /* PF_BAR0 */
10112 #define busnum_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_PERFWR1(a) (a)
10113 #define arguments_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_PERFWR1(a) (a), -1, -1, -1
10114
10115 /**
10116 * Register (RSL32b) dss#_ddrctl_regb_freq0_ch0_pwrtmg
10117 *
10118 * DSS Ddrctl Regb Freq0 Ch0 Pwrtmg Register
10119 * Low Power Timing Register
10120 */
10121 union ody_dssx_ddrctl_regb_freq0_ch0_pwrtmg {
10122 uint32_t u;
10123 struct ody_dssx_ddrctl_regb_freq0_ch0_pwrtmg_s {
10124 uint32_t powerdown_to_x32 : 7;
10125 uint32_t reserved_7_15 : 9;
10126 uint32_t selfref_to_x32 : 10;
10127 uint32_t reserved_26_31 : 6;
10128 } s;
10129 /* struct ody_dssx_ddrctl_regb_freq0_ch0_pwrtmg_s cn; */
10130 };
10131 typedef union ody_dssx_ddrctl_regb_freq0_ch0_pwrtmg ody_dssx_ddrctl_regb_freq0_ch0_pwrtmg_t;
10132
10133 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_PWRTMG(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_PWRTMG(uint64_t a)10134 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_PWRTMG(uint64_t a)
10135 {
10136 if (a <= 19)
10137 return 0x87e1b0200d0cll + 0x1000000ll * ((a) & 0x1f);
10138 __ody_csr_fatal("DSSX_DDRCTL_REGB_FREQ0_CH0_PWRTMG", 1, a, 0, 0, 0, 0, 0);
10139 }
10140
10141 #define typedef_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_PWRTMG(a) ody_dssx_ddrctl_regb_freq0_ch0_pwrtmg_t
10142 #define bustype_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_PWRTMG(a) CSR_TYPE_RSL32b
10143 #define basename_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_PWRTMG(a) "DSSX_DDRCTL_REGB_FREQ0_CH0_PWRTMG"
10144 #define device_bar_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_PWRTMG(a) 0x0 /* PF_BAR0 */
10145 #define busnum_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_PWRTMG(a) (a)
10146 #define arguments_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_PWRTMG(a) (a), -1, -1, -1
10147
10148 /**
10149 * Register (RSL32b) dss#_ddrctl_regb_freq0_ch0_rank_switch_timing_control0
10150 *
10151 * DSS Ddrctl Regb Freq0 Ch0 Rank Switch Timing Control0 Register
10152 * Rank Switching Timing Control 0.
10153 */
10154 union ody_dssx_ddrctl_regb_freq0_ch0_rank_switch_timing_control0 {
10155 uint32_t u;
10156 struct ody_dssx_ddrctl_regb_freq0_ch0_rank_switch_timing_control0_s {
10157 uint32_t t_rd2rd_gap_r0r1 : 4;
10158 uint32_t t_rd2rd_gap_r1r0 : 4;
10159 uint32_t t_wr2rd_gap_r0r1 : 4;
10160 uint32_t t_wr2rd_gap_r1r0 : 4;
10161 uint32_t t_rd2wr_gap_r0r1 : 4;
10162 uint32_t t_rd2wr_gap_r1r0 : 4;
10163 uint32_t t_wr2wr_gap_r0r1 : 4;
10164 uint32_t t_wr2wr_gap_r1r0 : 4;
10165 } s;
10166 /* struct ody_dssx_ddrctl_regb_freq0_ch0_rank_switch_timing_control0_s cn; */
10167 };
10168 typedef union ody_dssx_ddrctl_regb_freq0_ch0_rank_switch_timing_control0 ody_dssx_ddrctl_regb_freq0_ch0_rank_switch_timing_control0_t;
10169
10170 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RANK_SWITCH_TIMING_CONTROL0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RANK_SWITCH_TIMING_CONTROL0(uint64_t a)10171 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RANK_SWITCH_TIMING_CONTROL0(uint64_t a)
10172 {
10173 if (a <= 19)
10174 return 0x87e1b0200400ll + 0x1000000ll * ((a) & 0x1f);
10175 __ody_csr_fatal("DSSX_DDRCTL_REGB_FREQ0_CH0_RANK_SWITCH_TIMING_CONTROL0", 1, a, 0, 0, 0, 0, 0);
10176 }
10177
10178 #define typedef_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RANK_SWITCH_TIMING_CONTROL0(a) ody_dssx_ddrctl_regb_freq0_ch0_rank_switch_timing_control0_t
10179 #define bustype_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RANK_SWITCH_TIMING_CONTROL0(a) CSR_TYPE_RSL32b
10180 #define basename_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RANK_SWITCH_TIMING_CONTROL0(a) "DSSX_DDRCTL_REGB_FREQ0_CH0_RANK_SWITCH_TIMING_CONTROL0"
10181 #define device_bar_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RANK_SWITCH_TIMING_CONTROL0(a) 0x0 /* PF_BAR0 */
10182 #define busnum_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RANK_SWITCH_TIMING_CONTROL0(a) (a)
10183 #define arguments_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RANK_SWITCH_TIMING_CONTROL0(a) (a), -1, -1, -1
10184
10185 /**
10186 * Register (RSL32b) dss#_ddrctl_regb_freq0_ch0_retrytmg0
10187 *
10188 * DSS Ddrctl Regb Freq0 Ch0 Retrytmg0 Register
10189 * RETRY Timing 0
10190 */
10191 union ody_dssx_ddrctl_regb_freq0_ch0_retrytmg0 {
10192 uint32_t u;
10193 struct ody_dssx_ddrctl_regb_freq0_ch0_retrytmg0_s {
10194 uint32_t capar_retry_window : 6;
10195 uint32_t reserved_6_15 : 10;
10196 uint32_t t_wr_crc_retry_window : 9;
10197 uint32_t reserved_25_31 : 7;
10198 } s;
10199 /* struct ody_dssx_ddrctl_regb_freq0_ch0_retrytmg0_s cn; */
10200 };
10201 typedef union ody_dssx_ddrctl_regb_freq0_ch0_retrytmg0 ody_dssx_ddrctl_regb_freq0_ch0_retrytmg0_t;
10202
10203 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RETRYTMG0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RETRYTMG0(uint64_t a)10204 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RETRYTMG0(uint64_t a)
10205 {
10206 if (a <= 19)
10207 return 0x87e1b0200d20ll + 0x1000000ll * ((a) & 0x1f);
10208 __ody_csr_fatal("DSSX_DDRCTL_REGB_FREQ0_CH0_RETRYTMG0", 1, a, 0, 0, 0, 0, 0);
10209 }
10210
10211 #define typedef_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RETRYTMG0(a) ody_dssx_ddrctl_regb_freq0_ch0_retrytmg0_t
10212 #define bustype_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RETRYTMG0(a) CSR_TYPE_RSL32b
10213 #define basename_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RETRYTMG0(a) "DSSX_DDRCTL_REGB_FREQ0_CH0_RETRYTMG0"
10214 #define device_bar_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RETRYTMG0(a) 0x0 /* PF_BAR0 */
10215 #define busnum_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RETRYTMG0(a) (a)
10216 #define arguments_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RETRYTMG0(a) (a), -1, -1, -1
10217
10218 /**
10219 * Register (RSL32b) dss#_ddrctl_regb_freq0_ch0_retrytmg1
10220 *
10221 * DSS Ddrctl Regb Freq0 Ch0 Retrytmg1 Register
10222 * RETRY Timing 1
10223 */
10224 union ody_dssx_ddrctl_regb_freq0_ch0_retrytmg1 {
10225 uint32_t u;
10226 struct ody_dssx_ddrctl_regb_freq0_ch0_retrytmg1_s {
10227 uint32_t dfi_t_phy_rdlat : 8;
10228 uint32_t extra_rd_retry_window : 6;
10229 uint32_t reserved_14_15 : 2;
10230 uint32_t retry_add_rd_lat : 5;
10231 uint32_t reserved_21_23 : 3;
10232 uint32_t retry_add_rd_lat_en : 1;
10233 uint32_t reserved_25_31 : 7;
10234 } s;
10235 /* struct ody_dssx_ddrctl_regb_freq0_ch0_retrytmg1_s cn; */
10236 };
10237 typedef union ody_dssx_ddrctl_regb_freq0_ch0_retrytmg1 ody_dssx_ddrctl_regb_freq0_ch0_retrytmg1_t;
10238
10239 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RETRYTMG1(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RETRYTMG1(uint64_t a)10240 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RETRYTMG1(uint64_t a)
10241 {
10242 if (a <= 19)
10243 return 0x87e1b0200d24ll + 0x1000000ll * ((a) & 0x1f);
10244 __ody_csr_fatal("DSSX_DDRCTL_REGB_FREQ0_CH0_RETRYTMG1", 1, a, 0, 0, 0, 0, 0);
10245 }
10246
10247 #define typedef_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RETRYTMG1(a) ody_dssx_ddrctl_regb_freq0_ch0_retrytmg1_t
10248 #define bustype_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RETRYTMG1(a) CSR_TYPE_RSL32b
10249 #define basename_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RETRYTMG1(a) "DSSX_DDRCTL_REGB_FREQ0_CH0_RETRYTMG1"
10250 #define device_bar_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RETRYTMG1(a) 0x0 /* PF_BAR0 */
10251 #define busnum_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RETRYTMG1(a) (a)
10252 #define arguments_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RETRYTMG1(a) (a), -1, -1, -1
10253
10254 /**
10255 * Register (RSL32b) dss#_ddrctl_regb_freq0_ch0_rfshset1tmg0
10256 *
10257 * DSS Ddrctl Regb Freq0 Ch0 Rfshset1tmg0 Register
10258 * Refresh Timing Register 0 belonging to Timing Set 1
10259 */
10260 union ody_dssx_ddrctl_regb_freq0_ch0_rfshset1tmg0 {
10261 uint32_t u;
10262 struct ody_dssx_ddrctl_regb_freq0_ch0_rfshset1tmg0_s {
10263 uint32_t t_refi_x1_x32 : 12;
10264 uint32_t reserved_12_15 : 4;
10265 uint32_t refresh_to_x1_x32 : 6;
10266 uint32_t reserved_22_23 : 2;
10267 uint32_t refresh_margin : 4;
10268 uint32_t reserved_28_30 : 3;
10269 uint32_t t_refi_x1_sel : 1;
10270 } s;
10271 /* struct ody_dssx_ddrctl_regb_freq0_ch0_rfshset1tmg0_s cn; */
10272 };
10273 typedef union ody_dssx_ddrctl_regb_freq0_ch0_rfshset1tmg0 ody_dssx_ddrctl_regb_freq0_ch0_rfshset1tmg0_t;
10274
10275 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG0(uint64_t a)10276 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG0(uint64_t a)
10277 {
10278 if (a <= 19)
10279 return 0x87e1b0200600ll + 0x1000000ll * ((a) & 0x1f);
10280 __ody_csr_fatal("DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG0", 1, a, 0, 0, 0, 0, 0);
10281 }
10282
10283 #define typedef_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG0(a) ody_dssx_ddrctl_regb_freq0_ch0_rfshset1tmg0_t
10284 #define bustype_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG0(a) CSR_TYPE_RSL32b
10285 #define basename_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG0(a) "DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG0"
10286 #define device_bar_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG0(a) 0x0 /* PF_BAR0 */
10287 #define busnum_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG0(a) (a)
10288 #define arguments_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG0(a) (a), -1, -1, -1
10289
10290 /**
10291 * Register (RSL32b) dss#_ddrctl_regb_freq0_ch0_rfshset1tmg1
10292 *
10293 * DSS Ddrctl Regb Freq0 Ch0 Rfshset1tmg1 Register
10294 * Refresh Timing Register 1 belonging to Timing Set 1
10295 */
10296 union ody_dssx_ddrctl_regb_freq0_ch0_rfshset1tmg1 {
10297 uint32_t u;
10298 struct ody_dssx_ddrctl_regb_freq0_ch0_rfshset1tmg1_s {
10299 uint32_t t_rfc_min : 12;
10300 uint32_t reserved_12_31 : 20;
10301 } s;
10302 /* struct ody_dssx_ddrctl_regb_freq0_ch0_rfshset1tmg1_s cn; */
10303 };
10304 typedef union ody_dssx_ddrctl_regb_freq0_ch0_rfshset1tmg1 ody_dssx_ddrctl_regb_freq0_ch0_rfshset1tmg1_t;
10305
10306 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG1(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG1(uint64_t a)10307 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG1(uint64_t a)
10308 {
10309 if (a <= 19)
10310 return 0x87e1b0200604ll + 0x1000000ll * ((a) & 0x1f);
10311 __ody_csr_fatal("DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG1", 1, a, 0, 0, 0, 0, 0);
10312 }
10313
10314 #define typedef_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG1(a) ody_dssx_ddrctl_regb_freq0_ch0_rfshset1tmg1_t
10315 #define bustype_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG1(a) CSR_TYPE_RSL32b
10316 #define basename_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG1(a) "DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG1"
10317 #define device_bar_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG1(a) 0x0 /* PF_BAR0 */
10318 #define busnum_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG1(a) (a)
10319 #define arguments_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG1(a) (a), -1, -1, -1
10320
10321 /**
10322 * Register (RSL32b) dss#_ddrctl_regb_freq0_ch0_rfshset1tmg10
10323 *
10324 * DSS Ddrctl Regb Freq0 Ch0 Rfshset1tmg10 Register
10325 * Refresh Timing Register 10 belonging to Timing Set 1
10326 */
10327 union ody_dssx_ddrctl_regb_freq0_ch0_rfshset1tmg10 {
10328 uint32_t u;
10329 struct ody_dssx_ddrctl_regb_freq0_ch0_rfshset1tmg10_s {
10330 uint32_t t_win_size_1xtrefi : 12;
10331 uint32_t reserved_12_31 : 20;
10332 } s;
10333 /* struct ody_dssx_ddrctl_regb_freq0_ch0_rfshset1tmg10_s cn; */
10334 };
10335 typedef union ody_dssx_ddrctl_regb_freq0_ch0_rfshset1tmg10 ody_dssx_ddrctl_regb_freq0_ch0_rfshset1tmg10_t;
10336
10337 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG10(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG10(uint64_t a)10338 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG10(uint64_t a)
10339 {
10340 if (a <= 19)
10341 return 0x87e1b0200628ll + 0x1000000ll * ((a) & 0x1f);
10342 __ody_csr_fatal("DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG10", 1, a, 0, 0, 0, 0, 0);
10343 }
10344
10345 #define typedef_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG10(a) ody_dssx_ddrctl_regb_freq0_ch0_rfshset1tmg10_t
10346 #define bustype_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG10(a) CSR_TYPE_RSL32b
10347 #define basename_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG10(a) "DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG10"
10348 #define device_bar_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG10(a) 0x0 /* PF_BAR0 */
10349 #define busnum_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG10(a) (a)
10350 #define arguments_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG10(a) (a), -1, -1, -1
10351
10352 /**
10353 * Register (RSL32b) dss#_ddrctl_regb_freq0_ch0_rfshset1tmg3
10354 *
10355 * DSS Ddrctl Regb Freq0 Ch0 Rfshset1tmg3 Register
10356 * Refresh Timing Register 3 belonging to Timing Set 1
10357 */
10358 union ody_dssx_ddrctl_regb_freq0_ch0_rfshset1tmg3 {
10359 uint32_t u;
10360 struct ody_dssx_ddrctl_regb_freq0_ch0_rfshset1tmg3_s {
10361 uint32_t t_rfcsb : 12;
10362 uint32_t reserved_12_15 : 4;
10363 uint32_t t_refsbrd : 8;
10364 uint32_t reserved_24_31 : 8;
10365 } s;
10366 /* struct ody_dssx_ddrctl_regb_freq0_ch0_rfshset1tmg3_s cn; */
10367 };
10368 typedef union ody_dssx_ddrctl_regb_freq0_ch0_rfshset1tmg3 ody_dssx_ddrctl_regb_freq0_ch0_rfshset1tmg3_t;
10369
10370 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG3(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG3(uint64_t a)10371 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG3(uint64_t a)
10372 {
10373 if (a <= 19)
10374 return 0x87e1b020060cll + 0x1000000ll * ((a) & 0x1f);
10375 __ody_csr_fatal("DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG3", 1, a, 0, 0, 0, 0, 0);
10376 }
10377
10378 #define typedef_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG3(a) ody_dssx_ddrctl_regb_freq0_ch0_rfshset1tmg3_t
10379 #define bustype_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG3(a) CSR_TYPE_RSL32b
10380 #define basename_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG3(a) "DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG3"
10381 #define device_bar_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG3(a) 0x0 /* PF_BAR0 */
10382 #define busnum_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG3(a) (a)
10383 #define arguments_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG3(a) (a), -1, -1, -1
10384
10385 /**
10386 * Register (RSL32b) dss#_ddrctl_regb_freq0_ch0_rfshset1tmg4
10387 *
10388 * DSS Ddrctl Regb Freq0 Ch0 Rfshset1tmg4 Register
10389 * Refresh Timing Register 4 belonging to Timing Set 1
10390 */
10391 union ody_dssx_ddrctl_regb_freq0_ch0_rfshset1tmg4 {
10392 uint32_t u;
10393 struct ody_dssx_ddrctl_regb_freq0_ch0_rfshset1tmg4_s {
10394 uint32_t refresh_timer0_start_value_x32 : 12;
10395 uint32_t reserved_12_15 : 4;
10396 uint32_t refresh_timer1_start_value_x32 : 12;
10397 uint32_t reserved_28_31 : 4;
10398 } s;
10399 /* struct ody_dssx_ddrctl_regb_freq0_ch0_rfshset1tmg4_s cn; */
10400 };
10401 typedef union ody_dssx_ddrctl_regb_freq0_ch0_rfshset1tmg4 ody_dssx_ddrctl_regb_freq0_ch0_rfshset1tmg4_t;
10402
10403 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG4(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG4(uint64_t a)10404 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG4(uint64_t a)
10405 {
10406 if (a <= 19)
10407 return 0x87e1b0200610ll + 0x1000000ll * ((a) & 0x1f);
10408 __ody_csr_fatal("DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG4", 1, a, 0, 0, 0, 0, 0);
10409 }
10410
10411 #define typedef_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG4(a) ody_dssx_ddrctl_regb_freq0_ch0_rfshset1tmg4_t
10412 #define bustype_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG4(a) CSR_TYPE_RSL32b
10413 #define basename_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG4(a) "DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG4"
10414 #define device_bar_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG4(a) 0x0 /* PF_BAR0 */
10415 #define busnum_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG4(a) (a)
10416 #define arguments_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG4(a) (a), -1, -1, -1
10417
10418 /**
10419 * Register (RSL32b) dss#_ddrctl_regb_freq0_ch0_rfshset1tmg9
10420 *
10421 * DSS Ddrctl Regb Freq0 Ch0 Rfshset1tmg9 Register
10422 * Refresh Timing Register 9 belonging to Timing Set 1
10423 */
10424 union ody_dssx_ddrctl_regb_freq0_ch0_rfshset1tmg9 {
10425 uint32_t u;
10426 struct ody_dssx_ddrctl_regb_freq0_ch0_rfshset1tmg9_s {
10427 uint32_t refab_hi_sch_gap : 13;
10428 uint32_t reserved_13_15 : 3;
10429 uint32_t refsb_hi_sch_gap : 12;
10430 uint32_t reserved_28_31 : 4;
10431 } s;
10432 /* struct ody_dssx_ddrctl_regb_freq0_ch0_rfshset1tmg9_s cn; */
10433 };
10434 typedef union ody_dssx_ddrctl_regb_freq0_ch0_rfshset1tmg9 ody_dssx_ddrctl_regb_freq0_ch0_rfshset1tmg9_t;
10435
10436 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG9(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG9(uint64_t a)10437 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG9(uint64_t a)
10438 {
10439 if (a <= 19)
10440 return 0x87e1b0200624ll + 0x1000000ll * ((a) & 0x1f);
10441 __ody_csr_fatal("DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG9", 1, a, 0, 0, 0, 0, 0);
10442 }
10443
10444 #define typedef_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG9(a) ody_dssx_ddrctl_regb_freq0_ch0_rfshset1tmg9_t
10445 #define bustype_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG9(a) CSR_TYPE_RSL32b
10446 #define basename_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG9(a) "DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG9"
10447 #define device_bar_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG9(a) 0x0 /* PF_BAR0 */
10448 #define busnum_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG9(a) (a)
10449 #define arguments_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_RFSHSET1TMG9(a) (a), -1, -1, -1
10450
10451 /**
10452 * Register (RSL32b) dss#_ddrctl_regb_freq0_ch0_schedtmg0
10453 *
10454 * DSS Ddrctl Regb Freq0 Ch0 Schedtmg0 Register
10455 * Scheduler Control Register
10456 */
10457 union ody_dssx_ddrctl_regb_freq0_ch0_schedtmg0 {
10458 uint32_t u;
10459 struct ody_dssx_ddrctl_regb_freq0_ch0_schedtmg0_s {
10460 uint32_t pageclose_timer : 8;
10461 uint32_t rdwr_idle_gap : 7;
10462 uint32_t reserved_15_31 : 17;
10463 } s;
10464 /* struct ody_dssx_ddrctl_regb_freq0_ch0_schedtmg0_s cn; */
10465 };
10466 typedef union ody_dssx_ddrctl_regb_freq0_ch0_schedtmg0 ody_dssx_ddrctl_regb_freq0_ch0_schedtmg0_t;
10467
10468 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_SCHEDTMG0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_SCHEDTMG0(uint64_t a)10469 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_SCHEDTMG0(uint64_t a)
10470 {
10471 if (a <= 19)
10472 return 0x87e1b0200c00ll + 0x1000000ll * ((a) & 0x1f);
10473 __ody_csr_fatal("DSSX_DDRCTL_REGB_FREQ0_CH0_SCHEDTMG0", 1, a, 0, 0, 0, 0, 0);
10474 }
10475
10476 #define typedef_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_SCHEDTMG0(a) ody_dssx_ddrctl_regb_freq0_ch0_schedtmg0_t
10477 #define bustype_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_SCHEDTMG0(a) CSR_TYPE_RSL32b
10478 #define basename_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_SCHEDTMG0(a) "DSSX_DDRCTL_REGB_FREQ0_CH0_SCHEDTMG0"
10479 #define device_bar_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_SCHEDTMG0(a) 0x0 /* PF_BAR0 */
10480 #define busnum_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_SCHEDTMG0(a) (a)
10481 #define arguments_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_SCHEDTMG0(a) (a), -1, -1, -1
10482
10483 /**
10484 * Register (RSL32b) dss#_ddrctl_regb_freq0_ch0_tmgcfg
10485 *
10486 * DSS Ddrctl Regb Freq0 Ch0 Tmgcfg Register
10487 * Timing Configuration Register
10488 */
10489 union ody_dssx_ddrctl_regb_freq0_ch0_tmgcfg {
10490 uint32_t u;
10491 struct ody_dssx_ddrctl_regb_freq0_ch0_tmgcfg_s {
10492 uint32_t frequency_ratio : 1;
10493 uint32_t reserved_1_31 : 31;
10494 } s;
10495 /* struct ody_dssx_ddrctl_regb_freq0_ch0_tmgcfg_s cn; */
10496 };
10497 typedef union ody_dssx_ddrctl_regb_freq0_ch0_tmgcfg ody_dssx_ddrctl_regb_freq0_ch0_tmgcfg_t;
10498
10499 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_TMGCFG(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_TMGCFG(uint64_t a)10500 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_TMGCFG(uint64_t a)
10501 {
10502 if (a <= 19)
10503 return 0x87e1b0200d00ll + 0x1000000ll * ((a) & 0x1f);
10504 __ody_csr_fatal("DSSX_DDRCTL_REGB_FREQ0_CH0_TMGCFG", 1, a, 0, 0, 0, 0, 0);
10505 }
10506
10507 #define typedef_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_TMGCFG(a) ody_dssx_ddrctl_regb_freq0_ch0_tmgcfg_t
10508 #define bustype_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_TMGCFG(a) CSR_TYPE_RSL32b
10509 #define basename_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_TMGCFG(a) "DSSX_DDRCTL_REGB_FREQ0_CH0_TMGCFG"
10510 #define device_bar_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_TMGCFG(a) 0x0 /* PF_BAR0 */
10511 #define busnum_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_TMGCFG(a) (a)
10512 #define arguments_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_TMGCFG(a) (a), -1, -1, -1
10513
10514 /**
10515 * Register (RSL32b) dss#_ddrctl_regb_freq0_ch0_zqset1tmg0
10516 *
10517 * DSS Ddrctl Regb Freq0 Ch0 Zqset1tmg0 Register
10518 * ZQ Timing Register 0 belonging to DRAM ZQ timing set 1
10519 */
10520 union ody_dssx_ddrctl_regb_freq0_ch0_zqset1tmg0 {
10521 uint32_t u;
10522 struct ody_dssx_ddrctl_regb_freq0_ch0_zqset1tmg0_s {
10523 uint32_t t_zq_long_nop : 14;
10524 uint32_t reserved_14_15 : 2;
10525 uint32_t t_zq_short_nop : 10;
10526 uint32_t reserved_26_31 : 6;
10527 } s;
10528 /* struct ody_dssx_ddrctl_regb_freq0_ch0_zqset1tmg0_s cn; */
10529 };
10530 typedef union ody_dssx_ddrctl_regb_freq0_ch0_zqset1tmg0 ody_dssx_ddrctl_regb_freq0_ch0_zqset1tmg0_t;
10531
10532 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_ZQSET1TMG0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_ZQSET1TMG0(uint64_t a)10533 static inline uint64_t ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_ZQSET1TMG0(uint64_t a)
10534 {
10535 if (a <= 19)
10536 return 0x87e1b0200800ll + 0x1000000ll * ((a) & 0x1f);
10537 __ody_csr_fatal("DSSX_DDRCTL_REGB_FREQ0_CH0_ZQSET1TMG0", 1, a, 0, 0, 0, 0, 0);
10538 }
10539
10540 #define typedef_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_ZQSET1TMG0(a) ody_dssx_ddrctl_regb_freq0_ch0_zqset1tmg0_t
10541 #define bustype_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_ZQSET1TMG0(a) CSR_TYPE_RSL32b
10542 #define basename_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_ZQSET1TMG0(a) "DSSX_DDRCTL_REGB_FREQ0_CH0_ZQSET1TMG0"
10543 #define device_bar_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_ZQSET1TMG0(a) 0x0 /* PF_BAR0 */
10544 #define busnum_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_ZQSET1TMG0(a) (a)
10545 #define arguments_ODY_DSSX_DDRCTL_REGB_FREQ0_CH0_ZQSET1TMG0(a) (a), -1, -1, -1
10546
10547 /**
10548 * Register (RSL) dss#_early_reset_n
10549 *
10550 * DSS Early reset Register
10551 * Soft early reset.
10552 */
10553 union ody_dssx_early_reset_n {
10554 uint64_t u;
10555 struct ody_dssx_early_reset_n_s {
10556 uint64_t s_early_reset_n : 1;
10557 uint64_t reserved_1_63 : 63;
10558 } s;
10559 /* struct ody_dssx_early_reset_n_s cn; */
10560 };
10561 typedef union ody_dssx_early_reset_n ody_dssx_early_reset_n_t;
10562
10563 static inline uint64_t ODY_DSSX_EARLY_RESET_N(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_EARLY_RESET_N(uint64_t a)10564 static inline uint64_t ODY_DSSX_EARLY_RESET_N(uint64_t a)
10565 {
10566 if (a <= 19)
10567 return 0x87e1b0000068ll + 0x1000000ll * ((a) & 0x1f);
10568 __ody_csr_fatal("DSSX_EARLY_RESET_N", 1, a, 0, 0, 0, 0, 0);
10569 }
10570
10571 #define typedef_ODY_DSSX_EARLY_RESET_N(a) ody_dssx_early_reset_n_t
10572 #define bustype_ODY_DSSX_EARLY_RESET_N(a) CSR_TYPE_RSL
10573 #define basename_ODY_DSSX_EARLY_RESET_N(a) "DSSX_EARLY_RESET_N"
10574 #define device_bar_ODY_DSSX_EARLY_RESET_N(a) 0x0 /* PF_BAR0 */
10575 #define busnum_ODY_DSSX_EARLY_RESET_N(a) (a)
10576 #define arguments_ODY_DSSX_EARLY_RESET_N(a) (a), -1, -1, -1
10577
10578 /**
10579 * Register (RSL) dss#_fill_lvl_cnt_cfg#
10580 *
10581 * DSS Performance Counters accumulative Occupancy Level Configuration Register
10582 * Configuration register of internal memory controller FIFOs.
10583 * This register is responsible of choosing the FIFO to be counted.
10584 * Note: SW should set only one FIFO to be counted! If more than one is chosen, then
10585 * the design will choose first one!
10586 */
10587 union ody_dssx_fill_lvl_cnt_cfgx {
10588 uint64_t u;
10589 struct ody_dssx_fill_lvl_cnt_cfgx_s {
10590 uint64_t chb_link_rxreq_flitq : 1;
10591 uint64_t chb_link_rxdat_flitq : 1;
10592 uint64_t chb_link_txdat_flitq : 1;
10593 uint64_t chb_tran_txrsp_dbid : 1;
10594 uint64_t chb_tran_txrsp_retryack : 1;
10595 uint64_t chb_tran_txrsp_pcrdgrant : 1;
10596 uint64_t chb_tran_txrsp_readreceipt : 1;
10597 uint64_t chb_tran_txrsp_comp_resp : 1;
10598 uint64_t chb_tran_rpq_lpr : 1;
10599 uint64_t chb_tran_rpq_hpr : 1;
10600 uint64_t chb_tran_rpq_vpr : 1;
10601 uint64_t chb_tran_wpq : 1;
10602 uint64_t chb_tran_rtlst_lpr : 1;
10603 uint64_t chb_tran_rtlst_vpr : 1;
10604 uint64_t chb_tran_rtlst_hpr : 1;
10605 uint64_t chb_tran_rtlst_npw : 1;
10606 uint64_t chb_tran_rtlst_vpw : 1;
10607 uint64_t chb_tran_hif_wr_crd : 1;
10608 uint64_t chb_tran_hif_lpr_crd : 1;
10609 uint64_t chb_tran_hif_hpr_crd : 1;
10610 uint64_t chb_tran_wr_pcrd_cnt : 1;
10611 uint64_t chb_tran_rd_pcrd_cnt : 1;
10612 uint64_t reserved_22_60 : 39;
10613 uint64_t interrupt_en : 1;
10614 uint64_t wrap_value : 1;
10615 uint64_t cnt_en : 1;
10616 } s;
10617 /* struct ody_dssx_fill_lvl_cnt_cfgx_s cn; */
10618 };
10619 typedef union ody_dssx_fill_lvl_cnt_cfgx ody_dssx_fill_lvl_cnt_cfgx_t;
10620
10621 static inline uint64_t ODY_DSSX_FILL_LVL_CNT_CFGX(uint64_t a, uint64_t b) __attribute__ ((pure, always_inline));
ODY_DSSX_FILL_LVL_CNT_CFGX(uint64_t a,uint64_t b)10622 static inline uint64_t ODY_DSSX_FILL_LVL_CNT_CFGX(uint64_t a, uint64_t b)
10623 {
10624 if ((a <= 19) && (b <= 2))
10625 return 0x87e1b0008418ll + 0x1000000ll * ((a) & 0x1f) + 8ll * ((b) & 0x3);
10626 __ody_csr_fatal("DSSX_FILL_LVL_CNT_CFGX", 2, a, b, 0, 0, 0, 0);
10627 }
10628
10629 #define typedef_ODY_DSSX_FILL_LVL_CNT_CFGX(a, b) ody_dssx_fill_lvl_cnt_cfgx_t
10630 #define bustype_ODY_DSSX_FILL_LVL_CNT_CFGX(a, b) CSR_TYPE_RSL
10631 #define basename_ODY_DSSX_FILL_LVL_CNT_CFGX(a, b) "DSSX_FILL_LVL_CNT_CFGX"
10632 #define device_bar_ODY_DSSX_FILL_LVL_CNT_CFGX(a, b) 0x0 /* PF_BAR0 */
10633 #define busnum_ODY_DSSX_FILL_LVL_CNT_CFGX(a, b) (a)
10634 #define arguments_ODY_DSSX_FILL_LVL_CNT_CFGX(a, b) (a), (b), -1, -1
10635
10636 /**
10637 * Register (RSL) dss#_fill_lvl_cnt_clr
10638 *
10639 * Performance Counters Fill Level Clear Register
10640 * This register is used to clear fill level counters.
10641 */
10642 union ody_dssx_fill_lvl_cnt_clr {
10643 uint64_t u;
10644 struct ody_dssx_fill_lvl_cnt_clr_s {
10645 uint64_t gen_fill_level_cnt_clr : 3;
10646 uint64_t txrsp_fill_level_cnt_clr : 1;
10647 uint64_t reserved_4_63 : 60;
10648 } s;
10649 /* struct ody_dssx_fill_lvl_cnt_clr_s cn; */
10650 };
10651 typedef union ody_dssx_fill_lvl_cnt_clr ody_dssx_fill_lvl_cnt_clr_t;
10652
10653 static inline uint64_t ODY_DSSX_FILL_LVL_CNT_CLR(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_FILL_LVL_CNT_CLR(uint64_t a)10654 static inline uint64_t ODY_DSSX_FILL_LVL_CNT_CLR(uint64_t a)
10655 {
10656 if (a <= 19)
10657 return 0x87e1b00086c8ll + 0x1000000ll * ((a) & 0x1f);
10658 __ody_csr_fatal("DSSX_FILL_LVL_CNT_CLR", 1, a, 0, 0, 0, 0, 0);
10659 }
10660
10661 #define typedef_ODY_DSSX_FILL_LVL_CNT_CLR(a) ody_dssx_fill_lvl_cnt_clr_t
10662 #define bustype_ODY_DSSX_FILL_LVL_CNT_CLR(a) CSR_TYPE_RSL
10663 #define basename_ODY_DSSX_FILL_LVL_CNT_CLR(a) "DSSX_FILL_LVL_CNT_CLR"
10664 #define device_bar_ODY_DSSX_FILL_LVL_CNT_CLR(a) 0x0 /* PF_BAR0 */
10665 #define busnum_ODY_DSSX_FILL_LVL_CNT_CLR(a) (a)
10666 #define arguments_ODY_DSSX_FILL_LVL_CNT_CLR(a) (a), -1, -1, -1
10667
10668 /**
10669 * Register (RSL) dss#_fill_lvl_cnt_ovrflw#
10670 *
10671 * Performance Counters Fill Level overflow indication Register
10672 * This register indicates if the corresponding counter overflowed.
10673 */
10674 union ody_dssx_fill_lvl_cnt_ovrflwx {
10675 uint64_t u;
10676 struct ody_dssx_fill_lvl_cnt_ovrflwx_s {
10677 uint64_t counter_overflow : 1;
10678 uint64_t reserved_1_63 : 63;
10679 } s;
10680 /* struct ody_dssx_fill_lvl_cnt_ovrflwx_s cn; */
10681 };
10682 typedef union ody_dssx_fill_lvl_cnt_ovrflwx ody_dssx_fill_lvl_cnt_ovrflwx_t;
10683
10684 static inline uint64_t ODY_DSSX_FILL_LVL_CNT_OVRFLWX(uint64_t a, uint64_t b) __attribute__ ((pure, always_inline));
ODY_DSSX_FILL_LVL_CNT_OVRFLWX(uint64_t a,uint64_t b)10685 static inline uint64_t ODY_DSSX_FILL_LVL_CNT_OVRFLWX(uint64_t a, uint64_t b)
10686 {
10687 if ((a <= 19) && (b <= 2))
10688 return 0x87e1b0008600ll + 0x1000000ll * ((a) & 0x1f) + 8ll * ((b) & 0x3);
10689 __ody_csr_fatal("DSSX_FILL_LVL_CNT_OVRFLWX", 2, a, b, 0, 0, 0, 0);
10690 }
10691
10692 #define typedef_ODY_DSSX_FILL_LVL_CNT_OVRFLWX(a, b) ody_dssx_fill_lvl_cnt_ovrflwx_t
10693 #define bustype_ODY_DSSX_FILL_LVL_CNT_OVRFLWX(a, b) CSR_TYPE_RSL
10694 #define basename_ODY_DSSX_FILL_LVL_CNT_OVRFLWX(a, b) "DSSX_FILL_LVL_CNT_OVRFLWX"
10695 #define device_bar_ODY_DSSX_FILL_LVL_CNT_OVRFLWX(a, b) 0x0 /* PF_BAR0 */
10696 #define busnum_ODY_DSSX_FILL_LVL_CNT_OVRFLWX(a, b) (a)
10697 #define arguments_ODY_DSSX_FILL_LVL_CNT_OVRFLWX(a, b) (a), (b), -1, -1
10698
10699 /**
10700 * Register (RSL) dss#_fill_lvl_cnt_val#
10701 *
10702 * Performance Counters Fill Level Value Register
10703 * Count of Accumulative occupancy level of chosen internal memory controller FIFOs.
10704 */
10705 union ody_dssx_fill_lvl_cnt_valx {
10706 uint64_t u;
10707 struct ody_dssx_fill_lvl_cnt_valx_s {
10708 uint64_t counter_value : 64;
10709 } s;
10710 /* struct ody_dssx_fill_lvl_cnt_valx_s cn; */
10711 };
10712 typedef union ody_dssx_fill_lvl_cnt_valx ody_dssx_fill_lvl_cnt_valx_t;
10713
10714 static inline uint64_t ODY_DSSX_FILL_LVL_CNT_VALX(uint64_t a, uint64_t b) __attribute__ ((pure, always_inline));
ODY_DSSX_FILL_LVL_CNT_VALX(uint64_t a,uint64_t b)10715 static inline uint64_t ODY_DSSX_FILL_LVL_CNT_VALX(uint64_t a, uint64_t b)
10716 {
10717 if ((a <= 19) && (b <= 2))
10718 return 0x87e1b0008500ll + 0x1000000ll * ((a) & 0x1f) + 8ll * ((b) & 0x3);
10719 __ody_csr_fatal("DSSX_FILL_LVL_CNT_VALX", 2, a, b, 0, 0, 0, 0);
10720 }
10721
10722 #define typedef_ODY_DSSX_FILL_LVL_CNT_VALX(a, b) ody_dssx_fill_lvl_cnt_valx_t
10723 #define bustype_ODY_DSSX_FILL_LVL_CNT_VALX(a, b) CSR_TYPE_RSL
10724 #define basename_ODY_DSSX_FILL_LVL_CNT_VALX(a, b) "DSSX_FILL_LVL_CNT_VALX"
10725 #define device_bar_ODY_DSSX_FILL_LVL_CNT_VALX(a, b) 0x0 /* PF_BAR0 */
10726 #define busnum_ODY_DSSX_FILL_LVL_CNT_VALX(a, b) (a)
10727 #define arguments_ODY_DSSX_FILL_LVL_CNT_VALX(a, b) (a), (b), -1, -1
10728
10729 /**
10730 * Register (RSL) dss#_int_ena_w1c
10731 *
10732 * DSS Interrupt Enable Clear Registers
10733 * This register clears interrupt enable bits.
10734 */
10735 union ody_dssx_int_ena_w1c {
10736 uint64_t u;
10737 struct ody_dssx_int_ena_w1c_s {
10738 uint64_t ctrlupd_err_intr : 1;
10739 uint64_t derate_temp_limit_intr : 1;
10740 uint64_t ducmd_err_intr : 1;
10741 uint64_t ecc_corrected_err_intr : 1;
10742 uint64_t ecc_uncorrected_err_intr : 1;
10743 uint64_t lccmd_err_intr : 1;
10744 uint64_t wr_crc_err_max_reached_intr : 1;
10745 uint64_t rd_crc_err_max_reached_intr : 1;
10746 uint64_t swcmd_err_intr : 1;
10747 uint64_t wr_crc_err_intr : 1;
10748 uint64_t capar_err_max_reached_intr : 1;
10749 uint64_t capar_err_intr : 1;
10750 uint64_t rfm_alert_intr : 1;
10751 uint64_t msh_dss_dat_chk_error_intr : 1;
10752 uint64_t msh_dss_req_chk_error_intr : 1;
10753 uint64_t rd_retry_limit_intr : 1;
10754 uint64_t wr_crc_retry_limit_intr : 1;
10755 uint64_t sbr_done_intr : 1;
10756 uint64_t dwc_ddrphy_int : 1;
10757 uint64_t dss_wr_crc_ret_lo_ecc_sbe_intr : 1;
10758 uint64_t dss_wr_crc_ret_lo_ecc_dbe_intr : 1;
10759 uint64_t dss_wr_crc_ret_hi_ecc_sbe_intr : 1;
10760 uint64_t dss_wr_crc_ret_hi_ecc_dbe_intr : 1;
10761 uint64_t dss_chb_rt_ecc_sbe_intr : 1;
10762 uint64_t dss_chb_rt_ecc_dbe_intr : 1;
10763 uint64_t dss_wdata_ram_ecc_sbe_intr : 1;
10764 uint64_t dss_wdata_ram_ecc_dbe_intr : 1;
10765 uint64_t dss_chb_wrb_lo_ecc_sbe_intr : 1;
10766 uint64_t dss_chb_wrb_hi_ecc_sbe_intr : 1;
10767 uint64_t dss_chb_wrb_lo_ecc_dbe_intr : 1;
10768 uint64_t dss_chb_wrb_hi_ecc_dbe_intr : 1;
10769 uint64_t capar_retry_limit_reached_intr : 1;
10770 uint64_t capar_fatl_err_intr : 1;
10771 uint64_t caparcmd_err_intr : 1;
10772 uint64_t reserved_34_63 : 30;
10773 } s;
10774 /* struct ody_dssx_int_ena_w1c_s cn; */
10775 };
10776 typedef union ody_dssx_int_ena_w1c ody_dssx_int_ena_w1c_t;
10777
10778 static inline uint64_t ODY_DSSX_INT_ENA_W1C(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_INT_ENA_W1C(uint64_t a)10779 static inline uint64_t ODY_DSSX_INT_ENA_W1C(uint64_t a)
10780 {
10781 if (a <= 19)
10782 return 0x87e1b0008010ll + 0x1000000ll * ((a) & 0x1f);
10783 __ody_csr_fatal("DSSX_INT_ENA_W1C", 1, a, 0, 0, 0, 0, 0);
10784 }
10785
10786 #define typedef_ODY_DSSX_INT_ENA_W1C(a) ody_dssx_int_ena_w1c_t
10787 #define bustype_ODY_DSSX_INT_ENA_W1C(a) CSR_TYPE_RSL
10788 #define basename_ODY_DSSX_INT_ENA_W1C(a) "DSSX_INT_ENA_W1C"
10789 #define device_bar_ODY_DSSX_INT_ENA_W1C(a) 0x0 /* PF_BAR0 */
10790 #define busnum_ODY_DSSX_INT_ENA_W1C(a) (a)
10791 #define arguments_ODY_DSSX_INT_ENA_W1C(a) (a), -1, -1, -1
10792
10793 /**
10794 * Register (RSL) dss#_int_ena_w1s
10795 *
10796 * DSS Interrupt Enable Set Registers
10797 * This register sets interrupt enable bits.
10798 */
10799 union ody_dssx_int_ena_w1s {
10800 uint64_t u;
10801 struct ody_dssx_int_ena_w1s_s {
10802 uint64_t ctrlupd_err_intr : 1;
10803 uint64_t derate_temp_limit_intr : 1;
10804 uint64_t ducmd_err_intr : 1;
10805 uint64_t ecc_corrected_err_intr : 1;
10806 uint64_t ecc_uncorrected_err_intr : 1;
10807 uint64_t lccmd_err_intr : 1;
10808 uint64_t wr_crc_err_max_reached_intr : 1;
10809 uint64_t rd_crc_err_max_reached_intr : 1;
10810 uint64_t swcmd_err_intr : 1;
10811 uint64_t wr_crc_err_intr : 1;
10812 uint64_t capar_err_max_reached_intr : 1;
10813 uint64_t capar_err_intr : 1;
10814 uint64_t rfm_alert_intr : 1;
10815 uint64_t msh_dss_dat_chk_error_intr : 1;
10816 uint64_t msh_dss_req_chk_error_intr : 1;
10817 uint64_t rd_retry_limit_intr : 1;
10818 uint64_t wr_crc_retry_limit_intr : 1;
10819 uint64_t sbr_done_intr : 1;
10820 uint64_t dwc_ddrphy_int : 1;
10821 uint64_t dss_wr_crc_ret_lo_ecc_sbe_intr : 1;
10822 uint64_t dss_wr_crc_ret_lo_ecc_dbe_intr : 1;
10823 uint64_t dss_wr_crc_ret_hi_ecc_sbe_intr : 1;
10824 uint64_t dss_wr_crc_ret_hi_ecc_dbe_intr : 1;
10825 uint64_t dss_chb_rt_ecc_sbe_intr : 1;
10826 uint64_t dss_chb_rt_ecc_dbe_intr : 1;
10827 uint64_t dss_wdata_ram_ecc_sbe_intr : 1;
10828 uint64_t dss_wdata_ram_ecc_dbe_intr : 1;
10829 uint64_t dss_chb_wrb_lo_ecc_sbe_intr : 1;
10830 uint64_t dss_chb_wrb_hi_ecc_sbe_intr : 1;
10831 uint64_t dss_chb_wrb_lo_ecc_dbe_intr : 1;
10832 uint64_t dss_chb_wrb_hi_ecc_dbe_intr : 1;
10833 uint64_t capar_retry_limit_reached_intr : 1;
10834 uint64_t capar_fatl_err_intr : 1;
10835 uint64_t caparcmd_err_intr : 1;
10836 uint64_t reserved_34_63 : 30;
10837 } s;
10838 /* struct ody_dssx_int_ena_w1s_s cn; */
10839 };
10840 typedef union ody_dssx_int_ena_w1s ody_dssx_int_ena_w1s_t;
10841
10842 static inline uint64_t ODY_DSSX_INT_ENA_W1S(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_INT_ENA_W1S(uint64_t a)10843 static inline uint64_t ODY_DSSX_INT_ENA_W1S(uint64_t a)
10844 {
10845 if (a <= 19)
10846 return 0x87e1b0008018ll + 0x1000000ll * ((a) & 0x1f);
10847 __ody_csr_fatal("DSSX_INT_ENA_W1S", 1, a, 0, 0, 0, 0, 0);
10848 }
10849
10850 #define typedef_ODY_DSSX_INT_ENA_W1S(a) ody_dssx_int_ena_w1s_t
10851 #define bustype_ODY_DSSX_INT_ENA_W1S(a) CSR_TYPE_RSL
10852 #define basename_ODY_DSSX_INT_ENA_W1S(a) "DSSX_INT_ENA_W1S"
10853 #define device_bar_ODY_DSSX_INT_ENA_W1S(a) 0x0 /* PF_BAR0 */
10854 #define busnum_ODY_DSSX_INT_ENA_W1S(a) (a)
10855 #define arguments_ODY_DSSX_INT_ENA_W1S(a) (a), -1, -1, -1
10856
10857 /**
10858 * Register (RSL) dss#_int_w1c
10859 *
10860 * DSS Interrupt Register
10861 * This register is for DSS-based interrupts.
10862 */
10863 union ody_dssx_int_w1c {
10864 uint64_t u;
10865 struct ody_dssx_int_w1c_s {
10866 uint64_t ctrlupd_err_intr : 1;
10867 uint64_t derate_temp_limit_intr : 1;
10868 uint64_t ducmd_err_intr : 1;
10869 uint64_t ecc_corrected_err_intr : 1;
10870 uint64_t ecc_uncorrected_err_intr : 1;
10871 uint64_t lccmd_err_intr : 1;
10872 uint64_t wr_crc_err_max_reached_intr : 1;
10873 uint64_t rd_crc_err_max_reached_intr : 1;
10874 uint64_t swcmd_err_intr : 1;
10875 uint64_t wr_crc_err_intr : 1;
10876 uint64_t capar_err_max_reached_intr : 1;
10877 uint64_t capar_err_intr : 1;
10878 uint64_t rfm_alert_intr : 1;
10879 uint64_t msh_dss_dat_chk_error_intr : 1;
10880 uint64_t msh_dss_req_chk_error_intr : 1;
10881 uint64_t rd_retry_limit_intr : 1;
10882 uint64_t wr_crc_retry_limit_intr : 1;
10883 uint64_t sbr_done_intr : 1;
10884 uint64_t dwc_ddrphy_int : 1;
10885 uint64_t dss_wr_crc_ret_lo_ecc_sbe_intr : 1;
10886 uint64_t dss_wr_crc_ret_lo_ecc_dbe_intr : 1;
10887 uint64_t dss_wr_crc_ret_hi_ecc_sbe_intr : 1;
10888 uint64_t dss_wr_crc_ret_hi_ecc_dbe_intr : 1;
10889 uint64_t dss_chb_rt_ecc_sbe_intr : 1;
10890 uint64_t dss_chb_rt_ecc_dbe_intr : 1;
10891 uint64_t dss_wdata_ram_ecc_sbe_intr : 1;
10892 uint64_t dss_wdata_ram_ecc_dbe_intr : 1;
10893 uint64_t dss_chb_wrb_lo_ecc_sbe_intr : 1;
10894 uint64_t dss_chb_wrb_hi_ecc_sbe_intr : 1;
10895 uint64_t dss_chb_wrb_lo_ecc_dbe_intr : 1;
10896 uint64_t dss_chb_wrb_hi_ecc_dbe_intr : 1;
10897 uint64_t capar_retry_limit_reached_intr : 1;
10898 uint64_t capar_fatl_err_intr : 1;
10899 uint64_t caparcmd_err_intr : 1;
10900 uint64_t reserved_34_63 : 30;
10901 } s;
10902 /* struct ody_dssx_int_w1c_s cn; */
10903 };
10904 typedef union ody_dssx_int_w1c ody_dssx_int_w1c_t;
10905
10906 static inline uint64_t ODY_DSSX_INT_W1C(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_INT_W1C(uint64_t a)10907 static inline uint64_t ODY_DSSX_INT_W1C(uint64_t a)
10908 {
10909 if (a <= 19)
10910 return 0x87e1b0008000ll + 0x1000000ll * ((a) & 0x1f);
10911 __ody_csr_fatal("DSSX_INT_W1C", 1, a, 0, 0, 0, 0, 0);
10912 }
10913
10914 #define typedef_ODY_DSSX_INT_W1C(a) ody_dssx_int_w1c_t
10915 #define bustype_ODY_DSSX_INT_W1C(a) CSR_TYPE_RSL
10916 #define basename_ODY_DSSX_INT_W1C(a) "DSSX_INT_W1C"
10917 #define device_bar_ODY_DSSX_INT_W1C(a) 0x0 /* PF_BAR0 */
10918 #define busnum_ODY_DSSX_INT_W1C(a) (a)
10919 #define arguments_ODY_DSSX_INT_W1C(a) (a), -1, -1, -1
10920
10921 /**
10922 * Register (RSL) dss#_int_w1s
10923 *
10924 * DSS Interrupt Set Registers
10925 * This register sets interrupt bits.
10926 */
10927 union ody_dssx_int_w1s {
10928 uint64_t u;
10929 struct ody_dssx_int_w1s_s {
10930 uint64_t ctrlupd_err_intr : 1;
10931 uint64_t derate_temp_limit_intr : 1;
10932 uint64_t ducmd_err_intr : 1;
10933 uint64_t ecc_corrected_err_intr : 1;
10934 uint64_t ecc_uncorrected_err_intr : 1;
10935 uint64_t lccmd_err_intr : 1;
10936 uint64_t wr_crc_err_max_reached_intr : 1;
10937 uint64_t rd_crc_err_max_reached_intr : 1;
10938 uint64_t swcmd_err_intr : 1;
10939 uint64_t wr_crc_err_intr : 1;
10940 uint64_t capar_err_max_reached_intr : 1;
10941 uint64_t capar_err_intr : 1;
10942 uint64_t rfm_alert_intr : 1;
10943 uint64_t msh_dss_dat_chk_error_intr : 1;
10944 uint64_t msh_dss_req_chk_error_intr : 1;
10945 uint64_t rd_retry_limit_intr : 1;
10946 uint64_t wr_crc_retry_limit_intr : 1;
10947 uint64_t sbr_done_intr : 1;
10948 uint64_t dwc_ddrphy_int : 1;
10949 uint64_t dss_wr_crc_ret_lo_ecc_sbe_intr : 1;
10950 uint64_t dss_wr_crc_ret_lo_ecc_dbe_intr : 1;
10951 uint64_t dss_wr_crc_ret_hi_ecc_sbe_intr : 1;
10952 uint64_t dss_wr_crc_ret_hi_ecc_dbe_intr : 1;
10953 uint64_t dss_chb_rt_ecc_sbe_intr : 1;
10954 uint64_t dss_chb_rt_ecc_dbe_intr : 1;
10955 uint64_t dss_wdata_ram_ecc_sbe_intr : 1;
10956 uint64_t dss_wdata_ram_ecc_dbe_intr : 1;
10957 uint64_t dss_chb_wrb_lo_ecc_sbe_intr : 1;
10958 uint64_t dss_chb_wrb_hi_ecc_sbe_intr : 1;
10959 uint64_t dss_chb_wrb_lo_ecc_dbe_intr : 1;
10960 uint64_t dss_chb_wrb_hi_ecc_dbe_intr : 1;
10961 uint64_t capar_retry_limit_reached_intr : 1;
10962 uint64_t capar_fatl_err_intr : 1;
10963 uint64_t caparcmd_err_intr : 1;
10964 uint64_t reserved_34_63 : 30;
10965 } s;
10966 /* struct ody_dssx_int_w1s_s cn; */
10967 };
10968 typedef union ody_dssx_int_w1s ody_dssx_int_w1s_t;
10969
10970 static inline uint64_t ODY_DSSX_INT_W1S(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_INT_W1S(uint64_t a)10971 static inline uint64_t ODY_DSSX_INT_W1S(uint64_t a)
10972 {
10973 if (a <= 19)
10974 return 0x87e1b0008008ll + 0x1000000ll * ((a) & 0x1f);
10975 __ody_csr_fatal("DSSX_INT_W1S", 1, a, 0, 0, 0, 0, 0);
10976 }
10977
10978 #define typedef_ODY_DSSX_INT_W1S(a) ody_dssx_int_w1s_t
10979 #define bustype_ODY_DSSX_INT_W1S(a) CSR_TYPE_RSL
10980 #define basename_ODY_DSSX_INT_W1S(a) "DSSX_INT_W1S"
10981 #define device_bar_ODY_DSSX_INT_W1S(a) 0x0 /* PF_BAR0 */
10982 #define busnum_ODY_DSSX_INT_W1S(a) (a)
10983 #define arguments_ODY_DSSX_INT_W1S(a) (a), -1, -1, -1
10984
10985 /**
10986 * Register (RSL) dss#_lat_calc_ctrl
10987 *
10988 * DSS latency calculation control Register
10989 * Control register for read/write commands latency calculator.
10990 */
10991 union ody_dssx_lat_calc_ctrl {
10992 uint64_t u;
10993 struct ody_dssx_lat_calc_ctrl_s {
10994 uint64_t wr_latency_calc_enable : 1;
10995 uint64_t rd_latency_calc_enable : 1;
10996 uint64_t latch_latency_registers : 1;
10997 uint64_t reserved_3_63 : 61;
10998 } s;
10999 /* struct ody_dssx_lat_calc_ctrl_s cn; */
11000 };
11001 typedef union ody_dssx_lat_calc_ctrl ody_dssx_lat_calc_ctrl_t;
11002
11003 static inline uint64_t ODY_DSSX_LAT_CALC_CTRL(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_LAT_CALC_CTRL(uint64_t a)11004 static inline uint64_t ODY_DSSX_LAT_CALC_CTRL(uint64_t a)
11005 {
11006 if (a <= 19)
11007 return 0x87e1b0008300ll + 0x1000000ll * ((a) & 0x1f);
11008 __ody_csr_fatal("DSSX_LAT_CALC_CTRL", 1, a, 0, 0, 0, 0, 0);
11009 }
11010
11011 #define typedef_ODY_DSSX_LAT_CALC_CTRL(a) ody_dssx_lat_calc_ctrl_t
11012 #define bustype_ODY_DSSX_LAT_CALC_CTRL(a) CSR_TYPE_RSL
11013 #define basename_ODY_DSSX_LAT_CALC_CTRL(a) "DSSX_LAT_CALC_CTRL"
11014 #define device_bar_ODY_DSSX_LAT_CALC_CTRL(a) 0x0 /* PF_BAR0 */
11015 #define busnum_ODY_DSSX_LAT_CALC_CTRL(a) (a)
11016 #define arguments_ODY_DSSX_LAT_CALC_CTRL(a) (a), -1, -1, -1
11017
11018 /**
11019 * Register (RSL) dss#_lat_num_rd_req_hi
11020 *
11021 * DSS number read requests Register
11022 * Status register indicating number of total issued read requests to DSS.
11023 * Total number of read requests is {DSS_LAT_NUM_RD_REQ_HI, DSS_LAT_NUM_RD_REQ_LO}.
11024 */
11025 union ody_dssx_lat_num_rd_req_hi {
11026 uint64_t u;
11027 struct ody_dssx_lat_num_rd_req_hi_s {
11028 uint64_t lat_num_rd_req_hi : 64;
11029 } s;
11030 /* struct ody_dssx_lat_num_rd_req_hi_s cn; */
11031 };
11032 typedef union ody_dssx_lat_num_rd_req_hi ody_dssx_lat_num_rd_req_hi_t;
11033
11034 static inline uint64_t ODY_DSSX_LAT_NUM_RD_REQ_HI(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_LAT_NUM_RD_REQ_HI(uint64_t a)11035 static inline uint64_t ODY_DSSX_LAT_NUM_RD_REQ_HI(uint64_t a)
11036 {
11037 if (a <= 19)
11038 return 0x87e1b0008310ll + 0x1000000ll * ((a) & 0x1f);
11039 __ody_csr_fatal("DSSX_LAT_NUM_RD_REQ_HI", 1, a, 0, 0, 0, 0, 0);
11040 }
11041
11042 #define typedef_ODY_DSSX_LAT_NUM_RD_REQ_HI(a) ody_dssx_lat_num_rd_req_hi_t
11043 #define bustype_ODY_DSSX_LAT_NUM_RD_REQ_HI(a) CSR_TYPE_RSL
11044 #define basename_ODY_DSSX_LAT_NUM_RD_REQ_HI(a) "DSSX_LAT_NUM_RD_REQ_HI"
11045 #define device_bar_ODY_DSSX_LAT_NUM_RD_REQ_HI(a) 0x0 /* PF_BAR0 */
11046 #define busnum_ODY_DSSX_LAT_NUM_RD_REQ_HI(a) (a)
11047 #define arguments_ODY_DSSX_LAT_NUM_RD_REQ_HI(a) (a), -1, -1, -1
11048
11049 /**
11050 * Register (RSL) dss#_lat_num_rd_req_lo
11051 *
11052 * DSS number read requests Register
11053 * Status register indicating number of total issued read requests to DSS.
11054 * Total number of read requests is {DSS_LAT_NUM_RD_REQ_HI, DSS_LAT_NUM_RD_REQ_LO}.
11055 */
11056 union ody_dssx_lat_num_rd_req_lo {
11057 uint64_t u;
11058 struct ody_dssx_lat_num_rd_req_lo_s {
11059 uint64_t lat_num_rd_req_lo : 64;
11060 } s;
11061 /* struct ody_dssx_lat_num_rd_req_lo_s cn; */
11062 };
11063 typedef union ody_dssx_lat_num_rd_req_lo ody_dssx_lat_num_rd_req_lo_t;
11064
11065 static inline uint64_t ODY_DSSX_LAT_NUM_RD_REQ_LO(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_LAT_NUM_RD_REQ_LO(uint64_t a)11066 static inline uint64_t ODY_DSSX_LAT_NUM_RD_REQ_LO(uint64_t a)
11067 {
11068 if (a <= 19)
11069 return 0x87e1b0008308ll + 0x1000000ll * ((a) & 0x1f);
11070 __ody_csr_fatal("DSSX_LAT_NUM_RD_REQ_LO", 1, a, 0, 0, 0, 0, 0);
11071 }
11072
11073 #define typedef_ODY_DSSX_LAT_NUM_RD_REQ_LO(a) ody_dssx_lat_num_rd_req_lo_t
11074 #define bustype_ODY_DSSX_LAT_NUM_RD_REQ_LO(a) CSR_TYPE_RSL
11075 #define basename_ODY_DSSX_LAT_NUM_RD_REQ_LO(a) "DSSX_LAT_NUM_RD_REQ_LO"
11076 #define device_bar_ODY_DSSX_LAT_NUM_RD_REQ_LO(a) 0x0 /* PF_BAR0 */
11077 #define busnum_ODY_DSSX_LAT_NUM_RD_REQ_LO(a) (a)
11078 #define arguments_ODY_DSSX_LAT_NUM_RD_REQ_LO(a) (a), -1, -1, -1
11079
11080 /**
11081 * Register (RSL) dss#_lat_num_wr_req_hi
11082 *
11083 * DSS number write requests Register
11084 * Status register indicating number of total issued write requests to DSS.
11085 * Total number of read requests is {DSS_LAT_NUM_WR_REQ_HI, DSS_LAT_NUM_WR_REQ_LO}.
11086 */
11087 union ody_dssx_lat_num_wr_req_hi {
11088 uint64_t u;
11089 struct ody_dssx_lat_num_wr_req_hi_s {
11090 uint64_t lat_num_wr_req_hi : 64;
11091 } s;
11092 /* struct ody_dssx_lat_num_wr_req_hi_s cn; */
11093 };
11094 typedef union ody_dssx_lat_num_wr_req_hi ody_dssx_lat_num_wr_req_hi_t;
11095
11096 static inline uint64_t ODY_DSSX_LAT_NUM_WR_REQ_HI(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_LAT_NUM_WR_REQ_HI(uint64_t a)11097 static inline uint64_t ODY_DSSX_LAT_NUM_WR_REQ_HI(uint64_t a)
11098 {
11099 if (a <= 19)
11100 return 0x87e1b0008320ll + 0x1000000ll * ((a) & 0x1f);
11101 __ody_csr_fatal("DSSX_LAT_NUM_WR_REQ_HI", 1, a, 0, 0, 0, 0, 0);
11102 }
11103
11104 #define typedef_ODY_DSSX_LAT_NUM_WR_REQ_HI(a) ody_dssx_lat_num_wr_req_hi_t
11105 #define bustype_ODY_DSSX_LAT_NUM_WR_REQ_HI(a) CSR_TYPE_RSL
11106 #define basename_ODY_DSSX_LAT_NUM_WR_REQ_HI(a) "DSSX_LAT_NUM_WR_REQ_HI"
11107 #define device_bar_ODY_DSSX_LAT_NUM_WR_REQ_HI(a) 0x0 /* PF_BAR0 */
11108 #define busnum_ODY_DSSX_LAT_NUM_WR_REQ_HI(a) (a)
11109 #define arguments_ODY_DSSX_LAT_NUM_WR_REQ_HI(a) (a), -1, -1, -1
11110
11111 /**
11112 * Register (RSL) dss#_lat_num_wr_req_lo
11113 *
11114 * DSS number write requests Register
11115 * Status register indicating number of total issued write requests to DSS.
11116 * Total number of write requests is {DSS_LAT_NUM_WR_REQ_HI, DSS_LAT_NUM_WR_REQ_LO}.
11117 */
11118 union ody_dssx_lat_num_wr_req_lo {
11119 uint64_t u;
11120 struct ody_dssx_lat_num_wr_req_lo_s {
11121 uint64_t lat_num_wr_req_lo : 64;
11122 } s;
11123 /* struct ody_dssx_lat_num_wr_req_lo_s cn; */
11124 };
11125 typedef union ody_dssx_lat_num_wr_req_lo ody_dssx_lat_num_wr_req_lo_t;
11126
11127 static inline uint64_t ODY_DSSX_LAT_NUM_WR_REQ_LO(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_LAT_NUM_WR_REQ_LO(uint64_t a)11128 static inline uint64_t ODY_DSSX_LAT_NUM_WR_REQ_LO(uint64_t a)
11129 {
11130 if (a <= 19)
11131 return 0x87e1b0008318ll + 0x1000000ll * ((a) & 0x1f);
11132 __ody_csr_fatal("DSSX_LAT_NUM_WR_REQ_LO", 1, a, 0, 0, 0, 0, 0);
11133 }
11134
11135 #define typedef_ODY_DSSX_LAT_NUM_WR_REQ_LO(a) ody_dssx_lat_num_wr_req_lo_t
11136 #define bustype_ODY_DSSX_LAT_NUM_WR_REQ_LO(a) CSR_TYPE_RSL
11137 #define basename_ODY_DSSX_LAT_NUM_WR_REQ_LO(a) "DSSX_LAT_NUM_WR_REQ_LO"
11138 #define device_bar_ODY_DSSX_LAT_NUM_WR_REQ_LO(a) 0x0 /* PF_BAR0 */
11139 #define busnum_ODY_DSSX_LAT_NUM_WR_REQ_LO(a) (a)
11140 #define arguments_ODY_DSSX_LAT_NUM_WR_REQ_LO(a) (a), -1, -1, -1
11141
11142 /**
11143 * Register (RSL) dss#_lat_outstand_rd_wr_req
11144 *
11145 * DSS number of outstanding read/write requests Register
11146 * Status register indicating number of current outstanding read/write requests in DSS.
11147 */
11148 union ody_dssx_lat_outstand_rd_wr_req {
11149 uint64_t u;
11150 struct ody_dssx_lat_outstand_rd_wr_req_s {
11151 uint64_t lat_outstanding_rd : 9;
11152 uint64_t lat_outstanding_wr : 9;
11153 uint64_t reserved_18_63 : 46;
11154 } s;
11155 /* struct ody_dssx_lat_outstand_rd_wr_req_s cn; */
11156 };
11157 typedef union ody_dssx_lat_outstand_rd_wr_req ody_dssx_lat_outstand_rd_wr_req_t;
11158
11159 static inline uint64_t ODY_DSSX_LAT_OUTSTAND_RD_WR_REQ(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_LAT_OUTSTAND_RD_WR_REQ(uint64_t a)11160 static inline uint64_t ODY_DSSX_LAT_OUTSTAND_RD_WR_REQ(uint64_t a)
11161 {
11162 if (a <= 19)
11163 return 0x87e1b0008328ll + 0x1000000ll * ((a) & 0x1f);
11164 __ody_csr_fatal("DSSX_LAT_OUTSTAND_RD_WR_REQ", 1, a, 0, 0, 0, 0, 0);
11165 }
11166
11167 #define typedef_ODY_DSSX_LAT_OUTSTAND_RD_WR_REQ(a) ody_dssx_lat_outstand_rd_wr_req_t
11168 #define bustype_ODY_DSSX_LAT_OUTSTAND_RD_WR_REQ(a) CSR_TYPE_RSL
11169 #define basename_ODY_DSSX_LAT_OUTSTAND_RD_WR_REQ(a) "DSSX_LAT_OUTSTAND_RD_WR_REQ"
11170 #define device_bar_ODY_DSSX_LAT_OUTSTAND_RD_WR_REQ(a) 0x0 /* PF_BAR0 */
11171 #define busnum_ODY_DSSX_LAT_OUTSTAND_RD_WR_REQ(a) (a)
11172 #define arguments_ODY_DSSX_LAT_OUTSTAND_RD_WR_REQ(a) (a), -1, -1, -1
11173
11174 /**
11175 * Register (RSL) dss#_lat_total_rd_latency_hi
11176 *
11177 * DSS Total Read Latency High Register
11178 * Status register indicating number of total latency of all read requests since
11179 * latency calculation is enabled in DSS.
11180 * Total number of read latency in DFI cycles is {DSS_LAT_TOTAL_RD_LATENCY_HI,
11181 * DSS_LAT_TOTAL_RD_LATENCY_LO}.
11182 */
11183 union ody_dssx_lat_total_rd_latency_hi {
11184 uint64_t u;
11185 struct ody_dssx_lat_total_rd_latency_hi_s {
11186 uint64_t total_rd_latency_hi : 64;
11187 } s;
11188 /* struct ody_dssx_lat_total_rd_latency_hi_s cn; */
11189 };
11190 typedef union ody_dssx_lat_total_rd_latency_hi ody_dssx_lat_total_rd_latency_hi_t;
11191
11192 static inline uint64_t ODY_DSSX_LAT_TOTAL_RD_LATENCY_HI(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_LAT_TOTAL_RD_LATENCY_HI(uint64_t a)11193 static inline uint64_t ODY_DSSX_LAT_TOTAL_RD_LATENCY_HI(uint64_t a)
11194 {
11195 if (a <= 19)
11196 return 0x87e1b0008338ll + 0x1000000ll * ((a) & 0x1f);
11197 __ody_csr_fatal("DSSX_LAT_TOTAL_RD_LATENCY_HI", 1, a, 0, 0, 0, 0, 0);
11198 }
11199
11200 #define typedef_ODY_DSSX_LAT_TOTAL_RD_LATENCY_HI(a) ody_dssx_lat_total_rd_latency_hi_t
11201 #define bustype_ODY_DSSX_LAT_TOTAL_RD_LATENCY_HI(a) CSR_TYPE_RSL
11202 #define basename_ODY_DSSX_LAT_TOTAL_RD_LATENCY_HI(a) "DSSX_LAT_TOTAL_RD_LATENCY_HI"
11203 #define device_bar_ODY_DSSX_LAT_TOTAL_RD_LATENCY_HI(a) 0x0 /* PF_BAR0 */
11204 #define busnum_ODY_DSSX_LAT_TOTAL_RD_LATENCY_HI(a) (a)
11205 #define arguments_ODY_DSSX_LAT_TOTAL_RD_LATENCY_HI(a) (a), -1, -1, -1
11206
11207 /**
11208 * Register (RSL) dss#_lat_total_rd_latency_lo
11209 *
11210 * DSS Total Read Latency Low Register
11211 * Status register indicating number of total latency of all read requests since
11212 * latency calculation is enabled in DSS.
11213 * Total number of read latency in DFI cycles is {DSS_LAT_TOTAL_RD_LATENCY_HI,
11214 * DSS_LAT_TOTAL_RD_LATENCY_LO}.
11215 */
11216 union ody_dssx_lat_total_rd_latency_lo {
11217 uint64_t u;
11218 struct ody_dssx_lat_total_rd_latency_lo_s {
11219 uint64_t total_rd_latency_lo : 64;
11220 } s;
11221 /* struct ody_dssx_lat_total_rd_latency_lo_s cn; */
11222 };
11223 typedef union ody_dssx_lat_total_rd_latency_lo ody_dssx_lat_total_rd_latency_lo_t;
11224
11225 static inline uint64_t ODY_DSSX_LAT_TOTAL_RD_LATENCY_LO(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_LAT_TOTAL_RD_LATENCY_LO(uint64_t a)11226 static inline uint64_t ODY_DSSX_LAT_TOTAL_RD_LATENCY_LO(uint64_t a)
11227 {
11228 if (a <= 19)
11229 return 0x87e1b0008330ll + 0x1000000ll * ((a) & 0x1f);
11230 __ody_csr_fatal("DSSX_LAT_TOTAL_RD_LATENCY_LO", 1, a, 0, 0, 0, 0, 0);
11231 }
11232
11233 #define typedef_ODY_DSSX_LAT_TOTAL_RD_LATENCY_LO(a) ody_dssx_lat_total_rd_latency_lo_t
11234 #define bustype_ODY_DSSX_LAT_TOTAL_RD_LATENCY_LO(a) CSR_TYPE_RSL
11235 #define basename_ODY_DSSX_LAT_TOTAL_RD_LATENCY_LO(a) "DSSX_LAT_TOTAL_RD_LATENCY_LO"
11236 #define device_bar_ODY_DSSX_LAT_TOTAL_RD_LATENCY_LO(a) 0x0 /* PF_BAR0 */
11237 #define busnum_ODY_DSSX_LAT_TOTAL_RD_LATENCY_LO(a) (a)
11238 #define arguments_ODY_DSSX_LAT_TOTAL_RD_LATENCY_LO(a) (a), -1, -1, -1
11239
11240 /**
11241 * Register (RSL) dss#_lat_total_wr_latency_hi
11242 *
11243 * DSS Total Write Latency High Register
11244 * Status register indicating number of total latency of all write requests since
11245 * latency calculation is enabled in DSS.
11246 * Total number of write latency in DFI cycles is {DSS_LAT_TOTAL_WR_LATENCY_HI,
11247 * DSS_LAT_TOTAL_WR_LATENCY_LO}.
11248 */
11249 union ody_dssx_lat_total_wr_latency_hi {
11250 uint64_t u;
11251 struct ody_dssx_lat_total_wr_latency_hi_s {
11252 uint64_t total_wr_latency_hi : 64;
11253 } s;
11254 /* struct ody_dssx_lat_total_wr_latency_hi_s cn; */
11255 };
11256 typedef union ody_dssx_lat_total_wr_latency_hi ody_dssx_lat_total_wr_latency_hi_t;
11257
11258 static inline uint64_t ODY_DSSX_LAT_TOTAL_WR_LATENCY_HI(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_LAT_TOTAL_WR_LATENCY_HI(uint64_t a)11259 static inline uint64_t ODY_DSSX_LAT_TOTAL_WR_LATENCY_HI(uint64_t a)
11260 {
11261 if (a <= 19)
11262 return 0x87e1b0008348ll + 0x1000000ll * ((a) & 0x1f);
11263 __ody_csr_fatal("DSSX_LAT_TOTAL_WR_LATENCY_HI", 1, a, 0, 0, 0, 0, 0);
11264 }
11265
11266 #define typedef_ODY_DSSX_LAT_TOTAL_WR_LATENCY_HI(a) ody_dssx_lat_total_wr_latency_hi_t
11267 #define bustype_ODY_DSSX_LAT_TOTAL_WR_LATENCY_HI(a) CSR_TYPE_RSL
11268 #define basename_ODY_DSSX_LAT_TOTAL_WR_LATENCY_HI(a) "DSSX_LAT_TOTAL_WR_LATENCY_HI"
11269 #define device_bar_ODY_DSSX_LAT_TOTAL_WR_LATENCY_HI(a) 0x0 /* PF_BAR0 */
11270 #define busnum_ODY_DSSX_LAT_TOTAL_WR_LATENCY_HI(a) (a)
11271 #define arguments_ODY_DSSX_LAT_TOTAL_WR_LATENCY_HI(a) (a), -1, -1, -1
11272
11273 /**
11274 * Register (RSL) dss#_lat_total_wr_latency_lo
11275 *
11276 * DSS Total Write Latency Low Register
11277 * Status register indicating number of total latency of all write requests since
11278 * latency calculation is enabled in DSS.
11279 * Total number of write latency in DFI cycles is {DSS_LAT_TOTAL_WR_LATENCY_HI,
11280 * DSS_LAT_TOTAL_WR_LATENCY_LO}.
11281 */
11282 union ody_dssx_lat_total_wr_latency_lo {
11283 uint64_t u;
11284 struct ody_dssx_lat_total_wr_latency_lo_s {
11285 uint64_t total_wr_latency_lo : 64;
11286 } s;
11287 /* struct ody_dssx_lat_total_wr_latency_lo_s cn; */
11288 };
11289 typedef union ody_dssx_lat_total_wr_latency_lo ody_dssx_lat_total_wr_latency_lo_t;
11290
11291 static inline uint64_t ODY_DSSX_LAT_TOTAL_WR_LATENCY_LO(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_LAT_TOTAL_WR_LATENCY_LO(uint64_t a)11292 static inline uint64_t ODY_DSSX_LAT_TOTAL_WR_LATENCY_LO(uint64_t a)
11293 {
11294 if (a <= 19)
11295 return 0x87e1b0008340ll + 0x1000000ll * ((a) & 0x1f);
11296 __ody_csr_fatal("DSSX_LAT_TOTAL_WR_LATENCY_LO", 1, a, 0, 0, 0, 0, 0);
11297 }
11298
11299 #define typedef_ODY_DSSX_LAT_TOTAL_WR_LATENCY_LO(a) ody_dssx_lat_total_wr_latency_lo_t
11300 #define bustype_ODY_DSSX_LAT_TOTAL_WR_LATENCY_LO(a) CSR_TYPE_RSL
11301 #define basename_ODY_DSSX_LAT_TOTAL_WR_LATENCY_LO(a) "DSSX_LAT_TOTAL_WR_LATENCY_LO"
11302 #define device_bar_ODY_DSSX_LAT_TOTAL_WR_LATENCY_LO(a) 0x0 /* PF_BAR0 */
11303 #define busnum_ODY_DSSX_LAT_TOTAL_WR_LATENCY_LO(a) (a)
11304 #define arguments_ODY_DSSX_LAT_TOTAL_WR_LATENCY_LO(a) (a), -1, -1, -1
11305
11306 /**
11307 * Register (RSL) dss#_lp_cfg
11308 *
11309 * DSS Low Power Configuration Register
11310 * Low-power mode configuration.
11311 */
11312 union ody_dssx_lp_cfg {
11313 uint64_t u;
11314 struct ody_dssx_lp_cfg_s {
11315 uint64_t s_dfi_reset_force : 1;
11316 uint64_t s_dfi_cs_addr_force : 1;
11317 uint64_t s_put_phy_in_lp2_mode : 1;
11318 uint64_t s_sync_with_peer_dmc : 1;
11319 uint64_t reserved_4_63 : 60;
11320 } s;
11321 /* struct ody_dssx_lp_cfg_s cn; */
11322 };
11323 typedef union ody_dssx_lp_cfg ody_dssx_lp_cfg_t;
11324
11325 static inline uint64_t ODY_DSSX_LP_CFG(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_LP_CFG(uint64_t a)11326 static inline uint64_t ODY_DSSX_LP_CFG(uint64_t a)
11327 {
11328 if (a <= 19)
11329 return 0x87e1b0000078ll + 0x1000000ll * ((a) & 0x1f);
11330 __ody_csr_fatal("DSSX_LP_CFG", 1, a, 0, 0, 0, 0, 0);
11331 }
11332
11333 #define typedef_ODY_DSSX_LP_CFG(a) ody_dssx_lp_cfg_t
11334 #define bustype_ODY_DSSX_LP_CFG(a) CSR_TYPE_RSL
11335 #define basename_ODY_DSSX_LP_CFG(a) "DSSX_LP_CFG"
11336 #define device_bar_ODY_DSSX_LP_CFG(a) 0x0 /* PF_BAR0 */
11337 #define busnum_ODY_DSSX_LP_CFG(a) (a)
11338 #define arguments_ODY_DSSX_LP_CFG(a) (a), -1, -1, -1
11339
11340 /**
11341 * Register (RSL) dss#_lp_ctrl
11342 *
11343 * DSS Low Power Control Register
11344 * Low-power mode control.
11345 */
11346 union ody_dssx_lp_ctrl {
11347 uint64_t u;
11348 struct ody_dssx_lp_ctrl_s {
11349 uint64_t s_lp_entry : 1;
11350 uint64_t s_lp_exit : 1;
11351 uint64_t s_lp_entry_ongoing : 1;
11352 uint64_t s_lp_exit_ongoing : 1;
11353 uint64_t reserved_4_63 : 60;
11354 } s;
11355 /* struct ody_dssx_lp_ctrl_s cn; */
11356 };
11357 typedef union ody_dssx_lp_ctrl ody_dssx_lp_ctrl_t;
11358
11359 static inline uint64_t ODY_DSSX_LP_CTRL(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_LP_CTRL(uint64_t a)11360 static inline uint64_t ODY_DSSX_LP_CTRL(uint64_t a)
11361 {
11362 if (a <= 19)
11363 return 0x87e1b0000070ll + 0x1000000ll * ((a) & 0x1f);
11364 __ody_csr_fatal("DSSX_LP_CTRL", 1, a, 0, 0, 0, 0, 0);
11365 }
11366
11367 #define typedef_ODY_DSSX_LP_CTRL(a) ody_dssx_lp_ctrl_t
11368 #define bustype_ODY_DSSX_LP_CTRL(a) CSR_TYPE_RSL
11369 #define basename_ODY_DSSX_LP_CTRL(a) "DSSX_LP_CTRL"
11370 #define device_bar_ODY_DSSX_LP_CTRL(a) 0x0 /* PF_BAR0 */
11371 #define busnum_ODY_DSSX_LP_CTRL(a) (a)
11372 #define arguments_ODY_DSSX_LP_CTRL(a) (a), -1, -1, -1
11373
11374 /**
11375 * Register (RSL) dss#_lp_status
11376 *
11377 * DSS Low Power Status Register
11378 * Low-power mode status, this register indicates if low power and self refresh modes are succeeded.
11379 */
11380 union ody_dssx_lp_status {
11381 uint64_t u;
11382 struct ody_dssx_lp_status_s {
11383 uint64_t s_dram_sre_status : 1;
11384 uint64_t s_phy_lp2_status : 1;
11385 uint64_t s_phy_lpx_status : 1;
11386 uint64_t s_low_power_state : 2;
11387 uint64_t s_selfref_type_status_mirror : 4;
11388 uint64_t reserved_9_63 : 55;
11389 } s;
11390 /* struct ody_dssx_lp_status_s cn; */
11391 };
11392 typedef union ody_dssx_lp_status ody_dssx_lp_status_t;
11393
11394 static inline uint64_t ODY_DSSX_LP_STATUS(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_LP_STATUS(uint64_t a)11395 static inline uint64_t ODY_DSSX_LP_STATUS(uint64_t a)
11396 {
11397 if (a <= 19)
11398 return 0x87e1b0000080ll + 0x1000000ll * ((a) & 0x1f);
11399 __ody_csr_fatal("DSSX_LP_STATUS", 1, a, 0, 0, 0, 0, 0);
11400 }
11401
11402 #define typedef_ODY_DSSX_LP_STATUS(a) ody_dssx_lp_status_t
11403 #define bustype_ODY_DSSX_LP_STATUS(a) CSR_TYPE_RSL
11404 #define basename_ODY_DSSX_LP_STATUS(a) "DSSX_LP_STATUS"
11405 #define device_bar_ODY_DSSX_LP_STATUS(a) 0x0 /* PF_BAR0 */
11406 #define busnum_ODY_DSSX_LP_STATUS(a) (a)
11407 #define arguments_ODY_DSSX_LP_STATUS(a) (a), -1, -1, -1
11408
11409 /**
11410 * Register (RSL) dss#_mc_core_reset_n
11411 *
11412 * DSS DFI Domain Reset Register
11413 * DFI clock software reset - active low.
11414 */
11415 union ody_dssx_mc_core_reset_n {
11416 uint64_t u;
11417 struct ody_dssx_mc_core_reset_n_s {
11418 uint64_t s_mc_core_reset_n : 1;
11419 uint64_t reserved_1_63 : 63;
11420 } s;
11421 /* struct ody_dssx_mc_core_reset_n_s cn; */
11422 };
11423 typedef union ody_dssx_mc_core_reset_n ody_dssx_mc_core_reset_n_t;
11424
11425 static inline uint64_t ODY_DSSX_MC_CORE_RESET_N(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_MC_CORE_RESET_N(uint64_t a)11426 static inline uint64_t ODY_DSSX_MC_CORE_RESET_N(uint64_t a)
11427 {
11428 if (a <= 19)
11429 return 0x87e1b0000000ll + 0x1000000ll * ((a) & 0x1f);
11430 __ody_csr_fatal("DSSX_MC_CORE_RESET_N", 1, a, 0, 0, 0, 0, 0);
11431 }
11432
11433 #define typedef_ODY_DSSX_MC_CORE_RESET_N(a) ody_dssx_mc_core_reset_n_t
11434 #define bustype_ODY_DSSX_MC_CORE_RESET_N(a) CSR_TYPE_RSL
11435 #define basename_ODY_DSSX_MC_CORE_RESET_N(a) "DSSX_MC_CORE_RESET_N"
11436 #define device_bar_ODY_DSSX_MC_CORE_RESET_N(a) 0x0 /* PF_BAR0 */
11437 #define busnum_ODY_DSSX_MC_CORE_RESET_N(a) (a)
11438 #define arguments_ODY_DSSX_MC_CORE_RESET_N(a) (a), -1, -1, -1
11439
11440 /**
11441 * Register (RSL) dss#_mc_ctrl
11442 *
11443 * DSS Memory Controller Control Register
11444 * Memory controller control register.
11445 */
11446 union ody_dssx_mc_ctrl {
11447 uint64_t u;
11448 struct ody_dssx_mc_ctrl_s {
11449 uint64_t s_mc_csysreq : 1;
11450 uint64_t s_mc_csysack : 1;
11451 uint64_t s_mc_cactive : 1;
11452 uint64_t reserved_3_63 : 61;
11453 } s;
11454 /* struct ody_dssx_mc_ctrl_s cn; */
11455 };
11456 typedef union ody_dssx_mc_ctrl ody_dssx_mc_ctrl_t;
11457
11458 static inline uint64_t ODY_DSSX_MC_CTRL(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_MC_CTRL(uint64_t a)11459 static inline uint64_t ODY_DSSX_MC_CTRL(uint64_t a)
11460 {
11461 if (a <= 19)
11462 return 0x87e1b0000050ll + 0x1000000ll * ((a) & 0x1f);
11463 __ody_csr_fatal("DSSX_MC_CTRL", 1, a, 0, 0, 0, 0, 0);
11464 }
11465
11466 #define typedef_ODY_DSSX_MC_CTRL(a) ody_dssx_mc_ctrl_t
11467 #define bustype_ODY_DSSX_MC_CTRL(a) CSR_TYPE_RSL
11468 #define basename_ODY_DSSX_MC_CTRL(a) "DSSX_MC_CTRL"
11469 #define device_bar_ODY_DSSX_MC_CTRL(a) 0x0 /* PF_BAR0 */
11470 #define busnum_ODY_DSSX_MC_CTRL(a) (a)
11471 #define arguments_ODY_DSSX_MC_CTRL(a) (a), -1, -1, -1
11472
11473 /**
11474 * Register (RSL) dss#_mct_crc_ctrl
11475 *
11476 * DSS MCT CRC Control Register
11477 * MCT CRC control register.
11478 * This register should be configured only when (DSS_MCT()_ENABLE[S_MCT_EN] = 0).
11479 */
11480 union ody_dssx_mct_crc_ctrl {
11481 uint64_t u;
11482 struct ody_dssx_mct_crc_ctrl_s {
11483 uint64_t wr_crc_en : 1;
11484 uint64_t rd_crc_en : 1;
11485 uint64_t mc_wr_crc_is_enabled : 1;
11486 uint64_t mc_rd_crc_is_enabled : 1;
11487 uint64_t dis_rd_crc_ecc_upr_nibble : 1;
11488 uint64_t reserved_5_63 : 59;
11489 } s;
11490 /* struct ody_dssx_mct_crc_ctrl_s cn; */
11491 };
11492 typedef union ody_dssx_mct_crc_ctrl ody_dssx_mct_crc_ctrl_t;
11493
11494 static inline uint64_t ODY_DSSX_MCT_CRC_CTRL(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_MCT_CRC_CTRL(uint64_t a)11495 static inline uint64_t ODY_DSSX_MCT_CRC_CTRL(uint64_t a)
11496 {
11497 if (a <= 19)
11498 return 0x87e1b0010010ll + 0x1000000ll * ((a) & 0x1f);
11499 __ody_csr_fatal("DSSX_MCT_CRC_CTRL", 1, a, 0, 0, 0, 0, 0);
11500 }
11501
11502 #define typedef_ODY_DSSX_MCT_CRC_CTRL(a) ody_dssx_mct_crc_ctrl_t
11503 #define bustype_ODY_DSSX_MCT_CRC_CTRL(a) CSR_TYPE_RSL
11504 #define basename_ODY_DSSX_MCT_CRC_CTRL(a) "DSSX_MCT_CRC_CTRL"
11505 #define device_bar_ODY_DSSX_MCT_CRC_CTRL(a) 0x0 /* PF_BAR0 */
11506 #define busnum_ODY_DSSX_MCT_CRC_CTRL(a) (a)
11507 #define arguments_ODY_DSSX_MCT_CRC_CTRL(a) (a), -1, -1, -1
11508
11509 /**
11510 * Register (RSL) dss#_mct_ctrl
11511 *
11512 * DSS MCT Control Register
11513 * MCT module control register.
11514 * This register should be configured only when (DSS_MCT()_ENABLE[S_MCT_EN] = 0).
11515 */
11516 union ody_dssx_mct_ctrl {
11517 uint64_t u;
11518 struct ody_dssx_mct_ctrl_s {
11519 uint64_t reserved_0_1 : 2;
11520 uint64_t cmd_type : 1;
11521 uint64_t dfi_data_cs_polarity : 1;
11522 uint64_t key_scramble : 1;
11523 uint64_t reserved_5 : 1;
11524 uint64_t aes_bypass : 1;
11525 uint64_t ecc_en : 1;
11526 uint64_t data_width : 1;
11527 uint64_t reserved_9_15 : 7;
11528 uint64_t active_ranks : 4;
11529 uint64_t cmd_delay_in_dfi_cyc : 1;
11530 uint64_t reserved_21_63 : 43;
11531 } s;
11532 /* struct ody_dssx_mct_ctrl_s cn; */
11533 };
11534 typedef union ody_dssx_mct_ctrl ody_dssx_mct_ctrl_t;
11535
11536 static inline uint64_t ODY_DSSX_MCT_CTRL(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_MCT_CTRL(uint64_t a)11537 static inline uint64_t ODY_DSSX_MCT_CTRL(uint64_t a)
11538 {
11539 if (a <= 19)
11540 return 0x87e1b0010008ll + 0x1000000ll * ((a) & 0x1f);
11541 __ody_csr_fatal("DSSX_MCT_CTRL", 1, a, 0, 0, 0, 0, 0);
11542 }
11543
11544 #define typedef_ODY_DSSX_MCT_CTRL(a) ody_dssx_mct_ctrl_t
11545 #define bustype_ODY_DSSX_MCT_CTRL(a) CSR_TYPE_RSL
11546 #define basename_ODY_DSSX_MCT_CTRL(a) "DSSX_MCT_CTRL"
11547 #define device_bar_ODY_DSSX_MCT_CTRL(a) 0x0 /* PF_BAR0 */
11548 #define busnum_ODY_DSSX_MCT_CTRL(a) (a)
11549 #define arguments_ODY_DSSX_MCT_CTRL(a) (a), -1, -1, -1
11550
11551 /**
11552 * Register (RSL) dss#_mct_current_key_127_64#
11553 *
11554 * DSS MCT CURRENT KEY Register
11555 * Holds bits[127:64] of the current key used for encryption of selected index.
11556 */
11557 union ody_dssx_mct_current_key_127_64x {
11558 uint64_t u;
11559 struct ody_dssx_mct_current_key_127_64x_s {
11560 uint64_t current_key_127_64 : 64;
11561 } s;
11562 /* struct ody_dssx_mct_current_key_127_64x_s cn; */
11563 };
11564 typedef union ody_dssx_mct_current_key_127_64x ody_dssx_mct_current_key_127_64x_t;
11565
11566 static inline uint64_t ODY_DSSX_MCT_CURRENT_KEY_127_64X(uint64_t a, uint64_t b) __attribute__ ((pure, always_inline));
ODY_DSSX_MCT_CURRENT_KEY_127_64X(uint64_t a,uint64_t b)11567 static inline uint64_t ODY_DSSX_MCT_CURRENT_KEY_127_64X(uint64_t a, uint64_t b)
11568 {
11569 if ((a <= 19) && (b <= 3))
11570 return 0x87e1b00100c0ll + 0x1000000ll * ((a) & 0x1f) + 8ll * ((b) & 0x3);
11571 __ody_csr_fatal("DSSX_MCT_CURRENT_KEY_127_64X", 2, a, b, 0, 0, 0, 0);
11572 }
11573
11574 #define typedef_ODY_DSSX_MCT_CURRENT_KEY_127_64X(a, b) ody_dssx_mct_current_key_127_64x_t
11575 #define bustype_ODY_DSSX_MCT_CURRENT_KEY_127_64X(a, b) CSR_TYPE_RSL
11576 #define basename_ODY_DSSX_MCT_CURRENT_KEY_127_64X(a, b) "DSSX_MCT_CURRENT_KEY_127_64X"
11577 #define device_bar_ODY_DSSX_MCT_CURRENT_KEY_127_64X(a, b) 0x0 /* PF_BAR0 */
11578 #define busnum_ODY_DSSX_MCT_CURRENT_KEY_127_64X(a, b) (a)
11579 #define arguments_ODY_DSSX_MCT_CURRENT_KEY_127_64X(a, b) (a), (b), -1, -1
11580
11581 /**
11582 * Register (RSL) dss#_mct_current_key_63_0#
11583 *
11584 * DSS MCT CURRENT ENCRYPTION KEY Register
11585 * Holds bits[63:0] of the current key used for encryption of selected index.
11586 */
11587 union ody_dssx_mct_current_key_63_0x {
11588 uint64_t u;
11589 struct ody_dssx_mct_current_key_63_0x_s {
11590 uint64_t current_key_63_0 : 64;
11591 } s;
11592 /* struct ody_dssx_mct_current_key_63_0x_s cn; */
11593 };
11594 typedef union ody_dssx_mct_current_key_63_0x ody_dssx_mct_current_key_63_0x_t;
11595
11596 static inline uint64_t ODY_DSSX_MCT_CURRENT_KEY_63_0X(uint64_t a, uint64_t b) __attribute__ ((pure, always_inline));
ODY_DSSX_MCT_CURRENT_KEY_63_0X(uint64_t a,uint64_t b)11597 static inline uint64_t ODY_DSSX_MCT_CURRENT_KEY_63_0X(uint64_t a, uint64_t b)
11598 {
11599 if ((a <= 19) && (b <= 3))
11600 return 0x87e1b00110a0ll + 0x1000000ll * ((a) & 0x1f) + 8ll * ((b) & 0x3);
11601 __ody_csr_fatal("DSSX_MCT_CURRENT_KEY_63_0X", 2, a, b, 0, 0, 0, 0);
11602 }
11603
11604 #define typedef_ODY_DSSX_MCT_CURRENT_KEY_63_0X(a, b) ody_dssx_mct_current_key_63_0x_t
11605 #define bustype_ODY_DSSX_MCT_CURRENT_KEY_63_0X(a, b) CSR_TYPE_RSL
11606 #define basename_ODY_DSSX_MCT_CURRENT_KEY_63_0X(a, b) "DSSX_MCT_CURRENT_KEY_63_0X"
11607 #define device_bar_ODY_DSSX_MCT_CURRENT_KEY_63_0X(a, b) 0x0 /* PF_BAR0 */
11608 #define busnum_ODY_DSSX_MCT_CURRENT_KEY_63_0X(a, b) (a)
11609 #define arguments_ODY_DSSX_MCT_CURRENT_KEY_63_0X(a, b) (a), (b), -1, -1
11610
11611 /**
11612 * Register (RSL) dss#_mct_dbg_sw_data_high
11613 *
11614 * DSS MCT Software Debug Data Register
11615 * Holds the higher bits of the debug data used for the encryption/decryption operation
11616 * of software commands.
11617 */
11618 union ody_dssx_mct_dbg_sw_data_high {
11619 uint64_t u;
11620 struct ody_dssx_mct_dbg_sw_data_high_s {
11621 uint64_t dbg_sw_data_hi : 64;
11622 } s;
11623 /* struct ody_dssx_mct_dbg_sw_data_high_s cn; */
11624 };
11625 typedef union ody_dssx_mct_dbg_sw_data_high ody_dssx_mct_dbg_sw_data_high_t;
11626
11627 static inline uint64_t ODY_DSSX_MCT_DBG_SW_DATA_HIGH(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_MCT_DBG_SW_DATA_HIGH(uint64_t a)11628 static inline uint64_t ODY_DSSX_MCT_DBG_SW_DATA_HIGH(uint64_t a)
11629 {
11630 if (a <= 19)
11631 return 0x87e1b00103f8ll + 0x1000000ll * ((a) & 0x1f);
11632 __ody_csr_fatal("DSSX_MCT_DBG_SW_DATA_HIGH", 1, a, 0, 0, 0, 0, 0);
11633 }
11634
11635 #define typedef_ODY_DSSX_MCT_DBG_SW_DATA_HIGH(a) ody_dssx_mct_dbg_sw_data_high_t
11636 #define bustype_ODY_DSSX_MCT_DBG_SW_DATA_HIGH(a) CSR_TYPE_RSL
11637 #define basename_ODY_DSSX_MCT_DBG_SW_DATA_HIGH(a) "DSSX_MCT_DBG_SW_DATA_HIGH"
11638 #define device_bar_ODY_DSSX_MCT_DBG_SW_DATA_HIGH(a) 0x0 /* PF_BAR0 */
11639 #define busnum_ODY_DSSX_MCT_DBG_SW_DATA_HIGH(a) (a)
11640 #define arguments_ODY_DSSX_MCT_DBG_SW_DATA_HIGH(a) (a), -1, -1, -1
11641
11642 /**
11643 * Register (RSL) dss#_mct_dbg_sw_data_low
11644 *
11645 * DSS MCT Software Debug Data Register
11646 * Holds the lower bits of the debug data used for the encryption/decryption operation
11647 * of software commands.
11648 */
11649 union ody_dssx_mct_dbg_sw_data_low {
11650 uint64_t u;
11651 struct ody_dssx_mct_dbg_sw_data_low_s {
11652 uint64_t dbg_sw_data_lo : 64;
11653 } s;
11654 /* struct ody_dssx_mct_dbg_sw_data_low_s cn; */
11655 };
11656 typedef union ody_dssx_mct_dbg_sw_data_low ody_dssx_mct_dbg_sw_data_low_t;
11657
11658 static inline uint64_t ODY_DSSX_MCT_DBG_SW_DATA_LOW(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_MCT_DBG_SW_DATA_LOW(uint64_t a)11659 static inline uint64_t ODY_DSSX_MCT_DBG_SW_DATA_LOW(uint64_t a)
11660 {
11661 if (a <= 19)
11662 return 0x87e1b00103f0ll + 0x1000000ll * ((a) & 0x1f);
11663 __ody_csr_fatal("DSSX_MCT_DBG_SW_DATA_LOW", 1, a, 0, 0, 0, 0, 0);
11664 }
11665
11666 #define typedef_ODY_DSSX_MCT_DBG_SW_DATA_LOW(a) ody_dssx_mct_dbg_sw_data_low_t
11667 #define bustype_ODY_DSSX_MCT_DBG_SW_DATA_LOW(a) CSR_TYPE_RSL
11668 #define basename_ODY_DSSX_MCT_DBG_SW_DATA_LOW(a) "DSSX_MCT_DBG_SW_DATA_LOW"
11669 #define device_bar_ODY_DSSX_MCT_DBG_SW_DATA_LOW(a) 0x0 /* PF_BAR0 */
11670 #define busnum_ODY_DSSX_MCT_DBG_SW_DATA_LOW(a) (a)
11671 #define arguments_ODY_DSSX_MCT_DBG_SW_DATA_LOW(a) (a), -1, -1, -1
11672
11673 /**
11674 * Register (RSL) dss#_mct_dbg_sw_key_127_64
11675 *
11676 * DSS MCT Software Debug Key Register
11677 * Holds bits[127:64] of the debug key used for the encryption/decryption operation
11678 * of software commands.
11679 */
11680 union ody_dssx_mct_dbg_sw_key_127_64 {
11681 uint64_t u;
11682 struct ody_dssx_mct_dbg_sw_key_127_64_s {
11683 uint64_t dbg_sw_key_127_64 : 64;
11684 } s;
11685 /* struct ody_dssx_mct_dbg_sw_key_127_64_s cn; */
11686 };
11687 typedef union ody_dssx_mct_dbg_sw_key_127_64 ody_dssx_mct_dbg_sw_key_127_64_t;
11688
11689 static inline uint64_t ODY_DSSX_MCT_DBG_SW_KEY_127_64(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_MCT_DBG_SW_KEY_127_64(uint64_t a)11690 static inline uint64_t ODY_DSSX_MCT_DBG_SW_KEY_127_64(uint64_t a)
11691 {
11692 if (a <= 19)
11693 return 0x87e1b00103d8ll + 0x1000000ll * ((a) & 0x1f);
11694 __ody_csr_fatal("DSSX_MCT_DBG_SW_KEY_127_64", 1, a, 0, 0, 0, 0, 0);
11695 }
11696
11697 #define typedef_ODY_DSSX_MCT_DBG_SW_KEY_127_64(a) ody_dssx_mct_dbg_sw_key_127_64_t
11698 #define bustype_ODY_DSSX_MCT_DBG_SW_KEY_127_64(a) CSR_TYPE_RSL
11699 #define basename_ODY_DSSX_MCT_DBG_SW_KEY_127_64(a) "DSSX_MCT_DBG_SW_KEY_127_64"
11700 #define device_bar_ODY_DSSX_MCT_DBG_SW_KEY_127_64(a) 0x0 /* PF_BAR0 */
11701 #define busnum_ODY_DSSX_MCT_DBG_SW_KEY_127_64(a) (a)
11702 #define arguments_ODY_DSSX_MCT_DBG_SW_KEY_127_64(a) (a), -1, -1, -1
11703
11704 /**
11705 * Register (RSL) dss#_mct_dbg_sw_key_63_0
11706 *
11707 * DSS MCT Software Debug Key Register
11708 * Holds bits[63:0] of the debug key used for the encryption/decryption operation
11709 * of software commands.
11710 */
11711 union ody_dssx_mct_dbg_sw_key_63_0 {
11712 uint64_t u;
11713 struct ody_dssx_mct_dbg_sw_key_63_0_s {
11714 uint64_t dbg_sw_key_63_0 : 64;
11715 } s;
11716 /* struct ody_dssx_mct_dbg_sw_key_63_0_s cn; */
11717 };
11718 typedef union ody_dssx_mct_dbg_sw_key_63_0 ody_dssx_mct_dbg_sw_key_63_0_t;
11719
11720 static inline uint64_t ODY_DSSX_MCT_DBG_SW_KEY_63_0(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_MCT_DBG_SW_KEY_63_0(uint64_t a)11721 static inline uint64_t ODY_DSSX_MCT_DBG_SW_KEY_63_0(uint64_t a)
11722 {
11723 if (a <= 19)
11724 return 0x87e1b00103d0ll + 0x1000000ll * ((a) & 0x1f);
11725 __ody_csr_fatal("DSSX_MCT_DBG_SW_KEY_63_0", 1, a, 0, 0, 0, 0, 0);
11726 }
11727
11728 #define typedef_ODY_DSSX_MCT_DBG_SW_KEY_63_0(a) ody_dssx_mct_dbg_sw_key_63_0_t
11729 #define bustype_ODY_DSSX_MCT_DBG_SW_KEY_63_0(a) CSR_TYPE_RSL
11730 #define basename_ODY_DSSX_MCT_DBG_SW_KEY_63_0(a) "DSSX_MCT_DBG_SW_KEY_63_0"
11731 #define device_bar_ODY_DSSX_MCT_DBG_SW_KEY_63_0(a) 0x0 /* PF_BAR0 */
11732 #define busnum_ODY_DSSX_MCT_DBG_SW_KEY_63_0(a) (a)
11733 #define arguments_ODY_DSSX_MCT_DBG_SW_KEY_63_0(a) (a), -1, -1, -1
11734
11735 /**
11736 * Register (RSL) dss#_mct_dbg_sw_op_cmd_ctrl
11737 *
11738 * DSS MCT Software Operation Control Register
11739 * This register is RW/HW handshake control, using DBG_* registers that allow software to initiate
11740 * encryption / decryption commands to MCT.
11741 */
11742 union ody_dssx_mct_dbg_sw_op_cmd_ctrl {
11743 uint64_t u;
11744 struct ody_dssx_mct_dbg_sw_op_cmd_ctrl_s {
11745 uint64_t sw_op_type : 1;
11746 uint64_t sw_op_behavior : 1;
11747 uint64_t reserved_2_9 : 8;
11748 uint64_t sw_op_sys_addr : 52;
11749 uint64_t reserved_62_63 : 2;
11750 } s;
11751 /* struct ody_dssx_mct_dbg_sw_op_cmd_ctrl_s cn; */
11752 };
11753 typedef union ody_dssx_mct_dbg_sw_op_cmd_ctrl ody_dssx_mct_dbg_sw_op_cmd_ctrl_t;
11754
11755 static inline uint64_t ODY_DSSX_MCT_DBG_SW_OP_CMD_CTRL(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_MCT_DBG_SW_OP_CMD_CTRL(uint64_t a)11756 static inline uint64_t ODY_DSSX_MCT_DBG_SW_OP_CMD_CTRL(uint64_t a)
11757 {
11758 if (a <= 19)
11759 return 0x87e1b00103c8ll + 0x1000000ll * ((a) & 0x1f);
11760 __ody_csr_fatal("DSSX_MCT_DBG_SW_OP_CMD_CTRL", 1, a, 0, 0, 0, 0, 0);
11761 }
11762
11763 #define typedef_ODY_DSSX_MCT_DBG_SW_OP_CMD_CTRL(a) ody_dssx_mct_dbg_sw_op_cmd_ctrl_t
11764 #define bustype_ODY_DSSX_MCT_DBG_SW_OP_CMD_CTRL(a) CSR_TYPE_RSL
11765 #define basename_ODY_DSSX_MCT_DBG_SW_OP_CMD_CTRL(a) "DSSX_MCT_DBG_SW_OP_CMD_CTRL"
11766 #define device_bar_ODY_DSSX_MCT_DBG_SW_OP_CMD_CTRL(a) 0x0 /* PF_BAR0 */
11767 #define busnum_ODY_DSSX_MCT_DBG_SW_OP_CMD_CTRL(a) (a)
11768 #define arguments_ODY_DSSX_MCT_DBG_SW_OP_CMD_CTRL(a) (a), -1, -1, -1
11769
11770 /**
11771 * Register (RSL) dss#_mct_dbg_sw_op_ctrl
11772 *
11773 * DSS MCT Software Operation Control Register
11774 * This register is the RW/HW handshake control, using DBG_* registers that allow software
11775 * to initiate encryption / decryption commands to MCT.
11776 */
11777 union ody_dssx_mct_dbg_sw_op_ctrl {
11778 uint64_t u;
11779 struct ody_dssx_mct_dbg_sw_op_ctrl_s {
11780 uint64_t run : 1;
11781 uint64_t reserved_1_63 : 63;
11782 } s;
11783 /* struct ody_dssx_mct_dbg_sw_op_ctrl_s cn; */
11784 };
11785 typedef union ody_dssx_mct_dbg_sw_op_ctrl ody_dssx_mct_dbg_sw_op_ctrl_t;
11786
11787 static inline uint64_t ODY_DSSX_MCT_DBG_SW_OP_CTRL(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_MCT_DBG_SW_OP_CTRL(uint64_t a)11788 static inline uint64_t ODY_DSSX_MCT_DBG_SW_OP_CTRL(uint64_t a)
11789 {
11790 if (a <= 19)
11791 return 0x87e1b00103c0ll + 0x1000000ll * ((a) & 0x1f);
11792 __ody_csr_fatal("DSSX_MCT_DBG_SW_OP_CTRL", 1, a, 0, 0, 0, 0, 0);
11793 }
11794
11795 #define typedef_ODY_DSSX_MCT_DBG_SW_OP_CTRL(a) ody_dssx_mct_dbg_sw_op_ctrl_t
11796 #define bustype_ODY_DSSX_MCT_DBG_SW_OP_CTRL(a) CSR_TYPE_RSL
11797 #define basename_ODY_DSSX_MCT_DBG_SW_OP_CTRL(a) "DSSX_MCT_DBG_SW_OP_CTRL"
11798 #define device_bar_ODY_DSSX_MCT_DBG_SW_OP_CTRL(a) 0x0 /* PF_BAR0 */
11799 #define busnum_ODY_DSSX_MCT_DBG_SW_OP_CTRL(a) (a)
11800 #define arguments_ODY_DSSX_MCT_DBG_SW_OP_CTRL(a) (a), -1, -1, -1
11801
11802 /**
11803 * Register (RSL) dss#_mct_dbg_sw_resp_high
11804 *
11805 * DSS MCT Software Debug Response Register
11806 * Holds the higher bits of the debug response data for the
11807 * encryption/decryption operation of software commands.
11808 */
11809 union ody_dssx_mct_dbg_sw_resp_high {
11810 uint64_t u;
11811 struct ody_dssx_mct_dbg_sw_resp_high_s {
11812 uint64_t dbg_sw_data_hi : 64;
11813 } s;
11814 /* struct ody_dssx_mct_dbg_sw_resp_high_s cn; */
11815 };
11816 typedef union ody_dssx_mct_dbg_sw_resp_high ody_dssx_mct_dbg_sw_resp_high_t;
11817
11818 static inline uint64_t ODY_DSSX_MCT_DBG_SW_RESP_HIGH(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_MCT_DBG_SW_RESP_HIGH(uint64_t a)11819 static inline uint64_t ODY_DSSX_MCT_DBG_SW_RESP_HIGH(uint64_t a)
11820 {
11821 if (a <= 19)
11822 return 0x87e1b0010408ll + 0x1000000ll * ((a) & 0x1f);
11823 __ody_csr_fatal("DSSX_MCT_DBG_SW_RESP_HIGH", 1, a, 0, 0, 0, 0, 0);
11824 }
11825
11826 #define typedef_ODY_DSSX_MCT_DBG_SW_RESP_HIGH(a) ody_dssx_mct_dbg_sw_resp_high_t
11827 #define bustype_ODY_DSSX_MCT_DBG_SW_RESP_HIGH(a) CSR_TYPE_RSL
11828 #define basename_ODY_DSSX_MCT_DBG_SW_RESP_HIGH(a) "DSSX_MCT_DBG_SW_RESP_HIGH"
11829 #define device_bar_ODY_DSSX_MCT_DBG_SW_RESP_HIGH(a) 0x0 /* PF_BAR0 */
11830 #define busnum_ODY_DSSX_MCT_DBG_SW_RESP_HIGH(a) (a)
11831 #define arguments_ODY_DSSX_MCT_DBG_SW_RESP_HIGH(a) (a), -1, -1, -1
11832
11833 /**
11834 * Register (RSL) dss#_mct_dbg_sw_resp_low
11835 *
11836 * DSS MCT Software Debug Response Register
11837 * Holds the lower bits of the debug response data for the
11838 * encryption/decryption operation of software commands.
11839 */
11840 union ody_dssx_mct_dbg_sw_resp_low {
11841 uint64_t u;
11842 struct ody_dssx_mct_dbg_sw_resp_low_s {
11843 uint64_t dbg_sw_resp_lo : 64;
11844 } s;
11845 /* struct ody_dssx_mct_dbg_sw_resp_low_s cn; */
11846 };
11847 typedef union ody_dssx_mct_dbg_sw_resp_low ody_dssx_mct_dbg_sw_resp_low_t;
11848
11849 static inline uint64_t ODY_DSSX_MCT_DBG_SW_RESP_LOW(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_MCT_DBG_SW_RESP_LOW(uint64_t a)11850 static inline uint64_t ODY_DSSX_MCT_DBG_SW_RESP_LOW(uint64_t a)
11851 {
11852 if (a <= 19)
11853 return 0x87e1b0010400ll + 0x1000000ll * ((a) & 0x1f);
11854 __ody_csr_fatal("DSSX_MCT_DBG_SW_RESP_LOW", 1, a, 0, 0, 0, 0, 0);
11855 }
11856
11857 #define typedef_ODY_DSSX_MCT_DBG_SW_RESP_LOW(a) ody_dssx_mct_dbg_sw_resp_low_t
11858 #define bustype_ODY_DSSX_MCT_DBG_SW_RESP_LOW(a) CSR_TYPE_RSL
11859 #define basename_ODY_DSSX_MCT_DBG_SW_RESP_LOW(a) "DSSX_MCT_DBG_SW_RESP_LOW"
11860 #define device_bar_ODY_DSSX_MCT_DBG_SW_RESP_LOW(a) 0x0 /* PF_BAR0 */
11861 #define busnum_ODY_DSSX_MCT_DBG_SW_RESP_LOW(a) (a)
11862 #define arguments_ODY_DSSX_MCT_DBG_SW_RESP_LOW(a) (a), -1, -1, -1
11863
11864 /**
11865 * Register (RSL) dss#_mct_default_win_cfg
11866 *
11867 * DSS MCT Default Window Configuration Register
11868 * Defines the default window configuration.
11869 * This register should be configured only when (DSS_MCT()_ENABLE[S_MCT_EN] = 0).
11870 */
11871 union ody_dssx_mct_default_win_cfg {
11872 uint64_t u;
11873 struct ody_dssx_mct_default_win_cfg_s {
11874 uint64_t default_enc_en : 1;
11875 uint64_t default_key_index : 2;
11876 uint64_t reserved_3_63 : 61;
11877 } s;
11878 /* struct ody_dssx_mct_default_win_cfg_s cn; */
11879 };
11880 typedef union ody_dssx_mct_default_win_cfg ody_dssx_mct_default_win_cfg_t;
11881
11882 static inline uint64_t ODY_DSSX_MCT_DEFAULT_WIN_CFG(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_MCT_DEFAULT_WIN_CFG(uint64_t a)11883 static inline uint64_t ODY_DSSX_MCT_DEFAULT_WIN_CFG(uint64_t a)
11884 {
11885 if (a <= 19)
11886 return 0x87e1b0010228ll + 0x1000000ll * ((a) & 0x1f);
11887 __ody_csr_fatal("DSSX_MCT_DEFAULT_WIN_CFG", 1, a, 0, 0, 0, 0, 0);
11888 }
11889
11890 #define typedef_ODY_DSSX_MCT_DEFAULT_WIN_CFG(a) ody_dssx_mct_default_win_cfg_t
11891 #define bustype_ODY_DSSX_MCT_DEFAULT_WIN_CFG(a) CSR_TYPE_RSL
11892 #define basename_ODY_DSSX_MCT_DEFAULT_WIN_CFG(a) "DSSX_MCT_DEFAULT_WIN_CFG"
11893 #define device_bar_ODY_DSSX_MCT_DEFAULT_WIN_CFG(a) 0x0 /* PF_BAR0 */
11894 #define busnum_ODY_DSSX_MCT_DEFAULT_WIN_CFG(a) (a)
11895 #define arguments_ODY_DSSX_MCT_DEFAULT_WIN_CFG(a) (a), -1, -1, -1
11896
11897 /**
11898 * Register (RSL) dss#_mct_enable
11899 *
11900 * DSS MCT Enable Register
11901 * MCT block enable register.
11902 */
11903 union ody_dssx_mct_enable {
11904 uint64_t u;
11905 struct ody_dssx_mct_enable_s {
11906 uint64_t mct_en : 1;
11907 uint64_t mct_clk_dis : 1;
11908 uint64_t mct_is_active : 1;
11909 uint64_t reserved_3_63 : 61;
11910 } s;
11911 /* struct ody_dssx_mct_enable_s cn; */
11912 };
11913 typedef union ody_dssx_mct_enable ody_dssx_mct_enable_t;
11914
11915 static inline uint64_t ODY_DSSX_MCT_ENABLE(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_MCT_ENABLE(uint64_t a)11916 static inline uint64_t ODY_DSSX_MCT_ENABLE(uint64_t a)
11917 {
11918 if (a <= 19)
11919 return 0x87e1b0010000ll + 0x1000000ll * ((a) & 0x1f);
11920 __ody_csr_fatal("DSSX_MCT_ENABLE", 1, a, 0, 0, 0, 0, 0);
11921 }
11922
11923 #define typedef_ODY_DSSX_MCT_ENABLE(a) ody_dssx_mct_enable_t
11924 #define bustype_ODY_DSSX_MCT_ENABLE(a) CSR_TYPE_RSL
11925 #define basename_ODY_DSSX_MCT_ENABLE(a) "DSSX_MCT_ENABLE"
11926 #define device_bar_ODY_DSSX_MCT_ENABLE(a) 0x0 /* PF_BAR0 */
11927 #define busnum_ODY_DSSX_MCT_ENABLE(a) (a)
11928 #define arguments_ODY_DSSX_MCT_ENABLE(a) (a), -1, -1, -1
11929
11930 /**
11931 * Register (RSL) dss#_mct_global_clock_enable
11932 *
11933 * DSS MCT Global Clock Enable Register
11934 * Force MCT sub-blocks coarse clock to be always on.
11935 */
11936 union ody_dssx_mct_global_clock_enable {
11937 uint64_t u;
11938 struct ody_dssx_mct_global_clock_enable_s {
11939 uint64_t csr_core_clk_force : 1;
11940 uint64_t wr_path_mc_side_clk_force : 1;
11941 uint64_t rd_en_path_mc_side_clk_force : 1;
11942 uint64_t rddat_path_mc_side_clk_force : 1;
11943 uint64_t rden_path_phy_side_clk_force : 1;
11944 uint64_t wr_path_phy_side_clk_force : 1;
11945 uint64_t rddat_path_phy_side_clk_force : 1;
11946 uint64_t rd_data_cs_path_clk_force : 1;
11947 uint64_t wr_data_cs_path_clk_force : 1;
11948 uint64_t cmd_dec_clk_force : 1;
11949 uint64_t crypto_wr_path_clk_force : 1;
11950 uint64_t crypto_rd_path_clk_force : 1;
11951 uint64_t reserved_12_63 : 52;
11952 } s;
11953 /* struct ody_dssx_mct_global_clock_enable_s cn; */
11954 };
11955 typedef union ody_dssx_mct_global_clock_enable ody_dssx_mct_global_clock_enable_t;
11956
11957 static inline uint64_t ODY_DSSX_MCT_GLOBAL_CLOCK_ENABLE(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_MCT_GLOBAL_CLOCK_ENABLE(uint64_t a)11958 static inline uint64_t ODY_DSSX_MCT_GLOBAL_CLOCK_ENABLE(uint64_t a)
11959 {
11960 if (a <= 19)
11961 return 0x87e1b0010410ll + 0x1000000ll * ((a) & 0x1f);
11962 __ody_csr_fatal("DSSX_MCT_GLOBAL_CLOCK_ENABLE", 1, a, 0, 0, 0, 0, 0);
11963 }
11964
11965 #define typedef_ODY_DSSX_MCT_GLOBAL_CLOCK_ENABLE(a) ody_dssx_mct_global_clock_enable_t
11966 #define bustype_ODY_DSSX_MCT_GLOBAL_CLOCK_ENABLE(a) CSR_TYPE_RSL
11967 #define basename_ODY_DSSX_MCT_GLOBAL_CLOCK_ENABLE(a) "DSSX_MCT_GLOBAL_CLOCK_ENABLE"
11968 #define device_bar_ODY_DSSX_MCT_GLOBAL_CLOCK_ENABLE(a) 0x0 /* PF_BAR0 */
11969 #define busnum_ODY_DSSX_MCT_GLOBAL_CLOCK_ENABLE(a) (a)
11970 #define arguments_ODY_DSSX_MCT_GLOBAL_CLOCK_ENABLE(a) (a), -1, -1, -1
11971
11972 /**
11973 * Register (RSL) dss#_mct_hide_crypto_status
11974 *
11975 * DSS MCT Hide Crypto Status Register
11976 * This register is used to hide crypto status.
11977 */
11978 union ody_dssx_mct_hide_crypto_status {
11979 uint64_t u;
11980 struct ody_dssx_mct_hide_crypto_status_s {
11981 uint64_t hide_crypto_status : 1;
11982 uint64_t dis_sw_cmd : 1;
11983 uint64_t reserved_2_63 : 62;
11984 } s;
11985 /* struct ody_dssx_mct_hide_crypto_status_s cn; */
11986 };
11987 typedef union ody_dssx_mct_hide_crypto_status ody_dssx_mct_hide_crypto_status_t;
11988
11989 static inline uint64_t ODY_DSSX_MCT_HIDE_CRYPTO_STATUS(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_MCT_HIDE_CRYPTO_STATUS(uint64_t a)11990 static inline uint64_t ODY_DSSX_MCT_HIDE_CRYPTO_STATUS(uint64_t a)
11991 {
11992 if (a <= 19)
11993 return 0x87e1b0010128ll + 0x1000000ll * ((a) & 0x1f);
11994 __ody_csr_fatal("DSSX_MCT_HIDE_CRYPTO_STATUS", 1, a, 0, 0, 0, 0, 0);
11995 }
11996
11997 #define typedef_ODY_DSSX_MCT_HIDE_CRYPTO_STATUS(a) ody_dssx_mct_hide_crypto_status_t
11998 #define bustype_ODY_DSSX_MCT_HIDE_CRYPTO_STATUS(a) CSR_TYPE_RSL
11999 #define basename_ODY_DSSX_MCT_HIDE_CRYPTO_STATUS(a) "DSSX_MCT_HIDE_CRYPTO_STATUS"
12000 #define device_bar_ODY_DSSX_MCT_HIDE_CRYPTO_STATUS(a) 0x0 /* PF_BAR0 */
12001 #define busnum_ODY_DSSX_MCT_HIDE_CRYPTO_STATUS(a) (a)
12002 #define arguments_ODY_DSSX_MCT_HIDE_CRYPTO_STATUS(a) (a), -1, -1, -1
12003
12004 /**
12005 * Register (RSL) dss#_mct_int_ena_w1c
12006 *
12007 * DSS Interrupt Enable Clear Registers
12008 * This register clears interrupt enable bits.
12009 */
12010 union ody_dssx_mct_int_ena_w1c {
12011 uint64_t u;
12012 struct ody_dssx_mct_int_ena_w1c_s {
12013 uint64_t mct_not_config_rd_addr_intr : 1;
12014 uint64_t mct_not_config_wr_addr_intr : 1;
12015 uint64_t mct_rd_multi_hits_intr : 1;
12016 uint64_t mct_rd_fifo_ovrflw_intr : 1;
12017 uint64_t mct_wr_multi_hits_intr : 1;
12018 uint64_t mct_wr_data_fifo_ovrflw_intr : 1;
12019 uint64_t reserved_6_63 : 58;
12020 } s;
12021 /* struct ody_dssx_mct_int_ena_w1c_s cn; */
12022 };
12023 typedef union ody_dssx_mct_int_ena_w1c ody_dssx_mct_int_ena_w1c_t;
12024
12025 static inline uint64_t ODY_DSSX_MCT_INT_ENA_W1C(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_MCT_INT_ENA_W1C(uint64_t a)12026 static inline uint64_t ODY_DSSX_MCT_INT_ENA_W1C(uint64_t a)
12027 {
12028 if (a <= 19)
12029 return 0x87e1b0018010ll + 0x1000000ll * ((a) & 0x1f);
12030 __ody_csr_fatal("DSSX_MCT_INT_ENA_W1C", 1, a, 0, 0, 0, 0, 0);
12031 }
12032
12033 #define typedef_ODY_DSSX_MCT_INT_ENA_W1C(a) ody_dssx_mct_int_ena_w1c_t
12034 #define bustype_ODY_DSSX_MCT_INT_ENA_W1C(a) CSR_TYPE_RSL
12035 #define basename_ODY_DSSX_MCT_INT_ENA_W1C(a) "DSSX_MCT_INT_ENA_W1C"
12036 #define device_bar_ODY_DSSX_MCT_INT_ENA_W1C(a) 0x0 /* PF_BAR0 */
12037 #define busnum_ODY_DSSX_MCT_INT_ENA_W1C(a) (a)
12038 #define arguments_ODY_DSSX_MCT_INT_ENA_W1C(a) (a), -1, -1, -1
12039
12040 /**
12041 * Register (RSL) dss#_mct_int_ena_w1s
12042 *
12043 * DSS Interrupt Enable Set Registers
12044 * This register sets interrupt enable bits.
12045 */
12046 union ody_dssx_mct_int_ena_w1s {
12047 uint64_t u;
12048 struct ody_dssx_mct_int_ena_w1s_s {
12049 uint64_t mct_not_config_rd_addr_intr : 1;
12050 uint64_t mct_not_config_wr_addr_intr : 1;
12051 uint64_t mct_rd_multi_hits_intr : 1;
12052 uint64_t mct_rd_fifo_ovrflw_intr : 1;
12053 uint64_t mct_wr_multi_hits_intr : 1;
12054 uint64_t mct_wr_data_fifo_ovrflw_intr : 1;
12055 uint64_t reserved_6_63 : 58;
12056 } s;
12057 /* struct ody_dssx_mct_int_ena_w1s_s cn; */
12058 };
12059 typedef union ody_dssx_mct_int_ena_w1s ody_dssx_mct_int_ena_w1s_t;
12060
12061 static inline uint64_t ODY_DSSX_MCT_INT_ENA_W1S(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_MCT_INT_ENA_W1S(uint64_t a)12062 static inline uint64_t ODY_DSSX_MCT_INT_ENA_W1S(uint64_t a)
12063 {
12064 if (a <= 19)
12065 return 0x87e1b0018018ll + 0x1000000ll * ((a) & 0x1f);
12066 __ody_csr_fatal("DSSX_MCT_INT_ENA_W1S", 1, a, 0, 0, 0, 0, 0);
12067 }
12068
12069 #define typedef_ODY_DSSX_MCT_INT_ENA_W1S(a) ody_dssx_mct_int_ena_w1s_t
12070 #define bustype_ODY_DSSX_MCT_INT_ENA_W1S(a) CSR_TYPE_RSL
12071 #define basename_ODY_DSSX_MCT_INT_ENA_W1S(a) "DSSX_MCT_INT_ENA_W1S"
12072 #define device_bar_ODY_DSSX_MCT_INT_ENA_W1S(a) 0x0 /* PF_BAR0 */
12073 #define busnum_ODY_DSSX_MCT_INT_ENA_W1S(a) (a)
12074 #define arguments_ODY_DSSX_MCT_INT_ENA_W1S(a) (a), -1, -1, -1
12075
12076 /**
12077 * Register (RSL) dss#_mct_int_w1c
12078 *
12079 * DSS Interrupt Register
12080 * This register is for DSS-based interrupts.
12081 */
12082 union ody_dssx_mct_int_w1c {
12083 uint64_t u;
12084 struct ody_dssx_mct_int_w1c_s {
12085 uint64_t mct_not_config_rd_addr_intr : 1;
12086 uint64_t mct_not_config_wr_addr_intr : 1;
12087 uint64_t mct_rd_multi_hits_intr : 1;
12088 uint64_t mct_rd_fifo_ovrflw_intr : 1;
12089 uint64_t mct_wr_multi_hits_intr : 1;
12090 uint64_t mct_wr_data_fifo_ovrflw_intr : 1;
12091 uint64_t reserved_6_63 : 58;
12092 } s;
12093 /* struct ody_dssx_mct_int_w1c_s cn; */
12094 };
12095 typedef union ody_dssx_mct_int_w1c ody_dssx_mct_int_w1c_t;
12096
12097 static inline uint64_t ODY_DSSX_MCT_INT_W1C(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_MCT_INT_W1C(uint64_t a)12098 static inline uint64_t ODY_DSSX_MCT_INT_W1C(uint64_t a)
12099 {
12100 if (a <= 19)
12101 return 0x87e1b0018000ll + 0x1000000ll * ((a) & 0x1f);
12102 __ody_csr_fatal("DSSX_MCT_INT_W1C", 1, a, 0, 0, 0, 0, 0);
12103 }
12104
12105 #define typedef_ODY_DSSX_MCT_INT_W1C(a) ody_dssx_mct_int_w1c_t
12106 #define bustype_ODY_DSSX_MCT_INT_W1C(a) CSR_TYPE_RSL
12107 #define basename_ODY_DSSX_MCT_INT_W1C(a) "DSSX_MCT_INT_W1C"
12108 #define device_bar_ODY_DSSX_MCT_INT_W1C(a) 0x0 /* PF_BAR0 */
12109 #define busnum_ODY_DSSX_MCT_INT_W1C(a) (a)
12110 #define arguments_ODY_DSSX_MCT_INT_W1C(a) (a), -1, -1, -1
12111
12112 /**
12113 * Register (RSL) dss#_mct_int_w1s
12114 *
12115 * DSS Interrupt Set Registers
12116 * This register sets interrupt bits.
12117 */
12118 union ody_dssx_mct_int_w1s {
12119 uint64_t u;
12120 struct ody_dssx_mct_int_w1s_s {
12121 uint64_t mct_not_config_rd_addr_intr : 1;
12122 uint64_t mct_not_config_wr_addr_intr : 1;
12123 uint64_t mct_rd_multi_hits_intr : 1;
12124 uint64_t mct_rd_fifo_ovrflw_intr : 1;
12125 uint64_t mct_wr_multi_hits_intr : 1;
12126 uint64_t mct_wr_data_fifo_ovrflw_intr : 1;
12127 uint64_t reserved_6_63 : 58;
12128 } s;
12129 /* struct ody_dssx_mct_int_w1s_s cn; */
12130 };
12131 typedef union ody_dssx_mct_int_w1s ody_dssx_mct_int_w1s_t;
12132
12133 static inline uint64_t ODY_DSSX_MCT_INT_W1S(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_MCT_INT_W1S(uint64_t a)12134 static inline uint64_t ODY_DSSX_MCT_INT_W1S(uint64_t a)
12135 {
12136 if (a <= 19)
12137 return 0x87e1b0018008ll + 0x1000000ll * ((a) & 0x1f);
12138 __ody_csr_fatal("DSSX_MCT_INT_W1S", 1, a, 0, 0, 0, 0, 0);
12139 }
12140
12141 #define typedef_ODY_DSSX_MCT_INT_W1S(a) ody_dssx_mct_int_w1s_t
12142 #define bustype_ODY_DSSX_MCT_INT_W1S(a) CSR_TYPE_RSL
12143 #define basename_ODY_DSSX_MCT_INT_W1S(a) "DSSX_MCT_INT_W1S"
12144 #define device_bar_ODY_DSSX_MCT_INT_W1S(a) 0x0 /* PF_BAR0 */
12145 #define busnum_ODY_DSSX_MCT_INT_W1S(a) (a)
12146 #define arguments_ODY_DSSX_MCT_INT_W1S(a) (a), -1, -1, -1
12147
12148 /**
12149 * Register (RSL) dss#_mct_next_key_127_64#
12150 *
12151 * DSS MCT NEXT KEY Register
12152 * Holds bits[127:64] of the next key used for encryption of selected index.
12153 */
12154 union ody_dssx_mct_next_key_127_64x {
12155 uint64_t u;
12156 struct ody_dssx_mct_next_key_127_64x_s {
12157 uint64_t next_key_127_64 : 64;
12158 } s;
12159 /* struct ody_dssx_mct_next_key_127_64x_s cn; */
12160 };
12161 typedef union ody_dssx_mct_next_key_127_64x ody_dssx_mct_next_key_127_64x_t;
12162
12163 static inline uint64_t ODY_DSSX_MCT_NEXT_KEY_127_64X(uint64_t a, uint64_t b) __attribute__ ((pure, always_inline));
ODY_DSSX_MCT_NEXT_KEY_127_64X(uint64_t a,uint64_t b)12164 static inline uint64_t ODY_DSSX_MCT_NEXT_KEY_127_64X(uint64_t a, uint64_t b)
12165 {
12166 if ((a <= 19) && (b <= 3))
12167 return 0x87e1b0010060ll + 0x1000000ll * ((a) & 0x1f) + 8ll * ((b) & 0x3);
12168 __ody_csr_fatal("DSSX_MCT_NEXT_KEY_127_64X", 2, a, b, 0, 0, 0, 0);
12169 }
12170
12171 #define typedef_ODY_DSSX_MCT_NEXT_KEY_127_64X(a, b) ody_dssx_mct_next_key_127_64x_t
12172 #define bustype_ODY_DSSX_MCT_NEXT_KEY_127_64X(a, b) CSR_TYPE_RSL
12173 #define basename_ODY_DSSX_MCT_NEXT_KEY_127_64X(a, b) "DSSX_MCT_NEXT_KEY_127_64X"
12174 #define device_bar_ODY_DSSX_MCT_NEXT_KEY_127_64X(a, b) 0x0 /* PF_BAR0 */
12175 #define busnum_ODY_DSSX_MCT_NEXT_KEY_127_64X(a, b) (a)
12176 #define arguments_ODY_DSSX_MCT_NEXT_KEY_127_64X(a, b) (a), (b), -1, -1
12177
12178 /**
12179 * Register (RSL) dss#_mct_next_key_63_0#
12180 *
12181 * DSS MCT NEXT ENCRYPTION KEY Register
12182 * Holds bits[63:0] of the next key used for encryption of selected index.
12183 */
12184 union ody_dssx_mct_next_key_63_0x {
12185 uint64_t u;
12186 struct ody_dssx_mct_next_key_63_0x_s {
12187 uint64_t next_key_63_0 : 64;
12188 } s;
12189 /* struct ody_dssx_mct_next_key_63_0x_s cn; */
12190 };
12191 typedef union ody_dssx_mct_next_key_63_0x ody_dssx_mct_next_key_63_0x_t;
12192
12193 static inline uint64_t ODY_DSSX_MCT_NEXT_KEY_63_0X(uint64_t a, uint64_t b) __attribute__ ((pure, always_inline));
ODY_DSSX_MCT_NEXT_KEY_63_0X(uint64_t a,uint64_t b)12194 static inline uint64_t ODY_DSSX_MCT_NEXT_KEY_63_0X(uint64_t a, uint64_t b)
12195 {
12196 if ((a <= 19) && (b <= 3))
12197 return 0x87e1b0010040ll + 0x1000000ll * ((a) & 0x1f) + 8ll * ((b) & 0x3);
12198 __ody_csr_fatal("DSSX_MCT_NEXT_KEY_63_0X", 2, a, b, 0, 0, 0, 0);
12199 }
12200
12201 #define typedef_ODY_DSSX_MCT_NEXT_KEY_63_0X(a, b) ody_dssx_mct_next_key_63_0x_t
12202 #define bustype_ODY_DSSX_MCT_NEXT_KEY_63_0X(a, b) CSR_TYPE_RSL
12203 #define basename_ODY_DSSX_MCT_NEXT_KEY_63_0X(a, b) "DSSX_MCT_NEXT_KEY_63_0X"
12204 #define device_bar_ODY_DSSX_MCT_NEXT_KEY_63_0X(a, b) 0x0 /* PF_BAR0 */
12205 #define busnum_ODY_DSSX_MCT_NEXT_KEY_63_0X(a, b) (a)
12206 #define arguments_ODY_DSSX_MCT_NEXT_KEY_63_0X(a, b) (a), (b), -1, -1
12207
12208 /**
12209 * Register (RSL) dss#_mct_next_key_ready#
12210 *
12211 * DSS MCT Next Key Is Ready Register
12212 * SW needs to write DSS_MCT_NEXT_KEY_63_0 and DSS_MCT_NEXT_KEY_127_64 periodically in
12213 * order to keep changing DRAM encryption key.
12214 * The encryption key width in AES-128 is 128 bits, which is divided into two
12215 * registers. To ensure that MCT takes the two halves synchronously, SW need to write
12216 * this field to one to indicate MCT that DSS_MCT_NEXT_KEY_* registers has a valid new
12217 * key.
12218 */
12219 union ody_dssx_mct_next_key_readyx {
12220 uint64_t u;
12221 struct ody_dssx_mct_next_key_readyx_s {
12222 uint64_t next_key_is_ready : 1;
12223 uint64_t reserved_1_63 : 63;
12224 } s;
12225 /* struct ody_dssx_mct_next_key_readyx_s cn; */
12226 };
12227 typedef union ody_dssx_mct_next_key_readyx ody_dssx_mct_next_key_readyx_t;
12228
12229 static inline uint64_t ODY_DSSX_MCT_NEXT_KEY_READYX(uint64_t a, uint64_t b) __attribute__ ((pure, always_inline));
ODY_DSSX_MCT_NEXT_KEY_READYX(uint64_t a,uint64_t b)12230 static inline uint64_t ODY_DSSX_MCT_NEXT_KEY_READYX(uint64_t a, uint64_t b)
12231 {
12232 if ((a <= 19) && (b <= 3))
12233 return 0x87e1b0010020ll + 0x1000000ll * ((a) & 0x1f) + 8ll * ((b) & 0x3);
12234 __ody_csr_fatal("DSSX_MCT_NEXT_KEY_READYX", 2, a, b, 0, 0, 0, 0);
12235 }
12236
12237 #define typedef_ODY_DSSX_MCT_NEXT_KEY_READYX(a, b) ody_dssx_mct_next_key_readyx_t
12238 #define bustype_ODY_DSSX_MCT_NEXT_KEY_READYX(a, b) CSR_TYPE_RSL
12239 #define basename_ODY_DSSX_MCT_NEXT_KEY_READYX(a, b) "DSSX_MCT_NEXT_KEY_READYX"
12240 #define device_bar_ODY_DSSX_MCT_NEXT_KEY_READYX(a, b) 0x0 /* PF_BAR0 */
12241 #define busnum_ODY_DSSX_MCT_NEXT_KEY_READYX(a, b) (a)
12242 #define arguments_ODY_DSSX_MCT_NEXT_KEY_READYX(a, b) (a), (b), -1, -1
12243
12244 /**
12245 * Register (RSL) dss#_mct_previous_key_127_64#
12246 *
12247 * DSS MCT PREVIOUS KEY Register
12248 * Holds bits[127:64] of the previous key used for encryption of selected index.
12249 */
12250 union ody_dssx_mct_previous_key_127_64x {
12251 uint64_t u;
12252 struct ody_dssx_mct_previous_key_127_64x_s {
12253 uint64_t previous_key_127_64 : 64;
12254 } s;
12255 /* struct ody_dssx_mct_previous_key_127_64x_s cn; */
12256 };
12257 typedef union ody_dssx_mct_previous_key_127_64x ody_dssx_mct_previous_key_127_64x_t;
12258
12259 static inline uint64_t ODY_DSSX_MCT_PREVIOUS_KEY_127_64X(uint64_t a, uint64_t b) __attribute__ ((pure, always_inline));
ODY_DSSX_MCT_PREVIOUS_KEY_127_64X(uint64_t a,uint64_t b)12260 static inline uint64_t ODY_DSSX_MCT_PREVIOUS_KEY_127_64X(uint64_t a, uint64_t b)
12261 {
12262 if ((a <= 19) && (b <= 3))
12263 return 0x87e1b0010100ll + 0x1000000ll * ((a) & 0x1f) + 8ll * ((b) & 0x3);
12264 __ody_csr_fatal("DSSX_MCT_PREVIOUS_KEY_127_64X", 2, a, b, 0, 0, 0, 0);
12265 }
12266
12267 #define typedef_ODY_DSSX_MCT_PREVIOUS_KEY_127_64X(a, b) ody_dssx_mct_previous_key_127_64x_t
12268 #define bustype_ODY_DSSX_MCT_PREVIOUS_KEY_127_64X(a, b) CSR_TYPE_RSL
12269 #define basename_ODY_DSSX_MCT_PREVIOUS_KEY_127_64X(a, b) "DSSX_MCT_PREVIOUS_KEY_127_64X"
12270 #define device_bar_ODY_DSSX_MCT_PREVIOUS_KEY_127_64X(a, b) 0x0 /* PF_BAR0 */
12271 #define busnum_ODY_DSSX_MCT_PREVIOUS_KEY_127_64X(a, b) (a)
12272 #define arguments_ODY_DSSX_MCT_PREVIOUS_KEY_127_64X(a, b) (a), (b), -1, -1
12273
12274 /**
12275 * Register (RSL) dss#_mct_previous_key_63_0#
12276 *
12277 * DSS MCT PREVIOUS ENCRYPTION KEY Register
12278 * Holds bits[63:0] of the previous key used for encryption of selected index.
12279 */
12280 union ody_dssx_mct_previous_key_63_0x {
12281 uint64_t u;
12282 struct ody_dssx_mct_previous_key_63_0x_s {
12283 uint64_t previous_key_63_0 : 64;
12284 } s;
12285 /* struct ody_dssx_mct_previous_key_63_0x_s cn; */
12286 };
12287 typedef union ody_dssx_mct_previous_key_63_0x ody_dssx_mct_previous_key_63_0x_t;
12288
12289 static inline uint64_t ODY_DSSX_MCT_PREVIOUS_KEY_63_0X(uint64_t a, uint64_t b) __attribute__ ((pure, always_inline));
ODY_DSSX_MCT_PREVIOUS_KEY_63_0X(uint64_t a,uint64_t b)12290 static inline uint64_t ODY_DSSX_MCT_PREVIOUS_KEY_63_0X(uint64_t a, uint64_t b)
12291 {
12292 if ((a <= 19) && (b <= 3))
12293 return 0x87e1b00100e0ll + 0x1000000ll * ((a) & 0x1f) + 8ll * ((b) & 0x3);
12294 __ody_csr_fatal("DSSX_MCT_PREVIOUS_KEY_63_0X", 2, a, b, 0, 0, 0, 0);
12295 }
12296
12297 #define typedef_ODY_DSSX_MCT_PREVIOUS_KEY_63_0X(a, b) ody_dssx_mct_previous_key_63_0x_t
12298 #define bustype_ODY_DSSX_MCT_PREVIOUS_KEY_63_0X(a, b) CSR_TYPE_RSL
12299 #define basename_ODY_DSSX_MCT_PREVIOUS_KEY_63_0X(a, b) "DSSX_MCT_PREVIOUS_KEY_63_0X"
12300 #define device_bar_ODY_DSSX_MCT_PREVIOUS_KEY_63_0X(a, b) 0x0 /* PF_BAR0 */
12301 #define busnum_ODY_DSSX_MCT_PREVIOUS_KEY_63_0X(a, b) (a)
12302 #define arguments_ODY_DSSX_MCT_PREVIOUS_KEY_63_0X(a, b) (a), (b), -1, -1
12303
12304 /**
12305 * Register (RSL) dss#_mct_reset_n
12306 *
12307 * DSS MCT Clock Domain Reset Register
12308 * MCT clock domain software reset - active low.
12309 */
12310 union ody_dssx_mct_reset_n {
12311 uint64_t u;
12312 struct ody_dssx_mct_reset_n_s {
12313 uint64_t s_mct_reset_n : 1;
12314 uint64_t reserved_1_63 : 63;
12315 } s;
12316 /* struct ody_dssx_mct_reset_n_s cn; */
12317 };
12318 typedef union ody_dssx_mct_reset_n ody_dssx_mct_reset_n_t;
12319
12320 static inline uint64_t ODY_DSSX_MCT_RESET_N(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_MCT_RESET_N(uint64_t a)12321 static inline uint64_t ODY_DSSX_MCT_RESET_N(uint64_t a)
12322 {
12323 if (a <= 19)
12324 return 0x87e1b0000010ll + 0x1000000ll * ((a) & 0x1f);
12325 __ody_csr_fatal("DSSX_MCT_RESET_N", 1, a, 0, 0, 0, 0, 0);
12326 }
12327
12328 #define typedef_ODY_DSSX_MCT_RESET_N(a) ody_dssx_mct_reset_n_t
12329 #define bustype_ODY_DSSX_MCT_RESET_N(a) CSR_TYPE_RSL
12330 #define basename_ODY_DSSX_MCT_RESET_N(a) "DSSX_MCT_RESET_N"
12331 #define device_bar_ODY_DSSX_MCT_RESET_N(a) 0x0 /* PF_BAR0 */
12332 #define busnum_ODY_DSSX_MCT_RESET_N(a) (a)
12333 #define arguments_ODY_DSSX_MCT_RESET_N(a) (a), -1, -1, -1
12334
12335 /**
12336 * Register (RSL) dss#_mct_scrub_pointer
12337 *
12338 * DSS MCT Scrub Pointer Register
12339 * This register holds last accessed address by the scrub.
12340 */
12341 union ody_dssx_mct_scrub_pointer {
12342 uint64_t u;
12343 struct ody_dssx_mct_scrub_pointer_s {
12344 uint64_t scrub_pointer : 52;
12345 uint64_t reserved_52_63 : 12;
12346 } s;
12347 /* struct ody_dssx_mct_scrub_pointer_s cn; */
12348 };
12349 typedef union ody_dssx_mct_scrub_pointer ody_dssx_mct_scrub_pointer_t;
12350
12351 static inline uint64_t ODY_DSSX_MCT_SCRUB_POINTER(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_MCT_SCRUB_POINTER(uint64_t a)12352 static inline uint64_t ODY_DSSX_MCT_SCRUB_POINTER(uint64_t a)
12353 {
12354 if (a <= 19)
12355 return 0x87e1b0010120ll + 0x1000000ll * ((a) & 0x1f);
12356 __ody_csr_fatal("DSSX_MCT_SCRUB_POINTER", 1, a, 0, 0, 0, 0, 0);
12357 }
12358
12359 #define typedef_ODY_DSSX_MCT_SCRUB_POINTER(a) ody_dssx_mct_scrub_pointer_t
12360 #define bustype_ODY_DSSX_MCT_SCRUB_POINTER(a) CSR_TYPE_RSL
12361 #define basename_ODY_DSSX_MCT_SCRUB_POINTER(a) "DSSX_MCT_SCRUB_POINTER"
12362 #define device_bar_ODY_DSSX_MCT_SCRUB_POINTER(a) 0x0 /* PF_BAR0 */
12363 #define busnum_ODY_DSSX_MCT_SCRUB_POINTER(a) (a)
12364 #define arguments_ODY_DSSX_MCT_SCRUB_POINTER(a) (a), -1, -1, -1
12365
12366 /**
12367 * Register (RSL) dss#_mct_tmg_param_mc_side
12368 *
12369 * DSS MCT Timing Parameters - MC Side Register
12370 * Timing parameters configured in the memory controller.
12371 * This register should be configured only when (DSS_MCT()_ENABLE[S_MCT_EN] = 0).
12372 */
12373 union ody_dssx_mct_tmg_param_mc_side {
12374 uint64_t u;
12375 struct ody_dssx_mct_tmg_param_mc_side_s {
12376 uint64_t tphy_wrdata_mc_side : 6;
12377 uint64_t tphy_wrlat_mc_side : 6;
12378 uint64_t tphy_wrcslat_mc_side : 6;
12379 uint64_t t_phy_rddata_en_mc_side : 6;
12380 uint64_t tphy_rdcslat_mc_side : 6;
12381 uint64_t reserved_30_63 : 34;
12382 } s;
12383 /* struct ody_dssx_mct_tmg_param_mc_side_s cn; */
12384 };
12385 typedef union ody_dssx_mct_tmg_param_mc_side ody_dssx_mct_tmg_param_mc_side_t;
12386
12387 static inline uint64_t ODY_DSSX_MCT_TMG_PARAM_MC_SIDE(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_MCT_TMG_PARAM_MC_SIDE(uint64_t a)12388 static inline uint64_t ODY_DSSX_MCT_TMG_PARAM_MC_SIDE(uint64_t a)
12389 {
12390 if (a <= 19)
12391 return 0x87e1b00103b0ll + 0x1000000ll * ((a) & 0x1f);
12392 __ody_csr_fatal("DSSX_MCT_TMG_PARAM_MC_SIDE", 1, a, 0, 0, 0, 0, 0);
12393 }
12394
12395 #define typedef_ODY_DSSX_MCT_TMG_PARAM_MC_SIDE(a) ody_dssx_mct_tmg_param_mc_side_t
12396 #define bustype_ODY_DSSX_MCT_TMG_PARAM_MC_SIDE(a) CSR_TYPE_RSL
12397 #define basename_ODY_DSSX_MCT_TMG_PARAM_MC_SIDE(a) "DSSX_MCT_TMG_PARAM_MC_SIDE"
12398 #define device_bar_ODY_DSSX_MCT_TMG_PARAM_MC_SIDE(a) 0x0 /* PF_BAR0 */
12399 #define busnum_ODY_DSSX_MCT_TMG_PARAM_MC_SIDE(a) (a)
12400 #define arguments_ODY_DSSX_MCT_TMG_PARAM_MC_SIDE(a) (a), -1, -1, -1
12401
12402 /**
12403 * Register (RSL) dss#_mct_tmg_param_phy_side
12404 *
12405 * DSS MCT Timing Parameters - PHY Side Register
12406 * Timing parameters towards PHY on DFI interface.
12407 * This register should be configured only when (DSS_MCT()_ENABLE[S_MCT_EN] = 0).
12408 */
12409 union ody_dssx_mct_tmg_param_phy_side {
12410 uint64_t u;
12411 struct ody_dssx_mct_tmg_param_phy_side_s {
12412 uint64_t tphy_wrdata_phy_side : 6;
12413 uint64_t tphy_wrlat_phy_side : 6;
12414 uint64_t tphy_wrcslat_phy_side : 6;
12415 uint64_t t_phy_rddata_en_phy_side : 6;
12416 uint64_t tphy_rdcslat_phy_side : 6;
12417 uint64_t reserved_30_63 : 34;
12418 } s;
12419 /* struct ody_dssx_mct_tmg_param_phy_side_s cn; */
12420 };
12421 typedef union ody_dssx_mct_tmg_param_phy_side ody_dssx_mct_tmg_param_phy_side_t;
12422
12423 static inline uint64_t ODY_DSSX_MCT_TMG_PARAM_PHY_SIDE(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_MCT_TMG_PARAM_PHY_SIDE(uint64_t a)12424 static inline uint64_t ODY_DSSX_MCT_TMG_PARAM_PHY_SIDE(uint64_t a)
12425 {
12426 if (a <= 19)
12427 return 0x87e1b00103b8ll + 0x1000000ll * ((a) & 0x1f);
12428 __ody_csr_fatal("DSSX_MCT_TMG_PARAM_PHY_SIDE", 1, a, 0, 0, 0, 0, 0);
12429 }
12430
12431 #define typedef_ODY_DSSX_MCT_TMG_PARAM_PHY_SIDE(a) ody_dssx_mct_tmg_param_phy_side_t
12432 #define bustype_ODY_DSSX_MCT_TMG_PARAM_PHY_SIDE(a) CSR_TYPE_RSL
12433 #define basename_ODY_DSSX_MCT_TMG_PARAM_PHY_SIDE(a) "DSSX_MCT_TMG_PARAM_PHY_SIDE"
12434 #define device_bar_ODY_DSSX_MCT_TMG_PARAM_PHY_SIDE(a) 0x0 /* PF_BAR0 */
12435 #define busnum_ODY_DSSX_MCT_TMG_PARAM_PHY_SIDE(a) (a)
12436 #define arguments_ODY_DSSX_MCT_TMG_PARAM_PHY_SIDE(a) (a), -1, -1, -1
12437
12438 /**
12439 * Register (RSL) dss#_mct_win_addr_hi#
12440 *
12441 * DSS MCT WIN ADDR HI Register
12442 * This register defines the crypto high address windows.
12443 * This register should be configured only when (DSS_MCT()_ENABLE[S_MCT_EN] = 0).
12444 */
12445 union ody_dssx_mct_win_addr_hix {
12446 uint64_t u;
12447 struct ody_dssx_mct_win_addr_hix_s {
12448 uint64_t win_addr_hi : 52;
12449 uint64_t reserved_52_63 : 12;
12450 } s;
12451 /* struct ody_dssx_mct_win_addr_hix_s cn; */
12452 };
12453 typedef union ody_dssx_mct_win_addr_hix ody_dssx_mct_win_addr_hix_t;
12454
12455 static inline uint64_t ODY_DSSX_MCT_WIN_ADDR_HIX(uint64_t a, uint64_t b) __attribute__ ((pure, always_inline));
ODY_DSSX_MCT_WIN_ADDR_HIX(uint64_t a,uint64_t b)12456 static inline uint64_t ODY_DSSX_MCT_WIN_ADDR_HIX(uint64_t a, uint64_t b)
12457 {
12458 if ((a <= 19) && (b <= 15))
12459 return 0x87e1b0010330ll + 0x1000000ll * ((a) & 0x1f) + 8ll * ((b) & 0xf);
12460 __ody_csr_fatal("DSSX_MCT_WIN_ADDR_HIX", 2, a, b, 0, 0, 0, 0);
12461 }
12462
12463 #define typedef_ODY_DSSX_MCT_WIN_ADDR_HIX(a, b) ody_dssx_mct_win_addr_hix_t
12464 #define bustype_ODY_DSSX_MCT_WIN_ADDR_HIX(a, b) CSR_TYPE_RSL
12465 #define basename_ODY_DSSX_MCT_WIN_ADDR_HIX(a, b) "DSSX_MCT_WIN_ADDR_HIX"
12466 #define device_bar_ODY_DSSX_MCT_WIN_ADDR_HIX(a, b) 0x0 /* PF_BAR0 */
12467 #define busnum_ODY_DSSX_MCT_WIN_ADDR_HIX(a, b) (a)
12468 #define arguments_ODY_DSSX_MCT_WIN_ADDR_HIX(a, b) (a), (b), -1, -1
12469
12470 /**
12471 * Register (RSL) dss#_mct_win_addr_lo#
12472 *
12473 * DSS MCT WIN ADDR LO Register
12474 * This register defines the crypto low address windows.
12475 * This register should be configured only when (DSS_MCT()_ENABLE[S_MCT_EN] = 0).
12476 */
12477 union ody_dssx_mct_win_addr_lox {
12478 uint64_t u;
12479 struct ody_dssx_mct_win_addr_lox_s {
12480 uint64_t win_addr_lo : 52;
12481 uint64_t reserved_52_63 : 12;
12482 } s;
12483 /* struct ody_dssx_mct_win_addr_lox_s cn; */
12484 };
12485 typedef union ody_dssx_mct_win_addr_lox ody_dssx_mct_win_addr_lox_t;
12486
12487 static inline uint64_t ODY_DSSX_MCT_WIN_ADDR_LOX(uint64_t a, uint64_t b) __attribute__ ((pure, always_inline));
ODY_DSSX_MCT_WIN_ADDR_LOX(uint64_t a,uint64_t b)12488 static inline uint64_t ODY_DSSX_MCT_WIN_ADDR_LOX(uint64_t a, uint64_t b)
12489 {
12490 if ((a <= 19) && (b <= 15))
12491 return 0x87e1b00102b0ll + 0x1000000ll * ((a) & 0x1f) + 8ll * ((b) & 0xf);
12492 __ody_csr_fatal("DSSX_MCT_WIN_ADDR_LOX", 2, a, b, 0, 0, 0, 0);
12493 }
12494
12495 #define typedef_ODY_DSSX_MCT_WIN_ADDR_LOX(a, b) ody_dssx_mct_win_addr_lox_t
12496 #define bustype_ODY_DSSX_MCT_WIN_ADDR_LOX(a, b) CSR_TYPE_RSL
12497 #define basename_ODY_DSSX_MCT_WIN_ADDR_LOX(a, b) "DSSX_MCT_WIN_ADDR_LOX"
12498 #define device_bar_ODY_DSSX_MCT_WIN_ADDR_LOX(a, b) 0x0 /* PF_BAR0 */
12499 #define busnum_ODY_DSSX_MCT_WIN_ADDR_LOX(a, b) (a)
12500 #define arguments_ODY_DSSX_MCT_WIN_ADDR_LOX(a, b) (a), (b), -1, -1
12501
12502 /**
12503 * Register (RSL) dss#_mct_win_ctrl#
12504 *
12505 * DSS MCT WINDOW CTRL Register
12506 * This register defines the crypto address windows attributes.
12507 * This register should be configured only when (DSS_MCT()_ENABLE[S_MCT_EN] = 0).
12508 */
12509 union ody_dssx_mct_win_ctrlx {
12510 uint64_t u;
12511 struct ody_dssx_mct_win_ctrlx_s {
12512 uint64_t win_en : 1;
12513 uint64_t win_encryption_en : 1;
12514 uint64_t key_index : 2;
12515 uint64_t reserved_4_63 : 60;
12516 } s;
12517 /* struct ody_dssx_mct_win_ctrlx_s cn; */
12518 };
12519 typedef union ody_dssx_mct_win_ctrlx ody_dssx_mct_win_ctrlx_t;
12520
12521 static inline uint64_t ODY_DSSX_MCT_WIN_CTRLX(uint64_t a, uint64_t b) __attribute__ ((pure, always_inline));
ODY_DSSX_MCT_WIN_CTRLX(uint64_t a,uint64_t b)12522 static inline uint64_t ODY_DSSX_MCT_WIN_CTRLX(uint64_t a, uint64_t b)
12523 {
12524 if ((a <= 19) && (b <= 15))
12525 return 0x87e1b0010230ll + 0x1000000ll * ((a) & 0x1f) + 8ll * ((b) & 0xf);
12526 __ody_csr_fatal("DSSX_MCT_WIN_CTRLX", 2, a, b, 0, 0, 0, 0);
12527 }
12528
12529 #define typedef_ODY_DSSX_MCT_WIN_CTRLX(a, b) ody_dssx_mct_win_ctrlx_t
12530 #define bustype_ODY_DSSX_MCT_WIN_CTRLX(a, b) CSR_TYPE_RSL
12531 #define basename_ODY_DSSX_MCT_WIN_CTRLX(a, b) "DSSX_MCT_WIN_CTRLX"
12532 #define device_bar_ODY_DSSX_MCT_WIN_CTRLX(a, b) 0x0 /* PF_BAR0 */
12533 #define busnum_ODY_DSSX_MCT_WIN_CTRLX(a, b) (a)
12534 #define arguments_ODY_DSSX_MCT_WIN_CTRLX(a, b) (a), (b), -1, -1
12535
12536 /**
12537 * Register (RSL) dss#_mpam_cap_mon_event
12538 *
12539 * DSS TOP MPAM Capture Monitors Event Register
12540 * SoftWare trigger to capture memory controller MPAM monitors.
12541 */
12542 union ody_dssx_mpam_cap_mon_event {
12543 uint64_t u;
12544 struct ody_dssx_mpam_cap_mon_event_s {
12545 uint64_t mc_mpam_cap_mon_event_0 : 1;
12546 uint64_t mc_mpam_cap_mon_event_1 : 1;
12547 uint64_t reserved_2_63 : 62;
12548 } s;
12549 /* struct ody_dssx_mpam_cap_mon_event_s cn; */
12550 };
12551 typedef union ody_dssx_mpam_cap_mon_event ody_dssx_mpam_cap_mon_event_t;
12552
12553 static inline uint64_t ODY_DSSX_MPAM_CAP_MON_EVENT(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_MPAM_CAP_MON_EVENT(uint64_t a)12554 static inline uint64_t ODY_DSSX_MPAM_CAP_MON_EVENT(uint64_t a)
12555 {
12556 if (a <= 19)
12557 return 0x87e1b0000110ll + 0x1000000ll * ((a) & 0x1f);
12558 __ody_csr_fatal("DSSX_MPAM_CAP_MON_EVENT", 1, a, 0, 0, 0, 0, 0);
12559 }
12560
12561 #define typedef_ODY_DSSX_MPAM_CAP_MON_EVENT(a) ody_dssx_mpam_cap_mon_event_t
12562 #define bustype_ODY_DSSX_MPAM_CAP_MON_EVENT(a) CSR_TYPE_RSL
12563 #define basename_ODY_DSSX_MPAM_CAP_MON_EVENT(a) "DSSX_MPAM_CAP_MON_EVENT"
12564 #define device_bar_ODY_DSSX_MPAM_CAP_MON_EVENT(a) 0x0 /* PF_BAR0 */
12565 #define busnum_ODY_DSSX_MPAM_CAP_MON_EVENT(a) (a)
12566 #define arguments_ODY_DSSX_MPAM_CAP_MON_EVENT(a) (a), -1, -1, -1
12567
12568 /**
12569 * Register (RSL) dss#_msix_pba#
12570 *
12571 * DSS MSI-X Pending Bit Array Registers
12572 */
12573 union ody_dssx_msix_pbax {
12574 uint64_t u;
12575 struct ody_dssx_msix_pbax_s {
12576 uint64_t pend : 64;
12577 } s;
12578 /* struct ody_dssx_msix_pbax_s cn; */
12579 };
12580 typedef union ody_dssx_msix_pbax ody_dssx_msix_pbax_t;
12581
12582 static inline uint64_t ODY_DSSX_MSIX_PBAX(uint64_t a, uint64_t b) __attribute__ ((pure, always_inline));
ODY_DSSX_MSIX_PBAX(uint64_t a,uint64_t b)12583 static inline uint64_t ODY_DSSX_MSIX_PBAX(uint64_t a, uint64_t b)
12584 {
12585 if ((a <= 19) && (b == 0))
12586 return 0x87e1b0708000ll + 0x1000000ll * ((a) & 0x1f);
12587 __ody_csr_fatal("DSSX_MSIX_PBAX", 2, a, b, 0, 0, 0, 0);
12588 }
12589
12590 #define typedef_ODY_DSSX_MSIX_PBAX(a, b) ody_dssx_msix_pbax_t
12591 #define bustype_ODY_DSSX_MSIX_PBAX(a, b) CSR_TYPE_RSL
12592 #define basename_ODY_DSSX_MSIX_PBAX(a, b) "DSSX_MSIX_PBAX"
12593 #define device_bar_ODY_DSSX_MSIX_PBAX(a, b) 0x4 /* PF_BAR4 */
12594 #define busnum_ODY_DSSX_MSIX_PBAX(a, b) (a)
12595 #define arguments_ODY_DSSX_MSIX_PBAX(a, b) (a), (b), -1, -1
12596
12597 /**
12598 * Register (RSL) dss#_msix_vec#_addr
12599 *
12600 * DSS MSI-X Vector-Table Address Register
12601 * This register is the MSI-X vector table, indexed by the DSS_INT_VEC_E enumeration.
12602 */
12603 union ody_dssx_msix_vecx_addr {
12604 uint64_t u;
12605 struct ody_dssx_msix_vecx_addr_s {
12606 uint64_t secvec : 1;
12607 uint64_t reserved_1 : 1;
12608 uint64_t addr : 51;
12609 uint64_t reserved_53_63 : 11;
12610 } s;
12611 /* struct ody_dssx_msix_vecx_addr_s cn; */
12612 };
12613 typedef union ody_dssx_msix_vecx_addr ody_dssx_msix_vecx_addr_t;
12614
12615 static inline uint64_t ODY_DSSX_MSIX_VECX_ADDR(uint64_t a, uint64_t b) __attribute__ ((pure, always_inline));
ODY_DSSX_MSIX_VECX_ADDR(uint64_t a,uint64_t b)12616 static inline uint64_t ODY_DSSX_MSIX_VECX_ADDR(uint64_t a, uint64_t b)
12617 {
12618 if ((a <= 19) && (b <= 4))
12619 return 0x87e1b0700000ll + 0x1000000ll * ((a) & 0x1f) + 0x10ll * ((b) & 0x7);
12620 __ody_csr_fatal("DSSX_MSIX_VECX_ADDR", 2, a, b, 0, 0, 0, 0);
12621 }
12622
12623 #define typedef_ODY_DSSX_MSIX_VECX_ADDR(a, b) ody_dssx_msix_vecx_addr_t
12624 #define bustype_ODY_DSSX_MSIX_VECX_ADDR(a, b) CSR_TYPE_RSL
12625 #define basename_ODY_DSSX_MSIX_VECX_ADDR(a, b) "DSSX_MSIX_VECX_ADDR"
12626 #define device_bar_ODY_DSSX_MSIX_VECX_ADDR(a, b) 0x4 /* PF_BAR4 */
12627 #define busnum_ODY_DSSX_MSIX_VECX_ADDR(a, b) (a)
12628 #define arguments_ODY_DSSX_MSIX_VECX_ADDR(a, b) (a), (b), -1, -1
12629
12630 /**
12631 * Register (RSL) dss#_msix_vec#_ctl
12632 *
12633 * DSS MSI-X Vector-Table Control and Data Register
12634 * This register is the MSI-X vector table, indexed by the DSS_INT_VEC_E enumeration.
12635 */
12636 union ody_dssx_msix_vecx_ctl {
12637 uint64_t u;
12638 struct ody_dssx_msix_vecx_ctl_s {
12639 uint64_t data : 32;
12640 uint64_t mask : 1;
12641 uint64_t reserved_33_63 : 31;
12642 } s;
12643 /* struct ody_dssx_msix_vecx_ctl_s cn; */
12644 };
12645 typedef union ody_dssx_msix_vecx_ctl ody_dssx_msix_vecx_ctl_t;
12646
12647 static inline uint64_t ODY_DSSX_MSIX_VECX_CTL(uint64_t a, uint64_t b) __attribute__ ((pure, always_inline));
ODY_DSSX_MSIX_VECX_CTL(uint64_t a,uint64_t b)12648 static inline uint64_t ODY_DSSX_MSIX_VECX_CTL(uint64_t a, uint64_t b)
12649 {
12650 if ((a <= 19) && (b <= 4))
12651 return 0x87e1b0700008ll + 0x1000000ll * ((a) & 0x1f) + 0x10ll * ((b) & 0x7);
12652 __ody_csr_fatal("DSSX_MSIX_VECX_CTL", 2, a, b, 0, 0, 0, 0);
12653 }
12654
12655 #define typedef_ODY_DSSX_MSIX_VECX_CTL(a, b) ody_dssx_msix_vecx_ctl_t
12656 #define bustype_ODY_DSSX_MSIX_VECX_CTL(a, b) CSR_TYPE_RSL
12657 #define basename_ODY_DSSX_MSIX_VECX_CTL(a, b) "DSSX_MSIX_VECX_CTL"
12658 #define device_bar_ODY_DSSX_MSIX_VECX_CTL(a, b) 0x4 /* PF_BAR4 */
12659 #define busnum_ODY_DSSX_MSIX_VECX_CTL(a, b) (a)
12660 #define arguments_ODY_DSSX_MSIX_VECX_CTL(a, b) (a), (b), -1, -1
12661
12662 /**
12663 * Register (RSL) dss#_nderr_addr
12664 *
12665 * DSS Non-Data Error Address Register
12666 * This register records the error address for non-data error interrupts triggered from
12667 * the REQ mesh [REQ_PERR]. The first [REQ_PERR] error will lock
12668 * the register until the logged error type is cleared.
12669 * See DSS_NDERR_INFO for error opcode and SRCID logging.
12670 */
12671 union ody_dssx_nderr_addr {
12672 uint64_t u;
12673 struct ody_dssx_nderr_addr_s {
12674 uint64_t addr : 52;
12675 uint64_t nonsec : 1;
12676 uint64_t reserved_53_63 : 11;
12677 } s;
12678 /* struct ody_dssx_nderr_addr_s cn; */
12679 };
12680 typedef union ody_dssx_nderr_addr ody_dssx_nderr_addr_t;
12681
12682 static inline uint64_t ODY_DSSX_NDERR_ADDR(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_NDERR_ADDR(uint64_t a)12683 static inline uint64_t ODY_DSSX_NDERR_ADDR(uint64_t a)
12684 {
12685 if (a <= 19)
12686 return 0x87e1b0000090ll + 0x1000000ll * ((a) & 0x1f);
12687 __ody_csr_fatal("DSSX_NDERR_ADDR", 1, a, 0, 0, 0, 0, 0);
12688 }
12689
12690 #define typedef_ODY_DSSX_NDERR_ADDR(a) ody_dssx_nderr_addr_t
12691 #define bustype_ODY_DSSX_NDERR_ADDR(a) CSR_TYPE_RSL
12692 #define basename_ODY_DSSX_NDERR_ADDR(a) "DSSX_NDERR_ADDR"
12693 #define device_bar_ODY_DSSX_NDERR_ADDR(a) 0x0 /* PF_BAR0 */
12694 #define busnum_ODY_DSSX_NDERR_ADDR(a) (a)
12695 #define arguments_ODY_DSSX_NDERR_ADDR(a) (a), -1, -1, -1
12696
12697 /**
12698 * Register (RSL) dss#_nderr_info
12699 *
12700 * DSS Non-Data Error Info Register
12701 * This register records error information for non-data parity errors
12702 * [REQ_PERR, DAT_PERR]. The first [REQ_PERR, DAT_PERR] error
12703 * will lock the register until the logged error type is cleared;
12704 * See DSS()_NDERR_ADDR for error address logging.
12705 */
12706 union ody_dssx_nderr_info {
12707 uint64_t u;
12708 struct ody_dssx_nderr_info_s {
12709 uint64_t srcid : 11;
12710 uint64_t opcode : 7;
12711 uint64_t reserved_18_61 : 44;
12712 uint64_t dat_perr : 1;
12713 uint64_t req_perr : 1;
12714 } s;
12715 /* struct ody_dssx_nderr_info_s cn; */
12716 };
12717 typedef union ody_dssx_nderr_info ody_dssx_nderr_info_t;
12718
12719 static inline uint64_t ODY_DSSX_NDERR_INFO(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_NDERR_INFO(uint64_t a)12720 static inline uint64_t ODY_DSSX_NDERR_INFO(uint64_t a)
12721 {
12722 if (a <= 19)
12723 return 0x87e1b0000088ll + 0x1000000ll * ((a) & 0x1f);
12724 __ody_csr_fatal("DSSX_NDERR_INFO", 1, a, 0, 0, 0, 0, 0);
12725 }
12726
12727 #define typedef_ODY_DSSX_NDERR_INFO(a) ody_dssx_nderr_info_t
12728 #define bustype_ODY_DSSX_NDERR_INFO(a) CSR_TYPE_RSL
12729 #define basename_ODY_DSSX_NDERR_INFO(a) "DSSX_NDERR_INFO"
12730 #define device_bar_ODY_DSSX_NDERR_INFO(a) 0x0 /* PF_BAR0 */
12731 #define busnum_ODY_DSSX_NDERR_INFO(a) (a)
12732 #define arguments_ODY_DSSX_NDERR_INFO(a) (a), -1, -1, -1
12733
12734 /**
12735 * Register (RSL) dss#_perf_cnt_cfg#
12736 *
12737 * Performance Counters Configuration Register
12738 * This register configures the events that the counter will count.
12739 */
12740 union ody_dssx_perf_cnt_cfgx {
12741 uint64_t u;
12742 struct ody_dssx_perf_cnt_cfgx_s {
12743 uint64_t hif_rd_or_wr : 1;
12744 uint64_t hif_wr : 1;
12745 uint64_t hif_rd : 1;
12746 uint64_t hif_rmw : 1;
12747 uint64_t hif_hi_pri_rd : 1;
12748 uint64_t read_bypass : 1;
12749 uint64_t act_bypass : 1;
12750 uint64_t dfi_wr_data_cycles : 1;
12751 uint64_t dfi_rd_data_cycles : 1;
12752 uint64_t hpr_xact_when_critical : 1;
12753 uint64_t lpr_xact_when_critical : 1;
12754 uint64_t wr_xact_when_critical : 1;
12755 uint64_t op_is_activate : 1;
12756 uint64_t op_is_rd_or_wr : 1;
12757 uint64_t op_is_rd_activate : 1;
12758 uint64_t op_is_rd : 1;
12759 uint64_t op_is_wr : 1;
12760 uint64_t op_is_mwr : 1;
12761 uint64_t op_is_precharge : 1;
12762 uint64_t precharge_for_rdwr : 1;
12763 uint64_t precharge_for_other : 1;
12764 uint64_t rdwr_transitions : 1;
12765 uint64_t write_combine : 1;
12766 uint64_t war_hazard : 1;
12767 uint64_t raw_hazard : 1;
12768 uint64_t waw_hazard : 1;
12769 uint64_t op_is_enter_selfref : 4;
12770 uint64_t op_is_enter_powerdown : 4;
12771 uint64_t op_is_enter_mpsm : 4;
12772 uint64_t op_is_refresh : 1;
12773 uint64_t op_is_crit_ref : 1;
12774 uint64_t op_is_spec_ref : 1;
12775 uint64_t op_is_load_mode : 1;
12776 uint64_t op_is_zqcl : 1;
12777 uint64_t op_is_zqcs : 1;
12778 uint64_t dfi_cycles : 1;
12779 uint64_t retry_fifo_full : 1;
12780 uint64_t bsm_alloc : 1;
12781 uint64_t bsm_starvation : 1;
12782 uint64_t visible_win_limit_reached_rd : 1;
12783 uint64_t visible_win_limit_reached_wr : 1;
12784 uint64_t op_is_dqsosc_mpc : 1;
12785 uint64_t op_is_dqsosc_mrr : 1;
12786 uint64_t op_is_tcr_mrr : 1;
12787 uint64_t op_is_zqstart : 1;
12788 uint64_t op_is_zqlatch : 1;
12789 uint64_t dfi_parity_poison : 1;
12790 uint64_t wr_crc_error : 1;
12791 uint64_t capar_error : 1;
12792 uint64_t rd_crc_error : 1;
12793 uint64_t rd_uc_ecc_error : 1;
12794 uint64_t dfi_cmd_is_retry : 1;
12795 uint64_t interrupt_en : 1;
12796 uint64_t wrap_value : 1;
12797 uint64_t cnt_en : 1;
12798 } s;
12799 /* struct ody_dssx_perf_cnt_cfgx_s cn; */
12800 };
12801 typedef union ody_dssx_perf_cnt_cfgx ody_dssx_perf_cnt_cfgx_t;
12802
12803 static inline uint64_t ODY_DSSX_PERF_CNT_CFGX(uint64_t a, uint64_t b) __attribute__ ((pure, always_inline));
ODY_DSSX_PERF_CNT_CFGX(uint64_t a,uint64_t b)12804 static inline uint64_t ODY_DSSX_PERF_CNT_CFGX(uint64_t a, uint64_t b)
12805 {
12806 if ((a <= 19) && (b <= 7))
12807 return 0x87e1b0020160ll + 0x1000000ll * ((a) & 0x1f) + 8ll * ((b) & 0x7);
12808 __ody_csr_fatal("DSSX_PERF_CNT_CFGX", 2, a, b, 0, 0, 0, 0);
12809 }
12810
12811 #define typedef_ODY_DSSX_PERF_CNT_CFGX(a, b) ody_dssx_perf_cnt_cfgx_t
12812 #define bustype_ODY_DSSX_PERF_CNT_CFGX(a, b) CSR_TYPE_RSL
12813 #define basename_ODY_DSSX_PERF_CNT_CFGX(a, b) "DSSX_PERF_CNT_CFGX"
12814 #define device_bar_ODY_DSSX_PERF_CNT_CFGX(a, b) 0x0 /* PF_BAR0 */
12815 #define busnum_ODY_DSSX_PERF_CNT_CFGX(a, b) (a)
12816 #define arguments_ODY_DSSX_PERF_CNT_CFGX(a, b) (a), (b), -1, -1
12817
12818 /**
12819 * Register (RSL) dss#_perf_cnt_current_tmr_val#
12820 *
12821 * Performance Current Timer Value Register
12822 * This register contains the current timer value of the counter when running in timer
12823 * mode. Software can use this value to see the progress (in clock cycles) that counter made
12824 * and may compare it with target timer value.
12825 */
12826 union ody_dssx_perf_cnt_current_tmr_valx {
12827 uint64_t u;
12828 struct ody_dssx_perf_cnt_current_tmr_valx_s {
12829 uint64_t current_timer_value : 64;
12830 } s;
12831 /* struct ody_dssx_perf_cnt_current_tmr_valx_s cn; */
12832 };
12833 typedef union ody_dssx_perf_cnt_current_tmr_valx ody_dssx_perf_cnt_current_tmr_valx_t;
12834
12835 static inline uint64_t ODY_DSSX_PERF_CNT_CURRENT_TMR_VALX(uint64_t a, uint64_t b) __attribute__ ((pure, always_inline));
ODY_DSSX_PERF_CNT_CURRENT_TMR_VALX(uint64_t a,uint64_t b)12836 static inline uint64_t ODY_DSSX_PERF_CNT_CURRENT_TMR_VALX(uint64_t a, uint64_t b)
12837 {
12838 if ((a <= 19) && (b <= 7))
12839 return 0x87e1b00202c0ll + 0x1000000ll * ((a) & 0x1f) + 8ll * ((b) & 0x7);
12840 __ody_csr_fatal("DSSX_PERF_CNT_CURRENT_TMR_VALX", 2, a, b, 0, 0, 0, 0);
12841 }
12842
12843 #define typedef_ODY_DSSX_PERF_CNT_CURRENT_TMR_VALX(a, b) ody_dssx_perf_cnt_current_tmr_valx_t
12844 #define bustype_ODY_DSSX_PERF_CNT_CURRENT_TMR_VALX(a, b) CSR_TYPE_RSL
12845 #define basename_ODY_DSSX_PERF_CNT_CURRENT_TMR_VALX(a, b) "DSSX_PERF_CNT_CURRENT_TMR_VALX"
12846 #define device_bar_ODY_DSSX_PERF_CNT_CURRENT_TMR_VALX(a, b) 0x0 /* PF_BAR0 */
12847 #define busnum_ODY_DSSX_PERF_CNT_CURRENT_TMR_VALX(a, b) (a)
12848 #define arguments_ODY_DSSX_PERF_CNT_CURRENT_TMR_VALX(a, b) (a), (b), -1, -1
12849
12850 /**
12851 * Register (RSL) dss#_perf_cnt_dbg_cnt_sel
12852 *
12853 * Performance Counter selector Register
12854 * This register indicates to which counters to override the initial value
12855 * When DSS_PERF_CNT_DBG_INIT_VAL.CNT_INIT_VALUE is written.
12856 */
12857 union ody_dssx_perf_cnt_dbg_cnt_sel {
12858 uint64_t u;
12859 struct ody_dssx_perf_cnt_dbg_cnt_sel_s {
12860 uint64_t gen_cnt_override : 8;
12861 uint64_t reserved_8_9 : 2;
12862 uint64_t wr_cnt_override : 1;
12863 uint64_t rd_cnt_override : 1;
12864 uint64_t gen_fill_level_cnt : 3;
12865 uint64_t txrsp_fill_level_cnt : 1;
12866 uint64_t cbusy_cnt : 4;
12867 uint64_t reserved_20_63 : 44;
12868 } s;
12869 /* struct ody_dssx_perf_cnt_dbg_cnt_sel_s cn; */
12870 };
12871 typedef union ody_dssx_perf_cnt_dbg_cnt_sel ody_dssx_perf_cnt_dbg_cnt_sel_t;
12872
12873 static inline uint64_t ODY_DSSX_PERF_CNT_DBG_CNT_SEL(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_PERF_CNT_DBG_CNT_SEL(uint64_t a)12874 static inline uint64_t ODY_DSSX_PERF_CNT_DBG_CNT_SEL(uint64_t a)
12875 {
12876 if (a <= 19)
12877 return 0x87e1b0020268ll + 0x1000000ll * ((a) & 0x1f);
12878 __ody_csr_fatal("DSSX_PERF_CNT_DBG_CNT_SEL", 1, a, 0, 0, 0, 0, 0);
12879 }
12880
12881 #define typedef_ODY_DSSX_PERF_CNT_DBG_CNT_SEL(a) ody_dssx_perf_cnt_dbg_cnt_sel_t
12882 #define bustype_ODY_DSSX_PERF_CNT_DBG_CNT_SEL(a) CSR_TYPE_RSL
12883 #define basename_ODY_DSSX_PERF_CNT_DBG_CNT_SEL(a) "DSSX_PERF_CNT_DBG_CNT_SEL"
12884 #define device_bar_ODY_DSSX_PERF_CNT_DBG_CNT_SEL(a) 0x0 /* PF_BAR0 */
12885 #define busnum_ODY_DSSX_PERF_CNT_DBG_CNT_SEL(a) (a)
12886 #define arguments_ODY_DSSX_PERF_CNT_DBG_CNT_SEL(a) (a), -1, -1, -1
12887
12888 /**
12889 * Register (RSL) dss#_perf_cnt_dbg_init_val
12890 *
12891 * Performance Counter initial value Register
12892 * Initial value of the selected counter[s]. To override the initial value need to
12893 * select first the target counter[s] in DSS_PERF_CNT_DBG_CNT_SEL, then to write the
12894 * wanted initial value to this register.
12895 * The initial value takes effect for one counting iteration only, for next count it
12896 * will start from zero un-less reconfigured again.
12897 */
12898 union ody_dssx_perf_cnt_dbg_init_val {
12899 uint64_t u;
12900 struct ody_dssx_perf_cnt_dbg_init_val_s {
12901 uint64_t cnt_init_value : 64;
12902 } s;
12903 /* struct ody_dssx_perf_cnt_dbg_init_val_s cn; */
12904 };
12905 typedef union ody_dssx_perf_cnt_dbg_init_val ody_dssx_perf_cnt_dbg_init_val_t;
12906
12907 static inline uint64_t ODY_DSSX_PERF_CNT_DBG_INIT_VAL(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_PERF_CNT_DBG_INIT_VAL(uint64_t a)12908 static inline uint64_t ODY_DSSX_PERF_CNT_DBG_INIT_VAL(uint64_t a)
12909 {
12910 if (a <= 19)
12911 return 0x87e1b0020270ll + 0x1000000ll * ((a) & 0x1f);
12912 __ody_csr_fatal("DSSX_PERF_CNT_DBG_INIT_VAL", 1, a, 0, 0, 0, 0, 0);
12913 }
12914
12915 #define typedef_ODY_DSSX_PERF_CNT_DBG_INIT_VAL(a) ody_dssx_perf_cnt_dbg_init_val_t
12916 #define bustype_ODY_DSSX_PERF_CNT_DBG_INIT_VAL(a) CSR_TYPE_RSL
12917 #define basename_ODY_DSSX_PERF_CNT_DBG_INIT_VAL(a) "DSSX_PERF_CNT_DBG_INIT_VAL"
12918 #define device_bar_ODY_DSSX_PERF_CNT_DBG_INIT_VAL(a) 0x0 /* PF_BAR0 */
12919 #define busnum_ODY_DSSX_PERF_CNT_DBG_INIT_VAL(a) (a)
12920 #define arguments_ODY_DSSX_PERF_CNT_DBG_INIT_VAL(a) (a), -1, -1, -1
12921
12922 /**
12923 * Register (RSL) dss#_perf_cnt_dmd_rd_hit_cfg#
12924 *
12925 * DSS Performance Counters Demand Read Hit Configuration Register
12926 * Configuration register of demand read hit event. This register is used to configure
12927 * the filtering criteria according to CHI request properties.
12928 * Note: This register is a continuation to DSS_PERF_CNT_CFG.
12929 */
12930 union ody_dssx_perf_cnt_dmd_rd_hit_cfgx {
12931 uint64_t u;
12932 struct ody_dssx_perf_cnt_dmd_rd_hit_cfgx_s {
12933 uint64_t demand_rd_hit_drop_event_en : 1;
12934 uint64_t demand_rd_hit_no_drop_event_en : 1;
12935 uint64_t demand_hit_match_size : 1;
12936 uint64_t demand_hit_desired_size : 3;
12937 uint64_t demand_hit_match_qos : 1;
12938 uint64_t demand_hit_desired_qos : 4;
12939 uint64_t demand_hit_match_pri : 1;
12940 uint64_t demand_hit_desired_pri : 2;
12941 uint64_t demand_hit_match_mpamns : 1;
12942 uint64_t demand_hit_desired_mpamns : 1;
12943 uint64_t demand_hit_match_pmg : 1;
12944 uint64_t demand_hit_desired_pmg : 1;
12945 uint64_t demand_hit_match_partid : 9;
12946 uint64_t demand_hit_desired_partid : 9;
12947 uint64_t demand_hit_cnt_behavior : 1;
12948 uint64_t reserved_37_63 : 27;
12949 } s;
12950 /* struct ody_dssx_perf_cnt_dmd_rd_hit_cfgx_s cn; */
12951 };
12952 typedef union ody_dssx_perf_cnt_dmd_rd_hit_cfgx ody_dssx_perf_cnt_dmd_rd_hit_cfgx_t;
12953
12954 static inline uint64_t ODY_DSSX_PERF_CNT_DMD_RD_HIT_CFGX(uint64_t a, uint64_t b) __attribute__ ((pure, always_inline));
ODY_DSSX_PERF_CNT_DMD_RD_HIT_CFGX(uint64_t a,uint64_t b)12955 static inline uint64_t ODY_DSSX_PERF_CNT_DMD_RD_HIT_CFGX(uint64_t a, uint64_t b)
12956 {
12957 if ((a <= 19) && (b <= 7))
12958 return 0x87e1b0008350ll + 0x1000000ll * ((a) & 0x1f) + 8ll * ((b) & 0x7);
12959 __ody_csr_fatal("DSSX_PERF_CNT_DMD_RD_HIT_CFGX", 2, a, b, 0, 0, 0, 0);
12960 }
12961
12962 #define typedef_ODY_DSSX_PERF_CNT_DMD_RD_HIT_CFGX(a, b) ody_dssx_perf_cnt_dmd_rd_hit_cfgx_t
12963 #define bustype_ODY_DSSX_PERF_CNT_DMD_RD_HIT_CFGX(a, b) CSR_TYPE_RSL
12964 #define basename_ODY_DSSX_PERF_CNT_DMD_RD_HIT_CFGX(a, b) "DSSX_PERF_CNT_DMD_RD_HIT_CFGX"
12965 #define device_bar_ODY_DSSX_PERF_CNT_DMD_RD_HIT_CFGX(a, b) 0x0 /* PF_BAR0 */
12966 #define busnum_ODY_DSSX_PERF_CNT_DMD_RD_HIT_CFGX(a, b) (a)
12967 #define arguments_ODY_DSSX_PERF_CNT_DMD_RD_HIT_CFGX(a, b) (a), (b), -1, -1
12968
12969 /**
12970 * Register (RSL) dss#_perf_cnt_end_op_ctrl#
12971 *
12972 * Performance Counters End Operation Control Register
12973 * DSS performance counters control.
12974 * This register controls when to stop counters operation for manual mode
12975 * and can also be used to stop counting in timer mode.
12976 */
12977 union ody_dssx_perf_cnt_end_op_ctrlx {
12978 uint64_t u;
12979 struct ody_dssx_perf_cnt_end_op_ctrlx_s {
12980 uint64_t manual_mode_end : 1;
12981 uint64_t reserved_1_63 : 63;
12982 } s;
12983 /* struct ody_dssx_perf_cnt_end_op_ctrlx_s cn; */
12984 };
12985 typedef union ody_dssx_perf_cnt_end_op_ctrlx ody_dssx_perf_cnt_end_op_ctrlx_t;
12986
12987 static inline uint64_t ODY_DSSX_PERF_CNT_END_OP_CTRLX(uint64_t a, uint64_t b) __attribute__ ((pure, always_inline));
ODY_DSSX_PERF_CNT_END_OP_CTRLX(uint64_t a,uint64_t b)12988 static inline uint64_t ODY_DSSX_PERF_CNT_END_OP_CTRLX(uint64_t a, uint64_t b)
12989 {
12990 if ((a <= 19) && (b <= 7))
12991 return 0x87e1b00200e0ll + 0x1000000ll * ((a) & 0x1f) + 8ll * ((b) & 0x7);
12992 __ody_csr_fatal("DSSX_PERF_CNT_END_OP_CTRLX", 2, a, b, 0, 0, 0, 0);
12993 }
12994
12995 #define typedef_ODY_DSSX_PERF_CNT_END_OP_CTRLX(a, b) ody_dssx_perf_cnt_end_op_ctrlx_t
12996 #define bustype_ODY_DSSX_PERF_CNT_END_OP_CTRLX(a, b) CSR_TYPE_RSL
12997 #define basename_ODY_DSSX_PERF_CNT_END_OP_CTRLX(a, b) "DSSX_PERF_CNT_END_OP_CTRLX"
12998 #define device_bar_ODY_DSSX_PERF_CNT_END_OP_CTRLX(a, b) 0x0 /* PF_BAR0 */
12999 #define busnum_ODY_DSSX_PERF_CNT_END_OP_CTRLX(a, b) (a)
13000 #define arguments_ODY_DSSX_PERF_CNT_END_OP_CTRLX(a, b) (a), (b), -1, -1
13001
13002 /**
13003 * Register (RSL) dss#_perf_cnt_end_status#
13004 *
13005 * Performance Counters End Status Register
13006 * DSS performance counters status.
13007 * This register indicates counter status if still running for timer mode.
13008 */
13009 union ody_dssx_perf_cnt_end_statusx {
13010 uint64_t u;
13011 struct ody_dssx_perf_cnt_end_statusx_s {
13012 uint64_t timer_mode_end : 1;
13013 uint64_t reserved_1_63 : 63;
13014 } s;
13015 /* struct ody_dssx_perf_cnt_end_statusx_s cn; */
13016 };
13017 typedef union ody_dssx_perf_cnt_end_statusx ody_dssx_perf_cnt_end_statusx_t;
13018
13019 static inline uint64_t ODY_DSSX_PERF_CNT_END_STATUSX(uint64_t a, uint64_t b) __attribute__ ((pure, always_inline));
ODY_DSSX_PERF_CNT_END_STATUSX(uint64_t a,uint64_t b)13020 static inline uint64_t ODY_DSSX_PERF_CNT_END_STATUSX(uint64_t a, uint64_t b)
13021 {
13022 if ((a <= 19) && (b <= 7))
13023 return 0x87e1b0020120ll + 0x1000000ll * ((a) & 0x1f) + 8ll * ((b) & 0x7);
13024 __ody_csr_fatal("DSSX_PERF_CNT_END_STATUSX", 2, a, b, 0, 0, 0, 0);
13025 }
13026
13027 #define typedef_ODY_DSSX_PERF_CNT_END_STATUSX(a, b) ody_dssx_perf_cnt_end_statusx_t
13028 #define bustype_ODY_DSSX_PERF_CNT_END_STATUSX(a, b) CSR_TYPE_RSL
13029 #define basename_ODY_DSSX_PERF_CNT_END_STATUSX(a, b) "DSSX_PERF_CNT_END_STATUSX"
13030 #define device_bar_ODY_DSSX_PERF_CNT_END_STATUSX(a, b) 0x0 /* PF_BAR0 */
13031 #define busnum_ODY_DSSX_PERF_CNT_END_STATUSX(a, b) (a)
13032 #define arguments_ODY_DSSX_PERF_CNT_END_STATUSX(a, b) (a), (b), -1, -1
13033
13034 /**
13035 * Register (RSL) dss#_perf_cnt_freerun_clr
13036 *
13037 * Performance Counters Free Running Counters Clear Register
13038 * Free running read/writes counts clear.
13039 */
13040 union ody_dssx_perf_cnt_freerun_clr {
13041 uint64_t u;
13042 struct ody_dssx_perf_cnt_freerun_clr_s {
13043 uint64_t wr_op_cnt_clr : 1;
13044 uint64_t rd_op_cnt_clr : 1;
13045 uint64_t reserved_2_63 : 62;
13046 } s;
13047 /* struct ody_dssx_perf_cnt_freerun_clr_s cn; */
13048 };
13049 typedef union ody_dssx_perf_cnt_freerun_clr ody_dssx_perf_cnt_freerun_clr_t;
13050
13051 static inline uint64_t ODY_DSSX_PERF_CNT_FREERUN_CLR(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_PERF_CNT_FREERUN_CLR(uint64_t a)13052 static inline uint64_t ODY_DSSX_PERF_CNT_FREERUN_CLR(uint64_t a)
13053 {
13054 if (a <= 19)
13055 return 0x87e1b0020248ll + 0x1000000ll * ((a) & 0x1f);
13056 __ody_csr_fatal("DSSX_PERF_CNT_FREERUN_CLR", 1, a, 0, 0, 0, 0, 0);
13057 }
13058
13059 #define typedef_ODY_DSSX_PERF_CNT_FREERUN_CLR(a) ody_dssx_perf_cnt_freerun_clr_t
13060 #define bustype_ODY_DSSX_PERF_CNT_FREERUN_CLR(a) CSR_TYPE_RSL
13061 #define basename_ODY_DSSX_PERF_CNT_FREERUN_CLR(a) "DSSX_PERF_CNT_FREERUN_CLR"
13062 #define device_bar_ODY_DSSX_PERF_CNT_FREERUN_CLR(a) 0x0 /* PF_BAR0 */
13063 #define busnum_ODY_DSSX_PERF_CNT_FREERUN_CLR(a) (a)
13064 #define arguments_ODY_DSSX_PERF_CNT_FREERUN_CLR(a) (a), -1, -1, -1
13065
13066 /**
13067 * Register (RSL) dss#_perf_cnt_freerun_ctrl
13068 *
13069 * Performance Counters Free Running Counters Control Register
13070 * Free running read/writes commands counter control.
13071 */
13072 union ody_dssx_perf_cnt_freerun_ctrl {
13073 uint64_t u;
13074 struct ody_dssx_perf_cnt_freerun_ctrl_s {
13075 uint64_t wr_op_cnt_en : 1;
13076 uint64_t rd_op_cnt_en : 1;
13077 uint64_t wr_interrupt_en : 1;
13078 uint64_t rd_interrupt_en : 1;
13079 uint64_t wr_wrap_value : 1;
13080 uint64_t rd_wrap_value : 1;
13081 uint64_t reserved_6_63 : 58;
13082 } s;
13083 /* struct ody_dssx_perf_cnt_freerun_ctrl_s cn; */
13084 };
13085 typedef union ody_dssx_perf_cnt_freerun_ctrl ody_dssx_perf_cnt_freerun_ctrl_t;
13086
13087 static inline uint64_t ODY_DSSX_PERF_CNT_FREERUN_CTRL(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_PERF_CNT_FREERUN_CTRL(uint64_t a)13088 static inline uint64_t ODY_DSSX_PERF_CNT_FREERUN_CTRL(uint64_t a)
13089 {
13090 if (a <= 19)
13091 return 0x87e1b0020240ll + 0x1000000ll * ((a) & 0x1f);
13092 __ody_csr_fatal("DSSX_PERF_CNT_FREERUN_CTRL", 1, a, 0, 0, 0, 0, 0);
13093 }
13094
13095 #define typedef_ODY_DSSX_PERF_CNT_FREERUN_CTRL(a) ody_dssx_perf_cnt_freerun_ctrl_t
13096 #define bustype_ODY_DSSX_PERF_CNT_FREERUN_CTRL(a) CSR_TYPE_RSL
13097 #define basename_ODY_DSSX_PERF_CNT_FREERUN_CTRL(a) "DSSX_PERF_CNT_FREERUN_CTRL"
13098 #define device_bar_ODY_DSSX_PERF_CNT_FREERUN_CTRL(a) 0x0 /* PF_BAR0 */
13099 #define busnum_ODY_DSSX_PERF_CNT_FREERUN_CTRL(a) (a)
13100 #define arguments_ODY_DSSX_PERF_CNT_FREERUN_CTRL(a) (a), -1, -1, -1
13101
13102 /**
13103 * Register (RSL) dss#_perf_cnt_freerun_ovrflow
13104 *
13105 * Performance Counters Overflow indication of DRAM Read/Write Operations Register
13106 * Free running count of DRAM read operations.
13107 */
13108 union ody_dssx_perf_cnt_freerun_ovrflow {
13109 uint64_t u;
13110 struct ody_dssx_perf_cnt_freerun_ovrflow_s {
13111 uint64_t wr_overflow : 1;
13112 uint64_t rd_overflow : 1;
13113 uint64_t reserved_2_63 : 62;
13114 } s;
13115 /* struct ody_dssx_perf_cnt_freerun_ovrflow_s cn; */
13116 };
13117 typedef union ody_dssx_perf_cnt_freerun_ovrflow ody_dssx_perf_cnt_freerun_ovrflow_t;
13118
13119 static inline uint64_t ODY_DSSX_PERF_CNT_FREERUN_OVRFLOW(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_PERF_CNT_FREERUN_OVRFLOW(uint64_t a)13120 static inline uint64_t ODY_DSSX_PERF_CNT_FREERUN_OVRFLOW(uint64_t a)
13121 {
13122 if (a <= 19)
13123 return 0x87e1b0020260ll + 0x1000000ll * ((a) & 0x1f);
13124 __ody_csr_fatal("DSSX_PERF_CNT_FREERUN_OVRFLOW", 1, a, 0, 0, 0, 0, 0);
13125 }
13126
13127 #define typedef_ODY_DSSX_PERF_CNT_FREERUN_OVRFLOW(a) ody_dssx_perf_cnt_freerun_ovrflow_t
13128 #define bustype_ODY_DSSX_PERF_CNT_FREERUN_OVRFLOW(a) CSR_TYPE_RSL
13129 #define basename_ODY_DSSX_PERF_CNT_FREERUN_OVRFLOW(a) "DSSX_PERF_CNT_FREERUN_OVRFLOW"
13130 #define device_bar_ODY_DSSX_PERF_CNT_FREERUN_OVRFLOW(a) 0x0 /* PF_BAR0 */
13131 #define busnum_ODY_DSSX_PERF_CNT_FREERUN_OVRFLOW(a) (a)
13132 #define arguments_ODY_DSSX_PERF_CNT_FREERUN_OVRFLOW(a) (a), -1, -1, -1
13133
13134 /**
13135 * Register (RSL) dss#_perf_cnt_int_ena_w1c
13136 *
13137 * DSS Interrupt Enable Clear Registers
13138 * This register clears interrupt enable bits.
13139 */
13140 union ody_dssx_perf_cnt_int_ena_w1c {
13141 uint64_t u;
13142 struct ody_dssx_perf_cnt_int_ena_w1c_s {
13143 uint64_t perfcnt_general_ovrflw_intr : 8;
13144 uint64_t perfcnt_wr_freerun_ovrflw_intr : 1;
13145 uint64_t perfcnt_rd_freerun_ovrflw_intr : 1;
13146 uint64_t gen_fill_lvl_cnt_ovrflw_intr : 3;
13147 uint64_t txrsp_fill_lvl_cnt_ovrflw_intr : 1;
13148 uint64_t wr_latency_cnt_ovrflw_intr : 1;
13149 uint64_t rd_latency_cnt_ovrflw_intr : 1;
13150 uint64_t cbusy_cnt_ovrflw_intr : 4;
13151 uint64_t reserved_20_63 : 44;
13152 } s;
13153 /* struct ody_dssx_perf_cnt_int_ena_w1c_s cn; */
13154 };
13155 typedef union ody_dssx_perf_cnt_int_ena_w1c ody_dssx_perf_cnt_int_ena_w1c_t;
13156
13157 static inline uint64_t ODY_DSSX_PERF_CNT_INT_ENA_W1C(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_PERF_CNT_INT_ENA_W1C(uint64_t a)13158 static inline uint64_t ODY_DSSX_PERF_CNT_INT_ENA_W1C(uint64_t a)
13159 {
13160 if (a <= 19)
13161 return 0x87e1b0028010ll + 0x1000000ll * ((a) & 0x1f);
13162 __ody_csr_fatal("DSSX_PERF_CNT_INT_ENA_W1C", 1, a, 0, 0, 0, 0, 0);
13163 }
13164
13165 #define typedef_ODY_DSSX_PERF_CNT_INT_ENA_W1C(a) ody_dssx_perf_cnt_int_ena_w1c_t
13166 #define bustype_ODY_DSSX_PERF_CNT_INT_ENA_W1C(a) CSR_TYPE_RSL
13167 #define basename_ODY_DSSX_PERF_CNT_INT_ENA_W1C(a) "DSSX_PERF_CNT_INT_ENA_W1C"
13168 #define device_bar_ODY_DSSX_PERF_CNT_INT_ENA_W1C(a) 0x0 /* PF_BAR0 */
13169 #define busnum_ODY_DSSX_PERF_CNT_INT_ENA_W1C(a) (a)
13170 #define arguments_ODY_DSSX_PERF_CNT_INT_ENA_W1C(a) (a), -1, -1, -1
13171
13172 /**
13173 * Register (RSL) dss#_perf_cnt_int_ena_w1s
13174 *
13175 * DSS Interrupt Enable Set Registers
13176 * This register sets interrupt enable bits.
13177 */
13178 union ody_dssx_perf_cnt_int_ena_w1s {
13179 uint64_t u;
13180 struct ody_dssx_perf_cnt_int_ena_w1s_s {
13181 uint64_t perfcnt_general_ovrflw_intr : 8;
13182 uint64_t perfcnt_wr_freerun_ovrflw_intr : 1;
13183 uint64_t perfcnt_rd_freerun_ovrflw_intr : 1;
13184 uint64_t gen_fill_lvl_cnt_ovrflw_intr : 3;
13185 uint64_t txrsp_fill_lvl_cnt_ovrflw_intr : 1;
13186 uint64_t wr_latency_cnt_ovrflw_intr : 1;
13187 uint64_t rd_latency_cnt_ovrflw_intr : 1;
13188 uint64_t cbusy_cnt_ovrflw_intr : 4;
13189 uint64_t reserved_20_63 : 44;
13190 } s;
13191 /* struct ody_dssx_perf_cnt_int_ena_w1s_s cn; */
13192 };
13193 typedef union ody_dssx_perf_cnt_int_ena_w1s ody_dssx_perf_cnt_int_ena_w1s_t;
13194
13195 static inline uint64_t ODY_DSSX_PERF_CNT_INT_ENA_W1S(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_PERF_CNT_INT_ENA_W1S(uint64_t a)13196 static inline uint64_t ODY_DSSX_PERF_CNT_INT_ENA_W1S(uint64_t a)
13197 {
13198 if (a <= 19)
13199 return 0x87e1b0028018ll + 0x1000000ll * ((a) & 0x1f);
13200 __ody_csr_fatal("DSSX_PERF_CNT_INT_ENA_W1S", 1, a, 0, 0, 0, 0, 0);
13201 }
13202
13203 #define typedef_ODY_DSSX_PERF_CNT_INT_ENA_W1S(a) ody_dssx_perf_cnt_int_ena_w1s_t
13204 #define bustype_ODY_DSSX_PERF_CNT_INT_ENA_W1S(a) CSR_TYPE_RSL
13205 #define basename_ODY_DSSX_PERF_CNT_INT_ENA_W1S(a) "DSSX_PERF_CNT_INT_ENA_W1S"
13206 #define device_bar_ODY_DSSX_PERF_CNT_INT_ENA_W1S(a) 0x0 /* PF_BAR0 */
13207 #define busnum_ODY_DSSX_PERF_CNT_INT_ENA_W1S(a) (a)
13208 #define arguments_ODY_DSSX_PERF_CNT_INT_ENA_W1S(a) (a), -1, -1, -1
13209
13210 /**
13211 * Register (RSL) dss#_perf_cnt_int_w1c
13212 *
13213 * DSS Interrupt Register
13214 * This register is for DSS-based interrupts.
13215 */
13216 union ody_dssx_perf_cnt_int_w1c {
13217 uint64_t u;
13218 struct ody_dssx_perf_cnt_int_w1c_s {
13219 uint64_t perfcnt_general_ovrflw_intr : 8;
13220 uint64_t perfcnt_wr_freerun_ovrflw_intr : 1;
13221 uint64_t perfcnt_rd_freerun_ovrflw_intr : 1;
13222 uint64_t gen_fill_lvl_cnt_ovrflw_intr : 3;
13223 uint64_t txrsp_fill_lvl_cnt_ovrflw_intr : 1;
13224 uint64_t wr_latency_cnt_ovrflw_intr : 1;
13225 uint64_t rd_latency_cnt_ovrflw_intr : 1;
13226 uint64_t cbusy_cnt_ovrflw_intr : 4;
13227 uint64_t reserved_20_63 : 44;
13228 } s;
13229 /* struct ody_dssx_perf_cnt_int_w1c_s cn; */
13230 };
13231 typedef union ody_dssx_perf_cnt_int_w1c ody_dssx_perf_cnt_int_w1c_t;
13232
13233 static inline uint64_t ODY_DSSX_PERF_CNT_INT_W1C(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_PERF_CNT_INT_W1C(uint64_t a)13234 static inline uint64_t ODY_DSSX_PERF_CNT_INT_W1C(uint64_t a)
13235 {
13236 if (a <= 19)
13237 return 0x87e1b0028000ll + 0x1000000ll * ((a) & 0x1f);
13238 __ody_csr_fatal("DSSX_PERF_CNT_INT_W1C", 1, a, 0, 0, 0, 0, 0);
13239 }
13240
13241 #define typedef_ODY_DSSX_PERF_CNT_INT_W1C(a) ody_dssx_perf_cnt_int_w1c_t
13242 #define bustype_ODY_DSSX_PERF_CNT_INT_W1C(a) CSR_TYPE_RSL
13243 #define basename_ODY_DSSX_PERF_CNT_INT_W1C(a) "DSSX_PERF_CNT_INT_W1C"
13244 #define device_bar_ODY_DSSX_PERF_CNT_INT_W1C(a) 0x0 /* PF_BAR0 */
13245 #define busnum_ODY_DSSX_PERF_CNT_INT_W1C(a) (a)
13246 #define arguments_ODY_DSSX_PERF_CNT_INT_W1C(a) (a), -1, -1, -1
13247
13248 /**
13249 * Register (RSL) dss#_perf_cnt_int_w1s
13250 *
13251 * DSS Interrupt Set Registers
13252 * This register sets interrupt bits.
13253 */
13254 union ody_dssx_perf_cnt_int_w1s {
13255 uint64_t u;
13256 struct ody_dssx_perf_cnt_int_w1s_s {
13257 uint64_t perfcnt_general_ovrflw_intr : 8;
13258 uint64_t perfcnt_wr_freerun_ovrflw_intr : 1;
13259 uint64_t perfcnt_rd_freerun_ovrflw_intr : 1;
13260 uint64_t gen_fill_lvl_cnt_ovrflw_intr : 3;
13261 uint64_t txrsp_fill_lvl_cnt_ovrflw_intr : 1;
13262 uint64_t wr_latency_cnt_ovrflw_intr : 1;
13263 uint64_t rd_latency_cnt_ovrflw_intr : 1;
13264 uint64_t cbusy_cnt_ovrflw_intr : 4;
13265 uint64_t reserved_20_63 : 44;
13266 } s;
13267 /* struct ody_dssx_perf_cnt_int_w1s_s cn; */
13268 };
13269 typedef union ody_dssx_perf_cnt_int_w1s ody_dssx_perf_cnt_int_w1s_t;
13270
13271 static inline uint64_t ODY_DSSX_PERF_CNT_INT_W1S(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_PERF_CNT_INT_W1S(uint64_t a)13272 static inline uint64_t ODY_DSSX_PERF_CNT_INT_W1S(uint64_t a)
13273 {
13274 if (a <= 19)
13275 return 0x87e1b0028008ll + 0x1000000ll * ((a) & 0x1f);
13276 __ody_csr_fatal("DSSX_PERF_CNT_INT_W1S", 1, a, 0, 0, 0, 0, 0);
13277 }
13278
13279 #define typedef_ODY_DSSX_PERF_CNT_INT_W1S(a) ody_dssx_perf_cnt_int_w1s_t
13280 #define bustype_ODY_DSSX_PERF_CNT_INT_W1S(a) CSR_TYPE_RSL
13281 #define basename_ODY_DSSX_PERF_CNT_INT_W1S(a) "DSSX_PERF_CNT_INT_W1S"
13282 #define device_bar_ODY_DSSX_PERF_CNT_INT_W1S(a) 0x0 /* PF_BAR0 */
13283 #define busnum_ODY_DSSX_PERF_CNT_INT_W1S(a) (a)
13284 #define arguments_ODY_DSSX_PERF_CNT_INT_W1S(a) (a), -1, -1, -1
13285
13286 /**
13287 * Register (RSL) dss#_perf_cnt_op_mode_ctrl#
13288 *
13289 * Performance Counters Operating Mode Control Register
13290 * DSS performance counters control.
13291 * This register configures the operating mode of the counters.
13292 */
13293 union ody_dssx_perf_cnt_op_mode_ctrlx {
13294 uint64_t u;
13295 struct ody_dssx_perf_cnt_op_mode_ctrlx_s {
13296 uint64_t operating_mode : 1;
13297 uint64_t reserved_1_63 : 63;
13298 } s;
13299 /* struct ody_dssx_perf_cnt_op_mode_ctrlx_s cn; */
13300 };
13301 typedef union ody_dssx_perf_cnt_op_mode_ctrlx ody_dssx_perf_cnt_op_mode_ctrlx_t;
13302
13303 static inline uint64_t ODY_DSSX_PERF_CNT_OP_MODE_CTRLX(uint64_t a, uint64_t b) __attribute__ ((pure, always_inline));
ODY_DSSX_PERF_CNT_OP_MODE_CTRLX(uint64_t a,uint64_t b)13304 static inline uint64_t ODY_DSSX_PERF_CNT_OP_MODE_CTRLX(uint64_t a, uint64_t b)
13305 {
13306 if ((a <= 19) && (b <= 7))
13307 return 0x87e1b0020020ll + 0x1000000ll * ((a) & 0x1f) + 8ll * ((b) & 0x7);
13308 __ody_csr_fatal("DSSX_PERF_CNT_OP_MODE_CTRLX", 2, a, b, 0, 0, 0, 0);
13309 }
13310
13311 #define typedef_ODY_DSSX_PERF_CNT_OP_MODE_CTRLX(a, b) ody_dssx_perf_cnt_op_mode_ctrlx_t
13312 #define bustype_ODY_DSSX_PERF_CNT_OP_MODE_CTRLX(a, b) CSR_TYPE_RSL
13313 #define basename_ODY_DSSX_PERF_CNT_OP_MODE_CTRLX(a, b) "DSSX_PERF_CNT_OP_MODE_CTRLX"
13314 #define device_bar_ODY_DSSX_PERF_CNT_OP_MODE_CTRLX(a, b) 0x0 /* PF_BAR0 */
13315 #define busnum_ODY_DSSX_PERF_CNT_OP_MODE_CTRLX(a, b) (a)
13316 #define arguments_ODY_DSSX_PERF_CNT_OP_MODE_CTRLX(a, b) (a), (b), -1, -1
13317
13318 /**
13319 * Register (RSL) dss#_perf_cnt_overflow#
13320 *
13321 * Performance Counters overflow indication Register
13322 * Status register to indicate if counter overflowed.
13323 */
13324 union ody_dssx_perf_cnt_overflowx {
13325 uint64_t u;
13326 struct ody_dssx_perf_cnt_overflowx_s {
13327 uint64_t counter_overflow : 1;
13328 uint64_t reserved_1_63 : 63;
13329 } s;
13330 /* struct ody_dssx_perf_cnt_overflowx_s cn; */
13331 };
13332 typedef union ody_dssx_perf_cnt_overflowx ody_dssx_perf_cnt_overflowx_t;
13333
13334 static inline uint64_t ODY_DSSX_PERF_CNT_OVERFLOWX(uint64_t a, uint64_t b) __attribute__ ((pure, always_inline));
ODY_DSSX_PERF_CNT_OVERFLOWX(uint64_t a,uint64_t b)13335 static inline uint64_t ODY_DSSX_PERF_CNT_OVERFLOWX(uint64_t a, uint64_t b)
13336 {
13337 if ((a <= 19) && (b <= 7))
13338 return 0x87e1b0020200ll + 0x1000000ll * ((a) & 0x1f) + 8ll * ((b) & 0x7);
13339 __ody_csr_fatal("DSSX_PERF_CNT_OVERFLOWX", 2, a, b, 0, 0, 0, 0);
13340 }
13341
13342 #define typedef_ODY_DSSX_PERF_CNT_OVERFLOWX(a, b) ody_dssx_perf_cnt_overflowx_t
13343 #define bustype_ODY_DSSX_PERF_CNT_OVERFLOWX(a, b) CSR_TYPE_RSL
13344 #define basename_ODY_DSSX_PERF_CNT_OVERFLOWX(a, b) "DSSX_PERF_CNT_OVERFLOWX"
13345 #define device_bar_ODY_DSSX_PERF_CNT_OVERFLOWX(a, b) 0x0 /* PF_BAR0 */
13346 #define busnum_ODY_DSSX_PERF_CNT_OVERFLOWX(a, b) (a)
13347 #define arguments_ODY_DSSX_PERF_CNT_OVERFLOWX(a, b) (a), (b), -1, -1
13348
13349 /**
13350 * Register (RSL) dss#_perf_cnt_rd_cmd_cfg#
13351 *
13352 * DSS Performance Counters CHI Read Command event Configuration Register
13353 * Configuration register of CHI read command event. This register is used to configure
13354 * the filtering criteria according to CHI request properties.
13355 * Note: This register is a continuation to DSS_PERF_CNT_CFG.
13356 */
13357 union ody_dssx_perf_cnt_rd_cmd_cfgx {
13358 uint64_t u;
13359 struct ody_dssx_perf_cnt_rd_cmd_cfgx_s {
13360 uint64_t rd_cmd_event_en : 1;
13361 uint64_t rd_cmd_match_size : 1;
13362 uint64_t rd_cmd_desired_size : 3;
13363 uint64_t rd_cmd_match_pri : 1;
13364 uint64_t rd_cmd_desired_pri : 2;
13365 uint64_t rd_cmd_match_mpamns : 1;
13366 uint64_t rd_cmd_desired_mpamns : 1;
13367 uint64_t rd_cmd_match_pmg : 1;
13368 uint64_t rd_cmd_desired_pmg : 1;
13369 uint64_t rd_cmd_match_partid : 9;
13370 uint64_t rd_cmd_desired_partid : 9;
13371 uint64_t rd_cmd_match_req_src : 1;
13372 uint64_t rd_cmd_desired_req_src : 2;
13373 uint64_t rd_cmd_cnt_behavior : 1;
13374 uint64_t reserved_34_63 : 30;
13375 } s;
13376 /* struct ody_dssx_perf_cnt_rd_cmd_cfgx_s cn; */
13377 };
13378 typedef union ody_dssx_perf_cnt_rd_cmd_cfgx ody_dssx_perf_cnt_rd_cmd_cfgx_t;
13379
13380 static inline uint64_t ODY_DSSX_PERF_CNT_RD_CMD_CFGX(uint64_t a, uint64_t b) __attribute__ ((pure, always_inline));
ODY_DSSX_PERF_CNT_RD_CMD_CFGX(uint64_t a,uint64_t b)13381 static inline uint64_t ODY_DSSX_PERF_CNT_RD_CMD_CFGX(uint64_t a, uint64_t b)
13382 {
13383 if ((a <= 19) && (b <= 7))
13384 return 0x87e1b0008390ll + 0x1000000ll * ((a) & 0x1f) + 8ll * ((b) & 0x7);
13385 __ody_csr_fatal("DSSX_PERF_CNT_RD_CMD_CFGX", 2, a, b, 0, 0, 0, 0);
13386 }
13387
13388 #define typedef_ODY_DSSX_PERF_CNT_RD_CMD_CFGX(a, b) ody_dssx_perf_cnt_rd_cmd_cfgx_t
13389 #define bustype_ODY_DSSX_PERF_CNT_RD_CMD_CFGX(a, b) CSR_TYPE_RSL
13390 #define basename_ODY_DSSX_PERF_CNT_RD_CMD_CFGX(a, b) "DSSX_PERF_CNT_RD_CMD_CFGX"
13391 #define device_bar_ODY_DSSX_PERF_CNT_RD_CMD_CFGX(a, b) 0x0 /* PF_BAR0 */
13392 #define busnum_ODY_DSSX_PERF_CNT_RD_CMD_CFGX(a, b) (a)
13393 #define arguments_ODY_DSSX_PERF_CNT_RD_CMD_CFGX(a, b) (a), (b), -1, -1
13394
13395 /**
13396 * Register (RSL) dss#_perf_cnt_security_cfg
13397 *
13398 * DSS Performance Counters Security Configuration Register
13399 * Configuration register of performance counters security.
13400 */
13401 union ody_dssx_perf_cnt_security_cfg {
13402 uint64_t u;
13403 struct ody_dssx_perf_cnt_security_cfg_s {
13404 uint64_t allow_mon_secured_partid : 8;
13405 uint64_t reserved_8_63 : 56;
13406 } s;
13407 /* struct ody_dssx_perf_cnt_security_cfg_s cn; */
13408 };
13409 typedef union ody_dssx_perf_cnt_security_cfg ody_dssx_perf_cnt_security_cfg_t;
13410
13411 static inline uint64_t ODY_DSSX_PERF_CNT_SECURITY_CFG(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_PERF_CNT_SECURITY_CFG(uint64_t a)13412 static inline uint64_t ODY_DSSX_PERF_CNT_SECURITY_CFG(uint64_t a)
13413 {
13414 if (a <= 19)
13415 return 0x87e1b0008410ll + 0x1000000ll * ((a) & 0x1f);
13416 __ody_csr_fatal("DSSX_PERF_CNT_SECURITY_CFG", 1, a, 0, 0, 0, 0, 0);
13417 }
13418
13419 #define typedef_ODY_DSSX_PERF_CNT_SECURITY_CFG(a) ody_dssx_perf_cnt_security_cfg_t
13420 #define bustype_ODY_DSSX_PERF_CNT_SECURITY_CFG(a) CSR_TYPE_RSL
13421 #define basename_ODY_DSSX_PERF_CNT_SECURITY_CFG(a) "DSSX_PERF_CNT_SECURITY_CFG"
13422 #define device_bar_ODY_DSSX_PERF_CNT_SECURITY_CFG(a) 0x0 /* PF_BAR0 */
13423 #define busnum_ODY_DSSX_PERF_CNT_SECURITY_CFG(a) (a)
13424 #define arguments_ODY_DSSX_PERF_CNT_SECURITY_CFG(a) (a), -1, -1, -1
13425
13426 /**
13427 * Register (RSL) dss#_perf_cnt_start_op_ctrl#
13428 *
13429 * Performance Counters Start Operation Control Register
13430 * DSS performance counters control.
13431 * This register controls the start of counters operation.
13432 */
13433 union ody_dssx_perf_cnt_start_op_ctrlx {
13434 uint64_t u;
13435 struct ody_dssx_perf_cnt_start_op_ctrlx_s {
13436 uint64_t start : 1;
13437 uint64_t ongoing_cnt_op : 1;
13438 uint64_t reserved_2_63 : 62;
13439 } s;
13440 /* struct ody_dssx_perf_cnt_start_op_ctrlx_s cn; */
13441 };
13442 typedef union ody_dssx_perf_cnt_start_op_ctrlx ody_dssx_perf_cnt_start_op_ctrlx_t;
13443
13444 static inline uint64_t ODY_DSSX_PERF_CNT_START_OP_CTRLX(uint64_t a, uint64_t b) __attribute__ ((pure, always_inline));
ODY_DSSX_PERF_CNT_START_OP_CTRLX(uint64_t a,uint64_t b)13445 static inline uint64_t ODY_DSSX_PERF_CNT_START_OP_CTRLX(uint64_t a, uint64_t b)
13446 {
13447 if ((a <= 19) && (b <= 7))
13448 return 0x87e1b00200a0ll + 0x1000000ll * ((a) & 0x1f) + 8ll * ((b) & 0x7);
13449 __ody_csr_fatal("DSSX_PERF_CNT_START_OP_CTRLX", 2, a, b, 0, 0, 0, 0);
13450 }
13451
13452 #define typedef_ODY_DSSX_PERF_CNT_START_OP_CTRLX(a, b) ody_dssx_perf_cnt_start_op_ctrlx_t
13453 #define bustype_ODY_DSSX_PERF_CNT_START_OP_CTRLX(a, b) CSR_TYPE_RSL
13454 #define basename_ODY_DSSX_PERF_CNT_START_OP_CTRLX(a, b) "DSSX_PERF_CNT_START_OP_CTRLX"
13455 #define device_bar_ODY_DSSX_PERF_CNT_START_OP_CTRLX(a, b) 0x0 /* PF_BAR0 */
13456 #define busnum_ODY_DSSX_PERF_CNT_START_OP_CTRLX(a, b) (a)
13457 #define arguments_ODY_DSSX_PERF_CNT_START_OP_CTRLX(a, b) (a), (b), -1, -1
13458
13459 /**
13460 * Register (RSL) dss#_perf_cnt_target_tmr_val#
13461 *
13462 * Performance Counters Target Timer Value Register
13463 * DSS performance counters timer control.
13464 * This register configures the target timer value for timer operation mode.
13465 */
13466 union ody_dssx_perf_cnt_target_tmr_valx {
13467 uint64_t u;
13468 struct ody_dssx_perf_cnt_target_tmr_valx_s {
13469 uint64_t timer_value : 64;
13470 } s;
13471 /* struct ody_dssx_perf_cnt_target_tmr_valx_s cn; */
13472 };
13473 typedef union ody_dssx_perf_cnt_target_tmr_valx ody_dssx_perf_cnt_target_tmr_valx_t;
13474
13475 static inline uint64_t ODY_DSSX_PERF_CNT_TARGET_TMR_VALX(uint64_t a, uint64_t b) __attribute__ ((pure, always_inline));
ODY_DSSX_PERF_CNT_TARGET_TMR_VALX(uint64_t a,uint64_t b)13476 static inline uint64_t ODY_DSSX_PERF_CNT_TARGET_TMR_VALX(uint64_t a, uint64_t b)
13477 {
13478 if ((a <= 19) && (b <= 7))
13479 return 0x87e1b0020060ll + 0x1000000ll * ((a) & 0x1f) + 8ll * ((b) & 0x7);
13480 __ody_csr_fatal("DSSX_PERF_CNT_TARGET_TMR_VALX", 2, a, b, 0, 0, 0, 0);
13481 }
13482
13483 #define typedef_ODY_DSSX_PERF_CNT_TARGET_TMR_VALX(a, b) ody_dssx_perf_cnt_target_tmr_valx_t
13484 #define bustype_ODY_DSSX_PERF_CNT_TARGET_TMR_VALX(a, b) CSR_TYPE_RSL
13485 #define basename_ODY_DSSX_PERF_CNT_TARGET_TMR_VALX(a, b) "DSSX_PERF_CNT_TARGET_TMR_VALX"
13486 #define device_bar_ODY_DSSX_PERF_CNT_TARGET_TMR_VALX(a, b) 0x0 /* PF_BAR0 */
13487 #define busnum_ODY_DSSX_PERF_CNT_TARGET_TMR_VALX(a, b) (a)
13488 #define arguments_ODY_DSSX_PERF_CNT_TARGET_TMR_VALX(a, b) (a), (b), -1, -1
13489
13490 /**
13491 * Register (RSL) dss#_perf_cnt_value#
13492 *
13493 * Performance Counters Value Register
13494 * Count of enabled events that occurred when the counter is enabled.
13495 */
13496 union ody_dssx_perf_cnt_valuex {
13497 uint64_t u;
13498 struct ody_dssx_perf_cnt_valuex_s {
13499 uint64_t counter_value : 64;
13500 } s;
13501 /* struct ody_dssx_perf_cnt_valuex_s cn; */
13502 };
13503 typedef union ody_dssx_perf_cnt_valuex ody_dssx_perf_cnt_valuex_t;
13504
13505 static inline uint64_t ODY_DSSX_PERF_CNT_VALUEX(uint64_t a, uint64_t b) __attribute__ ((pure, always_inline));
ODY_DSSX_PERF_CNT_VALUEX(uint64_t a,uint64_t b)13506 static inline uint64_t ODY_DSSX_PERF_CNT_VALUEX(uint64_t a, uint64_t b)
13507 {
13508 if ((a <= 19) && (b <= 7))
13509 return 0x87e1b00201c0ll + 0x1000000ll * ((a) & 0x1f) + 8ll * ((b) & 0x7);
13510 __ody_csr_fatal("DSSX_PERF_CNT_VALUEX", 2, a, b, 0, 0, 0, 0);
13511 }
13512
13513 #define typedef_ODY_DSSX_PERF_CNT_VALUEX(a, b) ody_dssx_perf_cnt_valuex_t
13514 #define bustype_ODY_DSSX_PERF_CNT_VALUEX(a, b) CSR_TYPE_RSL
13515 #define basename_ODY_DSSX_PERF_CNT_VALUEX(a, b) "DSSX_PERF_CNT_VALUEX"
13516 #define device_bar_ODY_DSSX_PERF_CNT_VALUEX(a, b) 0x0 /* PF_BAR0 */
13517 #define busnum_ODY_DSSX_PERF_CNT_VALUEX(a, b) (a)
13518 #define arguments_ODY_DSSX_PERF_CNT_VALUEX(a, b) (a), (b), -1, -1
13519
13520 /**
13521 * Register (RSL) dss#_perf_cnt_value_rd_op
13522 *
13523 * Performance Counters Value of DRAM Read Operations Register
13524 * Free running count of DRAM read operations.
13525 */
13526 union ody_dssx_perf_cnt_value_rd_op {
13527 uint64_t u;
13528 struct ody_dssx_perf_cnt_value_rd_op_s {
13529 uint64_t rd_op_counter_value : 64;
13530 } s;
13531 /* struct ody_dssx_perf_cnt_value_rd_op_s cn; */
13532 };
13533 typedef union ody_dssx_perf_cnt_value_rd_op ody_dssx_perf_cnt_value_rd_op_t;
13534
13535 static inline uint64_t ODY_DSSX_PERF_CNT_VALUE_RD_OP(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_PERF_CNT_VALUE_RD_OP(uint64_t a)13536 static inline uint64_t ODY_DSSX_PERF_CNT_VALUE_RD_OP(uint64_t a)
13537 {
13538 if (a <= 19)
13539 return 0x87e1b0020258ll + 0x1000000ll * ((a) & 0x1f);
13540 __ody_csr_fatal("DSSX_PERF_CNT_VALUE_RD_OP", 1, a, 0, 0, 0, 0, 0);
13541 }
13542
13543 #define typedef_ODY_DSSX_PERF_CNT_VALUE_RD_OP(a) ody_dssx_perf_cnt_value_rd_op_t
13544 #define bustype_ODY_DSSX_PERF_CNT_VALUE_RD_OP(a) CSR_TYPE_RSL
13545 #define basename_ODY_DSSX_PERF_CNT_VALUE_RD_OP(a) "DSSX_PERF_CNT_VALUE_RD_OP"
13546 #define device_bar_ODY_DSSX_PERF_CNT_VALUE_RD_OP(a) 0x0 /* PF_BAR0 */
13547 #define busnum_ODY_DSSX_PERF_CNT_VALUE_RD_OP(a) (a)
13548 #define arguments_ODY_DSSX_PERF_CNT_VALUE_RD_OP(a) (a), -1, -1, -1
13549
13550 /**
13551 * Register (RSL) dss#_perf_cnt_value_wr_op
13552 *
13553 * Performance Counters Value of DRAM Write Operations Register
13554 * Free running count of DRAM write operations.
13555 */
13556 union ody_dssx_perf_cnt_value_wr_op {
13557 uint64_t u;
13558 struct ody_dssx_perf_cnt_value_wr_op_s {
13559 uint64_t wr_op_counter_value : 64;
13560 } s;
13561 /* struct ody_dssx_perf_cnt_value_wr_op_s cn; */
13562 };
13563 typedef union ody_dssx_perf_cnt_value_wr_op ody_dssx_perf_cnt_value_wr_op_t;
13564
13565 static inline uint64_t ODY_DSSX_PERF_CNT_VALUE_WR_OP(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_PERF_CNT_VALUE_WR_OP(uint64_t a)13566 static inline uint64_t ODY_DSSX_PERF_CNT_VALUE_WR_OP(uint64_t a)
13567 {
13568 if (a <= 19)
13569 return 0x87e1b0020250ll + 0x1000000ll * ((a) & 0x1f);
13570 __ody_csr_fatal("DSSX_PERF_CNT_VALUE_WR_OP", 1, a, 0, 0, 0, 0, 0);
13571 }
13572
13573 #define typedef_ODY_DSSX_PERF_CNT_VALUE_WR_OP(a) ody_dssx_perf_cnt_value_wr_op_t
13574 #define bustype_ODY_DSSX_PERF_CNT_VALUE_WR_OP(a) CSR_TYPE_RSL
13575 #define basename_ODY_DSSX_PERF_CNT_VALUE_WR_OP(a) "DSSX_PERF_CNT_VALUE_WR_OP"
13576 #define device_bar_ODY_DSSX_PERF_CNT_VALUE_WR_OP(a) 0x0 /* PF_BAR0 */
13577 #define busnum_ODY_DSSX_PERF_CNT_VALUE_WR_OP(a) (a)
13578 #define arguments_ODY_DSSX_PERF_CNT_VALUE_WR_OP(a) (a), -1, -1, -1
13579
13580 /**
13581 * Register (RSL) dss#_perf_cnt_wr_cmd_cfg#
13582 *
13583 * DSS Performance Counters CHI Write Command event Configuration Register
13584 * Configuration register of CHI write command event. This register is used to
13585 * configure the filtering criteria according to CHI request properties.
13586 * Note: This register is a continuation to DSS_PERF_CNT_CFG.
13587 */
13588 union ody_dssx_perf_cnt_wr_cmd_cfgx {
13589 uint64_t u;
13590 struct ody_dssx_perf_cnt_wr_cmd_cfgx_s {
13591 uint64_t wr_cmd_event_en : 1;
13592 uint64_t wr_cmd_match_size : 1;
13593 uint64_t wr_cmd_desired_size : 3;
13594 uint64_t wr_cmd_match_pri : 1;
13595 uint64_t wr_cmd_desired_pri : 2;
13596 uint64_t wr_cmd_match_mpamns : 1;
13597 uint64_t wr_cmd_desired_mpamns : 1;
13598 uint64_t wr_cmd_match_pmg : 1;
13599 uint64_t wr_cmd_desired_pmg : 1;
13600 uint64_t wr_cmd_match_partid : 9;
13601 uint64_t wr_cmd_desired_partid : 9;
13602 uint64_t wr_cmd_match_req_src : 1;
13603 uint64_t wr_cmd_desired_req_src : 2;
13604 uint64_t wr_cmd_match_req_type : 1;
13605 uint64_t wr_cmd_desired_req_type : 2;
13606 uint64_t wr_cmd_cnt_behavior : 1;
13607 uint64_t reserved_37_63 : 27;
13608 } s;
13609 /* struct ody_dssx_perf_cnt_wr_cmd_cfgx_s cn; */
13610 };
13611 typedef union ody_dssx_perf_cnt_wr_cmd_cfgx ody_dssx_perf_cnt_wr_cmd_cfgx_t;
13612
13613 static inline uint64_t ODY_DSSX_PERF_CNT_WR_CMD_CFGX(uint64_t a, uint64_t b) __attribute__ ((pure, always_inline));
ODY_DSSX_PERF_CNT_WR_CMD_CFGX(uint64_t a,uint64_t b)13614 static inline uint64_t ODY_DSSX_PERF_CNT_WR_CMD_CFGX(uint64_t a, uint64_t b)
13615 {
13616 if ((a <= 19) && (b <= 7))
13617 return 0x87e1b00083d0ll + 0x1000000ll * ((a) & 0x1f) + 8ll * ((b) & 0x7);
13618 __ody_csr_fatal("DSSX_PERF_CNT_WR_CMD_CFGX", 2, a, b, 0, 0, 0, 0);
13619 }
13620
13621 #define typedef_ODY_DSSX_PERF_CNT_WR_CMD_CFGX(a, b) ody_dssx_perf_cnt_wr_cmd_cfgx_t
13622 #define bustype_ODY_DSSX_PERF_CNT_WR_CMD_CFGX(a, b) CSR_TYPE_RSL
13623 #define basename_ODY_DSSX_PERF_CNT_WR_CMD_CFGX(a, b) "DSSX_PERF_CNT_WR_CMD_CFGX"
13624 #define device_bar_ODY_DSSX_PERF_CNT_WR_CMD_CFGX(a, b) 0x0 /* PF_BAR0 */
13625 #define busnum_ODY_DSSX_PERF_CNT_WR_CMD_CFGX(a, b) (a)
13626 #define arguments_ODY_DSSX_PERF_CNT_WR_CMD_CFGX(a, b) (a), (b), -1, -1
13627
13628 /**
13629 * Register (RSL) dss#_phy_apb_reset_n
13630 *
13631 * DSS PHY APB Clock Domain Reset Register
13632 * PHY APB clock domain software reset - active low.
13633 */
13634 union ody_dssx_phy_apb_reset_n {
13635 uint64_t u;
13636 struct ody_dssx_phy_apb_reset_n_s {
13637 uint64_t s_phy_apb_reset_n : 1;
13638 uint64_t reserved_1_63 : 63;
13639 } s;
13640 /* struct ody_dssx_phy_apb_reset_n_s cn; */
13641 };
13642 typedef union ody_dssx_phy_apb_reset_n ody_dssx_phy_apb_reset_n_t;
13643
13644 static inline uint64_t ODY_DSSX_PHY_APB_RESET_N(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_PHY_APB_RESET_N(uint64_t a)13645 static inline uint64_t ODY_DSSX_PHY_APB_RESET_N(uint64_t a)
13646 {
13647 if (a <= 19)
13648 return 0x87e1b0000018ll + 0x1000000ll * ((a) & 0x1f);
13649 __ody_csr_fatal("DSSX_PHY_APB_RESET_N", 1, a, 0, 0, 0, 0, 0);
13650 }
13651
13652 #define typedef_ODY_DSSX_PHY_APB_RESET_N(a) ody_dssx_phy_apb_reset_n_t
13653 #define bustype_ODY_DSSX_PHY_APB_RESET_N(a) CSR_TYPE_RSL
13654 #define basename_ODY_DSSX_PHY_APB_RESET_N(a) "DSSX_PHY_APB_RESET_N"
13655 #define device_bar_ODY_DSSX_PHY_APB_RESET_N(a) 0x0 /* PF_BAR0 */
13656 #define busnum_ODY_DSSX_PHY_APB_RESET_N(a) (a)
13657 #define arguments_ODY_DSSX_PHY_APB_RESET_N(a) (a), -1, -1, -1
13658
13659 /**
13660 * Register (RSL) dss#_phy_ctrl
13661 *
13662 * DSS PHY Control Register
13663 * PHY control register.
13664 */
13665 union ody_dssx_phy_ctrl {
13666 uint64_t u;
13667 struct ody_dssx_phy_ctrl_s {
13668 uint64_t s_phy_pprot : 3;
13669 uint64_t s_phy_pwrok : 1;
13670 uint64_t s_phy_mdc_dis : 1;
13671 uint64_t s_dual_channel_en : 1;
13672 uint64_t reserved_6_63 : 58;
13673 } s;
13674 /* struct ody_dssx_phy_ctrl_s cn; */
13675 };
13676 typedef union ody_dssx_phy_ctrl ody_dssx_phy_ctrl_t;
13677
13678 static inline uint64_t ODY_DSSX_PHY_CTRL(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_PHY_CTRL(uint64_t a)13679 static inline uint64_t ODY_DSSX_PHY_CTRL(uint64_t a)
13680 {
13681 if (a <= 19)
13682 return 0x87e1b0000040ll + 0x1000000ll * ((a) & 0x1f);
13683 __ody_csr_fatal("DSSX_PHY_CTRL", 1, a, 0, 0, 0, 0, 0);
13684 }
13685
13686 #define typedef_ODY_DSSX_PHY_CTRL(a) ody_dssx_phy_ctrl_t
13687 #define bustype_ODY_DSSX_PHY_CTRL(a) CSR_TYPE_RSL
13688 #define basename_ODY_DSSX_PHY_CTRL(a) "DSSX_PHY_CTRL"
13689 #define device_bar_ODY_DSSX_PHY_CTRL(a) 0x0 /* PF_BAR0 */
13690 #define busnum_ODY_DSSX_PHY_CTRL(a) (a)
13691 #define arguments_ODY_DSSX_PHY_CTRL(a) (a), -1, -1, -1
13692
13693 /**
13694 * Register (RSL) dss#_phy_ref_reset_n
13695 *
13696 * DSS PHY Domain Reset Register
13697 * PHY clock software reset - active low.
13698 */
13699 union ody_dssx_phy_ref_reset_n {
13700 uint64_t u;
13701 struct ody_dssx_phy_ref_reset_n_s {
13702 uint64_t s_phy_ref_reset_n : 1;
13703 uint64_t reserved_1_63 : 63;
13704 } s;
13705 /* struct ody_dssx_phy_ref_reset_n_s cn; */
13706 };
13707 typedef union ody_dssx_phy_ref_reset_n ody_dssx_phy_ref_reset_n_t;
13708
13709 static inline uint64_t ODY_DSSX_PHY_REF_RESET_N(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_PHY_REF_RESET_N(uint64_t a)13710 static inline uint64_t ODY_DSSX_PHY_REF_RESET_N(uint64_t a)
13711 {
13712 if (a <= 19)
13713 return 0x87e1b0000008ll + 0x1000000ll * ((a) & 0x1f);
13714 __ody_csr_fatal("DSSX_PHY_REF_RESET_N", 1, a, 0, 0, 0, 0, 0);
13715 }
13716
13717 #define typedef_ODY_DSSX_PHY_REF_RESET_N(a) ody_dssx_phy_ref_reset_n_t
13718 #define bustype_ODY_DSSX_PHY_REF_RESET_N(a) CSR_TYPE_RSL
13719 #define basename_ODY_DSSX_PHY_REF_RESET_N(a) "DSSX_PHY_REF_RESET_N"
13720 #define device_bar_ODY_DSSX_PHY_REF_RESET_N(a) 0x0 /* PF_BAR0 */
13721 #define busnum_ODY_DSSX_PHY_REF_RESET_N(a) (a)
13722 #define arguments_ODY_DSSX_PHY_REF_RESET_N(a) (a), -1, -1, -1
13723
13724 /**
13725 * Register (RSL) dss#_rsl_ddrctl_permit
13726 *
13727 * DSS RSL Bus Permit to DDRCTL Register
13728 * This register sets the permissions for access to the DDRCTL addresses.
13729 * DDRCTL MPAM addresses are exluded from this register.
13730 */
13731 union ody_dssx_rsl_ddrctl_permit {
13732 uint64_t u;
13733 struct ody_dssx_rsl_ddrctl_permit_s {
13734 uint64_t sec_dis : 1;
13735 uint64_t nsec_dis : 1;
13736 uint64_t xcp0_dis : 1;
13737 uint64_t xcp1_dis : 1;
13738 uint64_t xcp2_dis : 1;
13739 uint64_t reserved_5_7 : 3;
13740 uint64_t lock : 1;
13741 uint64_t reserved_9_63 : 55;
13742 } s;
13743 /* struct ody_dssx_rsl_ddrctl_permit_s cn; */
13744 };
13745 typedef union ody_dssx_rsl_ddrctl_permit ody_dssx_rsl_ddrctl_permit_t;
13746
13747 static inline uint64_t ODY_DSSX_RSL_DDRCTL_PERMIT(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_RSL_DDRCTL_PERMIT(uint64_t a)13748 static inline uint64_t ODY_DSSX_RSL_DDRCTL_PERMIT(uint64_t a)
13749 {
13750 if (a <= 19)
13751 return 0x87e1b0000208ll + 0x1000000ll * ((a) & 0x1f);
13752 __ody_csr_fatal("DSSX_RSL_DDRCTL_PERMIT", 1, a, 0, 0, 0, 0, 0);
13753 }
13754
13755 #define typedef_ODY_DSSX_RSL_DDRCTL_PERMIT(a) ody_dssx_rsl_ddrctl_permit_t
13756 #define bustype_ODY_DSSX_RSL_DDRCTL_PERMIT(a) CSR_TYPE_RSL
13757 #define basename_ODY_DSSX_RSL_DDRCTL_PERMIT(a) "DSSX_RSL_DDRCTL_PERMIT"
13758 #define device_bar_ODY_DSSX_RSL_DDRCTL_PERMIT(a) 0x0 /* PF_BAR0 */
13759 #define busnum_ODY_DSSX_RSL_DDRCTL_PERMIT(a) (a)
13760 #define arguments_ODY_DSSX_RSL_DDRCTL_PERMIT(a) (a), -1, -1, -1
13761
13762 /**
13763 * Register (RSL) dss#_rsl_mct_permit
13764 *
13765 * DSS RSL Bus Permit to MCT Register
13766 * This register sets the permissions for access to the MCT addresses.
13767 */
13768 union ody_dssx_rsl_mct_permit {
13769 uint64_t u;
13770 struct ody_dssx_rsl_mct_permit_s {
13771 uint64_t sec_dis : 1;
13772 uint64_t nsec_dis : 1;
13773 uint64_t xcp0_dis : 1;
13774 uint64_t xcp1_dis : 1;
13775 uint64_t xcp2_dis : 1;
13776 uint64_t reserved_5_7 : 3;
13777 uint64_t lock : 1;
13778 uint64_t reserved_9_63 : 55;
13779 } s;
13780 /* struct ody_dssx_rsl_mct_permit_s cn; */
13781 };
13782 typedef union ody_dssx_rsl_mct_permit ody_dssx_rsl_mct_permit_t;
13783
13784 static inline uint64_t ODY_DSSX_RSL_MCT_PERMIT(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_RSL_MCT_PERMIT(uint64_t a)13785 static inline uint64_t ODY_DSSX_RSL_MCT_PERMIT(uint64_t a)
13786 {
13787 if (a <= 19)
13788 return 0x87e1b0000200ll + 0x1000000ll * ((a) & 0x1f);
13789 __ody_csr_fatal("DSSX_RSL_MCT_PERMIT", 1, a, 0, 0, 0, 0, 0);
13790 }
13791
13792 #define typedef_ODY_DSSX_RSL_MCT_PERMIT(a) ody_dssx_rsl_mct_permit_t
13793 #define bustype_ODY_DSSX_RSL_MCT_PERMIT(a) CSR_TYPE_RSL
13794 #define basename_ODY_DSSX_RSL_MCT_PERMIT(a) "DSSX_RSL_MCT_PERMIT"
13795 #define device_bar_ODY_DSSX_RSL_MCT_PERMIT(a) 0x0 /* PF_BAR0 */
13796 #define busnum_ODY_DSSX_RSL_MCT_PERMIT(a) (a)
13797 #define arguments_ODY_DSSX_RSL_MCT_PERMIT(a) (a), -1, -1, -1
13798
13799 /**
13800 * Register (RSL) dss#_top_global_clock_enable
13801 *
13802 * DSS TOP Global Clock Enable Register
13803 * Force DSS_TOP sub-block coarse clock to be always on.
13804 */
13805 union ody_dssx_top_global_clock_enable {
13806 uint64_t u;
13807 struct ody_dssx_top_global_clock_enable_s {
13808 uint64_t coarse_clk_force : 1;
13809 uint64_t reserved_1_63 : 63;
13810 } s;
13811 /* struct ody_dssx_top_global_clock_enable_s cn; */
13812 };
13813 typedef union ody_dssx_top_global_clock_enable ody_dssx_top_global_clock_enable_t;
13814
13815 static inline uint64_t ODY_DSSX_TOP_GLOBAL_CLOCK_ENABLE(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_TOP_GLOBAL_CLOCK_ENABLE(uint64_t a)13816 static inline uint64_t ODY_DSSX_TOP_GLOBAL_CLOCK_ENABLE(uint64_t a)
13817 {
13818 if (a <= 19)
13819 return 0x87e1b0000108ll + 0x1000000ll * ((a) & 0x1f);
13820 __ody_csr_fatal("DSSX_TOP_GLOBAL_CLOCK_ENABLE", 1, a, 0, 0, 0, 0, 0);
13821 }
13822
13823 #define typedef_ODY_DSSX_TOP_GLOBAL_CLOCK_ENABLE(a) ody_dssx_top_global_clock_enable_t
13824 #define bustype_ODY_DSSX_TOP_GLOBAL_CLOCK_ENABLE(a) CSR_TYPE_RSL
13825 #define basename_ODY_DSSX_TOP_GLOBAL_CLOCK_ENABLE(a) "DSSX_TOP_GLOBAL_CLOCK_ENABLE"
13826 #define device_bar_ODY_DSSX_TOP_GLOBAL_CLOCK_ENABLE(a) 0x0 /* PF_BAR0 */
13827 #define busnum_ODY_DSSX_TOP_GLOBAL_CLOCK_ENABLE(a) (a)
13828 #define arguments_ODY_DSSX_TOP_GLOBAL_CLOCK_ENABLE(a) (a), -1, -1, -1
13829
13830 /**
13831 * Register (RSL) dss#_txrsp_fill_lvl_cnt_cfg
13832 *
13833 * DSS Performance Counters Accumulative Occupancy Level Configuration Of TxRSP Flitq Register
13834 * Configuration register of internal memory controller CHB link layer TxRsp flitq
13835 * queue's current fill level counter.
13836 */
13837 union ody_dssx_txrsp_fill_lvl_cnt_cfg {
13838 uint64_t u;
13839 struct ody_dssx_txrsp_fill_lvl_cnt_cfg_s {
13840 uint64_t cnt_en : 1;
13841 uint64_t wrap_value : 1;
13842 uint64_t interrupt_en : 1;
13843 uint64_t reserved_3_63 : 61;
13844 } s;
13845 /* struct ody_dssx_txrsp_fill_lvl_cnt_cfg_s cn; */
13846 };
13847 typedef union ody_dssx_txrsp_fill_lvl_cnt_cfg ody_dssx_txrsp_fill_lvl_cnt_cfg_t;
13848
13849 static inline uint64_t ODY_DSSX_TXRSP_FILL_LVL_CNT_CFG(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_TXRSP_FILL_LVL_CNT_CFG(uint64_t a)13850 static inline uint64_t ODY_DSSX_TXRSP_FILL_LVL_CNT_CFG(uint64_t a)
13851 {
13852 if (a <= 19)
13853 return 0x87e1b00084d8ll + 0x1000000ll * ((a) & 0x1f);
13854 __ody_csr_fatal("DSSX_TXRSP_FILL_LVL_CNT_CFG", 1, a, 0, 0, 0, 0, 0);
13855 }
13856
13857 #define typedef_ODY_DSSX_TXRSP_FILL_LVL_CNT_CFG(a) ody_dssx_txrsp_fill_lvl_cnt_cfg_t
13858 #define bustype_ODY_DSSX_TXRSP_FILL_LVL_CNT_CFG(a) CSR_TYPE_RSL
13859 #define basename_ODY_DSSX_TXRSP_FILL_LVL_CNT_CFG(a) "DSSX_TXRSP_FILL_LVL_CNT_CFG"
13860 #define device_bar_ODY_DSSX_TXRSP_FILL_LVL_CNT_CFG(a) 0x0 /* PF_BAR0 */
13861 #define busnum_ODY_DSSX_TXRSP_FILL_LVL_CNT_CFG(a) (a)
13862 #define arguments_ODY_DSSX_TXRSP_FILL_LVL_CNT_CFG(a) (a), -1, -1, -1
13863
13864 /**
13865 * Register (RSL) dss#_txrsp_fill_lvl_cnt_val
13866 *
13867 * Performance Counters Fill Level Value Register
13868 * Count of Accumulative occupancy level in memory controller internal TxRSP Flitq queue.
13869 */
13870 union ody_dssx_txrsp_fill_lvl_cnt_val {
13871 uint64_t u;
13872 struct ody_dssx_txrsp_fill_lvl_cnt_val_s {
13873 uint64_t counter_value : 64;
13874 } s;
13875 /* struct ody_dssx_txrsp_fill_lvl_cnt_val_s cn; */
13876 };
13877 typedef union ody_dssx_txrsp_fill_lvl_cnt_val ody_dssx_txrsp_fill_lvl_cnt_val_t;
13878
13879 static inline uint64_t ODY_DSSX_TXRSP_FILL_LVL_CNT_VAL(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_TXRSP_FILL_LVL_CNT_VAL(uint64_t a)13880 static inline uint64_t ODY_DSSX_TXRSP_FILL_LVL_CNT_VAL(uint64_t a)
13881 {
13882 if (a <= 19)
13883 return 0x87e1b00085c0ll + 0x1000000ll * ((a) & 0x1f);
13884 __ody_csr_fatal("DSSX_TXRSP_FILL_LVL_CNT_VAL", 1, a, 0, 0, 0, 0, 0);
13885 }
13886
13887 #define typedef_ODY_DSSX_TXRSP_FILL_LVL_CNT_VAL(a) ody_dssx_txrsp_fill_lvl_cnt_val_t
13888 #define bustype_ODY_DSSX_TXRSP_FILL_LVL_CNT_VAL(a) CSR_TYPE_RSL
13889 #define basename_ODY_DSSX_TXRSP_FILL_LVL_CNT_VAL(a) "DSSX_TXRSP_FILL_LVL_CNT_VAL"
13890 #define device_bar_ODY_DSSX_TXRSP_FILL_LVL_CNT_VAL(a) 0x0 /* PF_BAR0 */
13891 #define busnum_ODY_DSSX_TXRSP_FILL_LVL_CNT_VAL(a) (a)
13892 #define arguments_ODY_DSSX_TXRSP_FILL_LVL_CNT_VAL(a) (a), -1, -1, -1
13893
13894 /**
13895 * Register (RSL) dss#_txrsp_filllvl_cnt_ovrflw
13896 *
13897 * Performance Counters TxRSP Fill Level overflow indication Register
13898 * This register indicates if TxRSP Flitq fill level counter overflowed.
13899 */
13900 union ody_dssx_txrsp_filllvl_cnt_ovrflw {
13901 uint64_t u;
13902 struct ody_dssx_txrsp_filllvl_cnt_ovrflw_s {
13903 uint64_t counter_overflow : 1;
13904 uint64_t reserved_1_63 : 63;
13905 } s;
13906 /* struct ody_dssx_txrsp_filllvl_cnt_ovrflw_s cn; */
13907 };
13908 typedef union ody_dssx_txrsp_filllvl_cnt_ovrflw ody_dssx_txrsp_filllvl_cnt_ovrflw_t;
13909
13910 static inline uint64_t ODY_DSSX_TXRSP_FILLLVL_CNT_OVRFLW(uint64_t a) __attribute__ ((pure, always_inline));
ODY_DSSX_TXRSP_FILLLVL_CNT_OVRFLW(uint64_t a)13911 static inline uint64_t ODY_DSSX_TXRSP_FILLLVL_CNT_OVRFLW(uint64_t a)
13912 {
13913 if (a <= 19)
13914 return 0x87e1b00086c0ll + 0x1000000ll * ((a) & 0x1f);
13915 __ody_csr_fatal("DSSX_TXRSP_FILLLVL_CNT_OVRFLW", 1, a, 0, 0, 0, 0, 0);
13916 }
13917
13918 #define typedef_ODY_DSSX_TXRSP_FILLLVL_CNT_OVRFLW(a) ody_dssx_txrsp_filllvl_cnt_ovrflw_t
13919 #define bustype_ODY_DSSX_TXRSP_FILLLVL_CNT_OVRFLW(a) CSR_TYPE_RSL
13920 #define basename_ODY_DSSX_TXRSP_FILLLVL_CNT_OVRFLW(a) "DSSX_TXRSP_FILLLVL_CNT_OVRFLW"
13921 #define device_bar_ODY_DSSX_TXRSP_FILLLVL_CNT_OVRFLW(a) 0x0 /* PF_BAR0 */
13922 #define busnum_ODY_DSSX_TXRSP_FILLLVL_CNT_OVRFLW(a) (a)
13923 #define arguments_ODY_DSSX_TXRSP_FILLLVL_CNT_OVRFLW(a) (a), -1, -1, -1
13924
13925 #endif /* __ODY_CSRS_DSS_H__ */
13926