aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>2014-04-23 07:15:08 -0400
committerSimon Horman <horms+renesas@verge.net.au>2014-05-11 06:35:26 -0400
commit9b17e48cd4df4e129976c37660cf9ec644c66059 (patch)
tree22f1db2ada8bb0029b7d61fb0d5609b146262055 /arch/sh
parent1c41ecb60b3de08d341be13de1dfc3d907b82694 (diff)
sh: Switch to new style CMT device
The CMT (Compare Match Timer) driver implements a new style of platform data that handles the timer as a single device with multiple channel. Switch from the old-style platform data to the new-style platform data. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Diffstat (limited to 'arch/sh')
-rw-r--r--arch/sh/kernel/cpu/clock-cpg.c3
-rw-r--r--arch/sh/kernel/cpu/sh2/setup-sh7619.c66
-rw-r--r--arch/sh/kernel/cpu/sh2a/clock-sh7264.c2
-rw-r--r--arch/sh/kernel/cpu/sh2a/clock-sh7269.c2
-rw-r--r--arch/sh/kernel/cpu/sh2a/setup-sh7203.c66
-rw-r--r--arch/sh/kernel/cpu/sh2a/setup-sh7206.c66
-rw-r--r--arch/sh/kernel/cpu/sh2a/setup-sh7264.c69
-rw-r--r--arch/sh/kernel/cpu/sh2a/setup-sh7269.c66
-rw-r--r--arch/sh/kernel/cpu/sh3/setup-sh7720.c150
-rw-r--r--arch/sh/kernel/cpu/sh4a/clock-sh7343.c2
-rw-r--r--arch/sh/kernel/cpu/sh4a/clock-sh7366.c2
-rw-r--r--arch/sh/kernel/cpu/sh4a/clock-sh7722.c2
-rw-r--r--arch/sh/kernel/cpu/sh4a/clock-sh7723.c2
-rw-r--r--arch/sh/kernel/cpu/sh4a/clock-sh7724.c2
-rw-r--r--arch/sh/kernel/cpu/sh4a/setup-sh7343.c18
-rw-r--r--arch/sh/kernel/cpu/sh4a/setup-sh7366.c18
-rw-r--r--arch/sh/kernel/cpu/sh4a/setup-sh7722.c18
-rw-r--r--arch/sh/kernel/cpu/sh4a/setup-sh7723.c18
-rw-r--r--arch/sh/kernel/cpu/sh4a/setup-sh7724.c18
19 files changed, 106 insertions, 484 deletions
diff --git a/arch/sh/kernel/cpu/clock-cpg.c b/arch/sh/kernel/cpu/clock-cpg.c
index f59b1f30d44b..8de314b8e5df 100644
--- a/arch/sh/kernel/cpu/clock-cpg.c
+++ b/arch/sh/kernel/cpu/clock-cpg.c
@@ -58,7 +58,8 @@ int __init __deprecated cpg_clk_init(void)
58 58
59 clk_add_alias("tmu_fck", NULL, "peripheral_clk", NULL); 59 clk_add_alias("tmu_fck", NULL, "peripheral_clk", NULL);
60 clk_add_alias("mtu2_fck", NULL, "peripheral_clk", NULL); 60 clk_add_alias("mtu2_fck", NULL, "peripheral_clk", NULL);
61 clk_add_alias("cmt_fck", NULL, "peripheral_clk", NULL); 61 clk_add_alias("fck", "sh-cmt-16.0", "peripheral_clk", NULL);
62 clk_add_alias("fck", "sh-cmt-32.0", "peripheral_clk", NULL);
62 clk_add_alias("sci_ick", NULL, "peripheral_clk", NULL); 63 clk_add_alias("sci_ick", NULL, "peripheral_clk", NULL);
63 64
64 return ret; 65 return ret;
diff --git a/arch/sh/kernel/cpu/sh2/setup-sh7619.c b/arch/sh/kernel/cpu/sh2/setup-sh7619.c
index 3860b0be56c7..58c19adae900 100644
--- a/arch/sh/kernel/cpu/sh2/setup-sh7619.c
+++ b/arch/sh/kernel/cpu/sh2/setup-sh7619.c
@@ -152,62 +152,24 @@ static struct platform_device eth_device = {
152 .resource = eth_resources, 152 .resource = eth_resources,
153}; 153};
154 154
155static struct sh_timer_config cmt0_platform_data = { 155static struct sh_timer_config cmt_platform_data = {
156 .channel_offset = 0x02, 156 .channels_mask = 3,
157 .timer_bit = 0,
158 .clockevent_rating = 125,
159 .clocksource_rating = 0, /* disabled due to code generation issues */
160}; 157};
161 158
162static struct resource cmt0_resources[] = { 159static struct resource cmt_resources[] = {
163 [0] = { 160 DEFINE_RES_MEM(0xf84a0070, 0x10),
164 .start = 0xf84a0072, 161 DEFINE_RES_IRQ(86),
165 .end = 0xf84a0077, 162 DEFINE_RES_IRQ(87),
166 .flags = IORESOURCE_MEM,
167 },
168 [1] = {
169 .start = 86,
170 .flags = IORESOURCE_IRQ,
171 },
172}; 163};
173 164
174static struct platform_device cmt0_device = { 165static struct platform_device cmt_device = {
175 .name = "sh_cmt", 166 .name = "sh-cmt-16",
176 .id = 0, 167 .id = 0,
177 .dev = { 168 .dev = {
178 .platform_data = &cmt0_platform_data, 169 .platform_data = &cmt_platform_data,
179 },
180 .resource = cmt0_resources,
181 .num_resources = ARRAY_SIZE(cmt0_resources),
182};
183
184static struct sh_timer_config cmt1_platform_data = {
185 .channel_offset = 0x08,
186 .timer_bit = 1,
187 .clockevent_rating = 125,
188 .clocksource_rating = 0, /* disabled due to code generation issues */
189};
190
191static struct resource cmt1_resources[] = {
192 [0] = {
193 .start = 0xf84a0078,
194 .end = 0xf84a007d,
195 .flags = IORESOURCE_MEM,
196 },
197 [1] = {
198 .start = 87,
199 .flags = IORESOURCE_IRQ,
200 },
201};
202
203static struct platform_device cmt1_device = {
204 .name = "sh_cmt",
205 .id = 1,
206 .dev = {
207 .platform_data = &cmt1_platform_data,
208 }, 170 },
209 .resource = cmt1_resources, 171 .resource = cmt_resources,
210 .num_resources = ARRAY_SIZE(cmt1_resources), 172 .num_resources = ARRAY_SIZE(cmt_resources),
211}; 173};
212 174
213static struct platform_device *sh7619_devices[] __initdata = { 175static struct platform_device *sh7619_devices[] __initdata = {
@@ -215,8 +177,7 @@ static struct platform_device *sh7619_devices[] __initdata = {
215 &scif1_device, 177 &scif1_device,
216 &scif2_device, 178 &scif2_device,
217 &eth_device, 179 &eth_device,
218 &cmt0_device, 180 &cmt_device,
219 &cmt1_device,
220}; 181};
221 182
222static int __init sh7619_devices_setup(void) 183static int __init sh7619_devices_setup(void)
@@ -235,8 +196,7 @@ static struct platform_device *sh7619_early_devices[] __initdata = {
235 &scif0_device, 196 &scif0_device,
236 &scif1_device, 197 &scif1_device,
237 &scif2_device, 198 &scif2_device,
238 &cmt0_device, 199 &cmt_device,
239 &cmt1_device,
240}; 200};
241 201
242#define STBCR3 0xf80a0000 202#define STBCR3 0xf80a0000
diff --git a/arch/sh/kernel/cpu/sh2a/clock-sh7264.c b/arch/sh/kernel/cpu/sh2a/clock-sh7264.c
index fdf585c95289..c7f3c666a0ac 100644
--- a/arch/sh/kernel/cpu/sh2a/clock-sh7264.c
+++ b/arch/sh/kernel/cpu/sh2a/clock-sh7264.c
@@ -117,7 +117,7 @@ static struct clk_lookup lookups[] = {
117 /* MSTP clocks */ 117 /* MSTP clocks */
118 CLKDEV_CON_ID("sci_ick", &mstp_clks[MSTP77]), 118 CLKDEV_CON_ID("sci_ick", &mstp_clks[MSTP77]),
119 CLKDEV_CON_ID("vdc3", &mstp_clks[MSTP74]), 119 CLKDEV_CON_ID("vdc3", &mstp_clks[MSTP74]),
120 CLKDEV_CON_ID("cmt_fck", &mstp_clks[MSTP72]), 120 CLKDEV_ICK_ID("fck", "sh-cmt-16.0", &mstp_clks[MSTP72]),
121 CLKDEV_CON_ID("usb0", &mstp_clks[MSTP60]), 121 CLKDEV_CON_ID("usb0", &mstp_clks[MSTP60]),
122 CLKDEV_CON_ID("mtu2_fck", &mstp_clks[MSTP35]), 122 CLKDEV_CON_ID("mtu2_fck", &mstp_clks[MSTP35]),
123 CLKDEV_CON_ID("sdhi0", &mstp_clks[MSTP34]), 123 CLKDEV_CON_ID("sdhi0", &mstp_clks[MSTP34]),
diff --git a/arch/sh/kernel/cpu/sh2a/clock-sh7269.c b/arch/sh/kernel/cpu/sh2a/clock-sh7269.c
index 6b787620de99..4f47464f2fb6 100644
--- a/arch/sh/kernel/cpu/sh2a/clock-sh7269.c
+++ b/arch/sh/kernel/cpu/sh2a/clock-sh7269.c
@@ -158,7 +158,7 @@ static struct clk_lookup lookups[] = {
158 CLKDEV_ICK_ID("sci_fck", "sh-sci.5", &mstp_clks[MSTP42]), 158 CLKDEV_ICK_ID("sci_fck", "sh-sci.5", &mstp_clks[MSTP42]),
159 CLKDEV_ICK_ID("sci_fck", "sh-sci.6", &mstp_clks[MSTP41]), 159 CLKDEV_ICK_ID("sci_fck", "sh-sci.6", &mstp_clks[MSTP41]),
160 CLKDEV_ICK_ID("sci_fck", "sh-sci.7", &mstp_clks[MSTP40]), 160 CLKDEV_ICK_ID("sci_fck", "sh-sci.7", &mstp_clks[MSTP40]),
161 CLKDEV_CON_ID("cmt_fck", &mstp_clks[MSTP72]), 161 CLKDEV_ICK_ID("fck", "sh-cmt-16.0", &mstp_clks[MSTP72]),
162 CLKDEV_CON_ID("usb0", &mstp_clks[MSTP60]), 162 CLKDEV_CON_ID("usb0", &mstp_clks[MSTP60]),
163 CLKDEV_CON_ID("mtu2_fck", &mstp_clks[MSTP35]), 163 CLKDEV_CON_ID("mtu2_fck", &mstp_clks[MSTP35]),
164 CLKDEV_CON_ID("adc0", &mstp_clks[MSTP32]), 164 CLKDEV_CON_ID("adc0", &mstp_clks[MSTP32]),
diff --git a/arch/sh/kernel/cpu/sh2a/setup-sh7203.c b/arch/sh/kernel/cpu/sh2a/setup-sh7203.c
index d55a0f30ada3..374f8c09d924 100644
--- a/arch/sh/kernel/cpu/sh2a/setup-sh7203.c
+++ b/arch/sh/kernel/cpu/sh2a/setup-sh7203.c
@@ -265,62 +265,24 @@ static struct platform_device scif3_device = {
265 }, 265 },
266}; 266};
267 267
268static struct sh_timer_config cmt0_platform_data = { 268static struct sh_timer_config cmt_platform_data = {
269 .channel_offset = 0x02, 269 .channels_mask = 3,
270 .timer_bit = 0,
271 .clockevent_rating = 125,
272 .clocksource_rating = 0, /* disabled due to code generation issues */
273}; 270};
274 271
275static struct resource cmt0_resources[] = { 272static struct resource cmt_resources[] = {
276 [0] = { 273 DEFINE_RES_MEM(0xfffec000, 0x10),
277 .start = 0xfffec002, 274 DEFINE_RES_IRQ(142),
278 .end = 0xfffec007, 275 DEFINE_RES_IRQ(143),
279 .flags = IORESOURCE_MEM,
280 },
281 [1] = {
282 .start = 142,
283 .flags = IORESOURCE_IRQ,
284 },
285}; 276};
286 277
287static struct platform_device cmt0_device = { 278static struct platform_device cmt_device = {
288 .name = "sh_cmt", 279 .name = "sh-cmt-16",
289 .id = 0, 280 .id = 0,
290 .dev = { 281 .dev = {
291 .platform_data = &cmt0_platform_data, 282 .platform_data = &cmt_platform_data,
292 },
293 .resource = cmt0_resources,
294 .num_resources = ARRAY_SIZE(cmt0_resources),
295};
296
297static struct sh_timer_config cmt1_platform_data = {
298 .channel_offset = 0x08,
299 .timer_bit = 1,
300 .clockevent_rating = 125,
301 .clocksource_rating = 0, /* disabled due to code generation issues */
302};
303
304static struct resource cmt1_resources[] = {
305 [0] = {
306 .start = 0xfffec008,
307 .end = 0xfffec00d,
308 .flags = IORESOURCE_MEM,
309 },
310 [1] = {
311 .start = 143,
312 .flags = IORESOURCE_IRQ,
313 },
314};
315
316static struct platform_device cmt1_device = {
317 .name = "sh_cmt",
318 .id = 1,
319 .dev = {
320 .platform_data = &cmt1_platform_data,
321 }, 283 },
322 .resource = cmt1_resources, 284 .resource = cmt_resources,
323 .num_resources = ARRAY_SIZE(cmt1_resources), 285 .num_resources = ARRAY_SIZE(cmt_resources),
324}; 286};
325 287
326static struct sh_timer_config mtu2_0_platform_data = { 288static struct sh_timer_config mtu2_0_platform_data = {
@@ -404,8 +366,7 @@ static struct platform_device *sh7203_devices[] __initdata = {
404 &scif1_device, 366 &scif1_device,
405 &scif2_device, 367 &scif2_device,
406 &scif3_device, 368 &scif3_device,
407 &cmt0_device, 369 &cmt_device,
408 &cmt1_device,
409 &mtu2_0_device, 370 &mtu2_0_device,
410 &mtu2_1_device, 371 &mtu2_1_device,
411 &rtc_device, 372 &rtc_device,
@@ -428,8 +389,7 @@ static struct platform_device *sh7203_early_devices[] __initdata = {
428 &scif1_device, 389 &scif1_device,
429 &scif2_device, 390 &scif2_device,
430 &scif3_device, 391 &scif3_device,
431 &cmt0_device, 392 &cmt_device,
432 &cmt1_device,
433 &mtu2_0_device, 393 &mtu2_0_device,
434 &mtu2_1_device, 394 &mtu2_1_device,
435}; 395};
diff --git a/arch/sh/kernel/cpu/sh2a/setup-sh7206.c b/arch/sh/kernel/cpu/sh2a/setup-sh7206.c
index 241e745e3ced..d00e6fd998ec 100644
--- a/arch/sh/kernel/cpu/sh2a/setup-sh7206.c
+++ b/arch/sh/kernel/cpu/sh2a/setup-sh7206.c
@@ -217,62 +217,24 @@ static struct platform_device scif3_device = {
217 }, 217 },
218}; 218};
219 219
220static struct sh_timer_config cmt0_platform_data = { 220static struct sh_timer_config cmt_platform_data = {
221 .channel_offset = 0x02, 221 .channels_mask = 3,
222 .timer_bit = 0,
223 .clockevent_rating = 125,
224 .clocksource_rating = 0, /* disabled due to code generation issues */
225}; 222};
226 223
227static struct resource cmt0_resources[] = { 224static struct resource cmt_resources[] = {
228 [0] = { 225 DEFINE_RES_MEM(0xfffec000, 0x10),
229 .start = 0xfffec002, 226 DEFINE_RES_IRQ(140),
230 .end = 0xfffec007, 227 DEFINE_RES_IRQ(144),
231 .flags = IORESOURCE_MEM,
232 },
233 [1] = {
234 .start = 140,
235 .flags = IORESOURCE_IRQ,
236 },
237}; 228};
238 229
239static struct platform_device cmt0_device = { 230static struct platform_device cmt_device = {
240 .name = "sh_cmt", 231 .name = "sh-cmt-16",
241 .id = 0, 232 .id = 0,
242 .dev = { 233 .dev = {
243 .platform_data = &cmt0_platform_data, 234 .platform_data = &cmt_platform_data,
244 },
245 .resource = cmt0_resources,
246 .num_resources = ARRAY_SIZE(cmt0_resources),
247};
248
249static struct sh_timer_config cmt1_platform_data = {
250 .channel_offset = 0x08,
251 .timer_bit = 1,
252 .clockevent_rating = 125,
253 .clocksource_rating = 0, /* disabled due to code generation issues */
254};
255
256static struct resource cmt1_resources[] = {
257 [0] = {
258 .start = 0xfffec008,
259 .end = 0xfffec00d,
260 .flags = IORESOURCE_MEM,
261 },
262 [1] = {
263 .start = 144,
264 .flags = IORESOURCE_IRQ,
265 },
266};
267
268static struct platform_device cmt1_device = {
269 .name = "sh_cmt",
270 .id = 1,
271 .dev = {
272 .platform_data = &cmt1_platform_data,
273 }, 235 },
274 .resource = cmt1_resources, 236 .resource = cmt_resources,
275 .num_resources = ARRAY_SIZE(cmt1_resources), 237 .num_resources = ARRAY_SIZE(cmt_resources),
276}; 238};
277 239
278static struct sh_timer_config mtu2_0_platform_data = { 240static struct sh_timer_config mtu2_0_platform_data = {
@@ -364,8 +326,7 @@ static struct platform_device *sh7206_devices[] __initdata = {
364 &scif1_device, 326 &scif1_device,
365 &scif2_device, 327 &scif2_device,
366 &scif3_device, 328 &scif3_device,
367 &cmt0_device, 329 &cmt_device,
368 &cmt1_device,
369 &mtu2_0_device, 330 &mtu2_0_device,
370 &mtu2_1_device, 331 &mtu2_1_device,
371 &mtu2_2_device, 332 &mtu2_2_device,
@@ -388,8 +349,7 @@ static struct platform_device *sh7206_early_devices[] __initdata = {
388 &scif1_device, 349 &scif1_device,
389 &scif2_device, 350 &scif2_device,
390 &scif3_device, 351 &scif3_device,
391 &cmt0_device, 352 &cmt_device,
392 &cmt1_device,
393 &mtu2_0_device, 353 &mtu2_0_device,
394 &mtu2_1_device, 354 &mtu2_1_device,
395 &mtu2_2_device, 355 &mtu2_2_device,
diff --git a/arch/sh/kernel/cpu/sh2a/setup-sh7264.c b/arch/sh/kernel/cpu/sh2a/setup-sh7264.c
index ad5b0f429882..e95250e82752 100644
--- a/arch/sh/kernel/cpu/sh2a/setup-sh7264.c
+++ b/arch/sh/kernel/cpu/sh2a/setup-sh7264.c
@@ -433,65 +433,24 @@ static struct platform_device scif7_device = {
433 }, 433 },
434}; 434};
435 435
436static struct sh_timer_config cmt0_platform_data = { 436static struct sh_timer_config cmt_platform_data = {
437 .channel_offset = 0x02, 437 .channels_mask = 3,
438 .timer_bit = 0,
439 .clockevent_rating = 125,
440 .clocksource_rating = 0, /* disabled due to code generation issues */
441}; 438};
442 439
443static struct resource cmt0_resources[] = { 440static struct resource cmt_resources[] = {
444 [0] = { 441 DEFINE_RES_MEM(0xfffec000, 0x10),
445 .name = "CMT0", 442 DEFINE_RES_IRQ(175),
446 .start = 0xfffec002, 443 DEFINE_RES_IRQ(176),
447 .end = 0xfffec007,
448 .flags = IORESOURCE_MEM,
449 },
450 [1] = {
451 .start = 175,
452 .flags = IORESOURCE_IRQ,
453 },
454}; 444};
455 445
456static struct platform_device cmt0_device = { 446static struct platform_device cmt_device = {
457 .name = "sh_cmt", 447 .name = "sh-cmt-16",
458 .id = 0, 448 .id = 0,
459 .dev = { 449 .dev = {
460 .platform_data = &cmt0_platform_data, 450 .platform_data = &cmt_platform_data,
461 },
462 .resource = cmt0_resources,
463 .num_resources = ARRAY_SIZE(cmt0_resources),
464};
465
466static struct sh_timer_config cmt1_platform_data = {
467 .name = "CMT1",
468 .channel_offset = 0x08,
469 .timer_bit = 1,
470 .clockevent_rating = 125,
471 .clocksource_rating = 0, /* disabled due to code generation issues */
472};
473
474static struct resource cmt1_resources[] = {
475 [0] = {
476 .name = "CMT1",
477 .start = 0xfffec008,
478 .end = 0xfffec00d,
479 .flags = IORESOURCE_MEM,
480 },
481 [1] = {
482 .start = 176,
483 .flags = IORESOURCE_IRQ,
484 },
485};
486
487static struct platform_device cmt1_device = {
488 .name = "sh_cmt",
489 .id = 1,
490 .dev = {
491 .platform_data = &cmt1_platform_data,
492 }, 451 },
493 .resource = cmt1_resources, 452 .resource = cmt_resources,
494 .num_resources = ARRAY_SIZE(cmt1_resources), 453 .num_resources = ARRAY_SIZE(cmt_resources),
495}; 454};
496 455
497static struct sh_timer_config mtu2_0_platform_data = { 456static struct sh_timer_config mtu2_0_platform_data = {
@@ -620,8 +579,7 @@ static struct platform_device *sh7264_devices[] __initdata = {
620 &scif5_device, 579 &scif5_device,
621 &scif6_device, 580 &scif6_device,
622 &scif7_device, 581 &scif7_device,
623 &cmt0_device, 582 &cmt_device,
624 &cmt1_device,
625 &mtu2_0_device, 583 &mtu2_0_device,
626 &mtu2_1_device, 584 &mtu2_1_device,
627 &rtc_device, 585 &rtc_device,
@@ -649,8 +607,7 @@ static struct platform_device *sh7264_early_devices[] __initdata = {
649 &scif5_device, 607 &scif5_device,
650 &scif6_device, 608 &scif6_device,
651 &scif7_device, 609 &scif7_device,
652 &cmt0_device, 610 &cmt_device,
653 &cmt1_device,
654 &mtu2_0_device, 611 &mtu2_0_device,
655 &mtu2_1_device, 612 &mtu2_1_device,
656}; 613};
diff --git a/arch/sh/kernel/cpu/sh2a/setup-sh7269.c b/arch/sh/kernel/cpu/sh2a/setup-sh7269.c
index 3995119f65dc..0191e1ae8411 100644
--- a/arch/sh/kernel/cpu/sh2a/setup-sh7269.c
+++ b/arch/sh/kernel/cpu/sh2a/setup-sh7269.c
@@ -455,62 +455,24 @@ static struct platform_device scif7_device = {
455 }, 455 },
456}; 456};
457 457
458static struct sh_timer_config cmt0_platform_data = { 458static struct sh_timer_config cmt_platform_data = {
459 .channel_offset = 0x02, 459 .channels_mask = 3,
460 .timer_bit = 0,
461 .clockevent_rating = 125,
462 .clocksource_rating = 0, /* disabled due to code generation issues */
463}; 460};
464 461
465static struct resource cmt0_resources[] = { 462static struct resource cmt_resources[] = {
466 [0] = { 463 DEFINE_RES_MEM(0xfffec000, 0x10),
467 .start = 0xfffec002, 464 DEFINE_RES_IRQ(188),
468 .end = 0xfffec007, 465 DEFINE_RES_IRQ(189),
469 .flags = IORESOURCE_MEM,
470 },
471 [1] = {
472 .start = 188,
473 .flags = IORESOURCE_IRQ,
474 },
475}; 466};
476 467
477static struct platform_device cmt0_device = { 468static struct platform_device cmt_device = {
478 .name = "sh_cmt", 469 .name = "sh-cmt-16",
479 .id = 0, 470 .id = 0,
480 .dev = { 471 .dev = {
481 .platform_data = &cmt0_platform_data, 472 .platform_data = &cmt_platform_data,
482 },
483 .resource = cmt0_resources,
484 .num_resources = ARRAY_SIZE(cmt0_resources),
485};
486
487static struct sh_timer_config cmt1_platform_data = {
488 .channel_offset = 0x08,
489 .timer_bit = 1,
490 .clockevent_rating = 125,
491 .clocksource_rating = 0, /* disabled due to code generation issues */
492};
493
494static struct resource cmt1_resources[] = {
495 [0] = {
496 .start = 0xfffec008,
497 .end = 0xfffec00d,
498 .flags = IORESOURCE_MEM,
499 },
500 [1] = {
501 .start = 189,
502 .flags = IORESOURCE_IRQ,
503 },
504};
505
506static struct platform_device cmt1_device = {
507 .name = "sh_cmt",
508 .id = 1,
509 .dev = {
510 .platform_data = &cmt1_platform_data,
511 }, 473 },
512 .resource = cmt1_resources, 474 .resource = cmt_resources,
513 .num_resources = ARRAY_SIZE(cmt1_resources), 475 .num_resources = ARRAY_SIZE(cmt_resources),
514}; 476};
515 477
516static struct sh_timer_config mtu2_0_platform_data = { 478static struct sh_timer_config mtu2_0_platform_data = {
@@ -629,8 +591,7 @@ static struct platform_device *sh7269_devices[] __initdata = {
629 &scif5_device, 591 &scif5_device,
630 &scif6_device, 592 &scif6_device,
631 &scif7_device, 593 &scif7_device,
632 &cmt0_device, 594 &cmt_device,
633 &cmt1_device,
634 &mtu2_0_device, 595 &mtu2_0_device,
635 &mtu2_1_device, 596 &mtu2_1_device,
636 &rtc_device, 597 &rtc_device,
@@ -658,8 +619,7 @@ static struct platform_device *sh7269_early_devices[] __initdata = {
658 &scif5_device, 619 &scif5_device,
659 &scif6_device, 620 &scif6_device,
660 &scif7_device, 621 &scif7_device,
661 &cmt0_device, 622 &cmt_device,
662 &cmt1_device,
663 &mtu2_0_device, 623 &mtu2_0_device,
664 &mtu2_1_device, 624 &mtu2_1_device,
665}; 625};
diff --git a/arch/sh/kernel/cpu/sh3/setup-sh7720.c b/arch/sh/kernel/cpu/sh3/setup-sh7720.c
index 1d5729dc0724..a53d21925b94 100644
--- a/arch/sh/kernel/cpu/sh3/setup-sh7720.c
+++ b/arch/sh/kernel/cpu/sh3/setup-sh7720.c
@@ -152,141 +152,23 @@ static struct platform_device usbf_device = {
152 .resource = usbf_resources, 152 .resource = usbf_resources,
153}; 153};
154 154
155static struct sh_timer_config cmt0_platform_data = { 155static struct sh_timer_config cmt_platform_data = {
156 .channel_offset = 0x10, 156 .channels_mask = 0x1f,
157 .timer_bit = 0,
158 .clockevent_rating = 125,
159 .clocksource_rating = 125,
160}; 157};
161 158
162static struct resource cmt0_resources[] = { 159static struct resource cmt_resources[] = {
163 [0] = { 160 DEFINE_RES_MEM(0x044a0000, 0x60),
164 .start = 0x044a0010, 161 DEFINE_RES_IRQ(evt2irq(0xf00)),
165 .end = 0x044a001b,
166 .flags = IORESOURCE_MEM,
167 },
168 [1] = {
169 .start = evt2irq(0xf00),
170 .flags = IORESOURCE_IRQ,
171 },
172}; 162};
173 163
174static struct platform_device cmt0_device = { 164static struct platform_device cmt_device = {
175 .name = "sh_cmt", 165 .name = "sh-cmt-32",
176 .id = 0, 166 .id = 0,
177 .dev = { 167 .dev = {
178 .platform_data = &cmt0_platform_data, 168 .platform_data = &cmt_platform_data,
179 },
180 .resource = cmt0_resources,
181 .num_resources = ARRAY_SIZE(cmt0_resources),
182};
183
184static struct sh_timer_config cmt1_platform_data = {
185 .channel_offset = 0x20,
186 .timer_bit = 1,
187};
188
189static struct resource cmt1_resources[] = {
190 [0] = {
191 .start = 0x044a0020,
192 .end = 0x044a002b,
193 .flags = IORESOURCE_MEM,
194 },
195 [1] = {
196 .start = evt2irq(0xf00),
197 .flags = IORESOURCE_IRQ,
198 },
199};
200
201static struct platform_device cmt1_device = {
202 .name = "sh_cmt",
203 .id = 1,
204 .dev = {
205 .platform_data = &cmt1_platform_data,
206 },
207 .resource = cmt1_resources,
208 .num_resources = ARRAY_SIZE(cmt1_resources),
209};
210
211static struct sh_timer_config cmt2_platform_data = {
212 .channel_offset = 0x30,
213 .timer_bit = 2,
214};
215
216static struct resource cmt2_resources[] = {
217 [0] = {
218 .start = 0x044a0030,
219 .end = 0x044a003b,
220 .flags = IORESOURCE_MEM,
221 },
222 [1] = {
223 .start = evt2irq(0xf00),
224 .flags = IORESOURCE_IRQ,
225 },
226};
227
228static struct platform_device cmt2_device = {
229 .name = "sh_cmt",
230 .id = 2,
231 .dev = {
232 .platform_data = &cmt2_platform_data,
233 },
234 .resource = cmt2_resources,
235 .num_resources = ARRAY_SIZE(cmt2_resources),
236};
237
238static struct sh_timer_config cmt3_platform_data = {
239 .channel_offset = 0x40,
240 .timer_bit = 3,
241};
242
243static struct resource cmt3_resources[] = {
244 [0] = {
245 .start = 0x044a0040,
246 .end = 0x044a004b,
247 .flags = IORESOURCE_MEM,
248 },
249 [1] = {
250 .start = evt2irq(0xf00),
251 .flags = IORESOURCE_IRQ,
252 },
253};
254
255static struct platform_device cmt3_device = {
256 .name = "sh_cmt",
257 .id = 3,
258 .dev = {
259 .platform_data = &cmt3_platform_data,
260 },
261 .resource = cmt3_resources,
262 .num_resources = ARRAY_SIZE(cmt3_resources),
263};
264
265static struct sh_timer_config cmt4_platform_data = {
266 .channel_offset = 0x50,
267 .timer_bit = 4,
268};
269
270static struct resource cmt4_resources[] = {
271 [0] = {
272 .start = 0x044a0050,
273 .end = 0x044a005b,
274 .flags = IORESOURCE_MEM,
275 },
276 [1] = {
277 .start = evt2irq(0xf00),
278 .flags = IORESOURCE_IRQ,
279 },
280};
281
282static struct platform_device cmt4_device = {
283 .name = "sh_cmt",
284 .id = 4,
285 .dev = {
286 .platform_data = &cmt4_platform_data,
287 }, 169 },
288 .resource = cmt4_resources, 170 .resource = cmt_resources,
289 .num_resources = ARRAY_SIZE(cmt4_resources), 171 .num_resources = ARRAY_SIZE(cmt_resources),
290}; 172};
291 173
292static struct sh_timer_config tmu0_platform_data = { 174static struct sh_timer_config tmu0_platform_data = {
@@ -375,11 +257,7 @@ static struct platform_device tmu2_device = {
375static struct platform_device *sh7720_devices[] __initdata = { 257static struct platform_device *sh7720_devices[] __initdata = {
376 &scif0_device, 258 &scif0_device,
377 &scif1_device, 259 &scif1_device,
378 &cmt0_device, 260 &cmt_device,
379 &cmt1_device,
380 &cmt2_device,
381 &cmt3_device,
382 &cmt4_device,
383 &tmu0_device, 261 &tmu0_device,
384 &tmu1_device, 262 &tmu1_device,
385 &tmu2_device, 263 &tmu2_device,
@@ -398,11 +276,7 @@ arch_initcall(sh7720_devices_setup);
398static struct platform_device *sh7720_early_devices[] __initdata = { 276static struct platform_device *sh7720_early_devices[] __initdata = {
399 &scif0_device, 277 &scif0_device,
400 &scif1_device, 278 &scif1_device,
401 &cmt0_device, 279 &cmt_device,
402 &cmt1_device,
403 &cmt2_device,
404 &cmt3_device,
405 &cmt4_device,
406 &tmu0_device, 280 &tmu0_device,
407 &tmu1_device, 281 &tmu1_device,
408 &tmu2_device, 282 &tmu2_device,
diff --git a/arch/sh/kernel/cpu/sh4a/clock-sh7343.c b/arch/sh/kernel/cpu/sh4a/clock-sh7343.c
index 53638e231cd0..9edc06c02dcf 100644
--- a/arch/sh/kernel/cpu/sh4a/clock-sh7343.c
+++ b/arch/sh/kernel/cpu/sh4a/clock-sh7343.c
@@ -227,7 +227,7 @@ static struct clk_lookup lookups[] = {
227 CLKDEV_CON_ID("hudi0", &mstp_clks[MSTP019]), 227 CLKDEV_CON_ID("hudi0", &mstp_clks[MSTP019]),
228 CLKDEV_CON_ID("ubc0", &mstp_clks[MSTP017]), 228 CLKDEV_CON_ID("ubc0", &mstp_clks[MSTP017]),
229 CLKDEV_CON_ID("tmu_fck", &mstp_clks[MSTP015]), 229 CLKDEV_CON_ID("tmu_fck", &mstp_clks[MSTP015]),
230 CLKDEV_CON_ID("cmt_fck", &mstp_clks[MSTP014]), 230 CLKDEV_ICK_ID("fck", "sh-cmt-32.0", &mstp_clks[MSTP014]),
231 CLKDEV_CON_ID("rwdt0", &mstp_clks[MSTP013]), 231 CLKDEV_CON_ID("rwdt0", &mstp_clks[MSTP013]),
232 CLKDEV_CON_ID("mfi0", &mstp_clks[MSTP011]), 232 CLKDEV_CON_ID("mfi0", &mstp_clks[MSTP011]),
233 CLKDEV_CON_ID("flctl0", &mstp_clks[MSTP010]), 233 CLKDEV_CON_ID("flctl0", &mstp_clks[MSTP010]),
diff --git a/arch/sh/kernel/cpu/sh4a/clock-sh7366.c b/arch/sh/kernel/cpu/sh4a/clock-sh7366.c
index 22e485d1990b..955b9add7810 100644
--- a/arch/sh/kernel/cpu/sh4a/clock-sh7366.c
+++ b/arch/sh/kernel/cpu/sh4a/clock-sh7366.c
@@ -225,7 +225,7 @@ static struct clk_lookup lookups[] = {
225 CLKDEV_CON_ID("hudi0", &mstp_clks[MSTP019]), 225 CLKDEV_CON_ID("hudi0", &mstp_clks[MSTP019]),
226 CLKDEV_CON_ID("ubc0", &mstp_clks[MSTP017]), 226 CLKDEV_CON_ID("ubc0", &mstp_clks[MSTP017]),
227 CLKDEV_CON_ID("tmu_fck", &mstp_clks[MSTP015]), 227 CLKDEV_CON_ID("tmu_fck", &mstp_clks[MSTP015]),
228 CLKDEV_CON_ID("cmt_fck", &mstp_clks[MSTP014]), 228 CLKDEV_ICK_ID("fck", "sh-cmt-32.0", &mstp_clks[MSTP014]),
229 CLKDEV_CON_ID("rwdt0", &mstp_clks[MSTP013]), 229 CLKDEV_CON_ID("rwdt0", &mstp_clks[MSTP013]),
230 CLKDEV_CON_ID("mfi0", &mstp_clks[MSTP011]), 230 CLKDEV_CON_ID("mfi0", &mstp_clks[MSTP011]),
231 CLKDEV_CON_ID("flctl0", &mstp_clks[MSTP010]), 231 CLKDEV_CON_ID("flctl0", &mstp_clks[MSTP010]),
diff --git a/arch/sh/kernel/cpu/sh4a/clock-sh7722.c b/arch/sh/kernel/cpu/sh4a/clock-sh7722.c
index c4cb740e4d10..40974934512a 100644
--- a/arch/sh/kernel/cpu/sh4a/clock-sh7722.c
+++ b/arch/sh/kernel/cpu/sh4a/clock-sh7722.c
@@ -207,7 +207,7 @@ static struct clk_lookup lookups[] = {
207 CLKDEV_ICK_ID("tmu_fck", "sh_tmu.1", &mstp_clks[HWBLK_TMU]), 207 CLKDEV_ICK_ID("tmu_fck", "sh_tmu.1", &mstp_clks[HWBLK_TMU]),
208 CLKDEV_ICK_ID("tmu_fck", "sh_tmu.2", &mstp_clks[HWBLK_TMU]), 208 CLKDEV_ICK_ID("tmu_fck", "sh_tmu.2", &mstp_clks[HWBLK_TMU]),
209 209
210 CLKDEV_CON_ID("cmt_fck", &mstp_clks[HWBLK_CMT]), 210 CLKDEV_ICK_ID("fck", "sh-cmt-32.0", &mstp_clks[HWBLK_CMT]),
211 CLKDEV_DEV_ID("sh-wdt.0", &mstp_clks[HWBLK_RWDT]), 211 CLKDEV_DEV_ID("sh-wdt.0", &mstp_clks[HWBLK_RWDT]),
212 CLKDEV_CON_ID("flctl0", &mstp_clks[HWBLK_FLCTL]), 212 CLKDEV_CON_ID("flctl0", &mstp_clks[HWBLK_FLCTL]),
213 213
diff --git a/arch/sh/kernel/cpu/sh4a/clock-sh7723.c b/arch/sh/kernel/cpu/sh4a/clock-sh7723.c
index 37c41c7747a3..da64734b0fd3 100644
--- a/arch/sh/kernel/cpu/sh4a/clock-sh7723.c
+++ b/arch/sh/kernel/cpu/sh4a/clock-sh7723.c
@@ -236,7 +236,7 @@ static struct clk_lookup lookups[] = {
236 CLKDEV_CON_ID("sh0", &mstp_clks[HWBLK_SHYWAY]), 236 CLKDEV_CON_ID("sh0", &mstp_clks[HWBLK_SHYWAY]),
237 CLKDEV_CON_ID("hudi0", &mstp_clks[HWBLK_HUDI]), 237 CLKDEV_CON_ID("hudi0", &mstp_clks[HWBLK_HUDI]),
238 CLKDEV_CON_ID("ubc0", &mstp_clks[HWBLK_UBC]), 238 CLKDEV_CON_ID("ubc0", &mstp_clks[HWBLK_UBC]),
239 CLKDEV_CON_ID("cmt_fck", &mstp_clks[HWBLK_CMT]), 239 CLKDEV_ICK_ID("fck", "sh-cmt-32.0", &mstp_clks[HWBLK_CMT]),
240 CLKDEV_DEV_ID("sh-wdt.0", &mstp_clks[HWBLK_RWDT]), 240 CLKDEV_DEV_ID("sh-wdt.0", &mstp_clks[HWBLK_RWDT]),
241 CLKDEV_DEV_ID("sh-dma-engine.1", &mstp_clks[HWBLK_DMAC1]), 241 CLKDEV_DEV_ID("sh-dma-engine.1", &mstp_clks[HWBLK_DMAC1]),
242 CLKDEV_CON_ID("flctl0", &mstp_clks[HWBLK_FLCTL]), 242 CLKDEV_CON_ID("flctl0", &mstp_clks[HWBLK_FLCTL]),
diff --git a/arch/sh/kernel/cpu/sh4a/clock-sh7724.c b/arch/sh/kernel/cpu/sh4a/clock-sh7724.c
index 0128af3399b7..f917f1926507 100644
--- a/arch/sh/kernel/cpu/sh4a/clock-sh7724.c
+++ b/arch/sh/kernel/cpu/sh4a/clock-sh7724.c
@@ -309,7 +309,7 @@ static struct clk_lookup lookups[] = {
309 CLKDEV_ICK_ID("tmu_fck", "sh_tmu.2", &mstp_clks[HWBLK_TMU0]), 309 CLKDEV_ICK_ID("tmu_fck", "sh_tmu.2", &mstp_clks[HWBLK_TMU0]),
310 CLKDEV_ICK_ID("tmu_fck", "sh_tmu.3", &mstp_clks[HWBLK_TMU1]), 310 CLKDEV_ICK_ID("tmu_fck", "sh_tmu.3", &mstp_clks[HWBLK_TMU1]),
311 311
312 CLKDEV_CON_ID("cmt_fck", &mstp_clks[HWBLK_CMT]), 312 CLKDEV_ICK_ID("fck", "sh-cmt-16.0", &mstp_clks[HWBLK_CMT]),
313 CLKDEV_DEV_ID("sh-wdt.0", &mstp_clks[HWBLK_RWDT]), 313 CLKDEV_DEV_ID("sh-wdt.0", &mstp_clks[HWBLK_RWDT]),
314 CLKDEV_DEV_ID("sh-dma-engine.1", &mstp_clks[HWBLK_DMAC1]), 314 CLKDEV_DEV_ID("sh-dma-engine.1", &mstp_clks[HWBLK_DMAC1]),
315 315
diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7343.c b/arch/sh/kernel/cpu/sh4a/setup-sh7343.c
index 245d19254489..ad96492f290d 100644
--- a/arch/sh/kernel/cpu/sh4a/setup-sh7343.c
+++ b/arch/sh/kernel/cpu/sh4a/setup-sh7343.c
@@ -228,26 +228,16 @@ static struct platform_device jpu_device = {
228}; 228};
229 229
230static struct sh_timer_config cmt_platform_data = { 230static struct sh_timer_config cmt_platform_data = {
231 .channel_offset = 0x60, 231 .channels_mask = 0x20,
232 .timer_bit = 5,
233 .clockevent_rating = 125,
234 .clocksource_rating = 200,
235}; 232};
236 233
237static struct resource cmt_resources[] = { 234static struct resource cmt_resources[] = {
238 [0] = { 235 DEFINE_RES_MEM(0x044a0000, 0x70),
239 .start = 0x044a0060, 236 DEFINE_RES_IRQ(evt2irq(0xf00)),
240 .end = 0x044a006b,
241 .flags = IORESOURCE_MEM,
242 },
243 [1] = {
244 .start = evt2irq(0xf00),
245 .flags = IORESOURCE_IRQ,
246 },
247}; 237};
248 238
249static struct platform_device cmt_device = { 239static struct platform_device cmt_device = {
250 .name = "sh_cmt", 240 .name = "sh-cmt-32",
251 .id = 0, 241 .id = 0,
252 .dev = { 242 .dev = {
253 .platform_data = &cmt_platform_data, 243 .platform_data = &cmt_platform_data,
diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7366.c b/arch/sh/kernel/cpu/sh4a/setup-sh7366.c
index 6f56cbd76b20..4e4985d95e53 100644
--- a/arch/sh/kernel/cpu/sh4a/setup-sh7366.c
+++ b/arch/sh/kernel/cpu/sh4a/setup-sh7366.c
@@ -176,26 +176,16 @@ static struct platform_device veu1_device = {
176}; 176};
177 177
178static struct sh_timer_config cmt_platform_data = { 178static struct sh_timer_config cmt_platform_data = {
179 .channel_offset = 0x60, 179 .channels_mask = 0x20,
180 .timer_bit = 5,
181 .clockevent_rating = 125,
182 .clocksource_rating = 200,
183}; 180};
184 181
185static struct resource cmt_resources[] = { 182static struct resource cmt_resources[] = {
186 [0] = { 183 DEFINE_RES_MEM(0x044a0000, 0x70),
187 .start = 0x044a0060, 184 DEFINE_RES_IRQ(evt2irq(0xf00)),
188 .end = 0x044a006b,
189 .flags = IORESOURCE_MEM,
190 },
191 [1] = {
192 .start = evt2irq(0xf00),
193 .flags = IORESOURCE_IRQ,
194 },
195}; 185};
196 186
197static struct platform_device cmt_device = { 187static struct platform_device cmt_device = {
198 .name = "sh_cmt", 188 .name = "sh-cmt-32",
199 .id = 0, 189 .id = 0,
200 .dev = { 190 .dev = {
201 .platform_data = &cmt_platform_data, 191 .platform_data = &cmt_platform_data,
diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7722.c b/arch/sh/kernel/cpu/sh4a/setup-sh7722.c
index 5a94efc8d4ce..4e3218f288e7 100644
--- a/arch/sh/kernel/cpu/sh4a/setup-sh7722.c
+++ b/arch/sh/kernel/cpu/sh4a/setup-sh7722.c
@@ -413,26 +413,16 @@ static struct platform_device jpu_device = {
413}; 413};
414 414
415static struct sh_timer_config cmt_platform_data = { 415static struct sh_timer_config cmt_platform_data = {
416 .channel_offset = 0x60, 416 .channels_mask = 0x20,
417 .timer_bit = 5,
418 .clockevent_rating = 125,
419 .clocksource_rating = 125,
420}; 417};
421 418
422static struct resource cmt_resources[] = { 419static struct resource cmt_resources[] = {
423 [0] = { 420 DEFINE_RES_MEM(0x044a0000, 0x70),
424 .start = 0x044a0060, 421 DEFINE_RES_IRQ(evt2irq(0xf00)),
425 .end = 0x044a006b,
426 .flags = IORESOURCE_MEM,
427 },
428 [1] = {
429 .start = evt2irq(0xf00),
430 .flags = IORESOURCE_IRQ,
431 },
432}; 422};
433 423
434static struct platform_device cmt_device = { 424static struct platform_device cmt_device = {
435 .name = "sh_cmt", 425 .name = "sh-cmt-32",
436 .id = 0, 426 .id = 0,
437 .dev = { 427 .dev = {
438 .platform_data = &cmt_platform_data, 428 .platform_data = &cmt_platform_data,
diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7723.c b/arch/sh/kernel/cpu/sh4a/setup-sh7723.c
index 3c5eb0993a75..5dfdb8501262 100644
--- a/arch/sh/kernel/cpu/sh4a/setup-sh7723.c
+++ b/arch/sh/kernel/cpu/sh4a/setup-sh7723.c
@@ -245,26 +245,16 @@ static struct platform_device veu1_device = {
245}; 245};
246 246
247static struct sh_timer_config cmt_platform_data = { 247static struct sh_timer_config cmt_platform_data = {
248 .channel_offset = 0x60, 248 .channels_mask = 0x20,
249 .timer_bit = 5,
250 .clockevent_rating = 125,
251 .clocksource_rating = 125,
252}; 249};
253 250
254static struct resource cmt_resources[] = { 251static struct resource cmt_resources[] = {
255 [0] = { 252 DEFINE_RES_MEM(0x044a0000, 0x70),
256 .start = 0x044a0060, 253 DEFINE_RES_IRQ(evt2irq(0xf00)),
257 .end = 0x044a006b,
258 .flags = IORESOURCE_MEM,
259 },
260 [1] = {
261 .start = evt2irq(0xf00),
262 .flags = IORESOURCE_IRQ,
263 },
264}; 254};
265 255
266static struct platform_device cmt_device = { 256static struct platform_device cmt_device = {
267 .name = "sh_cmt", 257 .name = "sh-cmt-32",
268 .id = 0, 258 .id = 0,
269 .dev = { 259 .dev = {
270 .platform_data = &cmt_platform_data, 260 .platform_data = &cmt_platform_data,
diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7724.c b/arch/sh/kernel/cpu/sh4a/setup-sh7724.c
index 60ebbc6842ff..b435f076f292 100644
--- a/arch/sh/kernel/cpu/sh4a/setup-sh7724.c
+++ b/arch/sh/kernel/cpu/sh4a/setup-sh7724.c
@@ -648,26 +648,16 @@ static struct platform_device beu1_device = {
648}; 648};
649 649
650static struct sh_timer_config cmt_platform_data = { 650static struct sh_timer_config cmt_platform_data = {
651 .channel_offset = 0x60, 651 .channels_mask = 0x20,
652 .timer_bit = 5,
653 .clockevent_rating = 125,
654 .clocksource_rating = 200,
655}; 652};
656 653
657static struct resource cmt_resources[] = { 654static struct resource cmt_resources[] = {
658 [0] = { 655 DEFINE_RES_MEM(0x044a0000, 0x70),
659 .start = 0x044a0060, 656 DEFINE_RES_IRQ(evt2irq(0xf00)),
660 .end = 0x044a006b,
661 .flags = IORESOURCE_MEM,
662 },
663 [1] = {
664 .start = evt2irq(0xf00),
665 .flags = IORESOURCE_IRQ,
666 },
667}; 657};
668 658
669static struct platform_device cmt_device = { 659static struct platform_device cmt_device = {
670 .name = "sh_cmt", 660 .name = "sh-cmt-32",
671 .id = 0, 661 .id = 0,
672 .dev = { 662 .dev = {
673 .platform_data = &cmt_platform_data, 663 .platform_data = &cmt_platform_data,