• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /******************************************************************************
2  *
3  * Copyright(c) 2007 - 2017 Realtek Corporation.
4  *
5  * This program is free software; you can redistribute it and/or modify it
6  * under the terms of version 2 of the GNU General Public License as
7  * published by the Free Software Foundation.
8  *
9  * This program is distributed in the hope that it will be useful, but WITHOUT
10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12  * more details.
13  *
14  *****************************************************************************/
15 
16 #ifndef __HAL_PG_H__
17 #define __HAL_PG_H__
18 
19 #define PPG_BB_GAIN_2G_TX_OFFSET_MASK	0x0F
20 #define PPG_BB_GAIN_2G_TXB_OFFSET_MASK	0xF0
21 
22 #define PPG_BB_GAIN_5G_TX_OFFSET_MASK	0x1F
23 #define PPG_THERMAL_OFFSET_MASK			0x1F
24 #define KFREE_BB_GAIN_2G_TX_OFFSET(_ppg_v) (((_ppg_v) == PPG_BB_GAIN_2G_TX_OFFSET_MASK) ? 0 : (((_ppg_v) & 0x01) ? ((_ppg_v) >> 1) : (-((_ppg_v) >> 1))))
25 #define KFREE_BB_GAIN_2G_TXB_OFFSET(_ppg_v) (((_ppg_v) == PPG_BB_GAIN_2G_TXB_OFFSET_MASK) ? 0 : (((_ppg_v) & 0x10) ? ((_ppg_v) >> 5) : (-((_ppg_v) >> 5))))
26 #define KFREE_BB_GAIN_5G_TX_OFFSET(_ppg_v) (((_ppg_v) == PPG_BB_GAIN_5G_TX_OFFSET_MASK) ? 0 : (((_ppg_v) & 0x01) ? ((_ppg_v) >> 1) : (-((_ppg_v) >> 1))))
27 #define KFREE_THERMAL_OFFSET(_ppg_v) (((_ppg_v) == PPG_THERMAL_OFFSET_MASK) ? 0 : (((_ppg_v) & 0x01) ? ((_ppg_v) >> 1) : (-((_ppg_v) >> 1))))
28 
29 /* ****************************************************
30  *			EEPROM/Efuse PG Offset for 88EE/88EU/88ES
31  * **************************************************** */
32 #define EEPROM_ChannelPlan_88E					0xB8
33 #define EEPROM_XTAL_88E						0xB9
34 #define EEPROM_THERMAL_METER_88E				0xBA
35 #define EEPROM_IQK_LCK_88E						0xBB
36 
37 #define EEPROM_RF_BOARD_OPTION_88E			0xC1
38 #define EEPROM_RF_FEATURE_OPTION_88E			0xC2
39 #define EEPROM_RF_BT_SETTING_88E				0xC3
40 #define EEPROM_VERSION_88E						0xC4
41 #define EEPROM_CustomID_88E					0xC5
42 #define EEPROM_RF_ANTENNA_OPT_88E			0xC9
43 #define EEPROM_COUNTRY_CODE_88E				0xCB
44 
45 /* RTL88EE */
46 #define EEPROM_MAC_ADDR_88EE					0xD0
47 #define EEPROM_VID_88EE						0xD6
48 #define EEPROM_DID_88EE						0xD8
49 #define EEPROM_SVID_88EE						0xDA
50 #define EEPROM_SMID_88EE						0xDC
51 
52 /* RTL88EU */
53 #define EEPROM_MAC_ADDR_88EU					0xD7
54 #define EEPROM_VID_88EU						0xD0
55 #define EEPROM_PID_88EU						0xD2
56 #define EEPROM_USB_OPTIONAL_FUNCTION0		0xD4 /* 8188EU, 8192EU, 8812AU is the same */
57 #define EEPROM_USB_OPTIONAL_FUNCTION0_8811AU 0x104
58 
59 /* RTL88ES */
60 #define EEPROM_MAC_ADDR_88ES					0x11A
61 /* ****************************************************
62  *			EEPROM/Efuse PG Offset for 8192EE/8192EU/8192ES
63  * **************************************************** */
64 #define GET_PG_KFREE_ON_8192E(_pg_m)			LE_BITS_TO_1BYTE(((u8 *)(_pg_m)) + 0xC1, 4, 1)
65 #define GET_PG_KFREE_THERMAL_K_ON_8192E(_pg_m)	LE_BITS_TO_1BYTE(((u8 *)(_pg_m)) + 0xC8, 5, 1)
66 
67 #define PPG_BB_GAIN_2G_TXA_OFFSET_8192E	0x1F6
68 #define PPG_THERMAL_OFFSET_8192E		0x1F5
69 
70 #define	EEPROM_ChannelPlan_8192E				0xB8
71 #define	EEPROM_XTAL_8192E						0xB9
72 #define	EEPROM_THERMAL_METER_8192E			0xBA
73 #define	EEPROM_IQK_LCK_8192E					0xBB
74 #define	EEPROM_2G_5G_PA_TYPE_8192E			0xBC
75 #define	EEPROM_2G_LNA_TYPE_GAIN_SEL_8192E	0xBD
76 #define	EEPROM_5G_LNA_TYPE_GAIN_SEL_8192E	0xBF
77 
78 #define	EEPROM_RF_BOARD_OPTION_8192E		0xC1
79 #define	EEPROM_RF_FEATURE_OPTION_8192E		0xC2
80 #define	EEPROM_RF_BT_SETTING_8192E			0xC3
81 #define	EEPROM_VERSION_8192E					0xC4
82 #define	EEPROM_CustomID_8192E				0xC5
83 #define	EEPROM_TX_BBSWING_2G_8192E			0xC6
84 #define	EEPROM_TX_BBSWING_5G_8192E			0xC7
85 #define	EEPROM_TX_PWR_CALIBRATE_RATE_8192E	0xC8
86 #define	EEPROM_RF_ANTENNA_OPT_8192E			0xC9
87 #define	EEPROM_RFE_OPTION_8192E				0xCA
88 #define	EEPROM_RFE_OPTION_8188E				0xCA
89 #define EEPROM_COUNTRY_CODE_8192E			0xCB
90 
91 /* RTL8192EE */
92 #define	EEPROM_MAC_ADDR_8192EE				0xD0
93 #define	EEPROM_VID_8192EE						0xD6
94 #define	EEPROM_DID_8192EE						0xD8
95 #define	EEPROM_SVID_8192EE					0xDA
96 #define	EEPROM_SMID_8192EE					0xDC
97 
98 /* RTL8192EU */
99 #define	EEPROM_MAC_ADDR_8192EU				0xD7
100 #define	EEPROM_VID_8192EU						0xD0
101 #define	EEPROM_PID_8192EU						0xD2
102 #define	EEPROM_PA_TYPE_8192EU		0xBC
103 #define	EEPROM_LNA_TYPE_2G_8192EU	0xBD
104 #define	EEPROM_LNA_TYPE_5G_8192EU	0xBF
105 
106 /* RTL8192ES */
107 #define	EEPROM_MAC_ADDR_8192ES				0x11A
108 /* ****************************************************
109  *			EEPROM/Efuse PG Offset for 8812AE/8812AU/8812AS
110  * *****************************************************/
111 #define EEPROM_USB_MODE_8812					0x08
112 
113 #define EEPROM_ChannelPlan_8812				0xB8
114 #define EEPROM_XTAL_8812						0xB9
115 #define EEPROM_THERMAL_METER_8812			0xBA
116 #define EEPROM_IQK_LCK_8812					0xBB
117 #define EEPROM_2G_5G_PA_TYPE_8812			0xBC
118 #define EEPROM_2G_LNA_TYPE_GAIN_SEL_8812	0xBD
119 #define EEPROM_5G_LNA_TYPE_GAIN_SEL_8812	0xBF
120 
121 #define EEPROM_RF_BOARD_OPTION_8812			0xC1
122 #define EEPROM_RF_FEATURE_OPTION_8812		0xC2
123 #define EEPROM_RF_BT_SETTING_8812				0xC3
124 #define EEPROM_VERSION_8812					0xC4
125 #define EEPROM_CustomID_8812					0xC5
126 #define EEPROM_TX_BBSWING_2G_8812			0xC6
127 #define EEPROM_TX_BBSWING_5G_8812			0xC7
128 #define EEPROM_TX_PWR_CALIBRATE_RATE_8812	0xC8
129 #define EEPROM_RF_ANTENNA_OPT_8812			0xC9
130 #define EEPROM_RFE_OPTION_8812				0xCA
131 #define EEPROM_COUNTRY_CODE_8812			0xCB
132 
133 /* RTL8812AE */
134 #define EEPROM_MAC_ADDR_8812AE				0xD0
135 #define EEPROM_VID_8812AE						0xD6
136 #define EEPROM_DID_8812AE						0xD8
137 #define EEPROM_SVID_8812AE						0xDA
138 #define EEPROM_SMID_8812AE					0xDC
139 
140 /* RTL8812AU */
141 #define EEPROM_MAC_ADDR_8812AU				0xD7
142 #define EEPROM_VID_8812AU						0xD0
143 #define EEPROM_PID_8812AU						0xD2
144 #define EEPROM_PA_TYPE_8812AU					0xBC
145 #define EEPROM_LNA_TYPE_2G_8812AU			0xBD
146 #define EEPROM_LNA_TYPE_5G_8812AU			0xBF
147 
148 /* RTL8814AU */
149 #define	EEPROM_MAC_ADDR_8814AU				0xD8
150 #define	EEPROM_VID_8814AU						0xD0
151 #define	EEPROM_PID_8814AU						0xD2
152 #define	EEPROM_PA_TYPE_8814AU				0xBC
153 #define	EEPROM_LNA_TYPE_2G_8814AU			0xBD
154 #define	EEPROM_LNA_TYPE_5G_8814AU			0xBF
155 
156 /* RTL8814AE */
157 #define EEPROM_MAC_ADDR_8814AE				0xD0
158 #define EEPROM_VID_8814AE						0xD6
159 #define EEPROM_DID_8814AE						0xD8
160 #define EEPROM_SVID_8814AE						0xDA
161 #define EEPROM_SMID_8814AE					0xDC
162 
163 /* ****************************************************
164  *			EEPROM/Efuse PG Offset for 8814AU
165  * **************************************************** */
166 #define GET_PG_KFREE_ON_8814A(_pg_m)			LE_BITS_TO_1BYTE(((u8 *)(_pg_m)) + 0xC8, 4, 1)
167 #define GET_PG_KFREE_THERMAL_K_ON_8814A(_pg_m)	LE_BITS_TO_1BYTE(((u8 *)(_pg_m)) + 0xC8, 5, 1)
168 #define GET_PG_TX_POWER_TRACKING_MODE_8814A(_pg_m)	LE_BITS_TO_1BYTE(((u8 *)(_pg_m)) + 0xC8, 6, 2)
169 
170 #define KFREE_GAIN_DATA_LENGTH_8814A	22
171 
172 #define PPG_BB_GAIN_2G_TXBA_OFFSET_8814A	0x3EE
173 
174 #define PPG_THERMAL_OFFSET_8814A		0x3EF
175 
176 #define EEPROM_USB_MODE_8814A				0x0E
177 #define EEPROM_ChannelPlan_8814				0xB8
178 #define EEPROM_XTAL_8814					0xB9
179 #define EEPROM_THERMAL_METER_8814			0xBA
180 #define	EEPROM_IQK_LCK_8814					0xBB
181 
182 
183 #define EEPROM_PA_TYPE_8814					0xBC
184 #define EEPROM_LNA_TYPE_AB_2G_8814			0xBD
185 #define	EEPROM_LNA_TYPE_CD_2G_8814			0xBE
186 #define EEPROM_LNA_TYPE_AB_5G_8814			0xBF
187 #define EEPROM_LNA_TYPE_CD_5G_8814			0xC0
188 #define	EEPROM_RF_BOARD_OPTION_8814			0xC1
189 #define	EEPROM_RF_BT_SETTING_8814			0xC3
190 #define	EEPROM_VERSION_8814					0xC4
191 #define	EEPROM_CustomID_8814				0xC5
192 #define	EEPROM_TX_BBSWING_2G_8814			0xC6
193 #define	EEPROM_TX_BBSWING_5G_8814			0xC7
194 #define EEPROM_TRX_ANTENNA_OPTION_8814		0xC9
195 #define	EEPROM_RFE_OPTION_8814				0xCA
196 #define EEPROM_COUNTRY_CODE_8814			0xCB
197 
198 /*Extra Info for 8814A Initial Gain Fine Tune  suggested by Willis, JIRA: MP123*/
199 #define	EEPROM_IG_OFFSET_4_AB_2G_8814A				0x120
200 #define	EEPROM_IG_OFFSET_4_CD_2G_8814A				0x121
201 #define	EEPROM_IG_OFFSET_4_AB_5GL_8814A				0x122
202 #define	EEPROM_IG_OFFSET_4_CD_5GL_8814A				0x123
203 #define	EEPROM_IG_OFFSET_4_AB_5GM_8814A				0x124
204 #define	EEPROM_IG_OFFSET_4_CD_5GM_8814A				0x125
205 #define	EEPROM_IG_OFFSET_4_AB_5GH_8814A				0x126
206 #define	EEPROM_IG_OFFSET_4_CD_5GH_8814A				0x127
207 
208 /* ****************************************************
209  *			EEPROM/Efuse PG Offset for 8821AE/8821AU/8821AS
210  * **************************************************** */
211 
212 #define GET_PG_KFREE_ON_8821A(_pg_m)			LE_BITS_TO_1BYTE(((u8 *)(_pg_m)) + 0xC8, 4, 1)
213 #define GET_PG_KFREE_THERMAL_K_ON_8821A(_pg_m)	LE_BITS_TO_1BYTE(((u8 *)(_pg_m)) + 0xC8, 5, 1)
214 
215 #define PPG_BB_GAIN_2G_TXA_OFFSET_8821A		0x1F6
216 #define PPG_THERMAL_OFFSET_8821A			0x1F5
217 #define PPG_BB_GAIN_5GLB1_TXA_OFFSET_8821A	0x1F4
218 #define PPG_BB_GAIN_5GLB2_TXA_OFFSET_8821A	0x1F3
219 #define PPG_BB_GAIN_5GMB1_TXA_OFFSET_8821A	0x1F2
220 #define PPG_BB_GAIN_5GMB2_TXA_OFFSET_8821A	0x1F1
221 #define PPG_BB_GAIN_5GHB_TXA_OFFSET_8821A	0x1F0
222 
223 #define EEPROM_ChannelPlan_8821				0xB8
224 #define EEPROM_XTAL_8821						0xB9
225 #define EEPROM_THERMAL_METER_8821			0xBA
226 #define EEPROM_IQK_LCK_8821					0xBB
227 
228 
229 #define EEPROM_RF_BOARD_OPTION_8821			0xC1
230 #define EEPROM_RF_FEATURE_OPTION_8821		0xC2
231 #define EEPROM_RF_BT_SETTING_8821				0xC3
232 #define EEPROM_VERSION_8821					0xC4
233 #define EEPROM_CustomID_8821					0xC5
234 #define EEPROM_RF_ANTENNA_OPT_8821			0xC9
235 
236 /* RTL8821AE */
237 #define EEPROM_MAC_ADDR_8821AE				0xD0
238 #define EEPROM_VID_8821AE						0xD6
239 #define EEPROM_DID_8821AE						0xD8
240 #define EEPROM_SVID_8821AE						0xDA
241 #define EEPROM_SMID_8821AE					0xDC
242 
243 /* RTL8821AU */
244 #define EEPROM_PA_TYPE_8821AU					0xBC
245 #define EEPROM_LNA_TYPE_8821AU				0xBF
246 
247 /* RTL8821AS */
248 #define EEPROM_MAC_ADDR_8821AS				0x11A
249 
250 /* RTL8821AU */
251 #define EEPROM_MAC_ADDR_8821AU				0x107
252 #define EEPROM_VID_8821AU						0x100
253 #define EEPROM_PID_8821AU						0x102
254 
255 
256 /* ****************************************************
257  *			EEPROM/Efuse PG Offset for 8192 SE/SU
258  * **************************************************** */
259 #define EEPROM_VID_92SE						0x0A
260 #define EEPROM_DID_92SE						0x0C
261 #define EEPROM_SVID_92SE						0x0E
262 #define EEPROM_SMID_92SE						0x10
263 
264 #define EEPROM_MAC_ADDR_92S					0x12
265 
266 #define EEPROM_TSSI_A_92SE						0x74
267 #define EEPROM_TSSI_B_92SE						0x75
268 
269 #define EEPROM_Version_92SE					0x7C
270 
271 
272 #define EEPROM_VID_92SU						0x08
273 #define EEPROM_PID_92SU						0x0A
274 
275 #define EEPROM_Version_92SU					0x50
276 #define EEPROM_TSSI_A_92SU						0x6b
277 #define EEPROM_TSSI_B_92SU						0x6c
278 
279 /* ====================================================
280 	EEPROM/Efuse PG Offset for 8188FE/8188FU/8188FS
281    ====================================================
282  */
283 
284 #define GET_PG_KFREE_ON_8188F(_pg_m)			LE_BITS_TO_1BYTE(((u8 *)(_pg_m)) + 0xC1, 4, 1)
285 #define GET_PG_KFREE_THERMAL_K_ON_8188F(_pg_m)	LE_BITS_TO_1BYTE(((u8 *)(_pg_m)) + 0xC8, 5, 1)
286 
287 #define PPG_BB_GAIN_2G_TXA_OFFSET_8188F	0xEE
288 #define PPG_THERMAL_OFFSET_8188F		0xEF
289 
290 #define	EEPROM_ChannelPlan_8188F			0xB8
291 #define	EEPROM_XTAL_8188F					0xB9
292 #define	EEPROM_THERMAL_METER_8188F			0xBA
293 #define	EEPROM_IQK_LCK_8188F				0xBB
294 #define	EEPROM_2G_5G_PA_TYPE_8188F			0xBC
295 #define	EEPROM_2G_LNA_TYPE_GAIN_SEL_8188F	0xBD
296 #define	EEPROM_5G_LNA_TYPE_GAIN_SEL_8188F	0xBF
297 
298 #define	EEPROM_RF_BOARD_OPTION_8188F		0xC1
299 #define	EEPROM_FEATURE_OPTION_8188F			0xC2
300 #define	EEPROM_RF_BT_SETTING_8188F			0xC3
301 #define	EEPROM_VERSION_8188F				0xC4
302 #define	EEPROM_CustomID_8188F				0xC5
303 #define	EEPROM_TX_BBSWING_2G_8188F			0xC6
304 #define	EEPROM_TX_PWR_CALIBRATE_RATE_8188F	0xC8
305 #define	EEPROM_RF_ANTENNA_OPT_8188F			0xC9
306 #define	EEPROM_RFE_OPTION_8188F				0xCA
307 #define EEPROM_COUNTRY_CODE_8188F			0xCB
308 #define EEPROM_CUSTOMER_ID_8188F			0x7F
309 #define EEPROM_SUBCUSTOMER_ID_8188F			0x59
310 
311 /* RTL8188FU */
312 #define EEPROM_MAC_ADDR_8188FU				0xD7
313 #define EEPROM_VID_8188FU					0xD0
314 #define EEPROM_PID_8188FU					0xD2
315 #define EEPROM_PA_TYPE_8188FU				0xBC
316 #define EEPROM_LNA_TYPE_2G_8188FU			0xBD
317 #define EEPROM_USB_OPTIONAL_FUNCTION0_8188FU 0xD4
318 
319 /* RTL8188FS */
320 #define	EEPROM_MAC_ADDR_8188FS				0x11A
321 #define EEPROM_Voltage_ADDR_8188F			0x8
322 
323 /* ====================================================
324 	EEPROM/Efuse PG Offset for 8188GTV/8188GTVS
325    ====================================================
326  */
327 
328 #define GET_PG_KFREE_ON_8188GTV(_pg_m)				LE_BITS_TO_1BYTE(((u8 *)(_pg_m)) + 0xC1, 4, 1)
329 #define GET_PG_KFREE_THERMAL_K_ON_8188GTV(_pg_m)	LE_BITS_TO_1BYTE(((u8 *)(_pg_m)) + 0xC8, 5, 1)
330 
331 #define PPG_BB_GAIN_2G_TXA_OFFSET_8188GTV	0xEE
332 #define PPG_THERMAL_OFFSET_8188GTV			0xEF
333 
334 #define	EEPROM_ChannelPlan_8188GTV				0xB8
335 #define	EEPROM_XTAL_8188GTV						0xB9
336 #define	EEPROM_THERMAL_METER_8188GTV			0xBA
337 #define	EEPROM_IQK_LCK_8188GTV					0xBB
338 #define	EEPROM_2G_5G_PA_TYPE_8188GTV			0xBC
339 #define	EEPROM_2G_LNA_TYPE_GAIN_SEL_8188GTV		0xBD
340 #define	EEPROM_5G_LNA_TYPE_GAIN_SEL_8188GTV		0xBF
341 
342 #define	EEPROM_RF_BOARD_OPTION_8188GTV			0xC1
343 #define	EEPROM_FEATURE_OPTION_8188GTV			0xC2
344 #define	EEPROM_RF_BT_SETTING_8188GTV			0xC3
345 #define	EEPROM_VERSION_8188GTV					0xC4
346 #define	EEPROM_CustomID_8188GTV					0xC5
347 #define	EEPROM_TX_BBSWING_2G_8188GTV			0xC6
348 #define	EEPROM_TX_PWR_CALIBRATE_RATE_8188GTV	0xC8
349 #define	EEPROM_RF_ANTENNA_OPT_8188GTV			0xC9
350 #define	EEPROM_RFE_OPTION_8188GTV				0xCA
351 #define EEPROM_COUNTRY_CODE_8188GTV				0xCB
352 #define EEPROM_CUSTOMER_ID_8188GTV				0x7F
353 #define EEPROM_SUBCUSTOMER_ID_8188GTV			0x59
354 
355 /* RTL8188GTVU */
356 #define EEPROM_MAC_ADDR_8188GTVU				0xD7
357 #define EEPROM_VID_8188GTVU						0xD0
358 #define EEPROM_PID_8188GTVU						0xD2
359 #define EEPROM_PA_TYPE_8188GTVU					0xBC
360 #define EEPROM_LNA_TYPE_2G_8188GTVU				0xBD
361 #define EEPROM_USB_OPTIONAL_FUNCTION0_8188GTVU	0xD4
362 
363 /* RTL8188GTVS */
364 #define	EEPROM_MAC_ADDR_8188GTVS				0x11A
365 #define EEPROM_Voltage_ADDR_8188GTV				0x8
366 
367 /* ****************************************************
368  *			EEPROM/Efuse PG Offset for 8723BE/8723BU/8723BS
369  * *****************************************************/
370 #define	EEPROM_ChannelPlan_8723B				0xB8
371 #define	EEPROM_XTAL_8723B						0xB9
372 #define	EEPROM_THERMAL_METER_8723B			0xBA
373 #define	EEPROM_IQK_LCK_8723B					0xBB
374 #define	EEPROM_2G_5G_PA_TYPE_8723B			0xBC
375 #define	EEPROM_2G_LNA_TYPE_GAIN_SEL_8723B	0xBD
376 #define	EEPROM_5G_LNA_TYPE_GAIN_SEL_8723B	0xBF
377 
378 #define	EEPROM_RF_BOARD_OPTION_8723B		0xC1
379 #define	EEPROM_FEATURE_OPTION_8723B			0xC2
380 #define	EEPROM_RF_BT_SETTING_8723B			0xC3
381 #define	EEPROM_VERSION_8723B					0xC4
382 #define	EEPROM_CustomID_8723B				0xC5
383 #define	EEPROM_TX_BBSWING_2G_8723B			0xC6
384 #define	EEPROM_TX_PWR_CALIBRATE_RATE_8723B	0xC8
385 #define	EEPROM_RF_ANTENNA_OPT_8723B		0xC9
386 #define	EEPROM_RFE_OPTION_8723B				0xCA
387 #define EEPROM_COUNTRY_CODE_8723B			0xCB
388 
389 /* RTL8723BE */
390 #define EEPROM_MAC_ADDR_8723BE				0xD0
391 #define EEPROM_VID_8723BE						0xD6
392 #define EEPROM_DID_8723BE						0xD8
393 #define EEPROM_SVID_8723BE						0xDA
394 #define EEPROM_SMID_8723BE						0xDC
395 
396 /* RTL8723BU */
397 #define EEPROM_MAC_ADDR_8723BU				0x107
398 #define EEPROM_VID_8723BU						0x100
399 #define EEPROM_PID_8723BU						0x102
400 #define EEPROM_PA_TYPE_8723BU					0xBC
401 #define EEPROM_LNA_TYPE_2G_8723BU				0xBD
402 
403 
404 /* RTL8723BS */
405 #define	EEPROM_MAC_ADDR_8723BS				0x11A
406 #define EEPROM_Voltage_ADDR_8723B			0x8
407 
408 /* ****************************************************
409  *			EEPROM/Efuse PG Offset for 8703B
410  * **************************************************** */
411 #define GET_PG_KFREE_ON_8703B(_pg_m)			LE_BITS_TO_1BYTE(((u8 *)(_pg_m)) + 0xC1, 4, 1)
412 #define GET_PG_KFREE_THERMAL_K_ON_8703B(_pg_m)	LE_BITS_TO_1BYTE(((u8 *)(_pg_m)) + 0xC8, 5, 1)
413 
414 #define PPG_BB_GAIN_2G_TXA_OFFSET_8703B	0xEE
415 #define PPG_THERMAL_OFFSET_8703B		0xEF
416 
417 #define	EEPROM_ChannelPlan_8703B				0xB8
418 #define	EEPROM_XTAL_8703B					0xB9
419 #define	EEPROM_THERMAL_METER_8703B			0xBA
420 #define	EEPROM_IQK_LCK_8703B					0xBB
421 #define	EEPROM_2G_5G_PA_TYPE_8703B			0xBC
422 #define	EEPROM_2G_LNA_TYPE_GAIN_SEL_8703B	0xBD
423 #define	EEPROM_5G_LNA_TYPE_GAIN_SEL_8703B	0xBF
424 
425 #define	EEPROM_RF_BOARD_OPTION_8703B		0xC1
426 #define	EEPROM_FEATURE_OPTION_8703B			0xC2
427 #define	EEPROM_RF_BT_SETTING_8703B			0xC3
428 #define	EEPROM_VERSION_8703B					0xC4
429 #define	EEPROM_CustomID_8703B					0xC5
430 #define	EEPROM_TX_BBSWING_2G_8703B			0xC6
431 #define	EEPROM_TX_PWR_CALIBRATE_RATE_8703B	0xC8
432 #define	EEPROM_RF_ANTENNA_OPT_8703B		0xC9
433 #define	EEPROM_RFE_OPTION_8703B				0xCA
434 #define EEPROM_COUNTRY_CODE_8703B			0xCB
435 
436 /* RTL8703BU */
437 #define EEPROM_MAC_ADDR_8703BU                          0x107
438 #define EEPROM_VID_8703BU                               0x100
439 #define EEPROM_PID_8703BU                               0x102
440 #define EEPROM_USB_OPTIONAL_FUNCTION0_8703BU            0x104
441 #define EEPROM_PA_TYPE_8703BU                           0xBC
442 #define EEPROM_LNA_TYPE_2G_8703BU                       0xBD
443 
444 /* RTL8703BS */
445 #define	EEPROM_MAC_ADDR_8703BS				0x11A
446 #define	EEPROM_Voltage_ADDR_8703B			0x8
447 
448 /*
449  * ====================================================
450  *	EEPROM/Efuse PG Offset for 8822B
451  * ====================================================
452  */
453 #define	EEPROM_ChannelPlan_8822B		0xB8
454 #define	EEPROM_XTAL_8822B			0xB9
455 #define	EEPROM_THERMAL_METER_8822B		0xBA
456 #define	EEPROM_IQK_LCK_8822B			0xBB
457 #define	EEPROM_2G_5G_PA_TYPE_8822B		0xBC
458 /* PATH A & PATH B */
459 #define	EEPROM_2G_LNA_TYPE_GAIN_SEL_AB_8822B	0xBD
460 /* PATH C & PATH D */
461 #define	EEPROM_2G_LNA_TYPE_GAIN_SEL_CD_8822B	0xBE
462 /* PATH A & PATH B */
463 #define	EEPROM_5G_LNA_TYPE_GAIN_SEL_AB_8822B	0xBF
464 /* PATH C & PATH D */
465 #define	EEPROM_5G_LNA_TYPE_GAIN_SEL_CD_8822B	0xC0
466 
467 #define	EEPROM_RF_BOARD_OPTION_8822B		0xC1
468 #define	EEPROM_FEATURE_OPTION_8822B		0xC2
469 #define	EEPROM_RF_BT_SETTING_8822B		0xC3
470 #define	EEPROM_VERSION_8822B			0xC4
471 #define	EEPROM_CustomID_8822B			0xC5
472 #define	EEPROM_TX_BBSWING_2G_8822B		0xC6
473 #define	EEPROM_TX_PWR_CALIBRATE_RATE_8822B	0xC8
474 #define	EEPROM_RF_ANTENNA_OPT_8822B		0xC9
475 #define	EEPROM_RFE_OPTION_8822B			0xCA
476 #define EEPROM_COUNTRY_CODE_8822B		0xCB
477 
478 /* RTL8822BU */
479 #define EEPROM_MAC_ADDR_8822BU			0x107
480 #define EEPROM_VID_8822BU			0x100
481 #define EEPROM_PID_8822BU			0x102
482 #define EEPROM_USB_OPTIONAL_FUNCTION0_8822BU	0x104
483 #define EEPROM_USB_MODE_8822BU			0x06
484 
485 /* RTL8822BS */
486 #define	EEPROM_MAC_ADDR_8822BS			0x11A
487 
488 /* RTL8822BE */
489 #define	EEPROM_MAC_ADDR_8822BE			0xD0
490 /*
491  * ====================================================
492  *	EEPROM/Efuse PG Offset for 8821C
493  * ====================================================
494  */
495 #define	EEPROM_CHANNEL_PLAN_8821C		0xB8
496 #define	EEPROM_XTAL_8821C			0xB9
497 #define	EEPROM_THERMAL_METER_8821C		0xBA
498 #define	EEPROM_IQK_LCK_8821C			0xBB
499 #define	EEPROM_2G_5G_PA_TYPE_8821C		0xBC
500 /* PATH A & PATH B */
501 #define	EEPROM_2G_LNA_TYPE_GAIN_SEL_AB_8821C	0xBD
502 /* PATH C & PATH D */
503 #define	EEPROM_2G_LNA_TYPE_GAIN_SEL_CD_8821C	0xBE
504 /* PATH A & PATH B */
505 #define	EEPROM_5G_LNA_TYPE_GAIN_SEL_AB_8821C	0xBF
506 /* PATH C & PATH D */
507 #define	EEPROM_5G_LNA_TYPE_GAIN_SEL_CD_8821C	0xC0
508 
509 #define	EEPROM_RF_BOARD_OPTION_8821C		0xC1
510 #define	EEPROM_FEATURE_OPTION_8821C		0xC2
511 #define	EEPROM_RF_BT_SETTING_8821C		0xC3
512 #define	EEPROM_VERSION_8821C			0xC4
513 #define	EEPROM_CUSTOMER_ID_8821C			0xC5
514 #define	EEPROM_TX_BBSWING_2G_8821C		0xC6
515 #define	EEPROM_TX_BBSWING_5G_8821C		0xC7
516 #define	EEPROM_TX_PWR_CALIBRATE_RATE_8821C	0xC8
517 #define	EEPROM_RF_ANTENNA_OPT_8821C		0xC9
518 #define	EEPROM_RFE_OPTION_8821C			0xCA
519 #define EEPROM_COUNTRY_CODE_8821C		0xCB
520 
521 /* RTL8821CU */
522 #define EEPROM_MAC_ADDR_8821CU			0x107
523 #define EEPROM_VID_8821CU					0x100
524 #define EEPROM_PID_8821CU					0x102
525 #define EEPROM_USB_OPTIONAL_FUNCTION0_8821CU	0x104
526 #define EEPROM_USB_MODE_8821CU			0x06
527 
528 /* RTL8821CS */
529 #define	EEPROM_MAC_ADDR_8821CS			0x11A
530 
531 /* RTL8821CE */
532 #define	EEPROM_MAC_ADDR_8821CE			0xD0
533 /* ****************************************************
534  *	EEPROM/Efuse PG Offset for 8723D
535  * **************************************************** */
536 #define GET_PG_KFREE_ON_8723D(_pg_m)	\
537 	LE_BITS_TO_1BYTE(((u8 *)(_pg_m)) + 0xC1, 4, 1)
538 #define GET_PG_KFREE_THERMAL_K_ON_8723D(_pg_m)	\
539 	LE_BITS_TO_1BYTE(((u8 *)(_pg_m)) + 0xC8, 5, 1)
540 
541 #define PPG_8723D_S1	0
542 #define PPG_8723D_S0	1
543 
544 #define PPG_BB_GAIN_2G_TXA_OFFSET_8723D		0xEE
545 #define PPG_BB_GAIN_2G_TX_OFFSET_8723D		0x1EE
546 #define PPG_THERMAL_OFFSET_8723D		0xEF
547 
548 #define	EEPROM_ChannelPlan_8723D		0xB8
549 #define	EEPROM_XTAL_8723D			0xB9
550 #define	EEPROM_THERMAL_METER_8723D		0xBA
551 #define	EEPROM_IQK_LCK_8723D			0xBB
552 #define	EEPROM_2G_5G_PA_TYPE_8723D		0xBC
553 #define	EEPROM_2G_LNA_TYPE_GAIN_SEL_8723D	0xBD
554 #define	EEPROM_5G_LNA_TYPE_GAIN_SEL_8723D	0xBF
555 
556 #define	EEPROM_RF_BOARD_OPTION_8723D		0xC1
557 #define	EEPROM_FEATURE_OPTION_8723D		0xC2
558 #define	EEPROM_RF_BT_SETTING_8723D		0xC3
559 #define	EEPROM_VERSION_8723D			0xC4
560 #define	EEPROM_CustomID_8723D			0xC5
561 #define	EEPROM_TX_BBSWING_2G_8723D		0xC6
562 #define	EEPROM_TX_PWR_CALIBRATE_RATE_8723D	0xC8
563 #define	EEPROM_RF_ANTENNA_OPT_8723D		0xC9
564 #define	EEPROM_RFE_OPTION_8723D			0xCA
565 #define EEPROM_COUNTRY_CODE_8723D		0xCB
566 
567 /* RTL8723DE */
568 #define EEPROM_MAC_ADDR_8723DE              0xD0
569 #define EEPROM_VID_8723DE                   0xD6
570 #define EEPROM_DID_8723DE                   0xD8
571 #define EEPROM_SVID_8723DE                  0xDA
572 #define EEPROM_SMID_8723DE                  0xDC
573 
574 /* RTL8723DU */
575 #define EEPROM_MAC_ADDR_8723DU                  0x107
576 #define EEPROM_VID_8723DU                       0x100
577 #define EEPROM_PID_8723DU                       0x102
578 #define EEPROM_USB_OPTIONAL_FUNCTION0_8723DU    0x104
579 
580 /* RTL8723BS */
581 #define	EEPROM_MAC_ADDR_8723DS			0x11A
582 #define	EEPROM_Voltage_ADDR_8723D		0x8
583 
584 /*
585  * ====================================================
586  *	EEPROM/Efuse PG Offset for 8822C
587  * ====================================================
588  */
589 #define	EEPROM_TX_PWR_INX_8822C			0x10
590 #define	EEPROM_ChannelPlan_8822C		0xB8
591 #define	EEPROM_XTAL_B9_8822C			0xB9
592 #define	EEPROM_IQK_LCK_8822C			0xBB
593 #define	EEPROM_2G_5G_PA_TYPE_8822C		0xBC
594 /* PATH A & PATH B */
595 #define	EEPROM_2G_LNA_TYPE_GAIN_SEL_AB_8822C	0xBD
596 /* PATH C & PATH D */
597 #define	EEPROM_2G_LNA_TYPE_GAIN_SEL_CD_8822C	0xBE
598 /* PATH A & PATH B */
599 #define	EEPROM_5G_LNA_TYPE_GAIN_SEL_AB_8822C	0xBF
600 /* PATH C & PATH D */
601 #define	EEPROM_5G_LNA_TYPE_GAIN_SEL_CD_8822C	0xC0
602 
603 #define	EEPROM_RF_BOARD_OPTION_8822C		0xC1
604 #define	EEPROM_FEATURE_OPTION_8822C		0xC2
605 #define	EEPROM_RF_BT_SETTING_8822C		0xC3
606 #define	EEPROM_VERSION_8822C			0xC4
607 #define	EEPROM_CustomID_8822C			0xC5
608 #define	EEPROM_TX_BBSWING_2G_8822C		0xC6
609 #define	EEPROM_TX_PWR_CALIBRATE_RATE_8822C	0xC8
610 #define	EEPROM_RF_ANTENNA_OPT_8822C		0xC9
611 #define	EEPROM_RFE_OPTION_8822C			0xCA
612 #define EEPROM_COUNTRY_CODE_8822C		0xCB
613 #define	EEPROM_THERMAL_METER_A_8822C		0xD0
614 #define	EEPROM_THERMAL_METER_B_8822C		0xD1
615 
616 #define	EEPROM_XTAL_110_8822C			0x110
617 #define	EEPROM_XTAL_111_8822C			0x111
618 
619 /* RTL8822CU */
620 #define EEPROM_MAC_ADDR_8822CU			0x157
621 #define EEPROM_VID_8822CU			0x100
622 #define EEPROM_PID_8822CU			0x102
623 #define EEPROM_USB_OPTIONAL_FUNCTION0_8822CU	0x104
624 #define EEPROM_USB_MODE_8822CU			0x06
625 
626 /* RTL8822CS */
627 #define	EEPROM_MAC_ADDR_8822CS			0x16A
628 
629 /* RTL8822CE */
630 #define	EEPROM_MAC_ADDR_8822CE			0x120
631 
632 /* ****************************************************
633  *	EEPROM/Efuse PG Offset for 8192F
634  * **************************************************** */
635 #define	EEPROM_ChannelPlan_8192F			0xB8
636 #define	EEPROM_XTAL_8192F					0xB9
637 #define	EEPROM_THERMAL_METER_8192F			0xBA
638 #define	EEPROM_IQK_LCK_8192F				0xBB
639 #define	EEPROM_2G_5G_PA_TYPE_8192F			0xBC
640 #define	EEPROM_2G_LNA_TYPE_GAIN_SEL_8192F	0xBD
641 #define	EEPROM_5G_LNA_TYPE_GAIN_SEL_8192F	0xBF
642 
643 #define	EEPROM_RF_BOARD_OPTION_8192F		0xC1
644 #define	EEPROM_FEATURE_OPTION_8192F			0xC2
645 #define	EEPROM_RF_BT_SETTING_8192F			0xC3
646 #define	EEPROM_VERSION_8192F				0xC4
647 #define	EEPROM_CustomID_8192F				0xC5
648 #define	EEPROM_TX_BBSWING_2G_8192F			0xC6
649 #define	EEPROM_TX_BBSWING_5G_8192F			0xC7
650 #define	EEPROM_TX_PWR_CALIBRATE_RATE_8192F	0xC8
651 #define	EEPROM_RF_ANTENNA_OPT_8192F			0xC9
652 #define	EEPROM_RFE_OPTION_8192F				0xCA
653 #define EEPROM_COUNTRY_CODE_8192F			0xCB
654 /*RTL8192FS*/
655 #define	EEPROM_MAC_ADDR_8192FS				0x11A
656 #define EEPROM_Voltage_ADDR_8192F			0x8
657 /* RTL8192FU */
658 #define EEPROM_MAC_ADDR_8192FU					0x107
659 #define EEPROM_VID_8192FU							0x100
660 #define EEPROM_PID_8192FU							0x102
661 #define EEPROM_USB_OPTIONAL_FUNCTION0_8192FU	0x104
662 /* RTL8192FE */
663 #define EEPROM_MAC_ADDR_8192FE					0xD0
664 #define EEPROM_VID_8192FE							0xD6
665 #define EEPROM_DID_8192FE							0xD8
666 #define EEPROM_SVID_8192FE							0xDA
667 #define EEPROM_SMID_8192FE						0xDC
668 
669 /* ****************************************************
670  *	EEPROM/Efuse PG Offset for 8710B
671  * **************************************************** */
672 #define RTL_EEPROM_ID_8710B 					0x8195
673 #define EEPROM_Default_ThermalMeter_8710B		0x1A
674 
675 #define	EEPROM_CHANNEL_PLAN_8710B			0xC8
676 #define	EEPROM_XTAL_8710B					0xC9
677 #define	EEPROM_THERMAL_METER_8710B			0xCA
678 #define	EEPROM_IQK_LCK_8710B					0xCB
679 #define	EEPROM_2G_5G_PA_TYPE_8710B			0xCC
680 #define	EEPROM_2G_LNA_TYPE_GAIN_SEL_8710B	0xCD
681 #define	EEPROM_5G_LNA_TYPE_GAIN_SEL_8710B	0xCF
682 #define 	EEPROM_TX_KFREE_8710B				0xEE    //Physical  Efuse Address
683 #define 	EEPROM_THERMAL_8710B				0xEF    //Physical  Efuse Address
684 #define 	EEPROM_PACKAGE_TYPE_8710B			0xF8    //Physical  Efuse Address
685 
686 #define EEPROM_RF_BOARD_OPTION_8710B		0x131
687 #define EEPROM_RF_FEATURE_OPTION_8710B		0x132
688 #define EEPROM_RF_BT_SETTING_8710B			0x133
689 #define EEPROM_VERSION_8710B					0x134
690 #define EEPROM_CUSTOM_ID_8710B				0x135
691 #define EEPROM_TX_BBSWING_2G_8710B			0x136
692 #define EEPROM_TX_BBSWING_5G_8710B			0x137
693 #define EEPROM_TX_PWR_CALIBRATE_RATE_8710B	0x138
694 #define EEPROM_RF_ANTENNA_OPT_8710B			0x139
695 #define EEPROM_RFE_OPTION_8710B				0x13A
696 #define EEPROM_COUNTRY_CODE_8710B			0x13B
697 #define EEPROM_COUNTRY_CODE_2_8710B			0x13C
698 
699 #define EEPROM_MAC_ADDR_8710B 				0x11A
700 #define EEPROM_VID_8710BU						0x1C0
701 #define EEPROM_PID_8710BU						0x1C2
702 
703 /* ****************************************************
704  *	EEPROM/Efuse PG Offset for 8814B
705  * **************************************************** */
706 
707 #define	EEPROM_USB_MODE_8814BU			0x06
708 /* 0x10 ~ 0x63 = TX power area. */
709 #define	EEPROM_TX_PWR_INX_8814B			0x10
710 #define	EEPROM_ChannelPlan_8814B		0xB8
711 #define	EEPROM_XTAL_8814B			0xB9
712 #define	EEPROM_IQK_LCK_8814B			0xBB
713 
714 #define	EEPROM_RF_BOARD_OPTION_8814B		0xC1
715 #define	EEPROM_RF_FEATURE_OPTION_8814B		0xC2
716 #define	EEPROM_RF_BT_SETTING_8814B		0xC3
717 #define	EEPROM_VERSION_8814B			0xC4
718 #define	EEPROM_CustomID_8814B			0xC5
719 #define	EEPROM_TX_BBSWING_2G_8814B		0xC6
720 #define	EEPROM_TX_BBSWING_5G_8814B		0xC7
721 #define	EEPROM_TX_PWR_CALIBRATE_RATE_8814B	0xC8
722 #define	EEPROM_RF_ANTENNA_OPT_8814B		0xC9
723 #define	EEPROM_RFE_OPTION_8814B			0xCA
724 #define	EEPROM_COUNTRY_CODE_8814B		0xCB
725 
726 #define	EEPROM_THERMAL_METER_A_8814B		0xD0
727 #define	EEPROM_THERMAL_METER_B_8814B		0xD1
728 #define	EEPROM_THERMAL_METER_C_8814B		0xD2
729 #define	EEPROM_THERMAL_METER_D_8814B		0xD3
730 
731 #define	EEPROM_MAC_ADDR_8814BE			0x120
732 #define	EEPROM_VID_8814B			0x126
733 #define	EEPROM_DID_8814B			0x128
734 #define	EEPROM_SVID_8814B			0x12A
735 #define	EEPROM_SMID_8814B			0x12C
736 
737 /* RTL8814BU */
738 #define EEPROM_MAC_ADDR_8814BU			0x157
739 #define EEPROM_VID_8814BU			0x150
740 #define EEPROM_PID_8814BU			0x152
741 #define EEPROM_USB_OPTIONAL_FUNCTION0_8814BU	0x154
742 
743 /*
744  * ====================================================
745  *	EEPROM/Efuse PG Offset for 8723F
746  * ====================================================
747  */
748 #define	EEPROM_TX_PWR_INX_8723F			0x10
749 #define	EEPROM_ChannelPlan_8723F		0xB8
750 #define	EEPROM_XTAL_B9_8723F			0xB9
751 #define	EEPROM_THERMAL_METER_8723F		0xBA
752 #define	EEPROM_IQK_LCK_8723F			0xBB
753 #define	EEPROM_2G_5G_PA_TYPE_8723F		0xBC
754 /* PATH A & PATH B */
755 #define	EEPROM_2G_LNA_TYPE_GAIN_SEL_AB_8723F	0xBD
756 /* PATH C & PATH D */
757 #define	EEPROM_2G_LNA_TYPE_GAIN_SEL_CD_8723F	0xBE
758 /* PATH A & PATH B */
759 #define	EEPROM_5G_LNA_TYPE_GAIN_SEL_AB_8723F	0xBF
760 /* PATH C & PATH D */
761 #define	EEPROM_5G_LNA_TYPE_GAIN_SEL_CD_8723F	0xC0
762 
763 #define	EEPROM_RF_BOARD_OPTION_8723F		0xC1
764 #define	EEPROM_FEATURE_OPTION_8723F		0xC2
765 #define	EEPROM_RF_BT_SETTING_8723F		0xC3
766 #define	EEPROM_VERSION_8723F			0xC4
767 #define	EEPROM_CustomID_8723F			0xC5
768 #define	EEPROM_TX_BBSWING_2G_8723F		0xC6
769 #define	EEPROM_TX_PWR_CALIBRATE_RATE_8723F	0xC8
770 #define	EEPROM_RF_ANTENNA_OPT_8723F		0xC9
771 #define	EEPROM_RFE_OPTION_8723F			0xCA
772 #define 	EEPROM_COUNTRY_CODE_8723F		0xCB
773 
774 /* RTL8723FU */
775 #define EEPROM_MAC_ADDR_8723FU			0x108
776 #define EEPROM_VID_8723FU			0x100
777 #define EEPROM_PID_8723FU			0x102
778 #define EEPROM_USB_OPTIONAL_FUNCTION0_8723FU	0x104
779 #define EEPROM_USB_MODE_8723FU			0x03
780 
781 /* RTL8723FS */
782 #define	EEPROM_MAC_ADDR_8723FS			0x11A
783 
784 /* ****************************************************
785  *			EEPROM/Efuse Value Type
786  * **************************************************** */
787 #define EETYPE_TX_PWR							0x0
788 #define EETYPE_MAX_RFE_8192F					0x31
789 /* ****************************************************
790  *			EEPROM/Efuse Default Value
791  * **************************************************** */
792 #define EEPROM_CID_DEFAULT					0x0
793 #define EEPROM_CID_DEFAULT_EXT				0xFF /* Reserved for Realtek */
794 #define EEPROM_CID_TOSHIBA						0x4
795 #define EEPROM_CID_CCX							0x10
796 #define EEPROM_CID_QMI							0x0D
797 #define EEPROM_CID_WHQL						0xFE
798 
799 #define EEPROM_CHANNEL_PLAN_FCC				0x0
800 #define EEPROM_CHANNEL_PLAN_IC				0x1
801 #define EEPROM_CHANNEL_PLAN_ETSI				0x2
802 #define EEPROM_CHANNEL_PLAN_SPAIN			0x3
803 #define EEPROM_CHANNEL_PLAN_FRANCE			0x4
804 #define EEPROM_CHANNEL_PLAN_MKK				0x5
805 #define EEPROM_CHANNEL_PLAN_MKK1				0x6
806 #define EEPROM_CHANNEL_PLAN_ISRAEL			0x7
807 #define EEPROM_CHANNEL_PLAN_TELEC			0x8
808 #define EEPROM_CHANNEL_PLAN_GLOBAL_DOMAIN	0x9
809 #define EEPROM_CHANNEL_PLAN_WORLD_WIDE_13	0xA
810 #define EEPROM_CHANNEL_PLAN_NCC_TAIWAN		0xB
811 #define EEPROM_CHANNEL_PLAN_CHIAN			0XC
812 #define EEPROM_CHANNEL_PLAN_SINGAPORE_INDIA_MEXICO  0XD
813 #define EEPROM_CHANNEL_PLAN_KOREA			0xE
814 #define EEPROM_CHANNEL_PLAN_TURKEY	0xF
815 #define EEPROM_CHANNEL_PLAN_JAPAN	0x10
816 #define EEPROM_CHANNEL_PLAN_FCC_NO_DFS		0x11
817 #define EEPROM_CHANNEL_PLAN_JAPAN_NO_DFS	0x12
818 #define EEPROM_CHANNEL_PLAN_WORLD_WIDE_5G	0x13
819 #define EEPROM_CHANNEL_PLAN_TAIWAN_NO_DFS	0x14
820 
821 #define EEPROM_USB_OPTIONAL1					0xE
822 #define EEPROM_CHANNEL_PLAN_BY_HW_MASK		0x80
823 
824 #define RTL_EEPROM_ID							0x8129
825 #define EEPROM_Default_TSSI						0x0
826 #define EEPROM_Default_BoardType				0x02
827 #define EEPROM_Default_ThermalMeter			0x12
828 #define EEPROM_Default_ThermalMeter_92SU		0x7
829 #define EEPROM_Default_ThermalMeter_88E		0x18
830 #define EEPROM_Default_ThermalMeter_8812		0x18
831 #define	EEPROM_Default_ThermalMeter_8192E			0x1A
832 #define	EEPROM_Default_ThermalMeter_8723B		0x18
833 #define	EEPROM_Default_ThermalMeter_8703B		0x18
834 #define	EEPROM_Default_ThermalMeter_8723D		0x18
835 #define	EEPROM_Default_ThermalMeter_8188F		0x18
836 #define	EEPROM_Default_ThermalMeter_8188GTV		0x18
837 #define EEPROM_Default_ThermalMeter_8814A		0x18
838 #define	EEPROM_Default_ThermalMeter_8192F		0x1A
839 #define EEPROM_Default_ThermalMeter_8814B		0x20
840 
841 #define EEPROM_Default_CrystalCap				0x0
842 #define EEPROM_Default_CrystalCap_8723A		0x20
843 #define EEPROM_Default_CrystalCap_88E			0x20
844 #define EEPROM_Default_CrystalCap_8812			0x20
845 #define EEPROM_Default_CrystalCap_8814			0x20
846 #define EEPROM_Default_CrystalCap_8192E			0x20
847 #define EEPROM_Default_CrystalCap_8723B			0x20
848 #define EEPROM_Default_CrystalCap_8703B			0x20
849 #define EEPROM_Default_CrystalCap_8723D			0x20
850 #define EEPROM_Default_CrystalCap_8723F			0x3F
851 #define EEPROM_Default_CrystalCap_8188F			0x20
852 #define EEPROM_Default_CrystalCap_8188GTV		0x20
853 #define EEPROM_Default_CrystalCap_8192F			0x20
854 #define EEPROM_Default_CrystalCap_B9_8822C		0x3F
855 #define EEPROM_Default_CrystalCap_110_8822C		0x40
856 #define EEPROM_Default_CrystalCap_111_8822C		0x40
857 #define EEPROM_Default_CrystalCap_8814B			0x40
858 #define EEPROM_Default_CrystalFreq				0x0
859 #define EEPROM_Default_TxPowerLevel_92C		0x22
860 #define EEPROM_Default_TxPowerLevel_2G			0x2C
861 #define EEPROM_Default_TxPowerLevel_5G			0x22
862 #define EEPROM_Default_TxPowerLevel			0x22
863 #define EEPROM_Default_HT40_2SDiff				0x0
864 #define EEPROM_Default_HT20_Diff				2
865 #define EEPROM_Default_LegacyHTTxPowerDiff		0x3
866 #define EEPROM_Default_LegacyHTTxPowerDiff_92C	0x3
867 #define EEPROM_Default_LegacyHTTxPowerDiff_92D	0x4
868 #define EEPROM_Default_HT40_PwrMaxOffset		0
869 #define EEPROM_Default_HT20_PwrMaxOffset		0
870 
871 #define EEPROM_Default_PID						0x1234
872 #define EEPROM_Default_VID						0x5678
873 #define EEPROM_Default_CustomerID				0xAB
874 #define EEPROM_Default_CustomerID_8188E		0x00
875 #define EEPROM_Default_SubCustomerID			0xCD
876 #define EEPROM_Default_Version					0
877 
878 #define EEPROM_Default_externalPA_C9		0x00
879 #define EEPROM_Default_externalPA_CC		0xFF
880 #define EEPROM_Default_internalPA_SP3T_C9	0xAA
881 #define EEPROM_Default_internalPA_SP3T_CC	0xAF
882 #define EEPROM_Default_internalPA_SPDT_C9	0xAA
883 #ifdef CONFIG_PCI_HCI
884 	#define EEPROM_Default_internalPA_SPDT_CC	0xA0
885 #else
886 	#define EEPROM_Default_internalPA_SPDT_CC	0xFA
887 #endif
888 #define EEPROM_Default_PAType						0
889 #define EEPROM_Default_LNAType						0
890 
891 /* New EFUSE default value */
892 #define EEPROM_DEFAULT_CHANNEL_PLAN		0x7F
893 #define EEPROM_DEFAULT_BOARD_OPTION		0x00
894 #define EEPROM_DEFAULT_RFE_OPTION_8192E 0xFF
895 #define EEPROM_DEFAULT_RFE_OPTION_8188E 0xFF
896 #define EEPROM_DEFAULT_RFE_OPTION		0x04
897 #define EEPROM_DEFAULT_FEATURE_OPTION	0x00
898 #define EEPROM_DEFAULT_BT_OPTION			0x10
899 
900 
901 #define EEPROM_DEFAULT_TX_CALIBRATE_RATE	0x00
902 
903 /* PCIe related */
904 #define	EEPROM_PCIE_DEV_CAP_01				0xE0 /* Express device capability in PCIe configuration space, i.e., map to offset 0x74 */
905 #define	EEPROM_PCIE_DEV_CAP_02				0xE1 /* Express device capability in PCIe configuration space, i.e., map to offset 0x75 */
906 
907 
908 /*
909  * For VHT series TX power by rate table.
910  * VHT TX power by rate off setArray =
911  * Band:-2G&5G = 0 / 1
912  * RF: at most 4*4 = ABCD=0/1/2/3
913  * CCK=0 OFDM=1/2 HT-MCS 0-15=3/4/56 VHT=7/8/9/10/11
914  *   */
915 #define TX_PWR_BY_RATE_NUM_BAND			2
916 #define TX_PWR_BY_RATE_NUM_RF			4
917 #define TX_PWR_BY_RATE_NUM_RATE			84
918 
919 #define TXPWR_LMT_MAX_RF				4
920 
921 /* ----------------------------------------------------------------------------
922  * EEPROM/EFUSE data structure definition.
923  * ---------------------------------------------------------------------------- */
924 
925 /* For 88E new structure */
926 
927 /*
928 2.4G:
929 {
930 {1,2},
931 {3,4,5},
932 {6,7,8},
933 {9,10,11},
934 {12,13},
935 {14}
936 }
937 
938 5G:
939 {
940 {36,38,40},
941 {44,46,48},
942 {52,54,56},
943 {60,62,64},
944 {100,102,104},
945 {108,110,112},
946 {116,118,120},
947 {124,126,128},
948 {132,134,136},
949 {140,142,144},
950 {149,151,153},
951 {157,159,161},
952 {173,175,177},
953 }
954 */
955 #define	MAX_RF_PATH				4
956 #define RF_PATH_MAX				MAX_RF_PATH
957 #define	MAX_CHNL_GROUP_24G		6
958 #define	MAX_CHNL_GROUP_5G		14
959 
960 /* It must always set to 4, otherwise read efuse table sequence will be wrong. */
961 #define	MAX_TX_COUNT				4
962 
963 typedef	enum _BT_Ant_NUM {
964 	Ant_x2	= 0,
965 	Ant_x1	= 1
966 } BT_Ant_NUM, *PBT_Ant_NUM;
967 
968 typedef	enum _BT_CoType {
969 	BT_2WIRE		= 0,
970 	BT_ISSC_3WIRE	= 1,
971 	BT_ACCEL		= 2,
972 	BT_CSR_BC4		= 3,
973 	BT_CSR_BC8		= 4,
974 	BT_RTL8756		= 5,
975 	BT_RTL8723A		= 6,
976 	BT_RTL8821		= 7,
977 	BT_RTL8723B		= 8,
978 	BT_RTL8192E		= 9,
979 	BT_RTL8814A		= 10,
980 	BT_RTL8812A		= 11,
981 	BT_RTL8703B		= 12,
982 	BT_RTL8822B		= 13,
983 	BT_RTL8723D		= 14,
984 	BT_RTL8821C		= 15,
985 	BT_RTL8192F		= 16,
986 	BT_RTL8822C		= 17,
987 	BT_RTL8814B		= 18,
988 	BT_RTL8723F		= 19,
989 } BT_CoType, *PBT_CoType;
990 
991 typedef	enum _BT_RadioShared {
992 	BT_Radio_Shared	= 0,
993 	BT_Radio_Individual	= 1,
994 } BT_RadioShared, *PBT_RadioShared;
995 
996 
997 #endif
998