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

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
...@@ -148,6 +148,34 @@ static struct platform_device veu_device = { ...@@ -148,6 +148,34 @@ static struct platform_device veu_device = {
.num_resources = ARRAY_SIZE(veu_resources), .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[] = { static struct plat_sci_port sci_platform_data[] = {
{ {
.mapbase = 0xffe00000, .mapbase = 0xffe00000,
...@@ -187,6 +215,7 @@ static struct platform_device *sh7722_devices[] __initdata = { ...@@ -187,6 +215,7 @@ static struct platform_device *sh7722_devices[] __initdata = {
&sci_device, &sci_device,
&vpu_device, &vpu_device,
&veu_device, &veu_device,
&jpu_device,
}; };
static int __init sh7722_devices_setup(void) static int __init sh7722_devices_setup(void)
...@@ -196,9 +225,11 @@ 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("rtc0"); /* RTC */
clk_always_enable("veu0"); /* VEU */ clk_always_enable("veu0"); /* VEU */
clk_always_enable("vpu0"); /* VPU */ clk_always_enable("vpu0"); /* VPU */
clk_always_enable("jpu0"); /* JPU */
platform_resource_setup_memory(&vpu_device, "vpu", 1 << 20); platform_resource_setup_memory(&vpu_device, "vpu", 1 << 20);
platform_resource_setup_memory(&veu_device, "veu", 2 << 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, return platform_add_devices(sh7722_devices,
ARRAY_SIZE(sh7722_devices)); ARRAY_SIZE(sh7722_devices));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment