|
@@ -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_devices[] __initdata = {
|
|
|
&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(void)
|
|
|
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));
|