Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
cvmx-asxx-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_ASXX_DEFS_H__
29 #define __CVMX_ASXX_DEFS_H__
30 
31 #define CVMX_ASXX_GMII_RX_CLK_SET(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000180ull))
32 #define CVMX_ASXX_GMII_RX_DAT_SET(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000188ull))
33 #define CVMX_ASXX_INT_EN(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000018ull) + ((block_id) & 1) * 0x8000000ull)
34 #define CVMX_ASXX_INT_REG(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000010ull) + ((block_id) & 1) * 0x8000000ull)
35 #define CVMX_ASXX_MII_RX_DAT_SET(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000190ull))
36 #define CVMX_ASXX_PRT_LOOP(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000040ull) + ((block_id) & 1) * 0x8000000ull)
37 #define CVMX_ASXX_RLD_BYPASS(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000248ull) + ((block_id) & 1) * 0x8000000ull)
38 #define CVMX_ASXX_RLD_BYPASS_SETTING(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000250ull) + ((block_id) & 1) * 0x8000000ull)
39 #define CVMX_ASXX_RLD_COMP(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000220ull) + ((block_id) & 1) * 0x8000000ull)
40 #define CVMX_ASXX_RLD_DATA_DRV(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000218ull) + ((block_id) & 1) * 0x8000000ull)
41 #define CVMX_ASXX_RLD_FCRAM_MODE(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000210ull) + ((block_id) & 1) * 0x8000000ull)
42 #define CVMX_ASXX_RLD_NCTL_STRONG(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000230ull) + ((block_id) & 1) * 0x8000000ull)
43 #define CVMX_ASXX_RLD_NCTL_WEAK(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000240ull) + ((block_id) & 1) * 0x8000000ull)
44 #define CVMX_ASXX_RLD_PCTL_STRONG(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000228ull) + ((block_id) & 1) * 0x8000000ull)
45 #define CVMX_ASXX_RLD_PCTL_WEAK(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000238ull) + ((block_id) & 1) * 0x8000000ull)
46 #define CVMX_ASXX_RLD_SETTING(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000258ull) + ((block_id) & 1) * 0x8000000ull)
47 #define CVMX_ASXX_RX_CLK_SETX(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800B0000020ull) + (((offset) & 3) + ((block_id) & 1) * 0x1000000ull) * 8)
48 #define CVMX_ASXX_RX_PRT_EN(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000000ull) + ((block_id) & 1) * 0x8000000ull)
49 #define CVMX_ASXX_RX_WOL(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000100ull) + ((block_id) & 1) * 0x8000000ull)
50 #define CVMX_ASXX_RX_WOL_MSK(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000108ull) + ((block_id) & 1) * 0x8000000ull)
51 #define CVMX_ASXX_RX_WOL_POWOK(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000118ull) + ((block_id) & 1) * 0x8000000ull)
52 #define CVMX_ASXX_RX_WOL_SIG(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000110ull) + ((block_id) & 1) * 0x8000000ull)
53 #define CVMX_ASXX_TX_CLK_SETX(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800B0000048ull) + (((offset) & 3) + ((block_id) & 1) * 0x1000000ull) * 8)
54 #define CVMX_ASXX_TX_COMP_BYP(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000068ull) + ((block_id) & 1) * 0x8000000ull)
55 #define CVMX_ASXX_TX_HI_WATERX(offset, block_id) (CVMX_ADD_IO_SEG(0x00011800B0000080ull) + (((offset) & 3) + ((block_id) & 1) * 0x1000000ull) * 8)
56 #define CVMX_ASXX_TX_PRT_EN(block_id) (CVMX_ADD_IO_SEG(0x00011800B0000008ull) + ((block_id) & 1) * 0x8000000ull)
57 
61 #ifdef __BIG_ENDIAN_BITFIELD
63  uint64_t setting:5;
64 #else
67 #endif
68  } s;
72 };
73 
77 #ifdef __BIG_ENDIAN_BITFIELD
79  uint64_t setting:5;
80 #else
83 #endif
84  } s;
88 };
89 
93 #ifdef __BIG_ENDIAN_BITFIELD
95  uint64_t txpsh:4;
96  uint64_t txpop:4;
97  uint64_t ovrflw:4;
98 #else
103 #endif
104  } s;
106 #ifdef __BIG_ENDIAN_BITFIELD
108  uint64_t txpsh:3;
110  uint64_t txpop:3;
112  uint64_t ovrflw:3;
113 #else
120 #endif
121  } cn30xx;
128 };
129 
133 #ifdef __BIG_ENDIAN_BITFIELD
135  uint64_t txpsh:4;
136  uint64_t txpop:4;
137  uint64_t ovrflw:4;
138 #else
143 #endif
144  } s;
146 #ifdef __BIG_ENDIAN_BITFIELD
148  uint64_t txpsh:3;
150  uint64_t txpop:3;
152  uint64_t ovrflw:3;
153 #else
160 #endif
161  } cn30xx;
168 };
169 
173 #ifdef __BIG_ENDIAN_BITFIELD
175  uint64_t setting:5;
176 #else
179 #endif
180  } s;
183 };
184 
188 #ifdef __BIG_ENDIAN_BITFIELD
190  uint64_t ext_loop:4;
191  uint64_t int_loop:4;
192 #else
196 #endif
197  } s;
199 #ifdef __BIG_ENDIAN_BITFIELD
201  uint64_t ext_loop:3;
203  uint64_t int_loop:3;
204 #else
209 #endif
210  } cn30xx;
217 };
218 
222 #ifdef __BIG_ENDIAN_BITFIELD
224  uint64_t bypass:1;
225 #else
228 #endif
229  } s;
234 };
235 
239 #ifdef __BIG_ENDIAN_BITFIELD
241  uint64_t setting:5;
242 #else
245 #endif
246  } s;
251 };
252 
256 #ifdef __BIG_ENDIAN_BITFIELD
258  uint64_t pctl:5;
259  uint64_t nctl:4;
260 #else
264 #endif
265  } s;
267 #ifdef __BIG_ENDIAN_BITFIELD
269  uint64_t pctl:4;
270  uint64_t nctl:4;
271 #else
275 #endif
276  } cn38xx;
280 };
281 
285 #ifdef __BIG_ENDIAN_BITFIELD
287  uint64_t pctl:4;
288  uint64_t nctl:4;
289 #else
293 #endif
294  } s;
299 };
300 
304 #ifdef __BIG_ENDIAN_BITFIELD
306  uint64_t mode:1;
307 #else
310 #endif
311  } s;
314 };
315 
319 #ifdef __BIG_ENDIAN_BITFIELD
321  uint64_t nctl:5;
322 #else
325 #endif
326  } s;
331 };
332 
336 #ifdef __BIG_ENDIAN_BITFIELD
338  uint64_t nctl:5;
339 #else
342 #endif
343  } s;
348 };
349 
353 #ifdef __BIG_ENDIAN_BITFIELD
355  uint64_t pctl:5;
356 #else
359 #endif
360  } s;
365 };
366 
370 #ifdef __BIG_ENDIAN_BITFIELD
372  uint64_t pctl:5;
373 #else
376 #endif
377  } s;
382 };
383 
387 #ifdef __BIG_ENDIAN_BITFIELD
389  uint64_t dfaset:5;
390  uint64_t dfalag:1;
391  uint64_t dfalead:1;
392  uint64_t dfalock:1;
393  uint64_t setting:5;
394 #else
401 #endif
402  } s;
404 #ifdef __BIG_ENDIAN_BITFIELD
406  uint64_t setting:5;
407 #else
410 #endif
411  } cn38xx;
415 };
416 
420 #ifdef __BIG_ENDIAN_BITFIELD
422  uint64_t setting:5;
423 #else
426 #endif
427  } s;
435 };
436 
440 #ifdef __BIG_ENDIAN_BITFIELD
442  uint64_t prt_en:4;
443 #else
446 #endif
447  } s;
449 #ifdef __BIG_ENDIAN_BITFIELD
451  uint64_t prt_en:3;
452 #else
455 #endif
456  } cn30xx;
463 };
464 
468 #ifdef __BIG_ENDIAN_BITFIELD
470  uint64_t status:1;
471  uint64_t enable:1;
472 #else
476 #endif
477  } s;
480 };
481 
485 #ifdef __BIG_ENDIAN_BITFIELD
486  uint64_t msk:64;
487 #else
489 #endif
490  } s;
493 };
494 
498 #ifdef __BIG_ENDIAN_BITFIELD
500  uint64_t powerok:1;
501 #else
504 #endif
505  } s;
508 };
509 
513 #ifdef __BIG_ENDIAN_BITFIELD
515  uint64_t sig:32;
516 #else
519 #endif
520  } s;
523 };
524 
528 #ifdef __BIG_ENDIAN_BITFIELD
530  uint64_t setting:5;
531 #else
534 #endif
535  } s;
543 };
544 
548 #ifdef __BIG_ENDIAN_BITFIELD
550 #else
552 #endif
553  } s;
555 #ifdef __BIG_ENDIAN_BITFIELD
557  uint64_t bypass:1;
558  uint64_t pctl:4;
559  uint64_t nctl:4;
560 #else
565 #endif
566  } cn30xx;
569 #ifdef __BIG_ENDIAN_BITFIELD
571  uint64_t pctl:4;
572  uint64_t nctl:4;
573 #else
577 #endif
578  } cn38xx;
581 #ifdef __BIG_ENDIAN_BITFIELD
583  uint64_t bypass:1;
585  uint64_t pctl:5;
587  uint64_t nctl:5;
588 #else
595 #endif
596  } cn50xx;
598 #ifdef __BIG_ENDIAN_BITFIELD
600  uint64_t pctl:5;
602  uint64_t nctl:5;
603 #else
608 #endif
609  } cn58xx;
611 };
612 
616 #ifdef __BIG_ENDIAN_BITFIELD
618  uint64_t mark:4;
619 #else
622 #endif
623  } s;
625 #ifdef __BIG_ENDIAN_BITFIELD
627  uint64_t mark:3;
628 #else
631 #endif
632  } cn30xx;
639 };
640 
644 #ifdef __BIG_ENDIAN_BITFIELD
646  uint64_t prt_en:4;
647 #else
650 #endif
651  } s;
653 #ifdef __BIG_ENDIAN_BITFIELD
655  uint64_t prt_en:3;
656 #else
659 #endif
660  } cn30xx;
667 };
668 
669 #endif