mirror of https://gitee.com/openkylin/linux.git
sh: export the sh7343 JPU to user space
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. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
This commit is contained in:
parent
5e8766f1c1
commit
3442c0d627
|
@ -112,6 +112,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 = 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[] = {
|
static struct plat_sci_port sci_platform_data[] = {
|
||||||
{
|
{
|
||||||
.mapbase = 0xffe00000,
|
.mapbase = 0xffe00000,
|
||||||
|
@ -152,6 +180,7 @@ static struct platform_device *sh7343_devices[] __initdata = {
|
||||||
&sci_device,
|
&sci_device,
|
||||||
&vpu_device,
|
&vpu_device,
|
||||||
&veu_device,
|
&veu_device,
|
||||||
|
&jpu_device,
|
||||||
};
|
};
|
||||||
|
|
||||||
static int __init sh7343_devices_setup(void)
|
static int __init sh7343_devices_setup(void)
|
||||||
|
@ -160,9 +189,11 @@ static int __init sh7343_devices_setup(void)
|
||||||
clk_always_enable("xymem0"); /* XYMEM */
|
clk_always_enable("xymem0"); /* XYMEM */
|
||||||
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(sh7343_devices,
|
return platform_add_devices(sh7343_devices,
|
||||||
ARRAY_SIZE(sh7343_devices));
|
ARRAY_SIZE(sh7343_devices));
|
||||||
|
|
|
@ -158,7 +158,7 @@ static struct resource jpu_resources[] = {
|
||||||
[0] = {
|
[0] = {
|
||||||
.name = "JPU",
|
.name = "JPU",
|
||||||
.start = 0xfea00000,
|
.start = 0xfea00000,
|
||||||
.end = 0xfea102d0,
|
.end = 0xfea102d3,
|
||||||
.flags = IORESOURCE_MEM,
|
.flags = IORESOURCE_MEM,
|
||||||
},
|
},
|
||||||
[1] = {
|
[1] = {
|
||||||
|
|
Loading…
Reference in New Issue