aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/kernel/cpu
diff options
context:
space:
mode:
authorKuninori Morimoto <morimoto.kuninori@renesas.com>2009-04-14 22:43:03 -0400
committerPaul Mundt <lethal@linux-sh.org>2009-04-16 01:50:55 -0400
commitcd5b9ef776feff440e7a889d1a565ceabfecbfa1 (patch)
tree672bfd384224de6de5d5c9929154bc1e8ec7eb6a /arch/sh/kernel/cpu
parent40c7e8be556715079d0a9d7454ceb5371a2f0b39 (diff)
sh: sh7724: Add VPU support.
This adds uio_pdrv_genirq support for the VPU. Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/kernel/cpu')
-rw-r--r--arch/sh/kernel/cpu/sh4a/setup-sh7724.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7724.c b/arch/sh/kernel/cpu/sh4a/setup-sh7724.c
index f17eda6688d..499a6fcdf23 100644
--- a/arch/sh/kernel/cpu/sh4a/setup-sh7724.c
+++ b/arch/sh/kernel/cpu/sh4a/setup-sh7724.c
@@ -143,16 +143,49 @@ static struct platform_device iic1_device = {
143 .resource = iic1_resources, 143 .resource = iic1_resources,
144}; 144};
145 145
146/* VPU */
147static struct uio_info vpu_platform_data = {
148 .name = "VPU5F",
149 .version = "0",
150 .irq = 60,
151};
152
153static struct resource vpu_resources[] = {
154 [0] = {
155 .name = "VPU",
156 .start = 0xfe900000,
157 .end = 0xfe902807,
158 .flags = IORESOURCE_MEM,
159 },
160 [1] = {
161 /* place holder for contiguous memory */
162 },
163};
164
165static struct platform_device vpu_device = {
166 .name = "uio_pdrv_genirq",
167 .id = 0,
168 .dev = {
169 .platform_data = &vpu_platform_data,
170 },
171 .resource = vpu_resources,
172 .num_resources = ARRAY_SIZE(vpu_resources),
173};
174
146static struct platform_device *sh7724_devices[] __initdata = { 175static struct platform_device *sh7724_devices[] __initdata = {
147 &sci_device, 176 &sci_device,
148 &rtc_device, 177 &rtc_device,
149 &iic0_device, 178 &iic0_device,
150 &iic1_device, 179 &iic1_device,
180 &vpu_device,
151}; 181};
152 182
153static int __init sh7724_devices_setup(void) 183static int __init sh7724_devices_setup(void)
154{ 184{
155 clk_always_enable("rtc0"); /* RTC */ 185 clk_always_enable("rtc0"); /* RTC */
186 clk_always_enable("vpu0"); /* VPU */
187
188 platform_resource_setup_memory(&vpu_device, "vpu", 2 << 20);
156 189
157 return platform_add_devices(sh7724_devices, 190 return platform_add_devices(sh7724_devices,
158 ARRAY_SIZE(sh7724_devices)); 191 ARRAY_SIZE(sh7724_devices));