diff options
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/phy.h')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/phy.h | 45 |
1 files changed, 32 insertions, 13 deletions
diff --git a/drivers/net/wireless/ath/ath9k/phy.h b/drivers/net/wireless/ath/ath9k/phy.h index dfda6f444648..0999a495fd46 100644 --- a/drivers/net/wireless/ath/ath9k/phy.h +++ b/drivers/net/wireless/ath/ath9k/phy.h | |||
@@ -17,20 +17,23 @@ | |||
17 | #ifndef PHY_H | 17 | #ifndef PHY_H |
18 | #define PHY_H | 18 | #define PHY_H |
19 | 19 | ||
20 | void ath9k_hw_ar9280_set_channel(struct ath_hw *ah, | 20 | /* Common between single chip and non single-chip solutions */ |
21 | struct ath9k_channel | 21 | void ath9k_hw_write_regs(struct ath_hw *ah, u32 freqIndex, int regWrites); |
22 | *chan); | 22 | |
23 | bool ath9k_hw_set_channel(struct ath_hw *ah, | 23 | /* Single chip radio settings */ |
24 | struct ath9k_channel *chan); | 24 | int ath9k_hw_ar9280_set_channel(struct ath_hw *ah, struct ath9k_channel *chan); |
25 | void ath9k_hw_write_regs(struct ath_hw *ah, u32 modesIndex, | 25 | void ath9k_hw_9280_spur_mitigate(struct ath_hw *ah, struct ath9k_channel *chan); |
26 | u32 freqIndex, int regWrites); | 26 | |
27 | /* Routines below are for non single-chip solutions */ | ||
28 | int ath9k_hw_set_channel(struct ath_hw *ah, struct ath9k_channel *chan); | ||
29 | void ath9k_hw_spur_mitigate(struct ath_hw *ah, struct ath9k_channel *chan); | ||
30 | |||
31 | int ath9k_hw_rf_alloc_ext_banks(struct ath_hw *ah); | ||
32 | void ath9k_hw_rf_free_ext_banks(struct ath_hw *ah); | ||
33 | |||
27 | bool ath9k_hw_set_rf_regs(struct ath_hw *ah, | 34 | bool ath9k_hw_set_rf_regs(struct ath_hw *ah, |
28 | struct ath9k_channel *chan, | 35 | struct ath9k_channel *chan, |
29 | u16 modesIndex); | 36 | u16 modesIndex); |
30 | void ath9k_hw_decrease_chain_power(struct ath_hw *ah, | ||
31 | struct ath9k_channel *chan); | ||
32 | bool ath9k_hw_init_rf(struct ath_hw *ah, | ||
33 | int *status); | ||
34 | 37 | ||
35 | #define AR_PHY_BASE 0x9800 | 38 | #define AR_PHY_BASE 0x9800 |
36 | #define AR_PHY(_n) (AR_PHY_BASE + ((_n)<<2)) | 39 | #define AR_PHY(_n) (AR_PHY_BASE + ((_n)<<2)) |
@@ -45,6 +48,7 @@ bool ath9k_hw_init_rf(struct ath_hw *ah, | |||
45 | #define AR_PHY_FC_DYN2040_EN 0x00000004 | 48 | #define AR_PHY_FC_DYN2040_EN 0x00000004 |
46 | #define AR_PHY_FC_DYN2040_PRI_ONLY 0x00000008 | 49 | #define AR_PHY_FC_DYN2040_PRI_ONLY 0x00000008 |
47 | #define AR_PHY_FC_DYN2040_PRI_CH 0x00000010 | 50 | #define AR_PHY_FC_DYN2040_PRI_CH 0x00000010 |
51 | /* For 25 MHz channel spacing -- not used but supported by hw */ | ||
48 | #define AR_PHY_FC_DYN2040_EXT_CH 0x00000020 | 52 | #define AR_PHY_FC_DYN2040_EXT_CH 0x00000020 |
49 | #define AR_PHY_FC_HT_EN 0x00000040 | 53 | #define AR_PHY_FC_HT_EN 0x00000040 |
50 | #define AR_PHY_FC_SHORT_GI_40 0x00000080 | 54 | #define AR_PHY_FC_SHORT_GI_40 0x00000080 |
@@ -185,8 +189,20 @@ bool ath9k_hw_init_rf(struct ath_hw *ah, | |||
185 | #define AR_PHY_PLL_CTL_44_2133 0xeb | 189 | #define AR_PHY_PLL_CTL_44_2133 0xeb |
186 | #define AR_PHY_PLL_CTL_40_2133 0xea | 190 | #define AR_PHY_PLL_CTL_40_2133 0xea |
187 | 191 | ||
188 | #define AR_PHY_SPECTRAL_SCAN 0x9912 | 192 | #define AR_PHY_SPECTRAL_SCAN 0x9910 /* AR9280 spectral scan configuration register */ |
189 | #define AR_PHY_SPECTRAL_SCAN_ENABLE 0x1 | 193 | #define AR_PHY_SPECTRAL_SCAN_ENABLE 0x1 |
194 | #define AR_PHY_SPECTRAL_SCAN_ENA 0x00000001 /* Enable spectral scan, reg 68, bit 0 */ | ||
195 | #define AR_PHY_SPECTRAL_SCAN_ENA_S 0 /* Enable spectral scan, reg 68, bit 0 */ | ||
196 | #define AR_PHY_SPECTRAL_SCAN_ACTIVE 0x00000002 /* Activate spectral scan reg 68, bit 1*/ | ||
197 | #define AR_PHY_SPECTRAL_SCAN_ACTIVE_S 1 /* Activate spectral scan reg 68, bit 1*/ | ||
198 | #define AR_PHY_SPECTRAL_SCAN_FFT_PERIOD 0x000000F0 /* Interval for FFT reports, reg 68, bits 4-7*/ | ||
199 | #define AR_PHY_SPECTRAL_SCAN_FFT_PERIOD_S 4 | ||
200 | #define AR_PHY_SPECTRAL_SCAN_PERIOD 0x0000FF00 /* Interval for FFT reports, reg 68, bits 8-15*/ | ||
201 | #define AR_PHY_SPECTRAL_SCAN_PERIOD_S 8 | ||
202 | #define AR_PHY_SPECTRAL_SCAN_COUNT 0x00FF0000 /* Number of reports, reg 68, bits 16-23*/ | ||
203 | #define AR_PHY_SPECTRAL_SCAN_COUNT_S 16 | ||
204 | #define AR_PHY_SPECTRAL_SCAN_SHORT_REPEAT 0x01000000 /* Short repeat, reg 68, bit 24*/ | ||
205 | #define AR_PHY_SPECTRAL_SCAN_SHORT_REPEAT_S 24 /* Short repeat, reg 68, bit 24*/ | ||
190 | 206 | ||
191 | #define AR_PHY_RX_DELAY 0x9914 | 207 | #define AR_PHY_RX_DELAY 0x9914 |
192 | #define AR_PHY_SEARCH_START_DELAY 0x9918 | 208 | #define AR_PHY_SEARCH_START_DELAY 0x9918 |
@@ -368,6 +384,9 @@ bool ath9k_hw_init_rf(struct ath_hw *ah, | |||
368 | 384 | ||
369 | #define AR_PHY_HEAVY_CLIP_ENABLE 0x99E0 | 385 | #define AR_PHY_HEAVY_CLIP_ENABLE 0x99E0 |
370 | 386 | ||
387 | #define AR_PHY_HEAVY_CLIP_FACTOR_RIFS 0x99EC | ||
388 | #define AR_PHY_RIFS_INIT_DELAY 0x03ff0000 | ||
389 | |||
371 | #define AR_PHY_M_SLEEP 0x99f0 | 390 | #define AR_PHY_M_SLEEP 0x99f0 |
372 | #define AR_PHY_REFCLKDLY 0x99f4 | 391 | #define AR_PHY_REFCLKDLY 0x99f4 |
373 | #define AR_PHY_REFCLKPD 0x99f8 | 392 | #define AR_PHY_REFCLKPD 0x99f8 |