Skip to content

Commit

Permalink
sh: sh7724: Add VEU support.
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Kuninori Morimoto authored and Paul Mundt committed Apr 16, 2009
1 parent cd5b9ef commit ad95b78
Showing 1 changed file with 64 additions and 0 deletions.
64 changes: 64 additions & 0 deletions arch/sh/kernel/cpu/sh4a/setup-sh7724.c
Original file line number Diff line number Diff line change
Expand Up @@ -172,20 +172,84 @@ static struct platform_device vpu_device = {
.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 = {
&sci_device,
&rtc_device,
&iic0_device,
&iic1_device,
&vpu_device,
&veu0_device,
&veu1_device,
};

static int __init sh7724_devices_setup(void)
{
clk_always_enable("rtc0"); /* RTC */
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(&veu0_device, "veu0", 2 << 20);
platform_resource_setup_memory(&veu1_device, "veu1", 2 << 20);

return platform_add_devices(sh7724_devices,
ARRAY_SIZE(sh7724_devices));
Expand Down

0 comments on commit ad95b78

Please sign in to comment.