diff options
Diffstat (limited to 'target/linux/gemini/patches/111-arm-gemini-add-watchdog-device.patch')
-rw-r--r-- | target/linux/gemini/patches/111-arm-gemini-add-watchdog-device.patch | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/target/linux/gemini/patches/111-arm-gemini-add-watchdog-device.patch b/target/linux/gemini/patches/111-arm-gemini-add-watchdog-device.patch new file mode 100644 index 0000000..00ca35d --- /dev/null +++ b/target/linux/gemini/patches/111-arm-gemini-add-watchdog-device.patch @@ -0,0 +1,33 @@ +--- a/arch/arm/mach-gemini/devices.c ++++ b/arch/arm/mach-gemini/devices.c +@@ -117,3 +117,20 @@ int __init platform_register_rtc(void) + return platform_device_register(&gemini_rtc_device); + } + ++static struct resource wdt_resource = { ++ .start = GEMINI_WAQTCHDOG_BASE, ++ .end = GEMINI_WAQTCHDOG_BASE + 0x18, ++ .flags = IORESOURCE_MEM, ++}; ++ ++static struct platform_device wdt_device = { ++ .name = "gemini-wdt", ++ .id = 0, ++ .resource = &wdt_resource, ++ .num_resources = 1, ++}; ++ ++int __init platform_register_watchdog(void) ++{ ++ return platform_device_register(&wdt_device); ++} +--- a/arch/arm/mach-gemini/common.h ++++ b/arch/arm/mach-gemini/common.h +@@ -25,6 +25,7 @@ extern int platform_register_uart(void); + extern int platform_register_pflash(unsigned int size, + struct mtd_partition *parts, + unsigned int nr_parts); ++extern int platform_register_watchdog(void); + + extern void gemini_restart(char mode, const char *cmd); + |