158391efdSNathan Chancellor /* SPDX-License-Identifier: GPL-2.0 */
2554c0a3aSHans de Goede /******************************************************************************
3554c0a3aSHans de Goede  *
4554c0a3aSHans de Goede  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
5554c0a3aSHans de Goede  *
6554c0a3aSHans de Goede  ******************************************************************************/
7554c0a3aSHans de Goede #ifndef __HAL_PHY_H__
8554c0a3aSHans de Goede #define __HAL_PHY_H__
9554c0a3aSHans de Goede /*  */
10554c0a3aSHans de Goede /*  Antenna detection method, i.e., using single tone detection or RSSI reported from each antenna detected. */
11554c0a3aSHans de Goede /*  Added by Roger, 2013.05.22. */
12554c0a3aSHans de Goede /*  */
13554c0a3aSHans de Goede #define ANT_DETECT_BY_SINGLE_TONE	BIT0
14554c0a3aSHans de Goede #define ANT_DETECT_BY_RSSI				BIT1
15554c0a3aSHans de Goede #define IS_ANT_DETECT_SUPPORT_SINGLE_TONE(__Adapter)		((GET_HAL_DATA(__Adapter)->AntDetection) & ANT_DETECT_BY_SINGLE_TONE)
16554c0a3aSHans de Goede #define IS_ANT_DETECT_SUPPORT_RSSI(__Adapter)		((GET_HAL_DATA(__Adapter)->AntDetection) & ANT_DETECT_BY_RSSI)
17554c0a3aSHans de Goede 
18554c0a3aSHans de Goede 
19554c0a3aSHans de Goede /*--------------------------Define Parameters-------------------------------*/
20ecebe41eSMarco Cesati enum {
21554c0a3aSHans de Goede 	RF_TYPE_MIN = 0,	/*  0 */
22554c0a3aSHans de Goede 	RF_8225 = 1,		/*  1 11b/g RF for verification only */
23554c0a3aSHans de Goede 	RF_8256 = 2,		/*  2 11b/g/n */
24554c0a3aSHans de Goede 	RF_8258 = 3,		/*  3 11a/b/g/n RF */
25554c0a3aSHans de Goede 	RF_6052 = 4,		/*  4 11b/g/n RF */
26554c0a3aSHans de Goede 	RF_PSEUDO_11N = 5,	/*  5, It is a temporality RF. */
27554c0a3aSHans de Goede 	RF_TYPE_MAX
28554c0a3aSHans de Goede };
29554c0a3aSHans de Goede 
30ae92c1e5SMarco Cesati enum rf_path {
31554c0a3aSHans de Goede 	RF_PATH_A = 0,
32554c0a3aSHans de Goede 	RF_PATH_B,
33*61b919feSFabio Aiuto 	RF_PATH_MAX
34554c0a3aSHans de Goede };
35554c0a3aSHans de Goede 
36554c0a3aSHans de Goede #define	TX_1S			0
37554c0a3aSHans de Goede #define	TX_2S			1
38554c0a3aSHans de Goede #define	TX_3S			2
39554c0a3aSHans de Goede #define	TX_4S			3
40554c0a3aSHans de Goede 
41554c0a3aSHans de Goede #define	RF_PATH_MAX_92C_88E		2
42554c0a3aSHans de Goede #define	RF_PATH_MAX_90_8812		4	/* Max RF number 90 support */
43554c0a3aSHans de Goede 
44ae92c1e5SMarco Cesati enum wireless_mode {
45554c0a3aSHans de Goede 	WIRELESS_MODE_UNKNOWN = 0x00,
46554c0a3aSHans de Goede 	WIRELESS_MODE_B = 0x02,
47554c0a3aSHans de Goede 	WIRELESS_MODE_G = 0x04,
48554c0a3aSHans de Goede 	WIRELESS_MODE_AUTO = 0x08,
49554c0a3aSHans de Goede 	WIRELESS_MODE_N_24G = 0x10,
50554c0a3aSHans de Goede 	WIRELESS_MODE_AC_24G  = 0x80,
51554c0a3aSHans de Goede 	WIRELESS_MODE_AC_ONLY  = 0x100,
52554c0a3aSHans de Goede };
53554c0a3aSHans de Goede 
54554c0a3aSHans de Goede enum SwChnlCmdID {
55554c0a3aSHans de Goede 	CmdID_End,
56554c0a3aSHans de Goede 	CmdID_SetTxPowerLevel,
57554c0a3aSHans de Goede 	CmdID_BBRegWrite10,
58554c0a3aSHans de Goede 	CmdID_WritePortUlong,
59554c0a3aSHans de Goede 	CmdID_WritePortUshort,
60554c0a3aSHans de Goede 	CmdID_WritePortUchar,
61554c0a3aSHans de Goede 	CmdID_RF_WriteReg,
62554c0a3aSHans de Goede };
63554c0a3aSHans de Goede 
64554c0a3aSHans de Goede struct SwChnlCmd {
65554c0a3aSHans de Goede 	enum SwChnlCmdID	CmdID;
66554c0a3aSHans de Goede 	u32 			Para1;
67554c0a3aSHans de Goede 	u32 			Para2;
68554c0a3aSHans de Goede 	u32 			msDelay;
69554c0a3aSHans de Goede };
70554c0a3aSHans de Goede 
71554c0a3aSHans de Goede /*--------------------------Exported Function prototype---------------------*/
72554c0a3aSHans de Goede 
73554c0a3aSHans de Goede #endif /* __HAL_COMMON_H__ */
74