Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
cvmx-sriox-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_SRIOX_DEFS_H__
29 #define __CVMX_SRIOX_DEFS_H__
30 
31 #define CVMX_SRIOX_ACC_CTRL(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000148ull) + ((block_id) & 3) * 0x1000000ull)
32 #define CVMX_SRIOX_ASMBLY_ID(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000200ull) + ((block_id) & 3) * 0x1000000ull)
33 #define CVMX_SRIOX_ASMBLY_INFO(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000208ull) + ((block_id) & 3) * 0x1000000ull)
34 #define CVMX_SRIOX_BELL_RESP_CTRL(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000310ull) + ((block_id) & 3) * 0x1000000ull)
35 #define CVMX_SRIOX_BIST_STATUS(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000108ull) + ((block_id) & 3) * 0x1000000ull)
36 #define CVMX_SRIOX_IMSG_CTRL(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000508ull) + ((block_id) & 3) * 0x1000000ull)
37 #define CVMX_SRIOX_IMSG_INST_HDRX(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800C8000510ull) + (((offset) & 1) + ((block_id) & 3) * 0x200000ull) * 8)
38 #define CVMX_SRIOX_IMSG_QOS_GRPX(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800C8000600ull) + (((offset) & 31) + ((block_id) & 3) * 0x200000ull) * 8)
39 #define CVMX_SRIOX_IMSG_STATUSX(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800C8000700ull) + (((offset) & 31) + ((block_id) & 3) * 0x200000ull) * 8)
40 #define CVMX_SRIOX_IMSG_VPORT_THR(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000500ull) + ((block_id) & 3) * 0x1000000ull)
41 #define CVMX_SRIOX_IMSG_VPORT_THR2(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000528ull) + ((block_id) & 3) * 0x1000000ull)
42 #define CVMX_SRIOX_INT2_ENABLE(block_id) (CVMX_ADD_IO_SEG(0x00011800C80003E0ull) + ((block_id) & 3) * 0x1000000ull)
43 #define CVMX_SRIOX_INT2_REG(block_id) (CVMX_ADD_IO_SEG(0x00011800C80003E8ull) + ((block_id) & 3) * 0x1000000ull)
44 #define CVMX_SRIOX_INT_ENABLE(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000110ull) + ((block_id) & 3) * 0x1000000ull)
45 #define CVMX_SRIOX_INT_INFO0(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000120ull) + ((block_id) & 3) * 0x1000000ull)
46 #define CVMX_SRIOX_INT_INFO1(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000128ull) + ((block_id) & 3) * 0x1000000ull)
47 #define CVMX_SRIOX_INT_INFO2(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000130ull) + ((block_id) & 3) * 0x1000000ull)
48 #define CVMX_SRIOX_INT_INFO3(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000138ull) + ((block_id) & 3) * 0x1000000ull)
49 #define CVMX_SRIOX_INT_REG(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000118ull) + ((block_id) & 3) * 0x1000000ull)
50 #define CVMX_SRIOX_IP_FEATURE(block_id) (CVMX_ADD_IO_SEG(0x00011800C80003F8ull) + ((block_id) & 3) * 0x1000000ull)
51 #define CVMX_SRIOX_MAC_BUFFERS(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000390ull) + ((block_id) & 3) * 0x1000000ull)
52 #define CVMX_SRIOX_MAINT_OP(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000158ull) + ((block_id) & 3) * 0x1000000ull)
53 #define CVMX_SRIOX_MAINT_RD_DATA(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000160ull) + ((block_id) & 3) * 0x1000000ull)
54 #define CVMX_SRIOX_MCE_TX_CTL(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000240ull) + ((block_id) & 3) * 0x1000000ull)
55 #define CVMX_SRIOX_MEM_OP_CTRL(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000168ull) + ((block_id) & 3) * 0x1000000ull)
56 #define CVMX_SRIOX_OMSG_CTRLX(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800C8000488ull) + (((offset) & 1) + ((block_id) & 3) * 0x40000ull) * 64)
57 #define CVMX_SRIOX_OMSG_DONE_COUNTSX(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800C80004B0ull) + (((offset) & 1) + ((block_id) & 3) * 0x40000ull) * 64)
58 #define CVMX_SRIOX_OMSG_FMP_MRX(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800C8000498ull) + (((offset) & 1) + ((block_id) & 3) * 0x40000ull) * 64)
59 #define CVMX_SRIOX_OMSG_NMP_MRX(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800C80004A0ull) + (((offset) & 1) + ((block_id) & 3) * 0x40000ull) * 64)
60 #define CVMX_SRIOX_OMSG_PORTX(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800C8000480ull) + (((offset) & 1) + ((block_id) & 3) * 0x40000ull) * 64)
61 #define CVMX_SRIOX_OMSG_SILO_THR(block_id) (CVMX_ADD_IO_SEG(0x00011800C80004F8ull) + ((block_id) & 3) * 0x1000000ull)
62 #define CVMX_SRIOX_OMSG_SP_MRX(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800C8000490ull) + (((offset) & 1) + ((block_id) & 3) * 0x40000ull) * 64)
63 #define CVMX_SRIOX_PRIOX_IN_USE(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800C80003C0ull) + (((offset) & 3) + ((block_id) & 3) * 0x200000ull) * 8)
64 #define CVMX_SRIOX_RX_BELL(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000308ull) + ((block_id) & 3) * 0x1000000ull)
65 #define CVMX_SRIOX_RX_BELL_SEQ(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000300ull) + ((block_id) & 3) * 0x1000000ull)
66 #define CVMX_SRIOX_RX_STATUS(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000380ull) + ((block_id) & 3) * 0x1000000ull)
67 #define CVMX_SRIOX_S2M_TYPEX(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800C8000180ull) + (((offset) & 15) + ((block_id) & 3) * 0x200000ull) * 8)
68 #define CVMX_SRIOX_SEQ(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000278ull) + ((block_id) & 3) * 0x1000000ull)
69 #define CVMX_SRIOX_STATUS_REG(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000100ull) + ((block_id) & 3) * 0x1000000ull)
70 #define CVMX_SRIOX_TAG_CTRL(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000178ull) + ((block_id) & 3) * 0x1000000ull)
71 #define CVMX_SRIOX_TLP_CREDITS(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000150ull) + ((block_id) & 3) * 0x1000000ull)
72 #define CVMX_SRIOX_TX_BELL(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000280ull) + ((block_id) & 3) * 0x1000000ull)
73 #define CVMX_SRIOX_TX_BELL_INFO(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000288ull) + ((block_id) & 3) * 0x1000000ull)
74 #define CVMX_SRIOX_TX_CTRL(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000170ull) + ((block_id) & 3) * 0x1000000ull)
75 #define CVMX_SRIOX_TX_EMPHASIS(block_id) (CVMX_ADD_IO_SEG(0x00011800C80003F0ull) + ((block_id) & 3) * 0x1000000ull)
76 #define CVMX_SRIOX_TX_STATUS(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000388ull) + ((block_id) & 3) * 0x1000000ull)
77 #define CVMX_SRIOX_WR_DONE_COUNTS(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000340ull) + ((block_id) & 3) * 0x1000000ull)
78 
82 #ifdef __BIG_ENDIAN_BITFIELD
91 #else
100 #endif
101  } s;
103 #ifdef __BIG_ENDIAN_BITFIELD
108 #else
113 #endif
114  } cn63xx;
117 };
118 
122 #ifdef __BIG_ENDIAN_BITFIELD
124  uint64_t assy_id:16;
125  uint64_t assy_ven:16;
126 #else
130 #endif
131  } s;
135 };
136 
140 #ifdef __BIG_ENDIAN_BITFIELD
142  uint64_t assy_rev:16;
144 #else
148 #endif
149  } s;
153 };
154 
158 #ifdef __BIG_ENDIAN_BITFIELD
160  uint64_t rp1_sid:1;
161  uint64_t rp0_sid:2;
162  uint64_t rp1_pid:1;
163  uint64_t rp0_pid:2;
164 #else
170 #endif
171  } s;
175 };
176 
180 #ifdef __BIG_ENDIAN_BITFIELD
182  uint64_t lram:1;
183  uint64_t mram:2;
184  uint64_t cram:2;
185  uint64_t bell:2;
186  uint64_t otag:2;
187  uint64_t itag:1;
188  uint64_t ofree:1;
189  uint64_t rtn:2;
190  uint64_t obulk:4;
191  uint64_t optrs:4;
192  uint64_t oarb2:2;
193  uint64_t rxbuf2:2;
194  uint64_t oarb:2;
195  uint64_t ispf:1;
196  uint64_t ospf:1;
197  uint64_t txbuf:2;
198  uint64_t rxbuf:2;
199  uint64_t imsg:5;
200  uint64_t omsg:7;
201 #else
222 #endif
223  } s;
225 #ifdef __BIG_ENDIAN_BITFIELD
227  uint64_t mram:2;
228  uint64_t cram:2;
229  uint64_t bell:2;
230  uint64_t otag:2;
231  uint64_t itag:1;
232  uint64_t ofree:1;
233  uint64_t rtn:2;
234  uint64_t obulk:4;
235  uint64_t optrs:4;
236  uint64_t oarb2:2;
237  uint64_t rxbuf2:2;
238  uint64_t oarb:2;
239  uint64_t ispf:1;
240  uint64_t ospf:1;
241  uint64_t txbuf:2;
242  uint64_t rxbuf:2;
243  uint64_t imsg:5;
244  uint64_t omsg:7;
245 #else
265 #endif
266  } cn63xx;
268 #ifdef __BIG_ENDIAN_BITFIELD
270  uint64_t mram:2;
271  uint64_t cram:2;
272  uint64_t bell:2;
273  uint64_t otag:2;
274  uint64_t itag:1;
275  uint64_t ofree:1;
276  uint64_t rtn:2;
277  uint64_t obulk:4;
278  uint64_t optrs:4;
280  uint64_t oarb:2;
281  uint64_t ispf:1;
282  uint64_t ospf:1;
283  uint64_t txbuf:2;
284  uint64_t rxbuf:2;
285  uint64_t imsg:5;
286  uint64_t omsg:7;
287 #else
306 #endif
307  } cn63xxp1;
309 };
310 
314 #ifdef __BIG_ENDIAN_BITFIELD
316  uint64_t to_mode:1;
318  uint64_t rsp_thr:6;
320  uint64_t rp1_sid:1;
321  uint64_t rp0_sid:2;
322  uint64_t rp1_pid:1;
323  uint64_t rp0_pid:2;
325  uint64_t prt_sel:3;
326  uint64_t lttr:4;
327  uint64_t prio:4;
328  uint64_t mbox:4;
329 #else
344 #endif
345  } s;
349 };
350 
354 #ifdef __BIG_ENDIAN_BITFIELD
355  uint64_t r:1;
357  uint64_t pm:2;
359  uint64_t sl:7;
361  uint64_t nqos:1;
362  uint64_t ngrp:1;
363  uint64_t ntt:1;
364  uint64_t ntag:1;
366  uint64_t rs:1;
367  uint64_t tt:2;
368  uint64_t tag:32;
369 #else
384 #endif
385  } s;
389 };
390 
394 #ifdef __BIG_ENDIAN_BITFIELD
396  uint64_t qos7:3;
397  uint64_t grp7:4;
399  uint64_t qos6:3;
400  uint64_t grp6:4;
402  uint64_t qos5:3;
403  uint64_t grp5:4;
405  uint64_t qos4:3;
406  uint64_t grp4:4;
408  uint64_t qos3:3;
409  uint64_t grp3:4;
411  uint64_t qos2:3;
412  uint64_t grp2:4;
414  uint64_t qos1:3;
415  uint64_t grp1:4;
417  uint64_t qos0:3;
418  uint64_t grp0:4;
419 #else
444 #endif
445  } s;
449 };
450 
454 #ifdef __BIG_ENDIAN_BITFIELD
455  uint64_t val1:1;
456  uint64_t err1:1;
457  uint64_t toe1:1;
458  uint64_t toc1:1;
459  uint64_t prt1:1;
461  uint64_t tt1:1;
462  uint64_t dis1:1;
463  uint64_t seg1:4;
464  uint64_t mbox1:2;
465  uint64_t lttr1:2;
466  uint64_t sid1:16;
467  uint64_t val0:1;
468  uint64_t err0:1;
469  uint64_t toe0:1;
470  uint64_t toc0:1;
471  uint64_t prt0:1;
473  uint64_t tt0:1;
474  uint64_t dis0:1;
475  uint64_t seg0:4;
476  uint64_t mbox0:2;
477  uint64_t lttr0:2;
478  uint64_t sid0:16;
479 #else
504 #endif
505  } s;
509 };
510 
514 #ifdef __BIG_ENDIAN_BITFIELD
516  uint64_t max_tot:6;
518  uint64_t max_s1:6;
520  uint64_t max_s0:6;
521  uint64_t sp_vport:1;
523  uint64_t buf_thr:4;
525  uint64_t max_p1:6;
527  uint64_t max_p0:6;
528 #else
542 #endif
543  } s;
547 };
548 
552 #ifdef __BIG_ENDIAN_BITFIELD
554  uint64_t max_s3:6;
556  uint64_t max_s2:6;
558 #else
564 #endif
565  } s;
567 };
568 
572 #ifdef __BIG_ENDIAN_BITFIELD
574  uint64_t pko_rst:1;
575 #else
578 #endif
579  } s;
582 };
583 
587 #ifdef __BIG_ENDIAN_BITFIELD
589  uint64_t int_sum:1;
591  uint64_t pko_rst:1;
592 #else
597 #endif
598  } s;
601 };
602 
606 #ifdef __BIG_ENDIAN_BITFIELD
608  uint64_t zero_pkt:1;
609  uint64_t ttl_tout:1;
610  uint64_t fail:1;
611  uint64_t degrade:1;
612  uint64_t mac_buf:1;
613  uint64_t f_error:1;
614  uint64_t rtry_err:1;
615  uint64_t pko_err:1;
616  uint64_t omsg_err:1;
617  uint64_t omsg1:1;
618  uint64_t omsg0:1;
619  uint64_t link_up:1;
620  uint64_t link_dwn:1;
621  uint64_t phy_erb:1;
622  uint64_t log_erb:1;
623  uint64_t soft_rx:1;
624  uint64_t soft_tx:1;
625  uint64_t mce_rx:1;
626  uint64_t mce_tx:1;
627  uint64_t wr_done:1;
628  uint64_t sli_err:1;
629  uint64_t deny_wr:1;
630  uint64_t bar_err:1;
631  uint64_t maint_op:1;
632  uint64_t rxbell:1;
633  uint64_t bell_err:1;
634  uint64_t txbell:1;
635 #else
664 #endif
665  } s;
668 #ifdef __BIG_ENDIAN_BITFIELD
670  uint64_t f_error:1;
671  uint64_t rtry_err:1;
672  uint64_t pko_err:1;
673  uint64_t omsg_err:1;
674  uint64_t omsg1:1;
675  uint64_t omsg0:1;
676  uint64_t link_up:1;
677  uint64_t link_dwn:1;
678  uint64_t phy_erb:1;
679  uint64_t log_erb:1;
680  uint64_t soft_rx:1;
681  uint64_t soft_tx:1;
682  uint64_t mce_rx:1;
683  uint64_t mce_tx:1;
684  uint64_t wr_done:1;
685  uint64_t sli_err:1;
686  uint64_t deny_wr:1;
687  uint64_t bar_err:1;
688  uint64_t maint_op:1;
689  uint64_t rxbell:1;
690  uint64_t bell_err:1;
691  uint64_t txbell:1;
692 #else
716 #endif
717  } cn63xxp1;
719 };
720 
724 #ifdef __BIG_ENDIAN_BITFIELD
725  uint64_t cmd:4;
726  uint64_t type:4;
727  uint64_t tag:8;
729  uint64_t length:10;
730  uint64_t status:3;
732  uint64_t be0:8;
733  uint64_t be1:8;
734 #else
744 #endif
745  } s;
749 };
750 
754 #ifdef __BIG_ENDIAN_BITFIELD
755  uint64_t info1:64;
756 #else
758 #endif
759  } s;
763 };
764 
768 #ifdef __BIG_ENDIAN_BITFIELD
769  uint64_t prio:2;
770  uint64_t tt:1;
771  uint64_t sis:1;
772  uint64_t ssize:4;
773  uint64_t did:16;
774  uint64_t xmbox:4;
775  uint64_t mbox:2;
776  uint64_t letter:2;
777  uint64_t rsrvd:30;
778  uint64_t lns:1;
779  uint64_t intr:1;
780 #else
792 #endif
793  } s;
797 };
798 
802 #ifdef __BIG_ENDIAN_BITFIELD
803  uint64_t prio:2;
804  uint64_t tt:2;
805  uint64_t type:4;
806  uint64_t other:48;
808 #else
814 #endif
815  } s;
819 };
820 
824 #ifdef __BIG_ENDIAN_BITFIELD
826  uint64_t int2_sum:1;
828  uint64_t zero_pkt:1;
829  uint64_t ttl_tout:1;
830  uint64_t fail:1;
831  uint64_t degrad:1;
832  uint64_t mac_buf:1;
833  uint64_t f_error:1;
834  uint64_t rtry_err:1;
835  uint64_t pko_err:1;
836  uint64_t omsg_err:1;
837  uint64_t omsg1:1;
838  uint64_t omsg0:1;
839  uint64_t link_up:1;
840  uint64_t link_dwn:1;
841  uint64_t phy_erb:1;
842  uint64_t log_erb:1;
843  uint64_t soft_rx:1;
844  uint64_t soft_tx:1;
845  uint64_t mce_rx:1;
846  uint64_t mce_tx:1;
847  uint64_t wr_done:1;
848  uint64_t sli_err:1;
849  uint64_t deny_wr:1;
850  uint64_t bar_err:1;
851  uint64_t maint_op:1;
852  uint64_t rxbell:1;
853  uint64_t bell_err:1;
854  uint64_t txbell:1;
855 #else
886 #endif
887  } s;
890 #ifdef __BIG_ENDIAN_BITFIELD
892  uint64_t f_error:1;
893  uint64_t rtry_err:1;
894  uint64_t pko_err:1;
895  uint64_t omsg_err:1;
896  uint64_t omsg1:1;
897  uint64_t omsg0:1;
898  uint64_t link_up:1;
899  uint64_t link_dwn:1;
900  uint64_t phy_erb:1;
901  uint64_t log_erb:1;
902  uint64_t soft_rx:1;
903  uint64_t soft_tx:1;
904  uint64_t mce_rx:1;
905  uint64_t mce_tx:1;
906  uint64_t wr_done:1;
907  uint64_t sli_err:1;
908  uint64_t deny_wr:1;
909  uint64_t bar_err:1;
910  uint64_t maint_op:1;
911  uint64_t rxbell:1;
912  uint64_t bell_err:1;
913  uint64_t txbell:1;
914 #else
938 #endif
939  } cn63xxp1;
941 };
942 
946 #ifdef __BIG_ENDIAN_BITFIELD
947  uint64_t ops:32;
949  uint64_t no_vmin:1;
950  uint64_t a66:1;
951  uint64_t a50:1;
953  uint64_t tx_flow:1;
954  uint64_t pt_width:2;
955  uint64_t tx_pol:4;
956  uint64_t rx_pol:4;
957 #else
968 #endif
969  } s;
971 #ifdef __BIG_ENDIAN_BITFIELD
972  uint64_t ops:32;
974  uint64_t a66:1;
975  uint64_t a50:1;
977  uint64_t tx_flow:1;
978  uint64_t pt_width:2;
979  uint64_t tx_pol:4;
980  uint64_t rx_pol:4;
981 #else
991 #endif
992  } cn63xx;
995 };
996 
1000 #ifdef __BIG_ENDIAN_BITFIELD
1002  uint64_t tx_enb:8;
1004  uint64_t tx_inuse:4;
1005  uint64_t tx_stat:8;
1007  uint64_t rx_enb:8;
1009  uint64_t rx_inuse:4;
1010  uint64_t rx_stat:8;
1011 #else
1022 #endif
1023  } s;
1026 };
1027 
1031 #ifdef __BIG_ENDIAN_BITFIELD
1032  uint64_t wr_data:32;
1034  uint64_t fail:1;
1035  uint64_t pending:1;
1036  uint64_t op:1;
1037  uint64_t addr:24;
1038 #else
1045 #endif
1046  } s;
1050 };
1051 
1055 #ifdef __BIG_ENDIAN_BITFIELD
1057  uint64_t valid:1;
1058  uint64_t rd_data:32;
1059 #else
1063 #endif
1064  } s;
1068 };
1069 
1073 #ifdef __BIG_ENDIAN_BITFIELD
1075  uint64_t mce:1;
1076 #else
1079 #endif
1080  } s;
1084 };
1085 
1089 #ifdef __BIG_ENDIAN_BITFIELD
1091  uint64_t rr_ro:1;
1092  uint64_t w_ro:1;
1094  uint64_t rp1_sid:1;
1095  uint64_t rp0_sid:2;
1096  uint64_t rp1_pid:1;
1097  uint64_t rp0_pid:2;
1098 #else
1107 #endif
1108  } s;
1112 };
1113 
1117 #ifdef __BIG_ENDIAN_BITFIELD
1118  uint64_t testmode:1;
1120  uint64_t silo_max:5;
1121  uint64_t rtry_thr:16;
1122  uint64_t rtry_en:1;
1124  uint64_t idm_tt:1;
1125  uint64_t idm_sis:1;
1126  uint64_t idm_did:1;
1127  uint64_t lttr_sp:4;
1128  uint64_t lttr_mp:4;
1129 #else
1141 #endif
1142  } s;
1145 #ifdef __BIG_ENDIAN_BITFIELD
1146  uint64_t testmode:1;
1148  uint64_t rtry_thr:16;
1149  uint64_t rtry_en:1;
1151  uint64_t idm_tt:1;
1152  uint64_t idm_sis:1;
1153  uint64_t idm_did:1;
1154  uint64_t lttr_sp:4;
1155  uint64_t lttr_mp:4;
1156 #else
1167 #endif
1168  } cn63xxp1;
1170 };
1171 
1175 #ifdef __BIG_ENDIAN_BITFIELD
1177  uint64_t bad:16;
1178  uint64_t good:16;
1179 #else
1183 #endif
1184  } s;
1187 };
1188 
1192 #ifdef __BIG_ENDIAN_BITFIELD
1194  uint64_t ctlr_sp:1;
1195  uint64_t ctlr_fmp:1;
1196  uint64_t ctlr_nmp:1;
1197  uint64_t id_sp:1;
1198  uint64_t id_fmp:1;
1199  uint64_t id_nmp:1;
1200  uint64_t id_psd:1;
1201  uint64_t mbox_sp:1;
1202  uint64_t mbox_fmp:1;
1203  uint64_t mbox_nmp:1;
1204  uint64_t mbox_psd:1;
1205  uint64_t all_sp:1;
1206  uint64_t all_fmp:1;
1207  uint64_t all_nmp:1;
1208  uint64_t all_psd:1;
1209 #else
1226 #endif
1227  } s;
1231 };
1232 
1236 #ifdef __BIG_ENDIAN_BITFIELD
1238  uint64_t ctlr_sp:1;
1239  uint64_t ctlr_fmp:1;
1240  uint64_t ctlr_nmp:1;
1241  uint64_t id_sp:1;
1242  uint64_t id_fmp:1;
1243  uint64_t id_nmp:1;
1245  uint64_t mbox_sp:1;
1246  uint64_t mbox_fmp:1;
1247  uint64_t mbox_nmp:1;
1249  uint64_t all_sp:1;
1250  uint64_t all_fmp:1;
1251  uint64_t all_nmp:1;
1253 #else
1270 #endif
1271  } s;
1275 };
1276 
1280 #ifdef __BIG_ENDIAN_BITFIELD
1282  uint64_t enable:1;
1284  uint64_t port:3;
1285 #else
1290 #endif
1291  } s;
1293 #ifdef __BIG_ENDIAN_BITFIELD
1295  uint64_t enable:1;
1297  uint64_t port:2;
1298 #else
1303 #endif
1304  } cn63xx;
1307 };
1308 
1312 #ifdef __BIG_ENDIAN_BITFIELD
1314  uint64_t tot_silo:5;
1315 #else
1318 #endif
1319  } s;
1322 };
1323 
1327 #ifdef __BIG_ENDIAN_BITFIELD
1329  uint64_t xmbox_sp:1;
1330  uint64_t ctlr_sp:1;
1331  uint64_t ctlr_fmp:1;
1332  uint64_t ctlr_nmp:1;
1333  uint64_t id_sp:1;
1334  uint64_t id_fmp:1;
1335  uint64_t id_nmp:1;
1336  uint64_t id_psd:1;
1337  uint64_t mbox_sp:1;
1338  uint64_t mbox_fmp:1;
1339  uint64_t mbox_nmp:1;
1340  uint64_t mbox_psd:1;
1341  uint64_t all_sp:1;
1342  uint64_t all_fmp:1;
1343  uint64_t all_nmp:1;
1344  uint64_t all_psd:1;
1345 #else
1363 #endif
1364  } s;
1368 };
1369 
1373 #ifdef __BIG_ENDIAN_BITFIELD
1375  uint64_t end_cnt:16;
1376  uint64_t start_cnt:16;
1377 #else
1381 #endif
1382  } s;
1385 };
1386 
1390 #ifdef __BIG_ENDIAN_BITFIELD
1392  uint64_t data:16;
1393  uint64_t src_id:16;
1394  uint64_t count:8;
1396  uint64_t dest_id:1;
1397  uint64_t id16:1;
1399  uint64_t priority:2;
1400 #else
1410 #endif
1411  } s;
1415 };
1416 
1420 #ifdef __BIG_ENDIAN_BITFIELD
1422  uint64_t count:8;
1423  uint64_t seq:32;
1424 #else
1428 #endif
1429  } s;
1433 };
1434 
1438 #ifdef __BIG_ENDIAN_BITFIELD
1439  uint64_t rtn_pr3:8;
1440  uint64_t rtn_pr2:8;
1441  uint64_t rtn_pr1:8;
1443  uint64_t mbox:4;
1444  uint64_t comp:8;
1446  uint64_t n_post:5;
1447  uint64_t post:8;
1448 #else
1458 #endif
1459  } s;
1463 };
1464 
1468 #ifdef __BIG_ENDIAN_BITFIELD
1470  uint64_t wr_op:3;
1472  uint64_t rd_op:3;
1473  uint64_t wr_prior:2;
1474  uint64_t rd_prior:2;
1476  uint64_t src_id:1;
1477  uint64_t id16:1;
1479  uint64_t iaow_sel:2;
1480 #else
1492 #endif
1493  } s;
1497 };
1498 
1502 #ifdef __BIG_ENDIAN_BITFIELD
1504  uint64_t seq:32;
1505 #else
1508 #endif
1509  } s;
1513 };
1514 
1518 #ifdef __BIG_ENDIAN_BITFIELD
1520  uint64_t access:1;
1521  uint64_t srio:1;
1522 #else
1526 #endif
1527  } s;
1531 };
1532 
1536 #ifdef __BIG_ENDIAN_BITFIELD
1538  uint64_t o_clr:1;
1540  uint64_t otag:5;
1542  uint64_t itag:5;
1543 #else
1550 #endif
1551  } s;
1555 };
1556 
1560 #ifdef __BIG_ENDIAN_BITFIELD
1562  uint64_t mbox:4;
1563  uint64_t comp:8;
1565  uint64_t n_post:5;
1566  uint64_t post:8;
1567 #else
1574 #endif
1575  } s;
1579 };
1580 
1584 #ifdef __BIG_ENDIAN_BITFIELD
1586  uint64_t data:16;
1587  uint64_t dest_id:16;
1589  uint64_t pending:1;
1591  uint64_t src_id:1;
1592  uint64_t id16:1;
1594  uint64_t priority:2;
1595 #else
1606 #endif
1607  } s;
1611 };
1612 
1616 #ifdef __BIG_ENDIAN_BITFIELD
1618  uint64_t data:16;
1619  uint64_t dest_id:16;
1621  uint64_t timeout:1;
1622  uint64_t error:1;
1623  uint64_t retry:1;
1624  uint64_t src_id:1;
1625  uint64_t id16:1;
1627  uint64_t priority:2;
1628 #else
1640 #endif
1641  } s;
1645 };
1646 
1650 #ifdef __BIG_ENDIAN_BITFIELD
1652  uint64_t tag_th2:5;
1654  uint64_t tag_th1:5;
1656  uint64_t tag_th0:5;
1658  uint64_t tx_th2:4;
1660  uint64_t tx_th1:4;
1662  uint64_t tx_th0:4;
1663 #else
1676 #endif
1677  } s;
1681 };
1682 
1686 #ifdef __BIG_ENDIAN_BITFIELD
1688  uint64_t emph:4;
1689 #else
1692 #endif
1693  } s;
1696 };
1697 
1701 #ifdef __BIG_ENDIAN_BITFIELD
1703  uint64_t s2m_pr3:8;
1704  uint64_t s2m_pr2:8;
1705  uint64_t s2m_pr1:8;
1706  uint64_t s2m_pr0:8;
1707 #else
1713 #endif
1714  } s;
1718 };
1719 
1723 #ifdef __BIG_ENDIAN_BITFIELD
1725  uint64_t bad:16;
1726  uint64_t good:16;
1727 #else
1731 #endif
1732  } s;
1735 };
1736 
1737 #endif