Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
cvmx-pow-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_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 
58 #ifdef __BIG_ENDIAN_BITFIELD
60  uint64_t pp:16;
62 #else
66 #endif
67  } s;
69 #ifdef __BIG_ENDIAN_BITFIELD
71  uint64_t pp:1;
73  uint64_t cam:1;
74  uint64_t nbt1:1;
75  uint64_t nbt0:1;
76  uint64_t index:1;
77  uint64_t fidx:1;
78  uint64_t nbr1:1;
79  uint64_t nbr0:1;
80  uint64_t pend:1;
81  uint64_t adr:1;
82 #else
95 #endif
96  } cn30xx;
98 #ifdef __BIG_ENDIAN_BITFIELD
100  uint64_t pp:2;
102  uint64_t cam:1;
103  uint64_t nbt1:1;
104  uint64_t nbt0:1;
105  uint64_t index:1;
106  uint64_t fidx:1;
107  uint64_t nbr1:1;
108  uint64_t nbr0:1;
109  uint64_t pend:1;
110  uint64_t adr:1;
111 #else
124 #endif
125  } cn31xx;
127 #ifdef __BIG_ENDIAN_BITFIELD
129  uint64_t pp:16;
131  uint64_t cam:1;
132  uint64_t nbt:1;
133  uint64_t index:1;
134  uint64_t fidx:1;
135  uint64_t nbr1:1;
136  uint64_t nbr0:1;
137  uint64_t pend1:1;
138  uint64_t pend0:1;
139  uint64_t adr1:1;
140  uint64_t adr0:1;
141 #else
155 #endif
156  } cn38xx;
160 #ifdef __BIG_ENDIAN_BITFIELD
162  uint64_t pp:4;
164  uint64_t cam:1;
165  uint64_t nbt1:1;
166  uint64_t nbt0:1;
167  uint64_t index:1;
168  uint64_t fidx:1;
169  uint64_t nbr1:1;
170  uint64_t nbr0:1;
171  uint64_t pend:1;
172  uint64_t adr:1;
173 #else
186 #endif
187  } cn52xx;
190 #ifdef __BIG_ENDIAN_BITFIELD
192  uint64_t pp:12;
194  uint64_t cam:1;
195  uint64_t nbt:1;
196  uint64_t index:1;
197  uint64_t fidx:1;
198  uint64_t nbr1:1;
199  uint64_t nbr0:1;
200  uint64_t pend1:1;
201  uint64_t pend0:1;
202  uint64_t adr1:1;
203  uint64_t adr0:1;
204 #else
218 #endif
219  } cn56xx;
224 #ifdef __BIG_ENDIAN_BITFIELD
226  uint64_t pp:4;
228  uint64_t cam:1;
229  uint64_t nbr:3;
230  uint64_t nbt:4;
231  uint64_t index:1;
232  uint64_t fidx:1;
233  uint64_t pend:1;
234  uint64_t adr:1;
235 #else
246 #endif
247  } cn61xx;
249 #ifdef __BIG_ENDIAN_BITFIELD
251  uint64_t pp:6;
253  uint64_t cam:1;
254  uint64_t nbr:3;
255  uint64_t nbt:4;
256  uint64_t index:1;
257  uint64_t fidx:1;
258  uint64_t pend:1;
259  uint64_t adr:1;
260 #else
271 #endif
272  } cn63xx;
275 #ifdef __BIG_ENDIAN_BITFIELD
277  uint64_t pp:10;
279  uint64_t cam:1;
280  uint64_t nbr:3;
281  uint64_t nbt:4;
282  uint64_t index:1;
283  uint64_t fidx:1;
284  uint64_t pend:1;
285  uint64_t adr:1;
286 #else
297 #endif
298  } cn66xx;
300 };
301 
305 #ifdef __BIG_ENDIAN_BITFIELD
307  uint64_t ds_pc:32;
308 #else
311 #endif
312  } s;
329 };
330 
334 #ifdef __BIG_ENDIAN_BITFIELD
336  uint64_t iop_ie:13;
338  uint64_t iop:13;
340  uint64_t rpe_ie:1;
341  uint64_t rpe:1;
343  uint64_t syn:5;
344  uint64_t dbe_ie:1;
345  uint64_t sbe_ie:1;
346  uint64_t dbe:1;
347  uint64_t sbe:1;
348 #else
362 #endif
363  } s;
366 #ifdef __BIG_ENDIAN_BITFIELD
368  uint64_t rpe_ie:1;
369  uint64_t rpe:1;
371  uint64_t syn:5;
372  uint64_t dbe_ie:1;
373  uint64_t sbe_ie:1;
374  uint64_t dbe:1;
375  uint64_t sbe:1;
376 #else
386 #endif
387  } cn31xx;
402 };
403 
407 #ifdef __BIG_ENDIAN_BITFIELD
409  uint64_t pfr_dis:1;
410  uint64_t nbr_thr:5;
411 #else
415 #endif
416  } s;
433 };
434 
438 #ifdef __BIG_ENDIAN_BITFIELD
440  uint64_t iq_cnt:32;
441 #else
444 #endif
445  } s;
462 };
463 
467 #ifdef __BIG_ENDIAN_BITFIELD
469  uint64_t iq_cnt:32;
470 #else
473 #endif
474  } s;
491 };
492 
496 #ifdef __BIG_ENDIAN_BITFIELD
498  uint64_t iq_int:8;
499 #else
502 #endif
503  } s;
513 };
514 
518 #ifdef __BIG_ENDIAN_BITFIELD
520  uint64_t int_en:8;
521 #else
524 #endif
525  } s;
535 };
536 
540 #ifdef __BIG_ENDIAN_BITFIELD
542  uint64_t iq_thr:32;
543 #else
546 #endif
547  } s;
557 };
558 
562 #ifdef __BIG_ENDIAN_BITFIELD
564  uint64_t nos_cnt:12;
565 #else
568 #endif
569  } s;
571 #ifdef __BIG_ENDIAN_BITFIELD
573  uint64_t nos_cnt:7;
574 #else
577 #endif
578  } cn30xx;
580 #ifdef __BIG_ENDIAN_BITFIELD
582  uint64_t nos_cnt:9;
583 #else
586 #endif
587  } cn31xx;
592 #ifdef __BIG_ENDIAN_BITFIELD
594  uint64_t nos_cnt:10;
595 #else
598 #endif
599  } cn52xx;
607 #ifdef __BIG_ENDIAN_BITFIELD
609  uint64_t nos_cnt:11;
610 #else
613 #endif
614  } cn63xx;
618 };
619 
623 #ifdef __BIG_ENDIAN_BITFIELD
625  uint64_t nw_tim:10;
626 #else
629 #endif
630  } s;
647 };
648 
652 #ifdef __BIG_ENDIAN_BITFIELD
654  uint64_t rst_msk:8;
655 #else
658 #endif
659  } s;
672 };
673 
677 #ifdef __BIG_ENDIAN_BITFIELD
679  uint64_t qos7_pri:4;
680  uint64_t qos6_pri:4;
681  uint64_t qos5_pri:4;
682  uint64_t qos4_pri:4;
683  uint64_t qos3_pri:4;
684  uint64_t qos2_pri:4;
685  uint64_t qos1_pri:4;
686  uint64_t qos0_pri:4;
687  uint64_t grp_msk:16;
688 #else
699 #endif
700  } s;
702 #ifdef __BIG_ENDIAN_BITFIELD
704  uint64_t grp_msk:16;
705 #else
708 #endif
709  } cn30xx;
725 };
726 
730 #ifdef __BIG_ENDIAN_BITFIELD
732  uint64_t rnd_p3:8;
733  uint64_t rnd_p2:8;
734  uint64_t rnd_p1:8;
735  uint64_t rnd:8;
736 #else
742 #endif
743  } s;
760 };
761 
765 #ifdef __BIG_ENDIAN_BITFIELD
767  uint64_t des_cnt:12;
768  uint64_t buf_cnt:12;
769  uint64_t free_cnt:12;
771  uint64_t max_thr:11;
773  uint64_t min_thr:11;
774 #else
783 #endif
784  } s;
786 #ifdef __BIG_ENDIAN_BITFIELD
788  uint64_t des_cnt:7;
790  uint64_t buf_cnt:7;
792  uint64_t free_cnt:7;
794  uint64_t max_thr:6;
796  uint64_t min_thr:6;
797 #else
808 #endif
809  } cn30xx;
811 #ifdef __BIG_ENDIAN_BITFIELD
813  uint64_t des_cnt:9;
815  uint64_t buf_cnt:9;
817  uint64_t free_cnt:9;
819  uint64_t max_thr:8;
821  uint64_t min_thr:8;
822 #else
833 #endif
834  } cn31xx;
839 #ifdef __BIG_ENDIAN_BITFIELD
841  uint64_t des_cnt:10;
843  uint64_t buf_cnt:10;
845  uint64_t free_cnt:10;
847  uint64_t max_thr:9;
849  uint64_t min_thr:9;
850 #else
861 #endif
862  } cn52xx;
870 #ifdef __BIG_ENDIAN_BITFIELD
872  uint64_t des_cnt:11;
874  uint64_t buf_cnt:11;
876  uint64_t free_cnt:11;
878  uint64_t max_thr:10;
880  uint64_t min_thr:10;
881 #else
892 #endif
893  } cn63xx;
897 };
898 
902 #ifdef __BIG_ENDIAN_BITFIELD
904  uint64_t ts_pc:32;
905 #else
908 #endif
909  } s;
926 };
927 
931 #ifdef __BIG_ENDIAN_BITFIELD
933  uint64_t wa_pc:32;
934 #else
937 #endif
938  } s;
955 };
956 
960 #ifdef __BIG_ENDIAN_BITFIELD
962  uint64_t wa_pc:32;
963 #else
966 #endif
967  } s;
984 };
985 
989 #ifdef __BIG_ENDIAN_BITFIELD
991  uint64_t iq_dis:16;
992  uint64_t wq_int:16;
993 #else
997 #endif
998  } s;
1015 };
1016 
1020 #ifdef __BIG_ENDIAN_BITFIELD
1022  uint64_t tc_cnt:4;
1023  uint64_t ds_cnt:12;
1024  uint64_t iq_cnt:12;
1025 #else
1030 #endif
1031  } s;
1033 #ifdef __BIG_ENDIAN_BITFIELD
1035  uint64_t tc_cnt:4;
1037  uint64_t ds_cnt:7;
1039  uint64_t iq_cnt:7;
1040 #else
1047 #endif
1048  } cn30xx;
1050 #ifdef __BIG_ENDIAN_BITFIELD
1052  uint64_t tc_cnt:4;
1054  uint64_t ds_cnt:9;
1056  uint64_t iq_cnt:9;
1057 #else
1064 #endif
1065  } cn31xx;
1070 #ifdef __BIG_ENDIAN_BITFIELD
1072  uint64_t tc_cnt:4;
1074  uint64_t ds_cnt:10;
1076  uint64_t iq_cnt:10;
1077 #else
1084 #endif
1085  } cn52xx;
1093 #ifdef __BIG_ENDIAN_BITFIELD
1095  uint64_t tc_cnt:4;
1097  uint64_t ds_cnt:11;
1099  uint64_t iq_cnt:11;
1100 #else
1107 #endif
1108  } cn63xx;
1112 };
1113 
1117 #ifdef __BIG_ENDIAN_BITFIELD
1119  uint64_t pc:28;
1121  uint64_t pc_thr:20;
1123 #else
1129 #endif
1130  } s;
1147 };
1148 
1152 #ifdef __BIG_ENDIAN_BITFIELD
1154  uint64_t tc_en:1;
1155  uint64_t tc_thr:4;
1157  uint64_t ds_thr:11;
1159  uint64_t iq_thr:11;
1160 #else
1168 #endif
1169  } s;
1171 #ifdef __BIG_ENDIAN_BITFIELD
1173  uint64_t tc_en:1;
1174  uint64_t tc_thr:4;
1176  uint64_t ds_thr:6;
1178  uint64_t iq_thr:6;
1179 #else
1187 #endif
1188  } cn30xx;
1190 #ifdef __BIG_ENDIAN_BITFIELD
1192  uint64_t tc_en:1;
1193  uint64_t tc_thr:4;
1195  uint64_t ds_thr:8;
1197  uint64_t iq_thr:8;
1198 #else
1206 #endif
1207  } cn31xx;
1212 #ifdef __BIG_ENDIAN_BITFIELD
1214  uint64_t tc_en:1;
1215  uint64_t tc_thr:4;
1217  uint64_t ds_thr:9;
1219  uint64_t iq_thr:9;
1220 #else
1228 #endif
1229  } cn52xx;
1237 #ifdef __BIG_ENDIAN_BITFIELD
1239  uint64_t tc_en:1;
1240  uint64_t tc_thr:4;
1242  uint64_t ds_thr:10;
1244  uint64_t iq_thr:10;
1245 #else
1253 #endif
1254  } cn63xx;
1258 };
1259 
1263 #ifdef __BIG_ENDIAN_BITFIELD
1265  uint64_t ws_pc:32;
1266 #else
1269 #endif
1270  } s;
1287 };
1288 
1289 #endif