source: trunk/package/mac80211/patches/548-ath9k-add-AR9330-specific-PLL-initialization.patch @ 27187

Last change on this file since 27187 was 27187, checked in by hauke, 5 years ago

package/mac80211: Add linux 3.0 compatibility

Add patches from Hauke adding linux 3.0 compatibility.

Signed-off-by: Jonas Gorski <jonas.gorski+openwrt@…>

File size: 1.5 KB
  • drivers/net/wireless/ath/ath9k/hw.c

    a b static void ath9k_hw_init_pll(struct ath 
    742742                REG_RMW_FIELD(ah, AR_CH0_BB_DPLL2, 
    743743                              AR_CH0_BB_DPLL2_PLL_PWD, 0x0); 
    744744                udelay(1000); 
     745        } else if (AR_SREV_9330(ah)) { 
     746                u32 ddr_dpll2, pll_control2, kd; 
     747 
     748                if (ah->is_clk_25mhz) { 
     749                        ddr_dpll2 = 0x18e82f01; 
     750                        pll_control2 = 0xe04a3d; 
     751                        kd = 0x1d; 
     752                } else { 
     753                        ddr_dpll2 = 0x19e82f01; 
     754                        pll_control2 = 0x886666; 
     755                        kd = 0x3d; 
     756                } 
     757 
     758                /* program DDR PLL ki and kd value */ 
     759                REG_WRITE(ah, AR_CH0_DDR_DPLL2, ddr_dpll2); 
     760 
     761                /* program DDR PLL phase_shift */ 
     762                REG_RMW_FIELD(ah, AR_CH0_DDR_DPLL3, 
     763                              AR_CH0_DPLL3_PHASE_SHIFT, 0x1); 
     764 
     765                REG_WRITE(ah, AR_RTC_PLL_CONTROL, 0x1142c); 
     766                udelay(1000); 
     767 
     768                /* program refdiv, nint, frac to RTC register */ 
     769                REG_WRITE(ah, AR_RTC_PLL_CONTROL2, pll_control2); 
     770 
     771                /* program BB PLL kd and ki value */ 
     772                REG_RMW_FIELD(ah, AR_CH0_BB_DPLL2, AR_CH0_DPLL2_KD, kd); 
     773                REG_RMW_FIELD(ah, AR_CH0_BB_DPLL2, AR_CH0_DPLL2_KI, 0x06); 
     774 
     775                /* program BB PLL phase_shift */ 
     776                REG_RMW_FIELD(ah, AR_CH0_BB_DPLL3, 
     777                              AR_CH0_BB_DPLL3_PHASE_SHIFT, 0x1); 
    745778        } else if (AR_SREV_9340(ah)) { 
    746779                u32 regval, pll2_divint, pll2_divfrac, refdiv; 
    747780 
    static void ath9k_hw_init_pll(struct ath 
    783816 
    784817        REG_WRITE(ah, AR_RTC_PLL_CONTROL, pll); 
    785818 
    786         if (AR_SREV_9485(ah) || AR_SREV_9340(ah)) 
     819        if (AR_SREV_9485(ah) || AR_SREV_9340(ah) || AR_SREV_9330(ah)) 
    787820                udelay(1000); 
    788821 
    789822        /* Switch the core clock for ar9271 to 117Mhz */ 
Note: See TracBrowser for help on using the repository browser.