26 static void ar9002_hw_init_mode_regs(
struct ath_hw *
ah)
35 if (ah->
config.pcie_clock_req)
37 ar9280PciePhy_clkreq_off_L1_9280);
40 ar9280PciePhy_clkreq_always_on_L1_9280);
41 #ifdef CONFIG_PM_SLEEP
57 ar9280Modes_fast_clock_9280_2);
63 ar5416Addac_9160_1_1);
119 ar9287Common_normal_cck_fir_coeff_9287_1_1);
121 ar9287Common_japan_2484_cck_fir_coeff_9287_1_1);
125 static void ar9280_20_hw_init_rxgain_ini(
struct ath_hw *ah)
135 ar9280Modes_backoff_13db_rxgain_9280_2);
138 ar9280Modes_backoff_23db_rxgain_9280_2);
141 ar9280Modes_original_rxgain_9280_2);
144 ar9280Modes_original_rxgain_9280_2);
148 static void ar9280_20_hw_init_txgain_ini(
struct ath_hw *ah,
u32 txgain_type)
154 ar9280Modes_high_power_tx_gain_9280_2);
157 ar9280Modes_original_tx_gain_9280_2);
160 ar9280Modes_original_tx_gain_9280_2);
164 static void ar9271_hw_init_txgain_ini(
struct ath_hw *ah,
u32 txgain_type)
168 ar9271Modes_high_power_tx_gain_9271);
171 ar9271Modes_normal_power_tx_gain_9271);
174 static void ar9002_hw_init_mode_gain_regs(
struct ath_hw *ah)
180 ar9287Modes_rx_gain_9287_1_1);
182 ar9280_20_hw_init_rxgain_ini(ah);
185 ar9271_hw_init_txgain_ini(ah, txgain_type);
188 ar9287Modes_tx_gain_9287_1_1);
190 ar9280_20_hw_init_txgain_ini(ah, txgain_type);
196 ar9285Modes_XE2_0_high_power);
199 ar9285Modes_high_power_tx_gain_9285_1_2);
204 ar9285Modes_XE2_0_normal_power);
207 ar9285Modes_original_tx_gain_9285_1_2);
222 static void ar9002_hw_configpcipowersave(
struct ath_hw *ah,
282 if (ah->
config.pcie_waen) {
312 if (ah->
config.pcie_waen) {
313 val = ah->
config.pcie_waen;
315 val &= (~AR_WA_D3_L1_DISABLE);
322 val &= (~AR_WA_D3_L1_DISABLE);
331 val &= (~AR_WA_D3_L1_DISABLE);
351 static int ar9002_hw_get_radiorev(
struct ath_hw *ah)
359 for (i = 0; i < 8; i++)
365 val = ((val & 0xf0) >> 4) | ((val & 0x0f) << 4);
376 val = ar9002_hw_get_radiorev(ah);
388 "Radio Chip Rev 0x%02X not supported\n",
389 val & AR_RADIO_SREV_MAJOR);