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_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 /* RTL8822CU */ 616 #define EEPROM_MAC_ADDR_8822CU 0x157 617 #define EEPROM_VID_8822CU 0x100 618 #define EEPROM_PID_8822CU 0x102 619 #define EEPROM_USB_OPTIONAL_FUNCTION0_8822CU 0x104 620 #define EEPROM_USB_MODE_8822CU 0x06 621 622 /* RTL8822CS */ 623 #define EEPROM_MAC_ADDR_8822CS 0x16A 624 625 /* RTL8822CE */ 626 #define EEPROM_MAC_ADDR_8822CE 0x120 627 628 /* **************************************************** 629 * EEPROM/Efuse PG Offset for 8192F 630 * **************************************************** */ 631 #define EEPROM_ChannelPlan_8192F 0xB8 632 #define EEPROM_XTAL_8192F 0xB9 633 #define EEPROM_THERMAL_METER_8192F 0xBA 634 #define EEPROM_IQK_LCK_8192F 0xBB 635 #define EEPROM_2G_5G_PA_TYPE_8192F 0xBC 636 #define EEPROM_2G_LNA_TYPE_GAIN_SEL_8192F 0xBD 637 #define EEPROM_5G_LNA_TYPE_GAIN_SEL_8192F 0xBF 638 639 #define EEPROM_RF_BOARD_OPTION_8192F 0xC1 640 #define EEPROM_FEATURE_OPTION_8192F 0xC2 641 #define EEPROM_RF_BT_SETTING_8192F 0xC3 642 #define EEPROM_VERSION_8192F 0xC4 643 #define EEPROM_CustomID_8192F 0xC5 644 #define EEPROM_TX_BBSWING_2G_8192F 0xC6 645 #define EEPROM_TX_BBSWING_5G_8192F 0xC7 646 #define EEPROM_TX_PWR_CALIBRATE_RATE_8192F 0xC8 647 #define EEPROM_RF_ANTENNA_OPT_8192F 0xC9 648 #define EEPROM_RFE_OPTION_8192F 0xCA 649 #define EEPROM_COUNTRY_CODE_8192F 0xCB 650 /*RTL8192FS*/ 651 #define EEPROM_MAC_ADDR_8192FS 0x11A 652 #define EEPROM_Voltage_ADDR_8192F 0x8 653 /* RTL8192FU */ 654 #define EEPROM_MAC_ADDR_8192FU 0x107 655 #define EEPROM_VID_8192FU 0x100 656 #define EEPROM_PID_8192FU 0x102 657 #define EEPROM_USB_OPTIONAL_FUNCTION0_8192FU 0x104 658 /* RTL8192FE */ 659 #define EEPROM_MAC_ADDR_8192FE 0xD0 660 #define EEPROM_VID_8192FE 0xD6 661 #define EEPROM_DID_8192FE 0xD8 662 #define EEPROM_SVID_8192FE 0xDA 663 #define EEPROM_SMID_8192FE 0xDC 664 665 /* **************************************************** 666 * EEPROM/Efuse PG Offset for 8710B 667 * **************************************************** */ 668 #define RTL_EEPROM_ID_8710B 0x8195 669 #define EEPROM_Default_ThermalMeter_8710B 0x1A 670 671 #define EEPROM_CHANNEL_PLAN_8710B 0xC8 672 #define EEPROM_XTAL_8710B 0xC9 673 #define EEPROM_THERMAL_METER_8710B 0xCA 674 #define EEPROM_IQK_LCK_8710B 0xCB 675 #define EEPROM_2G_5G_PA_TYPE_8710B 0xCC 676 #define EEPROM_2G_LNA_TYPE_GAIN_SEL_8710B 0xCD 677 #define EEPROM_5G_LNA_TYPE_GAIN_SEL_8710B 0xCF 678 #define EEPROM_TX_KFREE_8710B 0xEE //Physical Efuse Address 679 #define EEPROM_THERMAL_8710B 0xEF //Physical Efuse Address 680 #define EEPROM_PACKAGE_TYPE_8710B 0xF8 //Physical Efuse Address 681 682 #define EEPROM_RF_BOARD_OPTION_8710B 0x131 683 #define EEPROM_RF_FEATURE_OPTION_8710B 0x132 684 #define EEPROM_RF_BT_SETTING_8710B 0x133 685 #define EEPROM_VERSION_8710B 0x134 686 #define EEPROM_CUSTOM_ID_8710B 0x135 687 #define EEPROM_TX_BBSWING_2G_8710B 0x136 688 #define EEPROM_TX_BBSWING_5G_8710B 0x137 689 #define EEPROM_TX_PWR_CALIBRATE_RATE_8710B 0x138 690 #define EEPROM_RF_ANTENNA_OPT_8710B 0x139 691 #define EEPROM_RFE_OPTION_8710B 0x13A 692 #define EEPROM_COUNTRY_CODE_8710B 0x13B 693 #define EEPROM_COUNTRY_CODE_2_8710B 0x13C 694 695 #define EEPROM_MAC_ADDR_8710B 0x11A 696 #define EEPROM_VID_8710BU 0x1C0 697 #define EEPROM_PID_8710BU 0x1C2 698 699 /* **************************************************** 700 * EEPROM/Efuse PG Offset for 8814B 701 * **************************************************** */ 702 703 #define EEPROM_USB_MODE_8814BU 0x06 704 /* 0x10 ~ 0x63 = TX power area. */ 705 #define EEPROM_TX_PWR_INX_8814B 0x10 706 #define EEPROM_ChannelPlan_8814B 0xB8 707 #define EEPROM_XTAL_8814B 0xB9 708 #define EEPROM_THERMAL_METER_8814B 0xBA 709 #define EEPROM_IQK_LCK_8814B 0xBB 710 711 #define EEPROM_PA_TYPE_8814B 0xBC 712 #define EEPROM_LNA_TYPE_AB_2G_8814B 0xBD 713 #define EEPROM_LNA_TYPE_CD_2G_8814B 0xBE 714 #define EEPROM_LNA_TYPE_AB_5G_8814B 0xBF 715 #define EEPROM_LNA_TYPE_CD_5G_8814B 0xC0 716 #define EEPROM_RF_BOARD_OPTION_8814B 0xC1 717 #define EEPROM_RF_FEATURE_OPTION_8814B 0xC2 718 #define EEPROM_RF_BT_SETTING_8814B 0xC3 719 #define EEPROM_VERSION_8814B 0xC4 720 #define EEPROM_CustomID_8814B 0xC5 721 #define EEPROM_TX_BBSWING_2G_8814B 0xC6 722 #define EEPROM_TX_BBSWING_5G_8814B 0xC7 723 #define EEPROM_TX_PWR_CALIBRATE_RATE_8814B 0xC8 724 #define EEPROM_RF_ANTENNA_OPT_8814B 0xC9 725 #define EEPROM_RFE_OPTION_8814B 0xCA 726 #define EEPROM_COUNTRY_CODE_8814B 0xCB 727 728 #define EEPROM_MAC_ADDR_8814BE 0x120 729 #define EEPROM_VID_8814B 0x126 730 #define EEPROM_DID_8814B 0x128 731 #define EEPROM_SVID_8814B 0x12A 732 #define EEPROM_SMID_8814B 0x12C 733 734 /* RTL8814BU */ 735 #define EEPROM_MAC_ADDR_8814BU 0x157 736 #define EEPROM_VID_8814BU 0x150 737 #define EEPROM_PID_8814BU 0x152 738 #define EEPROM_USB_OPTIONAL_FUNCTION0_8814BU 0x154 739 740 /* **************************************************** 741 * EEPROM/Efuse Value Type 742 * **************************************************** */ 743 #define EETYPE_TX_PWR 0x0 744 #define EETYPE_MAX_RFE_8192F 0x31 745 /* **************************************************** 746 * EEPROM/Efuse Default Value 747 * **************************************************** */ 748 #define EEPROM_CID_DEFAULT 0x0 749 #define EEPROM_CID_DEFAULT_EXT 0xFF /* Reserved for Realtek */ 750 #define EEPROM_CID_TOSHIBA 0x4 751 #define EEPROM_CID_CCX 0x10 752 #define EEPROM_CID_QMI 0x0D 753 #define EEPROM_CID_WHQL 0xFE 754 755 #define EEPROM_CHANNEL_PLAN_FCC 0x0 756 #define EEPROM_CHANNEL_PLAN_IC 0x1 757 #define EEPROM_CHANNEL_PLAN_ETSI 0x2 758 #define EEPROM_CHANNEL_PLAN_SPAIN 0x3 759 #define EEPROM_CHANNEL_PLAN_FRANCE 0x4 760 #define EEPROM_CHANNEL_PLAN_MKK 0x5 761 #define EEPROM_CHANNEL_PLAN_MKK1 0x6 762 #define EEPROM_CHANNEL_PLAN_ISRAEL 0x7 763 #define EEPROM_CHANNEL_PLAN_TELEC 0x8 764 #define EEPROM_CHANNEL_PLAN_GLOBAL_DOMAIN 0x9 765 #define EEPROM_CHANNEL_PLAN_WORLD_WIDE_13 0xA 766 #define EEPROM_CHANNEL_PLAN_NCC_TAIWAN 0xB 767 #define EEPROM_CHANNEL_PLAN_CHIAN 0XC 768 #define EEPROM_CHANNEL_PLAN_SINGAPORE_INDIA_MEXICO 0XD 769 #define EEPROM_CHANNEL_PLAN_KOREA 0xE 770 #define EEPROM_CHANNEL_PLAN_TURKEY 0xF 771 #define EEPROM_CHANNEL_PLAN_JAPAN 0x10 772 #define EEPROM_CHANNEL_PLAN_FCC_NO_DFS 0x11 773 #define EEPROM_CHANNEL_PLAN_JAPAN_NO_DFS 0x12 774 #define EEPROM_CHANNEL_PLAN_WORLD_WIDE_5G 0x13 775 #define EEPROM_CHANNEL_PLAN_TAIWAN_NO_DFS 0x14 776 777 #define EEPROM_USB_OPTIONAL1 0xE 778 #define EEPROM_CHANNEL_PLAN_BY_HW_MASK 0x80 779 780 #define RTL_EEPROM_ID 0x8129 781 #define EEPROM_Default_TSSI 0x0 782 #define EEPROM_Default_BoardType 0x02 783 #define EEPROM_Default_ThermalMeter 0x12 784 #define EEPROM_Default_ThermalMeter_92SU 0x7 785 #define EEPROM_Default_ThermalMeter_88E 0x18 786 #define EEPROM_Default_ThermalMeter_8812 0x18 787 #define EEPROM_Default_ThermalMeter_8192E 0x1A 788 #define EEPROM_Default_ThermalMeter_8723B 0x18 789 #define EEPROM_Default_ThermalMeter_8703B 0x18 790 #define EEPROM_Default_ThermalMeter_8723D 0x18 791 #define EEPROM_Default_ThermalMeter_8188F 0x18 792 #define EEPROM_Default_ThermalMeter_8188GTV 0x18 793 #define EEPROM_Default_ThermalMeter_8814A 0x18 794 #define EEPROM_Default_ThermalMeter_8192F 0x1A 795 796 #define EEPROM_Default_CrystalCap 0x0 797 #define EEPROM_Default_CrystalCap_8723A 0x20 798 #define EEPROM_Default_CrystalCap_88E 0x20 799 #define EEPROM_Default_CrystalCap_8812 0x20 800 #define EEPROM_Default_CrystalCap_8814 0x20 801 #define EEPROM_Default_CrystalCap_8192E 0x20 802 #define EEPROM_Default_CrystalCap_8723B 0x20 803 #define EEPROM_Default_CrystalCap_8703B 0x20 804 #define EEPROM_Default_CrystalCap_8723D 0x20 805 #define EEPROM_Default_CrystalCap_8188F 0x20 806 #define EEPROM_Default_CrystalCap_8188GTV 0x20 807 #define EEPROM_Default_CrystalCap_8192F 0x20 808 #define EEPROM_Default_CrystalCap_8822C 0x3F 809 #define EEPROM_Default_CrystalCap_8814B 0x40 810 #define EEPROM_Default_CrystalFreq 0x0 811 #define EEPROM_Default_TxPowerLevel_92C 0x22 812 #define EEPROM_Default_TxPowerLevel_2G 0x2C 813 #define EEPROM_Default_TxPowerLevel_5G 0x22 814 #define EEPROM_Default_TxPowerLevel 0x22 815 #define EEPROM_Default_HT40_2SDiff 0x0 816 #define EEPROM_Default_HT20_Diff 2 817 #define EEPROM_Default_LegacyHTTxPowerDiff 0x3 818 #define EEPROM_Default_LegacyHTTxPowerDiff_92C 0x3 819 #define EEPROM_Default_LegacyHTTxPowerDiff_92D 0x4 820 #define EEPROM_Default_HT40_PwrMaxOffset 0 821 #define EEPROM_Default_HT20_PwrMaxOffset 0 822 823 #define EEPROM_Default_PID 0x1234 824 #define EEPROM_Default_VID 0x5678 825 #define EEPROM_Default_CustomerID 0xAB 826 #define EEPROM_Default_CustomerID_8188E 0x00 827 #define EEPROM_Default_SubCustomerID 0xCD 828 #define EEPROM_Default_Version 0 829 830 #define EEPROM_Default_externalPA_C9 0x00 831 #define EEPROM_Default_externalPA_CC 0xFF 832 #define EEPROM_Default_internalPA_SP3T_C9 0xAA 833 #define EEPROM_Default_internalPA_SP3T_CC 0xAF 834 #define EEPROM_Default_internalPA_SPDT_C9 0xAA 835 #ifdef CONFIG_PCI_HCI 836 #define EEPROM_Default_internalPA_SPDT_CC 0xA0 837 #else 838 #define EEPROM_Default_internalPA_SPDT_CC 0xFA 839 #endif 840 #define EEPROM_Default_PAType 0 841 #define EEPROM_Default_LNAType 0 842 843 /* New EFUSE default value */ 844 #define EEPROM_DEFAULT_CHANNEL_PLAN 0x7F 845 #define EEPROM_DEFAULT_BOARD_OPTION 0x00 846 #define EEPROM_DEFAULT_RFE_OPTION_8192E 0xFF 847 #define EEPROM_DEFAULT_RFE_OPTION_8188E 0xFF 848 #define EEPROM_DEFAULT_RFE_OPTION 0x04 849 #define EEPROM_DEFAULT_FEATURE_OPTION 0x00 850 #define EEPROM_DEFAULT_BT_OPTION 0x10 851 852 853 #define EEPROM_DEFAULT_TX_CALIBRATE_RATE 0x00 854 855 /* PCIe related */ 856 #define EEPROM_PCIE_DEV_CAP_01 0xE0 /* Express device capability in PCIe configuration space, i.e., map to offset 0x74 */ 857 #define EEPROM_PCIE_DEV_CAP_02 0xE1 /* Express device capability in PCIe configuration space, i.e., map to offset 0x75 */ 858 859 860 /* 861 * For VHT series TX power by rate table. 862 * VHT TX power by rate off setArray = 863 * Band:-2G&5G = 0 / 1 864 * RF: at most 4*4 = ABCD=0/1/2/3 865 * CCK=0 OFDM=1/2 HT-MCS 0-15=3/4/56 VHT=7/8/9/10/11 866 * */ 867 #define TX_PWR_BY_RATE_NUM_BAND 2 868 #define TX_PWR_BY_RATE_NUM_RF 4 869 #define TX_PWR_BY_RATE_NUM_RATE 84 870 871 #define TXPWR_LMT_MAX_RF 4 872 873 /* ---------------------------------------------------------------------------- 874 * EEPROM/EFUSE data structure definition. 875 * ---------------------------------------------------------------------------- */ 876 877 /* For 88E new structure */ 878 879 /* 880 2.4G: 881 { 882 {1,2}, 883 {3,4,5}, 884 {6,7,8}, 885 {9,10,11}, 886 {12,13}, 887 {14} 888 } 889 890 5G: 891 { 892 {36,38,40}, 893 {44,46,48}, 894 {52,54,56}, 895 {60,62,64}, 896 {100,102,104}, 897 {108,110,112}, 898 {116,118,120}, 899 {124,126,128}, 900 {132,134,136}, 901 {140,142,144}, 902 {149,151,153}, 903 {157,159,161}, 904 {173,175,177}, 905 } 906 */ 907 #define MAX_RF_PATH 4 908 #define RF_PATH_MAX MAX_RF_PATH 909 #define MAX_CHNL_GROUP_24G 6 910 #define MAX_CHNL_GROUP_5G 14 911 912 /* It must always set to 4, otherwise read efuse table sequence will be wrong. */ 913 #define MAX_TX_COUNT 4 914 915 typedef enum _BT_Ant_NUM { 916 Ant_x2 = 0, 917 Ant_x1 = 1 918 } BT_Ant_NUM, *PBT_Ant_NUM; 919 920 typedef enum _BT_CoType { 921 BT_2WIRE = 0, 922 BT_ISSC_3WIRE = 1, 923 BT_ACCEL = 2, 924 BT_CSR_BC4 = 3, 925 BT_CSR_BC8 = 4, 926 BT_RTL8756 = 5, 927 BT_RTL8723A = 6, 928 BT_RTL8821 = 7, 929 BT_RTL8723B = 8, 930 BT_RTL8192E = 9, 931 BT_RTL8814A = 10, 932 BT_RTL8812A = 11, 933 BT_RTL8703B = 12, 934 BT_RTL8822B = 13, 935 BT_RTL8723D = 14, 936 BT_RTL8821C = 15, 937 BT_RTL8192F = 16, 938 BT_RTL8822C = 17, 939 BT_RTL8814B = 18, 940 } BT_CoType, *PBT_CoType; 941 942 typedef enum _BT_RadioShared { 943 BT_Radio_Shared = 0, 944 BT_Radio_Individual = 1, 945 } BT_RadioShared, *PBT_RadioShared; 946 947 948 #endif 949