diff options
Diffstat (limited to 'arch/sh/kernel/cpu/sh4a/setup-sh7722.c')
| -rw-r--r-- | arch/sh/kernel/cpu/sh4a/setup-sh7722.c | 50 |
1 files changed, 38 insertions, 12 deletions
diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7722.c b/arch/sh/kernel/cpu/sh4a/setup-sh7722.c index ef77ee1d9f53..50cf6838ec41 100644 --- a/arch/sh/kernel/cpu/sh4a/setup-sh7722.c +++ b/arch/sh/kernel/cpu/sh4a/setup-sh7722.c | |||
| @@ -62,7 +62,7 @@ static struct resource usbf_resources[] = { | |||
| 62 | 62 | ||
| 63 | static struct platform_device usbf_device = { | 63 | static struct platform_device usbf_device = { |
| 64 | .name = "m66592_udc", | 64 | .name = "m66592_udc", |
| 65 | .id = -1, | 65 | .id = 0, /* "usbf0" clock */ |
| 66 | .dev = { | 66 | .dev = { |
| 67 | .dma_mask = NULL, | 67 | .dma_mask = NULL, |
| 68 | .coherent_dma_mask = 0xffffffff, | 68 | .coherent_dma_mask = 0xffffffff, |
| @@ -87,6 +87,7 @@ static struct resource iic_resources[] = { | |||
| 87 | 87 | ||
| 88 | static struct platform_device iic_device = { | 88 | static struct platform_device iic_device = { |
| 89 | .name = "i2c-sh_mobile", | 89 | .name = "i2c-sh_mobile", |
| 90 | .id = 0, /* "i2c0" clock */ | ||
| 90 | .num_resources = ARRAY_SIZE(iic_resources), | 91 | .num_resources = ARRAY_SIZE(iic_resources), |
| 91 | .resource = iic_resources, | 92 | .resource = iic_resources, |
| 92 | }; | 93 | }; |
| @@ -147,6 +148,34 @@ static struct platform_device veu_device = { | |||
| 147 | .num_resources = ARRAY_SIZE(veu_resources), | 148 | .num_resources = ARRAY_SIZE(veu_resources), |
| 148 | }; | 149 | }; |
| 149 | 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 | |||
| 150 | static struct plat_sci_port sci_platform_data[] = { | 179 | static struct plat_sci_port sci_platform_data[] = { |
| 151 | { | 180 | { |
| 152 | .mapbase = 0xffe00000, | 181 | .mapbase = 0xffe00000, |
| @@ -186,24 +215,21 @@ static struct platform_device *sh7722_devices[] __initdata = { | |||
| 186 | &sci_device, | 215 | &sci_device, |
| 187 | &vpu_device, | 216 | &vpu_device, |
| 188 | &veu_device, | 217 | &veu_device, |
| 218 | &jpu_device, | ||
| 189 | }; | 219 | }; |
| 190 | 220 | ||
| 191 | static int __init sh7722_devices_setup(void) | 221 | static int __init sh7722_devices_setup(void) |
| 192 | { | 222 | { |
| 193 | clk_always_enable("mstp031"); /* TLB */ | 223 | clk_always_enable("uram0"); /* URAM */ |
| 194 | clk_always_enable("mstp030"); /* IC */ | 224 | clk_always_enable("xymem0"); /* XYMEM */ |
| 195 | clk_always_enable("mstp029"); /* OC */ | 225 | clk_always_enable("rtc0"); /* RTC */ |
| 196 | clk_always_enable("mstp028"); /* URAM */ | 226 | clk_always_enable("veu0"); /* VEU */ |
| 197 | clk_always_enable("mstp026"); /* XYMEM */ | 227 | clk_always_enable("vpu0"); /* VPU */ |
| 198 | clk_always_enable("mstp022"); /* INTC */ | 228 | clk_always_enable("jpu0"); /* JPU */ |
| 199 | clk_always_enable("mstp020"); /* SuperHyway */ | ||
| 200 | clk_always_enable("mstp109"); /* I2C */ | ||
| 201 | clk_always_enable("mstp211"); /* USB */ | ||
| 202 | clk_always_enable("mstp202"); /* VEU */ | ||
| 203 | clk_always_enable("mstp201"); /* VPU */ | ||
| 204 | 229 | ||
| 205 | platform_resource_setup_memory(&vpu_device, "vpu", 1 << 20); | 230 | platform_resource_setup_memory(&vpu_device, "vpu", 1 << 20); |
| 206 | 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); | ||
| 207 | 233 | ||
| 208 | return platform_add_devices(sh7722_devices, | 234 | return platform_add_devices(sh7722_devices, |
| 209 | ARRAY_SIZE(sh7722_devices)); | 235 | ARRAY_SIZE(sh7722_devices)); |
