diff options
Diffstat (limited to 'arch/sh/kernel/cpu/sh2a/setup-sh7206.c')
-rw-r--r-- | arch/sh/kernel/cpu/sh2a/setup-sh7206.c | 89 |
1 files changed, 61 insertions, 28 deletions
diff --git a/arch/sh/kernel/cpu/sh2a/setup-sh7206.c b/arch/sh/kernel/cpu/sh2a/setup-sh7206.c index a9ccc5e8d9e9..064873585a8b 100644 --- a/arch/sh/kernel/cpu/sh2a/setup-sh7206.c +++ b/arch/sh/kernel/cpu/sh2a/setup-sh7206.c | |||
@@ -133,37 +133,63 @@ static struct intc_mask_reg mask_registers[] __initdata = { | |||
133 | static DECLARE_INTC_DESC(intc_desc, "sh7206", vectors, groups, | 133 | static DECLARE_INTC_DESC(intc_desc, "sh7206", vectors, groups, |
134 | mask_registers, prio_registers, NULL); | 134 | mask_registers, prio_registers, NULL); |
135 | 135 | ||
136 | static struct plat_sci_port sci_platform_data[] = { | 136 | static struct plat_sci_port scif0_platform_data = { |
137 | { | 137 | .mapbase = 0xfffe8000, |
138 | .mapbase = 0xfffe8000, | 138 | .flags = UPF_BOOT_AUTOCONF, |
139 | .flags = UPF_BOOT_AUTOCONF, | 139 | .type = PORT_SCIF, |
140 | .type = PORT_SCIF, | 140 | .irqs = { 240, 240, 240, 240 }, |
141 | .irqs = { 240, 240, 240, 240 }, | ||
142 | }, { | ||
143 | .mapbase = 0xfffe8800, | ||
144 | .flags = UPF_BOOT_AUTOCONF, | ||
145 | .type = PORT_SCIF, | ||
146 | .irqs = { 244, 244, 244, 244 }, | ||
147 | }, { | ||
148 | .mapbase = 0xfffe9000, | ||
149 | .flags = UPF_BOOT_AUTOCONF, | ||
150 | .type = PORT_SCIF, | ||
151 | .irqs = { 248, 248, 248, 248 }, | ||
152 | }, { | ||
153 | .mapbase = 0xfffe9800, | ||
154 | .flags = UPF_BOOT_AUTOCONF, | ||
155 | .type = PORT_SCIF, | ||
156 | .irqs = { 252, 252, 252, 252 }, | ||
157 | }, { | ||
158 | .flags = 0, | ||
159 | } | ||
160 | }; | 141 | }; |
161 | 142 | ||
162 | static struct platform_device sci_device = { | 143 | static struct platform_device scif0_device = { |
163 | .name = "sh-sci", | 144 | .name = "sh-sci", |
164 | .id = -1, | 145 | .id = 0, |
146 | .dev = { | ||
147 | .platform_data = &scif0_platform_data, | ||
148 | }, | ||
149 | }; | ||
150 | |||
151 | static struct plat_sci_port scif1_platform_data = { | ||
152 | .mapbase = 0xfffe8800, | ||
153 | .flags = UPF_BOOT_AUTOCONF, | ||
154 | .type = PORT_SCIF, | ||
155 | .irqs = { 244, 244, 244, 244 }, | ||
156 | }; | ||
157 | |||
158 | static struct platform_device scif1_device = { | ||
159 | .name = "sh-sci", | ||
160 | .id = 1, | ||
161 | .dev = { | ||
162 | .platform_data = &scif1_platform_data, | ||
163 | }, | ||
164 | }; | ||
165 | |||
166 | static struct plat_sci_port scif2_platform_data = { | ||
167 | .mapbase = 0xfffe9000, | ||
168 | .flags = UPF_BOOT_AUTOCONF, | ||
169 | .type = PORT_SCIF, | ||
170 | .irqs = { 248, 248, 248, 248 }, | ||
171 | }; | ||
172 | |||
173 | static struct platform_device scif2_device = { | ||
174 | .name = "sh-sci", | ||
175 | .id = 2, | ||
176 | .dev = { | ||
177 | .platform_data = &scif2_platform_data, | ||
178 | }, | ||
179 | }; | ||
180 | |||
181 | static struct plat_sci_port scif3_platform_data = { | ||
182 | .mapbase = 0xfffe9800, | ||
183 | .flags = UPF_BOOT_AUTOCONF, | ||
184 | .type = PORT_SCIF, | ||
185 | .irqs = { 252, 252, 252, 252 }, | ||
186 | }; | ||
187 | |||
188 | static struct platform_device scif3_device = { | ||
189 | .name = "sh-sci", | ||
190 | .id = 3, | ||
165 | .dev = { | 191 | .dev = { |
166 | .platform_data = sci_platform_data, | 192 | .platform_data = &scif3_platform_data, |
167 | }, | 193 | }, |
168 | }; | 194 | }; |
169 | 195 | ||
@@ -325,7 +351,10 @@ static struct platform_device mtu2_2_device = { | |||
325 | }; | 351 | }; |
326 | 352 | ||
327 | static struct platform_device *sh7206_devices[] __initdata = { | 353 | static struct platform_device *sh7206_devices[] __initdata = { |
328 | &sci_device, | 354 | &scif0_device, |
355 | &scif1_device, | ||
356 | &scif2_device, | ||
357 | &scif3_device, | ||
329 | &cmt0_device, | 358 | &cmt0_device, |
330 | &cmt1_device, | 359 | &cmt1_device, |
331 | &mtu2_0_device, | 360 | &mtu2_0_device, |
@@ -346,6 +375,10 @@ void __init plat_irq_setup(void) | |||
346 | } | 375 | } |
347 | 376 | ||
348 | static struct platform_device *sh7206_early_devices[] __initdata = { | 377 | static struct platform_device *sh7206_early_devices[] __initdata = { |
378 | &scif0_device, | ||
379 | &scif1_device, | ||
380 | &scif2_device, | ||
381 | &scif3_device, | ||
349 | &cmt0_device, | 382 | &cmt0_device, |
350 | &cmt1_device, | 383 | &cmt1_device, |
351 | &mtu2_0_device, | 384 | &mtu2_0_device, |