diff options
author | Kuninori Morimoto <morimoto.kuninori@renesas.com> | 2009-04-14 22:43:03 -0400 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2009-04-16 01:50:55 -0400 |
commit | cd5b9ef776feff440e7a889d1a565ceabfecbfa1 (patch) | |
tree | 672bfd384224de6de5d5c9929154bc1e8ec7eb6a /arch/sh/kernel/cpu | |
parent | 40c7e8be556715079d0a9d7454ceb5371a2f0b39 (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.c | 33 |
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 */ | ||
147 | static struct uio_info vpu_platform_data = { | ||
148 | .name = "VPU5F", | ||
149 | .version = "0", | ||
150 | .irq = 60, | ||
151 | }; | ||
152 | |||
153 | static 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 | |||
165 | static 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 | |||
146 | static struct platform_device *sh7724_devices[] __initdata = { | 175 | static 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 | ||
153 | static int __init sh7724_devices_setup(void) | 183 | static 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)); |