diff options
Diffstat (limited to 'arch/arm/mach-shmobile/setup-r8a7779.c')
-rw-r--r-- | arch/arm/mach-shmobile/setup-r8a7779.c | 128 |
1 files changed, 28 insertions, 100 deletions
diff --git a/arch/arm/mach-shmobile/setup-r8a7779.c b/arch/arm/mach-shmobile/setup-r8a7779.c index 8f9453152fb9..8e860b36997a 100644 --- a/arch/arm/mach-shmobile/setup-r8a7779.c +++ b/arch/arm/mach-shmobile/setup-r8a7779.c | |||
@@ -188,107 +188,35 @@ void __init r8a7779_pinmux_init(void) | |||
188 | ARRAY_SIZE(r8a7779_pinctrl_devices)); | 188 | ARRAY_SIZE(r8a7779_pinctrl_devices)); |
189 | } | 189 | } |
190 | 190 | ||
191 | static struct plat_sci_port scif0_platform_data = { | 191 | /* SCIF */ |
192 | .mapbase = 0xffe40000, | 192 | #define R8A7779_SCIF(index, baseaddr, irq) \ |
193 | .flags = UPF_BOOT_AUTOCONF | UPF_IOREMAP, | 193 | static struct plat_sci_port scif##index##_platform_data = { \ |
194 | .scscr = SCSCR_RE | SCSCR_TE | SCSCR_CKE1, | 194 | .type = PORT_SCIF, \ |
195 | .scbrr_algo_id = SCBRR_ALGO_2, | 195 | .flags = UPF_BOOT_AUTOCONF | UPF_IOREMAP, \ |
196 | .type = PORT_SCIF, | 196 | .scscr = SCSCR_RE | SCSCR_TE | SCSCR_CKE1, \ |
197 | .irqs = SCIx_IRQ_MUXED(gic_iid(0x78)), | 197 | }; \ |
198 | }; | 198 | \ |
199 | 199 | static struct resource scif##index##_resources[] = { \ | |
200 | static struct platform_device scif0_device = { | 200 | DEFINE_RES_MEM(baseaddr, 0x100), \ |
201 | .name = "sh-sci", | 201 | DEFINE_RES_IRQ(irq), \ |
202 | .id = 0, | 202 | }; \ |
203 | .dev = { | 203 | \ |
204 | .platform_data = &scif0_platform_data, | 204 | static struct platform_device scif##index##_device = { \ |
205 | }, | 205 | .name = "sh-sci", \ |
206 | }; | 206 | .id = index, \ |
207 | 207 | .resource = scif##index##_resources, \ | |
208 | static struct plat_sci_port scif1_platform_data = { | 208 | .num_resources = ARRAY_SIZE(scif##index##_resources), \ |
209 | .mapbase = 0xffe41000, | 209 | .dev = { \ |
210 | .flags = UPF_BOOT_AUTOCONF | UPF_IOREMAP, | 210 | .platform_data = &scif##index##_platform_data, \ |
211 | .scscr = SCSCR_RE | SCSCR_TE | SCSCR_CKE1, | 211 | }, \ |
212 | .scbrr_algo_id = SCBRR_ALGO_2, | 212 | } |
213 | .type = PORT_SCIF, | ||
214 | .irqs = SCIx_IRQ_MUXED(gic_iid(0x79)), | ||
215 | }; | ||
216 | |||
217 | static struct platform_device scif1_device = { | ||
218 | .name = "sh-sci", | ||
219 | .id = 1, | ||
220 | .dev = { | ||
221 | .platform_data = &scif1_platform_data, | ||
222 | }, | ||
223 | }; | ||
224 | |||
225 | static struct plat_sci_port scif2_platform_data = { | ||
226 | .mapbase = 0xffe42000, | ||
227 | .flags = UPF_BOOT_AUTOCONF | UPF_IOREMAP, | ||
228 | .scscr = SCSCR_RE | SCSCR_TE | SCSCR_CKE1, | ||
229 | .scbrr_algo_id = SCBRR_ALGO_2, | ||
230 | .type = PORT_SCIF, | ||
231 | .irqs = SCIx_IRQ_MUXED(gic_iid(0x7a)), | ||
232 | }; | ||
233 | |||
234 | static struct platform_device scif2_device = { | ||
235 | .name = "sh-sci", | ||
236 | .id = 2, | ||
237 | .dev = { | ||
238 | .platform_data = &scif2_platform_data, | ||
239 | }, | ||
240 | }; | ||
241 | |||
242 | static struct plat_sci_port scif3_platform_data = { | ||
243 | .mapbase = 0xffe43000, | ||
244 | .flags = UPF_BOOT_AUTOCONF | UPF_IOREMAP, | ||
245 | .scscr = SCSCR_RE | SCSCR_TE | SCSCR_CKE1, | ||
246 | .scbrr_algo_id = SCBRR_ALGO_2, | ||
247 | .type = PORT_SCIF, | ||
248 | .irqs = SCIx_IRQ_MUXED(gic_iid(0x7b)), | ||
249 | }; | ||
250 | |||
251 | static struct platform_device scif3_device = { | ||
252 | .name = "sh-sci", | ||
253 | .id = 3, | ||
254 | .dev = { | ||
255 | .platform_data = &scif3_platform_data, | ||
256 | }, | ||
257 | }; | ||
258 | |||
259 | static struct plat_sci_port scif4_platform_data = { | ||
260 | .mapbase = 0xffe44000, | ||
261 | .flags = UPF_BOOT_AUTOCONF | UPF_IOREMAP, | ||
262 | .scscr = SCSCR_RE | SCSCR_TE | SCSCR_CKE1, | ||
263 | .scbrr_algo_id = SCBRR_ALGO_2, | ||
264 | .type = PORT_SCIF, | ||
265 | .irqs = SCIx_IRQ_MUXED(gic_iid(0x7c)), | ||
266 | }; | ||
267 | |||
268 | static struct platform_device scif4_device = { | ||
269 | .name = "sh-sci", | ||
270 | .id = 4, | ||
271 | .dev = { | ||
272 | .platform_data = &scif4_platform_data, | ||
273 | }, | ||
274 | }; | ||
275 | |||
276 | static struct plat_sci_port scif5_platform_data = { | ||
277 | .mapbase = 0xffe45000, | ||
278 | .flags = UPF_BOOT_AUTOCONF | UPF_IOREMAP, | ||
279 | .scscr = SCSCR_RE | SCSCR_TE | SCSCR_CKE1, | ||
280 | .scbrr_algo_id = SCBRR_ALGO_2, | ||
281 | .type = PORT_SCIF, | ||
282 | .irqs = SCIx_IRQ_MUXED(gic_iid(0x7d)), | ||
283 | }; | ||
284 | 213 | ||
285 | static struct platform_device scif5_device = { | 214 | R8A7779_SCIF(0, 0xffe40000, gic_iid(0x78)); |
286 | .name = "sh-sci", | 215 | R8A7779_SCIF(1, 0xffe41000, gic_iid(0x79)); |
287 | .id = 5, | 216 | R8A7779_SCIF(2, 0xffe42000, gic_iid(0x7a)); |
288 | .dev = { | 217 | R8A7779_SCIF(3, 0xffe43000, gic_iid(0x7b)); |
289 | .platform_data = &scif5_platform_data, | 218 | R8A7779_SCIF(4, 0xffe44000, gic_iid(0x7c)); |
290 | }, | 219 | R8A7779_SCIF(5, 0xffe45000, gic_iid(0x7d)); |
291 | }; | ||
292 | 220 | ||
293 | /* TMU */ | 221 | /* TMU */ |
294 | static struct sh_timer_config tmu00_platform_data = { | 222 | static struct sh_timer_config tmu00_platform_data = { |