staging: rtl8723bs: Replace license boilerplate with SPDX identifiers
[linux-block.git] / drivers / staging / rtl8723bs / include / hal_phy.h
CommitLineData
58391efd 1/* SPDX-License-Identifier: GPL-2.0 */
554c0a3a
HG
2/******************************************************************************
3 *
4 * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
5 *
554c0a3a
HG
6 ******************************************************************************/
7#ifndef __HAL_PHY_H__
8#define __HAL_PHY_H__
9
10
11#if DISABLE_BB_RF
12#define HAL_FW_ENABLE 0
13#define HAL_MAC_ENABLE 0
14#define HAL_BB_ENABLE 0
15#define HAL_RF_ENABLE 0
16#else /* FPGA_PHY and ASIC */
17#define HAL_FW_ENABLE 1
18#define HAL_MAC_ENABLE 1
19#define HAL_BB_ENABLE 1
20#define HAL_RF_ENABLE 1
21#endif
22
23#define RF6052_MAX_TX_PWR 0x3F
24#define RF6052_MAX_REG_88E 0xFF
25#define RF6052_MAX_REG_92C 0x7F
26
27#define RF6052_MAX_REG \
28 (RF6052_MAX_REG_88E > RF6052_MAX_REG_92C) ? RF6052_MAX_REG_88E: RF6052_MAX_REG_92C
29
30#define GET_RF6052_REAL_MAX_REG(_Adapter) RF6052_MAX_REG_92C
31
32#define RF6052_MAX_PATH 2
33
34/* */
35/* Antenna detection method, i.e., using single tone detection or RSSI reported from each antenna detected. */
36/* Added by Roger, 2013.05.22. */
37/* */
38#define ANT_DETECT_BY_SINGLE_TONE BIT0
39#define ANT_DETECT_BY_RSSI BIT1
40#define IS_ANT_DETECT_SUPPORT_SINGLE_TONE(__Adapter) ((GET_HAL_DATA(__Adapter)->AntDetection) & ANT_DETECT_BY_SINGLE_TONE)
41#define IS_ANT_DETECT_SUPPORT_RSSI(__Adapter) ((GET_HAL_DATA(__Adapter)->AntDetection) & ANT_DETECT_BY_RSSI)
42
43
44/*--------------------------Define Parameters-------------------------------*/
45enum BAND_TYPE {
46 BAND_ON_2_4G = 0,
47 BAND_ON_5G,
48 BAND_ON_BOTH,
49 BANDMAX
50};
51
52enum RF_TYPE {
53 RF_TYPE_MIN = 0, /* 0 */
54 RF_8225 = 1, /* 1 11b/g RF for verification only */
55 RF_8256 = 2, /* 2 11b/g/n */
56 RF_8258 = 3, /* 3 11a/b/g/n RF */
57 RF_6052 = 4, /* 4 11b/g/n RF */
58 RF_PSEUDO_11N = 5, /* 5, It is a temporality RF. */
59 RF_TYPE_MAX
60};
61
62enum RF_PATH {
63 RF_PATH_A = 0,
64 RF_PATH_B,
65 RF_PATH_C,
66 RF_PATH_D
67};
68
69#define TX_1S 0
70#define TX_2S 1
71#define TX_3S 2
72#define TX_4S 3
73
74#define RF_PATH_MAX_92C_88E 2
75#define RF_PATH_MAX_90_8812 4 /* Max RF number 90 support */
76
77enum ANTENNA_PATH {
78 ANTENNA_NONE = 0,
79 ANTENNA_D = 1,
80 ANTENNA_C = 2,
81 ANTENNA_CD = 3,
82 ANTENNA_B = 4,
83 ANTENNA_BD = 5,
84 ANTENNA_BC = 6,
85 ANTENNA_BCD = 7,
86 ANTENNA_A = 8,
87 ANTENNA_AD = 9,
88 ANTENNA_AC = 10,
89 ANTENNA_ACD = 11,
90 ANTENNA_AB = 12,
91 ANTENNA_ABD = 13,
92 ANTENNA_ABC = 14,
93 ANTENNA_ABCD = 15
94};
95
96enum RF_CONTENT {
97 radioa_txt = 0x1000,
98 radiob_txt = 0x1001,
99 radioc_txt = 0x1002,
100 radiod_txt = 0x1003
101};
102
103enum BaseBand_Config_Type {
104 BaseBand_Config_PHY_REG = 0, /* Radio Path A */
105 BaseBand_Config_AGC_TAB = 1, /* Radio Path B */
106 BaseBand_Config_AGC_TAB_2G = 2,
107 BaseBand_Config_AGC_TAB_5G = 3,
108 BaseBand_Config_PHY_REG_PG
109};
110
111enum HW_BLOCK {
112 HW_BLOCK_MAC = 0,
113 HW_BLOCK_PHY0 = 1,
114 HW_BLOCK_PHY1 = 2,
115 HW_BLOCK_RF = 3,
116 HW_BLOCK_MAXIMUM = 4, /* Never use this */
117};
118
119enum WIRELESS_MODE {
120 WIRELESS_MODE_UNKNOWN = 0x00,
121 WIRELESS_MODE_A = 0x01,
122 WIRELESS_MODE_B = 0x02,
123 WIRELESS_MODE_G = 0x04,
124 WIRELESS_MODE_AUTO = 0x08,
125 WIRELESS_MODE_N_24G = 0x10,
126 WIRELESS_MODE_N_5G = 0x20,
127 WIRELESS_MODE_AC_5G = 0x40,
128 WIRELESS_MODE_AC_24G = 0x80,
129 WIRELESS_MODE_AC_ONLY = 0x100,
130};
131
132enum SwChnlCmdID {
133 CmdID_End,
134 CmdID_SetTxPowerLevel,
135 CmdID_BBRegWrite10,
136 CmdID_WritePortUlong,
137 CmdID_WritePortUshort,
138 CmdID_WritePortUchar,
139 CmdID_RF_WriteReg,
140};
141
142struct SwChnlCmd {
143 enum SwChnlCmdID CmdID;
144 u32 Para1;
145 u32 Para2;
146 u32 msDelay;
147};
148
149struct R_ANTENNA_SELECT_OFDM {
150#ifdef __LITTLE_ENDIAN
151 u32 r_tx_antenna:4;
152 u32 r_ant_l:4;
153 u32 r_ant_non_ht:4;
154 u32 r_ant_ht1:4;
155 u32 r_ant_ht2:4;
156 u32 r_ant_ht_s1:4;
157 u32 r_ant_non_ht_s1:4;
158 u32 OFDM_TXSC:2;
159 u32 Reserved:2;
160#else
161 u32 Reserved:2;
162 u32 OFDM_TXSC:2;
163 u32 r_ant_non_ht_s1:4;
164 u32 r_ant_ht_s1:4;
165 u32 r_ant_ht2:4;
166 u32 r_ant_ht1:4;
167 u32 r_ant_non_ht:4;
168 u32 r_ant_l:4;
169 u32 r_tx_antenna:4;
170#endif
171};
172
173/*--------------------------Exported Function prototype---------------------*/
174
175#endif /* __HAL_COMMON_H__ */