4 * Copyright (C) 2006 Paul Mundt
6 * This file is subject to the terms and conditions of the GNU General Public
7 * License. See the file "COPYING" in the main directory of this archive
10 #include <linux/platform_device.h>
11 #include <linux/init.h>
12 #include <linux/serial.h>
15 static struct plat_sci_port sci_platform_data
[] = {
17 .mapbase
= 0xfffffe80,
18 .flags
= UPF_BOOT_AUTOCONF
,
20 .irqs
= { 23, 24, 25, 0 },
22 .mapbase
= 0xa4000150,
23 .flags
= UPF_BOOT_AUTOCONF
,
25 .irqs
= { 56, 57, 59, 58 },
27 .mapbase
= 0xa4000140,
28 .flags
= UPF_BOOT_AUTOCONF
,
30 .irqs
= { 52, 53, 55, 54 },
36 static struct platform_device sci_device
= {
40 .platform_data
= sci_platform_data
,
44 static struct platform_device
*sh7709_devices
[] __initdata
= {
48 static int __init
sh7709_devices_setup(void)
50 return platform_add_devices(sh7709_devices
,
51 ARRAY_SIZE(sh7709_devices
));
53 __initcall(sh7709_devices_setup
);
55 #define IPRx(A,N) .addr=A, .shift=0*N*-1
56 #define IPRA(N) IPRx(0xfffffee2UL,N)
57 #define IPRB(N) IPRx(0xfffffee4UL,N)
58 #define IPRE(N) IPRx(0xa400001aUL,N)
60 static struct ipr_data sh7709_ipr_map
[] = {
61 [16] = { IPRA(15-12), 2 }, /* TMU TUNI0 */
62 [17] = { IPRA(11-8), 4 }, /* TMU TUNI1 */
63 [22] = { IPRA(3-0), 2 }, /* RTC CUI */
64 [23 ... 26] = { IPRB(7-4), 3 }, /* SCI */
65 [27] = { IPRB(15-12), 2 }, /* WDT ITI */
66 [48 ... 51] = { IPRE(15-12), 7 }, /* DMA */
67 [52 ... 55] = { IPRE(11-8), 3 }, /* IRDA */
68 [56 ... 59] = { IPRE(7-4), 3 }, /* SCIF */
71 void __init
init_IRQ_ipr()
73 make_ipr_irq(sh7709_ipr_map
, ARRAY_SIZE(sh7709_ipr_map
));