aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh
diff options
context:
space:
mode:
authorKuninori Morimoto <morimoto.kuninori@renesas.com>2009-06-10 01:04:32 -0400
committerPaul Mundt <lethal@linux-sh.org>2009-06-11 02:17:17 -0400
commitf168dd00a9440a6f644db73bda47718fd12008e4 (patch)
tree522b1b4d20c2824b6196c3357d50d40cfe351cfb /arch/sh
parentc5eeff1f8ecbc4bc7c1dd8e97a8610bc4dd3def8 (diff)
sh: sh7724: Add JPU support
Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com> Acked-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh')
-rw-r--r--arch/sh/kernel/cpu/sh4a/setup-sh7724.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7724.c b/arch/sh/kernel/cpu/sh4a/setup-sh7724.c
index 585dd85c6c4e..e5ac9eb11c63 100644
--- a/arch/sh/kernel/cpu/sh4a/setup-sh7724.c
+++ b/arch/sh/kernel/cpu/sh4a/setup-sh7724.c
@@ -451,6 +451,35 @@ static struct platform_device tmu5_device = {
451 .num_resources = ARRAY_SIZE(tmu5_resources), 451 .num_resources = ARRAY_SIZE(tmu5_resources),
452}; 452};
453 453
454/* JPU */
455static struct uio_info jpu_platform_data = {
456 .name = "JPU",
457 .version = "0",
458 .irq = 27,
459};
460
461static struct resource jpu_resources[] = {
462 [0] = {
463 .name = "JPU",
464 .start = 0xfe980000,
465 .end = 0xfe9902d3,
466 .flags = IORESOURCE_MEM,
467 },
468 [1] = {
469 /* place holder for contiguous memory */
470 },
471};
472
473static struct platform_device jpu_device = {
474 .name = "uio_pdrv_genirq",
475 .id = 3,
476 .dev = {
477 .platform_data = &jpu_platform_data,
478 },
479 .resource = jpu_resources,
480 .num_resources = ARRAY_SIZE(jpu_resources),
481};
482
454static struct platform_device *sh7724_devices[] __initdata = { 483static struct platform_device *sh7724_devices[] __initdata = {
455 &cmt_device, 484 &cmt_device,
456 &tmu0_device, 485 &tmu0_device,
@@ -466,6 +495,7 @@ static struct platform_device *sh7724_devices[] __initdata = {
466 &vpu_device, 495 &vpu_device,
467 &veu0_device, 496 &veu0_device,
468 &veu1_device, 497 &veu1_device,
498 &jpu_device,
469}; 499};
470 500
471static int __init sh7724_devices_setup(void) 501static int __init sh7724_devices_setup(void)
@@ -473,6 +503,7 @@ static int __init sh7724_devices_setup(void)
473 platform_resource_setup_memory(&vpu_device, "vpu", 2 << 20); 503 platform_resource_setup_memory(&vpu_device, "vpu", 2 << 20);
474 platform_resource_setup_memory(&veu0_device, "veu0", 2 << 20); 504 platform_resource_setup_memory(&veu0_device, "veu0", 2 << 20);
475 platform_resource_setup_memory(&veu1_device, "veu1", 2 << 20); 505 platform_resource_setup_memory(&veu1_device, "veu1", 2 << 20);
506 platform_resource_setup_memory(&jpu_device, "jpu", 2 << 20);
476 507
477 return platform_add_devices(sh7724_devices, 508 return platform_add_devices(sh7724_devices,
478 ARRAY_SIZE(sh7724_devices)); 509 ARRAY_SIZE(sh7724_devices));