ath5k: Add initial registers values for radio RF2317 chip.
authorFelix Fietkau <nbd@openwrt.org>
Thu, 2 Dec 2010 09:27:11 +0000 (10:27 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Thu, 2 Dec 2010 20:17:51 +0000 (15:17 -0500)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: Wojciech Dubowik <Wojciech.Dubowik@neratec.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath5k/initvals.c

index 905e4fd..e49340d 100644 (file)
@@ -1495,6 +1495,29 @@ int ath5k_hw_write_initvals(struct ath5k_hw *ah, u8 mode, bool skip_pcu)
                                        rf5112_ini_bbgain, skip_pcu);
                        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, skip_pcu);
+
+                       /* 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, skip_pcu);
+                       break;
                case AR5K_RF2425:
 
                        ath5k_hw_ini_mode_registers(ah,