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 | } |