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