diff options
| -rw-r--r-- | arch/sh/kernel/cpu/sh4a/setup-sh7722.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7722.c b/arch/sh/kernel/cpu/sh4a/setup-sh7722.c index 9162013ec695..50cf6838ec41 100644 --- a/arch/sh/kernel/cpu/sh4a/setup-sh7722.c +++ b/arch/sh/kernel/cpu/sh4a/setup-sh7722.c | |||
| @@ -148,6 +148,34 @@ static struct platform_device veu_device = { | |||
| 148 | .num_resources = ARRAY_SIZE(veu_resources), | 148 | .num_resources = ARRAY_SIZE(veu_resources), |
| 149 | }; | 149 | }; |
| 150 | 150 | ||
| 151 | static struct uio_info jpu_platform_data = { | ||
| 152 | .name = "JPU", | ||
| 153 | .version = "0", | ||
| 154 | .irq = 27, | ||
| 155 | }; | ||
| 156 | |||
| 157 | static struct resource jpu_resources[] = { | ||
| 158 | [0] = { | ||
| 159 | .name = "JPU", | ||
| 160 | .start = 0xfea00000, | ||
| 161 | .end = 0xfea102d0, | ||
| 162 | .flags = IORESOURCE_MEM, | ||
| 163 | }, | ||
| 164 | [1] = { | ||
| 165 | /* place holder for contiguous memory */ | ||
| 166 | }, | ||
| 167 | }; | ||
| 168 | |||
| 169 | static struct platform_device jpu_device = { | ||
| 170 | .name = "uio_pdrv_genirq", | ||
| 171 | .id = 2, | ||
| 172 | .dev = { | ||
| 173 | .platform_data = &jpu_platform_data, | ||
| 174 | }, | ||
| 175 | .resource = jpu_resources, | ||
| 176 | .num_resources = ARRAY_SIZE(jpu_resources), | ||
| 177 | }; | ||
| 178 | |||
| 151 | static struct plat_sci_port sci_platform_data[] = { | 179 | static struct plat_sci_port sci_platform_data[] = { |
| 152 | { | 180 | { |
| 153 | .mapbase = 0xffe00000, | 181 | .mapbase = 0xffe00000, |
| @@ -187,6 +215,7 @@ static struct platform_device *sh7722_devices[] __initdata = { | |||
| 187 | &sci_device, | 215 | &sci_device, |
| 188 | &vpu_device, | 216 | &vpu_device, |
| 189 | &veu_device, | 217 | &veu_device, |
| 218 | &jpu_device, | ||
| 190 | }; | 219 | }; |
| 191 | 220 | ||
| 192 | static int __init sh7722_devices_setup(void) | 221 | static int __init sh7722_devices_setup(void) |
| @@ -196,9 +225,11 @@ static int __init sh7722_devices_setup(void) | |||
| 196 | clk_always_enable("rtc0"); /* RTC */ | 225 | clk_always_enable("rtc0"); /* RTC */ |
| 197 | clk_always_enable("veu0"); /* VEU */ | 226 | clk_always_enable("veu0"); /* VEU */ |
| 198 | clk_always_enable("vpu0"); /* VPU */ | 227 | clk_always_enable("vpu0"); /* VPU */ |
| 228 | clk_always_enable("jpu0"); /* JPU */ | ||
| 199 | 229 | ||
| 200 | platform_resource_setup_memory(&vpu_device, "vpu", 1 << 20); | 230 | platform_resource_setup_memory(&vpu_device, "vpu", 1 << 20); |
| 201 | platform_resource_setup_memory(&veu_device, "veu", 2 << 20); | 231 | platform_resource_setup_memory(&veu_device, "veu", 2 << 20); |
| 232 | platform_resource_setup_memory(&jpu_device, "jpu", 2 << 20); | ||
| 202 | 233 | ||
| 203 | return platform_add_devices(sh7722_devices, | 234 | return platform_add_devices(sh7722_devices, |
| 204 | ARRAY_SIZE(sh7722_devices)); | 235 | ARRAY_SIZE(sh7722_devices)); |
