diff options
author | Takashi YOSHII <takashi.yoshii.ze@hitachi.com> | 2007-04-30 23:19:33 -0400 |
---|---|---|
committer | Paul Mundt <lethal@hera.kernel.org> | 2007-05-06 22:11:57 -0400 |
commit | 70fe4d87bf72053f78cf3d2e6cefa5d51a2c30af (patch) | |
tree | ca4979d6a8db0a493288fcb0869140d7bca2baad /arch/sh | |
parent | 6865f0ea6ad91fec3ae7831c49d48b5a7db4b428 (diff) |
sh: Wire up more IRQs for SH7709.
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>
Diffstat (limited to 'arch/sh')
-rw-r--r-- | arch/sh/kernel/cpu/sh3/setup-sh7709.c | 29 |
1 files changed, 19 insertions, 10 deletions
diff --git a/arch/sh/kernel/cpu/sh3/setup-sh7709.c b/arch/sh/kernel/cpu/sh3/setup-sh7709.c index dc9b211cf87f..c7d7c35fc834 100644 --- a/arch/sh/kernel/cpu/sh3/setup-sh7709.c +++ b/arch/sh/kernel/cpu/sh3/setup-sh7709.c | |||
@@ -48,24 +48,33 @@ static struct platform_device *sh7709_devices[] __initdata = { | |||
48 | static int __init sh7709_devices_setup(void) | 48 | static int __init sh7709_devices_setup(void) |
49 | { | 49 | { |
50 | return platform_add_devices(sh7709_devices, | 50 | return platform_add_devices(sh7709_devices, |
51 | ARRAY_SIZE(sh7709_devices)); | 51 | ARRAY_SIZE(sh7709_devices)); |
52 | } | 52 | } |
53 | __initcall(sh7709_devices_setup); | 53 | __initcall(sh7709_devices_setup); |
54 | 54 | ||
55 | #define IPRx(A,N) .addr=A, .shift=0*N*-1 | 55 | #define IPRx(A,N) .addr=A, .shift=N |
56 | #define IPRA(N) IPRx(0xfffffee2UL,N) | 56 | #define IPRA(N) IPRx(0xfffffee2UL,N) |
57 | #define IPRB(N) IPRx(0xfffffee4UL,N) | 57 | #define IPRB(N) IPRx(0xfffffee4UL,N) |
58 | #define IPRC(N) IPRx(0xa4000016UL,N) | ||
59 | #define IPRD(N) IPRx(0xa4000018UL,N) | ||
58 | #define IPRE(N) IPRx(0xa400001aUL,N) | 60 | #define IPRE(N) IPRx(0xa400001aUL,N) |
59 | 61 | ||
60 | static struct ipr_data sh7709_ipr_map[] = { | 62 | static struct ipr_data sh7709_ipr_map[] = { |
61 | [16] = { IPRA(15-12), 2 }, /* TMU TUNI0 */ | 63 | [16] = { IPRA(12), 2 }, /* TMU TUNI0 */ |
62 | [17] = { IPRA(11-8), 4 }, /* TMU TUNI1 */ | 64 | [17] = { IPRA(8), 4 }, /* TMU TUNI1 */ |
63 | [22] = { IPRA(3-0), 2 }, /* RTC CUI */ | 65 | [18 ... 19] = { IPRA(4), 1 }, /* TMU TUNI1 */ |
64 | [23 ... 26] = { IPRB(7-4), 3 }, /* SCI */ | 66 | [20 ... 22] = { IPRA(0), 2 }, /* RTC CUI */ |
65 | [27] = { IPRB(15-12), 2 }, /* WDT ITI */ | 67 | [23 ... 26] = { IPRB(4), 3 }, /* SCI */ |
66 | [48 ... 51] = { IPRE(15-12), 7 }, /* DMA */ | 68 | [27] = { IPRB(12), 2 }, /* WDT ITI */ |
67 | [52 ... 55] = { IPRE(11-8), 3 }, /* IRDA */ | 69 | [32] = { IPRC(0), 1 }, /* IRQ 0 */ |
68 | [56 ... 59] = { IPRE(7-4), 3 }, /* SCIF */ | 70 | [33] = { IPRC(4), 1 }, /* IRQ 1 */ |
71 | [34] = { IPRC(8), 1 }, /* IRQ 2 APM */ | ||
72 | [35] = { IPRC(12), 1 }, /* IRQ 3 TOUCHSCREEN */ | ||
73 | [36] = { IPRD(0), 1 }, /* IRQ 4 */ | ||
74 | [37] = { IPRD(4), 1 }, /* IRQ 5 */ | ||
75 | [48 ... 51] = { IPRE(12), 7 }, /* DMA */ | ||
76 | [52 ... 55] = { IPRE(8), 3 }, /* IRDA */ | ||
77 | [56 ... 59] = { IPRE(4), 3 }, /* SCIF */ | ||
69 | }; | 78 | }; |
70 | 79 | ||
71 | void __init init_IRQ_ipr() | 80 | void __init init_IRQ_ipr() |