1 --- a/arch/mips/bcm47xx/time.c
2 +++ b/arch/mips/bcm47xx/time.c
4 #include <linux/ssb/ssb.h>
7 +#include <bcm47xx_nvram.h>
9 void __init plat_time_init(void)
17 * Use deterministic values for initial counter interrupt
18 @@ -43,15 +47,23 @@ void __init plat_time_init(void)
19 #ifdef CONFIG_BCM47XX_SSB
20 case BCM47XX_BUS_TYPE_SSB:
21 hz = ssb_cpu_clock(&bcm47xx_bus.ssb.mipscore) / 2;
22 + chip_id = bcm47xx_bus.ssb.chip_id;
25 #ifdef CONFIG_BCM47XX_BCMA
26 case BCM47XX_BUS_TYPE_BCMA:
27 hz = bcma_cpu_clock(&bcm47xx_bus.bcma.bus.drv_mips) / 2;
28 + chip_id = bcm47xx_bus.bcma.bus.chipinfo.id;
33 + if (chip_id == 0x5354) {
34 + len = bcm47xx_nvram_getenv("clkfreq", buf, sizeof(buf));
35 + if (len >= 0 && !strncmp(buf, "200", 4))