diff options
Diffstat (limited to 'arch/arm/mach-ep93xx/core.c')
-rw-r--r-- | arch/arm/mach-ep93xx/core.c | 27 |
1 files changed, 18 insertions, 9 deletions
diff --git a/arch/arm/mach-ep93xx/core.c b/arch/arm/mach-ep93xx/core.c index ae24486f858a..204dc5cbd0b8 100644 --- a/arch/arm/mach-ep93xx/core.c +++ b/arch/arm/mach-ep93xx/core.c | |||
@@ -155,7 +155,7 @@ static unsigned char gpio_int_unmasked[3]; | |||
155 | static unsigned char gpio_int_enabled[3]; | 155 | static unsigned char gpio_int_enabled[3]; |
156 | static unsigned char gpio_int_type1[3]; | 156 | static unsigned char gpio_int_type1[3]; |
157 | static unsigned char gpio_int_type2[3]; | 157 | static unsigned char gpio_int_type2[3]; |
158 | static unsigned char gpio_int_debouce[3]; | 158 | static unsigned char gpio_int_debounce[3]; |
159 | 159 | ||
160 | /* Port ordering is: A B F */ | 160 | /* Port ordering is: A B F */ |
161 | static const u8 int_type1_register_offset[3] = { 0x90, 0xac, 0x4c }; | 161 | static const u8 int_type1_register_offset[3] = { 0x90, 0xac, 0x4c }; |
@@ -192,11 +192,11 @@ void ep93xx_gpio_int_debounce(unsigned int irq, int enable) | |||
192 | int port_mask = 1 << (line & 7); | 192 | int port_mask = 1 << (line & 7); |
193 | 193 | ||
194 | if (enable) | 194 | if (enable) |
195 | gpio_int_debouce[port] |= port_mask; | 195 | gpio_int_debounce[port] |= port_mask; |
196 | else | 196 | else |
197 | gpio_int_debouce[port] &= ~port_mask; | 197 | gpio_int_debounce[port] &= ~port_mask; |
198 | 198 | ||
199 | __raw_writeb(gpio_int_debouce[port], | 199 | __raw_writeb(gpio_int_debounce[port], |
200 | EP93XX_GPIO_REG(int_debounce_register_offset[port])); | 200 | EP93XX_GPIO_REG(int_debounce_register_offset[port])); |
201 | } | 201 | } |
202 | EXPORT_SYMBOL(ep93xx_gpio_int_debounce); | 202 | EXPORT_SYMBOL(ep93xx_gpio_int_debounce); |
@@ -362,8 +362,8 @@ void __init ep93xx_init_irq(void) | |||
362 | { | 362 | { |
363 | int gpio_irq; | 363 | int gpio_irq; |
364 | 364 | ||
365 | vic_init((void *)EP93XX_VIC1_BASE, 0, EP93XX_VIC1_VALID_IRQ_MASK); | 365 | vic_init((void *)EP93XX_VIC1_BASE, 0, EP93XX_VIC1_VALID_IRQ_MASK, 0); |
366 | vic_init((void *)EP93XX_VIC2_BASE, 32, EP93XX_VIC2_VALID_IRQ_MASK); | 366 | vic_init((void *)EP93XX_VIC2_BASE, 32, EP93XX_VIC2_VALID_IRQ_MASK, 0); |
367 | 367 | ||
368 | for (gpio_irq = gpio_to_irq(0); | 368 | for (gpio_irq = gpio_to_irq(0); |
369 | gpio_irq <= gpio_to_irq(EP93XX_GPIO_LINE_MAX_IRQ); ++gpio_irq) { | 369 | gpio_irq <= gpio_to_irq(EP93XX_GPIO_LINE_MAX_IRQ); ++gpio_irq) { |
@@ -450,10 +450,19 @@ static struct amba_device uart3_device = { | |||
450 | }; | 450 | }; |
451 | 451 | ||
452 | 452 | ||
453 | static struct resource ep93xx_rtc_resource[] = { | ||
454 | { | ||
455 | .start = EP93XX_RTC_PHYS_BASE, | ||
456 | .end = EP93XX_RTC_PHYS_BASE + 0x10c - 1, | ||
457 | .flags = IORESOURCE_MEM, | ||
458 | }, | ||
459 | }; | ||
460 | |||
453 | static struct platform_device ep93xx_rtc_device = { | 461 | static struct platform_device ep93xx_rtc_device = { |
454 | .name = "ep93xx-rtc", | 462 | .name = "ep93xx-rtc", |
455 | .id = -1, | 463 | .id = -1, |
456 | .num_resources = 0, | 464 | .num_resources = ARRAY_SIZE(ep93xx_rtc_resource), |
465 | .resource = ep93xx_rtc_resource, | ||
457 | }; | 466 | }; |
458 | 467 | ||
459 | 468 | ||