[WATCHDOG] ep93xx: added platform side support for TS-72xx WDT driver
authorMika Westerberg <mika.westerberg@iki.fi>
Sun, 29 Nov 2009 15:03:03 +0000 (17:03 +0200)
committerWim Van Sebroeck <wim@iguana.be>
Sat, 6 Mar 2010 15:12:17 +0000 (15:12 +0000)
Signed-off-by: Mika Westerberg <mika.westerberg@iki.fi>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
arch/arm/mach-ep93xx/include/mach/ts72xx.h
arch/arm/mach-ep93xx/ts72xx.c

index 3bd934e..93107d8 100644 (file)
@@ -65,6 +65,8 @@
 #define TS72XX_RTC_DATA_PHYS_BASE      0x11700000
 #define TS72XX_RTC_DATA_SIZE           0x00001000
 
+#define TS72XX_WDT_CONTROL_PHYS_BASE   0x23800000
+#define TS72XX_WDT_FEED_PHYS_BASE      0x23c00000
 
 #ifndef __ASSEMBLY__
 
index 259f782..fac1ec7 100644 (file)
@@ -166,6 +166,26 @@ static struct platform_device ts72xx_rtc_device = {
        .num_resources  = 0,
 };
 
+static struct resource ts72xx_wdt_resources[] = {
+       {
+               .start  = TS72XX_WDT_CONTROL_PHYS_BASE,
+               .end    = TS72XX_WDT_CONTROL_PHYS_BASE + SZ_4K - 1,
+               .flags  = IORESOURCE_MEM,
+       },
+       {
+               .start  = TS72XX_WDT_FEED_PHYS_BASE,
+               .end    = TS72XX_WDT_FEED_PHYS_BASE + SZ_4K - 1,
+               .flags  = IORESOURCE_MEM,
+       },
+};
+
+static struct platform_device ts72xx_wdt_device = {
+       .name           = "ts72xx-wdt",
+       .id             = -1,
+       .num_resources  = ARRAY_SIZE(ts72xx_wdt_resources),
+       .resource       = ts72xx_wdt_resources,
+};
+
 static struct ep93xx_eth_data ts72xx_eth_data = {
        .phy_id         = 1,
 };
@@ -175,6 +195,7 @@ static void __init ts72xx_init_machine(void)
        ep93xx_init_devices();
        ts72xx_register_flash();
        platform_device_register(&ts72xx_rtc_device);
+       platform_device_register(&ts72xx_wdt_device);
 
        ep93xx_register_eth(&ts72xx_eth_data, 1);
 }