]> err.no Git - linux-2.6/commitdiff
sh: Wire up more IRQs for SH7709.
authorTakashi YOSHII <takashi.yoshii.ze@hitachi.com>
Tue, 1 May 2007 03:19:33 +0000 (12:19 +0900)
committerPaul Mundt <lethal@hera.kernel.org>
Mon, 7 May 2007 02:11:57 +0000 (02:11 +0000)
hp6xx requires some additional IRQs that aren't currently enabled in
the SH7709 setup code. Wire them up.

Signed-off-by: Takashi YOSHII <takashi.yoshii.ze@hitachi.com>
Signed-off-by: Kristoffer Ericson <kristoffer.ericson@gmail.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
arch/sh/kernel/cpu/sh3/setup-sh7709.c

index dc9b211cf87f75dc00de23f3f99b3b30c23daae7..c7d7c35fc83443843a51a5e884f992c7593ca705 100644 (file)
@@ -48,24 +48,33 @@ static struct platform_device *sh7709_devices[] __initdata = {
 static int __init sh7709_devices_setup(void)
 {
        return platform_add_devices(sh7709_devices,
-                                   ARRAY_SIZE(sh7709_devices));
+               ARRAY_SIZE(sh7709_devices));
 }
 __initcall(sh7709_devices_setup);
 
-#define IPRx(A,N) .addr=A, .shift=0*N*-1
+#define IPRx(A,N)      .addr=A, .shift=N
 #define IPRA(N)        IPRx(0xfffffee2UL,N)
 #define IPRB(N)        IPRx(0xfffffee4UL,N)
+#define IPRC(N)        IPRx(0xa4000016UL,N)
+#define IPRD(N)        IPRx(0xa4000018UL,N)
 #define IPRE(N)        IPRx(0xa400001aUL,N)
 
 static struct ipr_data sh7709_ipr_map[] = {
-       [16]            = { IPRA(15-12), 2 }, /* TMU TUNI0 */
-       [17]            = { IPRA(11-8),  4 }, /* TMU TUNI1 */
-       [22]            = { IPRA(3-0),   2 }, /* RTC CUI */
-       [23 ... 26]     = { IPRB(7-4),   3 }, /* SCI */
-       [27]            = { IPRB(15-12), 2 }, /* WDT ITI */
-       [48 ... 51]     = { IPRE(15-12), 7 }, /* DMA */
-       [52 ... 55]     = { IPRE(11-8),  3 }, /* IRDA */
-       [56 ... 59]     = { IPRE(7-4),   3 }, /* SCIF */
+       [16]            = { IPRA(12), 2 }, /* TMU TUNI0 */
+       [17]            = { IPRA(8),  4 }, /* TMU TUNI1 */
+       [18 ... 19]     = { IPRA(4),  1 }, /* TMU TUNI1 */
+       [20 ... 22]     = { IPRA(0),  2 }, /* RTC CUI */
+       [23 ... 26]     = { IPRB(4),  3 }, /* SCI */
+       [27]            = { IPRB(12), 2 }, /* WDT ITI */
+       [32]            = { IPRC(0),  1 }, /* IRQ 0 */
+       [33]            = { IPRC(4),  1 }, /* IRQ 1 */
+       [34]            = { IPRC(8),  1 }, /* IRQ 2 APM */
+       [35]            = { IPRC(12), 1 }, /* IRQ 3 TOUCHSCREEN */
+       [36]            = { IPRD(0),  1 }, /* IRQ 4 */
+       [37]            = { IPRD(4),  1 }, /* IRQ 5 */
+       [48 ... 51]     = { IPRE(12), 7 }, /* DMA */
+       [52 ... 55]     = { IPRE(8),  3 }, /* IRDA */
+       [56 ... 59]     = { IPRE(4),  3 }, /* SCIF */
 };
 
 void __init init_IRQ_ipr()