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