2010-11-11 14:58:22

by Wojciech Dubowik

[permalink] [raw]
Subject: [PATCH 7/9] ath5k: AHB port. Add specific initialization for RF2317 radio chip.

Needed for some WiSoC devices.

Signed-off-by: Wojciech Dubowik <[email protected]>
---
drivers/net/wireless/ath/ath5k/initvals.c | 23 +++++++++++++++++++++++
1 files changed, 23 insertions(+), 0 deletions(-)

diff --git a/drivers/net/wireless/ath/ath5k/initvals.c b/drivers/net/wireless/ath/ath5k/initvals.c
index 8fa4393..05baa4e 100644
--- a/drivers/net/wireless/ath/ath5k/initvals.c
+++ b/drivers/net/wireless/ath/ath5k/initvals.c
@@ -1501,6 +1501,29 @@ int ath5k_hw_write_initvals(struct ath5k_hw *ah, u8 mode, bool change_channel)
rf5112_ini_bbgain, change_channel);
break;
case AR5K_RF2317:
+
+ ath5k_hw_ini_mode_registers(ah,
+ ARRAY_SIZE(rf2413_ini_mode_end),
+ rf2413_ini_mode_end, mode);
+
+ ath5k_hw_ini_registers(ah,
+ ARRAY_SIZE(rf2425_ini_common_end),
+ rf2425_ini_common_end, change_channel);
+
+ /* Override settings from rf2413_ini_mode_end */
+ ath5k_hw_reg_write(ah, 0x00180a65, AR5K_PHY_GAIN);
+
+ /* Override settings from rf2413_ini_common_end */
+ ath5k_hw_reg_write(ah, 0x00004000, AR5K_PHY_AGC);
+ AR5K_REG_WRITE_BITS(ah, AR5K_PHY_TPC_RG5,
+ AR5K_PHY_TPC_RG5_PD_GAIN_OVERLAP, 0xa);
+ ath5k_hw_reg_write(ah, 0x800000a8, 0x8140);
+ ath5k_hw_reg_write(ah, 0x000000ff, 0x9958);
+
+ ath5k_hw_ini_registers(ah,
+ ARRAY_SIZE(rf5112_ini_bbgain),
+ rf5112_ini_bbgain, change_channel);
+ break;
case AR5K_RF2425:

ath5k_hw_ini_mode_registers(ah,
--
1.7.1


2010-11-12 19:29:01

by Bob Copeland

[permalink] [raw]
Subject: Re: [PATCH 7/9] ath5k: AHB port. Add specific initialization for RF2317 radio chip.

On Thu, Nov 11, 2010 at 9:58 AM, Wojciech Dubowik <[email protected]> wrote:
> + ? ? ? ? ? ? ? ? ? ? ? /* Override settings from rf2413_ini_common_end */
> + ? ? ? ? ? ? ? ? ? ? ? ath5k_hw_reg_write(ah, 0x00004000, AR5K_PHY_AGC);
> + ? ? ? ? ? ? ? ? ? ? ? AR5K_REG_WRITE_BITS(ah, AR5K_PHY_TPC_RG5,
> + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? AR5K_PHY_TPC_RG5_PD_GAIN_OVERLAP, 0xa);
> + ? ? ? ? ? ? ? ? ? ? ? ath5k_hw_reg_write(ah, 0x800000a8, 0x8140);
> + ? ? ? ? ? ? ? ? ? ? ? ath5k_hw_reg_write(ah, 0x000000ff, 0x9958);

It'd be better not to use magic numbers here if we know what they are.

--
Bob Copeland %% http://www.bobcopeland.com