1
0
mirror of https://github.com/abperiasamy/rtl8812AU_8821AU_linux.git synced 2025-10-19 09:01:10 +02:00
This commit is contained in:
Chen Minqiang
2016-10-10 02:54:43 +08:00
committed by Harshavardhana
parent c962f7a88d
commit 00aedbde5c
408 changed files with 192446 additions and 81116 deletions

View File

@@ -26,9 +26,9 @@
//====================================================
#define EEPROM_VID_92C 0x0A
#define EEPROM_PID_92C 0x0C
#define EEPROM_DID_92C 0x0C
#define EEPROM_DID_92C 0x0C
#define EEPROM_SVID_92C 0x0E
#define EEPROM_SMID_92C 0x10
#define EEPROM_SMID_92C 0x10
#define EEPROM_MAC_ADDR_92C 0x16
#define EEPROM_MAC_ADDR 0x16
@@ -58,6 +58,10 @@
#define BOARD_TYPE_TEST_MASK 0xF
#define EEPROM_TYPE_ID 0x7E
// PCIe related
#define EEPROM_PCIE_DEV_CAP_01 0xE0 // Express device capability in PCIe configuration space, i.e., map to offset 0x74
#define EEPROM_PCIE_DEV_CAP_02 0xE1 // Express device capability in PCIe configuration space, i.e., map to offset 0x75
// EEPROM address for Test chip
#define EEPROM_TEST_USB_OPT 0x0E
@@ -70,8 +74,8 @@
#define EEPROM_HT40_1S_TX_PWR_INX_8723A 0x16
#define EEPROM_HT20_TX_PWR_INX_DIFF_8723A 0x1C
#define EEPROM_OFDM_TX_PWR_INX_DIFF_8723A 0x1F
#define EEPROM_HT40_MAX_PWR_OFFSET_8723A 0x22
#define EEPROM_HT20_MAX_PWR_OFFSET_8723A 0x25
#define EEPROM_HT40_MAX_PWR_OFFSET_8723A 0x22
#define EEPROM_HT20_MAX_PWR_OFFSET_8723A 0x25
#define EEPROM_ChannelPlan_8723A 0x28
#define EEPROM_TSSI_A_8723A 0x29
@@ -158,7 +162,7 @@
#define EEPROM_HT20_MAX_PWR_OFFSET_5GH_92D 0xB8
#define EEPROM_CHANNEL_PLAN_92D 0xBB // Map of supported channels.
#define EEPROM_CHANNEL_PLAN_92D 0xBB // Map of supported channels.
#define EEPROM_TEST_CHANNEL_PLAN_92D 0xBB
#define EEPROM_THERMAL_METER_92D 0xC3 //[4:0]
#define EEPROM_IQK_DELTA_92D 0xBC
@@ -232,7 +236,8 @@
#define EEPROM_MAC_ADDR_88EU 0xD7
#define EEPROM_VID_88EU 0xD0
#define EEPROM_PID_88EU 0xD2
#define EEPROM_USB_OPTIONAL_FUNCTION0 0xD4
#define EEPROM_USB_OPTIONAL_FUNCTION0 0xD4 //8192EU, 8812AU is the same
#define EEPROM_USB_OPTIONAL_FUNCTION0_8811AU 0x104
// RTL88ES
#define EEPROM_MAC_ADDR_88ES 0x11A
@@ -276,7 +281,7 @@
#define EEPROM_LNA_TYPE_5G_8192EU 0xBF
// RTL8192ES
#define EEPROM_MAC_ADDR_8192ES 0x11B
#define EEPROM_MAC_ADDR_8192ES 0x11A
//====================================================
// EEPROM/Efuse PG Offset for 8812AE/8812AU/8812AS
//====================================================
@@ -373,11 +378,11 @@
#define EEPROM_VID_92SU 0x08
#define EEPROM_PID_92SU 0x0A
#define EEPROM_PID_92SU 0x0A
#define EEPROM_Version_92SU 0x50
#define EEPROM_TSSI_A_92SU 0x6b
#define EEPROM_TSSI_B_92SU 0x6c
#define EEPROM_TSSI_A_92SU 0x6b
#define EEPROM_TSSI_B_92SU 0x6c
//====================================================
// EEPROM/Efuse PG Offset for 8723BE/8723BU/8723BS
@@ -411,14 +416,15 @@
#define EEPROM_SMID_8723BE 0xDC
//RTL8723BU
#define EEPROM_MAC_ADDR_8723BU 0xD7
#define EEPROM_VID_8723BU 0xD0
#define EEPROM_PID_8723BU 0xD2
#define EEPROM_MAC_ADDR_8723BU 0x107
#define EEPROM_VID_8723BU 0x100
#define EEPROM_PID_8723BU 0x102
#define EEPROM_PA_TYPE_8723BU 0xBC
#define EEPROM_LNA_TYPE_2G_8723BU 0xBD
//RTL8723BS
#define EEPROM_MAC_ADDR_8723BS 0x11A
#define EEPROM_Voltage_ADDR_8723B 0x8
//====================================================
@@ -486,7 +492,7 @@
#define EEPROM_Default_HT20_Diff 2
#define EEPROM_Default_LegacyHTTxPowerDiff 0x3
#define EEPROM_Default_LegacyHTTxPowerDiff_92C 0x3
#define EEPROM_Default_LegacyHTTxPowerDiff_92D 0x4
#define EEPROM_Default_LegacyHTTxPowerDiff_92D 0x4
#define EEPROM_Default_HT40_PwrMaxOffset 0
#define EEPROM_Default_HT20_PwrMaxOffset 0
@@ -511,9 +517,9 @@
#define EEPROM_Default_LNAType 0
//New EFUSE deafult value
#define EEPROM_DEFAULT_24G_INDEX 0x2A
#define EEPROM_DEFAULT_24G_INDEX 0x2D
#define EEPROM_DEFAULT_24G_HT20_DIFF 0X02
#define EEPROM_DEFAULT_24G_OFDM_DIFF 0X04
#define EEPROM_DEFAULT_24G_OFDM_DIFF 0X04
#define EEPROM_DEFAULT_5G_INDEX 0X2A
#define EEPROM_DEFAULT_5G_HT20_DIFF 0X00
@@ -531,21 +537,23 @@
//
// For VHT series TX power by rate table.
// VHT TX power by rate off setArray =
// VHT TX power by rate off setArray =
// Band:-2G&5G = 0 / 1
// RF: at most 4*4 = ABCD=0/1/2/3
// CCK=0 OFDM=1/2 HT-MCS 0-15=3/4/56 VHT=7/8/9/10/11
// CCK=0 OFDM=1/2 HT-MCS 0-15=3/4/56 VHT=7/8/9/10/11
//
#define TX_PWR_BY_RATE_NUM_BAND 2
#define TX_PWR_BY_RATE_NUM_RF 4
#define TX_PWR_BY_RATE_NUM_SECTION 12
#define TX_PWR_BY_RATE_NUM_RATE 84
#define TXPWR_LMT_MAX_RF 4
//----------------------------------------------------------------------------
// EEPROM/EFUSE data structure definition.
//----------------------------------------------------------------------------
#define MAX_RF_PATH_NUM 2
#define MAX_CHNL_GROUP 3+9
typedef struct _TxPowerInfo{
typedef struct _TxPowerInfo {
u8 CCKIndex[MAX_RF_PATH_NUM][MAX_CHNL_GROUP];
u8 HT40_1SIndex[MAX_RF_PATH_NUM][MAX_CHNL_GROUP];
u8 HT40_2SIndexDiff[MAX_RF_PATH_NUM][MAX_CHNL_GROUP];
@@ -557,13 +565,13 @@ typedef struct _TxPowerInfo{
u8 TSSI_B[3];
u8 TSSI_A_5G[3]; //5GL/5GM/5GH
u8 TSSI_B_5G[3];
}TxPowerInfo, *PTxPowerInfo;
} TxPowerInfo, *PTxPowerInfo;
//For 88E new structure
/*
2.4G:
2.4G:
{
{1,2},
{3,4,5},
@@ -591,24 +599,24 @@ typedef struct _TxPowerInfo{
}
*/
#define MAX_RF_PATH 4
#define RF_PATH_MAX MAX_RF_PATH
#define MAX_CHNL_GROUP_24G 6
#define MAX_CHNL_GROUP_5G 14
#define RF_PATH_MAX MAX_RF_PATH
#define MAX_CHNL_GROUP_24G 6
#define MAX_CHNL_GROUP_5G 14
//It must always set to 4, otherwise read efuse table secquence will be wrong.
#define MAX_TX_COUNT 4
typedef struct _TxPowerInfo24G{
typedef struct _TxPowerInfo24G {
u8 IndexCCK_Base[MAX_RF_PATH][MAX_CHNL_GROUP_24G];
u8 IndexBW40_Base[MAX_RF_PATH][MAX_CHNL_GROUP_24G];
//If only one tx, only BW20 and OFDM are used.
s8 CCK_Diff[MAX_RF_PATH][MAX_TX_COUNT];
s8 CCK_Diff[MAX_RF_PATH][MAX_TX_COUNT];
s8 OFDM_Diff[MAX_RF_PATH][MAX_TX_COUNT];
s8 BW20_Diff[MAX_RF_PATH][MAX_TX_COUNT];
s8 BW40_Diff[MAX_RF_PATH][MAX_TX_COUNT];
}TxPowerInfo24G, *PTxPowerInfo24G;
} TxPowerInfo24G, *PTxPowerInfo24G;
typedef struct _TxPowerInfo5G{
typedef struct _TxPowerInfo5G {
u8 IndexBW40_Base[MAX_RF_PATH][MAX_CHNL_GROUP_5G];
//If only one tx, only BW20, OFDM, BW80 and BW160 are used.
s8 OFDM_Diff[MAX_RF_PATH][MAX_TX_COUNT];
@@ -616,17 +624,17 @@ typedef struct _TxPowerInfo5G{
s8 BW40_Diff[MAX_RF_PATH][MAX_TX_COUNT];
s8 BW80_Diff[MAX_RF_PATH][MAX_TX_COUNT];
s8 BW160_Diff[MAX_RF_PATH][MAX_TX_COUNT];
}TxPowerInfo5G, *PTxPowerInfo5G;
} TxPowerInfo5G, *PTxPowerInfo5G;
typedef enum _BT_Ant_NUM{
Ant_x2 = 0,
typedef enum _BT_Ant_NUM {
Ant_x2 = 0,
Ant_x1 = 1
} BT_Ant_NUM, *PBT_Ant_NUM;
typedef enum _BT_CoType{
BT_2Wire = 0,
BT_ISSC_3Wire = 1,
typedef enum _BT_CoType {
BT_2WIRE = 0,
BT_ISSC_3WIRE = 1,
BT_ACCEL = 2,
BT_CSR_BC4 = 3,
BT_CSR_BC8 = 4,
@@ -634,10 +642,13 @@ typedef enum _BT_CoType{
BT_RTL8723A = 6,
BT_RTL8821 = 7,
BT_RTL8723B = 8,
BT_RTL8192E = 9,
BT_RTL8813A = 10,
BT_RTL8812A = 11
} BT_CoType, *PBT_CoType;
typedef enum _BT_RadioShared{
BT_Radio_Shared = 0,
typedef enum _BT_RadioShared {
BT_Radio_Shared = 0,
BT_Radio_Individual = 1,
} BT_RadioShared, *PBT_RadioShared;