summaryrefslogtreecommitdiff
path: root/target/linux/ramips/files/arch/mips/ralink/rt305x/clock.c
diff options
context:
space:
mode:
authorGabor Juhos <juhosg@openwrt.org>2012-09-12 19:03:12 +0000
committerGabor Juhos <juhosg@openwrt.org>2012-09-12 19:03:12 +0000
commit0a42b02126bf220768fcece1ab9e82e302005808 (patch)
tree854ea30ba5816b91c81b9261535f5f0f0aa58f9b /target/linux/ramips/files/arch/mips/ralink/rt305x/clock.c
parent6804bafaddec8f36c7c8fd7b0a5469d35cf8bc7f (diff)
downloadmtk-20170518-0a42b02126bf220768fcece1ab9e82e302005808.zip
mtk-20170518-0a42b02126bf220768fcece1ab9e82e302005808.tar.gz
mtk-20170518-0a42b02126bf220768fcece1ab9e82e302005808.tar.bz2
ramips/rt305x: add initial support for Rt5350 SoC
Somehow detecting the RAM size in common/setup.c doesn't work here, it always detects 64M and then crashes on devices with less RAM. Probably using MEMC_REG_SDRAM_CFG1 to know the RAM size is how it could be, for now I use the mem=32M kernel parameter to get stuff working. Signed-off-by: Daniel Golle <dgolle@allnet.de> SVN-Revision: 33381
Diffstat (limited to 'target/linux/ramips/files/arch/mips/ralink/rt305x/clock.c')
-rw-r--r--target/linux/ramips/files/arch/mips/ralink/rt305x/clock.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/target/linux/ramips/files/arch/mips/ralink/rt305x/clock.c b/target/linux/ramips/files/arch/mips/ralink/rt305x/clock.c
index 9585476..c46a174 100644
--- a/target/linux/ramips/files/arch/mips/ralink/rt305x/clock.c
+++ b/target/linux/ramips/files/arch/mips/ralink/rt305x/clock.c
@@ -62,6 +62,27 @@ void __init rt305x_clocks_init(void)
rt305x_sys_clk.rate = rt305x_cpu_clk.rate / 3;
rt305x_uart_clk.rate = 40000000;
rt305x_wdt_clk.rate = rt305x_sys_clk.rate;
+ } else if (soc_is_rt5350()) {
+ t = (t >> RT5350_SYSCFG0_CPUCLK_SHIFT) &
+ RT5350_SYSCFG0_CPUCLK_MASK;
+ switch (t) {
+ case RT5350_SYSCFG0_CPUCLK_360:
+ rt305x_cpu_clk.rate = 360000000;
+ rt305x_sys_clk.rate = rt305x_cpu_clk.rate / 3;
+ break;
+ case RT5350_SYSCFG0_CPUCLK_320:
+ rt305x_cpu_clk.rate = 320000000;
+ rt305x_sys_clk.rate = rt305x_cpu_clk.rate / 4;
+ break;
+ case RT5350_SYSCFG0_CPUCLK_300:
+ rt305x_cpu_clk.rate = 300000000;
+ rt305x_sys_clk.rate = rt305x_cpu_clk.rate / 3;
+ break;
+ default:
+ BUG();
+ }
+ rt305x_uart_clk.rate = 40000000;
+ rt305x_wdt_clk.rate = rt305x_sys_clk.rate;
} else {
BUG();
}