bcma: add bcma_chipco_alp_clock

For devices without a PMU the alp clock is always 20000000.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
Hauke Mehrtens 2012-12-05 18:45:59 +01:00 committed by John W. Linville
parent bc245cc36c
commit 56fd5f0772
1 changed files with 10 additions and 2 deletions

View File

@ -4,6 +4,7 @@
* *
* Copyright 2005, Broadcom Corporation * Copyright 2005, Broadcom Corporation
* Copyright 2006, 2007, Michael Buesch <m@bues.ch> * Copyright 2006, 2007, Michael Buesch <m@bues.ch>
* Copyright 2012, Hauke Mehrtens <hauke@hauke-m.de>
* *
* Licensed under the GNU/GPL. See COPYING for details. * Licensed under the GNU/GPL. See COPYING for details.
*/ */
@ -22,6 +23,14 @@ static inline u32 bcma_cc_write32_masked(struct bcma_drv_cc *cc, u16 offset,
return value; return value;
} }
static u32 bcma_chipco_alp_clock(struct bcma_drv_cc *cc)
{
if (cc->capabilities & BCMA_CC_CAP_PMU)
return bcma_pmu_alp_clock(cc);
return 20000000;
}
void bcma_core_chipcommon_early_init(struct bcma_drv_cc *cc) void bcma_core_chipcommon_early_init(struct bcma_drv_cc *cc)
{ {
if (cc->early_setup_done) if (cc->early_setup_done)
@ -131,8 +140,7 @@ void bcma_chipco_serial_init(struct bcma_drv_cc *cc)
struct bcma_serial_port *ports = cc->serial_ports; struct bcma_serial_port *ports = cc->serial_ports;
if (ccrev >= 11 && ccrev != 15) { if (ccrev >= 11 && ccrev != 15) {
/* Fixed ALP clock */ baud_base = bcma_chipco_alp_clock(cc);
baud_base = bcma_pmu_alp_clock(cc);
if (ccrev >= 21) { if (ccrev >= 21) {
/* Turn off UART clock before switching clocksource. */ /* Turn off UART clock before switching clocksource. */
bcma_cc_write32(cc, BCMA_CC_CORECTL, bcma_cc_write32(cc, BCMA_CC_CORECTL,