r8190P_def.h revision 70f9f79c481d41f9a18b29aff9859534d6868d4c
194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger/******************************************************************************
294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger * Copyright(c) 2008 - 2010 Realtek Corporation. All rights reserved.
394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger *
494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger * This program is distributed in the hope that it will be useful, but WITHOUT
594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger * more details.
894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger *
994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger * You should have received a copy of the GNU General Public License along with
1094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger * this program; if not, write to the Free Software Foundation, Inc.,
1194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
1294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger *
1394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger * The full GNU General Public License is included in this distribution in the
1494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger * file called LICENSE.
1594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger *
1694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger * Contact Information:
1794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger * wlanfae <wlanfae@realtek.com>
1894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger******************************************************************************/
1994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
2094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
2194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#ifndef R8190P_DEF_H
2294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define R8190P_DEF_H
2394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
2494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#include <linux/types.h>
2594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
2694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define		MAX_SILENT_RESET_RX_SLOT_NUM	10
2794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
2894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define RX_MPDU_QUEUE				0
2994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define RX_CMD_QUEUE				1
3094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
3194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
3270f9f79c481d41f9a18b29aff9859534d6868d4cLarry Fingerenum rtl819x_loopback {
3394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	RTL819X_NO_LOOPBACK = 0,
3494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	RTL819X_MAC_LOOPBACK = 1,
3594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	RTL819X_DMA_LOOPBACK = 2,
3694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	RTL819X_CCK_LOOPBACK = 3,
3770f9f79c481d41f9a18b29aff9859534d6868d4cLarry Finger};
3894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
3994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
4094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define RESET_DELAY_8185			20
4194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
4294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define RT_IBSS_INT_MASKS			(IMR_BcnInt | IMR_BcnInt | IMR_TBDOK | IMR_TBDER)
4394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
4494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define DESC90_RATE1M				0x00
4594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define DESC90_RATE2M				0x01
4694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define DESC90_RATE5_5M				0x02
4794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define DESC90_RATE11M				0x03
4894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define DESC90_RATE6M				0x04
4994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define DESC90_RATE9M				0x05
5094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define DESC90_RATE12M				0x06
5194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define DESC90_RATE18M				0x07
5294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define DESC90_RATE24M				0x08
5394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define DESC90_RATE36M				0x09
5494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define DESC90_RATE48M				0x0a
5594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define DESC90_RATE54M				0x0b
5694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define DESC90_RATEMCS0				0x00
5794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define DESC90_RATEMCS1				0x01
5894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define DESC90_RATEMCS2				0x02
5994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define DESC90_RATEMCS3				0x03
6094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define DESC90_RATEMCS4				0x04
6194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define DESC90_RATEMCS5				0x05
6294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define DESC90_RATEMCS6				0x06
6394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define DESC90_RATEMCS7				0x07
6494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define DESC90_RATEMCS8				0x08
6594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define DESC90_RATEMCS9				0x09
6694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define DESC90_RATEMCS10			0x0a
6794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define DESC90_RATEMCS11			0x0b
6894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define DESC90_RATEMCS12			0x0c
6994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define DESC90_RATEMCS13			0x0d
7094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define DESC90_RATEMCS14			0x0e
7194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define DESC90_RATEMCS15			0x0f
7294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define DESC90_RATEMCS32			0x20
7394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
7494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define SHORT_SLOT_TIME				9
7594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define NON_SHORT_SLOT_TIME		20
7694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
7794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
7894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define	MAX_LINES_HWCONFIG_TXT			1000
7994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define MAX_BYTES_LINE_HWCONFIG_TXT		128
8094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
8194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define SW_THREE_WIRE			0
8294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define HW_THREE_WIRE			2
8394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
8494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define BT_DEMO_BOARD			0
8594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define BT_QA_BOARD				1
8694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define BT_FPGA					2
8794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
8894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define	Rx_Smooth_Factor			20
8994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
9094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define QSLT_BK					0x1
9194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define QSLT_BE					0x0
9294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define QSLT_VI					0x4
9394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define QSLT_VO					0x6
9494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define	QSLT_BEACON			0x10
9594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define	QSLT_HIGH				0x11
9694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define	QSLT_MGNT				0x12
9794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define	QSLT_CMD				0x13
9894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
9994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define NUM_OF_FIRMWARE_QUEUE				10
10094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define NUM_OF_PAGES_IN_FW					0x100
10194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define NUM_OF_PAGE_IN_FW_QUEUE_BK		0x007
10294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define NUM_OF_PAGE_IN_FW_QUEUE_BE		0x0aa
10394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define NUM_OF_PAGE_IN_FW_QUEUE_VI		0x024
10494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define NUM_OF_PAGE_IN_FW_QUEUE_VO		0x007
10594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define NUM_OF_PAGE_IN_FW_QUEUE_HCCA		0
10694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define NUM_OF_PAGE_IN_FW_QUEUE_CMD		0x2
10794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define NUM_OF_PAGE_IN_FW_QUEUE_MGNT		0x10
10894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define NUM_OF_PAGE_IN_FW_QUEUE_HIGH		0
10994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define NUM_OF_PAGE_IN_FW_QUEUE_BCN		0x4
11094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define NUM_OF_PAGE_IN_FW_QUEUE_PUB		0xd
11194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
11294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define NUM_OF_PAGE_IN_FW_QUEUE_BK_DTM	0x026
11394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define NUM_OF_PAGE_IN_FW_QUEUE_BE_DTM	0x048
11494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define NUM_OF_PAGE_IN_FW_QUEUE_VI_DTM	0x048
11594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define NUM_OF_PAGE_IN_FW_QUEUE_VO_DTM	0x026
11694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define NUM_OF_PAGE_IN_FW_QUEUE_PUB_DTM	0x00
11794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
11894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define APPLIED_RESERVED_QUEUE_IN_FW		0x80000000
11994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define RSVD_FW_QUEUE_PAGE_BK_SHIFT		0x00
12094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define RSVD_FW_QUEUE_PAGE_BE_SHIFT		0x08
12194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define RSVD_FW_QUEUE_PAGE_VI_SHIFT		0x10
12294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define RSVD_FW_QUEUE_PAGE_VO_SHIFT		0x18
12394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define RSVD_FW_QUEUE_PAGE_MGNT_SHIFT	0x10
12494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define RSVD_FW_QUEUE_PAGE_BCN_SHIFT		0x00
12594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define RSVD_FW_QUEUE_PAGE_PUB_SHIFT		0x08
12694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
12794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define HAL_PRIME_CHNL_OFFSET_DONT_CARE	0
12894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define HAL_PRIME_CHNL_OFFSET_LOWER		1
12994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define HAL_PRIME_CHNL_OFFSET_UPPER		2
13094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
13194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
13294a799425eee8225a1e3fbe5f473d2ef04002577Larry Fingertypedef enum _VERSION_8190{
13394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	VERSION_8190_BD=0x3,
13494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	VERSION_8190_BE
135d3b2c172518dceed0d1d68f5b90dde5a2f6a438dLarry Finger} VERSION_8190,*PVERSION_8190;
13694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
13794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define IC_VersionCut_C	0x2
13894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define IC_VersionCut_D	0x3
13994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define IC_VersionCut_E	0x4
14094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
14194a799425eee8225a1e3fbe5f473d2ef04002577Larry Fingertypedef enum tag_Rf_OpType
14294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger{
14394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger    RF_OP_By_SW_3wire = 0,
14494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger    RF_OP_By_FW,
14594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger    RF_OP_MAX
146d3b2c172518dceed0d1d68f5b90dde5a2f6a438dLarry Finger} RF_OpType_E;
14794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
14894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
14994a799425eee8225a1e3fbe5f473d2ef04002577Larry Fingertypedef	enum _POWER_SAVE_MODE
15094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger{
15194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	POWER_SAVE_MODE_ACTIVE,
15294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	POWER_SAVE_MODE_SAVE,
153d3b2c172518dceed0d1d68f5b90dde5a2f6a438dLarry Finger} POWER_SAVE_MODE;
15494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
15594a799425eee8225a1e3fbe5f473d2ef04002577Larry Fingertypedef	enum _INTERFACE_SELECT_8190PCI{
15694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	INTF_SEL1_MINICARD		= 0,
15794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	INTF_SEL0_PCIE			= 1,
15894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	INTF_SEL2_RSV			= 2,
15994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	INTF_SEL3_RSV			= 3,
16094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger} INTERFACE_SELECT_8190PCI, *PINTERFACE_SELECT_8190PCI;
16194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
1629bf6e4c146a9da9d44f7bdb259c233db28b64003Larry Fingerstruct bb_reg_definition {
16394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32 rfintfs;
16494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32 rfintfi;
16594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32 rfintfo;
16694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32 rfintfe;
16794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32 rf3wireOffset;
16894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32 rfLSSI_Select;
16994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32 rfTxGainStage;
17094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32 rfHSSIPara1;
17194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32 rfHSSIPara2;
17294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32 rfSwitchControl;
17394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32 rfAGCControl1;
17494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32 rfAGCControl2;
17594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32 rfRxIQImbalance;
17694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32 rfRxAFE;
17794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32 rfTxIQImbalance;
17894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32 rfTxAFE;
17994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32 rfLSSIReadBack;
18094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32 rfLSSIReadBackPi;
181d3b2c172518dceed0d1d68f5b90dde5a2f6a438dLarry Finger};
18294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
18322a2f51027de74b519a0c87715722921cb8dc751Larry Fingerstruct tx_fwinfo {
18494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			TxRate:7;
18594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			CtsEnable:1;
18694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			RtsRate:7;
18794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			RtsEnable:1;
18894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			TxHT:1;
18994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			Short:1;
19094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			TxBandwidth:1;
19194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			TxSubCarrier:2;
19294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			STBC:2;
19394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			AllowAggregation:1;
19494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			RtsHT:1;
19594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			RtsShort:1;
19694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			RtsBandwidth:1;
19794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			RtsSubcarrier:2;
19894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			RtsSTBC:2;
19994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			EnableCPUDur:1;
20094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
20194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32			RxMF:2;
20294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32			RxAMD:3;
20394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32			Reserved1:3;
20494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32			TxAGCOffset:4;
20594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32			TxAGCSign:1;
20694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32			Tx_INFO_RSVD:6;
20794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32			PacketID:13;
208d3b2c172518dceed0d1d68f5b90dde5a2f6a438dLarry Finger};
20994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
210a07dc3d145334fec51f1b773a47e84cd1d36c3ecLarry Fingerstruct tx_fwinfo_8190pci {
21194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			TxRate:7;
21294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			CtsEnable:1;
21394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			RtsRate:7;
21494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			RtsEnable:1;
21594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			TxHT:1;
21694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			Short:1;
21794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			TxBandwidth:1;
21894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			TxSubCarrier:2;
21994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			STBC:2;
22094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			AllowAggregation:1;
22194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			RtsHT:1;
22294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			RtsShort:1;
22394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			RtsBandwidth:1;
22494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			RtsSubcarrier:2;
22594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			RtsSTBC:2;
22694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			EnableCPUDur:1;
22794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
22894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32			RxMF:2;
22994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32			RxAMD:3;
23094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32			TxPerPktInfoFeedback:1;
23194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32			Reserved1:2;
23294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32			TxAGCOffset:4;
23394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32			TxAGCSign:1;
23494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32			RAW_TXD:1;
23594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32			Retry_Limit:4;
23694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32			Reserved2:1;
23794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32			PacketID:13;
23894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
23994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
240d3b2c172518dceed0d1d68f5b90dde5a2f6a438dLarry Finger};
24194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
24294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
24394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define TX_DESC_SIZE			32
24494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
24594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define TX_DESC_CMD_SIZE	32
24694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
24794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
24894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define TX_STATUS_DESC_SIZE	32
24994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
25094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define TX_FWINFO_SIZE	8
25194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
25294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
25394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define RX_DESC_SIZE	16
25494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
25594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define RX_STATUS_DESC_SIZE	16
25694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
25794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define RX_DRIVER_INFO_SIZE	8
25894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
259c13ac63b6096f87e5be41893a3a4e7a1848a20aeLarry Fingerstruct log_int_8190 {
26094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32	nIMR_COMDOK;
26194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32	nIMR_MGNTDOK;
26294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32	nIMR_HIGH;
26394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32	nIMR_VODOK;
26494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32	nIMR_VIDOK;
26594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32	nIMR_BEDOK;
26694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32	nIMR_BKDOK;
26794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32	nIMR_ROK;
26894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32	nIMR_RCOK;
26994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32	nIMR_TBDOK;
27094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32	nIMR_BDOK;
27194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32	nIMR_RXFOVW;
272c13ac63b6096f87e5be41893a3a4e7a1848a20aeLarry Finger};
27394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
274910d9e5c2deec0a9068cef5f3ae8c336f6321537Larry Fingerstruct phy_ofdm_rx_status_rxsc_sgien_exintfflag {
27594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			reserved:4;
27694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			rxsc:2;
27794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			sgi_en:1;
27894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			ex_intf_flag:1;
279d3b2c172518dceed0d1d68f5b90dde5a2f6a438dLarry Finger};
28094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
2812ae7ea8cf099f0c68292c5e890dbfcc205a35f3eLarry Fingerstruct phy_sts_ofdm_819xpci {
28294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8	trsw_gain_X[4];
28394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8	pwdb_all;
28494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8	cfosho_X[4];
28594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8	cfotail_X[4];
28694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8	rxevm_X[2];
28794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8	rxsnr_X[4];
28894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8	pdsnr_X[2];
28994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8	csi_current_X[2];
29094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8	csi_target_X[2];
29194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8	sigevm;
29294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8	max_ex_pwr;
29394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8	sgi_en;
29494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8	rxsc_sgien_exflg;
295d3b2c172518dceed0d1d68f5b90dde5a2f6a438dLarry Finger};
29694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
297ececd694df70a74a329a2958feed1aa8cfd706c5Larry Fingerstruct phy_sts_cck_819xpci {
29894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8	adc_pwdb_X[4];
29994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8	sq_rpt;
30094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8	cck_agc_rpt;
301d3b2c172518dceed0d1d68f5b90dde5a2f6a438dLarry Finger};
30294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
30394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
30494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define		PHY_RSSI_SLID_WIN_MAX				100
30594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define		PHY_Beacon_RSSI_SLID_WIN_MAX		10
30694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
307bc27e89b27e9b96075c1dc1d93c848b65aee3b3fLarry Fingerstruct tx_desc {
30894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger        u16	PktSize;
30994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger        u8	Offset;
31094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger        u8	Reserved1:3;
31194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger        u8	CmdInit:1;
31294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger        u8	LastSeg:1;
31394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger        u8	FirstSeg:1;
31494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger        u8	LINIP:1;
31594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger        u8	OWN:1;
31694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
31794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger        u8	TxFWInfoSize;
31894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger        u8	RATid:3;
31994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger        u8	DISFB:1;
32094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger        u8	USERATE:1;
32194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger        u8	MOREFRAG:1;
32294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger        u8	NoEnc:1;
32394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger        u8	PIFS:1;
32494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger        u8	QueueSelect:5;
32594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger        u8	NoACM:1;
32694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger        u8	Resv:2;
32794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger        u8	SecCAMID:5;
32894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger        u8	SecDescAssign:1;
32994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger        u8	SecType:2;
33094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
33194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger        u16	TxBufferSize;
33294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger        u8	PktId:7;
33394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger        u8	Resv1:1;
33494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger        u8	Reserved2;
33594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
33694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32	TxBuffAddr;
33794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
33894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32	NextDescAddress;
33994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
34094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger        u32	Reserved5;
34194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger        u32	Reserved6;
34294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger        u32	Reserved7;
343d3b2c172518dceed0d1d68f5b90dde5a2f6a438dLarry Finger};
34494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
34594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
3463215312bc286dc840c90ce91f29d2628d2019a4fLarry Fingerstruct tx_desc_cmd {
34794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u16	PktSize;
34894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8	Reserved1;
34994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8	CmdType:3;
35094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8	CmdInit:1;
35194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8	LastSeg:1;
35294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8	FirstSeg:1;
35394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8	LINIP:1;
35494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8	OWN:1;
35594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
35694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u16	ElementReport;
35794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u16	Reserved2;
35894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
35994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u16	TxBufferSize;
36094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u16	Reserved3;
36194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
36294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32	TxBuffAddr;
36394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32	NextDescAddress;
36494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32	Reserved4;
36594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32	Reserved5;
36694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32	Reserved6;
367d3b2c172518dceed0d1d68f5b90dde5a2f6a438dLarry Finger};
36894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
3694f534b36afb6fe540c151a5bc0b49f15cc208eacLarry Fingerstruct rx_desc {
37094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u16			Length:14;
37194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u16			CRC32:1;
37294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u16			ICV:1;
37394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			RxDrvInfoSize;
37494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			Shift:2;
37594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			PHYStatus:1;
37694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			SWDec:1;
37794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			LastSeg:1;
37894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			FirstSeg:1;
37994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			EOR:1;
38094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			OWN:1;
38194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
38294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32			Reserved2;
38394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
38494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32			Reserved3;
38594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
38694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32	BufferAddress;
38794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
388d3b2c172518dceed0d1d68f5b90dde5a2f6a438dLarry Finger};
38994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
39094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
3916f22c62010122f73be5793e981db89401005a407Larry Fingerstruct rx_fwinfo {
39294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u16			Reserved1:12;
39394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u16			PartAggr:1;
39494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u16			FirstAGGR:1;
39594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u16			Reserved2:2;
39694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
39794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			RxRate:7;
39894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			RxHT:1;
39994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
40094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			BW:1;
40194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			SPLCP:1;
40294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			Reserved3:2;
40394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			PAM:1;
40494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			Mcast:1;
40594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			Bcast:1;
40694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			Reserved4:1;
40794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
40894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32			TSFL;
40994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
410d3b2c172518dceed0d1d68f5b90dde5a2f6a438dLarry Finger};
41194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
41294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#endif
413