openwrt/target/linux/ramips/patches-3.10/0401-mt7620n-add-wmac-clock...

28 lines
956 B
Diff

--- linux-3.10.26/arch/mips/ralink/mt7620.c 2014-01-15 21:49:41.368793580 +0200
+++ linux-3.10.26/arch/mips/ralink/mt7620.c 2014-01-15 19:33:32.022038160 +0200
@@ -105,12 +105,15 @@
void __init ralink_clk_init(void)
{
- unsigned long cpu_rate, sys_rate;
+ unsigned long cpu_rate, sys_rate, xtal_freq;
u32 c0 = rt_sysc_r32(SYSC_REG_CPLL_CONFIG0);
u32 c1 = rt_sysc_r32(SYSC_REG_CPLL_CONFIG1);
u32 swconfig = (c0 >> CPLL_SW_CONFIG_SHIFT) & CPLL_SW_CONFIG_MASK;
u32 cpu_clk = (c1 >> CPLL_CPU_CLK_SHIFT) & CPLL_CPU_CLK_MASK;
+ u32 syscfg0 = rt_sysc_r32(SYSC_REG_SYSTEM_CONFIG0);
+ xtal_freq = (syscfg0 & 0x40) ? 40000000 : 20000000;
+
if (cpu_clk) {
cpu_rate = 480000000;
} else if (!swconfig) {
@@ -133,6 +136,7 @@
ralink_clk_add("10000500.uart", 40000000);
ralink_clk_add("10000b00.spi", 40000000);
ralink_clk_add("10000c00.uartlite", 40000000);
+ ralink_clk_add("10180000.wmac", xtal_freq);
if (IS_ENABLED(CONFIG_USB)) {
/*