xref: /netbsd-src/sys/arch/mips/cavium/dev/octeon_gmxreg.h (revision f17b710f3d406bee67aa39c65053114ab78297c5)
1 /*	$NetBSD: octeon_gmxreg.h,v 1.1 2015/04/29 08:32:01 hikaru Exp $	*/
2 
3 /*
4  * Copyright (c) 2007 Internet Initiative Japan, Inc.
5  * All rights reserved.
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions
9  * are met:
10  * 1. Redistributions of source code must retain the above copyright
11  *    notice, this list of conditions and the following disclaimer.
12  * 2. Redistributions in binary form must reproduce the above copyright
13  *    notice, this list of conditions and the following disclaimer in the
14  *    documentation and/or other materials provided with the distribution.
15  *
16  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
17  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
20  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26  * SUCH DAMAGE.
27  */
28 
29 /*
30  * GMX Registers
31  */
32 
33 #ifndef _OCTEON_GMXREG_H_
34 #define _OCTEON_GMXREG_H_
35 
36 #define	GMX0_RX0_INT_REG			0x000
37 #define	GMX0_RX0_INT_EN				0x008
38 #define	GMX0_PRT0_CFG				0x010
39 #define	GMX0_RX0_FRM_CTL			0x018
40 #define	GMX0_RX0_FRM_CHK			0x020
41 #define	GMX0_RX0_FRM_MIN			0x028
42 #define	GMX0_RX0_FRM_MAX			0x030
43 #define	GMX0_RX0_JABBER				0x038
44 #define	GMX0_RX0_DECISION			0x040
45 #define	GMX0_RX0_UDD_SKP			0x048
46 #define	GMX0_RX0_STATS_CTL			0x050
47 #define	GMX0_RX0_IFG				0x058
48 #define	GMX0_RX0_RX_INBND			0x060
49 #define	GMX0_RX0_STATS_PKTS			0x080
50 #define	GMX0_RX0_STATS_OCTS			0x088
51 #define	GMX0_RX0_STATS_PKTS_CTL			0x090
52 #define	GMX0_RX0_STATS_OCTS_CTL			0x098
53 #define	GMX0_RX0_STATS_PKTS_DMAC		0x0a0
54 #define	GMX0_RX0_STATS_OCTS_DMAC		0x0a8
55 #define	GMX0_RX0_STATS_PKTS_DRP			0x0b0
56 #define	GMX0_RX0_STATS_OCTS_DRP			0x0b8
57 #define	GMX0_RX0_STATS_PKTS_BAD			0x0c0
58 #define	GMX0_RX0_ADR_CTL			0x100
59 #define	GMX0_RX0_ADR_CAM_EN			0x108
60 #define	GMX0_RX0_ADR_CAM0			0x180
61 #define	GMX0_RX0_ADR_CAM1			0x188
62 #define	GMX0_RX0_ADR_CAM2			0x190
63 #define	GMX0_RX0_ADR_CAM3			0x198
64 #define	GMX0_RX0_ADR_CAM4			0x1a0
65 #define	GMX0_RX0_ADR_CAM5			0x1a8
66 #define	GMX0_TX0_CLK				0x208
67 #define	GMX0_TX0_THRESH				0x210
68 #define	GMX0_TX0_APPEND				0x218
69 #define	GMX0_TX0_SLOT				0x220
70 #define	GMX0_TX0_BURST				0x228
71 #define	GMX0_SMAC0				0x230
72 #define	GMX0_TX0_PAUSE_PKT_TIME			0x238
73 #define	GMX0_TX0_MIN_PKT			0x240
74 #define	GMX0_TX0_PAUSE_PKT_INTERVAL		0x248
75 #define	GMX0_TX0_SOFT_PAUSE			0x250
76 #define	GMX0_TX0_PAUSE_TOGO			0x258
77 #define	GMX0_TX0_PAUSE_ZERO			0x260
78 #define	GMX0_TX0_STATS_CTL			0x268
79 #define	GMX0_TX0_CTL				0x270
80 #define	GMX0_TX0_STAT0				0x280
81 #define	GMX0_TX0_STAT1				0x288
82 #define	GMX0_TX0_STAT2				0x290
83 #define	GMX0_TX0_STAT3				0x298
84 #define	GMX0_TX0_STAT4				0x2a0
85 #define	GMX0_TX0_STAT5				0x2a8
86 #define	GMX0_TX0_STAT6				0x2b0
87 #define	GMX0_TX0_STAT7				0x2b8
88 #define	GMX0_TX0_STAT8				0x2c0
89 #define	GMX0_TX0_STAT9				0x2c8
90 #define	GMX0_BIST0				0x400
91 #define	GMX0_RX_PRTS				0x410
92 #define	GMX0_RX_BP_DROP0			0x420
93 #define	GMX0_RX_BP_DROP1			0x428
94 #define	GMX0_RX_BP_DROP2			0x430
95 #define	GMX0_RX_BP_ON0				0x440
96 #define	GMX0_RX_BP_ON1				0x448
97 #define	GMX0_RX_BP_ON2				0x450
98 #define	GMX0_RX_BP_OFF0				0x460
99 #define	GMX0_RX_BP_OFF1				0x468
100 #define	GMX0_RX_BP_OFF2				0x470
101 #define	GMX0_TX_PRTS				0x480
102 #define	GMX0_TX_IFG				0x488
103 #define	GMX0_TX_JAM				0x490
104 #define	GMX0_TX_COL_ATTEMPT			0x498
105 #define	GMX0_TX_PAUSE_PKT_DMAC			0x4a0
106 #define	GMX0_TX_PAUSE_PKT_TYPE			0x4a8
107 #define	GMX0_TX_OVR_BP				0x4c8
108 #define	GMX0_TX_BP				0x4d0
109 #define	GMX0_TX_CORRUPT				0x4d8
110 #define	GMX0_RX_PRT_INFO			0x4e8
111 #define	GMX0_TX_LFSR				0x4f8
112 #define	GMX0_TX_INT_REG				0x500
113 #define	GMX0_TX_INT_EN				0x508
114 #define	GMX0_NXA_ADR				0x510
115 #define	GMX0_BAD_REG				0x518
116 #define	GMX0_STAT_BP				0x520
117 #define	GMX0_TX_CLK_MSK0			0x780
118 #define	GMX0_TX_CLK_MSK1			0x788
119 #define	GMX0_RX_TX_STATUS			0x7e8
120 #define	GMX0_INF_MODE				0x7f8
121 
122 /* -------------------------------------------------------------------------- */
123 
124 /* GMX Interrupt Registers */
125 
126 #define	RXN_INT_REG_XXX_63_19			UINT64_C(0xfffffffffff80000)
127 #define	RXN_INT_REG_PHY_DUPX			UINT64_C(0x0000000000040000)
128 #define	RXN_INT_REG_PHY_SPD			UINT64_C(0x0000000000020000)
129 #define	RXN_INT_REG_PHY_LINK			UINT64_C(0x0000000000010000)
130 #define	RXN_INT_REG_IFGERR			UINT64_C(0x0000000000008000)
131 #define	RXN_INT_REG_COLDET			UINT64_C(0x0000000000004000)
132 #define	RXN_INT_REG_FALERR			UINT64_C(0x0000000000002000)
133 #define	RXN_INT_REG_RSVERR			UINT64_C(0x0000000000001000)
134 #define	RXN_INT_REG_PCTERR			UINT64_C(0x0000000000000800)
135 #define	RXN_INT_REG_OVRERR			UINT64_C(0x0000000000000400)
136 #define	RXN_INT_REG_NIBERR			UINT64_C(0x0000000000000200)
137 #define	RXN_INT_REG_SKPERR			UINT64_C(0x0000000000000100)
138 #define	RXN_INT_REG_RCVERR			UINT64_C(0x0000000000000080)
139 #define	RXN_INT_REG_LENERR			UINT64_C(0x0000000000000040)
140 #define	RXN_INT_REG_ALNERR			UINT64_C(0x0000000000000020)
141 #define	RXN_INT_REG_FCSERR			UINT64_C(0x0000000000000010)
142 #define	RXN_INT_REG_JABBER			UINT64_C(0x0000000000000008)
143 #define	RXN_INT_REG_MAXERR			UINT64_C(0x0000000000000004)
144 #define	RXN_INT_REG_CAREXT			UINT64_C(0x0000000000000002)
145 #define	RXN_INT_REG_MINERR			UINT64_C(0x0000000000000001)
146 
147 /* GMX Interrupt-Enable Registers */
148 
149 #define	RXN_INT_EN_XXX_63_19			UINT64_C(0xfffffffffff80000)
150 #define	RXN_INT_EN_PHY_DUPX			UINT64_C(0x0000000000040000)
151 #define	RXN_INT_EN_PHY_SPD			UINT64_C(0x0000000000020000)
152 #define	RXN_INT_EN_PHY_LINK			UINT64_C(0x0000000000010000)
153 #define	RXN_INT_EN_IFGERR			UINT64_C(0x0000000000008000)
154 #define	RXN_INT_EN_COLDET			UINT64_C(0x0000000000004000)
155 #define	RXN_INT_EN_FALERR			UINT64_C(0x0000000000002000)
156 #define	RXN_INT_EN_RSVERR			UINT64_C(0x0000000000001000)
157 #define	RXN_INT_EN_PCTERR			UINT64_C(0x0000000000000800)
158 #define	RXN_INT_EN_OVRERR			UINT64_C(0x0000000000000400)
159 #define	RXN_INT_EN_NIBERR			UINT64_C(0x0000000000000200)
160 #define	RXN_INT_EN_SKPERR			UINT64_C(0x0000000000000100)
161 #define	RXN_INT_EN_RCVERR			UINT64_C(0x0000000000000080)
162 #define	RXN_INT_EN_LENERR			UINT64_C(0x0000000000000040)
163 #define	RXN_INT_EN_ALNERR			UINT64_C(0x0000000000000020)
164 #define	RXN_INT_EN_FCSERR			UINT64_C(0x0000000000000010)
165 #define	RXN_INT_EN_JABBER			UINT64_C(0x0000000000000008)
166 #define	RXN_INT_EN_MAXERR			UINT64_C(0x0000000000000004)
167 #define	RXN_INT_EN_CAREXT			UINT64_C(0x0000000000000002)
168 #define	RXN_INT_EN_MINERR			UINT64_C(0x0000000000000001)
169 
170 /* GMX Port Configuration Registers */
171 
172 #define	PRTN_CFG_XXX_63_4			UINT64_C(0xfffffffffffffff0)
173 #define	PRTN_CFG_SLOTTIME			UINT64_C(0x0000000000000008)
174 #define	PRTN_CFG_DUPLEX				UINT64_C(0x0000000000000004)
175 #define	PRTN_CFG_SPEED				UINT64_C(0x0000000000000002)
176 #define	PRTN_CFG_EN				UINT64_C(0x0000000000000001)
177 
178 /* Frame Control Registers */
179 
180 #define	RXN_FRM_CTL_XXX_63_11			UINT64_C(0xfffffffffffff800)
181 #define	RXN_FRM_CTL_NULL_DIS			UINT64_C(0x0000000000000400)
182 #define	RXN_FRM_CTL_PRE_ALIGN			UINT64_C(0x0000000000000200)
183 #define	RXN_FRM_CTL_PAD_LEN			UINT64_C(0x0000000000000100)
184 #define	RXN_FRM_CTL_VLAN_LEN			UINT64_C(0x0000000000000080)
185 #define	RXN_FRM_CTL_PRE_FREE			UINT64_C(0x0000000000000040)
186 #define	RXN_FRM_CTL_CTL_SMAC			UINT64_C(0x0000000000000020)
187 #define	RXN_FRM_CTL_CTL_MCST			UINT64_C(0x0000000000000010)
188 #define	RXN_FRM_CTL_CTL_BCK			UINT64_C(0x0000000000000008)
189 #define	RXN_FRM_CTL_CTL_DRP			UINT64_C(0x0000000000000004)
190 #define	RXN_FRM_CTL_PRE_STRP			UINT64_C(0x0000000000000002)
191 #define	RXN_FRM_CTL_PRE_CHK			UINT64_C(0x0000000000000001)
192 
193 /* Frame Check Registers */
194 
195 #define RXN_FRM_CKK_XXX_63_10			UINT64_C(0xfffffffffffffc00)
196 #define	RXN_FRM_CHK_NIBERR			UINT64_C(0x0000000000000200)
197 #define	RXN_FRM_CHK_SKPERR			UINT64_C(0x0000000000000100)
198 #define	RXN_FRM_CHK_RCVERR			UINT64_C(0x0000000000000080)
199 #define	RXN_FRM_CHK_LENERR			UINT64_C(0x0000000000000040)
200 #define	RXN_FRM_CHK_ALNERR			UINT64_C(0x0000000000000020)
201 #define	RXN_FRM_CHK_FCSERR			UINT64_C(0x0000000000000010)
202 #define	RXN_FRM_CHK_JABBER			UINT64_C(0x0000000000000008)
203 #define	RXN_FRM_CHK_MAXERR			UINT64_C(0x0000000000000004)
204 #define	RXN_FRM_CHK_CAREXT			UINT64_C(0x0000000000000002)
205 #define	RXN_FRM_CHK_MINERR			UINT64_C(0x0000000000000001)
206 
207 /* Frame Minimum-Length Registers */
208 
209 #define	RXN_RRM_MIN_XXX_63_16			UINT64_C(0xffffffffffff0000)
210 #define	RXN_RRM_MIN_LEN				UINT64_C(0x000000000000ffff)
211 
212 /* Frame Maximun-Length Registers */
213 
214 #define	RXN_RRM_MAX_XXX_63_16			UINT64_C(0xffffffffffff0000)
215 #define	RXN_RRM_MAX_LEN				UINT64_C(0x000000000000ffff)
216 
217 /* GMX Maximun Packet-Size Registers */
218 
219 #define	RXN_JABBER_XXX_63_16			UINT64_C(0xffffffffffff0000)
220 #define	RXN_JABBER_CNT				UINT64_C(0x000000000000ffff)
221 
222 /* GMX Packet Decision Registers */
223 
224 #define	RXN_DECISION_XXX_63_5			UINT64_C(0xffffffffffffffe0)
225 #define	RXN_DECISION_CNT			UINT64_C(0x000000000000001f)
226 
227 /* GMX User-Defined Data Skip Registers */
228 
229 #define	RXN_UDD_SKP_XXX_63_9			UINT64_C(0xfffffffffffffe00)
230 #define	RXN_UDD_SKP_FCSSEL			UINT64_C(0x0000000000000100)
231 #define	RXN_UDD_SKP_XXX_7			UINT64_C(0x0000000000000080)
232 #define	RXN_UDD_SKP_LEN				UINT64_C(0x000000000000007f)
233 
234 /* GMX RX Statistics Control Registers */
235 
236 #define	RXN_STATS_CTL_XXX_63_1			UINT64_C(0xfffffffffffffffe)
237 #define	RXN_STATS_CTL_RD_CLR			UINT64_C(0x0000000000000001)
238 
239 /* GMX Minimun Interface-Gap Cycles Registers */
240 
241 #define	RXN_IFG_XXX_63_4			UINT64_C(0xfffffffffffffff0)
242 #define	RXN_IFG_IFG				UINT64_C(0x000000000000000f)
243 
244 /* InBand Link Status Registers */
245 
246 #define	RXN_RX_INBND_XXX_63_4			UINT64_C(0xfffffffffffffff0)
247 #define	RXN_RX_INBND_DUPLEX			UINT64_C(0x0000000000000008)
248 #define	 RXN_RX_INBND_DUPLEX_SHIFT		3
249 #define	  RXN_RX_INBND_DUPLEX_HALF		(0ULL << RXN_RX_INBND_DUPLEX_SHIFT)
250 #define	  RXN_RX_INBND_DUPLEX_FULL		(1ULL << RXN_RX_INBND_DUPLEX_SHIFT)
251 #define	RXN_RX_INBND_SPEED			UINT64_C(0x0000000000000006)
252 #define	 RXN_RX_INBND_SPEED_SHIFT		1
253 #define	  RXN_RX_INBND_SPEED_2_5		(0ULL << RXN_RX_INBND_SPEED_SHIFT)
254 #define	  RXN_RX_INBND_SPEED_25			(1ULL << RXN_RX_INBND_SPEED_SHIFT)
255 #define	  RXN_RX_INBND_SPEED_125		(2ULL << RXN_RX_INBND_SPEED_SHIFT)
256 #define	  RXN_RX_INBND_SPEED_XXX_3		(3ULL << RXN_RX_INBND_SPEED_SHIFT)
257 #define	RXN_RX_INBND_STATUS			UINT64_C(0x0000000000000001)
258 
259 /* GMX RX Good Packets Registers */
260 
261 #define	RXN_STATS_PKTS_XXX_63_32		UINT64_C(0xffffffff00000000)
262 #define	RXN_STATS_PKTS_CNT			UINT64_C(0x00000000ffffffff)
263 
264 /* GMX RX Good Packets Octet Registers */
265 
266 #define	RXN_STATS_OCTS_XXX_63_48		UINT64_C(0xffff000000000000)
267 #define	RXN_STATS_OCTS_CNT			UINT64_C(0x0000ffffffffffff)
268 
269 /* GMX RX Pause Packets Registers */
270 
271 #define	RXN_STATS_PKTS_CTL_XXX_63_32		UINT64_C(0xffffffff00000000)
272 #define	RXN_STATS_PKTS_CTL_CNT			UINT64_C(0x00000000ffffffff)
273 
274 /* GMX RX Pause Packets Octet Registers */
275 
276 #define	RXN_STATS_OCTS_CTL_XXX_63_48		UINT64_C(0xffff000000000000)
277 #define	RXN_STATS_OCTS_CTL_CNT			UINT64_C(0x0000ffffffffffff)
278 
279 /* GMX RX DMAC Packets Registers */
280 
281 #define	RXN_STATS_PKTS_DMAC_XXX_63_32		UINT64_C(0xffffffff00000000)
282 #define	RXN_STATS_PKTS_DMAC_CNT			UINT64_C(0x00000000ffffffff)
283 
284 /* GMX RX DMAC Packets Octet Registers */
285 
286 #define	RXN_STATS_OCTS_DMAC_XXX_63_48		UINT64_C(0xffff000000000000)
287 #define	RXN_STATS_OCTS_DMAC_CNT			UINT64_C(0x0000ffffffffffff)
288 
289 /* GMX RX Overflow Packets Registers */
290 
291 #define	RXN_STATS_PKTS_DRP_XXX_63_48		UINT64_C(0xffffffff00000000)
292 #define	RXN_STATS_PKTS_DRP_CNT			UINT64_C(0x00000000ffffffff)
293 
294 /* GMX RX Overflow Packets Octet Registers */
295 
296 #define	RXN_STATS_OCTS_DRP_XXX_63_48		UINT64_C(0xffff000000000000)
297 #define	RXN_STATS_OCTS_DRP_CNT			UINT64_C(0x0000ffffffffffff)
298 
299 /* GMX RX Bad Packets Registers */
300 
301 #define	RXN_STATS_PKTS_BAD_XXX_63_48		UINT64_C(0xffffffff00000000)
302 #define	RXN_STATS_PKTS_BAD_CNT			UINT64_C(0x00000000ffffffff)
303 
304 /* Address-Filtering Control Registers */
305 
306 #define	RXN_ADR_CTL_XXX_63_4			UINT64_C(0xfffffffffffffff0)
307 #define	RXN_ADR_CTL_CAM_MODE			UINT64_C(0x0000000000000008)
308 #define	 RXN_ADR_CTL_CAM_MODE_SHIFT		3
309 #define	  RXN_ADR_CTL_CAM_MODE_REJECT		(0ULL << RXN_ADR_CTL_CAM_MODE_SHIFT)
310 #define	  RXN_ADR_CTL_CAM_MODE_ACCEPT		(1ULL << RXN_ADR_CTL_CAM_MODE_SHIFT)
311 #define	RXN_ADR_CTL_MCST			UINT64_C(0x0000000000000006)
312 #define	 RXN_ADR_CTL_MCST_SHIFT			1
313 #define	  RXN_ADR_CTL_MCST_AFCAM		(0ULL << RXN_ADR_CTL_MCST_SHIFT)
314 #define	  RXN_ADR_CTL_MCST_REJECT		(1ULL << RXN_ADR_CTL_MCST_SHIFT)
315 #define	  RXN_ADR_CTL_MCST_ACCEPT		(2ULL << RXN_ADR_CTL_MCST_SHIFT)
316 #define	  RXN_ADR_CTL_MCST_XXX_3		(3ULL << RXN_ADR_CTL_MCST_SHIFT)
317 #define	RXN_ADR_CTL_BCST			UINT64_C(0x0000000000000001)
318 
319 /* Address-Filtering Control Enable Registers */
320 
321 #define	RXN_ADR_CAM_EN_XXX_63_8			UINT64_C(0xffffffffffffff00)
322 #define	RXN_ADR_CAM_EN_EN			UINT64_C(0x00000000000000ff)
323 
324 /* Address-Filtering CAM Control Registers */
325 #define	RXN_ADR_CAMN_ADR			UINT64_C(0xffffffffffffffff)
326 
327 /* GMX TX Clock Generation Registers */
328 
329 #define	TXN_CLK_XXX_63_6			UINT64_C(0xffffffffffffffc0)
330 #define	TXN_CLK_CLK_CNT				UINT64_C(0x000000000000003f)
331 
332 /* TX Threshold Registers */
333 
334 #define	TXN_THRESH_XXX_63_6			UINT64_C(0xffffffffffffffc0)
335 #define	TXN_THRESH_CNT				UINT64_C(0x000000000000003f)
336 
337 /* TX Append Control Registers */
338 
339 #define	TXN_APPEND_XXX_63_4			UINT64_C(0xfffffffffffffff0)
340 #define	TXN_APPEND_FORCE_FCS			UINT64_C(0x0000000000000008)
341 #define	TXN_APPEND_FCS				UINT64_C(0x0000000000000004)
342 #define	TXN_APPEND_PAD				UINT64_C(0x0000000000000002)
343 #define	TXN_APPEND_PREAMBLE			UINT64_C(0x0000000000000001)
344 
345 /* TX Slottime Counter Registers */
346 
347 #define	TXN_SLOT_XXX_63_10			UINT64_C(0xfffffffffffffc00)
348 #define	TXN_SLOT_SLOT				UINT64_C(0x00000000000003ff)
349 
350 /* TX Burst-Counter Registers */
351 
352 #define	TXN_BURST_XXX_63_16			UINT64_C(0xffffffffffff0000)
353 #define	TXN_BURST_BURST				UINT64_C(0x000000000000ffff)
354 
355 /* RGMII SMAC Registers */
356 
357 #define	SMACN_XXX_63_48				UINT64_C(0xffff000000000000)
358 #define	SMACN_SMAC				UINT64_C(0x0000ffffffffffff)
359 
360 /* TX Pause Packet Pause-Time Registers */
361 
362 #define	TXN_PAUSE_PKT_TIME_XXX_63_16		UINT64_C(0xffffffffffff0000)
363 #define	TXN_PAUSE_PKT_TIME_TIME			UINT64_C(0x000000000000ffff)
364 
365 /* RGMII TX Minimum-Size-Packet Registers */
366 
367 #define	TXN_MIN_PKT_XXX_63_8			UINT64_C(0xffffffffffffff00)
368 #define	TXN_MIN_PKT_MIN_SIZE			UINT64_C(0x00000000000000ff)
369 
370 /* TX Pause-Packet Transmission-Interval Registers */
371 
372 #define	TXN_PAUSE_PKT_INTERVAL_XXX_63_16	UINT64_C(0xffffffffffff0000)
373 #define	TXN_PAUSE_PKT_INTERVAL_INTERVAL		UINT64_C(0x000000000000ffff)
374 
375 /* TX Software-Pause Registers */
376 
377 #define	TXN_SOFT_PAUSE_XXX_63_16		UINT64_C(0xffffffffffff0000)
378 #define	TXN_SOFT_PAUSE_TIME			UINT64_C(0x000000000000ffff)
379 
380 /* TX Time-to-Backpressure Registers */
381 
382 #define	TXN_PAUSE_TOGO_XXX_63_16		UINT64_C(0xffffffffffff0000)
383 #define	TXN_PAUSE_TOGO_TIME			UINT64_C(0x000000000000ffff)
384 
385 /* TX Pause-Zero-Enable Registers */
386 
387 #define	TXN_PAUSE_ZERO_XXX_63_1			UINT64_C(0xfffffffffffffffe)
388 #define	TXN_PAUSE_ZERO_SEND			UINT64_C(0x0000000000000001)
389 
390 /* GMX TX Statistics Control Registers */
391 
392 #define	TXN_STATS_CTL_XXX_63_1			UINT64_C(0xfffffffffffffffe)
393 #define	TXN_STATS_CTL_RD_CLR			UINT64_C(0x0000000000000001)
394 
395 /* GMX TX Transmit Control Registers */
396 
397 #define	TXN_CTL_XXX_63_2			UINT64_C(0xfffffffffffffffc)
398 #define	TXN_CTL_XSDEF_EN			UINT64_C(0x0000000000000002)
399 #define	TXN_CTL_XSCOL_EN			UINT64_C(0x0000000000000001)
400 
401 /* Transmit Statistics Registers 0 */
402 
403 #define	TXN_STAT0_XSDEF				UINT64_C(0xffffffff00000000)
404 #define	TXN_STAT0_XSCOL				UINT64_C(0x00000000ffffffff)
405 
406 /* Transmit Statistics Registers 1 */
407 
408 #define	TXN_STAT1_SCOL				UINT64_C(0xffffffff00000000)
409 #define	TXN_STAT1_MSCOL				UINT64_C(0x00000000ffffffff)
410 
411 /* Transmit Statistics Registers 2 */
412 
413 #define	TXN_STAT2_XXX_63_48			UINT64_C(0xffff000000000000)
414 #define	TXN_STAT2_OCTS				UINT64_C(0x0000ffffffffffff)
415 
416 /* Transmit Statistics Registers 3 */
417 
418 #define	TXN_STAT3_XXX_63_48			UINT64_C(0xffffffff00000000)
419 #define	TXN_STAT3_PKTS				UINT64_C(0x00000000ffffffff)
420 
421 /* Transmit Statistics Registers 4 */
422 
423 #define	TXN_STAT4_HIST1				UINT64_C(0xffffffff00000000)
424 #define	TXN_STAT4_HIST0				UINT64_C(0x00000000ffffffff)
425 
426 /* Transmit Statistics Registers 5 */
427 
428 #define	TXN_STAT5_HIST3				UINT64_C(0xffffffff00000000)
429 #define	TXN_STAT5_HIST2				UINT64_C(0x00000000ffffffff)
430 
431 /* Transmit Statistics Registers 6 */
432 
433 #define	TXN_STAT6_HIST5				UINT64_C(0xffffffff00000000)
434 #define	TXN_STAT6_HIST4				UINT64_C(0x00000000ffffffff)
435 
436 /* Transmit Statistics Registers 7 */
437 
438 #define	TXN_STAT7_HIST7				UINT64_C(0xffffffff00000000)
439 #define	TXN_STAT7_HIST6				UINT64_C(0x00000000ffffffff)
440 
441 /* Transmit Statistics Registers 8 */
442 
443 #define	TXN_STAT8_MCST				UINT64_C(0xffffffff00000000)
444 #define	TXN_STAT8_BCST				UINT64_C(0x00000000ffffffff)
445 
446 /* Transmit Statistics Register 9 */
447 
448 #define	TXN_STAT9_UNDFLW			UINT64_C(0xffffffff00000000)
449 #define	TXN_STAT9_CTL				UINT64_C(0x00000000ffffffff)
450 
451 /* BMX BIST Results Register */
452 
453 #define	BIST_XXX_63_10				UINT64_C(0xfffffffffffffc00)
454 #define	BIST_STATUS				UINT64_C(0x00000000000003ff)
455 
456 /* RX Ports Register */
457 
458 #define	RX_PRTS_XXX_63_3			UINT64_C(0xfffffffffffffff8)
459 #define	RX_PRTS_PRTS				UINT64_C(0x0000000000000007)
460 
461 /* RX FIFO Packet-Drop Registers */
462 
463 #define	RX_BP_DROPN_XXX_63_6			UINT64_C(0xffffffffffffffc0)
464 #define	RX_BP_DROPN_MARK			UINT64_C(0x000000000000003f)
465 
466 /* RX Backpressure On Registers */
467 
468 #define	RX_BP_ONN_XXX_63_9			UINT64_C(0xfffffffffffffe00)
469 #define	RX_BP_ONN_MARK				UINT64_C(0x00000000000001ff)
470 
471 /* RX Backpressure Off Registers */
472 
473 #define	RX_BP_OFFN_XXX_63_6			UINT64_C(0xffffffffffffffc0)
474 #define	RX_BP_OFFN_MARK				UINT64_C(0x000000000000003f)
475 
476 /* TX Ports Register */
477 
478 #define	TX_PRTS_XXX_63_5			UINT64_C(0xffffffffffffffe0)
479 #define	TX_PRTS_PRTS				UINT64_C(0x000000000000001f)
480 
481 /* TX Interframe Gap Register */
482 
483 #define	TX_IFG_XXX_63_8				UINT64_C(0xffffffffffffff00)
484 #define	TX_IFG_IFG2				UINT64_C(0x00000000000000f0)
485 #define	TX_IFG_IFG1				UINT64_C(0x000000000000000f)
486 
487 /* TX Jam Pattern Register */
488 
489 #define	TX_JAM_XXX_63_8				UINT64_C(0xffffffffffffff00)
490 #define	TX_JAM_JAM				UINT64_C(0x00000000000000ff)
491 
492 /* TX Collision Attempts Before Dropping Frame Register */
493 
494 #define	TX_COL_ATTEMPT_XXX_63_5			UINT64_C(0xffffffffffffffe0)
495 #define	TX_COL_ATTEMPT_LIMIT			UINT64_C(0x000000000000001f)
496 
497 /* TX Pause-Packet DMAC-Field Register */
498 
499 #define	TX_PAUSE_PKT_DMAC_XXX_63_48		UINT64_C(0xffff000000000000)
500 #define	TX_PAUSE_PKT_DMAC_DMAC			UINT64_C(0x0000ffffffffffff)
501 
502 /* TX Pause Packet Type Field Register */
503 
504 #define	TX_PAUSE_PKT_TYPE_XXX_63_16		UINT64_C(0xffffffffffff0000)
505 #define	TX_PAUSE_PKT_TYPE_TYPE			UINT64_C(0x000000000000ffff)
506 
507 /* TX Override Backpressure Register */
508 
509 #define	TX_OVR_BP_XXX_63_12			UINT64_C(0xfffffffffffff000)
510 #define	TX_OVR_BP_XXX_11			UINT64_C(0x0000000000000800)
511 #define	TX_OVR_BP_EN				UINT64_C(0x0000000000000700)
512 #define	 TX_OVR_BP_EN_SHIFT			8
513 #define	TX_OVR_BP_XXX_7				UINT64_C(0x0000000000000080)
514 #define	TX_OVR_BP_BP				UINT64_C(0x0000000000000070)
515 #define	 TX_OVR_BP_BP_SHIFT			4
516 #define	TX_OVR_BP_XXX_3				UINT64_C(0x0000000000000008)
517 #define	TX_OVR_BP_IGN_FULL			UINT64_C(0x0000000000000007)
518 #define	 TX_OVR_BP_IGN_FULL_SHIFT		0
519 
520 /* TX Override Backpressure Register */
521 
522 #define	TX_OVR_BP_XXX_63_12			UINT64_C(0xfffffffffffff000)
523 #define	TX_OVR_BP_XXX_11			UINT64_C(0x0000000000000800)
524 #define	TX_OVR_BP_EN				UINT64_C(0x0000000000000700)
525 #define	TX_OVR_BP_XXX_7				UINT64_C(0x0000000000000080)
526 #define	TX_OVR_BP_BP				UINT64_C(0x0000000000000070)
527 #define	TX_OVR_BP_XXX_3				UINT64_C(0x0000000000000008)
528 #define	TX_OVR_BP_IGN_FULL			UINT64_C(0x0000000000000007)
529 
530 /* TX Backpressure Status Register */
531 
532 #define	TX_BP_SR_XXX_63_3			UINT64_C(0xfffffffffffffff8)
533 #define	TX_BP_SR_BP				UINT64_C(0x0000000000000007)
534 
535 /* TX Corrupt Packets Register */
536 
537 #define	TX_CORRUPT_XXX_63_3			UINT64_C(0xfffffffffffffff8)
538 #define	TX_CORRUPT_CORRUPT			UINT64_C(0x0000000000000007)
539 
540 /* RX Port State Information Register */
541 
542 #define	RX_PRT_INFO_XXX_63_19			UINT64_C(0xfffffffffff80000)
543 #define	RX_PRT_INFO_DROP			UINT64_C(0x0000000000070000)
544 #define	RX_PRT_INFO_XXX_15_3			UINT64_C(0x000000000000fff8)
545 #define	RX_PRT_INFO_COMMIT			UINT64_C(0x0000000000000007)
546 
547 /* TX LFSR Register */
548 
549 #define	TX_LFSR_XXX_63_16			UINT64_C(0xffffffffffff0000)
550 #define	TX_LFSR_LFSR				UINT64_C(0x000000000000ffff)
551 
552 /* TX Interrupt Register */
553 
554 #define	TX_INT_REG_XXX_63_20			UINT64_C(0xfffffffffff00000)
555 #define	TX_INT_REG_XXX_19			UINT64_C(0x0000000000080000)
556 #define	TX_INT_REG_LATE_COL			UINT64_C(0x0000000000070000)
557 #define	TX_INT_REG_XXX_15			UINT64_C(0x0000000000008000)
558 #define	TX_INT_REG_XSDEF			UINT64_C(0x0000000000007000)
559 #define	TX_INT_REG_XXX_11			UINT64_C(0x0000000000000800)
560 #define	TX_INT_REG_XSCOL			UINT64_C(0x0000000000000700)
561 #define	TX_INT_REG_XXX_7_5			UINT64_C(0x00000000000000e0)
562 #define	TX_INT_REG_UNDFLW			UINT64_C(0x000000000000001c)
563 #define	TX_INT_REG_XXX_1			UINT64_C(0x0000000000000002)
564 #define	TX_INT_REG_PKO_NXA			UINT64_C(0x0000000000000001)
565 
566 /* TX Interrupt Register */
567 
568 #define	TX_INT_EN_XXX_63_20			UINT64_C(0xfffffffffff00000)
569 #define	TX_INT_EN_XXX_19			UINT64_C(0x0000000000080000)
570 #define	TX_INT_EN_LATE_COL			UINT64_C(0x0000000000070000)
571 #define	TX_INT_EN_XXX_15			UINT64_C(0x0000000000008000)
572 #define	TX_INT_EN_XSDEF				UINT64_C(0x0000000000007000)
573 #define	TX_INT_EN_XXX_11			UINT64_C(0x0000000000000800)
574 #define	TX_INT_EN_XSCOL				UINT64_C(0x0000000000000700)
575 #define	TX_INT_EN_XXX_7_5			UINT64_C(0x00000000000000e0)
576 #define	TX_INT_EN_UNDFLW			UINT64_C(0x000000000000001c)
577 #define	TX_INT_EN_XXX_1				UINT64_C(0x0000000000000002)
578 #define	TX_INT_EN_PKO_NXA			UINT64_C(0x0000000000000001)
579 
580 /* Address-out-of-Range Error Register */
581 
582 #define	NXA_ADR_XXX_63_6			UINT64_C(0xffffffffffffffc0)
583 #define	NXA_ADR_PRT				UINT64_C(0x000000000000003f)
584 
585 /* GMX Miscellaneous Error Register */
586 
587 #define	BAD_REG_XXX_63_31			UINT64_C(0xffffffff80000000)
588 #define	BAD_REG_INB_NXA				UINT64_C(0x0000000078000000)
589 #define	BAD_REG_STATOVR				UINT64_C(0x0000000004000000)
590 #define	BAD_REG_XXX_25				UINT64_C(0x0000000002000000)
591 #define	BAD_REG_LOSTSTAT			UINT64_C(0x0000000001c00000)
592 #define	BAD_REG_XXX_21_18			UINT64_C(0x00000000003c0000)
593 #define	BAD_REG_XXX_17_5			UINT64_C(0x000000000003ffe0)
594 #define	BAD_REG_OUT_OVR				UINT64_C(0x000000000000001c)
595 #define	BAD_REG_XXX_1_0				UINT64_C(0x0000000000000003)
596 
597 /* GMX Backpressure Statistics Register */
598 
599 #define	STAT_BP_XXX_63_17			UINT64_C(0xfffffffffffe0000)
600 #define	STAT_BP_BP				UINT64_C(0x0000000000010000)
601 #define	STAT_BP_CNT				UINT64_C(0x000000000000ffff)
602 
603 /* Mode Change Mask Registers */
604 
605 #define	TX_CLK_MSKN_XXX_63_1			UINT64_C(0xfffffffffffffffe)
606 #define	TX_CLK_MSKN_MSK				UINT64_C(0x0000000000000001)
607 
608 /* GMX RX/TX Status Register */
609 
610 #define	RX_TX_STATUS_XXX_63_7			UINT64_C(0xffffffffffffff80)
611 #define	RX_TX_STATUS_TX				UINT64_C(0x0000000000000070)
612 #define	RX_TX_STATUS_XXX_3			UINT64_C(0x0000000000000008)
613 #define	RX_TX_STATUS_RX				UINT64_C(0x0000000000000007)
614 
615 /* Interface Mode Register */
616 
617 #define	INF_MODE_XXX_63_3			UINT64_C(0xfffffffffffffff8)
618 #define	INF_MODE_P0MII				UINT64_C(0x0000000000000004)
619 #define	INF_MODE_EN				UINT64_C(0x0000000000000002)
620 #define	INF_MODE_TYPE				UINT64_C(0x0000000000000001)
621 
622 /* -------------------------------------------------------------------------- */
623 
624 /* for bus_space(9) */
625 
626 #define GMX_IF_NUNITS				1
627 #define GMX_PORT_NUNITS				3
628 
629 #define	GMX0_BASE_PORT0				0x0001180008000000ULL
630 #define	GMX0_BASE_PORT1				0x0001180008000800ULL
631 #define	GMX0_BASE_PORT2				0x0001180008001000ULL
632 #define	GMX0_BASE_PORT_SIZE				0x00800
633 #define	GMX0_BASE_IF0				0x0001180008000000ULL
634 #define	GMX0_BASE_IF_SIZE			(GMX0_BASE_PORT_SIZE * GMX_PORT_NUNITS)
635 
636 /* for snprintb(9) */
637 
638 #define	RXN_INT_REG_BITS \
639 	"\177"		/* new format */ \
640 	"\020"		/* hex display */ \
641 	"\020"		/* %016x format */ \
642 	"b\x12"		"PHY_DUPX\0" \
643 	"b\x11"		"PHY_SPD\0" \
644 	"b\x10"		"PHY_LINK\0" \
645 	"b\x0f"		"IFGERR\0" \
646 	"b\x0e"		"COLDET\0" \
647 	"b\x0d"		"FALERR\0" \
648 	"b\x0c"		"RSVERR\0" \
649 	"b\x0b"		"PCTERR\0" \
650 	"b\x0a"		"OVRERR\0" \
651 	"b\x09"		"NIBERR\0" \
652 	"b\x08"		"SKPERR\0" \
653 	"b\x07"		"RCVERR\0" \
654 	"b\x06"		"LENERR\0" \
655 	"b\x05"		"ALNERR\0" \
656 	"b\x04"		"FCSERR\0" \
657 	"b\x03"		"JABBER\0" \
658 	"b\x02"		"MAXERR\0" \
659 	"b\x01"		"CAREXT\0" \
660 	"b\x00"		"MINERR\0"
661 #define	RXN_INT_EN_BITS \
662 	"\177"		/* new format */ \
663 	"\020"		/* hex display */ \
664 	"\020"		/* %016x format */ \
665 	"b\x12"		"PHY_DUPX\0" \
666 	"b\x11"		"PHY_SPD\0" \
667 	"b\x10"		"PHY_LINK\0" \
668 	"b\x0f"		"IFGERR\0" \
669 	"b\x0e"		"COLDET\0" \
670 	"b\x0d"		"FALERR\0" \
671 	"b\x0c"		"RSVERR\0" \
672 	"b\x0b"		"PCTERR\0" \
673 	"b\x0a"		"OVRERR\0" \
674 	"b\x09"		"NIBERR\0" \
675 	"b\x08"		"SKPERR\0" \
676 	"b\x07"		"RCVERR\0" \
677 	"b\x06"		"LENERR\0" \
678 	"b\x05"		"ALNERR\0" \
679 	"b\x04"		"FCSERR\0" \
680 	"b\x03"		"JABBER\0" \
681 	"b\x02"		"MAXERR\0" \
682 	"b\x01"		"CAREXT\0" \
683 	"b\x00"		"MINERR\0"
684 #define	PRTN_CFG_BITS \
685 	"\177"		/* new format */ \
686 	"\020"		/* hex display */ \
687 	"\020"		/* %016x format */ \
688 	"b\x03"		"SLOTTIME\0" \
689 	"b\x02"		"DUPLEX\0" \
690 	"b\x01"		"SPEED\0" \
691 	"b\x00"		"EN\0"
692 #define	RXN_FRM_CTL_BITS \
693 	"\177"		/* new format */ \
694 	"\020"		/* hex display */ \
695 	"\020"		/* %016x format */ \
696 	"b\x0a"		"NULL_DIS\0" \
697 	"b\x09"		"PRE_ALIGN\0" \
698 	"b\x08"		"PAD_LEN\0" \
699 	"b\x07"		"VLAN_LEN\0" \
700 	"b\x06"		"PRE_FREE\0" \
701 	"b\x05"		"CTL_SMAC\0" \
702 	"b\x04"		"CTL_MCST\0" \
703 	"b\x03"		"CTL_BCK\0" \
704 	"b\x02"		"CTL_DRP\0" \
705 	"b\x01"		"PRE_STRP\0" \
706 	"b\x00"		"PRE_CHK\0"
707 #define	RXN_FRM_CHK_BITS \
708 	"\177"		/* new format */ \
709 	"\020"		/* hex display */ \
710 	"\020"		/* %016x format */ \
711 	"b\x09"		"NIBERR\0" \
712 	"b\x08"		"SKPERR\0" \
713 	"b\x07"		"RCVERR\0" \
714 	"b\x06"		"LENERR\0" \
715 	"b\x05"		"ALNERR\0" \
716 	"b\x04"		"FCSERR\0" \
717 	"b\x03"		"JABBER\0" \
718 	"b\x02"		"MAXERR\0" \
719 	"b\x01"		"CAREXT\0" \
720 	"b\x00"		"MINERR\0"
721 /* RXN_FRM_MIN */
722 /* RXN_FRM_MAX */
723 #define	RXN_JABBER_BITS \
724 	"\177"		/* new format */ \
725 	"\020"		/* hex display */ \
726 	"\020"		/* %016x format */ \
727 	"f\x00\x10"	"CNT\0"
728 #define	RXN_DECISION_BITS \
729 	"\177"		/* new format */ \
730 	"\020"		/* hex display */ \
731 	"\020"		/* %016x format */ \
732 	"f\x00\x05"	"CNT\0"
733 #define	RXN_UDD_SKP_BITS \
734 	"\177"		/* new format */ \
735 	"\020"		/* hex display */ \
736 	"\020"		/* %016x format */ \
737 	"b\x08"		"FCSSEL\0" \
738 	"f\x00\x07"	"LEN\0"
739 #define	RXN_STATS_CTL_BITS \
740 	"\177"		/* new format */ \
741 	"\020"		/* hex display */ \
742 	"\020"		/* %016x format */ \
743 	"b\x00"		"RD_CLR\0"
744 #define	RXN_IFG_BITS \
745 	"\177"		/* new format */ \
746 	"\020"		/* hex display */ \
747 	"\020"		/* %016x format */ \
748 	"f\x00\x04"	"IFG\0"
749 #define	RXN_RX_INBND_BITS \
750 	"\177"		/* new format */ \
751 	"\020"		/* hex display */ \
752 	"\020"		/* %016x format */ \
753 	"b\x03"		"DUPLEX\0" \
754 	"f\x01\x02"	"SPEED\0" \
755 	"b\x00"		"STATUS\0"
756 #define	RXN_STATS_PKTS_BITS \
757 	"\177"		/* new format */ \
758 	"\020"		/* hex display */ \
759 	"\020"		/* %016x format */ \
760 	"f\x00\x20"	"CNT\0"
761 #define	RXN_STATS_OCTS_BITS \
762 	"\177"		/* new format */ \
763 	"\020"		/* hex display */ \
764 	"\020"		/* %016x format */ \
765 	"f\x00\x30"	"CNT\0"
766 #define	RXN_STATS_PKTS_CTL_BITS \
767 	"\177"		/* new format */ \
768 	"\020"		/* hex display */ \
769 	"\020"		/* %016x format */ \
770 	"f\x00\x20"	"CNT\0"
771 #define	RXN_STATS_OCTS_CTL_BITS \
772 	"\177"		/* new format */ \
773 	"\020"		/* hex display */ \
774 	"\020"		/* %016x format */ \
775 	"f\x00\x30"	"CNT\0"
776 #define	RXN_STATS_PKTS_DMAC_BITS \
777 	"\177"		/* new format */ \
778 	"\020"		/* hex display */ \
779 	"\020"		/* %016x format */ \
780 	"f\x00\x20"	"CNT\0"
781 #define	RXN_STATS_OCTS_DMAC_BITS \
782 	"\177"		/* new format */ \
783 	"\020"		/* hex display */ \
784 	"\020"		/* %016x format */ \
785 	"f\x00\x30"	"CNT\0"
786 #define	RXN_STATS_PKTS_DRP_BITS \
787 	"\177"		/* new format */ \
788 	"\020"		/* hex display */ \
789 	"\020"		/* %016x format */ \
790 	"f\x00\x20"	"CNT\0"
791 #define	RXN_STATS_OCTS_DRP_BITS \
792 	"\177"		/* new format */ \
793 	"\020"		/* hex display */ \
794 	"\020"		/* %016x format */ \
795 	"f\x00\x30"	"CNT\0"
796 #define	RXN_STATS_PKTS_BAD_BITS \
797 	"\177"		/* new format */ \
798 	"\020"		/* hex display */ \
799 	"\020"		/* %016x format */ \
800 	"f\x00\x20"	"CNT\0"
801 #define	RXN_ADR_CTL_BITS \
802 	"\177"		/* new format */ \
803 	"\020"		/* hex display */ \
804 	"\020"		/* %016x format */ \
805 	"b\x03"		"CAM_MODE\0" \
806 	"f\x01\x02"	"MCST\0" \
807 	"b\x00"		"BCST\0"
808 #define	RXN_ADR_CAM_EN_BITS \
809 	"\177"		/* new format */ \
810 	"\020"		/* hex display */ \
811 	"\020"		/* %016x format */ \
812 	"f\x00\x08"	"EN\0"
813 /* RXN_ADR_CAM0 */
814 /* RXN_ADR_CAM1 */
815 /* RXN_ADR_CAM2 */
816 /* RXN_ADR_CAM3 */
817 /* RXN_ADR_CAM4 */
818 /* RXN_ADR_CAM5 */
819 #define	TXN_CLK_BITS \
820 	"\177"		/* new format */ \
821 	"\020"		/* hex display */ \
822 	"\020"		/* %016x format */ \
823 	"f\x00\x06"	"CLK_CNT\0"
824 #define	TXN_THRESH_BITS \
825 	"\177"		/* new format */ \
826 	"\020"		/* hex display */ \
827 	"\020"		/* %016x format */ \
828 	"f\x00\x06"	"CNT\0"
829 #define	TXN_APPEND_BITS \
830 	"\177"		/* new format */ \
831 	"\020"		/* hex display */ \
832 	"\020"		/* %016x format */ \
833 	"b\x03"		"FORCE_FCS\0" \
834 	"b\x02"		"FCS\0" \
835 	"b\x01"		"PAD\0" \
836 	"b\x00"		"PREAMBLE\0"
837 #define	TXN_SLOT_BITS \
838 	"\177"		/* new format */ \
839 	"\020"		/* hex display */ \
840 	"\020"		/* %016x format */ \
841 	"f\x00\x0a"	"SLOT\0"
842 #define	TXN_BURST_BITS \
843 	"\177"		/* new format */ \
844 	"\020"		/* hex display */ \
845 	"\020"		/* %016x format */ \
846 	"f\x00\x10"	"BURST\0"
847 /* SMAC0 */
848 #define	TXN_PAUSE_PKT_TIME_BITS \
849 	"\177"		/* new format */ \
850 	"\020"		/* hex display */ \
851 	"\020"		/* %016x format */ \
852 	"f\x00\x10"	"TIME\0"
853 #define	TXN_MIN_PKT_BITS \
854 	"\177"		/* new format */ \
855 	"\020"		/* hex display */ \
856 	"\020"		/* %016x format */ \
857 	"f\x00\x08"	"MIN_SIZE\0"
858 #define	TXN_PAUSE_PKT_INTERVAL_BITS \
859 	"\177"		/* new format */ \
860 	"\020"		/* hex display */ \
861 	"\020"		/* %016x format */ \
862 	"f\x00\x10"	"INTERVAL\0"
863 #define	TXN_SOFT_PAUSE_BITS \
864 	"\177"		/* new format */ \
865 	"\020"		/* hex display */ \
866 	"\020"		/* %016x format */ \
867 	"f\x00\x10"	"TIME\0"
868 #define	TXN_PAUSE_TOGO_BITS \
869 	"\177"		/* new format */ \
870 	"\020"		/* hex display */ \
871 	"\020"		/* %016x format */ \
872 	"f\x00\x10"	"TIME\0"
873 #define	TXN_PAUSE_ZERO_BITS \
874 	"\177"		/* new format */ \
875 	"\020"		/* hex display */ \
876 	"\020"		/* %016x format */ \
877 	"b\x00"		"SEND\0"
878 #define	TXN_STATS_CTL_BITS \
879 	"\177"		/* new format */ \
880 	"\020"		/* hex display */ \
881 	"\020"		/* %016x format */ \
882 	"b\x00"		"RD_CLR\0"
883 #define	TXN_CTL_BITS \
884 	"\177"		/* new format */ \
885 	"\020"		/* hex display */ \
886 	"\020"		/* %016x format */ \
887 	"b\x01"		"XSDEF_EN\0" \
888 	"b\x00"		"XSCOL_EN\0"
889 #define	TXN_STAT0_BITS \
890 	"\177"		/* new format */ \
891 	"\020"		/* hex display */ \
892 	"\020"		/* %016x format */ \
893 	"f\x20\x20"	"XSDEF\0" \
894 	"f\x00\x20"	"XSCOL\0"
895 #define	TXN_STAT1_BITS \
896 	"\177"		/* new format */ \
897 	"\020"		/* hex display */ \
898 	"\020"		/* %016x format */ \
899 	"f\x20\x20"	"SCOL\0" \
900 	"f\x00\x20"	"MSCOL\0"
901 #define	TXN_STAT2_BITS \
902 	"\177"		/* new format */ \
903 	"\020"		/* hex display */ \
904 	"\020"		/* %016x format */ \
905 	"f\x00\x30"	"OCTS\0"
906 #define	TXN_STAT3_BITS \
907 	"\177"		/* new format */ \
908 	"\020"		/* hex display */ \
909 	"\020"		/* %016x format */ \
910 	"f\x00\x20"	"PKTS\0"
911 #define	TXN_STAT4_BITS \
912 	"\177"		/* new format */ \
913 	"\020"		/* hex display */ \
914 	"\020"		/* %016x format */ \
915 	"f\x20\x20"	"HIST1\0" \
916 	"f\x00\x20"	"HIST0\0"
917 #define	TXN_STAT5_BITS \
918 	"\177"		/* new format */ \
919 	"\020"		/* hex display */ \
920 	"\020"		/* %016x format */ \
921 	"f\x20\x20"	"HIST3\0" \
922 	"f\x00\x20"	"HIST2\0"
923 #define	TXN_STAT6_BITS \
924 	"\177"		/* new format */ \
925 	"\020"		/* hex display */ \
926 	"\020"		/* %016x format */ \
927 	"f\x20\x20"	"HIST5\0" \
928 	"f\x00\x20"	"HIST4\0"
929 #define	TXN_STAT7_BITS \
930 	"\177"		/* new format */ \
931 	"\020"		/* hex display */ \
932 	"\020"		/* %016x format */ \
933 	"f\x20\x20"	"HIST7\0" \
934 	"f\x00\x20"	"HIST6\0"
935 #define	TXN_STAT8_BITS \
936 	"\177"		/* new format */ \
937 	"\020"		/* hex display */ \
938 	"\020"		/* %016x format */ \
939 	"f\x20\x20"	"MCST\0" \
940 	"f\x00\x20"	"BCST\0"
941 #define	TXN_STAT9_BITS \
942 	"\177"		/* new format */ \
943 	"\020"		/* hex display */ \
944 	"\020"		/* %016x format */ \
945 	"f\x20\x20"	"UNDFLW\0" \
946 	"f\x00\x20"	"CTL\0"
947 /* BIST0 */
948 #define	RX_PRTS_BITS \
949 	"\177"		/* new format */ \
950 	"\020"		/* hex display */ \
951 	"\020"		/* %016x format */ \
952 	"f\x00\x03"	"PRTS\0"
953 #define	RX_BP_DROPN_BITS \
954 	"\177"		/* new format */ \
955 	"\020"		/* hex display */ \
956 	"\020"		/* %016x format */ \
957 	"f\x00\x06"	"MARK\0"
958 #define	RX_BP_ONN_BITS \
959 	"\177"		/* new format */ \
960 	"\020"		/* hex display */ \
961 	"\020"		/* %016x format */ \
962 	"f\x00\x09"	"MARK\0"
963 #define	RX_BP_OFFN_BITS \
964 	"\177"		/* new format */ \
965 	"\020"		/* hex display */ \
966 	"\020"		/* %016x format */ \
967 	"f\x00\x06"	"MARK\0"
968 #define	TX_PRTS_BITS \
969 	"\177"		/* new format */ \
970 	"\020"		/* hex display */ \
971 	"\020"		/* %016x format */ \
972 	"f\x00\x05"	"PRTS\0"
973 #define	TX_IFG_BITS \
974 	"\177"		/* new format */ \
975 	"\020"		/* hex display */ \
976 	"\020"		/* %016x format */ \
977 	"f\x04\x04"	"IFG2\0" \
978 	"f\x00\x04"	"IFG1\0"
979 #define	TX_JAM_BITS \
980 	"\177"		/* new format */ \
981 	"\020"		/* hex display */ \
982 	"\020"		/* %016x format */ \
983 	"f\x00\x08"	"JAM\0"
984 #define	TX_COL_ATTEMPT_BITS \
985 	"\177"		/* new format */ \
986 	"\020"		/* hex display */ \
987 	"\020"		/* %016x format */ \
988 	"f\x00\x05"	"LIMIT\0"
989 #define	TX_PAUSE_PKT_DMAC_BITS \
990 	"\177"		/* new format */ \
991 	"\020"		/* hex display */ \
992 	"\020"		/* %016x format */ \
993 	"f\x00\x30"	"DMAC\0"
994 #define	TX_PAUSE_PKT_TYPE_BITS \
995 	"\177"		/* new format */ \
996 	"\020"		/* hex display */ \
997 	"\020"		/* %016x format */ \
998 	"f\x00\x10"	"TYPE\0"
999 #define	TX_OVR_BP_BITS \
1000 	"\177"		/* new format */ \
1001 	"\020"		/* hex display */ \
1002 	"\020"		/* %016x format */ \
1003 	"f\x08\x03"	"EN\0" \
1004 	"f\x04\x03"	"BP\0" \
1005 	"f\x00\x03"	"IGN_FULL\0"
1006 #define	TX_BP_BITS \
1007 	"\177"		/* new format */ \
1008 	"\020"		/* hex display */ \
1009 	"\020"		/* %016x format */ \
1010 	"f\x00\x03"	"SR_BP\0"
1011 #define	TX_CORRUPT_BITS \
1012 	"\177"		/* new format */ \
1013 	"\020"		/* hex display */ \
1014 	"\020"		/* %016x format */ \
1015 	"f\x00\x03"	"CORRUPT\0"
1016 #define	RX_PRT_INFO_BITS \
1017 	"\177"		/* new format */ \
1018 	"\020"		/* hex display */ \
1019 	"\020"		/* %016x format */ \
1020 	"f\x10\x03"	"DROP\0" \
1021 	"f\x00\x03"	"COMMIT\0"
1022 #define	TX_LFSR_BITS \
1023 	"\177"		/* new format */ \
1024 	"\020"		/* hex display */ \
1025 	"\020"		/* %016x format */ \
1026 	"f\x00\x10"	"LFSR\0"
1027 #define	TX_INT_REG_BITS \
1028 	"\177"		/* new format */ \
1029 	"\020"		/* hex display */ \
1030 	"\020"		/* %016x format */ \
1031 	"f\x10\x03"	"LATE_COL\0" \
1032 	"f\x0c\x03"	"XSDEF\0" \
1033 	"f\x08\x03"	"XSCOL\0" \
1034 	"f\x02\x03"	"UNDFLW\0" \
1035 	"b\x00"		"PKO_NXA\0"
1036 #define	TX_INT_EN_BITS \
1037 	"\177"		/* new format */ \
1038 	"\020"		/* hex display */ \
1039 	"\020"		/* %016x format */ \
1040 	"f\x10\x03"	"LATE_COL\0" \
1041 	"f\x0c\x03"	"XSDEF\0" \
1042 	"f\x08\x03"	"XSCOL\0" \
1043 	"f\x02\x03"	"UNDFLW\0" \
1044 	"b\x00"		"PKO_NXA\0"
1045 #define	NXA_ADR_BITS \
1046 	"\177"		/* new format */ \
1047 	"\020"		/* hex display */ \
1048 	"\020"		/* %016x format */ \
1049 	"f\x00\x06"	"PRT\0"
1050 #define	BAD_REG_BITS \
1051 	"\177"		/* new format */ \
1052 	"\020"		/* hex display */ \
1053 	"\020"		/* %016x format */ \
1054 	"f\x1b\x04"	"INB_NXA\0" \
1055 	"b\x1a"		"STATOVR\0" \
1056 	"f\x16\x03"	"LOSTSTAT\0" \
1057 	"f\x02\x03"	"OUT_OVR\0"
1058 #define	STAT_BP_BITS \
1059 	"\177"		/* new format */ \
1060 	"\020"		/* hex display */ \
1061 	"\020"		/* %016x format */ \
1062 	"b\x10"		"BP\0" \
1063 	"f\x00\x10"	"CNT\0"
1064 #define	TX_CLK_MSKN_BITS \
1065 	"\177"		/* new format */ \
1066 	"\020"		/* hex display */ \
1067 	"\020"		/* %016x format */ \
1068 	"b\x00"		"MSK\0"
1069 #define	RX_TX_STATUS_BITS \
1070 	"\177"		/* new format */ \
1071 	"\020"		/* hex display */ \
1072 	"\020"		/* %016x format */ \
1073 	"f\x04\x03"	"TX\0" \
1074 	"f\x00\x03"	"RX\0"
1075 #define	INF_MODE_BITS \
1076 	"\177"		/* new format */ \
1077 	"\020"		/* hex display */ \
1078 	"\020"		/* %016x format */ \
1079 	"b\x02"		"P0MII\0" \
1080 	"b\x01"		"EN\0" \
1081 	"b\x00"		"TYPE\0"
1082 
1083 #define GMX0_RX0_INT_REG_BITS			RXN_INT_REG_BITS
1084 #define GMX0_RX0_INT_EN_BITS			RXN_INT_EN_BITS
1085 #define GMX0_PRT0_CFG_BITS			PRTN_CFG_BITS
1086 #define GMX0_RX0_FRM_CTL_BITS			RXN_FRM_CTL_BITS
1087 #define GMX0_RX0_FRM_CHK_BITS			RXN_FRM_CHK_BITS
1088 #define GMX0_RX0_FRM_MIN_BITS			NULL//RXN_FRM_MIN_BITS
1089 #define GMX0_RX0_FRM_MAX_BITS			NULL//RXN_FRM_MAX_BITS
1090 #define GMX0_RX0_JABBER_BITS			RXN_JABBER_BITS
1091 #define GMX0_RX0_DECISION_BITS			RXN_DECISION_BITS
1092 #define GMX0_RX0_UDD_SKP_BITS			RXN_UDD_SKP_BITS
1093 #define GMX0_RX0_STATS_CTL_BITS			RXN_STATS_CTL_BITS
1094 #define GMX0_RX0_IFG_BITS			RXN_IFG_BITS
1095 #define GMX0_RX0_RX_INBND_BITS			RXN_RX_INBND_BITS
1096 #define GMX0_RX0_STATS_PKTS_BITS		RXN_STATS_PKTS_BITS
1097 #define GMX0_RX0_STATS_OCTS_BITS		RXN_STATS_OCTS_BITS
1098 #define GMX0_RX0_STATS_PKTS_CTL_BITS		RXN_STATS_PKTS_CTL_BITS
1099 #define GMX0_RX0_STATS_OCTS_CTL_BITS		RXN_STATS_OCTS_CTL_BITS
1100 #define GMX0_RX0_STATS_PKTS_DMAC_BITS		RXN_STATS_PKTS_DMAC_BITS
1101 #define GMX0_RX0_STATS_OCTS_DMAC_BITS		RXN_STATS_OCTS_DMAC_BITS
1102 #define GMX0_RX0_STATS_PKTS_DRP_BITS		RXN_STATS_PKTS_DRP_BITS
1103 #define GMX0_RX0_STATS_OCTS_DRP_BITS		RXN_STATS_OCTS_DRP_BITS
1104 #define GMX0_RX0_STATS_PKTS_BAD_BITS		RXN_STATS_PKTS_BAD_BITS
1105 #define GMX0_RX0_ADR_CTL_BITS			RXN_ADR_CTL_BITS
1106 #define GMX0_RX0_ADR_CAM_EN_BITS		RXN_ADR_CAM_EN_BITS
1107 #define GMX0_RX0_ADR_CAM0_BITS			NULL//RXN_ADR_CAM0_BITS
1108 #define GMX0_RX0_ADR_CAM1_BITS			NULL//RXN_ADR_CAM1_BITS
1109 #define GMX0_RX0_ADR_CAM2_BITS			NULL//RXN_ADR_CAM2_BITS
1110 #define GMX0_RX0_ADR_CAM3_BITS			NULL//RXN_ADR_CAM3_BITS
1111 #define GMX0_RX0_ADR_CAM4_BITS			NULL//RXN_ADR_CAM4_BITS
1112 #define GMX0_RX0_ADR_CAM5_BITS			NULL//RXN_ADR_CAM5_BITS
1113 #define GMX0_TX0_CLK_BITS			TXN_CLK_BITS
1114 #define GMX0_TX0_THRESH_BITS			TXN_THRESH_BITS
1115 #define GMX0_TX0_APPEND_BITS			TXN_APPEND_BITS
1116 #define GMX0_TX0_SLOT_BITS			TXN_SLOT_BITS
1117 #define GMX0_TX0_BURST_BITS			TXN_BURST_BITS
1118 #define GMX0_SMAC0_BITS				NULL//SMAC0_BITS
1119 #define GMX0_TX0_PAUSE_PKT_TIME_BITS		TXN_PAUSE_PKT_TIME_BITS
1120 #define GMX0_TX0_MIN_PKT_BITS			TXN_MIN_PKT_BITS
1121 #define GMX0_TX0_PAUSE_PKT_INTERVAL_BITS	TXN_PAUSE_PKT_INTERVAL_BITS
1122 #define GMX0_TX0_SOFT_PAUSE_BITS		TXN_SOFT_PAUSE_BITS
1123 #define GMX0_TX0_PAUSE_TOGO_BITS		TXN_PAUSE_TOGO_BITS
1124 #define GMX0_TX0_PAUSE_ZERO_BITS		TXN_PAUSE_ZERO_BITS
1125 #define GMX0_TX0_STATS_CTL_BITS			TXN_STATS_CTL_BITS
1126 #define GMX0_TX0_CTL_BITS			TXN_CTL_BITS
1127 #define GMX0_TX0_STAT0_BITS			TXN_STAT0_BITS
1128 #define GMX0_TX0_STAT1_BITS			TXN_STAT1_BITS
1129 #define GMX0_TX0_STAT2_BITS			TXN_STAT2_BITS
1130 #define GMX0_TX0_STAT3_BITS			TXN_STAT3_BITS
1131 #define GMX0_TX0_STAT4_BITS			TXN_STAT4_BITS
1132 #define GMX0_TX0_STAT5_BITS			TXN_STAT5_BITS
1133 #define GMX0_TX0_STAT6_BITS			TXN_STAT6_BITS
1134 #define GMX0_TX0_STAT7_BITS			TXN_STAT7_BITS
1135 #define GMX0_TX0_STAT8_BITS			TXN_STAT8_BITS
1136 #define GMX0_TX0_STAT9_BITS			TXN_STAT9_BITS
1137 #define GMX0_BIST0_BITS				NULL//BIST0_BITS
1138 #define GMX0_RX_PRTS_BITS			RX_PRTS_BITS
1139 #define GMX0_RX_BP_DROP0_BITS			RX_BP_DROPN_BITS
1140 #define GMX0_RX_BP_ON0_BITS			RX_BP_ONN_BITS
1141 #define GMX0_RX_BP_OFF0_BITS			RX_BP_OFFN_BITS
1142 #define GMX0_RX_BP_DROP1_BITS			RX_BP_DROPN_BITS
1143 #define GMX0_RX_BP_ON1_BITS			RX_BP_ONN_BITS
1144 #define GMX0_RX_BP_OFF1_BITS			RX_BP_OFFN_BITS
1145 #define GMX0_RX_BP_DROP2_BITS			RX_BP_DROPN_BITS
1146 #define GMX0_RX_BP_ON2_BITS			RX_BP_ONN_BITS
1147 #define GMX0_RX_BP_OFF2_BITS			RX_BP_OFFN_BITS
1148 #define GMX0_TX_PRTS_BITS			TX_PRTS_BITS
1149 #define GMX0_TX_IFG_BITS			TX_IFG_BITS
1150 #define GMX0_TX_JAM_BITS			TX_JAM_BITS
1151 #define GMX0_TX_COL_ATTEMPT_BITS		TX_COL_ATTEMPT_BITS
1152 #define GMX0_TX_PAUSE_PKT_DMAC_BITS		TX_PAUSE_PKT_DMAC_BITS
1153 #define GMX0_TX_PAUSE_PKT_TYPE_BITS		TX_PAUSE_PKT_TYPE_BITS
1154 #define GMX0_TX_OVR_BP_BITS			TX_OVR_BP_BITS
1155 #define GMX0_TX_BP_BITS				TX_BP_BITS
1156 #define GMX0_TX_CORRUPT_BITS			TX_CORRUPT_BITS
1157 #define GMX0_RX_PRT_INFO_BITS			RX_PRT_INFO_BITS
1158 #define GMX0_TX_LFSR_BITS			TX_LFSR_BITS
1159 #define GMX0_TX_INT_REG_BITS			TX_INT_REG_BITS
1160 #define GMX0_TX_INT_EN_BITS			TX_INT_EN_BITS
1161 #define GMX0_NXA_ADR_BITS			NXA_ADR_BITS
1162 #define GMX0_BAD_REG_BITS			BAD_REG_BITS
1163 #define GMX0_STAT_BP_BITS			STAT_BP_BITS
1164 #define GMX0_TX_CLK_MSK0_BITS			TX_CLK_MSKN_BITS
1165 #define GMX0_TX_CLK_MSK1_BITS			TX_CLK_MSKN_BITS
1166 #define GMX0_TX_CLK_MSK2_BITS			TX_CLK_MSKN_BITS
1167 #define GMX0_RX_TX_STATUS_BITS			RX_TX_STATUS_BITS
1168 #define GMX0_INF_MODE_BITS			INF_MODE_BITS
1169 
1170 #endif /* _OCTEON_GMXREG_H_ */
1171