summaryrefslogtreecommitdiffstats
path: root/target/linux/ramips/files/arch/mips/ralink/rt288x
diff options
context:
space:
mode:
authorjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-01-26 20:48:50 +0000
committerjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-01-26 20:48:50 +0000
commit78f01558563d4e6cbb1f60b45fd4530addbb1a57 (patch)
treeffba635c0890f282d041dd9d8875adc454637bc4 /target/linux/ramips/files/arch/mips/ralink/rt288x
parentf019ef96de8c9d6af703469ae4e5ff4bde3f3f50 (diff)
ramips: add watchdog device for RT288x
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@25129 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/ramips/files/arch/mips/ralink/rt288x')
-rw-r--r--target/linux/ramips/files/arch/mips/ralink/rt288x/devices.c27
-rw-r--r--target/linux/ramips/files/arch/mips/ralink/rt288x/devices.h2
2 files changed, 29 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 6a5cf392e..fd6122f58 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);
+}
diff --git a/target/linux/ramips/files/arch/mips/ralink/rt288x/devices.h b/target/linux/ramips/files/arch/mips/ralink/rt288x/devices.h
index 1ffbfb2a8..0df17368a 100644
--- a/target/linux/ramips/files/arch/mips/ralink/rt288x/devices.h
+++ b/target/linux/ramips/files/arch/mips/ralink/rt288x/devices.h
@@ -20,4 +20,6 @@ void rt288x_register_wifi(void);
extern struct ramips_eth_platform_data rt288x_eth_data;
void rt288x_register_ethernet(void);
+void rt288x_register_wdt(void);
+
#endif /* __ASM_MACH_RT288X_PLATFORM_H */