diff options
Diffstat (limited to 'arch/arm/mach-omap1/irq.c')
| -rw-r--r-- | arch/arm/mach-omap1/irq.c | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/arch/arm/mach-omap1/irq.c b/arch/arm/mach-omap1/irq.c index 192ce6055faa..ed65a7d2e941 100644 --- a/arch/arm/mach-omap1/irq.c +++ b/arch/arm/mach-omap1/irq.c | |||
| @@ -47,6 +47,7 @@ | |||
| 47 | #include <asm/irq.h> | 47 | #include <asm/irq.h> |
| 48 | #include <asm/mach/irq.h> | 48 | #include <asm/mach/irq.h> |
| 49 | #include <asm/arch/gpio.h> | 49 | #include <asm/arch/gpio.h> |
| 50 | #include <asm/arch/cpu.h> | ||
| 50 | 51 | ||
| 51 | #include <asm/io.h> | 52 | #include <asm/io.h> |
| 52 | 53 | ||
| @@ -147,11 +148,15 @@ static struct omap_irq_bank omap730_irq_banks[] = { | |||
| 147 | }; | 148 | }; |
| 148 | #endif | 149 | #endif |
| 149 | 150 | ||
| 150 | #ifdef CONFIG_ARCH_OMAP1510 | 151 | #ifdef CONFIG_ARCH_OMAP15XX |
| 151 | static struct omap_irq_bank omap1510_irq_banks[] = { | 152 | static struct omap_irq_bank omap1510_irq_banks[] = { |
| 152 | { .base_reg = OMAP_IH1_BASE, .trigger_map = 0xb3febfff }, | 153 | { .base_reg = OMAP_IH1_BASE, .trigger_map = 0xb3febfff }, |
| 153 | { .base_reg = OMAP_IH2_BASE, .trigger_map = 0xffbfffed }, | 154 | { .base_reg = OMAP_IH2_BASE, .trigger_map = 0xffbfffed }, |
| 154 | }; | 155 | }; |
| 156 | static struct omap_irq_bank omap310_irq_banks[] = { | ||
| 157 | { .base_reg = OMAP_IH1_BASE, .trigger_map = 0xb3faefc3 }, | ||
| 158 | { .base_reg = OMAP_IH2_BASE, .trigger_map = 0x65b3c061 }, | ||
| 159 | }; | ||
| 155 | #endif | 160 | #endif |
| 156 | 161 | ||
| 157 | #if defined(CONFIG_ARCH_OMAP16XX) | 162 | #if defined(CONFIG_ARCH_OMAP16XX) |
| @@ -181,11 +186,15 @@ void __init omap_init_irq(void) | |||
| 181 | irq_bank_count = ARRAY_SIZE(omap730_irq_banks); | 186 | irq_bank_count = ARRAY_SIZE(omap730_irq_banks); |
| 182 | } | 187 | } |
| 183 | #endif | 188 | #endif |
| 184 | #ifdef CONFIG_ARCH_OMAP1510 | 189 | #ifdef CONFIG_ARCH_OMAP15XX |
| 185 | if (cpu_is_omap1510()) { | 190 | if (cpu_is_omap1510()) { |
| 186 | irq_banks = omap1510_irq_banks; | 191 | irq_banks = omap1510_irq_banks; |
| 187 | irq_bank_count = ARRAY_SIZE(omap1510_irq_banks); | 192 | irq_bank_count = ARRAY_SIZE(omap1510_irq_banks); |
| 188 | } | 193 | } |
| 194 | if (cpu_is_omap310()) { | ||
| 195 | irq_banks = omap310_irq_banks; | ||
| 196 | irq_bank_count = ARRAY_SIZE(omap310_irq_banks); | ||
| 197 | } | ||
| 189 | #endif | 198 | #endif |
| 190 | #if defined(CONFIG_ARCH_OMAP16XX) | 199 | #if defined(CONFIG_ARCH_OMAP16XX) |
| 191 | if (cpu_is_omap16xx()) { | 200 | if (cpu_is_omap16xx()) { |
| @@ -226,9 +235,11 @@ void __init omap_init_irq(void) | |||
| 226 | } | 235 | } |
| 227 | 236 | ||
| 228 | /* Unmask level 2 handler */ | 237 | /* Unmask level 2 handler */ |
| 229 | if (cpu_is_omap730()) { | 238 | |
| 239 | if (cpu_is_omap730()) | ||
| 230 | omap_unmask_irq(INT_730_IH2_IRQ); | 240 | omap_unmask_irq(INT_730_IH2_IRQ); |
| 231 | } else { | 241 | else if (cpu_is_omap1510()) |
| 232 | omap_unmask_irq(INT_IH2_IRQ); | 242 | omap_unmask_irq(INT_1510_IH2_IRQ); |
| 233 | } | 243 | else if (cpu_is_omap16xx()) |
| 244 | omap_unmask_irq(INT_1610_IH2_IRQ); | ||
| 234 | } | 245 | } |
