// SPDX-License-Identifier: GPL-2.0
/* Copyright(c) 2007 - 2017 Realtek Corporation */
/*Image2HeaderVersion: 3.5.2*/
#include "mp_precomp.h"
#include "phydm_precomp.h"
static bool
check_positive(
struct PHY_DM_STRUCT *p_dm,
const u32 condition1,
const u32 condition2,
const u32 condition3,
const u32 condition4
)
{
u8 _board_type = ((p_dm->board_type & BIT(4)) >> 4) << 0 | /* _GLNA*/
((p_dm->board_type & BIT(3)) >> 3) << 1 | /* _GPA*/
((p_dm->board_type & BIT(7)) >> 7) << 2 | /* _ALNA*/
((p_dm->board_type & BIT(6)) >> 6) << 3 | /* _APA */
((p_dm->board_type & BIT(2)) >> 2) << 4 | /* _BT*/
((p_dm->board_type & BIT(1)) >> 1) << 5 | /* _NGFF*/
((p_dm->board_type & BIT(5)) >> 5) << 6; /* _TRSWT*/
u32 cond1 = condition1, cond2 = condition2, cond3 = condition3, cond4 = condition4;
u8 cut_version_for_para = (p_dm->cut_version == ODM_CUT_A) ? 15 : p_dm->cut_version;
u8 pkg_type_for_para = (p_dm->package_type == 0) ? 15 : p_dm->package_type;
u32 driver1 = cut_version_for_para << 24 |
(p_dm->support_interface & 0xF0) << 16 |
p_dm->support_platform << 16 |
pkg_type_for_para << 12 |
(p_dm->support_interface & 0x0F) << 8 |
_board_type;
u32 driver2 = (p_dm->type_glna & 0xFF) << 0 |
(p_dm->type_gpa & 0xFF) << 8 |
(p_dm->type_alna & 0xFF) << 16 |
(p_dm->type_apa & 0xFF) << 24;
u32 driver3 = 0;
u32 driver4 = (p_dm->type_glna & 0xFF00) >> 8 |
(p_dm->type_gpa & 0xFF00) |
(p_dm->type_alna & 0xFF00) << 8 |
(p_dm->type_apa & 0xFF00) << 16;
PHYDM_DBG(p_dm, ODM_COMP_INIT,
("===> check_positive (cond1, cond2, cond3, cond4) = (0x%X 0x%X 0x%X 0x%X)\n", cond1, cond2, cond3, cond4));
PHYDM_DBG(p_dm, ODM_COMP_INIT,
("===> check_positive (driver1, driver2, driver3, driver4) = (0x%X 0x%X 0x%X 0x%X)\n", driver1, driver2, driver3, driver4));
PHYDM_DBG(p_dm, ODM_COMP_INIT,
(" (Platform, Interface) = (0x%X, 0x%X)\n", p_dm->support_platform, p_dm->support_interface));
PHYDM_DBG(p_dm, ODM_COMP_INIT,
(" (Board, Package) = (0x%X, 0x%X)\n", p_dm->board_type, p_dm->package_type));
/*============== value Defined Check ===============*/
/*QFN type [15:12] and cut version [27:24] need to do value check*/
if (((cond1 & 0x0000F000) != 0) && ((cond1 & 0x0000F000) != (driver1 & 0x0000F000)))
return false;
if (((cond1 & 0x0F000000) != 0) && ((cond1 & 0x0F000000) != (driver1 & 0x0F000000)))
return false;
/*=============== Bit Defined Check ================*/
/* We don't care [31:28] */
cond1 &= 0x00FF0FFF;
driver1 &= 0x00FF0FFF;
if ((cond1 & driver1) == cond1) {
u32 bit_mask = 0;
if ((cond1 & 0x0F) == 0) /* board_type is DONTCARE*/
return true;
if ((cond1 & BIT(0)) != 0) /*GLNA*/
bit_mask |= 0x000000FF;
if ((cond1 & BIT(1)) != 0) /*GPA*/
bit_mask |= 0x0000FF00;
if ((cond1 & BIT(2)) != 0) /*ALNA*/
bit_mask |= 0x00FF0000;
if ((cond1 & BIT(3)) != 0) /*APA*/
bit_mask |= 0xFF000000;
if (((cond2 & bit_mask) == (driver2 & bit_mask)) && ((cond4 & bit_mask) == (driver4 & bit_mask))) /* board_type of each RF path is matched*/
return true;
else
return false;
} else
return false;
}
/******************************************************************************
* radioa.TXT
******************************************************************************/
static u32 array_mp_8723d_radioa[] = {
0x050, 0x0001C000,
0x049, 0x0004AA00,
0x000, 0x00010000,
0x0B1, 0x00054573,
0x0B4, 0x000508AB,
0x0B7, 0x00014787,
0x0B8, 0x000064CB,
0x01B, 0x00073A40,
0x051, 0x00038CAF,
0x052, 0x000FCCA3,
0x053, 0x00090F38,
0x054, 0x00011083,
0x057, 0x000D0000,
0x08D, 0x00000A1A,
0x082, 0x00082AAC,
0x08E, 0x00076940,
0x08F, 0x00088400,
0x061, 0x00038CAF,
0x062, 0x000FCCA3,
0x063, 0x00090F38,
0x064, 0x00011083,
0x067, 0x000D0000,
0x092, 0x00082AAC,
0x0EF, 0x00000400,
0x030, 0x000008CA,
0x030, 0x000018CA,
0x030, 0x000028CA,
0x030, 0x000038CA,
0x0EF, 0x00000000,
0x0EE, 0x00000400,
0x030, 0x000008CA,
0x030, 0x000018CA,
0x030, 0x000028CA,
0x030, 0x000038CA,
0x0EE, 0x00000000,
0x0EF, 0x00000100,
0x033, 0x00000000,
0x03F, 0x0000CCA3,
0x033, 0x00000001,
0x03F, 0x0000CCA3,
0x033, 0x00000002,
0x03F, 0x0000CCA3,
0x033, 0x00000003,
0x03F, 0x0000CCA3,
0x033, 0x00000004,
0x03F, 0x0000CCA3,
0x033, 0x00000005,
0x03F, 0x0000CCA3,
0x033, 0x00000006,
0x03F, 0x0000CCA3,
0x033, 0x00000007,
0x03F, 0x0000CCA3,
0x0EF, 0x00000000,
0x0EE, 0x00000100,
0x033, 0x00000000,
0x03F, 0x0000CCA3,
0x033, 0x00000001,
0x03F, 0x0000CCA3,
0x033, 0x00000002,
0x03F, 0x0000CCA3,
0x033, 0x00000003,
0x03F, 0x0000CCA3,
0x033, 0x00000004,
0x03F, 0x0000CCA3,
0x033, 0x00000005,
0x03F, 0x0000CCA3,
0x033, 0x00000006,
0x03F, 0x0000CCA3,
0x033, 0x00000007,
0x03F, 0x0000CCA3,
0x0EE, 0x00000000,
0x0EF, 0x00000800,
0x030, 0x0000002D,
0x030, 0x0000122C,
0x030, 0x0000222F,
0x030, 0x0000326C,
0x030, 0x0000466B,
0x030, 0x0000566E,
0x030, 0x000066EB,
0x030, 0x000077EC,
0x030, 0x000087EF,
0x030, 0x000097F2,
0x030, 0x0000A7F5,
0x0EF, 0x00000000,
0x0EE, 0x00000800,
0x030, 0x00000001,
0x030, 0x00001011,
0x030, 0x00002011,
0x030, 0x00003013,
0x030, 0x00004033,
0x030, 0x00005033,
0x030, 0x00006037,
0x030, 0x0000703F,
0x030, 0x0000803F,
0x030, 0x0000903F,
0x030, 0x0000A03F,
0x0EE, 0x00000000,
0x082, 0x00083B8C,
0x0ED, 0x00000008,
0x030, 0x000030F6,
0x030, 0x00002004,
0x030, 0x000010F6,
0x030, 0x000000F6,
0x0ED, 0x00000000,
0x092, 0x00083B8C,
0x0EC, 0x00000008,
0x030, 0x000030F6,
0x030, 0x00002004,
0x030, 0x000010F6,
0x030, 0x000000F6,
0x0EC, 0x00000000,
0x0EF, 0x00010000,
0x030, 0x0001C11C,
0x030, 0x000181F4,
0x030, 0x00014108,
0x030, 0x000101E4,
0x030, 0x0000C11C,
0x030, 0x000081F4,
0x030, 0x00004108,
0x030, 0x000001E4,
0x0EF, 0x00000000,
0x0EE, 0x00010000,
0x030, 0x0001C11C,
0x030, 0x000181F4,
0x030, 0x00014108,
0x030, 0x000101E4,
0x030, 0x0000C11C,
0x030, 0x000081F4,
0x030, 0x00004108,
0x030, 0x000001E4,
0x0EE, 0x00000000,
0x0EF, 0x00080000,
0x033, 0x00000007,
0x03E, 0x0000005F,
0x03F, 0x000B3FDB,
0x033, 0x00000004,
0x03E, 0x0000005D,
0x03F, 0x000BFFE0,
0x033, 0x00000005,
0x03E, 0x0000005D,
0x03F, 0x000FBFCE,
0x033, 0x00000006,
0x03E, 0x0000005F,
0x03F, 0x000A7FFB,
0x0EF, 0x00000000,
0x0EE, 0x00000002,
0x030, 0x00000001,
0x030, 0x00002001,
0x030, 0x00004001,
0x030, 0x00007001,
0x030, 0x00006001,
0x030, 0x00020001,
0x030, 0x00022001,
0x030, 0x00024001,
0x030, 0x00027001,
0x030, 0x00026001,
0x030, 0x00034001,
0x030, 0x00037001,
0x030, 0x00036001,
0x030, 0x00008000,
0x030, 0x0000A000,
0x030, 0x0000C000,
0x83000100, 0x00000000, 0x40000000, 0x00000000,
0x030, 0x0000E024,
0xA0000000, 0x00000000,
0x030, 0x0000E000,
0xB0000000, 0x00000000,
0x030, 0x0001C000,
0x030, 0x0001E000,
0x0EE, 0x00000000,
0x0EE, 0x00020000,
0x0EF, 0x00020000,
0x030, 0x00000F75,
0x030, 0x00002F55,
0x030, 0x00003F75,
0x0EE, 0x00000000,
0x0EF, 0x00000000,
0x018, 0x00008401,
0xFFE, 0x00000000,
};
void
odm_read_and_config_mp_8723d_radioa(
struct PHY_DM_STRUCT *p_dm
)
{
u32 i = 0;
u8 c_cond;
bool is_matched = true, is_skipped = false;
u32 array_len = sizeof(array_mp_8723d_radioa)/sizeof(u32);
u32 *array = array_mp_8723d_radioa;
u32 v1 = 0, v2 = 0, pre_v1 = 0, pre_v2 = 0;
PHYDM_DBG(p_dm, ODM_COMP_INIT, ("===> odm_read_and_config_mp_8723d_radioa\n"));
while ((i + 1) < array_len) {
v1 = array[i];
v2 = array[i + 1];
if (v1 & (BIT(31) | BIT(30))) {/*positive & negative condition*/
if (v1 & BIT(31)) {/* positive condition*/
c_cond = (u8)((v1 & (BIT(29)|BIT(28))) >> 28);
if (c_cond == COND_ENDIF) {/*end*/
is_matched = true;
is_skipped = false;
PHYDM_DBG(p_dm, ODM_COMP_INIT, ("ENDIF\n"));
} else if (c_cond == COND_ELSE) { /*else*/
is_matched = is_skipped?false:true;
PHYDM_DBG(p_dm, ODM_COMP_INIT, ("ELSE\n"));
} else {/*if , else if*/
pre_v1 = v1;
pre_v2 = v2;
PHYDM_DBG(p_dm, ODM_COMP_INIT, ("IF or ELSE IF\n"));
}
} else if (v1 & BIT(30)) { /*negative condition*/
if (!is_skipped) {
if (check_positive(p_dm, pre_v1, pre_v2, v1, v2)) {
is_matched = true;
is_skipped = true;
} else {
is_matched = false;
is_skipped = false;
}
} else
is_matched = false;
}
} else {
if (is_matched)
odm_config_rf_radio_a_8723d(p_dm, v1, v2);
}
i = i + 2;
}
}
u32
odm_get_version_mp_8723d_radioa(void)
{
return 37;
}
/******************************************************************************
* txpowertrack_pcie.TXT
******************************************************************************/
void
odm_read_and_config_mp_8723d_txpowertrack_pcie(
struct PHY_DM_STRUCT *p_dm
)
{
}
/******************************************************************************
* txpowertrack_sdio.TXT
******************************************************************************/
void
odm_read_and_config_mp_8723d_txpowertrack_sdio(
struct PHY_DM_STRUCT *p_dm
)
{
}
/******************************************************************************
* txpowertrack_usb.TXT
******************************************************************************/
static u8 g_delta_swing_table_idx_mp_5gb_n_txpowertrack_usb_8723d[][DELTA_SWINGIDX_SIZE] = {
{0, 1, 2, 3, 3, 5, 5, 6, 6, 7, 8, 9, 10, 11, 11, 12, 12, 13, 13, 14, 14, 15, 16, 17, 17, 17, 17, 18, 18, 18},
{0, 1, 2, 3, 3, 5, 5, 6, 6, 7, 8, 9, 10, 11, 11, 12, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 18, 18, 18},
{0, 1, 2, 3, 3, 5, 5, 6, 6, 7, 8, 9, 10, 11, 11, 12, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 18, 18, 18},
};
static u8 g_delta_swing_table_idx_mp_5gb_p_txpowertrack_usb_8723d[][DELTA_SWINGIDX_SIZE] = {
{0, 1, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
};
static u8 g_delta_swing_table_idx_mp_5ga_n_txpowertrack_usb_8723d[][DELTA_SWINGIDX_SIZE] = {
{0, 1, 2, 3, 3, 5, 5, 6, 6, 7, 8, 9, 10, 11, 11, 12, 12, 13, 13, 14, 14, 15, 16, 17, 17, 17, 17, 18, 18, 18},
{0, 1, 2, 3, 3, 5, 5, 6, 6, 7, 8, 9, 10, 11, 11, 12, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 18, 18, 18},
{0, 1, 2, 3, 3, 5, 5, 6, 6, 7, 8, 9, 10, 11, 11, 12, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 18, 18, 18},
};
static u8 g_delta_swing_table_idx_mp_5ga_p_txpowertrack_usb_8723d[][DELTA_SWINGIDX_SIZE] = {
{0, 1, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
};
static u8 g_delta_swing_table_idx_mp_2gb_n_txpowertrack_usb_8723d[] =
{0, 0, 1, 1, 1, 2, 2, 3, 4, 4, 4, 4, 5, 5, 5, 6, 6, 7, 7, 8, 8,
8, 9, 9, 9, 10, 10, 10, 10, 10};
static u8 g_delta_swing_table_idx_mp_2gb_p_txpowertrack_usb_8723d[] =
{0, 0, 1, 1, 2, 2, 2, 3, 3, 4, 4, 5, 5, 6, 7, 7, 8, 8, 8, 9, 9,
10, 10, 10, 10, 10, 10, 10, 10, 10};
static u8 g_delta_swing_table_idx_mp_2ga_n_txpowertrack_usb_8723d[] =
{0, 0, 1, 1, 1, 2, 2, 3, 4, 4, 4, 4, 5, 5, 5, 6, 6, 7, 7, 8, 8,
8, 9, 9, 9, 10, 10, 10, 10, 10};
static u8 g_delta_swing_table_idx_mp_2ga_p_txpowertrack_usb_8723d[] =
{0, 0, 1, 1, 2, 2, 2, 3, 3, 4, 4, 5, 5, 6, 7, 7, 8, 8, 8, 9, 9,
10, 10, 10, 10, 10, 10, 10, 10, 10};
static u8 g_delta_swing_table_idx_mp_2g_cck_b_n_txpowertrack_usb_8723d[] =
{0, 1, 1, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8,
9, 9, 10, 10, 11, 11, 11, 11, 11};
static u8 g_delta_swing_table_idx_mp_2g_cck_b_p_txpowertrack_usb_8723d[] =
{0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 9, 9, 10,
10, 11, 11, 11, 11, 11, 11, 11, 11, 11};
static u8 g_delta_swing_table_idx_mp_2g_cck_a_n_txpowertrack_usb_8723d[] =
{0, 1, 1, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 9,
9, 10, 10, 11, 11, 11, 11, 11};
static u8 g_delta_swing_table_idx_mp_2g_cck_a_p_txpowertrack_usb_8723d[] =
{0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 9, 9, 10,
10, 11, 11, 11, 11, 11, 11, 11, 11, 11};
void
odm_read_and_config_mp_8723d_txpowertrack_usb(
struct PHY_DM_STRUCT *p_dm
)
{
struct odm_rf_calibration_structure *p_rf_calibrate_info = &(p_dm->rf_calibrate_info);
PHYDM_DBG(p_dm, ODM_COMP_INIT, ("===> ODM_ReadAndConfig_MP_mp_8723d\n"));
odm_move_memory(p_dm, p_rf_calibrate_info->delta_swing_table_idx_2ga_p, g_delta_swing_table_idx_mp_2ga_p_txpowertrack_usb_8723d, DELTA_SWINGIDX_SIZE);
odm_move_memory(p_dm, p_rf_calibrate_info->delta_swing_table_idx_2ga_n, g_delta_swing_table_idx_mp_2ga_n_txpowertrack_usb_8723d, DELTA_SWINGIDX_SIZE);
odm_move_memory(p_dm, p_rf_calibrate_info->delta_swing_table_idx_2gb_p, g_delta_swing_table_idx_mp_2gb_p_txpowertrack_usb_8723d, DELTA_SWINGIDX_SIZE);
odm_move_memory(p_dm, p_rf_calibrate_info->delta_swing_table_idx_2gb_n, g_delta_swing_table_idx_mp_2gb_n_txpowertrack_usb_8723d, DELTA_SWINGIDX_SIZE);
odm_move_memory(p_dm, p_rf_calibrate_info->delta_swing_table_idx_2g_cck_a_p, g_delta_swing_table_idx_mp_2g_cck_a_p_txpowertrack_usb_8723d, DELTA_SWINGIDX_SIZE);
odm_move_memory(p_dm, p_rf_calibrate_info->delta_swing_table_idx_2g_cck_a_n, g_delta_swing_table_idx_mp_2g_cck_a_n_txpowertrack_usb_8723d, DELTA_SWINGIDX_SIZE);
odm_move_memory(p_dm, p_rf_calibrate_info->delta_swing_table_idx_2g_cck_b_p, g_delta_swing_table_idx_mp_2g_cck_b_p_txpowertrack_usb_8723d, DELTA_SWINGIDX_SIZE);
odm_move_memory(p_dm, p_rf_calibrate_info->delta_swing_table_idx_2g_cck_b_n, g_delta_swing_table_idx_mp_2g_cck_b_n_txpowertrack_usb_8723d, DELTA_SWINGIDX_SIZE);
odm_move_memory(p_dm, p_rf_calibrate_info->delta_swing_table_idx_5ga_p, g_delta_swing_table_idx_mp_5ga_p_txpowertrack_usb_8723d, DELTA_SWINGIDX_SIZE*3);
odm_move_memory(p_dm, p_rf_calibrate_info->delta_swing_table_idx_5ga_n, g_delta_swing_table_idx_mp_5ga_n_txpowertrack_usb_8723d, DELTA_SWINGIDX_SIZE*3);
odm_move_memory(p_dm, p_rf_calibrate_info->delta_swing_table_idx_5gb_p, g_delta_swing_table_idx_mp_5gb_p_txpowertrack_usb_8723d, DELTA_SWINGIDX_SIZE*3);
odm_move_memory(p_dm, p_rf_calibrate_info->delta_swing_table_idx_5gb_n, g_delta_swing_table_idx_mp_5gb_n_txpowertrack_usb_8723d, DELTA_SWINGIDX_SIZE*3);
}
/******************************************************************************
* txpwr_lmt.TXT
******************************************************************************/
static const char *array_mp_8723d_txpwr_lmt[] = {
"FCC", "2.4G", "20M", "CCK", "1T", "01", "30",
"ETSI", "2.4G", "20M", "CCK", "1T", "01", "30",
"MKK", "2.4G", "20M", "CCK", "1T", "01", "30",
"FCC", "2.4G", "20M", "CCK", "1T", "02", "30",
"ETSI", "2.4G", "20M", "CCK", "1T", "02", "30",
"MKK", "2.4G", "20M", "CCK", "1T", "02", "30",
"FCC", "2.4G", "20M", "CCK", "1T", "03", "30",
"ETSI", "2.4G", "20M", "CCK", "1T", "03", "30",
"MKK", "2.4G", "20M", "CCK", "1T", "03", "30",
"FCC", "2.4G", "20M", "CCK", "1T", "04", "30",
"ETSI", "2.4G", "20M", "CCK", "1T", "04", "30",
"MKK", "2.4G", "20M", "CCK", "1T", "04", "30",
"FCC", "2.4G", "20M", "CCK", "1T", "05", "30",
"ETSI", "2.4G", "20M", "CCK", "1T", "05", "30",
"MKK", "2.4G", "20M", "CCK", "1T", "05", "30",
"FCC", "2.4G", "20M", "CCK", "1T", "06", "30",
"ETSI", "2.4G", "20M", "CCK", "1T", "06", "30",
"MKK", "2.4G", "20M", "CCK", "1T", "06", "30",
"FCC", "2.4G", "20M", "CCK", "1T", "07", "30",
"ETSI", "2.4G", "20M", "CCK", "1T", "07", "30",
"MKK", "2.4G", "20M", "CCK", "1T", "07", "30",
"FCC", "2.4G", "20M", "CCK", "1T", "08", "30",
"ETSI", "2.4G", "20M", "CCK", "1T", "08", "30",
"MKK", "2.4G", "20M", "CCK", "1T", "08", "30",
"FCC", "2.4G", "20M", "CCK", "1T", "09", "30",
"ETSI", "2.4G", "20M", "CCK", "1T", "09", "30",
"MKK", "2.4G", "20M", "CCK", "1T", "09", "30",
"FCC", "2.4G", "20M", "CCK", "1T", "10", "30",
"ETSI", "2.4G", "20M", "CCK", "1T", "10", "30",
"MKK", "2.4G", "20M", "CCK", "1T", "10", "30",
"FCC", "2.4G", "20M", "CCK", "1T", "11", "30",
"ETSI", "2.4G", "20M", "CCK", "1T", "11", "30",
"MKK", "2.4G", "20M", "CCK", "1T", "11", "30",
"FCC", "2.4G", "20M", "CCK", "1T", "12", "30",
"ETSI", "2.4G", "20M", "CCK", "1T", "12", "30",
"MKK", "2.4G", "20M", "CCK", "1T", "12", "30",
"FCC", "2.4G", "20M", "CCK", "1T", "13", "17",
"ETSI", "2.4G", "20M", "CCK", "1T", "13", "30",
"MKK", "2.4G", "20M", "CCK", "1T", "13", "30",
"FCC", "2.4G", "20M", "CCK", "1T", "14", "63",
"ETSI", "2.4G", "20M", "CCK", "1T", "14", "63",
"MKK", "2.4G", "20M", "CCK", "1T", "14", "30",
"FCC", "2.4G", "20M", "OFDM", "1T", "01", "26",
"ETSI", "2.4G", "20M", "OFDM", "1T", "01", "31",
"MKK", "2.4G", "20M", "OFDM", "1T", "01", "31",
"FCC", "2.4G", "20M", "OFDM", "1T", "02", "28",
"ETSI", "2.4G", "20M", "OFDM", "1T", "02", "31",
"MKK", "2.4G", "20M", "OFDM", "1T", "02", "31",
"FCC", "2.4G", "20M", "OFDM", "1T", "03", "30",
"ETSI", "2.4G", "20M", "OFDM", "1T", "03", "31",
"MKK", "2.4G", "20M", "OFDM", "1T", "03", "31",
"FCC", "2.4G", "20M", "OFDM", "1T", "04", "30",
"ETSI", "2.4G", "20M", "OFDM", "1T", "04", "31",
"MKK", "2.4G", "20M", "OFDM", "1T", "04", "31",
"FCC", "2.4G", "20M", "OFDM", "1T", "05", "30",
"ETSI", "2.4G", "20M", "OFDM", "1T", "05", "31",
"MKK", "2.4G", "20M", "OFDM", "1T", "05", "31",
"FCC", "2.4G", "20M", "OFDM", "1T", "06", "30",
"ETSI", "2.4G", "20M", "OFDM", "1T", "06", "31",
"MKK", "2.4G", "20M", "OFDM", "1T", "06", "31",
"FCC", "2.4G", "20M", "OFDM", "1T", "07", "30",
"ETSI", "2.4G", "20M", "OFDM", "1T", "07", "31",
"MKK", "2.4G", "20M", "OFDM", "1T", "07", "31",
"FCC", "2.4G", "20M", "OFDM", "1T", "08", "30",
"ETSI", "2.4G", "20M", "OFDM", "1T", "08", "31",
"MKK", "2.4G", "20M", "OFDM", "1T", "08", "31",
"FCC", "2.4G", "20M", "OFDM", "1T", "09", "30",
"ETSI", "2.4G", "20M", "OFDM", "1T", "09", "31",
"MKK", "2.4G", "20M", "OFDM", "1T", "09", "31",
"FCC", "2.4G", "20M", "OFDM", "1T", "10", "28",
"ETSI", "2.4G", "20M", "OFDM", "1T", "10", "31",
"MKK", "2.4G", "20M", "OFDM", "1T", "10", "31",
"FCC", "2.4G", "20M", "OFDM", "1T", "11", "26",
"ETSI", "2.4G", "20M", "OFDM", "1T", "11", "31",
"MKK", "2.4G", "20M", "OFDM", "1T", "11", "31",
"FCC", "2.4G", "20M", "OFDM", "1T", "12", "24",
"ETSI", "2.4G", "20M", "OFDM", "1T", "12", "31",
"MKK", "2.4G", "20M", "OFDM", "1T", "12", "31",
"FCC", "2.4G", "20M", "OFDM", "1T", "13", "14",
"ETSI", "2.4G", "20M", "OFDM", "1T", "13", "31",
"MKK", "2.4G", "20M", "OFDM", "1T", "13", "31",
"FCC", "2.4G", "20M", "OFDM", "1T", "14", "63",
"ETSI", "2.4G", "20M", "OFDM", "1T", "14", "63",
"MKK", "2.4G", "20M", "OFDM", "1T", "14", "63",
"FCC", "2.4G", "20M", "HT", "1T", "01", "24",
"ETSI", "2.4G", "20M", "HT", "1T", "01", "31",
"MKK", "2.4G", "20M", "HT", "1T", "01", "31",
"FCC", "2.4G", "20M", "HT", "1T", "02", "26",
"ETSI", "2.4G", "20M", "HT", "1T", "02", "31",
"MKK", "2.4G", "20M", "HT", "1T", "02", "31",
"FCC", "2.4G", "20M", "HT", "1T", "03", "30",
"ETSI", "2.4G", "20M", "HT", "1T", "03", "31",
"MKK", "2.4G", "20M", "HT", "1T", "03", "31",
"FCC", "2.4G", "20M", "HT", "1T", "04", "30",
"ETSI", "2.4G", "20M", "HT", "1T", "04", "31",
"MKK", "2.4G", "20M", "HT", "1T", "04", "31",
"FCC", "2.4G", "20M", "HT", "1T", "05", "30",
"ETSI", "2.4G", "20M", "HT", "1T", "05", "31",
"MKK", "2.4G", "20M", "HT", "1T", "05", "31",
"FCC", "2.4G", "20M", "HT", "1T", "06", "30",
"ETSI", "2.4G", "20M", "HT", "1T", "06", "31",
"MKK", "2.4G", "20M", "HT", "1T", "06", "31",
"FCC", "2.4G", "20M", "HT", "1T", "07", "30",
"ETSI", "2.4G", "20M", "HT", "1T", "07", "31",
"MKK", "2.4G", "20M", "HT", "1T", "07", "31",
"FCC", "2.4G", "20M", "HT", "1T", "08", "30",
"ETSI", "2.4G", "20M", "HT", "1T", "08", "31",
"MKK", "2.4G", "20M", "HT", "1T", "08", "31",
"FCC", "2.4G", "20M", "HT", "1T", "09", "30",
"ETSI", "2.4G", "20M", "HT", "1T", "09", "31",
"MKK", "2.4G", "20M", "HT", "1T", "09", "31",
"FCC", "2.4G", "20M", "HT", "1T", "10", "26",
"ETSI", "2.4G", "20M", "HT", "1T", "10", "31",
"MKK", "2.4G", "20M", "HT", "1T", "10", "31",
"FCC", "2.4G", "20M", "HT", "1T", "11", "24",
"ETSI", "2.4G", "20M", "HT", "1T", "11", "31",
"MKK", "2.4G", "20M", "HT", "1T", "11", "31",
"FCC", "2.4G", "20M", "HT", "1T", "12", "23",
"ETSI", "2.4G", "20M", "HT", "1T", "12", "31",
"MKK", "2.4G", "20M", "HT", "1T", "12", "31",
"FCC", "2.4G", "20M", "HT", "1T", "13", "13",
"ETSI", "2.4G", "20M", "HT", "1T", "13", "31",
"MKK", "2.4G", "20M", "HT", "1T", "13", "31",
"FCC", "2.4G", "20M", "HT", "1T", "14", "63",
"ETSI", "2.4G", "20M", "HT", "1T", "14", "63",
"MKK", "2.4G", "20M", "HT", "1T", "14", "63",
"FCC", "2.4G", "20M", "HT", "2T", "01", "28",
"ETSI", "2.4G", "20M", "HT", "2T", "01", "30",
"MKK", "2.4G", "20M", "HT", "2T", "01", "30",
"FCC", "2.4G", "20M", "HT", "2T", "02", "28",
"ETSI", "2.4G", "20M", "HT", "2T", "02", "30",
"MKK", "2.4G", "20M", "HT", "2T", "02", "30",
"FCC", "2.4G", "20M", "HT", "2T", "03", "30",
"ETSI", "2.4G", "20M", "HT", "2T", "03", "30",
"MKK", "2.4G", "20M", "HT", "2T", "03", "30",
"FCC", "2.4G", "20M", "HT", "2T", "04", "30",
"ETSI", "2.4G", "20M", "HT", "2T", "04", "30",
"MKK", "2.4G", "20M", "HT", "2T", "04", "30",
"FCC", "2.4G", "20M", "HT", "2T", "05", "30",
"ETSI", "2.4G", "20M", "HT", "2T", "05", "30",
"MKK", "2.4G", "20M", "HT", "2T", "05", "30",
"FCC", "2.4G", "20M", "HT", "2T", "06", "30",
"ETSI", "2.4G", "20M", "HT", "2T", "06", "30",
"MKK", "2.4G", "20M", "HT", "2T", "06", "30",
"FCC", "2.4G", "20M", "HT", "2T", "07", "30",
"ETSI", "2.4G", "20M", "HT", "2T", "07", "30",
"MKK", "2.4G", "20M", "HT", "2T", "07", "30",
"FCC", "2.4G", "20M", "HT", "2T", "08", "30",
"ETSI", "2.4G", "20M", "HT", "2T", "08", "30",
"MKK", "2.4G", "20M", "HT", "2T", "08", "30",
"FCC", "2.4G", "20M", "HT", "2T", "09", "28",
"ETSI", "2.4G", "20M", "HT", "2T", "09", "30",
"MKK", "2.4G", "20M", "HT", "2T", "09", "30",
"FCC", "2.4G", "20M", "HT", "2T", "10", "28",
"ETSI", "2.4G", "20M", "HT", "2T", "10", "30",
"MKK", "2.4G", "20M", "HT", "2T", "10", "30",
"FCC", "2.4G", "20M", "HT", "2T", "11", "28",
"ETSI", "2.4G", "20M", "HT", "2T", "11", "30",
"MKK", "2.4G", "20M", "HT", "2T", "11", "30",
"FCC", "2.4G", "20M", "HT", "2T", "12", "63",
"ETSI", "2.4G", "20M", "HT", "2T", "12", "30",
"MKK", "2.4G", "20M", "HT", "2T", "12", "30",
"FCC", "2.4G", "20M", "HT", "2T", "13", "63",
"ETSI", "2.4G", "20M", "HT", "2T", "13", "30",
"MKK", "2.4G", "20M", "HT", "2T", "13", "30",
"FCC", "2.4G", "20M", "HT", "2T", "14", "63",
"ETSI", "2.4G", "20M", "HT", "2T", "14", "63",
"MKK", "2.4G", "20M", "HT", "2T", "14", "63",
"FCC", "2.4G", "40M", "HT", "1T", "01", "63",
"ETSI", "2.4G", "40M", "HT", "1T", "01", "63",
"MKK", "2.4G", "40M", "HT", "1T", "01", "63",
"FCC", "2.4G", "40M", "HT", "1T", "02", "63",
"ETSI", "2.4G", "40M", "HT", "1T", "02", "63",
"MKK", "2.4G", "40M", "HT", "1T", "02", "63",
"FCC", "2.4G", "40M", "HT", "1T", "03", "24",
"ETSI", "2.4G", "40M", "HT", "1T", "03", "30",
"MKK", "2.4G", "40M", "HT", "1T", "03", "30",
"FCC", "2.4G", "40M", "HT", "1T", "04", "24",
"ETSI", "2.4G", "40M", "HT", "1T", "04", "30",
"MKK", "2.4G", "40M", "HT", "1T", "04", "30",
"FCC", "2.4G", "40M", "HT", "1T", "05", "24",
"ETSI", "2.4G", "40M", "HT", "1T", "05", "30",
"MKK", "2.4G", "40M", "HT", "1T", "05", "30",
"FCC", "2.4G", "40M", "HT", "1T", "06", "24",
"ETSI", "2.4G", "40M", "HT", "1T", "06", "30",
"MKK", "2.4G", "40M", "HT", "1T", "06", "30",
"FCC", "2.4G", "40M", "HT", "1T", "07", "24",
"ETSI", "2.4G", "40M", "HT", "1T", "07", "30",
"MKK", "2.4G", "40M", "HT", "1T", "07", "30",
"FCC", "2.4G", "40M", "HT", "1T", "08", "24",
"ETSI", "2.4G", "40M", "HT", "1T", "08", "30",
"MKK", "2.4G", "40M", "HT", "1T", "08", "30",
"FCC", "2.4G", "40M", "HT", "1T", "09", "24",
"ETSI", "2.4G", "40M", "HT", "1T", "09", "30",
"MKK", "2.4G", "40M", "HT", "1T", "09", "30",
"FCC", "2.4G", "40M", "HT", "1T", "10", "22",
"ETSI", "2.4G", "40M", "HT", "1T", "10", "30",
"MKK", "2.4G", "40M", "HT", "1T", "10", "30",
"FCC", "2.4G", "40M", "HT", "1T", "11", "20",
"ETSI", "2.4G", "40M", "HT", "1T", "11", "30",
"MKK", "2.4G", "40M", "HT", "1T", "11", "30",
"FCC", "2.4G", "40M", "HT", "1T", "12", "63",
"ETSI", "2.4G", "40M", "HT", "1T", "12", "30",
"MKK", "2.4G", "40M", "HT", "1T", "12", "30",
"FCC", "2.4G", "40M", "HT", "1T", "13", "63",
"ETSI", "2.4G", "40M", "HT", "1T", "13", "30",
"MKK", "2.4G", "40M", "HT", "1T", "13", "30",
"FCC", "2.4G", "40M", "HT", "1T", "14", "63",
"ETSI", "2.4G", "40M", "HT", "1T", "14", "63",
"MKK", "2.4G", "40M", "HT", "1T", "14", "63",
"FCC", "2.4G", "40M", "HT", "2T", "01", "63",
"ETSI", "2.4G", "40M", "HT", "2T", "01", "63",
"MKK", "2.4G", "40M", "HT", "2T", "01", "63",
"FCC", "2.4G", "40M", "HT", "2T", "02", "63",
"ETSI", "2.4G", "40M", "HT", "2T", "02", "63",
"MKK", "2.4G", "40M", "HT", "2T", "02", "63",
"FCC", "2.4G", "40M", "HT", "2T", "03", "26",
"ETSI", "2.4G", "40M", "HT", "2T", "03", "26",
"MKK", "2.4G", "40M", "HT", "2T", "03", "26",
"FCC", "2.4G", "40M", "HT", "2T", "04", "26",
"ETSI", "2.4G", "40M", "HT", "2T", "04", "26",
"MKK", "2.4G", "40M", "HT", "2T", "04", "26",
"FCC", "2.4G", "40M", "HT", "2T", "05", "26",
"ETSI", "2.4G", "40M", "HT", "2T", "05", "26",
"MKK", "2.4G", "40M", "HT", "2T", "05", "26",
"FCC", "2.4G", "40M", "HT", "2T", "06", "26",
"ETSI", "2.4G", "40M", "HT", "2T", "06", "26",
"MKK", "2.4G", "40M", "HT", "2T", "06", "26",
"FCC", "2.4G", "40M", "HT", "2T", "07", "26",
"ETSI", "2.4G", "40M", "HT", "2T", "07", "26",
"MKK", "2.4G", "40M", "HT", "2T", "07", "26",
"FCC", "2.4G", "40M", "HT", "2T", "08", "26",
"ETSI", "2.4G", "40M", "HT", "2T", "08", "26",
"MKK", "2.4G", "40M", "HT", "2T", "08", "26",
"FCC", "2.4G", "40M", "HT", "2T", "09", "26",
"ETSI", "2.4G", "40M", "HT", "2T", "09", "26",
"MKK", "2.4G", "40M", "HT", "2T", "09", "26",
"FCC", "2.4G", "40M", "HT", "2T", "10", "26",
"ETSI", "2.4G", "40M", "HT", "2T", "10", "26",
"MKK", "2.4G", "40M", "HT", "2T", "10", "26",
"FCC", "2.4G", "40M", "HT", "2T", "11", "26",
"ETSI", "2.4G", "40M", "HT", "2T", "11", "26",
"MKK", "2.4G", "40M", "HT", "2T", "11", "26",
"FCC", "2.4G", "40M", "HT", "2T", "12", "63",
"ETSI", "2.4G", "40M", "HT", "2T", "12", "26",
"MKK", "2.4G", "40M", "HT", "2T", "12", "26",
"FCC", "2.4G", "40M", "HT", "2T", "13", "63",
"ETSI", "2.4G", "40M", "HT", "2T", "13", "26",
"MKK", "2.4G", "40M", "HT", "2T", "13", "26",
"FCC", "2.4G", "40M", "HT", "2T", "14", "63",
"ETSI", "2.4G", "40M", "HT", "2T", "14", "63",
"MKK", "2.4G", "40M", "HT", "2T", "14", "63",
"FCC", "5G", "20M", "OFDM", "1T", "36", "30",
"ETSI", "5G", "20M", "OFDM", "1T", "36", "32",
"MKK", "5G", "20M", "OFDM", "1T", "36", "32",
"FCC", "5G", "20M", "OFDM", "1T", "40", "30",
"ETSI", "5G", "20M", "OFDM", "1T", "40", "32",
"MKK", "5G", "20M", "OFDM", "1T", "40", "32",
"FCC", "5G", "20M", "OFDM", "1T", "44", "30",
"ETSI", "5G", "20M", "OFDM", "1T", "44", "32",
"MKK", "5G", "20M", "OFDM", "1T", "44", "32",
"FCC", "5G", "20M", "OFDM", "1T", "48", "30",
"ETSI", "5G", "20M", "OFDM", "1T", "48", "32",
"MKK", "5G", "20M", "OFDM", "1T", "48", "32",
"FCC", "5G", "20M", "OFDM", "1T", "52", "34",
"ETSI", "5G", "20M", "OFDM", "1T", "52", "32",
"MKK", "5G", "20M", "OFDM", "1T", "52", "32",
"FCC", "5G", "20M", "OFDM", "1T", "56", "34",
"ETSI", "5G", "20M", "OFDM", "1T", "56", "32",
"MKK", "5G", "20M", "OFDM", "1T", "56", "32",
"FCC", "5G", "20M", "OFDM", "1T", "60", "32",
"ETSI", "5G", "20M", "OFDM", "1T", "60", "32",
"MKK", "5G", "20M", "OFDM", "1T", "60", "32",
"FCC", "5G", "20M", "OFDM", "1T", "64", "28",
"ETSI", "5G", "20M", "OFDM", "1T", "64", "32",
"MKK", "5G", "20M", "OFDM", "1T", "64", "32",
"FCC", "5G", "20M", "OFDM", "1T", "100", "30",
"ETSI", "5G", "20M", "OFDM", "1T", "100", "32",
"MKK", "5G", "20M", "OFDM", "1T", "100", "32",
"FCC", "5G", "20M", "OFDM", "1T", "114", "30",
"ETSI", "5G", "20M", "OFDM", "1T", "114", "32",
"MKK", "5G", "20M", "OFDM", "1T", "114", "32",
"FCC", "5G", "20M", "OFDM", "1T", "108", "32",
"ETSI", "5G", "20M", "OFDM", "1T", "108", "32",
"MKK", "5G", "20M", "OFDM", "1T", "108", "32",
"FCC", "5G", "20M", "OFDM", "1T", "112", "34",
"ETSI", "5G", "20M", "OFDM", "1T", "112", "32",
"MKK", "5G", "20M", "OFDM", "1T", "112", "32",
"FCC", "5G", "20M", "OFDM", "1T", "116", "34",
"ETSI", "5G", "20M", "OFDM", "1T", "116", "32",
"MKK", "5G", "20M", "OFDM", "1T", "116", "32",
"FCC", "5G", "20M", "OFDM", "1T", "120", "34",
"ETSI", "5G", "20M", "OFDM", "1T", "120", "32",
"MKK", "5G", "20M", "OFDM", "1T", "120", "32",
"FCC", "5G", "20M", "OFDM", "1T", "124", "34",
"ETSI", "5G", "20M", "OFDM", "1T", "124", "32",
"MKK", "5G", "20M", "OFDM", "1T", "124", "32",
"FCC", "5G", "20M", "OFDM", "1T", "128", "32",
"ETSI", "5G", "20M", "OFDM", "1T", "128", "32",
"MKK", "5G", "20M", "OFDM", "1T", "128", "32",
"FCC", "5G", "20M", "OFDM", "1T", "132", "30",
"ETSI", "5G", "20M", "OFDM", "1T", "132", "32",
"MKK", "5G", "20M", "OFDM", "1T", "132", "32",
"FCC", "5G", "20M", "OFDM", "1T", "136", "30",
"ETSI", "5G", "20M", "OFDM", "1T", "136", "32",
"MKK", "5G", "20M", "OFDM", "1T", "136", "32",
"FCC", "5G", "20M", "OFDM", "1T", "140", "28",
"ETSI", "5G", "20M", "OFDM", "1T", "140", "32",
"MKK", "5G", "20M", "OFDM", "1T", "140", "32",
"FCC", "5G", "20M", "OFDM", "1T", "149", "34",
"ETSI", "5G", "20M", "OFDM", "1T", "149", "32",
"MKK", "5G", "20M", "OFDM", "1T", "149", "63",
"FCC", "5G", "20M", "OFDM", "1T", "153", "34",
"ETSI", "5G", "20M", "OFDM", "1T", "153", "32",
"MKK", "5G", "20M", "OFDM", "1T", "153", "63",
"FCC", "5G", "20M", "OFDM", "1T", "157", "34",
"ETSI", "5G", "20M", "OFDM", "1T", "157", "32",
"MKK", "5G", "20M", "OFDM", "1T", "157", "63",
"FCC", "5G", "20M", "OFDM", "1T", "161", "34",
"ETSI", "5G", "20M", "OFDM", "1T", "161", "32",
"MKK", "5G", "20M", "OFDM", "1T", "161", "63",
"FCC", "5G", "20M", "OFDM", "1T", "165", "34",
"ETSI", "5G", "20M", "OFDM", "1T", "165", "32",
"MKK", "5G", "20M", "OFDM", "1T", "165", "63",
"FCC", "5G", "20M", "HT", "1T", "36", "30",
"ETSI", "5G", "20M", "HT", "1T", "36", "32",
"MKK", "5G", "20M", "HT", "1T", "36", "32",
"FCC", "5G", "20M", "HT", "1T", "40", "30",
"ETSI", "5G", "20M", "HT", "1T", "40", "32",
"MKK", "5G", "20M", "HT", "1T", "40", "32",
"FCC", "5G", "20M", "HT", "1T", "44", "30",
"ETSI", "5G", "20M", "HT", "1T", "44", "32",
"MKK", "5G", "20M", "HT", "1T", "44", "32",
"FCC", "5G", "20M", "HT", "1T", "48", "30",
"ETSI", "5G", "20M", "HT", "1T", "48", "32",
"MKK", "5G", "20M", "HT", "1T", "48", "32",
"FCC", "5G", "20M", "HT", "1T", "52", "34",
"ETSI", "5G", "20M", "HT", "1T", "52", "32",
"MKK", "5G", "20M", "HT", "1T", "52", "32",
"FCC", "5G", "20M", "HT", "1T", "56", "34",
"ETSI", "5G", "20M", "HT", "1T", "56", "32",
"MKK", "5G", "20M", "HT", "1T", "56", "32",
"FCC", "5G", "20M", "HT", "1T", "60", "32",
"ETSI", "5G", "20M", "HT", "1T", "60", "32",
"MKK", "5G", "20M", "HT", "1T", "60", "32",
"FCC", "5G", "20M", "HT", "1T", "64", "28",
"ETSI", "5G", "20M", "HT", "1T", "64", "32",
"MKK", "5G", "20M", "HT", "1T", "64", "32",
"FCC", "5G", "20M", "HT", "1T", "100", "30",
"ETSI", "5G", "20M", "HT", "1T", "100", "32",
"MKK", "5G", "20M", "HT", "1T", "100", "32",
"FCC", "5G", "20M", "HT", "1T", "114", "30",
"ETSI", "5G", "20M", "HT", "1T", "114", "32",
"MKK", "5G", "20M", "HT", "1T", "114", "32",
"FCC", "5G", "20M", "HT", "1T", "108", "32",
"ETSI", "5G", "20M", "HT", "1T", "108", "32",
"MKK", "5G", "20M", "HT", "1T", "108", "32",
"FCC", "5G", "20M", "HT", "1T", "112", "34",
"ETSI", "5G", "20M", "HT", "1T", "112", "32",
"MKK", "5G", "20M", "HT", "1T", "112", "32",
"FCC", "5G", "20M", "HT", "1T", "116", "34",
"ETSI", "5G", "20M", "HT", "1T", "116", "32",
"MKK", "5G", "20M", "HT", "1T", "116", "32",
"FCC", "5G", "20M", "HT", "1T", "120", "34",
"ETSI", "5G", "20M", "HT", "1T", "120", "32",
"MKK", "5G", "20M", "HT", "1T", "120", "32",
"FCC", "5G", "20M", "HT", "1T", "124", "34",
"ETSI", "5G", "20M", "HT", "1T", "124", "32",
"MKK", "5G", "20M", "HT", "1T", "124", "32",
"FCC", "5G", "20M", "HT", "1T", "128", "32",
"ETSI", "5G", "20M", "HT", "1T", "128", "32",
"MKK", "5G", "20M", "HT", "1T", "128", "32",
"FCC", "5G", "20M", "HT", "1T", "132", "30",
"ETSI", "5G", "20M", "HT", "1T", "132", "32",
"MKK", "5G", "20M", "HT", "1T", "132", "32",
"FCC", "5G", "20M", "HT", "1T", "136", "30",
"ETSI", "5G", "20M", "HT", "1T", "136", "32",
"MKK", "5G", "20M", "HT", "1T", "136", "32",
"FCC", "5G", "20M", "HT", "1T", "140", "28",
"ETSI", "5G", "20M", "HT", "1T", "140", "32",
"MKK", "5G", "20M", "HT", "1T", "140", "32",
"FCC", "5G", "20M", "HT", "1T", "149", "34",
"ETSI", "5G", "20M", "HT", "1T", "149", "32",
"MKK", "5G", "20M", "HT", "1T", "149", "63",
"FCC", "5G", "20M", "HT", "1T", "153", "34",
"ETSI", "5G", "20M", "HT", "1T", "153", "32",
"MKK", "5G", "20M", "HT", "1T", "153", "63",
"FCC", "5G", "20M", "HT", "1T", "157", "34",
"ETSI", "5G", "20M", "HT", "1T", "157", "32",
"MKK", "5G", "20M", "HT", "1T", "157", "63",
"FCC", "5G", "20M", "HT", "1T", "161", "34",
"ETSI", "5G", "20M", "HT", "1T", "161", "32",
"MKK", "5G", "20M", "HT", "1T", "161", "63",
"FCC", "5G", "20M", "HT", "1T", "165", "34",
"ETSI", "5G", "20M", "HT", "1T", "165", "32",
"MKK", "5G", "20M", "HT", "1T", "165", "63",
"FCC", "5G", "20M", "HT", "2T", "36", "28",
"ETSI", "5G", "20M", "HT", "2T", "36", "30",
"MKK", "5G", "20M", "HT", "2T", "36", "30",
"FCC", "5G", "20M", "HT", "2T", "40", "28",
"ETSI", "5G", "20M", "HT", "2T", "40", "30",
"MKK", "5G", "20M", "HT", "2T", "40", "30",
"FCC", "5G", "20M", "HT", "2T", "44", "28",
"ETSI", "5G", "20M", "HT", "2T", "44", "30",
"MKK", "5G", "20M", "HT", "2T", "44", "30",
"FCC", "5G", "20M", "HT", "2T", "48", "28",
"ETSI", "5G", "20M", "HT", "2T", "48", "30",
"MKK", "5G", "20M", "HT", "2T", "48", "30",
"FCC", "5G", "20M", "HT", "2T", "52", "34",
"ETSI", "5G", "20M", "HT", "2T", "52", "30",
"MKK", "5G", "20M", "HT", "2T", "52", "30",
"FCC", "5G", "20M", "HT", "2T", "56", "32",
"ETSI", "5G", "20M", "HT", "2T", "56", "30",
"MKK", "5G", "20M", "HT", "2T", "56", "30",
"FCC", "5G", "20M", "HT", "2T", "60", "30",
"ETSI", "5G", "20M", "HT", "2T", "60", "30",
"MKK", "5G", "20M", "HT", "2T", "60", "30",
"FCC", "5G", "20M", "HT", "2T", "64", "26",
"ETSI", "5G", "20M", "HT", "2T", "64", "30",
"MKK", "5G", "20M", "HT", "2T", "64", "30",
"FCC", "5G", "20M", "HT", "2T", "100", "28",
"ETSI", "5G", "20M", "HT", "2T", "100", "30",
"MKK", "5G", "20M", "HT", "2T", "100", "30",
"FCC", "5G", "20M", "HT", "2T", "114", "28",
"ETSI", "5G", "20M", "HT", "2T", "114", "30",
"MKK", "5G", "20M", "HT", "2T", "114", "30",
"FCC", "5G", "20M", "HT", "2T", "108", "30",
"ETSI", "5G", "20M", "HT", "2T", "108", "30",
"MKK", "5G", "20M", "HT", "2T", "108", "30",
"FCC", "5G", "20M", "HT", "2T", "112", "32",
"ETSI", "5G", "20M", "HT", "2T", "112", "30",
"MKK", "5G", "20M", "HT", "2T", "112", "30",
"FCC", "5G", "20M", "HT", "2T", "116", "32",
"ETSI", "5G", "20M", "HT", "2T", "116", "30",
"MKK", "5G", "20M", "HT", "2T", "116", "30",
"FCC", "5G", "20M", "HT", "2T", "120", "34",
"ETSI", "5G", "20M", "HT", "2T", "120", "30",
"MKK", "5G", "20M", "HT", "2T", "120", "30",
"FCC", "5G", "20M", "HT", "2T", "124", "32",
"ETSI", "5G", "20M", "HT", "2T", "124", "30",
"MKK", "5G", "20M", "HT", "2T", "124", "30",
"FCC", "5G", "20M", "HT", "2T", "128", "30",
"ETSI", "5G", "20M", "HT", "2T", "128", "30",
"MKK", "5G", "20M", "HT", "2T", "128", "30",
"FCC", "5G", "20M", "HT", "2T", "132", "28",
"ETSI", "5G", "20M", "HT", "2T", "132", "30",
"MKK", "5G", "20M", "HT", "2T", "132", "30",
"FCC", "5G", "20M", "HT", "2T", "136", "28",
"ETSI", "5G", "20M", "HT", "2T", "136", "30",
"MKK", "5G", "20M", "HT", "2T", "136", "30",
"FCC", "5G", "20M", "HT", "2T", "140", "26",
"ETSI", "5G", "20M", "HT", "2T", "140", "30",
"MKK", "5G", "20M", "HT", "2T", "140", "30",
"FCC", "5G", "20M", "HT", "2T", "149", "34",
"ETSI", "5G", "20M", "HT", "2T", "149", "30",
"MKK", "5G", "20M", "HT", "2T", "149", "63",
"FCC", "5G", "20M", "HT", "2T", "153", "34",
"ETSI", "5G", "20M", "HT", "2T", "153", "30",
"MKK", "5G", "20M", "HT", "2T", "153", "63",
"FCC", "5G", "20M", "HT", "2T", "157", "34",
"ETSI", "5G", "20M", "HT", "2T", "157", "30",
"MKK", "5G", "20M", "HT", "2T", "157", "63",
"FCC", "5G", "20M", "HT", "2T", "161", "34",
"ETSI", "5G", "20M", "HT", "2T", "161", "30",
"MKK", "5G", "20M", "HT", "2T", "161", "63",
"FCC", "5G", "20M", "HT", "2T", "165", "34",
"ETSI", "5G", "20M", "HT", "2T", "165", "30",
"MKK", "5G", "20M", "HT", "2T", "165", "63",
"FCC", "5G", "40M", "HT", "1T", "38", "30",
"ETSI", "5G", "40M", "HT", "1T", "38", "32",
"MKK", "5G", "40M", "HT", "1T", "38", "32",
"FCC", "5G", "40M", "HT", "1T", "46", "30",
"ETSI", "5G", "40M", "HT", "1T", "46", "32",
"MKK", "5G", "40M", "HT", "1T", "46", "32",
"FCC", "5G", "40M", "HT", "1T", "54", "32",
"ETSI", "5G", "40M", "HT", "1T", "54", "32",
"MKK", "5G", "40M", "HT", "1T", "54", "32",
"FCC", "5G", "40M", "HT", "1T", "62", "32",
"ETSI", "5G", "40M", "HT", "1T", "62", "32",
"MKK", "5G", "40M", "HT", "1T", "62", "32",
"FCC", "5G", "40M", "HT", "1T", "102", "28",
"ETSI", "5G", "40M", "HT", "1T", "102", "32",
"MKK", "5G", "40M", "HT", "1T", "102", "32",
"FCC", "5G", "40M", "HT", "1T", "110", "32",
"ETSI", "5G", "40M", "HT", "1T", "110", "32",
"MKK", "5G", "40M", "HT", "1T", "110", "32",
"FCC", "5G", "40M", "HT", "1T", "118", "34",
"ETSI", "5G", "40M", "HT", "1T", "118", "32",
"MKK", "5G", "40M", "HT", "1T", "118", "32",
"FCC", "5G", "40M", "HT", "1T", "126", "34",
"ETSI", "5G", "40M", "HT", "1T", "126", "32",
"MKK", "5G", "40M", "HT", "1T", "126", "32",
"FCC", "5G", "40M", "HT", "1T", "134", "32",
"ETSI", "5G", "40M", "HT", "1T", "134", "32",
"MKK", "5G", "40M", "HT", "1T", "134", "32",
"FCC", "5G", "40M", "HT", "1T", "151", "34",
"ETSI", "5G", "40M", "HT", "1T", "151", "32",
"MKK", "5G", "40M", "HT", "1T", "151", "63",
"FCC", "5G", "40M", "HT", "1T", "159", "34",
"ETSI", "5G", "40M", "HT", "1T", "159", "32",
"MKK", "5G", "40M", "HT", "1T", "159", "63",
"FCC", "5G", "40M", "HT", "2T", "38", "28",
"ETSI", "5G", "40M", "HT", "2T", "38", "30",
"MKK", "5G", "40M", "HT", "2T", "38", "30",
"FCC", "5G", "40M", "HT", "2T", "46", "28",
"ETSI", "5G", "40M", "HT", "2T", "46", "30",
"MKK", "5G", "40M", "HT", "2T", "46", "30",
"FCC", "5G", "40M", "HT", "2T", "54", "30",
"ETSI", "5G", "40M", "HT", "2T", "54", "30",
"MKK", "5G", "40M", "HT", "2T", "54", "30",
"FCC", "5G", "40M", "HT", "2T", "62", "30",
"ETSI", "5G", "40M", "HT", "2T", "62", "30",
"MKK", "5G", "40M", "HT", "2T", "62", "30",
"FCC", "5G", "40M", "HT", "2T", "102", "26",
"ETSI", "5G", "40M", "HT", "2T", "102", "30",
"MKK", "5G", "40M", "HT", "2T", "102", "30",
"FCC", "5G", "40M", "HT", "2T", "110", "30",
"ETSI", "5G", "40M", "HT", "2T", "110", "30",
"MKK", "5G", "40M", "HT", "2T", "110", "30",
"FCC", "5G", "40M", "HT", "2T", "118", "34",
"ETSI", "5G", "40M", "HT", "2T", "118", "30",
"MKK", "5G", "40M", "HT", "2T", "118", "30",
"FCC", "5G", "40M", "HT", "2T", "126", "32",
"ETSI", "5G", "40M", "HT", "2T", "126", "30",
"MKK", "5G", "40M", "HT", "2T", "126", "30",
"FCC", "5G", "40M", "HT", "2T", "134", "30",
"ETSI", "5G", "40M", "HT", "2T", "134", "30",
"MKK", "5G", "40M", "HT", "2T", "134", "30",
"FCC", "5G", "40M", "HT", "2T", "151", "34",
"ETSI", "5G", "40M", "HT", "2T", "151", "30",
"MKK", "5G", "40M", "HT", "2T", "151", "63",
"FCC", "5G", "40M", "HT", "2T", "159", "34",
"ETSI", "5G", "40M", "HT", "2T", "159", "30",
"MKK", "5G", "40M", "HT", "2T", "159", "63",
"FCC", "5G", "80M", "VHT", "1T", "42", "30",
"ETSI", "5G", "80M", "VHT", "1T", "42", "32",
"MKK", "5G", "80M", "VHT", "1T", "42", "32",
"FCC", "5G", "80M", "VHT", "1T", "58", "28",
"ETSI", "5G", "80M", "VHT", "1T", "58", "32",
"MKK", "5G", "80M", "VHT", "1T", "58", "32",
"FCC", "5G", "80M", "VHT", "1T", "106", "30",
"ETSI", "5G", "80M", "VHT", "1T", "106", "32",
"MKK", "5G", "80M", "VHT", "1T", "106", "32",
"FCC", "5G", "80M", "VHT", "1T", "122", "34",
"ETSI", "5G", "80M", "VHT", "1T", "122", "32",
"MKK", "5G", "80M", "VHT", "1T", "122", "32",
"FCC", "5G", "80M", "VHT", "1T", "155", "34",
"ETSI", "5G", "80M", "VHT", "1T", "155", "32",
"MKK", "5G", "80M", "VHT", "1T", "155", "63",
"FCC", "5G", "80M", "VHT", "2T", "42", "28",
"ETSI", "5G", "80M", "VHT", "2T", "42", "30",
"MKK", "5G", "80M", "VHT", "2T", "42", "30",
"FCC", "5G", "80M", "VHT", "2T", "58", "26",
"ETSI", "5G", "80M", "VHT", "2T", "58", "30",
"MKK", "5G", "80M", "VHT", "2T", "58", "30",
"FCC", "5G", "80M", "VHT", "2T", "106", "28",
"ETSI", "5G", "80M", "VHT", "2T", "106", "30",
"MKK", "5G", "80M", "VHT", "2T", "106", "30",
"FCC", "5G", "80M", "VHT", "2T", "122", "32",
"ETSI", "5G", "80M", "VHT", "2T", "122", "30",
"MKK", "5G", "80M", "VHT", "2T", "122", "30",
"FCC", "5G", "80M", "VHT", "2T", "155", "34",
"ETSI", "5G", "80M", "VHT", "2T", "155", "30",
"MKK", "5G", "80M", "VHT", "2T", "155", "63"
};
void
odm_read_and_config_mp_8723d_txpwr_lmt(
struct PHY_DM_STRUCT *p_dm
)
{
u32 i = 0;
u32 array_len = sizeof(array_mp_8723d_txpwr_lmt)/sizeof(u8 *);
u8 **array = (u8 **)array_mp_8723d_txpwr_lmt;
PHYDM_DBG(p_dm, ODM_COMP_INIT, ("===> odm_read_and_config_mp_8723d_txpwr_lmt\n"));
for (i = 0; i < array_len; i += 7) {
u8 *regulation = array[i];
u8 *band = array[i+1];
u8 *bandwidth = array[i+2];
u8 *rate = array[i+3];
u8 *rf_path = array[i+4];
u8 *chnl = array[i+5];
u8 *val = array[i+6];
odm_config_bb_txpwr_lmt_8723d(p_dm, regulation, band, bandwidth, rate, rf_path, chnl, val);
}
}
/******************************************************************************
* txxtaltrack.TXT
******************************************************************************/
static s8 g_delta_swing_table_xtal_mp_n_txxtaltrack_8723d[] =
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
static s8 g_delta_swing_table_xtal_mp_p_txxtaltrack_8723d[] =
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10, -12, -14, -16,
-16, -16, -16, -16, -16, -16, -16, -16, -16, -16};
void
odm_read_and_config_mp_8723d_txxtaltrack(
struct PHY_DM_STRUCT *p_dm
)
{
struct odm_rf_calibration_structure *p_rf_calibrate_info = &(p_dm->rf_calibrate_info);
PHYDM_DBG(p_dm, ODM_COMP_INIT, ("===> ODM_ReadAndConfig_MP_mp_8723d\n"));
odm_move_memory(p_dm, p_rf_calibrate_info->delta_swing_table_xtal_p, g_delta_swing_table_xtal_mp_p_txxtaltrack_8723d, DELTA_SWINGIDX_SIZE);
odm_move_memory(p_dm, p_rf_calibrate_info->delta_swing_table_xtal_n, g_delta_swing_table_xtal_mp_n_txxtaltrack_8723d, DELTA_SWINGIDX_SIZE);
}