ssb: update PMU init to match specs
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
Родитель
2daf6c1575
Коммит
c35deb4e70
|
@ -502,9 +502,9 @@ static void ssb_pmu_resources_init(struct ssb_chipcommon *cc)
|
|||
chipco_write32(cc, SSB_CHIPCO_PMU_MAXRES_MSK, max_msk);
|
||||
}
|
||||
|
||||
/* http://bcm-v4.sipsolutions.net/802.11/SSB/PmuInit */
|
||||
void ssb_pmu_init(struct ssb_chipcommon *cc)
|
||||
{
|
||||
struct ssb_bus *bus = cc->dev->bus;
|
||||
u32 pmucap;
|
||||
|
||||
if (!(cc->capabilities & SSB_CHIPCO_CAP_PMU))
|
||||
|
@ -516,15 +516,12 @@ void ssb_pmu_init(struct ssb_chipcommon *cc)
|
|||
ssb_dprintk(KERN_DEBUG PFX "Found rev %u PMU (capabilities 0x%08X)\n",
|
||||
cc->pmu.rev, pmucap);
|
||||
|
||||
if (cc->pmu.rev >= 1) {
|
||||
if ((bus->chip_id == 0x4325) && (bus->chip_rev < 2)) {
|
||||
chipco_mask32(cc, SSB_CHIPCO_PMU_CTL,
|
||||
~SSB_CHIPCO_PMU_CTL_NOILPONW);
|
||||
} else {
|
||||
chipco_set32(cc, SSB_CHIPCO_PMU_CTL,
|
||||
SSB_CHIPCO_PMU_CTL_NOILPONW);
|
||||
}
|
||||
}
|
||||
if (cc->pmu.rev == 1)
|
||||
chipco_mask32(cc, SSB_CHIPCO_PMU_CTL,
|
||||
~SSB_CHIPCO_PMU_CTL_NOILPONW);
|
||||
else
|
||||
chipco_set32(cc, SSB_CHIPCO_PMU_CTL,
|
||||
SSB_CHIPCO_PMU_CTL_NOILPONW);
|
||||
ssb_pmu_pll_init(cc);
|
||||
ssb_pmu_resources_init(cc);
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче