4 * Copyright (C) 2006 Yoshinori Sato
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
= 0xf8400000,
18 .flags
= UPF_BOOT_AUTOCONF
,
20 .irqs
= { 88, 89, 91, 90},
22 .mapbase
= 0xf8410000,
23 .flags
= UPF_BOOT_AUTOCONF
,
25 .irqs
= { 92, 93, 95, 94},
27 .mapbase
= 0xf8420000,
28 .flags
= UPF_BOOT_AUTOCONF
,
30 .irqs
= { 96, 97, 99, 98},
36 static struct platform_device sci_device
= {
40 .platform_data
= sci_platform_data
,
44 static struct platform_device
*sh7619_devices
[] __initdata
= {
48 static int __init
sh7619_devices_setup(void)
50 return platform_add_devices(sh7619_devices
,
51 ARRAY_SIZE(sh7619_devices
));
53 __initcall(sh7619_devices_setup
);
55 #define INTC_IPRC 0xf8080000UL
56 #define INTC_IPRD 0xf8080002UL
60 #define SCIF0_ERI_IRQ 88
61 #define SCIF0_RXI_IRQ 89
62 #define SCIF0_BRI_IRQ 90
63 #define SCIF0_TXI_IRQ 91
65 #define SCIF1_ERI_IRQ 92
66 #define SCIF1_RXI_IRQ 93
67 #define SCIF1_BRI_IRQ 94
68 #define SCIF1_TXI_IRQ 95
70 #define SCIF2_BRI_IRQ 96
71 #define SCIF2_ERI_IRQ 97
72 #define SCIF2_RXI_IRQ 98
73 #define SCIF2_TXI_IRQ 99
75 static struct ipr_data sh7619_ipr_map
[] = {
76 { CMI0_IRQ
, INTC_IPRC
, 1, 2 },
77 { SCIF0_ERI_IRQ
, INTC_IPRD
, 3, 3 },
78 { SCIF0_RXI_IRQ
, INTC_IPRD
, 3, 3 },
79 { SCIF0_BRI_IRQ
, INTC_IPRD
, 3, 3 },
80 { SCIF0_TXI_IRQ
, INTC_IPRD
, 3, 3 },
81 { SCIF1_ERI_IRQ
, INTC_IPRD
, 2, 3 },
82 { SCIF1_RXI_IRQ
, INTC_IPRD
, 2, 3 },
83 { SCIF1_BRI_IRQ
, INTC_IPRD
, 2, 3 },
84 { SCIF1_TXI_IRQ
, INTC_IPRD
, 2, 3 },
85 { SCIF2_ERI_IRQ
, INTC_IPRD
, 1, 3 },
86 { SCIF2_RXI_IRQ
, INTC_IPRD
, 1, 3 },
87 { SCIF2_BRI_IRQ
, INTC_IPRD
, 1, 3 },
88 { SCIF2_TXI_IRQ
, INTC_IPRD
, 1, 3 },
91 void __init
init_IRQ_ipr(void)
93 make_ipr_irq(sh7619_ipr_map
, ARRAY_SIZE(sh7619_ipr_map
));