aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath9k
diff options
context:
space:
mode:
authorSujith Manoharan <c_manoha@qca.qualcomm.com>2012-02-22 02:10:03 -0500
committerJohn W. Linville <linville@tuxdriver.com>2012-02-27 14:06:33 -0500
commitc91ec465cab4a831671e01d65113330239faee61 (patch)
treed603a9efdd71c19dc782e9a69c7502c62eaca7f3 /drivers/net/wireless/ath/ath9k
parent79ebfb85d4ad3495d70124a249a1096ab6396c05 (diff)
ath9k: Remove AR9462 v1.0 support
v1.0 chips are not available in the market. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k')
-rw-r--r--drivers/net/wireless/ath/ath9k/ar9003_eeprom.c4
-rw-r--r--drivers/net/wireless/ath/ath9k/ar9003_hw.c88
-rw-r--r--drivers/net/wireless/ath/ath9k/ar9003_mci.c38
-rw-r--r--drivers/net/wireless/ath/ath9k/ar9003_phy.h6
-rw-r--r--drivers/net/wireless/ath/ath9k/ar9462_1p0_initvals.h1439
-rw-r--r--drivers/net/wireless/ath/ath9k/hw.c3
-rw-r--r--drivers/net/wireless/ath/ath9k/reg.h5
7 files changed, 10 insertions, 1573 deletions
diff --git a/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c b/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
index 9fbcbddea165..6bb4db052bb0 100644
--- a/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
+++ b/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
@@ -3603,10 +3603,6 @@ static void ar9003_hw_ant_ctrl_apply(struct ath_hw *ah, bool is2ghz)
3603 u32 value = ar9003_hw_ant_ctrl_common_get(ah, is2ghz); 3603 u32 value = ar9003_hw_ant_ctrl_common_get(ah, is2ghz);
3604 3604
3605 if (AR_SREV_9462(ah)) { 3605 if (AR_SREV_9462(ah)) {
3606 if (AR_SREV_9462_10(ah)) {
3607 value &= ~AR_SWITCH_TABLE_COM_SPDT;
3608 value |= 0x00100000;
3609 }
3610 REG_RMW_FIELD(ah, AR_PHY_SWITCH_COM, 3606 REG_RMW_FIELD(ah, AR_PHY_SWITCH_COM,
3611 AR_SWITCH_TABLE_COM_AR9462_ALL, value); 3607 AR_SWITCH_TABLE_COM_AR9462_ALL, value);
3612 } else 3608 } else
diff --git a/drivers/net/wireless/ath/ath9k/ar9003_hw.c b/drivers/net/wireless/ath/ath9k/ar9003_hw.c
index fb937ba93e0c..7b4aa000cc2e 100644
--- a/drivers/net/wireless/ath/ath9k/ar9003_hw.c
+++ b/drivers/net/wireless/ath/ath9k/ar9003_hw.c
@@ -22,7 +22,6 @@
22#include "ar9330_1p1_initvals.h" 22#include "ar9330_1p1_initvals.h"
23#include "ar9330_1p2_initvals.h" 23#include "ar9330_1p2_initvals.h"
24#include "ar9580_1p0_initvals.h" 24#include "ar9580_1p0_initvals.h"
25#include "ar9462_1p0_initvals.h"
26#include "ar9462_2p0_initvals.h" 25#include "ar9462_2p0_initvals.h"
27 26
28/* General hardware code for the AR9003 hadware family */ 27/* General hardware code for the AR9003 hadware family */
@@ -264,63 +263,6 @@ static void ar9003_hw_init_mode_regs(struct ath_hw *ah)
264 ar9485_1_1_pcie_phy_clkreq_disable_L1, 263 ar9485_1_1_pcie_phy_clkreq_disable_L1,
265 ARRAY_SIZE(ar9485_1_1_pcie_phy_clkreq_disable_L1), 264 ARRAY_SIZE(ar9485_1_1_pcie_phy_clkreq_disable_L1),
266 2); 265 2);
267 } else if (AR_SREV_9462_10(ah)) {
268 INIT_INI_ARRAY(&ah->iniMac[ATH_INI_PRE], NULL, 0, 0);
269 INIT_INI_ARRAY(&ah->iniMac[ATH_INI_CORE], ar9462_1p0_mac_core,
270 ARRAY_SIZE(ar9462_1p0_mac_core), 2);
271 INIT_INI_ARRAY(&ah->iniMac[ATH_INI_POST],
272 ar9462_1p0_mac_postamble,
273 ARRAY_SIZE(ar9462_1p0_mac_postamble),
274 5);
275
276 INIT_INI_ARRAY(&ah->iniBB[ATH_INI_PRE], NULL, 0, 0);
277 INIT_INI_ARRAY(&ah->iniBB[ATH_INI_CORE],
278 ar9462_1p0_baseband_core,
279 ARRAY_SIZE(ar9462_1p0_baseband_core),
280 2);
281 INIT_INI_ARRAY(&ah->iniBB[ATH_INI_POST],
282 ar9462_1p0_baseband_postamble,
283 ARRAY_SIZE(ar9462_1p0_baseband_postamble), 5);
284
285 INIT_INI_ARRAY(&ah->iniRadio[ATH_INI_PRE], NULL, 0, 0);
286 INIT_INI_ARRAY(&ah->iniRadio[ATH_INI_CORE],
287 ar9462_1p0_radio_core,
288 ARRAY_SIZE(ar9462_1p0_radio_core), 2);
289 INIT_INI_ARRAY(&ah->iniRadio[ATH_INI_POST],
290 ar9462_1p0_radio_postamble,
291 ARRAY_SIZE(ar9462_1p0_radio_postamble), 5);
292
293 INIT_INI_ARRAY(&ah->iniSOC[ATH_INI_PRE],
294 ar9462_1p0_soc_preamble,
295 ARRAY_SIZE(ar9462_1p0_soc_preamble), 2);
296 INIT_INI_ARRAY(&ah->iniSOC[ATH_INI_CORE], NULL, 0, 0);
297 INIT_INI_ARRAY(&ah->iniSOC[ATH_INI_POST],
298 ar9462_1p0_soc_postamble,
299 ARRAY_SIZE(ar9462_1p0_soc_postamble), 5);
300
301 INIT_INI_ARRAY(&ah->iniModesRxGain,
302 ar9462_common_rx_gain_table_1p0,
303 ARRAY_SIZE(ar9462_common_rx_gain_table_1p0), 2);
304
305 /* Awake -> Sleep Setting */
306 INIT_INI_ARRAY(&ah->iniPcieSerdes,
307 ar9462_pcie_phy_clkreq_disable_L1_1p0,
308 ARRAY_SIZE(ar9462_pcie_phy_clkreq_disable_L1_1p0),
309 2);
310
311 /* Sleep -> Awake Setting */
312 INIT_INI_ARRAY(&ah->iniPcieSerdesLowPower,
313 ar9462_pcie_phy_clkreq_disable_L1_1p0,
314 ARRAY_SIZE(ar9462_pcie_phy_clkreq_disable_L1_1p0),
315 2);
316
317 INIT_INI_ARRAY(&ah->iniModesAdditional,
318 ar9462_modes_fast_clock_1p0,
319 ARRAY_SIZE(ar9462_modes_fast_clock_1p0), 3);
320 INIT_INI_ARRAY(&ah->iniCckfirJapan2484,
321 AR9462_BB_CTX_COEFJ(1p0),
322 ARRAY_SIZE(AR9462_BB_CTX_COEFJ(1p0)), 2);
323
324 } else if (AR_SREV_9462_20(ah)) { 266 } else if (AR_SREV_9462_20(ah)) {
325 267
326 INIT_INI_ARRAY(&ah->iniMac[ATH_INI_PRE], NULL, 0, 0); 268 INIT_INI_ARRAY(&ah->iniMac[ATH_INI_PRE], NULL, 0, 0);
@@ -537,11 +479,6 @@ static void ar9003_tx_gain_table_mode0(struct ath_hw *ah)
537 ar9580_1p0_lowest_ob_db_tx_gain_table, 479 ar9580_1p0_lowest_ob_db_tx_gain_table,
538 ARRAY_SIZE(ar9580_1p0_lowest_ob_db_tx_gain_table), 480 ARRAY_SIZE(ar9580_1p0_lowest_ob_db_tx_gain_table),
539 5); 481 5);
540 else if (AR_SREV_9462_10(ah))
541 INIT_INI_ARRAY(&ah->iniModesTxGain,
542 ar9462_modes_low_ob_db_tx_gain_table_1p0,
543 ARRAY_SIZE(ar9462_modes_low_ob_db_tx_gain_table_1p0),
544 5);
545 else if (AR_SREV_9462_20(ah)) 482 else if (AR_SREV_9462_20(ah))
546 INIT_INI_ARRAY(&ah->iniModesTxGain, 483 INIT_INI_ARRAY(&ah->iniModesTxGain,
547 ar9462_modes_low_ob_db_tx_gain_table_2p0, 484 ar9462_modes_low_ob_db_tx_gain_table_2p0,
@@ -581,11 +518,6 @@ static void ar9003_tx_gain_table_mode1(struct ath_hw *ah)
581 ar9580_1p0_high_ob_db_tx_gain_table, 518 ar9580_1p0_high_ob_db_tx_gain_table,
582 ARRAY_SIZE(ar9580_1p0_high_ob_db_tx_gain_table), 519 ARRAY_SIZE(ar9580_1p0_high_ob_db_tx_gain_table),
583 5); 520 5);
584 else if (AR_SREV_9462_10(ah))
585 INIT_INI_ARRAY(&ah->iniModesTxGain,
586 ar9462_modes_high_ob_db_tx_gain_table_1p0,
587 ARRAY_SIZE(ar9462_modes_high_ob_db_tx_gain_table_1p0),
588 5);
589 else if (AR_SREV_9462_20(ah)) 521 else if (AR_SREV_9462_20(ah))
590 INIT_INI_ARRAY(&ah->iniModesTxGain, 522 INIT_INI_ARRAY(&ah->iniModesTxGain,
591 ar9462_modes_high_ob_db_tx_gain_table_2p0, 523 ar9462_modes_high_ob_db_tx_gain_table_2p0,
@@ -712,11 +644,6 @@ static void ar9003_rx_gain_table_mode0(struct ath_hw *ah)
712 ar9580_1p0_rx_gain_table, 644 ar9580_1p0_rx_gain_table,
713 ARRAY_SIZE(ar9580_1p0_rx_gain_table), 645 ARRAY_SIZE(ar9580_1p0_rx_gain_table),
714 2); 646 2);
715 else if (AR_SREV_9462_10(ah))
716 INIT_INI_ARRAY(&ah->iniModesRxGain,
717 ar9462_common_rx_gain_table_1p0,
718 ARRAY_SIZE(ar9462_common_rx_gain_table_1p0),
719 2);
720 else if (AR_SREV_9462_20(ah)) 647 else if (AR_SREV_9462_20(ah))
721 INIT_INI_ARRAY(&ah->iniModesRxGain, 648 INIT_INI_ARRAY(&ah->iniModesRxGain,
722 ar9462_common_rx_gain_table_2p0, 649 ar9462_common_rx_gain_table_2p0,
@@ -751,11 +678,6 @@ static void ar9003_rx_gain_table_mode1(struct ath_hw *ah)
751 ar9485Common_wo_xlna_rx_gain_1_1, 678 ar9485Common_wo_xlna_rx_gain_1_1,
752 ARRAY_SIZE(ar9485Common_wo_xlna_rx_gain_1_1), 679 ARRAY_SIZE(ar9485Common_wo_xlna_rx_gain_1_1),
753 2); 680 2);
754 else if (AR_SREV_9462_10(ah))
755 INIT_INI_ARRAY(&ah->iniModesRxGain,
756 ar9462_common_wo_xlna_rx_gain_table_1p0,
757 ARRAY_SIZE(ar9462_common_wo_xlna_rx_gain_table_1p0),
758 2);
759 else if (AR_SREV_9462_20(ah)) 681 else if (AR_SREV_9462_20(ah))
760 INIT_INI_ARRAY(&ah->iniModesRxGain, 682 INIT_INI_ARRAY(&ah->iniModesRxGain,
761 ar9462_common_wo_xlna_rx_gain_table_2p0, 683 ar9462_common_wo_xlna_rx_gain_table_2p0,
@@ -775,14 +697,10 @@ static void ar9003_rx_gain_table_mode1(struct ath_hw *ah)
775 697
776static void ar9003_rx_gain_table_mode2(struct ath_hw *ah) 698static void ar9003_rx_gain_table_mode2(struct ath_hw *ah)
777{ 699{
778 if (AR_SREV_9462_10(ah)) 700 if (AR_SREV_9462_20(ah))
779 INIT_INI_ARRAY(&ah->iniModesRxGain,
780 ar9462_common_mixed_rx_gain_table_1p0,
781 ARRAY_SIZE(ar9462_common_mixed_rx_gain_table_1p0), 2);
782 else if (AR_SREV_9462_20(ah))
783 INIT_INI_ARRAY(&ah->iniModesRxGain, 701 INIT_INI_ARRAY(&ah->iniModesRxGain,
784 ar9462_common_mixed_rx_gain_table_2p0, 702 ar9462_common_mixed_rx_gain_table_2p0,
785 ARRAY_SIZE(ar9462_common_mixed_rx_gain_table_2p0), 2); 703 ARRAY_SIZE(ar9462_common_mixed_rx_gain_table_2p0), 2);
786} 704}
787 705
788static void ar9003_rx_gain_table_apply(struct ath_hw *ah) 706static void ar9003_rx_gain_table_apply(struct ath_hw *ah)
diff --git a/drivers/net/wireless/ath/ath9k/ar9003_mci.c b/drivers/net/wireless/ath/ath9k/ar9003_mci.c
index 709520c6835b..8439656a0913 100644
--- a/drivers/net/wireless/ath/ath9k/ar9003_mci.c
+++ b/drivers/net/wireless/ath/ath9k/ar9003_mci.c
@@ -274,14 +274,6 @@ static void ar9003_mci_prep_interface(struct ath_hw *ah)
274 ath_dbg(common, MCI, "MCI send REMOTE_RESET\n"); 274 ath_dbg(common, MCI, "MCI send REMOTE_RESET\n");
275 ar9003_mci_remote_reset(ah, true); 275 ar9003_mci_remote_reset(ah, true);
276 276
277 /*
278 * This delay is required for the reset delay worst case value 255 in
279 * MCI_COMMAND2 register
280 */
281
282 if (AR_SREV_9462_10(ah))
283 udelay(252);
284
285 ath_dbg(common, MCI, "MCI Send REQ_WAKE to remoter(BT)\n"); 277 ath_dbg(common, MCI, "MCI Send REQ_WAKE to remoter(BT)\n");
286 ar9003_mci_send_req_wake(ah, true); 278 ar9003_mci_send_req_wake(ah, true);
287 279
@@ -291,8 +283,6 @@ static void ar9003_mci_prep_interface(struct ath_hw *ah)
291 ath_dbg(common, MCI, "MCI SYS_WAKING from remote(BT)\n"); 283 ath_dbg(common, MCI, "MCI SYS_WAKING from remote(BT)\n");
292 mci->bt_state = MCI_BT_AWAKE; 284 mci->bt_state = MCI_BT_AWAKE;
293 285
294 if (AR_SREV_9462_10(ah))
295 udelay(10);
296 /* 286 /*
297 * we don't need to send more remote_reset at this moment. 287 * we don't need to send more remote_reset at this moment.
298 * If BT receive first remote_reset, then BT HW will 288 * If BT receive first remote_reset, then BT HW will
@@ -339,15 +329,14 @@ static void ar9003_mci_prep_interface(struct ath_hw *ah)
339 REG_WRITE(ah, AR_MCI_INTERRUPT_RAW, 329 REG_WRITE(ah, AR_MCI_INTERRUPT_RAW,
340 AR_MCI_INTERRUPT_BT_PRI); 330 AR_MCI_INTERRUPT_BT_PRI);
341 331
342 if (AR_SREV_9462_10(ah) || mci->is_2g) { 332 if (mci->is_2g) {
343 /* Send LNA_TRANS */ 333 /* Send LNA_TRANS */
344 ath_dbg(common, MCI, "MCI send LNA_TRANS to BT\n"); 334 ath_dbg(common, MCI, "MCI send LNA_TRANS to BT\n");
345 ar9003_mci_send_lna_transfer(ah, true); 335 ar9003_mci_send_lna_transfer(ah, true);
346 udelay(5); 336 udelay(5);
347 } 337 }
348 338
349 if (AR_SREV_9462_10(ah) || (mci->is_2g && 339 if ((mci->is_2g && !mci->update_2g5g)) {
350 !mci->update_2g5g)) {
351 if (ar9003_mci_wait_for_interrupt(ah, 340 if (ar9003_mci_wait_for_interrupt(ah,
352 AR_MCI_INTERRUPT_RX_MSG_RAW, 341 AR_MCI_INTERRUPT_RX_MSG_RAW,
353 AR_MCI_INTERRUPT_RX_MSG_LNA_INFO, 342 AR_MCI_INTERRUPT_RX_MSG_LNA_INFO,
@@ -358,14 +347,6 @@ static void ar9003_mci_prep_interface(struct ath_hw *ah)
358 ath_dbg(common, MCI, 347 ath_dbg(common, MCI,
359 "MCI BT didn't respond to LNA_TRANS\n"); 348 "MCI BT didn't respond to LNA_TRANS\n");
360 } 349 }
361
362 if (AR_SREV_9462_10(ah)) {
363 /* Send another remote_reset to deassert BT clk_req. */
364 ath_dbg(common, MCI,
365 "MCI another remote_reset to deassert clk_req\n");
366 ar9003_mci_remote_reset(ah, true);
367 udelay(252);
368 }
369 } 350 }
370 351
371 /* Clear the extra redundant SYS_WAKING from BT */ 352 /* Clear the extra redundant SYS_WAKING from BT */
@@ -618,9 +599,6 @@ void ar9003_mci_reset(struct ath_hw *ah, bool en_int, bool is_2g,
618 } else 599 } else
619 ath_dbg(common, MCI, "MCI SCHED one step look ahead off\n"); 600 ath_dbg(common, MCI, "MCI SCHED one step look ahead off\n");
620 601
621 if (AR_SREV_9462_10(ah))
622 regval |= SM(1, AR_BTCOEX_CTRL_SPDT_ENABLE_10);
623
624 REG_WRITE(ah, AR_BTCOEX_CTRL, regval); 602 REG_WRITE(ah, AR_BTCOEX_CTRL, regval);
625 603
626 if (AR_SREV_9462_20(ah)) { 604 if (AR_SREV_9462_20(ah)) {
@@ -771,9 +749,6 @@ static void ar9003_mci_send_2g5g_status(struct ath_hw *ah, bool wait_done)
771 ar9003_mci_send_coex_bt_flags(ah, wait_done, 749 ar9003_mci_send_coex_bt_flags(ah, wait_done,
772 MCI_GPM_COEX_BT_FLAGS_SET, to_set); 750 MCI_GPM_COEX_BT_FLAGS_SET, to_set);
773 } 751 }
774
775 if (AR_SREV_9462_10(ah) && (mci->bt_state != MCI_BT_SLEEP))
776 mci->update_2g5g = false;
777} 752}
778 753
779static void ar9003_mci_queue_unsent_gpm(struct ath_hw *ah, u8 header, 754static void ar9003_mci_queue_unsent_gpm(struct ath_hw *ah, u8 header,
@@ -810,11 +785,8 @@ static void ar9003_mci_queue_unsent_gpm(struct ath_hw *ah, u8 header,
810 switch (opcode) { 785 switch (opcode) {
811 case MCI_GPM_COEX_BT_UPDATE_FLAGS: 786 case MCI_GPM_COEX_BT_UPDATE_FLAGS:
812 787
813 if (AR_SREV_9462_10(ah))
814 break;
815
816 if (*(((u8 *)payload) + MCI_GPM_COEX_B_BT_FLAGS_OP) == 788 if (*(((u8 *)payload) + MCI_GPM_COEX_B_BT_FLAGS_OP) ==
817 MCI_GPM_COEX_BT_FLAGS_READ) 789 MCI_GPM_COEX_BT_FLAGS_READ)
818 break; 790 break;
819 791
820 mci->update_2g5g = queue; 792 mci->update_2g5g = queue;
@@ -1438,9 +1410,7 @@ u32 ar9003_mci_state(struct ath_hw *ah, u32 state_type, u32 *p_data)
1438 break; 1410 break;
1439 1411
1440 case MCI_STATE_SEND_STATUS_QUERY: 1412 case MCI_STATE_SEND_STATUS_QUERY:
1441 query_type = (AR_SREV_9462_10(ah)) ? 1413 query_type = MCI_GPM_COEX_QUERY_BT_TOPOLOGY;
1442 MCI_GPM_COEX_QUERY_BT_ALL_INFO :
1443 MCI_GPM_COEX_QUERY_BT_TOPOLOGY;
1444 1414
1445 ar9003_mci_send_coex_bt_status_query(ah, true, query_type); 1415 ar9003_mci_send_coex_bt_status_query(ah, true, query_type);
1446 break; 1416 break;
diff --git a/drivers/net/wireless/ath/ath9k/ar9003_phy.h b/drivers/net/wireless/ath/ath9k/ar9003_phy.h
index 81f3e857ff28..d834d97fe727 100644
--- a/drivers/net/wireless/ath/ath9k/ar9003_phy.h
+++ b/drivers/net/wireless/ath/ath9k/ar9003_phy.h
@@ -617,10 +617,8 @@
617#define AR_PHY_AIC_CTRL_1_B0 (AR_SM_BASE + 0x4b4) 617#define AR_PHY_AIC_CTRL_1_B0 (AR_SM_BASE + 0x4b4)
618#define AR_PHY_AIC_CTRL_2_B0 (AR_SM_BASE + 0x4b8) 618#define AR_PHY_AIC_CTRL_2_B0 (AR_SM_BASE + 0x4b8)
619#define AR_PHY_AIC_CTRL_3_B0 (AR_SM_BASE + 0x4bc) 619#define AR_PHY_AIC_CTRL_3_B0 (AR_SM_BASE + 0x4bc)
620#define AR_PHY_AIC_STAT_0_B0 (AR_SM_BASE + (AR_SREV_9462_10(ah) ? \ 620#define AR_PHY_AIC_STAT_0_B0 (AR_SM_BASE + 0x4c4))
621 0x4c0 : 0x4c4)) 621#define AR_PHY_AIC_STAT_1_B0 (AR_SM_BASE + 0x4c8))
622#define AR_PHY_AIC_STAT_1_B0 (AR_SM_BASE + (AR_SREV_9462_10(ah) ? \
623 0x4c4 : 0x4c8))
624#define AR_PHY_AIC_CTRL_4_B0 (AR_SM_BASE + 0x4c0) 622#define AR_PHY_AIC_CTRL_4_B0 (AR_SM_BASE + 0x4c0)
625#define AR_PHY_AIC_STAT_2_B0 (AR_SM_BASE + 0x4cc) 623#define AR_PHY_AIC_STAT_2_B0 (AR_SM_BASE + 0x4cc)
626 624
diff --git a/drivers/net/wireless/ath/ath9k/ar9462_1p0_initvals.h b/drivers/net/wireless/ath/ath9k/ar9462_1p0_initvals.h
deleted file mode 100644
index 5510216a4886..000000000000
--- a/drivers/net/wireless/ath/ath9k/ar9462_1p0_initvals.h
+++ /dev/null
@@ -1,1439 +0,0 @@
1/*
2 * Copyright (c) 2010 Atheros Communications Inc.
3 *
4 * Permission to use, copy, modify, and/or distribute this software for any
5 * purpose with or without fee is hereby granted, provided that the above
6 * copyright notice and this permission notice appear in all copies.
7 *
8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17#ifndef INITVALS_9462_1P0_H
18#define INITVALS_9462_1P0_H
19
20/* AR9462 1.0 */
21
22static const u32 ar9462_1p0_mac_core[][2] = {
23 /* Addr allmodes */
24 {0x00000008, 0x00000000},
25 {0x00000030, 0x00060085},
26 {0x00000034, 0x00000005},
27 {0x00000040, 0x00000000},
28 {0x00000044, 0x00000000},
29 {0x00000048, 0x00000008},
30 {0x0000004c, 0x00000010},
31 {0x00000050, 0x00000000},
32 {0x00001040, 0x002ffc0f},
33 {0x00001044, 0x002ffc0f},
34 {0x00001048, 0x002ffc0f},
35 {0x0000104c, 0x002ffc0f},
36 {0x00001050, 0x002ffc0f},
37 {0x00001054, 0x002ffc0f},
38 {0x00001058, 0x002ffc0f},
39 {0x0000105c, 0x002ffc0f},
40 {0x00001060, 0x002ffc0f},
41 {0x00001064, 0x002ffc0f},
42 {0x000010f0, 0x00000100},
43 {0x00001270, 0x00000000},
44 {0x000012b0, 0x00000000},
45 {0x000012f0, 0x00000000},
46 {0x0000143c, 0x00000000},
47 {0x0000147c, 0x00000000},
48 {0x00001810, 0x0f000003},
49 {0x00008000, 0x00000000},
50 {0x00008004, 0x00000000},
51 {0x00008008, 0x00000000},
52 {0x0000800c, 0x00000000},
53 {0x00008018, 0x00000000},
54 {0x00008020, 0x00000000},
55 {0x00008038, 0x00000000},
56 {0x0000803c, 0x00080000},
57 {0x00008040, 0x00000000},
58 {0x00008044, 0x00000000},
59 {0x00008048, 0x00000000},
60 {0x0000804c, 0xffffffff},
61 {0x00008050, 0xffffffff},
62 {0x00008054, 0x00000000},
63 {0x00008058, 0x00000000},
64 {0x0000805c, 0x000fc78f},
65 {0x00008060, 0x0000000f},
66 {0x00008064, 0x00000000},
67 {0x00008070, 0x00000310},
68 {0x00008074, 0x00000020},
69 {0x00008078, 0x00000000},
70 {0x0000809c, 0x0000000f},
71 {0x000080a0, 0x00000000},
72 {0x000080a4, 0x02ff0000},
73 {0x000080a8, 0x0e070605},
74 {0x000080ac, 0x0000000d},
75 {0x000080b0, 0x00000000},
76 {0x000080b4, 0x00000000},
77 {0x000080b8, 0x00000000},
78 {0x000080bc, 0x00000000},
79 {0x000080c0, 0x2a800000},
80 {0x000080c4, 0x06900168},
81 {0x000080c8, 0x13881c20},
82 {0x000080cc, 0x01f40000},
83 {0x000080d0, 0x00252500},
84 {0x000080d4, 0x00a00005},
85 {0x000080d8, 0x00400002},
86 {0x000080dc, 0x00000000},
87 {0x000080e0, 0xffffffff},
88 {0x000080e4, 0x0000ffff},
89 {0x000080e8, 0x3f3f3f3f},
90 {0x000080ec, 0x00000000},
91 {0x000080f0, 0x00000000},
92 {0x000080f4, 0x00000000},
93 {0x000080fc, 0x00020000},
94 {0x00008100, 0x00000000},
95 {0x00008108, 0x00000052},
96 {0x0000810c, 0x00000000},
97 {0x00008110, 0x00000000},
98 {0x00008114, 0x000007ff},
99 {0x00008118, 0x000000aa},
100 {0x0000811c, 0x00003210},
101 {0x00008124, 0x00000000},
102 {0x00008128, 0x00000000},
103 {0x0000812c, 0x00000000},
104 {0x00008130, 0x00000000},
105 {0x00008134, 0x00000000},
106 {0x00008138, 0x00000000},
107 {0x0000813c, 0x0000ffff},
108 {0x00008144, 0xffffffff},
109 {0x00008168, 0x00000000},
110 {0x0000816c, 0x00000000},
111 {0x00008170, 0x18486e00},
112 {0x00008174, 0x33332210},
113 {0x00008178, 0x00000000},
114 {0x0000817c, 0x00020000},
115 {0x000081c4, 0x33332210},
116 {0x000081c8, 0x00000000},
117 {0x000081cc, 0x00000000},
118 {0x000081d4, 0x00000000},
119 {0x000081ec, 0x00000000},
120 {0x000081f0, 0x00000000},
121 {0x000081f4, 0x00000000},
122 {0x000081f8, 0x00000000},
123 {0x000081fc, 0x00000000},
124 {0x00008240, 0x00100000},
125 {0x00008244, 0x0010f400},
126 {0x00008248, 0x00000800},
127 {0x0000824c, 0x0001e800},
128 {0x00008250, 0x00000000},
129 {0x00008254, 0x00000000},
130 {0x00008258, 0x00000000},
131 {0x0000825c, 0x40000000},
132 {0x00008260, 0x00080922},
133 {0x00008264, 0x99c00010},
134 {0x00008268, 0xffffffff},
135 {0x0000826c, 0x0000ffff},
136 {0x00008270, 0x00000000},
137 {0x00008274, 0x40000000},
138 {0x00008278, 0x003e4180},
139 {0x0000827c, 0x00000004},
140 {0x00008284, 0x0000002c},
141 {0x00008288, 0x0000002c},
142 {0x0000828c, 0x000000ff},
143 {0x00008294, 0x00000000},
144 {0x00008298, 0x00000000},
145 {0x0000829c, 0x00000000},
146 {0x00008300, 0x00000140},
147 {0x00008314, 0x00000000},
148 {0x0000831c, 0x0000010d},
149 {0x00008328, 0x00000000},
150 {0x0000832c, 0x0000001f},
151 {0x00008330, 0x00000302},
152 {0x00008334, 0x00000700},
153 {0x00008338, 0xffff0000},
154 {0x0000833c, 0x02400000},
155 {0x00008340, 0x000107ff},
156 {0x00008344, 0xaa48105b},
157 {0x00008348, 0x008f0000},
158 {0x0000835c, 0x00000000},
159 {0x00008360, 0xffffffff},
160 {0x00008364, 0xffffffff},
161 {0x00008368, 0x00000000},
162 {0x00008370, 0x00000000},
163 {0x00008374, 0x000000ff},
164 {0x00008378, 0x00000000},
165 {0x0000837c, 0x00000000},
166 {0x00008380, 0xffffffff},
167 {0x00008384, 0xffffffff},
168 {0x00008390, 0xffffffff},
169 {0x00008394, 0xffffffff},
170 {0x00008398, 0x00000000},
171 {0x0000839c, 0x00000000},
172 {0x000083a4, 0x0000fa14},
173 {0x000083a8, 0x000f0c00},
174 {0x000083ac, 0x33332210},
175 {0x000083b0, 0x33332210},
176 {0x000083b4, 0x33332210},
177 {0x000083b8, 0x33332210},
178 {0x000083bc, 0x00000000},
179 {0x000083c0, 0x00000000},
180 {0x000083c4, 0x00000000},
181 {0x000083c8, 0x00000000},
182 {0x000083cc, 0x00000200},
183 {0x000083d0, 0x000301ff},
184};
185
186static const u32 ar9462_1p0_baseband_core_txfir_coeff_japan_2484[][2] = {
187 /* Addr allmodes */
188 {0x0000a398, 0x00000000},
189 {0x0000a39c, 0x6f7f0301},
190 {0x0000a3a0, 0xca9228ee},
191};
192
193static const u32 ar9462_pcie_phy_clkreq_enable_L1_1p0[][2] = {
194 /* Addr allmodes */
195 {0x00018c00, 0x10053e5e},
196 {0x00018c04, 0x000801d8},
197 {0x00018c08, 0x0000580c},
198};
199
200static const u32 ar9462_pcie_phy_pll_on_clkreq_disable_L1_1p0[][2] = {
201 /* Addr allmodes */
202 {0x00018c00, 0x10012e5e},
203 {0x00018c04, 0x000801d8},
204 {0x00018c08, 0x0000580c},
205};
206
207static const u32 ar9462_common_rx_gain_table_1p0[][2] = {
208 /* Addr allmodes */
209 {0x0000a000, 0x00010000},
210 {0x0000a004, 0x00030002},
211 {0x0000a008, 0x00050004},
212 {0x0000a00c, 0x00810080},
213 {0x0000a010, 0x00830082},
214 {0x0000a014, 0x01810180},
215 {0x0000a018, 0x01830182},
216 {0x0000a01c, 0x01850184},
217 {0x0000a020, 0x01890188},
218 {0x0000a024, 0x018b018a},
219 {0x0000a028, 0x018d018c},
220 {0x0000a02c, 0x01910190},
221 {0x0000a030, 0x01930192},
222 {0x0000a034, 0x01950194},
223 {0x0000a038, 0x038a0196},
224 {0x0000a03c, 0x038c038b},
225 {0x0000a040, 0x0390038d},
226 {0x0000a044, 0x03920391},
227 {0x0000a048, 0x03940393},
228 {0x0000a04c, 0x03960395},
229 {0x0000a050, 0x00000000},
230 {0x0000a054, 0x00000000},
231 {0x0000a058, 0x00000000},
232 {0x0000a05c, 0x00000000},
233 {0x0000a060, 0x00000000},
234 {0x0000a064, 0x00000000},
235 {0x0000a068, 0x00000000},
236 {0x0000a06c, 0x00000000},
237 {0x0000a070, 0x00000000},
238 {0x0000a074, 0x00000000},
239 {0x0000a078, 0x00000000},
240 {0x0000a07c, 0x00000000},
241 {0x0000a080, 0x22222229},
242 {0x0000a084, 0x1d1d1d1d},
243 {0x0000a088, 0x1d1d1d1d},
244 {0x0000a08c, 0x1d1d1d1d},
245 {0x0000a090, 0x171d1d1d},
246 {0x0000a094, 0x11111717},
247 {0x0000a098, 0x00030311},
248 {0x0000a09c, 0x00000000},
249 {0x0000a0a0, 0x00000000},
250 {0x0000a0a4, 0x00000000},
251 {0x0000a0a8, 0x00000000},
252 {0x0000a0ac, 0x00000000},
253 {0x0000a0b0, 0x00000000},
254 {0x0000a0b4, 0x00000000},
255 {0x0000a0b8, 0x00000000},
256 {0x0000a0bc, 0x00000000},
257 {0x0000a0c0, 0x001f0000},
258 {0x0000a0c4, 0x01000101},
259 {0x0000a0c8, 0x011e011f},
260 {0x0000a0cc, 0x011c011d},
261 {0x0000a0d0, 0x02030204},
262 {0x0000a0d4, 0x02010202},
263 {0x0000a0d8, 0x021f0200},
264 {0x0000a0dc, 0x0302021e},
265 {0x0000a0e0, 0x03000301},
266 {0x0000a0e4, 0x031e031f},
267 {0x0000a0e8, 0x0402031d},
268 {0x0000a0ec, 0x04000401},
269 {0x0000a0f0, 0x041e041f},
270 {0x0000a0f4, 0x0502041d},
271 {0x0000a0f8, 0x05000501},
272 {0x0000a0fc, 0x051e051f},
273 {0x0000a100, 0x06010602},
274 {0x0000a104, 0x061f0600},
275 {0x0000a108, 0x061d061e},
276 {0x0000a10c, 0x07020703},
277 {0x0000a110, 0x07000701},
278 {0x0000a114, 0x00000000},
279 {0x0000a118, 0x00000000},
280 {0x0000a11c, 0x00000000},
281 {0x0000a120, 0x00000000},
282 {0x0000a124, 0x00000000},
283 {0x0000a128, 0x00000000},
284 {0x0000a12c, 0x00000000},
285 {0x0000a130, 0x00000000},
286 {0x0000a134, 0x00000000},
287 {0x0000a138, 0x00000000},
288 {0x0000a13c, 0x00000000},
289 {0x0000a140, 0x001f0000},
290 {0x0000a144, 0x01000101},
291 {0x0000a148, 0x011e011f},
292 {0x0000a14c, 0x011c011d},
293 {0x0000a150, 0x02030204},
294 {0x0000a154, 0x02010202},
295 {0x0000a158, 0x021f0200},
296 {0x0000a15c, 0x0302021e},
297 {0x0000a160, 0x03000301},
298 {0x0000a164, 0x031e031f},
299 {0x0000a168, 0x0402031d},
300 {0x0000a16c, 0x04000401},
301 {0x0000a170, 0x041e041f},
302 {0x0000a174, 0x0502041d},
303 {0x0000a178, 0x05000501},
304 {0x0000a17c, 0x051e051f},
305 {0x0000a180, 0x06010602},
306 {0x0000a184, 0x061f0600},
307 {0x0000a188, 0x061d061e},
308 {0x0000a18c, 0x07020703},
309 {0x0000a190, 0x07000701},
310 {0x0000a194, 0x00000000},
311 {0x0000a198, 0x00000000},
312 {0x0000a19c, 0x00000000},
313 {0x0000a1a0, 0x00000000},
314 {0x0000a1a4, 0x00000000},
315 {0x0000a1a8, 0x00000000},
316 {0x0000a1ac, 0x00000000},
317 {0x0000a1b0, 0x00000000},
318 {0x0000a1b4, 0x00000000},
319 {0x0000a1b8, 0x00000000},
320 {0x0000a1bc, 0x00000000},
321 {0x0000a1c0, 0x00000000},
322 {0x0000a1c4, 0x00000000},
323 {0x0000a1c8, 0x00000000},
324 {0x0000a1cc, 0x00000000},
325 {0x0000a1d0, 0x00000000},
326 {0x0000a1d4, 0x00000000},
327 {0x0000a1d8, 0x00000000},
328 {0x0000a1dc, 0x00000000},
329 {0x0000a1e0, 0x00000000},
330 {0x0000a1e4, 0x00000000},
331 {0x0000a1e8, 0x00000000},
332 {0x0000a1ec, 0x00000000},
333 {0x0000a1f0, 0x00000396},
334 {0x0000a1f4, 0x00000396},
335 {0x0000a1f8, 0x00000396},
336 {0x0000a1fc, 0x00000196},
337 {0x0000b000, 0x00010000},
338 {0x0000b004, 0x00030002},
339 {0x0000b008, 0x00050004},
340 {0x0000b00c, 0x00810080},
341 {0x0000b010, 0x00830082},
342 {0x0000b014, 0x01810180},
343 {0x0000b018, 0x01830182},
344 {0x0000b01c, 0x01850184},
345 {0x0000b020, 0x02810280},
346 {0x0000b024, 0x02830282},
347 {0x0000b028, 0x02850284},
348 {0x0000b02c, 0x02890288},
349 {0x0000b030, 0x028b028a},
350 {0x0000b034, 0x0388028c},
351 {0x0000b038, 0x038a0389},
352 {0x0000b03c, 0x038c038b},
353 {0x0000b040, 0x0390038d},
354 {0x0000b044, 0x03920391},
355 {0x0000b048, 0x03940393},
356 {0x0000b04c, 0x03960395},
357 {0x0000b050, 0x00000000},
358 {0x0000b054, 0x00000000},
359 {0x0000b058, 0x00000000},
360 {0x0000b05c, 0x00000000},
361 {0x0000b060, 0x00000000},
362 {0x0000b064, 0x00000000},
363 {0x0000b068, 0x00000000},
364 {0x0000b06c, 0x00000000},
365 {0x0000b070, 0x00000000},
366 {0x0000b074, 0x00000000},
367 {0x0000b078, 0x00000000},
368 {0x0000b07c, 0x00000000},
369 {0x0000b080, 0x2a2d2f32},
370 {0x0000b084, 0x21232328},
371 {0x0000b088, 0x19191c1e},
372 {0x0000b08c, 0x12141417},
373 {0x0000b090, 0x07070e0e},
374 {0x0000b094, 0x03030305},
375 {0x0000b098, 0x00000003},
376 {0x0000b09c, 0x00000000},
377 {0x0000b0a0, 0x00000000},
378 {0x0000b0a4, 0x00000000},
379 {0x0000b0a8, 0x00000000},
380 {0x0000b0ac, 0x00000000},
381 {0x0000b0b0, 0x00000000},
382 {0x0000b0b4, 0x00000000},
383 {0x0000b0b8, 0x00000000},
384 {0x0000b0bc, 0x00000000},
385 {0x0000b0c0, 0x003f0020},
386 {0x0000b0c4, 0x00400041},
387 {0x0000b0c8, 0x0140005f},
388 {0x0000b0cc, 0x0160015f},
389 {0x0000b0d0, 0x017e017f},
390 {0x0000b0d4, 0x02410242},
391 {0x0000b0d8, 0x025f0240},
392 {0x0000b0dc, 0x027f0260},
393 {0x0000b0e0, 0x0341027e},
394 {0x0000b0e4, 0x035f0340},
395 {0x0000b0e8, 0x037f0360},
396 {0x0000b0ec, 0x04400441},
397 {0x0000b0f0, 0x0460045f},
398 {0x0000b0f4, 0x0541047f},
399 {0x0000b0f8, 0x055f0540},
400 {0x0000b0fc, 0x057f0560},
401 {0x0000b100, 0x06400641},
402 {0x0000b104, 0x0660065f},
403 {0x0000b108, 0x067e067f},
404 {0x0000b10c, 0x07410742},
405 {0x0000b110, 0x075f0740},
406 {0x0000b114, 0x077f0760},
407 {0x0000b118, 0x07800781},
408 {0x0000b11c, 0x07a0079f},
409 {0x0000b120, 0x07c107bf},
410 {0x0000b124, 0x000007c0},
411 {0x0000b128, 0x00000000},
412 {0x0000b12c, 0x00000000},
413 {0x0000b130, 0x00000000},
414 {0x0000b134, 0x00000000},
415 {0x0000b138, 0x00000000},
416 {0x0000b13c, 0x00000000},
417 {0x0000b140, 0x003f0020},
418 {0x0000b144, 0x00400041},
419 {0x0000b148, 0x0140005f},
420 {0x0000b14c, 0x0160015f},
421 {0x0000b150, 0x017e017f},
422 {0x0000b154, 0x02410242},
423 {0x0000b158, 0x025f0240},
424 {0x0000b15c, 0x027f0260},
425 {0x0000b160, 0x0341027e},
426 {0x0000b164, 0x035f0340},
427 {0x0000b168, 0x037f0360},
428 {0x0000b16c, 0x04400441},
429 {0x0000b170, 0x0460045f},
430 {0x0000b174, 0x0541047f},
431 {0x0000b178, 0x055f0540},
432 {0x0000b17c, 0x057f0560},
433 {0x0000b180, 0x06400641},
434 {0x0000b184, 0x0660065f},
435 {0x0000b188, 0x067e067f},
436 {0x0000b18c, 0x07410742},
437 {0x0000b190, 0x075f0740},
438 {0x0000b194, 0x077f0760},
439 {0x0000b198, 0x07800781},
440 {0x0000b19c, 0x07a0079f},
441 {0x0000b1a0, 0x07c107bf},
442 {0x0000b1a4, 0x000007c0},
443 {0x0000b1a8, 0x00000000},
444 {0x0000b1ac, 0x00000000},
445 {0x0000b1b0, 0x00000000},
446 {0x0000b1b4, 0x00000000},
447 {0x0000b1b8, 0x00000000},
448 {0x0000b1bc, 0x00000000},
449 {0x0000b1c0, 0x00000000},
450 {0x0000b1c4, 0x00000000},
451 {0x0000b1c8, 0x00000000},
452 {0x0000b1cc, 0x00000000},
453 {0x0000b1d0, 0x00000000},
454 {0x0000b1d4, 0x00000000},
455 {0x0000b1d8, 0x00000000},
456 {0x0000b1dc, 0x00000000},
457 {0x0000b1e0, 0x00000000},
458 {0x0000b1e4, 0x00000000},
459 {0x0000b1e8, 0x00000000},
460 {0x0000b1ec, 0x00000000},
461 {0x0000b1f0, 0x00000396},
462 {0x0000b1f4, 0x00000396},
463 {0x0000b1f8, 0x00000396},
464 {0x0000b1fc, 0x00000196},
465};
466
467static const u32 ar9462_modes_high_ob_db_tx_gain_table_1p0[][5] = {
468 /* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */
469 {0x0000a2dc, 0x01feee00, 0x01feee00, 0x03aaa352, 0x03aaa352},
470 {0x0000a2e0, 0x0000f000, 0x0000f000, 0x03ccc584, 0x03ccc584},
471 {0x0000a2e4, 0x01ff0000, 0x01ff0000, 0x03f0f800, 0x03f0f800},
472 {0x0000a2e8, 0x00000000, 0x00000000, 0x03ff0000, 0x03ff0000},
473 {0x0000a410, 0x000050d9, 0x000050d9, 0x000050d9, 0x000050d9},
474 {0x0000a500, 0x00002220, 0x00002220, 0x00000000, 0x00000000},
475 {0x0000a504, 0x06002223, 0x06002223, 0x04000002, 0x04000002},
476 {0x0000a508, 0x0a022220, 0x0a022220, 0x08000004, 0x08000004},
477 {0x0000a50c, 0x0f022223, 0x0f022223, 0x0b000200, 0x0b000200},
478 {0x0000a510, 0x14022620, 0x14022620, 0x0f000202, 0x0f000202},
479 {0x0000a514, 0x18022622, 0x18022622, 0x11000400, 0x11000400},
480 {0x0000a518, 0x1b022822, 0x1b022822, 0x15000402, 0x15000402},
481 {0x0000a51c, 0x20022842, 0x20022842, 0x19000404, 0x19000404},
482 {0x0000a520, 0x22022c41, 0x22022c41, 0x1b000603, 0x1b000603},
483 {0x0000a524, 0x28023042, 0x28023042, 0x1f000a02, 0x1f000a02},
484 {0x0000a528, 0x2c023044, 0x2c023044, 0x23000a04, 0x23000a04},
485 {0x0000a52c, 0x2f023644, 0x2f023644, 0x26000a20, 0x26000a20},
486 {0x0000a530, 0x34025643, 0x34025643, 0x2a000e20, 0x2a000e20},
487 {0x0000a534, 0x38025a44, 0x38025a44, 0x2e000e22, 0x2e000e22},
488 {0x0000a538, 0x3b025e45, 0x3b025e45, 0x31000e24, 0x31000e24},
489 {0x0000a53c, 0x41025e4a, 0x41025e4a, 0x34001640, 0x34001640},
490 {0x0000a540, 0x48025e6c, 0x48025e6c, 0x38001660, 0x38001660},
491 {0x0000a544, 0x4e025e8e, 0x4e025e8e, 0x3b001861, 0x3b001861},
492 {0x0000a548, 0x53025eb2, 0x53025eb2, 0x3e001a81, 0x3e001a81},
493 {0x0000a54c, 0x59025eb2, 0x59025eb2, 0x42001a83, 0x42001a83},
494 {0x0000a550, 0x5f025ef6, 0x5f025ef6, 0x44001c84, 0x44001c84},
495 {0x0000a554, 0x62025f56, 0x62025f56, 0x48001ce3, 0x48001ce3},
496 {0x0000a558, 0x66027f56, 0x66027f56, 0x4c001ce5, 0x4c001ce5},
497 {0x0000a55c, 0x6a029f56, 0x6a029f56, 0x50001ce9, 0x50001ce9},
498 {0x0000a560, 0x70049f56, 0x70049f56, 0x54001ceb, 0x54001ceb},
499 {0x0000a564, 0x7504ff56, 0x7504ff56, 0x56001eec, 0x56001eec},
500 {0x0000a568, 0x7504ff56, 0x7504ff56, 0x56001eec, 0x56001eec},
501 {0x0000a56c, 0x7504ff56, 0x7504ff56, 0x56001eec, 0x56001eec},
502 {0x0000a570, 0x7504ff56, 0x7504ff56, 0x56001eec, 0x56001eec},
503 {0x0000a574, 0x7504ff56, 0x7504ff56, 0x56001eec, 0x56001eec},
504 {0x0000a578, 0x7504ff56, 0x7504ff56, 0x56001eec, 0x56001eec},
505 {0x0000a57c, 0x7504ff56, 0x7504ff56, 0x56001eec, 0x56001eec},
506 {0x0000a600, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
507 {0x0000a604, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
508 {0x0000a608, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
509 {0x0000a60c, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
510 {0x0000a610, 0x00804000, 0x00804000, 0x00000000, 0x00000000},
511 {0x0000a614, 0x00804201, 0x00804201, 0x01404000, 0x01404000},
512 {0x0000a618, 0x0280c802, 0x0280c802, 0x01404501, 0x01404501},
513 {0x0000a61c, 0x0280ca03, 0x0280ca03, 0x02008501, 0x02008501},
514 {0x0000a620, 0x04c15104, 0x04c15104, 0x0280ca03, 0x0280ca03},
515 {0x0000a624, 0x04c15305, 0x04c15305, 0x03010c04, 0x03010c04},
516 {0x0000a628, 0x04c15305, 0x04c15305, 0x04014c04, 0x04014c04},
517 {0x0000a62c, 0x04c15305, 0x04c15305, 0x04015005, 0x04015005},
518 {0x0000a630, 0x04c15305, 0x04c15305, 0x04015005, 0x04015005},
519 {0x0000a634, 0x04c15305, 0x04c15305, 0x04015005, 0x04015005},
520 {0x0000a638, 0x04c15305, 0x04c15305, 0x04015005, 0x04015005},
521 {0x0000a63c, 0x04c15305, 0x04c15305, 0x04015005, 0x04015005},
522 {0x0000b2dc, 0x01feee00, 0x01feee00, 0x03aaa352, 0x03aaa352},
523 {0x0000b2e0, 0x0000f000, 0x0000f000, 0x03ccc584, 0x03ccc584},
524 {0x0000b2e4, 0x01ff0000, 0x01ff0000, 0x03f0f800, 0x03f0f800},
525 {0x0000b2e8, 0x00000000, 0x00000000, 0x03ff0000, 0x03ff0000},
526 {0x00016044, 0x056d82e4, 0x056d82e4, 0x056d82e4, 0x056d82e4},
527 {0x00016048, 0x8db49060, 0x8db49060, 0x8db49060, 0x8db49060},
528 {0x00016444, 0x056d82e4, 0x056d82e4, 0x056d82e4, 0x056d82e4},
529 {0x00016448, 0x8db49000, 0x8db49000, 0x8db49000, 0x8db49000},
530};
531
532static const u32 ar9462_common_wo_xlna_rx_gain_table_1p0[][2] = {
533 /* Addr allmodes */
534 {0x0000a000, 0x00010000},
535 {0x0000a004, 0x00030002},
536 {0x0000a008, 0x00050004},
537 {0x0000a00c, 0x00810080},
538 {0x0000a010, 0x00830082},
539 {0x0000a014, 0x01810180},
540 {0x0000a018, 0x01830182},
541 {0x0000a01c, 0x01850184},
542 {0x0000a020, 0x01890188},
543 {0x0000a024, 0x018b018a},
544 {0x0000a028, 0x018d018c},
545 {0x0000a02c, 0x03820190},
546 {0x0000a030, 0x03840383},
547 {0x0000a034, 0x03880385},
548 {0x0000a038, 0x038a0389},
549 {0x0000a03c, 0x038c038b},
550 {0x0000a040, 0x0390038d},
551 {0x0000a044, 0x03920391},
552 {0x0000a048, 0x03940393},
553 {0x0000a04c, 0x03960395},
554 {0x0000a050, 0x00000000},
555 {0x0000a054, 0x00000000},
556 {0x0000a058, 0x00000000},
557 {0x0000a05c, 0x00000000},
558 {0x0000a060, 0x00000000},
559 {0x0000a064, 0x00000000},
560 {0x0000a068, 0x00000000},
561 {0x0000a06c, 0x00000000},
562 {0x0000a070, 0x00000000},
563 {0x0000a074, 0x00000000},
564 {0x0000a078, 0x00000000},
565 {0x0000a07c, 0x00000000},
566 {0x0000a080, 0x29292929},
567 {0x0000a084, 0x29292929},
568 {0x0000a088, 0x29292929},
569 {0x0000a08c, 0x29292929},
570 {0x0000a090, 0x22292929},
571 {0x0000a094, 0x1d1d2222},
572 {0x0000a098, 0x0c111117},
573 {0x0000a09c, 0x00030303},
574 {0x0000a0a0, 0x00000000},
575 {0x0000a0a4, 0x00000000},
576 {0x0000a0a8, 0x00000000},
577 {0x0000a0ac, 0x00000000},
578 {0x0000a0b0, 0x00000000},
579 {0x0000a0b4, 0x00000000},
580 {0x0000a0b8, 0x00000000},
581 {0x0000a0bc, 0x00000000},
582 {0x0000a0c0, 0x001f0000},
583 {0x0000a0c4, 0x01000101},
584 {0x0000a0c8, 0x011e011f},
585 {0x0000a0cc, 0x011c011d},
586 {0x0000a0d0, 0x02030204},
587 {0x0000a0d4, 0x02010202},
588 {0x0000a0d8, 0x021f0200},
589 {0x0000a0dc, 0x0302021e},
590 {0x0000a0e0, 0x03000301},
591 {0x0000a0e4, 0x031e031f},
592 {0x0000a0e8, 0x0402031d},
593 {0x0000a0ec, 0x04000401},
594 {0x0000a0f0, 0x041e041f},
595 {0x0000a0f4, 0x0502041d},
596 {0x0000a0f8, 0x05000501},
597 {0x0000a0fc, 0x051e051f},
598 {0x0000a100, 0x06010602},
599 {0x0000a104, 0x061f0600},
600 {0x0000a108, 0x061d061e},
601 {0x0000a10c, 0x07020703},
602 {0x0000a110, 0x07000701},
603 {0x0000a114, 0x00000000},
604 {0x0000a118, 0x00000000},
605 {0x0000a11c, 0x00000000},
606 {0x0000a120, 0x00000000},
607 {0x0000a124, 0x00000000},
608 {0x0000a128, 0x00000000},
609 {0x0000a12c, 0x00000000},
610 {0x0000a130, 0x00000000},
611 {0x0000a134, 0x00000000},
612 {0x0000a138, 0x00000000},
613 {0x0000a13c, 0x00000000},
614 {0x0000a140, 0x001f0000},
615 {0x0000a144, 0x01000101},
616 {0x0000a148, 0x011e011f},
617 {0x0000a14c, 0x011c011d},
618 {0x0000a150, 0x02030204},
619 {0x0000a154, 0x02010202},
620 {0x0000a158, 0x021f0200},
621 {0x0000a15c, 0x0302021e},
622 {0x0000a160, 0x03000301},
623 {0x0000a164, 0x031e031f},
624 {0x0000a168, 0x0402031d},
625 {0x0000a16c, 0x04000401},
626 {0x0000a170, 0x041e041f},
627 {0x0000a174, 0x0502041d},
628 {0x0000a178, 0x05000501},
629 {0x0000a17c, 0x051e051f},
630 {0x0000a180, 0x06010602},
631 {0x0000a184, 0x061f0600},
632 {0x0000a188, 0x061d061e},
633 {0x0000a18c, 0x07020703},
634 {0x0000a190, 0x07000701},
635 {0x0000a194, 0x00000000},
636 {0x0000a198, 0x00000000},
637 {0x0000a19c, 0x00000000},
638 {0x0000a1a0, 0x00000000},
639 {0x0000a1a4, 0x00000000},
640 {0x0000a1a8, 0x00000000},
641 {0x0000a1ac, 0x00000000},
642 {0x0000a1b0, 0x00000000},
643 {0x0000a1b4, 0x00000000},
644 {0x0000a1b8, 0x00000000},
645 {0x0000a1bc, 0x00000000},
646 {0x0000a1c0, 0x00000000},
647 {0x0000a1c4, 0x00000000},
648 {0x0000a1c8, 0x00000000},
649 {0x0000a1cc, 0x00000000},
650 {0x0000a1d0, 0x00000000},
651 {0x0000a1d4, 0x00000000},
652 {0x0000a1d8, 0x00000000},
653 {0x0000a1dc, 0x00000000},
654 {0x0000a1e0, 0x00000000},
655 {0x0000a1e4, 0x00000000},
656 {0x0000a1e8, 0x00000000},
657 {0x0000a1ec, 0x00000000},
658 {0x0000a1f0, 0x00000396},
659 {0x0000a1f4, 0x00000396},
660 {0x0000a1f8, 0x00000396},
661 {0x0000a1fc, 0x00000196},
662 {0x0000b000, 0x00010000},
663 {0x0000b004, 0x00030002},
664 {0x0000b008, 0x00050004},
665 {0x0000b00c, 0x00810080},
666 {0x0000b010, 0x00830082},
667 {0x0000b014, 0x01810180},
668 {0x0000b018, 0x01830182},
669 {0x0000b01c, 0x01850184},
670 {0x0000b020, 0x02810280},
671 {0x0000b024, 0x02830282},
672 {0x0000b028, 0x02850284},
673 {0x0000b02c, 0x02890288},
674 {0x0000b030, 0x028b028a},
675 {0x0000b034, 0x0388028c},
676 {0x0000b038, 0x038a0389},
677 {0x0000b03c, 0x038c038b},
678 {0x0000b040, 0x0390038d},
679 {0x0000b044, 0x03920391},
680 {0x0000b048, 0x03940393},
681 {0x0000b04c, 0x03960395},
682 {0x0000b050, 0x00000000},
683 {0x0000b054, 0x00000000},
684 {0x0000b058, 0x00000000},
685 {0x0000b05c, 0x00000000},
686 {0x0000b060, 0x00000000},
687 {0x0000b064, 0x00000000},
688 {0x0000b068, 0x00000000},
689 {0x0000b06c, 0x00000000},
690 {0x0000b070, 0x00000000},
691 {0x0000b074, 0x00000000},
692 {0x0000b078, 0x00000000},
693 {0x0000b07c, 0x00000000},
694 {0x0000b080, 0x32323232},
695 {0x0000b084, 0x2f2f3232},
696 {0x0000b088, 0x23282a2d},
697 {0x0000b08c, 0x1c1e2123},
698 {0x0000b090, 0x14171919},
699 {0x0000b094, 0x0e0e1214},
700 {0x0000b098, 0x03050707},
701 {0x0000b09c, 0x00030303},
702 {0x0000b0a0, 0x00000000},
703 {0x0000b0a4, 0x00000000},
704 {0x0000b0a8, 0x00000000},
705 {0x0000b0ac, 0x00000000},
706 {0x0000b0b0, 0x00000000},
707 {0x0000b0b4, 0x00000000},
708 {0x0000b0b8, 0x00000000},
709 {0x0000b0bc, 0x00000000},
710 {0x0000b0c0, 0x003f0020},
711 {0x0000b0c4, 0x00400041},
712 {0x0000b0c8, 0x0140005f},
713 {0x0000b0cc, 0x0160015f},
714 {0x0000b0d0, 0x017e017f},
715 {0x0000b0d4, 0x02410242},
716 {0x0000b0d8, 0x025f0240},
717 {0x0000b0dc, 0x027f0260},
718 {0x0000b0e0, 0x0341027e},
719 {0x0000b0e4, 0x035f0340},
720 {0x0000b0e8, 0x037f0360},
721 {0x0000b0ec, 0x04400441},
722 {0x0000b0f0, 0x0460045f},
723 {0x0000b0f4, 0x0541047f},
724 {0x0000b0f8, 0x055f0540},
725 {0x0000b0fc, 0x057f0560},
726 {0x0000b100, 0x06400641},
727 {0x0000b104, 0x0660065f},
728 {0x0000b108, 0x067e067f},
729 {0x0000b10c, 0x07410742},
730 {0x0000b110, 0x075f0740},
731 {0x0000b114, 0x077f0760},
732 {0x0000b118, 0x07800781},
733 {0x0000b11c, 0x07a0079f},
734 {0x0000b120, 0x07c107bf},
735 {0x0000b124, 0x000007c0},
736 {0x0000b128, 0x00000000},
737 {0x0000b12c, 0x00000000},
738 {0x0000b130, 0x00000000},
739 {0x0000b134, 0x00000000},
740 {0x0000b138, 0x00000000},
741 {0x0000b13c, 0x00000000},
742 {0x0000b140, 0x003f0020},
743 {0x0000b144, 0x00400041},
744 {0x0000b148, 0x0140005f},
745 {0x0000b14c, 0x0160015f},
746 {0x0000b150, 0x017e017f},
747 {0x0000b154, 0x02410242},
748 {0x0000b158, 0x025f0240},
749 {0x0000b15c, 0x027f0260},
750 {0x0000b160, 0x0341027e},
751 {0x0000b164, 0x035f0340},
752 {0x0000b168, 0x037f0360},
753 {0x0000b16c, 0x04400441},
754 {0x0000b170, 0x0460045f},
755 {0x0000b174, 0x0541047f},
756 {0x0000b178, 0x055f0540},
757 {0x0000b17c, 0x057f0560},
758 {0x0000b180, 0x06400641},
759 {0x0000b184, 0x0660065f},
760 {0x0000b188, 0x067e067f},
761 {0x0000b18c, 0x07410742},
762 {0x0000b190, 0x075f0740},
763 {0x0000b194, 0x077f0760},
764 {0x0000b198, 0x07800781},
765 {0x0000b19c, 0x07a0079f},
766 {0x0000b1a0, 0x07c107bf},
767 {0x0000b1a4, 0x000007c0},
768 {0x0000b1a8, 0x00000000},
769 {0x0000b1ac, 0x00000000},
770 {0x0000b1b0, 0x00000000},
771 {0x0000b1b4, 0x00000000},
772 {0x0000b1b8, 0x00000000},
773 {0x0000b1bc, 0x00000000},
774 {0x0000b1c0, 0x00000000},
775 {0x0000b1c4, 0x00000000},
776 {0x0000b1c8, 0x00000000},
777 {0x0000b1cc, 0x00000000},
778 {0x0000b1d0, 0x00000000},
779 {0x0000b1d4, 0x00000000},
780 {0x0000b1d8, 0x00000000},
781 {0x0000b1dc, 0x00000000},
782 {0x0000b1e0, 0x00000000},
783 {0x0000b1e4, 0x00000000},
784 {0x0000b1e8, 0x00000000},
785 {0x0000b1ec, 0x00000000},
786 {0x0000b1f0, 0x00000396},
787 {0x0000b1f4, 0x00000396},
788 {0x0000b1f8, 0x00000396},
789 {0x0000b1fc, 0x00000196},
790};
791
792static const u32 ar9462_1p0_mac_postamble[][5] = {
793 /* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */
794 {0x00001030, 0x00000230, 0x00000460, 0x000002c0, 0x00000160},
795 {0x00001070, 0x00000168, 0x000002d0, 0x00000318, 0x0000018c},
796 {0x000010b0, 0x00000e60, 0x00001cc0, 0x00007c70, 0x00003e38},
797 {0x00008014, 0x03e803e8, 0x07d007d0, 0x10801600, 0x08400b00},
798 {0x0000801c, 0x128d8027, 0x128d804f, 0x12e00057, 0x12e0002b},
799 {0x00008120, 0x08f04800, 0x08f04800, 0x08f04810, 0x08f04810},
800 {0x000081d0, 0x00003210, 0x00003210, 0x0000320a, 0x0000320a},
801 {0x00008318, 0x00003e80, 0x00007d00, 0x00006880, 0x00003440},
802};
803
804static const u32 ar9462_1p0_radio_postamble[][5] = {
805 /* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */
806 {0x0001609c, 0x0b8ee524, 0x0b8ee524, 0x0b8ee524, 0x0b8ee524},
807 {0x000160ac, 0xa4646c08, 0xa4646c08, 0x24646c08, 0x24646c08},
808 {0x000160b0, 0x01d67f70, 0x01d67f70, 0x01d67f70, 0x01d67f70},
809 {0x0001610c, 0x48000000, 0x40000000, 0x40000000, 0x40000000},
810 {0x00016140, 0x10804008, 0x10804008, 0x50804008, 0x50804008},
811 {0x0001650c, 0x48000000, 0x40000000, 0x40000000, 0x40000000},
812 {0x00016540, 0x10804008, 0x10804008, 0x50804008, 0x50804008},
813};
814
815static const u32 ar9462_1p0_baseband_core[][2] = {
816 /* Addr allmodes */
817 {0x00009800, 0xafe68e30},
818 {0x00009804, 0xfd14e000},
819 {0x00009808, 0x9c0a9f6b},
820 {0x0000980c, 0x04900000},
821 {0x00009814, 0x9280c00a},
822 {0x00009818, 0x00000000},
823 {0x0000981c, 0x00020028},
824 {0x00009834, 0x6400a290},
825 {0x00009838, 0x0108ecff},
826 {0x0000983c, 0x0d000600},
827 {0x00009880, 0x201fff00},
828 {0x00009884, 0x00001042},
829 {0x000098a4, 0x00200400},
830 {0x000098b0, 0x32840bbe},
831 {0x000098d0, 0x004b6a8e},
832 {0x000098d4, 0x00000820},
833 {0x000098dc, 0x00000000},
834 {0x000098e4, 0x01ffffff},
835 {0x000098e8, 0x01ffffff},
836 {0x000098ec, 0x01ffffff},
837 {0x000098f0, 0x00000000},
838 {0x000098f4, 0x00000000},
839 {0x00009c04, 0xff55ff55},
840 {0x00009c08, 0x0320ff55},
841 {0x00009c0c, 0x00000000},
842 {0x00009c10, 0x00000000},
843 {0x00009c14, 0x00046384},
844 {0x00009c18, 0x05b6b440},
845 {0x00009c1c, 0x00b6b440},
846 {0x00009d00, 0xc080a333},
847 {0x00009d04, 0x40206c10},
848 {0x00009d08, 0x009c4060},
849 {0x00009d0c, 0x9883800a},
850 {0x00009d10, 0x01834061},
851 {0x00009d14, 0x00c0040b},
852 {0x00009d18, 0x00000000},
853 {0x00009e08, 0x0038230c},
854 {0x00009e24, 0x990bb514},
855 {0x00009e28, 0x0c6f0000},
856 {0x00009e30, 0x06336f77},
857 {0x00009e34, 0x6af6532f},
858 {0x00009e38, 0x0cc80c00},
859 {0x00009e40, 0x0d261820},
860 {0x00009e4c, 0x00001004},
861 {0x00009e50, 0x00ff03f1},
862 {0x00009e54, 0x64c355c7},
863 {0x00009e58, 0xfd897735},
864 {0x00009e5c, 0xe9198724},
865 {0x00009fc0, 0x803e4788},
866 {0x00009fc4, 0x0001efb5},
867 {0x00009fcc, 0x40000014},
868 {0x00009fd0, 0x01193b93},
869 {0x0000a20c, 0x00000000},
870 {0x0000a220, 0x00000000},
871 {0x0000a224, 0x00000000},
872 {0x0000a228, 0x10002310},
873 {0x0000a23c, 0x00000000},
874 {0x0000a244, 0x0c000000},
875 {0x0000a2a0, 0x00000001},
876 {0x0000a2c0, 0x00000001},
877 {0x0000a2c8, 0x00000000},
878 {0x0000a2cc, 0x18c43433},
879 {0x0000a2d4, 0x00000000},
880 {0x0000a2ec, 0x00000000},
881 {0x0000a2f0, 0x00000000},
882 {0x0000a2f4, 0x00000000},
883 {0x0000a2f8, 0x00000000},
884 {0x0000a344, 0x00000000},
885 {0x0000a34c, 0x00000000},
886 {0x0000a350, 0x0000a000},
887 {0x0000a364, 0x00000000},
888 {0x0000a370, 0x00000000},
889 {0x0000a390, 0x00000001},
890 {0x0000a394, 0x00000444},
891 {0x0000a398, 0x001f0e0f},
892 {0x0000a39c, 0x0075393f},
893 {0x0000a3a0, 0xb79f6427},
894 {0x0000a3a4, 0x00000000},
895 {0x0000a3a8, 0xaaaaaaaa},
896 {0x0000a3ac, 0x3c466478},
897 {0x0000a3c0, 0x20202020},
898 {0x0000a3c4, 0x22222220},
899 {0x0000a3c8, 0x20200020},
900 {0x0000a3cc, 0x20202020},
901 {0x0000a3d0, 0x20202020},
902 {0x0000a3d4, 0x20202020},
903 {0x0000a3d8, 0x20202020},
904 {0x0000a3dc, 0x20202020},
905 {0x0000a3e0, 0x20202020},
906 {0x0000a3e4, 0x20202020},
907 {0x0000a3e8, 0x20202020},
908 {0x0000a3ec, 0x20202020},
909 {0x0000a3f0, 0x00000000},
910 {0x0000a3f4, 0x00000006},
911 {0x0000a3f8, 0x0c9bd380},
912 {0x0000a3fc, 0x000f0f01},
913 {0x0000a400, 0x8fa91f01},
914 {0x0000a404, 0x00000000},
915 {0x0000a408, 0x0e79e5c6},
916 {0x0000a40c, 0x00820820},
917 {0x0000a414, 0x1ce739ce},
918 {0x0000a418, 0x2d001dce},
919 {0x0000a41c, 0x1ce739ce},
920 {0x0000a420, 0x000001ce},
921 {0x0000a424, 0x1ce739ce},
922 {0x0000a428, 0x000001ce},
923 {0x0000a42c, 0x1ce739ce},
924 {0x0000a430, 0x1ce739ce},
925 {0x0000a434, 0x00000000},
926 {0x0000a438, 0x00001801},
927 {0x0000a43c, 0x00100000},
928 {0x0000a440, 0x00000000},
929 {0x0000a444, 0x00000000},
930 {0x0000a448, 0x05000080},
931 {0x0000a44c, 0x00000001},
932 {0x0000a450, 0x00010000},
933 {0x0000a458, 0x00000000},
934 {0x0000a644, 0xbfad9d74},
935 {0x0000a648, 0x0048060a},
936 {0x0000a64c, 0x00003c37},
937 {0x0000a670, 0x03020100},
938 {0x0000a674, 0x09080504},
939 {0x0000a678, 0x0d0c0b0a},
940 {0x0000a67c, 0x13121110},
941 {0x0000a680, 0x31301514},
942 {0x0000a684, 0x35343332},
943 {0x0000a688, 0x00000036},
944 {0x0000a690, 0x00000838},
945 {0x0000a6b0, 0x0000000a},
946 {0x0000a6b4, 0x28f12c01},
947 {0x0000a7c0, 0x00000000},
948 {0x0000a7c4, 0xfffffffc},
949 {0x0000a7c8, 0x00000000},
950 {0x0000a7cc, 0x00000000},
951 {0x0000a7d0, 0x00000000},
952 {0x0000a7d4, 0x00000004},
953 {0x0000a7dc, 0x00000001},
954 {0x0000a8d0, 0x004b6a8e},
955 {0x0000a8d4, 0x00000820},
956 {0x0000a8dc, 0x00000000},
957 {0x0000a8f0, 0x00000000},
958 {0x0000a8f4, 0x00000000},
959 {0x0000b2d0, 0x00000080},
960 {0x0000b2d4, 0x00000000},
961 {0x0000b2ec, 0x00000000},
962 {0x0000b2f0, 0x00000000},
963 {0x0000b2f4, 0x00000000},
964 {0x0000b2f8, 0x00000000},
965 {0x0000b408, 0x0e79e5c0},
966 {0x0000b40c, 0x00820820},
967 {0x0000b420, 0x00000000},
968 {0x0000b6b0, 0x0000000a},
969 {0x0000b6b4, 0x00c00001},
970};
971
972static const u32 ar9462_1p0_baseband_postamble[][5] = {
973 /* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */
974 {0x00009810, 0xd00a8005, 0xd00a8005, 0xd00a8011, 0xd00a8011},
975 {0x00009820, 0x206a022e, 0x206a022e, 0x206a012e, 0x206a012e},
976 {0x00009824, 0x5ac640d0, 0x5ac640d0, 0x5ac640d0, 0x5ac640d0},
977 {0x00009828, 0x06903081, 0x06903081, 0x06903881, 0x06903881},
978 {0x0000982c, 0x05eea6d4, 0x05eea6d4, 0x05eea6d4, 0x05eea6d4},
979 {0x00009830, 0x0000059c, 0x0000059c, 0x0000119c, 0x0000119c},
980 {0x00009c00, 0x000000c4, 0x000000c4, 0x000000c4, 0x000000c4},
981 {0x00009e00, 0x0372111a, 0x0372111a, 0x037216a0, 0x037216a0},
982 {0x00009e04, 0x001c2020, 0x001c2020, 0x001c2020, 0x001c2020},
983 {0x00009e0c, 0x6c4000e2, 0x6d4000e2, 0x6d4000e2, 0x6c4000e2},
984 {0x00009e10, 0x7ec88d2e, 0x7ec88d2e, 0x7ec84d2e, 0x7ec84d2e},
985 {0x00009e14, 0x37b95d5e, 0x37b9605e, 0x3379605e, 0x33795d5e},
986 {0x00009e18, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
987 {0x00009e1c, 0x0001cf9c, 0x0001cf9c, 0x00021f9c, 0x00021f9c},
988 {0x00009e20, 0x000003b5, 0x000003b5, 0x000003ce, 0x000003ce},
989 {0x00009e2c, 0x0000001c, 0x0000001c, 0x00000021, 0x00000021},
990 {0x00009e3c, 0xcf946220, 0xcf946220, 0xcfd5c782, 0xcfd5c782},
991 {0x00009e44, 0x02321e27, 0x02321e27, 0x02291e27, 0x02291e27},
992 {0x00009e48, 0x5030201a, 0x5030201a, 0x50302012, 0x50302012},
993 {0x00009fc8, 0x0003f000, 0x0003f000, 0x0001a000, 0x0001a000},
994 {0x0000a204, 0x0131b7c0, 0x0131b7c4, 0x0131b7c4, 0x0131b7c0},
995 {0x0000a208, 0x00000104, 0x00000104, 0x00000004, 0x00000004},
996 {0x0000a22c, 0x01026a2f, 0x01026a27, 0x01026a2f, 0x01026a2f},
997 {0x0000a230, 0x0000400a, 0x00004014, 0x00004016, 0x0000400b},
998 {0x0000a234, 0x00000fff, 0x10000fff, 0x10000fff, 0x00000fff},
999 {0x0000a238, 0xffb81018, 0xffb81018, 0xffb81018, 0xffb81018},
1000 {0x0000a250, 0x00000000, 0x00000000, 0x00000210, 0x00000108},
1001 {0x0000a254, 0x000007d0, 0x00000fa0, 0x00001130, 0x00000898},
1002 {0x0000a258, 0x02020002, 0x02020002, 0x02020002, 0x02020002},
1003 {0x0000a25c, 0x01000e0e, 0x01000e0e, 0x01000e0e, 0x01000e0e},
1004 {0x0000a260, 0x0a021501, 0x0a021501, 0x3a021501, 0x3a021501},
1005 {0x0000a264, 0x00000e0e, 0x00000e0e, 0x00000e0e, 0x00000e0e},
1006 {0x0000a280, 0x00000007, 0x00000007, 0x0000000b, 0x0000000b},
1007 {0x0000a284, 0x00000000, 0x00000000, 0x00000150, 0x00000150},
1008 {0x0000a288, 0x00000110, 0x00000110, 0x00100110, 0x00100110},
1009 {0x0000a28c, 0x00022222, 0x00022222, 0x00022222, 0x00022222},
1010 {0x0000a2c4, 0x00158d18, 0x00158d18, 0x00158d18, 0x00158d18},
1011 {0x0000a2d0, 0x00041981, 0x00041981, 0x00041981, 0x00041982},
1012 {0x0000a2d8, 0x7999a83b, 0x7999a83b, 0x7999a83b, 0x7999a83b},
1013 {0x0000a358, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1014 {0x0000a830, 0x0000019c, 0x0000019c, 0x0000019c, 0x0000019c},
1015 {0x0000ae04, 0x001c0000, 0x001c0000, 0x001c0000, 0x00100000},
1016 {0x0000ae18, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1017 {0x0000ae1c, 0x0000019c, 0x0000019c, 0x0000019c, 0x0000019c},
1018 {0x0000ae20, 0x000001b5, 0x000001b5, 0x000001ce, 0x000001ce},
1019 {0x0000b284, 0x00000000, 0x00000000, 0x00000550, 0x00000550},
1020};
1021
1022static const u32 ar9462_modes_fast_clock_1p0[][3] = {
1023 /* Addr 5G_HT20 5G_HT40 */
1024 {0x00001030, 0x00000268, 0x000004d0},
1025 {0x00001070, 0x0000018c, 0x00000318},
1026 {0x000010b0, 0x00000fd0, 0x00001fa0},
1027 {0x00008014, 0x044c044c, 0x08980898},
1028 {0x0000801c, 0x148ec02b, 0x148ec057},
1029 {0x00008318, 0x000044c0, 0x00008980},
1030 {0x00009e00, 0x0372131c, 0x0372131c},
1031 {0x0000a230, 0x0000400b, 0x00004016},
1032 {0x0000a254, 0x00000898, 0x00001130},
1033};
1034
1035static const u32 ar9462_modes_low_ob_db_tx_gain_table_1p0[][5] = {
1036 /* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */
1037 {0x0000a2dc, 0x0380c7fc, 0x0380c7fc, 0x03aaa352, 0x03aaa352},
1038 {0x0000a2e0, 0x0000f800, 0x0000f800, 0x03ccc584, 0x03ccc584},
1039 {0x0000a2e4, 0x03ff0000, 0x03ff0000, 0x03f0f800, 0x03f0f800},
1040 {0x0000a2e8, 0x00000000, 0x00000000, 0x03ff0000, 0x03ff0000},
1041 {0x0000a410, 0x000050d9, 0x000050d9, 0x000050d9, 0x000050d9},
1042 {0x0000a500, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1043 {0x0000a504, 0x06000003, 0x06000003, 0x04000002, 0x04000002},
1044 {0x0000a508, 0x0a000020, 0x0a000020, 0x08000004, 0x08000004},
1045 {0x0000a50c, 0x10000023, 0x10000023, 0x0b000200, 0x0b000200},
1046 {0x0000a510, 0x16000220, 0x16000220, 0x0f000202, 0x0f000202},
1047 {0x0000a514, 0x1c000223, 0x1c000223, 0x12000400, 0x12000400},
1048 {0x0000a518, 0x21020220, 0x21020220, 0x16000402, 0x16000402},
1049 {0x0000a51c, 0x27020223, 0x27020223, 0x19000404, 0x19000404},
1050 {0x0000a520, 0x2b022220, 0x2b022220, 0x1c000603, 0x1c000603},
1051 {0x0000a524, 0x2f022222, 0x2f022222, 0x21000a02, 0x21000a02},
1052 {0x0000a528, 0x34022225, 0x34022225, 0x25000a04, 0x25000a04},
1053 {0x0000a52c, 0x3a02222a, 0x3a02222a, 0x28000a20, 0x28000a20},
1054 {0x0000a530, 0x3e02222c, 0x3e02222c, 0x2c000e20, 0x2c000e20},
1055 {0x0000a534, 0x4202242a, 0x4202242a, 0x30000e22, 0x30000e22},
1056 {0x0000a538, 0x4702244a, 0x4702244a, 0x34000e24, 0x34000e24},
1057 {0x0000a53c, 0x4b02244c, 0x4b02244c, 0x38001640, 0x38001640},
1058 {0x0000a540, 0x4e02246c, 0x4e02246c, 0x3c001660, 0x3c001660},
1059 {0x0000a544, 0x5302266c, 0x5302266c, 0x3f001861, 0x3f001861},
1060 {0x0000a548, 0x5702286c, 0x5702286c, 0x43001a81, 0x43001a81},
1061 {0x0000a54c, 0x5c04286b, 0x5c04286b, 0x47001a83, 0x47001a83},
1062 {0x0000a550, 0x61042a6c, 0x61042a6c, 0x4a001c84, 0x4a001c84},
1063 {0x0000a554, 0x66062a6c, 0x66062a6c, 0x4e001ce3, 0x4e001ce3},
1064 {0x0000a558, 0x6b062e6c, 0x6b062e6c, 0x52001ce5, 0x52001ce5},
1065 {0x0000a55c, 0x7006308c, 0x7006308c, 0x56001ce9, 0x56001ce9},
1066 {0x0000a560, 0x730a308a, 0x730a308a, 0x5a001ceb, 0x5a001ceb},
1067 {0x0000a564, 0x770a308c, 0x770a308c, 0x5d001eec, 0x5d001eec},
1068 {0x0000a568, 0x770a308c, 0x770a308c, 0x5d001eec, 0x5d001eec},
1069 {0x0000a56c, 0x770a308c, 0x770a308c, 0x5d001eec, 0x5d001eec},
1070 {0x0000a570, 0x770a308c, 0x770a308c, 0x5d001eec, 0x5d001eec},
1071 {0x0000a574, 0x770a308c, 0x770a308c, 0x5d001eec, 0x5d001eec},
1072 {0x0000a578, 0x770a308c, 0x770a308c, 0x5d001eec, 0x5d001eec},
1073 {0x0000a57c, 0x770a308c, 0x770a308c, 0x5d001eec, 0x5d001eec},
1074 {0x0000a600, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1075 {0x0000a604, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1076 {0x0000a608, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1077 {0x0000a60c, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1078 {0x0000a610, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1079 {0x0000a614, 0x01404000, 0x01404000, 0x01404000, 0x01404000},
1080 {0x0000a618, 0x01404501, 0x01404501, 0x01404501, 0x01404501},
1081 {0x0000a61c, 0x02008802, 0x02008802, 0x02008501, 0x02008501},
1082 {0x0000a620, 0x0300cc03, 0x0300cc03, 0x0280ca03, 0x0280ca03},
1083 {0x0000a624, 0x0300cc03, 0x0300cc03, 0x03010c04, 0x03010c04},
1084 {0x0000a628, 0x0300cc03, 0x0300cc03, 0x04014c04, 0x04014c04},
1085 {0x0000a62c, 0x03810c03, 0x03810c03, 0x04015005, 0x04015005},
1086 {0x0000a630, 0x03810e04, 0x03810e04, 0x04015005, 0x04015005},
1087 {0x0000a634, 0x03810e04, 0x03810e04, 0x04015005, 0x04015005},
1088 {0x0000a638, 0x03810e04, 0x03810e04, 0x04015005, 0x04015005},
1089 {0x0000a63c, 0x03810e04, 0x03810e04, 0x04015005, 0x04015005},
1090 {0x0000b2dc, 0x0380c7fc, 0x0380c7fc, 0x03aaa352, 0x03aaa352},
1091 {0x0000b2e0, 0x0000f800, 0x0000f800, 0x03ccc584, 0x03ccc584},
1092 {0x0000b2e4, 0x03ff0000, 0x03ff0000, 0x03f0f800, 0x03f0f800},
1093 {0x0000b2e8, 0x00000000, 0x00000000, 0x03ff0000, 0x03ff0000},
1094 {0x00016044, 0x012482d4, 0x012482d4, 0x012482d4, 0x012482d4},
1095 {0x00016048, 0x64992060, 0x64992060, 0x64992060, 0x64992060},
1096 {0x00016444, 0x012482d4, 0x012482d4, 0x012482d4, 0x012482d4},
1097 {0x00016448, 0x64992000, 0x64992000, 0x64992000, 0x64992000},
1098};
1099
1100static const u32 ar9462_1p0_soc_postamble[][5] = {
1101 /* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */
1102 {0x00007010, 0x00002233, 0x00002233, 0x00002233, 0x00002233},
1103};
1104
1105static const u32 ar9462_common_mixed_rx_gain_table_1p0[][2] = {
1106 /* Addr allmodes */
1107 {0x0000a000, 0x00010000},
1108 {0x0000a004, 0x00030002},
1109 {0x0000a008, 0x00050004},
1110 {0x0000a00c, 0x00810080},
1111 {0x0000a010, 0x00830082},
1112 {0x0000a014, 0x01810180},
1113 {0x0000a018, 0x01830182},
1114 {0x0000a01c, 0x01850184},
1115 {0x0000a020, 0x01890188},
1116 {0x0000a024, 0x018b018a},
1117 {0x0000a028, 0x018d018c},
1118 {0x0000a02c, 0x03820190},
1119 {0x0000a030, 0x03840383},
1120 {0x0000a034, 0x03880385},
1121 {0x0000a038, 0x038a0389},
1122 {0x0000a03c, 0x038c038b},
1123 {0x0000a040, 0x0390038d},
1124 {0x0000a044, 0x03920391},
1125 {0x0000a048, 0x03940393},
1126 {0x0000a04c, 0x03960395},
1127 {0x0000a050, 0x00000000},
1128 {0x0000a054, 0x00000000},
1129 {0x0000a058, 0x00000000},
1130 {0x0000a05c, 0x00000000},
1131 {0x0000a060, 0x00000000},
1132 {0x0000a064, 0x00000000},
1133 {0x0000a068, 0x00000000},
1134 {0x0000a06c, 0x00000000},
1135 {0x0000a070, 0x00000000},
1136 {0x0000a074, 0x00000000},
1137 {0x0000a078, 0x00000000},
1138 {0x0000a07c, 0x00000000},
1139 {0x0000a080, 0x29292929},
1140 {0x0000a084, 0x29292929},
1141 {0x0000a088, 0x29292929},
1142 {0x0000a08c, 0x29292929},
1143 {0x0000a090, 0x22292929},
1144 {0x0000a094, 0x1d1d2222},
1145 {0x0000a098, 0x0c111117},
1146 {0x0000a09c, 0x00030303},
1147 {0x0000a0a0, 0x00000000},
1148 {0x0000a0a4, 0x00000000},
1149 {0x0000a0a8, 0x00000000},
1150 {0x0000a0ac, 0x00000000},
1151 {0x0000a0b0, 0x00000000},
1152 {0x0000a0b4, 0x00000000},
1153 {0x0000a0b8, 0x00000000},
1154 {0x0000a0bc, 0x00000000},
1155 {0x0000a0c0, 0x001f0000},
1156 {0x0000a0c4, 0x01000101},
1157 {0x0000a0c8, 0x011e011f},
1158 {0x0000a0cc, 0x011c011d},
1159 {0x0000a0d0, 0x02030204},
1160 {0x0000a0d4, 0x02010202},
1161 {0x0000a0d8, 0x021f0200},
1162 {0x0000a0dc, 0x0302021e},
1163 {0x0000a0e0, 0x03000301},
1164 {0x0000a0e4, 0x031e031f},
1165 {0x0000a0e8, 0x0402031d},
1166 {0x0000a0ec, 0x04000401},
1167 {0x0000a0f0, 0x041e041f},
1168 {0x0000a0f4, 0x0502041d},
1169 {0x0000a0f8, 0x05000501},
1170 {0x0000a0fc, 0x051e051f},
1171 {0x0000a100, 0x06010602},
1172 {0x0000a104, 0x061f0600},
1173 {0x0000a108, 0x061d061e},
1174 {0x0000a10c, 0x07020703},
1175 {0x0000a110, 0x07000701},
1176 {0x0000a114, 0x00000000},
1177 {0x0000a118, 0x00000000},
1178 {0x0000a11c, 0x00000000},
1179 {0x0000a120, 0x00000000},
1180 {0x0000a124, 0x00000000},
1181 {0x0000a128, 0x00000000},
1182 {0x0000a12c, 0x00000000},
1183 {0x0000a130, 0x00000000},
1184 {0x0000a134, 0x00000000},
1185 {0x0000a138, 0x00000000},
1186 {0x0000a13c, 0x00000000},
1187 {0x0000a140, 0x001f0000},
1188 {0x0000a144, 0x01000101},
1189 {0x0000a148, 0x011e011f},
1190 {0x0000a14c, 0x011c011d},
1191 {0x0000a150, 0x02030204},
1192 {0x0000a154, 0x02010202},
1193 {0x0000a158, 0x021f0200},
1194 {0x0000a15c, 0x0302021e},
1195 {0x0000a160, 0x03000301},
1196 {0x0000a164, 0x031e031f},
1197 {0x0000a168, 0x0402031d},
1198 {0x0000a16c, 0x04000401},
1199 {0x0000a170, 0x041e041f},
1200 {0x0000a174, 0x0502041d},
1201 {0x0000a178, 0x05000501},
1202 {0x0000a17c, 0x051e051f},
1203 {0x0000a180, 0x06010602},
1204 {0x0000a184, 0x061f0600},
1205 {0x0000a188, 0x061d061e},
1206 {0x0000a18c, 0x07020703},
1207 {0x0000a190, 0x07000701},
1208 {0x0000a194, 0x00000000},
1209 {0x0000a198, 0x00000000},
1210 {0x0000a19c, 0x00000000},
1211 {0x0000a1a0, 0x00000000},
1212 {0x0000a1a4, 0x00000000},
1213 {0x0000a1a8, 0x00000000},
1214 {0x0000a1ac, 0x00000000},
1215 {0x0000a1b0, 0x00000000},
1216 {0x0000a1b4, 0x00000000},
1217 {0x0000a1b8, 0x00000000},
1218 {0x0000a1bc, 0x00000000},
1219 {0x0000a1c0, 0x00000000},
1220 {0x0000a1c4, 0x00000000},
1221 {0x0000a1c8, 0x00000000},
1222 {0x0000a1cc, 0x00000000},
1223 {0x0000a1d0, 0x00000000},
1224 {0x0000a1d4, 0x00000000},
1225 {0x0000a1d8, 0x00000000},
1226 {0x0000a1dc, 0x00000000},
1227 {0x0000a1e0, 0x00000000},
1228 {0x0000a1e4, 0x00000000},
1229 {0x0000a1e8, 0x00000000},
1230 {0x0000a1ec, 0x00000000},
1231 {0x0000a1f0, 0x00000396},
1232 {0x0000a1f4, 0x00000396},
1233 {0x0000a1f8, 0x00000396},
1234 {0x0000a1fc, 0x00000196},
1235 {0x0000b000, 0x00010000},
1236 {0x0000b004, 0x00030002},
1237 {0x0000b008, 0x00050004},
1238 {0x0000b00c, 0x00810080},
1239 {0x0000b010, 0x00830082},
1240 {0x0000b014, 0x01810180},
1241 {0x0000b018, 0x01830182},
1242 {0x0000b01c, 0x01850184},
1243 {0x0000b020, 0x02810280},
1244 {0x0000b024, 0x02830282},
1245 {0x0000b028, 0x02850284},
1246 {0x0000b02c, 0x02890288},
1247 {0x0000b030, 0x028b028a},
1248 {0x0000b034, 0x0388028c},
1249 {0x0000b038, 0x038a0389},
1250 {0x0000b03c, 0x038c038b},
1251 {0x0000b040, 0x0390038d},
1252 {0x0000b044, 0x03920391},
1253 {0x0000b048, 0x03940393},
1254 {0x0000b04c, 0x03960395},
1255 {0x0000b050, 0x00000000},
1256 {0x0000b054, 0x00000000},
1257 {0x0000b058, 0x00000000},
1258 {0x0000b05c, 0x00000000},
1259 {0x0000b060, 0x00000000},
1260 {0x0000b064, 0x00000000},
1261 {0x0000b068, 0x00000000},
1262 {0x0000b06c, 0x00000000},
1263 {0x0000b070, 0x00000000},
1264 {0x0000b074, 0x00000000},
1265 {0x0000b078, 0x00000000},
1266 {0x0000b07c, 0x00000000},
1267 {0x0000b080, 0x2a2d2f32},
1268 {0x0000b084, 0x21232328},
1269 {0x0000b088, 0x19191c1e},
1270 {0x0000b08c, 0x12141417},
1271 {0x0000b090, 0x07070e0e},
1272 {0x0000b094, 0x03030305},
1273 {0x0000b098, 0x00000003},
1274 {0x0000b09c, 0x00000000},
1275 {0x0000b0a0, 0x00000000},
1276 {0x0000b0a4, 0x00000000},
1277 {0x0000b0a8, 0x00000000},
1278 {0x0000b0ac, 0x00000000},
1279 {0x0000b0b0, 0x00000000},
1280 {0x0000b0b4, 0x00000000},
1281 {0x0000b0b8, 0x00000000},
1282 {0x0000b0bc, 0x00000000},
1283 {0x0000b0c0, 0x003f0020},
1284 {0x0000b0c4, 0x00400041},
1285 {0x0000b0c8, 0x0140005f},
1286 {0x0000b0cc, 0x0160015f},
1287 {0x0000b0d0, 0x017e017f},
1288 {0x0000b0d4, 0x02410242},
1289 {0x0000b0d8, 0x025f0240},
1290 {0x0000b0dc, 0x027f0260},
1291 {0x0000b0e0, 0x0341027e},
1292 {0x0000b0e4, 0x035f0340},
1293 {0x0000b0e8, 0x037f0360},
1294 {0x0000b0ec, 0x04400441},
1295 {0x0000b0f0, 0x0460045f},
1296 {0x0000b0f4, 0x0541047f},
1297 {0x0000b0f8, 0x055f0540},
1298 {0x0000b0fc, 0x057f0560},
1299 {0x0000b100, 0x06400641},
1300 {0x0000b104, 0x0660065f},
1301 {0x0000b108, 0x067e067f},
1302 {0x0000b10c, 0x07410742},
1303 {0x0000b110, 0x075f0740},
1304 {0x0000b114, 0x077f0760},
1305 {0x0000b118, 0x07800781},
1306 {0x0000b11c, 0x07a0079f},
1307 {0x0000b120, 0x07c107bf},
1308 {0x0000b124, 0x000007c0},
1309 {0x0000b128, 0x00000000},
1310 {0x0000b12c, 0x00000000},
1311 {0x0000b130, 0x00000000},
1312 {0x0000b134, 0x00000000},
1313 {0x0000b138, 0x00000000},
1314 {0x0000b13c, 0x00000000},
1315 {0x0000b140, 0x003f0020},
1316 {0x0000b144, 0x00400041},
1317 {0x0000b148, 0x0140005f},
1318 {0x0000b14c, 0x0160015f},
1319 {0x0000b150, 0x017e017f},
1320 {0x0000b154, 0x02410242},
1321 {0x0000b158, 0x025f0240},
1322 {0x0000b15c, 0x027f0260},
1323 {0x0000b160, 0x0341027e},
1324 {0x0000b164, 0x035f0340},
1325 {0x0000b168, 0x037f0360},
1326 {0x0000b16c, 0x04400441},
1327 {0x0000b170, 0x0460045f},
1328 {0x0000b174, 0x0541047f},
1329 {0x0000b178, 0x055f0540},
1330 {0x0000b17c, 0x057f0560},
1331 {0x0000b180, 0x06400641},
1332 {0x0000b184, 0x0660065f},
1333 {0x0000b188, 0x067e067f},
1334 {0x0000b18c, 0x07410742},
1335 {0x0000b190, 0x075f0740},
1336 {0x0000b194, 0x077f0760},
1337 {0x0000b198, 0x07800781},
1338 {0x0000b19c, 0x07a0079f},
1339 {0x0000b1a0, 0x07c107bf},
1340 {0x0000b1a4, 0x000007c0},
1341 {0x0000b1a8, 0x00000000},
1342 {0x0000b1ac, 0x00000000},
1343 {0x0000b1b0, 0x00000000},
1344 {0x0000b1b4, 0x00000000},
1345 {0x0000b1b8, 0x00000000},
1346 {0x0000b1bc, 0x00000000},
1347 {0x0000b1c0, 0x00000000},
1348 {0x0000b1c4, 0x00000000},
1349 {0x0000b1c8, 0x00000000},
1350 {0x0000b1cc, 0x00000000},
1351 {0x0000b1d0, 0x00000000},
1352 {0x0000b1d4, 0x00000000},
1353 {0x0000b1d8, 0x00000000},
1354 {0x0000b1dc, 0x00000000},
1355 {0x0000b1e0, 0x00000000},
1356 {0x0000b1e4, 0x00000000},
1357 {0x0000b1e8, 0x00000000},
1358 {0x0000b1ec, 0x00000000},
1359 {0x0000b1f0, 0x00000396},
1360 {0x0000b1f4, 0x00000396},
1361 {0x0000b1f8, 0x00000396},
1362 {0x0000b1fc, 0x00000196},
1363};
1364
1365static const u32 ar9462_pcie_phy_clkreq_disable_L1_1p0[][2] = {
1366 /* Addr allmodes */
1367 {0x00018c00, 0x10013e5e},
1368 {0x00018c04, 0x000801d8},
1369 {0x00018c08, 0x0000580c},
1370};
1371
1372static const u32 ar9462_1p0_radio_core[][2] = {
1373 /* Addr allmodes */
1374 {0x00016000, 0x36db6db6},
1375 {0x00016004, 0x6db6db40},
1376 {0x00016008, 0x73f00000},
1377 {0x0001600c, 0x00000000},
1378 {0x00016010, 0x6d820001},
1379 {0x00016040, 0x7f80fff8},
1380 {0x0001604c, 0x2699e04f},
1381 {0x00016050, 0x6db6db6c},
1382 {0x00016054, 0x6db60000},
1383 {0x00016058, 0x6c200000},
1384 {0x00016080, 0x00040000},
1385 {0x00016084, 0x9a68048c},
1386 {0x00016088, 0x54214514},
1387 {0x0001608c, 0x12030409},
1388 {0x00016090, 0x24926490},
1389 {0x00016098, 0xd2888888},
1390 {0x000160a0, 0x0a108ffe},
1391 {0x000160a4, 0x812fc490},
1392 {0x000160a8, 0x423c8000},
1393 {0x000160b4, 0x92000000},
1394 {0x000160b8, 0x0285dddc},
1395 {0x000160bc, 0x02908888},
1396 {0x000160c0, 0x00adb6d0},
1397 {0x000160c4, 0x6db6db60},
1398 {0x000160c8, 0x6db6db6c},
1399 {0x000160cc, 0x0de6c1b0},
1400 {0x00016100, 0x3fffbe04},
1401 {0x00016104, 0xfff80000},
1402 {0x00016108, 0x00200400},
1403 {0x00016110, 0x00000000},
1404 {0x00016144, 0x02084080},
1405 {0x00016148, 0x000080c0},
1406 {0x00016280, 0x050a0001},
1407 {0x00016284, 0x3d841400},
1408 {0x00016288, 0x00000000},
1409 {0x0001628c, 0xe3000000},
1410 {0x00016290, 0xa1005080},
1411 {0x00016294, 0x00000020},
1412 {0x00016298, 0x50a02900},
1413 {0x00016340, 0x121e4276},
1414 {0x00016344, 0x00300000},
1415 {0x00016400, 0x36db6db6},
1416 {0x00016404, 0x6db6db40},
1417 {0x00016408, 0x73f00000},
1418 {0x0001640c, 0x00000000},
1419 {0x00016410, 0x6c800001},
1420 {0x00016440, 0x7f80fff8},
1421 {0x0001644c, 0x4699e04f},
1422 {0x00016450, 0x6db6db6c},
1423 {0x00016454, 0x6db60000},
1424 {0x00016500, 0x3fffbe04},
1425 {0x00016504, 0xfff80000},
1426 {0x00016508, 0x00200400},
1427 {0x00016510, 0x00000000},
1428 {0x00016544, 0x02084080},
1429 {0x00016548, 0x000080c0},
1430};
1431
1432static const u32 ar9462_1p0_soc_preamble[][2] = {
1433 /* Addr allmodes */
1434 {0x00007020, 0x00000000},
1435 {0x00007034, 0x00000002},
1436 {0x00007038, 0x000004c2},
1437};
1438
1439#endif /* INITVALS_9462_1P0_H */
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c
index 87db1ee1c298..cb46d41f2288 100644
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -1962,8 +1962,7 @@ static void ath9k_set_power_sleep(struct ath_hw *ah, int setChip)
1962 REG_WRITE(ah, AR_RC, AR_RC_AHB | AR_RC_HOSTIF); 1962 REG_WRITE(ah, AR_RC, AR_RC_AHB | AR_RC_HOSTIF);
1963 1963
1964 /* Shutdown chip. Active low */ 1964 /* Shutdown chip. Active low */
1965 if (!AR_SREV_5416(ah) && 1965 if (!AR_SREV_5416(ah) && !AR_SREV_9271(ah)) {
1966 !AR_SREV_9271(ah) && !AR_SREV_9462_10(ah)) {
1967 REG_CLR_BIT(ah, AR_RTC_RESET, AR_RTC_RESET_EN); 1966 REG_CLR_BIT(ah, AR_RTC_RESET, AR_RTC_RESET_EN);
1968 udelay(2); 1967 udelay(2);
1969 } 1968 }
diff --git a/drivers/net/wireless/ath/ath9k/reg.h b/drivers/net/wireless/ath/ath9k/reg.h
index 6e2f18861f5d..80b1856f817d 100644
--- a/drivers/net/wireless/ath/ath9k/reg.h
+++ b/drivers/net/wireless/ath/ath9k/reg.h
@@ -797,7 +797,6 @@
797#define AR_SREV_VERSION_9580 0x1C0 797#define AR_SREV_VERSION_9580 0x1C0
798#define AR_SREV_REVISION_9580_10 4 /* AR9580 1.0 */ 798#define AR_SREV_REVISION_9580_10 4 /* AR9580 1.0 */
799#define AR_SREV_VERSION_9462 0x280 799#define AR_SREV_VERSION_9462 0x280
800#define AR_SREV_REVISION_9462_10 0
801#define AR_SREV_REVISION_9462_20 2 800#define AR_SREV_REVISION_9462_20 2
802 801
803#define AR_SREV_5416(_ah) \ 802#define AR_SREV_5416(_ah) \
@@ -898,10 +897,6 @@
898#define AR_SREV_9462(_ah) \ 897#define AR_SREV_9462(_ah) \
899 (((_ah)->hw_version.macVersion == AR_SREV_VERSION_9462)) 898 (((_ah)->hw_version.macVersion == AR_SREV_VERSION_9462))
900 899
901#define AR_SREV_9462_10(_ah) \
902 (((_ah)->hw_version.macVersion == AR_SREV_VERSION_9462) && \
903 ((_ah)->hw_version.macRev == AR_SREV_REVISION_9462_10))
904
905#define AR_SREV_9462_20(_ah) \ 900#define AR_SREV_9462_20(_ah) \
906 (((_ah)->hw_version.macVersion == AR_SREV_VERSION_9462) && \ 901 (((_ah)->hw_version.macVersion == AR_SREV_VERSION_9462) && \
907 ((_ah)->hw_version.macRev == AR_SREV_REVISION_9462_20)) 902 ((_ah)->hw_version.macRev == AR_SREV_REVISION_9462_20))