Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
cvmx-pescx-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_PESCX_DEFS_H__
29 #define __CVMX_PESCX_DEFS_H__
30 
31 #define CVMX_PESCX_BIST_STATUS(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000018ull) + ((block_id) & 1) * 0x8000000ull)
32 #define CVMX_PESCX_BIST_STATUS2(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000418ull) + ((block_id) & 1) * 0x8000000ull)
33 #define CVMX_PESCX_CFG_RD(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000030ull) + ((block_id) & 1) * 0x8000000ull)
34 #define CVMX_PESCX_CFG_WR(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000028ull) + ((block_id) & 1) * 0x8000000ull)
35 #define CVMX_PESCX_CPL_LUT_VALID(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000098ull) + ((block_id) & 1) * 0x8000000ull)
36 #define CVMX_PESCX_CTL_STATUS(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000000ull) + ((block_id) & 1) * 0x8000000ull)
37 #define CVMX_PESCX_CTL_STATUS2(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000400ull) + ((block_id) & 1) * 0x8000000ull)
38 #define CVMX_PESCX_DBG_INFO(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000008ull) + ((block_id) & 1) * 0x8000000ull)
39 #define CVMX_PESCX_DBG_INFO_EN(block_id) (CVMX_ADD_IO_SEG(0x00011800C80000A0ull) + ((block_id) & 1) * 0x8000000ull)
40 #define CVMX_PESCX_DIAG_STATUS(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000020ull) + ((block_id) & 1) * 0x8000000ull)
41 #define CVMX_PESCX_P2N_BAR0_START(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000080ull) + ((block_id) & 1) * 0x8000000ull)
42 #define CVMX_PESCX_P2N_BAR1_START(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000088ull) + ((block_id) & 1) * 0x8000000ull)
43 #define CVMX_PESCX_P2N_BAR2_START(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000090ull) + ((block_id) & 1) * 0x8000000ull)
44 #define CVMX_PESCX_P2P_BARX_END(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800C8000048ull) + (((offset) & 3) + ((block_id) & 1) * 0x800000ull) * 16)
45 #define CVMX_PESCX_P2P_BARX_START(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800C8000040ull) + (((offset) & 3) + ((block_id) & 1) * 0x800000ull) * 16)
46 #define CVMX_PESCX_TLP_CREDITS(block_id) (CVMX_ADD_IO_SEG(0x00011800C8000038ull) + ((block_id) & 1) * 0x8000000ull)
47 
51 #ifdef __BIG_ENDIAN_BITFIELD
53  uint64_t rqdata5:1;
54  uint64_t ctlp_or:1;
55  uint64_t ntlp_or:1;
56  uint64_t ptlp_or:1;
57  uint64_t retry:1;
58  uint64_t rqdata0:1;
59  uint64_t rqdata1:1;
60  uint64_t rqdata2:1;
61  uint64_t rqdata3:1;
62  uint64_t rqdata4:1;
63  uint64_t rqhdr1:1;
64  uint64_t rqhdr0:1;
65  uint64_t sot:1;
66 #else
81 #endif
82  } s;
85 #ifdef __BIG_ENDIAN_BITFIELD
87  uint64_t ctlp_or:1;
88  uint64_t ntlp_or:1;
89  uint64_t ptlp_or:1;
90  uint64_t retry:1;
91  uint64_t rqdata0:1;
92  uint64_t rqdata1:1;
93  uint64_t rqdata2:1;
94  uint64_t rqdata3:1;
95  uint64_t rqdata4:1;
96  uint64_t rqhdr1:1;
97  uint64_t rqhdr0:1;
98  uint64_t sot:1;
99 #else
113 #endif
114  } cn52xxp1;
117 };
118 
122 #ifdef __BIG_ENDIAN_BITFIELD
124  uint64_t cto_p2e:1;
125  uint64_t e2p_cpl:1;
126  uint64_t e2p_n:1;
127  uint64_t e2p_p:1;
128  uint64_t e2p_rsl:1;
129  uint64_t dbg_p2e:1;
130  uint64_t peai_p2e:1;
131  uint64_t rsl_p2e:1;
132  uint64_t pef_tpf1:1;
133  uint64_t pef_tpf0:1;
134  uint64_t pef_tnf:1;
135  uint64_t pef_tcf1:1;
136  uint64_t pef_tc0:1;
137  uint64_t ppf:1;
138 #else
154 #endif
155  } s;
160 };
161 
165 #ifdef __BIG_ENDIAN_BITFIELD
166  uint64_t data:32;
167  uint64_t addr:32;
168 #else
171 #endif
172  } s;
177 };
178 
182 #ifdef __BIG_ENDIAN_BITFIELD
183  uint64_t data:32;
184  uint64_t addr:32;
185 #else
188 #endif
189  } s;
194 };
195 
199 #ifdef __BIG_ENDIAN_BITFIELD
201  uint64_t tag:32;
202 #else
205 #endif
206  } s;
211 };
212 
216 #ifdef __BIG_ENDIAN_BITFIELD
218  uint64_t dnum:5;
219  uint64_t pbus:8;
220  uint64_t qlm_cfg:2;
221  uint64_t lane_swp:1;
222  uint64_t pm_xtoff:1;
223  uint64_t pm_xpme:1;
224  uint64_t ob_p_cmd:1;
226  uint64_t nf_ecrc:1;
227  uint64_t dly_one:1;
228  uint64_t lnk_enb:1;
229  uint64_t ro_ctlp:1;
231  uint64_t inv_ecrc:1;
232  uint64_t inv_lcrc:1;
233 #else
250 #endif
251  } s;
255 #ifdef __BIG_ENDIAN_BITFIELD
257  uint64_t dnum:5;
258  uint64_t pbus:8;
259  uint64_t qlm_cfg:2;
261  uint64_t pm_xtoff:1;
262  uint64_t pm_xpme:1;
263  uint64_t ob_p_cmd:1;
265  uint64_t nf_ecrc:1;
266  uint64_t dly_one:1;
267  uint64_t lnk_enb:1;
268  uint64_t ro_ctlp:1;
270  uint64_t inv_ecrc:1;
271  uint64_t inv_lcrc:1;
272 #else
289 #endif
290  } cn56xx;
292 };
293 
297 #ifdef __BIG_ENDIAN_BITFIELD
299  uint64_t pclk_run:1;
300  uint64_t pcierst:1;
301 #else
305 #endif
306  } s;
309 #ifdef __BIG_ENDIAN_BITFIELD
311  uint64_t pcierst:1;
312 #else
315 #endif
316  } cn52xxp1;
319 };
320 
324 #ifdef __BIG_ENDIAN_BITFIELD
326  uint64_t ecrc_e:1;
327  uint64_t rawwpp:1;
328  uint64_t racpp:1;
329  uint64_t ramtlp:1;
330  uint64_t rarwdns:1;
331  uint64_t caar:1;
332  uint64_t racca:1;
333  uint64_t racur:1;
334  uint64_t rauc:1;
335  uint64_t rqo:1;
336  uint64_t fcuv:1;
337  uint64_t rpe:1;
338  uint64_t fcpvwt:1;
339  uint64_t dpeoosd:1;
340  uint64_t rtwdle:1;
341  uint64_t rdwdle:1;
342  uint64_t mre:1;
343  uint64_t rte:1;
344  uint64_t acto:1;
345  uint64_t rvdm:1;
346  uint64_t rumep:1;
347  uint64_t rptamrc:1;
348  uint64_t rpmerc:1;
349  uint64_t rfemrc:1;
350  uint64_t rnfemrc:1;
351  uint64_t rcemrc:1;
352  uint64_t rpoison:1;
353  uint64_t recrce:1;
354  uint64_t rtlplle:1;
355  uint64_t rtlpmal:1;
356  uint64_t spoison:1;
357 #else
390 #endif
391  } s;
396 };
397 
401 #ifdef __BIG_ENDIAN_BITFIELD
403  uint64_t ecrc_e:1;
404  uint64_t rawwpp:1;
405  uint64_t racpp:1;
406  uint64_t ramtlp:1;
407  uint64_t rarwdns:1;
408  uint64_t caar:1;
409  uint64_t racca:1;
410  uint64_t racur:1;
411  uint64_t rauc:1;
412  uint64_t rqo:1;
413  uint64_t fcuv:1;
414  uint64_t rpe:1;
415  uint64_t fcpvwt:1;
416  uint64_t dpeoosd:1;
417  uint64_t rtwdle:1;
418  uint64_t rdwdle:1;
419  uint64_t mre:1;
420  uint64_t rte:1;
421  uint64_t acto:1;
422  uint64_t rvdm:1;
423  uint64_t rumep:1;
424  uint64_t rptamrc:1;
425  uint64_t rpmerc:1;
426  uint64_t rfemrc:1;
427  uint64_t rnfemrc:1;
428  uint64_t rcemrc:1;
429  uint64_t rpoison:1;
430  uint64_t recrce:1;
431  uint64_t rtlplle:1;
432  uint64_t rtlpmal:1;
433  uint64_t spoison:1;
434 #else
467 #endif
468  } s;
473 };
474 
478 #ifdef __BIG_ENDIAN_BITFIELD
480  uint64_t pm_dst:1;
481  uint64_t pm_stat:1;
482  uint64_t pm_en:1;
483  uint64_t aux_en:1;
484 #else
490 #endif
491  } s;
496 };
497 
501 #ifdef __BIG_ENDIAN_BITFIELD
502  uint64_t addr:50;
504 #else
507 #endif
508  } s;
513 };
514 
518 #ifdef __BIG_ENDIAN_BITFIELD
519  uint64_t addr:38;
521 #else
524 #endif
525  } s;
530 };
531 
535 #ifdef __BIG_ENDIAN_BITFIELD
536  uint64_t addr:25;
538 #else
541 #endif
542  } s;
547 };
548 
552 #ifdef __BIG_ENDIAN_BITFIELD
553  uint64_t addr:52;
555 #else
558 #endif
559  } s;
564 };
565 
569 #ifdef __BIG_ENDIAN_BITFIELD
570  uint64_t addr:52;
572 #else
575 #endif
576  } s;
581 };
582 
586 #ifdef __BIG_ENDIAN_BITFIELD
588 #else
590 #endif
591  } s;
593 #ifdef __BIG_ENDIAN_BITFIELD
595  uint64_t peai_ppf:8;
596  uint64_t pesc_cpl:8;
597  uint64_t pesc_np:8;
598  uint64_t pesc_p:8;
599  uint64_t npei_cpl:8;
600  uint64_t npei_np:8;
601  uint64_t npei_p:8;
602 #else
611 #endif
612  } cn52xx;
614 #ifdef __BIG_ENDIAN_BITFIELD
616  uint64_t peai_ppf:8;
617  uint64_t pesc_cpl:5;
618  uint64_t pesc_np:5;
619  uint64_t pesc_p:5;
620  uint64_t npei_cpl:5;
621  uint64_t npei_np:5;
622  uint64_t npei_p:5;
623 #else
632 #endif
633  } cn52xxp1;
636 };
637 
638 #endif