Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
cvmx-npi-defs.h
Go to the documentation of this file.
1 /***********************license start***************
2  * Author: Cavium Networks
3  *
4  * Contact: [email protected]
5  * This file is part of the OCTEON SDK
6  *
7  * Copyright (c) 2003-2012 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_NPI_DEFS_H__
29 #define __CVMX_NPI_DEFS_H__
30 
31 #define CVMX_NPI_BASE_ADDR_INPUT0 CVMX_NPI_BASE_ADDR_INPUTX(0)
32 #define CVMX_NPI_BASE_ADDR_INPUT1 CVMX_NPI_BASE_ADDR_INPUTX(1)
33 #define CVMX_NPI_BASE_ADDR_INPUT2 CVMX_NPI_BASE_ADDR_INPUTX(2)
34 #define CVMX_NPI_BASE_ADDR_INPUT3 CVMX_NPI_BASE_ADDR_INPUTX(3)
35 #define CVMX_NPI_BASE_ADDR_INPUTX(offset) (CVMX_ADD_IO_SEG(0x00011F0000000070ull) + ((offset) & 3) * 16)
36 #define CVMX_NPI_BASE_ADDR_OUTPUT0 CVMX_NPI_BASE_ADDR_OUTPUTX(0)
37 #define CVMX_NPI_BASE_ADDR_OUTPUT1 CVMX_NPI_BASE_ADDR_OUTPUTX(1)
38 #define CVMX_NPI_BASE_ADDR_OUTPUT2 CVMX_NPI_BASE_ADDR_OUTPUTX(2)
39 #define CVMX_NPI_BASE_ADDR_OUTPUT3 CVMX_NPI_BASE_ADDR_OUTPUTX(3)
40 #define CVMX_NPI_BASE_ADDR_OUTPUTX(offset) (CVMX_ADD_IO_SEG(0x00011F00000000B8ull) + ((offset) & 3) * 8)
41 #define CVMX_NPI_BIST_STATUS (CVMX_ADD_IO_SEG(0x00011F00000003F8ull))
42 #define CVMX_NPI_BUFF_SIZE_OUTPUT0 CVMX_NPI_BUFF_SIZE_OUTPUTX(0)
43 #define CVMX_NPI_BUFF_SIZE_OUTPUT1 CVMX_NPI_BUFF_SIZE_OUTPUTX(1)
44 #define CVMX_NPI_BUFF_SIZE_OUTPUT2 CVMX_NPI_BUFF_SIZE_OUTPUTX(2)
45 #define CVMX_NPI_BUFF_SIZE_OUTPUT3 CVMX_NPI_BUFF_SIZE_OUTPUTX(3)
46 #define CVMX_NPI_BUFF_SIZE_OUTPUTX(offset) (CVMX_ADD_IO_SEG(0x00011F00000000E0ull) + ((offset) & 3) * 8)
47 #define CVMX_NPI_COMP_CTL (CVMX_ADD_IO_SEG(0x00011F0000000218ull))
48 #define CVMX_NPI_CTL_STATUS (CVMX_ADD_IO_SEG(0x00011F0000000010ull))
49 #define CVMX_NPI_DBG_SELECT (CVMX_ADD_IO_SEG(0x00011F0000000008ull))
50 #define CVMX_NPI_DMA_CONTROL (CVMX_ADD_IO_SEG(0x00011F0000000128ull))
51 #define CVMX_NPI_DMA_HIGHP_COUNTS (CVMX_ADD_IO_SEG(0x00011F0000000148ull))
52 #define CVMX_NPI_DMA_HIGHP_NADDR (CVMX_ADD_IO_SEG(0x00011F0000000158ull))
53 #define CVMX_NPI_DMA_LOWP_COUNTS (CVMX_ADD_IO_SEG(0x00011F0000000140ull))
54 #define CVMX_NPI_DMA_LOWP_NADDR (CVMX_ADD_IO_SEG(0x00011F0000000150ull))
55 #define CVMX_NPI_HIGHP_DBELL (CVMX_ADD_IO_SEG(0x00011F0000000120ull))
56 #define CVMX_NPI_HIGHP_IBUFF_SADDR (CVMX_ADD_IO_SEG(0x00011F0000000110ull))
57 #define CVMX_NPI_INPUT_CONTROL (CVMX_ADD_IO_SEG(0x00011F0000000138ull))
58 #define CVMX_NPI_INT_ENB (CVMX_ADD_IO_SEG(0x00011F0000000020ull))
59 #define CVMX_NPI_INT_SUM (CVMX_ADD_IO_SEG(0x00011F0000000018ull))
60 #define CVMX_NPI_LOWP_DBELL (CVMX_ADD_IO_SEG(0x00011F0000000118ull))
61 #define CVMX_NPI_LOWP_IBUFF_SADDR (CVMX_ADD_IO_SEG(0x00011F0000000108ull))
62 #define CVMX_NPI_MEM_ACCESS_SUBID3 CVMX_NPI_MEM_ACCESS_SUBIDX(3)
63 #define CVMX_NPI_MEM_ACCESS_SUBID4 CVMX_NPI_MEM_ACCESS_SUBIDX(4)
64 #define CVMX_NPI_MEM_ACCESS_SUBID5 CVMX_NPI_MEM_ACCESS_SUBIDX(5)
65 #define CVMX_NPI_MEM_ACCESS_SUBID6 CVMX_NPI_MEM_ACCESS_SUBIDX(6)
66 #define CVMX_NPI_MEM_ACCESS_SUBIDX(offset) (CVMX_ADD_IO_SEG(0x00011F0000000028ull) + ((offset) & 7) * 8 - 8*3)
67 #define CVMX_NPI_MSI_RCV (0x0000000000000190ull)
68 #define CVMX_NPI_NPI_MSI_RCV (CVMX_ADD_IO_SEG(0x00011F0000001190ull))
69 #define CVMX_NPI_NUM_DESC_OUTPUT0 CVMX_NPI_NUM_DESC_OUTPUTX(0)
70 #define CVMX_NPI_NUM_DESC_OUTPUT1 CVMX_NPI_NUM_DESC_OUTPUTX(1)
71 #define CVMX_NPI_NUM_DESC_OUTPUT2 CVMX_NPI_NUM_DESC_OUTPUTX(2)
72 #define CVMX_NPI_NUM_DESC_OUTPUT3 CVMX_NPI_NUM_DESC_OUTPUTX(3)
73 #define CVMX_NPI_NUM_DESC_OUTPUTX(offset) (CVMX_ADD_IO_SEG(0x00011F0000000050ull) + ((offset) & 3) * 8)
74 #define CVMX_NPI_OUTPUT_CONTROL (CVMX_ADD_IO_SEG(0x00011F0000000100ull))
75 #define CVMX_NPI_P0_DBPAIR_ADDR CVMX_NPI_PX_DBPAIR_ADDR(0)
76 #define CVMX_NPI_P0_INSTR_ADDR CVMX_NPI_PX_INSTR_ADDR(0)
77 #define CVMX_NPI_P0_INSTR_CNTS CVMX_NPI_PX_INSTR_CNTS(0)
78 #define CVMX_NPI_P0_PAIR_CNTS CVMX_NPI_PX_PAIR_CNTS(0)
79 #define CVMX_NPI_P1_DBPAIR_ADDR CVMX_NPI_PX_DBPAIR_ADDR(1)
80 #define CVMX_NPI_P1_INSTR_ADDR CVMX_NPI_PX_INSTR_ADDR(1)
81 #define CVMX_NPI_P1_INSTR_CNTS CVMX_NPI_PX_INSTR_CNTS(1)
82 #define CVMX_NPI_P1_PAIR_CNTS CVMX_NPI_PX_PAIR_CNTS(1)
83 #define CVMX_NPI_P2_DBPAIR_ADDR CVMX_NPI_PX_DBPAIR_ADDR(2)
84 #define CVMX_NPI_P2_INSTR_ADDR CVMX_NPI_PX_INSTR_ADDR(2)
85 #define CVMX_NPI_P2_INSTR_CNTS CVMX_NPI_PX_INSTR_CNTS(2)
86 #define CVMX_NPI_P2_PAIR_CNTS CVMX_NPI_PX_PAIR_CNTS(2)
87 #define CVMX_NPI_P3_DBPAIR_ADDR CVMX_NPI_PX_DBPAIR_ADDR(3)
88 #define CVMX_NPI_P3_INSTR_ADDR CVMX_NPI_PX_INSTR_ADDR(3)
89 #define CVMX_NPI_P3_INSTR_CNTS CVMX_NPI_PX_INSTR_CNTS(3)
90 #define CVMX_NPI_P3_PAIR_CNTS CVMX_NPI_PX_PAIR_CNTS(3)
91 #define CVMX_NPI_PCI_BAR1_INDEXX(offset) (CVMX_ADD_IO_SEG(0x00011F0000001100ull) + ((offset) & 31) * 4)
92 #define CVMX_NPI_PCI_BIST_REG (CVMX_ADD_IO_SEG(0x00011F00000011C0ull))
93 #define CVMX_NPI_PCI_BURST_SIZE (CVMX_ADD_IO_SEG(0x00011F00000000D8ull))
94 #define CVMX_NPI_PCI_CFG00 (CVMX_ADD_IO_SEG(0x00011F0000001800ull))
95 #define CVMX_NPI_PCI_CFG01 (CVMX_ADD_IO_SEG(0x00011F0000001804ull))
96 #define CVMX_NPI_PCI_CFG02 (CVMX_ADD_IO_SEG(0x00011F0000001808ull))
97 #define CVMX_NPI_PCI_CFG03 (CVMX_ADD_IO_SEG(0x00011F000000180Cull))
98 #define CVMX_NPI_PCI_CFG04 (CVMX_ADD_IO_SEG(0x00011F0000001810ull))
99 #define CVMX_NPI_PCI_CFG05 (CVMX_ADD_IO_SEG(0x00011F0000001814ull))
100 #define CVMX_NPI_PCI_CFG06 (CVMX_ADD_IO_SEG(0x00011F0000001818ull))
101 #define CVMX_NPI_PCI_CFG07 (CVMX_ADD_IO_SEG(0x00011F000000181Cull))
102 #define CVMX_NPI_PCI_CFG08 (CVMX_ADD_IO_SEG(0x00011F0000001820ull))
103 #define CVMX_NPI_PCI_CFG09 (CVMX_ADD_IO_SEG(0x00011F0000001824ull))
104 #define CVMX_NPI_PCI_CFG10 (CVMX_ADD_IO_SEG(0x00011F0000001828ull))
105 #define CVMX_NPI_PCI_CFG11 (CVMX_ADD_IO_SEG(0x00011F000000182Cull))
106 #define CVMX_NPI_PCI_CFG12 (CVMX_ADD_IO_SEG(0x00011F0000001830ull))
107 #define CVMX_NPI_PCI_CFG13 (CVMX_ADD_IO_SEG(0x00011F0000001834ull))
108 #define CVMX_NPI_PCI_CFG15 (CVMX_ADD_IO_SEG(0x00011F000000183Cull))
109 #define CVMX_NPI_PCI_CFG16 (CVMX_ADD_IO_SEG(0x00011F0000001840ull))
110 #define CVMX_NPI_PCI_CFG17 (CVMX_ADD_IO_SEG(0x00011F0000001844ull))
111 #define CVMX_NPI_PCI_CFG18 (CVMX_ADD_IO_SEG(0x00011F0000001848ull))
112 #define CVMX_NPI_PCI_CFG19 (CVMX_ADD_IO_SEG(0x00011F000000184Cull))
113 #define CVMX_NPI_PCI_CFG20 (CVMX_ADD_IO_SEG(0x00011F0000001850ull))
114 #define CVMX_NPI_PCI_CFG21 (CVMX_ADD_IO_SEG(0x00011F0000001854ull))
115 #define CVMX_NPI_PCI_CFG22 (CVMX_ADD_IO_SEG(0x00011F0000001858ull))
116 #define CVMX_NPI_PCI_CFG56 (CVMX_ADD_IO_SEG(0x00011F00000018E0ull))
117 #define CVMX_NPI_PCI_CFG57 (CVMX_ADD_IO_SEG(0x00011F00000018E4ull))
118 #define CVMX_NPI_PCI_CFG58 (CVMX_ADD_IO_SEG(0x00011F00000018E8ull))
119 #define CVMX_NPI_PCI_CFG59 (CVMX_ADD_IO_SEG(0x00011F00000018ECull))
120 #define CVMX_NPI_PCI_CFG60 (CVMX_ADD_IO_SEG(0x00011F00000018F0ull))
121 #define CVMX_NPI_PCI_CFG61 (CVMX_ADD_IO_SEG(0x00011F00000018F4ull))
122 #define CVMX_NPI_PCI_CFG62 (CVMX_ADD_IO_SEG(0x00011F00000018F8ull))
123 #define CVMX_NPI_PCI_CFG63 (CVMX_ADD_IO_SEG(0x00011F00000018FCull))
124 #define CVMX_NPI_PCI_CNT_REG (CVMX_ADD_IO_SEG(0x00011F00000011B8ull))
125 #define CVMX_NPI_PCI_CTL_STATUS_2 (CVMX_ADD_IO_SEG(0x00011F000000118Cull))
126 #define CVMX_NPI_PCI_INT_ARB_CFG (CVMX_ADD_IO_SEG(0x00011F0000000130ull))
127 #define CVMX_NPI_PCI_INT_ENB2 (CVMX_ADD_IO_SEG(0x00011F00000011A0ull))
128 #define CVMX_NPI_PCI_INT_SUM2 (CVMX_ADD_IO_SEG(0x00011F0000001198ull))
129 #define CVMX_NPI_PCI_READ_CMD (CVMX_ADD_IO_SEG(0x00011F0000000048ull))
130 #define CVMX_NPI_PCI_READ_CMD_6 (CVMX_ADD_IO_SEG(0x00011F0000001180ull))
131 #define CVMX_NPI_PCI_READ_CMD_C (CVMX_ADD_IO_SEG(0x00011F0000001184ull))
132 #define CVMX_NPI_PCI_READ_CMD_E (CVMX_ADD_IO_SEG(0x00011F0000001188ull))
133 #define CVMX_NPI_PCI_SCM_REG (CVMX_ADD_IO_SEG(0x00011F00000011A8ull))
134 #define CVMX_NPI_PCI_TSR_REG (CVMX_ADD_IO_SEG(0x00011F00000011B0ull))
135 #define CVMX_NPI_PORT32_INSTR_HDR (CVMX_ADD_IO_SEG(0x00011F00000001F8ull))
136 #define CVMX_NPI_PORT33_INSTR_HDR (CVMX_ADD_IO_SEG(0x00011F0000000200ull))
137 #define CVMX_NPI_PORT34_INSTR_HDR (CVMX_ADD_IO_SEG(0x00011F0000000208ull))
138 #define CVMX_NPI_PORT35_INSTR_HDR (CVMX_ADD_IO_SEG(0x00011F0000000210ull))
139 #define CVMX_NPI_PORT_BP_CONTROL (CVMX_ADD_IO_SEG(0x00011F00000001F0ull))
140 #define CVMX_NPI_PX_DBPAIR_ADDR(offset) (CVMX_ADD_IO_SEG(0x00011F0000000180ull) + ((offset) & 3) * 8)
141 #define CVMX_NPI_PX_INSTR_ADDR(offset) (CVMX_ADD_IO_SEG(0x00011F00000001C0ull) + ((offset) & 3) * 8)
142 #define CVMX_NPI_PX_INSTR_CNTS(offset) (CVMX_ADD_IO_SEG(0x00011F00000001A0ull) + ((offset) & 3) * 8)
143 #define CVMX_NPI_PX_PAIR_CNTS(offset) (CVMX_ADD_IO_SEG(0x00011F0000000160ull) + ((offset) & 3) * 8)
144 #define CVMX_NPI_RSL_INT_BLOCKS (CVMX_ADD_IO_SEG(0x00011F0000000000ull))
145 #define CVMX_NPI_SIZE_INPUT0 CVMX_NPI_SIZE_INPUTX(0)
146 #define CVMX_NPI_SIZE_INPUT1 CVMX_NPI_SIZE_INPUTX(1)
147 #define CVMX_NPI_SIZE_INPUT2 CVMX_NPI_SIZE_INPUTX(2)
148 #define CVMX_NPI_SIZE_INPUT3 CVMX_NPI_SIZE_INPUTX(3)
149 #define CVMX_NPI_SIZE_INPUTX(offset) (CVMX_ADD_IO_SEG(0x00011F0000000078ull) + ((offset) & 3) * 16)
150 #define CVMX_NPI_WIN_READ_TO (CVMX_ADD_IO_SEG(0x00011F00000001E0ull))
151 
155 #ifdef __BIG_ENDIAN_BITFIELD
156  uint64_t baddr:61;
158 #else
161 #endif
162  } s;
170 };
171 
175 #ifdef __BIG_ENDIAN_BITFIELD
176  uint64_t baddr:61;
178 #else
181 #endif
182  } s;
190 };
191 
195 #ifdef __BIG_ENDIAN_BITFIELD
197  uint64_t csr_bs:1;
198  uint64_t dif_bs:1;
199  uint64_t rdp_bs:1;
200  uint64_t pcnc_bs:1;
201  uint64_t pcn_bs:1;
202  uint64_t rdn_bs:1;
203  uint64_t pcac_bs:1;
204  uint64_t pcad_bs:1;
205  uint64_t rdnl_bs:1;
206  uint64_t pgf_bs:1;
207  uint64_t pig_bs:1;
208  uint64_t pof0_bs:1;
209  uint64_t pof1_bs:1;
210  uint64_t pof2_bs:1;
211  uint64_t pof3_bs:1;
212  uint64_t pos_bs:1;
213  uint64_t nus_bs:1;
214  uint64_t dob_bs:1;
215  uint64_t pdf_bs:1;
216  uint64_t dpi_bs:1;
217 #else
239 #endif
240  } s;
242 #ifdef __BIG_ENDIAN_BITFIELD
244  uint64_t csr_bs:1;
245  uint64_t dif_bs:1;
246  uint64_t rdp_bs:1;
247  uint64_t pcnc_bs:1;
248  uint64_t pcn_bs:1;
249  uint64_t rdn_bs:1;
250  uint64_t pcac_bs:1;
251  uint64_t pcad_bs:1;
252  uint64_t rdnl_bs:1;
253  uint64_t pgf_bs:1;
254  uint64_t pig_bs:1;
255  uint64_t pof0_bs:1;
257  uint64_t pos_bs:1;
258  uint64_t nus_bs:1;
259  uint64_t dob_bs:1;
260  uint64_t pdf_bs:1;
261  uint64_t dpi_bs:1;
262 #else
282 #endif
283  } cn30xx;
288 #ifdef __BIG_ENDIAN_BITFIELD
290  uint64_t csr_bs:1;
291  uint64_t dif_bs:1;
292  uint64_t rdp_bs:1;
293  uint64_t pcnc_bs:1;
294  uint64_t pcn_bs:1;
295  uint64_t rdn_bs:1;
296  uint64_t pcac_bs:1;
297  uint64_t pcad_bs:1;
298  uint64_t rdnl_bs:1;
299  uint64_t pgf_bs:1;
300  uint64_t pig_bs:1;
301  uint64_t pof0_bs:1;
302  uint64_t pof1_bs:1;
304  uint64_t pos_bs:1;
305  uint64_t nus_bs:1;
306  uint64_t dob_bs:1;
307  uint64_t pdf_bs:1;
308  uint64_t dpi_bs:1;
309 #else
330 #endif
331  } cn50xx;
334 };
335 
339 #ifdef __BIG_ENDIAN_BITFIELD
341  uint64_t isize:7;
342  uint64_t bsize:16;
343 #else
347 #endif
348  } s;
356 };
357 
361 #ifdef __BIG_ENDIAN_BITFIELD
363  uint64_t pctl:5;
364  uint64_t nctl:5;
365 #else
369 #endif
370  } s;
374 };
375 
379 #ifdef __BIG_ENDIAN_BITFIELD
381  uint64_t chip_rev:8;
382  uint64_t dis_pniw:1;
383  uint64_t out3_enb:1;
384  uint64_t out2_enb:1;
385  uint64_t out1_enb:1;
386  uint64_t out0_enb:1;
387  uint64_t ins3_enb:1;
388  uint64_t ins2_enb:1;
389  uint64_t ins1_enb:1;
390  uint64_t ins0_enb:1;
391  uint64_t ins3_64b:1;
392  uint64_t ins2_64b:1;
393  uint64_t ins1_64b:1;
394  uint64_t ins0_64b:1;
395  uint64_t pci_wdis:1;
396  uint64_t wait_com:1;
398  uint64_t max_word:5;
400  uint64_t timer:10;
401 #else
423 #endif
424  } s;
426 #ifdef __BIG_ENDIAN_BITFIELD
428  uint64_t chip_rev:8;
429  uint64_t dis_pniw:1;
431  uint64_t out0_enb:1;
433  uint64_t ins0_enb:1;
435  uint64_t ins0_64b:1;
436  uint64_t pci_wdis:1;
437  uint64_t wait_com:1;
439  uint64_t max_word:5;
441  uint64_t timer:10;
442 #else
458 #endif
459  } cn30xx;
461 #ifdef __BIG_ENDIAN_BITFIELD
463  uint64_t chip_rev:8;
464  uint64_t dis_pniw:1;
466  uint64_t out1_enb:1;
467  uint64_t out0_enb:1;
469  uint64_t ins1_enb:1;
470  uint64_t ins0_enb:1;
472  uint64_t ins1_64b:1;
473  uint64_t ins0_64b:1;
474  uint64_t pci_wdis:1;
475  uint64_t wait_com:1;
477  uint64_t max_word:5;
479  uint64_t timer:10;
480 #else
499 #endif
500  } cn31xx;
506 };
507 
511 #ifdef __BIG_ENDIAN_BITFIELD
513  uint64_t dbg_sel:16;
514 #else
517 #endif
518  } s;
526 };
527 
531 #ifdef __BIG_ENDIAN_BITFIELD
533  uint64_t b0_lend:1;
534  uint64_t dwb_denb:1;
535  uint64_t dwb_ichk:9;
536  uint64_t fpa_que:3;
537  uint64_t o_add1:1;
538  uint64_t o_ro:1;
539  uint64_t o_ns:1;
540  uint64_t o_es:2;
541  uint64_t o_mode:1;
542  uint64_t hp_enb:1;
543  uint64_t lp_enb:1;
544  uint64_t csize:14;
545 #else
559 #endif
560  } s;
568 };
569 
573 #ifdef __BIG_ENDIAN_BITFIELD
575  uint64_t fcnt:7;
576  uint64_t dbell:32;
577 #else
581 #endif
582  } s;
590 };
591 
595 #ifdef __BIG_ENDIAN_BITFIELD
597  uint64_t state:4;
598  uint64_t addr:36;
599 #else
603 #endif
604  } s;
612 };
613 
617 #ifdef __BIG_ENDIAN_BITFIELD
619  uint64_t fcnt:7;
620  uint64_t dbell:32;
621 #else
625 #endif
626  } s;
634 };
635 
639 #ifdef __BIG_ENDIAN_BITFIELD
641  uint64_t state:4;
642  uint64_t addr:36;
643 #else
647 #endif
648  } s;
656 };
657 
661 #ifdef __BIG_ENDIAN_BITFIELD
663  uint64_t dbell:16;
664 #else
667 #endif
668  } s;
676 };
677 
681 #ifdef __BIG_ENDIAN_BITFIELD
683  uint64_t saddr:36;
684 #else
687 #endif
688  } s;
696 };
697 
701 #ifdef __BIG_ENDIAN_BITFIELD
703  uint64_t pkt_rr:1;
704  uint64_t pbp_dhi:13;
705  uint64_t d_nsr:1;
706  uint64_t d_esr:2;
707  uint64_t d_ror:1;
708  uint64_t use_csr:1;
709  uint64_t nsr:1;
710  uint64_t esr:2;
711  uint64_t ror:1;
712 #else
723 #endif
724  } s;
726 #ifdef __BIG_ENDIAN_BITFIELD
728  uint64_t pbp_dhi:13;
729  uint64_t d_nsr:1;
730  uint64_t d_esr:2;
731  uint64_t d_ror:1;
732  uint64_t use_csr:1;
733  uint64_t nsr:1;
734  uint64_t esr:2;
735  uint64_t ror:1;
736 #else
746 #endif
747  } cn30xx;
754 };
755 
759 #ifdef __BIG_ENDIAN_BITFIELD
761  uint64_t q1_a_f:1;
762  uint64_t q1_s_e:1;
763  uint64_t pdf_p_f:1;
764  uint64_t pdf_p_e:1;
765  uint64_t pcf_p_f:1;
766  uint64_t pcf_p_e:1;
767  uint64_t rdx_s_e:1;
768  uint64_t rwx_s_e:1;
769  uint64_t pnc_a_f:1;
770  uint64_t pnc_s_e:1;
771  uint64_t com_a_f:1;
772  uint64_t com_s_e:1;
773  uint64_t q3_a_f:1;
774  uint64_t q3_s_e:1;
775  uint64_t q2_a_f:1;
776  uint64_t q2_s_e:1;
777  uint64_t pcr_a_f:1;
778  uint64_t pcr_s_e:1;
779  uint64_t fcr_a_f:1;
780  uint64_t fcr_s_e:1;
781  uint64_t iobdma:1;
782  uint64_t p_dperr:1;
783  uint64_t win_rto:1;
784  uint64_t i3_pperr:1;
785  uint64_t i2_pperr:1;
786  uint64_t i1_pperr:1;
787  uint64_t i0_pperr:1;
788  uint64_t p3_ptout:1;
789  uint64_t p2_ptout:1;
790  uint64_t p1_ptout:1;
791  uint64_t p0_ptout:1;
792  uint64_t p3_pperr:1;
793  uint64_t p2_pperr:1;
794  uint64_t p1_pperr:1;
795  uint64_t p0_pperr:1;
796  uint64_t g3_rtout:1;
797  uint64_t g2_rtout:1;
798  uint64_t g1_rtout:1;
799  uint64_t g0_rtout:1;
800  uint64_t p3_perr:1;
801  uint64_t p2_perr:1;
802  uint64_t p1_perr:1;
803  uint64_t p0_perr:1;
804  uint64_t p3_rtout:1;
805  uint64_t p2_rtout:1;
806  uint64_t p1_rtout:1;
807  uint64_t p0_rtout:1;
808  uint64_t i3_overf:1;
809  uint64_t i2_overf:1;
810  uint64_t i1_overf:1;
811  uint64_t i0_overf:1;
812  uint64_t i3_rtout:1;
813  uint64_t i2_rtout:1;
814  uint64_t i1_rtout:1;
815  uint64_t i0_rtout:1;
816  uint64_t po3_2sml:1;
817  uint64_t po2_2sml:1;
818  uint64_t po1_2sml:1;
819  uint64_t po0_2sml:1;
820  uint64_t pci_rsl:1;
821  uint64_t rml_wto:1;
822  uint64_t rml_rto:1;
823 #else
887 #endif
888  } s;
890 #ifdef __BIG_ENDIAN_BITFIELD
892  uint64_t q1_a_f:1;
893  uint64_t q1_s_e:1;
894  uint64_t pdf_p_f:1;
895  uint64_t pdf_p_e:1;
896  uint64_t pcf_p_f:1;
897  uint64_t pcf_p_e:1;
898  uint64_t rdx_s_e:1;
899  uint64_t rwx_s_e:1;
900  uint64_t pnc_a_f:1;
901  uint64_t pnc_s_e:1;
902  uint64_t com_a_f:1;
903  uint64_t com_s_e:1;
904  uint64_t q3_a_f:1;
905  uint64_t q3_s_e:1;
906  uint64_t q2_a_f:1;
907  uint64_t q2_s_e:1;
908  uint64_t pcr_a_f:1;
909  uint64_t pcr_s_e:1;
910  uint64_t fcr_a_f:1;
911  uint64_t fcr_s_e:1;
912  uint64_t iobdma:1;
913  uint64_t p_dperr:1;
914  uint64_t win_rto:1;
916  uint64_t i0_pperr:1;
918  uint64_t p0_ptout:1;
920  uint64_t p0_pperr:1;
922  uint64_t g0_rtout:1;
924  uint64_t p0_perr:1;
926  uint64_t p0_rtout:1;
928  uint64_t i0_overf:1;
930  uint64_t i0_rtout:1;
932  uint64_t po0_2sml:1;
933  uint64_t pci_rsl:1;
934  uint64_t rml_wto:1;
935  uint64_t rml_rto:1;
936 #else
982 #endif
983  } cn30xx;
985 #ifdef __BIG_ENDIAN_BITFIELD
987  uint64_t q1_a_f:1;
988  uint64_t q1_s_e:1;
989  uint64_t pdf_p_f:1;
990  uint64_t pdf_p_e:1;
991  uint64_t pcf_p_f:1;
992  uint64_t pcf_p_e:1;
993  uint64_t rdx_s_e:1;
994  uint64_t rwx_s_e:1;
995  uint64_t pnc_a_f:1;
996  uint64_t pnc_s_e:1;
997  uint64_t com_a_f:1;
998  uint64_t com_s_e:1;
999  uint64_t q3_a_f:1;
1000  uint64_t q3_s_e:1;
1001  uint64_t q2_a_f:1;
1002  uint64_t q2_s_e:1;
1003  uint64_t pcr_a_f:1;
1004  uint64_t pcr_s_e:1;
1005  uint64_t fcr_a_f:1;
1006  uint64_t fcr_s_e:1;
1007  uint64_t iobdma:1;
1008  uint64_t p_dperr:1;
1009  uint64_t win_rto:1;
1011  uint64_t i1_pperr:1;
1012  uint64_t i0_pperr:1;
1014  uint64_t p1_ptout:1;
1015  uint64_t p0_ptout:1;
1017  uint64_t p1_pperr:1;
1018  uint64_t p0_pperr:1;
1020  uint64_t g1_rtout:1;
1021  uint64_t g0_rtout:1;
1023  uint64_t p1_perr:1;
1024  uint64_t p0_perr:1;
1026  uint64_t p1_rtout:1;
1027  uint64_t p0_rtout:1;
1029  uint64_t i1_overf:1;
1030  uint64_t i0_overf:1;
1032  uint64_t i1_rtout:1;
1033  uint64_t i0_rtout:1;
1035  uint64_t po1_2sml:1;
1036  uint64_t po0_2sml:1;
1037  uint64_t pci_rsl:1;
1038  uint64_t rml_wto:1;
1039  uint64_t rml_rto:1;
1040 #else
1095 #endif
1096  } cn31xx;
1099 #ifdef __BIG_ENDIAN_BITFIELD
1101  uint64_t iobdma:1;
1102  uint64_t p_dperr:1;
1103  uint64_t win_rto:1;
1104  uint64_t i3_pperr:1;
1105  uint64_t i2_pperr:1;
1106  uint64_t i1_pperr:1;
1107  uint64_t i0_pperr:1;
1108  uint64_t p3_ptout:1;
1109  uint64_t p2_ptout:1;
1110  uint64_t p1_ptout:1;
1111  uint64_t p0_ptout:1;
1112  uint64_t p3_pperr:1;
1113  uint64_t p2_pperr:1;
1114  uint64_t p1_pperr:1;
1115  uint64_t p0_pperr:1;
1116  uint64_t g3_rtout:1;
1117  uint64_t g2_rtout:1;
1118  uint64_t g1_rtout:1;
1119  uint64_t g0_rtout:1;
1120  uint64_t p3_perr:1;
1121  uint64_t p2_perr:1;
1122  uint64_t p1_perr:1;
1123  uint64_t p0_perr:1;
1124  uint64_t p3_rtout:1;
1125  uint64_t p2_rtout:1;
1126  uint64_t p1_rtout:1;
1127  uint64_t p0_rtout:1;
1128  uint64_t i3_overf:1;
1129  uint64_t i2_overf:1;
1130  uint64_t i1_overf:1;
1131  uint64_t i0_overf:1;
1132  uint64_t i3_rtout:1;
1133  uint64_t i2_rtout:1;
1134  uint64_t i1_rtout:1;
1135  uint64_t i0_rtout:1;
1136  uint64_t po3_2sml:1;
1137  uint64_t po2_2sml:1;
1138  uint64_t po1_2sml:1;
1139  uint64_t po0_2sml:1;
1140  uint64_t pci_rsl:1;
1141  uint64_t rml_wto:1;
1142  uint64_t rml_rto:1;
1143 #else
1187 #endif
1188  } cn38xxp2;
1192 };
1193 
1197 #ifdef __BIG_ENDIAN_BITFIELD
1199  uint64_t q1_a_f:1;
1200  uint64_t q1_s_e:1;
1201  uint64_t pdf_p_f:1;
1202  uint64_t pdf_p_e:1;
1203  uint64_t pcf_p_f:1;
1204  uint64_t pcf_p_e:1;
1205  uint64_t rdx_s_e:1;
1206  uint64_t rwx_s_e:1;
1207  uint64_t pnc_a_f:1;
1208  uint64_t pnc_s_e:1;
1209  uint64_t com_a_f:1;
1210  uint64_t com_s_e:1;
1211  uint64_t q3_a_f:1;
1212  uint64_t q3_s_e:1;
1213  uint64_t q2_a_f:1;
1214  uint64_t q2_s_e:1;
1215  uint64_t pcr_a_f:1;
1216  uint64_t pcr_s_e:1;
1217  uint64_t fcr_a_f:1;
1218  uint64_t fcr_s_e:1;
1219  uint64_t iobdma:1;
1220  uint64_t p_dperr:1;
1221  uint64_t win_rto:1;
1222  uint64_t i3_pperr:1;
1223  uint64_t i2_pperr:1;
1224  uint64_t i1_pperr:1;
1225  uint64_t i0_pperr:1;
1226  uint64_t p3_ptout:1;
1227  uint64_t p2_ptout:1;
1228  uint64_t p1_ptout:1;
1229  uint64_t p0_ptout:1;
1230  uint64_t p3_pperr:1;
1231  uint64_t p2_pperr:1;
1232  uint64_t p1_pperr:1;
1233  uint64_t p0_pperr:1;
1234  uint64_t g3_rtout:1;
1235  uint64_t g2_rtout:1;
1236  uint64_t g1_rtout:1;
1237  uint64_t g0_rtout:1;
1238  uint64_t p3_perr:1;
1239  uint64_t p2_perr:1;
1240  uint64_t p1_perr:1;
1241  uint64_t p0_perr:1;
1242  uint64_t p3_rtout:1;
1243  uint64_t p2_rtout:1;
1244  uint64_t p1_rtout:1;
1245  uint64_t p0_rtout:1;
1246  uint64_t i3_overf:1;
1247  uint64_t i2_overf:1;
1248  uint64_t i1_overf:1;
1249  uint64_t i0_overf:1;
1250  uint64_t i3_rtout:1;
1251  uint64_t i2_rtout:1;
1252  uint64_t i1_rtout:1;
1253  uint64_t i0_rtout:1;
1254  uint64_t po3_2sml:1;
1255  uint64_t po2_2sml:1;
1256  uint64_t po1_2sml:1;
1257  uint64_t po0_2sml:1;
1258  uint64_t pci_rsl:1;
1259  uint64_t rml_wto:1;
1260  uint64_t rml_rto:1;
1261 #else
1325 #endif
1326  } s;
1328 #ifdef __BIG_ENDIAN_BITFIELD
1330  uint64_t q1_a_f:1;
1331  uint64_t q1_s_e:1;
1332  uint64_t pdf_p_f:1;
1333  uint64_t pdf_p_e:1;
1334  uint64_t pcf_p_f:1;
1335  uint64_t pcf_p_e:1;
1336  uint64_t rdx_s_e:1;
1337  uint64_t rwx_s_e:1;
1338  uint64_t pnc_a_f:1;
1339  uint64_t pnc_s_e:1;
1340  uint64_t com_a_f:1;
1341  uint64_t com_s_e:1;
1342  uint64_t q3_a_f:1;
1343  uint64_t q3_s_e:1;
1344  uint64_t q2_a_f:1;
1345  uint64_t q2_s_e:1;
1346  uint64_t pcr_a_f:1;
1347  uint64_t pcr_s_e:1;
1348  uint64_t fcr_a_f:1;
1349  uint64_t fcr_s_e:1;
1350  uint64_t iobdma:1;
1351  uint64_t p_dperr:1;
1352  uint64_t win_rto:1;
1354  uint64_t i0_pperr:1;
1356  uint64_t p0_ptout:1;
1358  uint64_t p0_pperr:1;
1360  uint64_t g0_rtout:1;
1362  uint64_t p0_perr:1;
1364  uint64_t p0_rtout:1;
1366  uint64_t i0_overf:1;
1368  uint64_t i0_rtout:1;
1370  uint64_t po0_2sml:1;
1371  uint64_t pci_rsl:1;
1372  uint64_t rml_wto:1;
1373  uint64_t rml_rto:1;
1374 #else
1420 #endif
1421  } cn30xx;
1423 #ifdef __BIG_ENDIAN_BITFIELD
1425  uint64_t q1_a_f:1;
1426  uint64_t q1_s_e:1;
1427  uint64_t pdf_p_f:1;
1428  uint64_t pdf_p_e:1;
1429  uint64_t pcf_p_f:1;
1430  uint64_t pcf_p_e:1;
1431  uint64_t rdx_s_e:1;
1432  uint64_t rwx_s_e:1;
1433  uint64_t pnc_a_f:1;
1434  uint64_t pnc_s_e:1;
1435  uint64_t com_a_f:1;
1436  uint64_t com_s_e:1;
1437  uint64_t q3_a_f:1;
1438  uint64_t q3_s_e:1;
1439  uint64_t q2_a_f:1;
1440  uint64_t q2_s_e:1;
1441  uint64_t pcr_a_f:1;
1442  uint64_t pcr_s_e:1;
1443  uint64_t fcr_a_f:1;
1444  uint64_t fcr_s_e:1;
1445  uint64_t iobdma:1;
1446  uint64_t p_dperr:1;
1447  uint64_t win_rto:1;
1449  uint64_t i1_pperr:1;
1450  uint64_t i0_pperr:1;
1452  uint64_t p1_ptout:1;
1453  uint64_t p0_ptout:1;
1455  uint64_t p1_pperr:1;
1456  uint64_t p0_pperr:1;
1458  uint64_t g1_rtout:1;
1459  uint64_t g0_rtout:1;
1461  uint64_t p1_perr:1;
1462  uint64_t p0_perr:1;
1464  uint64_t p1_rtout:1;
1465  uint64_t p0_rtout:1;
1467  uint64_t i1_overf:1;
1468  uint64_t i0_overf:1;
1470  uint64_t i1_rtout:1;
1471  uint64_t i0_rtout:1;
1473  uint64_t po1_2sml:1;
1474  uint64_t po0_2sml:1;
1475  uint64_t pci_rsl:1;
1476  uint64_t rml_wto:1;
1477  uint64_t rml_rto:1;
1478 #else
1533 #endif
1534  } cn31xx;
1537 #ifdef __BIG_ENDIAN_BITFIELD
1539  uint64_t iobdma:1;
1540  uint64_t p_dperr:1;
1541  uint64_t win_rto:1;
1542  uint64_t i3_pperr:1;
1543  uint64_t i2_pperr:1;
1544  uint64_t i1_pperr:1;
1545  uint64_t i0_pperr:1;
1546  uint64_t p3_ptout:1;
1547  uint64_t p2_ptout:1;
1548  uint64_t p1_ptout:1;
1549  uint64_t p0_ptout:1;
1550  uint64_t p3_pperr:1;
1551  uint64_t p2_pperr:1;
1552  uint64_t p1_pperr:1;
1553  uint64_t p0_pperr:1;
1554  uint64_t g3_rtout:1;
1555  uint64_t g2_rtout:1;
1556  uint64_t g1_rtout:1;
1557  uint64_t g0_rtout:1;
1558  uint64_t p3_perr:1;
1559  uint64_t p2_perr:1;
1560  uint64_t p1_perr:1;
1561  uint64_t p0_perr:1;
1562  uint64_t p3_rtout:1;
1563  uint64_t p2_rtout:1;
1564  uint64_t p1_rtout:1;
1565  uint64_t p0_rtout:1;
1566  uint64_t i3_overf:1;
1567  uint64_t i2_overf:1;
1568  uint64_t i1_overf:1;
1569  uint64_t i0_overf:1;
1570  uint64_t i3_rtout:1;
1571  uint64_t i2_rtout:1;
1572  uint64_t i1_rtout:1;
1573  uint64_t i0_rtout:1;
1574  uint64_t po3_2sml:1;
1575  uint64_t po2_2sml:1;
1576  uint64_t po1_2sml:1;
1577  uint64_t po0_2sml:1;
1578  uint64_t pci_rsl:1;
1579  uint64_t rml_wto:1;
1580  uint64_t rml_rto:1;
1581 #else
1625 #endif
1626  } cn38xxp2;
1630 };
1631 
1635 #ifdef __BIG_ENDIAN_BITFIELD
1637  uint64_t dbell:16;
1638 #else
1641 #endif
1642  } s;
1650 };
1651 
1655 #ifdef __BIG_ENDIAN_BITFIELD
1657  uint64_t saddr:36;
1658 #else
1661 #endif
1662  } s;
1670 };
1671 
1675 #ifdef __BIG_ENDIAN_BITFIELD
1677  uint64_t shortl:1;
1678  uint64_t nmerge:1;
1679  uint64_t esr:2;
1680  uint64_t esw:2;
1681  uint64_t nsr:1;
1682  uint64_t nsw:1;
1683  uint64_t ror:1;
1684  uint64_t row:1;
1685  uint64_t ba:28;
1686 #else
1697 #endif
1698  } s;
1701 #ifdef __BIG_ENDIAN_BITFIELD
1703  uint64_t esr:2;
1704  uint64_t esw:2;
1705  uint64_t nsr:1;
1706  uint64_t nsw:1;
1707  uint64_t ror:1;
1708  uint64_t row:1;
1709  uint64_t ba:28;
1710 #else
1719 #endif
1720  } cn31xx;
1726 };
1727 
1731 #ifdef __BIG_ENDIAN_BITFIELD
1732  uint64_t int_vec:64;
1733 #else
1735 #endif
1736  } s;
1744 };
1745 
1749 #ifdef __BIG_ENDIAN_BITFIELD
1751  uint64_t size:32;
1752 #else
1755 #endif
1756  } s;
1764 };
1765 
1769 #ifdef __BIG_ENDIAN_BITFIELD
1771  uint64_t pkt_rr:1;
1772  uint64_t p3_bmode:1;
1773  uint64_t p2_bmode:1;
1774  uint64_t p1_bmode:1;
1775  uint64_t p0_bmode:1;
1776  uint64_t o3_es:2;
1777  uint64_t o3_ns:1;
1778  uint64_t o3_ro:1;
1779  uint64_t o2_es:2;
1780  uint64_t o2_ns:1;
1781  uint64_t o2_ro:1;
1782  uint64_t o1_es:2;
1783  uint64_t o1_ns:1;
1784  uint64_t o1_ro:1;
1785  uint64_t o0_es:2;
1786  uint64_t o0_ns:1;
1787  uint64_t o0_ro:1;
1788  uint64_t o3_csrm:1;
1789  uint64_t o2_csrm:1;
1790  uint64_t o1_csrm:1;
1791  uint64_t o0_csrm:1;
1793  uint64_t iptr_o3:1;
1794  uint64_t iptr_o2:1;
1795  uint64_t iptr_o1:1;
1796  uint64_t iptr_o0:1;
1797  uint64_t esr_sl3:2;
1798  uint64_t nsr_sl3:1;
1799  uint64_t ror_sl3:1;
1800  uint64_t esr_sl2:2;
1801  uint64_t nsr_sl2:1;
1802  uint64_t ror_sl2:1;
1803  uint64_t esr_sl1:2;
1804  uint64_t nsr_sl1:1;
1805  uint64_t ror_sl1:1;
1806  uint64_t esr_sl0:2;
1807  uint64_t nsr_sl0:1;
1808  uint64_t ror_sl0:1;
1809 #else
1849 #endif
1850  } s;
1852 #ifdef __BIG_ENDIAN_BITFIELD
1854  uint64_t p0_bmode:1;
1856  uint64_t o0_es:2;
1857  uint64_t o0_ns:1;
1858  uint64_t o0_ro:1;
1860  uint64_t o0_csrm:1;
1862  uint64_t iptr_o0:1;
1864  uint64_t esr_sl0:2;
1865  uint64_t nsr_sl0:1;
1866  uint64_t ror_sl0:1;
1867 #else
1882 #endif
1883  } cn30xx;
1885 #ifdef __BIG_ENDIAN_BITFIELD
1887  uint64_t p1_bmode:1;
1888  uint64_t p0_bmode:1;
1890  uint64_t o1_es:2;
1891  uint64_t o1_ns:1;
1892  uint64_t o1_ro:1;
1893  uint64_t o0_es:2;
1894  uint64_t o0_ns:1;
1895  uint64_t o0_ro:1;
1897  uint64_t o1_csrm:1;
1898  uint64_t o0_csrm:1;
1900  uint64_t iptr_o1:1;
1901  uint64_t iptr_o0:1;
1903  uint64_t esr_sl1:2;
1904  uint64_t nsr_sl1:1;
1905  uint64_t ror_sl1:1;
1906  uint64_t esr_sl0:2;
1907  uint64_t nsr_sl0:1;
1908  uint64_t ror_sl0:1;
1909 #else
1933 #endif
1934  } cn31xx;
1937 #ifdef __BIG_ENDIAN_BITFIELD
1939  uint64_t p3_bmode:1;
1940  uint64_t p2_bmode:1;
1941  uint64_t p1_bmode:1;
1942  uint64_t p0_bmode:1;
1943  uint64_t o3_es:2;
1944  uint64_t o3_ns:1;
1945  uint64_t o3_ro:1;
1946  uint64_t o2_es:2;
1947  uint64_t o2_ns:1;
1948  uint64_t o2_ro:1;
1949  uint64_t o1_es:2;
1950  uint64_t o1_ns:1;
1951  uint64_t o1_ro:1;
1952  uint64_t o0_es:2;
1953  uint64_t o0_ns:1;
1954  uint64_t o0_ro:1;
1955  uint64_t o3_csrm:1;
1956  uint64_t o2_csrm:1;
1957  uint64_t o1_csrm:1;
1958  uint64_t o0_csrm:1;
1960  uint64_t iptr_o3:1;
1961  uint64_t iptr_o2:1;
1962  uint64_t iptr_o1:1;
1963  uint64_t iptr_o0:1;
1964  uint64_t esr_sl3:2;
1965  uint64_t nsr_sl3:1;
1966  uint64_t ror_sl3:1;
1967  uint64_t esr_sl2:2;
1968  uint64_t nsr_sl2:1;
1969  uint64_t ror_sl2:1;
1970  uint64_t esr_sl1:2;
1971  uint64_t nsr_sl1:1;
1972  uint64_t ror_sl1:1;
1973  uint64_t esr_sl0:2;
1974  uint64_t nsr_sl0:1;
1975  uint64_t ror_sl0:1;
1976 #else
2015 #endif
2016  } cn38xxp2;
2018 #ifdef __BIG_ENDIAN_BITFIELD
2020  uint64_t pkt_rr:1;
2022  uint64_t p1_bmode:1;
2023  uint64_t p0_bmode:1;
2025  uint64_t o1_es:2;
2026  uint64_t o1_ns:1;
2027  uint64_t o1_ro:1;
2028  uint64_t o0_es:2;
2029  uint64_t o0_ns:1;
2030  uint64_t o0_ro:1;
2032  uint64_t o1_csrm:1;
2033  uint64_t o0_csrm:1;
2035  uint64_t iptr_o1:1;
2036  uint64_t iptr_o0:1;
2038  uint64_t esr_sl1:2;
2039  uint64_t nsr_sl1:1;
2040  uint64_t ror_sl1:1;
2041  uint64_t esr_sl0:2;
2042  uint64_t nsr_sl0:1;
2043  uint64_t ror_sl0:1;
2044 #else
2070 #endif
2071  } cn50xx;
2074 };
2075 
2079 #ifdef __BIG_ENDIAN_BITFIELD
2081  uint64_t state:2;
2082  uint64_t naddr:61;
2083 #else
2087 #endif
2088  } s;
2096 };
2097 
2101 #ifdef __BIG_ENDIAN_BITFIELD
2102  uint64_t state:3;
2103  uint64_t naddr:61;
2104 #else
2107 #endif
2108  } s;
2116 };
2117 
2121 #ifdef __BIG_ENDIAN_BITFIELD
2123  uint64_t fcnt:6;
2124  uint64_t avail:32;
2125 #else
2129 #endif
2130  } s;
2138 };
2139 
2143 #ifdef __BIG_ENDIAN_BITFIELD
2145  uint64_t fcnt:5;
2146  uint64_t avail:32;
2147 #else
2151 #endif
2152  } s;
2160 };
2161 
2165 #ifdef __BIG_ENDIAN_BITFIELD
2167  uint64_t wr_brst:7;
2168  uint64_t rd_brst:7;
2169 #else
2173 #endif
2174  } s;
2182 };
2183 
2187 #ifdef __BIG_ENDIAN_BITFIELD
2189  uint64_t hostmode:1;
2190  uint64_t pci_ovr:4;
2192  uint64_t en:1;
2193  uint64_t park_mod:1;
2194  uint64_t park_dev:3;
2195 #else
2203 #endif
2204  } s;
2206 #ifdef __BIG_ENDIAN_BITFIELD
2208  uint64_t en:1;
2209  uint64_t park_mod:1;
2210  uint64_t park_dev:3;
2211 #else
2216 #endif
2217  } cn30xx;
2224 };
2225 
2229 #ifdef __BIG_ENDIAN_BITFIELD
2231  uint64_t cmd_size:11;
2232 #else
2235 #endif
2236  } s;
2244 };
2245 
2249 #ifdef __BIG_ENDIAN_BITFIELD
2251  uint64_t pbp:1;
2252  uint64_t rsv_f:5;
2253  uint64_t rparmode:2;
2254  uint64_t rsv_e:1;
2255  uint64_t rskp_len:7;
2256  uint64_t rsv_d:6;
2257  uint64_t use_ihdr:1;
2258  uint64_t rsv_c:5;
2259  uint64_t par_mode:2;
2260  uint64_t rsv_b:1;
2261  uint64_t skp_len:7;
2262  uint64_t rsv_a:6;
2263 #else
2277 #endif
2278  } s;
2286 };
2287 
2291 #ifdef __BIG_ENDIAN_BITFIELD
2293  uint64_t pbp:1;
2294  uint64_t rsv_f:5;
2295  uint64_t rparmode:2;
2296  uint64_t rsv_e:1;
2297  uint64_t rskp_len:7;
2298  uint64_t rsv_d:6;
2299  uint64_t use_ihdr:1;
2300  uint64_t rsv_c:5;
2301  uint64_t par_mode:2;
2302  uint64_t rsv_b:1;
2303  uint64_t skp_len:7;
2304  uint64_t rsv_a:6;
2305 #else
2319 #endif
2320  } s;
2327 };
2328 
2332 #ifdef __BIG_ENDIAN_BITFIELD
2334  uint64_t pbp:1;
2335  uint64_t rsv_f:5;
2336  uint64_t rparmode:2;
2337  uint64_t rsv_e:1;
2338  uint64_t rskp_len:7;
2339  uint64_t rsv_d:6;
2340  uint64_t use_ihdr:1;
2341  uint64_t rsv_c:5;
2342  uint64_t par_mode:2;
2343  uint64_t rsv_b:1;
2344  uint64_t skp_len:7;
2345  uint64_t rsv_a:6;
2346 #else
2360 #endif
2361  } s;
2366 };
2367 
2371 #ifdef __BIG_ENDIAN_BITFIELD
2373  uint64_t pbp:1;
2374  uint64_t rsv_f:5;
2375  uint64_t rparmode:2;
2376  uint64_t rsv_e:1;
2377  uint64_t rskp_len:7;
2378  uint64_t rsv_d:6;
2379  uint64_t use_ihdr:1;
2380  uint64_t rsv_c:5;
2381  uint64_t par_mode:2;
2382  uint64_t rsv_b:1;
2383  uint64_t skp_len:7;
2384  uint64_t rsv_a:6;
2385 #else
2399 #endif
2400  } s;
2405 };
2406 
2410 #ifdef __BIG_ENDIAN_BITFIELD
2412  uint64_t bp_on:4;
2413  uint64_t enb:4;
2414 #else
2418 #endif
2419  } s;
2427 };
2428 
2432 #ifdef __BIG_ENDIAN_BITFIELD
2434  uint64_t rint_31:1;
2435  uint64_t iob:1;
2437  uint64_t rint_27:1;
2438  uint64_t rint_26:1;
2439  uint64_t rint_25:1;
2440  uint64_t rint_24:1;
2441  uint64_t asx1:1;
2442  uint64_t asx0:1;
2443  uint64_t rint_21:1;
2444  uint64_t pip:1;
2445  uint64_t spx1:1;
2446  uint64_t spx0:1;
2447  uint64_t lmc:1;
2448  uint64_t l2c:1;
2449  uint64_t rint_15:1;
2451  uint64_t pow:1;
2452  uint64_t tim:1;
2453  uint64_t pko:1;
2454  uint64_t ipd:1;
2455  uint64_t rint_8:1;
2456  uint64_t zip:1;
2457  uint64_t dfa:1;
2458  uint64_t fpa:1;
2459  uint64_t key:1;
2460  uint64_t npi:1;
2461  uint64_t gmx1:1;
2462  uint64_t gmx0:1;
2463  uint64_t mio:1;
2464 #else
2496 #endif
2497  } s;
2499 #ifdef __BIG_ENDIAN_BITFIELD
2501  uint64_t rint_31:1;
2502  uint64_t iob:1;
2503  uint64_t rint_29:1;
2504  uint64_t rint_28:1;
2505  uint64_t rint_27:1;
2506  uint64_t rint_26:1;
2507  uint64_t rint_25:1;
2508  uint64_t rint_24:1;
2509  uint64_t asx1:1;
2510  uint64_t asx0:1;
2511  uint64_t rint_21:1;
2512  uint64_t pip:1;
2513  uint64_t spx1:1;
2514  uint64_t spx0:1;
2515  uint64_t lmc:1;
2516  uint64_t l2c:1;
2517  uint64_t rint_15:1;
2518  uint64_t rint_14:1;
2519  uint64_t usb:1;
2520  uint64_t pow:1;
2521  uint64_t tim:1;
2522  uint64_t pko:1;
2523  uint64_t ipd:1;
2524  uint64_t rint_8:1;
2525  uint64_t zip:1;
2526  uint64_t dfa:1;
2527  uint64_t fpa:1;
2528  uint64_t key:1;
2529  uint64_t npi:1;
2530  uint64_t gmx1:1;
2531  uint64_t gmx0:1;
2532  uint64_t mio:1;
2533 #else
2567 #endif
2568  } cn30xx;
2571 #ifdef __BIG_ENDIAN_BITFIELD
2573  uint64_t rint_31:1;
2574  uint64_t iob:1;
2575  uint64_t rint_29:1;
2576  uint64_t rint_28:1;
2577  uint64_t rint_27:1;
2578  uint64_t rint_26:1;
2579  uint64_t rint_25:1;
2580  uint64_t rint_24:1;
2581  uint64_t asx1:1;
2582  uint64_t asx0:1;
2583  uint64_t rint_21:1;
2584  uint64_t pip:1;
2585  uint64_t spx1:1;
2586  uint64_t spx0:1;
2587  uint64_t lmc:1;
2588  uint64_t l2c:1;
2589  uint64_t rint_15:1;
2590  uint64_t rint_14:1;
2591  uint64_t rint_13:1;
2592  uint64_t pow:1;
2593  uint64_t tim:1;
2594  uint64_t pko:1;
2595  uint64_t ipd:1;
2596  uint64_t rint_8:1;
2597  uint64_t zip:1;
2598  uint64_t dfa:1;
2599  uint64_t fpa:1;
2600  uint64_t key:1;
2601  uint64_t npi:1;
2602  uint64_t gmx1:1;
2603  uint64_t gmx0:1;
2604  uint64_t mio:1;
2605 #else
2639 #endif
2640  } cn38xx;
2643 #ifdef __BIG_ENDIAN_BITFIELD
2645  uint64_t iob:1;
2646  uint64_t lmc1:1;
2647  uint64_t agl:1;
2649  uint64_t asx1:1;
2650  uint64_t asx0:1;
2652  uint64_t pip:1;
2653  uint64_t spx1:1;
2654  uint64_t spx0:1;
2655  uint64_t lmc:1;
2656  uint64_t l2c:1;
2658  uint64_t rad:1;
2659  uint64_t usb:1;
2660  uint64_t pow:1;
2661  uint64_t tim:1;
2662  uint64_t pko:1;
2663  uint64_t ipd:1;
2665  uint64_t zip:1;
2666  uint64_t dfa:1;
2667  uint64_t fpa:1;
2668  uint64_t key:1;
2669  uint64_t npi:1;
2670  uint64_t gmx1:1;
2671  uint64_t gmx0:1;
2672  uint64_t mio:1;
2673 #else
2703 #endif
2704  } cn50xx;
2707 };
2708 
2712 #ifdef __BIG_ENDIAN_BITFIELD
2714  uint64_t size:32;
2715 #else
2718 #endif
2719  } s;
2727 };
2728 
2732 #ifdef __BIG_ENDIAN_BITFIELD
2734  uint64_t time:32;
2735 #else
2738 #endif
2739  } s;
2747 };
2748 
2749 #endif