diff options
author | juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2011-01-26 20:48:50 +0000 |
---|---|---|
committer | juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2011-01-26 20:48:50 +0000 |
commit | 78f01558563d4e6cbb1f60b45fd4530addbb1a57 (patch) | |
tree | ffba635c0890f282d041dd9d8875adc454637bc4 /target/linux/ramips/files/arch/mips/ralink/rt288x | |
parent | f019ef96de8c9d6af703469ae4e5ff4bde3f3f50 (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.c | 27 | ||||
-rw-r--r-- | target/linux/ramips/files/arch/mips/ralink/rt288x/devices.h | 2 |
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 6a5cf392e0..fd6122f581 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 1ffbfb2a8a..0df17368a6 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 */ |