Skip to contentSkip to conversation

sh: export the sh7343 JPU to user space

PATCH In review Magnus Damm 2 participants 2 messages Dec 25, 2008 SuperH

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 sh: export the sh7343 JPU to user space

From: Magnus Damm <[email protected]>

This patch exports the sh7343 JPU to user space using uio_pdrv_genirq, very similar to the sh7722 JPU patch by Hayama-san.

While at it fix up the end of the sh7722 JPU iomem resource.

---

 arch/sh/kernel/cpu/sh4a/setup-sh7343.c |   31 +++++++++++++++++++++++++++++++
 arch/sh/kernel/cpu/sh4a/setup-sh7722.c |    2 +-
 2 files changed, 32 insertions(+), 1 deletion(-)
arch/sh/kernel/cpu/sh4a/setup-sh7343.c +31 -0
@@ -112,6 +112,34 @@ static struct platform_device veu_device
 	.num_resources	= ARRAY_SIZE(veu_resources),
 };
 
+static struct uio_info jpu_platform_data = {
+	.name = "JPU",
+	.version = "0",
+	.irq = 27,
+};
+
+static struct resource jpu_resources[] = {
+	[0] = {
+		.name	= "JPU",
+		.start	= 0xfea00000,
+		.end	= 0xfea102d3,
+		.flags	= IORESOURCE_MEM,
+	},
+	[1] = {
+		/* place holder for contiguous memory */
+	},
+};
+
+static struct platform_device jpu_device = {
+	.name		= "uio_pdrv_genirq",
+	.id		= 2,
+	.dev = {
+		.platform_data	= &jpu_platform_data,
+	},
+	.resource	= jpu_resources,
+	.num_resources	= ARRAY_SIZE(jpu_resources),
+};
+
 static struct plat_sci_port sci_platform_data[] = {
 	{
 		.mapbase	= 0xffe00000,
@@ -152,6 +180,7 @@ static struct platform_device *sh7343_de
 	&sci_device,
 	&vpu_device,
 	&veu_device,
+	&jpu_device,
 };
 
 static int __init sh7343_devices_setup(void)
@@ -160,9 +189,11 @@ static int __init sh7343_devices_setup(v
 	clk_always_enable("xymem0"); /* XYMEM */
 	clk_always_enable("veu0"); /* VEU */
 	clk_always_enable("vpu0"); /* VPU */
+	clk_always_enable("jpu0"); /* JPU */
 
 	platform_resource_setup_memory(&vpu_device, "vpu", 1 << 20);
 	platform_resource_setup_memory(&veu_device, "veu", 2 << 20);
+	platform_resource_setup_memory(&jpu_device, "jpu", 2 << 20);
 
 	return platform_add_devices(sh7343_devices,
 				    ARRAY_SIZE(sh7343_devices));
arch/sh/kernel/cpu/sh4a/setup-sh7722.c +1 -1
@@ -158,7 +158,7 @@ static struct resource jpu_resources[]  	[0] = {
 		.name	= "JPU",
 		.start	= 0xfea00000,
-		.end	= 0xfea102d0,
+		.end	= 0xfea102d3,
 		.flags	= IORESOURCE_MEM,
 	},
 	[1] = {
#1 lore raw
Quoted 8 lines · Magnus Damm

From: Magnus Damm <[email protected]>

This patch exports the sh7343 JPU to user space using uio_pdrv_genirq, very similar to the sh7722 JPU patch by Hayama-san.

While at it fix up the end of the sh7722 JPU iomem resource.

I'll add this and the others to the queue for the next merge, after Linus pulls the current batch.