ath9k: Update QCA953x initvals

* Duplicates have been marked.
* New initvals for 1.1 and 2.0 versions.
* xPA support.
* Fix for low power issue.

Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
Sujith Manoharan 2014-11-16 06:11:00 +05:30 committed by John W. Linville
parent 60fc496254
commit 459b1ec622
1 changed files with 468 additions and 30 deletions

View File

@ -20,6 +20,8 @@
#define qca953x_1p0_mac_postamble ar9300_2p2_mac_postamble
#define qca953x_1p0_soc_preamble ar955x_1p0_soc_preamble
#define qca953x_1p0_soc_postamble ar9300_2p2_soc_postamble
#define qca953x_1p0_common_rx_gain_table ar9300Common_rx_gain_table_2p2
@ -28,6 +30,10 @@
#define qca953x_1p0_modes_fast_clock ar9300Modes_fast_clock_2p2
#define qca953x_1p0_common_wo_xlna_rx_gain_bounds ar955x_1p0_common_wo_xlna_rx_gain_bounds
#define qca953x_1p0_common_rx_gain_bounds ar955x_1p0_common_rx_gain_bounds
static const u32 qca953x_1p0_mac_core[][2] = {
/* Addr allmodes */
{0x00000008, 0x00000000},
@ -490,35 +496,6 @@ static const u32 qca953x_1p0_radio_postamble[][5] = {
{0x00016540, 0x10804008, 0x10804008, 0x50804000, 0x50804000},
};
static const u32 qca953x_1p0_soc_preamble[][2] = {
/* Addr allmodes */
{0x00007000, 0x00000000},
{0x00007004, 0x00000000},
{0x00007008, 0x00000000},
{0x0000700c, 0x00000000},
{0x0000701c, 0x00000000},
{0x00007020, 0x00000000},
{0x00007024, 0x00000000},
{0x00007028, 0x00000000},
{0x0000702c, 0x00000000},
{0x00007030, 0x00000000},
{0x00007034, 0x00000002},
{0x00007038, 0x000004c2},
{0x00007048, 0x00000000},
};
static const u32 qca953x_1p0_common_rx_gain_bounds[][5] = {
/* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */
{0x00009e44, 0xfe321e27, 0xfe321e27, 0xfe291e27, 0xfe291e27},
{0x00009e48, 0x5030201a, 0x5030201a, 0x50302018, 0x50302018},
};
static const u32 qca953x_1p0_common_wo_xlna_rx_gain_bounds[][5] = {
/* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */
{0x00009e44, 0xfe321e27, 0xfe321e27, 0xfe291e27, 0xfe291e27},
{0x00009e48, 0x5030201a, 0x5030201a, 0x50302012, 0x50302012},
};
static const u32 qca953x_1p0_modes_xpa_tx_gain_table[][2] = {
/* Addr allmodes */
{0x0000a2dc, 0xfffd5aaa},
@ -715,8 +692,73 @@ static const u32 qca953x_1p1_modes_no_xpa_tx_gain_table[][2] = {
{0x00016448, 0x6c927a70},
};
static const u32 qca953x_1p1_modes_xpa_tx_gain_table[][2] = {
/* Addr allmodes */
{0x0000a2dc, 0xfffb52aa},
{0x0000a2e0, 0xfffd64cc},
{0x0000a2e4, 0xfffe80f0},
{0x0000a2e8, 0xffffff00},
{0x0000a410, 0x000050d5},
{0x0000a500, 0x00000000},
{0x0000a504, 0x04000002},
{0x0000a508, 0x08000004},
{0x0000a50c, 0x0c000006},
{0x0000a510, 0x1000000a},
{0x0000a514, 0x1400000c},
{0x0000a518, 0x1800000e},
{0x0000a51c, 0x1c000048},
{0x0000a520, 0x2000004a},
{0x0000a524, 0x2400004c},
{0x0000a528, 0x2800004e},
{0x0000a52c, 0x2b00024a},
{0x0000a530, 0x2f00024c},
{0x0000a534, 0x3300024e},
{0x0000a538, 0x36000668},
{0x0000a53c, 0x38000669},
{0x0000a540, 0x3a000868},
{0x0000a544, 0x3d00086a},
{0x0000a548, 0x4000086c},
{0x0000a54c, 0x4200086e},
{0x0000a550, 0x43000a6e},
{0x0000a554, 0x43000a6e},
{0x0000a558, 0x43000a6e},
{0x0000a55c, 0x43000a6e},
{0x0000a560, 0x43000a6e},
{0x0000a564, 0x43000a6e},
{0x0000a568, 0x43000a6e},
{0x0000a56c, 0x43000a6e},
{0x0000a570, 0x43000a6e},
{0x0000a574, 0x43000a6e},
{0x0000a578, 0x43000a6e},
{0x0000a57c, 0x43000a6e},
{0x0000a600, 0x00000000},
{0x0000a604, 0x00000000},
{0x0000a608, 0x00000000},
{0x0000a60c, 0x03804000},
{0x0000a610, 0x03804e01},
{0x0000a614, 0x03804e01},
{0x0000a618, 0x03804e01},
{0x0000a61c, 0x04009002},
{0x0000a620, 0x04009002},
{0x0000a624, 0x04009002},
{0x0000a628, 0x04009002},
{0x0000a62c, 0x04009002},
{0x0000a630, 0x04009002},
{0x0000a634, 0x04009002},
{0x0000a638, 0x04009002},
{0x0000a63c, 0x04009002},
{0x0000b2dc, 0xfffb52aa},
{0x0000b2e0, 0xfffd64cc},
{0x0000b2e4, 0xfffe80f0},
{0x0000b2e8, 0xffffff00},
{0x00016044, 0x024922db},
{0x00016048, 0x6c927a70},
{0x00016444, 0x024922db},
{0x00016448, 0x6c927a70},
};
static const u32 qca953x_2p0_baseband_core[][2] = {
/* Addr allmodes */
/* Addr allmodes */
{0x00009800, 0xafe68e30},
{0x00009804, 0xfd14e000},
{0x00009808, 0x9c0a9f6b},
@ -914,4 +956,400 @@ static const u32 qca953x_2p0_baseband_postamble[][5] = {
{0x0000b284, 0x00000000, 0x00000000, 0x00000010, 0x00000010},
};
static const u32 qca953x_2p0_common_wo_xlna_rx_gain_table[][2] = {
/* Addr allmodes */
{0x0000a000, 0x00010000},
{0x0000a004, 0x00030002},
{0x0000a008, 0x00050004},
{0x0000a00c, 0x00810080},
{0x0000a010, 0x00830082},
{0x0000a014, 0x01810180},
{0x0000a018, 0x01830182},
{0x0000a01c, 0x01850184},
{0x0000a020, 0x01890188},
{0x0000a024, 0x018b018a},
{0x0000a028, 0x018d018c},
{0x0000a02c, 0x03820190},
{0x0000a030, 0x03840383},
{0x0000a034, 0x03880385},
{0x0000a038, 0x038a0389},
{0x0000a03c, 0x038c038b},
{0x0000a040, 0x0390038d},
{0x0000a044, 0x03920391},
{0x0000a048, 0x03940393},
{0x0000a04c, 0x03960395},
{0x0000a050, 0x00000000},
{0x0000a054, 0x00000000},
{0x0000a058, 0x00000000},
{0x0000a05c, 0x00000000},
{0x0000a060, 0x00000000},
{0x0000a064, 0x00000000},
{0x0000a068, 0x00000000},
{0x0000a06c, 0x00000000},
{0x0000a070, 0x00000000},
{0x0000a074, 0x00000000},
{0x0000a078, 0x00000000},
{0x0000a07c, 0x00000000},
{0x0000a080, 0x29292929},
{0x0000a084, 0x29292929},
{0x0000a088, 0x29292929},
{0x0000a08c, 0x29292929},
{0x0000a090, 0x22292929},
{0x0000a094, 0x1d1d2222},
{0x0000a098, 0x0c111117},
{0x0000a09c, 0x00030303},
{0x0000a0a0, 0x00000000},
{0x0000a0a4, 0x00000000},
{0x0000a0a8, 0x00000000},
{0x0000a0ac, 0x00000000},
{0x0000a0b0, 0x00000000},
{0x0000a0b4, 0x00000000},
{0x0000a0b8, 0x00000000},
{0x0000a0bc, 0x00000000},
{0x0000a0c0, 0x001f0000},
{0x0000a0c4, 0x01000101},
{0x0000a0c8, 0x011e011f},
{0x0000a0cc, 0x011c011d},
{0x0000a0d0, 0x02030204},
{0x0000a0d4, 0x02010202},
{0x0000a0d8, 0x021f0200},
{0x0000a0dc, 0x0302021e},
{0x0000a0e0, 0x03000301},
{0x0000a0e4, 0x031e031f},
{0x0000a0e8, 0x0402031d},
{0x0000a0ec, 0x04000401},
{0x0000a0f0, 0x041e041f},
{0x0000a0f4, 0x0502041d},
{0x0000a0f8, 0x05000501},
{0x0000a0fc, 0x051e051f},
{0x0000a100, 0x06010602},
{0x0000a104, 0x061f0600},
{0x0000a108, 0x061d061e},
{0x0000a10c, 0x07020703},
{0x0000a110, 0x07000701},
{0x0000a114, 0x00000000},
{0x0000a118, 0x00000000},
{0x0000a11c, 0x00000000},
{0x0000a120, 0x00000000},
{0x0000a124, 0x00000000},
{0x0000a128, 0x00000000},
{0x0000a12c, 0x00000000},
{0x0000a130, 0x00000000},
{0x0000a134, 0x00000000},
{0x0000a138, 0x00000000},
{0x0000a13c, 0x00000000},
{0x0000a140, 0x001f0000},
{0x0000a144, 0x01000101},
{0x0000a148, 0x011e011f},
{0x0000a14c, 0x011c011d},
{0x0000a150, 0x02030204},
{0x0000a154, 0x02010202},
{0x0000a158, 0x021f0200},
{0x0000a15c, 0x0302021e},
{0x0000a160, 0x03000301},
{0x0000a164, 0x031e031f},
{0x0000a168, 0x0402031d},
{0x0000a16c, 0x04000401},
{0x0000a170, 0x041e041f},
{0x0000a174, 0x0502041d},
{0x0000a178, 0x05000501},
{0x0000a17c, 0x051e051f},
{0x0000a180, 0x06010602},
{0x0000a184, 0x061f0600},
{0x0000a188, 0x061d061e},
{0x0000a18c, 0x07020703},
{0x0000a190, 0x07000701},
{0x0000a194, 0x00000000},
{0x0000a198, 0x00000000},
{0x0000a19c, 0x00000000},
{0x0000a1a0, 0x00000000},
{0x0000a1a4, 0x00000000},
{0x0000a1a8, 0x00000000},
{0x0000a1ac, 0x00000000},
{0x0000a1b0, 0x00000000},
{0x0000a1b4, 0x00000000},
{0x0000a1b8, 0x00000000},
{0x0000a1bc, 0x00000000},
{0x0000a1c0, 0x00000000},
{0x0000a1c4, 0x00000000},
{0x0000a1c8, 0x00000000},
{0x0000a1cc, 0x00000000},
{0x0000a1d0, 0x00000000},
{0x0000a1d4, 0x00000000},
{0x0000a1d8, 0x00000000},
{0x0000a1dc, 0x00000000},
{0x0000a1e0, 0x00000000},
{0x0000a1e4, 0x00000000},
{0x0000a1e8, 0x00000000},
{0x0000a1ec, 0x00000000},
{0x0000a1f0, 0x00000396},
{0x0000a1f4, 0x00000396},
{0x0000a1f8, 0x00000396},
{0x0000a1fc, 0x00000196},
{0x0000b000, 0x00010000},
{0x0000b004, 0x00030002},
{0x0000b008, 0x00050004},
{0x0000b00c, 0x00810080},
{0x0000b010, 0x00830082},
{0x0000b014, 0x01810180},
{0x0000b018, 0x01830182},
{0x0000b01c, 0x01850184},
{0x0000b020, 0x02810280},
{0x0000b024, 0x02830282},
{0x0000b028, 0x02850284},
{0x0000b02c, 0x02890288},
{0x0000b030, 0x028b028a},
{0x0000b034, 0x0388028c},
{0x0000b038, 0x038a0389},
{0x0000b03c, 0x038c038b},
{0x0000b040, 0x0390038d},
{0x0000b044, 0x03920391},
{0x0000b048, 0x03940393},
{0x0000b04c, 0x03960395},
{0x0000b050, 0x00000000},
{0x0000b054, 0x00000000},
{0x0000b058, 0x00000000},
{0x0000b05c, 0x00000000},
{0x0000b060, 0x00000000},
{0x0000b064, 0x00000000},
{0x0000b068, 0x00000000},
{0x0000b06c, 0x00000000},
{0x0000b070, 0x00000000},
{0x0000b074, 0x00000000},
{0x0000b078, 0x00000000},
{0x0000b07c, 0x00000000},
{0x0000b080, 0x32323232},
{0x0000b084, 0x2f2f3232},
{0x0000b088, 0x23282a2d},
{0x0000b08c, 0x1c1e2123},
{0x0000b090, 0x14171919},
{0x0000b094, 0x0e0e1214},
{0x0000b098, 0x03050707},
{0x0000b09c, 0x00030303},
{0x0000b0a0, 0x00000000},
{0x0000b0a4, 0x00000000},
{0x0000b0a8, 0x00000000},
{0x0000b0ac, 0x00000000},
{0x0000b0b0, 0x00000000},
{0x0000b0b4, 0x00000000},
{0x0000b0b8, 0x00000000},
{0x0000b0bc, 0x00000000},
{0x0000b0c0, 0x003f0020},
{0x0000b0c4, 0x00400041},
{0x0000b0c8, 0x0140005f},
{0x0000b0cc, 0x0160015f},
{0x0000b0d0, 0x017e017f},
{0x0000b0d4, 0x02410242},
{0x0000b0d8, 0x025f0240},
{0x0000b0dc, 0x027f0260},
{0x0000b0e0, 0x0341027e},
{0x0000b0e4, 0x035f0340},
{0x0000b0e8, 0x037f0360},
{0x0000b0ec, 0x04400441},
{0x0000b0f0, 0x0460045f},
{0x0000b0f4, 0x0541047f},
{0x0000b0f8, 0x055f0540},
{0x0000b0fc, 0x057f0560},
{0x0000b100, 0x06400641},
{0x0000b104, 0x0660065f},
{0x0000b108, 0x067e067f},
{0x0000b10c, 0x07410742},
{0x0000b110, 0x075f0740},
{0x0000b114, 0x077f0760},
{0x0000b118, 0x07800781},
{0x0000b11c, 0x07a0079f},
{0x0000b120, 0x07c107bf},
{0x0000b124, 0x000007c0},
{0x0000b128, 0x00000000},
{0x0000b12c, 0x00000000},
{0x0000b130, 0x00000000},
{0x0000b134, 0x00000000},
{0x0000b138, 0x00000000},
{0x0000b13c, 0x00000000},
{0x0000b140, 0x003f0020},
{0x0000b144, 0x00400041},
{0x0000b148, 0x0140005f},
{0x0000b14c, 0x0160015f},
{0x0000b150, 0x017e017f},
{0x0000b154, 0x02410242},
{0x0000b158, 0x025f0240},
{0x0000b15c, 0x027f0260},
{0x0000b160, 0x0341027e},
{0x0000b164, 0x035f0340},
{0x0000b168, 0x037f0360},
{0x0000b16c, 0x04400441},
{0x0000b170, 0x0460045f},
{0x0000b174, 0x0541047f},
{0x0000b178, 0x055f0540},
{0x0000b17c, 0x057f0560},
{0x0000b180, 0x06400641},
{0x0000b184, 0x0660065f},
{0x0000b188, 0x067e067f},
{0x0000b18c, 0x07410742},
{0x0000b190, 0x075f0740},
{0x0000b194, 0x077f0760},
{0x0000b198, 0x07800781},
{0x0000b19c, 0x07a0079f},
{0x0000b1a0, 0x07c107bf},
{0x0000b1a4, 0x000007c0},
{0x0000b1a8, 0x00000000},
{0x0000b1ac, 0x00000000},
{0x0000b1b0, 0x00000000},
{0x0000b1b4, 0x00000000},
{0x0000b1b8, 0x00000000},
{0x0000b1bc, 0x00000000},
{0x0000b1c0, 0x00000000},
{0x0000b1c4, 0x00000000},
{0x0000b1c8, 0x00000000},
{0x0000b1cc, 0x00000000},
{0x0000b1d0, 0x00000000},
{0x0000b1d4, 0x00000000},
{0x0000b1d8, 0x00000000},
{0x0000b1dc, 0x00000000},
{0x0000b1e0, 0x00000000},
{0x0000b1e4, 0x00000000},
{0x0000b1e8, 0x00000000},
{0x0000b1ec, 0x00000000},
{0x0000b1f0, 0x00000396},
{0x0000b1f4, 0x00000396},
{0x0000b1f8, 0x00000396},
{0x0000b1fc, 0x00000196},
};
static const u32 qca953x_2p0_common_wo_xlna_rx_gain_bounds[][5] = {
/* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */
{0x00009e44, 0xfe321e27, 0xfe321e27, 0xfe291e27, 0xfe291e27},
{0x00009e48, 0x5030201a, 0x5030201a, 0x50302012, 0x50302012},
};
static const u32 qca953x_2p0_modes_xpa_tx_gain_table[][2] = {
/* Addr allmodes */
{0x0000a2dc, 0xfffb52aa},
{0x0000a2e0, 0xfffd64cc},
{0x0000a2e4, 0xfffe80f0},
{0x0000a2e8, 0xffffff00},
{0x0000a410, 0x000050d5},
{0x0000a500, 0x00000000},
{0x0000a504, 0x04000002},
{0x0000a508, 0x08000004},
{0x0000a50c, 0x0c000006},
{0x0000a510, 0x1000000a},
{0x0000a514, 0x1400000c},
{0x0000a518, 0x1800000e},
{0x0000a51c, 0x1c000048},
{0x0000a520, 0x2000004a},
{0x0000a524, 0x2400004c},
{0x0000a528, 0x2800004e},
{0x0000a52c, 0x2b00024a},
{0x0000a530, 0x2f00024c},
{0x0000a534, 0x3300024e},
{0x0000a538, 0x36000668},
{0x0000a53c, 0x38000669},
{0x0000a540, 0x3a000868},
{0x0000a544, 0x3d00086a},
{0x0000a548, 0x4000086c},
{0x0000a54c, 0x4200086e},
{0x0000a550, 0x43000a6e},
{0x0000a554, 0x43000a6e},
{0x0000a558, 0x43000a6e},
{0x0000a55c, 0x43000a6e},
{0x0000a560, 0x43000a6e},
{0x0000a564, 0x43000a6e},
{0x0000a568, 0x43000a6e},
{0x0000a56c, 0x43000a6e},
{0x0000a570, 0x43000a6e},
{0x0000a574, 0x43000a6e},
{0x0000a578, 0x43000a6e},
{0x0000a57c, 0x43000a6e},
{0x0000a600, 0x00000000},
{0x0000a604, 0x00000000},
{0x0000a608, 0x00000000},
{0x0000a60c, 0x03804000},
{0x0000a610, 0x03804e01},
{0x0000a614, 0x03804e01},
{0x0000a618, 0x03804e01},
{0x0000a61c, 0x04009002},
{0x0000a620, 0x04009002},
{0x0000a624, 0x04009002},
{0x0000a628, 0x04009002},
{0x0000a62c, 0x04009002},
{0x0000a630, 0x04009002},
{0x0000a634, 0x04009002},
{0x0000a638, 0x04009002},
{0x0000a63c, 0x04009002},
{0x0000b2dc, 0xfffb52aa},
{0x0000b2e0, 0xfffd64cc},
{0x0000b2e4, 0xfffe80f0},
{0x0000b2e8, 0xffffff00},
{0x00016044, 0x024922db},
{0x00016048, 0x6c927a70},
{0x00016444, 0x024922db},
{0x00016448, 0x6c927a70},
};
static const u32 qca953x_2p0_modes_no_xpa_tx_gain_table[][2] = {
/* Addr allmodes */
{0x0000a2dc, 0xffd5f552},
{0x0000a2e0, 0xffe60664},
{0x0000a2e4, 0xfff80780},
{0x0000a2e8, 0xfffff800},
{0x0000a410, 0x000050de},
{0x0000a500, 0x00000061},
{0x0000a504, 0x04000063},
{0x0000a508, 0x08000065},
{0x0000a50c, 0x0c000261},
{0x0000a510, 0x10000263},
{0x0000a514, 0x14000265},
{0x0000a518, 0x18000482},
{0x0000a51c, 0x1b000484},
{0x0000a520, 0x1f000486},
{0x0000a524, 0x240008c2},
{0x0000a528, 0x28000cc1},
{0x0000a52c, 0x2d000ce3},
{0x0000a530, 0x31000ce5},
{0x0000a534, 0x350010e5},
{0x0000a538, 0x360012e5},
{0x0000a53c, 0x380014e5},
{0x0000a540, 0x3b0018e5},
{0x0000a544, 0x3d001d04},
{0x0000a548, 0x3e001d05},
{0x0000a54c, 0x40001d07},
{0x0000a550, 0x42001f27},
{0x0000a554, 0x43001f67},
{0x0000a558, 0x46001fe7},
{0x0000a55c, 0x47001f2b},
{0x0000a560, 0x49001f0d},
{0x0000a564, 0x4b001ed2},
{0x0000a568, 0x4c001ed4},
{0x0000a56c, 0x4e001f15},
{0x0000a570, 0x4f001ff6},
{0x0000a574, 0x4f001ff6},
{0x0000a578, 0x4f001ff6},
{0x0000a57c, 0x4f001ff6},
{0x0000a600, 0x00000000},
{0x0000a604, 0x00000000},
{0x0000a608, 0x00000000},
{0x0000a60c, 0x00804201},
{0x0000a610, 0x01008201},
{0x0000a614, 0x0180c402},
{0x0000a618, 0x0180c603},
{0x0000a61c, 0x0180c603},
{0x0000a620, 0x01c10603},
{0x0000a624, 0x01c10704},
{0x0000a628, 0x02c18b05},
{0x0000a62c, 0x02c14c07},
{0x0000a630, 0x01008704},
{0x0000a634, 0x01c10402},
{0x0000a638, 0x0301cc07},
{0x0000a63c, 0x0301cc07},
{0x0000b2dc, 0xffd5f552},
{0x0000b2e0, 0xffe60664},
{0x0000b2e4, 0xfff80780},
{0x0000b2e8, 0xfffff800},
{0x00016044, 0x049242db},
{0x00016048, 0x6c927a70},
{0x00016444, 0x049242db},
{0x00016448, 0x6c927a70},
};
#endif /* INITVALS_953X_H */