ath9k_hw: DDR_PLL and BB_PLL need correct setting.
Updates from the analog team for AR9485 chipsets to set DDR_PLL2 and DDR_PLL3. Also program the BB_PLL ki and kd value. Signed-off-by: Vivek Natarajan <vnatarajan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
Родитель
181fb18daa
Коммит
22983c301f
|
@ -681,13 +681,37 @@ unsigned long ar9003_get_pll_sqsum_dvc(struct ath_hw *ah)
|
|||
}
|
||||
EXPORT_SYMBOL(ar9003_get_pll_sqsum_dvc);
|
||||
|
||||
#define DPLL2_KD_VAL 0x3D
|
||||
#define DPLL2_KI_VAL 0x06
|
||||
#define DPLL3_PHASE_SHIFT_VAL 0x1
|
||||
|
||||
static void ath9k_hw_init_pll(struct ath_hw *ah,
|
||||
struct ath9k_channel *chan)
|
||||
{
|
||||
u32 pll;
|
||||
|
||||
if (AR_SREV_9485(ah))
|
||||
if (AR_SREV_9485(ah)) {
|
||||
REG_WRITE(ah, AR_RTC_PLL_CONTROL2, 0x886666);
|
||||
REG_WRITE(ah, AR_CH0_DDR_DPLL2, 0x19e82f01);
|
||||
|
||||
REG_RMW_FIELD(ah, AR_CH0_DDR_DPLL3,
|
||||
AR_CH0_DPLL3_PHASE_SHIFT, DPLL3_PHASE_SHIFT_VAL);
|
||||
|
||||
REG_WRITE(ah, AR_RTC_PLL_CONTROL, 0x1142c);
|
||||
udelay(100);
|
||||
|
||||
REG_WRITE(ah, AR_RTC_PLL_CONTROL2, 0x886666);
|
||||
|
||||
REG_RMW_FIELD(ah, AR_CH0_BB_DPLL2,
|
||||
AR_CH0_DPLL2_KD, DPLL2_KD_VAL);
|
||||
REG_RMW_FIELD(ah, AR_CH0_BB_DPLL2,
|
||||
AR_CH0_DPLL2_KI, DPLL2_KI_VAL);
|
||||
|
||||
REG_RMW_FIELD(ah, AR_CH0_BB_DPLL3,
|
||||
AR_CH0_DPLL3_PHASE_SHIFT, DPLL3_PHASE_SHIFT_VAL);
|
||||
REG_WRITE(ah, AR_RTC_PLL_CONTROL, 0x142c);
|
||||
udelay(110);
|
||||
}
|
||||
|
||||
pll = ath9k_hw_compute_pll_control(ah, chan);
|
||||
|
||||
|
|
|
@ -1083,6 +1083,17 @@ enum {
|
|||
#define AR_ENT_OTP 0x40d8
|
||||
#define AR_ENT_OTP_CHAIN2_DISABLE 0x00020000
|
||||
#define AR_ENT_OTP_MPSD 0x00800000
|
||||
#define AR_CH0_BB_DPLL2 0x16184
|
||||
#define AR_CH0_BB_DPLL3 0x16188
|
||||
#define AR_CH0_DDR_DPLL2 0x16244
|
||||
#define AR_CH0_DDR_DPLL3 0x16248
|
||||
#define AR_CH0_DPLL2_KD 0x03F80000
|
||||
#define AR_CH0_DPLL2_KD_S 19
|
||||
#define AR_CH0_DPLL2_KI 0x3C000000
|
||||
#define AR_CH0_DPLL2_KI_S 26
|
||||
#define AR_CH0_DPLL3_PHASE_SHIFT 0x3F800000
|
||||
#define AR_CH0_DPLL3_PHASE_SHIFT_S 23
|
||||
#define AR_PHY_CCA_NOM_VAL_2GHZ -118
|
||||
|
||||
#define AR_RTC_9300_PLL_DIV 0x000003ff
|
||||
#define AR_RTC_9300_PLL_DIV_S 0
|
||||
|
|
Загрузка…
Ссылка в новой задаче