1221167Sgnn/*-
2221167Sgnn * Copyright(c) 2002-2011 Exar Corp.
3221167Sgnn * All rights reserved.
4221167Sgnn *
5221167Sgnn * Redistribution and use in source and binary forms, with or without
6221167Sgnn * modification are permitted provided the following conditions are met:
7221167Sgnn *
8221167Sgnn *    1. Redistributions of source code must retain the above copyright notice,
9221167Sgnn *       this list of conditions and the following disclaimer.
10221167Sgnn *
11221167Sgnn *    2. Redistributions in binary form must reproduce the above copyright
12221167Sgnn *       notice, this list of conditions and the following disclaimer in the
13221167Sgnn *       documentation and/or other materials provided with the distribution.
14221167Sgnn *
15221167Sgnn *    3. Neither the name of the Exar Corporation nor the names of its
16221167Sgnn *       contributors may be used to endorse or promote products derived from
17221167Sgnn *       this software without specific prior written permission.
18221167Sgnn *
19221167Sgnn * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20221167Sgnn * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21221167Sgnn * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22221167Sgnn * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
23221167Sgnn * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24221167Sgnn * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25221167Sgnn * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26221167Sgnn * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27221167Sgnn * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28221167Sgnn * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29221167Sgnn * POSSIBILITY OF SUCH DAMAGE.
30221167Sgnn */
31221167Sgnn/*$FreeBSD$*/
32221167Sgnn
33221167Sgnn#ifndef	VXGE_HAL_VPATH_REGS_H
34221167Sgnn#define	VXGE_HAL_VPATH_REGS_H
35221167Sgnn
36221167Sgnn__EXTERN_BEGIN_DECLS
37221167Sgnn
38221167Sgnntypedef struct vxge_hal_vpath_reg_t {
39221167Sgnn
40221167Sgnn	u8	unused00300[0x00300];
41221167Sgnn
42221167Sgnn/* 0x00300 */	u64	usdc_vpath;
43221167Sgnn#define	VXGE_HAL_USDC_VPATH_SGRP_ASSIGN(val)		    vBIT(val, 0, 32)
44221167Sgnn	u8	unused00a00[0x00a00 - 0x00308];
45221167Sgnn
46221167Sgnn/* 0x00a00 */	u64	wrdma_alarm_status;
47221167Sgnn#define	VXGE_HAL_WRDMA_ALARM_STATUS_PRC_ALARM_PRC_INT	    mBIT(1)
48221167Sgnn/* 0x00a08 */	u64	wrdma_alarm_mask;
49221167Sgnn	u8	unused00a30[0x00a30 - 0x00a10];
50221167Sgnn
51221167Sgnn/* 0x00a30 */	u64	prc_alarm_reg;
52221167Sgnn#define	VXGE_HAL_PRC_ALARM_REG_PRC_RING_BUMP		    mBIT(0)
53221167Sgnn#define	VXGE_HAL_PRC_ALARM_REG_PRC_RXDCM_SC_ERR		    mBIT(1)
54221167Sgnn#define	VXGE_HAL_PRC_ALARM_REG_PRC_RXDCM_SC_ABORT	    mBIT(2)
55221167Sgnn#define	VXGE_HAL_PRC_ALARM_REG_PRC_QUANTA_SIZE_ERR	    mBIT(3)
56221167Sgnn/* 0x00a38 */	u64	prc_alarm_mask;
57221167Sgnn/* 0x00a40 */	u64	prc_alarm_alarm;
58221167Sgnn/* 0x00a48 */	u64	prc_cfg1;
59221167Sgnn#define	VXGE_HAL_PRC_CFG1_RX_TIMER_VAL(val)		    vBIT(val, 3, 29)
60221167Sgnn#define	VXGE_HAL_PRC_CFG1_TIM_RING_BUMP_INT_ENABLE	    mBIT(34)
61221167Sgnn#define	VXGE_HAL_PRC_CFG1_RTI_TINT_DISABLE		    mBIT(35)
62221167Sgnn#define	VXGE_HAL_PRC_CFG1_GREEDY_RETURN			    mBIT(36)
63221167Sgnn#define	VXGE_HAL_PRC_CFG1_QUICK_SHOT			    mBIT(37)
64221167Sgnn#define	VXGE_HAL_PRC_CFG1_RX_TIMER_CI			    mBIT(39)
65221167Sgnn#define	VXGE_HAL_PRC_CFG1_RESET_TIMER_ON_RXD_RET(val)	    vBIT(val, 40, 2)
66221167Sgnn	u8	unused00a60[0x00a60 - 0x00a50];
67221167Sgnn
68221167Sgnn/* 0x00a60 */	u64	prc_cfg4;
69221167Sgnn#define	VXGE_HAL_PRC_CFG4_IN_SVC			    mBIT(7)
70221167Sgnn#define	VXGE_HAL_PRC_CFG4_RING_MODE(val)		    vBIT(val, 14, 2)
71221167Sgnn#define	VXGE_HAL_PRC_CFG4_RXD_NO_SNOOP			    mBIT(22)
72221167Sgnn#define	VXGE_HAL_PRC_CFG4_FRM_NO_SNOOP			    mBIT(23)
73221167Sgnn#define	VXGE_HAL_PRC_CFG4_RTH_DISABLE			    mBIT(31)
74221167Sgnn#define	VXGE_HAL_PRC_CFG4_IGNORE_OWNERSHIP		    mBIT(32)
75221167Sgnn#define	VXGE_HAL_PRC_CFG4_SIGNAL_BENIGN_OVFLW		    mBIT(36)
76221167Sgnn#define	VXGE_HAL_PRC_CFG4_BIMODAL_INTERRUPT		    mBIT(37)
77221167Sgnn#define	VXGE_HAL_PRC_CFG4_BACKOFF_INTERVAL(val)		    vBIT(val, 40, 24)
78221167Sgnn/* 0x00a68 */	u64	prc_cfg5;
79221167Sgnn#define	VXGE_HAL_PRC_CFG5_RXD0_ADD(val)			    vBIT(val, 0, 61)
80221167Sgnn/* 0x00a70 */	u64	prc_cfg6;
81221167Sgnn#define	VXGE_HAL_PRC_CFG6_FRM_PAD_EN			    mBIT(0)
82221167Sgnn#define	VXGE_HAL_PRC_CFG6_QSIZE_ALIGNED_RXD		    mBIT(2)
83221167Sgnn#define	VXGE_HAL_PRC_CFG6_DOORBELL_MODE_EN		    mBIT(5)
84221167Sgnn#define	VXGE_HAL_PRC_CFG6_L3_CPC_TRSFR_CODE_EN		    mBIT(8)
85221167Sgnn#define	VXGE_HAL_PRC_CFG6_L4_CPC_TRSFR_CODE_EN		    mBIT(9)
86221167Sgnn#define	VXGE_HAL_PRC_CFG6_RXD_CRXDT(val)		    vBIT(val, 23, 9)
87221167Sgnn#define	VXGE_HAL_PRC_CFG6_RXD_SPAT(val)			    vBIT(val, 36, 9)
88221167Sgnn/* 0x00a78 */	u64	prc_cfg7;
89221167Sgnn#define	VXGE_HAL_PRC_CFG7_SCATTER_MODE(val)		    vBIT(val, 6, 2)
90221167Sgnn#define	VXGE_HAL_PRC_CFG7_SMART_SCAT_EN			    mBIT(11)
91221167Sgnn#define	VXGE_HAL_PRC_CFG7_RXD_NS_CHG_EN			    mBIT(12)
92221167Sgnn#define	VXGE_HAL_PRC_CFG7_NO_HDR_SEPARATION		    mBIT(14)
93221167Sgnn#define	VXGE_HAL_PRC_CFG7_RXD_BUFF_SIZE_MASK(val)	    vBIT(val, 20, 4)
94221167Sgnn#define	VXGE_HAL_PRC_CFG7_BUFF_SIZE0_MASK(val)		    vBIT(val, 27, 5)
95221167Sgnn/* 0x00a80 */	u64	tim_dest_addr;
96221167Sgnn#define	VXGE_HAL_TIM_DEST_ADDR_TIM_DEST_ADDR(val)	    vBIT(val, 0, 64)
97221167Sgnn/* 0x00a88 */	u64	prc_rxd_doorbell;
98221167Sgnn#define	VXGE_HAL_PRC_RXD_DOORBELL_NEW_QW_CNT(val)	    vBIT(val, 48, 16)
99221167Sgnn/* 0x00a90 */	u64	rqa_prty_for_vp;
100221167Sgnn#define	VXGE_HAL_RQA_PRTY_FOR_VP_RQA_PRTY_FOR_VP(val)	    vBIT(val, 59, 5)
101221167Sgnn/* 0x00a98 */	u64	rxdmem_size;
102221167Sgnn#define	VXGE_HAL_RXDMEM_SIZE_PRC_RXDMEM_SIZE(val)	    vBIT(val, 51, 13)
103221167Sgnn/* 0x00aa0 */	u64	frm_in_progress_cnt;
104221167Sgnn#define	VXGE_HAL_FRM_IN_PROGRESS_CNT_PRC_FRM_IN_PROGRESS_CNT(val)\
105221167Sgnn							    vBIT(val, 59, 5)
106221167Sgnn/* 0x00aa8 */	u64	rx_multi_cast_stats;
107221167Sgnn#define	VXGE_HAL_RX_MULTI_CAST_STATS_FRAME_DISCARD(val)	    vBIT(val, 48, 16)
108221167Sgnn/* 0x00ab0 */	u64	rx_frm_transferred;
109221167Sgnn#define	VXGE_HAL_RX_FRM_TRANSFERRED_RX_FRM_TRANSFERRED(val) vBIT(val, 32, 32)
110221167Sgnn/* 0x00ab8 */	u64	rxd_returned;
111221167Sgnn#define	VXGE_HAL_RXD_RETURNED_RXD_RETURNED(val)		    vBIT(val, 48, 16)
112221167Sgnn	u8	unused00c00[0x00c00 - 0x00ac0];
113221167Sgnn
114221167Sgnn/* 0x00c00 */	u64	kdfc_fifo_trpl_partition;
115221167Sgnn#define	VXGE_HAL_KDFC_FIFO_TRPL_PARTITION_LENGTH_0(val)	    vBIT(val, 17, 15)
116221167Sgnn#define	VXGE_HAL_KDFC_FIFO_TRPL_PARTITION_LENGTH_1(val)	    vBIT(val, 33, 15)
117221167Sgnn#define	VXGE_HAL_KDFC_FIFO_TRPL_PARTITION_LENGTH_2(val)	    vBIT(val, 49, 15)
118221167Sgnn/* 0x00c08 */	u64	kdfc_fifo_trpl_ctrl;
119221167Sgnn#define	VXGE_HAL_KDFC_FIFO_TRPL_CTRL_TRIPLET_ENABLE	    mBIT(7)
120221167Sgnn/* 0x00c10 */	u64	kdfc_trpl_fifo_0_ctrl;
121221167Sgnn#define	VXGE_HAL_KDFC_TRPL_FIFO_0_CTRL_MODE(val)	    vBIT(val, 14, 2)
122221167Sgnn#define	VXGE_HAL_KDFC_TRPL_FIFO_0_CTRL_FLIP_EN		    mBIT(22)
123221167Sgnn#define	VXGE_HAL_KDFC_TRPL_FIFO_0_CTRL_SWAP_EN		    mBIT(23)
124221167Sgnn#define	VXGE_HAL_KDFC_TRPL_FIFO_0_CTRL_INT_CTRL(val)	    vBIT(val, 26, 2)
125221167Sgnn#define	VXGE_HAL_KDFC_TRPL_FIFO_0_CTRL_CTRL_STRUC	    mBIT(28)
126221167Sgnn#define	VXGE_HAL_KDFC_TRPL_FIFO_0_CTRL_ADD_PAD		    mBIT(29)
127221167Sgnn#define	VXGE_HAL_KDFC_TRPL_FIFO_0_CTRL_NO_SNOOP		    mBIT(30)
128221167Sgnn#define	VXGE_HAL_KDFC_TRPL_FIFO_0_CTRL_RLX_ORD		    mBIT(31)
129221167Sgnn#define	VXGE_HAL_KDFC_TRPL_FIFO_0_CTRL_SELECT(val)	    vBIT(val, 32, 8)
130221167Sgnn#define	VXGE_HAL_KDFC_TRPL_FIFO_0_CTRL_INT_NO(val)	    vBIT(val, 41, 7)
131221167Sgnn#define	VXGE_HAL_KDFC_TRPL_FIFO_0_CTRL_BIT_MAP(val)	    vBIT(val, 48, 16)
132221167Sgnn/* 0x00c18 */	u64	kdfc_trpl_fifo_1_ctrl;
133221167Sgnn#define	VXGE_HAL_KDFC_TRPL_FIFO_1_CTRL_MODE(val)	    vBIT(val, 14, 2)
134221167Sgnn#define	VXGE_HAL_KDFC_TRPL_FIFO_1_CTRL_FLIP_EN		    mBIT(22)
135221167Sgnn#define	VXGE_HAL_KDFC_TRPL_FIFO_1_CTRL_SWAP_EN		    mBIT(23)
136221167Sgnn#define	VXGE_HAL_KDFC_TRPL_FIFO_1_CTRL_INT_CTRL(val)	    vBIT(val, 26, 2)
137221167Sgnn#define	VXGE_HAL_KDFC_TRPL_FIFO_1_CTRL_CTRL_STRUC	    mBIT(28)
138221167Sgnn#define	VXGE_HAL_KDFC_TRPL_FIFO_1_CTRL_ADD_PAD		    mBIT(29)
139221167Sgnn#define	VXGE_HAL_KDFC_TRPL_FIFO_1_CTRL_NO_SNOOP		    mBIT(30)
140221167Sgnn#define	VXGE_HAL_KDFC_TRPL_FIFO_1_CTRL_RLX_ORD		    mBIT(31)
141221167Sgnn#define	VXGE_HAL_KDFC_TRPL_FIFO_1_CTRL_SELECT(val)	    vBIT(val, 32, 8)
142221167Sgnn#define	VXGE_HAL_KDFC_TRPL_FIFO_1_CTRL_INT_NO(val)	    vBIT(val, 41, 7)
143221167Sgnn#define	VXGE_HAL_KDFC_TRPL_FIFO_1_CTRL_BIT_MAP(val)	    vBIT(val, 48, 16)
144221167Sgnn/* 0x00c20 */	u64	kdfc_trpl_fifo_2_ctrl;
145221167Sgnn#define	VXGE_HAL_KDFC_TRPL_FIFO_2_CTRL_FLIP_EN		    mBIT(22)
146221167Sgnn#define	VXGE_HAL_KDFC_TRPL_FIFO_2_CTRL_SWAP_EN		    mBIT(23)
147221167Sgnn#define	VXGE_HAL_KDFC_TRPL_FIFO_2_CTRL_INT_CTRL(val)	    vBIT(val, 26, 2)
148221167Sgnn#define	VXGE_HAL_KDFC_TRPL_FIFO_2_CTRL_CTRL_STRUC	    mBIT(28)
149221167Sgnn#define	VXGE_HAL_KDFC_TRPL_FIFO_2_CTRL_ADD_PAD		    mBIT(29)
150221167Sgnn#define	VXGE_HAL_KDFC_TRPL_FIFO_2_CTRL_NO_SNOOP		    mBIT(30)
151221167Sgnn#define	VXGE_HAL_KDFC_TRPL_FIFO_2_CTRL_RLX_ORD		    mBIT(31)
152221167Sgnn#define	VXGE_HAL_KDFC_TRPL_FIFO_2_CTRL_SELECT(val)	    vBIT(val, 32, 8)
153221167Sgnn#define	VXGE_HAL_KDFC_TRPL_FIFO_2_CTRL_INT_NO(val)	    vBIT(val, 41, 7)
154221167Sgnn#define	VXGE_HAL_KDFC_TRPL_FIFO_2_CTRL_BIT_MAP(val)	    vBIT(val, 48, 16)
155221167Sgnn/* 0x00c28 */	u64	kdfc_trpl_fifo_0_wb_address;
156221167Sgnn#define	VXGE_HAL_KDFC_TRPL_FIFO_0_WB_ADDRESS_ADD(val)	    vBIT(val, 0, 64)
157221167Sgnn/* 0x00c30 */	u64	kdfc_trpl_fifo_1_wb_address;
158221167Sgnn#define	VXGE_HAL_KDFC_TRPL_FIFO_1_WB_ADDRESS_ADD(val)	    vBIT(val, 0, 64)
159221167Sgnn/* 0x00c38 */	u64	kdfc_trpl_fifo_2_wb_address;
160221167Sgnn#define	VXGE_HAL_KDFC_TRPL_FIFO_2_WB_ADDRESS_ADD(val)	    vBIT(val, 0, 64)
161221167Sgnn/* 0x00c40 */	u64	kdfc_trpl_fifo_offset;
162221167Sgnn#define	VXGE_HAL_KDFC_TRPL_FIFO_OFFSET_KDFC_RCTR0(val)	    vBIT(val, 1, 15)
163221167Sgnn#define	VXGE_HAL_KDFC_TRPL_FIFO_OFFSET_KDFC_RCTR1(val)	    vBIT(val, 17, 15)
164221167Sgnn#define	VXGE_HAL_KDFC_TRPL_FIFO_OFFSET_KDFC_RCTR2(val)	    vBIT(val, 33, 15)
165221167Sgnn/* 0x00c48 */	u64	kdfc_drbl_triplet_total;
166221167Sgnn#define	VXGE_HAL_KDFC_DRBL_TRIPLET_TOTAL_KDFC_MAX_SIZE(val) vBIT(val, 17, 15)
167221167Sgnn	u8	unused00c60[0x00c60 - 0x00c50];
168221167Sgnn
169221167Sgnn/* 0x00c60 */	u64	usdc_drbl_ctrl;
170221167Sgnn#define	VXGE_HAL_USDC_DRBL_CTRL_FLIP_EN			    mBIT(22)
171221167Sgnn#define	VXGE_HAL_USDC_DRBL_CTRL_SWAP_EN			    mBIT(23)
172221167Sgnn/* 0x00c68 */	u64	usdc_vp_ready;
173221167Sgnn#define	VXGE_HAL_USDC_VP_READY_USDC_HTN_READY		    mBIT(7)
174221167Sgnn#define	VXGE_HAL_USDC_VP_READY_USDC_SRQ_READY		    mBIT(15)
175221167Sgnn#define	VXGE_HAL_USDC_VP_READY_USDC_CQRQ_READY		    mBIT(23)
176221167Sgnn/* 0x00c70 */	u64	kdfc_status;
177221167Sgnn#define	VXGE_HAL_KDFC_STATUS_KDFC_WRR_0_READY		    mBIT(0)
178221167Sgnn#define	VXGE_HAL_KDFC_STATUS_KDFC_WRR_1_READY		    mBIT(1)
179221167Sgnn#define	VXGE_HAL_KDFC_STATUS_KDFC_WRR_2_READY		    mBIT(2)
180221167Sgnn	u8	unused00c80[0x00c80 - 0x00c78];
181221167Sgnn
182221167Sgnn/* 0x00c80 */	u64	xmac_rpa_vcfg;
183221167Sgnn#define	VXGE_HAL_XMAC_RPA_VCFG_IPV4_TCP_INCL_PH		    mBIT(3)
184221167Sgnn#define	VXGE_HAL_XMAC_RPA_VCFG_IPV6_TCP_INCL_PH		    mBIT(7)
185221167Sgnn#define	VXGE_HAL_XMAC_RPA_VCFG_IPV4_UDP_INCL_PH		    mBIT(11)
186221167Sgnn#define	VXGE_HAL_XMAC_RPA_VCFG_IPV6_UDP_INCL_PH		    mBIT(15)
187221167Sgnn#define	VXGE_HAL_XMAC_RPA_VCFG_L4_INCL_CF		    mBIT(19)
188221167Sgnn#define	VXGE_HAL_XMAC_RPA_VCFG_STRIP_VLAN_TAG		    mBIT(23)
189221167Sgnn/* 0x00c88 */	u64	rxmac_vcfg0;
190221167Sgnn#define	VXGE_HAL_RXMAC_VCFG0_RTS_MAX_FRM_LEN(val)	    vBIT(val, 2, 14)
191221167Sgnn#define	VXGE_HAL_RXMAC_VCFG0_RTS_USE_MIN_LEN		    mBIT(19)
192221167Sgnn#define	VXGE_HAL_RXMAC_VCFG0_RTS_MIN_FRM_LEN(val)	    vBIT(val, 26, 14)
193221167Sgnn#define	VXGE_HAL_RXMAC_VCFG0_UCAST_ALL_ADDR_EN		    mBIT(43)
194221167Sgnn#define	VXGE_HAL_RXMAC_VCFG0_MCAST_ALL_ADDR_EN		    mBIT(47)
195221167Sgnn#define	VXGE_HAL_RXMAC_VCFG0_BCAST_EN			    mBIT(51)
196221167Sgnn#define	VXGE_HAL_RXMAC_VCFG0_ALL_VID_EN			    mBIT(55)
197221167Sgnn/* 0x00c90 */	u64	rxmac_vcfg1;
198221167Sgnn#define	VXGE_HAL_RXMAC_VCFG1_RTS_RTH_MULTI_IT_BD_MODE(val)  vBIT(val, 42, 2)
199221167Sgnn#define	VXGE_HAL_RXMAC_VCFG1_RTS_RTH_MULTI_IT_EN_MODE	    mBIT(47)
200221167Sgnn#define	VXGE_HAL_RXMAC_VCFG1_CONTRIB_L2_FLOW		    mBIT(51)
201221167Sgnn/* 0x00c98 */	u64	rts_access_steer_ctrl;
202221167Sgnn#define	VXGE_HAL_RTS_ACCESS_STEER_CTRL_ACTION(val)	    vBIT(val, 1, 7)
203221167Sgnn#define	VXGE_HAL_RTS_ACCESS_STEER_CTRL_DATA_STRUCT_SEL(val) vBIT(val, 8, 4)
204221167Sgnn#define	VXGE_HAL_RTS_ACCESS_STEER_CTRL_STROBE		    mBIT(15)
205221167Sgnn#define	VXGE_HAL_RTS_ACCESS_STEER_CTRL_BEHAV_TBL_SEL	    mBIT(23)
206221167Sgnn#define	VXGE_HAL_RTS_ACCESS_STEER_CTRL_TABLE_SEL	    mBIT(27)
207221167Sgnn#define	VXGE_HAL_RTS_ACCESS_STEER_CTRL_OFFSET(val)	    vBIT(val, 40, 8)
208221167Sgnn#define	VXGE_HAL_RTS_ACCESS_STEER_CTRL_RMACJ_STATUS	    mBIT(0)
209221167Sgnn/* 0x00ca0 */	u64	rts_access_steer_data0;
210221167Sgnn#define	VXGE_HAL_RTS_ACCESS_STEER_DATA0_DATA(val)	    vBIT(val, 0, 64)
211221167Sgnn/* 0x00ca8 */	u64	rts_access_steer_data1;
212221167Sgnn#define	VXGE_HAL_RTS_ACCESS_STEER_DATA1_DATA(val)	    vBIT(val, 0, 64)
213221167Sgnn	u8	unused00d00[0x00d00 - 0x00cb0];
214221167Sgnn
215221167Sgnn/* 0x00d00 */	u64	xmac_vsport_choice;
216221167Sgnn#define	VXGE_HAL_XMAC_VSPORT_CHOICE_VSPORT_NUMBER(val)	    vBIT(val, 3, 5)
217221167Sgnn/* 0x00d08 */	u64	xmac_stats_cfg;
218221167Sgnn/* 0x00d10 */	u64	xmac_stats_access_cmd;
219221167Sgnn#define	VXGE_HAL_XMAC_STATS_ACCESS_CMD_OP(val)		    vBIT(val, 6, 2)
220221167Sgnn#define	VXGE_HAL_XMAC_STATS_ACCESS_CMD_STROBE		    mBIT(15)
221221167Sgnn#define	VXGE_HAL_XMAC_STATS_ACCESS_CMD_OFFSET_SEL(val)	    vBIT(val, 32, 8)
222221167Sgnn/* 0x00d18 */	u64	xmac_stats_access_data;
223221167Sgnn#define	VXGE_HAL_XMAC_STATS_ACCESS_DATA_XSMGR_DATA(val)	    vBIT(val, 0, 64)
224221167Sgnn/* 0x00d20 */	u64	asic_ntwk_vp_ctrl;
225221167Sgnn#define	VXGE_HAL_ASIC_NTWK_VP_CTRL_REQ_TEST_NTWK	    mBIT(3)
226221167Sgnn#define	VXGE_HAL_ASIC_NTWK_VP_CTRL_XMACJ_SHOW_PORT_INFO	    mBIT(55)
227221167Sgnn#define	VXGE_HAL_ASIC_NTWK_VP_CTRL_XMACJ_PORT_NUM	    mBIT(63)
228221167Sgnn	u8	unused00d30[0x00d30 - 0x00d28];
229221167Sgnn
230221167Sgnn/* 0x00d30 */	u64	xgmac_vp_int_status;
231221167Sgnn#define	VXGE_HAL_XGMAC_VP_INT_STATUS_ASIC_NTWK_VP_ERR_INT   mBIT(3)
232221167Sgnn/* 0x00d38 */	u64	xgmac_vp_int_mask;
233221167Sgnn/* 0x00d40 */	u64	asic_ntwk_vp_err_reg;
234221167Sgnn#define	VXGE_HAL_ASIC_NTWK_VP_ERR_REG_SUS_FAULT		    mBIT(3)
235221167Sgnn#define	VXGE_HAL_ASIC_NTWK_VP_ERR_REG_SUS_OK		    mBIT(7)
236221167Sgnn#define	VXGE_HAL_ASIC_NTWK_VP_ERR_REG_SUS_FAULT_OCCURRED    mBIT(11)
237221167Sgnn#define	VXGE_HAL_ASIC_NTWK_VP_ERR_REG_SUS_OK_OCCURRED	    mBIT(15)
238221167Sgnn#define	VXGE_HAL_ASIC_NTWK_VP_ERR_REG_REAF_FAULT	    mBIT(19)
239221167Sgnn#define	VXGE_HAL_ASIC_NTWK_VP_ERR_REG_REAF_OK		    mBIT(23)
240221167Sgnn/* 0x00d48 */	u64	asic_ntwk_vp_err_mask;
241221167Sgnn/* 0x00d50 */	u64	asic_ntwk_vp_err_alarm;
242221167Sgnn	u8	unused00d80[0x00d80 - 0x00d58];
243221167Sgnn
244221167Sgnn/* 0x00d80 */	u64	rtdma_bw_ctrl;
245221167Sgnn#define	VXGE_HAL_RTDMA_BW_CTRL_BW_CTRL_EN		    mBIT(39)
246221167Sgnn#define	VXGE_HAL_RTDMA_BW_CTRL_DESIRED_BW(val)		    vBIT(val, 46, 18)
247221167Sgnn/* 0x00d88 */	u64	rtdma_rd_optimization_ctrl;
248221167Sgnn#define	VXGE_HAL_RTDMA_RD_OPTIMIZATION_CTRL_GEN_INT_AFTER_ABORT	mBIT(3)
249221167Sgnn#define	VXGE_HAL_RTDMA_RD_OPTIMIZATION_CTRL_PAD_MODE(val)   vBIT(val, 6, 2)
250221167Sgnn#define	VXGE_HAL_RTDMA_RD_OPTIMIZATION_CTRL_PAD_PATTERN(val) vBIT(val, 8, 8)
251221167Sgnn#define	VXGE_HAL_RTDMA_RD_OPTIMIZATION_CTRL_FB_WAIT_FOR_SPACE mBIT(19)
252221167Sgnn#define	VXGE_HAL_RTDMA_RD_OPTIMIZATION_CTRL_FB_FILL_THRESH(val)\
253221167Sgnn							    vBIT(val, 21, 3)
254221167Sgnn#define	VXGE_HAL_RTDMA_RD_OPTIMIZATION_CTRL_TXD_PYLD_WMARK_EN mBIT(28)
255221167Sgnn#define	VXGE_HAL_RTDMA_RD_OPTIMIZATION_CTRL_TXD_PYLD_WMARK(val)\
256221167Sgnn							    vBIT(val, 29, 3)
257221167Sgnn#define	VXGE_HAL_RTDMA_RD_OPTIMIZATION_CTRL_FB_ADDR_BDRY_EN mBIT(35)
258221167Sgnn#define	VXGE_HAL_RTDMA_RD_OPTIMIZATION_CTRL_FB_ADDR_BDRY(val) vBIT(val, 37, 3)
259221167Sgnn#define	VXGE_HAL_RTDMA_RD_OPTIMIZATION_CTRL_TXD_WAIT_FOR_SPACE mBIT(43)
260221167Sgnn#define	VXGE_HAL_RTDMA_RD_OPTIMIZATION_CTRL_TXD_FILL_THRESH(val)\
261221167Sgnn							    vBIT(val, 51, 5)
262221167Sgnn#define	VXGE_HAL_RTDMA_RD_OPTIMIZATION_CTRL_TXD_ADDR_BDRY_EN mBIT(59)
263221167Sgnn#define	VXGE_HAL_RTDMA_RD_OPTIMIZATION_CTRL_TXD_ADDR_BDRY(val) vBIT(val, 61, 3)
264221167Sgnn/* 0x00d90 */	u64	pda_pcc_job_monitor;
265221167Sgnn#define	VXGE_HAL_PDA_PCC_JOB_MONITOR_PDA_PCC_JOB_STATUS	    mBIT(7)
266221167Sgnn/* 0x00d98 */	u64	tx_protocol_assist_cfg;
267221167Sgnn#define	VXGE_HAL_TX_PROTOCOL_ASSIST_CFG_LSOV2_EN	    mBIT(6)
268221167Sgnn#define	VXGE_HAL_TX_PROTOCOL_ASSIST_CFG_IPV6_KEEP_SEARCHING mBIT(7)
269221167Sgnn	u8	unused01000[0x01000 - 0x00da0];
270221167Sgnn
271221167Sgnn/* 0x01000 */	u64	tim_cfg1_int_num[4];
272221167Sgnn#define	VXGE_HAL_TIM_CFG1_INT_NUM_BTIMER_VAL(val)	    vBIT(val, 6, 26)
273221167Sgnn#define	VXGE_HAL_TIM_CFG1_INT_NUM_BITMP_EN		    mBIT(35)
274221167Sgnn#define	VXGE_HAL_TIM_CFG1_INT_NUM_TXFRM_CNT_EN		    mBIT(36)
275221167Sgnn#define	VXGE_HAL_TIM_CFG1_INT_NUM_TXD_CNT_EN		    mBIT(37)
276221167Sgnn#define	VXGE_HAL_TIM_CFG1_INT_NUM_TIMER_AC		    mBIT(38)
277221167Sgnn#define	VXGE_HAL_TIM_CFG1_INT_NUM_TIMER_CI		    mBIT(39)
278221167Sgnn#define	VXGE_HAL_TIM_CFG1_INT_NUM_URNG_A(val)		    vBIT(val, 41, 7)
279221167Sgnn#define	VXGE_HAL_TIM_CFG1_INT_NUM_URNG_B(val)		    vBIT(val, 49, 7)
280221167Sgnn#define	VXGE_HAL_TIM_CFG1_INT_NUM_URNG_C(val)		    vBIT(val, 57, 7)
281221167Sgnn/* 0x01020 */	u64	tim_cfg2_int_num[4];
282221167Sgnn#define	VXGE_HAL_TIM_CFG2_INT_NUM_UEC_A(val)		    vBIT(val, 0, 16)
283221167Sgnn#define	VXGE_HAL_TIM_CFG2_INT_NUM_UEC_B(val)		    vBIT(val, 16, 16)
284221167Sgnn#define	VXGE_HAL_TIM_CFG2_INT_NUM_UEC_C(val)		    vBIT(val, 32, 16)
285221167Sgnn#define	VXGE_HAL_TIM_CFG2_INT_NUM_UEC_D(val)		    vBIT(val, 48, 16)
286221167Sgnn/* 0x01040 */	u64	tim_cfg3_int_num[4];
287221167Sgnn#define	VXGE_HAL_TIM_CFG3_INT_NUM_TIMER_RI		    mBIT(0)
288221167Sgnn#define	VXGE_HAL_TIM_CFG3_INT_NUM_RTIMER_EVENT_SF(val)	    vBIT(val, 1, 4)
289221167Sgnn#define	VXGE_HAL_TIM_CFG3_INT_NUM_RTIMER_VAL(val)	    vBIT(val, 6, 26)
290221167Sgnn#define	VXGE_HAL_TIM_CFG3_INT_NUM_UTIL_SEL(val)		    vBIT(val, 32, 6)
291221167Sgnn#define	VXGE_HAL_TIM_CFG3_INT_NUM_LTIMER_VAL(val)	    vBIT(val, 38, 26)
292221167Sgnn/* 0x01060 */	u64	tim_wrkld_clc;
293221167Sgnn#define	VXGE_HAL_TIM_WRKLD_CLC_WRKLD_EVAL_PRD(val)	    vBIT(val, 0, 32)
294221167Sgnn#define	VXGE_HAL_TIM_WRKLD_CLC_WRKLD_EVAL_DIV(val)	    vBIT(val, 35, 5)
295221167Sgnn#define	VXGE_HAL_TIM_WRKLD_CLC_CNT_FRM_BYTE		    mBIT(40)
296221167Sgnn#define	VXGE_HAL_TIM_WRKLD_CLC_CNT_RX_TX(val)		    vBIT(val, 41, 2)
297221167Sgnn#define	VXGE_HAL_TIM_WRKLD_CLC_CNT_LNK_EN		    mBIT(43)
298221167Sgnn#define	VXGE_HAL_TIM_WRKLD_CLC_HOST_UTIL(val)		    vBIT(val, 57, 7)
299221167Sgnn/* 0x01068 */	u64	tim_bitmap;
300221167Sgnn#define	VXGE_HAL_TIM_BITMAP_MASK(val)			    vBIT(val, 0, 32)
301221167Sgnn#define	VXGE_HAL_TIM_BITMAP_LLROOT_RXD_EN		    mBIT(32)
302221167Sgnn#define	VXGE_HAL_TIM_BITMAP_LLROOT_TXD_EN		    mBIT(33)
303221167Sgnn/* 0x01070 */	u64	tim_ring_assn;
304221167Sgnn#define	VXGE_HAL_TIM_RING_ASSN_INT_NUM(val)		    vBIT(val, 6, 2)
305221167Sgnn/* 0x01078 */	u64	tim_remap;
306221167Sgnn#define	VXGE_HAL_TIM_REMAP_TX_EN			    mBIT(5)
307221167Sgnn#define	VXGE_HAL_TIM_REMAP_RX_EN			    mBIT(6)
308221167Sgnn#define	VXGE_HAL_TIM_REMAP_OFFLOAD_EN			    mBIT(7)
309221167Sgnn#define	VXGE_HAL_TIM_REMAP_TO_VPATH_NUM(val)		    vBIT(val, 11, 5)
310221167Sgnn/* 0x01080 */	u64	tim_vpath_map;
311221167Sgnn#define	VXGE_HAL_TIM_VPATH_MAP_BMAP_ROOT(val)		    vBIT(val, 0, 32)
312221167Sgnn/* 0x01088 */	u64	tim_pci_cfg;
313221167Sgnn#define	VXGE_HAL_TIM_PCI_CFG_ADD_PAD			    mBIT(7)
314221167Sgnn#define	VXGE_HAL_TIM_PCI_CFG_NO_SNOOP			    mBIT(15)
315221167Sgnn#define	VXGE_HAL_TIM_PCI_CFG_RELAXED			    mBIT(23)
316221167Sgnn#define	VXGE_HAL_TIM_PCI_CFG_CTL_STR			    mBIT(31)
317221167Sgnn	u8	unused01100[0x01100 - 0x01090];
318221167Sgnn
319221167Sgnn/* 0x01100 */	u64	sgrp_assign;
320221167Sgnn#define	VXGE_HAL_SGRP_ASSIGN_SGRP_ASSIGN(val)		    vBIT(val, 0, 64)
321221167Sgnn/* 0x01108 */	u64	sgrp_aoa_and_result;
322221167Sgnn#define	VXGE_HAL_SGRP_AOA_AND_RESULT_PET_SGRP_AOA_AND_RESULT(val)\
323221167Sgnn							    vBIT(val, 0, 64)
324221167Sgnn/* 0x01110 */	u64	rpe_pci_cfg;
325221167Sgnn#define	VXGE_HAL_RPE_PCI_CFG_PAD_LRO_DATA_ENABLE	    mBIT(7)
326221167Sgnn#define	VXGE_HAL_RPE_PCI_CFG_PAD_LRO_HDR_ENABLE		    mBIT(8)
327221167Sgnn#define	VXGE_HAL_RPE_PCI_CFG_PAD_LRO_CQE_ENABLE		    mBIT(9)
328221167Sgnn#define	VXGE_HAL_RPE_PCI_CFG_PAD_NONLL_CQE_ENABLE	    mBIT(10)
329221167Sgnn#define	VXGE_HAL_RPE_PCI_CFG_PAD_BASE_LL_CQE_ENABLE	    mBIT(11)
330221167Sgnn#define	VXGE_HAL_RPE_PCI_CFG_PAD_LL_CQE_IDATA_ENABLE	    mBIT(12)
331221167Sgnn#define	VXGE_HAL_RPE_PCI_CFG_PAD_CQRQ_IR_ENABLE		    mBIT(13)
332221167Sgnn#define	VXGE_HAL_RPE_PCI_CFG_PAD_CQSQ_IR_ENABLE		    mBIT(14)
333221167Sgnn#define	VXGE_HAL_RPE_PCI_CFG_PAD_CQRR_IR_ENABLE		    mBIT(15)
334221167Sgnn#define	VXGE_HAL_RPE_PCI_CFG_NOSNOOP_DATA		    mBIT(18)
335221167Sgnn#define	VXGE_HAL_RPE_PCI_CFG_NOSNOOP_NONLL_CQE		    mBIT(19)
336221167Sgnn#define	VXGE_HAL_RPE_PCI_CFG_NOSNOOP_LL_CQE		    mBIT(20)
337221167Sgnn#define	VXGE_HAL_RPE_PCI_CFG_NOSNOOP_CQRQ_IR		    mBIT(21)
338221167Sgnn#define	VXGE_HAL_RPE_PCI_CFG_NOSNOOP_CQSQ_IR		    mBIT(22)
339221167Sgnn#define	VXGE_HAL_RPE_PCI_CFG_NOSNOOP_CQRR_IR		    mBIT(23)
340221167Sgnn#define	VXGE_HAL_RPE_PCI_CFG_RELAXED_DATA		    mBIT(26)
341221167Sgnn#define	VXGE_HAL_RPE_PCI_CFG_RELAXED_NONLL_CQE		    mBIT(27)
342221167Sgnn#define	VXGE_HAL_RPE_PCI_CFG_RELAXED_LL_CQE		    mBIT(28)
343221167Sgnn#define	VXGE_HAL_RPE_PCI_CFG_RELAXED_CQRQ_IR		    mBIT(29)
344221167Sgnn#define	VXGE_HAL_RPE_PCI_CFG_RELAXED_CQSQ_IR		    mBIT(30)
345221167Sgnn#define	VXGE_HAL_RPE_PCI_CFG_RELAXED_CQRR_IR		    mBIT(31)
346221167Sgnn/* 0x01118 */	u64	rpe_lro_cfg;
347221167Sgnn#define	VXGE_HAL_RPE_LRO_CFG_SUPPRESS_LRO_ETH_TRLR	    mBIT(7)
348221167Sgnn#define	VXGE_HAL_RPE_LRO_CFG_ALLOW_LRO_SNAP_SNAPJUMBO_MRG   mBIT(11)
349221167Sgnn#define	VXGE_HAL_RPE_LRO_CFG_ALLOW_LRO_LLC_LLCJUMBO_MRG	    mBIT(15)
350221167Sgnn#define	VXGE_HAL_RPE_LRO_CFG_INCL_ACK_CNT_IN_CQE	    mBIT(23)
351221167Sgnn/* 0x01120 */	u64	pe_mr2vp_ack_blk_limit;
352221167Sgnn#define	VXGE_HAL_PE_MR2VP_ACK_BLK_LIMIT_BLK_LIMIT(val)	    vBIT(val, 32, 32)
353221167Sgnn/* 0x01128 */	u64	pe_mr2vp_rirr_lirr_blk_limit;
354221167Sgnn#define	VXGE_HAL_PE_MR2VP_RIRR_LIRR_BLK_LIMIT_RIRR_BLK_LIMIT(val)\
355221167Sgnn							    vBIT(val, 0, 32)
356221167Sgnn#define	VXGE_HAL_PE_MR2VP_RIRR_LIRR_BLK_LIMIT_LIRR_BLK_LIMIT(val)\
357221167Sgnn							    vBIT(val, 32, 32)
358221167Sgnn/* 0x01130 */	u64	txpe_pci_nce_cfg;
359221167Sgnn#define	VXGE_HAL_TXPE_PCI_NCE_CFG_NCE_THRESH(val)	    vBIT(val, 0, 32)
360221167Sgnn#define	VXGE_HAL_TXPE_PCI_NCE_CFG_PAD_TOWI_ENABLE	    mBIT(55)
361221167Sgnn#define	VXGE_HAL_TXPE_PCI_NCE_CFG_NOSNOOP_TOWI		    mBIT(63)
362221167Sgnn	u8	unused01180[0x01180 - 0x01138];
363221167Sgnn
364221167Sgnn/* 0x01180 */	u64	msg_qpad_en_cfg;
365221167Sgnn#define	VXGE_HAL_MSG_QPAD_EN_CFG_UMQ_BWR_READ		    mBIT(3)
366221167Sgnn#define	VXGE_HAL_MSG_QPAD_EN_CFG_DMQ_BWR_READ		    mBIT(7)
367221167Sgnn#define	VXGE_HAL_MSG_QPAD_EN_CFG_MXP_GENDMA_READ	    mBIT(11)
368221167Sgnn#define	VXGE_HAL_MSG_QPAD_EN_CFG_UXP_GENDMA_READ	    mBIT(15)
369221167Sgnn#define	VXGE_HAL_MSG_QPAD_EN_CFG_UMQ_MSG_WRITE		    mBIT(19)
370221167Sgnn#define	VXGE_HAL_MSG_QPAD_EN_CFG_UMQDMQ_IR_WRITE	    mBIT(23)
371221167Sgnn#define	VXGE_HAL_MSG_QPAD_EN_CFG_MXP_GENDMA_WRITE	    mBIT(27)
372221167Sgnn#define	VXGE_HAL_MSG_QPAD_EN_CFG_UXP_GENDMA_WRITE	    mBIT(31)
373221167Sgnn/* 0x01188 */	u64	msg_pci_cfg;
374221167Sgnn#define	VXGE_HAL_MSG_PCI_CFG_GENDMA_NO_SNOOP		    mBIT(3)
375221167Sgnn#define	VXGE_HAL_MSG_PCI_CFG_UMQDMQ_IR_NO_SNOOP		    mBIT(7)
376221167Sgnn#define	VXGE_HAL_MSG_PCI_CFG_UMQ_NO_SNOOP		    mBIT(11)
377221167Sgnn#define	VXGE_HAL_MSG_PCI_CFG_DMQ_NO_SNOOP		    mBIT(15)
378221167Sgnn/* 0x01190 */	u64	umqdmq_ir_init;
379221167Sgnn#define	VXGE_HAL_UMQDMQ_IR_INIT_HOST_WRITE_ADD(val)	    vBIT(val, 0, 64)
380221167Sgnn/* 0x01198 */	u64	dmq_ir_int;
381221167Sgnn#define	VXGE_HAL_DMQ_IR_INT_IMMED_ENABLE		    mBIT(6)
382221167Sgnn#define	VXGE_HAL_DMQ_IR_INT_EVENT_ENABLE		    mBIT(7)
383221167Sgnn#define	VXGE_HAL_DMQ_IR_INT_NUMBER(val)			    vBIT(val, 9, 7)
384221167Sgnn#define	VXGE_HAL_DMQ_IR_INT_BITMAP(val)			    vBIT(val, 16, 16)
385221167Sgnn/* 0x011a0 */	u64	dmq_bwr_init_add;
386221167Sgnn#define	VXGE_HAL_DMQ_BWR_INIT_ADD_HOST(val)		    vBIT(val, 0, 64)
387221167Sgnn/* 0x011a8 */	u64	dmq_bwr_init_byte;
388221167Sgnn#define	VXGE_HAL_DMQ_BWR_INIT_BYTE_COUNT(val)		    vBIT(val, 0, 32)
389221167Sgnn/* 0x011b0 */	u64	dmq_ir;
390221167Sgnn#define	VXGE_HAL_DMQ_IR_POLICY(val)			    vBIT(val, 0, 8)
391221167Sgnn/* 0x011b8 */	u64	umq_int;
392221167Sgnn#define	VXGE_HAL_UMQ_INT_IMMED_ENABLE			    mBIT(6)
393221167Sgnn#define	VXGE_HAL_UMQ_INT_EVENT_ENABLE			    mBIT(7)
394221167Sgnn#define	VXGE_HAL_UMQ_INT_NUMBER(val)			    vBIT(val, 9, 7)
395221167Sgnn#define	VXGE_HAL_UMQ_INT_BITMAP(val)			    vBIT(val, 16, 16)
396221167Sgnn/* 0x011c0 */	u64	umq_mr2vp_bwr_pfch_init;
397221167Sgnn#define	VXGE_HAL_UMQ_MR2VP_BWR_PFCH_INIT_NUMBER(val)	    vBIT(val, 0, 8)
398221167Sgnn/* 0x011c8 */	u64	umq_bwr_pfch_ctrl;
399221167Sgnn#define	VXGE_HAL_UMQ_BWR_PFCH_CTRL_POLL_EN		    mBIT(3)
400221167Sgnn/* 0x011d0 */	u64	umq_mr2vp_bwr_eol;
401221167Sgnn#define	VXGE_HAL_UMQ_MR2VP_BWR_EOL_POLL_LATENCY(val)	    vBIT(val, 32, 32)
402221167Sgnn/* 0x011d8 */	u64	umq_bwr_init_add;
403221167Sgnn#define	VXGE_HAL_UMQ_BWR_INIT_ADD_HOST(val)		    vBIT(val, 0, 64)
404221167Sgnn/* 0x011e0 */	u64	umq_bwr_init_byte;
405221167Sgnn#define	VXGE_HAL_UMQ_BWR_INIT_BYTE_COUNT(val)		    vBIT(val, 0, 32)
406221167Sgnn/* 0x011e8 */	u64	gendma_int;
407221167Sgnn#define	VXGE_HAL_GENDMA_INT_IMMED_ENABLE		    mBIT(6)
408221167Sgnn#define	VXGE_HAL_GENDMA_INT_EVENT_ENABLE		    mBIT(7)
409221167Sgnn#define	VXGE_HAL_GENDMA_INT_NUMBER(val)			    vBIT(val, 9, 7)
410221167Sgnn#define	VXGE_HAL_GENDMA_INT_BITMAP(val)			    vBIT(val, 16, 16)
411221167Sgnn/* 0x011f0 */	u64	umqdmq_ir_init_notify;
412221167Sgnn#define	VXGE_HAL_UMQDMQ_IR_INIT_NOTIFY_PULSE		    mBIT(3)
413221167Sgnn/* 0x011f8 */	u64	dmq_init_notify;
414221167Sgnn#define	VXGE_HAL_DMQ_INIT_NOTIFY_PULSE			    mBIT(3)
415221167Sgnn/* 0x01200 */	u64	umq_init_notify;
416221167Sgnn#define	VXGE_HAL_UMQ_INIT_NOTIFY_PULSE			    mBIT(3)
417221167Sgnn	u8	unused01380[0x01380 - 0x01208];
418221167Sgnn
419221167Sgnn/* 0x01380 */	u64	tpa_cfg;
420221167Sgnn#define	VXGE_HAL_TPA_CFG_IGNORE_FRAME_ERR		    mBIT(3)
421221167Sgnn#define	VXGE_HAL_TPA_CFG_IPV6_STOP_SEARCHING		    mBIT(7)
422221167Sgnn#define	VXGE_HAL_TPA_CFG_L4_PSHDR_PRESENT		    mBIT(11)
423221167Sgnn#define	VXGE_HAL_TPA_CFG_SUPPORT_MOBILE_IPV6_HDRS	    mBIT(15)
424221167Sgnn	u8	unused01400[0x01400 - 0x01388];
425221167Sgnn
426221167Sgnn/* 0x01400 */	u64	tx_vp_reset_discarded_frms;
427221167Sgnn#define	VXGE_HAL_TX_VP_RESET_DISCARDED_FRMS_TX_VP_RESET_DISCARDED_FRMS(val)\
428221167Sgnn							    vBIT(val, 48, 16)
429221167Sgnn	u8	unused01480[0x01480 - 0x01408];
430221167Sgnn
431221167Sgnn/* 0x01480 */	u64	fau_rpa_vcfg;
432221167Sgnn#define	VXGE_HAL_FAU_RPA_VCFG_L4_COMP_CSUM		    mBIT(7)
433221167Sgnn#define	VXGE_HAL_FAU_RPA_VCFG_L3_INCL_CF		    mBIT(11)
434221167Sgnn#define	VXGE_HAL_FAU_RPA_VCFG_L3_COMP_CSUM		    mBIT(15)
435221167Sgnn	u8	unused014a8[0x014a8 - 0x01488];
436221167Sgnn
437221167Sgnn/* 0x014a8 */	u64	fau_adaptive_lro_filter_ctrl;
438221167Sgnn#define	VXGE_HAL_FAU_ADAPTIVE_LRO_FILTER_CTRL_IP_FILTER_EN  mBIT(0)
439221167Sgnn#define	VXGE_HAL_FAU_ADAPTIVE_LRO_FILTER_CTRL_IP_MODE	    mBIT(1)
440221167Sgnn#define	VXGE_HAL_FAU_ADAPTIVE_LRO_FILTER_CTRL_VLAN_FILTER_EN mBIT(2)
441221167Sgnn#define	VXGE_HAL_FAU_ADAPTIVE_LRO_FILTER_CTRL_IPV4_ADDRESS_A_EN	mBIT(3)
442221167Sgnn#define	VXGE_HAL_FAU_ADAPTIVE_LRO_FILTER_CTRL_IPV4_ADDRESS_B_EN	mBIT(4)
443221167Sgnn#define	VXGE_HAL_FAU_ADAPTIVE_LRO_FILTER_CTRL_IPV4_ADDRESS_C_EN	mBIT(5)
444221167Sgnn#define	VXGE_HAL_FAU_ADAPTIVE_LRO_FILTER_CTRL_IPV4_ADDRESS_D_EN	mBIT(6)
445221167Sgnn/* 0x014b0 */	u64	fau_adaptive_lro_filter_ip_data0;
446221167Sgnn#define	VXGE_HAL_FAU_ADAPTIVE_LRO_FILTER_IP_DATA0_DATA(val) vBIT(val, 0, 64)
447221167Sgnn/* 0x014b8 */	u64	fau_adaptive_lro_filter_ip_data1;
448221167Sgnn#define	VXGE_HAL_FAU_ADAPTIVE_LRO_FILTER_IP_DATA1_DATA(val) vBIT(val, 0, 64)
449221167Sgnn/* 0x014c0 */	u64	fau_adaptive_lro_filter_vlan_data;
450221167Sgnn#define	VXGE_HAL_FAU_ADAPTIVE_LRO_FILTER_VLAN_DATA_VLAN_VID(val)\
451221167Sgnn							    vBIT(val, 0, 12)
452221167Sgnn	u8	unused014d0[0x014d0 - 0x014c8];
453221167Sgnn
454221167Sgnn/* 0x014d0 */	u64	dbg_stats_rx_mpa;
455221167Sgnn#define	VXGE_HAL_DBG_STATS_RX_MPA_CRC_FAIL_FRMS(val)	    vBIT(val, 0, 16)
456221167Sgnn#define	VXGE_HAL_DBG_STATS_RX_MPA_MRK_FAIL_FRMS(val)	    vBIT(val, 16, 16)
457221167Sgnn#define	VXGE_HAL_DBG_STATS_RX_MPA_LEN_FAIL_FRMS(val)	    vBIT(val, 32, 16)
458221167Sgnn/* 0x014d8 */	u64	dbg_stats_rx_fau;
459221167Sgnn#define	VXGE_HAL_DBG_STATS_RX_FAU_RX_WOL_FRMS(val)	    vBIT(val, 0, 16)
460221167Sgnn#define	VXGE_HAL_DBG_STATS_RX_FAU_RX_VP_RESET_DISCARDED_FRMS(val)\
461221167Sgnn							    vBIT(val, 16, 16)
462221167Sgnn#define	VXGE_HAL_DBG_STATS_RX_FAU_RX_PERMITTED_FRMS(val)    vBIT(val, 32, 32)
463221167Sgnn	u8	unused014f0[0x014f0 - 0x014e0];
464221167Sgnn
465221167Sgnn/* 0x014f0 */	u64	fbmc_vp_rdy;
466221167Sgnn#define	VXGE_HAL_FBMC_VP_RDY_QUEUE_SPAV_FM		    mBIT(0)
467221167Sgnn	u8	unused01e00[0x01e00 - 0x014f8];
468221167Sgnn
469221167Sgnn/* 0x01e00 */	u64	vpath_pcipif_int_status;
470221167Sgnn#define	VXGE_HAL_VPATH_PCIPIF_INT_STATUS_SRPCIM_MSG_TO_VPATH_INT mBIT(3)
471221167Sgnn#define	VXGE_HAL_VPATH_PCIPIF_INT_STATUS_VPATH_SPARE_R1_INT mBIT(7)
472221167Sgnn/* 0x01e08 */	u64	vpath_pcipif_int_mask;
473221167Sgnn	u8	unused01e20[0x01e20 - 0x01e10];
474221167Sgnn
475221167Sgnn/* 0x01e20 */	u64	srpcim_msg_to_vpath_reg;
476221167Sgnn#define	VXGE_HAL_SRPCIM_MSG_TO_VPATH_REG_INT		mBIT(3)
477221167Sgnn/* 0x01e28 */	u64	srpcim_msg_to_vpath_mask;
478221167Sgnn/* 0x01e30 */	u64	srpcim_msg_to_vpath_alarm;
479221167Sgnn	u8	unused01ea0[0x01ea0 - 0x01e38];
480221167Sgnn
481221167Sgnn/* 0x01ea0 */	u64	vpath_to_srpcim_wmsg;
482221167Sgnn#define	VXGE_HAL_VPATH_TO_SRPCIM_WMSG_WMSG(val)		vBIT(val, 0, 64)
483221167Sgnn/* 0x01ea8 */	u64	vpath_to_srpcim_wmsg_trig;
484221167Sgnn#define	VXGE_HAL_VPATH_TO_SRPCIM_WMSG_TRIG		mBIT(0)
485221167Sgnn	u8	unused02000[0x02000 - 0x01eb0];
486221167Sgnn
487221167Sgnn/* 0x02000 */	u64	vpath_general_int_status;
488221167Sgnn#define	VXGE_HAL_VPATH_GENERAL_INT_STATUS_PIC_INT	mBIT(3)
489221167Sgnn#define	VXGE_HAL_VPATH_GENERAL_INT_STATUS_PCI_INT	mBIT(7)
490221167Sgnn#define	VXGE_HAL_VPATH_GENERAL_INT_STATUS_WRDMA_INT	mBIT(15)
491221167Sgnn#define	VXGE_HAL_VPATH_GENERAL_INT_STATUS_XMAC_INT	mBIT(19)
492221167Sgnn/* 0x02008 */	u64	vpath_general_int_mask;
493221167Sgnn#define	VXGE_HAL_VPATH_GENERAL_INT_MASK_PIC_INT		mBIT(3)
494221167Sgnn#define	VXGE_HAL_VPATH_GENERAL_INT_MASK_PCI_INT		mBIT(7)
495221167Sgnn#define	VXGE_HAL_VPATH_GENERAL_INT_MASK_WRDMA_INT	mBIT(15)
496221167Sgnn#define	VXGE_HAL_VPATH_GENERAL_INT_MASK_XMAC_INT	mBIT(19)
497221167Sgnn/* 0x02010 */	u64	vpath_ppif_int_status;
498221167Sgnn#define	VXGE_HAL_VPATH_PPIF_INT_STATUS_KDFCCTL_ERRORS_INT   mBIT(3)
499221167Sgnn#define	VXGE_HAL_VPATH_PPIF_INT_STATUS_GENERAL_ERRORS_INT   mBIT(7)
500221167Sgnn#define	VXGE_HAL_VPATH_PPIF_INT_STATUS_PCI_CONFIG_ERRORS_INT mBIT(11)
501221167Sgnn#define	VXGE_HAL_VPATH_PPIF_INT_STATUS_MRPCIM_TO_VPATH_ALARM_INT mBIT(15)
502221167Sgnn#define	VXGE_HAL_VPATH_PPIF_INT_STATUS_SRPCIM_TO_VPATH_ALARM_INT mBIT(19)
503221167Sgnn/* 0x02018 */	u64	vpath_ppif_int_mask;
504221167Sgnn/* 0x02020 */	u64	kdfcctl_errors_reg;
505221167Sgnn#define	VXGE_HAL_KDFCCTL_ERRORS_REG_KDFCCTL_FIFO0_OVRWR	    mBIT(3)
506221167Sgnn#define	VXGE_HAL_KDFCCTL_ERRORS_REG_KDFCCTL_FIFO1_OVRWR	    mBIT(7)
507221167Sgnn#define	VXGE_HAL_KDFCCTL_ERRORS_REG_KDFCCTL_FIFO2_OVRWR	    mBIT(11)
508221167Sgnn#define	VXGE_HAL_KDFCCTL_ERRORS_REG_KDFCCTL_FIFO0_POISON    mBIT(15)
509221167Sgnn#define	VXGE_HAL_KDFCCTL_ERRORS_REG_KDFCCTL_FIFO1_POISON    mBIT(19)
510221167Sgnn#define	VXGE_HAL_KDFCCTL_ERRORS_REG_KDFCCTL_FIFO2_POISON    mBIT(23)
511221167Sgnn#define	VXGE_HAL_KDFCCTL_ERRORS_REG_KDFCCTL_FIFO0_DMA_ERR   mBIT(31)
512221167Sgnn#define	VXGE_HAL_KDFCCTL_ERRORS_REG_KDFCCTL_FIFO1_DMA_ERR   mBIT(35)
513221167Sgnn#define	VXGE_HAL_KDFCCTL_ERRORS_REG_KDFCCTL_FIFO2_DMA_ERR   mBIT(39)
514221167Sgnn/* 0x02028 */	u64	kdfcctl_errors_mask;
515221167Sgnn/* 0x02030 */	u64	kdfcctl_errors_alarm;
516221167Sgnn	u8	unused02040[0x02040 - 0x02038];
517221167Sgnn
518221167Sgnn/* 0x02040 */	u64	general_errors_reg;
519221167Sgnn#define	VXGE_HAL_GENERAL_ERRORS_REG_DBLGEN_FIFO0_OVRFLOW    mBIT(3)
520221167Sgnn#define	VXGE_HAL_GENERAL_ERRORS_REG_DBLGEN_FIFO1_OVRFLOW    mBIT(7)
521221167Sgnn#define	VXGE_HAL_GENERAL_ERRORS_REG_DBLGEN_FIFO2_OVRFLOW    mBIT(11)
522221167Sgnn#define	VXGE_HAL_GENERAL_ERRORS_REG_STATSB_PIF_CHAIN_ERR    mBIT(15)
523221167Sgnn#define	VXGE_HAL_GENERAL_ERRORS_REG_STATSB_DROP_TIMEOUT	    mBIT(19)
524221167Sgnn#define	VXGE_HAL_GENERAL_ERRORS_REG_TGT_ILLEGAL_ACCESS	    mBIT(27)
525221167Sgnn#define	VXGE_HAL_GENERAL_ERRORS_REG_INI_SERR_DET	    mBIT(31)
526221167Sgnn/* 0x02048 */	u64	general_errors_mask;
527221167Sgnn/* 0x02050 */	u64	general_errors_alarm;
528221167Sgnn/* 0x02058 */	u64	pci_config_errors_reg;
529221167Sgnn#define	VXGE_HAL_PCI_CONFIG_ERRORS_REG_STATUS_ERR	    mBIT(3)
530221167Sgnn#define	VXGE_HAL_PCI_CONFIG_ERRORS_REG_UNCOR_ERR	    mBIT(7)
531221167Sgnn#define	VXGE_HAL_PCI_CONFIG_ERRORS_REG_COR_ERR		    mBIT(11)
532221167Sgnn/* 0x02060 */	u64	pci_config_errors_mask;
533221167Sgnn/* 0x02068 */	u64	pci_config_errors_alarm;
534221167Sgnn/* 0x02070 */	u64	mrpcim_to_vpath_alarm_reg;
535221167Sgnn#define	VXGE_HAL_MRPCIM_TO_VPATH_ALARM_REG_ALARM	    mBIT(3)
536221167Sgnn/* 0x02078 */	u64	mrpcim_to_vpath_alarm_mask;
537221167Sgnn/* 0x02080 */	u64	mrpcim_to_vpath_alarm_alarm;
538221167Sgnn/* 0x02088 */	u64	srpcim_to_vpath_alarm_reg;
539221167Sgnn#define	VXGE_HAL_SRPCIM_TO_VPATH_ALARM_REG_PPIF_ALARM(val)  vBIT(val, 0, 17)
540221167Sgnn/* 0x02090 */	u64	srpcim_to_vpath_alarm_mask;
541221167Sgnn/* 0x02098 */	u64	srpcim_to_vpath_alarm_alarm;
542221167Sgnn	u8	unused02108[0x02108 - 0x020a0];
543221167Sgnn
544221167Sgnn/* 0x02108 */	u64	kdfcctl_status;
545221167Sgnn#define	VXGE_HAL_KDFCCTL_STATUS_KDFCCTL_FIFO0_PRES(val)	    vBIT(val, 0, 8)
546221167Sgnn#define	VXGE_HAL_KDFCCTL_STATUS_KDFCCTL_FIFO1_PRES(val)	    vBIT(val, 8, 8)
547221167Sgnn#define	VXGE_HAL_KDFCCTL_STATUS_KDFCCTL_FIFO2_PRES(val)	    vBIT(val, 16, 8)
548221167Sgnn#define	VXGE_HAL_KDFCCTL_STATUS_KDFCCTL_FIFO0_OVRWR(val)    vBIT(val, 24, 8)
549221167Sgnn#define	VXGE_HAL_KDFCCTL_STATUS_KDFCCTL_FIFO1_OVRWR(val)    vBIT(val, 32, 8)
550221167Sgnn#define	VXGE_HAL_KDFCCTL_STATUS_KDFCCTL_FIFO2_OVRWR(val)    vBIT(val, 40, 8)
551221167Sgnn/* 0x02110 */	u64	rsthdlr_status;
552221167Sgnn#define	VXGE_HAL_RSTHDLR_STATUS_RSTHDLR_CURRENT_RESET	    mBIT(3)
553221167Sgnn#define	VXGE_HAL_RSTHDLR_STATUS_RSTHDLR_CURRENT_VPIN(val)   vBIT(val, 6, 2)
554221167Sgnn/* 0x02118 */	u64	fifo0_status;
555221167Sgnn#define	VXGE_HAL_FIFO0_STATUS_DBLGEN_FIFO0_RDIDX(val)	    vBIT(val, 0, 12)
556221167Sgnn/* 0x02120 */	u64	fifo1_status;
557221167Sgnn#define	VXGE_HAL_FIFO1_STATUS_DBLGEN_FIFO1_RDIDX(val)	    vBIT(val, 0, 12)
558221167Sgnn/* 0x02128 */	u64	fifo2_status;
559221167Sgnn#define	VXGE_HAL_FIFO2_STATUS_DBLGEN_FIFO2_RDIDX(val)	    vBIT(val, 0, 12)
560221167Sgnn	u8	unused02158[0x02158 - 0x02130];
561221167Sgnn
562221167Sgnn/* 0x02158 */	u64	tgt_illegal_access;
563221167Sgnn#define	VXGE_HAL_TGT_ILLEGAL_ACCESS_SWIF_REGION(val)	    vBIT(val, 1, 7)
564221167Sgnn	u8	unused02200[0x02200 - 0x02160];
565221167Sgnn
566221167Sgnn/* 0x02200 */	u64	vpath_general_cfg1;
567221167Sgnn#define	VXGE_HAL_VPATH_GENERAL_CFG1_TC_VALUE(val)	    vBIT(val, 1, 3)
568221167Sgnn#define	VXGE_HAL_VPATH_GENERAL_CFG1_DATA_BYTE_SWAPEN	    mBIT(7)
569221167Sgnn#define	VXGE_HAL_VPATH_GENERAL_CFG1_DATA_FLIPEN		    mBIT(11)
570221167Sgnn#define	VXGE_HAL_VPATH_GENERAL_CFG1_CTL_BYTE_SWAPEN	    mBIT(15)
571221167Sgnn#define	VXGE_HAL_VPATH_GENERAL_CFG1_CTL_FLIPEN		    mBIT(23)
572221167Sgnn#define	VXGE_HAL_VPATH_GENERAL_CFG1_MSIX_ADDR_SWAPEN	    mBIT(51)
573221167Sgnn#define	VXGE_HAL_VPATH_GENERAL_CFG1_MSIX_ADDR_FLIPEN	    mBIT(55)
574221167Sgnn#define	VXGE_HAL_VPATH_GENERAL_CFG1_MSIX_DATA_SWAPEN	    mBIT(59)
575221167Sgnn#define	VXGE_HAL_VPATH_GENERAL_CFG1_MSIX_DATA_FLIPEN	    mBIT(63)
576221167Sgnn/* 0x02208 */	u64	vpath_general_cfg2;
577221167Sgnn#define	VXGE_HAL_VPATH_GENERAL_CFG2_SIZE_QUANTUM(val)	    vBIT(val, 1, 3)
578221167Sgnn/* 0x02210 */	u64	vpath_general_cfg3;
579221167Sgnn#define	VXGE_HAL_VPATH_GENERAL_CFG3_IGNORE_VPATH_RST_FOR_INTA mBIT(3)
580221167Sgnn	u8	unused02220[0x02220 - 0x02218];
581221167Sgnn
582221167Sgnn/* 0x02220 */	u64	kdfcctl_cfg0;
583221167Sgnn#define	VXGE_HAL_KDFCCTL_CFG0_BYTE_SWAPEN_FIFO0		    mBIT(1)
584221167Sgnn#define	VXGE_HAL_KDFCCTL_CFG0_BYTE_SWAPEN_FIFO1		    mBIT(2)
585221167Sgnn#define	VXGE_HAL_KDFCCTL_CFG0_BYTE_SWAPEN_FIFO2		    mBIT(3)
586221167Sgnn#define	VXGE_HAL_KDFCCTL_CFG0_BIT_FLIPEN_FIFO0		    mBIT(5)
587221167Sgnn#define	VXGE_HAL_KDFCCTL_CFG0_BIT_FLIPEN_FIFO1		    mBIT(6)
588221167Sgnn#define	VXGE_HAL_KDFCCTL_CFG0_BIT_FLIPEN_FIFO2		    mBIT(7)
589221167Sgnn#define	VXGE_HAL_KDFCCTL_CFG0_BYTE_MASK_BYTE0_FIFO0	    mBIT(9)
590221167Sgnn#define	VXGE_HAL_KDFCCTL_CFG0_BYTE_MASK_BYTE0_FIFO1	    mBIT(10)
591221167Sgnn#define	VXGE_HAL_KDFCCTL_CFG0_BYTE_MASK_BYTE0_FIFO2	    mBIT(11)
592221167Sgnn#define	VXGE_HAL_KDFCCTL_CFG0_BYTE_MASK_BYTE1_FIFO0	    mBIT(13)
593221167Sgnn#define	VXGE_HAL_KDFCCTL_CFG0_BYTE_MASK_BYTE1_FIFO1	    mBIT(14)
594221167Sgnn#define	VXGE_HAL_KDFCCTL_CFG0_BYTE_MASK_BYTE1_FIFO2	    mBIT(15)
595221167Sgnn#define	VXGE_HAL_KDFCCTL_CFG0_BYTE_MASK_BYTE2_FIFO0	    mBIT(17)
596221167Sgnn#define	VXGE_HAL_KDFCCTL_CFG0_BYTE_MASK_BYTE2_FIFO1	    mBIT(18)
597221167Sgnn#define	VXGE_HAL_KDFCCTL_CFG0_BYTE_MASK_BYTE2_FIFO2	    mBIT(19)
598221167Sgnn#define	VXGE_HAL_KDFCCTL_CFG0_BYTE_MASK_BYTE3_FIFO0	    mBIT(21)
599221167Sgnn#define	VXGE_HAL_KDFCCTL_CFG0_BYTE_MASK_BYTE3_FIFO1	    mBIT(22)
600221167Sgnn#define	VXGE_HAL_KDFCCTL_CFG0_BYTE_MASK_BYTE3_FIFO2	    mBIT(23)
601221167Sgnn#define	VXGE_HAL_KDFCCTL_CFG0_BYTE_MASK_BYTE4_FIFO0	    mBIT(25)
602221167Sgnn#define	VXGE_HAL_KDFCCTL_CFG0_BYTE_MASK_BYTE4_FIFO1	    mBIT(26)
603221167Sgnn#define	VXGE_HAL_KDFCCTL_CFG0_BYTE_MASK_BYTE4_FIFO2	    mBIT(27)
604221167Sgnn#define	VXGE_HAL_KDFCCTL_CFG0_BYTE_MASK_BYTE5_FIFO0	    mBIT(29)
605221167Sgnn#define	VXGE_HAL_KDFCCTL_CFG0_BYTE_MASK_BYTE5_FIFO1	    mBIT(30)
606221167Sgnn#define	VXGE_HAL_KDFCCTL_CFG0_BYTE_MASK_BYTE5_FIFO2	    mBIT(31)
607221167Sgnn#define	VXGE_HAL_KDFCCTL_CFG0_BYTE_MASK_BYTE6_FIFO0	    mBIT(33)
608221167Sgnn#define	VXGE_HAL_KDFCCTL_CFG0_BYTE_MASK_BYTE6_FIFO1	    mBIT(34)
609221167Sgnn#define	VXGE_HAL_KDFCCTL_CFG0_BYTE_MASK_BYTE6_FIFO2	    mBIT(35)
610221167Sgnn#define	VXGE_HAL_KDFCCTL_CFG0_BYTE_MASK_BYTE7_FIFO0	    mBIT(37)
611221167Sgnn#define	VXGE_HAL_KDFCCTL_CFG0_BYTE_MASK_BYTE7_FIFO1	    mBIT(38)
612221167Sgnn#define	VXGE_HAL_KDFCCTL_CFG0_BYTE_MASK_BYTE7_FIFO2	    mBIT(39)
613221167Sgnn/* 0x02228 */	u64	dblgen_cfg0;
614221167Sgnn#define	VXGE_HAL_DBLGEN_CFG0_NO_OF_QWORDS(val)		    vBIT(val, 0, 12)
615221167Sgnn#define	VXGE_HAL_DBLGEN_CFG0_EN_DMA			    mBIT(15)
616221167Sgnn#define	VXGE_HAL_DBLGEN_CFG0_NO_SNOOP			    mBIT(19)
617221167Sgnn#define	VXGE_HAL_DBLGEN_CFG0_RELAX_ORD			    mBIT(23)
618221167Sgnn#define	VXGE_HAL_DBLGEN_CFG0_RD_SPLIT_ON_ADDR		    mBIT(27)
619221167Sgnn/* 0x02230 */	u64	dblgen_cfg1;
620221167Sgnn#define	VXGE_HAL_DBLGEN_CFG1_FIFO0_BUFFER_START_ADDR(val)   vBIT(val, 0, 64)
621221167Sgnn/* 0x02238 */	u64	dblgen_cfg2;
622221167Sgnn#define	VXGE_HAL_DBLGEN_CFG2_FIFO1_BUFFER_START_ADDR(val)   vBIT(val, 0, 64)
623221167Sgnn/* 0x02240 */	u64	dblgen_cfg3;
624221167Sgnn#define	VXGE_HAL_DBLGEN_CFG3_FIFO2_BUFFER_START_ADDR(val)   vBIT(val, 0, 64)
625221167Sgnn/* 0x02248 */	u64	dblgen_cfg4;
626221167Sgnn#define	VXGE_HAL_DBLGEN_CFG4_TRIPLET_PRIORITY_VP_NUMBER(val) vBIT(val, 3, 5)
627221167Sgnn/* 0x02250 */	u64	dblgen_cfg5;
628221167Sgnn#define	VXGE_HAL_DBLGEN_CFG5_FIFO0_WRIDX(val)		    vBIT(val, 0, 12)
629221167Sgnn/* 0x02258 */	u64	dblgen_cfg6;
630221167Sgnn#define	VXGE_HAL_DBLGEN_CFG6_FIFO1_WRIDX(val)		    vBIT(val, 0, 12)
631221167Sgnn/* 0x02260 */	u64	dblgen_cfg7;
632221167Sgnn#define	VXGE_HAL_DBLGEN_CFG7_FIFO2_WRIDX(val)		    vBIT(val, 0, 12)
633221167Sgnn/* 0x02268 */	u64	stats_cfg;
634221167Sgnn#define	VXGE_HAL_STATS_CFG_START_HOST_ADDR(val)		    vBIT(val, 0, 57)
635221167Sgnn/* 0x02270 */	u64	interrupt_cfg0;
636221167Sgnn#define	VXGE_HAL_INTERRUPT_CFG0_MSIX_FOR_RXTI(val)	    vBIT(val, 1, 7)
637221167Sgnn#define	VXGE_HAL_INTERRUPT_CFG0_GROUP0_MSIX_FOR_TXTI(val)   vBIT(val, 9, 7)
638221167Sgnn#define	VXGE_HAL_INTERRUPT_CFG0_GROUP1_MSIX_FOR_TXTI(val)   vBIT(val, 17, 7)
639221167Sgnn#define	VXGE_HAL_INTERRUPT_CFG0_GROUP2_MSIX_FOR_TXTI(val)   vBIT(val, 25, 7)
640221167Sgnn#define	VXGE_HAL_INTERRUPT_CFG0_GROUP3_MSIX_FOR_TXTI(val)   vBIT(val, 33, 7)
641221167Sgnn	u8	unused02280[0x02280 - 0x02278];
642221167Sgnn
643221167Sgnn/* 0x02280 */	u64	interrupt_cfg2;
644221167Sgnn#define	VXGE_HAL_INTERRUPT_CFG2_ALARM_MAP_TO_MSG(val)	    vBIT(val, 1, 7)
645221167Sgnn/* 0x02288 */	u64	one_shot_vect0_en;
646221167Sgnn#define	VXGE_HAL_ONE_SHOT_VECT0_EN_ONE_SHOT_VECT0_EN	    mBIT(3)
647221167Sgnn/* 0x02290 */	u64	one_shot_vect1_en;
648221167Sgnn#define	VXGE_HAL_ONE_SHOT_VECT1_EN_ONE_SHOT_VECT1_EN	    mBIT(3)
649221167Sgnn/* 0x02298 */	u64	one_shot_vect2_en;
650221167Sgnn#define	VXGE_HAL_ONE_SHOT_VECT2_EN_ONE_SHOT_VECT2_EN	    mBIT(3)
651221167Sgnn/* 0x022a0 */	u64	one_shot_vect3_en;
652221167Sgnn#define	VXGE_HAL_ONE_SHOT_VECT3_EN_ONE_SHOT_VECT3_EN	    mBIT(3)
653221167Sgnn	u8	unused022b0[0x022b0 - 0x022a8];
654221167Sgnn
655221167Sgnn/* 0x022b0 */	u64	pci_config_access_cfg1;
656221167Sgnn#define	VXGE_HAL_PCI_CONFIG_ACCESS_CFG1_ADDRESS(val)	    vBIT(val, 0, 12)
657221167Sgnn#define	VXGE_HAL_PCI_CONFIG_ACCESS_CFG1_SEL_FUNC0	    mBIT(15)
658221167Sgnn/* 0x022b8 */	u64	pci_config_access_cfg2;
659221167Sgnn#define	VXGE_HAL_PCI_CONFIG_ACCESS_CFG2_REQ		    mBIT(0)
660221167Sgnn/* 0x022c0 */	u64	pci_config_access_status;
661221167Sgnn#define	VXGE_HAL_PCI_CONFIG_ACCESS_STATUS_ACCESS_ERR	    mBIT(0)
662221167Sgnn#define	VXGE_HAL_PCI_CONFIG_ACCESS_STATUS_DATA(val)	    vBIT(val, 32, 32)
663221167Sgnn	u8	unused02300[0x02300 - 0x022c8];
664221167Sgnn
665221167Sgnn/* 0x02300 */	u64	vpath_debug_stats0;
666221167Sgnn#define	VXGE_HAL_VPATH_DEBUG_STATS0_INI_NUM_MWR_SENT(val)   vBIT(val, 0, 32)
667221167Sgnn/* 0x02308 */	u64	vpath_debug_stats1;
668221167Sgnn#define	VXGE_HAL_VPATH_DEBUG_STATS1_INI_NUM_MRD_SENT(val)   vBIT(val, 0, 32)
669221167Sgnn/* 0x02310 */	u64	vpath_debug_stats2;
670221167Sgnn#define	VXGE_HAL_VPATH_DEBUG_STATS2_INI_NUM_CPL_RCVD(val)   vBIT(val, 0, 32)
671221167Sgnn/* 0x02318 */	u64	vpath_debug_stats3;
672221167Sgnn#define	VXGE_HAL_VPATH_DEBUG_STATS3_INI_NUM_MWR_BYTE_SENT(val) vBIT(val, 0, 64)
673221167Sgnn/* 0x02320 */	u64	vpath_debug_stats4;
674221167Sgnn#define	VXGE_HAL_VPATH_DEBUG_STATS4_INI_NUM_CPL_BYTE_RCVD(val) vBIT(val, 0, 64)
675221167Sgnn/* 0x02328 */	u64	vpath_debug_stats5;
676221167Sgnn#define	VXGE_HAL_VPATH_DEBUG_STATS5_WRCRDTARB_XOFF(val)	    vBIT(val, 32, 32)
677221167Sgnn/* 0x02330 */	u64	vpath_debug_stats6;
678221167Sgnn#define	VXGE_HAL_VPATH_DEBUG_STATS6_RDCRDTARB_XOFF(val)	    vBIT(val, 32, 32)
679221167Sgnn/* 0x02338 */	u64	vpath_genstats_count01;
680221167Sgnn#define	VXGE_HAL_VPATH_GENSTATS_COUNT01_PPIF_VPATH_GENSTATS_COUNT1(val)\
681221167Sgnn							    vBIT(val, 0, 32)
682221167Sgnn#define	VXGE_HAL_VPATH_GENSTATS_COUNT01_PPIF_VPATH_GENSTATS_COUNT0(val)\
683221167Sgnn							    vBIT(val, 32, 32)
684221167Sgnn/* 0x02340 */	u64	vpath_genstats_count23;
685221167Sgnn#define	VXGE_HAL_VPATH_GENSTATS_COUNT23_PPIF_VPATH_GENSTATS_COUNT3(val)\
686221167Sgnn							    vBIT(val, 0, 32)
687221167Sgnn#define	VXGE_HAL_VPATH_GENSTATS_COUNT23_PPIF_VPATH_GENSTATS_COUNT2(val)\
688221167Sgnn							    vBIT(val, 32, 32)
689221167Sgnn/* 0x02348 */	u64	vpath_genstats_count4;
690221167Sgnn#define	VXGE_HAL_VPATH_GENSTATS_COUNT4_PPIF_VPATH_GENSTATS_COUNT4(val)\
691221167Sgnn							    vBIT(val, 32, 32)
692221167Sgnn/* 0x02350 */	u64	vpath_genstats_count5;
693221167Sgnn#define	VXGE_HAL_VPATH_GENSTATS_COUNT5_PPIF_VPATH_GENSTATS_COUNT5(val)\
694221167Sgnn							    vBIT(val, 32, 32)
695221167Sgnn	u8	unused02540[0x02540 - 0x02358];
696221167Sgnn
697221167Sgnn/* 0x02540 */	u64	qcc_pci_cfg;
698221167Sgnn#define	VXGE_HAL_QCC_PCI_CFG_ADD_PAD_CQE_SPACE		    mBIT(5)
699221167Sgnn#define	VXGE_HAL_QCC_PCI_CFG_ADD_PAD_WQE		    mBIT(6)
700221167Sgnn#define	VXGE_HAL_QCC_PCI_CFG_ADD_PAD_SRQIR		    mBIT(7)
701221167Sgnn#define	VXGE_HAL_QCC_PCI_CFG_NO_SNOOP_CQE_SPACE		    mBIT(13)
702221167Sgnn#define	VXGE_HAL_QCC_PCI_CFG_NO_SNOOP_WQE		    mBIT(14)
703221167Sgnn#define	VXGE_HAL_QCC_PCI_CFG_NO_SNOOP_SRQIR		    mBIT(15)
704221167Sgnn#define	VXGE_HAL_QCC_PCI_CFG_RELAXED_SRQIR		    mBIT(23)
705221167Sgnn#define	VXGE_HAL_QCC_PCI_CFG_CTL_STR_CQE_SPACE		    mBIT(29)
706221167Sgnn#define	VXGE_HAL_QCC_PCI_CFG_CTL_STR_WQE		    mBIT(30)
707221167Sgnn#define	VXGE_HAL_QCC_PCI_CFG_CTL_STR_SRQIR		    mBIT(31)
708221167Sgnn	u8	unused02600[0x02600 - 0x02548];
709221167Sgnn
710221167Sgnn/* 0x02600 */	u64	h2l_vpath_config;
711221167Sgnn#define	VXGE_HAL_H2L_VPATH_CONFIG_OD_PAD_ENABLE		    mBIT(7)
712221167Sgnn#define	VXGE_HAL_H2L_VPATH_CONFIG_OD_NO_SNOOP		    mBIT(15)
713221167Sgnn/* 0x02608 */	u64	h2l_zero_byte_read_address;
714221167Sgnn#define	VXGE_HAL_H2L_ZERO_BYTE_READ_ADDRESS_H2L_ZERO_BYTE_READ_ADDRESS(val)\
715221167Sgnn							    vBIT(val, 0, 64)
716221167Sgnn	u8	unused02640[0x02640 - 0x02610];
717221167Sgnn
718221167Sgnn/* 0x02640 */	u64	ph2l_vp_cfg0;
719221167Sgnn#define	VXGE_HAL_PH2L_VP_CFG0_NOSNOOP_DATA		    mBIT(7)
720221167Sgnn
721221167Sgnn} vxge_hal_vpath_reg_t;
722221167Sgnn
723221167Sgnn__EXTERN_END_DECLS
724221167Sgnn
725221167Sgnn#endif	/* VXGE_HAL_VPATH_REGS_H */
726