diff options
author | florian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2010-10-31 21:45:49 +0000 |
---|---|---|
committer | florian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2010-10-31 21:45:49 +0000 |
commit | fba7a3f47e02eb40d7a59bb460618db36d3ccc37 (patch) | |
tree | bfd8090e8e6f25440b90d7b8e7402da23b4d9cb4 /target/linux | |
parent | 94ffdca114fc26330afca64eceb8a6726186fbc1 (diff) |
[ar7] initialize clocks earlier for lpj to be correct (#7548)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23746 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux')
-rw-r--r-- | target/linux/ar7/patches-2.6.32/170-clocks_init_earlier.patch | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/target/linux/ar7/patches-2.6.32/170-clocks_init_earlier.patch b/target/linux/ar7/patches-2.6.32/170-clocks_init_earlier.patch new file mode 100644 index 0000000000..a0b384aae9 --- /dev/null +++ b/target/linux/ar7/patches-2.6.32/170-clocks_init_earlier.patch @@ -0,0 +1,53 @@ +--- a/arch/mips/ar7/clock.c ++++ b/arch/mips/ar7/clock.c +@@ -232,12 +232,12 @@ static void tnetd7300_set_clock(u32 shif + calculate(base_clock, frequency, &prediv, &postdiv, &mul); + + writel(((prediv - 1) << PREDIV_SHIFT) | (postdiv - 1), &clock->ctrl); +- msleep(1); ++ mdelay(1); + writel(4, &clock->pll); + while (readl(&clock->pll) & PLL_STATUS) + ; + writel(((mul - 1) << MUL_SHIFT) | (0xff << 3) | 0x0e, &clock->pll); +- msleep(75); ++ mdelay(75); + } + + static void __init tnetd7300_init_clocks(void) +@@ -407,7 +407,7 @@ static void __init tnetd7200_init_clocks + iounmap(bootcr); + } + +-int __init ar7_init_clocks(void) ++void __init ar7_init_clocks(void) + { + switch (ar7_chip_id()) { + case AR7_CHIP_7100: +@@ -421,7 +421,4 @@ int __init ar7_init_clocks(void) + default: + break; + } +- +- return 0; + } +-arch_initcall(ar7_init_clocks); +--- a/arch/mips/ar7/time.c ++++ b/arch/mips/ar7/time.c +@@ -26,5 +26,7 @@ + + void __init plat_time_init(void) + { ++ ar7_init_clocks(); ++ + mips_hpt_frequency = ar7_cpu_freq() / 2; + } +--- a/arch/mips/include/asm/mach-ar7/ar7.h ++++ b/arch/mips/include/asm/mach-ar7/ar7.h +@@ -178,4 +178,6 @@ static inline void ar7_device_off(u32 bi + msleep(20); + } + ++extern void __init ar7_init_clocks(void); ++ + #endif /* __AR7_H__ */ |