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