Changeset 28711


Ignore:
Timestamp:
2011-11-01T23:02:27+01:00 (6 years ago)
Author:
nbd
Message:

mac80211: update to wireless-testing 2011-11-01

Location:
trunk/package/mac80211
Files:
13 edited

Legend:

Unmodified
Added
Removed
  • trunk/package/mac80211/Makefile

    r28656 r28711  
    1111PKG_NAME:=mac80211 
    1212 
    13 PKG_VERSION:=2011-10-05 
     13PKG_VERSION:=2011-11-01 
    1414PKG_RELEASE:=1 
    1515PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources 
    16 PKG_MD5SUM:=328dd4c42fb5baa2d96c78009b11af7e 
     16PKG_MD5SUM:=24d4062ffb7115e2b2db8eabdb61bd30 
    1717 
    1818PKG_SOURCE:=compat-wireless-$(PKG_VERSION).tar.bz2 
     
    12031203        CONFIG_ATL1E= \ 
    12041204        CONFIG_ATL1C= \ 
     1205        CONFIG_BRCMFMAC= \ 
     1206        CONFIG_BRCMUMAC= \ 
     1207        CONFIG_BRCMSMAC= \ 
    12051208        KLIB_BUILD="$(LINUX_DIR)" \ 
    12061209        MODPROBE=: \ 
  • trunk/package/mac80211/patches/002-disable_rfkill.patch

    r28392 r28711  
    1010 ifeq ($(CONFIG_MAC80211),y) 
    1111 $(error "ERROR: you have MAC80211 compiled into the kernel, CONFIG_MAC80211=y, as such you cannot replace its mac80211 driver. You need this set to CONFIG_MAC80211=m. If you are using Fedora upgrade your kernel as later version should this set as modular. For further information on Fedora see https://bugzilla.redhat.com/show_bug.cgi?id=470143. If you are using your own kernel recompile it and make mac80211 modular") 
    12 @@ -640,10 +640,10 @@ endif #CONFIG_COMPAT_KERNEL_2_6_27 
     12@@ -632,10 +632,10 @@ endif #CONFIG_COMPAT_KERNEL_2_6_27 
    1313 # We need the backported rfkill module on kernel < 2.6.31. 
    1414 # In more recent kernel versions use the in kernel rfkill module. 
  • trunk/package/mac80211/patches/005-disable_ssb_build.patch

    r28392 r28711  
    3838 CONFIG_BCMA=m 
    3939 CONFIG_BCMA_BLOCKIO=y 
    40 @@ -537,7 +537,6 @@ endif #CONFIG_SPI_MASTER end of SPI driv 
     40@@ -535,7 +535,6 @@ endif #CONFIG_SPI_MASTER end of SPI driv 
    4141  
    4242 ifdef CONFIG_MMC 
  • trunk/package/mac80211/patches/007-remove_misc_drivers.patch

    r28392 r28711  
    2929  
    3030 ifdef CONFIG_WIRELESS_EXT 
    31 @@ -434,21 +434,21 @@ endif #CONFIG_COMPAT_KERNEL_2_6_29 
     31@@ -432,21 +432,21 @@ endif #CONFIG_COMPAT_KERNEL_2_6_29 
    3232 # Note: this depends on CONFIG_USB_NET_RNDIS_HOST and CONFIG_USB_NET_CDCETHER 
    3333 # it also requires new RNDIS_HOST and CDC_ETHER modules which we add 
  • trunk/package/mac80211/patches/011-no_sdio.patch

    r28392 r28711  
    11--- a/config.mk 
    22+++ b/config.mk 
    3 @@ -520,7 +520,7 @@ endif #CONFIG_SPI_MASTER end of SPI driv 
     3@@ -518,7 +518,7 @@ endif #CONFIG_SPI_MASTER end of SPI driv 
    44  
    55 ifdef CONFIG_MMC 
  • trunk/package/mac80211/patches/015-remove-rt2x00-options.patch

    r28392 r28711  
    1010 CONFIG_RT2500PCI=m 
    1111 ifdef CONFIG_CRC_CCITT 
    12 @@ -469,7 +469,7 @@ CONFIG_RT2800USB_RT35XX=y 
     12@@ -467,7 +467,7 @@ CONFIG_RT2800USB_RT35XX=y 
    1313 # CONFIG_RT2800USB_RT53XX=y 
    1414 CONFIG_RT2800USB_UNKNOWN=y 
  • trunk/package/mac80211/patches/110-disable_usb_compat.patch

    r28392 r28711  
    3434--- a/config.mk 
    3535+++ b/config.mk 
    36 @@ -455,7 +455,7 @@ endif #CONFIG_COMPAT_KERNEL_2_6_29 
     36@@ -453,7 +453,7 @@ endif #CONFIG_COMPAT_KERNEL_2_6_29 
    3737 # This activates a threading fix for usb urb. 
    3838 # this is mainline commit: b3e670443b7fb8a2d29831b62b44a039c283e351 
  • trunk/package/mac80211/patches/300-pending_work.patch

    r28392 r28711  
    1 --- a/drivers/net/wireless/ath/ath.h 
    2 +++ b/drivers/net/wireless/ath/ath.h 
    3 @@ -71,9 +71,7 @@ struct ath_regulatory { 
    4         char alpha2[2]; 
    5         u16 country_code; 
    6         u16 max_power_level; 
    7 -       u32 tp_scale; 
    8         u16 current_rd; 
    9 -       u16 current_rd_ext; 
    10         int16_t power_limit; 
    11         struct reg_dmn_pair_mapping *regpair; 
    12  }; 
    13 --- a/drivers/net/wireless/ath/ath9k/Makefile 
    14 +++ b/drivers/net/wireless/ath/ath9k/Makefile 
    15 @@ -21,6 +21,7 @@ ath9k_hw-y:=  \ 
    16                 ar5008_phy.o \ 
    17                 ar9002_calib.o \ 
    18                 ar9003_calib.o \ 
    19 +               ar9003_rtt.o \ 
    20                 calib.o \ 
    21                 eeprom.o \ 
    22                 eeprom_def.o \ 
    23 --- a/drivers/net/wireless/ath/ath9k/ani.c 
    24 +++ b/drivers/net/wireless/ath/ath9k/ani.c 
    25 @@ -504,9 +504,6 @@ static void ath9k_ani_reset_old(struct a 
    26                 ath9k_hw_ani_control(ah, ATH9K_ANI_CCK_WEAK_SIGNAL_THR, 
    27                                      ATH9K_ANI_CCK_WEAK_SIG_THR); 
    28   
    29 -               ath9k_hw_setrxfilter(ah, ath9k_hw_getrxfilter(ah) | 
    30 -                                    ATH9K_RX_FILTER_PHYERR); 
    31 - 
    32                 ath9k_ani_restart(ah); 
    33                 return; 
    34         } 
    35 @@ -527,8 +524,6 @@ static void ath9k_ani_reset_old(struct a 
    36                 ath9k_hw_ani_control(ah, ATH9K_ANI_FIRSTEP_LEVEL, 
    37                                      aniState->firstepLevel); 
    38   
    39 -       ath9k_hw_setrxfilter(ah, ath9k_hw_getrxfilter(ah) & 
    40 -                            ~ATH9K_RX_FILTER_PHYERR); 
    41         ath9k_ani_restart(ah); 
    42   
    43         ENABLE_REGWRITE_BUFFER(ah); 
    44 --- a/drivers/net/wireless/ath/ath9k/ar5008_phy.c 
    45 +++ b/drivers/net/wireless/ath/ath9k/ar5008_phy.c 
    46 @@ -763,10 +763,8 @@ static void ar5008_hw_set_channel_regs(s 
    47  static int ar5008_hw_process_ini(struct ath_hw *ah, 
    48                                  struct ath9k_channel *chan) 
    49  { 
    50 -       struct ath_regulatory *regulatory = ath9k_hw_regulatory(ah); 
    51         struct ath_common *common = ath9k_hw_common(ah); 
    52         int i, regWrites = 0; 
    53 -       struct ieee80211_channel *channel = chan->chan; 
    54         u32 modesIndex, freqIndex; 
    55   
    56         switch (chan->chanmode) { 
    57 @@ -903,14 +901,7 @@ static int ar5008_hw_process_ini(struct  
    58         ar5008_hw_set_channel_regs(ah, chan); 
    59         ar5008_hw_init_chain_masks(ah); 
    60         ath9k_olc_init(ah); 
    61 - 
    62 -       /* Set TX power */ 
    63 -       ah->eep_ops->set_txpower(ah, chan, 
    64 -                                ath9k_regd_get_ctl(regulatory, chan), 
    65 -                                channel->max_antenna_gain * 2, 
    66 -                                channel->max_power * 2, 
    67 -                                min((u32) MAX_RATE_POWER, 
    68 -                                (u32) regulatory->power_limit), false); 
    69 +       ath9k_hw_apply_txpower(ah, chan); 
    70   
    71         /* Write analog registers */ 
    72         if (!ath9k_hw_set_rf_regs(ah, chan, freqIndex)) { 
    73 --- a/drivers/net/wireless/ath/ath9k/ar9003_2p2_initvals.h 
    74 +++ b/drivers/net/wireless/ath/ath9k/ar9003_2p2_initvals.h 
    75 @@ -24,11 +24,11 @@ static const u32 ar9300_2p2_radio_postam 
    76         {0x0001609c, 0x0dd08f29, 0x0dd08f29, 0x0b283f31, 0x0b283f31}, 
    77         {0x000160ac, 0xa4653c00, 0xa4653c00, 0x24652800, 0x24652800}, 
    78         {0x000160b0, 0x03284f3e, 0x03284f3e, 0x05d08f20, 0x05d08f20}, 
    79 -       {0x0001610c, 0x08000000, 0x00000000, 0x00000000, 0x00000000}, 
    80 +       {0x0001610c, 0xc8000000, 0xc0000000, 0xc0000000, 0xc0000000}, 
    81         {0x00016140, 0x10804008, 0x10804008, 0x50804008, 0x50804008}, 
    82 -       {0x0001650c, 0x08000000, 0x00000000, 0x00000000, 0x00000000}, 
    83 +       {0x0001650c, 0xc8000000, 0xc0000000, 0xc0000000, 0xc0000000}, 
    84         {0x00016540, 0x10804008, 0x10804008, 0x50804008, 0x50804008}, 
    85 -       {0x0001690c, 0x08000000, 0x00000000, 0x00000000, 0x00000000}, 
    86 +       {0x0001690c, 0xc8000000, 0xc0000000, 0xc0000000, 0xc0000000}, 
    87         {0x00016940, 0x10804008, 0x10804008, 0x50804008, 0x50804008}, 
    88  }; 
    89   
    90 @@ -190,7 +190,7 @@ static const u32 ar9300_2p2_radio_core[] 
    91         {0x00016288, 0x05a20408}, 
    92         {0x0001628c, 0x00038c07}, 
    93         {0x00016290, 0x00000004}, 
    94 -       {0x00016294, 0x458aa14f}, 
    95 +       {0x00016294, 0x458a214f}, 
    96         {0x00016380, 0x00000000}, 
    97         {0x00016384, 0x00000000}, 
    98         {0x00016388, 0x00800700}, 
    99 @@ -835,107 +835,107 @@ static const u32 ar9300_2p2_baseband_cor 
    100   
    101  static const u32 ar9300Modes_high_power_tx_gain_table_2p2[][5] = { 
    102         /* Addr      5G_HT20     5G_HT40     2G_HT40     2G_HT20   */ 
    103 -       {0x0000a2dc, 0x00033800, 0x00033800, 0x03aaa352, 0x03aaa352}, 
    104 -       {0x0000a2e0, 0x0003c000, 0x0003c000, 0x03ccc584, 0x03ccc584}, 
    105 -       {0x0000a2e4, 0x03fc0000, 0x03fc0000, 0x03f0f800, 0x03f0f800}, 
    106 +       {0x0000a2dc, 0x000cfff0, 0x000cfff0, 0x03aaa352, 0x03aaa352}, 
    107 +       {0x0000a2e0, 0x000f0000, 0x000f0000, 0x03ccc584, 0x03ccc584}, 
    108 +       {0x0000a2e4, 0x03f00000, 0x03f00000, 0x03f0f800, 0x03f0f800}, 
    109         {0x0000a2e8, 0x00000000, 0x00000000, 0x03ff0000, 0x03ff0000}, 
    110         {0x0000a410, 0x000050d9, 0x000050d9, 0x000050d9, 0x000050d9}, 
    111         {0x0000a500, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, 
    112         {0x0000a504, 0x06000003, 0x06000003, 0x04000002, 0x04000002}, 
    113         {0x0000a508, 0x0a000020, 0x0a000020, 0x08000004, 0x08000004}, 
    114         {0x0000a50c, 0x10000023, 0x10000023, 0x0b000200, 0x0b000200}, 
    115 -       {0x0000a510, 0x16000220, 0x16000220, 0x0f000202, 0x0f000202}, 
    116 -       {0x0000a514, 0x1c000223, 0x1c000223, 0x12000400, 0x12000400}, 
    117 -       {0x0000a518, 0x21002220, 0x21002220, 0x16000402, 0x16000402}, 
    118 -       {0x0000a51c, 0x27002223, 0x27002223, 0x19000404, 0x19000404}, 
    119 -       {0x0000a520, 0x2b022220, 0x2b022220, 0x1c000603, 0x1c000603}, 
    120 -       {0x0000a524, 0x2f022222, 0x2f022222, 0x21000a02, 0x21000a02}, 
    121 -       {0x0000a528, 0x34022225, 0x34022225, 0x25000a04, 0x25000a04}, 
    122 -       {0x0000a52c, 0x3a02222a, 0x3a02222a, 0x28000a20, 0x28000a20}, 
    123 -       {0x0000a530, 0x3e02222c, 0x3e02222c, 0x2c000e20, 0x2c000e20}, 
    124 -       {0x0000a534, 0x4202242a, 0x4202242a, 0x30000e22, 0x30000e22}, 
    125 -       {0x0000a538, 0x4702244a, 0x4702244a, 0x34000e24, 0x34000e24}, 
    126 -       {0x0000a53c, 0x4b02244c, 0x4b02244c, 0x38001640, 0x38001640}, 
    127 -       {0x0000a540, 0x4e02246c, 0x4e02246c, 0x3c001660, 0x3c001660}, 
    128 -       {0x0000a544, 0x52022470, 0x52022470, 0x3f001861, 0x3f001861}, 
    129 -       {0x0000a548, 0x55022490, 0x55022490, 0x43001a81, 0x43001a81}, 
    130 -       {0x0000a54c, 0x59022492, 0x59022492, 0x47001a83, 0x47001a83}, 
    131 -       {0x0000a550, 0x5d022692, 0x5d022692, 0x4a001c84, 0x4a001c84}, 
    132 -       {0x0000a554, 0x61022892, 0x61022892, 0x4e001ce3, 0x4e001ce3}, 
    133 -       {0x0000a558, 0x65024890, 0x65024890, 0x52001ce5, 0x52001ce5}, 
    134 -       {0x0000a55c, 0x69024892, 0x69024892, 0x56001ce9, 0x56001ce9}, 
    135 -       {0x0000a560, 0x6e024c92, 0x6e024c92, 0x5a001ceb, 0x5a001ceb}, 
    136 -       {0x0000a564, 0x74026e92, 0x74026e92, 0x5d001eec, 0x5d001eec}, 
    137 -       {0x0000a568, 0x74026e92, 0x74026e92, 0x5d001eec, 0x5d001eec}, 
    138 -       {0x0000a56c, 0x74026e92, 0x74026e92, 0x5d001eec, 0x5d001eec}, 
    139 -       {0x0000a570, 0x74026e92, 0x74026e92, 0x5d001eec, 0x5d001eec}, 
    140 -       {0x0000a574, 0x74026e92, 0x74026e92, 0x5d001eec, 0x5d001eec}, 
    141 -       {0x0000a578, 0x74026e92, 0x74026e92, 0x5d001eec, 0x5d001eec}, 
    142 -       {0x0000a57c, 0x74026e92, 0x74026e92, 0x5d001eec, 0x5d001eec}, 
    143 +       {0x0000a510, 0x15000028, 0x15000028, 0x0f000202, 0x0f000202}, 
    144 +       {0x0000a514, 0x1b00002b, 0x1b00002b, 0x12000400, 0x12000400}, 
    145 +       {0x0000a518, 0x1f020028, 0x1f020028, 0x16000402, 0x16000402}, 
    146 +       {0x0000a51c, 0x2502002b, 0x2502002b, 0x19000404, 0x19000404}, 
    147 +       {0x0000a520, 0x2a04002a, 0x2a04002a, 0x1c000603, 0x1c000603}, 
    148 +       {0x0000a524, 0x2e06002a, 0x2e06002a, 0x21000a02, 0x21000a02}, 
    149 +       {0x0000a528, 0x3302202d, 0x3302202d, 0x25000a04, 0x25000a04}, 
    150 +       {0x0000a52c, 0x3804202c, 0x3804202c, 0x28000a20, 0x28000a20}, 
    151 +       {0x0000a530, 0x3c06202c, 0x3c06202c, 0x2c000e20, 0x2c000e20}, 
    152 +       {0x0000a534, 0x4108202d, 0x4108202d, 0x30000e22, 0x30000e22}, 
    153 +       {0x0000a538, 0x4506402d, 0x4506402d, 0x34000e24, 0x34000e24}, 
    154 +       {0x0000a53c, 0x4906222d, 0x4906222d, 0x38001640, 0x38001640}, 
    155 +       {0x0000a540, 0x4d062231, 0x4d062231, 0x3c001660, 0x3c001660}, 
    156 +       {0x0000a544, 0x50082231, 0x50082231, 0x3f001861, 0x3f001861}, 
    157 +       {0x0000a548, 0x5608422e, 0x5608422e, 0x43001a81, 0x43001a81}, 
    158 +       {0x0000a54c, 0x5a08442e, 0x5a08442e, 0x47001a83, 0x47001a83}, 
    159 +       {0x0000a550, 0x5e0a4431, 0x5e0a4431, 0x4a001c84, 0x4a001c84}, 
    160 +       {0x0000a554, 0x640a4432, 0x640a4432, 0x4e001ce3, 0x4e001ce3}, 
    161 +       {0x0000a558, 0x680a4434, 0x680a4434, 0x52001ce5, 0x52001ce5}, 
    162 +       {0x0000a55c, 0x6c0a6434, 0x6c0a6434, 0x56001ce9, 0x56001ce9}, 
    163 +       {0x0000a560, 0x6f0a6633, 0x6f0a6633, 0x5a001ceb, 0x5a001ceb}, 
    164 +       {0x0000a564, 0x730c6634, 0x730c6634, 0x5d001eec, 0x5d001eec}, 
    165 +       {0x0000a568, 0x730c6634, 0x730c6634, 0x5d001eec, 0x5d001eec}, 
    166 +       {0x0000a56c, 0x730c6634, 0x730c6634, 0x5d001eec, 0x5d001eec}, 
    167 +       {0x0000a570, 0x730c6634, 0x730c6634, 0x5d001eec, 0x5d001eec}, 
    168 +       {0x0000a574, 0x730c6634, 0x730c6634, 0x5d001eec, 0x5d001eec}, 
    169 +       {0x0000a578, 0x730c6634, 0x730c6634, 0x5d001eec, 0x5d001eec}, 
    170 +       {0x0000a57c, 0x730c6634, 0x730c6634, 0x5d001eec, 0x5d001eec}, 
    171         {0x0000a580, 0x00800000, 0x00800000, 0x00800000, 0x00800000}, 
    172         {0x0000a584, 0x06800003, 0x06800003, 0x04800002, 0x04800002}, 
    173         {0x0000a588, 0x0a800020, 0x0a800020, 0x08800004, 0x08800004}, 
    174         {0x0000a58c, 0x10800023, 0x10800023, 0x0b800200, 0x0b800200}, 
    175 -       {0x0000a590, 0x16800220, 0x16800220, 0x0f800202, 0x0f800202}, 
    176 -       {0x0000a594, 0x1c800223, 0x1c800223, 0x12800400, 0x12800400}, 
    177 -       {0x0000a598, 0x21802220, 0x21802220, 0x16800402, 0x16800402}, 
    178 -       {0x0000a59c, 0x27802223, 0x27802223, 0x19800404, 0x19800404}, 
    179 -       {0x0000a5a0, 0x2b822220, 0x2b822220, 0x1c800603, 0x1c800603}, 
    180 -       {0x0000a5a4, 0x2f822222, 0x2f822222, 0x21800a02, 0x21800a02}, 
    181 -       {0x0000a5a8, 0x34822225, 0x34822225, 0x25800a04, 0x25800a04}, 
    182 -       {0x0000a5ac, 0x3a82222a, 0x3a82222a, 0x28800a20, 0x28800a20}, 
    183 -       {0x0000a5b0, 0x3e82222c, 0x3e82222c, 0x2c800e20, 0x2c800e20}, 
    184 -       {0x0000a5b4, 0x4282242a, 0x4282242a, 0x30800e22, 0x30800e22}, 
    185 -       {0x0000a5b8, 0x4782244a, 0x4782244a, 0x34800e24, 0x34800e24}, 
    186 -       {0x0000a5bc, 0x4b82244c, 0x4b82244c, 0x38801640, 0x38801640}, 
    187 -       {0x0000a5c0, 0x4e82246c, 0x4e82246c, 0x3c801660, 0x3c801660}, 
    188 -       {0x0000a5c4, 0x52822470, 0x52822470, 0x3f801861, 0x3f801861}, 
    189 -       {0x0000a5c8, 0x55822490, 0x55822490, 0x43801a81, 0x43801a81}, 
    190 -       {0x0000a5cc, 0x59822492, 0x59822492, 0x47801a83, 0x47801a83}, 
    191 -       {0x0000a5d0, 0x5d822692, 0x5d822692, 0x4a801c84, 0x4a801c84}, 
    192 -       {0x0000a5d4, 0x61822892, 0x61822892, 0x4e801ce3, 0x4e801ce3}, 
    193 -       {0x0000a5d8, 0x65824890, 0x65824890, 0x52801ce5, 0x52801ce5}, 
    194 -       {0x0000a5dc, 0x69824892, 0x69824892, 0x56801ce9, 0x56801ce9}, 
    195 -       {0x0000a5e0, 0x6e824c92, 0x6e824c92, 0x5a801ceb, 0x5a801ceb}, 
    196 -       {0x0000a5e4, 0x74826e92, 0x74826e92, 0x5d801eec, 0x5d801eec}, 
    197 -       {0x0000a5e8, 0x74826e92, 0x74826e92, 0x5d801eec, 0x5d801eec}, 
    198 -       {0x0000a5ec, 0x74826e92, 0x74826e92, 0x5d801eec, 0x5d801eec}, 
    199 -       {0x0000a5f0, 0x74826e92, 0x74826e92, 0x5d801eec, 0x5d801eec}, 
    200 -       {0x0000a5f4, 0x74826e92, 0x74826e92, 0x5d801eec, 0x5d801eec}, 
    201 -       {0x0000a5f8, 0x74826e92, 0x74826e92, 0x5d801eec, 0x5d801eec}, 
    202 -       {0x0000a5fc, 0x74826e92, 0x74826e92, 0x5d801eec, 0x5d801eec}, 
    203 +       {0x0000a590, 0x15800028, 0x15800028, 0x0f800202, 0x0f800202}, 
    204 +       {0x0000a594, 0x1b80002b, 0x1b80002b, 0x12800400, 0x12800400}, 
    205 +       {0x0000a598, 0x1f820028, 0x1f820028, 0x16800402, 0x16800402}, 
    206 +       {0x0000a59c, 0x2582002b, 0x2582002b, 0x19800404, 0x19800404}, 
    207 +       {0x0000a5a0, 0x2a84002a, 0x2a84002a, 0x1c800603, 0x1c800603}, 
    208 +       {0x0000a5a4, 0x2e86002a, 0x2e86002a, 0x21800a02, 0x21800a02}, 
    209 +       {0x0000a5a8, 0x3382202d, 0x3382202d, 0x25800a04, 0x25800a04}, 
    210 +       {0x0000a5ac, 0x3884202c, 0x3884202c, 0x28800a20, 0x28800a20}, 
    211 +       {0x0000a5b0, 0x3c86202c, 0x3c86202c, 0x2c800e20, 0x2c800e20}, 
    212 +       {0x0000a5b4, 0x4188202d, 0x4188202d, 0x30800e22, 0x30800e22}, 
    213 +       {0x0000a5b8, 0x4586402d, 0x4586402d, 0x34800e24, 0x34800e24}, 
    214 +       {0x0000a5bc, 0x4986222d, 0x4986222d, 0x38801640, 0x38801640}, 
    215 +       {0x0000a5c0, 0x4d862231, 0x4d862231, 0x3c801660, 0x3c801660}, 
    216 +       {0x0000a5c4, 0x50882231, 0x50882231, 0x3f801861, 0x3f801861}, 
    217 +       {0x0000a5c8, 0x5688422e, 0x5688422e, 0x43801a81, 0x43801a81}, 
    218 +       {0x0000a5cc, 0x5a88442e, 0x5a88442e, 0x47801a83, 0x47801a83}, 
    219 +       {0x0000a5d0, 0x5e8a4431, 0x5e8a4431, 0x4a801c84, 0x4a801c84}, 
    220 +       {0x0000a5d4, 0x648a4432, 0x648a4432, 0x4e801ce3, 0x4e801ce3}, 
    221 +       {0x0000a5d8, 0x688a4434, 0x688a4434, 0x52801ce5, 0x52801ce5}, 
    222 +       {0x0000a5dc, 0x6c8a6434, 0x6c8a6434, 0x56801ce9, 0x56801ce9}, 
    223 +       {0x0000a5e0, 0x6f8a6633, 0x6f8a6633, 0x5a801ceb, 0x5a801ceb}, 
    224 +       {0x0000a5e4, 0x738c6634, 0x738c6634, 0x5d801eec, 0x5d801eec}, 
    225 +       {0x0000a5e8, 0x738c6634, 0x738c6634, 0x5d801eec, 0x5d801eec}, 
    226 +       {0x0000a5ec, 0x738c6634, 0x738c6634, 0x5d801eec, 0x5d801eec}, 
    227 +       {0x0000a5f0, 0x738c6634, 0x738c6634, 0x5d801eec, 0x5d801eec}, 
    228 +       {0x0000a5f4, 0x738c6634, 0x738c6634, 0x5d801eec, 0x5d801eec}, 
    229 +       {0x0000a5f8, 0x738c6634, 0x738c6634, 0x5d801eec, 0x5d801eec}, 
    230 +       {0x0000a5fc, 0x738c6634, 0x738c6634, 0x5d801eec, 0x5d801eec}, 
    231         {0x0000a600, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, 
    232         {0x0000a604, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, 
    233 -       {0x0000a608, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, 
    234 -       {0x0000a60c, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, 
    235 -       {0x0000a610, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, 
    236 -       {0x0000a614, 0x02004000, 0x02004000, 0x01404000, 0x01404000}, 
    237 -       {0x0000a618, 0x02004801, 0x02004801, 0x01404501, 0x01404501}, 
    238 -       {0x0000a61c, 0x02808a02, 0x02808a02, 0x02008501, 0x02008501}, 
    239 -       {0x0000a620, 0x0380ce03, 0x0380ce03, 0x0280ca03, 0x0280ca03}, 
    240 -       {0x0000a624, 0x04411104, 0x04411104, 0x03010c04, 0x03010c04}, 
    241 -       {0x0000a628, 0x04411104, 0x04411104, 0x04014c04, 0x04014c04}, 
    242 -       {0x0000a62c, 0x04411104, 0x04411104, 0x04015005, 0x04015005}, 
    243 -       {0x0000a630, 0x04411104, 0x04411104, 0x04015005, 0x04015005}, 
    244 -       {0x0000a634, 0x04411104, 0x04411104, 0x04015005, 0x04015005}, 
    245 -       {0x0000a638, 0x04411104, 0x04411104, 0x04015005, 0x04015005}, 
    246 -       {0x0000a63c, 0x04411104, 0x04411104, 0x04015005, 0x04015005}, 
    247 -       {0x0000b2dc, 0x00033800, 0x00033800, 0x03aaa352, 0x03aaa352}, 
    248 -       {0x0000b2e0, 0x0003c000, 0x0003c000, 0x03ccc584, 0x03ccc584}, 
    249 -       {0x0000b2e4, 0x03fc0000, 0x03fc0000, 0x03f0f800, 0x03f0f800}, 
    250 +       {0x0000a608, 0x01804601, 0x01804601, 0x00000000, 0x00000000}, 
    251 +       {0x0000a60c, 0x01804601, 0x01804601, 0x00000000, 0x00000000}, 
    252 +       {0x0000a610, 0x01804601, 0x01804601, 0x00000000, 0x00000000}, 
    253 +       {0x0000a614, 0x01804601, 0x01804601, 0x01404000, 0x01404000}, 
    254 +       {0x0000a618, 0x01804601, 0x01804601, 0x01404501, 0x01404501}, 
    255 +       {0x0000a61c, 0x01804601, 0x01804601, 0x02008501, 0x02008501}, 
    256 +       {0x0000a620, 0x03408d02, 0x03408d02, 0x0280ca03, 0x0280ca03}, 
    257 +       {0x0000a624, 0x0300cc03, 0x0300cc03, 0x03010c04, 0x03010c04}, 
    258 +       {0x0000a628, 0x03410d04, 0x03410d04, 0x04014c04, 0x04014c04}, 
    259 +       {0x0000a62c, 0x03410d04, 0x03410d04, 0x04015005, 0x04015005}, 
    260 +       {0x0000a630, 0x03410d04, 0x03410d04, 0x04015005, 0x04015005}, 
    261 +       {0x0000a634, 0x03410d04, 0x03410d04, 0x04015005, 0x04015005}, 
    262 +       {0x0000a638, 0x03410d04, 0x03410d04, 0x04015005, 0x04015005}, 
    263 +       {0x0000a63c, 0x03410d04, 0x03410d04, 0x04015005, 0x04015005}, 
    264 +       {0x0000b2dc, 0x000cfff0, 0x000cfff0, 0x03aaa352, 0x03aaa352}, 
    265 +       {0x0000b2e0, 0x000f0000, 0x000f0000, 0x03ccc584, 0x03ccc584}, 
    266 +       {0x0000b2e4, 0x03f00000, 0x03f00000, 0x03f0f800, 0x03f0f800}, 
    267         {0x0000b2e8, 0x00000000, 0x00000000, 0x03ff0000, 0x03ff0000}, 
    268 -       {0x0000c2dc, 0x00033800, 0x00033800, 0x03aaa352, 0x03aaa352}, 
    269 -       {0x0000c2e0, 0x0003c000, 0x0003c000, 0x03ccc584, 0x03ccc584}, 
    270 -       {0x0000c2e4, 0x03fc0000, 0x03fc0000, 0x03f0f800, 0x03f0f800}, 
    271 +       {0x0000c2dc, 0x000cfff0, 0x000cfff0, 0x03aaa352, 0x03aaa352}, 
    272 +       {0x0000c2e0, 0x000f0000, 0x000f0000, 0x03ccc584, 0x03ccc584}, 
    273 +       {0x0000c2e4, 0x03f00000, 0x03f00000, 0x03f0f800, 0x03f0f800}, 
    274         {0x0000c2e8, 0x00000000, 0x00000000, 0x03ff0000, 0x03ff0000}, 
    275         {0x00016044, 0x012492d4, 0x012492d4, 0x012492d4, 0x012492d4}, 
    276 -       {0x00016048, 0x66480001, 0x66480001, 0x66480001, 0x66480001}, 
    277 +       {0x00016048, 0x61200001, 0x61200001, 0x66480001, 0x66480001}, 
    278         {0x00016068, 0x6db6db6c, 0x6db6db6c, 0x6db6db6c, 0x6db6db6c}, 
    279         {0x00016444, 0x012492d4, 0x012492d4, 0x012492d4, 0x012492d4}, 
    280 -       {0x00016448, 0x66480001, 0x66480001, 0x66480001, 0x66480001}, 
    281 +       {0x00016448, 0x61200001, 0x61200001, 0x66480001, 0x66480001}, 
    282         {0x00016468, 0x6db6db6c, 0x6db6db6c, 0x6db6db6c, 0x6db6db6c}, 
    283         {0x00016844, 0x012492d4, 0x012492d4, 0x012492d4, 0x012492d4}, 
    284 -       {0x00016848, 0x66480001, 0x66480001, 0x66480001, 0x66480001}, 
    285 +       {0x00016848, 0x61200001, 0x61200001, 0x66480001, 0x66480001}, 
    286         {0x00016868, 0x6db6db6c, 0x6db6db6c, 0x6db6db6c, 0x6db6db6c}, 
    287  }; 
    288   
    2891--- a/drivers/net/wireless/ath/ath9k/ar9003_calib.c 
    2902+++ b/drivers/net/wireless/ath/ath9k/ar9003_calib.c 
    291 @@ -17,8 +17,9 @@ 
    292  #include "hw.h" 
    293  #include "hw-ops.h" 
    294  #include "ar9003_phy.h" 
    295 +#include "ar9003_rtt.h" 
    296   
    297 -#define MAX_MEASUREMENT        8 
    298 +#define MAX_MEASUREMENT        MAX_IQCAL_MEASUREMENT 
    299  #define MAX_MAG_DELTA  11 
    300  #define MAX_PHS_DELTA  10 
    301   
    302 @@ -659,10 +660,12 @@ static void ar9003_hw_detect_outlier(int 
    303   
    304  static void ar9003_hw_tx_iqcal_load_avg_2_passes(struct ath_hw *ah, 
    305                                                  u8 num_chains, 
    306 -                                                struct coeff *coeff) 
    307 +                                                struct coeff *coeff, 
    308 +                                                bool is_reusable) 
    309  { 
    310         int i, im, nmeasurement; 
    311         u32 tx_corr_coeff[MAX_MEASUREMENT][AR9300_MAX_CHAINS]; 
    312 +       struct ath9k_hw_cal_data *caldata = ah->caldata; 
    313   
    314         memset(tx_corr_coeff, 0, sizeof(tx_corr_coeff)); 
    315         for (i = 0; i < MAX_MEASUREMENT / 2; i++) { 
    316 @@ -712,7 +715,13 @@ static void ar9003_hw_tx_iqcal_load_avg_ 
    317                                 REG_RMW_FIELD(ah, tx_corr_coeff[im][i], 
    318                                         AR_PHY_TX_IQCAL_CORR_COEFF_01_COEFF_TABLE, 
    319                                         coeff->iqc_coeff[0]); 
    320 + 
    321 +                       if (caldata) 
    322 +                               caldata->tx_corr_coeff[im][i] = 
    323 +                                       coeff->iqc_coeff[0]; 
    324                 } 
    325 +               if (caldata) 
    326 +                       caldata->num_measures[i] = nmeasurement; 
    327         } 
    328   
    329         REG_RMW_FIELD(ah, AR_PHY_TX_IQCAL_CONTROL_3, 
    330 @@ -720,8 +729,10 @@ static void ar9003_hw_tx_iqcal_load_avg_ 
    331         REG_RMW_FIELD(ah, AR_PHY_RX_IQCAL_CORR_B0, 
    332                       AR_PHY_RX_IQCAL_CORR_B0_LOOPBACK_IQCORR_EN, 0x1); 
    333   
    334 -       return; 
    335 +       if (caldata) 
    336 +               caldata->done_txiqcal_once = is_reusable; 
    337   
    338 +       return; 
    339  } 
    340   
    341  static bool ar9003_hw_tx_iq_cal_run(struct ath_hw *ah) 
    342 @@ -748,7 +759,7 @@ static bool ar9003_hw_tx_iq_cal_run(stru 
    343         return true; 
    344  } 
    345   
    346 -static void ar9003_hw_tx_iq_cal_post_proc(struct ath_hw *ah) 
    347 +static void ar9003_hw_tx_iq_cal_post_proc(struct ath_hw *ah, bool is_reusable) 
    348  { 
    349         struct ath_common *common = ath9k_hw_common(ah); 
    350         const u32 txiqcal_status[AR9300_MAX_CHAINS] = { 
    351 @@ -837,7 +848,8 @@ static void ar9003_hw_tx_iq_cal_post_pro 
    352                                 coeff.phs_coeff[i][im] -= 128; 
    353                 } 
    354         } 
    355 -       ar9003_hw_tx_iqcal_load_avg_2_passes(ah, num_chains, &coeff); 
    356 +       ar9003_hw_tx_iqcal_load_avg_2_passes(ah, num_chains, 
    357 +                                            &coeff, is_reusable); 
    358   
    359         return; 
    360   
    361 @@ -845,11 +857,128 @@ tx_iqcal_fail: 
    362         ath_dbg(common, ATH_DBG_CALIBRATE, "Tx IQ Cal failed\n"); 
    363         return; 
    364  } 
    365 + 
    366 +static void ar9003_hw_tx_iq_cal_reload(struct ath_hw *ah) 
    367 +{ 
    368 +       struct ath9k_hw_cal_data *caldata = ah->caldata; 
    369 +       u32 tx_corr_coeff[MAX_MEASUREMENT][AR9300_MAX_CHAINS]; 
    370 +       int i, im; 
    371 + 
    372 +       memset(tx_corr_coeff, 0, sizeof(tx_corr_coeff)); 
    373 +       for (i = 0; i < MAX_MEASUREMENT / 2; i++) { 
    374 +               tx_corr_coeff[i * 2][0] = tx_corr_coeff[(i * 2) + 1][0] = 
    375 +                                       AR_PHY_TX_IQCAL_CORR_COEFF_B0(i); 
    376 +               if (!AR_SREV_9485(ah)) { 
    377 +                       tx_corr_coeff[i * 2][1] = 
    378 +                       tx_corr_coeff[(i * 2) + 1][1] = 
    379 +                                       AR_PHY_TX_IQCAL_CORR_COEFF_B1(i); 
    380 + 
    381 +                       tx_corr_coeff[i * 2][2] = 
    382 +                       tx_corr_coeff[(i * 2) + 1][2] = 
    383 +                                       AR_PHY_TX_IQCAL_CORR_COEFF_B2(i); 
    384 +               } 
    385 +       } 
    386 + 
    387 +       for (i = 0; i < AR9300_MAX_CHAINS; i++) { 
    388 +               if (!(ah->txchainmask & (1 << i))) 
    389 +                       continue; 
    390 + 
    391 +               for (im = 0; im < caldata->num_measures[i]; im++) { 
    392 +                       if ((im % 2) == 0) 
    393 +                               REG_RMW_FIELD(ah, tx_corr_coeff[im][i], 
    394 +                                    AR_PHY_TX_IQCAL_CORR_COEFF_00_COEFF_TABLE, 
    395 +                                    caldata->tx_corr_coeff[im][i]); 
    396 +                       else 
    397 +                               REG_RMW_FIELD(ah, tx_corr_coeff[im][i], 
    398 +                                    AR_PHY_TX_IQCAL_CORR_COEFF_01_COEFF_TABLE, 
    399 +                                    caldata->tx_corr_coeff[im][i]); 
    400 +               } 
    401 +       } 
    402 + 
    403 +       REG_RMW_FIELD(ah, AR_PHY_TX_IQCAL_CONTROL_3, 
    404 +                     AR_PHY_TX_IQCAL_CONTROL_3_IQCORR_EN, 0x1); 
    405 +       REG_RMW_FIELD(ah, AR_PHY_RX_IQCAL_CORR_B0, 
    406 +                     AR_PHY_RX_IQCAL_CORR_B0_LOOPBACK_IQCORR_EN, 0x1); 
    407 +} 
    408 + 
    409 +static bool ar9003_hw_rtt_restore(struct ath_hw *ah, struct ath9k_channel *chan) 
    410 +{ 
    411 +       struct ath9k_rtt_hist *hist = &ah->caldata->rtt_hist; 
    412 +       u32 *table; 
    413 +       int i; 
    414 +       bool restore; 
    415 + 
    416 +       if (!(ah->caps.hw_caps & ATH9K_HW_CAP_RTT)) 
     3@@ -908,12 +908,15 @@ static bool ar9003_hw_rtt_restore(struct 
     4        int i; 
     5        bool restore; 
     6  
     7-       if (!(ah->caps.hw_caps & ATH9K_HW_CAP_RTT) || !ah->caldata) 
     8+       if (!ah->caldata) 
     9                return false; 
     10  
     11        hist = &ah->caldata->rtt_hist; 
     12+       if (!hist->num_readings) 
    41713+               return false; 
    41814+ 
    419 +       ar9003_hw_rtt_enable(ah); 
    420 +       ar9003_hw_rtt_set_mask(ah, 0x10); 
    421 +       for (i = 0; i < AR9300_MAX_CHAINS; i++) { 
    422 +               if (!(ah->rxchainmask & (1 << i))) 
    423 +                       continue; 
    424 +               table = &hist->table[i][hist->num_readings][0]; 
    425 +               ar9003_hw_rtt_load_hist(ah, i, table); 
    426 +       } 
    427 +       restore = ar9003_hw_rtt_force_restore(ah); 
    428 +       ar9003_hw_rtt_disable(ah); 
    429 + 
    430 +       return restore; 
    431 +} 
    432 + 
    433  static bool ar9003_hw_init_cal(struct ath_hw *ah, 
    434                                struct ath9k_channel *chan) 
    435  { 
    436         struct ath_common *common = ath9k_hw_common(ah); 
    437 -       bool txiqcal_done = false; 
    438 +       struct ath9k_hw_cal_data *caldata = ah->caldata; 
    439 +       bool txiqcal_done = false, txclcal_done = false; 
    440 +       bool is_reusable = true, status = true; 
    441 +       bool run_rtt_cal = false, run_agc_cal; 
    442 +       bool rtt = !!(ah->caps.hw_caps & ATH9K_HW_CAP_RTT); 
    443 +       u32 agc_ctrl = 0, agc_supp_cals = AR_PHY_AGC_CONTROL_OFFSET_CAL | 
    444 +                                         AR_PHY_AGC_CONTROL_FLTR_CAL   | 
    445 +                                         AR_PHY_AGC_CONTROL_PKDET_CAL; 
    446 +       int i, j; 
    447 +       u32 cl_idx[AR9300_MAX_CHAINS] = { AR_PHY_CL_TAB_0, 
    448 +                                         AR_PHY_CL_TAB_1, 
    449 +                                         AR_PHY_CL_TAB_2 }; 
    450 + 
    451 +       if (rtt) { 
    452 +               if (!ar9003_hw_rtt_restore(ah, chan)) 
    453 +                       run_rtt_cal = true; 
    454 + 
    455 +               ath_dbg(common, ATH_DBG_CALIBRATE, "RTT restore %s\n", 
    456 +                       run_rtt_cal ? "failed" : "succeed"); 
    457 +       } 
    458 +       run_agc_cal = run_rtt_cal; 
    459 + 
    460 +       if (run_rtt_cal) { 
    461 +               ar9003_hw_rtt_enable(ah); 
    462 +               ar9003_hw_rtt_set_mask(ah, 0x00); 
    463 +               ar9003_hw_rtt_clear_hist(ah); 
    464 +       } 
    465 + 
    466 +       if (rtt && !run_rtt_cal) { 
    467 +               agc_ctrl = REG_READ(ah, AR_PHY_AGC_CONTROL); 
    468 +               agc_supp_cals &= agc_ctrl; 
    469 +               agc_ctrl &= ~(AR_PHY_AGC_CONTROL_OFFSET_CAL | 
    470 +                            AR_PHY_AGC_CONTROL_FLTR_CAL | 
    471 +                            AR_PHY_AGC_CONTROL_PKDET_CAL); 
    472 +               REG_WRITE(ah, AR_PHY_AGC_CONTROL, agc_ctrl); 
    473 +       } 
    474 + 
    475 +       if (ah->enabled_cals & TX_CL_CAL) { 
    476 +               if (caldata && caldata->done_txclcal_once) 
    477 +                       REG_CLR_BIT(ah, AR_PHY_CL_CAL_CTL, 
    478 +                                   AR_PHY_CL_CAL_ENABLE); 
    479 +               else { 
    480 +                       REG_SET_BIT(ah, AR_PHY_CL_CAL_CTL, 
    481 +                                   AR_PHY_CL_CAL_ENABLE); 
    482 +                       run_agc_cal = true; 
    483 +               } 
    484 +       } 
    485 + 
    486 +       if (!(ah->enabled_cals & TX_IQ_CAL)) 
    487 +               goto skip_tx_iqcal; 
    488   
    489         /* Do Tx IQ Calibration */ 
    490         REG_RMW_FIELD(ah, AR_PHY_TX_IQCAL_CONTROL_1, 
    491 @@ -860,30 +989,96 @@ static bool ar9003_hw_init_cal(struct at 
    492          * For AR9485 or later chips, TxIQ cal runs as part of 
    493          * AGC calibration 
    494          */ 
    495 -       if (AR_SREV_9485_OR_LATER(ah)) 
    496 -               txiqcal_done = true; 
    497 -       else { 
    498 -               txiqcal_done = ar9003_hw_tx_iq_cal_run(ah); 
    499 -               REG_WRITE(ah, AR_PHY_ACTIVE, AR_PHY_ACTIVE_DIS); 
    500 -               udelay(5); 
    501 -               REG_WRITE(ah, AR_PHY_ACTIVE, AR_PHY_ACTIVE_EN); 
    502 -       } 
    503 - 
    504 -       /* Calibrate the AGC */ 
    505 -       REG_WRITE(ah, AR_PHY_AGC_CONTROL, 
    506 -                 REG_READ(ah, AR_PHY_AGC_CONTROL) | 
    507 -                 AR_PHY_AGC_CONTROL_CAL); 
    508 - 
    509 -       /* Poll for offset calibration complete */ 
    510 -       if (!ath9k_hw_wait(ah, AR_PHY_AGC_CONTROL, AR_PHY_AGC_CONTROL_CAL, 
    511 -                          0, AH_WAIT_TIMEOUT)) { 
    512 +       if (ah->enabled_cals & TX_IQ_ON_AGC_CAL) { 
    513 +               if (caldata && !caldata->done_txiqcal_once) 
    514 +                       REG_SET_BIT(ah, AR_PHY_TX_IQCAL_CONTROL_0, 
    515 +                                   AR_PHY_TX_IQCAL_CONTROL_0_ENABLE_TXIQ_CAL); 
    516 +               else 
    517 +                       REG_CLR_BIT(ah, AR_PHY_TX_IQCAL_CONTROL_0, 
    518 +                                   AR_PHY_TX_IQCAL_CONTROL_0_ENABLE_TXIQ_CAL); 
    519 +               txiqcal_done = run_agc_cal = true; 
    520 +               goto skip_tx_iqcal; 
    521 +       } else if (caldata && !caldata->done_txiqcal_once) 
    522 +               run_agc_cal = true; 
    523 + 
    524 +       txiqcal_done = ar9003_hw_tx_iq_cal_run(ah); 
    525 +       REG_WRITE(ah, AR_PHY_ACTIVE, AR_PHY_ACTIVE_DIS); 
    526 +       udelay(5); 
    527 +       REG_WRITE(ah, AR_PHY_ACTIVE, AR_PHY_ACTIVE_EN); 
    528 + 
    529 +skip_tx_iqcal: 
    530 +       if (run_agc_cal || !(ah->ah_flags & AH_FASTCC)) { 
    531 +               /* Calibrate the AGC */ 
    532 +               REG_WRITE(ah, AR_PHY_AGC_CONTROL, 
    533 +                         REG_READ(ah, AR_PHY_AGC_CONTROL) | 
    534 +                         AR_PHY_AGC_CONTROL_CAL); 
    535 + 
    536 +               /* Poll for offset calibration complete */ 
    537 +               status = ath9k_hw_wait(ah, AR_PHY_AGC_CONTROL, 
    538 +                                      AR_PHY_AGC_CONTROL_CAL, 
    539 +                                      0, AH_WAIT_TIMEOUT); 
    540 +       } 
    541 +       if (rtt && !run_rtt_cal) { 
    542 +               agc_ctrl |= agc_supp_cals; 
    543 +               REG_WRITE(ah, AR_PHY_AGC_CONTROL, agc_ctrl); 
    544 +       } 
    545 + 
    546 +       if (!status) { 
    547 +               if (run_rtt_cal) 
    548 +                       ar9003_hw_rtt_disable(ah); 
    549 + 
    550                 ath_dbg(common, ATH_DBG_CALIBRATE, 
    551 -                       "offset calibration failed to complete in 1ms; noisy environment?\n"); 
    552 +                       "offset calibration failed to complete in 1ms;" 
    553 +                       "noisy environment?\n"); 
    554                 return false; 
    555         } 
    556   
    557         if (txiqcal_done) 
    558 -               ar9003_hw_tx_iq_cal_post_proc(ah); 
    559 +               ar9003_hw_tx_iq_cal_post_proc(ah, is_reusable); 
    560 +       else if (caldata && caldata->done_txiqcal_once) 
    561 +               ar9003_hw_tx_iq_cal_reload(ah); 
    562 + 
    563 +#define CL_TAB_ENTRY(reg_base) (reg_base + (4 * j)) 
    564 +       if (caldata && (ah->enabled_cals & TX_CL_CAL)) { 
    565 +               txclcal_done = !!(REG_READ(ah, AR_PHY_AGC_CONTROL) & 
    566 +                                          AR_PHY_AGC_CONTROL_CLC_SUCCESS); 
    567 +               if (caldata->done_txclcal_once) { 
    568 +                       for (i = 0; i < AR9300_MAX_CHAINS; i++) { 
    569 +                               if (!(ah->txchainmask & (1 << i))) 
    570 +                                       continue; 
    571 +                               for (j = 0; j < MAX_CL_TAB_ENTRY; j++) 
    572 +                                       REG_WRITE(ah, CL_TAB_ENTRY(cl_idx[i]), 
    573 +                                                 caldata->tx_clcal[i][j]); 
    574 +                       } 
    575 +               } else if (is_reusable && txclcal_done) { 
    576 +                       for (i = 0; i < AR9300_MAX_CHAINS; i++) { 
    577 +                               if (!(ah->txchainmask & (1 << i))) 
    578 +                                       continue; 
    579 +                               for (j = 0; j < MAX_CL_TAB_ENTRY; j++) 
    580 +                                       caldata->tx_clcal[i][j] = 
    581 +                                               REG_READ(ah, 
    582 +                                                 CL_TAB_ENTRY(cl_idx[i])); 
    583 +                       } 
    584 +                       caldata->done_txclcal_once = true; 
    585 +               } 
    586 +       } 
    587 +#undef CL_TAB_ENTRY 
    588 + 
    589 +       if (run_rtt_cal) { 
    590 +               struct ath9k_rtt_hist *hist = &ah->caldata->rtt_hist; 
    591 +               if (is_reusable && (hist->num_readings < RTT_HIST_MAX)) { 
    592 +                       u32 *table; 
    593 + 
    594 +                       for (i = 0; i < AR9300_MAX_CHAINS; i++) { 
    595 +                               if (!(ah->rxchainmask & (1 << i))) 
    596 +                                       continue; 
    597 +                               table = &hist->table[i][hist->num_readings][0]; 
    598 +                               ar9003_hw_rtt_fill_hist(ah, i, table); 
    599 +                       } 
    600 +               } 
    601 + 
    602 +               ar9003_hw_rtt_disable(ah); 
    603 +       } 
    604   
    605         ath9k_hw_loadnf(ah, chan); 
    606         ath9k_hw_start_nfcal(ah, true); 
    607 @@ -912,8 +1107,8 @@ static bool ar9003_hw_init_cal(struct at 
    608         if (ah->cal_list_curr) 
    609                 ath9k_hw_reset_calibration(ah, ah->cal_list_curr); 
    610   
    611 -       if (ah->caldata) 
    612 -               ah->caldata->CalValid = 0; 
    613 +       if (caldata) 
    614 +               caldata->CalValid = 0; 
    615   
    616         return true; 
    617  } 
    618 --- a/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c 
    619 +++ b/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c 
    620 @@ -2995,8 +2995,6 @@ static u32 ath9k_hw_ar9300_get_eeprom(st 
    621                 return get_unaligned_be16(eep->macAddr + 4); 
    622         case EEP_REG_0: 
    623                 return le16_to_cpu(pBase->regDmn[0]); 
    624 -       case EEP_REG_1: 
    625 -               return le16_to_cpu(pBase->regDmn[1]); 
    626         case EEP_OP_CAP: 
    627                 return pBase->deviceCap; 
    628         case EEP_OP_MODE: 
    629 @@ -3021,6 +3019,10 @@ static u32 ath9k_hw_ar9300_get_eeprom(st 
    630                 return (pBase->miscConfiguration >> 0x3) & 0x1; 
    631         case EEP_ANT_DIV_CTL1: 
    632                 return eep->base_ext1.ant_div_control; 
    633 +       case EEP_ANTENNA_GAIN_5G: 
    634 +               return eep->modalHeader5G.antennaGain; 
    635 +       case EEP_ANTENNA_GAIN_2G: 
    636 +               return eep->modalHeader2G.antennaGain; 
    637         default: 
    638                 return 0; 
    639         } 
    640 @@ -3554,7 +3556,7 @@ static void ar9003_hw_xpa_bias_level_app 
    641   
    642         if (AR_SREV_9485(ah) || AR_SREV_9330(ah) || AR_SREV_9340(ah)) 
    643                 REG_RMW_FIELD(ah, AR_CH0_TOP2, AR_CH0_TOP2_XPABIASLVL, bias); 
    644 -       else if (AR_SREV_9480(ah)) 
    645 +       else if (AR_SREV_9462(ah)) 
    646                 REG_RMW_FIELD(ah, AR_CH0_TOP, AR_CH0_TOP_XPABIASLVL, bias); 
    647         else { 
    648                 REG_RMW_FIELD(ah, AR_CH0_TOP, AR_CH0_TOP_XPABIASLVL, bias); 
    649 @@ -3633,20 +3635,20 @@ static void ar9003_hw_ant_ctrl_apply(str 
    650   
    651         u32 value = ar9003_hw_ant_ctrl_common_get(ah, is2ghz); 
    652   
    653 -       if (AR_SREV_9480(ah)) { 
    654 -               if (AR_SREV_9480_10(ah)) { 
    655 +       if (AR_SREV_9462(ah)) { 
    656 +               if (AR_SREV_9462_10(ah)) { 
    657                         value &= ~AR_SWITCH_TABLE_COM_SPDT; 
    658                         value |= 0x00100000; 
    659                 } 
    660                 REG_RMW_FIELD(ah, AR_PHY_SWITCH_COM, 
    661 -                               AR_SWITCH_TABLE_COM_AR9480_ALL, value); 
    662 +                               AR_SWITCH_TABLE_COM_AR9462_ALL, value); 
    663         } else 
    664                 REG_RMW_FIELD(ah, AR_PHY_SWITCH_COM, 
    665                               AR_SWITCH_TABLE_COM_ALL, value); 
    666   
    667   
    668         /* 
    669 -        *   AR9480 defines new switch table for BT/WLAN, 
    670 +        *   AR9462 defines new switch table for BT/WLAN, 
    671          *       here's new field name in XXX.ref for both 2G and 5G. 
    672          *   Register: [GLB_CONTROL] GLB_CONTROL (@0x20044) 
    673          *   15:12   R/W     SWITCH_TABLE_COM_SPDT_WLAN_RX 
    674 @@ -3658,7 +3660,7 @@ static void ar9003_hw_ant_ctrl_apply(str 
    675          *   7:4 R/W  SWITCH_TABLE_COM_SPDT_WLAN_IDLE 
    676          * SWITCH_TABLE_COM_SPDT_WLAN_IDLE 
    677          */ 
    678 -       if (AR_SREV_9480_20_OR_LATER(ah)) { 
    679 +       if (AR_SREV_9462_20_OR_LATER(ah)) { 
    680                 value = ar9003_switch_com_spdt_get(ah, is2ghz); 
    681                 REG_RMW_FIELD(ah, AR_PHY_GLB_CONTROL, 
    682                                 AR_SWITCH_TABLE_COM_SPDT_ALL, value); 
    683 @@ -3907,7 +3909,7 @@ static void ar9003_hw_internal_regulator 
    684                         REG_WRITE(ah, AR_PHY_PMU2, reg_pmu_set); 
    685                         if (!is_pmu_set(ah, AR_PHY_PMU2, reg_pmu_set)) 
    686                                 return; 
    687 -               } else if (AR_SREV_9480(ah)) { 
    688 +               } else if (AR_SREV_9462(ah)) { 
    689                         reg_val = ath9k_hw_ar9300_get_eeprom(ah, EEP_SWREG); 
    690                         REG_WRITE(ah, AR_PHY_PMU1, reg_val); 
    691                 } else { 
    692 @@ -3938,7 +3940,7 @@ static void ar9003_hw_internal_regulator 
    693                         while (!REG_READ_FIELD(ah, AR_PHY_PMU2, 
    694                                                 AR_PHY_PMU2_PGM)) 
    695                                 udelay(10); 
    696 -               } else if (AR_SREV_9480(ah)) 
    697 +               } else if (AR_SREV_9462(ah)) 
    698                         REG_RMW_FIELD(ah, AR_PHY_PMU1, AR_PHY_PMU1_PWD, 0x1); 
    699                 else { 
    700                         reg_val = REG_READ(ah, AR_RTC_SLEEP_CLK) | 
    701 @@ -4525,7 +4527,7 @@ static int ar9003_hw_power_control_overr 
    702   
    703         REG_RMW_FIELD(ah, AR_PHY_TPC_19, AR_PHY_TPC_19_ALPHA_THERM, tempSlope); 
    704   
    705 -       if (AR_SREV_9480_20(ah)) 
    706 +       if (AR_SREV_9462_20(ah)) 
    707                 REG_RMW_FIELD(ah, AR_PHY_TPC_19_B1, 
    708                               AR_PHY_TPC_19_B1_ALPHA_THERM, tempSlope); 
    709   
    710 @@ -4764,20 +4766,14 @@ static u16 ar9003_hw_get_max_edge_power( 
    711  static void ar9003_hw_set_power_per_rate_table(struct ath_hw *ah, 
    712                                                struct ath9k_channel *chan, 
    713                                                u8 *pPwrArray, u16 cfgCtl, 
    714 -                                              u8 twiceAntennaReduction, 
    715 -                                              u8 twiceMaxRegulatoryPower, 
    716 +                                              u8 antenna_reduction, 
    717                                                u16 powerLimit) 
    718  { 
    719 -       struct ath_regulatory *regulatory = ath9k_hw_regulatory(ah); 
    720         struct ath_common *common = ath9k_hw_common(ah); 
    721         struct ar9300_eeprom *pEepData = &ah->eeprom.ar9300_eep; 
    722         u16 twiceMaxEdgePower = MAX_RATE_POWER; 
    723 -       static const u16 tpScaleReductionTable[5] = { 
    724 -               0, 3, 6, 9, MAX_RATE_POWER 
    725 -       }; 
    726         int i; 
    727 -       int16_t  twiceLargestAntenna; 
    728 -       u16 scaledPower = 0, minCtlPower, maxRegAllowedPower; 
    729 +       u16 scaledPower = 0, minCtlPower; 
    730         static const u16 ctlModesFor11a[] = { 
    731                 CTL_11A, CTL_5GHT20, CTL_11A_EXT, CTL_5GHT40 
    732         }; 
    733 @@ -4795,28 +4791,7 @@ static void ar9003_hw_set_power_per_rate 
    734         bool is2ghz = IS_CHAN_2GHZ(chan); 
    735   
    736         ath9k_hw_get_channel_centers(ah, chan, &centers); 
    737 - 
    738 -       /* Compute TxPower reduction due to Antenna Gain */ 
    739 -       if (is2ghz) 
    740 -               twiceLargestAntenna = pEepData->modalHeader2G.antennaGain; 
    741 -       else 
    742 -               twiceLargestAntenna = pEepData->modalHeader5G.antennaGain; 
    743 - 
    744 -       twiceLargestAntenna = (int16_t)min((twiceAntennaReduction) - 
    745 -                               twiceLargestAntenna, 0); 
    746 - 
    747 -       /* 
    748 -        * scaledPower is the minimum of the user input power level 
    749 -        * and the regulatory allowed power level 
    750 -        */ 
    751 -       maxRegAllowedPower = twiceMaxRegulatoryPower + twiceLargestAntenna; 
    752 - 
    753 -       if (regulatory->tp_scale != ATH9K_TP_SCALE_MAX) { 
    754 -               maxRegAllowedPower -= 
    755 -                       (tpScaleReductionTable[(regulatory->tp_scale)] * 2); 
    756 -       } 
    757 - 
    758 -       scaledPower = min(powerLimit, maxRegAllowedPower); 
    759 +       scaledPower = powerLimit - antenna_reduction; 
    760   
    761         /* 
    762          * Reduce scaled Power by number of chains active to get 
    763 @@ -5003,7 +4978,6 @@ static inline u8 mcsidx_to_tgtpwridx(uns 
    764  static void ath9k_hw_ar9300_set_txpower(struct ath_hw *ah, 
    765                                         struct ath9k_channel *chan, u16 cfgCtl, 
    766                                         u8 twiceAntennaReduction, 
    767 -                                       u8 twiceMaxRegulatoryPower, 
    768                                         u8 powerLimit, bool test) 
    769  { 
    770         struct ath_regulatory *regulatory = ath9k_hw_regulatory(ah); 
    771 @@ -5056,7 +5030,6 @@ static void ath9k_hw_ar9300_set_txpower( 
    772         ar9003_hw_set_power_per_rate_table(ah, chan, 
    773                                            targetPowerValT2, cfgCtl, 
    774                                            twiceAntennaReduction, 
    775 -                                          twiceMaxRegulatoryPower, 
    776                                            powerLimit); 
    777   
    778         if (ah->eep_ops->get_eeprom(ah, EEP_PAPRD)) { 
    779 --- a/drivers/net/wireless/ath/ath9k/ar9003_hw.c 
    780 +++ b/drivers/net/wireless/ath/ath9k/ar9003_hw.c 
    781 @@ -22,8 +22,8 @@ 
    782  #include "ar9330_1p1_initvals.h" 
    783  #include "ar9330_1p2_initvals.h" 
    784  #include "ar9580_1p0_initvals.h" 
    785 -#include "ar9480_1p0_initvals.h" 
    786 -#include "ar9480_2p0_initvals.h" 
    787 +#include "ar9462_1p0_initvals.h" 
    788 +#include "ar9462_2p0_initvals.h" 
    789   
    790  /* General hardware code for the AR9003 hadware family */ 
    791   
    792 @@ -35,13 +35,13 @@ 
    793  static void ar9003_hw_init_mode_regs(struct ath_hw *ah) 
    794  { 
    795  #define PCIE_PLL_ON_CREQ_DIS_L1_2P0 \ 
    796 -               ar9480_pciephy_pll_on_clkreq_disable_L1_2p0 
    797 +               ar9462_pciephy_pll_on_clkreq_disable_L1_2p0 
    798   
    799 -#define AR9480_BB_CTX_COEFJ(x) \ 
    800 -               ar9480_##x##_baseband_core_txfir_coeff_japan_2484 
    801 +#define AR9462_BB_CTX_COEFJ(x) \ 
    802 +               ar9462_##x##_baseband_core_txfir_coeff_japan_2484 
    803   
    804 -#define AR9480_BBC_TXIFR_COEFFJ \ 
    805 -               ar9480_2p0_baseband_core_txfir_coeff_japan_2484 
    806 +#define AR9462_BBC_TXIFR_COEFFJ \ 
    807 +               ar9462_2p0_baseband_core_txfir_coeff_japan_2484 
    808         if (AR_SREV_9330_11(ah)) { 
    809                 /* mac */ 
    810                 INIT_INI_ARRAY(&ah->iniMac[ATH_INI_PRE], NULL, 0, 0); 
    811 @@ -264,107 +264,107 @@ static void ar9003_hw_init_mode_regs(str 
    812                                 ar9485_1_1_pcie_phy_clkreq_disable_L1, 
    813                                 ARRAY_SIZE(ar9485_1_1_pcie_phy_clkreq_disable_L1), 
    814                                 2); 
    815 -       } else if (AR_SREV_9480_10(ah)) { 
    816 +       } else if (AR_SREV_9462_10(ah)) { 
    817                 INIT_INI_ARRAY(&ah->iniMac[ATH_INI_PRE], NULL, 0, 0); 
    818 -               INIT_INI_ARRAY(&ah->iniMac[ATH_INI_CORE], ar9480_1p0_mac_core, 
    819 -                               ARRAY_SIZE(ar9480_1p0_mac_core), 2); 
    820 +               INIT_INI_ARRAY(&ah->iniMac[ATH_INI_CORE], ar9462_1p0_mac_core, 
    821 +                               ARRAY_SIZE(ar9462_1p0_mac_core), 2); 
    822                 INIT_INI_ARRAY(&ah->iniMac[ATH_INI_POST], 
    823 -                               ar9480_1p0_mac_postamble, 
    824 -                               ARRAY_SIZE(ar9480_1p0_mac_postamble), 
    825 +                               ar9462_1p0_mac_postamble, 
    826 +                               ARRAY_SIZE(ar9462_1p0_mac_postamble), 
    827                                 5); 
    828   
    829                 INIT_INI_ARRAY(&ah->iniBB[ATH_INI_PRE], NULL, 0, 0); 
    830                 INIT_INI_ARRAY(&ah->iniBB[ATH_INI_CORE], 
    831 -                               ar9480_1p0_baseband_core, 
    832 -                               ARRAY_SIZE(ar9480_1p0_baseband_core), 
    833 +                               ar9462_1p0_baseband_core, 
    834 +                               ARRAY_SIZE(ar9462_1p0_baseband_core), 
    835                                 2); 
    836                 INIT_INI_ARRAY(&ah->iniBB[ATH_INI_POST], 
    837 -                               ar9480_1p0_baseband_postamble, 
    838 -                               ARRAY_SIZE(ar9480_1p0_baseband_postamble), 5); 
    839 +                               ar9462_1p0_baseband_postamble, 
    840 +                               ARRAY_SIZE(ar9462_1p0_baseband_postamble), 5); 
    841   
    842                 INIT_INI_ARRAY(&ah->iniRadio[ATH_INI_PRE], NULL, 0, 0); 
    843                 INIT_INI_ARRAY(&ah->iniRadio[ATH_INI_CORE], 
    844 -                               ar9480_1p0_radio_core, 
    845 -                               ARRAY_SIZE(ar9480_1p0_radio_core), 2); 
    846 +                               ar9462_1p0_radio_core, 
    847 +                               ARRAY_SIZE(ar9462_1p0_radio_core), 2); 
    848                 INIT_INI_ARRAY(&ah->iniRadio[ATH_INI_POST], 
    849 -                               ar9480_1p0_radio_postamble, 
    850 -                               ARRAY_SIZE(ar9480_1p0_radio_postamble), 5); 
    851 +                               ar9462_1p0_radio_postamble, 
    852 +                               ARRAY_SIZE(ar9462_1p0_radio_postamble), 5); 
    853   
    854                 INIT_INI_ARRAY(&ah->iniSOC[ATH_INI_PRE], 
    855 -                               ar9480_1p0_soc_preamble, 
    856 -                               ARRAY_SIZE(ar9480_1p0_soc_preamble), 2); 
    857 +                               ar9462_1p0_soc_preamble, 
    858 +                               ARRAY_SIZE(ar9462_1p0_soc_preamble), 2); 
    859                 INIT_INI_ARRAY(&ah->iniSOC[ATH_INI_CORE], NULL, 0, 0); 
    860                 INIT_INI_ARRAY(&ah->iniSOC[ATH_INI_POST], 
    861 -                               ar9480_1p0_soc_postamble, 
    862 -                               ARRAY_SIZE(ar9480_1p0_soc_postamble), 5); 
    863 +                               ar9462_1p0_soc_postamble, 
    864 +                               ARRAY_SIZE(ar9462_1p0_soc_postamble), 5); 
    865   
    866                 INIT_INI_ARRAY(&ah->iniModesRxGain, 
    867 -                               ar9480_common_rx_gain_table_1p0, 
    868 -                               ARRAY_SIZE(ar9480_common_rx_gain_table_1p0), 2); 
    869 +                               ar9462_common_rx_gain_table_1p0, 
    870 +                               ARRAY_SIZE(ar9462_common_rx_gain_table_1p0), 2); 
    871   
    872                 /* Awake -> Sleep Setting */ 
    873                 INIT_INI_ARRAY(&ah->iniPcieSerdes, 
    874 -                       ar9480_pcie_phy_clkreq_disable_L1_1p0, 
    875 -                       ARRAY_SIZE(ar9480_pcie_phy_clkreq_disable_L1_1p0), 
    876 +                       ar9462_pcie_phy_clkreq_disable_L1_1p0, 
    877 +                       ARRAY_SIZE(ar9462_pcie_phy_clkreq_disable_L1_1p0), 
    878                         2); 
    879   
    880                 /* Sleep -> Awake Setting */ 
    881                 INIT_INI_ARRAY(&ah->iniPcieSerdesLowPower, 
    882 -                       ar9480_pcie_phy_clkreq_disable_L1_1p0, 
    883 -                       ARRAY_SIZE(ar9480_pcie_phy_clkreq_disable_L1_1p0), 
    884 +                       ar9462_pcie_phy_clkreq_disable_L1_1p0, 
    885 +                       ARRAY_SIZE(ar9462_pcie_phy_clkreq_disable_L1_1p0), 
    886                         2); 
    887   
    888                 INIT_INI_ARRAY(&ah->iniModesAdditional, 
    889 -                               ar9480_modes_fast_clock_1p0, 
    890 -                               ARRAY_SIZE(ar9480_modes_fast_clock_1p0), 3); 
    891 +                               ar9462_modes_fast_clock_1p0, 
    892 +                               ARRAY_SIZE(ar9462_modes_fast_clock_1p0), 3); 
    893                 INIT_INI_ARRAY(&ah->iniCckfirJapan2484, 
    894 -                               AR9480_BB_CTX_COEFJ(1p0), 
    895 -                               ARRAY_SIZE(AR9480_BB_CTX_COEFJ(1p0)), 2); 
    896 +                               AR9462_BB_CTX_COEFJ(1p0), 
    897 +                               ARRAY_SIZE(AR9462_BB_CTX_COEFJ(1p0)), 2); 
    898   
    899 -       } else if (AR_SREV_9480_20(ah)) { 
    900 +       } else if (AR_SREV_9462_20(ah)) { 
    901   
    902                 INIT_INI_ARRAY(&ah->iniMac[ATH_INI_PRE], NULL, 0, 0); 
    903 -               INIT_INI_ARRAY(&ah->iniMac[ATH_INI_CORE], ar9480_2p0_mac_core, 
    904 -                               ARRAY_SIZE(ar9480_2p0_mac_core), 2); 
    905 +               INIT_INI_ARRAY(&ah->iniMac[ATH_INI_CORE], ar9462_2p0_mac_core, 
    906 +                               ARRAY_SIZE(ar9462_2p0_mac_core), 2); 
    907                 INIT_INI_ARRAY(&ah->iniMac[ATH_INI_POST], 
    908 -                               ar9480_2p0_mac_postamble, 
    909 -                               ARRAY_SIZE(ar9480_2p0_mac_postamble), 5); 
    910 +                               ar9462_2p0_mac_postamble, 
    911 +                               ARRAY_SIZE(ar9462_2p0_mac_postamble), 5); 
    912   
    913                 INIT_INI_ARRAY(&ah->iniBB[ATH_INI_PRE], NULL, 0, 0); 
    914                 INIT_INI_ARRAY(&ah->iniBB[ATH_INI_CORE], 
    915 -                               ar9480_2p0_baseband_core, 
    916 -                               ARRAY_SIZE(ar9480_2p0_baseband_core), 2); 
    917 +                               ar9462_2p0_baseband_core, 
    918 +                               ARRAY_SIZE(ar9462_2p0_baseband_core), 2); 
    919                 INIT_INI_ARRAY(&ah->iniBB[ATH_INI_POST], 
    920 -                               ar9480_2p0_baseband_postamble, 
    921 -                               ARRAY_SIZE(ar9480_2p0_baseband_postamble), 5); 
    922 +                               ar9462_2p0_baseband_postamble, 
    923 +                               ARRAY_SIZE(ar9462_2p0_baseband_postamble), 5); 
    924   
    925                 INIT_INI_ARRAY(&ah->iniRadio[ATH_INI_PRE], NULL, 0, 0); 
    926                 INIT_INI_ARRAY(&ah->iniRadio[ATH_INI_CORE], 
    927 -                               ar9480_2p0_radio_core, 
    928 -                               ARRAY_SIZE(ar9480_2p0_radio_core), 2); 
    929 +                               ar9462_2p0_radio_core, 
    930 +                               ARRAY_SIZE(ar9462_2p0_radio_core), 2); 
    931                 INIT_INI_ARRAY(&ah->iniRadio[ATH_INI_POST], 
    932 -                               ar9480_2p0_radio_postamble, 
    933 -                               ARRAY_SIZE(ar9480_2p0_radio_postamble), 5); 
    934 +                               ar9462_2p0_radio_postamble, 
    935 +                               ARRAY_SIZE(ar9462_2p0_radio_postamble), 5); 
    936                 INIT_INI_ARRAY(&ah->ini_radio_post_sys2ant, 
    937 -                               ar9480_2p0_radio_postamble_sys2ant, 
    938 -                               ARRAY_SIZE(ar9480_2p0_radio_postamble_sys2ant), 
    939 +                               ar9462_2p0_radio_postamble_sys2ant, 
    940 +                               ARRAY_SIZE(ar9462_2p0_radio_postamble_sys2ant), 
    941                                 5); 
    942   
    943                 INIT_INI_ARRAY(&ah->iniSOC[ATH_INI_PRE], 
    944 -                               ar9480_2p0_soc_preamble, 
    945 -                               ARRAY_SIZE(ar9480_2p0_soc_preamble), 2); 
    946 +                               ar9462_2p0_soc_preamble, 
    947 +                               ARRAY_SIZE(ar9462_2p0_soc_preamble), 2); 
    948                 INIT_INI_ARRAY(&ah->iniSOC[ATH_INI_CORE], NULL, 0, 0); 
    949                 INIT_INI_ARRAY(&ah->iniSOC[ATH_INI_POST], 
    950 -                               ar9480_2p0_soc_postamble, 
    951 -                               ARRAY_SIZE(ar9480_2p0_soc_postamble), 5); 
    952 +                               ar9462_2p0_soc_postamble, 
    953 +                               ARRAY_SIZE(ar9462_2p0_soc_postamble), 5); 
    954   
    955                 INIT_INI_ARRAY(&ah->iniModesRxGain, 
    956 -                               ar9480_common_rx_gain_table_2p0, 
    957 -                               ARRAY_SIZE(ar9480_common_rx_gain_table_2p0), 2); 
    958 +                               ar9462_common_rx_gain_table_2p0, 
    959 +                               ARRAY_SIZE(ar9462_common_rx_gain_table_2p0), 2); 
    960   
    961                 INIT_INI_ARRAY(&ah->ini_BTCOEX_MAX_TXPWR, 
    962 -                               ar9480_2p0_BTCOEX_MAX_TXPWR_table, 
    963 -                               ARRAY_SIZE(ar9480_2p0_BTCOEX_MAX_TXPWR_table), 
    964 +                               ar9462_2p0_BTCOEX_MAX_TXPWR_table, 
    965 +                               ARRAY_SIZE(ar9462_2p0_BTCOEX_MAX_TXPWR_table), 
    966                                 2); 
    967   
    968                 /* Awake -> Sleep Setting */ 
    969 @@ -380,15 +380,15 @@ static void ar9003_hw_init_mode_regs(str 
    970   
    971                 /* Fast clock modal settings */ 
    972                 INIT_INI_ARRAY(&ah->iniModesAdditional, 
    973 -                               ar9480_modes_fast_clock_2p0, 
    974 -                               ARRAY_SIZE(ar9480_modes_fast_clock_2p0), 3); 
    975 +                               ar9462_modes_fast_clock_2p0, 
    976 +                               ARRAY_SIZE(ar9462_modes_fast_clock_2p0), 3); 
    977   
    978                 INIT_INI_ARRAY(&ah->iniCckfirJapan2484, 
    979 -                               AR9480_BB_CTX_COEFJ(2p0), 
    980 -                               ARRAY_SIZE(AR9480_BB_CTX_COEFJ(2p0)), 2); 
    981 +                               AR9462_BB_CTX_COEFJ(2p0), 
    982 +                               ARRAY_SIZE(AR9462_BB_CTX_COEFJ(2p0)), 2); 
    983   
    984 -               INIT_INI_ARRAY(&ah->ini_japan2484, AR9480_BBC_TXIFR_COEFFJ, 
    985 -                               ARRAY_SIZE(AR9480_BBC_TXIFR_COEFFJ), 2); 
    986 +               INIT_INI_ARRAY(&ah->ini_japan2484, AR9462_BBC_TXIFR_COEFFJ, 
    987 +                               ARRAY_SIZE(AR9462_BBC_TXIFR_COEFFJ), 2); 
    988   
    989         } else if (AR_SREV_9580(ah)) { 
    990                 /* mac */ 
    991 @@ -537,15 +537,15 @@ static void ar9003_tx_gain_table_mode0(s 
    992                         ar9580_1p0_lowest_ob_db_tx_gain_table, 
    993                         ARRAY_SIZE(ar9580_1p0_lowest_ob_db_tx_gain_table), 
    994                         5); 
    995 -       else if (AR_SREV_9480_10(ah)) 
    996 +       else if (AR_SREV_9462_10(ah)) 
    997                 INIT_INI_ARRAY(&ah->iniModesTxGain, 
    998 -                       ar9480_modes_low_ob_db_tx_gain_table_1p0, 
    999 -                       ARRAY_SIZE(ar9480_modes_low_ob_db_tx_gain_table_1p0), 
    1000 +                       ar9462_modes_low_ob_db_tx_gain_table_1p0, 
    1001 +                       ARRAY_SIZE(ar9462_modes_low_ob_db_tx_gain_table_1p0), 
    1002                         5); 
    1003 -       else if (AR_SREV_9480_20(ah)) 
    1004 +       else if (AR_SREV_9462_20(ah)) 
    1005                 INIT_INI_ARRAY(&ah->iniModesTxGain, 
    1006 -                       ar9480_modes_low_ob_db_tx_gain_table_2p0, 
    1007 -                       ARRAY_SIZE(ar9480_modes_low_ob_db_tx_gain_table_2p0), 
    1008 +                       ar9462_modes_low_ob_db_tx_gain_table_2p0, 
    1009 +                       ARRAY_SIZE(ar9462_modes_low_ob_db_tx_gain_table_2p0), 
    1010                         5); 
    1011         else 
    1012                 INIT_INI_ARRAY(&ah->iniModesTxGain, 
    1013 @@ -581,15 +581,15 @@ static void ar9003_tx_gain_table_mode1(s 
    1014                         ar9580_1p0_high_ob_db_tx_gain_table, 
    1015                         ARRAY_SIZE(ar9580_1p0_high_ob_db_tx_gain_table), 
    1016                         5); 
    1017 -       else if (AR_SREV_9480_10(ah)) 
    1018 +       else if (AR_SREV_9462_10(ah)) 
    1019                 INIT_INI_ARRAY(&ah->iniModesTxGain, 
    1020 -                       ar9480_modes_high_ob_db_tx_gain_table_1p0, 
    1021 -                       ARRAY_SIZE(ar9480_modes_high_ob_db_tx_gain_table_1p0), 
    1022 +                       ar9462_modes_high_ob_db_tx_gain_table_1p0, 
    1023 +                       ARRAY_SIZE(ar9462_modes_high_ob_db_tx_gain_table_1p0), 
    1024                         5); 
    1025 -       else if (AR_SREV_9480_20(ah)) 
    1026 +       else if (AR_SREV_9462_20(ah)) 
    1027                 INIT_INI_ARRAY(&ah->iniModesTxGain, 
    1028 -                       ar9480_modes_high_ob_db_tx_gain_table_2p0, 
    1029 -                       ARRAY_SIZE(ar9480_modes_high_ob_db_tx_gain_table_2p0), 
    1030 +                       ar9462_modes_high_ob_db_tx_gain_table_2p0, 
    1031 +                       ARRAY_SIZE(ar9462_modes_high_ob_db_tx_gain_table_2p0), 
    1032                         5); 
    1033         else 
    1034                 INIT_INI_ARRAY(&ah->iniModesTxGain, 
    1035 @@ -712,15 +712,15 @@ static void ar9003_rx_gain_table_mode0(s 
    1036                                 ar9580_1p0_rx_gain_table, 
    1037                                 ARRAY_SIZE(ar9580_1p0_rx_gain_table), 
    1038                                 2); 
    1039 -       else if (AR_SREV_9480_10(ah)) 
    1040 +       else if (AR_SREV_9462_10(ah)) 
    1041                 INIT_INI_ARRAY(&ah->iniModesRxGain, 
    1042 -                               ar9480_common_rx_gain_table_1p0, 
    1043 -                               ARRAY_SIZE(ar9480_common_rx_gain_table_1p0), 
    1044 +                               ar9462_common_rx_gain_table_1p0, 
    1045 +                               ARRAY_SIZE(ar9462_common_rx_gain_table_1p0), 
    1046                                 2); 
    1047 -       else if (AR_SREV_9480_20(ah)) 
    1048 +       else if (AR_SREV_9462_20(ah)) 
    1049                 INIT_INI_ARRAY(&ah->iniModesRxGain, 
    1050 -                               ar9480_common_rx_gain_table_2p0, 
    1051 -                               ARRAY_SIZE(ar9480_common_rx_gain_table_2p0), 
    1052 +                               ar9462_common_rx_gain_table_2p0, 
    1053 +                               ARRAY_SIZE(ar9462_common_rx_gain_table_2p0), 
    1054                                 2); 
    1055         else 
    1056                 INIT_INI_ARRAY(&ah->iniModesRxGain, 
    1057 @@ -751,15 +751,15 @@ static void ar9003_rx_gain_table_mode1(s 
    1058                         ar9485Common_wo_xlna_rx_gain_1_1, 
    1059                         ARRAY_SIZE(ar9485Common_wo_xlna_rx_gain_1_1), 
    1060                         2); 
    1061 -       else if (AR_SREV_9480_10(ah)) 
    1062 +       else if (AR_SREV_9462_10(ah)) 
    1063                 INIT_INI_ARRAY(&ah->iniModesRxGain, 
    1064 -                       ar9480_common_wo_xlna_rx_gain_table_1p0, 
    1065 -                       ARRAY_SIZE(ar9480_common_wo_xlna_rx_gain_table_1p0), 
    1066 +                       ar9462_common_wo_xlna_rx_gain_table_1p0, 
    1067 +                       ARRAY_SIZE(ar9462_common_wo_xlna_rx_gain_table_1p0), 
    1068                         2); 
    1069 -       else if (AR_SREV_9480_20(ah)) 
    1070 +       else if (AR_SREV_9462_20(ah)) 
    1071                 INIT_INI_ARRAY(&ah->iniModesRxGain, 
    1072 -                       ar9480_common_wo_xlna_rx_gain_table_2p0, 
    1073 -                       ARRAY_SIZE(ar9480_common_wo_xlna_rx_gain_table_2p0), 
    1074 +                       ar9462_common_wo_xlna_rx_gain_table_2p0, 
    1075 +                       ARRAY_SIZE(ar9462_common_wo_xlna_rx_gain_table_2p0), 
    1076                         2); 
    1077         else if (AR_SREV_9580(ah)) 
    1078                 INIT_INI_ARRAY(&ah->iniModesRxGain, 
    1079 @@ -775,14 +775,14 @@ static void ar9003_rx_gain_table_mode1(s 
    1080   
    1081  static void ar9003_rx_gain_table_mode2(struct ath_hw *ah) 
    1082  { 
    1083 -       if (AR_SREV_9480_10(ah)) 
    1084 +       if (AR_SREV_9462_10(ah)) 
    1085                 INIT_INI_ARRAY(&ah->iniModesRxGain, 
    1086 -                       ar9480_common_mixed_rx_gain_table_1p0, 
    1087 -                       ARRAY_SIZE(ar9480_common_mixed_rx_gain_table_1p0), 2); 
    1088 -       else if (AR_SREV_9480_20(ah)) 
    1089 +                       ar9462_common_mixed_rx_gain_table_1p0, 
    1090 +                       ARRAY_SIZE(ar9462_common_mixed_rx_gain_table_1p0), 2); 
    1091 +       else if (AR_SREV_9462_20(ah)) 
    1092                 INIT_INI_ARRAY(&ah->iniModesRxGain, 
    1093 -                       ar9480_common_mixed_rx_gain_table_2p0, 
    1094 -                       ARRAY_SIZE(ar9480_common_mixed_rx_gain_table_2p0), 2); 
    1095 +                       ar9462_common_mixed_rx_gain_table_2p0, 
    1096 +                       ARRAY_SIZE(ar9462_common_mixed_rx_gain_table_2p0), 2); 
    1097  } 
    1098   
    1099  static void ar9003_rx_gain_table_apply(struct ath_hw *ah) 
    1100 --- a/drivers/net/wireless/ath/ath9k/ar9003_mac.c 
    1101 +++ b/drivers/net/wireless/ath/ath9k/ar9003_mac.c 
    1102 @@ -525,8 +525,8 @@ int ath9k_hw_process_rxdesc_edma(struct  
    1103                         rxs->rs_status |= ATH9K_RXERR_DECRYPT; 
    1104                 else if (rxsp->status11 & AR_MichaelErr) 
    1105                         rxs->rs_status |= ATH9K_RXERR_MIC; 
    1106 -               else if (rxsp->status11 & AR_KeyMiss) 
    1107 -                       rxs->rs_status |= ATH9K_RXERR_DECRYPT; 
    1108 +               if (rxsp->status11 & AR_KeyMiss) 
    1109 +                       rxs->rs_status |= ATH9K_RXERR_KEYMISS; 
    1110         } 
    1111   
    1112         return 0; 
    1113 --- a/drivers/net/wireless/ath/ath9k/ar9003_paprd.c 
    1114 +++ b/drivers/net/wireless/ath/ath9k/ar9003_paprd.c 
    1115 @@ -19,7 +19,6 @@ 
    1116   
    1117  void ar9003_paprd_enable(struct ath_hw *ah, bool val) 
    1118  { 
    1119 -       struct ath_regulatory *regulatory = ath9k_hw_regulatory(ah); 
    1120         struct ath9k_channel *chan = ah->curchan; 
    1121         struct ar9300_eeprom *eep = &ah->eeprom.ar9300_eep; 
    1122   
    1123 @@ -54,13 +53,7 @@ void ar9003_paprd_enable(struct ath_hw * 
    1124   
    1125         if (val) { 
    1126                 ah->paprd_table_write_done = true; 
    1127 - 
    1128 -               ah->eep_ops->set_txpower(ah, chan, 
    1129 -                               ath9k_regd_get_ctl(regulatory, chan), 
    1130 -                               chan->chan->max_antenna_gain * 2, 
    1131 -                               chan->chan->max_power * 2, 
    1132 -                               min((u32) MAX_RATE_POWER, 
    1133 -                               (u32) regulatory->power_limit), false); 
    1134 +               ath9k_hw_apply_txpower(ah, chan); 
    1135         } 
    1136   
    1137         REG_RMW_FIELD(ah, AR_PHY_PAPRD_CTRL0_B0, 
    1138 @@ -207,7 +200,7 @@ static int ar9003_paprd_setup_single_tab 
    1139                       AR_PHY_PAPRD_TRAINER_CNTL1_CF_PAPRD_AGC2_SETTLING, 28); 
    1140         REG_RMW_FIELD(ah, AR_PHY_PAPRD_TRAINER_CNTL1, 
    1141                       AR_PHY_PAPRD_TRAINER_CNTL1_CF_CF_PAPRD_TRAIN_ENABLE, 1); 
    1142 -       val = AR_SREV_9480(ah) ? 0x91 : 147; 
    1143 +       val = AR_SREV_9462(ah) ? 0x91 : 147; 
    1144         REG_RMW_FIELD(ah, AR_PHY_PAPRD_TRAINER_CNTL2, 
    1145                       AR_PHY_PAPRD_TRAINER_CNTL2_CF_PAPRD_INIT_RX_BB_GAIN, val); 
    1146         REG_RMW_FIELD(ah, AR_PHY_PAPRD_TRAINER_CNTL3, 
    1147 @@ -218,7 +211,7 @@ static int ar9003_paprd_setup_single_tab 
    1148                       AR_PHY_PAPRD_TRAINER_CNTL3_CF_PAPRD_NUM_CORR_STAGES, 7); 
    1149         REG_RMW_FIELD(ah, AR_PHY_PAPRD_TRAINER_CNTL3, 
    1150                       AR_PHY_PAPRD_TRAINER_CNTL3_CF_PAPRD_MIN_LOOPBACK_DEL, 1); 
    1151 -       if (AR_SREV_9485(ah) || AR_SREV_9480(ah)) 
    1152 +       if (AR_SREV_9485(ah) || AR_SREV_9462(ah)) 
    1153                 REG_RMW_FIELD(ah, AR_PHY_PAPRD_TRAINER_CNTL3, 
    1154                               AR_PHY_PAPRD_TRAINER_CNTL3_CF_PAPRD_QUICK_DROP, 
    1155                               -3); 
    1156 @@ -226,7 +219,7 @@ static int ar9003_paprd_setup_single_tab 
    1157                 REG_RMW_FIELD(ah, AR_PHY_PAPRD_TRAINER_CNTL3, 
    1158                               AR_PHY_PAPRD_TRAINER_CNTL3_CF_PAPRD_QUICK_DROP, 
    1159                               -6); 
    1160 -       val = AR_SREV_9480(ah) ? -10 : -15; 
    1161 +       val = AR_SREV_9462(ah) ? -10 : -15; 
    1162         REG_RMW_FIELD(ah, AR_PHY_PAPRD_TRAINER_CNTL3, 
    1163                       AR_PHY_PAPRD_TRAINER_CNTL3_CF_PAPRD_ADC_DESIRED_SIZE, 
    1164                       val); 
    1165 --- a/drivers/net/wireless/ath/ath9k/ar9003_phy.c 
    1166 +++ b/drivers/net/wireless/ath/ath9k/ar9003_phy.c 
    1167 @@ -559,7 +559,7 @@ static void ar9003_hw_set_chain_masks(st 
    1168   
    1169         if ((ah->caps.hw_caps & ATH9K_HW_CAP_APM) && (tx == 0x7)) 
    1170                 REG_WRITE(ah, AR_SELFGEN_MASK, 0x3); 
    1171 -       else if (AR_SREV_9480(ah)) 
    1172 +       else if (AR_SREV_9462(ah)) 
    1173                 /* xxx only when MCI support is enabled */ 
    1174                 REG_WRITE(ah, AR_SELFGEN_MASK, 0x3); 
    1175         else 
    1176 @@ -631,9 +631,7 @@ static void ar9003_hw_prog_ini(struct at 
    1177  static int ar9003_hw_process_ini(struct ath_hw *ah, 
    1178                                  struct ath9k_channel *chan) 
    1179  { 
    1180 -       struct ath_regulatory *regulatory = ath9k_hw_regulatory(ah); 
    1181         unsigned int regWrites = 0, i; 
    1182 -       struct ieee80211_channel *channel = chan->chan; 
    1183         u32 modesIndex; 
    1184   
    1185         switch (chan->chanmode) { 
    1186 @@ -664,7 +662,7 @@ static int ar9003_hw_process_ini(struct  
    1187                 ar9003_hw_prog_ini(ah, &ah->iniMac[i], modesIndex); 
    1188                 ar9003_hw_prog_ini(ah, &ah->iniBB[i], modesIndex); 
    1189                 ar9003_hw_prog_ini(ah, &ah->iniRadio[i], modesIndex); 
    1190 -               if (i == ATH_INI_POST && AR_SREV_9480_20(ah)) 
    1191 +               if (i == ATH_INI_POST && AR_SREV_9462_20(ah)) 
    1192                         ar9003_hw_prog_ini(ah, 
    1193                                            &ah->ini_radio_post_sys2ant, 
    1194                                            modesIndex); 
    1195 @@ -687,20 +685,27 @@ static int ar9003_hw_process_ini(struct  
    1196         if (AR_SREV_9340(ah) && !ah->is_clk_25mhz) 
    1197                 REG_WRITE_ARRAY(&ah->iniModesAdditional_40M, 1, regWrites); 
    1198   
    1199 -       if (AR_SREV_9480(ah)) 
    1200 +       if (AR_SREV_9462(ah)) 
    1201                 ar9003_hw_prog_ini(ah, &ah->ini_BTCOEX_MAX_TXPWR, 1); 
    1202   
    1203 +       ah->modes_index = modesIndex; 
    1204         ar9003_hw_override_ini(ah); 
    1205         ar9003_hw_set_channel_regs(ah, chan); 
    1206         ar9003_hw_set_chain_masks(ah, ah->rxchainmask, ah->txchainmask); 
    1207 +       ath9k_hw_apply_txpower(ah, chan); 
    1208   
    1209 -       /* Set TX power */ 
    1210 -       ah->eep_ops->set_txpower(ah, chan, 
    1211 -                                ath9k_regd_get_ctl(regulatory, chan), 
    1212 -                                channel->max_antenna_gain * 2, 
    1213 -                                channel->max_power * 2, 
    1214 -                                min((u32) MAX_RATE_POWER, 
    1215 -                                (u32) regulatory->power_limit), false); 
    1216 +       if (AR_SREV_9462(ah)) { 
    1217 +               if (REG_READ_FIELD(ah, AR_PHY_TX_IQCAL_CONTROL_0, 
    1218 +                               AR_PHY_TX_IQCAL_CONTROL_0_ENABLE_TXIQ_CAL)) 
    1219 +                       ah->enabled_cals |= TX_IQ_CAL; 
    1220 +               else 
    1221 +                       ah->enabled_cals &= ~TX_IQ_CAL; 
    1222 + 
    1223 +               if (REG_READ(ah, AR_PHY_CL_CAL_CTL) & AR_PHY_CL_CAL_ENABLE) 
    1224 +                       ah->enabled_cals |= TX_CL_CAL; 
    1225 +               else 
    1226 +                       ah->enabled_cals &= ~TX_CL_CAL; 
    1227 +       } 
    1228   
    1229         return 0; 
    1230  } 
    1231 @@ -1256,6 +1261,73 @@ static void ar9003_hw_antdiv_comb_conf_s 
    1232         REG_WRITE(ah, AR_PHY_MC_GAIN_CTRL, regval); 
    1233  } 
    1234   
    1235 +static int ar9003_hw_fast_chan_change(struct ath_hw *ah, 
    1236 +                                     struct ath9k_channel *chan, 
    1237 +                                     u8 *ini_reloaded) 
    1238 +{ 
    1239 +       unsigned int regWrites = 0; 
    1240 +       u32 modesIndex; 
    1241 + 
    1242 +       switch (chan->chanmode) { 
    1243 +       case CHANNEL_A: 
    1244 +       case CHANNEL_A_HT20: 
    1245 +               modesIndex = 1; 
    1246 +               break; 
    1247 +       case CHANNEL_A_HT40PLUS: 
    1248 +       case CHANNEL_A_HT40MINUS: 
    1249 +               modesIndex = 2; 
    1250 +               break; 
    1251 +       case CHANNEL_G: 
    1252 +       case CHANNEL_G_HT20: 
    1253 +       case CHANNEL_B: 
    1254 +               modesIndex = 4; 
    1255 +               break; 
    1256 +       case CHANNEL_G_HT40PLUS: 
    1257 +       case CHANNEL_G_HT40MINUS: 
    1258 +               modesIndex = 3; 
    1259 +               break; 
    1260 + 
    1261 +       default: 
    1262 +               return -EINVAL; 
    1263 +       } 
    1264 + 
    1265 +       if (modesIndex == ah->modes_index) { 
    1266 +               *ini_reloaded = false; 
    1267 +               goto set_rfmode; 
    1268 +       } 
    1269 + 
    1270 +       ar9003_hw_prog_ini(ah, &ah->iniSOC[ATH_INI_POST], modesIndex); 
    1271 +       ar9003_hw_prog_ini(ah, &ah->iniMac[ATH_INI_POST], modesIndex); 
    1272 +       ar9003_hw_prog_ini(ah, &ah->iniBB[ATH_INI_POST], modesIndex); 
    1273 +       ar9003_hw_prog_ini(ah, &ah->iniRadio[ATH_INI_POST], modesIndex); 
    1274 +       if (AR_SREV_9462_20(ah)) 
    1275 +               ar9003_hw_prog_ini(ah, 
    1276 +                               &ah->ini_radio_post_sys2ant, 
    1277 +                               modesIndex); 
    1278 + 
    1279 +       REG_WRITE_ARRAY(&ah->iniModesTxGain, modesIndex, regWrites); 
    1280 + 
    1281 +       /* 
    1282 +        * For 5GHz channels requiring Fast Clock, apply 
    1283 +        * different modal values. 
    1284 +        */ 
    1285 +       if (IS_CHAN_A_FAST_CLOCK(ah, chan)) 
    1286 +               REG_WRITE_ARRAY(&ah->iniModesAdditional, modesIndex, regWrites); 
    1287 + 
    1288 +       if (AR_SREV_9330(ah)) 
    1289 +               REG_WRITE_ARRAY(&ah->iniModesAdditional, 1, regWrites); 
    1290 + 
    1291 +       if (AR_SREV_9340(ah) && !ah->is_clk_25mhz) 
    1292 +               REG_WRITE_ARRAY(&ah->iniModesAdditional_40M, 1, regWrites); 
    1293 + 
    1294 +       ah->modes_index = modesIndex; 
    1295 +       *ini_reloaded = true; 
    1296 + 
    1297 +set_rfmode: 
    1298 +       ar9003_hw_set_rfmode(ah, chan); 
    1299 +       return 0; 
    1300 +} 
    1301 + 
    1302  void ar9003_hw_attach_phy_ops(struct ath_hw *ah) 
    1303  { 
    1304         struct ath_hw_private_ops *priv_ops = ath9k_hw_private_ops(ah); 
    1305 @@ -1284,6 +1356,7 @@ void ar9003_hw_attach_phy_ops(struct ath 
    1306         priv_ops->do_getnf = ar9003_hw_do_getnf; 
    1307         priv_ops->ani_cache_ini_regs = ar9003_hw_ani_cache_ini_regs; 
    1308         priv_ops->set_radar_params = ar9003_hw_set_radar_params; 
    1309 +       priv_ops->fast_chan_change = ar9003_hw_fast_chan_change; 
    1310   
    1311         ops->antdiv_comb_conf_get = ar9003_hw_antdiv_comb_conf_get; 
    1312         ops->antdiv_comb_conf_set = ar9003_hw_antdiv_comb_conf_set; 
     15        ar9003_hw_rtt_enable(ah); 
     16-       ar9003_hw_rtt_set_mask(ah, 0x10); 
     17+       ar9003_hw_rtt_set_mask(ah, 0x00); 
     18        for (i = 0; i < AR9300_MAX_CHAINS; i++) { 
     19                if (!(ah->rxchainmask & (1 << i))) 
     20                        continue; 
     21@@ -1070,6 +1073,7 @@ skip_tx_iqcal: 
     22                if (is_reusable && (hist->num_readings < RTT_HIST_MAX)) { 
     23                        u32 *table; 
     24  
     25+                       hist->num_readings++; 
     26                        for (i = 0; i < AR9300_MAX_CHAINS; i++) { 
     27                                if (!(ah->rxchainmask & (1 << i))) 
     28                                        continue; 
    131329--- a/drivers/net/wireless/ath/ath9k/ar9003_phy.h 
    131430+++ b/drivers/net/wireless/ath/ath9k/ar9003_phy.h 
    1315 @@ -325,10 +325,10 @@ 
    1316   
    1317  #define AR_PHY_RX_OCGAIN        (AR_AGC_BASE + 0x200) 
    1318   
    1319 -#define AR_PHY_CCA_NOM_VAL_9300_2GHZ          -110 
    1320 -#define AR_PHY_CCA_NOM_VAL_9300_5GHZ          -115 
    1321 -#define AR_PHY_CCA_MIN_GOOD_VAL_9300_2GHZ     -125 
    1322 -#define AR_PHY_CCA_MIN_GOOD_VAL_9300_5GHZ     -125 
    1323 +#define AR_PHY_CCA_NOM_VAL_9300_2GHZ          (AR_SREV_9462(ah) ? -127 : -110) 
    1324 +#define AR_PHY_CCA_NOM_VAL_9300_5GHZ          (AR_SREV_9462(ah) ? -127 : -115) 
    1325 +#define AR_PHY_CCA_MIN_GOOD_VAL_9300_2GHZ     (AR_SREV_9462(ah) ? -127 : -125) 
    1326 +#define AR_PHY_CCA_MIN_GOOD_VAL_9300_5GHZ     (AR_SREV_9462(ah) ? -127 : -125) 
    1327  #define AR_PHY_CCA_MAX_GOOD_VAL_9300_2GHZ     -95 
    1328  #define AR_PHY_CCA_MAX_GOOD_VAL_9300_5GHZ     -100 
    1329   
    1330 @@ -572,6 +572,8 @@ 
     31@@ -572,14 +572,14 @@ 
    133132  
    133233 #define AR_PHY_TXGAIN_TABLE      (AR_SM_BASE + 0x300) 
    133334  
    1334 +#define AR_PHY_TX_IQCAL_CONTROL_0   (AR_SM_BASE + AR_SREV_9485(ah) ? \ 
    1335 +                                                0x3c4 : 0x444) 
    1336  #define AR_PHY_TX_IQCAL_CONTROL_1   (AR_SM_BASE + AR_SREV_9485(ah) ? \ 
    1337                                                  0x3c8 : 0x448) 
    1338  #define AR_PHY_TX_IQCAL_START       (AR_SM_BASE + AR_SREV_9485(ah) ? \ 
    1339 @@ -582,8 +584,6 @@ 
     35-#define AR_PHY_TX_IQCAL_CONTROL_0   (AR_SM_BASE + AR_SREV_9485(ah) ? \ 
     36-                                                0x3c4 : 0x444) 
     37-#define AR_PHY_TX_IQCAL_CONTROL_1   (AR_SM_BASE + AR_SREV_9485(ah) ? \ 
     38-                                                0x3c8 : 0x448) 
     39-#define AR_PHY_TX_IQCAL_START       (AR_SM_BASE + AR_SREV_9485(ah) ? \ 
     40-                                                0x3c4 : 0x440) 
     41-#define AR_PHY_TX_IQCAL_STATUS_B0   (AR_SM_BASE + AR_SREV_9485(ah) ? \ 
     42-                                                0x3f0 : 0x48c) 
     43+#define AR_PHY_TX_IQCAL_CONTROL_0   (AR_SM_BASE + (AR_SREV_9485(ah) ? \ 
     44+                                                0x3c4 : 0x444)) 
     45+#define AR_PHY_TX_IQCAL_CONTROL_1   (AR_SM_BASE + (AR_SREV_9485(ah) ? \ 
     46+                                                0x3c8 : 0x448)) 
     47+#define AR_PHY_TX_IQCAL_START       (AR_SM_BASE + (AR_SREV_9485(ah) ? \ 
     48+                                                0x3c4 : 0x440)) 
     49+#define AR_PHY_TX_IQCAL_STATUS_B0   (AR_SM_BASE + (AR_SREV_9485(ah) ? \ 
     50+                                                0x3f0 : 0x48c)) 
     51 #define AR_PHY_TX_IQCAL_CORR_COEFF_B0(_i)    (AR_SM_BASE + \ 
    134052                                             (AR_SREV_9485(ah) ? \ 
    134153                                              0x3d0 : 0x450) + ((_i) << 2)) 
    1342  #define AR_PHY_RTT_CTRL                        (AR_SM_BASE + 0x380) 
    1343 -#define AR_PHY_RTT_TABLE_SW_INTF_B     (AR_SM_BASE + 0x384) 
    1344 -#define AR_PHY_RTT_TABLE_SW_INTF_1_B0  (AR_SM_BASE + 0x388) 
    1345   
    1346  #define AR_PHY_WATCHDOG_STATUS      (AR_SM_BASE + 0x5c0) 
    1347  #define AR_PHY_WATCHDOG_CTL_1       (AR_SM_BASE + 0x5c4) 
    1348 @@ -608,9 +608,9 @@ 
    1349  #define AR_PHY_AIC_CTRL_1_B0   (AR_SM_BASE + 0x4b4) 
    1350  #define AR_PHY_AIC_CTRL_2_B0   (AR_SM_BASE + 0x4b8) 
    1351  #define AR_PHY_AIC_CTRL_3_B0   (AR_SM_BASE + 0x4bc) 
    1352 -#define AR_PHY_AIC_STAT_0_B0   (AR_SM_BASE + (AR_SREV_9480_10(ah) ? \ 
    1353 +#define AR_PHY_AIC_STAT_0_B0   (AR_SM_BASE + (AR_SREV_9462_10(ah) ? \ 
    1354                                         0x4c0 : 0x4c4)) 
    1355 -#define AR_PHY_AIC_STAT_1_B0   (AR_SM_BASE + (AR_SREV_9480_10(ah) ? \ 
    1356 +#define AR_PHY_AIC_STAT_1_B0   (AR_SM_BASE + (AR_SREV_9462_10(ah) ? \ 
    1357                                         0x4c4 : 0x4c8)) 
    1358  #define AR_PHY_AIC_CTRL_4_B0   (AR_SM_BASE + 0x4c0) 
    1359  #define AR_PHY_AIC_STAT_2_B0   (AR_SM_BASE + 0x4cc) 
    1360 @@ -625,7 +625,7 @@ 
    1361  #define AR_PHY_65NM_CH0_RXTX4       0x1610c 
    1362   
    1363  #define AR_CH0_TOP     (AR_SREV_9300(ah) ? 0x16288 : \ 
    1364 -                               ((AR_SREV_9480(ah) ? 0x1628c : 0x16280))) 
    1365 +                               ((AR_SREV_9462(ah) ? 0x1628c : 0x16280))) 
    1366  #define AR_CH0_TOP_XPABIASLVL (0x300) 
    1367  #define AR_CH0_TOP_XPABIASLVL_S (8) 
    1368   
    1369 @@ -638,8 +638,8 @@ 
    1370   
    1371  #define AR_SWITCH_TABLE_COM_ALL (0xffff) 
    1372  #define AR_SWITCH_TABLE_COM_ALL_S (0) 
    1373 -#define AR_SWITCH_TABLE_COM_AR9480_ALL (0xffffff) 
    1374 -#define AR_SWITCH_TABLE_COM_AR9480_ALL_S (0) 
    1375 +#define AR_SWITCH_TABLE_COM_AR9462_ALL (0xffffff) 
    1376 +#define AR_SWITCH_TABLE_COM_AR9462_ALL_S (0) 
    1377  #define AR_SWITCH_TABLE_COM_SPDT (0x00f00000) 
    1378  #define AR_SWITCH_TABLE_COM_SPDT_ALL (0x0000fff0) 
    1379  #define AR_SWITCH_TABLE_COM_SPDT_ALL_S (4) 
    1380 @@ -679,11 +679,11 @@ 
    1381  #define AR_CH0_XTAL_CAPOUTDAC  0x00fe0000 
    1382  #define AR_CH0_XTAL_CAPOUTDAC_S        17 
    1383   
    1384 -#define AR_PHY_PMU1            (AR_SREV_9480(ah) ? 0x16340 : 0x16c40) 
    1385 +#define AR_PHY_PMU1            (AR_SREV_9462(ah) ? 0x16340 : 0x16c40) 
    1386  #define AR_PHY_PMU1_PWD                0x1 
    1387  #define AR_PHY_PMU1_PWD_S      0 
    1388   
    1389 -#define AR_PHY_PMU2            (AR_SREV_9480(ah) ? 0x16344 : 0x16c44) 
    1390 +#define AR_PHY_PMU2            (AR_SREV_9462(ah) ? 0x16344 : 0x16c44) 
    1391  #define AR_PHY_PMU2_PGM                0x00200000 
    1392  #define AR_PHY_PMU2_PGM_S      21 
    1393   
    1394 @@ -823,6 +823,22 @@ 
    1395  #define AR_PHY_SPECTRAL_SCAN_SHORT_REPEAT   0x01000000 
    1396  #define AR_PHY_SPECTRAL_SCAN_SHORT_REPEAT_S 24 
    1397  #define AR_PHY_CHANNEL_STATUS_RX_CLEAR      0x00000004 
    1398 +#define AR_PHY_RTT_CTRL_ENA_RADIO_RETENTION     0x00000001 
    1399 +#define AR_PHY_RTT_CTRL_ENA_RADIO_RETENTION_S   0 
    1400 +#define AR_PHY_RTT_CTRL_RESTORE_MASK            0x0000007E 
    1401 +#define AR_PHY_RTT_CTRL_RESTORE_MASK_S          1 
    1402 +#define AR_PHY_RTT_CTRL_FORCE_RADIO_RESTORE     0x00000080 
    1403 +#define AR_PHY_RTT_CTRL_FORCE_RADIO_RESTORE_S   7 
    1404 +#define AR_PHY_RTT_SW_RTT_TABLE_ACCESS          0x00000001 
    1405 +#define AR_PHY_RTT_SW_RTT_TABLE_ACCESS_S        0 
    1406 +#define AR_PHY_RTT_SW_RTT_TABLE_WRITE           0x00000002 
    1407 +#define AR_PHY_RTT_SW_RTT_TABLE_WRITE_S         1 
    1408 +#define AR_PHY_RTT_SW_RTT_TABLE_ADDR            0x0000001C 
    1409 +#define AR_PHY_RTT_SW_RTT_TABLE_ADDR_S          2 
    1410 +#define AR_PHY_RTT_SW_RTT_TABLE_DATA            0xFFFFFFF0 
    1411 +#define AR_PHY_RTT_SW_RTT_TABLE_DATA_S          4 
    1412 +#define AR_PHY_TX_IQCAL_CONTROL_0_ENABLE_TXIQ_CAL                   0x80000000 
    1413 +#define AR_PHY_TX_IQCAL_CONTROL_0_ENABLE_TXIQ_CAL_S                         31 
    1414  #define AR_PHY_TX_IQCAL_CONTROL_1_IQCORR_I_Q_COFF_DELPT             0x01fc0000 
    1415  #define AR_PHY_TX_IQCAL_CONTROL_1_IQCORR_I_Q_COFF_DELPT_S                   18 
    1416  #define AR_PHY_TX_IQCAL_START_DO_CAL       0x00000001 
    1417 @@ -905,9 +921,9 @@ 
    1418  #define AR_PHY_AIC_CTRL_0_B1   (AR_SM1_BASE + 0x4b0) 
    1419  #define AR_PHY_AIC_CTRL_1_B1   (AR_SM1_BASE + 0x4b4) 
    1420  #define AR_PHY_AIC_CTRL_2_B1   (AR_SM1_BASE + 0x4b8) 
    1421 -#define AR_PHY_AIC_STAT_0_B1   (AR_SM1_BASE + (AR_SREV_9480_10(ah) ? \ 
    1422 +#define AR_PHY_AIC_STAT_0_B1   (AR_SM1_BASE + (AR_SREV_9462_10(ah) ? \ 
    1423                                         0x4c0 : 0x4c4)) 
    1424 -#define AR_PHY_AIC_STAT_1_B1   (AR_SM1_BASE + (AR_SREV_9480_10(ah) ? \ 
    1425 +#define AR_PHY_AIC_STAT_1_B1   (AR_SM1_BASE + (AR_SREV_9462_10(ah) ? \ 
    1426                                         0x4c4 : 0x4c8)) 
    1427  #define AR_PHY_AIC_CTRL_4_B1   (AR_SM1_BASE + 0x4c0) 
    1428  #define AR_PHY_AIC_STAT_2_B1   (AR_SM1_BASE + 0x4cc) 
    1429 @@ -915,6 +931,10 @@ 
     54@@ -931,10 +931,10 @@ 
    143055 #define AR_PHY_AIC_SRAM_ADDR_B1        (AR_SM1_BASE + 0x5f0) 
    143156 #define AR_PHY_AIC_SRAM_DATA_B1        (AR_SM1_BASE + 0x5f4) 
    143257  
    1433 +#define AR_PHY_RTT_TABLE_SW_INTF_B(i)  (0x384 + (i) ? \ 
    1434 +                                       AR_SM1_BASE : AR_SM_BASE) 
    1435 +#define AR_PHY_RTT_TABLE_SW_INTF_1_B(i)        (0x388 + (i) ? \ 
    1436 +                                       AR_SM1_BASE : AR_SM_BASE) 
     58-#define AR_PHY_RTT_TABLE_SW_INTF_B(i)  (0x384 + (i) ? \ 
     59-                                       AR_SM1_BASE : AR_SM_BASE) 
     60-#define AR_PHY_RTT_TABLE_SW_INTF_1_B(i)        (0x388 + (i) ? \ 
     61-                                       AR_SM1_BASE : AR_SM_BASE) 
     62+#define AR_PHY_RTT_TABLE_SW_INTF_B(i)  (0x384 + ((i) ? \ 
     63+                                       AR_SM1_BASE : AR_SM_BASE)) 
     64+#define AR_PHY_RTT_TABLE_SW_INTF_1_B(i)        (0x388 + ((i) ? \ 
     65+                                       AR_SM1_BASE : AR_SM_BASE)) 
    143766 /* 
    143867  * Channel 2 Register Map 
    143968  */ 
    1440 @@ -981,7 +1001,7 @@ 
    1441  #define AR_GLB_BASE    0x20000 
    1442  #define AR_PHY_GLB_CONTROL     (AR_GLB_BASE + 0x44) 
    1443  #define AR_GLB_SCRATCH(_ah)    (AR_GLB_BASE + \ 
    1444 -                                       (AR_SREV_9480_20(_ah) ? 0x4c : 0x50)) 
    1445 +                                       (AR_SREV_9462_20(_ah) ? 0x4c : 0x50)) 
    1446  #define AR_GLB_STATUS          (AR_GLB_BASE + 0x48) 
    1447   
    1448  /* 
    1449 --- /dev/null 
    1450 +++ b/drivers/net/wireless/ath/ath9k/ar9003_rtt.c 
    1451 @@ -0,0 +1,153 @@ 
    1452 +/* 
    1453 + * Copyright (c) 2010-2011 Atheros Communications Inc. 
    1454 + * 
    1455 + * Permission to use, copy, modify, and/or distribute this software for any 
    1456 + * purpose with or without fee is hereby granted, provided that the above 
    1457 + * copyright notice and this permission notice appear in all copies. 
    1458 + * 
    1459 + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 
    1460 + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 
    1461 + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 
    1462 + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 
    1463 + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 
    1464 + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 
    1465 + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 
    1466 + */ 
    1467 + 
    1468 +#include "hw.h" 
    1469 +#include "ar9003_phy.h" 
    1470 + 
    1471 +#define RTT_RESTORE_TIMEOUT          1000 
    1472 +#define RTT_ACCESS_TIMEOUT           100 
    1473 +#define RTT_BAD_VALUE                0x0bad0bad 
    1474 + 
    1475 +/* 
    1476 + * RTT (Radio Retention Table) hardware implementation information 
    1477 + * 
    1478 + * There is an internal table (i.e. the rtt) for each chain (or bank). 
    1479 + * Each table contains 6 entries and each entry is corresponding to 
    1480 + * a specific calibration parameter as depicted below. 
    1481 + *  0~2 - DC offset DAC calibration: loop, low, high (offsetI/Q_...) 
    1482 + *  3   - Filter cal (filterfc) 
    1483 + *  4   - RX gain settings 
    1484 + *  5   - Peak detector offset calibration (agc_caldac) 
    1485 + */ 
    1486 + 
    1487 +void ar9003_hw_rtt_enable(struct ath_hw *ah) 
    1488 +{ 
    1489 +       REG_WRITE(ah, AR_PHY_RTT_CTRL, 1); 
    1490 +} 
    1491 + 
    1492 +void ar9003_hw_rtt_disable(struct ath_hw *ah) 
    1493 +{ 
    1494 +       REG_WRITE(ah, AR_PHY_RTT_CTRL, 0); 
    1495 +} 
    1496 + 
    1497 +void ar9003_hw_rtt_set_mask(struct ath_hw *ah, u32 rtt_mask) 
    1498 +{ 
    1499 +       REG_RMW_FIELD(ah, AR_PHY_RTT_CTRL, 
    1500 +                     AR_PHY_RTT_CTRL_RESTORE_MASK, rtt_mask); 
    1501 +} 
    1502 + 
    1503 +bool ar9003_hw_rtt_force_restore(struct ath_hw *ah) 
    1504 +{ 
    1505 +       if (!ath9k_hw_wait(ah, AR_PHY_RTT_CTRL, 
    1506 +                          AR_PHY_RTT_CTRL_FORCE_RADIO_RESTORE, 
    1507 +                          0, RTT_RESTORE_TIMEOUT)) 
    1508 +               return false; 
    1509 + 
    1510 +       REG_RMW_FIELD(ah, AR_PHY_RTT_CTRL, 
    1511 +                     AR_PHY_RTT_CTRL_FORCE_RADIO_RESTORE, 1); 
    1512 + 
    1513 +       if (!ath9k_hw_wait(ah, AR_PHY_RTT_CTRL, 
    1514 +                          AR_PHY_RTT_CTRL_FORCE_RADIO_RESTORE, 
    1515 +                          0, RTT_RESTORE_TIMEOUT)) 
    1516 +               return false; 
    1517 + 
    1518 +       return true; 
    1519 +} 
    1520 + 
    1521 +static void ar9003_hw_rtt_load_hist_entry(struct ath_hw *ah, u8 chain, 
    1522 +               u32 index, u32 data28) 
    1523 +{ 
    1524 +       u32 val; 
    1525 + 
    1526 +       val = SM(data28, AR_PHY_RTT_SW_RTT_TABLE_DATA); 
    1527 +       REG_WRITE(ah, AR_PHY_RTT_TABLE_SW_INTF_1_B(chain), val); 
    1528 + 
    1529 +       val = SM(0, AR_PHY_RTT_SW_RTT_TABLE_ACCESS) | 
    1530 +             SM(1, AR_PHY_RTT_SW_RTT_TABLE_WRITE) | 
    1531 +             SM(index, AR_PHY_RTT_SW_RTT_TABLE_ADDR); 
    1532 +       REG_WRITE(ah, AR_PHY_RTT_TABLE_SW_INTF_B(chain), val); 
    1533 +       udelay(1); 
    1534 + 
    1535 +       val |= SM(1, AR_PHY_RTT_SW_RTT_TABLE_ACCESS); 
    1536 +       REG_WRITE(ah, AR_PHY_RTT_TABLE_SW_INTF_B(chain), val); 
    1537 +       udelay(1); 
    1538 + 
    1539 +       if (!ath9k_hw_wait(ah, AR_PHY_RTT_TABLE_SW_INTF_B(chain), 
    1540 +                          AR_PHY_RTT_SW_RTT_TABLE_ACCESS, 0, 
    1541 +                          RTT_ACCESS_TIMEOUT)) 
    1542 +               return; 
    1543 + 
    1544 +       val &= ~SM(1, AR_PHY_RTT_SW_RTT_TABLE_WRITE); 
    1545 +       REG_WRITE(ah, AR_PHY_RTT_TABLE_SW_INTF_B(chain), val); 
    1546 +       udelay(1); 
    1547 + 
    1548 +       ath9k_hw_wait(ah, AR_PHY_RTT_TABLE_SW_INTF_B(chain), 
    1549 +                     AR_PHY_RTT_SW_RTT_TABLE_ACCESS, 0, 
    1550 +                     RTT_ACCESS_TIMEOUT); 
    1551 +} 
    1552 + 
    1553 +void ar9003_hw_rtt_load_hist(struct ath_hw *ah, u8 chain, u32 *table) 
    1554 +{ 
    1555 +       int i; 
    1556 + 
    1557 +       for (i = 0; i < MAX_RTT_TABLE_ENTRY; i++) 
    1558 +               ar9003_hw_rtt_load_hist_entry(ah, chain, i, table[i]); 
    1559 +} 
    1560 + 
    1561 +static int ar9003_hw_rtt_fill_hist_entry(struct ath_hw *ah, u8 chain, u32 index) 
    1562 +{ 
    1563 +       u32 val; 
    1564 + 
    1565 +       val = SM(0, AR_PHY_RTT_SW_RTT_TABLE_ACCESS) | 
    1566 +             SM(0, AR_PHY_RTT_SW_RTT_TABLE_WRITE) | 
    1567 +             SM(index, AR_PHY_RTT_SW_RTT_TABLE_ADDR); 
    1568 + 
    1569 +       REG_WRITE(ah, AR_PHY_RTT_TABLE_SW_INTF_B(chain), val); 
    1570 +       udelay(1); 
    1571 + 
    1572 +       val |= SM(1, AR_PHY_RTT_SW_RTT_TABLE_ACCESS); 
    1573 +       REG_WRITE(ah, AR_PHY_RTT_TABLE_SW_INTF_B(chain), val); 
    1574 +       udelay(1); 
    1575 + 
    1576 +       if (!ath9k_hw_wait(ah, AR_PHY_RTT_TABLE_SW_INTF_B(chain), 
    1577 +                          AR_PHY_RTT_SW_RTT_TABLE_ACCESS, 0, 
    1578 +                          RTT_ACCESS_TIMEOUT)) 
    1579 +               return RTT_BAD_VALUE; 
    1580 + 
    1581 +       val = REG_READ(ah, AR_PHY_RTT_TABLE_SW_INTF_1_B(chain)); 
    1582 + 
    1583 +       return val; 
    1584 +} 
    1585 + 
    1586 +void ar9003_hw_rtt_fill_hist(struct ath_hw *ah, u8 chain, u32 *table) 
    1587 +{ 
    1588 +       int i; 
    1589 + 
    1590 +       for (i = 0; i < MAX_RTT_TABLE_ENTRY; i++) 
    1591 +               table[i] = ar9003_hw_rtt_fill_hist_entry(ah, chain, i); 
    1592 +} 
    1593 + 
    1594 +void ar9003_hw_rtt_clear_hist(struct ath_hw *ah) 
    1595 +{ 
    1596 +       int i, j; 
    1597 + 
    1598 +       for (i = 0; i < AR9300_MAX_CHAINS; i++) { 
    1599 +               if (!(ah->rxchainmask & (1 << i))) 
    1600 +                       continue; 
    1601 +               for (j = 0; j < MAX_RTT_TABLE_ENTRY; j++) 
    1602 +                       ar9003_hw_rtt_load_hist_entry(ah, i, j, 0); 
    1603 +       } 
    1604 +} 
    1605 --- /dev/null 
    1606 +++ b/drivers/net/wireless/ath/ath9k/ar9003_rtt.h 
    1607 @@ -0,0 +1,28 @@ 
    1608 +/* 
    1609 + * Copyright (c) 2010-2011 Atheros Communications Inc. 
    1610 + * 
    1611 + * Permission to use, copy, modify, and/or distribute this software for any 
    1612 + * purpose with or without fee is hereby granted, provided that the above 
    1613 + * copyright notice and this permission notice appear in all copies. 
    1614 + * 
    1615 + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 
    1616 + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 
    1617 + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 
    1618 + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 
    1619 + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 
    1620 + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 
    1621 + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 
    1622 + */ 
    1623 + 
    1624 +#ifndef AR9003_RTT_H 
    1625 +#define AR9003_RTT_H 
    1626 + 
    1627 +void ar9003_hw_rtt_enable(struct ath_hw *ah); 
    1628 +void ar9003_hw_rtt_disable(struct ath_hw *ah); 
    1629 +void ar9003_hw_rtt_set_mask(struct ath_hw *ah, u32 rtt_mask); 
    1630 +bool ar9003_hw_rtt_force_restore(struct ath_hw *ah); 
    1631 +void ar9003_hw_rtt_load_hist(struct ath_hw *ah, u8 chain, u32 *table); 
    1632 +void ar9003_hw_rtt_fill_hist(struct ath_hw *ah, u8 chain, u32 *table); 
    1633 +void ar9003_hw_rtt_clear_hist(struct ath_hw *ah); 
    1634 + 
    1635 +#endif 
    1636 --- /dev/null 
    1637 +++ b/drivers/net/wireless/ath/ath9k/ar9462_1p0_initvals.h 
    1638 @@ -0,0 +1,1833 @@ 
    1639 +/* 
    1640 + * Copyright (c) 2010 Atheros Communications Inc. 
    1641 + * 
    1642 + * Permission to use, copy, modify, and/or distribute this software for any 
    1643 + * purpose with or without fee is hereby granted, provided that the above 
    1644 + * copyright notice and this permission notice appear in all copies. 
    1645 + * 
    1646 + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 
    1647 + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 
    1648 + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 
    1649 + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 
    1650 + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 
    1651 + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 
    1652 + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 
    1653 + */ 
    1654 + 
    1655 +#ifndef INITVALS_9462_1P0_H 
    1656 +#define INITVALS_9462_1P0_H 
    1657 + 
    1658 +/* AR9462 1.0 */ 
    1659 + 
    1660 +static const u32 ar9462_1p0_mac_core[][2] = { 
    1661 +       /* Addr      allmodes  */ 
    1662 +       {0x00000008, 0x00000000}, 
    1663 +       {0x00000030, 0x00060085}, 
    1664 +       {0x00000034, 0x00000005}, 
    1665 +       {0x00000040, 0x00000000}, 
    1666 +       {0x00000044, 0x00000000}, 
    1667 +       {0x00000048, 0x00000008}, 
    1668 +       {0x0000004c, 0x00000010}, 
    1669 +       {0x00000050, 0x00000000}, 
    1670 +       {0x00001040, 0x002ffc0f}, 
    1671 +       {0x00001044, 0x002ffc0f}, 
    1672 +       {0x00001048, 0x002ffc0f}, 
    1673 +       {0x0000104c, 0x002ffc0f}, 
    1674 +       {0x00001050, 0x002ffc0f}, 
    1675 +       {0x00001054, 0x002ffc0f}, 
    1676 +       {0x00001058, 0x002ffc0f}, 
    1677 +       {0x0000105c, 0x002ffc0f}, 
    1678 +       {0x00001060, 0x002ffc0f}, 
    1679 +       {0x00001064, 0x002ffc0f}, 
    1680 +       {0x000010f0, 0x00000100}, 
    1681 +       {0x00001270, 0x00000000}, 
    1682 +       {0x000012b0, 0x00000000}, 
    1683 +       {0x000012f0, 0x00000000}, 
    1684 +       {0x0000143c, 0x00000000}, 
    1685 +       {0x0000147c, 0x00000000}, 
    1686 +       {0x00001810, 0x0f000003}, 
    1687 +       {0x00008000, 0x00000000}, 
    1688 +       {0x00008004, 0x00000000}, 
    1689 +       {0x00008008, 0x00000000}, 
    1690 +       {0x0000800c, 0x00000000}, 
    1691 +       {0x00008018, 0x00000000}, 
    1692 +       {0x00008020, 0x00000000}, 
    1693 +       {0x00008038, 0x00000000}, 
    1694 +       {0x0000803c, 0x00080000}, 
    1695 +       {0x00008040, 0x00000000}, 
    1696 +       {0x00008044, 0x00000000}, 
    1697 +       {0x00008048, 0x00000000}, 
    1698 +       {0x0000804c, 0xffffffff}, 
    1699 +       {0x00008050, 0xffffffff}, 
    1700 +       {0x00008054, 0x00000000}, 
    1701 +       {0x00008058, 0x00000000}, 
    1702 +       {0x0000805c, 0x000fc78f}, 
    1703 +       {0x00008060, 0x0000000f}, 
    1704 +       {0x00008064, 0x00000000}, 
    1705 +       {0x00008070, 0x00000310}, 
    1706 +       {0x00008074, 0x00000020}, 
    1707 +       {0x00008078, 0x00000000}, 
    1708 +       {0x0000809c, 0x0000000f}, 
    1709 +       {0x000080a0, 0x00000000}, 
    1710 +       {0x000080a4, 0x02ff0000}, 
    1711 +       {0x000080a8, 0x0e070605}, 
    1712 +       {0x000080ac, 0x0000000d}, 
    1713 +       {0x000080b0, 0x00000000}, 
    1714 +       {0x000080b4, 0x00000000}, 
    1715 +       {0x000080b8, 0x00000000}, 
    1716 +       {0x000080bc, 0x00000000}, 
    1717 +       {0x000080c0, 0x2a800000}, 
    1718 +       {0x000080c4, 0x06900168}, 
    1719 +       {0x000080c8, 0x13881c20}, 
    1720 +       {0x000080cc, 0x01f40000}, 
    1721 +       {0x000080d0, 0x00252500}, 
    1722 +       {0x000080d4, 0x00a00005}, 
    1723 +       {0x000080d8, 0x00400002}, 
    1724 +       {0x000080dc, 0x00000000}, 
    1725 +       {0x000080e0, 0xffffffff}, 
    1726 +       {0x000080e4, 0x0000ffff}, 
    1727 +       {0x000080e8, 0x3f3f3f3f}, 
    1728 +       {0x000080ec, 0x00000000}, 
    1729 +       {0x000080f0, 0x00000000}, 
    1730 +       {0x000080f4, 0x00000000}, 
    1731 +       {0x000080fc, 0x00020000}, 
    1732 +       {0x00008100, 0x00000000}, 
    1733 +       {0x00008108, 0x00000052}, 
    1734 +       {0x0000810c, 0x00000000}, 
    1735 +       {0x00008110, 0x00000000}, 
    1736 +       {0x00008114, 0x000007ff}, 
    1737 +       {0x00008118, 0x000000aa}, 
    1738 +       {0x0000811c, 0x00003210}, 
    1739 +       {0x00008124, 0x00000000}, 
    1740 +       {0x00008128, 0x00000000}, 
    1741 +       {0x0000812c, 0x00000000}, 
    1742 +       {0x00008130, 0x00000000}, 
    1743 +       {0x00008134, 0x00000000}, 
    1744 +       {0x00008138, 0x00000000}, 
    1745 +       {0x0000813c, 0x0000ffff}, 
    1746 +       {0x00008144, 0xffffffff}, 
    1747 +       {0x00008168, 0x00000000}, 
    1748 +       {0x0000816c, 0x00000000}, 
    1749 +       {0x00008170, 0x18486e00}, 
    1750 +       {0x00008174, 0x33332210}, 
    1751 +       {0x00008178, 0x00000000}, 
    1752 +       {0x0000817c, 0x00020000}, 
    1753 +       {0x000081c4, 0x33332210}, 
    1754 +       {0x000081c8, 0x00000000}, 
    1755 +       {0x000081cc, 0x00000000}, 
    1756 +       {0x000081d4, 0x00000000}, 
    1757 +       {0x000081ec, 0x00000000}, 
    1758 +       {0x000081f0, 0x00000000}, 
    1759 +       {0x000081f4, 0x00000000}, 
    1760 +       {0x000081f8, 0x00000000}, 
    1761 +       {0x000081fc, 0x00000000}, 
    1762 +       {0x00008240, 0x00100000}, 
    1763 +       {0x00008244, 0x0010f400}, 
    1764 +       {0x00008248, 0x00000800}, 
    1765 +       {0x0000824c, 0x0001e800}, 
    1766 +       {0x00008250, 0x00000000}, 
    1767 +       {0x00008254, 0x00000000}, 
    1768 +       {0x00008258, 0x00000000}, 
    1769 +       {0x0000825c, 0x40000000}, 
    1770 +       {0x00008260, 0x00080922}, 
    1771 +       {0x00008264, 0x99c00010}, 
    1772 +       {0x00008268, 0xffffffff}, 
    1773 +       {0x0000826c, 0x0000ffff}, 
    1774 +       {0x00008270, 0x00000000}, 
    1775 +       {0x00008274, 0x40000000}, 
    1776 +       {0x00008278, 0x003e4180}, 
    1777 +       {0x0000827c, 0x00000004}, 
    1778 +       {0x00008284, 0x0000002c}, 
    1779 +       {0x00008288, 0x0000002c}, 
    1780 +       {0x0000828c, 0x000000ff}, 
    1781 +       {0x00008294, 0x00000000}, 
    1782 +       {0x00008298, 0x00000000}, 
    1783 +       {0x0000829c, 0x00000000}, 
    1784 +       {0x00008300, 0x00000140}, 
    1785 +       {0x00008314, 0x00000000}, 
    1786 +       {0x0000831c, 0x0000010d}, 
    1787 +       {0x00008328, 0x00000000}, 
    1788 +       {0x0000832c, 0x0000001f}, 
    1789 +       {0x00008330, 0x00000302}, 
    1790 +       {0x00008334, 0x00000700}, 
    1791 +       {0x00008338, 0xffff0000}, 
    1792 +       {0x0000833c, 0x02400000}, 
    1793 +       {0x00008340, 0x000107ff}, 
    1794 +       {0x00008344, 0xaa48105b}, 
    1795 +       {0x00008348, 0x008f0000}, 
    1796 +       {0x0000835c, 0x00000000}, 
    1797 +       {0x00008360, 0xffffffff}, 
    1798 +       {0x00008364, 0xffffffff}, 
    1799 +       {0x00008368, 0x00000000}, 
    1800 +       {0x00008370, 0x00000000}, 
    1801 +       {0x00008374, 0x000000ff}, 
    1802 +       {0x00008378, 0x00000000}, 
    1803 +       {0x0000837c, 0x00000000}, 
    1804 +       {0x00008380, 0xffffffff}, 
    1805 +       {0x00008384, 0xffffffff}, 
    1806 +       {0x00008390, 0xffffffff}, 
    1807 +       {0x00008394, 0xffffffff}, 
    1808 +       {0x00008398, 0x00000000}, 
    1809 +       {0x0000839c, 0x00000000}, 
    1810 +       {0x000083a4, 0x0000fa14}, 
    1811 +       {0x000083a8, 0x000f0c00}, 
    1812 +       {0x000083ac, 0x33332210}, 
    1813 +       {0x000083b0, 0x33332210}, 
    1814 +       {0x000083b4, 0x33332210}, 
    1815 +       {0x000083b8, 0x33332210}, 
    1816 +       {0x000083bc, 0x00000000}, 
    1817 +       {0x000083c0, 0x00000000}, 
    1818 +       {0x000083c4, 0x00000000}, 
    1819 +       {0x000083c8, 0x00000000}, 
    1820 +       {0x000083cc, 0x00000200}, 
    1821 +       {0x000083d0, 0x000301ff}, 
    1822 +}; 
    1823 + 
    1824 +static const u32 ar9462_1p0_baseband_core_txfir_coeff_japan_2484[][2] = { 
    1825 +       /* Addr      allmodes  */ 
    1826 +       {0x0000a398, 0x00000000}, 
    1827 +       {0x0000a39c, 0x6f7f0301}, 
    1828 +       {0x0000a3a0, 0xca9228ee}, 
    1829 +}; 
    1830 + 
    1831 +static const u32 ar9462_1p0_sys3ant[][2] = { 
    1832 +       /* Addr      allmodes  */ 
    1833 +       {0x00063280, 0x00040807}, 
    1834 +       {0x00063284, 0x104ccccc}, 
    1835 +}; 
    1836 + 
    1837 +static const u32 ar9462_pcie_phy_clkreq_enable_L1_1p0[][2] = { 
    1838 +       /* Addr      allmodes  */ 
    1839 +       {0x00018c00, 0x10053e5e}, 
    1840 +       {0x00018c04, 0x000801d8}, 
    1841 +       {0x00018c08, 0x0000580c}, 
    1842 +}; 
    1843 + 
    1844 +static const u32 ar9462_1p0_mac_core_emulation[][2] = { 
    1845 +       /* Addr      allmodes  */ 
    1846 +       {0x00000030, 0x00060085}, 
    1847 +       {0x00000044, 0x00000008}, 
    1848 +       {0x0000805c, 0xffffc7ff}, 
    1849 +       {0x00008344, 0xaa4a105b}, 
    1850 +}; 
    1851 + 
    1852 +static const u32 ar9462_common_rx_gain_table_ar9280_2p0_1p0[][2] = { 
    1853 +       /* Addr      allmodes  */ 
    1854 +       {0x0000a000, 0x02000101}, 
    1855 +       {0x0000a004, 0x02000102}, 
    1856 +       {0x0000a008, 0x02000103}, 
    1857 +       {0x0000a00c, 0x02000104}, 
    1858 +       {0x0000a010, 0x02000200}, 
    1859 +       {0x0000a014, 0x02000201}, 
    1860 +       {0x0000a018, 0x02000202}, 
    1861 +       {0x0000a01c, 0x02000203}, 
    1862 +       {0x0000a020, 0x02000204}, 
    1863 +       {0x0000a024, 0x02000205}, 
    1864 +       {0x0000a028, 0x02000208}, 
    1865 +       {0x0000a02c, 0x02000302}, 
    1866 +       {0x0000a030, 0x02000303}, 
    1867 +       {0x0000a034, 0x02000304}, 
    1868 +       {0x0000a038, 0x02000400}, 
    1869 +       {0x0000a03c, 0x02010300}, 
    1870 +       {0x0000a040, 0x02010301}, 
    1871 +       {0x0000a044, 0x02010302}, 
    1872 +       {0x0000a048, 0x02000500}, 
    1873 +       {0x0000a04c, 0x02010400}, 
    1874 +       {0x0000a050, 0x02020300}, 
    1875 +       {0x0000a054, 0x02020301}, 
    1876 +       {0x0000a058, 0x02020302}, 
    1877 +       {0x0000a05c, 0x02020303}, 
    1878 +       {0x0000a060, 0x02020400}, 
    1879 +       {0x0000a064, 0x02030300}, 
    1880 +       {0x0000a068, 0x02030301}, 
    1881 +       {0x0000a06c, 0x02030302}, 
    1882 +       {0x0000a070, 0x02030303}, 
    1883 +       {0x0000a074, 0x02030400}, 
    1884 +       {0x0000a078, 0x02040300}, 
    1885 +       {0x0000a07c, 0x02040301}, 
    1886 +       {0x0000a080, 0x02040302}, 
    1887 +       {0x0000a084, 0x02040303}, 
    1888 +       {0x0000a088, 0x02030500}, 
    1889 +       {0x0000a08c, 0x02040400}, 
    1890 +       {0x0000a090, 0x02050203}, 
    1891 +       {0x0000a094, 0x02050204}, 
    1892 +       {0x0000a098, 0x02050205}, 
    1893 +       {0x0000a09c, 0x02040500}, 
    1894 +       {0x0000a0a0, 0x02050301}, 
    1895 +       {0x0000a0a4, 0x02050302}, 
    1896 +       {0x0000a0a8, 0x02050303}, 
    1897 +       {0x0000a0ac, 0x02050400}, 
    1898 +       {0x0000a0b0, 0x02050401}, 
    1899 +       {0x0000a0b4, 0x02050402}, 
    1900 +       {0x0000a0b8, 0x02050403}, 
    1901 +       {0x0000a0bc, 0x02050500}, 
    1902 +       {0x0000a0c0, 0x02050501}, 
    1903 +       {0x0000a0c4, 0x02050502}, 
    1904 +       {0x0000a0c8, 0x02050503}, 
    1905 +       {0x0000a0cc, 0x02050504}, 
    1906 +       {0x0000a0d0, 0x02050600}, 
    1907 +       {0x0000a0d4, 0x02050601}, 
    1908 +       {0x0000a0d8, 0x02050602}, 
    1909 +       {0x0000a0dc, 0x02050603}, 
    1910 +       {0x0000a0e0, 0x02050604}, 
    1911 +       {0x0000a0e4, 0x02050700}, 
    1912 +       {0x0000a0e8, 0x02050701}, 
    1913 +       {0x0000a0ec, 0x02050702}, 
    1914 +       {0x0000a0f0, 0x02050703}, 
    1915 +       {0x0000a0f4, 0x02050704}, 
    1916 +       {0x0000a0f8, 0x02050705}, 
    1917 +       {0x0000a0fc, 0x02050708}, 
    1918 +       {0x0000a100, 0x02050709}, 
    1919 +       {0x0000a104, 0x0205070a}, 
    1920 +       {0x0000a108, 0x0205070b}, 
    1921 +       {0x0000a10c, 0x0205070c}, 
    1922 +       {0x0000a110, 0x0205070d}, 
    1923 +       {0x0000a114, 0x02050710}, 
    1924 +       {0x0000a118, 0x02050711}, 
    1925 +       {0x0000a11c, 0x02050712}, 
    1926 +       {0x0000a120, 0x02050713}, 
    1927 +       {0x0000a124, 0x02050714}, 
    1928 +       {0x0000a128, 0x02050715}, 
    1929 +       {0x0000a12c, 0x02050730}, 
    1930 +       {0x0000a130, 0x02050731}, 
    1931 +       {0x0000a134, 0x02050732}, 
    1932 +       {0x0000a138, 0x02050733}, 
    1933 +       {0x0000a13c, 0x02050734}, 
    1934 +       {0x0000a140, 0x02050735}, 
    1935 +       {0x0000a144, 0x02050750}, 
    1936 +       {0x0000a148, 0x02050751}, 
    1937 +       {0x0000a14c, 0x02050752}, 
    1938 +       {0x0000a150, 0x02050753}, 
    1939 +       {0x0000a154, 0x02050754}, 
    1940 +       {0x0000a158, 0x02050755}, 
    1941 +       {0x0000a15c, 0x02050770}, 
    1942 +       {0x0000a160, 0x02050771}, 
    1943 +       {0x0000a164, 0x02050772}, 
    1944 +       {0x0000a168, 0x02050773}, 
    1945 +       {0x0000a16c, 0x02050774}, 
    1946 +       {0x0000a170, 0x02050775}, 
    1947 +       {0x0000a174, 0x00000776}, 
    1948 +       {0x0000a178, 0x00000776}, 
    1949 +       {0x0000a17c, 0x00000776}, 
    1950 +       {0x0000a180, 0x00000776}, 
    1951 +       {0x0000a184, 0x00000776}, 
    1952 +       {0x0000a188, 0x00000776}, 
    1953 +       {0x0000a18c, 0x00000776}, 
    1954 +       {0x0000a190, 0x00000776}, 
    1955 +       {0x0000a194, 0x00000776}, 
    1956 +       {0x0000a198, 0x00000776}, 
    1957 +       {0x0000a19c, 0x00000776}, 
    1958 +       {0x0000a1a0, 0x00000776}, 
    1959 +       {0x0000a1a4, 0x00000776}, 
    1960 +       {0x0000a1a8, 0x00000776}, 
    1961 +       {0x0000a1ac, 0x00000776}, 
    1962 +       {0x0000a1b0, 0x00000776}, 
    1963 +       {0x0000a1b4, 0x00000776}, 
    1964 +       {0x0000a1b8, 0x00000776}, 
    1965 +       {0x0000a1bc, 0x00000776}, 
    1966 +       {0x0000a1c0, 0x00000776}, 
    1967 +       {0x0000a1c4, 0x00000776}, 
    1968 +       {0x0000a1c8, 0x00000776}, 
    1969 +       {0x0000a1cc, 0x00000776}, 
    1970 +       {0x0000a1d0, 0x00000776}, 
    1971 +       {0x0000a1d4, 0x00000776}, 
    1972 +       {0x0000a1d8, 0x00000776}, 
    1973 +       {0x0000a1dc, 0x00000776}, 
    1974 +       {0x0000a1e0, 0x00000776}, 
    1975 +       {0x0000a1e4, 0x00000776}, 
    1976 +       {0x0000a1e8, 0x00000776}, 
    1977 +       {0x0000a1ec, 0x00000776}, 
    1978 +       {0x0000a1f0, 0x00000776}, 
    1979 +       {0x0000a1f4, 0x00000776}, 
    1980 +       {0x0000a1f8, 0x00000776}, 
    1981 +       {0x0000a1fc, 0x00000776}, 
    1982 +       {0x0000b000, 0x02000101}, 
    1983 +       {0x0000b004, 0x02000102}, 
    1984 +       {0x0000b008, 0x02000103}, 
    1985 +       {0x0000b00c, 0x02000104}, 
    1986 +       {0x0000b010, 0x02000200}, 
    1987 +       {0x0000b014, 0x02000201}, 
    1988 +       {0x0000b018, 0x02000202}, 
    1989 +       {0x0000b01c, 0x02000203}, 
    1990 +       {0x0000b020, 0x02000204}, 
    1991 +       {0x0000b024, 0x02000205}, 
    1992 +       {0x0000b028, 0x02000208}, 
    1993 +       {0x0000b02c, 0x02000302}, 
    1994 +       {0x0000b030, 0x02000303}, 
    1995 +       {0x0000b034, 0x02000304}, 
    1996 +       {0x0000b038, 0x02000400}, 
    1997 +       {0x0000b03c, 0x02010300}, 
    1998 +       {0x0000b040, 0x02010301}, 
    1999 +       {0x0000b044, 0x02010302}, 
    2000 +       {0x0000b048, 0x02000500}, 
    2001 +       {0x0000b04c, 0x02010400}, 
    2002 +       {0x0000b050, 0x02020300}, 
    2003 +       {0x0000b054, 0x02020301}, 
    2004 +       {0x0000b058, 0x02020302}, 
    2005 +       {0x0000b05c, 0x02020303}, 
    2006 +       {0x0000b060, 0x02020400}, 
    2007 +       {0x0000b064, 0x02030300}, 
    2008 +       {0x0000b068, 0x02030301}, 
    2009 +       {0x0000b06c, 0x02030302}, 
    2010 +       {0x0000b070, 0x02030303}, 
    2011 +       {0x0000b074, 0x02030400}, 
    2012 +       {0x0000b078, 0x02040300}, 
    2013 +       {0x0000b07c, 0x02040301}, 
    2014 +       {0x0000b080, 0x02040302}, 
    2015 +       {0x0000b084, 0x02040303}, 
    2016 +       {0x0000b088, 0x02030500}, 
    2017 +       {0x0000b08c, 0x02040400}, 
    2018 +       {0x0000b090, 0x02050203}, 
    2019 +       {0x0000b094, 0x02050204}, 
    2020 +       {0x0000b098, 0x02050205}, 
    2021 +       {0x0000b09c, 0x02040500}, 
    2022 +       {0x0000b0a0, 0x02050301}, 
    2023 +       {0x0000b0a4, 0x02050302}, 
    2024 +       {0x0000b0a8, 0x02050303}, 
    2025 +       {0x0000b0ac, 0x02050400}, 
    2026 +       {0x0000b0b0, 0x02050401}, 
    2027 +       {0x0000b0b4, 0x02050402}, 
    2028 +       {0x0000b0b8, 0x02050403}, 
    2029 +       {0x0000b0bc, 0x02050500}, 
    2030 +       {0x0000b0c0, 0x02050501}, 
    2031 +       {0x0000b0c4, 0x02050502}, 
    2032 +       {0x0000b0c8, 0x02050503}, 
    2033 +       {0x0000b0cc, 0x02050504}, 
    2034 +       {0x0000b0d0, 0x02050600}, 
    2035 +       {0x0000b0d4, 0x02050601}, 
    2036 +       {0x0000b0d8, 0x02050602}, 
    2037 +       {0x0000b0dc, 0x02050603}, 
    2038 +       {0x0000b0e0, 0x02050604}, 
    2039 +       {0x0000b0e4, 0x02050700}, 
    2040 +       {0x0000b0e8, 0x02050701}, 
    2041 +       {0x0000b0ec, 0x02050702}, 
    2042 +       {0x0000b0f0, 0x02050703}, 
    2043 +       {0x0000b0f4, 0x02050704}, 
    2044 +       {0x0000b0f8, 0x02050705}, 
    2045 +       {0x0000b0fc, 0x02050708}, 
    2046 +       {0x0000b100, 0x02050709}, 
    2047 +       {0x0000b104, 0x0205070a}, 
    2048 +       {0x0000b108, 0x0205070b}, 
    2049 +       {0x0000b10c, 0x0205070c}, 
    2050 +       {0x0000b110, 0x0205070d}, 
    2051 +       {0x0000b114, 0x02050710}, 
    2052 +       {0x0000b118, 0x02050711}, 
    2053 +       {0x0000b11c, 0x02050712}, 
    2054 +       {0x0000b120, 0x02050713}, 
    2055 +       {0x0000b124, 0x02050714}, 
    2056 +       {0x0000b128, 0x02050715}, 
    2057 +       {0x0000b12c, 0x02050730}, 
    2058 +       {0x0000b130, 0x02050731}, 
    2059 +       {0x0000b134, 0x02050732}, 
    2060 +       {0x0000b138, 0x02050733}, 
    2061 +       {0x0000b13c, 0x02050734}, 
    2062 +       {0x0000b140, 0x02050735}, 
    2063 +       {0x0000b144, 0x02050750}, 
    2064 +       {0x0000b148, 0x02050751}, 
    2065 +       {0x0000b14c, 0x02050752}, 
    2066 +       {0x0000b150, 0x02050753}, 
    2067 +       {0x0000b154, 0x02050754}, 
    2068 +       {0x0000b158, 0x02050755}, 
    2069 +       {0x0000b15c, 0x02050770}, 
    2070 +       {0x0000b160, 0x02050771}, 
    2071 +       {0x0000b164, 0x02050772}, 
    2072 +       {0x0000b168, 0x02050773}, 
    2073 +       {0x0000b16c, 0x02050774}, 
    2074 +       {0x0000b170, 0x02050775}, 
    2075 +       {0x0000b174, 0x00000776}, 
    2076 +       {0x0000b178, 0x00000776}, 
    2077 +       {0x0000b17c, 0x00000776}, 
    2078 +       {0x0000b180, 0x00000776}, 
    2079 +       {0x0000b184, 0x00000776}, 
    2080 +       {0x0000b188, 0x00000776}, 
    2081 +       {0x0000b18c, 0x00000776}, 
    2082 +       {0x0000b190, 0x00000776}, 
    2083 +       {0x0000b194, 0x00000776}, 
    2084 +       {0x0000b198, 0x00000776}, 
    2085 +       {0x0000b19c, 0x00000776}, 
    2086 +       {0x0000b1a0, 0x00000776}, 
    2087 +       {0x0000b1a4, 0x00000776}, 
    2088 +       {0x0000b1a8, 0x00000776}, 
    2089 +       {0x0000b1ac, 0x00000776}, 
    2090 +       {0x0000b1b0, 0x00000776}, 
    2091 +       {0x0000b1b4, 0x00000776}, 
    2092 +       {0x0000b1b8, 0x00000776}, 
    2093 +       {0x0000b1bc, 0x00000776}, 
    2094 +       {0x0000b1c0, 0x00000776}, 
    2095 +       {0x0000b1c4, 0x00000776}, 
    2096 +       {0x0000b1c8, 0x00000776}, 
    2097 +       {0x0000b1cc, 0x00000776}, 
    2098 +       {0x0000b1d0, 0x00000776}, 
    2099 +       {0x0000b1d4, 0x00000776}, 
    2100 +       {0x0000b1d8, 0x00000776}, 
    2101 +       {0x0000b1dc, 0x00000776}, 
    2102 +       {0x0000b1e0, 0x00000776}, 
    2103 +       {0x0000b1e4, 0x00000776}, 
    2104 +       {0x0000b1e8, 0x00000776}, 
    2105 +       {0x0000b1ec, 0x00000776}, 
    2106 +       {0x0000b1f0, 0x00000776}, 
    2107 +       {0x0000b1f4, 0x00000776}, 
    2108 +       {0x0000b1f8, 0x00000776}, 
    2109 +       {0x0000b1fc, 0x00000776}, 
    2110 +}; 
    2111 + 
    2112 +static const u32 ar9200_ar9280_2p0_radio_core_1p0[][2] = { 
    2113 +       /* Addr      allmodes  */ 
    2114 +       {0x00007800, 0x00040000}, 
    2115 +       {0x00007804, 0xdb005012}, 
    2116 +       {0x00007808, 0x04924914}, 
    2117 +       {0x0000780c, 0x21084210}, 
    2118 +       {0x00007810, 0x6d801300}, 
    2119 +       {0x00007814, 0x0019beff}, 
    2120 +       {0x00007818, 0x07e41000}, 
    2121 +       {0x0000781c, 0x00392000}, 
    2122 +       {0x00007820, 0x92592480}, 
    2123 +       {0x00007824, 0x00040000}, 
    2124 +       {0x00007828, 0xdb005012}, 
    2125 +       {0x0000782c, 0x04924914}, 
    2126 +       {0x00007830, 0x21084210}, 
    2127 +       {0x00007834, 0x6d801300}, 
    2128 +       {0x00007838, 0x0019beff}, 
    2129 +       {0x0000783c, 0x07e40000}, 
    2130 +       {0x00007840, 0x00392000}, 
    2131 +       {0x00007844, 0x92592480}, 
    2132 +       {0x00007848, 0x00100000}, 
    2133 +       {0x0000784c, 0x773f0567}, 
    2134 +       {0x00007850, 0x54214514}, 
    2135 +       {0x00007854, 0x12035828}, 
    2136 +       {0x00007858, 0x92592692}, 
    2137 +       {0x0000785c, 0x00000000}, 
    2138 +       {0x00007860, 0x56400000}, 
    2139 +       {0x00007864, 0x0a8e370e}, 
    2140 +       {0x00007868, 0xc0102850}, 
    2141 +       {0x0000786c, 0x812d4000}, 
    2142 +       {0x00007870, 0x807ec400}, 
    2143 +       {0x00007874, 0x001b6db0}, 
    2144 +       {0x00007878, 0x00376b63}, 
    2145 +       {0x0000787c, 0x06db6db6}, 
    2146 +       {0x00007880, 0x006d8000}, 
    2147 +       {0x00007884, 0xffeffffe}, 
    2148 +       {0x00007888, 0xffeffffe}, 
    2149 +       {0x0000788c, 0x00010000}, 
    2150 +       {0x00007890, 0x02060aeb}, 
    2151 +       {0x00007894, 0x5a108000}, 
    2152 +}; 
    2153 + 
    2154 +static const u32 ar9462_1p0_baseband_postamble_emulation[][5] = { 
    2155 +       /* Addr      5G_HT20     5G_HT40     2G_HT40     2G_HT20   */ 
    2156 +       {0x00009e18, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, 
    2157 +       {0x00009e3c, 0xcf946221, 0xcf946221, 0xcf946221, 0xcf946221}, 
    2158 +       {0x00009e44, 0x005c0000, 0x005c0000, 0x005c0000, 0x005c0000}, 
    2159 +       {0x0000a258, 0x02020200, 0x02020200, 0x02020200, 0x02020200}, 
    2160 +       {0x0000a25c, 0x00000e0e, 0x00000e0e, 0x00000e0e, 0x00000e0e}, 
    2161 +       {0x0000a28c, 0x00011111, 0x00011111, 0x00011111, 0x00011111}, 
    2162 +       {0x0000a2c4, 0x00148d18, 0x00148d18, 0x00148d20, 0x00148d20}, 
    2163 +       {0x0000a2d8, 0xf999a800, 0xf999a800, 0xf999a80c, 0xf999a80c}, 
    2164 +       {0x0000a50c, 0x0000c00a, 0x0000c00a, 0x0000c00a, 0x0000c00a}, 
    2165 +       {0x0000a538, 0x00038e8c, 0x00038e8c, 0x00038e8c, 0x00038e8c}, 
    2166 +       {0x0000a53c, 0x0003cecc, 0x0003cecc, 0x0003cecc, 0x0003cecc}, 
    2167 +       {0x0000a540, 0x00040ed4, 0x00040ed4, 0x00040ed4, 0x00040ed4}, 
    2168 +       {0x0000a544, 0x00044edc, 0x00044edc, 0x00044edc, 0x00044edc}, 
    2169 +       {0x0000a548, 0x00048ede, 0x00048ede, 0x00048ede, 0x00048ede}, 
    2170 +       {0x0000a54c, 0x0004cf1e, 0x0004cf1e, 0x0004cf1e, 0x0004cf1e}, 
    2171 +       {0x0000a550, 0x00050f5e, 0x00050f5e, 0x00050f5e, 0x00050f5e}, 
    2172 +       {0x0000a554, 0x00054f9e, 0x00054f9e, 0x00054f9e, 0x00054f9e}, 
    2173 +       {0x0000ae18, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, 
    2174 +}; 
    2175 + 
    2176 +static const u32 ar9462_pcie_phy_pll_on_clkreq_disable_L1_1p0[][2] = { 
    2177 +       /* Addr      allmodes  */ 
    2178 +       {0x00018c00, 0x10012e5e}, 
    2179 +       {0x00018c04, 0x000801d8}, 
    2180 +       {0x00018c08, 0x0000580c}, 
    2181 +}; 
    2182 + 
    2183 +static const u32 ar9462_common_rx_gain_table_1p0[][2] = { 
    2184 +       /* Addr      allmodes  */ 
    2185 +       {0x0000a000, 0x00010000}, 
    2186 +       {0x0000a004, 0x00030002}, 
    2187 +       {0x0000a008, 0x00050004}, 
    2188 +       {0x0000a00c, 0x00810080}, 
    2189 +       {0x0000a010, 0x00830082}, 
    2190 +       {0x0000a014, 0x01810180}, 
    2191 +       {0x0000a018, 0x01830182}, 
    2192 +       {0x0000a01c, 0x01850184}, 
    2193 +       {0x0000a020, 0x01890188}, 
    2194 +       {0x0000a024, 0x018b018a}, 
    2195 +       {0x0000a028, 0x018d018c}, 
    2196 +       {0x0000a02c, 0x01910190}, 
    2197 +       {0x0000a030, 0x01930192}, 
    2198 +       {0x0000a034, 0x01950194}, 
    2199 +       {0x0000a038, 0x038a0196}, 
    2200 +       {0x0000a03c, 0x038c038b}, 
    2201 +       {0x0000a040, 0x0390038d}, 
    2202 +       {0x0000a044, 0x03920391}, 
    2203 +       {0x0000a048, 0x03940393}, 
    2204 +       {0x0000a04c, 0x03960395}, 
    2205 +       {0x0000a050, 0x00000000}, 
    2206 +       {0x0000a054, 0x00000000}, 
    2207 +       {0x0000a058, 0x00000000}, 
    2208 +       {0x0000a05c, 0x00000000}, 
    2209 +       {0x0000a060, 0x00000000}, 
    2210 +       {0x0000a064, 0x00000000}, 
    2211 +       {0x0000a068, 0x00000000}, 
    2212 +       {0x0000a06c, 0x00000000}, 
    2213 +       {0x0000a070, 0x00000000}, 
    2214 +       {0x0000a074, 0x00000000}, 
    2215 +       {0x0000a078, 0x00000000}, 
    2216 +       {0x0000a07c, 0x00000000}, 
    2217 +       {0x0000a080, 0x22222229}, 
    2218 +       {0x0000a084, 0x1d1d1d1d}, 
    2219 +       {0x0000a088, 0x1d1d1d1d}, 
    2220 +       {0x0000a08c, 0x1d1d1d1d}, 
    2221 +       {0x0000a090, 0x171d1d1d}, 
    2222 +       {0x0000a094, 0x11111717}, 
    2223 +       {0x0000a098, 0x00030311}, 
    2224 +       {0x0000a09c, 0x00000000}, 
    2225 +       {0x0000a0a0, 0x00000000}, 
    2226 +       {0x0000a0a4, 0x00000000}, 
    2227 +       {0x0000a0a8, 0x00000000}, 
    2228 +       {0x0000a0ac, 0x00000000}, 
    2229 +       {0x0000a0b0, 0x00000000}, 
    2230 +       {0x0000a0b4, 0x00000000}, 
    2231 +       {0x0000a0b8, 0x00000000}, 
    2232 +       {0x0000a0bc, 0x00000000}, 
    2233 +       {0x0000a0c0, 0x001f0000}, 
    2234 +       {0x0000a0c4, 0x01000101}, 
    2235 +       {0x0000a0c8, 0x011e011f}, 
    2236 +       {0x0000a0cc, 0x011c011d}, 
    2237 +       {0x0000a0d0, 0x02030204}, 
    2238 +       {0x0000a0d4, 0x02010202}, 
    2239 +       {0x0000a0d8, 0x021f0200}, 
    2240 +       {0x0000a0dc, 0x0302021e}, 
    2241 +       {0x0000a0e0, 0x03000301}, 
    2242 +       {0x0000a0e4, 0x031e031f}, 
    2243 +       {0x0000a0e8, 0x0402031d}, 
    2244 +       {0x0000a0ec, 0x04000401}, 
    2245 +       {0x0000a0f0, 0x041e041f}, 
    2246 +       {0x0000a0f4, 0x0502041d}, 
    2247 +       {0x0000a0f8, 0x05000501}, 
    2248 +       {0x0000a0fc, 0x051e051f}, 
    2249 +       {0x0000a100, 0x06010602}, 
    2250 +       {0x0000a104, 0x061f0600}, 
    2251 +       {0x0000a108, 0x061d061e}, 
    2252 +       {0x0000a10c, 0x07020703}, 
    2253 +       {0x0000a110, 0x07000701}, 
    2254 +       {0x0000a114, 0x00000000}, 
    2255 +       {0x0000a118, 0x00000000}, 
    2256 +       {0x0000a11c, 0x00000000}, 
    2257 +       {0x0000a120, 0x00000000}, 
    2258 +       {0x0000a124, 0x00000000}, 
    2259 +       {0x0000a128, 0x00000000}, 
    2260 +       {0x0000a12c, 0x00000000}, 
    2261 +       {0x0000a130, 0x00000000}, 
    2262 +       {0x0000a134, 0x00000000}, 
    2263 +       {0x0000a138, 0x00000000}, 
    2264 +       {0x0000a13c, 0x00000000}, 
    2265 +       {0x0000a140, 0x001f0000}, 
    2266 +       {0x0000a144, 0x01000101}, 
    2267 +       {0x0000a148, 0x011e011f}, 
    2268 +       {0x0000a14c, 0x011c011d}, 
    2269 +       {0x0000a150, 0x02030204}, 
    2270 +       {0x0000a154, 0x02010202}, 
    2271 +       {0x0000a158, 0x021f0200}, 
    2272 +       {0x0000a15c, 0x0302021e}, 
    2273 +       {0x0000a160, 0x03000301}, 
    2274 +       {0x0000a164, 0x031e031f}, 
    2275 +       {0x0000a168, 0x0402031d}, 
    2276 +       {0x0000a16c, 0x04000401}, 
    2277 +       {0x0000a170, 0x041e041f}, 
    2278 +       {0x0000a174, 0x0502041d}, 
    2279 +       {0x0000a178, 0x05000501}, 
    2280 +       {0x0000a17c, 0x051e051f}, 
    2281 +       {0x0000a180, 0x06010602}, 
    2282 +       {0x0000a184, 0x061f0600}, 
    2283 +       {0x0000a188, 0x061d061e}, 
    2284 +       {0x0000a18c, 0x07020703}, 
    2285 +       {0x0000a190, 0x07000701}, 
    2286 +       {0x0000a194, 0x00000000}, 
    2287 +       {0x0000a198, 0x00000000}, 
    2288 +       {0x0000a19c, 0x00000000}, 
    2289 +       {0x0000a1a0, 0x00000000}, 
    2290 +       {0x0000a1a4, 0x00000000}, 
    2291 +       {0x0000a1a8, 0x00000000}, 
    2292 +       {0x0000a1ac, 0x00000000}, 
    2293 +       {0x0000a1b0, 0x00000000}, 
    2294 +       {0x0000a1b4, 0x00000000}, 
    2295 +       {0x0000a1b8, 0x00000000}, 
    2296 +       {0x0000a1bc, 0x00000000}, 
    2297 +       {0x0000a1c0, 0x00000000}, 
    2298 +       {0x0000a1c4, 0x00000000}, 
    2299 +       {0x0000a1c8, 0x00000000}, 
    2300 +       {0x0000a1cc, 0x00000000}, 
    2301 +       {0x0000a1d0, 0x00000000}, 
    2302 +       {0x0000a1d4, 0x00000000}, 
    2303 +       {0x0000a1d8, 0x00000000}, 
    2304 +       {0x0000a1dc, 0x00000000}, 
    2305 +       {0x0000a1e0, 0x00000000}, 
    2306 +       {0x0000a1e4, 0x00000000}, 
    2307 +       {0x0000a1e8, 0x00000000}, 
    2308 +       {0x0000a1ec, 0x00000000}, 
    2309 +       {0x0000a1f0, 0x00000396}, 
    2310 +       {0x0000a1f4, 0x00000396}, 
    2311 +       {0x0000a1f8, 0x00000396}, 
    2312 +       {0x0000a1fc, 0x00000196}, 
    2313 +       {0x0000b000, 0x00010000}, 
    2314 +       {0x0000b004, 0x00030002}, 
    2315 +       {0x0000b008, 0x00050004}, 
    2316 +       {0x0000b00c, 0x00810080}, 
    2317 +       {0x0000b010, 0x00830082}, 
    2318 +       {0x0000b014, 0x01810180}, 
    2319 +       {0x0000b018, 0x01830182}, 
    2320 +       {0x0000b01c, 0x01850184}, 
    2321 +       {0x0000b020, 0x02810280}, 
    2322 +       {0x0000b024, 0x02830282}, 
    2323 +       {0x0000b028, 0x02850284}, 
    2324 +       {0x0000b02c, 0x02890288}, 
    2325 +       {0x0000b030, 0x028b028a}, 
    2326 +       {0x0000b034, 0x0388028c}, 
    2327 +       {0x0000b038, 0x038a0389}, 
    2328 +       {0x0000b03c, 0x038c038b}, 
    2329 +       {0x0000b040, 0x0390038d}, 
    2330 +       {0x0000b044, 0x03920391}, 
    2331 +       {0x0000b048, 0x03940393}, 
    2332 +       {0x0000b04c, 0x03960395}, 
    2333 +       {0x0000b050, 0x00000000}, 
    2334 +       {0x0000b054, 0x00000000}, 
    2335 +       {0x0000b058, 0x00000000}, 
    2336 +       {0x0000b05c, 0x00000000}, 
    2337 +       {0x0000b060, 0x00000000}, 
    2338 +       {0x0000b064, 0x00000000}, 
    2339 +       {0x0000b068, 0x00000000}, 
    2340 +       {0x0000b06c, 0x00000000}, 
    2341 +       {0x0000b070, 0x00000000}, 
    2342 +       {0x0000b074, 0x00000000}, 
    2343 +       {0x0000b078, 0x00000000}, 
    2344 +       {0x0000b07c, 0x00000000}, 
    2345 +       {0x0000b080, 0x2a2d2f32}, 
    2346 +       {0x0000b084, 0x21232328}, 
    2347 +       {0x0000b088, 0x19191c1e}, 
    2348 +       {0x0000b08c, 0x12141417}, 
    2349 +       {0x0000b090, 0x07070e0e}, 
    2350 +       {0x0000b094, 0x03030305}, 
    2351 +       {0x0000b098, 0x00000003}, 
    2352 +       {0x0000b09c, 0x00000000}, 
    2353 +       {0x0000b0a0, 0x00000000}, 
    2354 +       {0x0000b0a4, 0x00000000}, 
    2355 +       {0x0000b0a8, 0x00000000}, 
    2356 +       {0x0000b0ac, 0x00000000}, 
    2357 +       {0x0000b0b0, 0x00000000}, 
    2358 +       {0x0000b0b4, 0x00000000}, 
    2359 +       {0x0000b0b8, 0x00000000}, 
    2360 +       {0x0000b0bc, 0x00000000}, 
    2361 +       {0x0000b0c0, 0x003f0020}, 
    2362 +       {0x0000b0c4, 0x00400041}, 
    2363 +       {0x0000b0c8, 0x0140005f}, 
    2364 +       {0x0000b0cc, 0x0160015f}, 
    2365 +       {0x0000b0d0, 0x017e017f}, 
    2366 +       {0x0000b0d4, 0x02410242}, 
    2367 +       {0x0000b0d8, 0x025f0240}, 
    2368 +       {0x0000b0dc, 0x027f0260}, 
    2369 +       {0x0000b0e0, 0x0341027e}, 
    2370 +       {0x0000b0e4, 0x035f0340}, 
    2371 +       {0x0000b0e8, 0x037f0360}, 
    2372 +       {0x0000b0ec, 0x04400441}, 
    2373 +       {0x0000b0f0, 0x0460045f}, 
    2374 +       {0x0000b0f4, 0x0541047f}, 
    2375 +       {0x0000b0f8, 0x055f0540}, 
    2376 +       {0x0000b0fc, 0x057f0560}, 
    2377 +       {0x0000b100, 0x06400641}, 
    2378 +       {0x0000b104, 0x0660065f}, 
    2379 +       {0x0000b108, 0x067e067f}, 
    2380 +       {0x0000b10c, 0x07410742}, 
    2381 +       {0x0000b110, 0x075f0740}, 
    2382 +       {0x0000b114, 0x077f0760}, 
    2383 +       {0x0000b118, 0x07800781}, 
    2384 +       {0x0000b11c, 0x07a0079f}, 
    2385 +       {0x0000b120, 0x07c107bf}, 
    2386 +       {0x0000b124, 0x000007c0}, 
    2387 +       {0x0000b128, 0x00000000}, 
    2388 +       {0x0000b12c, 0x00000000}, 
    2389 +       {0x0000b130, 0x00000000}, 
    2390 +       {0x0000b134, 0x00000000}, 
    2391 +       {0x0000b138, 0x00000000}, 
    2392 +       {0x0000b13c, 0x00000000}, 
    2393 +       {0x0000b140, 0x003f0020}, 
    2394 +       {0x0000b144, 0x00400041}, 
    2395 +       {0x0000b148, 0x0140005f}, 
    2396 +       {0x0000b14c, 0x0160015f}, 
    2397 +       {0x0000b150, 0x017e017f}, 
    2398 +       {0x0000b154, 0x02410242}, 
    2399 +       {0x0000b158, 0x025f0240}, 
    2400 +       {0x0000b15c, 0x027f0260}, 
    2401 +       {0x0000b160, 0x0341027e}, 
    2402 +       {0x0000b164, 0x035f0340}, 
    2403 +       {0x0000b168, 0x037f0360}, 
    2404 +       {0x0000b16c, 0x04400441}, 
    2405 +       {0x0000b170, 0x0460045f}, 
    2406 +       {0x0000b174, 0x0541047f}, 
    2407 +       {0x0000b178, 0x055f0540}, 
    2408 +       {0x0000b17c, 0x057f0560}, 
    2409 +       {0x0000b180, 0x06400641}, 
    2410 +       {0x0000b184, 0x0660065f}, 
    2411 +       {0x0000b188, 0x067e067f}, 
    2412 +       {0x0000b18c, 0x07410742}, 
    2413 +       {0x0000b190, 0x075f0740}, 
    2414 +       {0x0000b194, 0x077f0760}, 
    2415 +       {0x0000b198, 0x07800781}, 
    2416 +       {0x0000b19c, 0x07a0079f}, 
    2417 +       {0x0000b1a0, 0x07c107bf}, 
    2418 +       {0x0000b1a4, 0x000007c0}, 
    2419 +       {0x0000b1a8, 0x00000000}, 
    2420 +       {0x0000b1ac, 0x00000000}, 
    2421 +       {0x0000b1b0, 0x00000000}, 
    2422 +       {0x0000b1b4, 0x00000000}, 
    2423 +       {0x0000b1b8, 0x00000000}, 
    2424 +       {0x0000b1bc, 0x00000000}, 
    2425 +       {0x0000b1c0, 0x00000000}, 
    2426 +       {0x0000b1c4, 0x00000000}, 
    2427 +       {0x0000b1c8, 0x00000000}, 
    2428 +       {0x0000b1cc, 0x00000000}, 
    2429 +       {0x0000b1d0, 0x00000000}, 
    2430 +       {0x0000b1d4, 0x00000000}, 
    2431 +       {0x0000b1d8, 0x00000000}, 
    2432 +       {0x0000b1dc, 0x00000000}, 
    2433 +       {0x0000b1e0, 0x00000000}, 
    2434 +       {0x0000b1e4, 0x00000000}, 
    2435 +       {0x0000b1e8, 0x00000000}, 
    2436 +       {0x0000b1ec, 0x00000000}, 
    2437 +       {0x0000b1f0, 0x00000396}, 
    2438 +       {0x0000b1f4, 0x00000396}, 
    2439 +       {0x0000b1f8, 0x00000396}, 
    2440 +       {0x0000b1fc, 0x00000196}, 
    2441 +}; 
    2442 + 
    2443 +static const u32 ar9462_modes_high_ob_db_tx_gain_table_1p0[][5] = { 
    2444 +       /* Addr      5G_HT20     5G_HT40     2G_HT40     2G_HT20   */ 
    2445 +       {0x0000a2dc, 0x01feee00, 0x01feee00, 0x03aaa352, 0x03aaa352}, 
    2446 +       {0x0000a2e0, 0x0000f000, 0x0000f000, 0x03ccc584, 0x03ccc584}, 
    2447 +       {0x0000a2e4, 0x01ff0000, 0x01ff0000, 0x03f0f800, 0x03f0f800}, 
    2448 +       {0x0000a2e8, 0x00000000, 0x00000000, 0x03ff0000, 0x03ff0000}, 
    2449 +       {0x0000a410, 0x000050d9, 0x000050d9, 0x000050d9, 0x000050d9}, 
    2450 +       {0x0000a500, 0x00002220, 0x00002220, 0x00000000, 0x00000000}, 
    2451 +       {0x0000a504, 0x06002223, 0x06002223, 0x04000002, 0x04000002}, 
    2452 +       {0x0000a508, 0x0a022220, 0x0a022220, 0x08000004, 0x08000004}, 
    2453 +       {0x0000a50c, 0x0f022223, 0x0f022223, 0x0b000200, 0x0b000200}, 
    2454 +       {0x0000a510, 0x14022620, 0x14022620, 0x0f000202, 0x0f000202}, 
    2455 +       {0x0000a514, 0x18022622, 0x18022622, 0x11000400, 0x11000400}, 
    2456 +       {0x0000a518, 0x1b022822, 0x1b022822, 0x15000402, 0x15000402}, 
    2457 +       {0x0000a51c, 0x20022842, 0x20022842, 0x19000404, 0x19000404}, 
    2458 +       {0x0000a520, 0x22022c41, 0x22022c41, 0x1b000603, 0x1b000603}, 
    2459 +       {0x0000a524, 0x28023042, 0x28023042, 0x1f000a02, 0x1f000a02}, 
    2460 +       {0x0000a528, 0x2c023044, 0x2c023044, 0x23000a04, 0x23000a04}, 
    2461 +       {0x0000a52c, 0x2f023644, 0x2f023644, 0x26000a20, 0x26000a20}, 
    2462 +       {0x0000a530, 0x34025643, 0x34025643, 0x2a000e20, 0x2a000e20}, 
    2463 +       {0x0000a534, 0x38025a44, 0x38025a44, 0x2e000e22, 0x2e000e22}, 
    2464 +       {0x0000a538, 0x3b025e45, 0x3b025e45, 0x31000e24, 0x31000e24}, 
    2465 +       {0x0000a53c, 0x41025e4a, 0x41025e4a, 0x34001640, 0x34001640}, 
    2466 +       {0x0000a540, 0x48025e6c, 0x48025e6c, 0x38001660, 0x38001660}, 
    2467 +       {0x0000a544, 0x4e025e8e, 0x4e025e8e, 0x3b001861, 0x3b001861}, 
    2468 +       {0x0000a548, 0x53025eb2, 0x53025eb2, 0x3e001a81, 0x3e001a81}, 
    2469 +       {0x0000a54c, 0x59025eb2, 0x59025eb2, 0x42001a83, 0x42001a83}, 
    2470 +       {0x0000a550, 0x5f025ef6, 0x5f025ef6, 0x44001c84, 0x44001c84}, 
    2471 +       {0x0000a554, 0x62025f56, 0x62025f56, 0x48001ce3, 0x48001ce3}, 
    2472 +       {0x0000a558, 0x66027f56, 0x66027f56, 0x4c001ce5, 0x4c001ce5}, 
    2473 +       {0x0000a55c, 0x6a029f56, 0x6a029f56, 0x50001ce9, 0x50001ce9}, 
    2474 +       {0x0000a560, 0x70049f56, 0x70049f56, 0x54001ceb, 0x54001ceb}, 
    2475 +       {0x0000a564, 0x7504ff56, 0x7504ff56, 0x56001eec, 0x56001eec}, 
    2476 +       {0x0000a568, 0x7504ff56, 0x7504ff56, 0x56001eec, 0x56001eec}, 
    2477 +       {0x0000a56c, 0x7504ff56, 0x7504ff56, 0x56001eec, 0x56001eec}, 
    2478 +       {0x0000a570, 0x7504ff56, 0x7504ff56, 0x56001eec, 0x56001eec}, 
    2479 +       {0x0000a574, 0x7504ff56, 0x7504ff56, 0x56001eec, 0x56001eec}, 
    2480 +       {0x0000a578, 0x7504ff56, 0x7504ff56, 0x56001eec, 0x56001eec}, 
    2481 +       {0x0000a57c, 0x7504ff56, 0x7504ff56, 0x56001eec, 0x56001eec}, 
    2482 +       {0x0000a600, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, 
    2483 +       {0x0000a604, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, 
    2484 +       {0x0000a608, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, 
    2485 +       {0x0000a60c, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, 
    2486 +       {0x0000a610, 0x00804000, 0x00804000, 0x00000000, 0x00000000}, 
    2487 +       {0x0000a614, 0x00804201, 0x00804201, 0x01404000, 0x01404000}, 
    2488 +       {0x0000a618, 0x0280c802, 0x0280c802, 0x01404501, 0x01404501}, 
    2489 +       {0x0000a61c, 0x0280ca03, 0x0280ca03, 0x02008501, 0x02008501}, 
    2490 +       {0x0000a620, 0x04c15104, 0x04c15104, 0x0280ca03, 0x0280ca03}, 
    2491 +       {0x0000a624, 0x04c15305, 0x04c15305, 0x03010c04, 0x03010c04}, 
    2492 +       {0x0000a628, 0x04c15305, 0x04c15305, 0x04014c04, 0x04014c04}, 
    2493 +       {0x0000a62c, 0x04c15305, 0x04c15305, 0x04015005, 0x04015005}, 
    2494 +       {0x0000a630, 0x04c15305, 0x04c15305, 0x04015005, 0x04015005}, 
    2495 +       {0x0000a634, 0x04c15305, 0x04c15305, 0x04015005, 0x04015005}, 
    2496 +       {0x0000a638, 0x04c15305, 0x04c15305, 0x04015005, 0x04015005}, 
    2497 +       {0x0000a63c, 0x04c15305, 0x04c15305, 0x04015005, 0x04015005}, 
    2498 +       {0x0000b2dc, 0x01feee00, 0x01feee00, 0x03aaa352, 0x03aaa352}, 
    2499 +       {0x0000b2e0, 0x0000f000, 0x0000f000, 0x03ccc584, 0x03ccc584}, 
    2500 +       {0x0000b2e4, 0x01ff0000, 0x01ff0000, 0x03f0f800, 0x03f0f800}, 
    2501 +       {0x0000b2e8, 0x00000000, 0x00000000, 0x03ff0000, 0x03ff0000}, 
    2502 +       {0x00016044, 0x056d82e4, 0x056d82e4, 0x056d82e4, 0x056d82e4}, 
    2503 +       {0x00016048, 0x8db49060, 0x8db49060, 0x8db49060, 0x8db49060}, 
    2504 +       {0x00016444, 0x056d82e4, 0x056d82e4, 0x056d82e4, 0x056d82e4}, 
    2505 +       {0x00016448, 0x8db49000, 0x8db49000, 0x8db49000, 0x8db49000}, 
    2506 +}; 
    2507 + 
    2508 +static const u32 ar9462_common_wo_xlna_rx_gain_table_1p0[][2] = { 
    2509 +       /* Addr      allmodes  */ 
    2510 +       {0x0000a000, 0x00010000}, 
    2511 +       {0x0000a004, 0x00030002}, 
    2512 +       {0x0000a008, 0x00050004}, 
    2513 +       {0x0000a00c, 0x00810080}, 
    2514 +       {0x0000a010, 0x00830082}, 
    2515 +       {0x0000a014, 0x01810180}, 
    2516 +       {0x0000a018, 0x01830182}, 
    2517 +       {0x0000a01c, 0x01850184}, 
    2518 +       {0x0000a020, 0x01890188}, 
    2519 +       {0x0000a024, 0x018b018a}, 
    2520 +       {0x0000a028, 0x018d018c}, 
    2521 +       {0x0000a02c, 0x03820190}, 
    2522 +       {0x0000a030, 0x03840383}, 
    2523 +       {0x0000a034, 0x03880385}, 
    2524 +       {0x0000a038, 0x038a0389}, 
    2525 +       {0x0000a03c, 0x038c038b}, 
    2526 +       {0x0000a040, 0x0390038d}, 
    2527 +       {0x0000a044, 0x03920391}, 
    2528 +       {0x0000a048, 0x03940393}, 
    2529 +       {0x0000a04c, 0x03960395}, 
    2530 +       {0x0000a050, 0x00000000}, 
    2531 +       {0x0000a054, 0x00000000}, 
    2532 +       {0x0000a058, 0x00000000}, 
    2533 +       {0x0000a05c, 0x00000000}, 
    2534 +       {0x0000a060, 0x00000000}, 
    2535 +       {0x0000a064, 0x00000000}, 
    2536 +       {0x0000a068, 0x00000000}, 
    2537 +       {0x0000a06c, 0x00000000}, 
    2538 +       {0x0000a070, 0x00000000}, 
    2539 +       {0x0000a074, 0x00000000}, 
    2540 +       {0x0000a078, 0x00000000}, 
    2541 +       {0x0000a07c, 0x00000000}, 
    2542 +       {0x0000a080, 0x29292929}, 
    2543 +       {0x0000a084, 0x29292929}, 
    2544 +       {0x0000a088, 0x29292929}, 
    2545 +       {0x0000a08c, 0x29292929}, 
    2546 +       {0x0000a090, 0x22292929}, 
    2547 +       {0x0000a094, 0x1d1d2222}, 
    2548 +       {0x0000a098, 0x0c111117}, 
    2549 +       {0x0000a09c, 0x00030303}, 
    2550 +       {0x0000a0a0, 0x00000000}, 
    2551 +       {0x0000a0a4, 0x00000000}, 
    2552 +       {0x0000a0a8, 0x00000000}, 
    2553 +       {0x0000a0ac, 0x00000000}, 
    2554 +       {0x0000a0b0, 0x00000000}, 
    2555 +       {0x0000a0b4, 0x00000000}, 
    2556 +       {0x0000a0b8, 0x00000000}, 
    2557 +       {0x0000a0bc, 0x00000000}, 
    2558 +       {0x0000a0c0, 0x001f0000}, 
    2559 +       {0x0000a0c4, 0x01000101}, 
    2560 +       {0x0000a0c8, 0x011e011f}, 
    2561 +       {0x0000a0cc, 0x011c011d}, 
    2562 +       {0x0000a0d0, 0x02030204}, 
    2563 +       {0x0000a0d4, 0x02010202}, 
    2564 +       {0x0000a0d8, 0x021f0200}, 
    2565 +       {0x0000a0dc, 0x0302021e}, 
    2566 +       {0x0000a0e0, 0x03000301}, 
    2567 +       {0x0000a0e4, 0x031e031f}, 
    2568 +       {0x0000a0e8, 0x0402031d}, 
    2569 +       {0x0000a0ec, 0x04000401}, 
    2570 +       {0x0000a0f0, 0x041e041f}, 
    2571 +       {0x0000a0f4, 0x0502041d}, 
    2572 +       {0x0000a0f8, 0x05000501}, 
    2573 +       {0x0000a0fc, 0x051e051f}, 
    2574 +       {0x0000a100, 0x06010602}, 
    2575 +       {0x0000a104, 0x061f0600}, 
    2576 +       {0x0000a108, 0x061d061e}, 
    2577 +       {0x0000a10c, 0x07020703}, 
    2578 +       {0x0000a110, 0x07000701}, 
    2579 +       {0x0000a114, 0x00000000}, 
    2580 +       {0x0000a118, 0x00000000}, 
    2581 +       {0x0000a11c, 0x00000000}, 
    2582 +       {0x0000a120, 0x00000000}, 
    2583 +       {0x0000a124, 0x00000000}, 
    2584 +       {0x0000a128, 0x00000000}, 
    2585 +       {0x0000a12c, 0x00000000}, 
    2586 +       {0x0000a130, 0x00000000}, 
    2587 +       {0x0000a134, 0x00000000}, 
    2588 +       {0x0000a138, 0x00000000}, 
    2589 +       {0x0000a13c, 0x00000000}, 
    2590 +       {0x0000a140, 0x001f0000}, 
    2591 +       {0x0000a144, 0x01000101}, 
    2592 +       {0x0000a148, 0x011e011f}, 
    2593 +       {0x0000a14c, 0x011c011d}, 
    2594 +       {0x0000a150, 0x02030204}, 
    2595 +       {0x0000a154, 0x02010202}, 
    2596 +       {0x0000a158, 0x021f0200}, 
    2597 +       {0x0000a15c, 0x0302021e}, 
    2598 +       {0x0000a160, 0x03000301}, 
    2599 +       {0x0000a164, 0x031e031f}, 
    2600 +       {0x0000a168, 0x0402031d}, 
    2601 +       {0x0000a16c, 0x04000401}, 
    2602 +       {0x0000a170, 0x041e041f}, 
    2603 +       {0x0000a174, 0x0502041d}, 
    2604 +       {0x0000a178, 0x05000501}, 
    2605 +       {0x0000a17c, 0x051e051f}, 
    2606 +       {0x0000a180, 0x06010602}, 
    2607 +       {0x0000a184, 0x061f0600}, 
    2608 +       {0x0000a188, 0x061d061e}, 
    2609 +       {0x0000a18c, 0x07020703}, 
    2610 +       {0x0000a190, 0x07000701}, 
    2611 +       {0x0000a194, 0x00000000}, 
    2612 +       {0x0000a198, 0x00000000}, 
    2613 +       {0x0000a19c, 0x00000000}, 
    2614 +       {0x0000a1a0, 0x00000000}, 
    2615 +       {0x0000a1a4, 0x00000000}, 
    2616 +       {0x0000a1a8, 0x00000000}, 
    2617 +       {0x0000a1ac, 0x00000000}, 
    2618 +       {0x0000a1b0, 0x00000000}, 
    2619 +       {0x0000a1b4, 0x00000000}, 
    2620 +       {0x0000a1b8, 0x00000000}, 
    2621 +       {0x0000a1bc, 0x00000000}, 
    2622 +       {0x0000a1c0, 0x00000000}, 
    2623 +       {0x0000a1c4, 0x00000000}, 
    2624 +       {0x0000a1c8, 0x00000000}, 
    2625 +       {0x0000a1cc, 0x00000000}, 
    2626 +       {0x0000a1d0, 0x00000000}, 
    2627 +       {0x0000a1d4, 0x00000000}, 
    2628 +       {0x0000a1d8, 0x00000000}, 
    2629 +       {0x0000a1dc, 0x00000000}, 
    2630 +       {0x0000a1e0, 0x00000000}, 
    2631 +       {0x0000a1e4, 0x00000000}, 
    2632 +       {0x0000a1e8, 0x00000000}, 
    2633 +       {0x0000a1ec, 0x00000000}, 
    2634 +       {0x0000a1f0, 0x00000396}, 
    2635 +       {0x0000a1f4, 0x00000396}, 
    2636 +       {0x0000a1f8, 0x00000396}, 
    2637 +       {0x0000a1fc, 0x00000196}, 
    2638 +       {0x0000b000, 0x00010000}, 
    2639 +       {0x0000b004, 0x00030002}, 
    2640 +       {0x0000b008, 0x00050004}, 
    2641 +       {0x0000b00c, 0x00810080}, 
    2642 +       {0x0000b010, 0x00830082}, 
    2643 +       {0x0000b014, 0x01810180}, 
    2644 +       {0x0000b018, 0x01830182}, 
    2645 +       {0x0000b01c, 0x01850184}, 
    2646 +       {0x0000b020, 0x02810280}, 
    2647 +       {0x0000b024, 0x02830282}, 
    2648 +       {0x0000b028, 0x02850284}, 
    2649 +       {0x0000b02c, 0x02890288}, 
    2650 +       {0x0000b030, 0x028b028a}, 
    2651 +       {0x0000b034, 0x0388028c}, 
    2652 +       {0x0000b038, 0x038a0389}, 
    2653 +       {0x0000b03c, 0x038c038b}, 
    2654 +       {0x0000b040, 0x0390038d}, 
    2655 +       {0x0000b044, 0x03920391}, 
    2656 +       {0x0000b048, 0x03940393}, 
    2657 +       {0x0000b04c, 0x03960395}, 
    2658 +       {0x0000b050, 0x00000000}, 
    2659 +       {0x0000b054, 0x00000000}, 
    2660 +       {0x0000b058, 0x00000000}, 
    2661 +       {0x0000b05c, 0x00000000}, 
    2662 +       {0x0000b060, 0x00000000}, 
    2663 +       {0x0000b064, 0x00000000}, 
    2664 +       {0x0000b068, 0x00000000}, 
    2665 +       {0x0000b06c, 0x00000000}, 
    2666 +       {0x0000b070, 0x00000000}, 
    2667 +       {0x0000b074, 0x00000000}, 
    2668 +       {0x0000b078, 0x00000000}, 
    2669 +       {0x0000b07c, 0x00000000}, 
    2670 +       {0x0000b080, 0x32323232}, 
    2671 +       {0x0000b084, 0x2f2f3232}, 
    2672 +       {0x0000b088, 0x23282a2d}, 
    2673 +       {0x0000b08c, 0x1c1e2123}, 
    2674 +       {0x0000b090, 0x14171919}, 
    2675 +       {0x0000b094, 0x0e0e1214}, 
    2676 +       {0x0000b098, 0x03050707}, 
    2677 +       {0x0000b09c, 0x00030303}, 
    2678 +       {0x0000b0a0, 0x00000000}, 
    2679 +       {0x0000b0a4, 0x00000000}, 
    2680 +       {0x0000b0a8, 0x00000000}, 
    2681 +       {0x0000b0ac, 0x00000000}, 
    2682 +       {0x0000b0b0, 0x00000000}, 
    2683 +       {0x0000b0b4, 0x00000000}, 
    2684 +       {0x0000b0b8, 0x00000000}, 
    2685 +       {0x0000b0bc, 0x00000000}, 
    2686 +       {0x0000b0c0, 0x003f0020}, 
    2687 +       {0x0000b0c4, 0x00400041}, 
    2688 +       {0x0000b0c8, 0x0140005f}, 
    2689 +       {0x0000b0cc, 0x0160015f}, 
    2690 +       {0x0000b0d0, 0x017e017f}, 
    2691 +       {0x0000b0d4, 0x02410242}, 
    2692 +       {0x0000b0d8, 0x025f0240}, 
    2693 +       {0x0000b0dc, 0x027f0260}, 
    2694 +       {0x0000b0e0, 0x0341027e}, 
    2695 +       {0x0000b0e4, 0x035f0340}, 
    2696 +       {0x0000b0e8, 0x037f0360}, 
    2697 +       {0x0000b0ec, 0x04400441}, 
    2698 +       {0x0000b0f0, 0x0460045f}, 
    2699 +       {0x0000b0f4, 0x0541047f}, 
    2700 +       {0x0000b0f8, 0x055f0540}, 
    2701 +       {0x0000b0fc, 0x057f0560}, 
    2702 +       {0x0000b100, 0x06400641}, 
    2703 +       {0x0000b104, 0x0660065f}, 
    2704 +       {0x0000b108, 0x067e067f}, 
    2705 +       {0x0000b10c, 0x07410742}, 
    2706 +       {0x0000b110, 0x075f0740}, 
    2707 +       {0x0000b114, 0x077f0760}, 
    2708 +       {0x0000b118, 0x07800781}, 
    2709 +       {0x0000b11c, 0x07a0079f}, 
    2710 +       {0x0000b120, 0x07c107bf}, 
    2711 +       {0x0000b124, 0x000007c0}, 
    2712 +       {0x0000b128, 0x00000000}, 
    2713 +       {0x0000b12c, 0x00000000}, 
    2714 +       {0x0000b130, 0x00000000}, 
    2715 +       {0x0000b134, 0x00000000}, 
    2716 +       {0x0000b138, 0x00000000}, 
    2717 +       {0x0000b13c, 0x00000000}, 
    2718 +       {0x0000b140, 0x003f0020}, 
    2719 +       {0x0000b144, 0x00400041}, 
    2720 +       {0x0000b148, 0x0140005f}, 
    2721 +       {0x0000b14c, 0x0160015f}, 
    2722 +       {0x0000b150, 0x017e017f}, 
    2723 +       {0x0000b154, 0x02410242}, 
    2724 +       {0x0000b158, 0x025f0240}, 
    2725 +       {0x0000b15c, 0x027f0260}, 
    2726 +       {0x0000b160, 0x0341027e}, 
    2727 +       {0x0000b164, 0x035f0340}, 
    2728 +       {0x0000b168, 0x037f0360}, 
    2729 +       {0x0000b16c, 0x04400441}, 
    2730 +       {0x0000b170, 0x0460045f}, 
    2731 +       {0x0000b174, 0x0541047f}, 
    2732 +       {0x0000b178, 0x055f0540}, 
    2733 +       {0x0000b17c, 0x057f0560}, 
    2734 +       {0x0000b180, 0x06400641}, 
    2735 +       {0x0000b184, 0x0660065f}, 
    2736 +       {0x0000b188, 0x067e067f}, 
    2737 +       {0x0000b18c, 0x07410742}, 
    2738 +       {0x0000b190, 0x075f0740}, 
    2739 +       {0x0000b194, 0x077f0760}, 
    2740 +       {0x0000b198, 0x07800781}, 
    2741 +       {0x0000b19c, 0x07a0079f}, 
    2742 +       {0x0000b1a0, 0x07c107bf}, 
    2743 +       {0x0000b1a4, 0x000007c0}, 
    2744 +       {0x0000b1a8, 0x00000000}, 
    2745 +       {0x0000b1ac, 0x00000000}, 
    2746 +       {0x0000b1b0, 0x00000000}, 
    2747 +       {0x0000b1b4, 0x00000000}, 
    2748 +       {0x0000b1b8, 0x00000000}, 
    2749 +       {0x0000b1bc, 0x00000000}, 
    2750 +       {0x0000b1c0, 0x00000000}, 
    2751 +       {0x0000b1c4, 0x00000000}, 
    2752 +       {0x0000b1c8, 0x00000000}, 
    2753 +       {0x0000b1cc, 0x00000000}, 
    2754 +       {0x0000b1d0, 0x00000000}, 
    2755 +       {0x0000b1d4, 0x00000000}, 
    2756 +       {0x0000b1d8, 0x00000000}, 
    2757 +       {0x0000b1dc, 0x00000000}, 
    2758 +       {0x0000b1e0, 0x00000000}, 
    2759 +       {0x0000b1e4, 0x00000000}, 
    2760 +       {0x0000b1e8, 0x00000000}, 
    2761 +       {0x0000b1ec, 0x00000000}, 
    2762 +       {0x0000b1f0, 0x00000396}, 
    2763 +       {0x0000b1f4, 0x00000396}, 
    2764 +       {0x0000b1f8, 0x00000396}, 
    2765 +       {0x0000b1fc, 0x00000196}, 
    2766 +}; 
    2767 + 
    2768 +static const u32 ar9462_1p0_mac_postamble[][5] = { 
    2769 +       /* Addr      5G_HT20     5G_HT40     2G_HT40     2G_HT20   */ 
    2770 +       {0x00001030, 0x00000230, 0x00000460, 0x000002c0, 0x00000160}, 
    2771 +       {0x00001070, 0x00000168, 0x000002d0, 0x00000318, 0x0000018c}, 
    2772 +       {0x000010b0, 0x00000e60, 0x00001cc0, 0x00007c70, 0x00003e38}, 
    2773 +       {0x00008014, 0x03e803e8, 0x07d007d0, 0x10801600, 0x08400b00}, 
    2774 +       {0x0000801c, 0x128d8027, 0x128d804f, 0x12e00057, 0x12e0002b}, 
    2775 +       {0x00008120, 0x08f04800, 0x08f04800, 0x08f04810, 0x08f04810}, 
    2776 +       {0x000081d0, 0x00003210, 0x00003210, 0x0000320a, 0x0000320a}, 
    2777 +       {0x00008318, 0x00003e80, 0x00007d00, 0x00006880, 0x00003440}, 
    2778 +}; 
    2779 + 
    2780 +static const u32 ar9462_1p0_mac_postamble_emulation[][5] = { 
    2781 +       /* Addr      5G_HT20     5G_HT40     2G_HT40     2G_HT20   */ 
    2782 +       {0x00008014, 0x10f810f8, 0x10f810f8, 0x10f810f8, 0x10f810f8}, 
    2783 +       {0x0000801c, 0x0e8d8017, 0x0e8d8017, 0x0e8d8017, 0x0e8d8017}, 
    2784 +}; 
    2785 + 
    2786 +static const u32 ar9462_1p0_tx_gain_table_baseband_postamble_emulation[][5] = { 
    2787 +       /* Addr      5G_HT20     5G_HT40     2G_HT40     2G_HT20   */ 
    2788 +       {0x0000a410, 0x000000d5, 0x000000d5, 0x000000d5, 0x000000d5}, 
    2789 +       {0x0000a500, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, 
    2790 +       {0x0000a504, 0x00004002, 0x00004002, 0x00004002, 0x00004002}, 
    2791 +       {0x0000a508, 0x00008004, 0x00008004, 0x00008004, 0x00008004}, 
    2792 +       {0x0000a510, 0x0001000c, 0x0001000c, 0x0001000c, 0x0001000c}, 
    2793 +       {0x0000a514, 0x0001420b, 0x0001420b, 0x0001420b, 0x0001420b}, 
    2794 +       {0x0000a518, 0x0001824a, 0x0001824a, 0x0001824a, 0x0001824a}, 
    2795 +       {0x0000a51c, 0x0001c44a, 0x0001c44a, 0x0001c44a, 0x0001c44a}, 
    2796 +       {0x0000a520, 0x0002064a, 0x0002064a, 0x0002064a, 0x0002064a}, 
    2797 +       {0x0000a524, 0x0002484a, 0x0002484a, 0x0002484a, 0x0002484a}, 
    2798 +       {0x0000a528, 0x00028a4a, 0x00028a4a, 0x00028a4a, 0x00028a4a}, 
    2799 +       {0x0000a52c, 0x0002cc4a, 0x0002cc4a, 0x0002cc4a, 0x0002cc4a}, 
    2800 +       {0x0000a530, 0x00030e4a, 0x00030e4a, 0x00030e4a, 0x00030e4a}, 
    2801 +       {0x0000a534, 0x00034e8a, 0x00034e8a, 0x00034e8a, 0x00034e8a}, 
    2802 +}; 
    2803 + 
    2804 +static const u32 ar9462_1p0_radio_postamble[][5] = { 
    2805 +       /* Addr      5G_HT20     5G_HT40     2G_HT40     2G_HT20   */ 
    2806 +       {0x0001609c, 0x0b8ee524, 0x0b8ee524, 0x0b8ee524, 0x0b8ee524}, 
    2807 +       {0x000160ac, 0xa4646c08, 0xa4646c08, 0x24646c08, 0x24646c08}, 
    2808 +       {0x000160b0, 0x01d67f70, 0x01d67f70, 0x01d67f70, 0x01d67f70}, 
    2809 +       {0x0001610c, 0x48000000, 0x40000000, 0x40000000, 0x40000000}, 
    2810 +       {0x00016140, 0x10804008, 0x10804008, 0x50804008, 0x50804008}, 
    2811 +       {0x0001650c, 0x48000000, 0x40000000, 0x40000000, 0x40000000}, 
    2812 +       {0x00016540, 0x10804008, 0x10804008, 0x50804008, 0x50804008}, 
    2813 +}; 
    2814 + 
    2815 +static const u32 ar9462_1p0_soc_postamble_emulation[][5] = { 
    2816 +       /* Addr      5G_HT20     5G_HT40     2G_HT40     2G_HT20   */ 
    2817 +       {0x00007010, 0x00001133, 0x00001133, 0x00001133, 0x00001133}, 
    2818 +}; 
    2819 + 
    2820 +static const u32 ar9462_1p0_baseband_core[][2] = { 
    2821 +       /* Addr      allmodes  */ 
    2822 +       {0x00009800, 0xafe68e30}, 
    2823 +       {0x00009804, 0xfd14e000}, 
    2824 +       {0x00009808, 0x9c0a9f6b}, 
    2825 +       {0x0000980c, 0x04900000}, 
    2826 +       {0x00009814, 0x9280c00a}, 
    2827 +       {0x00009818, 0x00000000}, 
    2828 +       {0x0000981c, 0x00020028}, 
    2829 +       {0x00009834, 0x6400a290}, 
    2830 +       {0x00009838, 0x0108ecff}, 
    2831 +       {0x0000983c, 0x0d000600}, 
    2832 +       {0x00009880, 0x201fff00}, 
    2833 +       {0x00009884, 0x00001042}, 
    2834 +       {0x000098a4, 0x00200400}, 
    2835 +       {0x000098b0, 0x32840bbe}, 
    2836 +       {0x000098d0, 0x004b6a8e}, 
    2837 +       {0x000098d4, 0x00000820}, 
    2838 +       {0x000098dc, 0x00000000}, 
    2839 +       {0x000098e4, 0x01ffffff}, 
    2840 +       {0x000098e8, 0x01ffffff}, 
    2841 +       {0x000098ec, 0x01ffffff}, 
    2842 +       {0x000098f0, 0x00000000}, 
    2843 +       {0x000098f4, 0x00000000}, 
    2844 +       {0x00009c04, 0xff55ff55}, 
    2845 +       {0x00009c08, 0x0320ff55}, 
    2846 +       {0x00009c0c, 0x00000000}, 
    2847 +       {0x00009c10, 0x00000000}, 
    2848 +       {0x00009c14, 0x00046384}, 
    2849 +       {0x00009c18, 0x05b6b440}, 
    2850 +       {0x00009c1c, 0x00b6b440}, 
    2851 +       {0x00009d00, 0xc080a333}, 
    2852 +       {0x00009d04, 0x40206c10}, 
    2853 +       {0x00009d08, 0x009c4060}, 
    2854 +       {0x00009d0c, 0x9883800a}, 
    2855 +       {0x00009d10, 0x01834061}, 
    2856 +       {0x00009d14, 0x00c0040b}, 
    2857 +       {0x00009d18, 0x00000000}, 
    2858 +       {0x00009e08, 0x0038230c}, 
    2859 +       {0x00009e24, 0x990bb514}, 
    2860 +       {0x00009e28, 0x0c6f0000}, 
    2861 +       {0x00009e30, 0x06336f77}, 
    2862 +       {0x00009e34, 0x6af6532f}, 
    2863 +       {0x00009e38, 0x0cc80c00}, 
    2864 +       {0x00009e40, 0x0d261820}, 
    2865 +       {0x00009e4c, 0x00001004}, 
    2866 +       {0x00009e50, 0x00ff03f1}, 
    2867 +       {0x00009e54, 0x64c355c7}, 
    2868 +       {0x00009e58, 0xfd897735}, 
    2869 +       {0x00009e5c, 0xe9198724}, 
    2870 +       {0x00009fc0, 0x803e4788}, 
    2871 +       {0x00009fc4, 0x0001efb5}, 
    2872 +       {0x00009fcc, 0x40000014}, 
    2873 +       {0x00009fd0, 0x01193b93}, 
    2874 +       {0x0000a20c, 0x00000000}, 
    2875 +       {0x0000a220, 0x00000000}, 
    2876 +       {0x0000a224, 0x00000000}, 
    2877 +       {0x0000a228, 0x10002310}, 
    2878 +       {0x0000a23c, 0x00000000}, 
    2879 +       {0x0000a244, 0x0c000000}, 
    2880 +       {0x0000a2a0, 0x00000001}, 
    2881 +       {0x0000a2c0, 0x00000001}, 
    2882 +       {0x0000a2c8, 0x00000000}, 
    2883 +       {0x0000a2cc, 0x18c43433}, 
    2884 +       {0x0000a2d4, 0x00000000}, 
    2885 +       {0x0000a2ec, 0x00000000}, 
    2886 +       {0x0000a2f0, 0x00000000}, 
    2887 +       {0x0000a2f4, 0x00000000}, 
    2888 +       {0x0000a2f8, 0x00000000}, 
    2889 +       {0x0000a344, 0x00000000}, 
    2890 +       {0x0000a34c, 0x00000000}, 
    2891 +       {0x0000a350, 0x0000a000}, 
    2892 +       {0x0000a364, 0x00000000}, 
    2893 +       {0x0000a370, 0x00000000}, 
    2894 +       {0x0000a390, 0x00000001}, 
    2895 +       {0x0000a394, 0x00000444}, 
    2896 +       {0x0000a398, 0x001f0e0f}, 
    2897 +       {0x0000a39c, 0x0075393f}, 
    2898 +       {0x0000a3a0, 0xb79f6427}, 
    2899 +       {0x0000a3a4, 0x00000000}, 
    2900 +       {0x0000a3a8, 0xaaaaaaaa}, 
    2901 +       {0x0000a3ac, 0x3c466478}, 
    2902 +       {0x0000a3c0, 0x20202020}, 
    2903 +       {0x0000a3c4, 0x22222220}, 
    2904 +       {0x0000a3c8, 0x20200020}, 
    2905 +       {0x0000a3cc, 0x20202020}, 
    2906 +       {0x0000a3d0, 0x20202020}, 
    2907 +       {0x0000a3d4, 0x20202020}, 
    2908 +       {0x0000a3d8, 0x20202020}, 
    2909 +       {0x0000a3dc, 0x20202020}, 
    2910 +       {0x0000a3e0, 0x20202020}, 
    2911 +       {0x0000a3e4, 0x20202020}, 
    2912 +       {0x0000a3e8, 0x20202020}, 
    2913 +       {0x0000a3ec, 0x20202020}, 
    2914 +       {0x0000a3f0, 0x00000000}, 
    2915 +       {0x0000a3f4, 0x00000006}, 
    2916 +       {0x0000a3f8, 0x0c9bd380}, 
    2917 +       {0x0000a3fc, 0x000f0f01}, 
    2918 +       {0x0000a400, 0x8fa91f01}, 
    2919 +       {0x0000a404, 0x00000000}, 
    2920 +       {0x0000a408, 0x0e79e5c6}, 
    2921 +       {0x0000a40c, 0x00820820}, 
    2922 +       {0x0000a414, 0x1ce739ce}, 
    2923 +       {0x0000a418, 0x2d001dce}, 
    2924 +       {0x0000a41c, 0x1ce739ce}, 
    2925 +       {0x0000a420, 0x000001ce}, 
    2926 +       {0x0000a424, 0x1ce739ce}, 
    2927 +       {0x0000a428, 0x000001ce}, 
    2928 +       {0x0000a42c, 0x1ce739ce}, 
    2929 +       {0x0000a430, 0x1ce739ce}, 
    2930 +       {0x0000a434, 0x00000000}, 
    2931 +       {0x0000a438, 0x00001801}, 
    2932 +       {0x0000a43c, 0x00100000}, 
    2933 +       {0x0000a440, 0x00000000}, 
    2934 +       {0x0000a444, 0x00000000}, 
    2935 +       {0x0000a448, 0x05000080}, 
    2936 +       {0x0000a44c, 0x00000001}, 
    2937 +       {0x0000a450, 0x00010000}, 
    2938 +       {0x0000a458, 0x00000000}, 
    2939 +       {0x0000a644, 0xbfad9d74}, 
    2940 +       {0x0000a648, 0x0048060a}, 
    2941 +       {0x0000a64c, 0x00003c37}, 
    2942 +       {0x0000a670, 0x03020100}, 
    2943 +       {0x0000a674, 0x09080504}, 
    2944 +       {0x0000a678, 0x0d0c0b0a}, 
    2945 +       {0x0000a67c, 0x13121110}, 
    2946 +       {0x0000a680, 0x31301514}, 
    2947 +       {0x0000a684, 0x35343332}, 
    2948 +       {0x0000a688, 0x00000036}, 
    2949 +       {0x0000a690, 0x00000838}, 
    2950 +       {0x0000a6b0, 0x0000000a}, 
    2951 +       {0x0000a6b4, 0x28f12c01}, 
    2952 +       {0x0000a7c0, 0x00000000}, 
    2953 +       {0x0000a7c4, 0xfffffffc}, 
    2954 +       {0x0000a7c8, 0x00000000}, 
    2955 +       {0x0000a7cc, 0x00000000}, 
    2956 +       {0x0000a7d0, 0x00000000}, 
    2957 +       {0x0000a7d4, 0x00000004}, 
    2958 +       {0x0000a7dc, 0x00000001}, 
    2959 +       {0x0000a8d0, 0x004b6a8e}, 
    2960 +       {0x0000a8d4, 0x00000820}, 
    2961 +       {0x0000a8dc, 0x00000000}, 
    2962 +       {0x0000a8f0, 0x00000000}, 
    2963 +       {0x0000a8f4, 0x00000000}, 
    2964 +       {0x0000b2d0, 0x00000080}, 
    2965 +       {0x0000b2d4, 0x00000000}, 
    2966 +       {0x0000b2ec, 0x00000000}, 
    2967 +       {0x0000b2f0, 0x00000000}, 
    2968 +       {0x0000b2f4, 0x00000000}, 
    2969 +       {0x0000b2f8, 0x00000000}, 
    2970 +       {0x0000b408, 0x0e79e5c0}, 
    2971 +       {0x0000b40c, 0x00820820}, 
    2972 +       {0x0000b420, 0x00000000}, 
    2973 +       {0x0000b6b0, 0x0000000a}, 
    2974 +       {0x0000b6b4, 0x00c00001}, 
    2975 +}; 
    2976 + 
    2977 +static const u32 ar9462_1p0_baseband_postamble[][5] = { 
    2978 +       /* Addr      5G_HT20     5G_HT40     2G_HT40     2G_HT20   */ 
    2979 +       {0x00009810, 0xd00a8005, 0xd00a8005, 0xd00a8011, 0xd00a8011}, 
    2980 +       {0x00009820, 0x206a022e, 0x206a022e, 0x206a012e, 0x206a012e}, 
    2981 +       {0x00009824, 0x5ac640d0, 0x5ac640d0, 0x5ac640d0, 0x5ac640d0}, 
    2982 +       {0x00009828, 0x06903081, 0x06903081, 0x06903881, 0x06903881}, 
    2983 +       {0x0000982c, 0x05eea6d4, 0x05eea6d4, 0x05eea6d4, 0x05eea6d4}, 
    2984 +       {0x00009830, 0x0000059c, 0x0000059c, 0x0000119c, 0x0000119c}, 
    2985 +       {0x00009c00, 0x000000c4, 0x000000c4, 0x000000c4, 0x000000c4}, 
    2986 +       {0x00009e00, 0x0372111a, 0x0372111a, 0x037216a0, 0x037216a0}, 
    2987 +       {0x00009e04, 0x001c2020, 0x001c2020, 0x001c2020, 0x001c2020}, 
    2988 +       {0x00009e0c, 0x6c4000e2, 0x6d4000e2, 0x6d4000e2, 0x6c4000e2}, 
    2989 +       {0x00009e10, 0x7ec88d2e, 0x7ec88d2e, 0x7ec84d2e, 0x7ec84d2e}, 
    2990 +       {0x00009e14, 0x37b95d5e, 0x37b9605e, 0x3379605e, 0x33795d5e}, 
    2991 +       {0x00009e18, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, 
    2992 +       {0x00009e1c, 0x0001cf9c, 0x0001cf9c, 0x00021f9c, 0x00021f9c}, 
    2993 +       {0x00009e20, 0x000003b5, 0x000003b5, 0x000003ce, 0x000003ce}, 
    2994 +       {0x00009e2c, 0x0000001c, 0x0000001c, 0x00000021, 0x00000021}, 
    2995 +       {0x00009e3c, 0xcf946220, 0xcf946220, 0xcfd5c782, 0xcfd5c782}, 
    2996 +       {0x00009e44, 0x02321e27, 0x02321e27, 0x02291e27, 0x02291e27}, 
    2997 +       {0x00009e48, 0x5030201a, 0x5030201a, 0x50302012, 0x50302012}, 
    2998 +       {0x00009fc8, 0x0003f000, 0x0003f000, 0x0001a000, 0x0001a000}, 
    2999 +       {0x0000a204, 0x0131b7c0, 0x0131b7c4, 0x0131b7c4, 0x0131b7c0}, 
    3000 +       {0x0000a208, 0x00000104, 0x00000104, 0x00000004, 0x00000004}, 
    3001 +       {0x0000a22c, 0x01026a2f, 0x01026a27, 0x01026a2f, 0x01026a2f}, 
    3002 +       {0x0000a230, 0x0000400a, 0x00004014, 0x00004016, 0x0000400b}, 
    3003 +       {0x0000a234, 0x00000fff, 0x10000fff, 0x10000fff, 0x00000fff}, 
    3004 +       {0x0000a238, 0xffb81018, 0xffb81018, 0xffb81018, 0xffb81018}, 
    3005 +       {0x0000a250, 0x00000000, 0x00000000, 0x00000210, 0x00000108}, 
    3006 +       {0x0000a254, 0x000007d0, 0x00000fa0, 0x00001130, 0x00000898}, 
    3007 +       {0x0000a258, 0x02020002, 0x02020002, 0x02020002, 0x02020002}, 
    3008 +       {0x0000a25c, 0x01000e0e, 0x01000e0e, 0x01000e0e, 0x01000e0e}, 
    3009 +       {0x0000a260, 0x0a021501, 0x0a021501, 0x3a021501, 0x3a021501}, 
    3010 +       {0x0000a264, 0x00000e0e, 0x00000e0e, 0x00000e0e, 0x00000e0e}, 
    3011 +       {0x0000a280, 0x00000007, 0x00000007, 0x0000000b, 0x0000000b}, 
    3012 +       {0x0000a284, 0x00000000, 0x00000000, 0x00000150, 0x00000150}, 
    3013 +       {0x0000a288, 0x00000110, 0x00000110, 0x00100110, 0x00100110}, 
    3014 +       {0x0000a28c, 0x00022222, 0x00022222, 0x00022222, 0x00022222}, 
    3015 +       {0x0000a2c4, 0x00158d18, 0x00158d18, 0x00158d18, 0x00158d18}, 
    3016 +       {0x0000a2d0, 0x00041981, 0x00041981, 0x00041981, 0x00041982}, 
    3017 +       {0x0000a2d8, 0x7999a83b, 0x7999a83b, 0x7999a83b, 0x7999a83b}, 
    3018 +       {0x0000a358, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, 
    3019 +       {0x0000a830, 0x0000019c, 0x0000019c, 0x0000019c, 0x0000019c}, 
    3020 +       {0x0000ae04, 0x001c0000, 0x001c0000, 0x001c0000, 0x00100000}, 
    3021 +       {0x0000ae18, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, 
    3022 +       {0x0000ae1c, 0x0000019c, 0x0000019c, 0x0000019c, 0x0000019c}, 
    3023 +       {0x0000ae20, 0x000001b5, 0x000001b5, 0x000001ce, 0x000001ce}, 
    3024 +       {0x0000b284, 0x00000000, 0x00000000, 0x00000550, 0x00000550}, 
    3025 +}; 
    3026 + 
    3027 +static const u32 ar9462_modes_fast_clock_1p0[][3] = { 
    3028 +       /* Addr      5G_HT20     5G_HT40   */ 
    3029 +       {0x00001030, 0x00000268, 0x000004d0}, 
    3030 +       {0x00001070, 0x0000018c, 0x00000318}, 
    3031 +       {0x000010b0, 0x00000fd0, 0x00001fa0}, 
    3032 +       {0x00008014, 0x044c044c, 0x08980898}, 
    3033 +       {0x0000801c, 0x148ec02b, 0x148ec057}, 
    3034 +       {0x00008318, 0x000044c0, 0x00008980}, 
    3035 +       {0x00009e00, 0x0372131c, 0x0372131c}, 
    3036 +       {0x0000a230, 0x0000400b, 0x00004016}, 
    3037 +       {0x0000a254, 0x00000898, 0x00001130}, 
    3038 +}; 
    3039 + 
    3040 +static const u32 ar9462_modes_low_ob_db_tx_gain_table_1p0[][5] = { 
    3041 +       /* Addr      5G_HT20     5G_HT40     2G_HT40     2G_HT20   */ 
    3042 +       {0x0000a2dc, 0x0380c7fc, 0x0380c7fc, 0x03aaa352, 0x03aaa352}, 
    3043 +       {0x0000a2e0, 0x0000f800, 0x0000f800, 0x03ccc584, 0x03ccc584}, 
    3044 +       {0x0000a2e4, 0x03ff0000, 0x03ff0000, 0x03f0f800, 0x03f0f800}, 
    3045 +       {0x0000a2e8, 0x00000000, 0x00000000, 0x03ff0000, 0x03ff0000}, 
    3046 +       {0x0000a410, 0x000050d9, 0x000050d9, 0x000050d9, 0x000050d9}, 
    3047 +       {0x0000a500, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, 
    3048 +       {0x0000a504, 0x06000003, 0x06000003, 0x04000002, 0x04000002}, 
    3049 +       {0x0000a508, 0x0a000020, 0x0a000020, 0x08000004, 0x08000004}, 
    3050 +       {0x0000a50c, 0x10000023, 0x10000023, 0x0b000200, 0x0b000200}, 
    3051 +       {0x0000a510, 0x16000220, 0x16000220, 0x0f000202, 0x0f000202}, 
    3052 +       {0x0000a514, 0x1c000223, 0x1c000223, 0x12000400, 0x12000400}, 
    3053 +       {0x0000a518, 0x21020220, 0x21020220, 0x16000402, 0x16000402}, 
    3054 +       {0x0000a51c, 0x27020223, 0x27020223, 0x19000404, 0x19000404}, 
    3055 +       {0x0000a520, 0x2b022220, 0x2b022220, 0x1c000603, 0x1c000603}, 
    3056 +       {0x0000a524, 0x2f022222, 0x2f022222, 0x21000a02, 0x21000a02}, 
    3057 +       {0x0000a528, 0x34022225, 0x34022225, 0x25000a04, 0x25000a04}, 
    3058 +       {0x0000a52c, 0x3a02222a, 0x3a02222a, 0x28000a20, 0x28000a20}, 
    3059 +       {0x0000a530, 0x3e02222c, 0x3e02222c, 0x2c000e20, 0x2c000e20}, 
    3060 +       {0x0000a534, 0x4202242a, 0x4202242a, 0x30000e22, 0x30000e22}, 
    3061 +       {0x0000a538, 0x4702244a, 0x4702244a, 0x34000e24, 0x34000e24}, 
    3062 +       {0x0000a53c, 0x4b02244c, 0x4b02244c, 0x38001640, 0x38001640}, 
    3063 +       {0x0000a540, 0x4e02246c, 0x4e02246c, 0x3c001660, 0x3c001660}, 
    3064 +       {0x0000a544, 0x5302266c, 0x5302266c, 0x3f001861, 0x3f001861}, 
    3065 +       {0x0000a548, 0x5702286c, 0x5702286c, 0x43001a81, 0x43001a81}, 
    3066 +       {0x0000a54c, 0x5c04286b, 0x5c04286b, 0x47001a83, 0x47001a83}, 
    3067 +       {0x0000a550, 0x61042a6c, 0x61042a6c, 0x4a001c84, 0x4a001c84}, 
    3068 +       {0x0000a554, 0x66062a6c, 0x66062a6c, 0x4e001ce3, 0x4e001ce3}, 
    3069 +       {0x0000a558, 0x6b062e6c, 0x6b062e6c, 0x52001ce5, 0x52001ce5}, 
    3070 +       {0x0000a55c, 0x7006308c, 0x7006308c, 0x56001ce9, 0x56001ce9}, 
    3071 +       {0x0000a560, 0x730a308a, 0x730a308a, 0x5a001ceb, 0x5a001ceb}, 
    3072 +       {0x0000a564, 0x770a308c, 0x770a308c, 0x5d001eec, 0x5d001eec}, 
    3073 +       {0x0000a568, 0x770a308c, 0x770a308c, 0x5d001eec, 0x5d001eec}, 
    3074 +       {0x0000a56c, 0x770a308c, 0x770a308c, 0x5d001eec, 0x5d001eec}, 
    3075 +       {0x0000a570, 0x770a308c, 0x770a308c, 0x5d001eec, 0x5d001eec}, 
    3076 +       {0x0000a574, 0x770a308c, 0x770a308c, 0x5d001eec, 0x5d001eec}, 
    3077 +       {0x0000a578, 0x770a308c, 0x770a308c, 0x5d001eec, 0x5d001eec}, 
    3078 +       {0x0000a57c, 0x770a308c, 0x770a308c, 0x5d001eec, 0x5d001eec}, 
    3079 +       {0x0000a600, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, 
    3080 +       {0x0000a604, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, 
    3081 +       {0x0000a608, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, 
    3082 +       {0x0000a60c, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, 
    3083 +       {0x0000a610, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, 
    3084 +       {0x0000a614, 0x01404000, 0x01404000, 0x01404000, 0x01404000}, 
    3085 +       {0x0000a618, 0x01404501, 0x01404501, 0x01404501, 0x01404501}, 
    3086 +       {0x0000a61c, 0x02008802, 0x02008802, 0x02008501, 0x02008501}, 
    3087 +       {0x0000a620, 0x0300cc03, 0x0300cc03, 0x0280ca03, 0x0280ca03}, 
    3088 +       {0x0000a624, 0x0300cc03, 0x0300cc03, 0x03010c04, 0x03010c04}, 
    3089 +       {0x0000a628, 0x0300cc03, 0x0300cc03, 0x04014c04, 0x04014c04}, 
    3090 +       {0x0000a62c, 0x03810c03, 0x03810c03, 0x04015005, 0x04015005}, 
    3091 +       {0x0000a630, 0x03810e04, 0x03810e04, 0x04015005, 0x04015005}, 
    3092 +       {0x0000a634, 0x03810e04, 0x03810e04, 0x04015005, 0x04015005}, 
    3093 +       {0x0000a638, 0x03810e04, 0x03810e04, 0x04015005, 0x04015005}, 
    3094 +       {0x0000a63c, 0x03810e04, 0x03810e04, 0x04015005, 0x04015005}, 
    3095 +       {0x0000b2dc, 0x0380c7fc, 0x0380c7fc, 0x03aaa352, 0x03aaa352}, 
    3096 +       {0x0000b2e0, 0x0000f800, 0x0000f800, 0x03ccc584, 0x03ccc584}, 
    3097 +       {0x0000b2e4, 0x03ff0000, 0x03ff0000, 0x03f0f800, 0x03f0f800}, 
    3098 +       {0x0000b2e8, 0x00000000, 0x00000000, 0x03ff0000, 0x03ff0000}, 
    3099 +       {0x00016044, 0x012482d4, 0x012482d4, 0x012482d4, 0x012482d4}, 
    3100 +       {0x00016048, 0x64992060, 0x64992060, 0x64992060, 0x64992060}, 
    3101 +       {0x00016444, 0x012482d4, 0x012482d4, 0x012482d4, 0x012482d4}, 
    3102 +       {0x00016448, 0x64992000, 0x64992000, 0x64992000, 0x64992000}, 
    3103 +}; 
    3104 + 
    3105 +static const u32 ar9462_1p0_soc_postamble[][5] = { 
    3106 +       /* Addr      5G_HT20     5G_HT40     2G_HT40     2G_HT20   */ 
    3107 +       {0x00007010, 0x00002233, 0x00002233, 0x00002233, 0x00002233}, 
    3108 +}; 
    3109 + 
    3110 +static const u32 ar9462_common_mixed_rx_gain_table_1p0[][2] = { 
    3111 +       /* Addr      allmodes  */ 
    3112 +       {0x0000a000, 0x00010000}, 
    3113 +       {0x0000a004, 0x00030002}, 
    3114 +       {0x0000a008, 0x00050004}, 
    3115 +       {0x0000a00c, 0x00810080}, 
    3116 +       {0x0000a010, 0x00830082}, 
    3117 +       {0x0000a014, 0x01810180}, 
    3118 +       {0x0000a018, 0x01830182}, 
    3119 +       {0x0000a01c, 0x01850184}, 
    3120 +       {0x0000a020, 0x01890188}, 
    3121 +       {0x0000a024, 0x018b018a}, 
    3122 +       {0x0000a028, 0x018d018c}, 
    3123 +       {0x0000a02c, 0x03820190}, 
    3124 +       {0x0000a030, 0x03840383}, 
    3125 +       {0x0000a034, 0x03880385}, 
    3126 +       {0x0000a038, 0x038a0389}, 
    3127 +       {0x0000a03c, 0x038c038b}, 
    3128 +       {0x0000a040, 0x0390038d}, 
    3129 +       {0x0000a044, 0x03920391}, 
    3130 +       {0x0000a048, 0x03940393}, 
    3131 +       {0x0000a04c, 0x03960395}, 
    3132 +       {0x0000a050, 0x00000000}, 
    3133 +       {0x0000a054, 0x00000000}, 
    3134 +       {0x0000a058, 0x00000000}, 
    3135 +       {0x0000a05c, 0x00000000}, 
    3136 +       {0x0000a060, 0x00000000}, 
    3137 +       {0x0000a064, 0x00000000}, 
    3138 +       {0x0000a068, 0x00000000}, 
    3139 +       {0x0000a06c, 0x00000000}, 
    3140 +       {0x0000a070, 0x00000000}, 
    3141 +       {0x0000a074, 0x00000000}, 
    3142 +       {0x0000a078, 0x00000000}, 
    3143 +       {0x0000a07c, 0x00000000}, 
    3144 +       {0x0000a080, 0x29292929}, 
    3145 +       {0x0000a084, 0x29292929}, 
    3146 +       {0x0000a088, 0x29292929}, 
    3147 +       {0x0000a08c, 0x29292929}, 
    3148 +       {0x0000a090, 0x22292929}, 
    3149 +       {0x0000a094, 0x1d1d2222}, 
    3150 +       {0x0000a098, 0x0c111117}, 
    3151 +       {0x0000a09c, 0x00030303}, 
    3152 +       {0x0000a0a0, 0x00000000}, 
    3153 +       {0x0000a0a4, 0x00000000}, 
    3154 +       {0x0000a0a8, 0x00000000}, 
    3155 +       {0x0000a0ac, 0x00000000}, 
    3156 +       {0x0000a0b0, 0x00000000}, 
    3157 +       {0x0000a0b4, 0x00000000}, 
    3158 +       {0x0000a0b8, 0x00000000}, 
    3159 +       {0x0000a0bc, 0x00000000}, 
    3160 +       {0x0000a0c0, 0x001f0000}, 
    3161 +       {0x0000a0c4, 0x01000101}, 
    3162 +       {0x0000a0c8, 0x011e011f}, 
    3163 +       {0x0000a0cc, 0x011c011d}, 
    3164 +       {0x0000a0d0, 0x02030204}, 
    3165 +       {0x0000a0d4, 0x02010202}, 
    3166 +       {0x0000a0d8, 0x021f0200}, 
    3167 +       {0x0000a0dc, 0x0302021e}, 
    3168 +       {0x0000a0e0, 0x03000301}, 
    3169 +       {0x0000a0e4, 0x031e031f}, 
    3170 +       {0x0000a0e8, 0x0402031d}, 
    3171 +       {0x0000a0ec, 0x04000401}, 
    3172 +       {0x0000a0f0, 0x041e041f}, 
    3173 +       {0x0000a0f4, 0x0502041d}, 
    3174 +       {0x0000a0f8, 0x05000501}, 
    3175 +       {0x0000a0fc, 0x051e051f}, 
    3176 +       {0x0000a100, 0x06010602}, 
    3177 +       {0x0000a104, 0x061f0600}, 
    3178 +       {0x0000a108, 0x061d061e}, 
    3179 +       {0x0000a10c, 0x07020703}, 
    3180 +       {0x0000a110, 0x07000701}, 
    3181 +       {0x0000a114, 0x00000000}, 
    3182 +       {0x0000a118, 0x00000000}, 
    3183 +       {0x0000a11c, 0x00000000}, 
    3184 +       {0x0000a120, 0x00000000}, 
    3185 +       {0x0000a124, 0x00000000}, 
    3186 +       {0x0000a128, 0x00000000}, 
    3187 +       {0x0000a12c, 0x00000000}, 
    3188 +       {0x0000a130, 0x00000000}, 
    3189 +       {0x0000a134, 0x00000000}, 
    3190 +       {0x0000a138, 0x00000000}, 
    3191 +       {0x0000a13c, 0x00000000}, 
    3192 +       {0x0000a140, 0x001f0000}, 
    3193 +       {0x0000a144, 0x01000101}, 
    3194 +       {0x0000a148, 0x011e011f}, 
    3195 +       {0x0000a14c, 0x011c011d}, 
    3196 +       {0x0000a150, 0x02030204}, 
    3197 +       {0x0000a154, 0x02010202}, 
    3198 +       {0x0000a158, 0x021f0200}, 
    3199 +       {0x0000a15c, 0x0302021e}, 
    3200 +       {0x0000a160, 0x03000301}, 
    3201 +       {0x0000a164, 0x031e031f}, 
    3202 +       {0x0000a168, 0x0402031d}, 
    3203 +       {0x0000a16c, 0x04000401}, 
    3204 +       {0x0000a170, 0x041e041f}, 
    3205 +       {0x0000a174, 0x0502041d}, 
    3206 +       {0x0000a178, 0x05000501}, 
    3207 +       {0x0000a17c, 0x051e051f}, 
    3208 +       {0x0000a180, 0x06010602}, 
    3209 +       {0x0000a184, 0x061f0600}, 
    3210 +       {0x0000a188, 0x061d061e}, 
    3211 +       {0x0000a18c, 0x07020703}, 
    3212 +       {0x0000a190, 0x07000701}, 
    3213 +       {0x0000a194, 0x00000000}, 
    3214 +       {0x0000a198, 0x00000000}, 
    3215 +       {0x0000a19c, 0x00000000}, 
    3216 +       {0x0000a1a0, 0x00000000}, 
    3217 +       {0x0000a1a4, 0x00000000}, 
    3218 +       {0x0000a1a8, 0x00000000}, 
    3219 +       {0x0000a1ac, 0x00000000}, 
    3220 +       {0x0000a1b0, 0x00000000}, 
    3221 +       {0x0000a1b4, 0x00000000}, 
    3222 +       {0x0000a1b8, 0x00000000}, 
    3223 +       {0x0000a1bc, 0x00000000}, 
    3224 +       {0x0000a1c0, 0x00000000}, 
    3225 +       {0x0000a1c4, 0x00000000}, 
    3226 +       {0x0000a1c8, 0x00000000}, 
    3227 +       {0x0000a1cc, 0x00000000}, 
    3228 +       {0x0000a1d0, 0x00000000}, 
    3229 +       {0x0000a1d4, 0x00000000}, 
    3230 +       {0x0000a1d8, 0x00000000}, 
    3231 +       {0x0000a1dc, 0x00000000}, 
    3232 +       {0x0000a1e0, 0x00000000}, 
    3233 +       {0x0000a1e4, 0x00000000}, 
    3234 +       {0x0000a1e8, 0x00000000}, 
    3235 +       {0x0000a1ec, 0x00000000}, 
    3236 +       {0x0000a1f0, 0x00000396}, 
    3237 +       {0x0000a1f4, 0x00000396}, 
    3238 +       {0x0000a1f8, 0x00000396}, 
    3239 +       {0x0000a1fc, 0x00000196}, 
    3240 +       {0x0000b000, 0x00010000}, 
    3241 +       {0x0000b004, 0x00030002}, 
    3242 +       {0x0000b008, 0x00050004}, 
    3243 +       {0x0000b00c, 0x00810080}, 
    3244 +       {0x0000b010, 0x00830082}, 
    3245 +       {0x0000b014, 0x01810180}, 
    3246 +       {0x0000b018, 0x01830182}, 
    3247 +       {0x0000b01c, 0x01850184}, 
    3248 +       {0x0000b020, 0x02810280}, 
    3249 +       {0x0000b024, 0x02830282}, 
    3250 +       {0x0000b028, 0x02850284}, 
    3251 +       {0x0000b02c, 0x02890288}, 
    3252 +       {0x0000b030, 0x028b028a}, 
    3253 +       {0x0000b034, 0x0388028c}, 
    3254 +       {0x0000b038, 0x038a0389}, 
    3255 +       {0x0000b03c, 0x038c038b}, 
    3256 +       {0x0000b040, 0x0390038d}, 
    3257 +       {0x0000b044, 0x03920391}, 
    3258 +       {0x0000b048, 0x03940393}, 
    3259 +       {0x0000b04c, 0x03960395}, 
    3260 +       {0x0000b050, 0x00000000}, 
    3261 +       {0x0000b054, 0x00000000}, 
    3262 +       {0x0000b058, 0x00000000}, 
    3263 +       {0x0000b05c, 0x00000000}, 
    3264 +       {0x0000b060, 0x00000000}, 
    3265 +       {0x0000b064, 0x00000000}, 
    3266 +       {0x0000b068, 0x00000000}, 
    3267 +       {0x0000b06c, 0x00000000}, 
    3268 +       {0x0000b070, 0x00000000}, 
    3269 +       {0x0000b074, 0x00000000}, 
    3270 +       {0x0000b078, 0x00000000}, 
    3271 +       {0x0000b07c, 0x00000000}, 
    3272 +       {0x0000b080, 0x2a2d2f32}, 
    3273 +       {0x0000b084, 0x21232328}, 
    3274 +       {0x0000b088, 0x19191c1e}, 
    3275 +       {0x0000b08c, 0x12141417}, 
    3276 +       {0x0000b090, 0x07070e0e}, 
    3277 +       {0x0000b094, 0x03030305}, 
    3278 +       {0x0000b098, 0x00000003}, 
    3279 +       {0x0000b09c, 0x00000000}, 
    3280 +       {0x0000b0a0, 0x00000000}, 
    3281 +       {0x0000b0a4, 0x00000000}, 
    3282 +       {0x0000b0a8, 0x00000000}, 
    3283 +       {0x0000b0ac, 0x00000000}, 
    3284 +       {0x0000b0b0, 0x00000000}, 
    3285 +       {0x0000b0b4, 0x00000000}, 
    3286 +       {0x0000b0b8, 0x00000000}, 
    3287 +       {0x0000b0bc, 0x00000000}, 
    3288 +       {0x0000b0c0, 0x003f0020}, 
    3289 +       {0x0000b0c4, 0x00400041}, 
    3290 +       {0x0000b0c8, 0x0140005f}, 
    3291 +       {0x0000b0cc, 0x0160015f}, 
    3292 +       {0x0000b0d0, 0x017e017f}, 
    3293 +       {0x0000b0d4, 0x02410242}, 
    3294 +       {0x0000b0d8, 0x025f0240}, 
    3295 +       {0x0000b0dc, 0x027f0260}, 
    3296 +       {0x0000b0e0, 0x0341027e}, 
    3297 +       {0x0000b0e4, 0x035f0340}, 
    3298 +       {0x0000b0e8, 0x037f0360}, 
    3299 +       {0x0000b0ec, 0x04400441}, 
    3300 +       {0x0000b0f0, 0x0460045f}, 
    3301 +       {0x0000b0f4, 0x0541047f}, 
    3302 +       {0x0000b0f8, 0x055f0540}, 
    3303 +       {0x0000b0fc, 0x057f0560}, 
    3304 +       {0x0000b100, 0x06400641}, 
    3305 +       {0x0000b104, 0x0660065f}, 
    3306 +       {0x0000b108, 0x067e067f}, 
    3307 +       {0x0000b10c, 0x07410742}, 
    3308 +       {0x0000b110, 0x075f0740}, 
    3309 +       {0x0000b114, 0x077f0760}, 
    3310 +       {0x0000b118, 0x07800781}, 
    3311 +       {0x0000b11c, 0x07a0079f}, 
    3312 +       {0x0000b120, 0x07c107bf}, 
    3313 +       {0x0000b124, 0x000007c0}, 
    3314 +       {0x0000b128, 0x00000000}, 
    3315 +       {0x0000b12c, 0x00000000}, 
    3316 +       {0x0000b130, 0x00000000}, 
    3317 +       {0x0000b134, 0x00000000}, 
    3318 +       {0x0000b138, 0x00000000}, 
    3319 +       {0x0000b13c, 0x00000000}, 
    3320 +       {0x0000b140, 0x003f0020}, 
    3321 +       {0x0000b144, 0x00400041}, 
    3322 +       {0x0000b148, 0x0140005f}, 
    3323 +       {0x0000b14c, 0x0160015f}, 
    3324 +       {0x0000b150, 0x017e017f}, 
    3325 +       {0x0000b154, 0x02410242}, 
    3326 +       {0x0000b158, 0x025f0240}, 
    3327 +       {0x0000b15c, 0x027f0260}, 
    3328 +       {0x0000b160, 0x0341027e}, 
    3329 +       {0x0000b164, 0x035f0340}, 
    3330 +       {0x0000b168, 0x037f0360}, 
    3331 +       {0x0000b16c, 0x04400441}, 
    3332 +       {0x0000b170, 0x0460045f}, 
    3333 +       {0x0000b174, 0x0541047f}, 
    3334 +       {0x0000b178, 0x055f0540}, 
    3335 +       {0x0000b17c, 0x057f0560}, 
    3336 +       {0x0000b180, 0x06400641}, 
    3337 +       {0x0000b184, 0x0660065f}, 
    3338 +       {0x0000b188, 0x067e067f}, 
    3339 +       {0x0000b18c, 0x07410742}, 
    3340 +       {0x0000b190, 0x075f0740}, 
    3341 +       {0x0000b194, 0x077f0760}, 
    3342 +       {0x0000b198, 0x07800781}, 
    3343 +       {0x0000b19c, 0x07a0079f}, 
    3344 +       {0x0000b1a0, 0x07c107bf}, 
    3345 +       {0x0000b1a4, 0x000007c0}, 
    3346 +       {0x0000b1a8, 0x00000000}, 
    3347 +       {0x0000b1ac, 0x00000000}, 
    3348 +       {0x0000b1b0, 0x00000000}, 
    3349 +       {0x0000b1b4, 0x00000000}, 
    3350 +       {0x0000b1b8, 0x00000000}, 
    3351 +       {0x0000b1bc, 0x00000000}, 
    3352 +       {0x0000b1c0, 0x00000000}, 
    3353 +       {0x0000b1c4, 0x00000000}, 
    3354 +       {0x0000b1c8, 0x00000000}, 
    3355 +       {0x0000b1cc, 0x00000000}, 
    3356 +       {0x0000b1d0, 0x00000000}, 
    3357 +       {0x0000b1d4, 0x00000000}, 
    3358 +       {0x0000b1d8, 0x00000000}, 
    3359 +       {0x0000b1dc, 0x00000000}, 
    3360 +       {0x0000b1e0, 0x00000000}, 
    3361 +       {0x0000b1e4, 0x00000000}, 
    3362 +       {0x0000b1e8, 0x00000000}, 
    3363 +       {0x0000b1ec, 0x00000000}, 
    3364 +       {0x0000b1f0, 0x00000396}, 
    3365 +       {0x0000b1f4, 0x00000396}, 
    3366 +       {0x0000b1f8, 0x00000396}, 
    3367 +       {0x0000b1fc, 0x00000196}, 
    3368 +}; 
    3369 + 
    3370 +static const u32 ar9462_pcie_phy_clkreq_disable_L1_1p0[][2] = { 
    3371 +       /* Addr      allmodes  */ 
    3372 +       {0x00018c00, 0x10013e5e}, 
    3373 +       {0x00018c04, 0x000801d8}, 
    3374 +       {0x00018c08, 0x0000580c}, 
    3375 +}; 
    3376 + 
    3377 +static const u32 ar9462_1p0_baseband_core_emulation[][2] = { 
    3378 +       /* Addr      allmodes  */ 
    3379 +       {0x00009800, 0xafa68e30}, 
    3380 +       {0x00009884, 0x00002842}, 
    3381 +       {0x00009c04, 0xff55ff55}, 
    3382 +       {0x00009c08, 0x0320ff55}, 
    3383 +       {0x00009e50, 0x00000000}, 
    3384 +       {0x00009fcc, 0x00000014}, 
    3385 +       {0x0000a344, 0x00000010}, 
    3386 +       {0x0000a398, 0x00000000}, 
    3387 +       {0x0000a39c, 0x71733d01}, 
    3388 +       {0x0000a3a0, 0xd0ad5c12}, 
    3389 +       {0x0000a3c0, 0x22222220}, 
    3390 +       {0x0000a3c4, 0x22222222}, 
    3391 +       {0x0000a404, 0x00418a11}, 
    3392 +       {0x0000a418, 0x050001ce}, 
    3393 +       {0x0000a438, 0x00001800}, 
    3394 +       {0x0000a458, 0x01444452}, 
    3395 +       {0x0000a644, 0x3fad9d74}, 
    3396 +       {0x0000a690, 0x00000038}, 
    3397 +}; 
    3398 + 
    3399 +static const u32 ar9462_1p0_radio_core[][2] = { 
    3400 +       /* Addr      allmodes  */ 
    3401 +       {0x00016000, 0x36db6db6}, 
    3402 +       {0x00016004, 0x6db6db40}, 
    3403 +       {0x00016008, 0x73f00000}, 
    3404 +       {0x0001600c, 0x00000000}, 
    3405 +       {0x00016010, 0x6d820001}, 
    3406 +       {0x00016040, 0x7f80fff8}, 
    3407 +       {0x0001604c, 0x2699e04f}, 
    3408 +       {0x00016050, 0x6db6db6c}, 
    3409 +       {0x00016054, 0x6db60000}, 
    3410 +       {0x00016058, 0x6c200000}, 
    3411 +       {0x00016080, 0x00040000}, 
    3412 +       {0x00016084, 0x9a68048c}, 
    3413 +       {0x00016088, 0x54214514}, 
    3414 +       {0x0001608c, 0x12030409}, 
    3415 +       {0x00016090, 0x24926490}, 
    3416 +       {0x00016098, 0xd2888888}, 
    3417 +       {0x000160a0, 0x0a108ffe}, 
    3418 +       {0x000160a4, 0x812fc490}, 
    3419 +       {0x000160a8, 0x423c8000}, 
    3420 +       {0x000160b4, 0x92000000}, 
    3421 +       {0x000160b8, 0x0285dddc}, 
    3422 +       {0x000160bc, 0x02908888}, 
    3423 +       {0x000160c0, 0x00adb6d0}, 
    3424 +       {0x000160c4, 0x6db6db60}, 
    3425 +       {0x000160c8, 0x6db6db6c}, 
    3426 +       {0x000160cc, 0x0de6c1b0}, 
    3427 +       {0x00016100, 0x3fffbe04}, 
    3428 +       {0x00016104, 0xfff80000}, 
    3429 +       {0x00016108, 0x00200400}, 
    3430 +       {0x00016110, 0x00000000}, 
    3431 +       {0x00016144, 0x02084080}, 
    3432 +       {0x00016148, 0x000080c0}, 
    3433 +       {0x00016280, 0x050a0001}, 
    3434 +       {0x00016284, 0x3d841400}, 
    3435 +       {0x00016288, 0x00000000}, 
    3436 +       {0x0001628c, 0xe3000000}, 
    3437 +       {0x00016290, 0xa1005080}, 
    3438 +       {0x00016294, 0x00000020}, 
    3439 +       {0x00016298, 0x50a02900}, 
    3440 +       {0x00016340, 0x121e4276}, 
    3441 +       {0x00016344, 0x00300000}, 
    3442 +       {0x00016400, 0x36db6db6}, 
    3443 +       {0x00016404, 0x6db6db40}, 
    3444 +       {0x00016408, 0x73f00000}, 
    3445 +       {0x0001640c, 0x00000000}, 
    3446 +       {0x00016410, 0x6c800001}, 
    3447 +       {0x00016440, 0x7f80fff8}, 
    3448 +       {0x0001644c, 0x4699e04f}, 
    3449 +       {0x00016450, 0x6db6db6c}, 
    3450 +       {0x00016454, 0x6db60000}, 
    3451 +       {0x00016500, 0x3fffbe04}, 
    3452 +       {0x00016504, 0xfff80000}, 
    3453 +       {0x00016508, 0x00200400}, 
    3454 +       {0x00016510, 0x00000000}, 
    3455 +       {0x00016544, 0x02084080}, 
    3456 +       {0x00016548, 0x000080c0}, 
    3457 +}; 
    3458 + 
    3459 +static const u32 ar9462_1p0_soc_preamble[][2] = { 
    3460 +       /* Addr      allmodes  */ 
    3461 +       {0x00007020, 0x00000000}, 
    3462 +       {0x00007034, 0x00000002}, 
    3463 +       {0x00007038, 0x000004c2}, 
    3464 +}; 
    3465 + 
    3466 +static const u32 ar9462_1p0_sys2ant[][2] = { 
    3467 +       /* Addr      allmodes  */ 
    3468 +       {0x00063120, 0x00801980}, 
    3469 +}; 
    3470 + 
    3471 +#endif /* INITVALS_9462_1P0_H */ 
    3472 --- /dev/null 
    3473 +++ b/drivers/net/wireless/ath/ath9k/ar9462_2p0_initvals.h 
    3474 @@ -0,0 +1,1928 @@ 
    3475 +/* 
    3476 + * Copyright (c) 2010 Atheros Communications Inc. 
    3477 + * 
    3478 + * Permission to use, copy, modify, and/or distribute this software for any 
    3479 + * purpose with or without fee is hereby granted, provided that the above 
    3480 + * copyright notice and this permission notice appear in all copies. 
    3481 + * 
    3482 + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 
    3483 + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 
    3484 + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 
    3485 + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 
    3486 + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 
    3487 + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 
    3488 + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 
    3489 + */ 
    3490 + 
    3491 +#ifndef INITVALS_9462_2P0_H 
    3492 +#define INITVALS_9462_2P0_H 
    3493 + 
    3494 +/* AR9462 2.0 */ 
    3495 + 
    3496 +static const u32 ar9462_modes_fast_clock_2p0[][3] = { 
    3497 +       /* Addr      5G_HT20     5G_HT40   */ 
    3498 +       {0x00001030, 0x00000268, 0x000004d0}, 
    3499 +       {0x00001070, 0x0000018c, 0x00000318}, 
    3500 +       {0x000010b0, 0x00000fd0, 0x00001fa0}, 
    3501 +       {0x00008014, 0x044c044c, 0x08980898}, 
    3502 +       {0x0000801c, 0x148ec02b, 0x148ec057}, 
    3503 +       {0x00008318, 0x000044c0, 0x00008980}, 
    3504 +       {0x00009e00, 0x0372131c, 0x0372131c}, 
    3505 +       {0x0000a230, 0x0000400b, 0x00004016}, 
    3506 +       {0x0000a254, 0x00000898, 0x00001130}, 
    3507 +}; 
    3508 + 
    3509 +static const u32 ar9462_pciephy_clkreq_enable_L1_2p0[][2] = { 
    3510 +       /* Addr      allmodes  */ 
    3511 +       {0x00018c00, 0x18253ede}, 
    3512 +       {0x00018c04, 0x000801d8}, 
    3513 +       {0x00018c08, 0x0003580c}, 
    3514 +}; 
    3515 + 
    3516 +static const u32 ar9462_2p0_baseband_postamble[][5] = { 
    3517 +       /* Addr      5G_HT20     5G_HT40     2G_HT40     2G_HT20   */ 
    3518 +       {0x00009810, 0xd00a8005, 0xd00a8005, 0xd00a8011, 0xd00a8011}, 
    3519 +       {0x00009820, 0x206a022e, 0x206a022e, 0x206a012e, 0x206a012e}, 
    3520 +       {0x00009824, 0x5ac640d0, 0x5ac640d0, 0x5ac640d0, 0x5ac640d0}, 
    3521 +       {0x00009828, 0x06903081, 0x06903081, 0x06903881, 0x06903881}, 
    3522 +       {0x0000982c, 0x05eea6d4, 0x05eea6d4, 0x05eea6d4, 0x05eea6d4}, 
    3523 +       {0x00009830, 0x0000059c, 0x0000059c, 0x0000119c, 0x0000119c}, 
    3524 +       {0x00009c00, 0x000000c4, 0x000000c4, 0x000000c4, 0x000000c4}, 
    3525 +       {0x00009e00, 0x0372111a, 0x0372111a, 0x037216a0, 0x037216a0}, 
    3526 +       {0x00009e04, 0x001c2020, 0x001c2020, 0x001c2020, 0x001c2020}, 
    3527 +       {0x00009e0c, 0x6c4000e2, 0x6d4000e2, 0x6d4000e2, 0x6c4000e2}, 
    3528 +       {0x00009e10, 0x7ec88d2e, 0x7ec88d2e, 0x7ec84d2e, 0x7ec84d2e}, 
    3529 +       {0x00009e14, 0x37b95d5e, 0x37b9605e, 0x3039605e, 0x33795d5e}, 
    3530 +       {0x00009e18, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, 
    3531 +       {0x00009e1c, 0x0001cf9c, 0x0001cf9c, 0x00021f9c, 0x00021f9c}, 
    3532 +       {0x00009e20, 0x000003b5, 0x000003b5, 0x000003ce, 0x000003ce}, 
    3533 +       {0x00009e2c, 0x0000001c, 0x0000001c, 0x00000021, 0x00000021}, 
    3534 +       {0x00009e3c, 0xcf946220, 0xcf946220, 0xcfd5c782, 0xcfd5c782}, 
    3535 +       {0x00009e44, 0xfe321e27, 0xfe321e27, 0xfe291e27, 0xfe291e27}, 
    3536 +       {0x00009e48, 0x5030201a, 0x5030201a, 0x50302012, 0x50302012}, 
    3537 +       {0x00009fc8, 0x0003f000, 0x0003f000, 0x0001a000, 0x0001a000}, 
    3538 +       {0x0000a204, 0x013187c0, 0x013187c4, 0x013187c4, 0x013187c0}, 
    3539 +       {0x0000a208, 0x00000104, 0x00000104, 0x00000004, 0x00000004}, 
    3540 +       {0x0000a22c, 0x01026a2f, 0x01026a27, 0x01026a2f, 0x01026a2f}, 
    3541 +       {0x0000a230, 0x0000400a, 0x00004014, 0x00004016, 0x0000400b}, 
    3542 +       {0x0000a234, 0x00000fff, 0x10000fff, 0x10000fff, 0x00000fff}, 
    3543 +       {0x0000a238, 0xffb81018, 0xffb81018, 0xffb81018, 0xffb81018}, 
    3544 +       {0x0000a250, 0x00000000, 0x00000000, 0x00000210, 0x00000108}, 
    3545 +       {0x0000a254, 0x000007d0, 0x00000fa0, 0x00001130, 0x00000898}, 
    3546 +       {0x0000a258, 0x02020002, 0x02020002, 0x02020002, 0x02020002}, 
    3547 +       {0x0000a25c, 0x01000e0e, 0x01000e0e, 0x01000e0e, 0x01000e0e}, 
    3548 +       {0x0000a260, 0x0a021501, 0x0a021501, 0x3a021501, 0x3a021501}, 
    3549 +       {0x0000a264, 0x00000e0e, 0x00000e0e, 0x00000e0e, 0x00000e0e}, 
    3550 +       {0x0000a280, 0x00000007, 0x00000007, 0x0000000b, 0x0000000b}, 
    3551 +       {0x0000a284, 0x00000000, 0x00000000, 0x00000150, 0x00000150}, 
    3552 +       {0x0000a288, 0x00000110, 0x00000110, 0x00000110, 0x00000110}, 
    3553 +       {0x0000a28c, 0x00022222, 0x00022222, 0x00022222, 0x00022222}, 
    3554 +       {0x0000a2c4, 0x00158d18, 0x00158d18, 0x00158d18, 0x00158d18}, 
    3555 +       {0x0000a2d0, 0x00041981, 0x00041981, 0x00041981, 0x00041982}, 
    3556 +       {0x0000a2d8, 0x7999a83b, 0x7999a83b, 0x7999a83b, 0x7999a83b}, 
    3557 +       {0x0000a358, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, 
    3558 +       {0x0000a830, 0x0000019c, 0x0000019c, 0x0000019c, 0x0000019c}, 
    3559 +       {0x0000ae04, 0x001c0000, 0x001c0000, 0x001c0000, 0x00100000}, 
    3560 +       {0x0000ae18, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, 
    3561 +       {0x0000ae1c, 0x0000019c, 0x0000019c, 0x0000019c, 0x0000019c}, 
    3562 +       {0x0000ae20, 0x000001b5, 0x000001b5, 0x000001ce, 0x000001ce}, 
    3563 +       {0x0000b284, 0x00000000, 0x00000000, 0x00000550, 0x00000550}, 
    3564 +}; 
    3565 + 
    3566 +static const u32 ar9462_2p0_mac_core_emulation[][2] = { 
    3567 +       /* Addr      allmodes  */ 
    3568 +       {0x00000030, 0x000e0085}, 
    3569 +       {0x00000044, 0x00000008}, 
    3570 +       {0x0000805c, 0xffffc7ff}, 
    3571 +       {0x00008344, 0xaa4a105b}, 
    3572 +}; 
    3573 + 
    3574 +static const u32 ar9462_common_rx_gain_table_2p0[][2] = { 
    3575 +       /* Addr      allmodes  */ 
    3576 +       {0x0000a000, 0x00010000}, 
    3577 +       {0x0000a004, 0x00030002}, 
    3578 +       {0x0000a008, 0x00050004}, 
    3579 +       {0x0000a00c, 0x00810080}, 
    3580 +       {0x0000a010, 0x00830082}, 
    3581 +       {0x0000a014, 0x01810180}, 
    3582 +       {0x0000a018, 0x01830182}, 
    3583 +       {0x0000a01c, 0x01850184}, 
    3584 +       {0x0000a020, 0x01890188}, 
    3585 +       {0x0000a024, 0x018b018a}, 
    3586 +       {0x0000a028, 0x018d018c}, 
    3587 +       {0x0000a02c, 0x01910190}, 
    3588 +       {0x0000a030, 0x01930192}, 
    3589 +       {0x0000a034, 0x01950194}, 
    3590 +       {0x0000a038, 0x038a0196}, 
    3591 +       {0x0000a03c, 0x038c038b}, 
    3592 +       {0x0000a040, 0x0390038d}, 
    3593 +       {0x0000a044, 0x03920391}, 
    3594 +       {0x0000a048, 0x03940393}, 
    3595 +       {0x0000a04c, 0x03960395}, 
    3596 +       {0x0000a050, 0x00000000}, 
    3597 +       {0x0000a054, 0x00000000}, 
    3598 +       {0x0000a058, 0x00000000}, 
    3599 +       {0x0000a05c, 0x00000000}, 
    3600 +       {0x0000a060, 0x00000000}, 
    3601 +       {0x0000a064, 0x00000000}, 
    3602 +       {0x0000a068, 0x00000000}, 
    3603 +       {0x0000a06c, 0x00000000}, 
    3604 +       {0x0000a070, 0x00000000}, 
    3605 +       {0x0000a074, 0x00000000}, 
    3606 +       {0x0000a078, 0x00000000}, 
    3607 +       {0x0000a07c, 0x00000000}, 
    3608 +       {0x0000a080, 0x22222229}, 
    3609 +       {0x0000a084, 0x1d1d1d1d}, 
    3610 +       {0x0000a088, 0x1d1d1d1d}, 
    3611 +       {0x0000a08c, 0x1d1d1d1d}, 
    3612 +       {0x0000a090, 0x171d1d1d}, 
    3613 +       {0x0000a094, 0x11111717}, 
    3614 +       {0x0000a098, 0x00030311}, 
    3615 +       {0x0000a09c, 0x00000000}, 
    3616 +       {0x0000a0a0, 0x00000000}, 
    3617 +       {0x0000a0a4, 0x00000000}, 
    3618 +       {0x0000a0a8, 0x00000000}, 
    3619 +       {0x0000a0ac, 0x00000000}, 
    3620 +       {0x0000a0b0, 0x00000000}, 
    3621 +       {0x0000a0b4, 0x00000000}, 
    3622 +       {0x0000a0b8, 0x00000000}, 
    3623 +       {0x0000a0bc, 0x00000000}, 
    3624 +       {0x0000a0c0, 0x001f0000}, 
    3625 +       {0x0000a0c4, 0x01000101}, 
    3626 +       {0x0000a0c8, 0x011e011f}, 
    3627 +       {0x0000a0cc, 0x011c011d}, 
    3628 +       {0x0000a0d0, 0x02030204}, 
    3629 +       {0x0000a0d4, 0x02010202}, 
    3630 +       {0x0000a0d8, 0x021f0200}, 
    3631 +       {0x0000a0dc, 0x0302021e}, 
    3632 +       {0x0000a0e0, 0x03000301}, 
    3633 +       {0x0000a0e4, 0x031e031f}, 
    3634 +       {0x0000a0e8, 0x0402031d}, 
    3635 +       {0x0000a0ec, 0x04000401}, 
    3636 +       {0x0000a0f0, 0x041e041f}, 
    3637 +       {0x0000a0f4, 0x0502041d}, 
    3638 +       {0x0000a0f8, 0x05000501}, 
    3639 +       {0x0000a0fc, 0x051e051f}, 
    3640 +       {0x0000a100, 0x06010602}, 
    3641 +       {0x0000a104, 0x061f0600}, 
    3642 +       {0x0000a108, 0x061d061e}, 
    3643 +       {0x0000a10c, 0x07020703}, 
    3644 +       {0x0000a110, 0x07000701}, 
    3645 +       {0x0000a114, 0x00000000}, 
    3646 +       {0x0000a118, 0x00000000}, 
    3647 +       {0x0000a11c, 0x00000000}, 
    3648 +       {0x0000a120, 0x00000000}, 
    3649 +       {0x0000a124, 0x00000000}, 
    3650 +       {0x0000a128, 0x00000000}, 
    3651 +       {0x0000a12c, 0x00000000}, 
    3652 +       {0x0000a130, 0x00000000}, 
    3653 +       {0x0000a134, 0x00000000}, 
    3654 +       {0x0000a138, 0x00000000}, 
    3655 +       {0x0000a13c, 0x00000000}, 
    3656 +       {0x0000a140, 0x001f0000}, 
    3657 +       {0x0000a144, 0x01000101}, 
    3658 +       {0x0000a148, 0x011e011f}, 
    3659 +       {0x0000a14c, 0x011c011d}, 
    3660 +       {0x0000a150, 0x02030204}, 
    3661 +       {0x0000a154, 0x02010202}, 
    3662 +       {0x0000a158, 0x021f0200}, 
    3663 +       {0x0000a15c, 0x0302021e}, 
    3664 +       {0x0000a160, 0x03000301}, 
    3665 +       {0x0000a164, 0x031e031f}, 
    3666 +       {0x0000a168, 0x0402031d}, 
    3667 +       {0x0000a16c, 0x04000401}, 
    3668 +       {0x0000a170, 0x041e041f}, 
    3669 +       {0x0000a174, 0x0502041d}, 
    3670 +       {0x0000a178, 0x05000501}, 
    3671 +       {0x0000a17c, 0x051e051f}, 
    3672 +       {0x0000a180, 0x06010602}, 
    3673 +       {0x0000a184, 0x061f0600}, 
    3674 +       {0x0000a188, 0x061d061e}, 
    3675 +       {0x0000a18c, 0x07020703}, 
    3676 +       {0x0000a190, 0x07000701}, 
    3677 +       {0x0000a194, 0x00000000}, 
    3678 +       {0x0000a198, 0x00000000}, 
    3679 +       {0x0000a19c, 0x00000000}, 
    3680 +       {0x0000a1a0, 0x00000000}, 
    3681 +       {0x0000a1a4, 0x00000000}, 
    3682 +       {0x0000a1a8, 0x00000000}, 
    3683 +       {0x0000a1ac, 0x00000000}, 
    3684 +       {0x0000a1b0, 0x00000000}, 
    3685 +       {0x0000a1b4, 0x00000000}, 
    3686 +       {0x0000a1b8, 0x00000000}, 
    3687 +       {0x0000a1bc, 0x00000000}, 
    3688 +       {0x0000a1c0, 0x00000000}, 
    3689 +       {0x0000a1c4, 0x00000000}, 
    3690 +       {0x0000a1c8, 0x00000000}, 
    3691 +       {0x0000a1cc, 0x00000000}, 
    3692 +       {0x0000a1d0, 0x00000000}, 
    3693 +       {0x0000a1d4, 0x00000000}, 
    3694 +       {0x0000a1d8, 0x00000000}, 
    3695 +       {0x0000a1dc, 0x00000000}, 
    3696 +       {0x0000a1e0, 0x00000000}, 
    3697 +       {0x0000a1e4, 0x00000000}, 
    3698 +       {0x0000a1e8, 0x00000000}, 
    3699 +       {0x0000a1ec, 0x00000000}, 
    3700 +       {0x0000a1f0, 0x00000396}, 
    3701 +       {0x0000a1f4, 0x00000396}, 
    3702 +       {0x0000a1f8, 0x00000396}, 
    3703 +       {0x0000a1fc, 0x00000196}, 
    3704 +       {0x0000b000, 0x00010000}, 
    3705 +       {0x0000b004, 0x00030002}, 
    3706 +       {0x0000b008, 0x00050004}, 
    3707 +       {0x0000b00c, 0x00810080}, 
    3708 +       {0x0000b010, 0x00830082}, 
    3709 +       {0x0000b014, 0x01810180}, 
    3710 +       {0x0000b018, 0x01830182}, 
    3711 +       {0x0000b01c, 0x01850184}, 
    3712 +       {0x0000b020, 0x02810280}, 
    3713 +       {0x0000b024, 0x02830282}, 
    3714 +       {0x0000b028, 0x02850284}, 
    3715 +       {0x0000b02c, 0x02890288}, 
    3716 +       {0x0000b030, 0x028b028a}, 
    3717 +       {0x0000b034, 0x0388028c}, 
    3718 +       {0x0000b038, 0x038a0389}, 
    3719 +       {0x0000b03c, 0x038c038b}, 
    3720 +       {0x0000b040, 0x0390038d}, 
    3721 +       {0x0000b044, 0x03920391}, 
    3722 +       {0x0000b048, 0x03940393}, 
    3723 +       {0x0000b04c, 0x03960395}, 
    3724 +       {0x0000b050, 0x00000000}, 
    3725 +       {0x0000b054, 0x00000000}, 
    3726 +       {0x0000b058, 0x00000000}, 
    3727 +       {0x0000b05c, 0x00000000}, 
    3728 +       {0x0000b060, 0x00000000}, 
    3729 +       {0x0000b064, 0x00000000}, 
    3730 +       {0x0000b068, 0x00000000}, 
    3731 +       {0x0000b06c, 0x00000000}, 
    3732 +       {0x0000b070, 0x00000000}, 
    3733 +       {0x0000b074, 0x00000000}, 
    3734 +       {0x0000b078, 0x00000000}, 
    3735 +       {0x0000b07c, 0x00000000}, 
    3736 +       {0x0000b080, 0x2a2d2f32}, 
    3737 +       {0x0000b084, 0x21232328}, 
    3738 +       {0x0000b088, 0x19191c1e}, 
    3739 +       {0x0000b08c, 0x12141417}, 
    3740 +       {0x0000b090, 0x07070e0e}, 
    3741 +       {0x0000b094, 0x03030305}, 
    3742 +       {0x0000b098, 0x00000003}, 
    3743 +       {0x0000b09c, 0x00000000}, 
    3744 +       {0x0000b0a0, 0x00000000}, 
    3745 +       {0x0000b0a4, 0x00000000}, 
    3746 +       {0x0000b0a8, 0x00000000}, 
    3747 +       {0x0000b0ac, 0x00000000}, 
    3748 +       {0x0000b0b0, 0x00000000}, 
    3749 +       {0x0000b0b4, 0x00000000}, 
    3750 +       {0x0000b0b8, 0x00000000}, 
    3751 +       {0x0000b0bc, 0x00000000}, 
    3752 +       {0x0000b0c0, 0x003f0020}, 
    3753 +       {0x0000b0c4, 0x00400041}, 
    3754 +       {0x0000b0c8, 0x0140005f}, 
    3755 +       {0x0000b0cc, 0x0160015f}, 
    3756 +       {0x0000b0d0, 0x017e017f}, 
    3757 +       {0x0000b0d4, 0x02410242}, 
    3758 +       {0x0000b0d8, 0x025f0240}, 
    3759 +       {0x0000b0dc, 0x027f0260}, 
    3760 +       {0x0000b0e0, 0x0341027e}, 
    3761 +       {0x0000b0e4, 0x035f0340}, 
    3762 +       {0x0000b0e8, 0x037f0360}, 
    3763 +       {0x0000b0ec, 0x04400441}, 
    3764 +       {0x0000b0f0, 0x0460045f}, 
    3765 +       {0x0000b0f4, 0x0541047f}, 
    3766 +       {0x0000b0f8, 0x055f0540}, 
    3767 +       {0x0000b0fc, 0x057f0560}, 
    3768 +       {0x0000b100, 0x06400641}, 
    3769 +       {0x0000b104, 0x0660065f}, 
    3770 +       {0x0000b108, 0x067e067f}, 
    3771 +       {0x0000b10c, 0x07410742}, 
    3772 +       {0x0000b110, 0x075f0740}, 
    3773 +       {0x0000b114, 0x077f0760}, 
    3774 +       {0x0000b118, 0x07800781}, 
    3775 +       {0x0000b11c, 0x07a0079f}, 
    3776 +       {0x0000b120, 0x07c107bf}, 
    3777 +       {0x0000b124, 0x000007c0}, 
    3778 +       {0x0000b128, 0x00000000}, 
    3779 +       {0x0000b12c, 0x00000000}, 
    3780 +       {0x0000b130, 0x00000000}, 
    3781 +       {0x0000b134, 0x00000000}, 
    3782 +       {0x0000b138, 0x00000000}, 
    3783 +       {0x0000b13c, 0x00000000}, 
    3784 +       {0x0000b140, 0x003f0020}, 
    3785 +       {0x0000b144, 0x00400041}, 
    3786 +       {0x0000b148, 0x0140005f}, 
    3787 +       {0x0000b14c, 0x0160015f}, 
    3788 +       {0x0000b150, 0x017e017f}, 
    3789 +       {0x0000b154, 0x02410242}, 
    3790 +       {0x0000b158, 0x025f0240}, 
    3791 +       {0x0000b15c, 0x027f0260}, 
    3792 +       {0x0000b160, 0x0341027e}, 
    3793 +       {0x0000b164, 0x035f0340}, 
    3794 +       {0x0000b168, 0x037f0360}, 
    3795 +       {0x0000b16c, 0x04400441}, 
    3796 +       {0x0000b170, 0x0460045f}, 
    3797 +       {0x0000b174, 0x0541047f}, 
    3798 +       {0x0000b178, 0x055f0540}, 
    3799 +       {0x0000b17c, 0x057f0560}, 
    3800 +       {0x0000b180, 0x06400641}, 
    3801 +       {0x0000b184, 0x0660065f}, 
    3802 +       {0x0000b188, 0x067e067f}, 
    3803 +       {0x0000b18c, 0x07410742}, 
    3804 +       {0x0000b190, 0x075f0740}, 
    3805 +       {0x0000b194, 0x077f0760}, 
    3806 +       {0x0000b198, 0x07800781}, 
    3807 +       {0x0000b19c, 0x07a0079f}, 
    3808 +       {0x0000b1a0, 0x07c107bf}, 
    3809 +       {0x0000b1a4, 0x000007c0}, 
    3810 +       {0x0000b1a8, 0x00000000}, 
    3811 +       {0x0000b1ac, 0x00000000}, 
    3812 +       {0x0000b1b0, 0x00000000}, 
    3813 +       {0x0000b1b4, 0x00000000}, 
    3814 +       {0x0000b1b8, 0x00000000}, 
    3815 +       {0x0000b1bc, 0x00000000}, 
    3816 +       {0x0000b1c0, 0x00000000}, 
    3817 +       {0x0000b1c4, 0x00000000}, 
    3818 +       {0x0000b1c8, 0x00000000}, 
    3819 +       {0x0000b1cc, 0x00000000}, 
    3820 +       {0x0000b1d0, 0x00000000}, 
    3821 +       {0x0000b1d4, 0x00000000}, 
    3822 +       {0x0000b1d8, 0x00000000}, 
    3823 +       {0x0000b1dc, 0x00000000}, 
    3824 +       {0x0000b1e0, 0x00000000}, 
    3825 +       {0x0000b1e4, 0x00000000}, 
    3826 +       {0x0000b1e8, 0x00000000}, 
    3827 +       {0x0000b1ec, 0x00000000}, 
    3828 +       {0x0000b1f0, 0x00000396}, 
    3829 +       {0x0000b1f4, 0x00000396}, 
    3830 +       {0x0000b1f8, 0x00000396}, 
    3831 +       {0x0000b1fc, 0x00000196}, 
    3832 +}; 
    3833 + 
    3834 +static const u32 ar9462_pciephy_clkreq_disable_L1_2p0[][2] = { 
    3835 +       /* Addr      allmodes  */ 
    3836 +       {0x00018c00, 0x18213ede}, 
    3837 +       {0x00018c04, 0x000801d8}, 
    3838 +       {0x00018c08, 0x0003580c}, 
    3839 +}; 
    3840 + 
    3841 +static const u32 ar9462_pciephy_pll_on_clkreq_disable_L1_2p0[][2] = { 
    3842 +       /* Addr      allmodes  */ 
    3843 +       {0x00018c00, 0x18212ede}, 
    3844 +       {0x00018c04, 0x000801d8}, 
    3845 +       {0x00018c08, 0x0003580c}, 
    3846 +}; 
    3847 + 
    3848 +static const u32 ar9462_2p0_sys3ant[][2] = { 
    3849 +       /* Addr      allmodes  */ 
    3850 +       {0x00063280, 0x00040807}, 
    3851 +       {0x00063284, 0x104ccccc}, 
    3852 +}; 
    3853 + 
    3854 +static const u32 ar9462_common_rx_gain_table_ar9280_2p0[][2] = { 
    3855 +       /* Addr      allmodes  */ 
    3856 +       {0x0000a000, 0x02000101}, 
    3857 +       {0x0000a004, 0x02000102}, 
    3858 +       {0x0000a008, 0x02000103}, 
    3859 +       {0x0000a00c, 0x02000104}, 
    3860 +       {0x0000a010, 0x02000200}, 
    3861 +       {0x0000a014, 0x02000201}, 
    3862 +       {0x0000a018, 0x02000202}, 
    3863 +       {0x0000a01c, 0x02000203}, 
    3864 +       {0x0000a020, 0x02000204}, 
    3865 +       {0x0000a024, 0x02000205}, 
    3866 +       {0x0000a028, 0x02000208}, 
    3867 +       {0x0000a02c, 0x02000302}, 
    3868 +       {0x0000a030, 0x02000303}, 
    3869 +       {0x0000a034, 0x02000304}, 
    3870 +       {0x0000a038, 0x02000400}, 
    3871 +       {0x0000a03c, 0x02010300}, 
    3872 +       {0x0000a040, 0x02010301}, 
    3873 +       {0x0000a044, 0x02010302}, 
    3874 +       {0x0000a048, 0x02000500}, 
    3875 +       {0x0000a04c, 0x02010400}, 
    3876 +       {0x0000a050, 0x02020300}, 
    3877 +       {0x0000a054, 0x02020301}, 
    3878 +       {0x0000a058, 0x02020302}, 
    3879 +       {0x0000a05c, 0x02020303}, 
    3880 +       {0x0000a060, 0x02020400}, 
    3881 +       {0x0000a064, 0x02030300}, 
    3882 +       {0x0000a068, 0x02030301}, 
    3883 +       {0x0000a06c, 0x02030302}, 
    3884 +       {0x0000a070, 0x02030303}, 
    3885 +       {0x0000a074, 0x02030400}, 
    3886 +       {0x0000a078, 0x02040300}, 
    3887 +       {0x0000a07c, 0x02040301}, 
    3888 +       {0x0000a080, 0x02040302}, 
    3889 +       {0x0000a084, 0x02040303}, 
    3890 +       {0x0000a088, 0x02030500}, 
    3891 +       {0x0000a08c, 0x02040400}, 
    3892 +       {0x0000a090, 0x02050203}, 
    3893 +       {0x0000a094, 0x02050204}, 
    3894 +       {0x0000a098, 0x02050205}, 
    3895 +       {0x0000a09c, 0x02040500}, 
    3896 +       {0x0000a0a0, 0x02050301}, 
    3897 +       {0x0000a0a4, 0x02050302}, 
    3898 +       {0x0000a0a8, 0x02050303}, 
    3899 +       {0x0000a0ac, 0x02050400}, 
    3900 +       {0x0000a0b0, 0x02050401}, 
    3901 +       {0x0000a0b4, 0x02050402}, 
    3902 +       {0x0000a0b8, 0x02050403}, 
    3903 +       {0x0000a0bc, 0x02050500}, 
    3904 +       {0x0000a0c0, 0x02050501}, 
    3905 +       {0x0000a0c4, 0x02050502}, 
    3906 +       {0x0000a0c8, 0x02050503}, 
    3907 +       {0x0000a0cc, 0x02050504}, 
    3908 +       {0x0000a0d0, 0x02050600}, 
    3909 +       {0x0000a0d4, 0x02050601}, 
    3910 +       {0x0000a0d8, 0x02050602}, 
    3911 +       {0x0000a0dc, 0x02050603}, 
    3912 +       {0x0000a0e0, 0x02050604}, 
    3913 +       {0x0000a0e4, 0x02050700}, 
    3914 +       {0x0000a0e8, 0x02050701}, 
    3915 +       {0x0000a0ec, 0x02050702}, 
    3916 +       {0x0000a0f0, 0x02050703}, 
    3917 +       {0x0000a0f4, 0x02050704}, 
    3918 +       {0x0000a0f8, 0x02050705}, 
    3919 +       {0x0000a0fc, 0x02050708}, 
    3920 +       {0x0000a100, 0x02050709}, 
    3921 +       {0x0000a104, 0x0205070a}, 
    3922 +       {0x0000a108, 0x0205070b}, 
    3923 +       {0x0000a10c, 0x0205070c}, 
    3924 +       {0x0000a110, 0x0205070d}, 
    3925 +       {0x0000a114, 0x02050710}, 
    3926 +       {0x0000a118, 0x02050711}, 
    3927 +       {0x0000a11c, 0x02050712}, 
    3928 +       {0x0000a120, 0x02050713}, 
    3929 +       {0x0000a124, 0x02050714}, 
    3930 +       {0x0000a128, 0x02050715}, 
    3931 +       {0x0000a12c, 0x02050730}, 
    3932 +       {0x0000a130, 0x02050731}, 
    3933 +       {0x0000a134, 0x02050732}, 
    3934 +       {0x0000a138, 0x02050733}, 
    3935 +       {0x0000a13c, 0x02050734}, 
    3936 +       {0x0000a140, 0x02050735}, 
    3937 +       {0x0000a144, 0x02050750}, 
    3938 +       {0x0000a148, 0x02050751}, 
    3939 +       {0x0000a14c, 0x02050752}, 
    3940 +       {0x0000a150, 0x02050753}, 
    3941 +       {0x0000a154, 0x02050754}, 
    3942 +       {0x0000a158, 0x02050755}, 
    3943 +       {0x0000a15c, 0x02050770}, 
    3944 +       {0x0000a160, 0x02050771}, 
    3945 +       {0x0000a164, 0x02050772}, 
    3946 +       {0x0000a168, 0x02050773}, 
    3947 +       {0x0000a16c, 0x02050774}, 
    3948 +       {0x0000a170, 0x02050775}, 
    3949 +       {0x0000a174, 0x00000776}, 
    3950 +       {0x0000a178, 0x00000776}, 
    3951 +       {0x0000a17c, 0x00000776}, 
    3952 +       {0x0000a180, 0x00000776}, 
    3953 +       {0x0000a184, 0x00000776}, 
    3954 +       {0x0000a188, 0x00000776}, 
    3955 +       {0x0000a18c, 0x00000776}, 
    3956 +       {0x0000a190, 0x00000776}, 
    3957 +       {0x0000a194, 0x00000776}, 
    3958 +       {0x0000a198, 0x00000776}, 
    3959 +       {0x0000a19c, 0x00000776}, 
    3960 +       {0x0000a1a0, 0x00000776}, 
    3961 +       {0x0000a1a4, 0x00000776}, 
    3962 +       {0x0000a1a8, 0x00000776}, 
    3963 +       {0x0000a1ac, 0x00000776}, 
    3964 +       {0x0000a1b0, 0x00000776}, 
    3965 +       {0x0000a1b4, 0x00000776}, 
    3966 +       {0x0000a1b8, 0x00000776}, 
    3967 +       {0x0000a1bc, 0x00000776}, 
    3968 +       {0x0000a1c0, 0x00000776}, 
    3969 +       {0x0000a1c4, 0x00000776}, 
    3970 +       {0x0000a1c8, 0x00000776}, 
    3971 +       {0x0000a1cc, 0x00000776}, 
    3972 +       {0x0000a1d0, 0x00000776}, 
    3973 +       {0x0000a1d4, 0x00000776}, 
    3974 +       {0x0000a1d8, 0x00000776}, 
    3975 +       {0x0000a1dc, 0x00000776}, 
    3976 +       {0x0000a1e0, 0x00000776}, 
    3977 +       {0x0000a1e4, 0x00000776}, 
    3978 +       {0x0000a1e8, 0x00000776}, 
    3979 +       {0x0000a1ec, 0x00000776}, 
    3980 +       {0x0000a1f0, 0x00000776}, 
    3981 +       {0x0000a1f4, 0x00000776}, 
    3982 +       {0x0000a1f8, 0x00000776}, 
    3983 +       {0x0000a1fc, 0x00000776}, 
    3984 +       {0x0000b000, 0x02000101}, 
    3985 +       {0x0000b004, 0x02000102}, 
    3986 +       {0x0000b008, 0x02000103}, 
    3987 +       {0x0000b00c, 0x02000104}, 
    3988 +       {0x0000b010, 0x02000200}, 
    3989 +       {0x0000b014, 0x02000201}, 
    3990 +       {0x0000b018, 0x02000202}, 
    3991 +       {0x0000b01c, 0x02000203}, 
    3992 +       {0x0000b020, 0x02000204}, 
    3993 +       {0x0000b024, 0x02000205}, 
    3994 +       {0x0000b028, 0x02000208}, 
    3995 +       {0x0000b02c, 0x02000302}, 
    3996 +       {0x0000b030, 0x02000303}, 
    3997 +       {0x0000b034, 0x02000304}, 
    3998 +       {0x0000b038, 0x02000400}, 
    3999 +       {0x0000b03c, 0x02010300}, 
    4000 +       {0x0000b040, 0x02010301}, 
    4001 +       {0x0000b044, 0x02010302}, 
    4002 +       {0x0000b048, 0x02000500}, 
    4003 +       {0x0000b04c, 0x02010400}, 
    4004 +       {0x0000b050, 0x02020300}, 
    4005 +       {0x0000b054, 0x02020301}, 
    4006 +       {0x0000b058, 0x02020302}, 
    4007 +       {0x0000b05c, 0x02020303}, 
    4008 +       {0x0000b060, 0x02020400}, 
    4009 +       {0x0000b064, 0x02030300}, 
    4010 +       {0x0000b068, 0x02030301}, 
    4011 +       {0x0000b06c, 0x02030302}, 
    4012 +       {0x0000b070, 0x02030303}, 
    4013 +       {0x0000b074, 0x02030400}, 
    4014 +       {0x0000b078, 0x02040300}, 
    4015 +       {0x0000b07c, 0x02040301}, 
    4016 +       {0x0000b080, 0x02040302}, 
    4017 +       {0x0000b084, 0x02040303}, 
    4018 +       {0x0000b088, 0x02030500}, 
    4019 +       {0x0000b08c, 0x02040400}, 
    4020 +       {0x0000b090, 0x02050203}, 
    4021 +       {0x0000b094, 0x02050204}, 
    4022 +       {0x0000b098, 0x02050205}, 
    4023 +       {0x0000b09c, 0x02040500}, 
    4024 +       {0x0000b0a0, 0x02050301}, 
    4025 +       {0x0000b0a4, 0x02050302}, 
    4026 +       {0x0000b0a8, 0x02050303}, 
    4027 +       {0x0000b0ac, 0x02050400}, 
    4028 +       {0x0000b0b0, 0x02050401}, 
    4029 +       {0x0000b0b4, 0x02050402}, 
    4030 +       {0x0000b0b8, 0x02050403}, 
    4031 +       {0x0000b0bc, 0x02050500}, 
    4032 +       {0x0000b0c0, 0x02050501}, 
    4033 +       {0x0000b0c4, 0x02050502}, 
    4034 +       {0x0000b0c8, 0x02050503}, 
    4035 +       {0x0000b0cc, 0x02050504}, 
    4036 +       {0x0000b0d0, 0x02050600}, 
    4037 +       {0x0000b0d4, 0x02050601}, 
    4038 +       {0x0000b0d8, 0x02050602}, 
    4039 +       {0x0000b0dc, 0x02050603}, 
    4040 +       {0x0000b0e0, 0x02050604}, 
    4041 +       {0x0000b0e4, 0x02050700}, 
    4042 +       {0x0000b0e8, 0x02050701}, 
    4043 +       {0x0000b0ec, 0x02050702}, 
    4044 +       {0x0000b0f0, 0x02050703}, 
    4045 +       {0x0000b0f4, 0x02050704}, 
    4046 +       {0x0000b0f8, 0x02050705}, 
    4047 +       {0x0000b0fc, 0x02050708}, 
    4048 +       {0x0000b100, 0x02050709}, 
    4049 +       {0x0000b104, 0x0205070a}, 
    4050 +       {0x0000b108, 0x0205070b}, 
    4051 +       {0x0000b10c, 0x0205070c}, 
    4052 +       {0x0000b110, 0x0205070d}, 
    4053 +       {0x0000b114, 0x02050710}, 
    4054 +       {0x0000b118, 0x02050711}, 
    4055 +       {0x0000b11c, 0x02050712}, 
    4056 +       {0x0000b120, 0x02050713}, 
    4057 +       {0x0000b124, 0x02050714}, 
    4058 +       {0x0000b128, 0x02050715}, 
    4059 +       {0x0000b12c, 0x02050730}, 
    4060 +       {0x0000b130, 0x02050731}, 
    4061 +       {0x0000b134, 0x02050732}, 
    4062 +       {0x0000b138, 0x02050733}, 
    4063 +       {0x0000b13c, 0x02050734}, 
    4064 +       {0x0000b140, 0x02050735}, 
    4065 +       {0x0000b144, 0x02050750}, 
    4066 +       {0x0000b148, 0x02050751}, 
    4067 +       {0x0000b14c, 0x02050752}, 
    4068 +       {0x0000b150, 0x02050753}, 
    4069 +       {0x0000b154, 0x02050754}, 
    4070 +       {0x0000b158, 0x02050755}, 
    4071 +       {0x0000b15c, 0x02050770}, 
    4072 +       {0x0000b160, 0x02050771}, 
    4073 +       {0x0000b164, 0x02050772}, 
    4074 +       {0x0000b168, 0x02050773}, 
    4075 +       {0x0000b16c, 0x02050774}, 
    4076 +       {0x0000b170, 0x02050775}, 
    4077 +       {0x0000b174, 0x00000776}, 
    4078 +       {0x0000b178, 0x00000776}, 
    4079 +       {0x0000b17c, 0x00000776}, 
    4080 +       {0x0000b180, 0x00000776}, 
    4081 +       {0x0000b184, 0x00000776}, 
    4082 +       {0x0000b188, 0x00000776}, 
    4083 +       {0x0000b18c, 0x00000776}, 
    4084 +       {0x0000b190, 0x00000776}, 
    4085 +       {0x0000b194, 0x00000776}, 
    4086 +       {0x0000b198, 0x00000776}, 
    4087 +       {0x0000b19c, 0x00000776}, 
    4088 +       {0x0000b1a0, 0x00000776}, 
    4089 +       {0x0000b1a4, 0x00000776}, 
    4090 +       {0x0000b1a8, 0x00000776}, 
    4091 +       {0x0000b1ac, 0x00000776}, 
    4092 +       {0x0000b1b0, 0x00000776}, 
    4093 +       {0x0000b1b4, 0x00000776}, 
    4094 +       {0x0000b1b8, 0x00000776}, 
    4095 +       {0x0000b1bc, 0x00000776}, 
    4096 +       {0x0000b1c0, 0x00000776}, 
    4097 +       {0x0000b1c4, 0x00000776}, 
    4098 +       {0x0000b1c8, 0x00000776}, 
    4099 +       {0x0000b1cc, 0x00000776}, 
    4100 +       {0x0000b1d0, 0x00000776}, 
    4101 +       {0x0000b1d4, 0x00000776}, 
    4102 +       {0x0000b1d8, 0x00000776}, 
    4103 +       {0x0000b1dc, 0x00000776}, 
    4104 +       {0x0000b1e0, 0x00000776}, 
    4105 +       {0x0000b1e4, 0x00000776}, 
    4106 +       {0x0000b1e8, 0x00000776}, 
    4107 +       {0x0000b1ec, 0x00000776}, 
    4108 +       {0x0000b1f0, 0x00000776}, 
    4109 +       {0x0000b1f4, 0x00000776}, 
    4110 +       {0x0000b1f8, 0x00000776}, 
    4111 +       {0x0000b1fc, 0x00000776}, 
    4112 +}; 
    4113 + 
    4114 +static const u32 ar9200_ar9280_2p0_radio_core[][2] = { 
    4115 +       /* Addr      allmodes  */ 
    4116 +       {0x00007800, 0x00040000}, 
    4117 +       {0x00007804, 0xdb005012}, 
    4118 +       {0x00007808, 0x04924914}, 
    4119 +       {0x0000780c, 0x21084210}, 
    4120 +       {0x00007810, 0x6d801300}, 
    4121 +       {0x00007814, 0x0019beff}, 
    4122 +       {0x00007818, 0x07e41000}, 
    4123 +       {0x0000781c, 0x00392000}, 
    4124 +       {0x00007820, 0x92592480}, 
    4125 +       {0x00007824, 0x00040000}, 
    4126 +       {0x00007828, 0xdb005012}, 
    4127 +       {0x0000782c, 0x04924914}, 
    4128 +       {0x00007830, 0x21084210}, 
    4129 +       {0x00007834, 0x6d801300}, 
    4130 +       {0x00007838, 0x0019beff}, 
    4131 +       {0x0000783c, 0x07e40000}, 
    4132 +       {0x00007840, 0x00392000}, 
    4133 +       {0x00007844, 0x92592480}, 
    4134 +       {0x00007848, 0x00100000}, 
    4135 +       {0x0000784c, 0x773f0567}, 
    4136 +       {0x00007850, 0x54214514}, 
    4137 +       {0x00007854, 0x12035828}, 
    4138 +       {0x00007858, 0x92592692}, 
    4139 +       {0x0000785c, 0x00000000}, 
    4140 +       {0x00007860, 0x56400000}, 
    4141 +       {0x00007864, 0x0a8e370e}, 
    4142 +       {0x00007868, 0xc0102850}, 
    4143 +       {0x0000786c, 0x812d4000}, 
    4144 +       {0x00007870, 0x807ec400}, 
    4145 +       {0x00007874, 0x001b6db0}, 
    4146 +       {0x00007878, 0x00376b63}, 
    4147 +       {0x0000787c, 0x06db6db6}, 
    4148 +       {0x00007880, 0x006d8000}, 
    4149 +       {0x00007884, 0xffeffffe}, 
    4150 +       {0x00007888, 0xffeffffe}, 
    4151 +       {0x0000788c, 0x00010000}, 
    4152 +       {0x00007890, 0x02060aeb}, 
    4153 +       {0x00007894, 0x5a108000}, 
    4154 +}; 
    4155 + 
    4156 +static const u32 ar9462_2p0_mac_postamble_emulation[][5] = { 
    4157 +       /* Addr      5G_HT20     5G_HT40     2G_HT40     2G_HT20   */ 
    4158 +       {0x00008014, 0x10f810f8, 0x10f810f8, 0x10f810f8, 0x10f810f8}, 
    4159 +       {0x0000801c, 0x0e8d8017, 0x0e8d8017, 0x0e8d8017, 0x0e8d8017}, 
    4160 +}; 
    4161 + 
    4162 +static const u32 ar9462_2p0_radio_postamble_sys3ant[][5] = { 
    4163 +       /* Addr      5G_HT20     5G_HT40     2G_HT40     2G_HT20   */ 
    4164 +       {0x000160ac, 0xa4646c08, 0xa4646c08, 0x24645808, 0x24645808}, 
    4165 +       {0x00016140, 0x10804008, 0x10804008, 0x90804008, 0x90804008}, 
    4166 +       {0x00016540, 0x10804008, 0x10804008, 0x90804008, 0x90804008}, 
    4167 +}; 
    4168 + 
    4169 +static const u32 ar9462_2p0_baseband_postamble_emulation[][5] = { 
    4170 +       /* Addr      5G_HT20     5G_HT40     2G_HT40     2G_HT20   */ 
    4171 +       {0x00009e18, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, 
    4172 +       {0x00009e3c, 0xcf946221, 0xcf946221, 0xcf946221, 0xcf946221}, 
    4173 +       {0x00009e44, 0xfc5c0000, 0xfc5c0000, 0xfc5c0000, 0xfc5c0000}, 
    4174 +       {0x0000a258, 0x02020200, 0x02020200, 0x02020200, 0x02020200}, 
    4175 +       {0x0000a25c, 0x00000e0e, 0x00000e0e, 0x00000e0e, 0x00000e0e}, 
    4176 +       {0x0000a28c, 0x00011111, 0x00011111, 0x00011111, 0x00011111}, 
    4177 +       {0x0000a2c4, 0x00148d18, 0x00148d18, 0x00148d20, 0x00148d20}, 
    4178 +       {0x0000a2d8, 0xf999a800, 0xf999a800, 0xf999a80c, 0xf999a80c}, 
    4179 +       {0x0000a50c, 0x0000c00a, 0x0000c00a, 0x0000c00a, 0x0000c00a}, 
    4180 +       {0x0000a538, 0x00038e8c, 0x00038e8c, 0x00038e8c, 0x00038e8c}, 
    4181 +       {0x0000a53c, 0x0003cecc, 0x0003cecc, 0x0003cecc, 0x0003cecc}, 
    4182 +       {0x0000a540, 0x00040ed4, 0x00040ed4, 0x00040ed4, 0x00040ed4}, 
    4183 +       {0x0000a544, 0x00044edc, 0x00044edc, 0x00044edc, 0x00044edc}, 
    4184 +       {0x0000a548, 0x00048ede, 0x00048ede, 0x00048ede, 0x00048ede}, 
    4185 +       {0x0000a54c, 0x0004cf1e, 0x0004cf1e, 0x0004cf1e, 0x0004cf1e}, 
    4186 +       {0x0000a550, 0x00050f5e, 0x00050f5e, 0x00050f5e, 0x00050f5e}, 
    4187 +       {0x0000a554, 0x00054f9e, 0x00054f9e, 0x00054f9e, 0x00054f9e}, 
    4188 +       {0x0000ae18, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, 
    4189 +}; 
    4190 + 
    4191 +static const u32 ar9462_2p0_radio_postamble_sys2ant[][5] = { 
    4192 +       /* Addr      5G_HT20     5G_HT40     2G_HT40     2G_HT20   */ 
    4193 +       {0x000160ac, 0xa4646c08, 0xa4646c08, 0x24645808, 0x24645808}, 
    4194 +       {0x00016140, 0x10804008, 0x10804008, 0x90804008, 0x90804008}, 
    4195 +       {0x00016540, 0x10804008, 0x10804008, 0x90804008, 0x90804008}, 
    4196 +}; 
    4197 + 
    4198 +static const u32 ar9462_common_wo_xlna_rx_gain_table_2p0[][2] = { 
    4199 +       /* Addr      allmodes  */ 
    4200 +       {0x0000a000, 0x00010000}, 
    4201 +       {0x0000a004, 0x00030002}, 
    4202 +       {0x0000a008, 0x00050004}, 
    4203 +       {0x0000a00c, 0x00810080}, 
    4204 +       {0x0000a010, 0x00830082}, 
    4205 +       {0x0000a014, 0x01810180}, 
    4206 +       {0x0000a018, 0x01830182}, 
    4207 +       {0x0000a01c, 0x01850184}, 
    4208 +       {0x0000a020, 0x01890188}, 
    4209 +       {0x0000a024, 0x018b018a}, 
    4210 +       {0x0000a028, 0x018d018c}, 
    4211 +       {0x0000a02c, 0x03820190}, 
    4212 +       {0x0000a030, 0x03840383}, 
    4213 +       {0x0000a034, 0x03880385}, 
    4214 +       {0x0000a038, 0x038a0389}, 
    4215 +       {0x0000a03c, 0x038c038b}, 
    4216 +       {0x0000a040, 0x0390038d}, 
    4217 +       {0x0000a044, 0x03920391}, 
    4218 +       {0x0000a048, 0x03940393}, 
    4219 +       {0x0000a04c, 0x03960395}, 
    4220 +       {0x0000a050, 0x00000000}, 
    4221 +       {0x0000a054, 0x00000000}, 
    4222 +       {0x0000a058, 0x00000000}, 
    4223 +       {0x0000a05c, 0x00000000}, 
    4224 +       {0x0000a060, 0x00000000}, 
    4225 +       {0x0000a064, 0x00000000}, 
    4226 +       {0x0000a068, 0x00000000}, 
    4227 +       {0x0000a06c, 0x00000000}, 
    4228 +       {0x0000a070, 0x00000000}, 
    4229 +       {0x0000a074, 0x00000000}, 
    4230 +       {0x0000a078, 0x00000000}, 
    4231 +       {0x0000a07c, 0x00000000}, 
    4232 +       {0x0000a080, 0x29292929}, 
    4233 +       {0x0000a084, 0x29292929}, 
    4234 +       {0x0000a088, 0x29292929}, 
    4235 +       {0x0000a08c, 0x29292929}, 
    4236 +       {0x0000a090, 0x22292929}, 
    4237 +       {0x0000a094, 0x1d1d2222}, 
    4238 +       {0x0000a098, 0x0c111117}, 
    4239 +       {0x0000a09c, 0x00030303}, 
    4240 +       {0x0000a0a0, 0x00000000}, 
    4241 +       {0x0000a0a4, 0x00000000}, 
    4242 +       {0x0000a0a8, 0x00000000}, 
    4243 +       {0x0000a0ac, 0x00000000}, 
    4244 +       {0x0000a0b0, 0x00000000}, 
    4245 +       {0x0000a0b4, 0x00000000}, 
    4246 +       {0x0000a0b8, 0x00000000}, 
    4247 +       {0x0000a0bc, 0x00000000}, 
    4248 +       {0x0000a0c0, 0x001f0000}, 
    4249 +       {0x0000a0c4, 0x01000101}, 
    4250 +       {0x0000a0c8, 0x011e011f}, 
    4251 +       {0x0000a0cc, 0x011c011d}, 
    4252 +       {0x0000a0d0, 0x02030204}, 
    4253 +       {0x0000a0d4, 0x02010202}, 
    4254 +       {0x0000a0d8, 0x021f0200}, 
    4255 +       {0x0000a0dc, 0x0302021e}, 
    4256 +       {0x0000a0e0, 0x03000301}, 
    4257 +       {0x0000a0e4, 0x031e031f}, 
    4258 +       {0x0000a0e8, 0x0402031d}, 
    4259 +       {0x0000a0ec, 0x04000401}, 
    4260 +       {0x0000a0f0, 0x041e041f}, 
    4261 +       {0x0000a0f4, 0x0502041d}, 
    4262 +       {0x0000a0f8, 0x05000501}, 
    4263 +       {0x0000a0fc, 0x051e051f}, 
    4264 +       {0x0000a100, 0x06010602}, 
    4265 +       {0x0000a104, 0x061f0600}, 
    4266 +       {0x0000a108, 0x061d061e}, 
    4267 +       {0x0000a10c, 0x07020703}, 
    4268 +       {0x0000a110, 0x07000701}, 
    4269 +       {0x0000a114, 0x00000000}, 
    4270 +       {0x0000a118, 0x00000000}, 
    4271 +       {0x0000a11c, 0x00000000}, 
    4272 +       {0x0000a120, 0x00000000}, 
    4273 +       {0x0000a124, 0x00000000}, 
    4274 +       {0x0000a128, 0x00000000}, 
    4275 +       {0x0000a12c, 0x00000000}, 
    4276 +       {0x0000a130, 0x00000000}, 
    4277 +       {0x0000a134, 0x00000000}, 
    4278 +       {0x0000a138, 0x00000000}, 
    4279 +       {0x0000a13c, 0x00000000}, 
    4280 +       {0x0000a140, 0x001f0000}, 
    4281 +       {0x0000a144, 0x01000101}, 
    4282 +       {0x0000a148, 0x011e011f}, 
    4283 +       {0x0000a14c, 0x011c011d}, 
    4284 +       {0x0000a150, 0x02030204}, 
    4285 +       {0x0000a154, 0x02010202}, 
    4286 +       {0x0000a158, 0x021f0200}, 
    4287 +       {0x0000a15c, 0x0302021e}, 
    4288 +       {0x0000a160, 0x03000301}, 
    4289 +       {0x0000a164, 0x031e031f}, 
    4290 +       {0x0000a168, 0x0402031d}, 
    4291 +       {0x0000a16c, 0x04000401}, 
    4292 +       {0x0000a170, 0x041e041f}, 
    4293 +       {0x0000a174, 0x0502041d}, 
    4294 +       {0x0000a178, 0x05000501}, 
    4295 +       {0x0000a17c, 0x051e051f}, 
    4296 +       {0x0000a180, 0x06010602}, 
    4297 +       {0x0000a184, 0x061f0600}, 
    4298 +       {0x0000a188, 0x061d061e}, 
    4299 +       {0x0000a18c, 0x07020703}, 
    4300 +       {0x0000a190, 0x07000701}, 
    4301 +       {0x0000a194, 0x00000000}, 
    4302 +       {0x0000a198, 0x00000000}, 
    4303 +       {0x0000a19c, 0x00000000}, 
    4304 +       {0x0000a1a0, 0x00000000}, 
    4305 +       {0x0000a1a4, 0x00000000}, 
    4306 +       {0x0000a1a8, 0x00000000}, 
    4307 +       {0x0000a1ac, 0x00000000}, 
    4308 +       {0x0000a1b0, 0x00000000}, 
    4309 +       {0x0000a1b4, 0x00000000}, 
    4310 +       {0x0000a1b8, 0x00000000}, 
    4311 +       {0x0000a1bc, 0x00000000}, 
    4312 +       {0x0000a1c0, 0x00000000}, 
    4313 +       {0x0000a1c4, 0x00000000}, 
    4314 +       {0x0000a1c8, 0x00000000}, 
    4315 +       {0x0000a1cc, 0x00000000}, 
    4316 +       {0x0000a1d0, 0x00000000}, 
    4317 +       {0x0000a1d4, 0x00000000}, 
    4318 +       {0x0000a1d8, 0x00000000}, 
    4319 +       {0x0000a1dc, 0x00000000}, 
    4320 +       {0x0000a1e0, 0x00000000}, 
    4321 +       {0x0000a1e4, 0x00000000}, 
    4322 +       {0x0000a1e8, 0x00000000}, 
    4323 +       {0x0000a1ec, 0x00000000}, 
    4324 +       {0x0000a1f0, 0x00000396}, 
    4325 +       {0x0000a1f4, 0x00000396}, 
    4326 +       {0x0000a1f8, 0x00000396}, 
    4327 +       {0x0000a1fc, 0x00000196}, 
    4328 +       {0x0000b000, 0x00010000}, 
    4329 +       {0x0000b004, 0x00030002}, 
    4330 +       {0x0000b008, 0x00050004}, 
    4331 +       {0x0000b00c, 0x00810080}, 
    4332 +       {0x0000b010, 0x00830082}, 
    4333 +       {0x0000b014, 0x01810180}, 
    4334 +       {0x0000b018, 0x01830182}, 
    4335 +       {0x0000b01c, 0x01850184}, 
    4336 +       {0x0000b020, 0x02810280}, 
    4337 +       {0x0000b024, 0x02830282}, 
    4338 +       {0x0000b028, 0x02850284}, 
    4339 +       {0x0000b02c, 0x02890288}, 
    4340 +       {0x0000b030, 0x028b028a}, 
    4341 +       {0x0000b034, 0x0388028c}, 
    4342 +       {0x0000b038, 0x038a0389}, 
    4343 +       {0x0000b03c, 0x038c038b}, 
    4344 +       {0x0000b040, 0x0390038d}, 
    4345 +       {0x0000b044, 0x03920391}, 
    4346 +       {0x0000b048, 0x03940393}, 
    4347 +       {0x0000b04c, 0x03960395}, 
    4348 +       {0x0000b050, 0x00000000}, 
    4349 +       {0x0000b054, 0x00000000}, 
    4350 +       {0x0000b058, 0x00000000}, 
    4351 +       {0x0000b05c, 0x00000000}, 
    4352 +       {0x0000b060, 0x00000000}, 
    4353 +       {0x0000b064, 0x00000000}, 
    4354 +       {0x0000b068, 0x00000000}, 
    4355 +       {0x0000b06c, 0x00000000}, 
    4356 +       {0x0000b070, 0x00000000}, 
    4357 +       {0x0000b074, 0x00000000}, 
    4358 +       {0x0000b078, 0x00000000}, 
    4359 +       {0x0000b07c, 0x00000000}, 
    4360 +       {0x0000b080, 0x32323232}, 
    4361 +       {0x0000b084, 0x2f2f3232}, 
    4362 +       {0x0000b088, 0x23282a2d}, 
    4363 +       {0x0000b08c, 0x1c1e2123}, 
    4364 +       {0x0000b090, 0x14171919}, 
    4365 +       {0x0000b094, 0x0e0e1214}, 
    4366 +       {0x0000b098, 0x03050707}, 
    4367 +       {0x0000b09c, 0x00030303}, 
    4368 +       {0x0000b0a0, 0x00000000}, 
    4369 +       {0x0000b0a4, 0x00000000}, 
    4370 +       {0x0000b0a8, 0x00000000}, 
    4371 +       {0x0000b0ac, 0x00000000}, 
    4372 +       {0x0000b0b0, 0x00000000}, 
    4373 +       {0x0000b0b4, 0x00000000}, 
    4374 +       {0x0000b0b8, 0x00000000}, 
    4375 +       {0x0000b0bc, 0x00000000}, 
    4376 +       {0x0000b0c0, 0x003f0020}, 
    4377 +       {0x0000b0c4, 0x00400041}, 
    4378 +       {0x0000b0c8, 0x0140005f}, 
    4379 +       {0x0000b0cc, 0x0160015f}, 
    4380 +       {0x0000b0d0, 0x017e017f}, 
    4381 +       {0x0000b0d4, 0x02410242}, 
    4382 +       {0x0000b0d8, 0x025f0240}, 
    4383 +       {0x0000b0dc, 0x027f0260}, 
    4384 +       {0x0000b0e0, 0x0341027e}, 
    4385 +       {0x0000b0e4, 0x035f0340}, 
    4386 +       {0x0000b0e8, 0x037f0360}, 
    4387 +       {0x0000b0ec, 0x04400441}, 
    4388 +       {0x0000b0f0, 0x0460045f}, 
    4389 +       {0x0000b0f4, 0x0541047f}, 
    4390 +       {0x0000b0f8, 0x055f0540}, 
    4391 +       {0x0000b0fc, 0x057f0560}, 
    4392 +       {0x0000b100, 0x06400641}, 
    4393 +       {0x0000b104, 0x0660065f}, 
    4394 +       {0x0000b108, 0x067e067f}, 
    4395 +       {0x0000b10c, 0x07410742}, 
    4396 +       {0x0000b110, 0x075f0740}, 
    4397 +       {0x0000b114, 0x077f0760}, 
    4398 +       {0x0000b118, 0x07800781}, 
    4399 +       {0x0000b11c, 0x07a0079f}, 
    4400 +       {0x0000b120, 0x07c107bf}, 
    4401 +       {0x0000b124, 0x000007c0}, 
    4402 +       {0x0000b128, 0x00000000}, 
    4403 +       {0x0000b12c, 0x00000000}, 
    4404 +       {0x0000b130, 0x00000000}, 
    4405 +       {0x0000b134, 0x00000000}, 
    4406 +       {0x0000b138, 0x00000000}, 
    4407 +       {0x0000b13c, 0x00000000}, 
    4408 +       {0x0000b140, 0x003f0020}, 
    4409 +       {0x0000b144, 0x00400041}, 
    4410 +       {0x0000b148, 0x0140005f}, 
    4411 +       {0x0000b14c, 0x0160015f}, 
    4412 +       {0x0000b150, 0x017e017f}, 
    4413 +       {0x0000b154, 0x02410242}, 
    4414 +       {0x0000b158, 0x025f0240}, 
    4415 +       {0x0000b15c, 0x027f0260}, 
    4416 +       {0x0000b160, 0x0341027e}, 
    4417 +       {0x0000b164, 0x035f0340}, 
    4418 +       {0x0000b168, 0x037f0360}, 
    4419 +       {0x0000b16c, 0x04400441}, 
    4420 +       {0x0000b170, 0x0460045f}, 
    4421 +       {0x0000b174, 0x0541047f}, 
    4422 +       {0x0000b178, 0x055f0540}, 
    4423 +       {0x0000b17c, 0x057f0560}, 
    4424 +       {0x0000b180, 0x06400641}, 
    4425 +       {0x0000b184, 0x0660065f}, 
    4426 +       {0x0000b188, 0x067e067f}, 
    4427 +       {0x0000b18c, 0x07410742}, 
    4428 +       {0x0000b190, 0x075f0740}, 
    4429 +       {0x0000b194, 0x077f0760}, 
    4430 +       {0x0000b198, 0x07800781}, 
    4431 +       {0x0000b19c, 0x07a0079f}, 
    4432 +       {0x0000b1a0, 0x07c107bf}, 
    4433 +       {0x0000b1a4, 0x000007c0}, 
    4434 +       {0x0000b1a8, 0x00000000}, 
    4435 +       {0x0000b1ac, 0x00000000}, 
    4436 +       {0x0000b1b0, 0x00000000}, 
    4437 +       {0x0000b1b4, 0x00000000}, 
    4438 +       {0x0000b1b8, 0x00000000}, 
    4439 +       {0x0000b1bc, 0x00000000}, 
    4440 +       {0x0000b1c0, 0x00000000}, 
    4441 +       {0x0000b1c4, 0x00000000}, 
    4442 +       {0x0000b1c8, 0x00000000}, 
    4443 +       {0x0000b1cc, 0x00000000}, 
    4444 +       {0x0000b1d0, 0x00000000}, 
    4445 +       {0x0000b1d4, 0x00000000}, 
    4446 +       {0x0000b1d8, 0x00000000}, 
    4447 +       {0x0000b1dc, 0x00000000}, 
    4448 +       {0x0000b1e0, 0x00000000}, 
    4449 +       {0x0000b1e4, 0x00000000}, 
    4450 +       {0x0000b1e8, 0x00000000}, 
    4451 +       {0x0000b1ec, 0x00000000}, 
    4452 +       {0x0000b1f0, 0x00000396}, 
    4453 +       {0x0000b1f4, 0x00000396}, 
    4454 +       {0x0000b1f8, 0x00000396}, 
    4455 +       {0x0000b1fc, 0x00000196}, 
    4456 +}; 
    4457 + 
    4458 +static const u32 ar9462_2p0_baseband_core_txfir_coeff_japan_2484[][2] = { 
    4459 +       /* Addr      allmodes  */ 
    4460 +       {0x0000a398, 0x00000000}, 
    4461 +       {0x0000a39c, 0x6f7f0301}, 
    4462 +       {0x0000a3a0, 0xca9228ee}, 
    4463 +}; 
    4464 + 
    4465 +static const u32 ar9462_modes_low_ob_db_tx_gain_table_2p0[][5] = { 
    4466 +       /* Addr      5G_HT20     5G_HT40     2G_HT40     2G_HT20   */ 
    4467 +       {0x000098bc, 0x00000002, 0x00000002, 0x00000002, 0x00000002}, 
    4468 +       {0x0000a2dc, 0x0380c7fc, 0x0380c7fc, 0x03aaa352, 0x03aaa352}, 
    4469 +       {0x0000a2e0, 0x0000f800, 0x0000f800, 0x03ccc584, 0x03ccc584}, 
    4470 +       {0x0000a2e4, 0x03ff0000, 0x03ff0000, 0x03f0f800, 0x03f0f800}, 
    4471 +       {0x0000a2e8, 0x00000000, 0x00000000, 0x03ff0000, 0x03ff0000}, 
    4472 +       {0x0000a410, 0x000050d9, 0x000050d9, 0x000050d9, 0x000050d9}, 
    4473 +       {0x0000a458, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, 
    4474 +       {0x0000a500, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, 
    4475 +       {0x0000a504, 0x06000003, 0x06000003, 0x04000002, 0x04000002}, 
    4476 +       {0x0000a508, 0x0a000020, 0x0a000020, 0x08000004, 0x08000004}, 
    4477 +       {0x0000a50c, 0x10000023, 0x10000023, 0x0b000200, 0x0b000200}, 
    4478 +       {0x0000a510, 0x16000220, 0x16000220, 0x0f000202, 0x0f000202}, 
    4479 +       {0x0000a514, 0x1c000223, 0x1c000223, 0x12000400, 0x12000400}, 
    4480 +       {0x0000a518, 0x21020220, 0x21020220, 0x16000402, 0x16000402}, 
    4481 +       {0x0000a51c, 0x27020223, 0x27020223, 0x19000404, 0x19000404}, 
    4482 +       {0x0000a520, 0x2b022220, 0x2b022220, 0x1c000603, 0x1c000603}, 
    4483 +       {0x0000a524, 0x2f022222, 0x2f022222, 0x21000a02, 0x21000a02}, 
    4484 +       {0x0000a528, 0x34022225, 0x34022225, 0x25000a04, 0x25000a04}, 
    4485 +       {0x0000a52c, 0x3a02222a, 0x3a02222a, 0x28000a20, 0x28000a20}, 
    4486 +       {0x0000a530, 0x3e02222c, 0x3e02222c, 0x2c000e20, 0x2c000e20}, 
    4487 +       {0x0000a534, 0x4202242a, 0x4202242a, 0x30000e22, 0x30000e22}, 
    4488 +       {0x0000a538, 0x4702244a, 0x4702244a, 0x34000e24, 0x34000e24}, 
    4489 +       {0x0000a53c, 0x4b02244c, 0x4b02244c, 0x38001640, 0x38001640}, 
    4490 +       {0x0000a540, 0x4e02246c, 0x4e02246c, 0x3c001660, 0x3c001660}, 
    4491 +       {0x0000a544, 0x5302266c, 0x5302266c, 0x3f001861, 0x3f001861}, 
    4492 +       {0x0000a548, 0x5702286c, 0x5702286c, 0x43001a81, 0x43001a81}, 
    4493 +       {0x0000a54c, 0x5c04286b, 0x5c04286b, 0x47001a83, 0x47001a83}, 
    4494 +       {0x0000a550, 0x61042a6c, 0x61042a6c, 0x4a001c84, 0x4a001c84}, 
    4495 +       {0x0000a554, 0x66062a6c, 0x66062a6c, 0x4e001ce3, 0x4e001ce3}, 
    4496 +       {0x0000a558, 0x6b062e6c, 0x6b062e6c, 0x52001ce5, 0x52001ce5}, 
    4497 +       {0x0000a55c, 0x7006308c, 0x7006308c, 0x56001ce9, 0x56001ce9}, 
    4498 +       {0x0000a560, 0x730a308a, 0x730a308a, 0x5a001ceb, 0x5a001ceb}, 
    4499 +       {0x0000a564, 0x770a308c, 0x770a308c, 0x5d001eec, 0x5d001eec}, 
    4500 +       {0x0000a568, 0x770a308c, 0x770a308c, 0x5d001eec, 0x5d001eec}, 
    4501 +       {0x0000a56c, 0x770a308c, 0x770a308c, 0x5d001eec, 0x5d001eec}, 
    4502 +       {0x0000a570, 0x770a308c, 0x770a308c, 0x5d001eec, 0x5d001eec}, 
    4503 +       {0x0000a574, 0x770a308c, 0x770a308c, 0x5d001eec, 0x5d001eec}, 
    4504 +       {0x0000a578, 0x770a308c, 0x770a308c, 0x5d001eec, 0x5d001eec}, 
    4505 +       {0x0000a57c, 0x770a308c, 0x770a308c, 0x5d001eec, 0x5d001eec}, 
    4506 +       {0x0000a600, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, 
    4507 +       {0x0000a604, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, 
    4508 +       {0x0000a608, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, 
    4509 +       {0x0000a60c, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, 
    4510 +       {0x0000a610, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, 
    4511 +       {0x0000a614, 0x01404000, 0x01404000, 0x01404000, 0x01404000}, 
    4512 +       {0x0000a618, 0x01404501, 0x01404501, 0x01404501, 0x01404501}, 
    4513 +       {0x0000a61c, 0x02008802, 0x02008802, 0x02008501, 0x02008501}, 
    4514 +       {0x0000a620, 0x0300cc03, 0x0300cc03, 0x0280ca03, 0x0280ca03}, 
    4515 +       {0x0000a624, 0x0300cc03, 0x0300cc03, 0x03010c04, 0x03010c04}, 
    4516 +       {0x0000a628, 0x0300cc03, 0x0300cc03, 0x04014c04, 0x04014c04}, 
    4517 +       {0x0000a62c, 0x03810c03, 0x03810c03, 0x04015005, 0x04015005}, 
    4518 +       {0x0000a630, 0x03810e04, 0x03810e04, 0x04015005, 0x04015005}, 
    4519 +       {0x0000a634, 0x03810e04, 0x03810e04, 0x04015005, 0x04015005}, 
    4520 +       {0x0000a638, 0x03810e04, 0x03810e04, 0x04015005, 0x04015005}, 
    4521 +       {0x0000a63c, 0x03810e04, 0x03810e04, 0x04015005, 0x04015005}, 
    4522 +       {0x0000b2dc, 0x0380c7fc, 0x0380c7fc, 0x03aaa352, 0x03aaa352}, 
    4523 +       {0x0000b2e0, 0x0000f800, 0x0000f800, 0x03ccc584, 0x03ccc584}, 
    4524 +       {0x0000b2e4, 0x03ff0000, 0x03ff0000, 0x03f0f800, 0x03f0f800}, 
    4525 +       {0x0000b2e8, 0x00000000, 0x00000000, 0x03ff0000, 0x03ff0000}, 
    4526 +       {0x00016044, 0x012482d4, 0x012482d4, 0x012482d4, 0x012482d4}, 
    4527 +       {0x00016048, 0x64992060, 0x64992060, 0x64992060, 0x64992060}, 
    4528 +       {0x00016054, 0x6db60000, 0x6db60000, 0x6db60000, 0x6db60000}, 
    4529 +       {0x00016444, 0x012482d4, 0x012482d4, 0x012482d4, 0x012482d4}, 
    4530 +       {0x00016448, 0x64992000, 0x64992000, 0x64992000, 0x64992000}, 
    4531 +       {0x00016454, 0x6db60000, 0x6db60000, 0x6db60000, 0x6db60000}, 
    4532 +}; 
    4533 + 
    4534 +static const u32 ar9462_2p0_soc_postamble[][5] = { 
    4535 +       /* Addr      5G_HT20     5G_HT40     2G_HT40     2G_HT20   */ 
    4536 +       {0x00007010, 0x00002233, 0x00002233, 0x00002233, 0x00002233}, 
    4537 +}; 
    4538 + 
    4539 +static const u32 ar9462_2p0_baseband_core[][2] = { 
    4540 +       /* Addr      allmodes  */ 
    4541 +       {0x00009800, 0xafe68e30}, 
    4542 +       {0x00009804, 0xfd14e000}, 
    4543 +       {0x00009808, 0x9c0a9f6b}, 
    4544 +       {0x0000980c, 0x04900000}, 
    4545 +       {0x00009814, 0x9280c00a}, 
    4546 +       {0x00009818, 0x00000000}, 
    4547 +       {0x0000981c, 0x00020028}, 
    4548 +       {0x00009834, 0x6400a290}, 
    4549 +       {0x00009838, 0x0108ecff}, 
    4550 +       {0x0000983c, 0x0d000600}, 
    4551 +       {0x00009880, 0x201fff00}, 
    4552 +       {0x00009884, 0x00001042}, 
    4553 +       {0x000098a4, 0x00200400}, 
    4554 +       {0x000098b0, 0x32440bbe}, 
    4555 +       {0x000098d0, 0x004b6a8e}, 
    4556 +       {0x000098d4, 0x00000820}, 
    4557 +       {0x000098dc, 0x00000000}, 
    4558 +       {0x000098e4, 0x01ffffff}, 
    4559 +       {0x000098e8, 0x01ffffff}, 
    4560 +       {0x000098ec, 0x01ffffff}, 
    4561 +       {0x000098f0, 0x00000000}, 
    4562 +       {0x000098f4, 0x00000000}, 
    4563 +       {0x00009bf0, 0x80000000}, 
    4564 +       {0x00009c04, 0xff55ff55}, 
    4565 +       {0x00009c08, 0x0320ff55}, 
    4566 +       {0x00009c0c, 0x00000000}, 
    4567 +       {0x00009c10, 0x00000000}, 
    4568 +       {0x00009c14, 0x00046384}, 
    4569 +       {0x00009c18, 0x05b6b440}, 
    4570 +       {0x00009c1c, 0x00b6b440}, 
    4571 +       {0x00009d00, 0xc080a333}, 
    4572 +       {0x00009d04, 0x40206c10}, 
    4573 +       {0x00009d08, 0x009c4060}, 
    4574 +       {0x00009d0c, 0x9883800a}, 
    4575 +       {0x00009d10, 0x01834061}, 
    4576 +       {0x00009d14, 0x00c0040b}, 
    4577 +       {0x00009d18, 0x00000000}, 
    4578 +       {0x00009e08, 0x0038230c}, 
    4579 +       {0x00009e24, 0x990bb515}, 
    4580 +       {0x00009e28, 0x0c6f0000}, 
    4581 +       {0x00009e30, 0x06336f77}, 
    4582 +       {0x00009e34, 0x6af6532f}, 
    4583 +       {0x00009e38, 0x0cc80c00}, 
    4584 +       {0x00009e40, 0x0d261820}, 
    4585 +       {0x00009e4c, 0x00001004}, 
    4586 +       {0x00009e50, 0x00ff03f1}, 
    4587 +       {0x00009e54, 0xe4c355c7}, 
    4588 +       {0x00009e58, 0xfd897735}, 
    4589 +       {0x00009e5c, 0xe9198724}, 
    4590 +       {0x00009fc0, 0x803e4788}, 
    4591 +       {0x00009fc4, 0x0001efb5}, 
    4592 +       {0x00009fcc, 0x40000014}, 
    4593 +       {0x00009fd0, 0x01193b93}, 
    4594 +       {0x0000a20c, 0x00000000}, 
    4595 +       {0x0000a220, 0x00000000}, 
    4596 +       {0x0000a224, 0x00000000}, 
    4597 +       {0x0000a228, 0x10002310}, 
    4598 +       {0x0000a23c, 0x00000000}, 
    4599 +       {0x0000a244, 0x0c000000}, 
    4600 +       {0x0000a2a0, 0x00000001}, 
    4601 +       {0x0000a2c0, 0x00000001}, 
    4602 +       {0x0000a2c8, 0x00000000}, 
    4603 +       {0x0000a2cc, 0x18c43433}, 
    4604 +       {0x0000a2d4, 0x00000000}, 
    4605 +       {0x0000a2ec, 0x00000000}, 
    4606 +       {0x0000a2f0, 0x00000000}, 
    4607 +       {0x0000a2f4, 0x00000000}, 
    4608 +       {0x0000a2f8, 0x00000000}, 
    4609 +       {0x0000a344, 0x00000000}, 
    4610 +       {0x0000a34c, 0x00000000}, 
    4611 +       {0x0000a350, 0x0000a000}, 
    4612 +       {0x0000a364, 0x00000000}, 
    4613 +       {0x0000a370, 0x00000000}, 
    4614 +       {0x0000a390, 0x00000001}, 
    4615 +       {0x0000a394, 0x00000444}, 
    4616 +       {0x0000a398, 0x001f0e0f}, 
    4617 +       {0x0000a39c, 0x0075393f}, 
    4618 +       {0x0000a3a0, 0xb79f6427}, 
    4619 +       {0x0000a3a4, 0x00000000}, 
    4620 +       {0x0000a3a8, 0xaaaaaaaa}, 
    4621 +       {0x0000a3ac, 0x3c466478}, 
    4622 +       {0x0000a3c0, 0x20202020}, 
    4623 +       {0x0000a3c4, 0x22222220}, 
    4624 +       {0x0000a3c8, 0x20200020}, 
    4625 +       {0x0000a3cc, 0x20202020}, 
    4626 +       {0x0000a3d0, 0x20202020}, 
    4627 +       {0x0000a3d4, 0x20202020}, 
    4628 +       {0x0000a3d8, 0x20202020}, 
    4629 +       {0x0000a3dc, 0x20202020}, 
    4630 +       {0x0000a3e0, 0x20202020}, 
    4631 +       {0x0000a3e4, 0x20202020}, 
    4632 +       {0x0000a3e8, 0x20202020}, 
    4633 +       {0x0000a3ec, 0x20202020}, 
    4634 +       {0x0000a3f0, 0x00000000}, 
    4635 +       {0x0000a3f4, 0x00000006}, 
    4636 +       {0x0000a3f8, 0x0c9bd380}, 
    4637 +       {0x0000a3fc, 0x000f0f01}, 
    4638 +       {0x0000a400, 0x8fa91f01}, 
    4639 +       {0x0000a404, 0x00000000}, 
    4640 +       {0x0000a408, 0x0e79e5c6}, 
    4641 +       {0x0000a40c, 0x00820820}, 
    4642 +       {0x0000a414, 0x1ce739ce}, 
    4643 +       {0x0000a418, 0x2d001dce}, 
    4644 +       {0x0000a41c, 0x1ce739ce}, 
    4645 +       {0x0000a420, 0x000001ce}, 
    4646 +       {0x0000a424, 0x1ce739ce}, 
    4647 +       {0x0000a428, 0x000001ce}, 
    4648 +       {0x0000a42c, 0x1ce739ce}, 
    4649 +       {0x0000a430, 0x1ce739ce}, 
    4650 +       {0x0000a434, 0x00000000}, 
    4651 +       {0x0000a438, 0x00001801}, 
    4652 +       {0x0000a43c, 0x00100000}, 
    4653 +       {0x0000a444, 0x00000000}, 
    4654 +       {0x0000a448, 0x05000080}, 
    4655 +       {0x0000a44c, 0x00000001}, 
    4656 +       {0x0000a450, 0x00010000}, 
    4657 +       {0x0000a454, 0x07000000}, 
    4658 +       {0x0000a644, 0xbfad9d74}, 
    4659 +       {0x0000a648, 0x0048060a}, 
    4660 +       {0x0000a64c, 0x00002037}, 
    4661 +       {0x0000a670, 0x03020100}, 
    4662 +       {0x0000a674, 0x09080504}, 
    4663 +       {0x0000a678, 0x0d0c0b0a}, 
    4664 +       {0x0000a67c, 0x13121110}, 
    4665 +       {0x0000a680, 0x31301514}, 
    4666 +       {0x0000a684, 0x35343332}, 
    4667 +       {0x0000a688, 0x00000036}, 
    4668 +       {0x0000a690, 0x00000838}, 
    4669 +       {0x0000a6b0, 0x0000000a}, 
    4670 +       {0x0000a6b4, 0x00512c01}, 
    4671 +       {0x0000a7c0, 0x00000000}, 
    4672 +       {0x0000a7c4, 0xfffffffc}, 
    4673 +       {0x0000a7c8, 0x00000000}, 
    4674 +       {0x0000a7cc, 0x00000000}, 
    4675 +       {0x0000a7d0, 0x00000000}, 
    4676 +       {0x0000a7d4, 0x00000004}, 
    4677 +       {0x0000a7dc, 0x00000001}, 
    4678 +       {0x0000a7f0, 0x80000000}, 
    4679 +       {0x0000a8d0, 0x004b6a8e}, 
    4680 +       {0x0000a8d4, 0x00000820}, 
    4681 +       {0x0000a8dc, 0x00000000}, 
    4682 +       {0x0000a8f0, 0x00000000}, 
    4683 +       {0x0000a8f4, 0x00000000}, 
    4684 +       {0x0000abf0, 0x80000000}, 
    4685 +       {0x0000b2d0, 0x00000080}, 
    4686 +       {0x0000b2d4, 0x00000000}, 
    4687 +       {0x0000b2ec, 0x00000000}, 
    4688 +       {0x0000b2f0, 0x00000000}, 
    4689 +       {0x0000b2f4, 0x00000000}, 
    4690 +       {0x0000b2f8, 0x00000000}, 
    4691 +       {0x0000b408, 0x0e79e5c0}, 
    4692 +       {0x0000b40c, 0x00820820}, 
    4693 +       {0x0000b420, 0x00000000}, 
    4694 +       {0x0000b6b0, 0x0000000a}, 
    4695 +       {0x0000b6b4, 0x00000001}, 
    4696 +}; 
    4697 + 
    4698 +static const u32 ar9462_2p0_radio_postamble[][5] = { 
    4699 +       /* Addr      5G_HT20     5G_HT40     2G_HT40     2G_HT20   */ 
    4700 +       {0x0001609c, 0x0b8ee524, 0x0b8ee524, 0x0b8ee524, 0x0b8ee524}, 
    4701 +       {0x000160b0, 0x01d67f70, 0x01d67f70, 0x01d67f70, 0x01d67f70}, 
    4702 +       {0x0001610c, 0x48000000, 0x40000000, 0x40000000, 0x40000000}, 
    4703 +       {0x0001650c, 0x48000000, 0x40000000, 0x40000000, 0x40000000}, 
    4704 +}; 
    4705 + 
    4706 +static const u32 ar9462_modes_high_ob_db_tx_gain_table_2p0[][5] = { 
    4707 +       /* Addr      5G_HT20     5G_HT40     2G_HT40     2G_HT20   */ 
    4708 +       {0x000098bc, 0x00000002, 0x00000002, 0x00000002, 0x00000002}, 
    4709 +       {0x0000a2dc, 0x01feee00, 0x01feee00, 0x03aaa352, 0x03aaa352}, 
    4710 +       {0x0000a2e0, 0x0000f000, 0x0000f000, 0x03ccc584, 0x03ccc584}, 
    4711 +       {0x0000a2e4, 0x01ff0000, 0x01ff0000, 0x03f0f800, 0x03f0f800}, 
    4712 +       {0x0000a2e8, 0x00000000, 0x00000000, 0x03ff0000, 0x03ff0000}, 
    4713 +       {0x0000a410, 0x000050d9, 0x000050d9, 0x000050d9, 0x000050d9}, 
    4714 +       {0x0000a458, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, 
    4715 +       {0x0000a500, 0x00002220, 0x00002220, 0x00000000, 0x00000000}, 
    4716 +       {0x0000a504, 0x06002223, 0x06002223, 0x04000002, 0x04000002}, 
    4717 +       {0x0000a508, 0x0a022220, 0x0a022220, 0x08000004, 0x08000004}, 
    4718 +       {0x0000a50c, 0x0f022223, 0x0f022223, 0x0b000200, 0x0b000200}, 
    4719 +       {0x0000a510, 0x14022620, 0x14022620, 0x0f000202, 0x0f000202}, 
    4720 +       {0x0000a514, 0x18022622, 0x18022622, 0x11000400, 0x11000400}, 
    4721 +       {0x0000a518, 0x1b022822, 0x1b022822, 0x15000402, 0x15000402}, 
    4722 +       {0x0000a51c, 0x20022842, 0x20022842, 0x19000404, 0x19000404}, 
    4723 +       {0x0000a520, 0x22022c41, 0x22022c41, 0x1b000603, 0x1b000603}, 
    4724 +       {0x0000a524, 0x28023042, 0x28023042, 0x1f000a02, 0x1f000a02}, 
    4725 +       {0x0000a528, 0x2c023044, 0x2c023044, 0x23000a04, 0x23000a04}, 
    4726 +       {0x0000a52c, 0x2f023644, 0x2f023644, 0x26000a20, 0x26000a20}, 
    4727 +       {0x0000a530, 0x34025643, 0x34025643, 0x2a000e20, 0x2a000e20}, 
    4728 +       {0x0000a534, 0x38025a44, 0x38025a44, 0x2e000e22, 0x2e000e22}, 
    4729 +       {0x0000a538, 0x3b025e45, 0x3b025e45, 0x31000e24, 0x31000e24}, 
    4730 +       {0x0000a53c, 0x41025e4a, 0x41025e4a, 0x34001640, 0x34001640}, 
    4731 +       {0x0000a540, 0x48025e6c, 0x48025e6c, 0x38001660, 0x38001660}, 
    4732 +       {0x0000a544, 0x4e025e8e, 0x4e025e8e, 0x3b001861, 0x3b001861}, 
    4733 +       {0x0000a548, 0x53025eb2, 0x53025eb2, 0x3e001a81, 0x3e001a81}, 
    4734 +       {0x0000a54c, 0x59025eb2, 0x59025eb2, 0x42001a83, 0x42001a83}, 
    4735 +       {0x0000a550, 0x5f025ef6, 0x5f025ef6, 0x44001c84, 0x44001c84}, 
    4736 +       {0x0000a554, 0x62025f56, 0x62025f56, 0x48001ce3, 0x48001ce3}, 
    4737 +       {0x0000a558, 0x66027f56, 0x66027f56, 0x4c001ce5, 0x4c001ce5}, 
    4738 +       {0x0000a55c, 0x6a029f56, 0x6a029f56, 0x50001ce9, 0x50001ce9}, 
    4739 +       {0x0000a560, 0x70049f56, 0x70049f56, 0x54001ceb, 0x54001ceb}, 
    4740 +       {0x0000a564, 0x7504ff56, 0x7504ff56, 0x56001eec, 0x56001eec}, 
    4741 +       {0x0000a568, 0x7504ff56, 0x7504ff56, 0x56001eec, 0x56001eec}, 
    4742 +       {0x0000a56c, 0x7504ff56, 0x7504ff56, 0x56001eec, 0x56001eec}, 
    4743 +       {0x0000a570, 0x7504ff56, 0x7504ff56, 0x56001eec, 0x56001eec}, 
    4744 +       {0x0000a574, 0x7504ff56, 0x7504ff56, 0x56001eec, 0x56001eec}, 
    4745 +       {0x0000a578, 0x7504ff56, 0x7504ff56, 0x56001eec, 0x56001eec}, 
    4746 +       {0x0000a57c, 0x7504ff56, 0x7504ff56, 0x56001eec, 0x56001eec}, 
    4747 +       {0x0000a600, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, 
    4748 +       {0x0000a604, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, 
    4749 +       {0x0000a608, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, 
    4750 +       {0x0000a60c, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, 
    4751 +       {0x0000a610, 0x00804000, 0x00804000, 0x00000000, 0x00000000}, 
    4752 +       {0x0000a614, 0x00804201, 0x00804201, 0x01404000, 0x01404000}, 
    4753 +       {0x0000a618, 0x0280c802, 0x0280c802, 0x01404501, 0x01404501}, 
    4754 +       {0x0000a61c, 0x0280ca03, 0x0280ca03, 0x02008501, 0x02008501}, 
    4755 +       {0x0000a620, 0x04c15104, 0x04c15104, 0x0280ca03, 0x0280ca03}, 
    4756 +       {0x0000a624, 0x04c15305, 0x04c15305, 0x03010c04, 0x03010c04}, 
    4757 +       {0x0000a628, 0x04c15305, 0x04c15305, 0x04014c04, 0x04014c04}, 
    4758 +       {0x0000a62c, 0x04c15305, 0x04c15305, 0x04015005, 0x04015005}, 
    4759 +       {0x0000a630, 0x04c15305, 0x04c15305, 0x04015005, 0x04015005}, 
    4760 +       {0x0000a634, 0x04c15305, 0x04c15305, 0x04015005, 0x04015005}, 
    4761 +       {0x0000a638, 0x04c15305, 0x04c15305, 0x04015005, 0x04015005}, 
    4762 +       {0x0000a63c, 0x04c15305, 0x04c15305, 0x04015005, 0x04015005}, 
    4763 +       {0x0000b2dc, 0x01feee00, 0x01feee00, 0x03aaa352, 0x03aaa352}, 
    4764 +       {0x0000b2e0, 0x0000f000, 0x0000f000, 0x03ccc584, 0x03ccc584}, 
    4765 +       {0x0000b2e4, 0x01ff0000, 0x01ff0000, 0x03f0f800, 0x03f0f800}, 
    4766 +       {0x0000b2e8, 0x00000000, 0x00000000, 0x03ff0000, 0x03ff0000}, 
    4767 +       {0x00016044, 0x056d82e4, 0x056d82e4, 0x056d82e4, 0x056d82e4}, 
    4768 +       {0x00016048, 0x8db49060, 0x8db49060, 0x8db49060, 0x8db49060}, 
    4769 +       {0x00016054, 0x6db60000, 0x6db60000, 0x6db60000, 0x6db60000}, 
    4770 +       {0x00016444, 0x056d82e4, 0x056d82e4, 0x056d82e4, 0x056d82e4}, 
    4771 +       {0x00016448, 0x8db49000, 0x8db49000, 0x8db49000, 0x8db49000}, 
    4772 +       {0x00016454, 0x6db60000, 0x6db60000, 0x6db60000, 0x6db60000}, 
    4773 +}; 
    4774 + 
    4775 +static const u32 ar9462_2p0_radio_core[][2] = { 
    4776 +       /* Addr      allmodes  */ 
    4777 +       {0x00016000, 0x36db6db6}, 
    4778 +       {0x00016004, 0x6db6db40}, 
    4779 +       {0x00016008, 0x73f00000}, 
    4780 +       {0x0001600c, 0x00000000}, 
    4781 +       {0x00016010, 0x6d820001}, 
    4782 +       {0x00016040, 0x7f80fff8}, 
    4783 +       {0x0001604c, 0x2699e04f}, 
    4784 +       {0x00016050, 0x6db6db6c}, 
    4785 +       {0x00016058, 0x6c200000}, 
    4786 +       {0x00016080, 0x00040000}, 
    4787 +       {0x00016084, 0x9a68048c}, 
    4788 +       {0x00016088, 0x54214514}, 
    4789 +       {0x0001608c, 0x1203040b}, 
    4790 +       {0x00016090, 0x24926490}, 
    4791 +       {0x00016098, 0xd2888888}, 
    4792 +       {0x000160a0, 0x0a108ffe}, 
    4793 +       {0x000160a4, 0x812fc491}, 
    4794 +       {0x000160a8, 0x423c8000}, 
    4795 +       {0x000160b4, 0x92000000}, 
    4796 +       {0x000160b8, 0x0285dddc}, 
    4797 +       {0x000160bc, 0x02908888}, 
    4798 +       {0x000160c0, 0x00adb6d0}, 
    4799 +       {0x000160c4, 0x6db6db60}, 
    4800 +       {0x000160c8, 0x6db6db6c}, 
    4801 +       {0x000160cc, 0x0de6c1b0}, 
    4802 +       {0x00016100, 0x3fffbe04}, 
    4803 +       {0x00016104, 0xfff80000}, 
    4804 +       {0x00016108, 0x00200400}, 
    4805 +       {0x00016110, 0x00000000}, 
    4806 +       {0x00016144, 0x02084080}, 
    4807 +       {0x00016148, 0x000080c0}, 
    4808 +       {0x00016280, 0x050a0001}, 
    4809 +       {0x00016284, 0x3d841400}, 
    4810 +       {0x00016288, 0x00000000}, 
    4811 +       {0x0001628c, 0xe3000000}, 
    4812 +       {0x00016290, 0xa1005080}, 
    4813 +       {0x00016294, 0x00000020}, 
    4814 +       {0x00016298, 0x54a82900}, 
    4815 +       {0x00016340, 0x121e4276}, 
    4816 +       {0x00016344, 0x00300000}, 
    4817 +       {0x00016400, 0x36db6db6}, 
    4818 +       {0x00016404, 0x6db6db40}, 
    4819 +       {0x00016408, 0x73f00000}, 
    4820 +       {0x0001640c, 0x00000000}, 
    4821 +       {0x00016410, 0x6c800001}, 
    4822 +       {0x00016440, 0x7f80fff8}, 
    4823 +       {0x0001644c, 0x4699e04f}, 
    4824 +       {0x00016450, 0x6db6db6c}, 
    4825 +       {0x00016500, 0x3fffbe04}, 
    4826 +       {0x00016504, 0xfff80000}, 
    4827 +       {0x00016508, 0x00200400}, 
    4828 +       {0x00016510, 0x00000000}, 
    4829 +       {0x00016544, 0x02084080}, 
    4830 +       {0x00016548, 0x000080c0}, 
    4831 +}; 
    4832 + 
    4833 +static const u32 ar9462_2p0_tx_gain_table_baseband_postamble_emulation[][5] = { 
    4834 +       /* Addr      5G_HT20     5G_HT40     2G_HT40     2G_HT20   */ 
    4835 +       {0x0000a410, 0x000000d5, 0x000000d5, 0x000000d5, 0x000000d5}, 
    4836 +       {0x0000a500, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, 
    4837 +       {0x0000a504, 0x00004002, 0x00004002, 0x00004002, 0x00004002}, 
    4838 +       {0x0000a508, 0x00008004, 0x00008004, 0x00008004, 0x00008004}, 
    4839 +       {0x0000a510, 0x0001000c, 0x0001000c, 0x0001000c, 0x0001000c}, 
    4840 +       {0x0000a514, 0x0001420b, 0x0001420b, 0x0001420b, 0x0001420b}, 
    4841 +       {0x0000a518, 0x0001824a, 0x0001824a, 0x0001824a, 0x0001824a}, 
    4842 +       {0x0000a51c, 0x0001c44a, 0x0001c44a, 0x0001c44a, 0x0001c44a}, 
    4843 +       {0x0000a520, 0x0002064a, 0x0002064a, 0x0002064a, 0x0002064a}, 
    4844 +       {0x0000a524, 0x0002484a, 0x0002484a, 0x0002484a, 0x0002484a}, 
    4845 +       {0x0000a528, 0x00028a4a, 0x00028a4a, 0x00028a4a, 0x00028a4a}, 
    4846 +       {0x0000a52c, 0x0002cc4a, 0x0002cc4a, 0x0002cc4a, 0x0002cc4a}, 
    4847 +       {0x0000a530, 0x00030e4a, 0x00030e4a, 0x00030e4a, 0x00030e4a}, 
    4848 +       {0x0000a534, 0x00034e8a, 0x00034e8a, 0x00034e8a, 0x00034e8a}, 
    4849 +}; 
    4850 + 
    4851 +static const u32 ar9462_2p0_soc_preamble[][2] = { 
    4852 +       /* Addr      allmodes  */ 
    4853 +       {0x00007020, 0x00000000}, 
    4854 +       {0x00007034, 0x00000002}, 
    4855 +       {0x00007038, 0x000004c2}, 
    4856 +}; 
    4857 + 
    4858 +static const u32 ar9462_2p0_sys2ant[][2] = { 
    4859 +       /* Addr      allmodes  */ 
    4860 +       {0x00063120, 0x00801980}, 
    4861 +}; 
    4862 + 
    4863 +static const u32 ar9462_2p0_mac_core[][2] = { 
    4864 +       /* Addr      allmodes  */ 
    4865 +       {0x00000008, 0x00000000}, 
    4866 +       {0x00000030, 0x000e0085}, 
    4867 +       {0x00000034, 0x00000005}, 
    4868 +       {0x00000040, 0x00000000}, 
    4869 +       {0x00000044, 0x00000000}, 
    4870 +       {0x00000048, 0x00000008}, 
    4871 +       {0x0000004c, 0x00000010}, 
    4872 +       {0x00000050, 0x00000000}, 
    4873 +       {0x00001040, 0x002ffc0f}, 
    4874 +       {0x00001044, 0x002ffc0f}, 
    4875 +       {0x00001048, 0x002ffc0f}, 
    4876 +       {0x0000104c, 0x002ffc0f}, 
    4877 +       {0x00001050, 0x002ffc0f}, 
    4878 +       {0x00001054, 0x002ffc0f}, 
    4879 +       {0x00001058, 0x002ffc0f}, 
    4880 +       {0x0000105c, 0x002ffc0f}, 
    4881 +       {0x00001060, 0x002ffc0f}, 
    4882 +       {0x00001064, 0x002ffc0f}, 
    4883 +       {0x000010f0, 0x00000100}, 
    4884 +       {0x00001270, 0x00000000}, 
    4885 +       {0x000012b0, 0x00000000}, 
    4886 +       {0x000012f0, 0x00000000}, 
    4887 +       {0x0000143c, 0x00000000}, 
    4888 +       {0x0000147c, 0x00000000}, 
    4889 +       {0x00001810, 0x0f000003}, 
    4890 +       {0x00008000, 0x00000000}, 
    4891 +       {0x00008004, 0x00000000}, 
    4892 +       {0x00008008, 0x00000000}, 
    4893 +       {0x0000800c, 0x00000000}, 
    4894 +       {0x00008018, 0x00000000}, 
    4895 +       {0x00008020, 0x00000000}, 
    4896 +       {0x00008038, 0x00000000}, 
    4897 +       {0x0000803c, 0x00080000}, 
    4898 +       {0x00008040, 0x00000000}, 
    4899 +       {0x00008044, 0x00000000}, 
    4900 +       {0x00008048, 0x00000000}, 
    4901 +       {0x0000804c, 0xffffffff}, 
    4902 +       {0x00008050, 0xffffffff}, 
    4903 +       {0x00008054, 0x00000000}, 
    4904 +       {0x00008058, 0x00000000}, 
    4905 +       {0x0000805c, 0x000fc78f}, 
    4906 +       {0x00008060, 0x0000000f}, 
    4907 +       {0x00008064, 0x00000000}, 
    4908 +       {0x00008070, 0x00000310}, 
    4909 +       {0x00008074, 0x00000020}, 
    4910 +       {0x00008078, 0x00000000}, 
    4911 +       {0x0000809c, 0x0000000f}, 
    4912 +       {0x000080a0, 0x00000000}, 
    4913 +       {0x000080a4, 0x02ff0000}, 
    4914 +       {0x000080a8, 0x0e070605}, 
    4915 +       {0x000080ac, 0x0000000d}, 
    4916 +       {0x000080b0, 0x00000000}, 
    4917 +       {0x000080b4, 0x00000000}, 
    4918 +       {0x000080b8, 0x00000000}, 
    4919 +       {0x000080bc, 0x00000000}, 
    4920 +       {0x000080c0, 0x2a800000}, 
    4921 +       {0x000080c4, 0x06900168}, 
    4922 +       {0x000080c8, 0x13881c20}, 
    4923 +       {0x000080cc, 0x01f40000}, 
    4924 +       {0x000080d0, 0x00252500}, 
    4925 +       {0x000080d4, 0x00b00005}, 
    4926 +       {0x000080d8, 0x00400002}, 
    4927 +       {0x000080dc, 0x00000000}, 
    4928 +       {0x000080e0, 0xffffffff}, 
    4929 +       {0x000080e4, 0x0000ffff}, 
    4930 +       {0x000080e8, 0x3f3f3f3f}, 
    4931 +       {0x000080ec, 0x00000000}, 
    4932 +       {0x000080f0, 0x00000000}, 
    4933 +       {0x000080f4, 0x00000000}, 
    4934 +       {0x000080fc, 0x00020000}, 
    4935 +       {0x00008100, 0x00000000}, 
    4936 +       {0x00008108, 0x00000052}, 
    4937 +       {0x0000810c, 0x00000000}, 
    4938 +       {0x00008110, 0x00000000}, 
    4939 +       {0x00008114, 0x000007ff}, 
    4940 +       {0x00008118, 0x000000aa}, 
    4941 +       {0x0000811c, 0x00003210}, 
    4942 +       {0x00008124, 0x00000000}, 
    4943 +       {0x00008128, 0x00000000}, 
    4944 +       {0x0000812c, 0x00000000}, 
    4945 +       {0x00008130, 0x00000000}, 
    4946 +       {0x00008134, 0x00000000}, 
    4947 +       {0x00008138, 0x00000000}, 
    4948 +       {0x0000813c, 0x0000ffff}, 
    4949 +       {0x00008144, 0xffffffff}, 
    4950 +       {0x00008168, 0x00000000}, 
    4951 +       {0x0000816c, 0x00000000}, 
    4952 +       {0x00008170, 0x18486e00}, 
    4953 +       {0x00008174, 0x33332210}, 
    4954 +       {0x00008178, 0x00000000}, 
    4955 +       {0x0000817c, 0x00020000}, 
    4956 +       {0x000081c4, 0x33332210}, 
    4957 +       {0x000081c8, 0x00000000}, 
    4958 +       {0x000081cc, 0x00000000}, 
    4959 +       {0x000081d4, 0x00000000}, 
    4960 +       {0x000081ec, 0x00000000}, 
    4961 +       {0x000081f0, 0x00000000}, 
    4962 +       {0x000081f4, 0x00000000}, 
    4963 +       {0x000081f8, 0x00000000}, 
    4964 +       {0x000081fc, 0x00000000}, 
    4965 +       {0x00008240, 0x00100000}, 
    4966 +       {0x00008244, 0x0010f400}, 
    4967 +       {0x00008248, 0x00000800}, 
    4968 +       {0x0000824c, 0x0001e800}, 
    4969 +       {0x00008250, 0x00000000}, 
    4970 +       {0x00008254, 0x00000000}, 
    4971 +       {0x00008258, 0x00000000}, 
    4972 +       {0x0000825c, 0x40000000}, 
    4973 +       {0x00008260, 0x00080922}, 
    4974 +       {0x00008264, 0x99c00010}, 
    4975 +       {0x00008268, 0xffffffff}, 
    4976 +       {0x0000826c, 0x0000ffff}, 
    4977 +       {0x00008270, 0x00000000}, 
    4978 +       {0x00008274, 0x40000000}, 
    4979 +       {0x00008278, 0x003e4180}, 
    4980 +       {0x0000827c, 0x00000004}, 
    4981 +       {0x00008284, 0x0000002c}, 
    4982 +       {0x00008288, 0x0000002c}, 
    4983 +       {0x0000828c, 0x000000ff}, 
    4984 +       {0x00008294, 0x00000000}, 
    4985 +       {0x00008298, 0x00000000}, 
    4986 +       {0x0000829c, 0x00000000}, 
    4987 +       {0x00008300, 0x00000140}, 
    4988 +       {0x00008314, 0x00000000}, 
    4989 +       {0x0000831c, 0x0000010d}, 
    4990 +       {0x00008328, 0x00000000}, 
    4991 +       {0x0000832c, 0x0000001f}, 
    4992 +       {0x00008330, 0x00000302}, 
    4993 +       {0x00008334, 0x00000700}, 
    4994 +       {0x00008338, 0xffff0000}, 
    4995 +       {0x0000833c, 0x02400000}, 
    4996 +       {0x00008340, 0x000107ff}, 
    4997 +       {0x00008344, 0xaa48105b}, 
    4998 +       {0x00008348, 0x008f0000}, 
    4999 +       {0x0000835c, 0x00000000}, 
    5000 +       {0x00008360, 0xffffffff}, 
    5001 +       {0x00008364, 0xffffffff}, 
    5002 +       {0x00008368, 0x00000000}, 
    5003 +       {0x00008370, 0x00000000}, 
    5004 +       {0x00008374, 0x000000ff}, 
    5005 +       {0x00008378, 0x00000000}, 
    5006 +       {0x0000837c, 0x00000000}, 
    5007 +       {0x00008380, 0xffffffff}, 
    5008 +       {0x00008384, 0xffffffff}, 
    5009 +       {0x00008390, 0xffffffff}, 
    5010 +       {0x00008394, 0xffffffff}, 
    5011 +       {0x00008398, 0x00000000}, 
    5012 +       {0x0000839c, 0x00000000}, 
    5013 +       {0x000083a4, 0x0000fa14}, 
    5014 +       {0x000083a8, 0x000f0c00}, 
    5015 +       {0x000083ac, 0x33332210}, 
    5016 +       {0x000083b0, 0x33332210}, 
    5017 +       {0x000083b4, 0x33332210}, 
    5018 +       {0x000083b8, 0x33332210}, 
    5019 +       {0x000083bc, 0x00000000}, 
    5020 +       {0x000083c0, 0x00000000}, 
    5021 +       {0x000083c4, 0x00000000}, 
    5022 +       {0x000083c8, 0x00000000}, 
    5023 +       {0x000083cc, 0x00000200}, 
    5024 +       {0x000083d0, 0x000301ff}, 
    5025 +}; 
    5026 + 
    5027 +static const u32 ar9462_2p0_mac_postamble[][5] = { 
    5028 +       /* Addr      5G_HT20     5G_HT40     2G_HT40     2G_HT20   */ 
    5029 +       {0x00001030, 0x00000230, 0x00000460, 0x000002c0, 0x00000160}, 
    5030 +       {0x00001070, 0x00000168, 0x000002d0, 0x00000318, 0x0000018c}, 
    5031 +       {0x000010b0, 0x00000e60, 0x00001cc0, 0x00007c70, 0x00003e38}, 
    5032 +       {0x00008014, 0x03e803e8, 0x07d007d0, 0x10801600, 0x08400b00}, 
    5033 +       {0x0000801c, 0x128d8027, 0x128d804f, 0x12e00057, 0x12e0002b}, 
    5034 +       {0x00008120, 0x08f04800, 0x08f04800, 0x08f04810, 0x08f04810}, 
    5035 +       {0x000081d0, 0x00003210, 0x00003210, 0x0000320a, 0x0000320a}, 
    5036 +       {0x00008318, 0x00003e80, 0x00007d00, 0x00006880, 0x00003440}, 
    5037 +}; 
    5038 + 
    5039 +static const u32 ar9462_common_mixed_rx_gain_table_2p0[][2] = { 
    5040 +       /* Addr      allmodes  */ 
    5041 +       {0x0000a000, 0x00010000}, 
    5042 +       {0x0000a004, 0x00030002}, 
    5043 +       {0x0000a008, 0x00050004}, 
    5044 +       {0x0000a00c, 0x00810080}, 
    5045 +       {0x0000a010, 0x00830082}, 
    5046 +       {0x0000a014, 0x01810180}, 
    5047 +       {0x0000a018, 0x01830182}, 
    5048 +       {0x0000a01c, 0x01850184}, 
    5049 +       {0x0000a020, 0x01890188}, 
    5050 +       {0x0000a024, 0x018b018a}, 
    5051 +       {0x0000a028, 0x018d018c}, 
    5052 +       {0x0000a02c, 0x03820190}, 
    5053 +       {0x0000a030, 0x03840383}, 
    5054 +       {0x0000a034, 0x03880385}, 
    5055 +       {0x0000a038, 0x038a0389}, 
    5056 +       {0x0000a03c, 0x038c038b}, 
    5057 +       {0x0000a040, 0x0390038d}, 
    5058 +       {0x0000a044, 0x03920391}, 
    5059 +       {0x0000a048, 0x03940393}, 
    5060 +       {0x0000a04c, 0x03960395}, 
    5061 +       {0x0000a050, 0x00000000}, 
    5062 +       {0x0000a054, 0x00000000}, 
    5063 +       {0x0000a058, 0x00000000}, 
    5064 +       {0x0000a05c, 0x00000000}, 
    5065 +       {0x0000a060, 0x00000000}, 
    5066 +       {0x0000a064, 0x00000000}, 
    5067 +       {0x0000a068, 0x00000000}, 
    5068 +       {0x0000a06c, 0x00000000}, 
    5069 +       {0x0000a070, 0x00000000}, 
    5070 +       {0x0000a074, 0x00000000}, 
    5071 +       {0x0000a078, 0x00000000}, 
    5072 +       {0x0000a07c, 0x00000000}, 
    5073 +       {0x0000a080, 0x29292929}, 
    5074 +       {0x0000a084, 0x29292929}, 
    5075 +       {0x0000a088, 0x29292929}, 
    5076 +       {0x0000a08c, 0x29292929}, 
    5077 +       {0x0000a090, 0x22292929}, 
    5078 +       {0x0000a094, 0x1d1d2222}, 
    5079 +       {0x0000a098, 0x0c111117}, 
    5080 +       {0x0000a09c, 0x00030303}, 
    5081 +       {0x0000a0a0, 0x00000000}, 
    5082 +       {0x0000a0a4, 0x00000000}, 
    5083 +       {0x0000a0a8, 0x00000000}, 
    5084 +       {0x0000a0ac, 0x00000000}, 
    5085 +       {0x0000a0b0, 0x00000000}, 
    5086 +       {0x0000a0b4, 0x00000000}, 
    5087 +       {0x0000a0b8, 0x00000000}, 
    5088 +       {0x0000a0bc, 0x00000000}, 
    5089 +       {0x0000a0c0, 0x001f0000}, 
    5090 +       {0x0000a0c4, 0x01000101}, 
    5091 +       {0x0000a0c8, 0x011e011f}, 
    5092 +       {0x0000a0cc, 0x011c011d}, 
    5093 +       {0x0000a0d0, 0x02030204}, 
    5094 +       {0x0000a0d4, 0x02010202}, 
    5095 +       {0x0000a0d8, 0x021f0200}, 
    5096 +       {0x0000a0dc, 0x0302021e}, 
    5097 +       {0x0000a0e0, 0x03000301}, 
    5098 +       {0x0000a0e4, 0x031e031f}, 
    5099 +       {0x0000a0e8, 0x0402031d}, 
    5100 +       {0x0000a0ec, 0x04000401}, 
    5101 +       {0x0000a0f0, 0x041e041f}, 
    5102 +       {0x0000a0f4, 0x0502041d}, 
    5103 +       {0x0000a0f8, 0x05000501}, 
    5104 +       {0x0000a0fc, 0x051e051f}, 
    5105 +       {0x0000a100, 0x06010602}, 
    5106 +       {0x0000a104, 0x061f0600}, 
    5107 +       {0x0000a108, 0x061d061e}, 
    5108 +       {0x0000a10c, 0x07020703}, 
    5109 +       {0x0000a110, 0x07000701}, 
    5110 +       {0x0000a114, 0x00000000}, 
    5111 +       {0x0000a118, 0x00000000}, 
    5112 +       {0x0000a11c, 0x00000000}, 
    5113 +       {0x0000a120, 0x00000000}, 
    5114 +       {0x0000a124, 0x00000000}, 
    5115 +       {0x0000a128, 0x00000000}, 
    5116 +       {0x0000a12c, 0x00000000}, 
    5117 +       {0x0000a130, 0x00000000}, 
    5118 +       {0x0000a134, 0x00000000}, 
    5119 +       {0x0000a138, 0x00000000}, 
    5120 +       {0x0000a13c, 0x00000000}, 
    5121 +       {0x0000a140, 0x001f0000}, 
    5122 +       {0x0000a144, 0x01000101}, 
    5123 +       {0x0000a148, 0x011e011f}, 
    5124 +       {0x0000a14c, 0x011c011d}, 
    5125 +       {0x0000a150, 0x02030204}, 
    5126 +       {0x0000a154, 0x02010202}, 
    5127 +       {0x0000a158, 0x021f0200}, 
    5128 +       {0x0000a15c, 0x0302021e}, 
    5129 +       {0x0000a160, 0x03000301}, 
    5130 +       {0x0000a164, 0x031e031f}, 
    5131 +       {0x0000a168, 0x0402031d}, 
    5132 +       {0x0000a16c, 0x04000401}, 
    5133 +       {0x0000a170, 0x041e041f}, 
    5134 +       {0x0000a174, 0x0502041d}, 
    5135 +       {0x0000a178, 0x05000501}, 
    5136 +       {0x0000a17c, 0x051e051f}, 
    5137 +       {0x0000a180, 0x06010602}, 
    5138 +       {0x0000a184, 0x061f0600}, 
    5139 +       {0x0000a188, 0x061d061e}, 
    5140 +       {0x0000a18c, 0x07020703}, 
    5141 +       {0x0000a190, 0x07000701}, 
    5142 +       {0x0000a194, 0x00000000}, 
    5143 +       {0x0000a198, 0x00000000}, 
    5144 +       {0x0000a19c, 0x00000000}, 
    5145 +       {0x0000a1a0, 0x00000000}, 
    5146 +       {0x0000a1a4, 0x00000000}, 
    5147 +       {0x0000a1a8, 0x00000000}, 
    5148 +       {0x0000a1ac, 0x00000000}, 
    5149 +       {0x0000a1b0, 0x00000000}, 
    5150 +       {0x0000a1b4, 0x00000000}, 
    5151 +       {0x0000a1b8, 0x00000000}, 
    5152 +       {0x0000a1bc, 0x00000000}, 
    5153 +       {0x0000a1c0, 0x00000000}, 
    5154 +       {0x0000a1c4, 0x00000000}, 
    5155 +       {0x0000a1c8, 0x00000000}, 
    5156 +       {0x0000a1cc, 0x00000000}, 
    5157 +       {0x0000a1d0, 0x00000000}, 
    5158 +       {0x0000a1d4, 0x00000000}, 
    5159 +       {0x0000a1d8, 0x00000000}, 
    5160 +       {0x0000a1dc, 0x00000000}, 
    5161 +       {0x0000a1e0, 0x00000000}, 
    5162 +       {0x0000a1e4, 0x00000000}, 
    5163 +       {0x0000a1e8, 0x00000000}, 
    5164 +       {0x0000a1ec, 0x00000000}, 
    5165 +       {0x0000a1f0, 0x00000396}, 
    5166 +       {0x0000a1f4, 0x00000396}, 
    5167 +       {0x0000a1f8, 0x00000396}, 
    5168 +       {0x0000a1fc, 0x00000196}, 
    5169 +       {0x0000b000, 0x00010000}, 
    5170 +       {0x0000b004, 0x00030002}, 
    5171 +       {0x0000b008, 0x00050004}, 
    5172 +       {0x0000b00c, 0x00810080}, 
    5173 +       {0x0000b010, 0x00830082}, 
    5174 +       {0x0000b014, 0x01810180}, 
    5175 +       {0x0000b018, 0x01830182}, 
    5176 +       {0x0000b01c, 0x01850184}, 
    5177 +       {0x0000b020, 0x02810280}, 
    5178 +       {0x0000b024, 0x02830282}, 
    5179 +       {0x0000b028, 0x02850284}, 
    5180 +       {0x0000b02c, 0x02890288}, 
    5181 +       {0x0000b030, 0x028b028a}, 
    5182 +       {0x0000b034, 0x0388028c}, 
    5183 +       {0x0000b038, 0x038a0389}, 
    5184 +       {0x0000b03c, 0x038c038b}, 
    5185 +       {0x0000b040, 0x0390038d}, 
    5186 +       {0x0000b044, 0x03920391}, 
    5187 +       {0x0000b048, 0x03940393}, 
    5188 +       {0x0000b04c, 0x03960395}, 
    5189 +       {0x0000b050, 0x00000000}, 
    5190 +       {0x0000b054, 0x00000000}, 
    5191 +       {0x0000b058, 0x00000000}, 
    5192 +       {0x0000b05c, 0x00000000}, 
    5193 +       {0x0000b060, 0x00000000}, 
    5194 +       {0x0000b064, 0x00000000}, 
    5195 +       {0x0000b068, 0x00000000}, 
    5196 +       {0x0000b06c, 0x00000000}, 
    5197 +       {0x0000b070, 0x00000000}, 
    5198 +       {0x0000b074, 0x00000000}, 
    5199 +       {0x0000b078, 0x00000000}, 
    5200 +       {0x0000b07c, 0x00000000}, 
    5201 +       {0x0000b080, 0x2a2d2f32}, 
    5202 +       {0x0000b084, 0x21232328}, 
    5203 +       {0x0000b088, 0x19191c1e}, 
    5204 +       {0x0000b08c, 0x12141417}, 
    5205 +       {0x0000b090, 0x07070e0e}, 
    5206 +       {0x0000b094, 0x03030305}, 
    5207 +       {0x0000b098, 0x00000003}, 
    5208 +       {0x0000b09c, 0x00000000}, 
    5209 +       {0x0000b0a0, 0x00000000}, 
    5210 +       {0x0000b0a4, 0x00000000}, 
    5211 +       {0x0000b0a8, 0x00000000}, 
    5212 +       {0x0000b0ac, 0x00000000}, 
    5213 +       {0x0000b0b0, 0x00000000}, 
    5214 +       {0x0000b0b4, 0x00000000}, 
    5215 +       {0x0000b0b8, 0x00000000}, 
    5216 +       {0x0000b0bc, 0x00000000}, 
    5217 +       {0x0000b0c0, 0x003f0020}, 
    5218 +       {0x0000b0c4, 0x00400041}, 
    5219 +       {0x0000b0c8, 0x0140005f}, 
    5220 +       {0x0000b0cc, 0x0160015f}, 
    5221 +       {0x0000b0d0, 0x017e017f}, 
    5222 +       {0x0000b0d4, 0x02410242}, 
    5223 +       {0x0000b0d8, 0x025f0240}, 
    5224 +       {0x0000b0dc, 0x027f0260}, 
    5225 +       {0x0000b0e0, 0x0341027e}, 
    5226 +       {0x0000b0e4, 0x035f0340}, 
    5227 +       {0x0000b0e8, 0x037f0360}, 
    5228 +       {0x0000b0ec, 0x04400441}, 
    5229 +       {0x0000b0f0, 0x0460045f}, 
    5230 +       {0x0000b0f4, 0x0541047f}, 
    5231 +       {0x0000b0f8, 0x055f0540}, 
    5232 +       {0x0000b0fc, 0x057f0560}, 
    5233 +       {0x0000b100, 0x06400641}, 
    5234 +       {0x0000b104, 0x0660065f}, 
    5235 +       {0x0000b108, 0x067e067f}, 
    5236 +       {0x0000b10c, 0x07410742}, 
    5237 +       {0x0000b110, 0x075f0740}, 
    5238 +       {0x0000b114, 0x077f0760}, 
    5239 +       {0x0000b118, 0x07800781}, 
    5240 +       {0x0000b11c, 0x07a0079f}, 
    5241 +       {0x0000b120, 0x07c107bf}, 
    5242 +       {0x0000b124, 0x000007c0}, 
    5243 +       {0x0000b128, 0x00000000}, 
    5244 +       {0x0000b12c, 0x00000000}, 
    5245 +       {0x0000b130, 0x00000000}, 
    5246 +       {0x0000b134, 0x00000000}, 
    5247 +       {0x0000b138, 0x00000000}, 
    5248 +       {0x0000b13c, 0x00000000}, 
    5249 +       {0x0000b140, 0x003f0020}, 
    5250 +       {0x0000b144, 0x00400041}, 
    5251 +       {0x0000b148, 0x0140005f}, 
    5252 +       {0x0000b14c, 0x0160015f}, 
    5253 +       {0x0000b150, 0x017e017f}, 
    5254 +       {0x0000b154, 0x02410242}, 
    5255 +       {0x0000b158, 0x025f0240}, 
    5256 +       {0x0000b15c, 0x027f0260}, 
    5257 +       {0x0000b160, 0x0341027e}, 
    5258 +       {0x0000b164, 0x035f0340}, 
    5259 +       {0x0000b168, 0x037f0360}, 
    5260 +       {0x0000b16c, 0x04400441}, 
    5261 +       {0x0000b170, 0x0460045f}, 
    5262 +       {0x0000b174, 0x0541047f}, 
    5263 +       {0x0000b178, 0x055f0540}, 
    5264 +       {0x0000b17c, 0x057f0560}, 
    5265 +       {0x0000b180, 0x06400641}, 
    5266 +       {0x0000b184, 0x0660065f}, 
    5267 +       {0x0000b188, 0x067e067f}, 
    5268 +       {0x0000b18c, 0x07410742}, 
    5269 +       {0x0000b190, 0x075f0740}, 
    5270 +       {0x0000b194, 0x077f0760}, 
    5271 +       {0x0000b198, 0x07800781}, 
    5272 +       {0x0000b19c, 0x07a0079f}, 
    5273 +       {0x0000b1a0, 0x07c107bf}, 
    5274 +       {0x0000b1a4, 0x000007c0}, 
    5275 +       {0x0000b1a8, 0x00000000}, 
    5276 +       {0x0000b1ac, 0x00000000}, 
    5277 +       {0x0000b1b0, 0x00000000}, 
    5278 +       {0x0000b1b4, 0x00000000}, 
    5279 +       {0x0000b1b8, 0x00000000}, 
    5280 +       {0x0000b1bc, 0x00000000}, 
    5281 +       {0x0000b1c0, 0x00000000}, 
    5282 +       {0x0000b1c4, 0x00000000}, 
    5283 +       {0x0000b1c8, 0x00000000}, 
    5284 +       {0x0000b1cc, 0x00000000}, 
    5285 +       {0x0000b1d0, 0x00000000}, 
    5286 +       {0x0000b1d4, 0x00000000}, 
    5287 +       {0x0000b1d8, 0x00000000}, 
    5288 +       {0x0000b1dc, 0x00000000}, 
    5289 +       {0x0000b1e0, 0x00000000}, 
    5290 +       {0x0000b1e4, 0x00000000}, 
    5291 +       {0x0000b1e8, 0x00000000}, 
    5292 +       {0x0000b1ec, 0x00000000}, 
    5293 +       {0x0000b1f0, 0x00000396}, 
    5294 +       {0x0000b1f4, 0x00000396}, 
    5295 +       {0x0000b1f8, 0x00000396}, 
    5296 +       {0x0000b1fc, 0x00000196}, 
    5297 +}; 
    5298 + 
    5299 +static const u32 ar9462_modes_green_ob_db_tx_gain_table_2p0[][5] = { 
    5300 +       /* Addr      5G_HT20     5G_HT40     2G_HT40     2G_HT20   */ 
    5301 +       {0x000098bc, 0x00000003, 0x00000003, 0x00000003, 0x00000003}, 
    5302 +       {0x0000a2dc, 0x01feee00, 0x01feee00, 0x03aaa352, 0x03aaa352}, 
    5303 +       {0x0000a2e0, 0x0000f000, 0x0000f000, 0x03ccc584, 0x03ccc584}, 
    5304 +       {0x0000a2e4, 0x01ff0000, 0x01ff0000, 0x03f0f800, 0x03f0f800}, 
    5305 +       {0x0000a2e8, 0x00000000, 0x00000000, 0x03ff0000, 0x03ff0000}, 
    5306 +       {0x0000a410, 0x000050d9, 0x000050d9, 0x000050d9, 0x000050d9}, 
    5307 +       {0x0000a458, 0x80000000, 0x80000000, 0x80000000, 0x80000000}, 
    5308 +       {0x0000a500, 0x00002220, 0x00002220, 0x00000000, 0x00000000}, 
    5309 +       {0x0000a504, 0x06002223, 0x06002223, 0x04000002, 0x04000002}, 
    5310 +       {0x0000a508, 0x0a022220, 0x0a022220, 0x08000004, 0x08000004}, 
    5311 +       {0x0000a50c, 0x0f022223, 0x0f022223, 0x0b000200, 0x0b000200}, 
    5312 +       {0x0000a510, 0x14022620, 0x14022620, 0x0f000202, 0x0f000202}, 
    5313 +       {0x0000a514, 0x18022622, 0x18022622, 0x11000400, 0x11000400}, 
    5314 +       {0x0000a518, 0x1b022822, 0x1b022822, 0x15000402, 0x15000402}, 
    5315 +       {0x0000a51c, 0x20022842, 0x20022842, 0x19000404, 0x19000404}, 
    5316 +       {0x0000a520, 0x22022c41, 0x22022c41, 0x1b000603, 0x1b000603}, 
    5317 +       {0x0000a524, 0x28023042, 0x28023042, 0x1f000a02, 0x1f000a02}, 
    5318 +       {0x0000a528, 0x2c023044, 0x2c023044, 0x23000a04, 0x23000a04}, 
    5319 +       {0x0000a52c, 0x2f023644, 0x2f023644, 0x26000a20, 0x26000a20}, 
    5320 +       {0x0000a530, 0x34025643, 0x34025643, 0x2a000e20, 0x2a000e20}, 
    5321 +       {0x0000a534, 0x38025a44, 0x38025a44, 0x2e000e22, 0x2e000e22}, 
    5322 +       {0x0000a538, 0x3b025e45, 0x3b025e45, 0x31000e24, 0x31000e24}, 
    5323 +       {0x0000a53c, 0x41025e4a, 0x41025e4a, 0x34001640, 0x34001640}, 
    5324 +       {0x0000a540, 0x48025e6c, 0x48025e6c, 0x38001660, 0x38001660}, 
    5325 +       {0x0000a544, 0x4e025e8e, 0x4e025e8e, 0x3b001861, 0x3b001861}, 
    5326 +       {0x0000a548, 0x53025eb2, 0x53025eb2, 0x3e001a81, 0x3e001a81}, 
    5327 +       {0x0000a54c, 0x59025eb2, 0x59025eb2, 0x42001a83, 0x42001a83}, 
    5328 +       {0x0000a550, 0x5f025ef6, 0x5f025ef6, 0x44001c84, 0x44001c84}, 
    5329 +       {0x0000a554, 0x62025f56, 0x62025f56, 0x48001ce3, 0x48001ce3}, 
    5330 +       {0x0000a558, 0x66027f56, 0x66027f56, 0x4c001ce5, 0x4c001ce5}, 
    5331 +       {0x0000a55c, 0x6a029f56, 0x6a029f56, 0x50001ce9, 0x50001ce9}, 
    5332 +       {0x0000a560, 0x70049f56, 0x70049f56, 0x54001ceb, 0x54001ceb}, 
    5333 +       {0x0000a564, 0x7504ff56, 0x7504ff56, 0x56001eec, 0x56001eec}, 
    5334 +       {0x0000a568, 0x7504ff56, 0x7504ff56, 0x56001eec, 0x56001eec}, 
    5335 +       {0x0000a56c, 0x7504ff56, 0x7504ff56, 0x56001eec, 0x56001eec}, 
    5336 +       {0x0000a570, 0x7504ff56, 0x7504ff56, 0x56001eec, 0x56001eec}, 
    5337 +       {0x0000a574, 0x7504ff56, 0x7504ff56, 0x56001eec, 0x56001eec}, 
    5338 +       {0x0000a578, 0x7504ff56, 0x7504ff56, 0x56001eec, 0x56001eec}, 
    5339 +       {0x0000a57c, 0x7504ff56, 0x7504ff56, 0x56001eec, 0x56001eec}, 
    5340 +       {0x0000a600, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, 
    5341 +       {0x0000a604, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, 
    5342 +       {0x0000a608, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, 
    5343 +       {0x0000a60c, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, 
    5344 +       {0x0000a610, 0x00804000, 0x00804000, 0x00000000, 0x00000000}, 
    5345 +       {0x0000a614, 0x00804201, 0x00804201, 0x01404000, 0x01404000}, 
    5346 +       {0x0000a618, 0x0280c802, 0x0280c802, 0x01404501, 0x01404501}, 
    5347 +       {0x0000a61c, 0x0280ca03, 0x0280ca03, 0x02008501, 0x02008501}, 
    5348 +       {0x0000a620, 0x04c15104, 0x04c15104, 0x0280ca03, 0x0280ca03}, 
    5349 +       {0x0000a624, 0x04c15305, 0x04c15305, 0x03010c04, 0x03010c04}, 
    5350 +       {0x0000a628, 0x04c15305, 0x04c15305, 0x04014c04, 0x04014c04}, 
    5351 +       {0x0000a62c, 0x04c15305, 0x04c15305, 0x04015005, 0x04015005}, 
    5352 +       {0x0000a630, 0x04c15305, 0x04c15305, 0x04015005, 0x04015005}, 
    5353 +       {0x0000a634, 0x04c15305, 0x04c15305, 0x04015005, 0x04015005}, 
    5354 +       {0x0000a638, 0x04c15305, 0x04c15305, 0x04015005, 0x04015005}, 
    5355 +       {0x0000a63c, 0x04c15305, 0x04c15305, 0x04015005, 0x04015005}, 
    5356 +       {0x0000b2dc, 0x01feee00, 0x01feee00, 0x03aaa352, 0x03aaa352}, 
    5357 +       {0x0000b2e0, 0x0000f000, 0x0000f000, 0x03ccc584, 0x03ccc584}, 
    5358 +       {0x0000b2e4, 0x01ff0000, 0x01ff0000, 0x03f0f800, 0x03f0f800}, 
    5359 +       {0x0000b2e8, 0x00000000, 0x00000000, 0x03ff0000, 0x03ff0000}, 
    5360 +       {0x00016044, 0x056d82e4, 0x056d82e4, 0x056d82e4, 0x056d82e4}, 
    5361 +       {0x00016048, 0x8db49060, 0x8db49060, 0x8db49060, 0x8db49060}, 
    5362 +       {0x00016054, 0x6db60180, 0x6db60180, 0x6db60180, 0x6db60180}, 
    5363 +       {0x00016444, 0x056d82e4, 0x056d82e4, 0x056d82e4, 0x056d82e4}, 
    5364 +       {0x00016448, 0x8db49000, 0x8db49000, 0x8db49000, 0x8db49000}, 
    5365 +       {0x00016454, 0x6db60180, 0x6db60180, 0x6db60180, 0x6db60180}, 
    5366 +}; 
    5367 + 
    5368 +static const u32 ar9462_2p0_BTCOEX_MAX_TXPWR_table[][2] = { 
    5369 +       /* Addr      allmodes  */ 
    5370 +       {0x000018c0, 0x10101010}, 
    5371 +       {0x000018c4, 0x10101010}, 
    5372 +       {0x000018c8, 0x10101010}, 
    5373 +       {0x000018cc, 0x10101010}, 
    5374 +       {0x000018d0, 0x10101010}, 
    5375 +       {0x000018d4, 0x10101010}, 
    5376 +       {0x000018d8, 0x10101010}, 
    5377 +       {0x000018dc, 0x10101010}, 
    5378 +}; 
    5379 + 
    5380 +static const u32 ar9462_2p0_baseband_core_emulation[][2] = { 
    5381 +       /* Addr      allmodes  */ 
    5382 +       {0x00009800, 0xafa68e30}, 
    5383 +       {0x00009884, 0x00002842}, 
    5384 +       {0x00009c04, 0xff55ff55}, 
    5385 +       {0x00009c08, 0x0320ff55}, 
    5386 +       {0x00009e50, 0x00000000}, 
    5387 +       {0x00009fcc, 0x00000014}, 
    5388 +       {0x0000a344, 0x00000010}, 
    5389 +       {0x0000a398, 0x00000000}, 
    5390 +       {0x0000a39c, 0x71733d01}, 
    5391 +       {0x0000a3a0, 0xd0ad5c12}, 
    5392 +       {0x0000a3c0, 0x22222220}, 
    5393 +       {0x0000a3c4, 0x22222222}, 
    5394 +       {0x0000a404, 0x00418a11}, 
    5395 +       {0x0000a418, 0x050001ce}, 
    5396 +       {0x0000a438, 0x00001800}, 
    5397 +       {0x0000a458, 0x01444452}, 
    5398 +       {0x0000a644, 0x3fad9d74}, 
    5399 +       {0x0000a690, 0x00000038}, 
    5400 +}; 
    5401 + 
    5402 +#endif /* INITVALS_9462_2P0_H */ 
    5403 --- a/drivers/net/wireless/ath/ath9k/ar9480_1p0_initvals.h 
    5404 +++ /dev/null 
    5405 @@ -1,1833 +0,0 @@ 
    5406 -/* 
    5407 - * Copyright (c) 2010 Atheros Communications Inc. 
    5408 - * 
    5409 - * Permission to use, copy, modify, and/or distribute this software for any 
    5410 - * purpose with or without fee is hereby granted, provided that the above 
    5411 - * copyright notice and this permission notice appear in all copies. 
    5412 - * 
    5413 - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 
    5414 - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 
    5415 - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 
    5416 - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 
    5417 - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 
    5418 - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 
    5419 - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 
    5420 - */ 
    5421 - 
    5422 -#ifndef INITVALS_9480_1P0_H 
    5423 -#define INITVALS_9480_1P0_H 
    5424 - 
    5425 -/* AR9480 1.0 */ 
    5426 - 
    5427 -static const u32 ar9480_1p0_mac_core[][2] = { 
    5428 -       /* Addr      allmodes  */ 
    5429 -       {0x00000008, 0x00000000}, 
    5430 -       {0x00000030, 0x00060085}, 
    5431 -       {0x00000034, 0x00000005}, 
    5432 -       {0x00000040, 0x00000000}, 
    5433 -       {0x00000044, 0x00000000}, 
    5434 -       {0x00000048, 0x00000008}, 
    5435 -       {0x0000004c, 0x00000010}, 
    5436 -       {0x00000050, 0x00000000}, 
    5437 -       {0x00001040, 0x002ffc0f}, 
    5438 -       {0x00001044, 0x002ffc0f}, 
    5439 -       {0x00001048, 0x002ffc0f}, 
    5440 -       {0x0000104c, 0x002ffc0f}, 
    5441 -       {0x00001050, 0x002ffc0f}, 
    5442 -       {0x00001054, 0x002ffc0f}, 
    5443 -       {0x00001058, 0x002ffc0f}, 
    5444 -       {0x0000105c, 0x002ffc0f}, 
    5445 -       {0x00001060, 0x002ffc0f}, 
    5446 -       {0x00001064, 0x002ffc0f}, 
    5447 -       {0x000010f0, 0x00000100}, 
    5448 -       {0x00001270, 0x00000000}, 
    5449 -       {0x000012b0, 0x00000000}, 
    5450 -       {0x000012f0, 0x00000000}, 
    5451 -       {0x0000143c, 0x00000000}, 
    5452 -       {0x0000147c, 0x00000000}, 
    5453 -       {0x00001810, 0x0f000003}, 
    5454 -       {0x00008000, 0x00000000}, 
    5455 -       {0x00008004, 0x00000000}, 
    5456 -       {0x00008008, 0x00000000}, 
    5457 -       {0x0000800c, 0x00000000}, 
    5458 -       {0x00008018, 0x00000000}, 
    5459 -       {0x00008020, 0x00000000}, 
    5460 -       {0x00008038, 0x00000000}, 
    5461 -       {0x0000803c, 0x00080000}, 
    5462 -       {0x00008040, 0x00000000}, 
    5463 -       {0x00008044, 0x00000000}, 
    5464 -       {0x00008048, 0x00000000}, 
    5465 -       {0x0000804c, 0xffffffff}, 
    5466 -       {0x00008050, 0xffffffff}, 
    5467 -       {0x00008054, 0x00000000}, 
    5468 -       {0x00008058, 0x00000000}, 
    5469 -       {0x0000805c, 0x000fc78f}, 
    5470 -       {0x00008060, 0x0000000f}, 
    5471 -       {0x00008064, 0x00000000}, 
    5472 -       {0x00008070, 0x00000310}, 
    5473 -       {0x00008074, 0x00000020}, 
    5474 -       {0x00008078, 0x00000000}, 
    5475 -       {0x0000809c, 0x0000000f}, 
    5476 -       {0x000080a0, 0x00000000}, 
    5477 -       {0x000080a4, 0x02ff0000}, 
    5478 -       {0x000080a8, 0x0e070605}, 
    5479 -       {0x000080ac, 0x0000000d}, 
    5480 -       {0x000080b0, 0x00000000}, 
    5481 -       {0x000080b4, 0x00000000}, 
    5482 -       {0x000080b8, 0x00000000}, 
    5483 -       {0x000080bc, 0x00000000}, 
    5484 -       {0x000080c0, 0x2a800000}, 
    5485 -       {0x000080c4, 0x06900168}, 
    5486 -       {0x000080c8, 0x13881c20}, 
    5487 -       {0x000080cc, 0x01f40000}, 
    5488 -       {0x000080d0, 0x00252500}, 
    5489 -       {0x000080d4, 0x00a00005}, 
    5490 -       {0x000080d8, 0x00400002}, 
    5491 -       {0x000080dc, 0x00000000}, 
    5492 -       {0x000080e0, 0xffffffff}, 
    5493 -       {0x000080e4, 0x0000ffff}, 
    5494 -       {0x000080e8, 0x3f3f3f3f}, 
    5495 -       {0x000080ec, 0x00000000}, 
    5496 -       {0x000080f0, 0x00000000}, 
    5497 -       {0x000080f4, 0x00000000}, 
    5498 -       {0x000080fc, 0x00020000}, 
    5499 -       {0x00008100, 0x00000000}, 
    5500 -       {0x00008108, 0x00000052}, 
    5501 -       {0x0000810c, 0x00000000}, 
    5502 -       {0x00008110, 0x00000000}, 
    5503 -       {0x00008114, 0x000007ff}, 
    5504 -       {0x00008118, 0x000000aa}, 
    5505 -       {0x0000811c, 0x00003210}, 
    5506 -       {0x00008124, 0x00000000}, 
    5507 -       {0x00008128, 0x00000000}, 
    5508 -       {0x0000812c, 0x00000000}, 
    5509 -       {0x00008130, 0x00000000}, 
    5510 -       {0x00008134, 0x00000000}, 
    5511 -       {0x00008138, 0x00000000}, 
    5512 -       {0x0000813c, 0x0000ffff}, 
    5513 -       {0x00008144, 0xffffffff}, 
    5514 -       {0x00008168, 0x00000000}, 
    5515 -       {0x0000816c, 0x00000000}, 
    5516 -       {0x00008170, 0x18486e00}, 
    5517 -       {0x00008174, 0x33332210}, 
    5518 -       {0x00008178, 0x00000000}, 
    5519 -       {0x0000817c, 0x00020000}, 
    5520 -       {0x000081c4, 0x33332210}, 
    5521 -       {0x000081c8, 0x00000000}, 
    5522 -       {0x000081cc, 0x00000000}, 
    5523 -       {0x000081d4, 0x00000000}, 
    5524 -       {0x000081ec, 0x00000000}, 
    5525 -       {0x000081f0, 0x00000000}, 
    5526 -       {0x000081f4, 0x00000000}, 
    5527 -       {0x000081f8, 0x00000000}, 
    5528 -       {0x000081fc, 0x00000000}, 
    5529 -       {0x00008240, 0x00100000}, 
    5530 -       {0x00008244, 0x0010f400}, 
    5531 -       {0x00008248, 0x00000800}, 
    5532 -       {0x0000824c, 0x0001e800}, 
    5533 -       {0x00008250, 0x00000000}, 
    5534 -       {0x00008254, 0x00000000}, 
    5535 -       {0x00008258, 0x00000000}, 
    5536 -       {0x0000825c, 0x40000000}, 
    5537 -       {0x00008260, 0x00080922}, 
    5538 -       {0x00008264, 0x99c00010}, 
    5539 -       {0x00008268, 0xffffffff}, 
    5540 -       {0x0000826c, 0x0000ffff}, 
    5541 -       {0x00008270, 0x00000000}, 
    5542 -       {0x00008274, 0x40000000}, 
    5543 -       {0x00008278, 0x003e4180}, 
    5544 -       {0x0000827c, 0x00000004}, 
    5545 -       {0x00008284, 0x0000002c}, 
    5546 -       {0x00008288, 0x0000002c}, 
    5547 -       {0x0000828c, 0x000000ff}, 
    5548 -       {0x00008294, 0x00000000}, 
    5549 -       {0x00008298, 0x00000000}, 
    5550 -       {0x0000829c, 0x00000000}, 
    5551 -       {0x00008300, 0x00000140}, 
    5552 -       {0x00008314, 0x00000000}, 
    5553 -       {0x0000831c, 0x0000010d}, 
    5554 -       {0x00008328, 0x00000000}, 
    5555 -       {0x0000832c, 0x0000001f}, 
    5556 -       {0x00008330, 0x00000302}, 
    5557 -       {0x00008334, 0x00000700}, 
    5558 -       {0x00008338, 0xffff0000}, 
    5559 -       {0x0000833c, 0x02400000}, 
    5560 -       {0x00008340, 0x000107ff}, 
    5561 -       {0x00008344, 0xaa48105b}, 
    5562 -       {0x00008348, 0x008f0000}, 
    5563 -       {0x0000835c, 0x00000000}, 
    5564 -       {0x00008360, 0xffffffff}, 
    5565 -       {0x00008364, 0xffffffff}, 
    5566 -       {0x00008368, 0x00000000}, 
    5567 -       {0x00008370, 0x00000000}, 
    5568 -       {0x00008374, 0x000000ff}, 
    5569 -       {0x00008378, 0x00000000}, 
    5570 -       {0x0000837c, 0x00000000}, 
    5571 -       {0x00008380, 0xffffffff}, 
    5572 -       {0x00008384, 0xffffffff}, 
    5573 -       {0x00008390, 0xffffffff}, 
    5574 -       {0x00008394, 0xffffffff}, 
    5575 -       {0x00008398, 0x00000000}, 
    5576 -       {0x0000839c, 0x00000000}, 
    5577 -       {0x000083a4, 0x0000fa14}, 
    5578 -       {0x000083a8, 0x000f0c00}, 
    5579 -       {0x000083ac, 0x33332210}, 
    5580 -       {0x000083b0, 0x33332210}, 
    5581 -       {0x000083b4, 0x33332210}, 
    5582 -       {0x000083b8, 0x33332210}, 
    5583 -       {0x000083bc, 0x00000000}, 
    5584 -       {0x000083c0, 0x00000000}, 
    5585 -       {0x000083c4, 0x00000000}, 
    5586 -       {0x000083c8, 0x00000000}, 
    5587 -       {0x000083cc, 0x00000200}, 
    5588 -       {0x000083d0, 0x000301ff}, 
    5589 -}; 
    5590 - 
    5591 -static const u32 ar9480_1p0_baseband_core_txfir_coeff_japan_2484[][2] = { 
    5592 -       /* Addr      allmodes  */ 
    5593 -       {0x0000a398, 0x00000000}, 
    5594 -       {0x0000a39c, 0x6f7f0301}, 
    5595 -       {0x0000a3a0, 0xca9228ee}, 
    5596 -}; 
    5597 - 
    5598 -static const u32 ar9480_1p0_sys3ant[][2] = { 
    5599 -       /* Addr      allmodes  */ 
    5600 -       {0x00063280, 0x00040807}, 
    5601 -       {0x00063284, 0x104ccccc}, 
    5602 -}; 
    5603 - 
    5604 -static const u32 ar9480_pcie_phy_clkreq_enable_L1_1p0[][2] = { 
    5605 -       /* Addr      allmodes  */ 
    5606 -       {0x00018c00, 0x10053e5e}, 
    5607 -       {0x00018c04, 0x000801d8}, 
    5608 -       {0x00018c08, 0x0000580c}, 
    5609 -}; 
    5610 - 
    5611 -static const u32 ar9480_1p0_mac_core_emulation[][2] = { 
    5612 -       /* Addr      allmodes  */ 
    5613 -       {0x00000030, 0x00060085}, 
    5614 -       {0x00000044, 0x00000008}, 
    5615 -       {0x0000805c, 0xffffc7ff}, 
    5616 -       {0x00008344, 0xaa4a105b}, 
    5617 -}; 
    5618 - 
    5619 -static const u32 ar9480_common_rx_gain_table_ar9280_2p0_1p0[][2] = { 
    5620 -       /* Addr      allmodes  */ 
    5621 -       {0x0000a000, 0x02000101}, 
    5622 -       {0x0000a004, 0x02000102}, 
    5623 -       {0x0000a008, 0x02000103}, 
    5624 -       {0x0000a00c, 0x02000104}, 
    5625 -       {0x0000a010, 0x02000200}, 
    5626 -       {0x0000a014, 0x02000201}, 
    5627 -       {0x0000a018, 0x02000202}, 
    5628 -       {0x0000a01c, 0x02000203}, 
    5629 -       {0x0000a020, 0x02000204}, 
    5630 -       {0x0000a024, 0x02000205}, 
    5631 -       {0x0000a028, 0x02000208}, 
    5632 -       {0x0000a02c, 0x02000302}, 
    5633 -       {0x0000a030, 0x02000303}, 
    5634 -       {0x0000a034, 0x02000304}, 
    5635 -       {0x0000a038, 0x02000400}, 
    5636 -       {0x0000a03c, 0x02010300}, 
    5637 -       {0x0000a040, 0x02010301}, 
    5638 -       {0x0000a044, 0x02010302}, 
    5639 -       {0x0000a048, 0x02000500}, 
    5640 -       {0x0000a04c, 0x02010400}, 
    5641 -       {0x0000a050, 0x02020300}, 
    5642 -       {0x0000a054, 0x02020301}, 
    5643 -       {0x0000a058, 0x02020302}, 
    5644 -       {0x0000a05c, 0x02020303}, 
    5645 -       {0x0000a060, 0x02020400}, 
    5646 -       {0x0000a064, 0x02030300}, 
    5647 -       {0x0000a068, 0x02030301}, 
    5648 -       {0x0000a06c, 0x02030302}, 
    5649 -       {0x0000a070, 0x02030303}, 
    5650 -       {0x0000a074, 0x02030400}, 
    5651 -       {0x0000a078, 0x02040300}, 
    5652 -       {0x0000a07c, 0x02040301}, 
    5653 -       {0x0000a080, 0x02040302}, 
    5654 -       {0x0000a084, 0x02040303}, 
    5655 -       {0x0000a088, 0x02030500}, 
    5656 -       {0x0000a08c, 0x02040400}, 
    5657 -       {0x0000a090, 0x02050203}, 
    5658 -       {0x0000a094, 0x02050204}, 
    5659 -       {0x0000a098, 0x02050205}, 
    5660 -       {0x0000a09c, 0x02040500}, 
    5661 -       {0x0000a0a0, 0x02050301}, 
    5662 -       {0x0000a0a4, 0x02050302}, 
    5663 -       {0x0000a0a8, 0x02050303}, 
    5664 -       {0x0000a0ac, 0x02050400}, 
    5665 -       {0x0000a0b0, 0x02050401}, 
    5666 -       {0x0000a0b4, 0x02050402}, 
    5667 -       {0x0000a0b8, 0x02050403}, 
    5668 -       {0x0000a0bc, 0x02050500}, 
    5669 -       {0x0000a0c0, 0x02050501}, 
    5670 -       {0x0000a0c4, 0x02050502}, 
    5671 -       {0x0000a0c8, 0x02050503}, 
    5672 -       {0x0000a0cc, 0x02050504}, 
    5673 -       {0x0000a0d0, 0x02050600}, 
    5674 -       {0x0000a0d4, 0x02050601}, 
    5675 -       {0x0000a0d8, 0x02050602}, 
    5676 -       {0x0000a0dc, 0x02050603}, 
    5677 -       {0x0000a0e0, 0x02050604}, 
    5678 -       {0x0000a0e4, 0x02050700}, 
    5679 -       {0x0000a0e8, 0x02050701}, 
    5680 -       {0x0000a0ec, 0x02050702}, 
    5681 -       {0x0000a0f0, 0x02050703}, 
    5682 -       {0x0000a0f4, 0x02050704}, 
    5683 -       {0x0000a0f8, 0x02050705}, 
    5684 -       {0x0000a0fc, 0x02050708}, 
    5685 -       {0x0000a100, 0x02050709}, 
    5686 -       {0x0000a104, 0x0205070a}, 
    5687 -       {0x0000a108, 0x0205070b}, 
    5688 -       {0x0000a10c, 0x0205070c}, 
    5689 -       {0x0000a110, 0x0205070d}, 
    5690 -       {0x0000a114, 0x02050710}, 
    5691 -       {0x0000a118, 0x02050711}, 
    5692 -       {0x0000a11c, 0x02050712}, 
    5693 -       {0x0000a120, 0x02050713}, 
    5694 -       {0x0000a124, 0x02050714}, 
    5695 -       {0x0000a128, 0x02050715}, 
    5696 -       {0x0000a12c, 0x02050730}, 
    5697 -       {0x0000a130, 0x02050731}, 
    5698 -       {0x0000a134, 0x02050732}, 
    5699 -       {0x0000a138, 0x02050733}, 
    5700 -       {0x0000a13c, 0x02050734}, 
    5701 -       {0x0000a140, 0x02050735}, 
    5702 -       {0x0000a144, 0x02050750}, 
    5703 -       {0x0000a148, 0x02050751}, 
    5704 -       {0x0000a14c, 0x02050752}, 
    5705 -       {0x0000a150, 0x02050753}, 
    5706 -       {0x0000a154, 0x02050754}, 
    5707 -       {0x0000a158, 0x02050755}, 
    5708 -       {0x0000a15c, 0x02050770}, 
    5709 -       {0x0000a160, 0x02050771}, 
    5710 -       {0x0000a164, 0x02050772}, 
    5711 -       {0x0000a168, 0x02050773}, 
    5712 -       {0x0000a16c, 0x02050774}, 
    5713 -       {0x0000a170, 0x02050775}, 
    5714 -       {0x0000a174, 0x00000776}, 
    5715 -       {0x0000a178, 0x00000776}, 
    5716 -       {0x0000a17c, 0x00000776}, 
    5717 -       {0x0000a180, 0x00000776}, 
    5718 -       {0x0000a184, 0x00000776}, 
    5719 -       {0x0000a188, 0x00000776}, 
    5720 -       {0x0000a18c, 0x00000776}, 
    5721 -       {0x0000a190, 0x00000776}, 
    5722 -       {0x0000a194, 0x00000776}, 
    5723 -       {0x0000a198, 0x00000776}, 
    5724 -       {0x0000a19c, 0x00000776}, 
    5725 -       {0x0000a1a0, 0x00000776}, 
    5726 -       {0x0000a1a4, 0x00000776}, 
    5727 -       {0x0000a1a8, 0x00000776}, 
    5728 -       {0x0000a1ac, 0x00000776}, 
    5729 -&nbs