|
@@ -177,57 +177,123 @@ static struct intc_mask_reg mask_registers[] __initdata = {
|
|
|
static DECLARE_INTC_DESC(intc_desc, "sh7201", vectors, groups,
|
|
|
mask_registers, prio_registers, NULL);
|
|
|
|
|
|
-static struct plat_sci_port sci_platform_data[] = {
|
|
|
- {
|
|
|
- .mapbase = 0xfffe8000,
|
|
|
- .flags = UPF_BOOT_AUTOCONF,
|
|
|
- .type = PORT_SCIF,
|
|
|
- .irqs = { 180, 180, 180, 180 }
|
|
|
- }, {
|
|
|
- .mapbase = 0xfffe8800,
|
|
|
- .flags = UPF_BOOT_AUTOCONF,
|
|
|
- .type = PORT_SCIF,
|
|
|
- .irqs = { 184, 184, 184, 184 }
|
|
|
- }, {
|
|
|
- .mapbase = 0xfffe9000,
|
|
|
- .flags = UPF_BOOT_AUTOCONF,
|
|
|
- .type = PORT_SCIF,
|
|
|
- .irqs = { 188, 188, 188, 188 }
|
|
|
- }, {
|
|
|
- .mapbase = 0xfffe9800,
|
|
|
- .flags = UPF_BOOT_AUTOCONF,
|
|
|
- .type = PORT_SCIF,
|
|
|
- .irqs = { 192, 192, 192, 192 }
|
|
|
- }, {
|
|
|
- .mapbase = 0xfffea000,
|
|
|
- .flags = UPF_BOOT_AUTOCONF,
|
|
|
- .type = PORT_SCIF,
|
|
|
- .irqs = { 196, 196, 196, 196 }
|
|
|
- }, {
|
|
|
- .mapbase = 0xfffea800,
|
|
|
- .flags = UPF_BOOT_AUTOCONF,
|
|
|
- .type = PORT_SCIF,
|
|
|
- .irqs = { 200, 200, 200, 200 }
|
|
|
- }, {
|
|
|
- .mapbase = 0xfffeb000,
|
|
|
- .flags = UPF_BOOT_AUTOCONF,
|
|
|
- .type = PORT_SCIF,
|
|
|
- .irqs = { 204, 204, 204, 204 }
|
|
|
- }, {
|
|
|
- .mapbase = 0xfffeb800,
|
|
|
- .flags = UPF_BOOT_AUTOCONF,
|
|
|
- .type = PORT_SCIF,
|
|
|
- .irqs = { 208, 208, 208, 208 }
|
|
|
- }, {
|
|
|
- .flags = 0,
|
|
|
- }
|
|
|
-};
|
|
|
-
|
|
|
-static struct platform_device sci_device = {
|
|
|
+static struct plat_sci_port scif0_platform_data = {
|
|
|
+ .mapbase = 0xfffe8000,
|
|
|
+ .flags = UPF_BOOT_AUTOCONF,
|
|
|
+ .type = PORT_SCIF,
|
|
|
+ .irqs = { 180, 180, 180, 180 }
|
|
|
+};
|
|
|
+
|
|
|
+static struct platform_device scif0_device = {
|
|
|
.name = "sh-sci",
|
|
|
- .id = -1,
|
|
|
+ .id = 0,
|
|
|
+ .dev = {
|
|
|
+ .platform_data = &scif0_platform_data,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct plat_sci_port scif1_platform_data = {
|
|
|
+ .mapbase = 0xfffe8800,
|
|
|
+ .flags = UPF_BOOT_AUTOCONF,
|
|
|
+ .type = PORT_SCIF,
|
|
|
+ .irqs = { 184, 184, 184, 184 }
|
|
|
+};
|
|
|
+
|
|
|
+static struct platform_device scif1_device = {
|
|
|
+ .name = "sh-sci",
|
|
|
+ .id = 1,
|
|
|
+ .dev = {
|
|
|
+ .platform_data = &scif1_platform_data,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct plat_sci_port scif2_platform_data = {
|
|
|
+ .mapbase = 0xfffe9000,
|
|
|
+ .flags = UPF_BOOT_AUTOCONF,
|
|
|
+ .type = PORT_SCIF,
|
|
|
+ .irqs = { 188, 188, 188, 188 }
|
|
|
+};
|
|
|
+
|
|
|
+static struct platform_device scif2_device = {
|
|
|
+ .name = "sh-sci",
|
|
|
+ .id = 2,
|
|
|
+ .dev = {
|
|
|
+ .platform_data = &scif2_platform_data,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct plat_sci_port scif3_platform_data = {
|
|
|
+ .mapbase = 0xfffe9800,
|
|
|
+ .flags = UPF_BOOT_AUTOCONF,
|
|
|
+ .type = PORT_SCIF,
|
|
|
+ .irqs = { 192, 192, 192, 192 }
|
|
|
+};
|
|
|
+
|
|
|
+static struct platform_device scif3_device = {
|
|
|
+ .name = "sh-sci",
|
|
|
+ .id = 3,
|
|
|
+ .dev = {
|
|
|
+ .platform_data = &scif3_platform_data,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct plat_sci_port scif4_platform_data = {
|
|
|
+ .mapbase = 0xfffea000,
|
|
|
+ .flags = UPF_BOOT_AUTOCONF,
|
|
|
+ .type = PORT_SCIF,
|
|
|
+ .irqs = { 196, 196, 196, 196 }
|
|
|
+};
|
|
|
+
|
|
|
+static struct platform_device scif4_device = {
|
|
|
+ .name = "sh-sci",
|
|
|
+ .id = 4,
|
|
|
+ .dev = {
|
|
|
+ .platform_data = &scif4_platform_data,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct plat_sci_port scif5_platform_data = {
|
|
|
+ .mapbase = 0xfffea800,
|
|
|
+ .flags = UPF_BOOT_AUTOCONF,
|
|
|
+ .type = PORT_SCIF,
|
|
|
+ .irqs = { 200, 200, 200, 200 }
|
|
|
+};
|
|
|
+
|
|
|
+static struct platform_device scif5_device = {
|
|
|
+ .name = "sh-sci",
|
|
|
+ .id = 5,
|
|
|
+ .dev = {
|
|
|
+ .platform_data = &scif5_platform_data,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct plat_sci_port scif6_platform_data = {
|
|
|
+ .mapbase = 0xfffeb000,
|
|
|
+ .flags = UPF_BOOT_AUTOCONF,
|
|
|
+ .type = PORT_SCIF,
|
|
|
+ .irqs = { 204, 204, 204, 204 }
|
|
|
+};
|
|
|
+
|
|
|
+static struct platform_device scif6_device = {
|
|
|
+ .name = "sh-sci",
|
|
|
+ .id = 6,
|
|
|
+ .dev = {
|
|
|
+ .platform_data = &scif6_platform_data,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct plat_sci_port scif7_platform_data = {
|
|
|
+ .mapbase = 0xfffeb800,
|
|
|
+ .flags = UPF_BOOT_AUTOCONF,
|
|
|
+ .type = PORT_SCIF,
|
|
|
+ .irqs = { 208, 208, 208, 208 }
|
|
|
+};
|
|
|
+
|
|
|
+static struct platform_device scif7_device = {
|
|
|
+ .name = "sh-sci",
|
|
|
+ .id = 7,
|
|
|
.dev = {
|
|
|
- .platform_data = sci_platform_data,
|
|
|
+ .platform_data = &scif7_platform_data,
|
|
|
},
|
|
|
};
|
|
|
|
|
@@ -345,7 +411,14 @@ static struct platform_device mtu2_2_device = {
|
|
|
};
|
|
|
|
|
|
static struct platform_device *sh7201_devices[] __initdata = {
|
|
|
- &sci_device,
|
|
|
+ &scif0_device,
|
|
|
+ &scif1_device,
|
|
|
+ &scif2_device,
|
|
|
+ &scif3_device,
|
|
|
+ &scif4_device,
|
|
|
+ &scif5_device,
|
|
|
+ &scif6_device,
|
|
|
+ &scif7_device,
|
|
|
&rtc_device,
|
|
|
&mtu2_0_device,
|
|
|
&mtu2_1_device,
|
|
@@ -365,6 +438,14 @@ void __init plat_irq_setup(void)
|
|
|
}
|
|
|
|
|
|
static struct platform_device *sh7201_early_devices[] __initdata = {
|
|
|
+ &scif0_device,
|
|
|
+ &scif1_device,
|
|
|
+ &scif2_device,
|
|
|
+ &scif3_device,
|
|
|
+ &scif4_device,
|
|
|
+ &scif5_device,
|
|
|
+ &scif6_device,
|
|
|
+ &scif7_device,
|
|
|
&mtu2_0_device,
|
|
|
&mtu2_1_device,
|
|
|
&mtu2_2_device,
|