Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7d91fcfc authored by Takanari Hayama's avatar Takanari Hayama Committed by Paul Mundt
Browse files

sh: add UIO support for JPU on SH7722.



Add JPU support on Migo-R via UIO. This make use of Magnus's
generic UIO platform driver. Chunk of contiguous memory to hold
intermediate image and compressed data during encode and decode.

Signed-off-by: default avatarTakanari Hayama <taki@igel.co.jp>
Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
parent b0c50ad7
Loading
Loading
Loading
Loading
+31 −0
Original line number Diff line number Diff line
@@ -148,6 +148,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	= 0xfea102d0,
		.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,
@@ -187,6 +215,7 @@ static struct platform_device *sh7722_devices[] __initdata = {
	&sci_device,
	&vpu_device,
	&veu_device,
	&jpu_device,
};

static int __init sh7722_devices_setup(void)
@@ -196,9 +225,11 @@ static int __init sh7722_devices_setup(void)
	clk_always_enable("rtc0"); /* RTC */
	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(sh7722_devices,
				    ARRAY_SIZE(sh7722_devices));