Home | History | Annotate | Line # | Download | only in dev
octeon_gmxreg.h revision 1.1
      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