1/*****************************************************************************
2 *                                                                           *
3 * File: suni1x10gexp_regs.h                                                 *
4 * $Revision: 1.1.1.1 $                                                          *
5 * $Date: 2007/08/03 18:52:46 $                                              *
6 * Description:                                                              *
7 *  PMC/SIERRA (pm3393) MAC-PHY functionality.                               *
8 *  part of the Chelsio 10Gb Ethernet Driver.                                *
9 *                                                                           *
10 * This program is free software; you can redistribute it and/or modify      *
11 * it under the terms of the GNU General Public License, version 2, as       *
12 * published by the Free Software Foundation.                                *
13 *                                                                           *
14 * You should have received a copy of the GNU General Public License along   *
15 * with this program; if not, write to the Free Software Foundation, Inc.,   *
16 * 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.                 *
17 *                                                                           *
18 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED    *
19 * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF      *
20 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.                     *
21 *                                                                           *
22 * http://www.chelsio.com                                                    *
23 *                                                                           *
24 * Maintainers: maintainers@chelsio.com                                      *
25 *                                                                           *
26 * Authors: PMC/SIERRA                                                       *
27 *                                                                           *
28 * History:                                                                  *
29 *                                                                           *
30 ****************************************************************************/
31
32#ifndef _CXGB_SUNI1x10GEXP_REGS_H_
33#define _CXGB_SUNI1x10GEXP_REGS_H_
34
35/*
36** Space allocated for each Exact Match Filter
37**     There are 8 filter configurations
38*/
39#define SUNI1x10GEXP_REG_SIZEOF_MAC_FILTER 0x0003
40
41#define mSUNI1x10GEXP_MAC_FILTER_OFFSET(filterId)       ( (filterId) * SUNI1x10GEXP_REG_SIZEOF_MAC_FILTER )
42
43/*
44** Space allocated for VLAN-Id Filter
45**      There are 8 filter configurations
46*/
47#define SUNI1x10GEXP_REG_SIZEOF_MAC_VID_FILTER 0x0001
48
49#define mSUNI1x10GEXP_MAC_VID_FILTER_OFFSET(filterId)   ( (filterId) * SUNI1x10GEXP_REG_SIZEOF_MAC_VID_FILTER )
50
51/*
52** Space allocated for each MSTAT Counter
53*/
54#define SUNI1x10GEXP_REG_SIZEOF_MSTAT_COUNT 0x0004
55
56#define mSUNI1x10GEXP_MSTAT_COUNT_OFFSET(countId)       ( (countId) * SUNI1x10GEXP_REG_SIZEOF_MSTAT_COUNT )
57
58
59/******************************************************************************/
60/** S/UNI-1x10GE-XP REGISTER ADDRESS MAP                                     **/
61/******************************************************************************/
62/* Refer to the Register Bit Masks bellow for the naming of each register and */
63/* to the S/UNI-1x10GE-XP Data Sheet for the signification of each bit        */
64/******************************************************************************/
65
66
67#define SUNI1x10GEXP_REG_IDENTIFICATION                                  0x0000
68#define SUNI1x10GEXP_REG_PRODUCT_REVISION                                0x0001
69#define SUNI1x10GEXP_REG_CONFIG_AND_RESET_CONTROL                        0x0002
70#define SUNI1x10GEXP_REG_LOOPBACK_MISC_CTRL                              0x0003
71#define SUNI1x10GEXP_REG_DEVICE_STATUS                                   0x0004
72#define SUNI1x10GEXP_REG_GLOBAL_PERFORMANCE_MONITOR_UPDATE               0x0005
73
74#define SUNI1x10GEXP_REG_MDIO_COMMAND                                    0x0006
75#define SUNI1x10GEXP_REG_MDIO_INTERRUPT_ENABLE                           0x0007
76#define SUNI1x10GEXP_REG_MDIO_INTERRUPT_STATUS                           0x0008
77#define SUNI1x10GEXP_REG_MMD_PHY_ADDRESS                                 0x0009
78#define SUNI1x10GEXP_REG_MMD_CONTROL_ADDRESS_DATA                        0x000A
79#define SUNI1x10GEXP_REG_MDIO_READ_STATUS_DATA                           0x000B
80
81#define SUNI1x10GEXP_REG_OAM_INTF_CTRL                                   0x000C
82#define SUNI1x10GEXP_REG_MASTER_INTERRUPT_STATUS                         0x000D
83#define SUNI1x10GEXP_REG_GLOBAL_INTERRUPT_ENABLE                         0x000E
84#define SUNI1x10GEXP_REG_FREE                                            0x000F
85
86#define SUNI1x10GEXP_REG_XTEF_MISC_CTRL                                  0x0010
87#define SUNI1x10GEXP_REG_XRF_MISC_CTRL                                   0x0011
88
89#define SUNI1x10GEXP_REG_SERDES_3125_CONFIG_1                            0x0100
90#define SUNI1x10GEXP_REG_SERDES_3125_CONFIG_2                            0x0101
91#define SUNI1x10GEXP_REG_SERDES_3125_INTERRUPT_ENABLE                    0x0102
92#define SUNI1x10GEXP_REG_SERDES_3125_INTERRUPT_VISIBLE                   0x0103
93#define SUNI1x10GEXP_REG_SERDES_3125_INTERRUPT_STATUS                    0x0104
94#define SUNI1x10GEXP_REG_SERDES_3125_TEST_CONFIG                         0x0107
95
96#define SUNI1x10GEXP_REG_RXXG_CONFIG_1                                   0x2040
97#define SUNI1x10GEXP_REG_RXXG_CONFIG_2                                   0x2041
98#define SUNI1x10GEXP_REG_RXXG_CONFIG_3                                   0x2042
99#define SUNI1x10GEXP_REG_RXXG_INTERRUPT                                  0x2043
100#define SUNI1x10GEXP_REG_RXXG_MAX_FRAME_LENGTH                           0x2045
101#define SUNI1x10GEXP_REG_RXXG_SA_15_0                                    0x2046
102#define SUNI1x10GEXP_REG_RXXG_SA_31_16                                   0x2047
103#define SUNI1x10GEXP_REG_RXXG_SA_47_32                                   0x2048
104#define SUNI1x10GEXP_REG_RXXG_RECEIVE_FIFO_THRESHOLD                     0x2049
105#define mSUNI1x10GEXP_REG_RXXG_EXACT_MATCH_ADDR_LOW(filterId) (0x204A + mSUNI1x10GEXP_MAC_FILTER_OFFSET(filterId))
106#define mSUNI1x10GEXP_REG_RXXG_EXACT_MATCH_ADDR_MID(filterId) (0x204B + mSUNI1x10GEXP_MAC_FILTER_OFFSET(filterId))
107#define mSUNI1x10GEXP_REG_RXXG_EXACT_MATCH_ADDR_HIGH(filterId)(0x204C + mSUNI1x10GEXP_MAC_FILTER_OFFSET(filterId))
108#define mSUNI1x10GEXP_REG_RXXG_EXACT_MATCH_VID(filterId)      (0x2062 + mSUNI1x10GEXP_MAC_VID_FILTER_OFFSET(filterId))
109#define SUNI1x10GEXP_REG_RXXG_EXACT_MATCH_ADDR_0_LOW                     0x204A
110#define SUNI1x10GEXP_REG_RXXG_EXACT_MATCH_ADDR_0_MID                     0x204B
111#define SUNI1x10GEXP_REG_RXXG_EXACT_MATCH_ADDR_0_HIGH                    0x204C
112#define SUNI1x10GEXP_REG_RXXG_EXACT_MATCH_ADDR_1_LOW                     0x204D
113#define SUNI1x10GEXP_REG_RXXG_EXACT_MATCH_ADDR_1_MID                     0x204E
114#define SUNI1x10GEXP_REG_RXXG_EXACT_MATCH_ADDR_1_HIGH                    0x204F
115#define SUNI1x10GEXP_REG_RXXG_EXACT_MATCH_ADDR_2_LOW                     0x2050
116#define SUNI1x10GEXP_REG_RXXG_EXACT_MATCH_ADDR_2_MID                     0x2051
117#define SUNI1x10GEXP_REG_RXXG_EXACT_MATCH_ADDR_2_HIGH                    0x2052
118#define SUNI1x10GEXP_REG_RXXG_EXACT_MATCH_ADDR_3_LOW                     0x2053
119#define SUNI1x10GEXP_REG_RXXG_EXACT_MATCH_ADDR_3_MID                     0x2054
120#define SUNI1x10GEXP_REG_RXXG_EXACT_MATCH_ADDR_3_HIGH                    0x2055
121#define SUNI1x10GEXP_REG_RXXG_EXACT_MATCH_ADDR_4_LOW                     0x2056
122#define SUNI1x10GEXP_REG_RXXG_EXACT_MATCH_ADDR_4_MID                     0x2057
123#define SUNI1x10GEXP_REG_RXXG_EXACT_MATCH_ADDR_4_HIGH                    0x2058
124#define SUNI1x10GEXP_REG_RXXG_EXACT_MATCH_ADDR_5_LOW                     0x2059
125#define SUNI1x10GEXP_REG_RXXG_EXACT_MATCH_ADDR_5_MID                     0x205A
126#define SUNI1x10GEXP_REG_RXXG_EXACT_MATCH_ADDR_5_HIGH                    0x205B
127#define SUNI1x10GEXP_REG_RXXG_EXACT_MATCH_ADDR_6_LOW                     0x205C
128#define SUNI1x10GEXP_REG_RXXG_EXACT_MATCH_ADDR_6_MID                     0x205D
129#define SUNI1x10GEXP_REG_RXXG_EXACT_MATCH_ADDR_6_HIGH                    0x205E
130#define SUNI1x10GEXP_REG_RXXG_EXACT_MATCH_ADDR_7_LOW                     0x205F
131#define SUNI1x10GEXP_REG_RXXG_EXACT_MATCH_ADDR_7_MID                     0x2060
132#define SUNI1x10GEXP_REG_RXXG_EXACT_MATCH_ADDR_7_HIGH                    0x2061
133#define SUNI1x10GEXP_REG_RXXG_EXACT_MATCH_VID_0                          0x2062
134#define SUNI1x10GEXP_REG_RXXG_EXACT_MATCH_VID_1                          0x2063
135#define SUNI1x10GEXP_REG_RXXG_EXACT_MATCH_VID_2                          0x2064
136#define SUNI1x10GEXP_REG_RXXG_EXACT_MATCH_VID_3                          0x2065
137#define SUNI1x10GEXP_REG_RXXG_EXACT_MATCH_VID_4                          0x2066
138#define SUNI1x10GEXP_REG_RXXG_EXACT_MATCH_VID_5                          0x2067
139#define SUNI1x10GEXP_REG_RXXG_EXACT_MATCH_VID_6                          0x2068
140#define SUNI1x10GEXP_REG_RXXG_EXACT_MATCH_VID_7                          0x2069
141#define SUNI1x10GEXP_REG_RXXG_MULTICAST_HASH_LOW                         0x206A
142#define SUNI1x10GEXP_REG_RXXG_MULTICAST_HASH_MIDLOW                      0x206B
143#define SUNI1x10GEXP_REG_RXXG_MULTICAST_HASH_MIDHIGH                     0x206C
144#define SUNI1x10GEXP_REG_RXXG_MULTICAST_HASH_HIGH                        0x206D
145#define SUNI1x10GEXP_REG_RXXG_ADDRESS_FILTER_CONTROL_0                   0x206E
146#define SUNI1x10GEXP_REG_RXXG_ADDRESS_FILTER_CONTROL_1                   0x206F
147#define SUNI1x10GEXP_REG_RXXG_ADDRESS_FILTER_CONTROL_2                   0x2070
148
149#define SUNI1x10GEXP_REG_XRF_PATTERN_GEN_CTRL                            0x2081
150#define SUNI1x10GEXP_REG_XRF_8BTB_ERR_COUNT_LANE_0                       0x2084
151#define SUNI1x10GEXP_REG_XRF_8BTB_ERR_COUNT_LANE_1                       0x2085
152#define SUNI1x10GEXP_REG_XRF_8BTB_ERR_COUNT_LANE_2                       0x2086
153#define SUNI1x10GEXP_REG_XRF_8BTB_ERR_COUNT_LANE_3                       0x2087
154#define SUNI1x10GEXP_REG_XRF_INTERRUPT_ENABLE                            0x2088
155#define SUNI1x10GEXP_REG_XRF_INTERRUPT_STATUS                            0x2089
156#define SUNI1x10GEXP_REG_XRF_ERR_STATUS                                  0x208A
157#define SUNI1x10GEXP_REG_XRF_DIAG_INTERRUPT_ENABLE                       0x208B
158#define SUNI1x10GEXP_REG_XRF_DIAG_INTERRUPT_STATUS                       0x208C
159#define SUNI1x10GEXP_REG_XRF_CODE_ERR_THRES                              0x2092
160
161#define SUNI1x10GEXP_REG_RXOAM_CONFIG                                    0x20C0
162#define SUNI1x10GEXP_REG_RXOAM_FILTER_1_CONFIG                           0x20C1
163#define SUNI1x10GEXP_REG_RXOAM_FILTER_2_CONFIG                           0x20C2
164#define SUNI1x10GEXP_REG_RXOAM_CONFIG_2                                  0x20C3
165#define SUNI1x10GEXP_REG_RXOAM_HEC_CONFIG                                0x20C4
166#define SUNI1x10GEXP_REG_RXOAM_HEC_ERR_THRES                             0x20C5
167#define SUNI1x10GEXP_REG_RXOAM_INTERRUPT_ENABLE                          0x20C7
168#define SUNI1x10GEXP_REG_RXOAM_INTERRUPT_STATUS                          0x20C8
169#define SUNI1x10GEXP_REG_RXOAM_STATUS                                    0x20C9
170#define SUNI1x10GEXP_REG_RXOAM_HEC_ERR_COUNT                             0x20CA
171#define SUNI1x10GEXP_REG_RXOAM_FIFO_OVERFLOW_COUNT                       0x20CB
172#define SUNI1x10GEXP_REG_RXOAM_FILTER_MISMATCH_COUNT_LSB                 0x20CC
173#define SUNI1x10GEXP_REG_RXOAM_FILTER_MISMATCH_COUNT_MSB                 0x20CD
174#define SUNI1x10GEXP_REG_RXOAM_FILTER_1_MISMATCH_COUNT_LSB               0x20CE
175#define SUNI1x10GEXP_REG_RXOAM_FILTER_1_MISMATCH_COUNT_MSB               0x20CF
176#define SUNI1x10GEXP_REG_RXOAM_FILTER_2_MISMATCH_COUNT_LSB               0x20D0
177#define SUNI1x10GEXP_REG_RXOAM_FILTER_2_MISMATCH_COUNT_MSB               0x20D1
178#define SUNI1x10GEXP_REG_RXOAM_OAM_EXTRACT_COUNT_LSB                     0x20D2
179#define SUNI1x10GEXP_REG_RXOAM_OAM_EXTRACT_COUNT_MSB                     0x20D3
180#define SUNI1x10GEXP_REG_RXOAM_MINI_PACKET_COUNT_LSB                     0x20D4
181#define SUNI1x10GEXP_REG_RXOAM_MINI_PACKET_COUNT_MSB                     0x20D5
182#define SUNI1x10GEXP_REG_RXOAM_FILTER_MISMATCH_THRES_LSB                 0x20D6
183#define SUNI1x10GEXP_REG_RXOAM_FILTER_MISMATCH_THRES_MSB                 0x20D7
184
185#define SUNI1x10GEXP_REG_MSTAT_CONTROL                                   0x2100
186#define SUNI1x10GEXP_REG_MSTAT_COUNTER_ROLLOVER_0                        0x2101
187#define SUNI1x10GEXP_REG_MSTAT_COUNTER_ROLLOVER_1                        0x2102
188#define SUNI1x10GEXP_REG_MSTAT_COUNTER_ROLLOVER_2                        0x2103
189#define SUNI1x10GEXP_REG_MSTAT_COUNTER_ROLLOVER_3                        0x2104
190#define SUNI1x10GEXP_REG_MSTAT_INTERRUPT_MASK_0                          0x2105
191#define SUNI1x10GEXP_REG_MSTAT_INTERRUPT_MASK_1                          0x2106
192#define SUNI1x10GEXP_REG_MSTAT_INTERRUPT_MASK_2                          0x2107
193#define SUNI1x10GEXP_REG_MSTAT_INTERRUPT_MASK_3                          0x2108
194#define SUNI1x10GEXP_REG_MSTAT_COUNTER_WRITE_ADDRESS                     0x2109
195#define SUNI1x10GEXP_REG_MSTAT_COUNTER_WRITE_DATA_LOW                    0x210A
196#define SUNI1x10GEXP_REG_MSTAT_COUNTER_WRITE_DATA_MIDDLE                 0x210B
197#define SUNI1x10GEXP_REG_MSTAT_COUNTER_WRITE_DATA_HIGH                   0x210C
198#define mSUNI1x10GEXP_REG_MSTAT_COUNTER_LOW(countId)   (0x2110 + mSUNI1x10GEXP_MSTAT_COUNT_OFFSET(countId))
199#define mSUNI1x10GEXP_REG_MSTAT_COUNTER_MID(countId)   (0x2111 + mSUNI1x10GEXP_MSTAT_COUNT_OFFSET(countId))
200#define mSUNI1x10GEXP_REG_MSTAT_COUNTER_HIGH(countId)  (0x2112 + mSUNI1x10GEXP_MSTAT_COUNT_OFFSET(countId))
201#define SUNI1x10GEXP_REG_MSTAT_COUNTER_0_LOW                             0x2110
202#define SUNI1x10GEXP_REG_MSTAT_COUNTER_0_MID                             0x2111
203#define SUNI1x10GEXP_REG_MSTAT_COUNTER_0_HIGH                            0x2112
204#define SUNI1x10GEXP_REG_MSTAT_COUNTER_0_RESVD                           0x2113
205#define SUNI1x10GEXP_REG_MSTAT_COUNTER_1_LOW                             0x2114
206#define SUNI1x10GEXP_REG_MSTAT_COUNTER_1_MID                             0x2115
207#define SUNI1x10GEXP_REG_MSTAT_COUNTER_1_HIGH                            0x2116
208#define SUNI1x10GEXP_REG_MSTAT_COUNTER_1_RESVD                           0x2117
209#define SUNI1x10GEXP_REG_MSTAT_COUNTER_2_LOW                             0x2118
210#define SUNI1x10GEXP_REG_MSTAT_COUNTER_2_MID                             0x2119
211#define SUNI1x10GEXP_REG_MSTAT_COUNTER_2_HIGH                            0x211A
212#define SUNI1x10GEXP_REG_MSTAT_COUNTER_2_RESVD                           0x211B
213#define SUNI1x10GEXP_REG_MSTAT_COUNTER_3_LOW                             0x211C
214#define SUNI1x10GEXP_REG_MSTAT_COUNTER_3_MID                             0x211D
215#define SUNI1x10GEXP_REG_MSTAT_COUNTER_3_HIGH                            0x211E
216#define SUNI1x10GEXP_REG_MSTAT_COUNTER_3_RESVD                           0x211F
217#define SUNI1x10GEXP_REG_MSTAT_COUNTER_4_LOW                             0x2120
218#define SUNI1x10GEXP_REG_MSTAT_COUNTER_4_MID                             0x2121
219#define SUNI1x10GEXP_REG_MSTAT_COUNTER_4_HIGH                            0x2122
220#define SUNI1x10GEXP_REG_MSTAT_COUNTER_4_RESVD                           0x2123
221#define SUNI1x10GEXP_REG_MSTAT_COUNTER_5_LOW                             0x2124
222#define SUNI1x10GEXP_REG_MSTAT_COUNTER_5_MID                             0x2125
223#define SUNI1x10GEXP_REG_MSTAT_COUNTER_5_HIGH                            0x2126
224#define SUNI1x10GEXP_REG_MSTAT_COUNTER_5_RESVD                           0x2127
225#define SUNI1x10GEXP_REG_MSTAT_COUNTER_6_LOW                             0x2128
226#define SUNI1x10GEXP_REG_MSTAT_COUNTER_6_MID                             0x2129
227#define SUNI1x10GEXP_REG_MSTAT_COUNTER_6_HIGH                            0x212A
228#define SUNI1x10GEXP_REG_MSTAT_COUNTER_6_RESVD                           0x212B
229#define SUNI1x10GEXP_REG_MSTAT_COUNTER_7_LOW                             0x212C
230#define SUNI1x10GEXP_REG_MSTAT_COUNTER_7_MID                             0x212D
231#define SUNI1x10GEXP_REG_MSTAT_COUNTER_7_HIGH                            0x212E
232#define SUNI1x10GEXP_REG_MSTAT_COUNTER_7_RESVD                           0x212F
233#define SUNI1x10GEXP_REG_MSTAT_COUNTER_8_LOW                             0x2130
234#define SUNI1x10GEXP_REG_MSTAT_COUNTER_8_MID                             0x2131
235#define SUNI1x10GEXP_REG_MSTAT_COUNTER_8_HIGH                            0x2132
236#define SUNI1x10GEXP_REG_MSTAT_COUNTER_8_RESVD                           0x2133
237#define SUNI1x10GEXP_REG_MSTAT_COUNTER_9_LOW                             0x2134
238#define SUNI1x10GEXP_REG_MSTAT_COUNTER_9_MID                             0x2135
239#define SUNI1x10GEXP_REG_MSTAT_COUNTER_9_HIGH                            0x2136
240#define SUNI1x10GEXP_REG_MSTAT_COUNTER_9_RESVD                           0x2137
241#define SUNI1x10GEXP_REG_MSTAT_COUNTER_10_LOW                            0x2138
242#define SUNI1x10GEXP_REG_MSTAT_COUNTER_10_MID                            0x2139
243#define SUNI1x10GEXP_REG_MSTAT_COUNTER_10_HIGH                           0x213A
244#define SUNI1x10GEXP_REG_MSTAT_COUNTER_10_RESVD                          0x213B
245#define SUNI1x10GEXP_REG_MSTAT_COUNTER_11_LOW                            0x213C
246#define SUNI1x10GEXP_REG_MSTAT_COUNTER_11_MID                            0x213D
247#define SUNI1x10GEXP_REG_MSTAT_COUNTER_11_HIGH                           0x213E
248#define SUNI1x10GEXP_REG_MSTAT_COUNTER_11_RESVD                          0x213F
249#define SUNI1x10GEXP_REG_MSTAT_COUNTER_12_LOW                            0x2140
250#define SUNI1x10GEXP_REG_MSTAT_COUNTER_12_MID                            0x2141
251#define SUNI1x10GEXP_REG_MSTAT_COUNTER_12_HIGH                           0x2142
252#define SUNI1x10GEXP_REG_MSTAT_COUNTER_12_RESVD                          0x2143
253#define SUNI1x10GEXP_REG_MSTAT_COUNTER_13_LOW                            0x2144
254#define SUNI1x10GEXP_REG_MSTAT_COUNTER_13_MID                            0x2145
255#define SUNI1x10GEXP_REG_MSTAT_COUNTER_13_HIGH                           0x2146
256#define SUNI1x10GEXP_REG_MSTAT_COUNTER_13_RESVD                          0x2147
257#define SUNI1x10GEXP_REG_MSTAT_COUNTER_14_LOW                            0x2148
258#define SUNI1x10GEXP_REG_MSTAT_COUNTER_14_MID                            0x2149
259#define SUNI1x10GEXP_REG_MSTAT_COUNTER_14_HIGH                           0x214A
260#define SUNI1x10GEXP_REG_MSTAT_COUNTER_14_RESVD                          0x214B
261#define SUNI1x10GEXP_REG_MSTAT_COUNTER_15_LOW                            0x214C
262#define SUNI1x10GEXP_REG_MSTAT_COUNTER_15_MID                            0x214D
263#define SUNI1x10GEXP_REG_MSTAT_COUNTER_15_HIGH                           0x214E
264#define SUNI1x10GEXP_REG_MSTAT_COUNTER_15_RESVD                          0x214F
265#define SUNI1x10GEXP_REG_MSTAT_COUNTER_16_LOW                            0x2150
266#define SUNI1x10GEXP_REG_MSTAT_COUNTER_16_MID                            0x2151
267#define SUNI1x10GEXP_REG_MSTAT_COUNTER_16_HIGH                           0x2152
268#define SUNI1x10GEXP_REG_MSTAT_COUNTER_16_RESVD                          0x2153
269#define SUNI1x10GEXP_REG_MSTAT_COUNTER_17_LOW                            0x2154
270#define SUNI1x10GEXP_REG_MSTAT_COUNTER_17_MID                            0x2155
271#define SUNI1x10GEXP_REG_MSTAT_COUNTER_17_HIGH                           0x2156
272#define SUNI1x10GEXP_REG_MSTAT_COUNTER_17_RESVD                          0x2157
273#define SUNI1x10GEXP_REG_MSTAT_COUNTER_18_LOW                            0x2158
274#define SUNI1x10GEXP_REG_MSTAT_COUNTER_18_MID                            0x2159
275#define SUNI1x10GEXP_REG_MSTAT_COUNTER_18_HIGH                           0x215A
276#define SUNI1x10GEXP_REG_MSTAT_COUNTER_18_RESVD                          0x215B
277#define SUNI1x10GEXP_REG_MSTAT_COUNTER_19_LOW                            0x215C
278#define SUNI1x10GEXP_REG_MSTAT_COUNTER_19_MID                            0x215D
279#define SUNI1x10GEXP_REG_MSTAT_COUNTER_19_HIGH                           0x215E
280#define SUNI1x10GEXP_REG_MSTAT_COUNTER_19_RESVD                          0x215F
281#define SUNI1x10GEXP_REG_MSTAT_COUNTER_20_LOW                            0x2160
282#define SUNI1x10GEXP_REG_MSTAT_COUNTER_20_MID                            0x2161
283#define SUNI1x10GEXP_REG_MSTAT_COUNTER_20_HIGH                           0x2162
284#define SUNI1x10GEXP_REG_MSTAT_COUNTER_20_RESVD                          0x2163
285#define SUNI1x10GEXP_REG_MSTAT_COUNTER_21_LOW                            0x2164
286#define SUNI1x10GEXP_REG_MSTAT_COUNTER_21_MID                            0x2165
287#define SUNI1x10GEXP_REG_MSTAT_COUNTER_21_HIGH                           0x2166
288#define SUNI1x10GEXP_REG_MSTAT_COUNTER_21_RESVD                          0x2167
289#define SUNI1x10GEXP_REG_MSTAT_COUNTER_22_LOW                            0x2168
290#define SUNI1x10GEXP_REG_MSTAT_COUNTER_22_MID                            0x2169
291#define SUNI1x10GEXP_REG_MSTAT_COUNTER_22_HIGH                           0x216A
292#define SUNI1x10GEXP_REG_MSTAT_COUNTER_22_RESVD                          0x216B
293#define SUNI1x10GEXP_REG_MSTAT_COUNTER_23_LOW                            0x216C
294#define SUNI1x10GEXP_REG_MSTAT_COUNTER_23_MID                            0x216D
295#define SUNI1x10GEXP_REG_MSTAT_COUNTER_23_HIGH                           0x216E
296#define SUNI1x10GEXP_REG_MSTAT_COUNTER_23_RESVD                          0x216F
297#define SUNI1x10GEXP_REG_MSTAT_COUNTER_24_LOW                            0x2170
298#define SUNI1x10GEXP_REG_MSTAT_COUNTER_24_MID                            0x2171
299#define SUNI1x10GEXP_REG_MSTAT_COUNTER_24_HIGH                           0x2172
300#define SUNI1x10GEXP_REG_MSTAT_COUNTER_24_RESVD                          0x2173
301#define SUNI1x10GEXP_REG_MSTAT_COUNTER_25_LOW                            0x2174
302#define SUNI1x10GEXP_REG_MSTAT_COUNTER_25_MID                            0x2175
303#define SUNI1x10GEXP_REG_MSTAT_COUNTER_25_HIGH                           0x2176
304#define SUNI1x10GEXP_REG_MSTAT_COUNTER_25_RESVD                          0x2177
305#define SUNI1x10GEXP_REG_MSTAT_COUNTER_26_LOW                            0x2178
306#define SUNI1x10GEXP_REG_MSTAT_COUNTER_26_MID                            0x2179
307#define SUNI1x10GEXP_REG_MSTAT_COUNTER_26_HIGH                           0x217a
308#define SUNI1x10GEXP_REG_MSTAT_COUNTER_26_RESVD                          0x217b
309#define SUNI1x10GEXP_REG_MSTAT_COUNTER_27_LOW                            0x217c
310#define SUNI1x10GEXP_REG_MSTAT_COUNTER_27_MID                            0x217d
311#define SUNI1x10GEXP_REG_MSTAT_COUNTER_27_HIGH                           0x217e
312#define SUNI1x10GEXP_REG_MSTAT_COUNTER_27_RESVD                          0x217f
313#define SUNI1x10GEXP_REG_MSTAT_COUNTER_28_LOW                            0x2180
314#define SUNI1x10GEXP_REG_MSTAT_COUNTER_28_MID                            0x2181
315#define SUNI1x10GEXP_REG_MSTAT_COUNTER_28_HIGH                           0x2182
316#define SUNI1x10GEXP_REG_MSTAT_COUNTER_28_RESVD                          0x2183
317#define SUNI1x10GEXP_REG_MSTAT_COUNTER_29_LOW                            0x2184
318#define SUNI1x10GEXP_REG_MSTAT_COUNTER_29_MID                            0x2185
319#define SUNI1x10GEXP_REG_MSTAT_COUNTER_29_HIGH                           0x2186
320#define SUNI1x10GEXP_REG_MSTAT_COUNTER_29_RESVD                          0x2187
321#define SUNI1x10GEXP_REG_MSTAT_COUNTER_30_LOW                            0x2188
322#define SUNI1x10GEXP_REG_MSTAT_COUNTER_30_MID                            0x2189
323#define SUNI1x10GEXP_REG_MSTAT_COUNTER_30_HIGH                           0x218A
324#define SUNI1x10GEXP_REG_MSTAT_COUNTER_30_RESVD                          0x218B
325#define SUNI1x10GEXP_REG_MSTAT_COUNTER_31_LOW                            0x218C
326#define SUNI1x10GEXP_REG_MSTAT_COUNTER_31_MID                            0x218D
327#define SUNI1x10GEXP_REG_MSTAT_COUNTER_31_HIGH                           0x218E
328#define SUNI1x10GEXP_REG_MSTAT_COUNTER_31_RESVD                          0x218F
329#define SUNI1x10GEXP_REG_MSTAT_COUNTER_32_LOW                            0x2190
330#define SUNI1x10GEXP_REG_MSTAT_COUNTER_32_MID                            0x2191
331#define SUNI1x10GEXP_REG_MSTAT_COUNTER_32_HIGH                           0x2192
332#define SUNI1x10GEXP_REG_MSTAT_COUNTER_32_RESVD                          0x2193
333#define SUNI1x10GEXP_REG_MSTAT_COUNTER_33_LOW                            0x2194
334#define SUNI1x10GEXP_REG_MSTAT_COUNTER_33_MID                            0x2195
335#define SUNI1x10GEXP_REG_MSTAT_COUNTER_33_HIGH                           0x2196
336#define SUNI1x10GEXP_REG_MSTAT_COUNTER_33_RESVD                          0x2197
337#define SUNI1x10GEXP_REG_MSTAT_COUNTER_34_LOW                            0x2198
338#define SUNI1x10GEXP_REG_MSTAT_COUNTER_34_MID                            0x2199
339#define SUNI1x10GEXP_REG_MSTAT_COUNTER_34_HIGH                           0x219A
340#define SUNI1x10GEXP_REG_MSTAT_COUNTER_34_RESVD                          0x219B
341#define SUNI1x10GEXP_REG_MSTAT_COUNTER_35_LOW                            0x219C
342#define SUNI1x10GEXP_REG_MSTAT_COUNTER_35_MID                            0x219D
343#define SUNI1x10GEXP_REG_MSTAT_COUNTER_35_HIGH                           0x219E
344#define SUNI1x10GEXP_REG_MSTAT_COUNTER_35_RESVD                          0x219F
345#define SUNI1x10GEXP_REG_MSTAT_COUNTER_36_LOW                            0x21A0
346#define SUNI1x10GEXP_REG_MSTAT_COUNTER_36_MID                            0x21A1
347#define SUNI1x10GEXP_REG_MSTAT_COUNTER_36_HIGH                           0x21A2
348#define SUNI1x10GEXP_REG_MSTAT_COUNTER_36_RESVD                          0x21A3
349#define SUNI1x10GEXP_REG_MSTAT_COUNTER_37_LOW                            0x21A4
350#define SUNI1x10GEXP_REG_MSTAT_COUNTER_37_MID                            0x21A5
351#define SUNI1x10GEXP_REG_MSTAT_COUNTER_37_HIGH                           0x21A6
352#define SUNI1x10GEXP_REG_MSTAT_COUNTER_37_RESVD                          0x21A7
353#define SUNI1x10GEXP_REG_MSTAT_COUNTER_38_LOW                            0x21A8
354#define SUNI1x10GEXP_REG_MSTAT_COUNTER_38_MID                            0x21A9
355#define SUNI1x10GEXP_REG_MSTAT_COUNTER_38_HIGH                           0x21AA
356#define SUNI1x10GEXP_REG_MSTAT_COUNTER_38_RESVD                          0x21AB
357#define SUNI1x10GEXP_REG_MSTAT_COUNTER_39_LOW                            0x21AC
358#define SUNI1x10GEXP_REG_MSTAT_COUNTER_39_MID                            0x21AD
359#define SUNI1x10GEXP_REG_MSTAT_COUNTER_39_HIGH                           0x21AE
360#define SUNI1x10GEXP_REG_MSTAT_COUNTER_39_RESVD                          0x21AF
361#define SUNI1x10GEXP_REG_MSTAT_COUNTER_40_LOW                            0x21B0
362#define SUNI1x10GEXP_REG_MSTAT_COUNTER_40_MID                            0x21B1
363#define SUNI1x10GEXP_REG_MSTAT_COUNTER_40_HIGH                           0x21B2
364#define SUNI1x10GEXP_REG_MSTAT_COUNTER_40_RESVD                          0x21B3
365#define SUNI1x10GEXP_REG_MSTAT_COUNTER_41_LOW                            0x21B4
366#define SUNI1x10GEXP_REG_MSTAT_COUNTER_41_MID                            0x21B5
367#define SUNI1x10GEXP_REG_MSTAT_COUNTER_41_HIGH                           0x21B6
368#define SUNI1x10GEXP_REG_MSTAT_COUNTER_41_RESVD                          0x21B7
369#define SUNI1x10GEXP_REG_MSTAT_COUNTER_42_LOW                            0x21B8
370#define SUNI1x10GEXP_REG_MSTAT_COUNTER_42_MID                            0x21B9
371#define SUNI1x10GEXP_REG_MSTAT_COUNTER_42_HIGH                           0x21BA
372#define SUNI1x10GEXP_REG_MSTAT_COUNTER_42_RESVD                          0x21BB
373#define SUNI1x10GEXP_REG_MSTAT_COUNTER_43_LOW                            0x21BC
374#define SUNI1x10GEXP_REG_MSTAT_COUNTER_43_MID                            0x21BD
375#define SUNI1x10GEXP_REG_MSTAT_COUNTER_43_HIGH                           0x21BE
376#define SUNI1x10GEXP_REG_MSTAT_COUNTER_43_RESVD                          0x21BF
377#define SUNI1x10GEXP_REG_MSTAT_COUNTER_44_LOW                            0x21C0
378#define SUNI1x10GEXP_REG_MSTAT_COUNTER_44_MID                            0x21C1
379#define SUNI1x10GEXP_REG_MSTAT_COUNTER_44_HIGH                           0x21C2
380#define SUNI1x10GEXP_REG_MSTAT_COUNTER_44_RESVD                          0x21C3
381#define SUNI1x10GEXP_REG_MSTAT_COUNTER_45_LOW                            0x21C4
382#define SUNI1x10GEXP_REG_MSTAT_COUNTER_45_MID                            0x21C5
383#define SUNI1x10GEXP_REG_MSTAT_COUNTER_45_HIGH                           0x21C6
384#define SUNI1x10GEXP_REG_MSTAT_COUNTER_45_RESVD                          0x21C7
385#define SUNI1x10GEXP_REG_MSTAT_COUNTER_46_LOW                            0x21C8
386#define SUNI1x10GEXP_REG_MSTAT_COUNTER_46_MID                            0x21C9
387#define SUNI1x10GEXP_REG_MSTAT_COUNTER_46_HIGH                           0x21CA
388#define SUNI1x10GEXP_REG_MSTAT_COUNTER_46_RESVD                          0x21CB
389#define SUNI1x10GEXP_REG_MSTAT_COUNTER_47_LOW                            0x21CC
390#define SUNI1x10GEXP_REG_MSTAT_COUNTER_47_MID                            0x21CD
391#define SUNI1x10GEXP_REG_MSTAT_COUNTER_47_HIGH                           0x21CE
392#define SUNI1x10GEXP_REG_MSTAT_COUNTER_47_RESVD                          0x21CF
393#define SUNI1x10GEXP_REG_MSTAT_COUNTER_48_LOW                            0x21D0
394#define SUNI1x10GEXP_REG_MSTAT_COUNTER_48_MID                            0x21D1
395#define SUNI1x10GEXP_REG_MSTAT_COUNTER_48_HIGH                           0x21D2
396#define SUNI1x10GEXP_REG_MSTAT_COUNTER_48_RESVD                          0x21D3
397#define SUNI1x10GEXP_REG_MSTAT_COUNTER_49_LOW                            0x21D4
398#define SUNI1x10GEXP_REG_MSTAT_COUNTER_49_MID                            0x21D5
399#define SUNI1x10GEXP_REG_MSTAT_COUNTER_49_HIGH                           0x21D6
400#define SUNI1x10GEXP_REG_MSTAT_COUNTER_49_RESVD                          0x21D7
401#define SUNI1x10GEXP_REG_MSTAT_COUNTER_50_LOW                            0x21D8
402#define SUNI1x10GEXP_REG_MSTAT_COUNTER_50_MID                            0x21D9
403#define SUNI1x10GEXP_REG_MSTAT_COUNTER_50_HIGH                           0x21DA
404#define SUNI1x10GEXP_REG_MSTAT_COUNTER_50_RESVD                          0x21DB
405#define SUNI1x10GEXP_REG_MSTAT_COUNTER_51_LOW                            0x21DC
406#define SUNI1x10GEXP_REG_MSTAT_COUNTER_51_MID                            0x21DD
407#define SUNI1x10GEXP_REG_MSTAT_COUNTER_51_HIGH                           0x21DE
408#define SUNI1x10GEXP_REG_MSTAT_COUNTER_51_RESVD                          0x21DF
409#define SUNI1x10GEXP_REG_MSTAT_COUNTER_52_LOW                            0x21E0
410#define SUNI1x10GEXP_REG_MSTAT_COUNTER_52_MID                            0x21E1
411#define SUNI1x10GEXP_REG_MSTAT_COUNTER_52_HIGH                           0x21E2
412#define SUNI1x10GEXP_REG_MSTAT_COUNTER_52_RESVD                          0x21E3
413#define SUNI1x10GEXP_REG_MSTAT_COUNTER_53_LOW                            0x21E4
414#define SUNI1x10GEXP_REG_MSTAT_COUNTER_53_MID                            0x21E5
415#define SUNI1x10GEXP_REG_MSTAT_COUNTER_53_HIGH                           0x21E6
416#define SUNI1x10GEXP_CNTR_MAC_ETHERNET_NUM                               51
417
418#define SUNI1x10GEXP_REG_IFLX_GLOBAL_CONFIG                              0x2200
419#define SUNI1x10GEXP_REG_IFLX_CHANNEL_PROVISION                          0x2201
420#define SUNI1x10GEXP_REG_IFLX_FIFO_OVERFLOW_ENABLE                       0x2209
421#define SUNI1x10GEXP_REG_IFLX_FIFO_OVERFLOW_INTERRUPT                    0x220A
422#define SUNI1x10GEXP_REG_IFLX_INDIR_CHANNEL_ADDRESS                      0x220D
423#define SUNI1x10GEXP_REG_IFLX_INDIR_LOGICAL_FIFO_LOW_LIMIT_PROVISION     0x220E
424#define SUNI1x10GEXP_REG_IFLX_INDIR_LOGICAL_FIFO_HIGH_LIMIT              0x220F
425#define SUNI1x10GEXP_REG_IFLX_INDIR_FULL_ALMOST_FULL_STATUS_LIMIT        0x2210
426#define SUNI1x10GEXP_REG_IFLX_INDIR_EMPTY_ALMOST_EMPTY_STATUS_LIMIT      0x2211
427
428#define SUNI1x10GEXP_REG_PL4MOS_CONFIG                                   0x2240
429#define SUNI1x10GEXP_REG_PL4MOS_MASK                                     0x2241
430#define SUNI1x10GEXP_REG_PL4MOS_FAIRNESS_MASKING                         0x2242
431#define SUNI1x10GEXP_REG_PL4MOS_MAXBURST1                                0x2243
432#define SUNI1x10GEXP_REG_PL4MOS_MAXBURST2                                0x2244
433#define SUNI1x10GEXP_REG_PL4MOS_TRANSFER_SIZE                            0x2245
434
435#define SUNI1x10GEXP_REG_PL4ODP_CONFIG                                   0x2280
436#define SUNI1x10GEXP_REG_PL4ODP_INTERRUPT_MASK                           0x2282
437#define SUNI1x10GEXP_REG_PL4ODP_INTERRUPT                                0x2283
438#define SUNI1x10GEXP_REG_PL4ODP_CONFIG_MAX_T                             0x2284
439
440#define SUNI1x10GEXP_REG_PL4IO_LOCK_DETECT_STATUS                        0x2300
441#define SUNI1x10GEXP_REG_PL4IO_LOCK_DETECT_CHANGE                        0x2301
442#define SUNI1x10GEXP_REG_PL4IO_LOCK_DETECT_MASK                          0x2302
443#define SUNI1x10GEXP_REG_PL4IO_LOCK_DETECT_LIMITS                        0x2303
444#define SUNI1x10GEXP_REG_PL4IO_CALENDAR_REPETITIONS                      0x2304
445#define SUNI1x10GEXP_REG_PL4IO_CONFIG                                    0x2305
446
447#define SUNI1x10GEXP_REG_TXXG_CONFIG_1                                   0x3040
448#define SUNI1x10GEXP_REG_TXXG_CONFIG_2                                   0x3041
449#define SUNI1x10GEXP_REG_TXXG_CONFIG_3                                   0x3042
450#define SUNI1x10GEXP_REG_TXXG_INTERRUPT                                  0x3043
451#define SUNI1x10GEXP_REG_TXXG_STATUS                                     0x3044
452#define SUNI1x10GEXP_REG_TXXG_MAX_FRAME_SIZE                             0x3045
453#define SUNI1x10GEXP_REG_TXXG_MIN_FRAME_SIZE                             0x3046
454#define SUNI1x10GEXP_REG_TXXG_SA_15_0                                    0x3047
455#define SUNI1x10GEXP_REG_TXXG_SA_31_16                                   0x3048
456#define SUNI1x10GEXP_REG_TXXG_SA_47_32                                   0x3049
457#define SUNI1x10GEXP_REG_TXXG_PAUSE_TIMER                                0x304D
458#define SUNI1x10GEXP_REG_TXXG_PAUSE_TIMER_INTERVAL                       0x304E
459#define SUNI1x10GEXP_REG_TXXG_FILTER_ERROR_COUNTER                       0x3051
460#define SUNI1x10GEXP_REG_TXXG_PAUSE_QUANTUM_CONFIG                       0x3052
461
462#define SUNI1x10GEXP_REG_XTEF_CTRL                                       0x3080
463#define SUNI1x10GEXP_REG_XTEF_INTERRUPT_STATUS                           0x3084
464#define SUNI1x10GEXP_REG_XTEF_INTERRUPT_ENABLE                           0x3085
465#define SUNI1x10GEXP_REG_XTEF_VISIBILITY                                 0x3086
466
467#define SUNI1x10GEXP_REG_TXOAM_OAM_CONFIG                                0x30C0
468#define SUNI1x10GEXP_REG_TXOAM_MINI_RATE_CONFIG                          0x30C1
469#define SUNI1x10GEXP_REG_TXOAM_MINI_GAP_FIFO_CONFIG                      0x30C2
470#define SUNI1x10GEXP_REG_TXOAM_P1P2_STATIC_VALUES                        0x30C3
471#define SUNI1x10GEXP_REG_TXOAM_P3P4_STATIC_VALUES                        0x30C4
472#define SUNI1x10GEXP_REG_TXOAM_P5P6_STATIC_VALUES                        0x30C5
473#define SUNI1x10GEXP_REG_TXOAM_INTERRUPT_ENABLE                          0x30C6
474#define SUNI1x10GEXP_REG_TXOAM_INTERRUPT_STATUS                          0x30C7
475#define SUNI1x10GEXP_REG_TXOAM_INSERT_COUNT_LSB                          0x30C8
476#define SUNI1x10GEXP_REG_TXOAM_INSERT_COUNT_MSB                          0x30C9
477#define SUNI1x10GEXP_REG_TXOAM_OAM_MINI_COUNT_LSB                        0x30CA
478#define SUNI1x10GEXP_REG_TXOAM_OAM_MINI_COUNT_MSB                        0x30CB
479#define SUNI1x10GEXP_REG_TXOAM_P1P2_MINI_MASK                            0x30CC
480#define SUNI1x10GEXP_REG_TXOAM_P3P4_MINI_MASK                            0x30CD
481#define SUNI1x10GEXP_REG_TXOAM_P5P6_MINI_MASK                            0x30CE
482#define SUNI1x10GEXP_REG_TXOAM_COSET                                     0x30CF
483#define SUNI1x10GEXP_REG_TXOAM_EMPTY_FIFO_INS_OP_CNT_LSB                 0x30D0
484#define SUNI1x10GEXP_REG_TXOAM_EMPTY_FIFO_INS_OP_CNT_MSB                 0x30D1
485#define SUNI1x10GEXP_REG_TXOAM_STATIC_VALUE_MINI_COUNT_LSB               0x30D2
486#define SUNI1x10GEXP_REG_TXOAM_STATIC_VALUE_MINI_COUNT_MSB               0x30D3
487
488
489#define SUNI1x10GEXP_REG_EFLX_GLOBAL_CONFIG                              0x3200
490#define SUNI1x10GEXP_REG_EFLX_ERCU_GLOBAL_STATUS                         0x3201
491#define SUNI1x10GEXP_REG_EFLX_INDIR_CHANNEL_ADDRESS                      0x3202
492#define SUNI1x10GEXP_REG_EFLX_INDIR_FIFO_LOW_LIMIT                       0x3203
493#define SUNI1x10GEXP_REG_EFLX_INDIR_FIFO_HIGH_LIMIT                      0x3204
494#define SUNI1x10GEXP_REG_EFLX_INDIR_FULL_ALMOST_FULL_STATUS_AND_LIMIT    0x3205
495#define SUNI1x10GEXP_REG_EFLX_INDIR_EMPTY_ALMOST_EMPTY_STATUS_AND_LIMIT  0x3206
496#define SUNI1x10GEXP_REG_EFLX_INDIR_FIFO_CUT_THROUGH_THRESHOLD           0x3207
497#define SUNI1x10GEXP_REG_EFLX_FIFO_OVERFLOW_ERROR_ENABLE                 0x320C
498#define SUNI1x10GEXP_REG_EFLX_FIFO_OVERFLOW_ERROR_INDICATION             0x320D
499#define SUNI1x10GEXP_REG_EFLX_CHANNEL_PROVISION                          0x3210
500
501#define SUNI1x10GEXP_REG_PL4IDU_CONFIG                                   0x3280
502#define SUNI1x10GEXP_REG_PL4IDU_INTERRUPT_MASK                           0x3282
503#define SUNI1x10GEXP_REG_PL4IDU_INTERRUPT                                0x3283
504
505
506/*----------------------------------------*/
507#define SUNI1x10GEXP_REG_MAX_OFFSET                                      0x3480
508
509/******************************************************************************/
510/*                 -- End register offset definitions --                      */
511/******************************************************************************/
512
513/******************************************************************************/
514/** SUNI-1x10GE-XP REGISTER BIT MASKS                                        **/
515/******************************************************************************/
516
517#define SUNI1x10GEXP_BITMSK_BITS_1   0x00001
518#define SUNI1x10GEXP_BITMSK_BITS_2   0x00003
519#define SUNI1x10GEXP_BITMSK_BITS_3   0x00007
520#define SUNI1x10GEXP_BITMSK_BITS_4   0x0000f
521#define SUNI1x10GEXP_BITMSK_BITS_5   0x0001f
522#define SUNI1x10GEXP_BITMSK_BITS_6   0x0003f
523#define SUNI1x10GEXP_BITMSK_BITS_7   0x0007f
524#define SUNI1x10GEXP_BITMSK_BITS_8   0x000ff
525#define SUNI1x10GEXP_BITMSK_BITS_9   0x001ff
526#define SUNI1x10GEXP_BITMSK_BITS_10  0x003ff
527#define SUNI1x10GEXP_BITMSK_BITS_11  0x007ff
528#define SUNI1x10GEXP_BITMSK_BITS_12  0x00fff
529#define SUNI1x10GEXP_BITMSK_BITS_13  0x01fff
530#define SUNI1x10GEXP_BITMSK_BITS_14  0x03fff
531#define SUNI1x10GEXP_BITMSK_BITS_15  0x07fff
532#define SUNI1x10GEXP_BITMSK_BITS_16  0x0ffff
533
534#define mSUNI1x10GEXP_CLR_MSBITS_1(v)  ((v) & SUNI1x10GEXP_BITMSK_BITS_15)
535#define mSUNI1x10GEXP_CLR_MSBITS_2(v)  ((v) & SUNI1x10GEXP_BITMSK_BITS_14)
536#define mSUNI1x10GEXP_CLR_MSBITS_3(v)  ((v) & SUNI1x10GEXP_BITMSK_BITS_13)
537#define mSUNI1x10GEXP_CLR_MSBITS_4(v)  ((v) & SUNI1x10GEXP_BITMSK_BITS_12)
538#define mSUNI1x10GEXP_CLR_MSBITS_5(v)  ((v) & SUNI1x10GEXP_BITMSK_BITS_11)
539#define mSUNI1x10GEXP_CLR_MSBITS_6(v)  ((v) & SUNI1x10GEXP_BITMSK_BITS_10)
540#define mSUNI1x10GEXP_CLR_MSBITS_7(v)  ((v) & SUNI1x10GEXP_BITMSK_BITS_9)
541#define mSUNI1x10GEXP_CLR_MSBITS_8(v)  ((v) & SUNI1x10GEXP_BITMSK_BITS_8)
542#define mSUNI1x10GEXP_CLR_MSBITS_9(v)  ((v) & SUNI1x10GEXP_BITMSK_BITS_7)
543#define mSUNI1x10GEXP_CLR_MSBITS_10(v) ((v) & SUNI1x10GEXP_BITMSK_BITS_6)
544#define mSUNI1x10GEXP_CLR_MSBITS_11(v) ((v) & SUNI1x10GEXP_BITMSK_BITS_5)
545#define mSUNI1x10GEXP_CLR_MSBITS_12(v) ((v) & SUNI1x10GEXP_BITMSK_BITS_4)
546#define mSUNI1x10GEXP_CLR_MSBITS_13(v) ((v) & SUNI1x10GEXP_BITMSK_BITS_3)
547#define mSUNI1x10GEXP_CLR_MSBITS_14(v) ((v) & SUNI1x10GEXP_BITMSK_BITS_2)
548#define mSUNI1x10GEXP_CLR_MSBITS_15(v) ((v) & SUNI1x10GEXP_BITMSK_BITS_1)
549
550#define mSUNI1x10GEXP_GET_BIT(val, bitMsk) (((val)&(bitMsk)) ? 1:0)
551
552
553
554/*----------------------------------------------------------------------------
555 * Register 0x0001: S/UNI-1x10GE-XP Product Revision
556 *    Bit 3-0  REVISION
557 *----------------------------------------------------------------------------*/
558#define SUNI1x10GEXP_BITMSK_REVISION  0x000F
559
560/*----------------------------------------------------------------------------
561 * Register 0x0002: S/UNI-1x10GE-XP Configuration and Reset Control
562 *    Bit 2  XAUI_ARESETB
563 *    Bit 1  PL4_ARESETB
564 *    Bit 0  DRESETB
565 *----------------------------------------------------------------------------*/
566#define SUNI1x10GEXP_BITMSK_XAUI_ARESET  0x0004
567#define SUNI1x10GEXP_BITMSK_PL4_ARESET   0x0002
568#define SUNI1x10GEXP_BITMSK_DRESETB      0x0001
569
570/*----------------------------------------------------------------------------
571 * Register 0x0003: S/UNI-1x10GE-XP Loop Back and Miscellaneous Control
572 *    Bit 11  PL4IO_OUTCLKSEL
573 *    Bit 9   SYSPCSLB
574 *    Bit 8   LINEPCSLB
575 *    Bit 7   MSTAT_BYPASS
576 *    Bit 6   RXXG_BYPASS
577 *    Bit 5   TXXG_BYPASS
578 *    Bit 4   SOP_PAD_EN
579 *    Bit 1   LOS_INV
580 *    Bit 0   OVERRIDE_LOS
581 *----------------------------------------------------------------------------*/
582#define SUNI1x10GEXP_BITMSK_PL4IO_OUTCLKSEL  0x0800
583#define SUNI1x10GEXP_BITMSK_SYSPCSLB         0x0200
584#define SUNI1x10GEXP_BITMSK_LINEPCSLB        0x0100
585#define SUNI1x10GEXP_BITMSK_MSTAT_BYPASS     0x0080
586#define SUNI1x10GEXP_BITMSK_RXXG_BYPASS      0x0040
587#define SUNI1x10GEXP_BITMSK_TXXG_BYPASS      0x0020
588#define SUNI1x10GEXP_BITMSK_SOP_PAD_EN       0x0010
589#define SUNI1x10GEXP_BITMSK_LOS_INV          0x0002
590#define SUNI1x10GEXP_BITMSK_OVERRIDE_LOS     0x0001
591
592/*----------------------------------------------------------------------------
593 * Register 0x0004: S/UNI-1x10GE-XP Device Status
594 *    Bit 9 TOP_SXRA_EXPIRED
595 *    Bit 8 TOP_MDIO_BUSY
596 *    Bit 7 TOP_DTRB
597 *    Bit 6 TOP_EXPIRED
598 *    Bit 5 TOP_PAUSED
599 *    Bit 4 TOP_PL4_ID_DOOL
600 *    Bit 3 TOP_PL4_IS_DOOL
601 *    Bit 2 TOP_PL4_ID_ROOL
602 *    Bit 1 TOP_PL4_IS_ROOL
603 *    Bit 0 TOP_PL4_OUT_ROOL
604 *----------------------------------------------------------------------------*/
605#define SUNI1x10GEXP_BITMSK_TOP_SXRA_EXPIRED  0x0200
606#define SUNI1x10GEXP_BITMSK_TOP_MDIO_BUSY     0x0100
607#define SUNI1x10GEXP_BITMSK_TOP_DTRB          0x0080
608#define SUNI1x10GEXP_BITMSK_TOP_EXPIRED       0x0040
609#define SUNI1x10GEXP_BITMSK_TOP_PAUSED        0x0020
610#define SUNI1x10GEXP_BITMSK_TOP_PL4_ID_DOOL   0x0010
611#define SUNI1x10GEXP_BITMSK_TOP_PL4_IS_DOOL   0x0008
612#define SUNI1x10GEXP_BITMSK_TOP_PL4_ID_ROOL   0x0004
613#define SUNI1x10GEXP_BITMSK_TOP_PL4_IS_ROOL   0x0002
614#define SUNI1x10GEXP_BITMSK_TOP_PL4_OUT_ROOL  0x0001
615
616/*----------------------------------------------------------------------------
617 * Register 0x0005: Global Performance Update and Clock Monitors
618 *    Bit 15 TIP
619 *    Bit 8  XAUI_REF_CLKA
620 *    Bit 7  RXLANE3CLKA
621 *    Bit 6  RXLANE2CLKA
622 *    Bit 5  RXLANE1CLKA
623 *    Bit 4  RXLANE0CLKA
624 *    Bit 3  CSUCLKA
625 *    Bit 2  TDCLKA
626 *    Bit 1  RSCLKA
627 *    Bit 0  RDCLKA
628 *----------------------------------------------------------------------------*/
629#define SUNI1x10GEXP_BITMSK_TIP            0x8000
630#define SUNI1x10GEXP_BITMSK_XAUI_REF_CLKA  0x0100
631#define SUNI1x10GEXP_BITMSK_RXLANE3CLKA    0x0080
632#define SUNI1x10GEXP_BITMSK_RXLANE2CLKA    0x0040
633#define SUNI1x10GEXP_BITMSK_RXLANE1CLKA    0x0020
634#define SUNI1x10GEXP_BITMSK_RXLANE0CLKA    0x0010
635#define SUNI1x10GEXP_BITMSK_CSUCLKA        0x0008
636#define SUNI1x10GEXP_BITMSK_TDCLKA         0x0004
637#define SUNI1x10GEXP_BITMSK_RSCLKA         0x0002
638#define SUNI1x10GEXP_BITMSK_RDCLKA         0x0001
639
640/*----------------------------------------------------------------------------
641 * Register 0x0006: MDIO Command
642 *    Bit 4 MDIO_RDINC
643 *    Bit 3 MDIO_RSTAT
644 *    Bit 2 MDIO_LCTLD
645 *    Bit 1 MDIO_LCTLA
646 *    Bit 0 MDIO_SPRE
647 *----------------------------------------------------------------------------*/
648#define SUNI1x10GEXP_BITMSK_MDIO_RDINC  0x0010
649#define SUNI1x10GEXP_BITMSK_MDIO_RSTAT  0x0008
650#define SUNI1x10GEXP_BITMSK_MDIO_LCTLD  0x0004
651#define SUNI1x10GEXP_BITMSK_MDIO_LCTLA  0x0002
652#define SUNI1x10GEXP_BITMSK_MDIO_SPRE   0x0001
653
654/*----------------------------------------------------------------------------
655 * Register 0x0007: MDIO Interrupt Enable
656 *    Bit 0 MDIO_BUSY_EN
657 *----------------------------------------------------------------------------*/
658#define SUNI1x10GEXP_BITMSK_MDIO_BUSY_EN  0x0001
659
660/*----------------------------------------------------------------------------
661 * Register 0x0008: MDIO Interrupt Status
662 *    Bit 0 MDIO_BUSYI
663 *----------------------------------------------------------------------------*/
664#define SUNI1x10GEXP_BITMSK_MDIO_BUSYI  0x0001
665
666/*----------------------------------------------------------------------------
667 * Register 0x0009: MMD PHY Address
668 *    Bit 12-8 MDIO_DEVADR
669 *    Bit 4-0 MDIO_PRTADR
670 *----------------------------------------------------------------------------*/
671#define SUNI1x10GEXP_BITMSK_MDIO_DEVADR  0x1F00
672#define SUNI1x10GEXP_BITOFF_MDIO_DEVADR  8
673#define SUNI1x10GEXP_BITMSK_MDIO_PRTADR  0x001F
674#define SUNI1x10GEXP_BITOFF_MDIO_PRTADR  0
675
676/*----------------------------------------------------------------------------
677 * Register 0x000C: OAM Interface Control
678 *    Bit 6 MDO_OD_ENB
679 *    Bit 5 MDI_INV
680 *    Bit 4 MDI_SEL
681 *    Bit 3 RXOAMEN
682 *    Bit 2 RXOAMCLKEN
683 *    Bit 1 TXOAMEN
684 *    Bit 0 TXOAMCLKEN
685 *----------------------------------------------------------------------------*/
686#define SUNI1x10GEXP_BITMSK_MDO_OD_ENB  0x0040
687#define SUNI1x10GEXP_BITMSK_MDI_INV     0x0020
688#define SUNI1x10GEXP_BITMSK_MDI_SEL     0x0010
689#define SUNI1x10GEXP_BITMSK_RXOAMEN     0x0008
690#define SUNI1x10GEXP_BITMSK_RXOAMCLKEN  0x0004
691#define SUNI1x10GEXP_BITMSK_TXOAMEN     0x0002
692#define SUNI1x10GEXP_BITMSK_TXOAMCLKEN  0x0001
693
694/*----------------------------------------------------------------------------
695 * Register 0x000D: S/UNI-1x10GE-XP Master Interrupt Status
696 *    Bit 15 TOP_PL4IO_INT
697 *    Bit 14 TOP_IRAM_INT
698 *    Bit 13 TOP_ERAM_INT
699 *    Bit 12 TOP_XAUI_INT
700 *    Bit 11 TOP_MSTAT_INT
701 *    Bit 10 TOP_RXXG_INT
702 *    Bit 9 TOP_TXXG_INT
703 *    Bit 8 TOP_XRF_INT
704 *    Bit 7 TOP_XTEF_INT
705 *    Bit 6 TOP_MDIO_BUSY_INT
706 *    Bit 5 TOP_RXOAM_INT
707 *    Bit 4 TOP_TXOAM_INT
708 *    Bit 3 TOP_IFLX_INT
709 *    Bit 2 TOP_EFLX_INT
710 *    Bit 1 TOP_PL4ODP_INT
711 *    Bit 0 TOP_PL4IDU_INT
712 *----------------------------------------------------------------------------*/
713#define SUNI1x10GEXP_BITMSK_TOP_PL4IO_INT      0x8000
714#define SUNI1x10GEXP_BITMSK_TOP_IRAM_INT       0x4000
715#define SUNI1x10GEXP_BITMSK_TOP_ERAM_INT       0x2000
716#define SUNI1x10GEXP_BITMSK_TOP_XAUI_INT       0x1000
717#define SUNI1x10GEXP_BITMSK_TOP_MSTAT_INT      0x0800
718#define SUNI1x10GEXP_BITMSK_TOP_RXXG_INT       0x0400
719#define SUNI1x10GEXP_BITMSK_TOP_TXXG_INT       0x0200
720#define SUNI1x10GEXP_BITMSK_TOP_XRF_INT        0x0100
721#define SUNI1x10GEXP_BITMSK_TOP_XTEF_INT       0x0080
722#define SUNI1x10GEXP_BITMSK_TOP_MDIO_BUSY_INT  0x0040
723#define SUNI1x10GEXP_BITMSK_TOP_RXOAM_INT      0x0020
724#define SUNI1x10GEXP_BITMSK_TOP_TXOAM_INT      0x0010
725#define SUNI1x10GEXP_BITMSK_TOP_IFLX_INT       0x0008
726#define SUNI1x10GEXP_BITMSK_TOP_EFLX_INT       0x0004
727#define SUNI1x10GEXP_BITMSK_TOP_PL4ODP_INT     0x0002
728#define SUNI1x10GEXP_BITMSK_TOP_PL4IDU_INT     0x0001
729
730/*----------------------------------------------------------------------------
731 * Register 0x000E:PM3393 Global interrupt enable
732 *    Bit 15 TOP_INTE
733 *----------------------------------------------------------------------------*/
734#define SUNI1x10GEXP_BITMSK_TOP_INTE  0x8000
735
736/*----------------------------------------------------------------------------
737 * Register 0x0010: XTEF Miscellaneous Control
738 *    Bit 7 RF_VAL
739 *    Bit 6 RF_OVERRIDE
740 *    Bit 5 LF_VAL
741 *    Bit 4 LF_OVERRIDE
742 *----------------------------------------------------------------------------*/
743#define SUNI1x10GEXP_BITMSK_RF_VAL             0x0080
744#define SUNI1x10GEXP_BITMSK_RF_OVERRIDE        0x0040
745#define SUNI1x10GEXP_BITMSK_LF_VAL             0x0020
746#define SUNI1x10GEXP_BITMSK_LF_OVERRIDE        0x0010
747#define SUNI1x10GEXP_BITMSK_LFRF_OVERRIDE_VAL  0x00F0
748
749/*----------------------------------------------------------------------------
750 * Register 0x0011: XRF Miscellaneous Control
751 *    Bit 6-4 EN_IDLE_REP
752 *----------------------------------------------------------------------------*/
753#define SUNI1x10GEXP_BITMSK_EN_IDLE_REP  0x0070
754
755/*----------------------------------------------------------------------------
756 * Register 0x0100: SERDES 3125 Configuration Register 1
757 *    Bit 10 RXEQB_3
758 *    Bit 8  RXEQB_2
759 *    Bit 6  RXEQB_1
760 *    Bit 4  RXEQB_0
761 *----------------------------------------------------------------------------*/
762#define SUNI1x10GEXP_BITMSK_RXEQB    0x0FF0
763#define SUNI1x10GEXP_BITOFF_RXEQB_3  10
764#define SUNI1x10GEXP_BITOFF_RXEQB_2  8
765#define SUNI1x10GEXP_BITOFF_RXEQB_1  6
766#define SUNI1x10GEXP_BITOFF_RXEQB_0  4
767
768/*----------------------------------------------------------------------------
769 * Register 0x0101: SERDES 3125 Configuration Register 2
770 *    Bit 12 YSEL
771 *    Bit  7 PRE_EMPH_3
772 *    Bit  6 PRE_EMPH_2
773 *    Bit  5 PRE_EMPH_1
774 *    Bit  4 PRE_EMPH_0
775 *----------------------------------------------------------------------------*/
776#define SUNI1x10GEXP_BITMSK_YSEL        0x1000
777#define SUNI1x10GEXP_BITMSK_PRE_EMPH    0x00F0
778#define SUNI1x10GEXP_BITMSK_PRE_EMPH_3  0x0080
779#define SUNI1x10GEXP_BITMSK_PRE_EMPH_2  0x0040
780#define SUNI1x10GEXP_BITMSK_PRE_EMPH_1  0x0020
781#define SUNI1x10GEXP_BITMSK_PRE_EMPH_0  0x0010
782
783/*----------------------------------------------------------------------------
784 * Register 0x0102: SERDES 3125 Interrupt Enable Register
785 *    Bit 3 LASIE
786 *    Bit 2 SPLL_RAE
787 *    Bit 1 MPLL_RAE
788 *    Bit 0 PLL_LOCKE
789 *----------------------------------------------------------------------------*/
790#define SUNI1x10GEXP_BITMSK_LASIE      0x0008
791#define SUNI1x10GEXP_BITMSK_SPLL_RAE   0x0004
792#define SUNI1x10GEXP_BITMSK_MPLL_RAE   0x0002
793#define SUNI1x10GEXP_BITMSK_PLL_LOCKE  0x0001
794
795/*----------------------------------------------------------------------------
796 * Register 0x0103: SERDES 3125 Interrupt Visibility Register
797 *    Bit 3 LASIV
798 *    Bit 2 SPLL_RAV
799 *    Bit 1 MPLL_RAV
800 *    Bit 0 PLL_LOCKV
801 *----------------------------------------------------------------------------*/
802#define SUNI1x10GEXP_BITMSK_LASIV      0x0008
803#define SUNI1x10GEXP_BITMSK_SPLL_RAV   0x0004
804#define SUNI1x10GEXP_BITMSK_MPLL_RAV   0x0002
805#define SUNI1x10GEXP_BITMSK_PLL_LOCKV  0x0001
806
807/*----------------------------------------------------------------------------
808 * Register 0x0104: SERDES 3125 Interrupt Status Register
809 *    Bit 3 LASII
810 *    Bit 2 SPLL_RAI
811 *    Bit 1 MPLL_RAI
812 *    Bit 0 PLL_LOCKI
813 *----------------------------------------------------------------------------*/
814#define SUNI1x10GEXP_BITMSK_LASII      0x0008
815#define SUNI1x10GEXP_BITMSK_SPLL_RAI   0x0004
816#define SUNI1x10GEXP_BITMSK_MPLL_RAI   0x0002
817#define SUNI1x10GEXP_BITMSK_PLL_LOCKI  0x0001
818
819/*----------------------------------------------------------------------------
820 * Register 0x0107: SERDES 3125 Test Configuration
821 *    Bit 12 DUALTX
822 *    Bit 10 HC_1
823 *    Bit  9 HC_0
824 *----------------------------------------------------------------------------*/
825#define SUNI1x10GEXP_BITMSK_DUALTX  0x1000
826#define SUNI1x10GEXP_BITMSK_HC      0x0600
827#define SUNI1x10GEXP_BITOFF_HC_0    9
828
829/*----------------------------------------------------------------------------
830 * Register 0x2040: RXXG Configuration 1
831 *    Bit 15  RXXG_RXEN
832 *    Bit 14  RXXG_ROCF
833 *    Bit 13  RXXG_PAD_STRIP
834 *    Bit 10  RXXG_PUREP
835 *    Bit 9   RXXG_LONGP
836 *    Bit 8   RXXG_PARF
837 *    Bit 7   RXXG_FLCHK
838 *    Bit 5   RXXG_PASS_CTRL
839 *    Bit 3   RXXG_CRC_STRIP
840 *    Bit 2-0 RXXG_MIFG
841 *----------------------------------------------------------------------------*/
842#define SUNI1x10GEXP_BITMSK_RXXG_RXEN       0x8000
843#define SUNI1x10GEXP_BITMSK_RXXG_ROCF       0x4000
844#define SUNI1x10GEXP_BITMSK_RXXG_PAD_STRIP  0x2000
845#define SUNI1x10GEXP_BITMSK_RXXG_PUREP      0x0400
846#define SUNI1x10GEXP_BITMSK_RXXG_LONGP      0x0200
847#define SUNI1x10GEXP_BITMSK_RXXG_PARF       0x0100
848#define SUNI1x10GEXP_BITMSK_RXXG_FLCHK      0x0080
849#define SUNI1x10GEXP_BITMSK_RXXG_PASS_CTRL  0x0020
850#define SUNI1x10GEXP_BITMSK_RXXG_CRC_STRIP  0x0008
851
852/*----------------------------------------------------------------------------
853 * Register 0x02041: RXXG Configuration 2
854 *    Bit 7-0 RXXG_HDRSIZE
855 *----------------------------------------------------------------------------*/
856#define SUNI1x10GEXP_BITMSK_RXXG_HDRSIZE  0x00FF
857
858/*----------------------------------------------------------------------------
859 * Register 0x2042: RXXG Configuration 3
860 *    Bit 15 RXXG_MIN_LERRE
861 *    Bit 14 RXXG_MAX_LERRE
862 *    Bit 12 RXXG_LINE_ERRE
863 *    Bit 10 RXXG_RX_OVRE
864 *    Bit 9  RXXG_ADR_FILTERE
865 *    Bit 8  RXXG_ERR_FILTERE
866 *    Bit 5  RXXG_PRMB_ERRE
867 *----------------------------------------------------------------------------*/
868#define SUNI1x10GEXP_BITMSK_RXXG_MIN_LERRE     0x8000
869#define SUNI1x10GEXP_BITMSK_RXXG_MAX_LERRE     0x4000
870#define SUNI1x10GEXP_BITMSK_RXXG_LINE_ERRE     0x1000
871#define SUNI1x10GEXP_BITMSK_RXXG_RX_OVRE       0x0400
872#define SUNI1x10GEXP_BITMSK_RXXG_ADR_FILTERE   0x0200
873#define SUNI1x10GEXP_BITMSK_RXXG_ERR_FILTERRE  0x0100
874#define SUNI1x10GEXP_BITMSK_RXXG_PRMB_ERRE     0x0020
875
876/*----------------------------------------------------------------------------
877 * Register 0x2043: RXXG Interrupt
878 *    Bit 15 RXXG_MIN_LERRI
879 *    Bit 14 RXXG_MAX_LERRI
880 *    Bit 12 RXXG_LINE_ERRI
881 *    Bit 10 RXXG_RX_OVRI
882 *    Bit 9  RXXG_ADR_FILTERI
883 *    Bit 8  RXXG_ERR_FILTERI
884 *    Bit 5  RXXG_PRMB_ERRE
885 *----------------------------------------------------------------------------*/
886#define SUNI1x10GEXP_BITMSK_RXXG_MIN_LERRI    0x8000
887#define SUNI1x10GEXP_BITMSK_RXXG_MAX_LERRI    0x4000
888#define SUNI1x10GEXP_BITMSK_RXXG_LINE_ERRI    0x1000
889#define SUNI1x10GEXP_BITMSK_RXXG_RX_OVRI      0x0400
890#define SUNI1x10GEXP_BITMSK_RXXG_ADR_FILTERI  0x0200
891#define SUNI1x10GEXP_BITMSK_RXXG_ERR_FILTERI  0x0100
892#define SUNI1x10GEXP_BITMSK_RXXG_PRMB_ERRE    0x0020
893
894/*----------------------------------------------------------------------------
895 * Register 0x2049: RXXG Receive FIFO Threshold
896 *    Bit 2-0 RXXG_CUT_THRU
897 *----------------------------------------------------------------------------*/
898#define SUNI1x10GEXP_BITMSK_RXXG_CUT_THRU  0x0007
899#define SUNI1x10GEXP_BITOFF_RXXG_CUT_THRU  0
900
901/*----------------------------------------------------------------------------
902 * Register 0x2062H - 0x2069: RXXG Exact Match VID
903 *    Bit 11-0 RXXG_VID_MATCH
904 *----------------------------------------------------------------------------*/
905#define SUNI1x10GEXP_BITMSK_RXXG_VID_MATCH  0x0FFF
906#define SUNI1x10GEXP_BITOFF_RXXG_VID_MATCH  0
907
908/*----------------------------------------------------------------------------
909 * Register 0x206EH - 0x206F: RXXG Address Filter Control
910 *    Bit 3 RXXG_FORWARD_ENABLE
911 *    Bit 2 RXXG_VLAN_ENABLE
912 *    Bit 1 RXXG_SRC_ADDR
913 *    Bit 0 RXXG_MATCH_ENABLE
914 *----------------------------------------------------------------------------*/
915#define SUNI1x10GEXP_BITMSK_RXXG_FORWARD_ENABLE  0x0008
916#define SUNI1x10GEXP_BITMSK_RXXG_VLAN_ENABLE     0x0004
917#define SUNI1x10GEXP_BITMSK_RXXG_SRC_ADDR        0x0002
918#define SUNI1x10GEXP_BITMSK_RXXG_MATCH_ENABLE    0x0001
919
920/*----------------------------------------------------------------------------
921 * Register 0x2070: RXXG Address Filter Control 2
922 *    Bit 1 RXXG_PMODE
923 *    Bit 0 RXXG_MHASH_EN
924 *----------------------------------------------------------------------------*/
925#define SUNI1x10GEXP_BITMSK_RXXG_PMODE     0x0002
926#define SUNI1x10GEXP_BITMSK_RXXG_MHASH_EN  0x0001
927
928/*----------------------------------------------------------------------------
929 * Register 0x2081: XRF Control Register 2
930 *    Bit 6   EN_PKT_GEN
931 *    Bit 4-2 PATT
932 *----------------------------------------------------------------------------*/
933#define SUNI1x10GEXP_BITMSK_EN_PKT_GEN  0x0040
934#define SUNI1x10GEXP_BITMSK_PATT        0x001C
935#define SUNI1x10GEXP_BITOFF_PATT        2
936
937/*----------------------------------------------------------------------------
938 * Register 0x2088: XRF Interrupt Enable
939 *    Bit 12-9 LANE_HICERE
940 *    Bit 8-5  HS_SD_LANEE
941 *    Bit 4    ALIGN_STATUS_ERRE
942 *    Bit 3-0  LANE_SYNC_STAT_ERRE
943 *----------------------------------------------------------------------------*/
944#define SUNI1x10GEXP_BITMSK_LANE_HICERE          0x1E00
945#define SUNI1x10GEXP_BITOFF_LANE_HICERE          9
946#define SUNI1x10GEXP_BITMSK_HS_SD_LANEE          0x01E0
947#define SUNI1x10GEXP_BITOFF_HS_SD_LANEE          5
948#define SUNI1x10GEXP_BITMSK_ALIGN_STATUS_ERRE    0x0010
949#define SUNI1x10GEXP_BITMSK_LANE_SYNC_STAT_ERRE  0x000F
950#define SUNI1x10GEXP_BITOFF_LANE_SYNC_STAT_ERRE  0
951
952/*----------------------------------------------------------------------------
953 * Register 0x2089: XRF Interrupt Status
954 *    Bit 12-9 LANE_HICERI
955 *    Bit 8-5  HS_SD_LANEI
956 *    Bit 4    ALIGN_STATUS_ERRI
957 *    Bit 3-0  LANE_SYNC_STAT_ERRI
958 *----------------------------------------------------------------------------*/
959#define SUNI1x10GEXP_BITMSK_LANE_HICERI          0x1E00
960#define SUNI1x10GEXP_BITOFF_LANE_HICERI          9
961#define SUNI1x10GEXP_BITMSK_HS_SD_LANEI          0x01E0
962#define SUNI1x10GEXP_BITOFF_HS_SD_LANEI          5
963#define SUNI1x10GEXP_BITMSK_ALIGN_STATUS_ERRI    0x0010
964#define SUNI1x10GEXP_BITMSK_LANE_SYNC_STAT_ERRI  0x000F
965#define SUNI1x10GEXP_BITOFF_LANE_SYNC_STAT_ERRI  0
966
967/*----------------------------------------------------------------------------
968 * Register 0x208A: XRF Error Status
969 *    Bit 8-5  HS_SD_LANE
970 *    Bit 4    ALIGN_STATUS_ERR
971 *    Bit 3-0  LANE_SYNC_STAT_ERR
972 *----------------------------------------------------------------------------*/
973#define SUNI1x10GEXP_BITMSK_HS_SD_LANE3          0x0100
974#define SUNI1x10GEXP_BITMSK_HS_SD_LANE2          0x0080
975#define SUNI1x10GEXP_BITMSK_HS_SD_LANE1          0x0040
976#define SUNI1x10GEXP_BITMSK_HS_SD_LANE0          0x0020
977#define SUNI1x10GEXP_BITMSK_ALIGN_STATUS_ERR     0x0010
978#define SUNI1x10GEXP_BITMSK_LANE3_SYNC_STAT_ERR  0x0008
979#define SUNI1x10GEXP_BITMSK_LANE2_SYNC_STAT_ERR  0x0004
980#define SUNI1x10GEXP_BITMSK_LANE1_SYNC_STAT_ERR  0x0002
981#define SUNI1x10GEXP_BITMSK_LANE0_SYNC_STAT_ERR  0x0001
982
983/*----------------------------------------------------------------------------
984 * Register 0x208B: XRF Diagnostic Interrupt Enable
985 *    Bit 7-4 LANE_OVERRUNE
986 *    Bit 3-0 LANE_UNDERRUNE
987 *----------------------------------------------------------------------------*/
988#define SUNI1x10GEXP_BITMSK_LANE_OVERRUNE   0x00F0
989#define SUNI1x10GEXP_BITOFF_LANE_OVERRUNE   4
990#define SUNI1x10GEXP_BITMSK_LANE_UNDERRUNE  0x000F
991#define SUNI1x10GEXP_BITOFF_LANE_UNDERRUNE  0
992
993/*----------------------------------------------------------------------------
994 * Register 0x208C: XRF Diagnostic Interrupt Status
995 *    Bit 7-4 LANE_OVERRUNI
996 *    Bit 3-0 LANE_UNDERRUNI
997 *----------------------------------------------------------------------------*/
998#define SUNI1x10GEXP_BITMSK_LANE_OVERRUNI   0x00F0
999#define SUNI1x10GEXP_BITOFF_LANE_OVERRUNI   4
1000#define SUNI1x10GEXP_BITMSK_LANE_UNDERRUNI  0x000F
1001#define SUNI1x10GEXP_BITOFF_LANE_UNDERRUNI  0
1002
1003/*----------------------------------------------------------------------------
1004 * Register 0x20C0: RXOAM Configuration
1005 *    Bit 15    RXOAM_BUSY
1006 *    Bit 14-12 RXOAM_F2_SEL
1007 *    Bit 10-8  RXOAM_F1_SEL
1008 *    Bit 7-6   RXOAM_FILTER_CTRL
1009 *    Bit 5-0   RXOAM_PX_EN
1010 *----------------------------------------------------------------------------*/
1011#define SUNI1x10GEXP_BITMSK_RXOAM_BUSY         0x8000
1012#define SUNI1x10GEXP_BITMSK_RXOAM_F2_SEL       0x7000
1013#define SUNI1x10GEXP_BITOFF_RXOAM_F2_SEL       12
1014#define SUNI1x10GEXP_BITMSK_RXOAM_F1_SEL       0x0700
1015#define SUNI1x10GEXP_BITOFF_RXOAM_F1_SEL       8
1016#define SUNI1x10GEXP_BITMSK_RXOAM_FILTER_CTRL  0x00C0
1017#define SUNI1x10GEXP_BITOFF_RXOAM_FILTER_CTRL  6
1018#define SUNI1x10GEXP_BITMSK_RXOAM_PX_EN        0x003F
1019#define SUNI1x10GEXP_BITOFF_RXOAM_PX_EN        0
1020
1021/*----------------------------------------------------------------------------
1022 * Register 0x20C1,0x20C2: RXOAM Filter Configuration
1023 *    Bit 15-8 RXOAM_FX_MASK
1024 *    Bit 7-0  RXOAM_FX_VAL
1025 *----------------------------------------------------------------------------*/
1026#define SUNI1x10GEXP_BITMSK_RXOAM_FX_MASK  0xFF00
1027#define SUNI1x10GEXP_BITOFF_RXOAM_FX_MASK  8
1028#define SUNI1x10GEXP_BITMSK_RXOAM_FX_VAL   0x00FF
1029#define SUNI1x10GEXP_BITOFF_RXOAM_FX_VAl   0
1030
1031/*----------------------------------------------------------------------------
1032 * Register 0x20C3: RXOAM Configuration Register 2
1033 *    Bit 13    RXOAM_REC_BYTE_VAL
1034 *    Bit 11-10 RXOAM_BYPASS_MODE
1035 *    Bit 5-0   RXOAM_PX_CLEAR
1036 *----------------------------------------------------------------------------*/
1037#define SUNI1x10GEXP_BITMSK_RXOAM_REC_BYTE_VAL  0x2000
1038#define SUNI1x10GEXP_BITMSK_RXOAM_BYPASS_MODE   0x0C00
1039#define SUNI1x10GEXP_BITOFF_RXOAM_BYPASS_MODE   10
1040#define SUNI1x10GEXP_BITMSK_RXOAM_PX_CLEAR      0x003F
1041#define SUNI1x10GEXP_BITOFF_RXOAM_PX_CLEAR      0
1042
1043/*----------------------------------------------------------------------------
1044 * Register 0x20C4: RXOAM HEC Configuration
1045 *    Bit 15-8 RXOAM_COSET
1046 *    Bit 2    RXOAM_HEC_ERR_PKT
1047 *    Bit 0    RXOAM_HEC_EN
1048 *----------------------------------------------------------------------------*/
1049#define SUNI1x10GEXP_BITMSK_RXOAM_COSET        0xFF00
1050#define SUNI1x10GEXP_BITOFF_RXOAM_COSET        8
1051#define SUNI1x10GEXP_BITMSK_RXOAM_HEC_ERR_PKT  0x0004
1052#define SUNI1x10GEXP_BITMSK_RXOAM_HEC_EN       0x0001
1053
1054/*----------------------------------------------------------------------------
1055 * Register 0x20C7: RXOAM Interrupt Enable
1056 *    Bit 10 RXOAM_FILTER_THRSHE
1057 *    Bit 9  RXOAM_OAM_ERRE
1058 *    Bit 8  RXOAM_HECE_THRSHE
1059 *    Bit 7  RXOAM_SOPE
1060 *    Bit 6  RXOAM_RFE
1061 *    Bit 5  RXOAM_LFE
1062 *    Bit 4  RXOAM_DV_ERRE
1063 *    Bit 3  RXOAM_DATA_INVALIDE
1064 *    Bit 2  RXOAM_FILTER_DROPE
1065 *    Bit 1  RXOAM_HECE
1066 *    Bit 0  RXOAM_OFLE
1067 *----------------------------------------------------------------------------*/
1068#define SUNI1x10GEXP_BITMSK_RXOAM_FILTER_THRSHE  0x0400
1069#define SUNI1x10GEXP_BITMSK_RXOAM_OAM_ERRE       0x0200
1070#define SUNI1x10GEXP_BITMSK_RXOAM_HECE_THRSHE    0x0100
1071#define SUNI1x10GEXP_BITMSK_RXOAM_SOPE           0x0080
1072#define SUNI1x10GEXP_BITMSK_RXOAM_RFE            0x0040
1073#define SUNI1x10GEXP_BITMSK_RXOAM_LFE            0x0020
1074#define SUNI1x10GEXP_BITMSK_RXOAM_DV_ERRE        0x0010
1075#define SUNI1x10GEXP_BITMSK_RXOAM_DATA_INVALIDE  0x0008
1076#define SUNI1x10GEXP_BITMSK_RXOAM_FILTER_DROPE   0x0004
1077#define SUNI1x10GEXP_BITMSK_RXOAM_HECE           0x0002
1078#define SUNI1x10GEXP_BITMSK_RXOAM_OFLE           0x0001
1079
1080/*----------------------------------------------------------------------------
1081 * Register 0x20C8: RXOAM Interrupt Status
1082 *    Bit 10 RXOAM_FILTER_THRSHI
1083 *    Bit 9  RXOAM_OAM_ERRI
1084 *    Bit 8  RXOAM_HECE_THRSHI
1085 *    Bit 7  RXOAM_SOPI
1086 *    Bit 6  RXOAM_RFI
1087 *    Bit 5  RXOAM_LFI
1088 *    Bit 4  RXOAM_DV_ERRI
1089 *    Bit 3  RXOAM_DATA_INVALIDI
1090 *    Bit 2  RXOAM_FILTER_DROPI
1091 *    Bit 1  RXOAM_HECI
1092 *    Bit 0  RXOAM_OFLI
1093 *----------------------------------------------------------------------------*/
1094#define SUNI1x10GEXP_BITMSK_RXOAM_FILTER_THRSHI  0x0400
1095#define SUNI1x10GEXP_BITMSK_RXOAM_OAM_ERRI       0x0200
1096#define SUNI1x10GEXP_BITMSK_RXOAM_HECE_THRSHI    0x0100
1097#define SUNI1x10GEXP_BITMSK_RXOAM_SOPI           0x0080
1098#define SUNI1x10GEXP_BITMSK_RXOAM_RFI            0x0040
1099#define SUNI1x10GEXP_BITMSK_RXOAM_LFI            0x0020
1100#define SUNI1x10GEXP_BITMSK_RXOAM_DV_ERRI        0x0010
1101#define SUNI1x10GEXP_BITMSK_RXOAM_DATA_INVALIDI  0x0008
1102#define SUNI1x10GEXP_BITMSK_RXOAM_FILTER_DROPI   0x0004
1103#define SUNI1x10GEXP_BITMSK_RXOAM_HECI           0x0002
1104#define SUNI1x10GEXP_BITMSK_RXOAM_OFLI           0x0001
1105
1106/*----------------------------------------------------------------------------
1107 * Register 0x20C9: RXOAM Status
1108 *    Bit 10 RXOAM_FILTER_THRSHV
1109 *    Bit 8  RXOAM_HECE_THRSHV
1110 *    Bit 6  RXOAM_RFV
1111 *    Bit 5  RXOAM_LFV
1112 *----------------------------------------------------------------------------*/
1113#define SUNI1x10GEXP_BITMSK_RXOAM_FILTER_THRSHV  0x0400
1114#define SUNI1x10GEXP_BITMSK_RXOAM_HECE_THRSHV    0x0100
1115#define SUNI1x10GEXP_BITMSK_RXOAM_RFV            0x0040
1116#define SUNI1x10GEXP_BITMSK_RXOAM_LFV            0x0020
1117
1118/*----------------------------------------------------------------------------
1119 * Register 0x2100: MSTAT Control
1120 *    Bit 2 MSTAT_WRITE
1121 *    Bit 1 MSTAT_CLEAR
1122 *    Bit 0 MSTAT_SNAP
1123 *----------------------------------------------------------------------------*/
1124#define SUNI1x10GEXP_BITMSK_MSTAT_WRITE  0x0004
1125#define SUNI1x10GEXP_BITMSK_MSTAT_CLEAR  0x0002
1126#define SUNI1x10GEXP_BITMSK_MSTAT_SNAP   0x0001
1127
1128/*----------------------------------------------------------------------------
1129 * Register 0x2109: MSTAT Counter Write Address
1130 *    Bit 5-0 MSTAT_WRITE_ADDRESS
1131 *----------------------------------------------------------------------------*/
1132#define SUNI1x10GEXP_BITMSK_MSTAT_WRITE_ADDRESS 0x003F
1133#define SUNI1x10GEXP_BITOFF_MSTAT_WRITE_ADDRESS 0
1134
1135/*----------------------------------------------------------------------------
1136 * Register 0x2200: IFLX Global Configuration Register
1137 *    Bit 15   IFLX_IRCU_ENABLE
1138 *    Bit 14   IFLX_IDSWT_ENABLE
1139 *    Bit 13-0 IFLX_IFD_CNT
1140 *----------------------------------------------------------------------------*/
1141#define SUNI1x10GEXP_BITMSK_IFLX_IRCU_ENABLE   0x8000
1142#define SUNI1x10GEXP_BITMSK_IFLX_IDSWT_ENABLE  0x4000
1143#define SUNI1x10GEXP_BITMSK_IFLX_IFD_CNT       0x3FFF
1144#define SUNI1x10GEXP_BITOFF_IFLX_IFD_CNT       0
1145
1146/*----------------------------------------------------------------------------
1147 * Register 0x2209: IFLX FIFO Overflow Enable
1148 *    Bit 0 IFLX_OVFE
1149 *----------------------------------------------------------------------------*/
1150#define SUNI1x10GEXP_BITMSK_IFLX_OVFE 0x0001
1151
1152/*----------------------------------------------------------------------------
1153 * Register 0x220A: IFLX FIFO Overflow Interrupt
1154 *    Bit 0 IFLX_OVFI
1155 *----------------------------------------------------------------------------*/
1156#define SUNI1x10GEXP_BITMSK_IFLX_OVFI 0x0001
1157
1158/*----------------------------------------------------------------------------
1159 * Register 0x220D: IFLX Indirect Channel Address
1160 *    Bit 15 IFLX_BUSY
1161 *    Bit 14 IFLX_RWB
1162 *----------------------------------------------------------------------------*/
1163#define SUNI1x10GEXP_BITMSK_IFLX_BUSY  0x8000
1164#define SUNI1x10GEXP_BITMSK_IFLX_RWB   0x4000
1165
1166/*----------------------------------------------------------------------------
1167 * Register 0x220E: IFLX Indirect Logical FIFO Low Limit & Provision
1168 *    Bit 9-0 IFLX_LOLIM
1169 *----------------------------------------------------------------------------*/
1170#define SUNI1x10GEXP_BITMSK_IFLX_LOLIM  0x03FF
1171#define SUNI1x10GEXP_BITOFF_IFLX_LOLIM  0
1172
1173/*----------------------------------------------------------------------------
1174 * Register 0x220F: IFLX Indirect Logical FIFO High Limit
1175 *    Bit 9-0 IFLX_HILIM
1176 *----------------------------------------------------------------------------*/
1177#define SUNI1x10GEXP_BITMSK_IFLX_HILIM  0x03FF
1178#define SUNI1x10GEXP_BITOFF_IFLX_HILIM  0
1179
1180/*----------------------------------------------------------------------------
1181 * Register 0x2210: IFLX Indirect Full/Almost Full Status & Limit
1182 *    Bit 15   IFLX_FULL
1183 *    Bit 14   IFLX_AFULL
1184 *    Bit 13-0 IFLX_AFTH
1185 *----------------------------------------------------------------------------*/
1186#define SUNI1x10GEXP_BITMSK_IFLX_FULL   0x8000
1187#define SUNI1x10GEXP_BITMSK_IFLX_AFULL  0x4000
1188#define SUNI1x10GEXP_BITMSK_IFLX_AFTH   0x3FFF
1189#define SUNI1x10GEXP_BITOFF_IFLX_AFTH   0
1190
1191/*----------------------------------------------------------------------------
1192 * Register 0x2211: IFLX Indirect Empty/Almost Empty Status & Limit
1193 *    Bit 15   IFLX_EMPTY
1194 *    Bit 14   IFLX_AEMPTY
1195 *    Bit 13-0 IFLX_AETH
1196 *----------------------------------------------------------------------------*/
1197#define SUNI1x10GEXP_BITMSK_IFLX_EMPTY   0x8000
1198#define SUNI1x10GEXP_BITMSK_IFLX_AEMPTY  0x4000
1199#define SUNI1x10GEXP_BITMSK_IFLX_AETH    0x3FFF
1200#define SUNI1x10GEXP_BITOFF_IFLX_AETH    0
1201
1202/*----------------------------------------------------------------------------
1203 * Register 0x2240: PL4MOS Configuration Register
1204 *    Bit 3 PL4MOS_RE_INIT
1205 *    Bit 2 PL4MOS_EN
1206 *    Bit 1 PL4MOS_NO_STATUS
1207 *----------------------------------------------------------------------------*/
1208#define SUNI1x10GEXP_BITMSK_PL4MOS_RE_INIT          0x0008
1209#define SUNI1x10GEXP_BITMSK_PL4MOS_EN               0x0004
1210#define SUNI1x10GEXP_BITMSK_PL4MOS_NO_STATUS        0x0002
1211
1212/*----------------------------------------------------------------------------
1213 * Register 0x2243: PL4MOS MaxBurst1 Register
1214 *    Bit 11-0 PL4MOS_MAX_BURST1
1215 *----------------------------------------------------------------------------*/
1216#define SUNI1x10GEXP_BITMSK_PL4MOS_MAX_BURST1  0x0FFF
1217#define SUNI1x10GEXP_BITOFF_PL4MOS_MAX_BURST1  0
1218
1219/*----------------------------------------------------------------------------
1220 * Register 0x2244: PL4MOS MaxBurst2 Register
1221 *    Bit 11-0 PL4MOS_MAX_BURST2
1222 *----------------------------------------------------------------------------*/
1223#define SUNI1x10GEXP_BITMSK_PL4MOS_MAX_BURST2  0x0FFF
1224#define SUNI1x10GEXP_BITOFF_PL4MOS_MAX_BURST2  0
1225
1226/*----------------------------------------------------------------------------
1227 * Register 0x2245: PL4MOS Transfer Size Register
1228 *    Bit 7-0 PL4MOS_MAX_TRANSFER
1229 *----------------------------------------------------------------------------*/
1230#define SUNI1x10GEXP_BITMSK_PL4MOS_MAX_TRANSFER  0x00FF
1231#define SUNI1x10GEXP_BITOFF_PL4MOS_MAX_TRANSFER  0
1232
1233/*----------------------------------------------------------------------------
1234 * Register 0x2280: PL4ODP Configuration
1235 *    Bit 15-12 PL4ODP_REPEAT_T
1236 *    Bit 8     PL4ODP_SOP_RULE
1237 *    Bit 1     PL4ODP_EN_PORTS
1238 *    Bit 0     PL4ODP_EN_DFWD
1239 *----------------------------------------------------------------------------*/
1240#define SUNI1x10GEXP_BITMSK_PL4ODP_REPEAT_T   0xF000
1241#define SUNI1x10GEXP_BITOFF_PL4ODP_REPEAT_T   12
1242#define SUNI1x10GEXP_BITMSK_PL4ODP_SOP_RULE   0x0100
1243#define SUNI1x10GEXP_BITMSK_PL4ODP_EN_PORTS   0x0002
1244#define SUNI1x10GEXP_BITMSK_PL4ODP_EN_DFWD    0x0001
1245
1246/*----------------------------------------------------------------------------
1247 * Register 0x2282: PL4ODP Interrupt Mask
1248 *    Bit 0 PL4ODP_OUT_DISE
1249 *----------------------------------------------------------------------------*/
1250#define SUNI1x10GEXP_BITMSK_PL4ODP_OUT_DISE     0x0001
1251
1252
1253
1254#define SUNI1x10GEXP_BITMSK_PL4ODP_PPE_EOPEOBE  0x0080
1255#define SUNI1x10GEXP_BITMSK_PL4ODP_PPE_ERREOPE  0x0040
1256#define SUNI1x10GEXP_BITMSK_PL4ODP_PPE_MEOPE    0x0008
1257#define SUNI1x10GEXP_BITMSK_PL4ODP_PPE_MSOPE    0x0004
1258#define SUNI1x10GEXP_BITMSK_PL4ODP_ES_OVRE      0x0002
1259
1260
1261/*----------------------------------------------------------------------------
1262 * Register 0x2283: PL4ODP Interrupt
1263 *    Bit 0 PL4ODP_OUT_DISI
1264 *----------------------------------------------------------------------------*/
1265#define SUNI1x10GEXP_BITMSK_PL4ODP_OUT_DISI     0x0001
1266
1267
1268
1269#define SUNI1x10GEXP_BITMSK_PL4ODP_PPE_EOPEOBI  0x0080
1270#define SUNI1x10GEXP_BITMSK_PL4ODP_PPE_ERREOPI  0x0040
1271#define SUNI1x10GEXP_BITMSK_PL4ODP_PPE_MEOPI    0x0008
1272#define SUNI1x10GEXP_BITMSK_PL4ODP_PPE_MSOPI    0x0004
1273#define SUNI1x10GEXP_BITMSK_PL4ODP_ES_OVRI      0x0002
1274
1275/*----------------------------------------------------------------------------
1276 * Register 0x2300:  PL4IO Lock Detect Status
1277 *    Bit 15 PL4IO_OUT_ROOLV
1278 *    Bit 12 PL4IO_IS_ROOLV
1279 *    Bit 11 PL4IO_DIP2_ERRV
1280 *    Bit 8  PL4IO_ID_ROOLV
1281 *    Bit 4  PL4IO_IS_DOOLV
1282 *    Bit 0  PL4IO_ID_DOOLV
1283 *----------------------------------------------------------------------------*/
1284#define SUNI1x10GEXP_BITMSK_PL4IO_OUT_ROOLV  0x8000
1285#define SUNI1x10GEXP_BITMSK_PL4IO_IS_ROOLV   0x1000
1286#define SUNI1x10GEXP_BITMSK_PL4IO_DIP2_ERRV  0x0800
1287#define SUNI1x10GEXP_BITMSK_PL4IO_ID_ROOLV   0x0100
1288#define SUNI1x10GEXP_BITMSK_PL4IO_IS_DOOLV   0x0010
1289#define SUNI1x10GEXP_BITMSK_PL4IO_ID_DOOLV   0x0001
1290
1291/*----------------------------------------------------------------------------
1292 * Register 0x2301:  PL4IO Lock Detect Change
1293 *    Bit 15 PL4IO_OUT_ROOLI
1294 *    Bit 12 PL4IO_IS_ROOLI
1295 *    Bit 11 PL4IO_DIP2_ERRI
1296 *    Bit 8  PL4IO_ID_ROOLI
1297 *    Bit 4  PL4IO_IS_DOOLI
1298 *    Bit 0  PL4IO_ID_DOOLI
1299 *----------------------------------------------------------------------------*/
1300#define SUNI1x10GEXP_BITMSK_PL4IO_OUT_ROOLI  0x8000
1301#define SUNI1x10GEXP_BITMSK_PL4IO_IS_ROOLI   0x1000
1302#define SUNI1x10GEXP_BITMSK_PL4IO_DIP2_ERRI  0x0800
1303#define SUNI1x10GEXP_BITMSK_PL4IO_ID_ROOLI   0x0100
1304#define SUNI1x10GEXP_BITMSK_PL4IO_IS_DOOLI   0x0010
1305#define SUNI1x10GEXP_BITMSK_PL4IO_ID_DOOLI   0x0001
1306
1307/*----------------------------------------------------------------------------
1308 * Register 0x2302:  PL4IO Lock Detect Mask
1309 *    Bit 15 PL4IO_OUT_ROOLE
1310 *    Bit 12 PL4IO_IS_ROOLE
1311 *    Bit 11 PL4IO_DIP2_ERRE
1312 *    Bit 8  PL4IO_ID_ROOLE
1313 *    Bit 4  PL4IO_IS_DOOLE
1314 *    Bit 0  PL4IO_ID_DOOLE
1315 *----------------------------------------------------------------------------*/
1316#define SUNI1x10GEXP_BITMSK_PL4IO_OUT_ROOLE  0x8000
1317#define SUNI1x10GEXP_BITMSK_PL4IO_IS_ROOLE   0x1000
1318#define SUNI1x10GEXP_BITMSK_PL4IO_DIP2_ERRE  0x0800
1319#define SUNI1x10GEXP_BITMSK_PL4IO_ID_ROOLE   0x0100
1320#define SUNI1x10GEXP_BITMSK_PL4IO_IS_DOOLE   0x0010
1321#define SUNI1x10GEXP_BITMSK_PL4IO_ID_DOOLE   0x0001
1322
1323/*----------------------------------------------------------------------------
1324 * Register 0x2303:  PL4IO Lock Detect Limits
1325 *    Bit 15-8 PL4IO_REF_LIMIT
1326 *    Bit 7-0  PL4IO_TRAN_LIMIT
1327 *----------------------------------------------------------------------------*/
1328#define SUNI1x10GEXP_BITMSK_PL4IO_REF_LIMIT   0xFF00
1329#define SUNI1x10GEXP_BITOFF_PL4IO_REF_LIMIT   8
1330#define SUNI1x10GEXP_BITMSK_PL4IO_TRAN_LIMIT  0x00FF
1331#define SUNI1x10GEXP_BITOFF_PL4IO_TRAN_LIMIT  0
1332
1333/*----------------------------------------------------------------------------
1334 * Register 0x2304:  PL4IO Calendar Repetitions
1335 *    Bit 15-8 PL4IO_IN_MUL
1336 *    Bit 7-0  PL4IO_OUT_MUL
1337 *----------------------------------------------------------------------------*/
1338#define SUNI1x10GEXP_BITMSK_PL4IO_IN_MUL   0xFF00
1339#define SUNI1x10GEXP_BITOFF_PL4IO_IN_MUL   8
1340#define SUNI1x10GEXP_BITMSK_PL4IO_OUT_MUL  0x00FF
1341#define SUNI1x10GEXP_BITOFF_PL4IO_OUT_MUL  0
1342
1343/*----------------------------------------------------------------------------
1344 * Register 0x2305:  PL4IO Configuration
1345 *    Bit 15  PL4IO_DIP2_ERR_CHK
1346 *    Bit 11  PL4IO_ODAT_DIS
1347 *    Bit 10  PL4IO_TRAIN_DIS
1348 *    Bit 9   PL4IO_OSTAT_DIS
1349 *    Bit 8   PL4IO_ISTAT_DIS
1350 *    Bit 7   PL4IO_NO_ISTAT
1351 *    Bit 6   PL4IO_STAT_OUTSEL
1352 *    Bit 5   PL4IO_INSEL
1353 *    Bit 4   PL4IO_DLSEL
1354 *    Bit 1-0 PL4IO_OUTSEL
1355 *----------------------------------------------------------------------------*/
1356#define SUNI1x10GEXP_BITMSK_PL4IO_DIP2_ERR_CHK  0x8000
1357#define SUNI1x10GEXP_BITMSK_PL4IO_ODAT_DIS      0x0800
1358#define SUNI1x10GEXP_BITMSK_PL4IO_TRAIN_DIS     0x0400
1359#define SUNI1x10GEXP_BITMSK_PL4IO_OSTAT_DIS     0x0200
1360#define SUNI1x10GEXP_BITMSK_PL4IO_ISTAT_DIS     0x0100
1361#define SUNI1x10GEXP_BITMSK_PL4IO_NO_ISTAT      0x0080
1362#define SUNI1x10GEXP_BITMSK_PL4IO_STAT_OUTSEL   0x0040
1363#define SUNI1x10GEXP_BITMSK_PL4IO_INSEL         0x0020
1364#define SUNI1x10GEXP_BITMSK_PL4IO_DLSEL         0x0010
1365#define SUNI1x10GEXP_BITMSK_PL4IO_OUTSEL        0x0003
1366#define SUNI1x10GEXP_BITOFF_PL4IO_OUTSEL        0
1367
1368/*----------------------------------------------------------------------------
1369 * Register 0x3040: TXXG Configuration Register 1
1370 *    Bit 15   TXXG_TXEN0
1371 *    Bit 13   TXXG_HOSTPAUSE
1372 *    Bit 12-7 TXXG_IPGT
1373 *    Bit 5    TXXG_32BIT_ALIGN
1374 *    Bit 4    TXXG_CRCEN
1375 *    Bit 3    TXXG_FCTX
1376 *    Bit 2    TXXG_FCRX
1377 *    Bit 1    TXXG_PADEN
1378 *    Bit 0    TXXG_SPRE
1379 *----------------------------------------------------------------------------*/
1380#define SUNI1x10GEXP_BITMSK_TXXG_TXEN0        0x8000
1381#define SUNI1x10GEXP_BITMSK_TXXG_HOSTPAUSE    0x2000
1382#define SUNI1x10GEXP_BITMSK_TXXG_IPGT         0x1F80
1383#define SUNI1x10GEXP_BITOFF_TXXG_IPGT         7
1384#define SUNI1x10GEXP_BITMSK_TXXG_32BIT_ALIGN  0x0020
1385#define SUNI1x10GEXP_BITMSK_TXXG_CRCEN        0x0010
1386#define SUNI1x10GEXP_BITMSK_TXXG_FCTX         0x0008
1387#define SUNI1x10GEXP_BITMSK_TXXG_FCRX         0x0004
1388#define SUNI1x10GEXP_BITMSK_TXXG_PADEN        0x0002
1389#define SUNI1x10GEXP_BITMSK_TXXG_SPRE         0x0001
1390
1391/*----------------------------------------------------------------------------
1392 * Register 0x3041: TXXG Configuration Register 2
1393 *    Bit 7-0   TXXG_HDRSIZE
1394 *----------------------------------------------------------------------------*/
1395#define SUNI1x10GEXP_BITMSK_TXXG_HDRSIZE  0x00FF
1396
1397/*----------------------------------------------------------------------------
1398 * Register 0x3042: TXXG Configuration Register 3
1399 *    Bit 15 TXXG_FIFO_ERRE
1400 *    Bit 14 TXXG_FIFO_UDRE
1401 *    Bit 13 TXXG_MAX_LERRE
1402 *    Bit 12 TXXG_MIN_LERRE
1403 *    Bit 11 TXXG_XFERE
1404 *----------------------------------------------------------------------------*/
1405#define SUNI1x10GEXP_BITMSK_TXXG_FIFO_ERRE  0x8000
1406#define SUNI1x10GEXP_BITMSK_TXXG_FIFO_UDRE  0x4000
1407#define SUNI1x10GEXP_BITMSK_TXXG_MAX_LERRE  0x2000
1408#define SUNI1x10GEXP_BITMSK_TXXG_MIN_LERRE  0x1000
1409#define SUNI1x10GEXP_BITMSK_TXXG_XFERE      0x0800
1410
1411/*----------------------------------------------------------------------------
1412 * Register 0x3043: TXXG Interrupt
1413 *    Bit 15 TXXG_FIFO_ERRI
1414 *    Bit 14 TXXG_FIFO_UDRI
1415 *    Bit 13 TXXG_MAX_LERRI
1416 *    Bit 12 TXXG_MIN_LERRI
1417 *    Bit 11 TXXG_XFERI
1418 *----------------------------------------------------------------------------*/
1419#define SUNI1x10GEXP_BITMSK_TXXG_FIFO_ERRI  0x8000
1420#define SUNI1x10GEXP_BITMSK_TXXG_FIFO_UDRI  0x4000
1421#define SUNI1x10GEXP_BITMSK_TXXG_MAX_LERRI  0x2000
1422#define SUNI1x10GEXP_BITMSK_TXXG_MIN_LERRI  0x1000
1423#define SUNI1x10GEXP_BITMSK_TXXG_XFERI      0x0800
1424
1425/*----------------------------------------------------------------------------
1426 * Register 0x3044: TXXG Status Register
1427 *    Bit 1 TXXG_TXACTIVE
1428 *    Bit 0 TXXG_PAUSED
1429 *----------------------------------------------------------------------------*/
1430#define SUNI1x10GEXP_BITMSK_TXXG_TXACTIVE  0x0002
1431#define SUNI1x10GEXP_BITMSK_TXXG_PAUSED    0x0001
1432
1433/*----------------------------------------------------------------------------
1434 * Register 0x3046: TXXG TX_MINFR -  Transmit Min Frame Size Register
1435 *    Bit 7-0 TXXG_TX_MINFR
1436 *----------------------------------------------------------------------------*/
1437#define SUNI1x10GEXP_BITMSK_TXXG_TX_MINFR  0x00FF
1438#define SUNI1x10GEXP_BITOFF_TXXG_TX_MINFR  0
1439
1440/*----------------------------------------------------------------------------
1441 * Register 0x3052: TXXG Pause Quantum Value Configuration Register
1442 *    Bit 7-0 TXXG_FC_PAUSE_QNTM
1443 *----------------------------------------------------------------------------*/
1444#define SUNI1x10GEXP_BITMSK_TXXG_FC_PAUSE_QNTM  0x00FF
1445#define SUNI1x10GEXP_BITOFF_TXXG_FC_PAUSE_QNTM  0
1446
1447/*----------------------------------------------------------------------------
1448 * Register 0x3080: XTEF Control
1449 *    Bit 3-0 XTEF_FORCE_PARITY_ERR
1450 *----------------------------------------------------------------------------*/
1451#define SUNI1x10GEXP_BITMSK_XTEF_FORCE_PARITY_ERR  0x000F
1452#define SUNI1x10GEXP_BITOFF_XTEF_FORCE_PARITY_ERR  0
1453
1454/*----------------------------------------------------------------------------
1455 * Register 0x3084: XTEF Interrupt Event Register
1456 *    Bit 0 XTEF_LOST_SYNCI
1457 *----------------------------------------------------------------------------*/
1458#define SUNI1x10GEXP_BITMSK_XTEF_LOST_SYNCI  0x0001
1459
1460/*----------------------------------------------------------------------------
1461 * Register 0x3085: XTEF Interrupt Enable Register
1462 *    Bit 0 XTEF_LOST_SYNCE
1463 *----------------------------------------------------------------------------*/
1464#define SUNI1x10GEXP_BITMSK_XTEF_LOST_SYNCE  0x0001
1465
1466/*----------------------------------------------------------------------------
1467 * Register 0x3086: XTEF Visibility Register
1468 *    Bit 0 XTEF_LOST_SYNCV
1469 *----------------------------------------------------------------------------*/
1470#define SUNI1x10GEXP_BITMSK_XTEF_LOST_SYNCV  0x0001
1471
1472/*----------------------------------------------------------------------------
1473 * Register 0x30C0: TXOAM OAM Configuration
1474 *    Bit 15   TXOAM_HEC_EN
1475 *    Bit 14   TXOAM_EMPTYCODE_EN
1476 *    Bit 13   TXOAM_FORCE_IDLE
1477 *    Bit 12   TXOAM_IGNORE_IDLE
1478 *    Bit 11-6 TXOAM_PX_OVERWRITE
1479 *    Bit 5-0  TXOAM_PX_SEL
1480 *----------------------------------------------------------------------------*/
1481#define SUNI1x10GEXP_BITMSK_TXOAM_HEC_EN        0x8000
1482#define SUNI1x10GEXP_BITMSK_TXOAM_EMPTYCODE_EN  0x4000
1483#define SUNI1x10GEXP_BITMSK_TXOAM_FORCE_IDLE    0x2000
1484#define SUNI1x10GEXP_BITMSK_TXOAM_IGNORE_IDLE   0x1000
1485#define SUNI1x10GEXP_BITMSK_TXOAM_PX_OVERWRITE  0x0FC0
1486#define SUNI1x10GEXP_BITOFF_TXOAM_PX_OVERWRITE  6
1487#define SUNI1x10GEXP_BITMSK_TXOAM_PX_SEL        0x003F
1488#define SUNI1x10GEXP_BITOFF_TXOAM_PX_SEL        0
1489
1490/*----------------------------------------------------------------------------
1491 * Register 0x30C1: TXOAM Mini-Packet Rate Configuration
1492 *    Bit 15   TXOAM_MINIDIS
1493 *    Bit 14   TXOAM_BUSY
1494 *    Bit 13   TXOAM_TRANS_EN
1495 *    Bit 10-0 TXOAM_MINIRATE
1496 *----------------------------------------------------------------------------*/
1497#define SUNI1x10GEXP_BITMSK_TXOAM_MINIDIS   0x8000
1498#define SUNI1x10GEXP_BITMSK_TXOAM_BUSY      0x4000
1499#define SUNI1x10GEXP_BITMSK_TXOAM_TRANS_EN  0x2000
1500#define SUNI1x10GEXP_BITMSK_TXOAM_MINIRATE  0x07FF
1501
1502/*----------------------------------------------------------------------------
1503 * Register 0x30C2: TXOAM Mini-Packet Gap and FIFO Configuration
1504 *    Bit 13-10 TXOAM_FTHRESH
1505 *    Bit 9-6   TXOAM_MINIPOST
1506 *    Bit 5-0   TXOAM_MINIPRE
1507 *----------------------------------------------------------------------------*/
1508#define SUNI1x10GEXP_BITMSK_TXOAM_FTHRESH   0x3C00
1509#define SUNI1x10GEXP_BITOFF_TXOAM_FTHRESH   10
1510#define SUNI1x10GEXP_BITMSK_TXOAM_MINIPOST  0x03C0
1511#define SUNI1x10GEXP_BITOFF_TXOAM_MINIPOST  6
1512#define SUNI1x10GEXP_BITMSK_TXOAM_MINIPRE   0x003F
1513
1514/*----------------------------------------------------------------------------
1515 * Register 0x30C6: TXOAM Interrupt Enable
1516 *    Bit 2 TXOAM_SOP_ERRE
1517 *    Bit 1 TXOAM_OFLE
1518 *    Bit 0 TXOAM_ERRE
1519 *----------------------------------------------------------------------------*/
1520#define SUNI1x10GEXP_BITMSK_TXOAM_SOP_ERRE    0x0004
1521#define SUNI1x10GEXP_BITMSK_TXOAM_OFLE        0x0002
1522#define SUNI1x10GEXP_BITMSK_TXOAM_ERRE        0x0001
1523
1524/*----------------------------------------------------------------------------
1525 * Register 0x30C7: TXOAM Interrupt Status
1526 *    Bit 2 TXOAM_SOP_ERRI
1527 *    Bit 1 TXOAM_OFLI
1528 *    Bit 0 TXOAM_ERRI
1529 *----------------------------------------------------------------------------*/
1530#define SUNI1x10GEXP_BITMSK_TXOAM_SOP_ERRI    0x0004
1531#define SUNI1x10GEXP_BITMSK_TXOAM_OFLI        0x0002
1532#define SUNI1x10GEXP_BITMSK_TXOAM_ERRI        0x0001
1533
1534/*----------------------------------------------------------------------------
1535 * Register 0x30CF: TXOAM Coset
1536 *    Bit 7-0 TXOAM_COSET
1537 *----------------------------------------------------------------------------*/
1538#define SUNI1x10GEXP_BITMSK_TXOAM_COSET  0x00FF
1539
1540/*----------------------------------------------------------------------------
1541 * Register 0x3200: EFLX Global Configuration
1542 *    Bit 15 EFLX_ERCU_EN
1543 *    Bit 7  EFLX_EN_EDSWT
1544 *----------------------------------------------------------------------------*/
1545#define SUNI1x10GEXP_BITMSK_EFLX_ERCU_EN   0x8000
1546#define SUNI1x10GEXP_BITMSK_EFLX_EN_EDSWT  0x0080
1547
1548/*----------------------------------------------------------------------------
1549 * Register 0x3201: EFLX ERCU Global Status
1550 *    Bit 13 EFLX_OVF_ERR
1551 *----------------------------------------------------------------------------*/
1552#define SUNI1x10GEXP_BITMSK_EFLX_OVF_ERR  0x2000
1553
1554/*----------------------------------------------------------------------------
1555 * Register 0x3202: EFLX Indirect Channel Address
1556 *    Bit 15 EFLX_BUSY
1557 *    Bit 14 EFLX_RDWRB
1558 *----------------------------------------------------------------------------*/
1559#define SUNI1x10GEXP_BITMSK_EFLX_BUSY   0x8000
1560#define SUNI1x10GEXP_BITMSK_EFLX_RDWRB  0x4000
1561
1562/*----------------------------------------------------------------------------
1563 * Register 0x3203: EFLX Indirect Logical FIFO Low Limit
1564 *----------------------------------------------------------------------------*/
1565#define SUNI1x10GEXP_BITMSK_EFLX_LOLIM                    0x03FF
1566#define SUNI1x10GEXP_BITOFF_EFLX_LOLIM                    0
1567
1568/*----------------------------------------------------------------------------
1569 * Register 0x3204: EFLX Indirect Logical FIFO High Limit
1570 *----------------------------------------------------------------------------*/
1571#define SUNI1x10GEXP_BITMSK_EFLX_HILIM                    0x03FF
1572#define SUNI1x10GEXP_BITOFF_EFLX_HILIM                    0
1573
1574/*----------------------------------------------------------------------------
1575 * Register 0x3205: EFLX Indirect Full/Almost-Full Status and Limit
1576 *    Bit 15   EFLX_FULL
1577 *    Bit 14   EFLX_AFULL
1578 *    Bit 13-0 EFLX_AFTH
1579 *----------------------------------------------------------------------------*/
1580#define SUNI1x10GEXP_BITMSK_EFLX_FULL   0x8000
1581#define SUNI1x10GEXP_BITMSK_EFLX_AFULL  0x4000
1582#define SUNI1x10GEXP_BITMSK_EFLX_AFTH   0x3FFF
1583#define SUNI1x10GEXP_BITOFF_EFLX_AFTH   0
1584
1585/*----------------------------------------------------------------------------
1586 * Register 0x3206: EFLX Indirect Empty/Almost-Empty Status and Limit
1587 *    Bit 15   EFLX_EMPTY
1588 *    Bit 14   EFLX_AEMPTY
1589 *    Bit 13-0 EFLX_AETH
1590 *----------------------------------------------------------------------------*/
1591#define SUNI1x10GEXP_BITMSK_EFLX_EMPTY   0x8000
1592#define SUNI1x10GEXP_BITMSK_EFLX_AEMPTY  0x4000
1593#define SUNI1x10GEXP_BITMSK_EFLX_AETH    0x3FFF
1594#define SUNI1x10GEXP_BITOFF_EFLX_AETH    0
1595
1596/*----------------------------------------------------------------------------
1597 * Register 0x3207: EFLX Indirect FIFO Cut-Through Threshold
1598 *----------------------------------------------------------------------------*/
1599#define SUNI1x10GEXP_BITMSK_EFLX_CUT_THRU                 0x3FFF
1600#define SUNI1x10GEXP_BITOFF_EFLX_CUT_THRU                 0
1601
1602/*----------------------------------------------------------------------------
1603 * Register 0x320C: EFLX FIFO Overflow Error Enable
1604 *    Bit 0 EFLX_OVFE
1605 *----------------------------------------------------------------------------*/
1606#define SUNI1x10GEXP_BITMSK_EFLX_OVFE  0x0001
1607
1608/*----------------------------------------------------------------------------
1609 * Register 0x320D: EFLX FIFO Overflow Error Indication
1610 *    Bit 0 EFLX_OVFI
1611 *----------------------------------------------------------------------------*/
1612#define SUNI1x10GEXP_BITMSK_EFLX_OVFI  0x0001
1613
1614/*----------------------------------------------------------------------------
1615 * Register 0x3210: EFLX Channel Provision
1616 *    Bit 0 EFLX_PROV
1617 *----------------------------------------------------------------------------*/
1618#define SUNI1x10GEXP_BITMSK_EFLX_PROV  0x0001
1619
1620/*----------------------------------------------------------------------------
1621 * Register 0x3280: PL4IDU Configuration
1622 *    Bit 2 PL4IDU_SYNCH_ON_TRAIN
1623 *    Bit 1 PL4IDU_EN_PORTS
1624 *    Bit 0 PL4IDU_EN_DFWD
1625 *----------------------------------------------------------------------------*/
1626#define SUNI1x10GEXP_BITMSK_PL4IDU_SYNCH_ON_TRAIN  0x0004
1627#define SUNI1x10GEXP_BITMSK_PL4IDU_EN_PORTS        0x0002
1628#define SUNI1x10GEXP_BITMSK_PL4IDU_EN_DFWD         0x0001
1629
1630/*----------------------------------------------------------------------------
1631 * Register 0x3282: PL4IDU Interrupt Mask
1632 *    Bit 1 PL4IDU_DIP4E
1633 *----------------------------------------------------------------------------*/
1634#define SUNI1x10GEXP_BITMSK_PL4IDU_DIP4E       0x0002
1635
1636/*----------------------------------------------------------------------------
1637 * Register 0x3283: PL4IDU Interrupt
1638 *    Bit 1 PL4IDU_DIP4I
1639 *----------------------------------------------------------------------------*/
1640#define SUNI1x10GEXP_BITMSK_PL4IDU_DIP4I       0x0002
1641
1642#endif /* _CXGB_SUNI1x10GEXP_REGS_H_ */
1643