Linux Audio

Check our new training course

Real-Time Linux with PREEMPT_RT training

Feb 18-20, 2025
Register
Loading...
v3.5.6
  1/***********************license start***************
  2 * Author: Cavium Networks
  3 *
  4 * Contact: support@caviumnetworks.com
  5 * This file is part of the OCTEON SDK
  6 *
  7 * Copyright (c) 2003-2010 Cavium Networks
  8 *
  9 * This file is free software; you can redistribute it and/or modify
 10 * it under the terms of the GNU General Public License, Version 2, as
 11 * published by the Free Software Foundation.
 12 *
 13 * This file is distributed in the hope that it will be useful, but
 14 * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
 15 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
 16 * NONINFRINGEMENT.  See the GNU General Public License for more
 17 * details.
 18 *
 19 * You should have received a copy of the GNU General Public License
 20 * along with this file; if not, write to the Free Software
 21 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
 22 * or visit http://www.gnu.org/licenses/.
 23 *
 24 * This file may also be available under a different license from Cavium.
 25 * Contact Cavium Networks for more information
 26 ***********************license end**************************************/
 27
 28#ifndef __CVMX_POW_DEFS_H__
 29#define __CVMX_POW_DEFS_H__
 30
 31#define CVMX_POW_BIST_STAT (CVMX_ADD_IO_SEG(0x00016700000003F8ull))
 32#define CVMX_POW_DS_PC (CVMX_ADD_IO_SEG(0x0001670000000398ull))
 33#define CVMX_POW_ECC_ERR (CVMX_ADD_IO_SEG(0x0001670000000218ull))
 34#define CVMX_POW_INT_CTL (CVMX_ADD_IO_SEG(0x0001670000000220ull))
 35#define CVMX_POW_IQ_CNTX(offset) (CVMX_ADD_IO_SEG(0x0001670000000340ull) + ((offset) & 7) * 8)
 36#define CVMX_POW_IQ_COM_CNT (CVMX_ADD_IO_SEG(0x0001670000000388ull))
 37#define CVMX_POW_IQ_INT (CVMX_ADD_IO_SEG(0x0001670000000238ull))
 38#define CVMX_POW_IQ_INT_EN (CVMX_ADD_IO_SEG(0x0001670000000240ull))
 39#define CVMX_POW_IQ_THRX(offset) (CVMX_ADD_IO_SEG(0x00016700000003A0ull) + ((offset) & 7) * 8)
 40#define CVMX_POW_NOS_CNT (CVMX_ADD_IO_SEG(0x0001670000000228ull))
 41#define CVMX_POW_NW_TIM (CVMX_ADD_IO_SEG(0x0001670000000210ull))
 42#define CVMX_POW_PF_RST_MSK (CVMX_ADD_IO_SEG(0x0001670000000230ull))
 43#define CVMX_POW_PP_GRP_MSKX(offset) (CVMX_ADD_IO_SEG(0x0001670000000000ull) + ((offset) & 15) * 8)
 44#define CVMX_POW_QOS_RNDX(offset) (CVMX_ADD_IO_SEG(0x00016700000001C0ull) + ((offset) & 7) * 8)
 45#define CVMX_POW_QOS_THRX(offset) (CVMX_ADD_IO_SEG(0x0001670000000180ull) + ((offset) & 7) * 8)
 46#define CVMX_POW_TS_PC (CVMX_ADD_IO_SEG(0x0001670000000390ull))
 47#define CVMX_POW_WA_COM_PC (CVMX_ADD_IO_SEG(0x0001670000000380ull))
 48#define CVMX_POW_WA_PCX(offset) (CVMX_ADD_IO_SEG(0x0001670000000300ull) + ((offset) & 7) * 8)
 49#define CVMX_POW_WQ_INT (CVMX_ADD_IO_SEG(0x0001670000000200ull))
 50#define CVMX_POW_WQ_INT_CNTX(offset) (CVMX_ADD_IO_SEG(0x0001670000000100ull) + ((offset) & 15) * 8)
 51#define CVMX_POW_WQ_INT_PC (CVMX_ADD_IO_SEG(0x0001670000000208ull))
 52#define CVMX_POW_WQ_INT_THRX(offset) (CVMX_ADD_IO_SEG(0x0001670000000080ull) + ((offset) & 15) * 8)
 53#define CVMX_POW_WS_PCX(offset) (CVMX_ADD_IO_SEG(0x0001670000000280ull) + ((offset) & 15) * 8)
 54
 55union cvmx_pow_bist_stat {
 56	uint64_t u64;
 57	struct cvmx_pow_bist_stat_s {
 58		uint64_t reserved_32_63:32;
 59		uint64_t pp:16;
 60		uint64_t reserved_0_15:16;
 61	} s;
 62	struct cvmx_pow_bist_stat_cn30xx {
 63		uint64_t reserved_17_63:47;
 64		uint64_t pp:1;
 65		uint64_t reserved_9_15:7;
 66		uint64_t cam:1;
 67		uint64_t nbt1:1;
 68		uint64_t nbt0:1;
 69		uint64_t index:1;
 70		uint64_t fidx:1;
 71		uint64_t nbr1:1;
 72		uint64_t nbr0:1;
 73		uint64_t pend:1;
 74		uint64_t adr:1;
 75	} cn30xx;
 76	struct cvmx_pow_bist_stat_cn31xx {
 77		uint64_t reserved_18_63:46;
 78		uint64_t pp:2;
 79		uint64_t reserved_9_15:7;
 80		uint64_t cam:1;
 81		uint64_t nbt1:1;
 82		uint64_t nbt0:1;
 83		uint64_t index:1;
 84		uint64_t fidx:1;
 85		uint64_t nbr1:1;
 86		uint64_t nbr0:1;
 87		uint64_t pend:1;
 88		uint64_t adr:1;
 89	} cn31xx;
 90	struct cvmx_pow_bist_stat_cn38xx {
 91		uint64_t reserved_32_63:32;
 92		uint64_t pp:16;
 93		uint64_t reserved_10_15:6;
 94		uint64_t cam:1;
 95		uint64_t nbt:1;
 96		uint64_t index:1;
 97		uint64_t fidx:1;
 98		uint64_t nbr1:1;
 99		uint64_t nbr0:1;
100		uint64_t pend1:1;
101		uint64_t pend0:1;
102		uint64_t adr1:1;
103		uint64_t adr0:1;
104	} cn38xx;
105	struct cvmx_pow_bist_stat_cn38xx cn38xxp2;
106	struct cvmx_pow_bist_stat_cn31xx cn50xx;
107	struct cvmx_pow_bist_stat_cn52xx {
108		uint64_t reserved_20_63:44;
109		uint64_t pp:4;
110		uint64_t reserved_9_15:7;
111		uint64_t cam:1;
112		uint64_t nbt1:1;
113		uint64_t nbt0:1;
114		uint64_t index:1;
115		uint64_t fidx:1;
116		uint64_t nbr1:1;
117		uint64_t nbr0:1;
118		uint64_t pend:1;
119		uint64_t adr:1;
120	} cn52xx;
121	struct cvmx_pow_bist_stat_cn52xx cn52xxp1;
122	struct cvmx_pow_bist_stat_cn56xx {
123		uint64_t reserved_28_63:36;
124		uint64_t pp:12;
125		uint64_t reserved_10_15:6;
126		uint64_t cam:1;
127		uint64_t nbt:1;
128		uint64_t index:1;
129		uint64_t fidx:1;
130		uint64_t nbr1:1;
131		uint64_t nbr0:1;
132		uint64_t pend1:1;
133		uint64_t pend0:1;
134		uint64_t adr1:1;
135		uint64_t adr0:1;
136	} cn56xx;
137	struct cvmx_pow_bist_stat_cn56xx cn56xxp1;
138	struct cvmx_pow_bist_stat_cn38xx cn58xx;
139	struct cvmx_pow_bist_stat_cn38xx cn58xxp1;
140	struct cvmx_pow_bist_stat_cn63xx {
141		uint64_t reserved_22_63:42;
142		uint64_t pp:6;
143		uint64_t reserved_12_15:4;
144		uint64_t cam:1;
145		uint64_t nbr:3;
146		uint64_t nbt:4;
147		uint64_t index:1;
148		uint64_t fidx:1;
149		uint64_t pend:1;
150		uint64_t adr:1;
151	} cn63xx;
152	struct cvmx_pow_bist_stat_cn63xx cn63xxp1;
153};
154
155union cvmx_pow_ds_pc {
156	uint64_t u64;
157	struct cvmx_pow_ds_pc_s {
158		uint64_t reserved_32_63:32;
159		uint64_t ds_pc:32;
160	} s;
161	struct cvmx_pow_ds_pc_s cn30xx;
162	struct cvmx_pow_ds_pc_s cn31xx;
163	struct cvmx_pow_ds_pc_s cn38xx;
164	struct cvmx_pow_ds_pc_s cn38xxp2;
165	struct cvmx_pow_ds_pc_s cn50xx;
166	struct cvmx_pow_ds_pc_s cn52xx;
167	struct cvmx_pow_ds_pc_s cn52xxp1;
168	struct cvmx_pow_ds_pc_s cn56xx;
169	struct cvmx_pow_ds_pc_s cn56xxp1;
170	struct cvmx_pow_ds_pc_s cn58xx;
171	struct cvmx_pow_ds_pc_s cn58xxp1;
172	struct cvmx_pow_ds_pc_s cn63xx;
173	struct cvmx_pow_ds_pc_s cn63xxp1;
174};
175
176union cvmx_pow_ecc_err {
177	uint64_t u64;
178	struct cvmx_pow_ecc_err_s {
179		uint64_t reserved_45_63:19;
180		uint64_t iop_ie:13;
181		uint64_t reserved_29_31:3;
182		uint64_t iop:13;
183		uint64_t reserved_14_15:2;
184		uint64_t rpe_ie:1;
185		uint64_t rpe:1;
186		uint64_t reserved_9_11:3;
187		uint64_t syn:5;
188		uint64_t dbe_ie:1;
189		uint64_t sbe_ie:1;
190		uint64_t dbe:1;
191		uint64_t sbe:1;
192	} s;
193	struct cvmx_pow_ecc_err_s cn30xx;
194	struct cvmx_pow_ecc_err_cn31xx {
195		uint64_t reserved_14_63:50;
196		uint64_t rpe_ie:1;
197		uint64_t rpe:1;
198		uint64_t reserved_9_11:3;
199		uint64_t syn:5;
200		uint64_t dbe_ie:1;
201		uint64_t sbe_ie:1;
202		uint64_t dbe:1;
203		uint64_t sbe:1;
204	} cn31xx;
205	struct cvmx_pow_ecc_err_s cn38xx;
206	struct cvmx_pow_ecc_err_cn31xx cn38xxp2;
207	struct cvmx_pow_ecc_err_s cn50xx;
208	struct cvmx_pow_ecc_err_s cn52xx;
209	struct cvmx_pow_ecc_err_s cn52xxp1;
210	struct cvmx_pow_ecc_err_s cn56xx;
211	struct cvmx_pow_ecc_err_s cn56xxp1;
212	struct cvmx_pow_ecc_err_s cn58xx;
213	struct cvmx_pow_ecc_err_s cn58xxp1;
214	struct cvmx_pow_ecc_err_s cn63xx;
215	struct cvmx_pow_ecc_err_s cn63xxp1;
216};
217
218union cvmx_pow_int_ctl {
219	uint64_t u64;
220	struct cvmx_pow_int_ctl_s {
221		uint64_t reserved_6_63:58;
222		uint64_t pfr_dis:1;
223		uint64_t nbr_thr:5;
224	} s;
225	struct cvmx_pow_int_ctl_s cn30xx;
226	struct cvmx_pow_int_ctl_s cn31xx;
227	struct cvmx_pow_int_ctl_s cn38xx;
228	struct cvmx_pow_int_ctl_s cn38xxp2;
229	struct cvmx_pow_int_ctl_s cn50xx;
230	struct cvmx_pow_int_ctl_s cn52xx;
231	struct cvmx_pow_int_ctl_s cn52xxp1;
232	struct cvmx_pow_int_ctl_s cn56xx;
233	struct cvmx_pow_int_ctl_s cn56xxp1;
234	struct cvmx_pow_int_ctl_s cn58xx;
235	struct cvmx_pow_int_ctl_s cn58xxp1;
236	struct cvmx_pow_int_ctl_s cn63xx;
237	struct cvmx_pow_int_ctl_s cn63xxp1;
238};
239
240union cvmx_pow_iq_cntx {
241	uint64_t u64;
242	struct cvmx_pow_iq_cntx_s {
243		uint64_t reserved_32_63:32;
244		uint64_t iq_cnt:32;
245	} s;
246	struct cvmx_pow_iq_cntx_s cn30xx;
247	struct cvmx_pow_iq_cntx_s cn31xx;
248	struct cvmx_pow_iq_cntx_s cn38xx;
249	struct cvmx_pow_iq_cntx_s cn38xxp2;
250	struct cvmx_pow_iq_cntx_s cn50xx;
251	struct cvmx_pow_iq_cntx_s cn52xx;
252	struct cvmx_pow_iq_cntx_s cn52xxp1;
253	struct cvmx_pow_iq_cntx_s cn56xx;
254	struct cvmx_pow_iq_cntx_s cn56xxp1;
255	struct cvmx_pow_iq_cntx_s cn58xx;
256	struct cvmx_pow_iq_cntx_s cn58xxp1;
257	struct cvmx_pow_iq_cntx_s cn63xx;
258	struct cvmx_pow_iq_cntx_s cn63xxp1;
259};
260
261union cvmx_pow_iq_com_cnt {
262	uint64_t u64;
263	struct cvmx_pow_iq_com_cnt_s {
264		uint64_t reserved_32_63:32;
265		uint64_t iq_cnt:32;
266	} s;
267	struct cvmx_pow_iq_com_cnt_s cn30xx;
268	struct cvmx_pow_iq_com_cnt_s cn31xx;
269	struct cvmx_pow_iq_com_cnt_s cn38xx;
270	struct cvmx_pow_iq_com_cnt_s cn38xxp2;
271	struct cvmx_pow_iq_com_cnt_s cn50xx;
272	struct cvmx_pow_iq_com_cnt_s cn52xx;
273	struct cvmx_pow_iq_com_cnt_s cn52xxp1;
274	struct cvmx_pow_iq_com_cnt_s cn56xx;
275	struct cvmx_pow_iq_com_cnt_s cn56xxp1;
276	struct cvmx_pow_iq_com_cnt_s cn58xx;
277	struct cvmx_pow_iq_com_cnt_s cn58xxp1;
278	struct cvmx_pow_iq_com_cnt_s cn63xx;
279	struct cvmx_pow_iq_com_cnt_s cn63xxp1;
280};
281
282union cvmx_pow_iq_int {
283	uint64_t u64;
284	struct cvmx_pow_iq_int_s {
285		uint64_t reserved_8_63:56;
286		uint64_t iq_int:8;
287	} s;
288	struct cvmx_pow_iq_int_s cn52xx;
289	struct cvmx_pow_iq_int_s cn52xxp1;
290	struct cvmx_pow_iq_int_s cn56xx;
291	struct cvmx_pow_iq_int_s cn56xxp1;
292	struct cvmx_pow_iq_int_s cn63xx;
293	struct cvmx_pow_iq_int_s cn63xxp1;
294};
295
296union cvmx_pow_iq_int_en {
297	uint64_t u64;
298	struct cvmx_pow_iq_int_en_s {
299		uint64_t reserved_8_63:56;
300		uint64_t int_en:8;
301	} s;
302	struct cvmx_pow_iq_int_en_s cn52xx;
303	struct cvmx_pow_iq_int_en_s cn52xxp1;
304	struct cvmx_pow_iq_int_en_s cn56xx;
305	struct cvmx_pow_iq_int_en_s cn56xxp1;
306	struct cvmx_pow_iq_int_en_s cn63xx;
307	struct cvmx_pow_iq_int_en_s cn63xxp1;
308};
309
310union cvmx_pow_iq_thrx {
311	uint64_t u64;
312	struct cvmx_pow_iq_thrx_s {
313		uint64_t reserved_32_63:32;
314		uint64_t iq_thr:32;
315	} s;
316	struct cvmx_pow_iq_thrx_s cn52xx;
317	struct cvmx_pow_iq_thrx_s cn52xxp1;
318	struct cvmx_pow_iq_thrx_s cn56xx;
319	struct cvmx_pow_iq_thrx_s cn56xxp1;
320	struct cvmx_pow_iq_thrx_s cn63xx;
321	struct cvmx_pow_iq_thrx_s cn63xxp1;
322};
323
324union cvmx_pow_nos_cnt {
325	uint64_t u64;
326	struct cvmx_pow_nos_cnt_s {
327		uint64_t reserved_12_63:52;
328		uint64_t nos_cnt:12;
329	} s;
330	struct cvmx_pow_nos_cnt_cn30xx {
331		uint64_t reserved_7_63:57;
332		uint64_t nos_cnt:7;
333	} cn30xx;
334	struct cvmx_pow_nos_cnt_cn31xx {
335		uint64_t reserved_9_63:55;
336		uint64_t nos_cnt:9;
337	} cn31xx;
338	struct cvmx_pow_nos_cnt_s cn38xx;
339	struct cvmx_pow_nos_cnt_s cn38xxp2;
340	struct cvmx_pow_nos_cnt_cn31xx cn50xx;
341	struct cvmx_pow_nos_cnt_cn52xx {
342		uint64_t reserved_10_63:54;
343		uint64_t nos_cnt:10;
344	} cn52xx;
345	struct cvmx_pow_nos_cnt_cn52xx cn52xxp1;
346	struct cvmx_pow_nos_cnt_s cn56xx;
347	struct cvmx_pow_nos_cnt_s cn56xxp1;
348	struct cvmx_pow_nos_cnt_s cn58xx;
349	struct cvmx_pow_nos_cnt_s cn58xxp1;
350	struct cvmx_pow_nos_cnt_cn63xx {
351		uint64_t reserved_11_63:53;
352		uint64_t nos_cnt:11;
353	} cn63xx;
354	struct cvmx_pow_nos_cnt_cn63xx cn63xxp1;
355};
356
357union cvmx_pow_nw_tim {
358	uint64_t u64;
359	struct cvmx_pow_nw_tim_s {
360		uint64_t reserved_10_63:54;
361		uint64_t nw_tim:10;
362	} s;
363	struct cvmx_pow_nw_tim_s cn30xx;
364	struct cvmx_pow_nw_tim_s cn31xx;
365	struct cvmx_pow_nw_tim_s cn38xx;
366	struct cvmx_pow_nw_tim_s cn38xxp2;
367	struct cvmx_pow_nw_tim_s cn50xx;
368	struct cvmx_pow_nw_tim_s cn52xx;
369	struct cvmx_pow_nw_tim_s cn52xxp1;
370	struct cvmx_pow_nw_tim_s cn56xx;
371	struct cvmx_pow_nw_tim_s cn56xxp1;
372	struct cvmx_pow_nw_tim_s cn58xx;
373	struct cvmx_pow_nw_tim_s cn58xxp1;
374	struct cvmx_pow_nw_tim_s cn63xx;
375	struct cvmx_pow_nw_tim_s cn63xxp1;
376};
377
378union cvmx_pow_pf_rst_msk {
379	uint64_t u64;
380	struct cvmx_pow_pf_rst_msk_s {
381		uint64_t reserved_8_63:56;
382		uint64_t rst_msk:8;
383	} s;
384	struct cvmx_pow_pf_rst_msk_s cn50xx;
385	struct cvmx_pow_pf_rst_msk_s cn52xx;
386	struct cvmx_pow_pf_rst_msk_s cn52xxp1;
387	struct cvmx_pow_pf_rst_msk_s cn56xx;
388	struct cvmx_pow_pf_rst_msk_s cn56xxp1;
389	struct cvmx_pow_pf_rst_msk_s cn58xx;
390	struct cvmx_pow_pf_rst_msk_s cn58xxp1;
391	struct cvmx_pow_pf_rst_msk_s cn63xx;
392	struct cvmx_pow_pf_rst_msk_s cn63xxp1;
393};
394
395union cvmx_pow_pp_grp_mskx {
396	uint64_t u64;
397	struct cvmx_pow_pp_grp_mskx_s {
398		uint64_t reserved_48_63:16;
399		uint64_t qos7_pri:4;
400		uint64_t qos6_pri:4;
401		uint64_t qos5_pri:4;
402		uint64_t qos4_pri:4;
403		uint64_t qos3_pri:4;
404		uint64_t qos2_pri:4;
405		uint64_t qos1_pri:4;
406		uint64_t qos0_pri:4;
407		uint64_t grp_msk:16;
408	} s;
409	struct cvmx_pow_pp_grp_mskx_cn30xx {
410		uint64_t reserved_16_63:48;
411		uint64_t grp_msk:16;
412	} cn30xx;
413	struct cvmx_pow_pp_grp_mskx_cn30xx cn31xx;
414	struct cvmx_pow_pp_grp_mskx_cn30xx cn38xx;
415	struct cvmx_pow_pp_grp_mskx_cn30xx cn38xxp2;
416	struct cvmx_pow_pp_grp_mskx_s cn50xx;
417	struct cvmx_pow_pp_grp_mskx_s cn52xx;
418	struct cvmx_pow_pp_grp_mskx_s cn52xxp1;
419	struct cvmx_pow_pp_grp_mskx_s cn56xx;
420	struct cvmx_pow_pp_grp_mskx_s cn56xxp1;
421	struct cvmx_pow_pp_grp_mskx_s cn58xx;
422	struct cvmx_pow_pp_grp_mskx_s cn58xxp1;
423	struct cvmx_pow_pp_grp_mskx_s cn63xx;
424	struct cvmx_pow_pp_grp_mskx_s cn63xxp1;
425};
426
427union cvmx_pow_qos_rndx {
428	uint64_t u64;
429	struct cvmx_pow_qos_rndx_s {
430		uint64_t reserved_32_63:32;
431		uint64_t rnd_p3:8;
432		uint64_t rnd_p2:8;
433		uint64_t rnd_p1:8;
434		uint64_t rnd:8;
435	} s;
436	struct cvmx_pow_qos_rndx_s cn30xx;
437	struct cvmx_pow_qos_rndx_s cn31xx;
438	struct cvmx_pow_qos_rndx_s cn38xx;
439	struct cvmx_pow_qos_rndx_s cn38xxp2;
440	struct cvmx_pow_qos_rndx_s cn50xx;
441	struct cvmx_pow_qos_rndx_s cn52xx;
442	struct cvmx_pow_qos_rndx_s cn52xxp1;
443	struct cvmx_pow_qos_rndx_s cn56xx;
444	struct cvmx_pow_qos_rndx_s cn56xxp1;
445	struct cvmx_pow_qos_rndx_s cn58xx;
446	struct cvmx_pow_qos_rndx_s cn58xxp1;
447	struct cvmx_pow_qos_rndx_s cn63xx;
448	struct cvmx_pow_qos_rndx_s cn63xxp1;
449};
450
451union cvmx_pow_qos_thrx {
452	uint64_t u64;
453	struct cvmx_pow_qos_thrx_s {
454		uint64_t reserved_60_63:4;
455		uint64_t des_cnt:12;
456		uint64_t buf_cnt:12;
457		uint64_t free_cnt:12;
458		uint64_t reserved_23_23:1;
459		uint64_t max_thr:11;
460		uint64_t reserved_11_11:1;
461		uint64_t min_thr:11;
462	} s;
463	struct cvmx_pow_qos_thrx_cn30xx {
464		uint64_t reserved_55_63:9;
465		uint64_t des_cnt:7;
466		uint64_t reserved_43_47:5;
467		uint64_t buf_cnt:7;
468		uint64_t reserved_31_35:5;
469		uint64_t free_cnt:7;
470		uint64_t reserved_18_23:6;
471		uint64_t max_thr:6;
472		uint64_t reserved_6_11:6;
473		uint64_t min_thr:6;
474	} cn30xx;
475	struct cvmx_pow_qos_thrx_cn31xx {
476		uint64_t reserved_57_63:7;
477		uint64_t des_cnt:9;
478		uint64_t reserved_45_47:3;
479		uint64_t buf_cnt:9;
480		uint64_t reserved_33_35:3;
481		uint64_t free_cnt:9;
482		uint64_t reserved_20_23:4;
483		uint64_t max_thr:8;
484		uint64_t reserved_8_11:4;
485		uint64_t min_thr:8;
486	} cn31xx;
487	struct cvmx_pow_qos_thrx_s cn38xx;
488	struct cvmx_pow_qos_thrx_s cn38xxp2;
489	struct cvmx_pow_qos_thrx_cn31xx cn50xx;
490	struct cvmx_pow_qos_thrx_cn52xx {
491		uint64_t reserved_58_63:6;
492		uint64_t des_cnt:10;
493		uint64_t reserved_46_47:2;
494		uint64_t buf_cnt:10;
495		uint64_t reserved_34_35:2;
496		uint64_t free_cnt:10;
497		uint64_t reserved_21_23:3;
498		uint64_t max_thr:9;
499		uint64_t reserved_9_11:3;
500		uint64_t min_thr:9;
501	} cn52xx;
502	struct cvmx_pow_qos_thrx_cn52xx cn52xxp1;
503	struct cvmx_pow_qos_thrx_s cn56xx;
504	struct cvmx_pow_qos_thrx_s cn56xxp1;
505	struct cvmx_pow_qos_thrx_s cn58xx;
506	struct cvmx_pow_qos_thrx_s cn58xxp1;
507	struct cvmx_pow_qos_thrx_cn63xx {
508		uint64_t reserved_59_63:5;
509		uint64_t des_cnt:11;
510		uint64_t reserved_47_47:1;
511		uint64_t buf_cnt:11;
512		uint64_t reserved_35_35:1;
513		uint64_t free_cnt:11;
514		uint64_t reserved_22_23:2;
515		uint64_t max_thr:10;
516		uint64_t reserved_10_11:2;
517		uint64_t min_thr:10;
518	} cn63xx;
519	struct cvmx_pow_qos_thrx_cn63xx cn63xxp1;
520};
521
522union cvmx_pow_ts_pc {
523	uint64_t u64;
524	struct cvmx_pow_ts_pc_s {
525		uint64_t reserved_32_63:32;
526		uint64_t ts_pc:32;
527	} s;
528	struct cvmx_pow_ts_pc_s cn30xx;
529	struct cvmx_pow_ts_pc_s cn31xx;
530	struct cvmx_pow_ts_pc_s cn38xx;
531	struct cvmx_pow_ts_pc_s cn38xxp2;
532	struct cvmx_pow_ts_pc_s cn50xx;
533	struct cvmx_pow_ts_pc_s cn52xx;
534	struct cvmx_pow_ts_pc_s cn52xxp1;
535	struct cvmx_pow_ts_pc_s cn56xx;
536	struct cvmx_pow_ts_pc_s cn56xxp1;
537	struct cvmx_pow_ts_pc_s cn58xx;
538	struct cvmx_pow_ts_pc_s cn58xxp1;
539	struct cvmx_pow_ts_pc_s cn63xx;
540	struct cvmx_pow_ts_pc_s cn63xxp1;
541};
542
543union cvmx_pow_wa_com_pc {
544	uint64_t u64;
545	struct cvmx_pow_wa_com_pc_s {
546		uint64_t reserved_32_63:32;
547		uint64_t wa_pc:32;
548	} s;
549	struct cvmx_pow_wa_com_pc_s cn30xx;
550	struct cvmx_pow_wa_com_pc_s cn31xx;
551	struct cvmx_pow_wa_com_pc_s cn38xx;
552	struct cvmx_pow_wa_com_pc_s cn38xxp2;
553	struct cvmx_pow_wa_com_pc_s cn50xx;
554	struct cvmx_pow_wa_com_pc_s cn52xx;
555	struct cvmx_pow_wa_com_pc_s cn52xxp1;
556	struct cvmx_pow_wa_com_pc_s cn56xx;
557	struct cvmx_pow_wa_com_pc_s cn56xxp1;
558	struct cvmx_pow_wa_com_pc_s cn58xx;
559	struct cvmx_pow_wa_com_pc_s cn58xxp1;
560	struct cvmx_pow_wa_com_pc_s cn63xx;
561	struct cvmx_pow_wa_com_pc_s cn63xxp1;
562};
563
564union cvmx_pow_wa_pcx {
565	uint64_t u64;
566	struct cvmx_pow_wa_pcx_s {
567		uint64_t reserved_32_63:32;
568		uint64_t wa_pc:32;
569	} s;
570	struct cvmx_pow_wa_pcx_s cn30xx;
571	struct cvmx_pow_wa_pcx_s cn31xx;
572	struct cvmx_pow_wa_pcx_s cn38xx;
573	struct cvmx_pow_wa_pcx_s cn38xxp2;
574	struct cvmx_pow_wa_pcx_s cn50xx;
575	struct cvmx_pow_wa_pcx_s cn52xx;
576	struct cvmx_pow_wa_pcx_s cn52xxp1;
577	struct cvmx_pow_wa_pcx_s cn56xx;
578	struct cvmx_pow_wa_pcx_s cn56xxp1;
579	struct cvmx_pow_wa_pcx_s cn58xx;
580	struct cvmx_pow_wa_pcx_s cn58xxp1;
581	struct cvmx_pow_wa_pcx_s cn63xx;
582	struct cvmx_pow_wa_pcx_s cn63xxp1;
583};
584
585union cvmx_pow_wq_int {
586	uint64_t u64;
587	struct cvmx_pow_wq_int_s {
588		uint64_t reserved_32_63:32;
589		uint64_t iq_dis:16;
590		uint64_t wq_int:16;
591	} s;
592	struct cvmx_pow_wq_int_s cn30xx;
593	struct cvmx_pow_wq_int_s cn31xx;
594	struct cvmx_pow_wq_int_s cn38xx;
595	struct cvmx_pow_wq_int_s cn38xxp2;
596	struct cvmx_pow_wq_int_s cn50xx;
597	struct cvmx_pow_wq_int_s cn52xx;
598	struct cvmx_pow_wq_int_s cn52xxp1;
599	struct cvmx_pow_wq_int_s cn56xx;
600	struct cvmx_pow_wq_int_s cn56xxp1;
601	struct cvmx_pow_wq_int_s cn58xx;
602	struct cvmx_pow_wq_int_s cn58xxp1;
603	struct cvmx_pow_wq_int_s cn63xx;
604	struct cvmx_pow_wq_int_s cn63xxp1;
605};
606
607union cvmx_pow_wq_int_cntx {
608	uint64_t u64;
609	struct cvmx_pow_wq_int_cntx_s {
610		uint64_t reserved_28_63:36;
611		uint64_t tc_cnt:4;
612		uint64_t ds_cnt:12;
613		uint64_t iq_cnt:12;
614	} s;
615	struct cvmx_pow_wq_int_cntx_cn30xx {
616		uint64_t reserved_28_63:36;
617		uint64_t tc_cnt:4;
618		uint64_t reserved_19_23:5;
619		uint64_t ds_cnt:7;
620		uint64_t reserved_7_11:5;
621		uint64_t iq_cnt:7;
622	} cn30xx;
623	struct cvmx_pow_wq_int_cntx_cn31xx {
624		uint64_t reserved_28_63:36;
625		uint64_t tc_cnt:4;
626		uint64_t reserved_21_23:3;
627		uint64_t ds_cnt:9;
628		uint64_t reserved_9_11:3;
629		uint64_t iq_cnt:9;
630	} cn31xx;
631	struct cvmx_pow_wq_int_cntx_s cn38xx;
632	struct cvmx_pow_wq_int_cntx_s cn38xxp2;
633	struct cvmx_pow_wq_int_cntx_cn31xx cn50xx;
634	struct cvmx_pow_wq_int_cntx_cn52xx {
635		uint64_t reserved_28_63:36;
636		uint64_t tc_cnt:4;
637		uint64_t reserved_22_23:2;
638		uint64_t ds_cnt:10;
639		uint64_t reserved_10_11:2;
640		uint64_t iq_cnt:10;
641	} cn52xx;
642	struct cvmx_pow_wq_int_cntx_cn52xx cn52xxp1;
643	struct cvmx_pow_wq_int_cntx_s cn56xx;
644	struct cvmx_pow_wq_int_cntx_s cn56xxp1;
645	struct cvmx_pow_wq_int_cntx_s cn58xx;
646	struct cvmx_pow_wq_int_cntx_s cn58xxp1;
647	struct cvmx_pow_wq_int_cntx_cn63xx {
648		uint64_t reserved_28_63:36;
649		uint64_t tc_cnt:4;
650		uint64_t reserved_23_23:1;
651		uint64_t ds_cnt:11;
652		uint64_t reserved_11_11:1;
653		uint64_t iq_cnt:11;
654	} cn63xx;
655	struct cvmx_pow_wq_int_cntx_cn63xx cn63xxp1;
656};
657
658union cvmx_pow_wq_int_pc {
659	uint64_t u64;
660	struct cvmx_pow_wq_int_pc_s {
661		uint64_t reserved_60_63:4;
662		uint64_t pc:28;
663		uint64_t reserved_28_31:4;
664		uint64_t pc_thr:20;
665		uint64_t reserved_0_7:8;
666	} s;
667	struct cvmx_pow_wq_int_pc_s cn30xx;
668	struct cvmx_pow_wq_int_pc_s cn31xx;
669	struct cvmx_pow_wq_int_pc_s cn38xx;
670	struct cvmx_pow_wq_int_pc_s cn38xxp2;
671	struct cvmx_pow_wq_int_pc_s cn50xx;
672	struct cvmx_pow_wq_int_pc_s cn52xx;
673	struct cvmx_pow_wq_int_pc_s cn52xxp1;
674	struct cvmx_pow_wq_int_pc_s cn56xx;
675	struct cvmx_pow_wq_int_pc_s cn56xxp1;
676	struct cvmx_pow_wq_int_pc_s cn58xx;
677	struct cvmx_pow_wq_int_pc_s cn58xxp1;
678	struct cvmx_pow_wq_int_pc_s cn63xx;
679	struct cvmx_pow_wq_int_pc_s cn63xxp1;
680};
681
682union cvmx_pow_wq_int_thrx {
683	uint64_t u64;
684	struct cvmx_pow_wq_int_thrx_s {
685		uint64_t reserved_29_63:35;
686		uint64_t tc_en:1;
687		uint64_t tc_thr:4;
688		uint64_t reserved_23_23:1;
689		uint64_t ds_thr:11;
690		uint64_t reserved_11_11:1;
691		uint64_t iq_thr:11;
692	} s;
693	struct cvmx_pow_wq_int_thrx_cn30xx {
694		uint64_t reserved_29_63:35;
695		uint64_t tc_en:1;
696		uint64_t tc_thr:4;
697		uint64_t reserved_18_23:6;
698		uint64_t ds_thr:6;
699		uint64_t reserved_6_11:6;
700		uint64_t iq_thr:6;
701	} cn30xx;
702	struct cvmx_pow_wq_int_thrx_cn31xx {
703		uint64_t reserved_29_63:35;
704		uint64_t tc_en:1;
705		uint64_t tc_thr:4;
706		uint64_t reserved_20_23:4;
707		uint64_t ds_thr:8;
708		uint64_t reserved_8_11:4;
709		uint64_t iq_thr:8;
710	} cn31xx;
711	struct cvmx_pow_wq_int_thrx_s cn38xx;
712	struct cvmx_pow_wq_int_thrx_s cn38xxp2;
713	struct cvmx_pow_wq_int_thrx_cn31xx cn50xx;
714	struct cvmx_pow_wq_int_thrx_cn52xx {
715		uint64_t reserved_29_63:35;
716		uint64_t tc_en:1;
717		uint64_t tc_thr:4;
718		uint64_t reserved_21_23:3;
719		uint64_t ds_thr:9;
720		uint64_t reserved_9_11:3;
721		uint64_t iq_thr:9;
722	} cn52xx;
723	struct cvmx_pow_wq_int_thrx_cn52xx cn52xxp1;
724	struct cvmx_pow_wq_int_thrx_s cn56xx;
725	struct cvmx_pow_wq_int_thrx_s cn56xxp1;
726	struct cvmx_pow_wq_int_thrx_s cn58xx;
727	struct cvmx_pow_wq_int_thrx_s cn58xxp1;
728	struct cvmx_pow_wq_int_thrx_cn63xx {
729		uint64_t reserved_29_63:35;
730		uint64_t tc_en:1;
731		uint64_t tc_thr:4;
732		uint64_t reserved_22_23:2;
733		uint64_t ds_thr:10;
734		uint64_t reserved_10_11:2;
735		uint64_t iq_thr:10;
736	} cn63xx;
737	struct cvmx_pow_wq_int_thrx_cn63xx cn63xxp1;
738};
739
740union cvmx_pow_ws_pcx {
741	uint64_t u64;
742	struct cvmx_pow_ws_pcx_s {
743		uint64_t reserved_32_63:32;
744		uint64_t ws_pc:32;
745	} s;
746	struct cvmx_pow_ws_pcx_s cn30xx;
747	struct cvmx_pow_ws_pcx_s cn31xx;
748	struct cvmx_pow_ws_pcx_s cn38xx;
749	struct cvmx_pow_ws_pcx_s cn38xxp2;
750	struct cvmx_pow_ws_pcx_s cn50xx;
751	struct cvmx_pow_ws_pcx_s cn52xx;
752	struct cvmx_pow_ws_pcx_s cn52xxp1;
753	struct cvmx_pow_ws_pcx_s cn56xx;
754	struct cvmx_pow_ws_pcx_s cn56xxp1;
755	struct cvmx_pow_ws_pcx_s cn58xx;
756	struct cvmx_pow_ws_pcx_s cn58xxp1;
757	struct cvmx_pow_ws_pcx_s cn63xx;
758	struct cvmx_pow_ws_pcx_s cn63xxp1;
759};
760
761#endif
v3.1
  1/***********************license start***************
  2 * Author: Cavium Networks
  3 *
  4 * Contact: support@caviumnetworks.com
  5 * This file is part of the OCTEON SDK
  6 *
  7 * Copyright (c) 2003-2010 Cavium Networks
  8 *
  9 * This file is free software; you can redistribute it and/or modify
 10 * it under the terms of the GNU General Public License, Version 2, as
 11 * published by the Free Software Foundation.
 12 *
 13 * This file is distributed in the hope that it will be useful, but
 14 * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
 15 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
 16 * NONINFRINGEMENT.  See the GNU General Public License for more
 17 * details.
 18 *
 19 * You should have received a copy of the GNU General Public License
 20 * along with this file; if not, write to the Free Software
 21 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
 22 * or visit http://www.gnu.org/licenses/.
 23 *
 24 * This file may also be available under a different license from Cavium.
 25 * Contact Cavium Networks for more information
 26 ***********************license end**************************************/
 27
 28#ifndef __CVMX_POW_DEFS_H__
 29#define __CVMX_POW_DEFS_H__
 30
 31#define CVMX_POW_BIST_STAT (CVMX_ADD_IO_SEG(0x00016700000003F8ull))
 32#define CVMX_POW_DS_PC (CVMX_ADD_IO_SEG(0x0001670000000398ull))
 33#define CVMX_POW_ECC_ERR (CVMX_ADD_IO_SEG(0x0001670000000218ull))
 34#define CVMX_POW_INT_CTL (CVMX_ADD_IO_SEG(0x0001670000000220ull))
 35#define CVMX_POW_IQ_CNTX(offset) (CVMX_ADD_IO_SEG(0x0001670000000340ull) + ((offset) & 7) * 8)
 36#define CVMX_POW_IQ_COM_CNT (CVMX_ADD_IO_SEG(0x0001670000000388ull))
 37#define CVMX_POW_IQ_INT (CVMX_ADD_IO_SEG(0x0001670000000238ull))
 38#define CVMX_POW_IQ_INT_EN (CVMX_ADD_IO_SEG(0x0001670000000240ull))
 39#define CVMX_POW_IQ_THRX(offset) (CVMX_ADD_IO_SEG(0x00016700000003A0ull) + ((offset) & 7) * 8)
 40#define CVMX_POW_NOS_CNT (CVMX_ADD_IO_SEG(0x0001670000000228ull))
 41#define CVMX_POW_NW_TIM (CVMX_ADD_IO_SEG(0x0001670000000210ull))
 42#define CVMX_POW_PF_RST_MSK (CVMX_ADD_IO_SEG(0x0001670000000230ull))
 43#define CVMX_POW_PP_GRP_MSKX(offset) (CVMX_ADD_IO_SEG(0x0001670000000000ull) + ((offset) & 15) * 8)
 44#define CVMX_POW_QOS_RNDX(offset) (CVMX_ADD_IO_SEG(0x00016700000001C0ull) + ((offset) & 7) * 8)
 45#define CVMX_POW_QOS_THRX(offset) (CVMX_ADD_IO_SEG(0x0001670000000180ull) + ((offset) & 7) * 8)
 46#define CVMX_POW_TS_PC (CVMX_ADD_IO_SEG(0x0001670000000390ull))
 47#define CVMX_POW_WA_COM_PC (CVMX_ADD_IO_SEG(0x0001670000000380ull))
 48#define CVMX_POW_WA_PCX(offset) (CVMX_ADD_IO_SEG(0x0001670000000300ull) + ((offset) & 7) * 8)
 49#define CVMX_POW_WQ_INT (CVMX_ADD_IO_SEG(0x0001670000000200ull))
 50#define CVMX_POW_WQ_INT_CNTX(offset) (CVMX_ADD_IO_SEG(0x0001670000000100ull) + ((offset) & 15) * 8)
 51#define CVMX_POW_WQ_INT_PC (CVMX_ADD_IO_SEG(0x0001670000000208ull))
 52#define CVMX_POW_WQ_INT_THRX(offset) (CVMX_ADD_IO_SEG(0x0001670000000080ull) + ((offset) & 15) * 8)
 53#define CVMX_POW_WS_PCX(offset) (CVMX_ADD_IO_SEG(0x0001670000000280ull) + ((offset) & 15) * 8)
 54
 55union cvmx_pow_bist_stat {
 56	uint64_t u64;
 57	struct cvmx_pow_bist_stat_s {
 58		uint64_t reserved_32_63:32;
 59		uint64_t pp:16;
 60		uint64_t reserved_0_15:16;
 61	} s;
 62	struct cvmx_pow_bist_stat_cn30xx {
 63		uint64_t reserved_17_63:47;
 64		uint64_t pp:1;
 65		uint64_t reserved_9_15:7;
 66		uint64_t cam:1;
 67		uint64_t nbt1:1;
 68		uint64_t nbt0:1;
 69		uint64_t index:1;
 70		uint64_t fidx:1;
 71		uint64_t nbr1:1;
 72		uint64_t nbr0:1;
 73		uint64_t pend:1;
 74		uint64_t adr:1;
 75	} cn30xx;
 76	struct cvmx_pow_bist_stat_cn31xx {
 77		uint64_t reserved_18_63:46;
 78		uint64_t pp:2;
 79		uint64_t reserved_9_15:7;
 80		uint64_t cam:1;
 81		uint64_t nbt1:1;
 82		uint64_t nbt0:1;
 83		uint64_t index:1;
 84		uint64_t fidx:1;
 85		uint64_t nbr1:1;
 86		uint64_t nbr0:1;
 87		uint64_t pend:1;
 88		uint64_t adr:1;
 89	} cn31xx;
 90	struct cvmx_pow_bist_stat_cn38xx {
 91		uint64_t reserved_32_63:32;
 92		uint64_t pp:16;
 93		uint64_t reserved_10_15:6;
 94		uint64_t cam:1;
 95		uint64_t nbt:1;
 96		uint64_t index:1;
 97		uint64_t fidx:1;
 98		uint64_t nbr1:1;
 99		uint64_t nbr0:1;
100		uint64_t pend1:1;
101		uint64_t pend0:1;
102		uint64_t adr1:1;
103		uint64_t adr0:1;
104	} cn38xx;
105	struct cvmx_pow_bist_stat_cn38xx cn38xxp2;
106	struct cvmx_pow_bist_stat_cn31xx cn50xx;
107	struct cvmx_pow_bist_stat_cn52xx {
108		uint64_t reserved_20_63:44;
109		uint64_t pp:4;
110		uint64_t reserved_9_15:7;
111		uint64_t cam:1;
112		uint64_t nbt1:1;
113		uint64_t nbt0:1;
114		uint64_t index:1;
115		uint64_t fidx:1;
116		uint64_t nbr1:1;
117		uint64_t nbr0:1;
118		uint64_t pend:1;
119		uint64_t adr:1;
120	} cn52xx;
121	struct cvmx_pow_bist_stat_cn52xx cn52xxp1;
122	struct cvmx_pow_bist_stat_cn56xx {
123		uint64_t reserved_28_63:36;
124		uint64_t pp:12;
125		uint64_t reserved_10_15:6;
126		uint64_t cam:1;
127		uint64_t nbt:1;
128		uint64_t index:1;
129		uint64_t fidx:1;
130		uint64_t nbr1:1;
131		uint64_t nbr0:1;
132		uint64_t pend1:1;
133		uint64_t pend0:1;
134		uint64_t adr1:1;
135		uint64_t adr0:1;
136	} cn56xx;
137	struct cvmx_pow_bist_stat_cn56xx cn56xxp1;
138	struct cvmx_pow_bist_stat_cn38xx cn58xx;
139	struct cvmx_pow_bist_stat_cn38xx cn58xxp1;
140	struct cvmx_pow_bist_stat_cn63xx {
141		uint64_t reserved_22_63:42;
142		uint64_t pp:6;
143		uint64_t reserved_12_15:4;
144		uint64_t cam:1;
145		uint64_t nbr:3;
146		uint64_t nbt:4;
147		uint64_t index:1;
148		uint64_t fidx:1;
149		uint64_t pend:1;
150		uint64_t adr:1;
151	} cn63xx;
152	struct cvmx_pow_bist_stat_cn63xx cn63xxp1;
153};
154
155union cvmx_pow_ds_pc {
156	uint64_t u64;
157	struct cvmx_pow_ds_pc_s {
158		uint64_t reserved_32_63:32;
159		uint64_t ds_pc:32;
160	} s;
161	struct cvmx_pow_ds_pc_s cn30xx;
162	struct cvmx_pow_ds_pc_s cn31xx;
163	struct cvmx_pow_ds_pc_s cn38xx;
164	struct cvmx_pow_ds_pc_s cn38xxp2;
165	struct cvmx_pow_ds_pc_s cn50xx;
166	struct cvmx_pow_ds_pc_s cn52xx;
167	struct cvmx_pow_ds_pc_s cn52xxp1;
168	struct cvmx_pow_ds_pc_s cn56xx;
169	struct cvmx_pow_ds_pc_s cn56xxp1;
170	struct cvmx_pow_ds_pc_s cn58xx;
171	struct cvmx_pow_ds_pc_s cn58xxp1;
172	struct cvmx_pow_ds_pc_s cn63xx;
173	struct cvmx_pow_ds_pc_s cn63xxp1;
174};
175
176union cvmx_pow_ecc_err {
177	uint64_t u64;
178	struct cvmx_pow_ecc_err_s {
179		uint64_t reserved_45_63:19;
180		uint64_t iop_ie:13;
181		uint64_t reserved_29_31:3;
182		uint64_t iop:13;
183		uint64_t reserved_14_15:2;
184		uint64_t rpe_ie:1;
185		uint64_t rpe:1;
186		uint64_t reserved_9_11:3;
187		uint64_t syn:5;
188		uint64_t dbe_ie:1;
189		uint64_t sbe_ie:1;
190		uint64_t dbe:1;
191		uint64_t sbe:1;
192	} s;
193	struct cvmx_pow_ecc_err_s cn30xx;
194	struct cvmx_pow_ecc_err_cn31xx {
195		uint64_t reserved_14_63:50;
196		uint64_t rpe_ie:1;
197		uint64_t rpe:1;
198		uint64_t reserved_9_11:3;
199		uint64_t syn:5;
200		uint64_t dbe_ie:1;
201		uint64_t sbe_ie:1;
202		uint64_t dbe:1;
203		uint64_t sbe:1;
204	} cn31xx;
205	struct cvmx_pow_ecc_err_s cn38xx;
206	struct cvmx_pow_ecc_err_cn31xx cn38xxp2;
207	struct cvmx_pow_ecc_err_s cn50xx;
208	struct cvmx_pow_ecc_err_s cn52xx;
209	struct cvmx_pow_ecc_err_s cn52xxp1;
210	struct cvmx_pow_ecc_err_s cn56xx;
211	struct cvmx_pow_ecc_err_s cn56xxp1;
212	struct cvmx_pow_ecc_err_s cn58xx;
213	struct cvmx_pow_ecc_err_s cn58xxp1;
214	struct cvmx_pow_ecc_err_s cn63xx;
215	struct cvmx_pow_ecc_err_s cn63xxp1;
216};
217
218union cvmx_pow_int_ctl {
219	uint64_t u64;
220	struct cvmx_pow_int_ctl_s {
221		uint64_t reserved_6_63:58;
222		uint64_t pfr_dis:1;
223		uint64_t nbr_thr:5;
224	} s;
225	struct cvmx_pow_int_ctl_s cn30xx;
226	struct cvmx_pow_int_ctl_s cn31xx;
227	struct cvmx_pow_int_ctl_s cn38xx;
228	struct cvmx_pow_int_ctl_s cn38xxp2;
229	struct cvmx_pow_int_ctl_s cn50xx;
230	struct cvmx_pow_int_ctl_s cn52xx;
231	struct cvmx_pow_int_ctl_s cn52xxp1;
232	struct cvmx_pow_int_ctl_s cn56xx;
233	struct cvmx_pow_int_ctl_s cn56xxp1;
234	struct cvmx_pow_int_ctl_s cn58xx;
235	struct cvmx_pow_int_ctl_s cn58xxp1;
236	struct cvmx_pow_int_ctl_s cn63xx;
237	struct cvmx_pow_int_ctl_s cn63xxp1;
238};
239
240union cvmx_pow_iq_cntx {
241	uint64_t u64;
242	struct cvmx_pow_iq_cntx_s {
243		uint64_t reserved_32_63:32;
244		uint64_t iq_cnt:32;
245	} s;
246	struct cvmx_pow_iq_cntx_s cn30xx;
247	struct cvmx_pow_iq_cntx_s cn31xx;
248	struct cvmx_pow_iq_cntx_s cn38xx;
249	struct cvmx_pow_iq_cntx_s cn38xxp2;
250	struct cvmx_pow_iq_cntx_s cn50xx;
251	struct cvmx_pow_iq_cntx_s cn52xx;
252	struct cvmx_pow_iq_cntx_s cn52xxp1;
253	struct cvmx_pow_iq_cntx_s cn56xx;
254	struct cvmx_pow_iq_cntx_s cn56xxp1;
255	struct cvmx_pow_iq_cntx_s cn58xx;
256	struct cvmx_pow_iq_cntx_s cn58xxp1;
257	struct cvmx_pow_iq_cntx_s cn63xx;
258	struct cvmx_pow_iq_cntx_s cn63xxp1;
259};
260
261union cvmx_pow_iq_com_cnt {
262	uint64_t u64;
263	struct cvmx_pow_iq_com_cnt_s {
264		uint64_t reserved_32_63:32;
265		uint64_t iq_cnt:32;
266	} s;
267	struct cvmx_pow_iq_com_cnt_s cn30xx;
268	struct cvmx_pow_iq_com_cnt_s cn31xx;
269	struct cvmx_pow_iq_com_cnt_s cn38xx;
270	struct cvmx_pow_iq_com_cnt_s cn38xxp2;
271	struct cvmx_pow_iq_com_cnt_s cn50xx;
272	struct cvmx_pow_iq_com_cnt_s cn52xx;
273	struct cvmx_pow_iq_com_cnt_s cn52xxp1;
274	struct cvmx_pow_iq_com_cnt_s cn56xx;
275	struct cvmx_pow_iq_com_cnt_s cn56xxp1;
276	struct cvmx_pow_iq_com_cnt_s cn58xx;
277	struct cvmx_pow_iq_com_cnt_s cn58xxp1;
278	struct cvmx_pow_iq_com_cnt_s cn63xx;
279	struct cvmx_pow_iq_com_cnt_s cn63xxp1;
280};
281
282union cvmx_pow_iq_int {
283	uint64_t u64;
284	struct cvmx_pow_iq_int_s {
285		uint64_t reserved_8_63:56;
286		uint64_t iq_int:8;
287	} s;
288	struct cvmx_pow_iq_int_s cn52xx;
289	struct cvmx_pow_iq_int_s cn52xxp1;
290	struct cvmx_pow_iq_int_s cn56xx;
291	struct cvmx_pow_iq_int_s cn56xxp1;
292	struct cvmx_pow_iq_int_s cn63xx;
293	struct cvmx_pow_iq_int_s cn63xxp1;
294};
295
296union cvmx_pow_iq_int_en {
297	uint64_t u64;
298	struct cvmx_pow_iq_int_en_s {
299		uint64_t reserved_8_63:56;
300		uint64_t int_en:8;
301	} s;
302	struct cvmx_pow_iq_int_en_s cn52xx;
303	struct cvmx_pow_iq_int_en_s cn52xxp1;
304	struct cvmx_pow_iq_int_en_s cn56xx;
305	struct cvmx_pow_iq_int_en_s cn56xxp1;
306	struct cvmx_pow_iq_int_en_s cn63xx;
307	struct cvmx_pow_iq_int_en_s cn63xxp1;
308};
309
310union cvmx_pow_iq_thrx {
311	uint64_t u64;
312	struct cvmx_pow_iq_thrx_s {
313		uint64_t reserved_32_63:32;
314		uint64_t iq_thr:32;
315	} s;
316	struct cvmx_pow_iq_thrx_s cn52xx;
317	struct cvmx_pow_iq_thrx_s cn52xxp1;
318	struct cvmx_pow_iq_thrx_s cn56xx;
319	struct cvmx_pow_iq_thrx_s cn56xxp1;
320	struct cvmx_pow_iq_thrx_s cn63xx;
321	struct cvmx_pow_iq_thrx_s cn63xxp1;
322};
323
324union cvmx_pow_nos_cnt {
325	uint64_t u64;
326	struct cvmx_pow_nos_cnt_s {
327		uint64_t reserved_12_63:52;
328		uint64_t nos_cnt:12;
329	} s;
330	struct cvmx_pow_nos_cnt_cn30xx {
331		uint64_t reserved_7_63:57;
332		uint64_t nos_cnt:7;
333	} cn30xx;
334	struct cvmx_pow_nos_cnt_cn31xx {
335		uint64_t reserved_9_63:55;
336		uint64_t nos_cnt:9;
337	} cn31xx;
338	struct cvmx_pow_nos_cnt_s cn38xx;
339	struct cvmx_pow_nos_cnt_s cn38xxp2;
340	struct cvmx_pow_nos_cnt_cn31xx cn50xx;
341	struct cvmx_pow_nos_cnt_cn52xx {
342		uint64_t reserved_10_63:54;
343		uint64_t nos_cnt:10;
344	} cn52xx;
345	struct cvmx_pow_nos_cnt_cn52xx cn52xxp1;
346	struct cvmx_pow_nos_cnt_s cn56xx;
347	struct cvmx_pow_nos_cnt_s cn56xxp1;
348	struct cvmx_pow_nos_cnt_s cn58xx;
349	struct cvmx_pow_nos_cnt_s cn58xxp1;
350	struct cvmx_pow_nos_cnt_cn63xx {
351		uint64_t reserved_11_63:53;
352		uint64_t nos_cnt:11;
353	} cn63xx;
354	struct cvmx_pow_nos_cnt_cn63xx cn63xxp1;
355};
356
357union cvmx_pow_nw_tim {
358	uint64_t u64;
359	struct cvmx_pow_nw_tim_s {
360		uint64_t reserved_10_63:54;
361		uint64_t nw_tim:10;
362	} s;
363	struct cvmx_pow_nw_tim_s cn30xx;
364	struct cvmx_pow_nw_tim_s cn31xx;
365	struct cvmx_pow_nw_tim_s cn38xx;
366	struct cvmx_pow_nw_tim_s cn38xxp2;
367	struct cvmx_pow_nw_tim_s cn50xx;
368	struct cvmx_pow_nw_tim_s cn52xx;
369	struct cvmx_pow_nw_tim_s cn52xxp1;
370	struct cvmx_pow_nw_tim_s cn56xx;
371	struct cvmx_pow_nw_tim_s cn56xxp1;
372	struct cvmx_pow_nw_tim_s cn58xx;
373	struct cvmx_pow_nw_tim_s cn58xxp1;
374	struct cvmx_pow_nw_tim_s cn63xx;
375	struct cvmx_pow_nw_tim_s cn63xxp1;
376};
377
378union cvmx_pow_pf_rst_msk {
379	uint64_t u64;
380	struct cvmx_pow_pf_rst_msk_s {
381		uint64_t reserved_8_63:56;
382		uint64_t rst_msk:8;
383	} s;
384	struct cvmx_pow_pf_rst_msk_s cn50xx;
385	struct cvmx_pow_pf_rst_msk_s cn52xx;
386	struct cvmx_pow_pf_rst_msk_s cn52xxp1;
387	struct cvmx_pow_pf_rst_msk_s cn56xx;
388	struct cvmx_pow_pf_rst_msk_s cn56xxp1;
389	struct cvmx_pow_pf_rst_msk_s cn58xx;
390	struct cvmx_pow_pf_rst_msk_s cn58xxp1;
391	struct cvmx_pow_pf_rst_msk_s cn63xx;
392	struct cvmx_pow_pf_rst_msk_s cn63xxp1;
393};
394
395union cvmx_pow_pp_grp_mskx {
396	uint64_t u64;
397	struct cvmx_pow_pp_grp_mskx_s {
398		uint64_t reserved_48_63:16;
399		uint64_t qos7_pri:4;
400		uint64_t qos6_pri:4;
401		uint64_t qos5_pri:4;
402		uint64_t qos4_pri:4;
403		uint64_t qos3_pri:4;
404		uint64_t qos2_pri:4;
405		uint64_t qos1_pri:4;
406		uint64_t qos0_pri:4;
407		uint64_t grp_msk:16;
408	} s;
409	struct cvmx_pow_pp_grp_mskx_cn30xx {
410		uint64_t reserved_16_63:48;
411		uint64_t grp_msk:16;
412	} cn30xx;
413	struct cvmx_pow_pp_grp_mskx_cn30xx cn31xx;
414	struct cvmx_pow_pp_grp_mskx_cn30xx cn38xx;
415	struct cvmx_pow_pp_grp_mskx_cn30xx cn38xxp2;
416	struct cvmx_pow_pp_grp_mskx_s cn50xx;
417	struct cvmx_pow_pp_grp_mskx_s cn52xx;
418	struct cvmx_pow_pp_grp_mskx_s cn52xxp1;
419	struct cvmx_pow_pp_grp_mskx_s cn56xx;
420	struct cvmx_pow_pp_grp_mskx_s cn56xxp1;
421	struct cvmx_pow_pp_grp_mskx_s cn58xx;
422	struct cvmx_pow_pp_grp_mskx_s cn58xxp1;
423	struct cvmx_pow_pp_grp_mskx_s cn63xx;
424	struct cvmx_pow_pp_grp_mskx_s cn63xxp1;
425};
426
427union cvmx_pow_qos_rndx {
428	uint64_t u64;
429	struct cvmx_pow_qos_rndx_s {
430		uint64_t reserved_32_63:32;
431		uint64_t rnd_p3:8;
432		uint64_t rnd_p2:8;
433		uint64_t rnd_p1:8;
434		uint64_t rnd:8;
435	} s;
436	struct cvmx_pow_qos_rndx_s cn30xx;
437	struct cvmx_pow_qos_rndx_s cn31xx;
438	struct cvmx_pow_qos_rndx_s cn38xx;
439	struct cvmx_pow_qos_rndx_s cn38xxp2;
440	struct cvmx_pow_qos_rndx_s cn50xx;
441	struct cvmx_pow_qos_rndx_s cn52xx;
442	struct cvmx_pow_qos_rndx_s cn52xxp1;
443	struct cvmx_pow_qos_rndx_s cn56xx;
444	struct cvmx_pow_qos_rndx_s cn56xxp1;
445	struct cvmx_pow_qos_rndx_s cn58xx;
446	struct cvmx_pow_qos_rndx_s cn58xxp1;
447	struct cvmx_pow_qos_rndx_s cn63xx;
448	struct cvmx_pow_qos_rndx_s cn63xxp1;
449};
450
451union cvmx_pow_qos_thrx {
452	uint64_t u64;
453	struct cvmx_pow_qos_thrx_s {
454		uint64_t reserved_60_63:4;
455		uint64_t des_cnt:12;
456		uint64_t buf_cnt:12;
457		uint64_t free_cnt:12;
458		uint64_t reserved_23_23:1;
459		uint64_t max_thr:11;
460		uint64_t reserved_11_11:1;
461		uint64_t min_thr:11;
462	} s;
463	struct cvmx_pow_qos_thrx_cn30xx {
464		uint64_t reserved_55_63:9;
465		uint64_t des_cnt:7;
466		uint64_t reserved_43_47:5;
467		uint64_t buf_cnt:7;
468		uint64_t reserved_31_35:5;
469		uint64_t free_cnt:7;
470		uint64_t reserved_18_23:6;
471		uint64_t max_thr:6;
472		uint64_t reserved_6_11:6;
473		uint64_t min_thr:6;
474	} cn30xx;
475	struct cvmx_pow_qos_thrx_cn31xx {
476		uint64_t reserved_57_63:7;
477		uint64_t des_cnt:9;
478		uint64_t reserved_45_47:3;
479		uint64_t buf_cnt:9;
480		uint64_t reserved_33_35:3;
481		uint64_t free_cnt:9;
482		uint64_t reserved_20_23:4;
483		uint64_t max_thr:8;
484		uint64_t reserved_8_11:4;
485		uint64_t min_thr:8;
486	} cn31xx;
487	struct cvmx_pow_qos_thrx_s cn38xx;
488	struct cvmx_pow_qos_thrx_s cn38xxp2;
489	struct cvmx_pow_qos_thrx_cn31xx cn50xx;
490	struct cvmx_pow_qos_thrx_cn52xx {
491		uint64_t reserved_58_63:6;
492		uint64_t des_cnt:10;
493		uint64_t reserved_46_47:2;
494		uint64_t buf_cnt:10;
495		uint64_t reserved_34_35:2;
496		uint64_t free_cnt:10;
497		uint64_t reserved_21_23:3;
498		uint64_t max_thr:9;
499		uint64_t reserved_9_11:3;
500		uint64_t min_thr:9;
501	} cn52xx;
502	struct cvmx_pow_qos_thrx_cn52xx cn52xxp1;
503	struct cvmx_pow_qos_thrx_s cn56xx;
504	struct cvmx_pow_qos_thrx_s cn56xxp1;
505	struct cvmx_pow_qos_thrx_s cn58xx;
506	struct cvmx_pow_qos_thrx_s cn58xxp1;
507	struct cvmx_pow_qos_thrx_cn63xx {
508		uint64_t reserved_59_63:5;
509		uint64_t des_cnt:11;
510		uint64_t reserved_47_47:1;
511		uint64_t buf_cnt:11;
512		uint64_t reserved_35_35:1;
513		uint64_t free_cnt:11;
514		uint64_t reserved_22_23:2;
515		uint64_t max_thr:10;
516		uint64_t reserved_10_11:2;
517		uint64_t min_thr:10;
518	} cn63xx;
519	struct cvmx_pow_qos_thrx_cn63xx cn63xxp1;
520};
521
522union cvmx_pow_ts_pc {
523	uint64_t u64;
524	struct cvmx_pow_ts_pc_s {
525		uint64_t reserved_32_63:32;
526		uint64_t ts_pc:32;
527	} s;
528	struct cvmx_pow_ts_pc_s cn30xx;
529	struct cvmx_pow_ts_pc_s cn31xx;
530	struct cvmx_pow_ts_pc_s cn38xx;
531	struct cvmx_pow_ts_pc_s cn38xxp2;
532	struct cvmx_pow_ts_pc_s cn50xx;
533	struct cvmx_pow_ts_pc_s cn52xx;
534	struct cvmx_pow_ts_pc_s cn52xxp1;
535	struct cvmx_pow_ts_pc_s cn56xx;
536	struct cvmx_pow_ts_pc_s cn56xxp1;
537	struct cvmx_pow_ts_pc_s cn58xx;
538	struct cvmx_pow_ts_pc_s cn58xxp1;
539	struct cvmx_pow_ts_pc_s cn63xx;
540	struct cvmx_pow_ts_pc_s cn63xxp1;
541};
542
543union cvmx_pow_wa_com_pc {
544	uint64_t u64;
545	struct cvmx_pow_wa_com_pc_s {
546		uint64_t reserved_32_63:32;
547		uint64_t wa_pc:32;
548	} s;
549	struct cvmx_pow_wa_com_pc_s cn30xx;
550	struct cvmx_pow_wa_com_pc_s cn31xx;
551	struct cvmx_pow_wa_com_pc_s cn38xx;
552	struct cvmx_pow_wa_com_pc_s cn38xxp2;
553	struct cvmx_pow_wa_com_pc_s cn50xx;
554	struct cvmx_pow_wa_com_pc_s cn52xx;
555	struct cvmx_pow_wa_com_pc_s cn52xxp1;
556	struct cvmx_pow_wa_com_pc_s cn56xx;
557	struct cvmx_pow_wa_com_pc_s cn56xxp1;
558	struct cvmx_pow_wa_com_pc_s cn58xx;
559	struct cvmx_pow_wa_com_pc_s cn58xxp1;
560	struct cvmx_pow_wa_com_pc_s cn63xx;
561	struct cvmx_pow_wa_com_pc_s cn63xxp1;
562};
563
564union cvmx_pow_wa_pcx {
565	uint64_t u64;
566	struct cvmx_pow_wa_pcx_s {
567		uint64_t reserved_32_63:32;
568		uint64_t wa_pc:32;
569	} s;
570	struct cvmx_pow_wa_pcx_s cn30xx;
571	struct cvmx_pow_wa_pcx_s cn31xx;
572	struct cvmx_pow_wa_pcx_s cn38xx;
573	struct cvmx_pow_wa_pcx_s cn38xxp2;
574	struct cvmx_pow_wa_pcx_s cn50xx;
575	struct cvmx_pow_wa_pcx_s cn52xx;
576	struct cvmx_pow_wa_pcx_s cn52xxp1;
577	struct cvmx_pow_wa_pcx_s cn56xx;
578	struct cvmx_pow_wa_pcx_s cn56xxp1;
579	struct cvmx_pow_wa_pcx_s cn58xx;
580	struct cvmx_pow_wa_pcx_s cn58xxp1;
581	struct cvmx_pow_wa_pcx_s cn63xx;
582	struct cvmx_pow_wa_pcx_s cn63xxp1;
583};
584
585union cvmx_pow_wq_int {
586	uint64_t u64;
587	struct cvmx_pow_wq_int_s {
588		uint64_t reserved_32_63:32;
589		uint64_t iq_dis:16;
590		uint64_t wq_int:16;
591	} s;
592	struct cvmx_pow_wq_int_s cn30xx;
593	struct cvmx_pow_wq_int_s cn31xx;
594	struct cvmx_pow_wq_int_s cn38xx;
595	struct cvmx_pow_wq_int_s cn38xxp2;
596	struct cvmx_pow_wq_int_s cn50xx;
597	struct cvmx_pow_wq_int_s cn52xx;
598	struct cvmx_pow_wq_int_s cn52xxp1;
599	struct cvmx_pow_wq_int_s cn56xx;
600	struct cvmx_pow_wq_int_s cn56xxp1;
601	struct cvmx_pow_wq_int_s cn58xx;
602	struct cvmx_pow_wq_int_s cn58xxp1;
603	struct cvmx_pow_wq_int_s cn63xx;
604	struct cvmx_pow_wq_int_s cn63xxp1;
605};
606
607union cvmx_pow_wq_int_cntx {
608	uint64_t u64;
609	struct cvmx_pow_wq_int_cntx_s {
610		uint64_t reserved_28_63:36;
611		uint64_t tc_cnt:4;
612		uint64_t ds_cnt:12;
613		uint64_t iq_cnt:12;
614	} s;
615	struct cvmx_pow_wq_int_cntx_cn30xx {
616		uint64_t reserved_28_63:36;
617		uint64_t tc_cnt:4;
618		uint64_t reserved_19_23:5;
619		uint64_t ds_cnt:7;
620		uint64_t reserved_7_11:5;
621		uint64_t iq_cnt:7;
622	} cn30xx;
623	struct cvmx_pow_wq_int_cntx_cn31xx {
624		uint64_t reserved_28_63:36;
625		uint64_t tc_cnt:4;
626		uint64_t reserved_21_23:3;
627		uint64_t ds_cnt:9;
628		uint64_t reserved_9_11:3;
629		uint64_t iq_cnt:9;
630	} cn31xx;
631	struct cvmx_pow_wq_int_cntx_s cn38xx;
632	struct cvmx_pow_wq_int_cntx_s cn38xxp2;
633	struct cvmx_pow_wq_int_cntx_cn31xx cn50xx;
634	struct cvmx_pow_wq_int_cntx_cn52xx {
635		uint64_t reserved_28_63:36;
636		uint64_t tc_cnt:4;
637		uint64_t reserved_22_23:2;
638		uint64_t ds_cnt:10;
639		uint64_t reserved_10_11:2;
640		uint64_t iq_cnt:10;
641	} cn52xx;
642	struct cvmx_pow_wq_int_cntx_cn52xx cn52xxp1;
643	struct cvmx_pow_wq_int_cntx_s cn56xx;
644	struct cvmx_pow_wq_int_cntx_s cn56xxp1;
645	struct cvmx_pow_wq_int_cntx_s cn58xx;
646	struct cvmx_pow_wq_int_cntx_s cn58xxp1;
647	struct cvmx_pow_wq_int_cntx_cn63xx {
648		uint64_t reserved_28_63:36;
649		uint64_t tc_cnt:4;
650		uint64_t reserved_23_23:1;
651		uint64_t ds_cnt:11;
652		uint64_t reserved_11_11:1;
653		uint64_t iq_cnt:11;
654	} cn63xx;
655	struct cvmx_pow_wq_int_cntx_cn63xx cn63xxp1;
656};
657
658union cvmx_pow_wq_int_pc {
659	uint64_t u64;
660	struct cvmx_pow_wq_int_pc_s {
661		uint64_t reserved_60_63:4;
662		uint64_t pc:28;
663		uint64_t reserved_28_31:4;
664		uint64_t pc_thr:20;
665		uint64_t reserved_0_7:8;
666	} s;
667	struct cvmx_pow_wq_int_pc_s cn30xx;
668	struct cvmx_pow_wq_int_pc_s cn31xx;
669	struct cvmx_pow_wq_int_pc_s cn38xx;
670	struct cvmx_pow_wq_int_pc_s cn38xxp2;
671	struct cvmx_pow_wq_int_pc_s cn50xx;
672	struct cvmx_pow_wq_int_pc_s cn52xx;
673	struct cvmx_pow_wq_int_pc_s cn52xxp1;
674	struct cvmx_pow_wq_int_pc_s cn56xx;
675	struct cvmx_pow_wq_int_pc_s cn56xxp1;
676	struct cvmx_pow_wq_int_pc_s cn58xx;
677	struct cvmx_pow_wq_int_pc_s cn58xxp1;
678	struct cvmx_pow_wq_int_pc_s cn63xx;
679	struct cvmx_pow_wq_int_pc_s cn63xxp1;
680};
681
682union cvmx_pow_wq_int_thrx {
683	uint64_t u64;
684	struct cvmx_pow_wq_int_thrx_s {
685		uint64_t reserved_29_63:35;
686		uint64_t tc_en:1;
687		uint64_t tc_thr:4;
688		uint64_t reserved_23_23:1;
689		uint64_t ds_thr:11;
690		uint64_t reserved_11_11:1;
691		uint64_t iq_thr:11;
692	} s;
693	struct cvmx_pow_wq_int_thrx_cn30xx {
694		uint64_t reserved_29_63:35;
695		uint64_t tc_en:1;
696		uint64_t tc_thr:4;
697		uint64_t reserved_18_23:6;
698		uint64_t ds_thr:6;
699		uint64_t reserved_6_11:6;
700		uint64_t iq_thr:6;
701	} cn30xx;
702	struct cvmx_pow_wq_int_thrx_cn31xx {
703		uint64_t reserved_29_63:35;
704		uint64_t tc_en:1;
705		uint64_t tc_thr:4;
706		uint64_t reserved_20_23:4;
707		uint64_t ds_thr:8;
708		uint64_t reserved_8_11:4;
709		uint64_t iq_thr:8;
710	} cn31xx;
711	struct cvmx_pow_wq_int_thrx_s cn38xx;
712	struct cvmx_pow_wq_int_thrx_s cn38xxp2;
713	struct cvmx_pow_wq_int_thrx_cn31xx cn50xx;
714	struct cvmx_pow_wq_int_thrx_cn52xx {
715		uint64_t reserved_29_63:35;
716		uint64_t tc_en:1;
717		uint64_t tc_thr:4;
718		uint64_t reserved_21_23:3;
719		uint64_t ds_thr:9;
720		uint64_t reserved_9_11:3;
721		uint64_t iq_thr:9;
722	} cn52xx;
723	struct cvmx_pow_wq_int_thrx_cn52xx cn52xxp1;
724	struct cvmx_pow_wq_int_thrx_s cn56xx;
725	struct cvmx_pow_wq_int_thrx_s cn56xxp1;
726	struct cvmx_pow_wq_int_thrx_s cn58xx;
727	struct cvmx_pow_wq_int_thrx_s cn58xxp1;
728	struct cvmx_pow_wq_int_thrx_cn63xx {
729		uint64_t reserved_29_63:35;
730		uint64_t tc_en:1;
731		uint64_t tc_thr:4;
732		uint64_t reserved_22_23:2;
733		uint64_t ds_thr:10;
734		uint64_t reserved_10_11:2;
735		uint64_t iq_thr:10;
736	} cn63xx;
737	struct cvmx_pow_wq_int_thrx_cn63xx cn63xxp1;
738};
739
740union cvmx_pow_ws_pcx {
741	uint64_t u64;
742	struct cvmx_pow_ws_pcx_s {
743		uint64_t reserved_32_63:32;
744		uint64_t ws_pc:32;
745	} s;
746	struct cvmx_pow_ws_pcx_s cn30xx;
747	struct cvmx_pow_ws_pcx_s cn31xx;
748	struct cvmx_pow_ws_pcx_s cn38xx;
749	struct cvmx_pow_ws_pcx_s cn38xxp2;
750	struct cvmx_pow_ws_pcx_s cn50xx;
751	struct cvmx_pow_ws_pcx_s cn52xx;
752	struct cvmx_pow_ws_pcx_s cn52xxp1;
753	struct cvmx_pow_ws_pcx_s cn56xx;
754	struct cvmx_pow_ws_pcx_s cn56xxp1;
755	struct cvmx_pow_ws_pcx_s cn58xx;
756	struct cvmx_pow_ws_pcx_s cn58xxp1;
757	struct cvmx_pow_ws_pcx_s cn63xx;
758	struct cvmx_pow_ws_pcx_s cn63xxp1;
759};
760
761#endif