aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/kernel
diff options
context:
space:
mode:
authorTakashi YOSHII <takashi.yoshii.ze@hitachi.com>2007-04-30 23:19:33 -0400
committerPaul Mundt <lethal@hera.kernel.org>2007-05-06 22:11:57 -0400
commit70fe4d87bf72053f78cf3d2e6cefa5d51a2c30af (patch)
treeca4979d6a8db0a493288fcb0869140d7bca2baad /arch/sh/kernel
parent6865f0ea6ad91fec3ae7831c49d48b5a7db4b428 (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/kernel')
-rw-r--r--arch/sh/kernel/cpu/sh3/setup-sh7709.c29
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 = {
48static int __init sh7709_devices_setup(void) 48static 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
60static struct ipr_data sh7709_ipr_map[] = { 62static 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
71void __init init_IRQ_ipr() 80void __init init_IRQ_ipr()