diff options
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-orion5x/include/mach/orion5x.h | 2 | ||||
-rw-r--r-- | arch/arm/plat-omap/devices.c | 21 |
2 files changed, 15 insertions, 8 deletions
diff --git a/arch/arm/mach-orion5x/include/mach/orion5x.h b/arch/arm/mach-orion5x/include/mach/orion5x.h index e67c843baa02..9f5ce1ce5840 100644 --- a/arch/arm/mach-orion5x/include/mach/orion5x.h +++ b/arch/arm/mach-orion5x/include/mach/orion5x.h | |||
@@ -157,9 +157,11 @@ | |||
157 | #define CPU_CONF ORION5X_BRIDGE_REG(0x100) | 157 | #define CPU_CONF ORION5X_BRIDGE_REG(0x100) |
158 | #define CPU_CTRL ORION5X_BRIDGE_REG(0x104) | 158 | #define CPU_CTRL ORION5X_BRIDGE_REG(0x104) |
159 | #define CPU_RESET_MASK ORION5X_BRIDGE_REG(0x108) | 159 | #define CPU_RESET_MASK ORION5X_BRIDGE_REG(0x108) |
160 | #define WDT_RESET 0x0002 | ||
160 | #define CPU_SOFT_RESET ORION5X_BRIDGE_REG(0x10c) | 161 | #define CPU_SOFT_RESET ORION5X_BRIDGE_REG(0x10c) |
161 | #define POWER_MNG_CTRL_REG ORION5X_BRIDGE_REG(0x11C) | 162 | #define POWER_MNG_CTRL_REG ORION5X_BRIDGE_REG(0x11C) |
162 | #define BRIDGE_CAUSE ORION5X_BRIDGE_REG(0x110) | 163 | #define BRIDGE_CAUSE ORION5X_BRIDGE_REG(0x110) |
164 | #define WDT_INT_REQ 0x0008 | ||
163 | #define BRIDGE_MASK ORION5X_BRIDGE_REG(0x114) | 165 | #define BRIDGE_MASK ORION5X_BRIDGE_REG(0x114) |
164 | #define BRIDGE_INT_TIMER0 0x0002 | 166 | #define BRIDGE_INT_TIMER0 0x0002 |
165 | #define BRIDGE_INT_TIMER1 0x0004 | 167 | #define BRIDGE_INT_TIMER1 0x0004 |
diff --git a/arch/arm/plat-omap/devices.c b/arch/arm/plat-omap/devices.c index a716ecd1db27..97187fa0ae52 100644 --- a/arch/arm/plat-omap/devices.c +++ b/arch/arm/plat-omap/devices.c | |||
@@ -441,16 +441,8 @@ static inline void omap_init_uwire(void) {} | |||
441 | 441 | ||
442 | #if defined(CONFIG_OMAP_WATCHDOG) || defined(CONFIG_OMAP_WATCHDOG_MODULE) | 442 | #if defined(CONFIG_OMAP_WATCHDOG) || defined(CONFIG_OMAP_WATCHDOG_MODULE) |
443 | 443 | ||
444 | #ifdef CONFIG_ARCH_OMAP24XX | ||
445 | #define OMAP_WDT_BASE 0x48022000 | ||
446 | #else | ||
447 | #define OMAP_WDT_BASE 0xfffeb000 | ||
448 | #endif | ||
449 | |||
450 | static struct resource wdt_resources[] = { | 444 | static struct resource wdt_resources[] = { |
451 | { | 445 | { |
452 | .start = OMAP_WDT_BASE, | ||
453 | .end = OMAP_WDT_BASE + 0x4f, | ||
454 | .flags = IORESOURCE_MEM, | 446 | .flags = IORESOURCE_MEM, |
455 | }, | 447 | }, |
456 | }; | 448 | }; |
@@ -464,6 +456,19 @@ static struct platform_device omap_wdt_device = { | |||
464 | 456 | ||
465 | static void omap_init_wdt(void) | 457 | static void omap_init_wdt(void) |
466 | { | 458 | { |
459 | if (cpu_is_omap16xx()) | ||
460 | wdt_resources[0].start = 0xfffeb000; | ||
461 | else if (cpu_is_omap2420()) | ||
462 | wdt_resources[0].start = 0x48022000; /* WDT2 */ | ||
463 | else if (cpu_is_omap2430()) | ||
464 | wdt_resources[0].start = 0x49016000; /* WDT2 */ | ||
465 | else if (cpu_is_omap343x()) | ||
466 | wdt_resources[0].start = 0x48314000; /* WDT2 */ | ||
467 | else | ||
468 | return; | ||
469 | |||
470 | wdt_resources[0].end = wdt_resources[0].start + 0x4f; | ||
471 | |||
467 | (void) platform_device_register(&omap_wdt_device); | 472 | (void) platform_device_register(&omap_wdt_device); |
468 | } | 473 | } |
469 | #else | 474 | #else |