sh: sh7724: Add VEU support.
This adds uio_pdrv_genirq support for the VEU. Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
This commit is contained in:
parent
cd5b9ef776
commit
ad95b78c9f
1 changed files with 64 additions and 0 deletions
|
@ -172,20 +172,84 @@ static struct platform_device vpu_device = {
|
||||||
.num_resources = ARRAY_SIZE(vpu_resources),
|
.num_resources = ARRAY_SIZE(vpu_resources),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* VEU0 */
|
||||||
|
static struct uio_info veu0_platform_data = {
|
||||||
|
.name = "VEU3F0",
|
||||||
|
.version = "0",
|
||||||
|
.irq = 83,
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct resource veu0_resources[] = {
|
||||||
|
[0] = {
|
||||||
|
.name = "VEU3F0",
|
||||||
|
.start = 0xfe920000,
|
||||||
|
.end = 0xfe9200cb - 1,
|
||||||
|
.flags = IORESOURCE_MEM,
|
||||||
|
},
|
||||||
|
[1] = {
|
||||||
|
/* place holder for contiguous memory */
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct platform_device veu0_device = {
|
||||||
|
.name = "uio_pdrv_genirq",
|
||||||
|
.id = 1,
|
||||||
|
.dev = {
|
||||||
|
.platform_data = &veu0_platform_data,
|
||||||
|
},
|
||||||
|
.resource = veu0_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(veu0_resources),
|
||||||
|
};
|
||||||
|
|
||||||
|
/* VEU1 */
|
||||||
|
static struct uio_info veu1_platform_data = {
|
||||||
|
.name = "VEU3F1",
|
||||||
|
.version = "0",
|
||||||
|
.irq = 54,
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct resource veu1_resources[] = {
|
||||||
|
[0] = {
|
||||||
|
.name = "VEU3F1",
|
||||||
|
.start = 0xfe924000,
|
||||||
|
.end = 0xfe9240cb - 1,
|
||||||
|
.flags = IORESOURCE_MEM,
|
||||||
|
},
|
||||||
|
[1] = {
|
||||||
|
/* place holder for contiguous memory */
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct platform_device veu1_device = {
|
||||||
|
.name = "uio_pdrv_genirq",
|
||||||
|
.id = 2,
|
||||||
|
.dev = {
|
||||||
|
.platform_data = &veu1_platform_data,
|
||||||
|
},
|
||||||
|
.resource = veu1_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(veu1_resources),
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device *sh7724_devices[] __initdata = {
|
static struct platform_device *sh7724_devices[] __initdata = {
|
||||||
&sci_device,
|
&sci_device,
|
||||||
&rtc_device,
|
&rtc_device,
|
||||||
&iic0_device,
|
&iic0_device,
|
||||||
&iic1_device,
|
&iic1_device,
|
||||||
&vpu_device,
|
&vpu_device,
|
||||||
|
&veu0_device,
|
||||||
|
&veu1_device,
|
||||||
};
|
};
|
||||||
|
|
||||||
static int __init sh7724_devices_setup(void)
|
static int __init sh7724_devices_setup(void)
|
||||||
{
|
{
|
||||||
clk_always_enable("rtc0"); /* RTC */
|
clk_always_enable("rtc0"); /* RTC */
|
||||||
clk_always_enable("vpu0"); /* VPU */
|
clk_always_enable("vpu0"); /* VPU */
|
||||||
|
clk_always_enable("veu1"); /* VEU3F1 */
|
||||||
|
clk_always_enable("veu0"); /* VEU3F0 */
|
||||||
|
|
||||||
platform_resource_setup_memory(&vpu_device, "vpu", 2 << 20);
|
platform_resource_setup_memory(&vpu_device, "vpu", 2 << 20);
|
||||||
|
platform_resource_setup_memory(&veu0_device, "veu0", 2 << 20);
|
||||||
|
platform_resource_setup_memory(&veu1_device, "veu1", 2 << 20);
|
||||||
|
|
||||||
return platform_add_devices(sh7724_devices,
|
return platform_add_devices(sh7724_devices,
|
||||||
ARRAY_SIZE(sh7724_devices));
|
ARRAY_SIZE(sh7724_devices));
|
||||||
|
|
Loading…
Reference in a new issue