summaryrefslogtreecommitdiff
path: root/target/linux/ramips/files/arch/mips/ralink/rt288x/devices.c
diff options
context:
space:
mode:
authorGabor Juhos <juhosg@openwrt.org>2011-01-26 20:48:50 +0000
committerGabor Juhos <juhosg@openwrt.org>2011-01-26 20:48:50 +0000
commit2b50cecea6d8bc99f59f1680e149fc88aecf71ba (patch)
tree32488fd07863deb15324ab06a543dc9cfd54c052 /target/linux/ramips/files/arch/mips/ralink/rt288x/devices.c
parent764aa3fe9cf3417eadafbb4668986ba1ab387ba0 (diff)
downloadmtk-20170518-2b50cecea6d8bc99f59f1680e149fc88aecf71ba.zip
mtk-20170518-2b50cecea6d8bc99f59f1680e149fc88aecf71ba.tar.gz
mtk-20170518-2b50cecea6d8bc99f59f1680e149fc88aecf71ba.tar.bz2
ramips: add watchdog device for RT288x
SVN-Revision: 25129
Diffstat (limited to 'target/linux/ramips/files/arch/mips/ralink/rt288x/devices.c')
-rw-r--r--target/linux/ramips/files/arch/mips/ralink/rt288x/devices.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/target/linux/ramips/files/arch/mips/ralink/rt288x/devices.c b/target/linux/ramips/files/arch/mips/ralink/rt288x/devices.c
index 6a5cf39..fd6122f 100644
--- a/target/linux/ramips/files/arch/mips/ralink/rt288x/devices.c
+++ b/target/linux/ramips/files/arch/mips/ralink/rt288x/devices.c
@@ -171,3 +171,30 @@ void __init rt288x_register_ethernet(void)
platform_device_register(&rt288x_eth_device);
}
+
+static struct resource rt288x_wdt_resources[] = {
+ {
+ .start = RT2880_TIMER_BASE,
+ .end = RT2880_TIMER_BASE + RT2880_TIMER_SIZE - 1,
+ .flags = IORESOURCE_MEM,
+ },
+};
+
+static struct platform_device rt288x_wdt_device = {
+ .name = "ramips-wdt",
+ .id = -1,
+ .resource = rt288x_wdt_resources,
+ .num_resources = ARRAY_SIZE(rt288x_wdt_resources),
+};
+
+void __init rt288x_register_wdt(void)
+{
+ u32 t;
+
+ /* enable WDT reset output on pin SRAM_CS_N */
+ t = rt288x_sysc_rr(SYSC_REG_CLKCFG);
+ t |= CLKCFG_SRAM_CS_N_WDT;
+ rt288x_sysc_wr(t, SYSC_REG_CLKCFG);
+
+ platform_device_register(&rt288x_wdt_device);
+}