aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVivek Natarajan <vnatarajan@atheros.com>2011-02-18 06:19:47 -0500
committerJohn W. Linville <linville@tuxdriver.com>2011-02-18 16:54:57 -0500
commit1a63e2ce4e67f6df74f032ec302314141816e432 (patch)
tree550e9a11e7a0f9e2c4220037cc46be8662a0c883
parent8354dd3ebc7f0b82f52990af3e5f4f4488020263 (diff)
ath9k_hw: Updates for AR9485 1.1 chipsets.
Signed-off-by: Vivek Natarajan <vnatarajan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--drivers/net/wireless/ath/ath9k/ar9003_hw.c112
-rw-r--r--drivers/net/wireless/ath/ath9k/ar9485_initvals.h1141
-rw-r--r--drivers/net/wireless/ath/ath9k/reg.h4
3 files changed, 1246 insertions, 11 deletions
diff --git a/drivers/net/wireless/ath/ath9k/ar9003_hw.c b/drivers/net/wireless/ath/ath9k/ar9003_hw.c
index 06fb2c850535..6fa3c24af2da 100644
--- a/drivers/net/wireless/ath/ath9k/ar9003_hw.c
+++ b/drivers/net/wireless/ath/ath9k/ar9003_hw.c
@@ -28,7 +28,67 @@
28 */ 28 */
29static void ar9003_hw_init_mode_regs(struct ath_hw *ah) 29static void ar9003_hw_init_mode_regs(struct ath_hw *ah)
30{ 30{
31 if (AR_SREV_9485(ah)) { 31 if (AR_SREV_9485_11(ah)) {
32 /* mac */
33 INIT_INI_ARRAY(&ah->iniMac[ATH_INI_PRE], NULL, 0, 0);
34 INIT_INI_ARRAY(&ah->iniMac[ATH_INI_CORE],
35 ar9485_1_1_mac_core,
36 ARRAY_SIZE(ar9485_1_1_mac_core), 2);
37 INIT_INI_ARRAY(&ah->iniMac[ATH_INI_POST],
38 ar9485_1_1_mac_postamble,
39 ARRAY_SIZE(ar9485_1_1_mac_postamble), 5);
40
41 /* bb */
42 INIT_INI_ARRAY(&ah->iniBB[ATH_INI_PRE], ar9485_1_1,
43 ARRAY_SIZE(ar9485_1_1), 2);
44 INIT_INI_ARRAY(&ah->iniBB[ATH_INI_CORE],
45 ar9485_1_1_baseband_core,
46 ARRAY_SIZE(ar9485_1_1_baseband_core), 2);
47 INIT_INI_ARRAY(&ah->iniBB[ATH_INI_POST],
48 ar9485_1_1_baseband_postamble,
49 ARRAY_SIZE(ar9485_1_1_baseband_postamble), 5);
50
51 /* radio */
52 INIT_INI_ARRAY(&ah->iniRadio[ATH_INI_PRE], NULL, 0, 0);
53 INIT_INI_ARRAY(&ah->iniRadio[ATH_INI_CORE],
54 ar9485_1_1_radio_core,
55 ARRAY_SIZE(ar9485_1_1_radio_core), 2);
56 INIT_INI_ARRAY(&ah->iniRadio[ATH_INI_POST],
57 ar9485_1_1_radio_postamble,
58 ARRAY_SIZE(ar9485_1_1_radio_postamble), 2);
59
60 /* soc */
61 INIT_INI_ARRAY(&ah->iniSOC[ATH_INI_PRE],
62 ar9485_1_1_soc_preamble,
63 ARRAY_SIZE(ar9485_1_1_soc_preamble), 2);
64 INIT_INI_ARRAY(&ah->iniSOC[ATH_INI_CORE], NULL, 0, 0);
65 INIT_INI_ARRAY(&ah->iniSOC[ATH_INI_POST], NULL, 0, 0);
66
67 /* rx/tx gain */
68 INIT_INI_ARRAY(&ah->iniModesRxGain,
69 ar9485_common_rx_gain_1_1,
70 ARRAY_SIZE(ar9485_common_rx_gain_1_1), 2);
71 INIT_INI_ARRAY(&ah->iniModesTxGain,
72 ar9485_modes_lowest_ob_db_tx_gain_1_1,
73 ARRAY_SIZE(ar9485_modes_lowest_ob_db_tx_gain_1_1),
74 5);
75
76 /* Load PCIE SERDES settings from INI */
77
78 /* Awake Setting */
79
80 INIT_INI_ARRAY(&ah->iniPcieSerdes,
81 ar9485_1_1_pcie_phy_pll_on_clkreq_disable_L1,
82 ARRAY_SIZE(ar9485_1_1_pcie_phy_pll_on_clkreq_disable_L1),
83 2);
84
85 /* Sleep Setting */
86
87 INIT_INI_ARRAY(&ah->iniPcieSerdesLowPower,
88 ar9485_1_1_pcie_phy_pll_on_clkreq_disable_L1,
89 ARRAY_SIZE(ar9485_1_1_pcie_phy_pll_on_clkreq_disable_L1),
90 2);
91 } else if (AR_SREV_9485(ah)) {
32 /* mac */ 92 /* mac */
33 INIT_INI_ARRAY(&ah->iniMac[ATH_INI_PRE], NULL, 0, 0); 93 INIT_INI_ARRAY(&ah->iniMac[ATH_INI_PRE], NULL, 0, 0);
34 INIT_INI_ARRAY(&ah->iniMac[ATH_INI_CORE], 94 INIT_INI_ARRAY(&ah->iniMac[ATH_INI_CORE],
@@ -85,8 +145,8 @@ static void ar9003_hw_init_mode_regs(struct ath_hw *ah)
85 /* Sleep Setting */ 145 /* Sleep Setting */
86 146
87 INIT_INI_ARRAY(&ah->iniPcieSerdesLowPower, 147 INIT_INI_ARRAY(&ah->iniPcieSerdesLowPower,
88 ar9485_1_0_pcie_phy_pll_on_clkreq_enable_L1, 148 ar9485_1_0_pcie_phy_pll_on_clkreq_disable_L1,
89 ARRAY_SIZE(ar9485_1_0_pcie_phy_pll_on_clkreq_enable_L1), 149 ARRAY_SIZE(ar9485_1_0_pcie_phy_pll_on_clkreq_disable_L1),
90 2); 150 2);
91 } else { 151 } else {
92 /* mac */ 152 /* mac */
@@ -163,7 +223,12 @@ static void ar9003_tx_gain_table_apply(struct ath_hw *ah)
163 switch (ar9003_hw_get_tx_gain_idx(ah)) { 223 switch (ar9003_hw_get_tx_gain_idx(ah)) {
164 case 0: 224 case 0:
165 default: 225 default:
166 if (AR_SREV_9485(ah)) 226 if (AR_SREV_9485_11(ah))
227 INIT_INI_ARRAY(&ah->iniModesTxGain,
228 ar9485_modes_lowest_ob_db_tx_gain_1_1,
229 ARRAY_SIZE(ar9485_modes_lowest_ob_db_tx_gain_1_1),
230 5);
231 else if (AR_SREV_9485(ah))
167 INIT_INI_ARRAY(&ah->iniModesTxGain, 232 INIT_INI_ARRAY(&ah->iniModesTxGain,
168 ar9485Modes_lowest_ob_db_tx_gain_1_0, 233 ar9485Modes_lowest_ob_db_tx_gain_1_0,
169 ARRAY_SIZE(ar9485Modes_lowest_ob_db_tx_gain_1_0), 234 ARRAY_SIZE(ar9485Modes_lowest_ob_db_tx_gain_1_0),
@@ -175,10 +240,15 @@ static void ar9003_tx_gain_table_apply(struct ath_hw *ah)
175 5); 240 5);
176 break; 241 break;
177 case 1: 242 case 1:
178 if (AR_SREV_9485(ah)) 243 if (AR_SREV_9485_11(ah))
244 INIT_INI_ARRAY(&ah->iniModesTxGain,
245 ar9485Modes_high_ob_db_tx_gain_1_1,
246 ARRAY_SIZE(ar9485Modes_high_ob_db_tx_gain_1_1),
247 5);
248 else if (AR_SREV_9485(ah))
179 INIT_INI_ARRAY(&ah->iniModesTxGain, 249 INIT_INI_ARRAY(&ah->iniModesTxGain,
180 ar9485Modes_high_ob_db_tx_gain_1_0, 250 ar9485Modes_high_ob_db_tx_gain_1_0,
181 ARRAY_SIZE(ar9485Modes_lowest_ob_db_tx_gain_1_0), 251 ARRAY_SIZE(ar9485Modes_high_ob_db_tx_gain_1_0),
182 5); 252 5);
183 else 253 else
184 INIT_INI_ARRAY(&ah->iniModesTxGain, 254 INIT_INI_ARRAY(&ah->iniModesTxGain,
@@ -187,10 +257,15 @@ static void ar9003_tx_gain_table_apply(struct ath_hw *ah)
187 5); 257 5);
188 break; 258 break;
189 case 2: 259 case 2:
190 if (AR_SREV_9485(ah)) 260 if (AR_SREV_9485_11(ah))
261 INIT_INI_ARRAY(&ah->iniModesTxGain,
262 ar9485Modes_low_ob_db_tx_gain_1_1,
263 ARRAY_SIZE(ar9485Modes_low_ob_db_tx_gain_1_1),
264 5);
265 else if (AR_SREV_9485(ah))
191 INIT_INI_ARRAY(&ah->iniModesTxGain, 266 INIT_INI_ARRAY(&ah->iniModesTxGain,
192 ar9485Modes_low_ob_db_tx_gain_1_0, 267 ar9485Modes_low_ob_db_tx_gain_1_0,
193 ARRAY_SIZE(ar9485Modes_lowest_ob_db_tx_gain_1_0), 268 ARRAY_SIZE(ar9485Modes_low_ob_db_tx_gain_1_0),
194 5); 269 5);
195 else 270 else
196 INIT_INI_ARRAY(&ah->iniModesTxGain, 271 INIT_INI_ARRAY(&ah->iniModesTxGain,
@@ -199,7 +274,12 @@ static void ar9003_tx_gain_table_apply(struct ath_hw *ah)
199 5); 274 5);
200 break; 275 break;
201 case 3: 276 case 3:
202 if (AR_SREV_9485(ah)) 277 if (AR_SREV_9485_11(ah))
278 INIT_INI_ARRAY(&ah->iniModesTxGain,
279 ar9485Modes_high_power_tx_gain_1_1,
280 ARRAY_SIZE(ar9485Modes_high_power_tx_gain_1_1),
281 5);
282 else if (AR_SREV_9485(ah))
203 INIT_INI_ARRAY(&ah->iniModesTxGain, 283 INIT_INI_ARRAY(&ah->iniModesTxGain,
204 ar9485Modes_high_power_tx_gain_1_0, 284 ar9485Modes_high_power_tx_gain_1_0,
205 ARRAY_SIZE(ar9485Modes_high_power_tx_gain_1_0), 285 ARRAY_SIZE(ar9485Modes_high_power_tx_gain_1_0),
@@ -218,7 +298,12 @@ static void ar9003_rx_gain_table_apply(struct ath_hw *ah)
218 switch (ar9003_hw_get_rx_gain_idx(ah)) { 298 switch (ar9003_hw_get_rx_gain_idx(ah)) {
219 case 0: 299 case 0:
220 default: 300 default:
221 if (AR_SREV_9485(ah)) 301 if (AR_SREV_9485_11(ah))
302 INIT_INI_ARRAY(&ah->iniModesRxGain,
303 ar9485_common_rx_gain_1_1,
304 ARRAY_SIZE(ar9485_common_rx_gain_1_1),
305 2);
306 else if (AR_SREV_9485(ah))
222 INIT_INI_ARRAY(&ah->iniModesRxGain, 307 INIT_INI_ARRAY(&ah->iniModesRxGain,
223 ar9485Common_rx_gain_1_0, 308 ar9485Common_rx_gain_1_0,
224 ARRAY_SIZE(ar9485Common_rx_gain_1_0), 309 ARRAY_SIZE(ar9485Common_rx_gain_1_0),
@@ -230,7 +315,12 @@ static void ar9003_rx_gain_table_apply(struct ath_hw *ah)
230 2); 315 2);
231 break; 316 break;
232 case 1: 317 case 1:
233 if (AR_SREV_9485(ah)) 318 if (AR_SREV_9485_11(ah))
319 INIT_INI_ARRAY(&ah->iniModesRxGain,
320 ar9485Common_wo_xlna_rx_gain_1_1,
321 ARRAY_SIZE(ar9485Common_wo_xlna_rx_gain_1_1),
322 2);
323 else if (AR_SREV_9485(ah))
234 INIT_INI_ARRAY(&ah->iniModesRxGain, 324 INIT_INI_ARRAY(&ah->iniModesRxGain,
235 ar9485Common_wo_xlna_rx_gain_1_0, 325 ar9485Common_wo_xlna_rx_gain_1_0,
236 ARRAY_SIZE(ar9485Common_wo_xlna_rx_gain_1_0), 326 ARRAY_SIZE(ar9485Common_wo_xlna_rx_gain_1_0),
diff --git a/drivers/net/wireless/ath/ath9k/ar9485_initvals.h b/drivers/net/wireless/ath/ath9k/ar9485_initvals.h
index 70de3d89a7b5..eac4d8526fc1 100644
--- a/drivers/net/wireless/ath/ath9k/ar9485_initvals.h
+++ b/drivers/net/wireless/ath/ath9k/ar9485_initvals.h
@@ -940,4 +940,1145 @@ static const u32 ar9485_1_0_mac_core[][2] = {
940 {0x000083cc, 0x00000200}, 940 {0x000083cc, 0x00000200},
941 {0x000083d0, 0x000301ff}, 941 {0x000083d0, 0x000301ff},
942}; 942};
943
944static const u32 ar9485_1_1_mac_core[][2] = {
945 /* Addr allmodes */
946 {0x00000008, 0x00000000},
947 {0x00000030, 0x00020085},
948 {0x00000034, 0x00000005},
949 {0x00000040, 0x00000000},
950 {0x00000044, 0x00000000},
951 {0x00000048, 0x00000008},
952 {0x0000004c, 0x00000010},
953 {0x00000050, 0x00000000},
954 {0x00001040, 0x002ffc0f},
955 {0x00001044, 0x002ffc0f},
956 {0x00001048, 0x002ffc0f},
957 {0x0000104c, 0x002ffc0f},
958 {0x00001050, 0x002ffc0f},
959 {0x00001054, 0x002ffc0f},
960 {0x00001058, 0x002ffc0f},
961 {0x0000105c, 0x002ffc0f},
962 {0x00001060, 0x002ffc0f},
963 {0x00001064, 0x002ffc0f},
964 {0x000010f0, 0x00000100},
965 {0x00001270, 0x00000000},
966 {0x000012b0, 0x00000000},
967 {0x000012f0, 0x00000000},
968 {0x0000143c, 0x00000000},
969 {0x0000147c, 0x00000000},
970 {0x00008000, 0x00000000},
971 {0x00008004, 0x00000000},
972 {0x00008008, 0x00000000},
973 {0x0000800c, 0x00000000},
974 {0x00008018, 0x00000000},
975 {0x00008020, 0x00000000},
976 {0x00008038, 0x00000000},
977 {0x0000803c, 0x00000000},
978 {0x00008040, 0x00000000},
979 {0x00008044, 0x00000000},
980 {0x00008048, 0x00000000},
981 {0x0000804c, 0xffffffff},
982 {0x00008054, 0x00000000},
983 {0x00008058, 0x00000000},
984 {0x0000805c, 0x000fc78f},
985 {0x00008060, 0x0000000f},
986 {0x00008064, 0x00000000},
987 {0x00008070, 0x00000310},
988 {0x00008074, 0x00000020},
989 {0x00008078, 0x00000000},
990 {0x0000809c, 0x0000000f},
991 {0x000080a0, 0x00000000},
992 {0x000080a4, 0x02ff0000},
993 {0x000080a8, 0x0e070605},
994 {0x000080ac, 0x0000000d},
995 {0x000080b0, 0x00000000},
996 {0x000080b4, 0x00000000},
997 {0x000080b8, 0x00000000},
998 {0x000080bc, 0x00000000},
999 {0x000080c0, 0x2a800000},
1000 {0x000080c4, 0x06900168},
1001 {0x000080c8, 0x13881c22},
1002 {0x000080cc, 0x01f40000},
1003 {0x000080d0, 0x00252500},
1004 {0x000080d4, 0x00a00000},
1005 {0x000080d8, 0x00400000},
1006 {0x000080dc, 0x00000000},
1007 {0x000080e0, 0xffffffff},
1008 {0x000080e4, 0x0000ffff},
1009 {0x000080e8, 0x3f3f3f3f},
1010 {0x000080ec, 0x00000000},
1011 {0x000080f0, 0x00000000},
1012 {0x000080f4, 0x00000000},
1013 {0x000080fc, 0x00020000},
1014 {0x00008100, 0x00000000},
1015 {0x00008108, 0x00000052},
1016 {0x0000810c, 0x00000000},
1017 {0x00008110, 0x00000000},
1018 {0x00008114, 0x000007ff},
1019 {0x00008118, 0x000000aa},
1020 {0x0000811c, 0x00003210},
1021 {0x00008124, 0x00000000},
1022 {0x00008128, 0x00000000},
1023 {0x0000812c, 0x00000000},
1024 {0x00008130, 0x00000000},
1025 {0x00008134, 0x00000000},
1026 {0x00008138, 0x00000000},
1027 {0x0000813c, 0x0000ffff},
1028 {0x00008144, 0xffffffff},
1029 {0x00008168, 0x00000000},
1030 {0x0000816c, 0x00000000},
1031 {0x00008170, 0x18486200},
1032 {0x00008174, 0x33332210},
1033 {0x00008178, 0x00000000},
1034 {0x0000817c, 0x00020000},
1035 {0x000081c0, 0x00000000},
1036 {0x000081c4, 0x33332210},
1037 {0x000081d4, 0x00000000},
1038 {0x000081ec, 0x00000000},
1039 {0x000081f0, 0x00000000},
1040 {0x000081f4, 0x00000000},
1041 {0x000081f8, 0x00000000},
1042 {0x000081fc, 0x00000000},
1043 {0x00008240, 0x00100000},
1044 {0x00008244, 0x0010f400},
1045 {0x00008248, 0x00000800},
1046 {0x0000824c, 0x0001e800},
1047 {0x00008250, 0x00000000},
1048 {0x00008254, 0x00000000},
1049 {0x00008258, 0x00000000},
1050 {0x0000825c, 0x40000000},
1051 {0x00008260, 0x00080922},
1052 {0x00008264, 0x9ca00010},
1053 {0x00008268, 0xffffffff},
1054 {0x0000826c, 0x0000ffff},
1055 {0x00008270, 0x00000000},
1056 {0x00008274, 0x40000000},
1057 {0x00008278, 0x003e4180},
1058 {0x0000827c, 0x00000004},
1059 {0x00008284, 0x0000002c},
1060 {0x00008288, 0x0000002c},
1061 {0x0000828c, 0x000000ff},
1062 {0x00008294, 0x00000000},
1063 {0x00008298, 0x00000000},
1064 {0x0000829c, 0x00000000},
1065 {0x00008300, 0x00000140},
1066 {0x00008314, 0x00000000},
1067 {0x0000831c, 0x0000010d},
1068 {0x00008328, 0x00000000},
1069 {0x0000832c, 0x00000007},
1070 {0x00008330, 0x00000302},
1071 {0x00008334, 0x00000700},
1072 {0x00008338, 0x00ff0000},
1073 {0x0000833c, 0x02400000},
1074 {0x00008340, 0x000107ff},
1075 {0x00008344, 0xa248105b},
1076 {0x00008348, 0x008f0000},
1077 {0x0000835c, 0x00000000},
1078 {0x00008360, 0xffffffff},
1079 {0x00008364, 0xffffffff},
1080 {0x00008368, 0x00000000},
1081 {0x00008370, 0x00000000},
1082 {0x00008374, 0x000000ff},
1083 {0x00008378, 0x00000000},
1084 {0x0000837c, 0x00000000},
1085 {0x00008380, 0xffffffff},
1086 {0x00008384, 0xffffffff},
1087 {0x00008390, 0xffffffff},
1088 {0x00008394, 0xffffffff},
1089 {0x00008398, 0x00000000},
1090 {0x0000839c, 0x00000000},
1091 {0x000083a0, 0x00000000},
1092 {0x000083a4, 0x0000fa14},
1093 {0x000083a8, 0x000f0c00},
1094 {0x000083ac, 0x33332210},
1095 {0x000083b0, 0x33332210},
1096 {0x000083b4, 0x33332210},
1097 {0x000083b8, 0x33332210},
1098 {0x000083bc, 0x00000000},
1099 {0x000083c0, 0x00000000},
1100 {0x000083c4, 0x00000000},
1101 {0x000083c8, 0x00000000},
1102 {0x000083cc, 0x00000200},
1103 {0x000083d0, 0x000301ff},
1104};
1105
1106static const u32 ar9485_1_1_baseband_core[][2] = {
1107 /* Addr allmodes */
1108 {0x00009800, 0xafe68e30},
1109 {0x00009804, 0xfd14e000},
1110 {0x00009808, 0x9c0a8f6b},
1111 {0x0000980c, 0x04800000},
1112 {0x00009814, 0x9280c00a},
1113 {0x00009818, 0x00000000},
1114 {0x0000981c, 0x00020028},
1115 {0x00009834, 0x5f3ca3de},
1116 {0x00009838, 0x0108ecff},
1117 {0x0000983c, 0x14750600},
1118 {0x00009880, 0x201fff00},
1119 {0x00009884, 0x00001042},
1120 {0x000098a4, 0x00200400},
1121 {0x000098b0, 0x52440bbe},
1122 {0x000098d0, 0x004b6a8e},
1123 {0x000098d4, 0x00000820},
1124 {0x000098dc, 0x00000000},
1125 {0x000098f0, 0x00000000},
1126 {0x000098f4, 0x00000000},
1127 {0x00009c04, 0x00000000},
1128 {0x00009c08, 0x03200000},
1129 {0x00009c0c, 0x00000000},
1130 {0x00009c10, 0x00000000},
1131 {0x00009c14, 0x00046384},
1132 {0x00009c18, 0x05b6b440},
1133 {0x00009c1c, 0x00b6b440},
1134 {0x00009d00, 0xc080a333},
1135 {0x00009d04, 0x40206c10},
1136 {0x00009d08, 0x009c4060},
1137 {0x00009d0c, 0x1883800a},
1138 {0x00009d10, 0x01834061},
1139 {0x00009d14, 0x00c00400},
1140 {0x00009d18, 0x00000000},
1141 {0x00009d1c, 0x00000000},
1142 {0x00009e08, 0x0038233c},
1143 {0x00009e24, 0x9927b515},
1144 {0x00009e28, 0x12ef0200},
1145 {0x00009e30, 0x06336f77},
1146 {0x00009e34, 0x6af6532f},
1147 {0x00009e38, 0x0cc80c00},
1148 {0x00009e40, 0x0d261820},
1149 {0x00009e4c, 0x00001004},
1150 {0x00009e50, 0x00ff03f1},
1151 {0x00009fc0, 0x80be4788},
1152 {0x00009fc4, 0x0001efb5},
1153 {0x00009fcc, 0x40000014},
1154 {0x0000a20c, 0x00000000},
1155 {0x0000a210, 0x00000000},
1156 {0x0000a220, 0x00000000},
1157 {0x0000a224, 0x00000000},
1158 {0x0000a228, 0x10002310},
1159 {0x0000a23c, 0x00000000},
1160 {0x0000a244, 0x0c000000},
1161 {0x0000a2a0, 0x00000001},
1162 {0x0000a2c0, 0x00000001},
1163 {0x0000a2c8, 0x00000000},
1164 {0x0000a2cc, 0x18c43433},
1165 {0x0000a2d4, 0x00000000},
1166 {0x0000a2dc, 0x00000000},
1167 {0x0000a2e0, 0x00000000},
1168 {0x0000a2e4, 0x00000000},
1169 {0x0000a2e8, 0x00000000},
1170 {0x0000a2ec, 0x00000000},
1171 {0x0000a2f0, 0x00000000},
1172 {0x0000a2f4, 0x00000000},
1173 {0x0000a2f8, 0x00000000},
1174 {0x0000a344, 0x00000000},
1175 {0x0000a34c, 0x00000000},
1176 {0x0000a350, 0x0000a000},
1177 {0x0000a364, 0x00000000},
1178 {0x0000a370, 0x00000000},
1179 {0x0000a390, 0x00000001},
1180 {0x0000a394, 0x00000444},
1181 {0x0000a398, 0x001f0e0f},
1182 {0x0000a39c, 0x0075393f},
1183 {0x0000a3a0, 0xb79f6427},
1184 {0x0000a3a4, 0x000000ff},
1185 {0x0000a3a8, 0x3b3b3b3b},
1186 {0x0000a3ac, 0x2f2f2f2f},
1187 {0x0000a3c0, 0x20202020},
1188 {0x0000a3c4, 0x22222220},
1189 {0x0000a3c8, 0x20200020},
1190 {0x0000a3cc, 0x20202020},
1191 {0x0000a3d0, 0x20202020},
1192 {0x0000a3d4, 0x20202020},
1193 {0x0000a3d8, 0x20202020},
1194 {0x0000a3dc, 0x20202020},
1195 {0x0000a3e0, 0x20202020},
1196 {0x0000a3e4, 0x20202020},
1197 {0x0000a3e8, 0x20202020},
1198 {0x0000a3ec, 0x20202020},
1199 {0x0000a3f0, 0x00000000},
1200 {0x0000a3f4, 0x00000006},
1201 {0x0000a3f8, 0x0cdbd380},
1202 {0x0000a3fc, 0x000f0f01},
1203 {0x0000a400, 0x8fa91f01},
1204 {0x0000a404, 0x00000000},
1205 {0x0000a408, 0x0e79e5c6},
1206 {0x0000a40c, 0x00820820},
1207 {0x0000a414, 0x1ce739cf},
1208 {0x0000a418, 0x2d0019ce},
1209 {0x0000a41c, 0x1ce739ce},
1210 {0x0000a420, 0x000001ce},
1211 {0x0000a424, 0x1ce739ce},
1212 {0x0000a428, 0x000001ce},
1213 {0x0000a42c, 0x1ce739ce},
1214 {0x0000a430, 0x1ce739ce},
1215 {0x0000a434, 0x00000000},
1216 {0x0000a438, 0x00001801},
1217 {0x0000a43c, 0x00000000},
1218 {0x0000a440, 0x00000000},
1219 {0x0000a444, 0x00000000},
1220 {0x0000a448, 0x04000000},
1221 {0x0000a44c, 0x00000001},
1222 {0x0000a450, 0x00010000},
1223 {0x0000a5c4, 0xbfad9d74},
1224 {0x0000a5c8, 0x0048060a},
1225 {0x0000a5cc, 0x00000637},
1226 {0x0000a760, 0x03020100},
1227 {0x0000a764, 0x09080504},
1228 {0x0000a768, 0x0d0c0b0a},
1229 {0x0000a76c, 0x13121110},
1230 {0x0000a770, 0x31301514},
1231 {0x0000a774, 0x35343332},
1232 {0x0000a778, 0x00000036},
1233 {0x0000a780, 0x00000838},
1234 {0x0000a7c0, 0x00000000},
1235 {0x0000a7c4, 0xfffffffc},
1236 {0x0000a7c8, 0x00000000},
1237 {0x0000a7cc, 0x00000000},
1238 {0x0000a7d0, 0x00000000},
1239 {0x0000a7d4, 0x00000004},
1240 {0x0000a7dc, 0x00000000},
1241};
1242
1243static const u32 ar9485Common_1_1[][2] = {
1244 /* Addr allmodes */
1245 {0x00007010, 0x00000022},
1246 {0x00007020, 0x00000000},
1247 {0x00007034, 0x00000002},
1248 {0x00007038, 0x000004c2},
1249};
1250
1251static const u32 ar9485_1_1_baseband_postamble[][5] = {
1252 /* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */
1253 {0x00009810, 0xd00a8005, 0xd00a8005, 0xd00a8005, 0xd00a8005},
1254 {0x00009820, 0x206a002e, 0x206a002e, 0x206a002e, 0x206a002e},
1255 {0x00009824, 0x5ac640d0, 0x5ac640d0, 0x5ac640d0, 0x5ac640d0},
1256 {0x00009828, 0x06903081, 0x06903081, 0x06903881, 0x06903881},
1257 {0x0000982c, 0x05eea6d4, 0x05eea6d4, 0x05eea6d4, 0x05eea6d4},
1258 {0x00009830, 0x0000059c, 0x0000059c, 0x0000059c, 0x0000059c},
1259 {0x00009c00, 0x00000044, 0x00000044, 0x00000044, 0x00000044},
1260 {0x00009e00, 0x0372161e, 0x0372161e, 0x037216a0, 0x037216a0},
1261 {0x00009e04, 0x00182020, 0x00182020, 0x00182020, 0x00182020},
1262 {0x00009e0c, 0x6c4000e2, 0x6d4000e2, 0x6d4000e2, 0x6c4000e2},
1263 {0x00009e10, 0x7ec88d2e, 0x7ec88d2e, 0x7ec80d2e, 0x7ec80d2e},
1264 {0x00009e14, 0x31395d5e, 0x3139605e, 0x3139605e, 0x31395d5e},
1265 {0x00009e18, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1266 {0x00009e1c, 0x0001cf9c, 0x0001cf9c, 0x00021f9c, 0x00021f9c},
1267 {0x00009e20, 0x000003b5, 0x000003b5, 0x000003ce, 0x000003ce},
1268 {0x00009e2c, 0x0000001c, 0x0000001c, 0x00000021, 0x00000021},
1269 {0x00009e3c, 0xcf946220, 0xcf946220, 0xcf946222, 0xcf946222},
1270 {0x00009e44, 0x02321e27, 0x02321e27, 0x02282324, 0x02282324},
1271 {0x00009e48, 0x5030201a, 0x5030201a, 0x50302010, 0x50302010},
1272 {0x00009fc8, 0x0003f000, 0x0003f000, 0x0001a000, 0x0001a000},
1273 {0x0000a204, 0x01303fc0, 0x01303fc4, 0x01303fc4, 0x01303fc0},
1274 {0x0000a208, 0x00000104, 0x00000104, 0x00000004, 0x00000004},
1275 {0x0000a230, 0x0000400a, 0x00004014, 0x00004016, 0x0000400b},
1276 {0x0000a234, 0x10000fff, 0x10000fff, 0x10000fff, 0x10000fff},
1277 {0x0000a238, 0xffb81018, 0xffb81018, 0xffb81018, 0xffb81018},
1278 {0x0000a250, 0x00000000, 0x00000000, 0x00000210, 0x00000108},
1279 {0x0000a254, 0x000007d0, 0x00000fa0, 0x00001130, 0x00000898},
1280 {0x0000a258, 0x02020002, 0x02020002, 0x02020002, 0x02020002},
1281 {0x0000a25c, 0x01000e0e, 0x01000e0e, 0x01000e0e, 0x01000e0e},
1282 {0x0000a260, 0x3a021501, 0x3a021501, 0x3a021501, 0x3a021501},
1283 {0x0000a264, 0x00000e0e, 0x00000e0e, 0x00000e0e, 0x00000e0e},
1284 {0x0000a280, 0x00000007, 0x00000007, 0x0000000b, 0x0000000b},
1285 {0x0000a284, 0x00000000, 0x00000000, 0x000002a0, 0x000002a0},
1286 {0x0000a288, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1287 {0x0000a28c, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1288 {0x0000a2c4, 0x00158d18, 0x00158d18, 0x00158d18, 0x00158d18},
1289 {0x0000a2d0, 0x00071981, 0x00071981, 0x00071982, 0x00071982},
1290 {0x0000a2d8, 0xf999a83a, 0xf999a83a, 0xf999a83a, 0xf999a83a},
1291 {0x0000a358, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1292 {0x0000be04, 0x00802020, 0x00802020, 0x00802020, 0x00802020},
1293 {0x0000be18, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1294};
1295
1296static const u32 ar9485Modes_high_ob_db_tx_gain_1_1[][5] = {
1297 /* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */
1298 {0x000098bc, 0x00000002, 0x00000002, 0x00000002, 0x00000002},
1299 {0x0000a410, 0x000050d9, 0x000050d9, 0x000050d8, 0x000050d8},
1300 {0x0000a458, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1301 {0x0000a500, 0x00022200, 0x00022200, 0x00000000, 0x00000000},
1302 {0x0000a504, 0x05062002, 0x05062002, 0x04000002, 0x04000002},
1303 {0x0000a508, 0x0c002e00, 0x0c002e00, 0x08000004, 0x08000004},
1304 {0x0000a50c, 0x11062202, 0x11062202, 0x0d000200, 0x0d000200},
1305 {0x0000a510, 0x17022e00, 0x17022e00, 0x11000202, 0x11000202},
1306 {0x0000a514, 0x1d000ec2, 0x1d000ec2, 0x15000400, 0x15000400},
1307 {0x0000a518, 0x25020ec0, 0x25020ec0, 0x19000402, 0x19000402},
1308 {0x0000a51c, 0x2b020ec3, 0x2b020ec3, 0x1d000404, 0x1d000404},
1309 {0x0000a520, 0x2f001f04, 0x2f001f04, 0x21000603, 0x21000603},
1310 {0x0000a524, 0x35001fc4, 0x35001fc4, 0x25000605, 0x25000605},
1311 {0x0000a528, 0x3c022f04, 0x3c022f04, 0x2a000a03, 0x2a000a03},
1312 {0x0000a52c, 0x41023e85, 0x41023e85, 0x2c000a04, 0x2c000a04},
1313 {0x0000a530, 0x48023ec6, 0x48023ec6, 0x34000e20, 0x34000e20},
1314 {0x0000a534, 0x4d023f01, 0x4d023f01, 0x35000e21, 0x35000e21},
1315 {0x0000a538, 0x53023f4b, 0x53023f4b, 0x43000e62, 0x43000e62},
1316 {0x0000a53c, 0x5a027f09, 0x5a027f09, 0x45000e63, 0x45000e63},
1317 {0x0000a540, 0x5f027fc9, 0x5f027fc9, 0x49000e65, 0x49000e65},
1318 {0x0000a544, 0x6502feca, 0x6502feca, 0x4b000e66, 0x4b000e66},
1319 {0x0000a548, 0x6b02ff4a, 0x6b02ff4a, 0x4d001645, 0x4d001645},
1320 {0x0000a54c, 0x7203feca, 0x7203feca, 0x51001865, 0x51001865},
1321 {0x0000a550, 0x7703ff0b, 0x7703ff0b, 0x55001a86, 0x55001a86},
1322 {0x0000a554, 0x7d06ffcb, 0x7d06ffcb, 0x57001ce9, 0x57001ce9},
1323 {0x0000a558, 0x8407ff0b, 0x8407ff0b, 0x5a001eeb, 0x5a001eeb},
1324 {0x0000a55c, 0x8907ffcb, 0x8907ffcb, 0x5e001eeb, 0x5e001eeb},
1325 {0x0000a560, 0x900fff0b, 0x900fff0b, 0x5e001eeb, 0x5e001eeb},
1326 {0x0000a564, 0x960fffcb, 0x960fffcb, 0x5e001eeb, 0x5e001eeb},
1327 {0x0000a568, 0x9c1fff0b, 0x9c1fff0b, 0x5e001eeb, 0x5e001eeb},
1328 {0x0000a56c, 0x9c1fff0b, 0x9c1fff0b, 0x5e001eeb, 0x5e001eeb},
1329 {0x0000a570, 0x9c1fff0b, 0x9c1fff0b, 0x5e001eeb, 0x5e001eeb},
1330 {0x0000a574, 0x9c1fff0b, 0x9c1fff0b, 0x5e001eeb, 0x5e001eeb},
1331 {0x0000a578, 0x9c1fff0b, 0x9c1fff0b, 0x5e001eeb, 0x5e001eeb},
1332 {0x0000a57c, 0x9c1fff0b, 0x9c1fff0b, 0x5e001eeb, 0x5e001eeb},
1333 {0x0000b500, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1334 {0x0000b504, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1335 {0x0000b508, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1336 {0x0000b50c, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1337 {0x0000b510, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1338 {0x0000b514, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1339 {0x0000b518, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1340 {0x0000b51c, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1341 {0x0000b520, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1342 {0x0000b524, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1343 {0x0000b528, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1344 {0x0000b52c, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1345 {0x0000b530, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1346 {0x0000b534, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1347 {0x0000b538, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1348 {0x0000b53c, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1349 {0x0000b540, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1350 {0x0000b544, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1351 {0x0000b548, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1352 {0x0000b54c, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1353 {0x0000b550, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1354 {0x0000b554, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1355 {0x0000b558, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1356 {0x0000b55c, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1357 {0x0000b560, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1358 {0x0000b564, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1359 {0x0000b568, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1360 {0x0000b56c, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1361 {0x0000b570, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1362 {0x0000b574, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1363 {0x0000b578, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1364 {0x0000b57c, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1365 {0x00016044, 0x05d6b2db, 0x05d6b2db, 0x05d6b2db, 0x05d6b2db},
1366 {0x00016048, 0x6c924260, 0x6c924260, 0x6c924260, 0x6c924260},
1367};
1368
1369static const u32 ar9485_modes_lowest_ob_db_tx_gain_1_1[][5] = {
1370 /* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */
1371 {0x000098bc, 0x00000002, 0x00000002, 0x00000002, 0x00000002},
1372 {0x0000a410, 0x000050d9, 0x000050d9, 0x000050d8, 0x000050d8},
1373 {0x0000a458, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1374 {0x0000a500, 0x00022200, 0x00022200, 0x00000000, 0x00000000},
1375 {0x0000a504, 0x05062002, 0x05062002, 0x04000002, 0x04000002},
1376 {0x0000a508, 0x0c002e00, 0x0c002e00, 0x08000004, 0x08000004},
1377 {0x0000a50c, 0x11062202, 0x11062202, 0x0d000200, 0x0d000200},
1378 {0x0000a510, 0x17022e00, 0x17022e00, 0x11000202, 0x11000202},
1379 {0x0000a514, 0x1d000ec2, 0x1d000ec2, 0x15000400, 0x15000400},
1380 {0x0000a518, 0x25020ec0, 0x25020ec0, 0x19000402, 0x19000402},
1381 {0x0000a51c, 0x2b020ec3, 0x2b020ec3, 0x1d000404, 0x1d000404},
1382 {0x0000a520, 0x2f001f04, 0x2f001f04, 0x21000603, 0x21000603},
1383 {0x0000a524, 0x35001fc4, 0x35001fc4, 0x25000605, 0x25000605},
1384 {0x0000a528, 0x3c022f04, 0x3c022f04, 0x2a000a03, 0x2a000a03},
1385 {0x0000a52c, 0x41023e85, 0x41023e85, 0x2c000a04, 0x2c000a04},
1386 {0x0000a530, 0x48023ec6, 0x48023ec6, 0x34000e20, 0x34000e20},
1387 {0x0000a534, 0x4d023f01, 0x4d023f01, 0x35000e21, 0x35000e21},
1388 {0x0000a538, 0x53023f4b, 0x53023f4b, 0x43000e62, 0x43000e62},
1389 {0x0000a53c, 0x5a027f09, 0x5a027f09, 0x45000e63, 0x45000e63},
1390 {0x0000a540, 0x5f027fc9, 0x5f027fc9, 0x49000e65, 0x49000e65},
1391 {0x0000a544, 0x6502feca, 0x6502feca, 0x4b000e66, 0x4b000e66},
1392 {0x0000a548, 0x6b02ff4a, 0x6b02ff4a, 0x4d001645, 0x4d001645},
1393 {0x0000a54c, 0x7203feca, 0x7203feca, 0x51001865, 0x51001865},
1394 {0x0000a550, 0x7703ff0b, 0x7703ff0b, 0x55001a86, 0x55001a86},
1395 {0x0000a554, 0x7d06ffcb, 0x7d06ffcb, 0x57001ce9, 0x57001ce9},
1396 {0x0000a558, 0x8407ff0b, 0x8407ff0b, 0x5a001eeb, 0x5a001eeb},
1397 {0x0000a55c, 0x8907ffcb, 0x8907ffcb, 0x5e001eeb, 0x5e001eeb},
1398 {0x0000a560, 0x900fff0b, 0x900fff0b, 0x5e001eeb, 0x5e001eeb},
1399 {0x0000a564, 0x960fffcb, 0x960fffcb, 0x5e001eeb, 0x5e001eeb},
1400 {0x0000a568, 0x9c1fff0b, 0x9c1fff0b, 0x5e001eeb, 0x5e001eeb},
1401 {0x0000a56c, 0x9c1fff0b, 0x9c1fff0b, 0x5e001eeb, 0x5e001eeb},
1402 {0x0000a570, 0x9c1fff0b, 0x9c1fff0b, 0x5e001eeb, 0x5e001eeb},
1403 {0x0000a574, 0x9c1fff0b, 0x9c1fff0b, 0x5e001eeb, 0x5e001eeb},
1404 {0x0000a578, 0x9c1fff0b, 0x9c1fff0b, 0x5e001eeb, 0x5e001eeb},
1405 {0x0000a57c, 0x9c1fff0b, 0x9c1fff0b, 0x5e001eeb, 0x5e001eeb},
1406 {0x0000b500, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1407 {0x0000b504, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1408 {0x0000b508, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1409 {0x0000b50c, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1410 {0x0000b510, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1411 {0x0000b514, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1412 {0x0000b518, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1413 {0x0000b51c, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1414 {0x0000b520, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1415 {0x0000b524, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1416 {0x0000b528, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1417 {0x0000b52c, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1418 {0x0000b530, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1419 {0x0000b534, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1420 {0x0000b538, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1421 {0x0000b53c, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1422 {0x0000b540, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1423 {0x0000b544, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1424 {0x0000b548, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1425 {0x0000b54c, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1426 {0x0000b550, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1427 {0x0000b554, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1428 {0x0000b558, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1429 {0x0000b55c, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1430 {0x0000b560, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1431 {0x0000b564, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1432 {0x0000b568, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1433 {0x0000b56c, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1434 {0x0000b570, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1435 {0x0000b574, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1436 {0x0000b578, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1437 {0x0000b57c, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1438 {0x00016044, 0x05d6b2db, 0x05d6b2db, 0x05d6b2db, 0x05d6b2db},
1439 {0x00016048, 0x6c924260, 0x6c924260, 0x6c924260, 0x6c924260},
1440};
1441
1442static const u32 ar9485_1_1_radio_postamble[][2] = {
1443 /* Addr allmodes */
1444 {0x0001609c, 0x0b283f31},
1445 {0x000160ac, 0x24611800},
1446 {0x000160b0, 0x03284f3e},
1447 {0x0001610c, 0x00170000},
1448 {0x00016140, 0x10804008},
1449};
1450
1451static const u32 ar9485_1_1_mac_postamble[][5] = {
1452 /* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */
1453 {0x00001030, 0x00000230, 0x00000460, 0x000002c0, 0x00000160},
1454 {0x00001070, 0x00000168, 0x000002d0, 0x00000318, 0x0000018c},
1455 {0x000010b0, 0x00000e60, 0x00001cc0, 0x00007c70, 0x00003e38},
1456 {0x00008014, 0x03e803e8, 0x07d007d0, 0x10801600, 0x08400b00},
1457 {0x0000801c, 0x128d8027, 0x128d804f, 0x12e00057, 0x12e0002b},
1458 {0x00008120, 0x08f04800, 0x08f04800, 0x08f04810, 0x08f04810},
1459 {0x000081d0, 0x00003210, 0x00003210, 0x0000320a, 0x0000320a},
1460 {0x00008318, 0x00003e80, 0x00007d00, 0x00006880, 0x00003440},
1461};
1462
1463static const u32 ar9485_1_1_radio_core[][2] = {
1464 /* Addr allmodes */
1465 {0x00016000, 0x36db6db6},
1466 {0x00016004, 0x6db6db40},
1467 {0x00016008, 0x73800000},
1468 {0x0001600c, 0x00000000},
1469 {0x00016040, 0x7f80fff8},
1470 {0x0001604c, 0x000f0278},
1471 {0x00016050, 0x4db6db8c},
1472 {0x00016054, 0x6db60000},
1473 {0x00016080, 0x00080000},
1474 {0x00016084, 0x0e48048c},
1475 {0x00016088, 0x14214514},
1476 {0x0001608c, 0x119f081e},
1477 {0x00016090, 0x24926490},
1478 {0x00016098, 0xd28b3330},
1479 {0x000160a0, 0xc2108ffe},
1480 {0x000160a4, 0x812fc370},
1481 {0x000160a8, 0x423c8000},
1482 {0x000160b4, 0x92480040},
1483 {0x000160c0, 0x006db6db},
1484 {0x000160c4, 0x0186db60},
1485 {0x000160c8, 0x6db6db6c},
1486 {0x000160cc, 0x6de6fbe0},
1487 {0x000160d0, 0xf7dfcf3c},
1488 {0x00016100, 0x04cb0001},
1489 {0x00016104, 0xfff80015},
1490 {0x00016108, 0x00080010},
1491 {0x00016144, 0x01884080},
1492 {0x00016148, 0x00008040},
1493 {0x00016240, 0x08400000},
1494 {0x00016244, 0x1bf90f00},
1495 {0x00016248, 0x00000000},
1496 {0x0001624c, 0x00000000},
1497 {0x00016280, 0x01000015},
1498 {0x00016284, 0x00d30000},
1499 {0x00016288, 0x00318000},
1500 {0x0001628c, 0x50000000},
1501 {0x00016290, 0x4b96210f},
1502 {0x00016380, 0x00000000},
1503 {0x00016384, 0x00000000},
1504 {0x00016388, 0x00800700},
1505 {0x0001638c, 0x00800700},
1506 {0x00016390, 0x00800700},
1507 {0x00016394, 0x00000000},
1508 {0x00016398, 0x00000000},
1509 {0x0001639c, 0x00000000},
1510 {0x000163a0, 0x00000001},
1511 {0x000163a4, 0x00000001},
1512 {0x000163a8, 0x00000000},
1513 {0x000163ac, 0x00000000},
1514 {0x000163b0, 0x00000000},
1515 {0x000163b4, 0x00000000},
1516 {0x000163b8, 0x00000000},
1517 {0x000163bc, 0x00000000},
1518 {0x000163c0, 0x000000a0},
1519 {0x000163c4, 0x000c0000},
1520 {0x000163c8, 0x14021402},
1521 {0x000163cc, 0x00001402},
1522 {0x000163d0, 0x00000000},
1523 {0x000163d4, 0x00000000},
1524 {0x00016c40, 0x13188278},
1525 {0x00016c44, 0x12000000},
1526};
1527
1528static const u32 ar9485_1_1_pcie_phy_pll_on_clkreq_enable_L1[][2] = {
1529 /* Addr allmodes */
1530 {0x00018c00, 0x10052e5e},
1531 {0x00018c04, 0x000801d8},
1532 {0x00018c08, 0x0000080c},
1533};
1534
1535static const u32 ar9485Modes_high_power_tx_gain_1_1[][5] = {
1536 /* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */
1537 {0x000098bc, 0x00000002, 0x00000002, 0x00000002, 0x00000002},
1538 {0x0000a410, 0x000050d9, 0x000050d9, 0x000050d8, 0x000050d8},
1539 {0x0000a458, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1540 {0x0000a500, 0x00022200, 0x00022200, 0x00000000, 0x00000000},
1541 {0x0000a504, 0x05062002, 0x05062002, 0x04000002, 0x04000002},
1542 {0x0000a508, 0x0c002e00, 0x0c002e00, 0x08000004, 0x08000004},
1543 {0x0000a50c, 0x11062202, 0x11062202, 0x0d000200, 0x0d000200},
1544 {0x0000a510, 0x17022e00, 0x17022e00, 0x11000202, 0x11000202},
1545 {0x0000a514, 0x1d000ec2, 0x1d000ec2, 0x15000400, 0x15000400},
1546 {0x0000a518, 0x25020ec0, 0x25020ec0, 0x19000402, 0x19000402},
1547 {0x0000a51c, 0x2b020ec3, 0x2b020ec3, 0x1d000404, 0x1d000404},
1548 {0x0000a520, 0x2f001f04, 0x2f001f04, 0x21000603, 0x21000603},
1549 {0x0000a524, 0x35001fc4, 0x35001fc4, 0x25000605, 0x25000605},
1550 {0x0000a528, 0x3c022f04, 0x3c022f04, 0x2a000a03, 0x2a000a03},
1551 {0x0000a52c, 0x41023e85, 0x41023e85, 0x2c000a04, 0x2c000a04},
1552 {0x0000a530, 0x48023ec6, 0x48023ec6, 0x34000e20, 0x34000e20},
1553 {0x0000a534, 0x4d023f01, 0x4d023f01, 0x35000e21, 0x35000e21},
1554 {0x0000a538, 0x53023f4b, 0x53023f4b, 0x43000e62, 0x43000e62},
1555 {0x0000a53c, 0x5a027f09, 0x5a027f09, 0x45000e63, 0x45000e63},
1556 {0x0000a540, 0x5f027fc9, 0x5f027fc9, 0x49000e65, 0x49000e65},
1557 {0x0000a544, 0x6502feca, 0x6502feca, 0x4b000e66, 0x4b000e66},
1558 {0x0000a548, 0x6b02ff4a, 0x6b02ff4a, 0x4d001645, 0x4d001645},
1559 {0x0000a54c, 0x7203feca, 0x7203feca, 0x51001865, 0x51001865},
1560 {0x0000a550, 0x7703ff0b, 0x7703ff0b, 0x55001a86, 0x55001a86},
1561 {0x0000a554, 0x7d06ffcb, 0x7d06ffcb, 0x57001ce9, 0x57001ce9},
1562 {0x0000a558, 0x8407ff0b, 0x8407ff0b, 0x5a001eeb, 0x5a001eeb},
1563 {0x0000a55c, 0x8907ffcb, 0x8907ffcb, 0x5e001eeb, 0x5e001eeb},
1564 {0x0000a560, 0x900fff0b, 0x900fff0b, 0x5e001eeb, 0x5e001eeb},
1565 {0x0000a564, 0x960fffcb, 0x960fffcb, 0x5e001eeb, 0x5e001eeb},
1566 {0x0000a568, 0x9c1fff0b, 0x9c1fff0b, 0x5e001eeb, 0x5e001eeb},
1567 {0x0000a56c, 0x9c1fff0b, 0x9c1fff0b, 0x5e001eeb, 0x5e001eeb},
1568 {0x0000a570, 0x9c1fff0b, 0x9c1fff0b, 0x5e001eeb, 0x5e001eeb},
1569 {0x0000a574, 0x9c1fff0b, 0x9c1fff0b, 0x5e001eeb, 0x5e001eeb},
1570 {0x0000a578, 0x9c1fff0b, 0x9c1fff0b, 0x5e001eeb, 0x5e001eeb},
1571 {0x0000a57c, 0x9c1fff0b, 0x9c1fff0b, 0x5e001eeb, 0x5e001eeb},
1572 {0x0000b500, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1573 {0x0000b504, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1574 {0x0000b508, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1575 {0x0000b50c, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1576 {0x0000b510, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1577 {0x0000b514, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1578 {0x0000b518, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1579 {0x0000b51c, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1580 {0x0000b520, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1581 {0x0000b524, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1582 {0x0000b528, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1583 {0x0000b52c, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1584 {0x0000b530, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1585 {0x0000b534, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1586 {0x0000b538, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1587 {0x0000b53c, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1588 {0x0000b540, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1589 {0x0000b544, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1590 {0x0000b548, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1591 {0x0000b54c, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1592 {0x0000b550, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1593 {0x0000b554, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1594 {0x0000b558, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1595 {0x0000b55c, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1596 {0x0000b560, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1597 {0x0000b564, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1598 {0x0000b568, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1599 {0x0000b56c, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1600 {0x0000b570, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1601 {0x0000b574, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1602 {0x0000b578, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1603 {0x0000b57c, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1604 {0x00016044, 0x05d6b2db, 0x05d6b2db, 0x05d6b2db, 0x05d6b2db},
1605 {0x00016048, 0x6c924260, 0x6c924260, 0x6c924260, 0x6c924260},
1606};
1607
1608static const u32 ar9485_1_1[][2] = {
1609 /* Addr allmodes */
1610 {0x0000a580, 0x00000000},
1611 {0x0000a584, 0x00000000},
1612 {0x0000a588, 0x00000000},
1613 {0x0000a58c, 0x00000000},
1614 {0x0000a590, 0x00000000},
1615 {0x0000a594, 0x00000000},
1616 {0x0000a598, 0x00000000},
1617 {0x0000a59c, 0x00000000},
1618 {0x0000a5a0, 0x00000000},
1619 {0x0000a5a4, 0x00000000},
1620 {0x0000a5a8, 0x00000000},
1621 {0x0000a5ac, 0x00000000},
1622 {0x0000a5b0, 0x00000000},
1623 {0x0000a5b4, 0x00000000},
1624 {0x0000a5b8, 0x00000000},
1625 {0x0000a5bc, 0x00000000},
1626};
1627
1628static const u32 ar9485_modes_green_ob_db_tx_gain_1_1[][5] = {
1629 /* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */
1630 {0x000098bc, 0x00000003, 0x00000003, 0x00000003, 0x00000003},
1631 {0x0000a410, 0x000050d9, 0x000050d9, 0x000050d8, 0x000050d8},
1632 {0x0000a458, 0x80000000, 0x80000000, 0x80000000, 0x80000000},
1633 {0x0000a500, 0x00022200, 0x00022200, 0x00000006, 0x00000006},
1634 {0x0000a504, 0x05062002, 0x05062002, 0x03000201, 0x03000201},
1635 {0x0000a508, 0x0c002e00, 0x0c002e00, 0x06000203, 0x06000203},
1636 {0x0000a50c, 0x11062202, 0x11062202, 0x0a000401, 0x0a000401},
1637 {0x0000a510, 0x17022e00, 0x17022e00, 0x0e000403, 0x0e000403},
1638 {0x0000a514, 0x1d000ec2, 0x1d000ec2, 0x12000405, 0x12000405},
1639 {0x0000a518, 0x25020ec0, 0x25020ec0, 0x15000604, 0x15000604},
1640 {0x0000a51c, 0x2b020ec3, 0x2b020ec3, 0x18000605, 0x18000605},
1641 {0x0000a520, 0x2f001f04, 0x2f001f04, 0x1c000a04, 0x1c000a04},
1642 {0x0000a524, 0x35001fc4, 0x35001fc4, 0x21000a06, 0x21000a06},
1643 {0x0000a528, 0x3c022f04, 0x3c022f04, 0x29000a24, 0x29000a24},
1644 {0x0000a52c, 0x41023e85, 0x41023e85, 0x2f000e21, 0x2f000e21},
1645 {0x0000a530, 0x48023ec6, 0x48023ec6, 0x31000e20, 0x31000e20},
1646 {0x0000a534, 0x4d023f01, 0x4d023f01, 0x33000e20, 0x33000e20},
1647 {0x0000a538, 0x53023f4b, 0x53023f4b, 0x43000e62, 0x43000e62},
1648 {0x0000a53c, 0x5a027f09, 0x5a027f09, 0x45000e63, 0x45000e63},
1649 {0x0000a540, 0x5f027fc9, 0x5f027fc9, 0x49000e65, 0x49000e65},
1650 {0x0000a544, 0x6502feca, 0x6502feca, 0x4b000e66, 0x4b000e66},
1651 {0x0000a548, 0x6b02ff4a, 0x6b02ff4a, 0x4d001645, 0x4d001645},
1652 {0x0000a54c, 0x7203feca, 0x7203feca, 0x51001865, 0x51001865},
1653 {0x0000a550, 0x7703ff0b, 0x7703ff0b, 0x55001a86, 0x55001a86},
1654 {0x0000a554, 0x7d06ffcb, 0x7d06ffcb, 0x57001ce9, 0x57001ce9},
1655 {0x0000a558, 0x8407ff0b, 0x8407ff0b, 0x5a001eeb, 0x5a001eeb},
1656 {0x0000a55c, 0x8907ffcb, 0x8907ffcb, 0x5e001eeb, 0x5e001eeb},
1657 {0x0000a560, 0x900fff0b, 0x900fff0b, 0x5e001eeb, 0x5e001eeb},
1658 {0x0000a564, 0x960fffcb, 0x960fffcb, 0x5e001eeb, 0x5e001eeb},
1659 {0x0000a568, 0x9c1fff0b, 0x9c1fff0b, 0x5e001eeb, 0x5e001eeb},
1660 {0x0000a56c, 0x9c1fff0b, 0x9c1fff0b, 0x5e001eeb, 0x5e001eeb},
1661 {0x0000a570, 0x9c1fff0b, 0x9c1fff0b, 0x5e001eeb, 0x5e001eeb},
1662 {0x0000a574, 0x9c1fff0b, 0x9c1fff0b, 0x5e001eeb, 0x5e001eeb},
1663 {0x0000a578, 0x9c1fff0b, 0x9c1fff0b, 0x5e001eeb, 0x5e001eeb},
1664 {0x0000a57c, 0x9c1fff0b, 0x9c1fff0b, 0x5e001eeb, 0x5e001eeb},
1665 {0x0000b500, 0x0000001a, 0x0000001a, 0x0000001a, 0x0000001a},
1666 {0x0000b504, 0x0000001a, 0x0000001a, 0x0000001a, 0x0000001a},
1667 {0x0000b508, 0x0000001a, 0x0000001a, 0x0000001a, 0x0000001a},
1668 {0x0000b50c, 0x0000001a, 0x0000001a, 0x0000001a, 0x0000001a},
1669 {0x0000b510, 0x0000001a, 0x0000001a, 0x0000001a, 0x0000001a},
1670 {0x0000b514, 0x0000001a, 0x0000001a, 0x0000001a, 0x0000001a},
1671 {0x0000b518, 0x0000001a, 0x0000001a, 0x0000001a, 0x0000001a},
1672 {0x0000b51c, 0x0000001a, 0x0000001a, 0x0000001a, 0x0000001a},
1673 {0x0000b520, 0x0000001a, 0x0000001a, 0x0000001a, 0x0000001a},
1674 {0x0000b524, 0x0000001a, 0x0000001a, 0x0000001a, 0x0000001a},
1675 {0x0000b528, 0x0000001a, 0x0000001a, 0x0000001a, 0x0000001a},
1676 {0x0000b52c, 0x0000002a, 0x0000002a, 0x0000002a, 0x0000002a},
1677 {0x0000b530, 0x0000003a, 0x0000003a, 0x0000003a, 0x0000003a},
1678 {0x0000b534, 0x0000004a, 0x0000004a, 0x0000004a, 0x0000004a},
1679 {0x0000b538, 0x0000005b, 0x0000005b, 0x0000005b, 0x0000005b},
1680 {0x0000b53c, 0x0000005b, 0x0000005b, 0x0000005b, 0x0000005b},
1681 {0x0000b540, 0x0000005b, 0x0000005b, 0x0000005b, 0x0000005b},
1682 {0x0000b544, 0x0000005b, 0x0000005b, 0x0000005b, 0x0000005b},
1683 {0x0000b548, 0x0000005b, 0x0000005b, 0x0000005b, 0x0000005b},
1684 {0x0000b54c, 0x0000005b, 0x0000005b, 0x0000005b, 0x0000005b},
1685 {0x0000b550, 0x0000005b, 0x0000005b, 0x0000005b, 0x0000005b},
1686 {0x0000b554, 0x0000005b, 0x0000005b, 0x0000005b, 0x0000005b},
1687 {0x0000b558, 0x0000005b, 0x0000005b, 0x0000005b, 0x0000005b},
1688 {0x0000b55c, 0x0000005b, 0x0000005b, 0x0000005b, 0x0000005b},
1689 {0x0000b560, 0x0000005b, 0x0000005b, 0x0000005b, 0x0000005b},
1690 {0x0000b564, 0x0000005b, 0x0000005b, 0x0000005b, 0x0000005b},
1691 {0x0000b568, 0x0000005b, 0x0000005b, 0x0000005b, 0x0000005b},
1692 {0x0000b56c, 0x0000005b, 0x0000005b, 0x0000005b, 0x0000005b},
1693 {0x0000b570, 0x0000005b, 0x0000005b, 0x0000005b, 0x0000005b},
1694 {0x0000b574, 0x0000005b, 0x0000005b, 0x0000005b, 0x0000005b},
1695 {0x0000b578, 0x0000005b, 0x0000005b, 0x0000005b, 0x0000005b},
1696 {0x0000b57c, 0x0000005b, 0x0000005b, 0x0000005b, 0x0000005b},
1697 {0x00016044, 0x05d6b2db, 0x05d6b2db, 0x05d6b2db, 0x05d6b2db},
1698 {0x00016048, 0x6c924260, 0x6c924260, 0x6c924260, 0x6c924260},
1699};
1700
1701static const u32 ar9485_1_1_pcie_phy_clkreq_disable_L1[][2] = {
1702 /* Addr allmodes */
1703 {0x00018c00, 0x10013e5e},
1704 {0x00018c04, 0x000801d8},
1705 {0x00018c08, 0x0000080c},
1706};
1707
1708static const u32 ar9485_1_1_soc_preamble[][2] = {
1709 /* Addr allmodes */
1710 {0x00004014, 0xba280400},
1711 {0x000040a4, 0x00a0c9c9},
1712 {0x00007010, 0x00000022},
1713 {0x00007020, 0x00000000},
1714 {0x00007034, 0x00000002},
1715 {0x00007038, 0x000004c2},
1716 {0x00007048, 0x00000002},
1717};
1718
1719static const u32 ar9485_1_1_baseband_core_txfir_coeff_japan_2484[][2] = {
1720 /* Addr allmodes */
1721 {0x0000a398, 0x00000000},
1722 {0x0000a39c, 0x6f7f0301},
1723 {0x0000a3a0, 0xca9228ee},
1724};
1725
1726static const u32 ar9485Modes_low_ob_db_tx_gain_1_1[][5] = {
1727 /* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */
1728 {0x000098bc, 0x00000002, 0x00000002, 0x00000002, 0x00000002},
1729 {0x0000a410, 0x000050d9, 0x000050d9, 0x000050d8, 0x000050d8},
1730 {0x0000a458, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1731 {0x0000a500, 0x00022200, 0x00022200, 0x00000000, 0x00000000},
1732 {0x0000a504, 0x05062002, 0x05062002, 0x04000002, 0x04000002},
1733 {0x0000a508, 0x0c002e00, 0x0c002e00, 0x08000004, 0x08000004},
1734 {0x0000a50c, 0x11062202, 0x11062202, 0x0d000200, 0x0d000200},
1735 {0x0000a510, 0x17022e00, 0x17022e00, 0x11000202, 0x11000202},
1736 {0x0000a514, 0x1d000ec2, 0x1d000ec2, 0x15000400, 0x15000400},
1737 {0x0000a518, 0x25020ec0, 0x25020ec0, 0x19000402, 0x19000402},
1738 {0x0000a51c, 0x2b020ec3, 0x2b020ec3, 0x1d000404, 0x1d000404},
1739 {0x0000a520, 0x2f001f04, 0x2f001f04, 0x21000603, 0x21000603},
1740 {0x0000a524, 0x35001fc4, 0x35001fc4, 0x25000605, 0x25000605},
1741 {0x0000a528, 0x3c022f04, 0x3c022f04, 0x2a000a03, 0x2a000a03},
1742 {0x0000a52c, 0x41023e85, 0x41023e85, 0x2c000a04, 0x2c000a04},
1743 {0x0000a530, 0x48023ec6, 0x48023ec6, 0x34000e20, 0x34000e20},
1744 {0x0000a534, 0x4d023f01, 0x4d023f01, 0x35000e21, 0x35000e21},
1745 {0x0000a538, 0x53023f4b, 0x53023f4b, 0x43000e62, 0x43000e62},
1746 {0x0000a53c, 0x5a027f09, 0x5a027f09, 0x45000e63, 0x45000e63},
1747 {0x0000a540, 0x5f027fc9, 0x5f027fc9, 0x49000e65, 0x49000e65},
1748 {0x0000a544, 0x6502feca, 0x6502feca, 0x4b000e66, 0x4b000e66},
1749 {0x0000a548, 0x6b02ff4a, 0x6b02ff4a, 0x4d001645, 0x4d001645},
1750 {0x0000a54c, 0x7203feca, 0x7203feca, 0x51001865, 0x51001865},
1751 {0x0000a550, 0x7703ff0b, 0x7703ff0b, 0x55001a86, 0x55001a86},
1752 {0x0000a554, 0x7d06ffcb, 0x7d06ffcb, 0x57001ce9, 0x57001ce9},
1753 {0x0000a558, 0x8407ff0b, 0x8407ff0b, 0x5a001eeb, 0x5a001eeb},
1754 {0x0000a55c, 0x8907ffcb, 0x8907ffcb, 0x5e001eeb, 0x5e001eeb},
1755 {0x0000a560, 0x900fff0b, 0x900fff0b, 0x5e001eeb, 0x5e001eeb},
1756 {0x0000a564, 0x960fffcb, 0x960fffcb, 0x5e001eeb, 0x5e001eeb},
1757 {0x0000a568, 0x9c1fff0b, 0x9c1fff0b, 0x5e001eeb, 0x5e001eeb},
1758 {0x0000a56c, 0x9c1fff0b, 0x9c1fff0b, 0x5e001eeb, 0x5e001eeb},
1759 {0x0000a570, 0x9c1fff0b, 0x9c1fff0b, 0x5e001eeb, 0x5e001eeb},
1760 {0x0000a574, 0x9c1fff0b, 0x9c1fff0b, 0x5e001eeb, 0x5e001eeb},
1761 {0x0000a578, 0x9c1fff0b, 0x9c1fff0b, 0x5e001eeb, 0x5e001eeb},
1762 {0x0000a57c, 0x9c1fff0b, 0x9c1fff0b, 0x5e001eeb, 0x5e001eeb},
1763 {0x0000b500, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1764 {0x0000b504, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1765 {0x0000b508, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1766 {0x0000b50c, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1767 {0x0000b510, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1768 {0x0000b514, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1769 {0x0000b518, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1770 {0x0000b51c, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1771 {0x0000b520, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1772 {0x0000b524, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1773 {0x0000b528, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1774 {0x0000b52c, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1775 {0x0000b530, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1776 {0x0000b534, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1777 {0x0000b538, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1778 {0x0000b53c, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1779 {0x0000b540, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1780 {0x0000b544, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1781 {0x0000b548, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1782 {0x0000b54c, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1783 {0x0000b550, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1784 {0x0000b554, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1785 {0x0000b558, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1786 {0x0000b55c, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1787 {0x0000b560, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1788 {0x0000b564, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1789 {0x0000b568, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1790 {0x0000b56c, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1791 {0x0000b570, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1792 {0x0000b574, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1793 {0x0000b578, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1794 {0x0000b57c, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
1795 {0x00016044, 0x05d6b2db, 0x05d6b2db, 0x05d6b2db, 0x05d6b2db},
1796 {0x00016048, 0x6c924260, 0x6c924260, 0x6c924260, 0x6c924260},
1797};
1798
1799static const u32 ar9485_fast_clock_1_1_baseband_postamble[][3] = {
1800 /* Addr 5G_HT2 5G_HT40 */
1801 {0x00009e00, 0x03721821, 0x03721821},
1802 {0x0000a230, 0x0000400b, 0x00004016},
1803 {0x0000a254, 0x00000898, 0x00001130},
1804};
1805
1806static const u32 ar9485_1_1_pcie_phy_pll_on_clkreq_disable_L1[][2] = {
1807 /* Addr allmodes */
1808 {0x00018c00, 0x10012e5e},
1809 {0x00018c04, 0x000801d8},
1810 {0x00018c08, 0x0000080c},
1811};
1812
1813static const u32 ar9485_common_rx_gain_1_1[][2] = {
1814 /* Addr allmodes */
1815 {0x0000a000, 0x00010000},
1816 {0x0000a004, 0x00030002},
1817 {0x0000a008, 0x00050004},
1818 {0x0000a00c, 0x00810080},
1819 {0x0000a010, 0x01800082},
1820 {0x0000a014, 0x01820181},
1821 {0x0000a018, 0x01840183},
1822 {0x0000a01c, 0x01880185},
1823 {0x0000a020, 0x018a0189},
1824 {0x0000a024, 0x02850284},
1825 {0x0000a028, 0x02890288},
1826 {0x0000a02c, 0x03850384},
1827 {0x0000a030, 0x03890388},
1828 {0x0000a034, 0x038b038a},
1829 {0x0000a038, 0x038d038c},
1830 {0x0000a03c, 0x03910390},
1831 {0x0000a040, 0x03930392},
1832 {0x0000a044, 0x03950394},
1833 {0x0000a048, 0x00000396},
1834 {0x0000a04c, 0x00000000},
1835 {0x0000a050, 0x00000000},
1836 {0x0000a054, 0x00000000},
1837 {0x0000a058, 0x00000000},
1838 {0x0000a05c, 0x00000000},
1839 {0x0000a060, 0x00000000},
1840 {0x0000a064, 0x00000000},
1841 {0x0000a068, 0x00000000},
1842 {0x0000a06c, 0x00000000},
1843 {0x0000a070, 0x00000000},
1844 {0x0000a074, 0x00000000},
1845 {0x0000a078, 0x00000000},
1846 {0x0000a07c, 0x00000000},
1847 {0x0000a080, 0x28282828},
1848 {0x0000a084, 0x28282828},
1849 {0x0000a088, 0x28282828},
1850 {0x0000a08c, 0x28282828},
1851 {0x0000a090, 0x28282828},
1852 {0x0000a094, 0x21212128},
1853 {0x0000a098, 0x171c1c1c},
1854 {0x0000a09c, 0x02020212},
1855 {0x0000a0a0, 0x00000202},
1856 {0x0000a0a4, 0x00000000},
1857 {0x0000a0a8, 0x00000000},
1858 {0x0000a0ac, 0x00000000},
1859 {0x0000a0b0, 0x00000000},
1860 {0x0000a0b4, 0x00000000},
1861 {0x0000a0b8, 0x00000000},
1862 {0x0000a0bc, 0x00000000},
1863 {0x0000a0c0, 0x001f0000},
1864 {0x0000a0c4, 0x111f1100},
1865 {0x0000a0c8, 0x111d111e},
1866 {0x0000a0cc, 0x111b111c},
1867 {0x0000a0d0, 0x22032204},
1868 {0x0000a0d4, 0x22012202},
1869 {0x0000a0d8, 0x221f2200},
1870 {0x0000a0dc, 0x221d221e},
1871 {0x0000a0e0, 0x33013302},
1872 {0x0000a0e4, 0x331f3300},
1873 {0x0000a0e8, 0x4402331e},
1874 {0x0000a0ec, 0x44004401},
1875 {0x0000a0f0, 0x441e441f},
1876 {0x0000a0f4, 0x55015502},
1877 {0x0000a0f8, 0x551f5500},
1878 {0x0000a0fc, 0x6602551e},
1879 {0x0000a100, 0x66006601},
1880 {0x0000a104, 0x661e661f},
1881 {0x0000a108, 0x7703661d},
1882 {0x0000a10c, 0x77017702},
1883 {0x0000a110, 0x00007700},
1884 {0x0000a114, 0x00000000},
1885 {0x0000a118, 0x00000000},
1886 {0x0000a11c, 0x00000000},
1887 {0x0000a120, 0x00000000},
1888 {0x0000a124, 0x00000000},
1889 {0x0000a128, 0x00000000},
1890 {0x0000a12c, 0x00000000},
1891 {0x0000a130, 0x00000000},
1892 {0x0000a134, 0x00000000},
1893 {0x0000a138, 0x00000000},
1894 {0x0000a13c, 0x00000000},
1895 {0x0000a140, 0x001f0000},
1896 {0x0000a144, 0x111f1100},
1897 {0x0000a148, 0x111d111e},
1898 {0x0000a14c, 0x111b111c},
1899 {0x0000a150, 0x22032204},
1900 {0x0000a154, 0x22012202},
1901 {0x0000a158, 0x221f2200},
1902 {0x0000a15c, 0x221d221e},
1903 {0x0000a160, 0x33013302},
1904 {0x0000a164, 0x331f3300},
1905 {0x0000a168, 0x4402331e},
1906 {0x0000a16c, 0x44004401},
1907 {0x0000a170, 0x441e441f},
1908 {0x0000a174, 0x55015502},
1909 {0x0000a178, 0x551f5500},
1910 {0x0000a17c, 0x6602551e},
1911 {0x0000a180, 0x66006601},
1912 {0x0000a184, 0x661e661f},
1913 {0x0000a188, 0x7703661d},
1914 {0x0000a18c, 0x77017702},
1915 {0x0000a190, 0x00007700},
1916 {0x0000a194, 0x00000000},
1917 {0x0000a198, 0x00000000},
1918 {0x0000a19c, 0x00000000},
1919 {0x0000a1a0, 0x00000000},
1920 {0x0000a1a4, 0x00000000},
1921 {0x0000a1a8, 0x00000000},
1922 {0x0000a1ac, 0x00000000},
1923 {0x0000a1b0, 0x00000000},
1924 {0x0000a1b4, 0x00000000},
1925 {0x0000a1b8, 0x00000000},
1926 {0x0000a1bc, 0x00000000},
1927 {0x0000a1c0, 0x00000000},
1928 {0x0000a1c4, 0x00000000},
1929 {0x0000a1c8, 0x00000000},
1930 {0x0000a1cc, 0x00000000},
1931 {0x0000a1d0, 0x00000000},
1932 {0x0000a1d4, 0x00000000},
1933 {0x0000a1d8, 0x00000000},
1934 {0x0000a1dc, 0x00000000},
1935 {0x0000a1e0, 0x00000000},
1936 {0x0000a1e4, 0x00000000},
1937 {0x0000a1e8, 0x00000000},
1938 {0x0000a1ec, 0x00000000},
1939 {0x0000a1f0, 0x00000396},
1940 {0x0000a1f4, 0x00000396},
1941 {0x0000a1f8, 0x00000396},
1942 {0x0000a1fc, 0x00000296},
1943};
1944
1945static const u32 ar9485_1_1_pcie_phy_clkreq_enable_L1[][2] = {
1946 /* Addr allmodes */
1947 {0x00018c00, 0x10053e5e},
1948 {0x00018c04, 0x000801d8},
1949 {0x00018c08, 0x0000080c},
1950};
1951
1952static const u32 ar9485Common_wo_xlna_rx_gain_1_1[][2] = {
1953 /* Addr allmodes */
1954 {0x0000a000, 0x00060005},
1955 {0x0000a004, 0x00810080},
1956 {0x0000a008, 0x00830082},
1957 {0x0000a00c, 0x00850084},
1958 {0x0000a010, 0x01820181},
1959 {0x0000a014, 0x01840183},
1960 {0x0000a018, 0x01880185},
1961 {0x0000a01c, 0x018a0189},
1962 {0x0000a020, 0x02850284},
1963 {0x0000a024, 0x02890288},
1964 {0x0000a028, 0x028b028a},
1965 {0x0000a02c, 0x03850384},
1966 {0x0000a030, 0x03890388},
1967 {0x0000a034, 0x038b038a},
1968 {0x0000a038, 0x038d038c},
1969 {0x0000a03c, 0x03910390},
1970 {0x0000a040, 0x03930392},
1971 {0x0000a044, 0x03950394},
1972 {0x0000a048, 0x00000396},
1973 {0x0000a04c, 0x00000000},
1974 {0x0000a050, 0x00000000},
1975 {0x0000a054, 0x00000000},
1976 {0x0000a058, 0x00000000},
1977 {0x0000a05c, 0x00000000},
1978 {0x0000a060, 0x00000000},
1979 {0x0000a064, 0x00000000},
1980 {0x0000a068, 0x00000000},
1981 {0x0000a06c, 0x00000000},
1982 {0x0000a070, 0x00000000},
1983 {0x0000a074, 0x00000000},
1984 {0x0000a078, 0x00000000},
1985 {0x0000a07c, 0x00000000},
1986 {0x0000a080, 0x28282828},
1987 {0x0000a084, 0x28282828},
1988 {0x0000a088, 0x28282828},
1989 {0x0000a08c, 0x28282828},
1990 {0x0000a090, 0x28282828},
1991 {0x0000a094, 0x24242428},
1992 {0x0000a098, 0x171e1e1e},
1993 {0x0000a09c, 0x02020b0b},
1994 {0x0000a0a0, 0x02020202},
1995 {0x0000a0a4, 0x00000000},
1996 {0x0000a0a8, 0x00000000},
1997 {0x0000a0ac, 0x00000000},
1998 {0x0000a0b0, 0x00000000},
1999 {0x0000a0b4, 0x00000000},
2000 {0x0000a0b8, 0x00000000},
2001 {0x0000a0bc, 0x00000000},
2002 {0x0000a0c0, 0x22072208},
2003 {0x0000a0c4, 0x22052206},
2004 {0x0000a0c8, 0x22032204},
2005 {0x0000a0cc, 0x22012202},
2006 {0x0000a0d0, 0x221f2200},
2007 {0x0000a0d4, 0x221d221e},
2008 {0x0000a0d8, 0x33023303},
2009 {0x0000a0dc, 0x33003301},
2010 {0x0000a0e0, 0x331e331f},
2011 {0x0000a0e4, 0x4402331d},
2012 {0x0000a0e8, 0x44004401},
2013 {0x0000a0ec, 0x441e441f},
2014 {0x0000a0f0, 0x55025503},
2015 {0x0000a0f4, 0x55005501},
2016 {0x0000a0f8, 0x551e551f},
2017 {0x0000a0fc, 0x6602551d},
2018 {0x0000a100, 0x66006601},
2019 {0x0000a104, 0x661e661f},
2020 {0x0000a108, 0x7703661d},
2021 {0x0000a10c, 0x77017702},
2022 {0x0000a110, 0x00007700},
2023 {0x0000a114, 0x00000000},
2024 {0x0000a118, 0x00000000},
2025 {0x0000a11c, 0x00000000},
2026 {0x0000a120, 0x00000000},
2027 {0x0000a124, 0x00000000},
2028 {0x0000a128, 0x00000000},
2029 {0x0000a12c, 0x00000000},
2030 {0x0000a130, 0x00000000},
2031 {0x0000a134, 0x00000000},
2032 {0x0000a138, 0x00000000},
2033 {0x0000a13c, 0x00000000},
2034 {0x0000a140, 0x001f0000},
2035 {0x0000a144, 0x111f1100},
2036 {0x0000a148, 0x111d111e},
2037 {0x0000a14c, 0x111b111c},
2038 {0x0000a150, 0x22032204},
2039 {0x0000a154, 0x22012202},
2040 {0x0000a158, 0x221f2200},
2041 {0x0000a15c, 0x221d221e},
2042 {0x0000a160, 0x33013302},
2043 {0x0000a164, 0x331f3300},
2044 {0x0000a168, 0x4402331e},
2045 {0x0000a16c, 0x44004401},
2046 {0x0000a170, 0x441e441f},
2047 {0x0000a174, 0x55015502},
2048 {0x0000a178, 0x551f5500},
2049 {0x0000a17c, 0x6602551e},
2050 {0x0000a180, 0x66006601},
2051 {0x0000a184, 0x661e661f},
2052 {0x0000a188, 0x7703661d},
2053 {0x0000a18c, 0x77017702},
2054 {0x0000a190, 0x00007700},
2055 {0x0000a194, 0x00000000},
2056 {0x0000a198, 0x00000000},
2057 {0x0000a19c, 0x00000000},
2058 {0x0000a1a0, 0x00000000},
2059 {0x0000a1a4, 0x00000000},
2060 {0x0000a1a8, 0x00000000},
2061 {0x0000a1ac, 0x00000000},
2062 {0x0000a1b0, 0x00000000},
2063 {0x0000a1b4, 0x00000000},
2064 {0x0000a1b8, 0x00000000},
2065 {0x0000a1bc, 0x00000000},
2066 {0x0000a1c0, 0x00000000},
2067 {0x0000a1c4, 0x00000000},
2068 {0x0000a1c8, 0x00000000},
2069 {0x0000a1cc, 0x00000000},
2070 {0x0000a1d0, 0x00000000},
2071 {0x0000a1d4, 0x00000000},
2072 {0x0000a1d8, 0x00000000},
2073 {0x0000a1dc, 0x00000000},
2074 {0x0000a1e0, 0x00000000},
2075 {0x0000a1e4, 0x00000000},
2076 {0x0000a1e8, 0x00000000},
2077 {0x0000a1ec, 0x00000000},
2078 {0x0000a1f0, 0x00000396},
2079 {0x0000a1f4, 0x00000396},
2080 {0x0000a1f8, 0x00000396},
2081 {0x0000a1fc, 0x00000296},
2082};
2083
943#endif 2084#endif
diff --git a/drivers/net/wireless/ath/ath9k/reg.h b/drivers/net/wireless/ath/ath9k/reg.h
index b262e98709de..64b226a78b2e 100644
--- a/drivers/net/wireless/ath/ath9k/reg.h
+++ b/drivers/net/wireless/ath/ath9k/reg.h
@@ -789,6 +789,7 @@
789#define AR_SREV_REVISION_9300_20 2 /* 2.0 and 2.1 */ 789#define AR_SREV_REVISION_9300_20 2 /* 2.0 and 2.1 */
790#define AR_SREV_VERSION_9485 0x240 790#define AR_SREV_VERSION_9485 0x240
791#define AR_SREV_REVISION_9485_10 0 791#define AR_SREV_REVISION_9485_10 0
792#define AR_SREV_REVISION_9485_11 1
792 793
793#define AR_SREV_5416(_ah) \ 794#define AR_SREV_5416(_ah) \
794 (((_ah)->hw_version.macVersion == AR_SREV_VERSION_5416_PCI) || \ 795 (((_ah)->hw_version.macVersion == AR_SREV_VERSION_5416_PCI) || \
@@ -866,6 +867,9 @@
866#define AR_SREV_9485_10(_ah) \ 867#define AR_SREV_9485_10(_ah) \
867 (AR_SREV_9485(_ah) && \ 868 (AR_SREV_9485(_ah) && \
868 ((_ah)->hw_version.macRev == AR_SREV_REVISION_9485_10)) 869 ((_ah)->hw_version.macRev == AR_SREV_REVISION_9485_10))
870#define AR_SREV_9485_11(_ah) \
871 (AR_SREV_9485(_ah) && \
872 ((_ah)->hw_version.macRev == AR_SREV_REVISION_9485_11))
869 873
870#define AR_SREV_9285E_20(_ah) \ 874#define AR_SREV_9285E_20(_ah) \
871 (AR_SREV_9285_12_OR_LATER(_ah) && \ 875 (AR_SREV_9285_12_OR_LATER(_ah) && \