summaryrefslogtreecommitdiffstats
path: root/target/linux/brcm47xx-2.6/files/drivers/ssb/driver_mips/mips.c
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/brcm47xx-2.6/files/drivers/ssb/driver_mips/mips.c')
-rw-r--r--target/linux/brcm47xx-2.6/files/drivers/ssb/driver_mips/mips.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/target/linux/brcm47xx-2.6/files/drivers/ssb/driver_mips/mips.c b/target/linux/brcm47xx-2.6/files/drivers/ssb/driver_mips/mips.c
index 65916b17b..7b3880ab0 100644
--- a/target/linux/brcm47xx-2.6/files/drivers/ssb/driver_mips/mips.c
+++ b/target/linux/brcm47xx-2.6/files/drivers/ssb/driver_mips/mips.c
@@ -215,15 +215,14 @@ u32 ssb_cpu_clock(struct ssb_mipscore *mcore)
if (bus->extif.dev) {
ssb_extif_get_clockcontrol(&bus->extif, &pll_type, &n, &m);
} else if (bus->chipco.dev) {
- if (bus->chip_id == 0x5365)
- /* FIXME: is this override really necessary? */
- return 200000000;
-
- ssb_chipco_get_clockcontrol(&bus->chipco, &pll_type, &n, &m);
+ ssb_chipco_get_clockcpu(&bus->chipco, bus->chip_id, &rate,
+ &pll_type, &n, &m);
} else
return 0;
- rate = ssb_calc_clock_rate(pll_type, n, m);
+ if (rate == 0)
+ rate = ssb_calc_clock_rate(pll_type, n, m);
+
if (pll_type == SSB_PLLTYPE_6)
rate *= 2;