brcm47xx: update the clock fixes for BCM5354

This updates the patches for BCM5354 to the version send for upstream
Linux inclusion.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 38037
lede-17.01
Hauke Mehrtens 2013-09-18 14:36:03 +00:00
parent 4c52ed50d7
commit 6dd2e9ae2c
2 changed files with 36 additions and 5 deletions

View File

@ -15,7 +15,7 @@
/*
* Use deterministic values for initial counter interrupt
@@ -43,15 +47,26 @@ void __init plat_time_init(void)
@@ -43,15 +47,23 @@ void __init plat_time_init(void)
#ifdef CONFIG_BCM47XX_SSB
case BCM47XX_BUS_TYPE_SSB:
hz = ssb_cpu_clock(&bcm47xx_bus.ssb.mipscore) / 2;
@ -34,11 +34,8 @@
+ len = bcm47xx_nvram_getenv("clkfreq", buf, sizeof(buf));
+ if (len >= 0 && !strncmp(buf, "200", 4))
+ hz = 100000000;
+ len = bcm47xx_nvram_getenv("hardware_version", buf, sizeof(buf));
+ if (len >= 0 && !strncmp(buf, "WL520G", 6))
+ hz = 100000000;
+
+ }
+
if (!hz)
hz = 100000000;

View File

@ -0,0 +1,34 @@
--- a/arch/mips/bcm47xx/time.c
+++ b/arch/mips/bcm47xx/time.c
@@ -28,6 +28,7 @@
#include <asm/time.h>
#include <bcm47xx.h>
#include <bcm47xx_nvram.h>
+#include <bcm47xx_board.h>
void __init plat_time_init(void)
{
@@ -35,6 +36,7 @@ void __init plat_time_init(void)
u16 chip_id = 0;
char buf[10];
int len;
+ enum bcm47xx_board board = bcm47xx_board_get();
/*
* Use deterministic values for initial counter interrupt
@@ -64,6 +66,15 @@ void __init plat_time_init(void)
hz = 100000000;
}
+ switch (board) {
+ case BCM47XX_BOARD_ASUS_WL520GC:
+ case BCM47XX_BOARD_ASUS_WL520GU:
+ hz = 100000000;
+ break;
+ default:
+ break;
+ }
+
if (!hz)
hz = 100000000;