-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathHal8188EPhyCfg.h
265 lines (218 loc) · 6.83 KB
/
Hal8188EPhyCfg.h
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
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
/******************************************************************************
*
* Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of version 2 of the GNU General Public License as
* published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
* this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
*
*
******************************************************************************/
#ifndef __INC_HAL8188EPHYCFG_H__
#define __INC_HAL8188EPHYCFG_H__
/*--------------------------Define Parameters-------------------------------*/
#define LOOP_LIMIT 5
#define MAX_STALL_TIME 50 /* us */
#define AntennaDiversityValue 0x80 /* (Adapter->bSoftwareAntennaDiversity ? 0x00 : 0x80) */
#define MAX_TXPWR_IDX_NMODE_92S 63
#define Reset_Cnt_Limit 3
#ifdef CONFIG_PCI_HCI
#define MAX_AGGR_NUM 0x0B
#else
#define MAX_AGGR_NUM 0x07
#endif /* CONFIG_PCI_HCI */
/*--------------------------Define Parameters-------------------------------*/
/*------------------------------Define structure----------------------------*/
#define MAX_TX_COUNT_8188E 1
/* BB/RF related */
/*------------------------------Define structure----------------------------*/
/*------------------------Export global variable----------------------------*/
/*------------------------Export global variable----------------------------*/
/*------------------------Export Marco Definition---------------------------*/
/*------------------------Export Marco Definition---------------------------*/
/*--------------------------Exported Function prototype---------------------*/
/*
* BB and RF register read/write
* */
u32 PHY_QueryBBReg8188E(IN PADAPTER Adapter,
IN u32 RegAddr,
IN u32 BitMask);
void PHY_SetBBReg8188E(IN PADAPTER Adapter,
IN u32 RegAddr,
IN u32 BitMask,
IN u32 Data);
u32 PHY_QueryRFReg8188E(IN PADAPTER Adapter,
IN u8 eRFPath,
IN u32 RegAddr,
IN u32 BitMask);
void PHY_SetRFReg8188E(IN PADAPTER Adapter,
IN u8 eRFPath,
IN u32 RegAddr,
IN u32 BitMask,
IN u32 Data);
/*
* Initialization related function
*/
/* MAC/BB/RF HAL config */
int PHY_MACConfig8188E(IN PADAPTER Adapter);
int PHY_BBConfig8188E(IN PADAPTER Adapter);
int PHY_RFConfig8188E(IN PADAPTER Adapter);
/* RF config */
int rtl8188e_PHY_ConfigRFWithParaFile(IN PADAPTER Adapter, IN u8 *pFileName, u8 eRFPath);
/*
* RF Power setting
*/
/* extern BOOLEAN PHY_SetRFPowerState(IN PADAPTER Adapter,
* IN RT_RF_POWER_STATE eRFPowerState); */
/*
* BB TX Power R/W
* */
void PHY_GetTxPowerLevel8188E(IN PADAPTER Adapter,
OUT s32 *powerlevel);
void PHY_SetTxPowerLevel8188E(IN PADAPTER Adapter,
IN u8 channel);
BOOLEAN PHY_UpdateTxPowerDbm8188E(IN PADAPTER Adapter,
IN int powerInDbm);
VOID
PHY_SetTxPowerIndex_8188E(
IN PADAPTER Adapter,
IN u32 PowerIndex,
IN u8 RFPath,
IN u8 Rate
);
u8
PHY_GetTxPowerIndex_8188E(
IN PADAPTER pAdapter,
IN u8 RFPath,
IN u8 Rate,
IN u8 BandWidth,
IN u8 Channel,
struct txpwr_idx_comp *tic
);
/*
* Switch bandwidth for 8192S
*/
/* extern void PHY_SetBWModeCallback8192C( IN PRT_TIMER pTimer ); */
void PHY_SetBWMode8188E(IN PADAPTER pAdapter,
IN CHANNEL_WIDTH ChnlWidth,
IN unsigned char Offset);
/*
* Set FW CMD IO for 8192S.
*/
/* extern BOOLEAN HalSetIO8192C( IN PADAPTER Adapter,
* IN IO_TYPE IOType); */
/*
* Set A2 entry to fw for 8192S
* */
extern void FillA2Entry8192C(IN PADAPTER Adapter,
IN u8 index,
IN u8 *val);
/*
* channel switch related funciton
*/
/* extern void PHY_SwChnlCallback8192C( IN PRT_TIMER pTimer ); */
void PHY_SwChnl8188E(IN PADAPTER pAdapter,
IN u8 channel);
VOID
PHY_SetSwChnlBWMode8188E(
IN PADAPTER Adapter,
IN u8 channel,
IN CHANNEL_WIDTH Bandwidth,
IN u8 Offset40,
IN u8 Offset80
);
VOID
PHY_SetRFEReg_8188E(
IN PADAPTER Adapter
);
/*
* BB/MAC/RF other monitor API
* */
VOID phy_set_rf_path_switch_8188e(IN PADAPTER pAdapter, IN bool bMain);
extern VOID
PHY_SwitchEphyParameter(
IN PADAPTER Adapter
);
extern VOID
PHY_EnableHostClkReq(
IN PADAPTER Adapter
);
BOOLEAN
SetAntennaConfig92C(
IN PADAPTER Adapter,
IN u8 DefaultAnt
);
/*--------------------------Exported Function prototype---------------------*/
/*
* Initialization related function
*
* MAC/BB/RF HAL config */
/* extern s32 PHY_MACConfig8723(PADAPTER padapter);
* s32 PHY_BBConfig8723(PADAPTER padapter);
* s32 PHY_RFConfig8723(PADAPTER padapter); */
/* ******************************************************************
* Note: If SIC_ENABLE under PCIE, because of the slow operation
* you should
* 2) "#define RTL8723_FPGA_VERIFICATION 1" in Precomp.h.WlanE.Windows
* 3) "#define RTL8190_Download_Firmware_From_Header 0" in Precomp.h.WlanE.Windows if needed.
* */
#if (RTL8188E_SUPPORT == 1) && (RTL8188E_FPGA_TRUE_PHY_VERIFICATION == 1)
#define SIC_ENABLE 1
#define SIC_HW_SUPPORT 1
#else
#define SIC_ENABLE 0
#define SIC_HW_SUPPORT 0
#endif
/* ****************************************************************** */
#define SIC_MAX_POLL_CNT 5
#if (SIC_HW_SUPPORT == 1)
#define SIC_CMD_READY 0
#define SIC_CMD_PREWRITE 0x1
#if (RTL8188E_SUPPORT == 1)
#define SIC_CMD_WRITE 0x40
#define SIC_CMD_PREREAD 0x2
#define SIC_CMD_READ 0x80
#define SIC_CMD_INIT 0xf0
#define SIC_INIT_VAL 0xff
#define SIC_INIT_REG 0x1b7
#define SIC_CMD_REG 0x1EB /* 1byte */
#define SIC_ADDR_REG 0x1E8 /* 1b4~1b5, 2 bytes */
#define SIC_DATA_REG 0x1EC /* 1b0~1b3 */
#else
#define SIC_CMD_WRITE 0x11
#define SIC_CMD_PREREAD 0x2
#define SIC_CMD_READ 0x12
#define SIC_CMD_INIT 0x1f
#define SIC_INIT_VAL 0xff
#define SIC_INIT_REG 0x1b7
#define SIC_CMD_REG 0x1b6 /* 1byte */
#define SIC_ADDR_REG 0x1b4 /* 1b4~1b5, 2 bytes */
#define SIC_DATA_REG 0x1b0 /* 1b0~1b3 */
#endif
#else
#define SIC_CMD_READY 0
#define SIC_CMD_WRITE 1
#define SIC_CMD_READ 2
#if (RTL8188E_SUPPORT == 1)
#define SIC_CMD_REG 0x1EB /* 1byte */
#define SIC_ADDR_REG 0x1E8 /* 1b9~1ba, 2 bytes */
#define SIC_DATA_REG 0x1EC /* 1bc~1bf */
#else
#define SIC_CMD_REG 0x1b8 /* 1byte */
#define SIC_ADDR_REG 0x1b9 /* 1b9~1ba, 2 bytes */
#define SIC_DATA_REG 0x1bc /* 1bc~1bf */
#endif
#endif
#if (SIC_ENABLE == 1)
VOID SIC_Init(IN PADAPTER Adapter);
#endif
#endif /* __INC_HAL8192CPHYCFG_H */