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