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
42ac513a88a072b23452ca96a86f18ba8b9c0d85cdLarry 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
88ac513a88a072b23452ca96a86f18ba8b9c0d85cdLarry Finger#define	RX_SMOOTH				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
1321238aa49ef9d4898f1e8d1208191eeb23790eeb2Larry Fingerenum version_8190_loopback {
133ac513a88a072b23452ca96a86f18ba8b9c0d85cdLarry Finger	VERSION_8190_BD = 0x3,
13494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	VERSION_8190_BE
1351238aa49ef9d4898f1e8d1208191eeb23790eeb2Larry Finger};
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
1410ad0141d18d5215d4f6f267bf33ff43f7d568212Larry Fingerenum rf_optype {
142ac513a88a072b23452ca96a86f18ba8b9c0d85cdLarry Finger	RF_OP_By_SW_3wire = 0,
143ac513a88a072b23452ca96a86f18ba8b9c0d85cdLarry Finger	RF_OP_By_FW,
144ac513a88a072b23452ca96a86f18ba8b9c0d85cdLarry Finger	RF_OP_MAX
1450ad0141d18d5215d4f6f267bf33ff43f7d568212Larry Finger};
14694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
14794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
14812f5bc97f4c195c3ec013ca87a26a6f10fcc8932Larry Fingerenum power_save_mode {
14994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	POWER_SAVE_MODE_ACTIVE,
15094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	POWER_SAVE_MODE_SAVE,
15112f5bc97f4c195c3ec013ca87a26a6f10fcc8932Larry Finger};
15294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
15397844d156299726500e1d28ea85d897f700780d8Larry Fingerenum interface_select_8190pci {
15494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	INTF_SEL1_MINICARD		= 0,
15594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	INTF_SEL0_PCIE			= 1,
15694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	INTF_SEL2_RSV			= 2,
15794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	INTF_SEL3_RSV			= 3,
15897844d156299726500e1d28ea85d897f700780d8Larry Finger};
15994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
1609bf6e4c146a9da9d44f7bdb259c233db28b64003Larry Fingerstruct bb_reg_definition {
16194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32 rfintfs;
16294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32 rfintfi;
16394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32 rfintfo;
16494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32 rfintfe;
16594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32 rf3wireOffset;
16694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32 rfLSSI_Select;
16794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32 rfTxGainStage;
16894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32 rfHSSIPara1;
16994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32 rfHSSIPara2;
17094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32 rfSwitchControl;
17194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32 rfAGCControl1;
17294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32 rfAGCControl2;
17394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32 rfRxIQImbalance;
17494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32 rfRxAFE;
17594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32 rfTxIQImbalance;
17694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32 rfTxAFE;
17794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32 rfLSSIReadBack;
17894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32 rfLSSIReadBackPi;
179d3b2c172518dceed0d1d68f5b90dde5a2f6a438dLarry Finger};
18094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
18122a2f51027de74b519a0c87715722921cb8dc751Larry Fingerstruct tx_fwinfo {
18294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			TxRate:7;
18394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			CtsEnable:1;
18494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			RtsRate:7;
18594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			RtsEnable:1;
18694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			TxHT:1;
18794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			Short:1;
18894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			TxBandwidth:1;
18994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			TxSubCarrier:2;
19094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			STBC:2;
19194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			AllowAggregation:1;
19294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			RtsHT:1;
19394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			RtsShort:1;
19494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			RtsBandwidth:1;
19594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			RtsSubcarrier:2;
19694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			RtsSTBC:2;
19794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			EnableCPUDur:1;
19894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
19994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32			RxMF:2;
20094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32			RxAMD:3;
20194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32			Reserved1:3;
20294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32			TxAGCOffset:4;
20394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32			TxAGCSign:1;
20494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32			Tx_INFO_RSVD:6;
20594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32			PacketID:13;
206d3b2c172518dceed0d1d68f5b90dde5a2f6a438dLarry Finger};
20794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
208a07dc3d145334fec51f1b773a47e84cd1d36c3ecLarry Fingerstruct tx_fwinfo_8190pci {
20994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			TxRate:7;
21094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			CtsEnable:1;
21194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			RtsRate:7;
21294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			RtsEnable:1;
21394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			TxHT:1;
21494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			Short:1;
21594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			TxBandwidth:1;
21694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			TxSubCarrier:2;
21794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			STBC:2;
21894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			AllowAggregation:1;
21994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			RtsHT:1;
22094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			RtsShort:1;
22194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			RtsBandwidth:1;
22294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			RtsSubcarrier:2;
22394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			RtsSTBC:2;
22494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			EnableCPUDur:1;
22594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
22694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32			RxMF:2;
22794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32			RxAMD:3;
22894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32			TxPerPktInfoFeedback:1;
22994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32			Reserved1:2;
23094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32			TxAGCOffset:4;
23194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32			TxAGCSign:1;
23294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32			RAW_TXD:1;
23394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32			Retry_Limit:4;
23494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32			Reserved2:1;
23594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32			PacketID:13;
23694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
23794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
238d3b2c172518dceed0d1d68f5b90dde5a2f6a438dLarry Finger};
23994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
24094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
24194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define TX_DESC_SIZE			32
24294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
24394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define TX_DESC_CMD_SIZE	32
24494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
24594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
24694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define TX_STATUS_DESC_SIZE	32
24794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
24894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define TX_FWINFO_SIZE	8
24994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
25094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
25194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define RX_DESC_SIZE	16
25294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
25394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define RX_STATUS_DESC_SIZE	16
25494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
25594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define RX_DRIVER_INFO_SIZE	8
25694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
257c13ac63b6096f87e5be41893a3a4e7a1848a20aeLarry Fingerstruct log_int_8190 {
25894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32	nIMR_COMDOK;
25994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32	nIMR_MGNTDOK;
26094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32	nIMR_HIGH;
26194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32	nIMR_VODOK;
26294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32	nIMR_VIDOK;
26394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32	nIMR_BEDOK;
26494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32	nIMR_BKDOK;
26594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32	nIMR_ROK;
26694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32	nIMR_RCOK;
26794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32	nIMR_TBDOK;
26894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32	nIMR_BDOK;
26994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32	nIMR_RXFOVW;
270c13ac63b6096f87e5be41893a3a4e7a1848a20aeLarry Finger};
27194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
272910d9e5c2deec0a9068cef5f3ae8c336f6321537Larry Fingerstruct phy_ofdm_rx_status_rxsc_sgien_exintfflag {
27394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			reserved:4;
27494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			rxsc:2;
27594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			sgi_en:1;
27694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			ex_intf_flag:1;
277d3b2c172518dceed0d1d68f5b90dde5a2f6a438dLarry Finger};
27894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
2792ae7ea8cf099f0c68292c5e890dbfcc205a35f3eLarry Fingerstruct phy_sts_ofdm_819xpci {
28094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8	trsw_gain_X[4];
28194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8	pwdb_all;
28294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8	cfosho_X[4];
28394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8	cfotail_X[4];
28494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8	rxevm_X[2];
28594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8	rxsnr_X[4];
28694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8	pdsnr_X[2];
28794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8	csi_current_X[2];
28894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8	csi_target_X[2];
28994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8	sigevm;
29094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8	max_ex_pwr;
29194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8	sgi_en;
29294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8	rxsc_sgien_exflg;
293d3b2c172518dceed0d1d68f5b90dde5a2f6a438dLarry Finger};
29494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
295ececd694df70a74a329a2958feed1aa8cfd706c5Larry Fingerstruct phy_sts_cck_819xpci {
29694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8	adc_pwdb_X[4];
29794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8	sq_rpt;
29894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8	cck_agc_rpt;
299d3b2c172518dceed0d1d68f5b90dde5a2f6a438dLarry Finger};
30094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
30194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
30294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define		PHY_RSSI_SLID_WIN_MAX				100
30394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#define		PHY_Beacon_RSSI_SLID_WIN_MAX		10
30494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
305bc27e89b27e9b96075c1dc1d93c848b65aee3b3fLarry Fingerstruct tx_desc {
306ac513a88a072b23452ca96a86f18ba8b9c0d85cdLarry Finger	u16	PktSize;
307ac513a88a072b23452ca96a86f18ba8b9c0d85cdLarry Finger	u8	Offset;
308ac513a88a072b23452ca96a86f18ba8b9c0d85cdLarry Finger	u8	Reserved1:3;
309ac513a88a072b23452ca96a86f18ba8b9c0d85cdLarry Finger	u8	CmdInit:1;
310ac513a88a072b23452ca96a86f18ba8b9c0d85cdLarry Finger	u8	LastSeg:1;
311ac513a88a072b23452ca96a86f18ba8b9c0d85cdLarry Finger	u8	FirstSeg:1;
312ac513a88a072b23452ca96a86f18ba8b9c0d85cdLarry Finger	u8	LINIP:1;
313ac513a88a072b23452ca96a86f18ba8b9c0d85cdLarry Finger	u8	OWN:1;
314ac513a88a072b23452ca96a86f18ba8b9c0d85cdLarry Finger
315ac513a88a072b23452ca96a86f18ba8b9c0d85cdLarry Finger	u8	TxFWInfoSize;
316ac513a88a072b23452ca96a86f18ba8b9c0d85cdLarry Finger	u8	RATid:3;
317ac513a88a072b23452ca96a86f18ba8b9c0d85cdLarry Finger	u8	DISFB:1;
318ac513a88a072b23452ca96a86f18ba8b9c0d85cdLarry Finger	u8	USERATE:1;
319ac513a88a072b23452ca96a86f18ba8b9c0d85cdLarry Finger	u8	MOREFRAG:1;
320ac513a88a072b23452ca96a86f18ba8b9c0d85cdLarry Finger	u8	NoEnc:1;
321ac513a88a072b23452ca96a86f18ba8b9c0d85cdLarry Finger	u8	PIFS:1;
322ac513a88a072b23452ca96a86f18ba8b9c0d85cdLarry Finger	u8	QueueSelect:5;
323ac513a88a072b23452ca96a86f18ba8b9c0d85cdLarry Finger	u8	NoACM:1;
324ac513a88a072b23452ca96a86f18ba8b9c0d85cdLarry Finger	u8	Resv:2;
325ac513a88a072b23452ca96a86f18ba8b9c0d85cdLarry Finger	u8	SecCAMID:5;
326ac513a88a072b23452ca96a86f18ba8b9c0d85cdLarry Finger	u8	SecDescAssign:1;
327ac513a88a072b23452ca96a86f18ba8b9c0d85cdLarry Finger	u8	SecType:2;
328ac513a88a072b23452ca96a86f18ba8b9c0d85cdLarry Finger
329ac513a88a072b23452ca96a86f18ba8b9c0d85cdLarry Finger	u16	TxBufferSize;
330ac513a88a072b23452ca96a86f18ba8b9c0d85cdLarry Finger	u8	PktId:7;
331ac513a88a072b23452ca96a86f18ba8b9c0d85cdLarry Finger	u8	Resv1:1;
332ac513a88a072b23452ca96a86f18ba8b9c0d85cdLarry Finger	u8	Reserved2;
33394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
33494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32	TxBuffAddr;
33594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
33694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32	NextDescAddress;
33794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
338ac513a88a072b23452ca96a86f18ba8b9c0d85cdLarry Finger	u32	Reserved5;
339ac513a88a072b23452ca96a86f18ba8b9c0d85cdLarry Finger	u32	Reserved6;
340ac513a88a072b23452ca96a86f18ba8b9c0d85cdLarry Finger	u32	Reserved7;
341d3b2c172518dceed0d1d68f5b90dde5a2f6a438dLarry Finger};
34294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
34394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
3443215312bc286dc840c90ce91f29d2628d2019a4fLarry Fingerstruct tx_desc_cmd {
34594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u16	PktSize;
34694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8	Reserved1;
34794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8	CmdType:3;
34894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8	CmdInit:1;
34994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8	LastSeg:1;
35094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8	FirstSeg:1;
35194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8	LINIP:1;
35294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8	OWN:1;
35394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
35494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u16	ElementReport;
35594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u16	Reserved2;
35694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
35794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u16	TxBufferSize;
35894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u16	Reserved3;
35994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
36094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32	TxBuffAddr;
36194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32	NextDescAddress;
36294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32	Reserved4;
36394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32	Reserved5;
36494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32	Reserved6;
365d3b2c172518dceed0d1d68f5b90dde5a2f6a438dLarry Finger};
36694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
3674f534b36afb6fe540c151a5bc0b49f15cc208eacLarry Fingerstruct rx_desc {
36894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u16			Length:14;
36994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u16			CRC32:1;
37094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u16			ICV:1;
37194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			RxDrvInfoSize;
37294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			Shift:2;
37394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			PHYStatus:1;
37494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			SWDec:1;
37594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			LastSeg:1;
37694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			FirstSeg:1;
37794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			EOR:1;
37894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			OWN:1;
37994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
38094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32			Reserved2;
38194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
38294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32			Reserved3;
38394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
38494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32	BufferAddress;
38594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
386d3b2c172518dceed0d1d68f5b90dde5a2f6a438dLarry Finger};
38794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
38894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
3896f22c62010122f73be5793e981db89401005a407Larry Fingerstruct rx_fwinfo {
39094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u16			Reserved1:12;
39194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u16			PartAggr:1;
39294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u16			FirstAGGR:1;
39394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u16			Reserved2:2;
39494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
39594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			RxRate:7;
39694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			RxHT:1;
39794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
39894a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			BW:1;
39994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			SPLCP:1;
40094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			Reserved3:2;
40194a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			PAM:1;
40294a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			Mcast:1;
40394a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			Bcast:1;
40494a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u8			Reserved4:1;
40594a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
40694a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger	u32			TSFL;
40794a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
408d3b2c172518dceed0d1d68f5b90dde5a2f6a438dLarry Finger};
40994a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger
41094a799425eee8225a1e3fbe5f473d2ef04002577Larry Finger#endif
411