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:
parent
bc245cc36c
commit
56fd5f0772
|
@ -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,
|
||||||
|
|
Loading…
Reference in New Issue