158391efdSNathan Chancellor /* SPDX-License-Identifier: GPL-2.0 */ 2554c0a3aSHans de Goede /****************************************************************************** 3554c0a3aSHans de Goede * 4554c0a3aSHans de Goede * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. 5554c0a3aSHans de Goede * 6554c0a3aSHans de Goede ******************************************************************************/ 7554c0a3aSHans de Goede 8554c0a3aSHans de Goede #ifndef __HAL_PG_H__ 9554c0a3aSHans de Goede #define __HAL_PG_H__ 10554c0a3aSHans de Goede 11554c0a3aSHans de Goede #define MAX_RF_PATH 4 12554c0a3aSHans de Goede /* MAX_TX_COUNT must always be set to 4, otherwise the read efuse table 13554c0a3aSHans de Goede * sequence will be wrong. 14554c0a3aSHans de Goede */ 15554c0a3aSHans de Goede #define MAX_TX_COUNT 4 16554c0a3aSHans de Goede 17*c4c7c718SFabio Aiuto /* TX power by rate table. */ 18*c4c7c718SFabio Aiuto /* RF: = AB = 0/1 */ 19*c4c7c718SFabio Aiuto /* CCK = 0 OFDM = 1 HT-MCS 0-7 = 2 */ 20554c0a3aSHans de Goede #define TX_PWR_BY_RATE_NUM_RATE 84 21554c0a3aSHans de Goede #define MAX_RF_PATH_NUM 2 22554c0a3aSHans de Goede #define MAX_CHNL_GROUP_24G 6 23554c0a3aSHans de Goede #define EEPROM_DEFAULT_BOARD_OPTION 0x00 24554c0a3aSHans de Goede 25554c0a3aSHans de Goede /* EEPROM/Efuse PG Offset for 8723BE/8723BU/8723BS */ 26554c0a3aSHans de Goede /* 0x10 ~ 0x63 = TX power area. */ 27554c0a3aSHans de Goede #define EEPROM_TX_PWR_INX_8723B 0x10 28554c0a3aSHans de Goede /* New EFUSE default value */ 29554c0a3aSHans de Goede #define EEPROM_DEFAULT_24G_INDEX 0x2D 30554c0a3aSHans de Goede #define EEPROM_DEFAULT_24G_HT20_DIFF 0X02 31554c0a3aSHans de Goede #define EEPROM_DEFAULT_24G_OFDM_DIFF 0X04 32554c0a3aSHans de Goede #define EEPROM_Default_ThermalMeter_8723B 0x18 33554c0a3aSHans de Goede #define EEPROM_Default_CrystalCap_8723B 0x20 34554c0a3aSHans de Goede 35554c0a3aSHans de Goede #define EEPROM_ChannelPlan_8723B 0xB8 36554c0a3aSHans de Goede #define EEPROM_XTAL_8723B 0xB9 37554c0a3aSHans de Goede #define EEPROM_THERMAL_METER_8723B 0xBA 38554c0a3aSHans de Goede 39554c0a3aSHans de Goede #define EEPROM_RF_BOARD_OPTION_8723B 0xC1 40554c0a3aSHans de Goede #define EEPROM_RF_BT_SETTING_8723B 0xC3 41554c0a3aSHans de Goede #define EEPROM_VERSION_8723B 0xC4 42554c0a3aSHans de Goede #define EEPROM_CustomID_8723B 0xC5 43554c0a3aSHans de Goede #define EEPROM_DEFAULT_DIFF 0XFE 44554c0a3aSHans de Goede 45554c0a3aSHans de Goede /* RTL8723BS */ 46554c0a3aSHans de Goede #define EEPROM_MAC_ADDR_8723BS 0x11A 47554c0a3aSHans de Goede #define EEPROM_Voltage_ADDR_8723B 0x8 48554c0a3aSHans de Goede #define RTL_EEPROM_ID 0x8129 49554c0a3aSHans de Goede 50554c0a3aSHans de Goede struct TxPowerInfo24G { 51554c0a3aSHans de Goede u8 IndexCCK_Base[MAX_RF_PATH][MAX_CHNL_GROUP_24G]; 52554c0a3aSHans de Goede u8 IndexBW40_Base[MAX_RF_PATH][MAX_CHNL_GROUP_24G]; 53554c0a3aSHans de Goede /* If only one tx, only BW20 and OFDM are used. */ 54554c0a3aSHans de Goede s8 CCK_Diff[MAX_RF_PATH][MAX_TX_COUNT]; 55554c0a3aSHans de Goede s8 OFDM_Diff[MAX_RF_PATH][MAX_TX_COUNT]; 56554c0a3aSHans de Goede s8 BW20_Diff[MAX_RF_PATH][MAX_TX_COUNT]; 57554c0a3aSHans de Goede s8 BW40_Diff[MAX_RF_PATH][MAX_TX_COUNT]; 58554c0a3aSHans de Goede }; 59554c0a3aSHans de Goede 60554c0a3aSHans de Goede enum { 61554c0a3aSHans de Goede Ant_x2 = 0, 62554c0a3aSHans de Goede Ant_x1 = 1 63554c0a3aSHans de Goede }; 64554c0a3aSHans de Goede 65554c0a3aSHans de Goede enum { 66554c0a3aSHans de Goede BT_RTL8723B = 8, 67554c0a3aSHans de Goede }; 68554c0a3aSHans de Goede 69554c0a3aSHans de Goede #endif 70