forked from Minki/linux
bcma: allow enabling PLL
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
7424dd0d03
commit
6f53912fc3
@ -81,3 +81,28 @@ void bcma_core_set_clockmode(struct bcma_device *core,
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(bcma_core_set_clockmode);
|
||||
|
||||
void bcma_core_pll_ctl(struct bcma_device *core, u32 req, u32 status, bool on)
|
||||
{
|
||||
u16 i;
|
||||
|
||||
WARN_ON(req & ~BCMA_CLKCTLST_EXTRESREQ);
|
||||
WARN_ON(status & ~BCMA_CLKCTLST_EXTRESST);
|
||||
|
||||
if (on) {
|
||||
bcma_set32(core, BCMA_CLKCTLST, req);
|
||||
for (i = 0; i < 10000; i++) {
|
||||
if ((bcma_read32(core, BCMA_CLKCTLST) & status) ==
|
||||
status) {
|
||||
i = 0;
|
||||
break;
|
||||
}
|
||||
udelay(10);
|
||||
}
|
||||
if (i)
|
||||
pr_err("PLL enable timeout\n");
|
||||
} else {
|
||||
pr_warn("Disabling PLL not supported yet!\n");
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(bcma_core_pll_ctl);
|
||||
|
@ -260,5 +260,7 @@ extern void bcma_core_disable(struct bcma_device *core, u32 flags);
|
||||
extern int bcma_core_enable(struct bcma_device *core, u32 flags);
|
||||
extern void bcma_core_set_clockmode(struct bcma_device *core,
|
||||
enum bcma_clkmode clkmode);
|
||||
extern void bcma_core_pll_ctl(struct bcma_device *core, u32 req, u32 status,
|
||||
bool on);
|
||||
|
||||
#endif /* LINUX_BCMA_H_ */
|
||||
|
Loading…
Reference in New Issue
Block a user