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 ef77ee1d9f5..50cf6838ec4 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)); |