diff options
author | John W. Linville <linville@tuxdriver.com> | 2013-04-23 14:09:39 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2013-04-23 14:09:39 -0400 |
commit | ec094144cdd54a36e65a69161e9705959c09cb23 (patch) | |
tree | 5a41c0f766143e462bfde8515ca6547d4ee7f78e /drivers/ssb | |
parent | c43933e61ea9b630521bf0d5cf06c155478308a7 (diff) | |
parent | f09a878511997c25a76bf111a32f6b8345a701a5 (diff) |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless
Conflicts:
drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c
Diffstat (limited to 'drivers/ssb')
-rw-r--r-- | drivers/ssb/driver_chipcommon_pmu.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/drivers/ssb/driver_chipcommon_pmu.c b/drivers/ssb/driver_chipcommon_pmu.c index 791da2c0d8f6..23c5dbfea115 100644 --- a/drivers/ssb/driver_chipcommon_pmu.c +++ b/drivers/ssb/driver_chipcommon_pmu.c | |||
@@ -670,3 +670,32 @@ u32 ssb_pmu_get_controlclock(struct ssb_chipcommon *cc) | |||
670 | return 0; | 670 | return 0; |
671 | } | 671 | } |
672 | } | 672 | } |
673 | |||
674 | void ssb_pmu_spuravoid_pllupdate(struct ssb_chipcommon *cc, int spuravoid) | ||
675 | { | ||
676 | u32 pmu_ctl = 0; | ||
677 | |||
678 | switch (cc->dev->bus->chip_id) { | ||
679 | case 0x4322: | ||
680 | ssb_chipco_pll_write(cc, SSB_PMU1_PLLCTL0, 0x11100070); | ||
681 | ssb_chipco_pll_write(cc, SSB_PMU1_PLLCTL1, 0x1014140a); | ||
682 | ssb_chipco_pll_write(cc, SSB_PMU1_PLLCTL5, 0x88888854); | ||
683 | if (spuravoid == 1) | ||
684 | ssb_chipco_pll_write(cc, SSB_PMU1_PLLCTL2, 0x05201828); | ||
685 | else | ||
686 | ssb_chipco_pll_write(cc, SSB_PMU1_PLLCTL2, 0x05001828); | ||
687 | pmu_ctl = SSB_CHIPCO_PMU_CTL_PLL_UPD; | ||
688 | break; | ||
689 | case 43222: | ||
690 | /* TODO: BCM43222 requires updating PLLs too */ | ||
691 | return; | ||
692 | default: | ||
693 | ssb_printk(KERN_ERR PFX | ||
694 | "Unknown spuravoidance settings for chip 0x%04X, not changing PLL\n", | ||
695 | cc->dev->bus->chip_id); | ||
696 | return; | ||
697 | } | ||
698 | |||
699 | chipco_set32(cc, SSB_CHIPCO_PMU_CTL, pmu_ctl); | ||
700 | } | ||
701 | EXPORT_SYMBOL_GPL(ssb_pmu_spuravoid_pllupdate); | ||