diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-06-02 19:21:41 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-06-02 19:21:41 -0400 |
commit | c67d9ce1668735a22762251e96b3fd31bb289867 (patch) | |
tree | 168fe6316912a5bd684267e9bcc158bb7906b134 /arch/sh | |
parent | 825f4e0271b0de3f7f31d963dcdaa0056fe9b73a (diff) | |
parent | 03a2ec647be0394b2b94b7a6a8af2310ad704c72 (diff) |
Merge tag 'boards-for-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc into next
Pull ARM SoC board support updates from Olof Johansson:
"The bulk of this branch is updates for Renesas Shmobile. They are
still doing some enablement for classic boards first, and then come up
with DT bindings when they've had a chance to learn more about the
hardware. Not necessarily a bad way to go about it, and they're
looking at moving some of the temporary board code resulting from it
to drivers/staging instead to avoid the churn here.
As a result of the shmobile clock cleanups, we end up merging quite a
bit of SH code here as well. We ended up merging it here instead of
in the cleanup branch due to the other board changes depending on it"
* tag 'boards-for-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (130 commits)
ARM: davinci: remove checks for CONFIG_USB_MUSB_PERIPHERAL
ARM: add drivers for Colibri T30 to multi_v7_defconfig
ARM: shmobile: Remove Genmai reference DTS
ARM: shmobile: Let Genmai multiplatform boot with Genmai DTB
ARM: shmobile: Sync Genmai DTS with Genmai reference DTS
ARM: shmobile: genmai-reference: Remove legacy clock support
ARM: shmobile: Remove non-multiplatform Genmai reference support
ARM: configs: enable XHCI mvebu support in multi_v7_defconfig
ARM: OMAP: replace checks for CONFIG_USB_GADGET_OMAP
ARM: OMAP: AM3517EVM: remove check for CONFIG_PANEL_SHARP_LQ043T1DG01
ARM: OMAP: SX1: remove check for CONFIG_SX1_OLD_FLASH
ARM: OMAP: remove some dead code
ARM: OMAP: omap3stalker: remove two Kconfig macros
ARM: tegra: tegra_defconfig updates
ARM: shmobile: r7s72100: use workaround for non DT-clocks
ARM: shmobile: Add forward declaration of struct clk to silence warning
ARM: shmobile: r7s72100: remove SPI DT clocks from legacy clock support
ARM: shmobile: r7s72100: add spi clocks to dtsi
ARM: shmobile: r7s72100: remove I2C DT clocks from legacy clock support
ARM: shmobile: r7s72100: add i2c clocks to dtsi
...
Diffstat (limited to 'arch/sh')
41 files changed, 417 insertions, 3403 deletions
diff --git a/arch/sh/kernel/cpu/clock-cpg.c b/arch/sh/kernel/cpu/clock-cpg.c index f59b1f30d44b..8525a671266f 100644 --- a/arch/sh/kernel/cpu/clock-cpg.c +++ b/arch/sh/kernel/cpu/clock-cpg.c | |||
@@ -56,9 +56,13 @@ int __init __deprecated cpg_clk_init(void) | |||
56 | 56 | ||
57 | clkdev_add_table(lookups, ARRAY_SIZE(lookups)); | 57 | clkdev_add_table(lookups, ARRAY_SIZE(lookups)); |
58 | 58 | ||
59 | clk_add_alias("tmu_fck", NULL, "peripheral_clk", NULL); | 59 | clk_add_alias("fck", "sh-tmu-sh3.0", "peripheral_clk", NULL); |
60 | clk_add_alias("mtu2_fck", NULL, "peripheral_clk", NULL); | 60 | clk_add_alias("fck", "sh-tmu.0", "peripheral_clk", NULL); |
61 | clk_add_alias("cmt_fck", NULL, "peripheral_clk", NULL); | 61 | clk_add_alias("fck", "sh-tmu.1", "peripheral_clk", NULL); |
62 | clk_add_alias("fck", "sh-tmu.2", "peripheral_clk", NULL); | ||
63 | clk_add_alias("fck", "sh-mtu2", "peripheral_clk", NULL); | ||
64 | clk_add_alias("fck", "sh-cmt-16.0", "peripheral_clk", NULL); | ||
65 | clk_add_alias("fck", "sh-cmt-32.0", "peripheral_clk", NULL); | ||
62 | clk_add_alias("sci_ick", NULL, "peripheral_clk", NULL); | 66 | clk_add_alias("sci_ick", NULL, "peripheral_clk", NULL); |
63 | 67 | ||
64 | return ret; | 68 | 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 | ||
155 | static struct sh_timer_config cmt0_platform_data = { | 155 | static 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 | ||
162 | static struct resource cmt0_resources[] = { | 159 | static 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 | ||
174 | static struct platform_device cmt0_device = { | 165 | static 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 | |||
184 | static 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 | |||
191 | static 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 | |||
203 | static 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 | ||
213 | static struct platform_device *sh7619_devices[] __initdata = { | 175 | static 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 | ð_device, | 179 | ð_device, |
218 | &cmt0_device, | 180 | &cmt_device, |
219 | &cmt1_device, | ||
220 | }; | 181 | }; |
221 | 182 | ||
222 | static int __init sh7619_devices_setup(void) | 183 | static 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..8638fba6cd7f 100644 --- a/arch/sh/kernel/cpu/sh2a/clock-sh7264.c +++ b/arch/sh/kernel/cpu/sh2a/clock-sh7264.c | |||
@@ -117,9 +117,9 @@ 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_ICK_ID("fck", "sh-mtu2", &mstp_clks[MSTP35]), |
123 | CLKDEV_CON_ID("sdhi0", &mstp_clks[MSTP34]), | 123 | CLKDEV_CON_ID("sdhi0", &mstp_clks[MSTP34]), |
124 | CLKDEV_CON_ID("sdhi1", &mstp_clks[MSTP33]), | 124 | CLKDEV_CON_ID("sdhi1", &mstp_clks[MSTP33]), |
125 | CLKDEV_CON_ID("adc0", &mstp_clks[MSTP32]), | 125 | CLKDEV_CON_ID("adc0", &mstp_clks[MSTP32]), |
diff --git a/arch/sh/kernel/cpu/sh2a/clock-sh7269.c b/arch/sh/kernel/cpu/sh2a/clock-sh7269.c index 6b787620de99..f8a5c2abdfb3 100644 --- a/arch/sh/kernel/cpu/sh2a/clock-sh7269.c +++ b/arch/sh/kernel/cpu/sh2a/clock-sh7269.c | |||
@@ -158,9 +158,9 @@ 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_ICK_ID("fck", "sh-mtu2", &mstp_clks[MSTP35]), |
164 | CLKDEV_CON_ID("adc0", &mstp_clks[MSTP32]), | 164 | CLKDEV_CON_ID("adc0", &mstp_clks[MSTP32]), |
165 | CLKDEV_CON_ID("rtc0", &mstp_clks[MSTP30]), | 165 | CLKDEV_CON_ID("rtc0", &mstp_clks[MSTP30]), |
166 | }; | 166 | }; |
diff --git a/arch/sh/kernel/cpu/sh2a/setup-mxg.c b/arch/sh/kernel/cpu/sh2a/setup-mxg.c index 63e996f9a7ed..26fcdbd4127a 100644 --- a/arch/sh/kernel/cpu/sh2a/setup-mxg.c +++ b/arch/sh/kernel/cpu/sh2a/setup-mxg.c | |||
@@ -114,88 +114,18 @@ static struct intc_mask_reg mask_registers[] __initdata = { | |||
114 | static DECLARE_INTC_DESC(intc_desc, "mxg", vectors, groups, | 114 | static DECLARE_INTC_DESC(intc_desc, "mxg", vectors, groups, |
115 | mask_registers, prio_registers, NULL); | 115 | mask_registers, prio_registers, NULL); |
116 | 116 | ||
117 | static struct sh_timer_config mtu2_0_platform_data = { | 117 | static struct resource mtu2_resources[] = { |
118 | .channel_offset = -0x80, | 118 | DEFINE_RES_MEM(0xff801000, 0x400), |
119 | .timer_bit = 0, | 119 | DEFINE_RES_IRQ_NAMED(228, "tgi0a"), |
120 | .clockevent_rating = 200, | 120 | DEFINE_RES_IRQ_NAMED(234, "tgi1a"), |
121 | DEFINE_RES_IRQ_NAMED(240, "tgi2a"), | ||
121 | }; | 122 | }; |
122 | 123 | ||
123 | static struct resource mtu2_0_resources[] = { | 124 | static struct platform_device mtu2_device = { |
124 | [0] = { | 125 | .name = "sh-mtu2", |
125 | .start = 0xff801300, | 126 | .id = -1, |
126 | .end = 0xff801326, | 127 | .resource = mtu2_resources, |
127 | .flags = IORESOURCE_MEM, | 128 | .num_resources = ARRAY_SIZE(mtu2_resources), |
128 | }, | ||
129 | [1] = { | ||
130 | .start = 228, | ||
131 | .flags = IORESOURCE_IRQ, | ||
132 | }, | ||
133 | }; | ||
134 | |||
135 | static struct platform_device mtu2_0_device = { | ||
136 | .name = "sh_mtu2", | ||
137 | .id = 0, | ||
138 | .dev = { | ||
139 | .platform_data = &mtu2_0_platform_data, | ||
140 | }, | ||
141 | .resource = mtu2_0_resources, | ||
142 | .num_resources = ARRAY_SIZE(mtu2_0_resources), | ||
143 | }; | ||
144 | |||
145 | static struct sh_timer_config mtu2_1_platform_data = { | ||
146 | .channel_offset = -0x100, | ||
147 | .timer_bit = 1, | ||
148 | .clockevent_rating = 200, | ||
149 | }; | ||
150 | |||
151 | static struct resource mtu2_1_resources[] = { | ||
152 | [0] = { | ||
153 | .start = 0xff801380, | ||
154 | .end = 0xff801390, | ||
155 | .flags = IORESOURCE_MEM, | ||
156 | }, | ||
157 | [1] = { | ||
158 | .start = 234, | ||
159 | .flags = IORESOURCE_IRQ, | ||
160 | }, | ||
161 | }; | ||
162 | |||
163 | static struct platform_device mtu2_1_device = { | ||
164 | .name = "sh_mtu2", | ||
165 | .id = 1, | ||
166 | .dev = { | ||
167 | .platform_data = &mtu2_1_platform_data, | ||
168 | }, | ||
169 | .resource = mtu2_1_resources, | ||
170 | .num_resources = ARRAY_SIZE(mtu2_1_resources), | ||
171 | }; | ||
172 | |||
173 | static struct sh_timer_config mtu2_2_platform_data = { | ||
174 | .channel_offset = 0x80, | ||
175 | .timer_bit = 2, | ||
176 | .clockevent_rating = 200, | ||
177 | }; | ||
178 | |||
179 | static struct resource mtu2_2_resources[] = { | ||
180 | [0] = { | ||
181 | .start = 0xff801000, | ||
182 | .end = 0xff80100a, | ||
183 | .flags = IORESOURCE_MEM, | ||
184 | }, | ||
185 | [1] = { | ||
186 | .start = 240, | ||
187 | .flags = IORESOURCE_IRQ, | ||
188 | }, | ||
189 | }; | ||
190 | |||
191 | static struct platform_device mtu2_2_device = { | ||
192 | .name = "sh_mtu2", | ||
193 | .id = 2, | ||
194 | .dev = { | ||
195 | .platform_data = &mtu2_2_platform_data, | ||
196 | }, | ||
197 | .resource = mtu2_2_resources, | ||
198 | .num_resources = ARRAY_SIZE(mtu2_2_resources), | ||
199 | }; | 129 | }; |
200 | 130 | ||
201 | static struct plat_sci_port scif0_platform_data = { | 131 | static struct plat_sci_port scif0_platform_data = { |
@@ -221,9 +151,7 @@ static struct platform_device scif0_device = { | |||
221 | 151 | ||
222 | static struct platform_device *mxg_devices[] __initdata = { | 152 | static struct platform_device *mxg_devices[] __initdata = { |
223 | &scif0_device, | 153 | &scif0_device, |
224 | &mtu2_0_device, | 154 | &mtu2_device, |
225 | &mtu2_1_device, | ||
226 | &mtu2_2_device, | ||
227 | }; | 155 | }; |
228 | 156 | ||
229 | static int __init mxg_devices_setup(void) | 157 | static int __init mxg_devices_setup(void) |
@@ -240,9 +168,7 @@ void __init plat_irq_setup(void) | |||
240 | 168 | ||
241 | static struct platform_device *mxg_early_devices[] __initdata = { | 169 | static struct platform_device *mxg_early_devices[] __initdata = { |
242 | &scif0_device, | 170 | &scif0_device, |
243 | &mtu2_0_device, | 171 | &mtu2_device, |
244 | &mtu2_1_device, | ||
245 | &mtu2_2_device, | ||
246 | }; | 172 | }; |
247 | 173 | ||
248 | void __init plat_early_device_setup(void) | 174 | void __init plat_early_device_setup(void) |
diff --git a/arch/sh/kernel/cpu/sh2a/setup-sh7201.c b/arch/sh/kernel/cpu/sh2a/setup-sh7201.c index 2c6874461536..abc0ce9fb800 100644 --- a/arch/sh/kernel/cpu/sh2a/setup-sh7201.c +++ b/arch/sh/kernel/cpu/sh2a/setup-sh7201.c | |||
@@ -365,88 +365,18 @@ static struct platform_device rtc_device = { | |||
365 | .resource = rtc_resources, | 365 | .resource = rtc_resources, |
366 | }; | 366 | }; |
367 | 367 | ||
368 | static struct sh_timer_config mtu2_0_platform_data = { | 368 | static struct resource mtu2_resources[] = { |
369 | .channel_offset = -0x80, | 369 | DEFINE_RES_MEM(0xfffe4000, 0x400), |
370 | .timer_bit = 0, | 370 | DEFINE_RES_IRQ_NAMED(108, "tgi0a"), |
371 | .clockevent_rating = 200, | 371 | DEFINE_RES_IRQ_NAMED(116, "tgi1a"), |
372 | DEFINE_RES_IRQ_NAMED(124, "tgi1b"), | ||
372 | }; | 373 | }; |
373 | 374 | ||
374 | static struct resource mtu2_0_resources[] = { | 375 | static struct platform_device mtu2_device = { |
375 | [0] = { | 376 | .name = "sh-mtu2", |
376 | .start = 0xfffe4300, | 377 | .id = -1, |
377 | .end = 0xfffe4326, | 378 | .resource = mtu2_resources, |
378 | .flags = IORESOURCE_MEM, | 379 | .num_resources = ARRAY_SIZE(mtu2_resources), |
379 | }, | ||
380 | [1] = { | ||
381 | .start = 108, | ||
382 | .flags = IORESOURCE_IRQ, | ||
383 | }, | ||
384 | }; | ||
385 | |||
386 | static struct platform_device mtu2_0_device = { | ||
387 | .name = "sh_mtu2", | ||
388 | .id = 0, | ||
389 | .dev = { | ||
390 | .platform_data = &mtu2_0_platform_data, | ||
391 | }, | ||
392 | .resource = mtu2_0_resources, | ||
393 | .num_resources = ARRAY_SIZE(mtu2_0_resources), | ||
394 | }; | ||
395 | |||
396 | static struct sh_timer_config mtu2_1_platform_data = { | ||
397 | .channel_offset = -0x100, | ||
398 | .timer_bit = 1, | ||
399 | .clockevent_rating = 200, | ||
400 | }; | ||
401 | |||
402 | static struct resource mtu2_1_resources[] = { | ||
403 | [0] = { | ||
404 | .start = 0xfffe4380, | ||
405 | .end = 0xfffe4390, | ||
406 | .flags = IORESOURCE_MEM, | ||
407 | }, | ||
408 | [1] = { | ||
409 | .start = 116, | ||
410 | .flags = IORESOURCE_IRQ, | ||
411 | }, | ||
412 | }; | ||
413 | |||
414 | static struct platform_device mtu2_1_device = { | ||
415 | .name = "sh_mtu2", | ||
416 | .id = 1, | ||
417 | .dev = { | ||
418 | .platform_data = &mtu2_1_platform_data, | ||
419 | }, | ||
420 | .resource = mtu2_1_resources, | ||
421 | .num_resources = ARRAY_SIZE(mtu2_1_resources), | ||
422 | }; | ||
423 | |||
424 | static struct sh_timer_config mtu2_2_platform_data = { | ||
425 | .channel_offset = 0x80, | ||
426 | .timer_bit = 2, | ||
427 | .clockevent_rating = 200, | ||
428 | }; | ||
429 | |||
430 | static struct resource mtu2_2_resources[] = { | ||
431 | [0] = { | ||
432 | .start = 0xfffe4000, | ||
433 | .end = 0xfffe400a, | ||
434 | .flags = IORESOURCE_MEM, | ||
435 | }, | ||
436 | [1] = { | ||
437 | .start = 124, | ||
438 | .flags = IORESOURCE_IRQ, | ||
439 | }, | ||
440 | }; | ||
441 | |||
442 | static struct platform_device mtu2_2_device = { | ||
443 | .name = "sh_mtu2", | ||
444 | .id = 2, | ||
445 | .dev = { | ||
446 | .platform_data = &mtu2_2_platform_data, | ||
447 | }, | ||
448 | .resource = mtu2_2_resources, | ||
449 | .num_resources = ARRAY_SIZE(mtu2_2_resources), | ||
450 | }; | 380 | }; |
451 | 381 | ||
452 | static struct platform_device *sh7201_devices[] __initdata = { | 382 | static struct platform_device *sh7201_devices[] __initdata = { |
@@ -459,9 +389,7 @@ static struct platform_device *sh7201_devices[] __initdata = { | |||
459 | &scif6_device, | 389 | &scif6_device, |
460 | &scif7_device, | 390 | &scif7_device, |
461 | &rtc_device, | 391 | &rtc_device, |
462 | &mtu2_0_device, | 392 | &mtu2_device, |
463 | &mtu2_1_device, | ||
464 | &mtu2_2_device, | ||
465 | }; | 393 | }; |
466 | 394 | ||
467 | static int __init sh7201_devices_setup(void) | 395 | static int __init sh7201_devices_setup(void) |
@@ -485,9 +413,7 @@ static struct platform_device *sh7201_early_devices[] __initdata = { | |||
485 | &scif5_device, | 413 | &scif5_device, |
486 | &scif6_device, | 414 | &scif6_device, |
487 | &scif7_device, | 415 | &scif7_device, |
488 | &mtu2_0_device, | 416 | &mtu2_device, |
489 | &mtu2_1_device, | ||
490 | &mtu2_2_device, | ||
491 | }; | 417 | }; |
492 | 418 | ||
493 | #define STBCR3 0xfffe0408 | 419 | #define STBCR3 0xfffe0408 |
diff --git a/arch/sh/kernel/cpu/sh2a/setup-sh7203.c b/arch/sh/kernel/cpu/sh2a/setup-sh7203.c index d55a0f30ada3..3b4894cba92f 100644 --- a/arch/sh/kernel/cpu/sh2a/setup-sh7203.c +++ b/arch/sh/kernel/cpu/sh2a/setup-sh7203.c | |||
@@ -265,118 +265,37 @@ static struct platform_device scif3_device = { | |||
265 | }, | 265 | }, |
266 | }; | 266 | }; |
267 | 267 | ||
268 | static struct sh_timer_config cmt0_platform_data = { | 268 | static 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 | ||
275 | static struct resource cmt0_resources[] = { | 272 | static 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 | }; | ||
286 | |||
287 | static struct platform_device cmt0_device = { | ||
288 | .name = "sh_cmt", | ||
289 | .id = 0, | ||
290 | .dev = { | ||
291 | .platform_data = &cmt0_platform_data, | ||
292 | }, | ||
293 | .resource = cmt0_resources, | ||
294 | .num_resources = ARRAY_SIZE(cmt0_resources), | ||
295 | }; | ||
296 | |||
297 | static 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 | |||
304 | static 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 | |||
316 | static struct platform_device cmt1_device = { | ||
317 | .name = "sh_cmt", | ||
318 | .id = 1, | ||
319 | .dev = { | ||
320 | .platform_data = &cmt1_platform_data, | ||
321 | }, | ||
322 | .resource = cmt1_resources, | ||
323 | .num_resources = ARRAY_SIZE(cmt1_resources), | ||
324 | }; | ||
325 | |||
326 | static struct sh_timer_config mtu2_0_platform_data = { | ||
327 | .channel_offset = -0x80, | ||
328 | .timer_bit = 0, | ||
329 | .clockevent_rating = 200, | ||
330 | }; | ||
331 | |||
332 | static struct resource mtu2_0_resources[] = { | ||
333 | [0] = { | ||
334 | .start = 0xfffe4300, | ||
335 | .end = 0xfffe4326, | ||
336 | .flags = IORESOURCE_MEM, | ||
337 | }, | ||
338 | [1] = { | ||
339 | .start = 146, | ||
340 | .flags = IORESOURCE_IRQ, | ||
341 | }, | ||
342 | }; | 276 | }; |
343 | 277 | ||
344 | static struct platform_device mtu2_0_device = { | 278 | static struct platform_device cmt_device = { |
345 | .name = "sh_mtu2", | 279 | .name = "sh-cmt-16", |
346 | .id = 0, | 280 | .id = 0, |
347 | .dev = { | 281 | .dev = { |
348 | .platform_data = &mtu2_0_platform_data, | 282 | .platform_data = &cmt_platform_data, |
349 | }, | 283 | }, |
350 | .resource = mtu2_0_resources, | 284 | .resource = cmt_resources, |
351 | .num_resources = ARRAY_SIZE(mtu2_0_resources), | 285 | .num_resources = ARRAY_SIZE(cmt_resources), |
352 | }; | 286 | }; |
353 | 287 | ||
354 | static struct sh_timer_config mtu2_1_platform_data = { | 288 | static struct resource mtu2_resources[] = { |
355 | .channel_offset = -0x100, | 289 | DEFINE_RES_MEM(0xfffe4000, 0x400), |
356 | .timer_bit = 1, | 290 | DEFINE_RES_IRQ_NAMED(146, "tgi0a"), |
357 | .clockevent_rating = 200, | 291 | DEFINE_RES_IRQ_NAMED(153, "tgi1a"), |
358 | }; | 292 | }; |
359 | 293 | ||
360 | static struct resource mtu2_1_resources[] = { | 294 | static struct platform_device mtu2_device = { |
361 | [0] = { | 295 | .name = "sh-mtu2", |
362 | .start = 0xfffe4380, | 296 | .id = -1, |
363 | .end = 0xfffe4390, | 297 | .resource = mtu2_resources, |
364 | .flags = IORESOURCE_MEM, | 298 | .num_resources = ARRAY_SIZE(mtu2_resources), |
365 | }, | ||
366 | [1] = { | ||
367 | .start = 153, | ||
368 | .flags = IORESOURCE_IRQ, | ||
369 | }, | ||
370 | }; | ||
371 | |||
372 | static struct platform_device mtu2_1_device = { | ||
373 | .name = "sh_mtu2", | ||
374 | .id = 1, | ||
375 | .dev = { | ||
376 | .platform_data = &mtu2_1_platform_data, | ||
377 | }, | ||
378 | .resource = mtu2_1_resources, | ||
379 | .num_resources = ARRAY_SIZE(mtu2_1_resources), | ||
380 | }; | 299 | }; |
381 | 300 | ||
382 | static struct resource rtc_resources[] = { | 301 | static struct resource rtc_resources[] = { |
@@ -404,10 +323,8 @@ static struct platform_device *sh7203_devices[] __initdata = { | |||
404 | &scif1_device, | 323 | &scif1_device, |
405 | &scif2_device, | 324 | &scif2_device, |
406 | &scif3_device, | 325 | &scif3_device, |
407 | &cmt0_device, | 326 | &cmt_device, |
408 | &cmt1_device, | 327 | &mtu2_device, |
409 | &mtu2_0_device, | ||
410 | &mtu2_1_device, | ||
411 | &rtc_device, | 328 | &rtc_device, |
412 | }; | 329 | }; |
413 | 330 | ||
@@ -428,10 +345,8 @@ static struct platform_device *sh7203_early_devices[] __initdata = { | |||
428 | &scif1_device, | 345 | &scif1_device, |
429 | &scif2_device, | 346 | &scif2_device, |
430 | &scif3_device, | 347 | &scif3_device, |
431 | &cmt0_device, | 348 | &cmt_device, |
432 | &cmt1_device, | 349 | &mtu2_device, |
433 | &mtu2_0_device, | ||
434 | &mtu2_1_device, | ||
435 | }; | 350 | }; |
436 | 351 | ||
437 | #define STBCR3 0xfffe0408 | 352 | #define STBCR3 0xfffe0408 |
diff --git a/arch/sh/kernel/cpu/sh2a/setup-sh7206.c b/arch/sh/kernel/cpu/sh2a/setup-sh7206.c index 241e745e3ced..49bc5a34bec1 100644 --- a/arch/sh/kernel/cpu/sh2a/setup-sh7206.c +++ b/arch/sh/kernel/cpu/sh2a/setup-sh7206.c | |||
@@ -217,146 +217,38 @@ static struct platform_device scif3_device = { | |||
217 | }, | 217 | }, |
218 | }; | 218 | }; |
219 | 219 | ||
220 | static struct sh_timer_config cmt0_platform_data = { | 220 | static 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 | ||
227 | static struct resource cmt0_resources[] = { | 224 | static 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 | }; | ||
238 | |||
239 | static struct platform_device cmt0_device = { | ||
240 | .name = "sh_cmt", | ||
241 | .id = 0, | ||
242 | .dev = { | ||
243 | .platform_data = &cmt0_platform_data, | ||
244 | }, | ||
245 | .resource = cmt0_resources, | ||
246 | .num_resources = ARRAY_SIZE(cmt0_resources), | ||
247 | }; | ||
248 | |||
249 | static 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 | |||
256 | static 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 | |||
268 | static struct platform_device cmt1_device = { | ||
269 | .name = "sh_cmt", | ||
270 | .id = 1, | ||
271 | .dev = { | ||
272 | .platform_data = &cmt1_platform_data, | ||
273 | }, | ||
274 | .resource = cmt1_resources, | ||
275 | .num_resources = ARRAY_SIZE(cmt1_resources), | ||
276 | }; | ||
277 | |||
278 | static struct sh_timer_config mtu2_0_platform_data = { | ||
279 | .channel_offset = -0x80, | ||
280 | .timer_bit = 0, | ||
281 | .clockevent_rating = 200, | ||
282 | }; | ||
283 | |||
284 | static struct resource mtu2_0_resources[] = { | ||
285 | [0] = { | ||
286 | .start = 0xfffe4300, | ||
287 | .end = 0xfffe4326, | ||
288 | .flags = IORESOURCE_MEM, | ||
289 | }, | ||
290 | [1] = { | ||
291 | .start = 156, | ||
292 | .flags = IORESOURCE_IRQ, | ||
293 | }, | ||
294 | }; | 228 | }; |
295 | 229 | ||
296 | static struct platform_device mtu2_0_device = { | 230 | static struct platform_device cmt_device = { |
297 | .name = "sh_mtu2", | 231 | .name = "sh-cmt-16", |
298 | .id = 0, | 232 | .id = 0, |
299 | .dev = { | 233 | .dev = { |
300 | .platform_data = &mtu2_0_platform_data, | 234 | .platform_data = &cmt_platform_data, |
301 | }, | 235 | }, |
302 | .resource = mtu2_0_resources, | 236 | .resource = cmt_resources, |
303 | .num_resources = ARRAY_SIZE(mtu2_0_resources), | 237 | .num_resources = ARRAY_SIZE(cmt_resources), |
304 | }; | 238 | }; |
305 | 239 | ||
306 | static struct sh_timer_config mtu2_1_platform_data = { | 240 | static struct resource mtu2_resources[] = { |
307 | .channel_offset = -0x100, | 241 | DEFINE_RES_MEM(0xfffe4000, 0x400), |
308 | .timer_bit = 1, | 242 | DEFINE_RES_IRQ_NAMED(156, "tgi0a"), |
309 | .clockevent_rating = 200, | 243 | DEFINE_RES_IRQ_NAMED(164, "tgi1a"), |
244 | DEFINE_RES_IRQ_NAMED(180, "tgi2a"), | ||
310 | }; | 245 | }; |
311 | 246 | ||
312 | static struct resource mtu2_1_resources[] = { | 247 | static struct platform_device mtu2_device = { |
313 | [0] = { | 248 | .name = "sh-mtu2s", |
314 | .start = 0xfffe4380, | 249 | .id = -1, |
315 | .end = 0xfffe4390, | 250 | .resource = mtu2_resources, |
316 | .flags = IORESOURCE_MEM, | 251 | .num_resources = ARRAY_SIZE(mtu2_resources), |
317 | }, | ||
318 | [1] = { | ||
319 | .start = 164, | ||
320 | .flags = IORESOURCE_IRQ, | ||
321 | }, | ||
322 | }; | ||
323 | |||
324 | static struct platform_device mtu2_1_device = { | ||
325 | .name = "sh_mtu2", | ||
326 | .id = 1, | ||
327 | .dev = { | ||
328 | .platform_data = &mtu2_1_platform_data, | ||
329 | }, | ||
330 | .resource = mtu2_1_resources, | ||
331 | .num_resources = ARRAY_SIZE(mtu2_1_resources), | ||
332 | }; | ||
333 | |||
334 | static struct sh_timer_config mtu2_2_platform_data = { | ||
335 | .channel_offset = 0x80, | ||
336 | .timer_bit = 2, | ||
337 | .clockevent_rating = 200, | ||
338 | }; | ||
339 | |||
340 | static struct resource mtu2_2_resources[] = { | ||
341 | [0] = { | ||
342 | .start = 0xfffe4000, | ||
343 | .end = 0xfffe400a, | ||
344 | .flags = IORESOURCE_MEM, | ||
345 | }, | ||
346 | [1] = { | ||
347 | .start = 180, | ||
348 | .flags = IORESOURCE_IRQ, | ||
349 | }, | ||
350 | }; | ||
351 | |||
352 | static struct platform_device mtu2_2_device = { | ||
353 | .name = "sh_mtu2", | ||
354 | .id = 2, | ||
355 | .dev = { | ||
356 | .platform_data = &mtu2_2_platform_data, | ||
357 | }, | ||
358 | .resource = mtu2_2_resources, | ||
359 | .num_resources = ARRAY_SIZE(mtu2_2_resources), | ||
360 | }; | 252 | }; |
361 | 253 | ||
362 | static struct platform_device *sh7206_devices[] __initdata = { | 254 | static struct platform_device *sh7206_devices[] __initdata = { |
@@ -364,11 +256,8 @@ static struct platform_device *sh7206_devices[] __initdata = { | |||
364 | &scif1_device, | 256 | &scif1_device, |
365 | &scif2_device, | 257 | &scif2_device, |
366 | &scif3_device, | 258 | &scif3_device, |
367 | &cmt0_device, | 259 | &cmt_device, |
368 | &cmt1_device, | 260 | &mtu2_device, |
369 | &mtu2_0_device, | ||
370 | &mtu2_1_device, | ||
371 | &mtu2_2_device, | ||
372 | }; | 261 | }; |
373 | 262 | ||
374 | static int __init sh7206_devices_setup(void) | 263 | static int __init sh7206_devices_setup(void) |
@@ -388,11 +277,8 @@ static struct platform_device *sh7206_early_devices[] __initdata = { | |||
388 | &scif1_device, | 277 | &scif1_device, |
389 | &scif2_device, | 278 | &scif2_device, |
390 | &scif3_device, | 279 | &scif3_device, |
391 | &cmt0_device, | 280 | &cmt_device, |
392 | &cmt1_device, | 281 | &mtu2_device, |
393 | &mtu2_0_device, | ||
394 | &mtu2_1_device, | ||
395 | &mtu2_2_device, | ||
396 | }; | 282 | }; |
397 | 283 | ||
398 | #define STBCR3 0xfffe0408 | 284 | #define STBCR3 0xfffe0408 |
diff --git a/arch/sh/kernel/cpu/sh2a/setup-sh7264.c b/arch/sh/kernel/cpu/sh2a/setup-sh7264.c index ad5b0f429882..608146455562 100644 --- a/arch/sh/kernel/cpu/sh2a/setup-sh7264.c +++ b/arch/sh/kernel/cpu/sh2a/setup-sh7264.c | |||
@@ -433,125 +433,37 @@ static struct platform_device scif7_device = { | |||
433 | }, | 433 | }, |
434 | }; | 434 | }; |
435 | 435 | ||
436 | static struct sh_timer_config cmt0_platform_data = { | 436 | static 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 | ||
443 | static struct resource cmt0_resources[] = { | 440 | static 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 | }; | ||
455 | |||
456 | static struct platform_device cmt0_device = { | ||
457 | .name = "sh_cmt", | ||
458 | .id = 0, | ||
459 | .dev = { | ||
460 | .platform_data = &cmt0_platform_data, | ||
461 | }, | ||
462 | .resource = cmt0_resources, | ||
463 | .num_resources = ARRAY_SIZE(cmt0_resources), | ||
464 | }; | ||
465 | |||
466 | static 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 | |||
474 | static 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 | |||
487 | static struct platform_device cmt1_device = { | ||
488 | .name = "sh_cmt", | ||
489 | .id = 1, | ||
490 | .dev = { | ||
491 | .platform_data = &cmt1_platform_data, | ||
492 | }, | ||
493 | .resource = cmt1_resources, | ||
494 | .num_resources = ARRAY_SIZE(cmt1_resources), | ||
495 | }; | ||
496 | |||
497 | static struct sh_timer_config mtu2_0_platform_data = { | ||
498 | .name = "MTU2_0", | ||
499 | .channel_offset = -0x80, | ||
500 | .timer_bit = 0, | ||
501 | .clockevent_rating = 200, | ||
502 | }; | ||
503 | |||
504 | static struct resource mtu2_0_resources[] = { | ||
505 | [0] = { | ||
506 | .name = "MTU2_0", | ||
507 | .start = 0xfffe4300, | ||
508 | .end = 0xfffe4326, | ||
509 | .flags = IORESOURCE_MEM, | ||
510 | }, | ||
511 | [1] = { | ||
512 | .start = 179, | ||
513 | .flags = IORESOURCE_IRQ, | ||
514 | }, | ||
515 | }; | 444 | }; |
516 | 445 | ||
517 | static struct platform_device mtu2_0_device = { | 446 | static struct platform_device cmt_device = { |
518 | .name = "sh_mtu2", | 447 | .name = "sh-cmt-16", |
519 | .id = 0, | 448 | .id = 0, |
520 | .dev = { | 449 | .dev = { |
521 | .platform_data = &mtu2_0_platform_data, | 450 | .platform_data = &cmt_platform_data, |
522 | }, | 451 | }, |
523 | .resource = mtu2_0_resources, | 452 | .resource = cmt_resources, |
524 | .num_resources = ARRAY_SIZE(mtu2_0_resources), | 453 | .num_resources = ARRAY_SIZE(cmt_resources), |
525 | }; | 454 | }; |
526 | 455 | ||
527 | static struct sh_timer_config mtu2_1_platform_data = { | 456 | static struct resource mtu2_resources[] = { |
528 | .name = "MTU2_1", | 457 | DEFINE_RES_MEM(0xfffe4000, 0x400), |
529 | .channel_offset = -0x100, | 458 | DEFINE_RES_IRQ_NAMED(179, "tgi0a"), |
530 | .timer_bit = 1, | 459 | DEFINE_RES_IRQ_NAMED(186, "tgi1a"), |
531 | .clockevent_rating = 200, | ||
532 | }; | 460 | }; |
533 | 461 | ||
534 | static struct resource mtu2_1_resources[] = { | 462 | static struct platform_device mtu2_device = { |
535 | [0] = { | 463 | .name = "sh-mtu2", |
536 | .name = "MTU2_1", | 464 | .id = -1, |
537 | .start = 0xfffe4380, | 465 | .resource = mtu2_resources, |
538 | .end = 0xfffe4390, | 466 | .num_resources = ARRAY_SIZE(mtu2_resources), |
539 | .flags = IORESOURCE_MEM, | ||
540 | }, | ||
541 | [1] = { | ||
542 | .start = 186, | ||
543 | .flags = IORESOURCE_IRQ, | ||
544 | }, | ||
545 | }; | ||
546 | |||
547 | static struct platform_device mtu2_1_device = { | ||
548 | .name = "sh_mtu2", | ||
549 | .id = 1, | ||
550 | .dev = { | ||
551 | .platform_data = &mtu2_1_platform_data, | ||
552 | }, | ||
553 | .resource = mtu2_1_resources, | ||
554 | .num_resources = ARRAY_SIZE(mtu2_1_resources), | ||
555 | }; | 467 | }; |
556 | 468 | ||
557 | static struct resource rtc_resources[] = { | 469 | static struct resource rtc_resources[] = { |
@@ -620,10 +532,8 @@ static struct platform_device *sh7264_devices[] __initdata = { | |||
620 | &scif5_device, | 532 | &scif5_device, |
621 | &scif6_device, | 533 | &scif6_device, |
622 | &scif7_device, | 534 | &scif7_device, |
623 | &cmt0_device, | 535 | &cmt_device, |
624 | &cmt1_device, | 536 | &mtu2_device, |
625 | &mtu2_0_device, | ||
626 | &mtu2_1_device, | ||
627 | &rtc_device, | 537 | &rtc_device, |
628 | &r8a66597_usb_host_device, | 538 | &r8a66597_usb_host_device, |
629 | }; | 539 | }; |
@@ -649,10 +559,8 @@ static struct platform_device *sh7264_early_devices[] __initdata = { | |||
649 | &scif5_device, | 559 | &scif5_device, |
650 | &scif6_device, | 560 | &scif6_device, |
651 | &scif7_device, | 561 | &scif7_device, |
652 | &cmt0_device, | 562 | &cmt_device, |
653 | &cmt1_device, | 563 | &mtu2_device, |
654 | &mtu2_0_device, | ||
655 | &mtu2_1_device, | ||
656 | }; | 564 | }; |
657 | 565 | ||
658 | void __init plat_early_device_setup(void) | 566 | void __init plat_early_device_setup(void) |
diff --git a/arch/sh/kernel/cpu/sh2a/setup-sh7269.c b/arch/sh/kernel/cpu/sh2a/setup-sh7269.c index 3995119f65dc..16ce5aa77bdd 100644 --- a/arch/sh/kernel/cpu/sh2a/setup-sh7269.c +++ b/arch/sh/kernel/cpu/sh2a/setup-sh7269.c | |||
@@ -455,118 +455,37 @@ static struct platform_device scif7_device = { | |||
455 | }, | 455 | }, |
456 | }; | 456 | }; |
457 | 457 | ||
458 | static struct sh_timer_config cmt0_platform_data = { | 458 | static 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 | ||
465 | static struct resource cmt0_resources[] = { | 462 | static 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 | }; | ||
476 | |||
477 | static struct platform_device cmt0_device = { | ||
478 | .name = "sh_cmt", | ||
479 | .id = 0, | ||
480 | .dev = { | ||
481 | .platform_data = &cmt0_platform_data, | ||
482 | }, | ||
483 | .resource = cmt0_resources, | ||
484 | .num_resources = ARRAY_SIZE(cmt0_resources), | ||
485 | }; | ||
486 | |||
487 | static 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 | |||
494 | static 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 | |||
506 | static struct platform_device cmt1_device = { | ||
507 | .name = "sh_cmt", | ||
508 | .id = 1, | ||
509 | .dev = { | ||
510 | .platform_data = &cmt1_platform_data, | ||
511 | }, | ||
512 | .resource = cmt1_resources, | ||
513 | .num_resources = ARRAY_SIZE(cmt1_resources), | ||
514 | }; | ||
515 | |||
516 | static struct sh_timer_config mtu2_0_platform_data = { | ||
517 | .channel_offset = -0x80, | ||
518 | .timer_bit = 0, | ||
519 | .clockevent_rating = 200, | ||
520 | }; | ||
521 | |||
522 | static struct resource mtu2_0_resources[] = { | ||
523 | [0] = { | ||
524 | .start = 0xfffe4300, | ||
525 | .end = 0xfffe4326, | ||
526 | .flags = IORESOURCE_MEM, | ||
527 | }, | ||
528 | [1] = { | ||
529 | .start = 192, | ||
530 | .flags = IORESOURCE_IRQ, | ||
531 | }, | ||
532 | }; | 466 | }; |
533 | 467 | ||
534 | static struct platform_device mtu2_0_device = { | 468 | static struct platform_device cmt_device = { |
535 | .name = "sh_mtu2", | 469 | .name = "sh-cmt-16", |
536 | .id = 0, | 470 | .id = 0, |
537 | .dev = { | 471 | .dev = { |
538 | .platform_data = &mtu2_0_platform_data, | 472 | .platform_data = &cmt_platform_data, |
539 | }, | 473 | }, |
540 | .resource = mtu2_0_resources, | 474 | .resource = cmt_resources, |
541 | .num_resources = ARRAY_SIZE(mtu2_0_resources), | 475 | .num_resources = ARRAY_SIZE(cmt_resources), |
542 | }; | 476 | }; |
543 | 477 | ||
544 | static struct sh_timer_config mtu2_1_platform_data = { | 478 | static struct resource mtu2_resources[] = { |
545 | .channel_offset = -0x100, | 479 | DEFINE_RES_MEM(0xfffe4000, 0x400), |
546 | .timer_bit = 1, | 480 | DEFINE_RES_IRQ_NAMED(192, "tgi0a"), |
547 | .clockevent_rating = 200, | 481 | DEFINE_RES_IRQ_NAMED(203, "tgi1a"), |
548 | }; | 482 | }; |
549 | 483 | ||
550 | static struct resource mtu2_1_resources[] = { | 484 | static struct platform_device mtu2_device = { |
551 | [0] = { | 485 | .name = "sh-mtu2", |
552 | .start = 0xfffe4380, | 486 | .id = -1, |
553 | .end = 0xfffe4390, | 487 | .resource = mtu2_resources, |
554 | .flags = IORESOURCE_MEM, | 488 | .num_resources = ARRAY_SIZE(mtu2_resources), |
555 | }, | ||
556 | [1] = { | ||
557 | .start = 203, | ||
558 | .flags = IORESOURCE_IRQ, | ||
559 | }, | ||
560 | }; | ||
561 | |||
562 | static struct platform_device mtu2_1_device = { | ||
563 | .name = "sh_mtu2", | ||
564 | .id = 1, | ||
565 | .dev = { | ||
566 | .platform_data = &mtu2_1_platform_data, | ||
567 | }, | ||
568 | .resource = mtu2_1_resources, | ||
569 | .num_resources = ARRAY_SIZE(mtu2_1_resources), | ||
570 | }; | 489 | }; |
571 | 490 | ||
572 | static struct resource rtc_resources[] = { | 491 | static struct resource rtc_resources[] = { |
@@ -629,10 +548,8 @@ static struct platform_device *sh7269_devices[] __initdata = { | |||
629 | &scif5_device, | 548 | &scif5_device, |
630 | &scif6_device, | 549 | &scif6_device, |
631 | &scif7_device, | 550 | &scif7_device, |
632 | &cmt0_device, | 551 | &cmt_device, |
633 | &cmt1_device, | 552 | &mtu2_device, |
634 | &mtu2_0_device, | ||
635 | &mtu2_1_device, | ||
636 | &rtc_device, | 553 | &rtc_device, |
637 | &r8a66597_usb_host_device, | 554 | &r8a66597_usb_host_device, |
638 | }; | 555 | }; |
@@ -658,10 +575,8 @@ static struct platform_device *sh7269_early_devices[] __initdata = { | |||
658 | &scif5_device, | 575 | &scif5_device, |
659 | &scif6_device, | 576 | &scif6_device, |
660 | &scif7_device, | 577 | &scif7_device, |
661 | &cmt0_device, | 578 | &cmt_device, |
662 | &cmt1_device, | 579 | &mtu2_device, |
663 | &mtu2_0_device, | ||
664 | &mtu2_1_device, | ||
665 | }; | 580 | }; |
666 | 581 | ||
667 | void __init plat_early_device_setup(void) | 582 | void __init plat_early_device_setup(void) |
diff --git a/arch/sh/kernel/cpu/sh3/setup-sh7705.c b/arch/sh/kernel/cpu/sh3/setup-sh7705.c index c76b2543b85f..6a72fd14de21 100644 --- a/arch/sh/kernel/cpu/sh3/setup-sh7705.c +++ b/arch/sh/kernel/cpu/sh3/setup-sh7705.c | |||
@@ -143,25 +143,18 @@ static struct platform_device rtc_device = { | |||
143 | }; | 143 | }; |
144 | 144 | ||
145 | static struct sh_timer_config tmu0_platform_data = { | 145 | static struct sh_timer_config tmu0_platform_data = { |
146 | .channel_offset = 0x02, | 146 | .channels_mask = 7, |
147 | .timer_bit = 0, | ||
148 | .clockevent_rating = 200, | ||
149 | }; | 147 | }; |
150 | 148 | ||
151 | static struct resource tmu0_resources[] = { | 149 | static struct resource tmu0_resources[] = { |
152 | [0] = { | 150 | DEFINE_RES_MEM(0xfffffe90, 0x2c), |
153 | .start = 0xfffffe94, | 151 | DEFINE_RES_IRQ(evt2irq(0x400)), |
154 | .end = 0xfffffe9f, | 152 | DEFINE_RES_IRQ(evt2irq(0x420)), |
155 | .flags = IORESOURCE_MEM, | 153 | DEFINE_RES_IRQ(evt2irq(0x440)), |
156 | }, | ||
157 | [1] = { | ||
158 | .start = evt2irq(0x400), | ||
159 | .flags = IORESOURCE_IRQ, | ||
160 | }, | ||
161 | }; | 154 | }; |
162 | 155 | ||
163 | static struct platform_device tmu0_device = { | 156 | static struct platform_device tmu0_device = { |
164 | .name = "sh_tmu", | 157 | .name = "sh-tmu-sh3", |
165 | .id = 0, | 158 | .id = 0, |
166 | .dev = { | 159 | .dev = { |
167 | .platform_data = &tmu0_platform_data, | 160 | .platform_data = &tmu0_platform_data, |
@@ -170,67 +163,10 @@ static struct platform_device tmu0_device = { | |||
170 | .num_resources = ARRAY_SIZE(tmu0_resources), | 163 | .num_resources = ARRAY_SIZE(tmu0_resources), |
171 | }; | 164 | }; |
172 | 165 | ||
173 | static struct sh_timer_config tmu1_platform_data = { | ||
174 | .channel_offset = 0xe, | ||
175 | .timer_bit = 1, | ||
176 | .clocksource_rating = 200, | ||
177 | }; | ||
178 | |||
179 | static struct resource tmu1_resources[] = { | ||
180 | [0] = { | ||
181 | .start = 0xfffffea0, | ||
182 | .end = 0xfffffeab, | ||
183 | .flags = IORESOURCE_MEM, | ||
184 | }, | ||
185 | [1] = { | ||
186 | .start = evt2irq(0x420), | ||
187 | .flags = IORESOURCE_IRQ, | ||
188 | }, | ||
189 | }; | ||
190 | |||
191 | static struct platform_device tmu1_device = { | ||
192 | .name = "sh_tmu", | ||
193 | .id = 1, | ||
194 | .dev = { | ||
195 | .platform_data = &tmu1_platform_data, | ||
196 | }, | ||
197 | .resource = tmu1_resources, | ||
198 | .num_resources = ARRAY_SIZE(tmu1_resources), | ||
199 | }; | ||
200 | |||
201 | static struct sh_timer_config tmu2_platform_data = { | ||
202 | .channel_offset = 0x1a, | ||
203 | .timer_bit = 2, | ||
204 | }; | ||
205 | |||
206 | static struct resource tmu2_resources[] = { | ||
207 | [0] = { | ||
208 | .start = 0xfffffeac, | ||
209 | .end = 0xfffffebb, | ||
210 | .flags = IORESOURCE_MEM, | ||
211 | }, | ||
212 | [1] = { | ||
213 | .start = evt2irq(0x440), | ||
214 | .flags = IORESOURCE_IRQ, | ||
215 | }, | ||
216 | }; | ||
217 | |||
218 | static struct platform_device tmu2_device = { | ||
219 | .name = "sh_tmu", | ||
220 | .id = 2, | ||
221 | .dev = { | ||
222 | .platform_data = &tmu2_platform_data, | ||
223 | }, | ||
224 | .resource = tmu2_resources, | ||
225 | .num_resources = ARRAY_SIZE(tmu2_resources), | ||
226 | }; | ||
227 | |||
228 | static struct platform_device *sh7705_devices[] __initdata = { | 166 | static struct platform_device *sh7705_devices[] __initdata = { |
229 | &scif0_device, | 167 | &scif0_device, |
230 | &scif1_device, | 168 | &scif1_device, |
231 | &tmu0_device, | 169 | &tmu0_device, |
232 | &tmu1_device, | ||
233 | &tmu2_device, | ||
234 | &rtc_device, | 170 | &rtc_device, |
235 | }; | 171 | }; |
236 | 172 | ||
@@ -245,8 +181,6 @@ static struct platform_device *sh7705_early_devices[] __initdata = { | |||
245 | &scif0_device, | 181 | &scif0_device, |
246 | &scif1_device, | 182 | &scif1_device, |
247 | &tmu0_device, | 183 | &tmu0_device, |
248 | &tmu1_device, | ||
249 | &tmu2_device, | ||
250 | }; | 184 | }; |
251 | 185 | ||
252 | void __init plat_early_device_setup(void) | 186 | void __init plat_early_device_setup(void) |
diff --git a/arch/sh/kernel/cpu/sh3/setup-sh770x.c b/arch/sh/kernel/cpu/sh3/setup-sh770x.c index ff1465c0519c..9139d14b9c53 100644 --- a/arch/sh/kernel/cpu/sh3/setup-sh770x.c +++ b/arch/sh/kernel/cpu/sh3/setup-sh770x.c | |||
@@ -185,25 +185,18 @@ static struct platform_device scif2_device = { | |||
185 | #endif | 185 | #endif |
186 | 186 | ||
187 | static struct sh_timer_config tmu0_platform_data = { | 187 | static struct sh_timer_config tmu0_platform_data = { |
188 | .channel_offset = 0x02, | 188 | .channels_mask = 7, |
189 | .timer_bit = 0, | ||
190 | .clockevent_rating = 200, | ||
191 | }; | 189 | }; |
192 | 190 | ||
193 | static struct resource tmu0_resources[] = { | 191 | static struct resource tmu0_resources[] = { |
194 | [0] = { | 192 | DEFINE_RES_MEM(0xfffffe90, 0x2c), |
195 | .start = 0xfffffe94, | 193 | DEFINE_RES_IRQ(evt2irq(0x400)), |
196 | .end = 0xfffffe9f, | 194 | DEFINE_RES_IRQ(evt2irq(0x420)), |
197 | .flags = IORESOURCE_MEM, | 195 | DEFINE_RES_IRQ(evt2irq(0x440)), |
198 | }, | ||
199 | [1] = { | ||
200 | .start = evt2irq(0x400), | ||
201 | .flags = IORESOURCE_IRQ, | ||
202 | }, | ||
203 | }; | 196 | }; |
204 | 197 | ||
205 | static struct platform_device tmu0_device = { | 198 | static struct platform_device tmu0_device = { |
206 | .name = "sh_tmu", | 199 | .name = "sh-tmu-sh3", |
207 | .id = 0, | 200 | .id = 0, |
208 | .dev = { | 201 | .dev = { |
209 | .platform_data = &tmu0_platform_data, | 202 | .platform_data = &tmu0_platform_data, |
@@ -212,61 +205,6 @@ static struct platform_device tmu0_device = { | |||
212 | .num_resources = ARRAY_SIZE(tmu0_resources), | 205 | .num_resources = ARRAY_SIZE(tmu0_resources), |
213 | }; | 206 | }; |
214 | 207 | ||
215 | static struct sh_timer_config tmu1_platform_data = { | ||
216 | .channel_offset = 0xe, | ||
217 | .timer_bit = 1, | ||
218 | .clocksource_rating = 200, | ||
219 | }; | ||
220 | |||
221 | static struct resource tmu1_resources[] = { | ||
222 | [0] = { | ||
223 | .start = 0xfffffea0, | ||
224 | .end = 0xfffffeab, | ||
225 | .flags = IORESOURCE_MEM, | ||
226 | }, | ||
227 | [1] = { | ||
228 | .start = evt2irq(0x420), | ||
229 | .flags = IORESOURCE_IRQ, | ||
230 | }, | ||
231 | }; | ||
232 | |||
233 | static struct platform_device tmu1_device = { | ||
234 | .name = "sh_tmu", | ||
235 | .id = 1, | ||
236 | .dev = { | ||
237 | .platform_data = &tmu1_platform_data, | ||
238 | }, | ||
239 | .resource = tmu1_resources, | ||
240 | .num_resources = ARRAY_SIZE(tmu1_resources), | ||
241 | }; | ||
242 | |||
243 | static struct sh_timer_config tmu2_platform_data = { | ||
244 | .channel_offset = 0x1a, | ||
245 | .timer_bit = 2, | ||
246 | }; | ||
247 | |||
248 | static struct resource tmu2_resources[] = { | ||
249 | [0] = { | ||
250 | .start = 0xfffffeac, | ||
251 | .end = 0xfffffebb, | ||
252 | .flags = IORESOURCE_MEM, | ||
253 | }, | ||
254 | [1] = { | ||
255 | .start = evt2irq(0x440), | ||
256 | .flags = IORESOURCE_IRQ, | ||
257 | }, | ||
258 | }; | ||
259 | |||
260 | static struct platform_device tmu2_device = { | ||
261 | .name = "sh_tmu", | ||
262 | .id = 2, | ||
263 | .dev = { | ||
264 | .platform_data = &tmu2_platform_data, | ||
265 | }, | ||
266 | .resource = tmu2_resources, | ||
267 | .num_resources = ARRAY_SIZE(tmu2_resources), | ||
268 | }; | ||
269 | |||
270 | static struct platform_device *sh770x_devices[] __initdata = { | 208 | static struct platform_device *sh770x_devices[] __initdata = { |
271 | &scif0_device, | 209 | &scif0_device, |
272 | #if defined(CONFIG_CPU_SUBTYPE_SH7706) || \ | 210 | #if defined(CONFIG_CPU_SUBTYPE_SH7706) || \ |
@@ -279,8 +217,6 @@ static struct platform_device *sh770x_devices[] __initdata = { | |||
279 | &scif2_device, | 217 | &scif2_device, |
280 | #endif | 218 | #endif |
281 | &tmu0_device, | 219 | &tmu0_device, |
282 | &tmu1_device, | ||
283 | &tmu2_device, | ||
284 | &rtc_device, | 220 | &rtc_device, |
285 | }; | 221 | }; |
286 | 222 | ||
@@ -303,8 +239,6 @@ static struct platform_device *sh770x_early_devices[] __initdata = { | |||
303 | &scif2_device, | 239 | &scif2_device, |
304 | #endif | 240 | #endif |
305 | &tmu0_device, | 241 | &tmu0_device, |
306 | &tmu1_device, | ||
307 | &tmu2_device, | ||
308 | }; | 242 | }; |
309 | 243 | ||
310 | void __init plat_early_device_setup(void) | 244 | void __init plat_early_device_setup(void) |
diff --git a/arch/sh/kernel/cpu/sh3/setup-sh7710.c b/arch/sh/kernel/cpu/sh3/setup-sh7710.c index e2ce9360ed5a..e9ed300dba5c 100644 --- a/arch/sh/kernel/cpu/sh3/setup-sh7710.c +++ b/arch/sh/kernel/cpu/sh3/setup-sh7710.c | |||
@@ -142,25 +142,18 @@ static struct platform_device scif1_device = { | |||
142 | }; | 142 | }; |
143 | 143 | ||
144 | static struct sh_timer_config tmu0_platform_data = { | 144 | static struct sh_timer_config tmu0_platform_data = { |
145 | .channel_offset = 0x02, | 145 | .channels_mask = 7, |
146 | .timer_bit = 0, | ||
147 | .clockevent_rating = 200, | ||
148 | }; | 146 | }; |
149 | 147 | ||
150 | static struct resource tmu0_resources[] = { | 148 | static struct resource tmu0_resources[] = { |
151 | [0] = { | 149 | DEFINE_RES_MEM(0xa412fe90, 0x28), |
152 | .start = 0xa412fe94, | 150 | DEFINE_RES_IRQ(evt2irq(0x400)), |
153 | .end = 0xa412fe9f, | 151 | DEFINE_RES_IRQ(evt2irq(0x420)), |
154 | .flags = IORESOURCE_MEM, | 152 | DEFINE_RES_IRQ(evt2irq(0x440)), |
155 | }, | ||
156 | [1] = { | ||
157 | .start = evt2irq(0x400), | ||
158 | .flags = IORESOURCE_IRQ, | ||
159 | }, | ||
160 | }; | 153 | }; |
161 | 154 | ||
162 | static struct platform_device tmu0_device = { | 155 | static struct platform_device tmu0_device = { |
163 | .name = "sh_tmu", | 156 | .name = "sh-tmu-sh3", |
164 | .id = 0, | 157 | .id = 0, |
165 | .dev = { | 158 | .dev = { |
166 | .platform_data = &tmu0_platform_data, | 159 | .platform_data = &tmu0_platform_data, |
@@ -169,67 +162,10 @@ static struct platform_device tmu0_device = { | |||
169 | .num_resources = ARRAY_SIZE(tmu0_resources), | 162 | .num_resources = ARRAY_SIZE(tmu0_resources), |
170 | }; | 163 | }; |
171 | 164 | ||
172 | static struct sh_timer_config tmu1_platform_data = { | ||
173 | .channel_offset = 0xe, | ||
174 | .timer_bit = 1, | ||
175 | .clocksource_rating = 200, | ||
176 | }; | ||
177 | |||
178 | static struct resource tmu1_resources[] = { | ||
179 | [0] = { | ||
180 | .start = 0xa412fea0, | ||
181 | .end = 0xa412feab, | ||
182 | .flags = IORESOURCE_MEM, | ||
183 | }, | ||
184 | [1] = { | ||
185 | .start = evt2irq(0x420), | ||
186 | .flags = IORESOURCE_IRQ, | ||
187 | }, | ||
188 | }; | ||
189 | |||
190 | static struct platform_device tmu1_device = { | ||
191 | .name = "sh_tmu", | ||
192 | .id = 1, | ||
193 | .dev = { | ||
194 | .platform_data = &tmu1_platform_data, | ||
195 | }, | ||
196 | .resource = tmu1_resources, | ||
197 | .num_resources = ARRAY_SIZE(tmu1_resources), | ||
198 | }; | ||
199 | |||
200 | static struct sh_timer_config tmu2_platform_data = { | ||
201 | .channel_offset = 0x1a, | ||
202 | .timer_bit = 2, | ||
203 | }; | ||
204 | |||
205 | static struct resource tmu2_resources[] = { | ||
206 | [0] = { | ||
207 | .start = 0xa412feac, | ||
208 | .end = 0xa412feb5, | ||
209 | .flags = IORESOURCE_MEM, | ||
210 | }, | ||
211 | [1] = { | ||
212 | .start = evt2irq(0x440), | ||
213 | .flags = IORESOURCE_IRQ, | ||
214 | }, | ||
215 | }; | ||
216 | |||
217 | static struct platform_device tmu2_device = { | ||
218 | .name = "sh_tmu", | ||
219 | .id = 2, | ||
220 | .dev = { | ||
221 | .platform_data = &tmu2_platform_data, | ||
222 | }, | ||
223 | .resource = tmu2_resources, | ||
224 | .num_resources = ARRAY_SIZE(tmu2_resources), | ||
225 | }; | ||
226 | |||
227 | static struct platform_device *sh7710_devices[] __initdata = { | 165 | static struct platform_device *sh7710_devices[] __initdata = { |
228 | &scif0_device, | 166 | &scif0_device, |
229 | &scif1_device, | 167 | &scif1_device, |
230 | &tmu0_device, | 168 | &tmu0_device, |
231 | &tmu1_device, | ||
232 | &tmu2_device, | ||
233 | &rtc_device, | 169 | &rtc_device, |
234 | }; | 170 | }; |
235 | 171 | ||
@@ -244,8 +180,6 @@ static struct platform_device *sh7710_early_devices[] __initdata = { | |||
244 | &scif0_device, | 180 | &scif0_device, |
245 | &scif1_device, | 181 | &scif1_device, |
246 | &tmu0_device, | 182 | &tmu0_device, |
247 | &tmu1_device, | ||
248 | &tmu2_device, | ||
249 | }; | 183 | }; |
250 | 184 | ||
251 | void __init plat_early_device_setup(void) | 185 | void __init plat_early_device_setup(void) |
diff --git a/arch/sh/kernel/cpu/sh3/setup-sh7720.c b/arch/sh/kernel/cpu/sh3/setup-sh7720.c index 1d5729dc0724..84df85a5b800 100644 --- a/arch/sh/kernel/cpu/sh3/setup-sh7720.c +++ b/arch/sh/kernel/cpu/sh3/setup-sh7720.c | |||
@@ -152,163 +152,38 @@ static struct platform_device usbf_device = { | |||
152 | .resource = usbf_resources, | 152 | .resource = usbf_resources, |
153 | }; | 153 | }; |
154 | 154 | ||
155 | static struct sh_timer_config cmt0_platform_data = { | 155 | static 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 | ||
162 | static struct resource cmt0_resources[] = { | 159 | static 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 | ||
174 | static struct platform_device cmt0_device = { | 164 | static 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 | |||
184 | static struct sh_timer_config cmt1_platform_data = { | ||
185 | .channel_offset = 0x20, | ||
186 | .timer_bit = 1, | ||
187 | }; | ||
188 | |||
189 | static 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 | |||
201 | static 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 | |||
211 | static struct sh_timer_config cmt2_platform_data = { | ||
212 | .channel_offset = 0x30, | ||
213 | .timer_bit = 2, | ||
214 | }; | ||
215 | |||
216 | static 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 | |||
228 | static 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 | |||
238 | static struct sh_timer_config cmt3_platform_data = { | ||
239 | .channel_offset = 0x40, | ||
240 | .timer_bit = 3, | ||
241 | }; | ||
242 | |||
243 | static 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 | |||
255 | static struct platform_device cmt3_device = { | ||
256 | .name = "sh_cmt", | ||
257 | .id = 3, | ||
258 | .dev = { | ||
259 | .platform_data = &cmt3_platform_data, | ||
260 | }, | 169 | }, |
261 | .resource = cmt3_resources, | 170 | .resource = cmt_resources, |
262 | .num_resources = ARRAY_SIZE(cmt3_resources), | 171 | .num_resources = ARRAY_SIZE(cmt_resources), |
263 | }; | ||
264 | |||
265 | static struct sh_timer_config cmt4_platform_data = { | ||
266 | .channel_offset = 0x50, | ||
267 | .timer_bit = 4, | ||
268 | }; | ||
269 | |||
270 | static 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 | |||
282 | static struct platform_device cmt4_device = { | ||
283 | .name = "sh_cmt", | ||
284 | .id = 4, | ||
285 | .dev = { | ||
286 | .platform_data = &cmt4_platform_data, | ||
287 | }, | ||
288 | .resource = cmt4_resources, | ||
289 | .num_resources = ARRAY_SIZE(cmt4_resources), | ||
290 | }; | 172 | }; |
291 | 173 | ||
292 | static struct sh_timer_config tmu0_platform_data = { | 174 | static struct sh_timer_config tmu0_platform_data = { |
293 | .channel_offset = 0x02, | 175 | .channels_mask = 7, |
294 | .timer_bit = 0, | ||
295 | .clockevent_rating = 200, | ||
296 | }; | 176 | }; |
297 | 177 | ||
298 | static struct resource tmu0_resources[] = { | 178 | static struct resource tmu0_resources[] = { |
299 | [0] = { | 179 | DEFINE_RES_MEM(0xa412fe90, 0x28), |
300 | .start = 0xa412fe94, | 180 | DEFINE_RES_IRQ(evt2irq(0x400)), |
301 | .end = 0xa412fe9f, | 181 | DEFINE_RES_IRQ(evt2irq(0x420)), |
302 | .flags = IORESOURCE_MEM, | 182 | DEFINE_RES_IRQ(evt2irq(0x440)), |
303 | }, | ||
304 | [1] = { | ||
305 | .start = evt2irq(0x400), | ||
306 | .flags = IORESOURCE_IRQ, | ||
307 | }, | ||
308 | }; | 183 | }; |
309 | 184 | ||
310 | static struct platform_device tmu0_device = { | 185 | static struct platform_device tmu0_device = { |
311 | .name = "sh_tmu", | 186 | .name = "sh-tmu-sh3", |
312 | .id = 0, | 187 | .id = 0, |
313 | .dev = { | 188 | .dev = { |
314 | .platform_data = &tmu0_platform_data, | 189 | .platform_data = &tmu0_platform_data, |
@@ -317,72 +192,11 @@ static struct platform_device tmu0_device = { | |||
317 | .num_resources = ARRAY_SIZE(tmu0_resources), | 192 | .num_resources = ARRAY_SIZE(tmu0_resources), |
318 | }; | 193 | }; |
319 | 194 | ||
320 | static struct sh_timer_config tmu1_platform_data = { | ||
321 | .channel_offset = 0xe, | ||
322 | .timer_bit = 1, | ||
323 | .clocksource_rating = 200, | ||
324 | }; | ||
325 | |||
326 | static struct resource tmu1_resources[] = { | ||
327 | [0] = { | ||
328 | .start = 0xa412fea0, | ||
329 | .end = 0xa412feab, | ||
330 | .flags = IORESOURCE_MEM, | ||
331 | }, | ||
332 | [1] = { | ||
333 | .start = evt2irq(0x420), | ||
334 | .flags = IORESOURCE_IRQ, | ||
335 | }, | ||
336 | }; | ||
337 | |||
338 | static struct platform_device tmu1_device = { | ||
339 | .name = "sh_tmu", | ||
340 | .id = 1, | ||
341 | .dev = { | ||
342 | .platform_data = &tmu1_platform_data, | ||
343 | }, | ||
344 | .resource = tmu1_resources, | ||
345 | .num_resources = ARRAY_SIZE(tmu1_resources), | ||
346 | }; | ||
347 | |||
348 | static struct sh_timer_config tmu2_platform_data = { | ||
349 | .channel_offset = 0x1a, | ||
350 | .timer_bit = 2, | ||
351 | }; | ||
352 | |||
353 | static struct resource tmu2_resources[] = { | ||
354 | [0] = { | ||
355 | .start = 0xa412feac, | ||
356 | .end = 0xa412feb5, | ||
357 | .flags = IORESOURCE_MEM, | ||
358 | }, | ||
359 | [1] = { | ||
360 | .start = evt2irq(0x440), | ||
361 | .flags = IORESOURCE_IRQ, | ||
362 | }, | ||
363 | }; | ||
364 | |||
365 | static struct platform_device tmu2_device = { | ||
366 | .name = "sh_tmu", | ||
367 | .id = 2, | ||
368 | .dev = { | ||
369 | .platform_data = &tmu2_platform_data, | ||
370 | }, | ||
371 | .resource = tmu2_resources, | ||
372 | .num_resources = ARRAY_SIZE(tmu2_resources), | ||
373 | }; | ||
374 | |||
375 | static struct platform_device *sh7720_devices[] __initdata = { | 195 | static struct platform_device *sh7720_devices[] __initdata = { |
376 | &scif0_device, | 196 | &scif0_device, |
377 | &scif1_device, | 197 | &scif1_device, |
378 | &cmt0_device, | 198 | &cmt_device, |
379 | &cmt1_device, | ||
380 | &cmt2_device, | ||
381 | &cmt3_device, | ||
382 | &cmt4_device, | ||
383 | &tmu0_device, | 199 | &tmu0_device, |
384 | &tmu1_device, | ||
385 | &tmu2_device, | ||
386 | &rtc_device, | 200 | &rtc_device, |
387 | &usb_ohci_device, | 201 | &usb_ohci_device, |
388 | &usbf_device, | 202 | &usbf_device, |
@@ -398,14 +212,8 @@ arch_initcall(sh7720_devices_setup); | |||
398 | static struct platform_device *sh7720_early_devices[] __initdata = { | 212 | static struct platform_device *sh7720_early_devices[] __initdata = { |
399 | &scif0_device, | 213 | &scif0_device, |
400 | &scif1_device, | 214 | &scif1_device, |
401 | &cmt0_device, | 215 | &cmt_device, |
402 | &cmt1_device, | ||
403 | &cmt2_device, | ||
404 | &cmt3_device, | ||
405 | &cmt4_device, | ||
406 | &tmu0_device, | 216 | &tmu0_device, |
407 | &tmu1_device, | ||
408 | &tmu2_device, | ||
409 | }; | 217 | }; |
410 | 218 | ||
411 | void __init plat_early_device_setup(void) | 219 | void __init plat_early_device_setup(void) |
diff --git a/arch/sh/kernel/cpu/sh4/setup-sh4-202.c b/arch/sh/kernel/cpu/sh4/setup-sh4-202.c index a8bd778d5ac8..e7a7b3cdf68d 100644 --- a/arch/sh/kernel/cpu/sh4/setup-sh4-202.c +++ b/arch/sh/kernel/cpu/sh4/setup-sh4-202.c | |||
@@ -41,25 +41,18 @@ static struct platform_device scif0_device = { | |||
41 | }; | 41 | }; |
42 | 42 | ||
43 | static struct sh_timer_config tmu0_platform_data = { | 43 | static struct sh_timer_config tmu0_platform_data = { |
44 | .channel_offset = 0x04, | 44 | .channels_mask = 7, |
45 | .timer_bit = 0, | ||
46 | .clockevent_rating = 200, | ||
47 | }; | 45 | }; |
48 | 46 | ||
49 | static struct resource tmu0_resources[] = { | 47 | static struct resource tmu0_resources[] = { |
50 | [0] = { | 48 | DEFINE_RES_MEM(0xffd80000, 0x30), |
51 | .start = 0xffd80008, | 49 | DEFINE_RES_IRQ(evt2irq(0x400)), |
52 | .end = 0xffd80013, | 50 | DEFINE_RES_IRQ(evt2irq(0x420)), |
53 | .flags = IORESOURCE_MEM, | 51 | DEFINE_RES_IRQ(evt2irq(0x440)), |
54 | }, | ||
55 | [1] = { | ||
56 | .start = evt2irq(0x400), | ||
57 | .flags = IORESOURCE_IRQ, | ||
58 | }, | ||
59 | }; | 52 | }; |
60 | 53 | ||
61 | static struct platform_device tmu0_device = { | 54 | static struct platform_device tmu0_device = { |
62 | .name = "sh_tmu", | 55 | .name = "sh-tmu", |
63 | .id = 0, | 56 | .id = 0, |
64 | .dev = { | 57 | .dev = { |
65 | .platform_data = &tmu0_platform_data, | 58 | .platform_data = &tmu0_platform_data, |
@@ -68,66 +61,9 @@ static struct platform_device tmu0_device = { | |||
68 | .num_resources = ARRAY_SIZE(tmu0_resources), | 61 | .num_resources = ARRAY_SIZE(tmu0_resources), |
69 | }; | 62 | }; |
70 | 63 | ||
71 | static struct sh_timer_config tmu1_platform_data = { | ||
72 | .channel_offset = 0x10, | ||
73 | .timer_bit = 1, | ||
74 | .clocksource_rating = 200, | ||
75 | }; | ||
76 | |||
77 | static struct resource tmu1_resources[] = { | ||
78 | [0] = { | ||
79 | .start = 0xffd80014, | ||
80 | .end = 0xffd8001f, | ||
81 | .flags = IORESOURCE_MEM, | ||
82 | }, | ||
83 | [1] = { | ||
84 | .start = evt2irq(0x420), | ||
85 | .flags = IORESOURCE_IRQ, | ||
86 | }, | ||
87 | }; | ||
88 | |||
89 | static struct platform_device tmu1_device = { | ||
90 | .name = "sh_tmu", | ||
91 | .id = 1, | ||
92 | .dev = { | ||
93 | .platform_data = &tmu1_platform_data, | ||
94 | }, | ||
95 | .resource = tmu1_resources, | ||
96 | .num_resources = ARRAY_SIZE(tmu1_resources), | ||
97 | }; | ||
98 | |||
99 | static struct sh_timer_config tmu2_platform_data = { | ||
100 | .channel_offset = 0x1c, | ||
101 | .timer_bit = 2, | ||
102 | }; | ||
103 | |||
104 | static struct resource tmu2_resources[] = { | ||
105 | [0] = { | ||
106 | .start = 0xffd80020, | ||
107 | .end = 0xffd8002f, | ||
108 | .flags = IORESOURCE_MEM, | ||
109 | }, | ||
110 | [1] = { | ||
111 | .start = evt2irq(0x440), | ||
112 | .flags = IORESOURCE_IRQ, | ||
113 | }, | ||
114 | }; | ||
115 | |||
116 | static struct platform_device tmu2_device = { | ||
117 | .name = "sh_tmu", | ||
118 | .id = 2, | ||
119 | .dev = { | ||
120 | .platform_data = &tmu2_platform_data, | ||
121 | }, | ||
122 | .resource = tmu2_resources, | ||
123 | .num_resources = ARRAY_SIZE(tmu2_resources), | ||
124 | }; | ||
125 | |||
126 | static struct platform_device *sh4202_devices[] __initdata = { | 64 | static struct platform_device *sh4202_devices[] __initdata = { |
127 | &scif0_device, | 65 | &scif0_device, |
128 | &tmu0_device, | 66 | &tmu0_device, |
129 | &tmu1_device, | ||
130 | &tmu2_device, | ||
131 | }; | 67 | }; |
132 | 68 | ||
133 | static int __init sh4202_devices_setup(void) | 69 | static int __init sh4202_devices_setup(void) |
@@ -140,8 +76,6 @@ arch_initcall(sh4202_devices_setup); | |||
140 | static struct platform_device *sh4202_early_devices[] __initdata = { | 76 | static struct platform_device *sh4202_early_devices[] __initdata = { |
141 | &scif0_device, | 77 | &scif0_device, |
142 | &tmu0_device, | 78 | &tmu0_device, |
143 | &tmu1_device, | ||
144 | &tmu2_device, | ||
145 | }; | 79 | }; |
146 | 80 | ||
147 | void __init plat_early_device_setup(void) | 81 | void __init plat_early_device_setup(void) |
diff --git a/arch/sh/kernel/cpu/sh4/setup-sh7750.c b/arch/sh/kernel/cpu/sh4/setup-sh7750.c index a447a248491f..5f08c59b9f3e 100644 --- a/arch/sh/kernel/cpu/sh4/setup-sh7750.c +++ b/arch/sh/kernel/cpu/sh4/setup-sh7750.c | |||
@@ -82,25 +82,18 @@ static struct platform_device scif_device = { | |||
82 | }; | 82 | }; |
83 | 83 | ||
84 | static struct sh_timer_config tmu0_platform_data = { | 84 | static struct sh_timer_config tmu0_platform_data = { |
85 | .channel_offset = 0x04, | 85 | .channels_mask = 7, |
86 | .timer_bit = 0, | ||
87 | .clockevent_rating = 200, | ||
88 | }; | 86 | }; |
89 | 87 | ||
90 | static struct resource tmu0_resources[] = { | 88 | static struct resource tmu0_resources[] = { |
91 | [0] = { | 89 | DEFINE_RES_MEM(0xffd80000, 0x30), |
92 | .start = 0xffd80008, | 90 | DEFINE_RES_IRQ(evt2irq(0x400)), |
93 | .end = 0xffd80013, | 91 | DEFINE_RES_IRQ(evt2irq(0x420)), |
94 | .flags = IORESOURCE_MEM, | 92 | DEFINE_RES_IRQ(evt2irq(0x440)), |
95 | }, | ||
96 | [1] = { | ||
97 | .start = evt2irq(0x400), | ||
98 | .flags = IORESOURCE_IRQ, | ||
99 | }, | ||
100 | }; | 93 | }; |
101 | 94 | ||
102 | static struct platform_device tmu0_device = { | 95 | static struct platform_device tmu0_device = { |
103 | .name = "sh_tmu", | 96 | .name = "sh-tmu", |
104 | .id = 0, | 97 | .id = 0, |
105 | .dev = { | 98 | .dev = { |
106 | .platform_data = &tmu0_platform_data, | 99 | .platform_data = &tmu0_platform_data, |
@@ -109,26 +102,23 @@ static struct platform_device tmu0_device = { | |||
109 | .num_resources = ARRAY_SIZE(tmu0_resources), | 102 | .num_resources = ARRAY_SIZE(tmu0_resources), |
110 | }; | 103 | }; |
111 | 104 | ||
105 | /* SH7750R, SH7751 and SH7751R all have two extra timer channels */ | ||
106 | #if defined(CONFIG_CPU_SUBTYPE_SH7750R) || \ | ||
107 | defined(CONFIG_CPU_SUBTYPE_SH7751) || \ | ||
108 | defined(CONFIG_CPU_SUBTYPE_SH7751R) | ||
109 | |||
112 | static struct sh_timer_config tmu1_platform_data = { | 110 | static struct sh_timer_config tmu1_platform_data = { |
113 | .channel_offset = 0x10, | 111 | .channels_mask = 3, |
114 | .timer_bit = 1, | ||
115 | .clocksource_rating = 200, | ||
116 | }; | 112 | }; |
117 | 113 | ||
118 | static struct resource tmu1_resources[] = { | 114 | static struct resource tmu1_resources[] = { |
119 | [0] = { | 115 | DEFINE_RES_MEM(0xfe100000, 0x20), |
120 | .start = 0xffd80014, | 116 | DEFINE_RES_IRQ(evt2irq(0xb00)), |
121 | .end = 0xffd8001f, | 117 | DEFINE_RES_IRQ(evt2irq(0xb80)), |
122 | .flags = IORESOURCE_MEM, | ||
123 | }, | ||
124 | [1] = { | ||
125 | .start = evt2irq(0x420), | ||
126 | .flags = IORESOURCE_IRQ, | ||
127 | }, | ||
128 | }; | 118 | }; |
129 | 119 | ||
130 | static struct platform_device tmu1_device = { | 120 | static struct platform_device tmu1_device = { |
131 | .name = "sh_tmu", | 121 | .name = "sh-tmu", |
132 | .id = 1, | 122 | .id = 1, |
133 | .dev = { | 123 | .dev = { |
134 | .platform_data = &tmu1_platform_data, | 124 | .platform_data = &tmu1_platform_data, |
@@ -137,104 +127,15 @@ static struct platform_device tmu1_device = { | |||
137 | .num_resources = ARRAY_SIZE(tmu1_resources), | 127 | .num_resources = ARRAY_SIZE(tmu1_resources), |
138 | }; | 128 | }; |
139 | 129 | ||
140 | static struct sh_timer_config tmu2_platform_data = { | ||
141 | .channel_offset = 0x1c, | ||
142 | .timer_bit = 2, | ||
143 | }; | ||
144 | |||
145 | static struct resource tmu2_resources[] = { | ||
146 | [0] = { | ||
147 | .start = 0xffd80020, | ||
148 | .end = 0xffd8002f, | ||
149 | .flags = IORESOURCE_MEM, | ||
150 | }, | ||
151 | [1] = { | ||
152 | .start = evt2irq(0x440), | ||
153 | .flags = IORESOURCE_IRQ, | ||
154 | }, | ||
155 | }; | ||
156 | |||
157 | static struct platform_device tmu2_device = { | ||
158 | .name = "sh_tmu", | ||
159 | .id = 2, | ||
160 | .dev = { | ||
161 | .platform_data = &tmu2_platform_data, | ||
162 | }, | ||
163 | .resource = tmu2_resources, | ||
164 | .num_resources = ARRAY_SIZE(tmu2_resources), | ||
165 | }; | ||
166 | |||
167 | /* SH7750R, SH7751 and SH7751R all have two extra timer channels */ | ||
168 | #if defined(CONFIG_CPU_SUBTYPE_SH7750R) || \ | ||
169 | defined(CONFIG_CPU_SUBTYPE_SH7751) || \ | ||
170 | defined(CONFIG_CPU_SUBTYPE_SH7751R) | ||
171 | |||
172 | static struct sh_timer_config tmu3_platform_data = { | ||
173 | .channel_offset = 0x04, | ||
174 | .timer_bit = 0, | ||
175 | }; | ||
176 | |||
177 | static struct resource tmu3_resources[] = { | ||
178 | [0] = { | ||
179 | .start = 0xfe100008, | ||
180 | .end = 0xfe100013, | ||
181 | .flags = IORESOURCE_MEM, | ||
182 | }, | ||
183 | [1] = { | ||
184 | .start = evt2irq(0xb00), | ||
185 | .flags = IORESOURCE_IRQ, | ||
186 | }, | ||
187 | }; | ||
188 | |||
189 | static struct platform_device tmu3_device = { | ||
190 | .name = "sh_tmu", | ||
191 | .id = 3, | ||
192 | .dev = { | ||
193 | .platform_data = &tmu3_platform_data, | ||
194 | }, | ||
195 | .resource = tmu3_resources, | ||
196 | .num_resources = ARRAY_SIZE(tmu3_resources), | ||
197 | }; | ||
198 | |||
199 | static struct sh_timer_config tmu4_platform_data = { | ||
200 | .channel_offset = 0x10, | ||
201 | .timer_bit = 1, | ||
202 | }; | ||
203 | |||
204 | static struct resource tmu4_resources[] = { | ||
205 | [0] = { | ||
206 | .start = 0xfe100014, | ||
207 | .end = 0xfe10001f, | ||
208 | .flags = IORESOURCE_MEM, | ||
209 | }, | ||
210 | [1] = { | ||
211 | .start = evt2irq(0xb80), | ||
212 | .flags = IORESOURCE_IRQ, | ||
213 | }, | ||
214 | }; | ||
215 | |||
216 | static struct platform_device tmu4_device = { | ||
217 | .name = "sh_tmu", | ||
218 | .id = 4, | ||
219 | .dev = { | ||
220 | .platform_data = &tmu4_platform_data, | ||
221 | }, | ||
222 | .resource = tmu4_resources, | ||
223 | .num_resources = ARRAY_SIZE(tmu4_resources), | ||
224 | }; | ||
225 | |||
226 | #endif | 130 | #endif |
227 | 131 | ||
228 | static struct platform_device *sh7750_devices[] __initdata = { | 132 | static struct platform_device *sh7750_devices[] __initdata = { |
229 | &rtc_device, | 133 | &rtc_device, |
230 | &tmu0_device, | 134 | &tmu0_device, |
231 | &tmu1_device, | ||
232 | &tmu2_device, | ||
233 | #if defined(CONFIG_CPU_SUBTYPE_SH7750R) || \ | 135 | #if defined(CONFIG_CPU_SUBTYPE_SH7750R) || \ |
234 | defined(CONFIG_CPU_SUBTYPE_SH7751) || \ | 136 | defined(CONFIG_CPU_SUBTYPE_SH7751) || \ |
235 | defined(CONFIG_CPU_SUBTYPE_SH7751R) | 137 | defined(CONFIG_CPU_SUBTYPE_SH7751R) |
236 | &tmu3_device, | 138 | &tmu1_device, |
237 | &tmu4_device, | ||
238 | #endif | 139 | #endif |
239 | }; | 140 | }; |
240 | 141 | ||
@@ -254,13 +155,10 @@ arch_initcall(sh7750_devices_setup); | |||
254 | 155 | ||
255 | static struct platform_device *sh7750_early_devices[] __initdata = { | 156 | static struct platform_device *sh7750_early_devices[] __initdata = { |
256 | &tmu0_device, | 157 | &tmu0_device, |
257 | &tmu1_device, | ||
258 | &tmu2_device, | ||
259 | #if defined(CONFIG_CPU_SUBTYPE_SH7750R) || \ | 158 | #if defined(CONFIG_CPU_SUBTYPE_SH7750R) || \ |
260 | defined(CONFIG_CPU_SUBTYPE_SH7751) || \ | 159 | defined(CONFIG_CPU_SUBTYPE_SH7751) || \ |
261 | defined(CONFIG_CPU_SUBTYPE_SH7751R) | 160 | defined(CONFIG_CPU_SUBTYPE_SH7751R) |
262 | &tmu3_device, | 161 | &tmu1_device, |
263 | &tmu4_device, | ||
264 | #endif | 162 | #endif |
265 | }; | 163 | }; |
266 | 164 | ||
diff --git a/arch/sh/kernel/cpu/sh4/setup-sh7760.c b/arch/sh/kernel/cpu/sh4/setup-sh7760.c index 1abd9fb4a386..973b736b3b98 100644 --- a/arch/sh/kernel/cpu/sh4/setup-sh7760.c +++ b/arch/sh/kernel/cpu/sh4/setup-sh7760.c | |||
@@ -227,25 +227,18 @@ static struct platform_device scif3_device = { | |||
227 | }; | 227 | }; |
228 | 228 | ||
229 | static struct sh_timer_config tmu0_platform_data = { | 229 | static struct sh_timer_config tmu0_platform_data = { |
230 | .channel_offset = 0x04, | 230 | .channels_mask = 7, |
231 | .timer_bit = 0, | ||
232 | .clockevent_rating = 200, | ||
233 | }; | 231 | }; |
234 | 232 | ||
235 | static struct resource tmu0_resources[] = { | 233 | static struct resource tmu0_resources[] = { |
236 | [0] = { | 234 | DEFINE_RES_MEM(0xffd80000, 0x30), |
237 | .start = 0xffd80008, | 235 | DEFINE_RES_IRQ(evt2irq(0x400)), |
238 | .end = 0xffd80013, | 236 | DEFINE_RES_IRQ(evt2irq(0x420)), |
239 | .flags = IORESOURCE_MEM, | 237 | DEFINE_RES_IRQ(evt2irq(0x440)), |
240 | }, | ||
241 | [1] = { | ||
242 | .start = evt2irq(0x400), | ||
243 | .flags = IORESOURCE_IRQ, | ||
244 | }, | ||
245 | }; | 238 | }; |
246 | 239 | ||
247 | static struct platform_device tmu0_device = { | 240 | static struct platform_device tmu0_device = { |
248 | .name = "sh_tmu", | 241 | .name = "sh-tmu", |
249 | .id = 0, | 242 | .id = 0, |
250 | .dev = { | 243 | .dev = { |
251 | .platform_data = &tmu0_platform_data, | 244 | .platform_data = &tmu0_platform_data, |
@@ -254,61 +247,6 @@ static struct platform_device tmu0_device = { | |||
254 | .num_resources = ARRAY_SIZE(tmu0_resources), | 247 | .num_resources = ARRAY_SIZE(tmu0_resources), |
255 | }; | 248 | }; |
256 | 249 | ||
257 | static struct sh_timer_config tmu1_platform_data = { | ||
258 | .channel_offset = 0x10, | ||
259 | .timer_bit = 1, | ||
260 | .clocksource_rating = 200, | ||
261 | }; | ||
262 | |||
263 | static struct resource tmu1_resources[] = { | ||
264 | [0] = { | ||
265 | .start = 0xffd80014, | ||
266 | .end = 0xffd8001f, | ||
267 | .flags = IORESOURCE_MEM, | ||
268 | }, | ||
269 | [1] = { | ||
270 | .start = evt2irq(0x420), | ||
271 | .flags = IORESOURCE_IRQ, | ||
272 | }, | ||
273 | }; | ||
274 | |||
275 | static struct platform_device tmu1_device = { | ||
276 | .name = "sh_tmu", | ||
277 | .id = 1, | ||
278 | .dev = { | ||
279 | .platform_data = &tmu1_platform_data, | ||
280 | }, | ||
281 | .resource = tmu1_resources, | ||
282 | .num_resources = ARRAY_SIZE(tmu1_resources), | ||
283 | }; | ||
284 | |||
285 | static struct sh_timer_config tmu2_platform_data = { | ||
286 | .channel_offset = 0x1c, | ||
287 | .timer_bit = 2, | ||
288 | }; | ||
289 | |||
290 | static struct resource tmu2_resources[] = { | ||
291 | [0] = { | ||
292 | .start = 0xffd80020, | ||
293 | .end = 0xffd8002f, | ||
294 | .flags = IORESOURCE_MEM, | ||
295 | }, | ||
296 | [1] = { | ||
297 | .start = evt2irq(0x440), | ||
298 | .flags = IORESOURCE_IRQ, | ||
299 | }, | ||
300 | }; | ||
301 | |||
302 | static struct platform_device tmu2_device = { | ||
303 | .name = "sh_tmu", | ||
304 | .id = 2, | ||
305 | .dev = { | ||
306 | .platform_data = &tmu2_platform_data, | ||
307 | }, | ||
308 | .resource = tmu2_resources, | ||
309 | .num_resources = ARRAY_SIZE(tmu2_resources), | ||
310 | }; | ||
311 | |||
312 | 250 | ||
313 | static struct platform_device *sh7760_devices[] __initdata = { | 251 | static struct platform_device *sh7760_devices[] __initdata = { |
314 | &scif0_device, | 252 | &scif0_device, |
@@ -316,8 +254,6 @@ static struct platform_device *sh7760_devices[] __initdata = { | |||
316 | &scif2_device, | 254 | &scif2_device, |
317 | &scif3_device, | 255 | &scif3_device, |
318 | &tmu0_device, | 256 | &tmu0_device, |
319 | &tmu1_device, | ||
320 | &tmu2_device, | ||
321 | }; | 257 | }; |
322 | 258 | ||
323 | static int __init sh7760_devices_setup(void) | 259 | static int __init sh7760_devices_setup(void) |
@@ -333,8 +269,6 @@ static struct platform_device *sh7760_early_devices[] __initdata = { | |||
333 | &scif2_device, | 269 | &scif2_device, |
334 | &scif3_device, | 270 | &scif3_device, |
335 | &tmu0_device, | 271 | &tmu0_device, |
336 | &tmu1_device, | ||
337 | &tmu2_device, | ||
338 | }; | 272 | }; |
339 | 273 | ||
340 | void __init plat_early_device_setup(void) | 274 | void __init plat_early_device_setup(void) |
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..8f07a1a38692 100644 --- a/arch/sh/kernel/cpu/sh4a/clock-sh7722.c +++ b/arch/sh/kernel/cpu/sh4a/clock-sh7722.c | |||
@@ -203,11 +203,9 @@ static struct clk_lookup lookups[] = { | |||
203 | CLKDEV_CON_ID("uram0", &mstp_clks[HWBLK_URAM]), | 203 | CLKDEV_CON_ID("uram0", &mstp_clks[HWBLK_URAM]), |
204 | CLKDEV_CON_ID("xymem0", &mstp_clks[HWBLK_XYMEM]), | 204 | CLKDEV_CON_ID("xymem0", &mstp_clks[HWBLK_XYMEM]), |
205 | 205 | ||
206 | CLKDEV_ICK_ID("tmu_fck", "sh_tmu.0", &mstp_clks[HWBLK_TMU]), | 206 | CLKDEV_ICK_ID("fck", "sh-tmu.0", &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]), | ||
209 | 207 | ||
210 | CLKDEV_CON_ID("cmt_fck", &mstp_clks[HWBLK_CMT]), | 208 | CLKDEV_ICK_ID("fck", "sh-cmt-32.0", &mstp_clks[HWBLK_CMT]), |
211 | CLKDEV_DEV_ID("sh-wdt.0", &mstp_clks[HWBLK_RWDT]), | 209 | CLKDEV_DEV_ID("sh-wdt.0", &mstp_clks[HWBLK_RWDT]), |
212 | CLKDEV_CON_ID("flctl0", &mstp_clks[HWBLK_FLCTL]), | 210 | CLKDEV_CON_ID("flctl0", &mstp_clks[HWBLK_FLCTL]), |
213 | 211 | ||
diff --git a/arch/sh/kernel/cpu/sh4a/clock-sh7723.c b/arch/sh/kernel/cpu/sh4a/clock-sh7723.c index 37c41c7747a3..ccbcab550df2 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]), |
@@ -264,12 +264,8 @@ static struct clk_lookup lookups[] = { | |||
264 | CLKDEV_CON_ID("veu0", &mstp_clks[HWBLK_VEU2H0]), | 264 | CLKDEV_CON_ID("veu0", &mstp_clks[HWBLK_VEU2H0]), |
265 | CLKDEV_CON_ID("vpu0", &mstp_clks[HWBLK_VPU]), | 265 | CLKDEV_CON_ID("vpu0", &mstp_clks[HWBLK_VPU]), |
266 | 266 | ||
267 | CLKDEV_ICK_ID("tmu_fck", "sh_tmu.0", &mstp_clks[HWBLK_TMU0]), | 267 | CLKDEV_ICK_ID("fck", "sh-tmu.0", &mstp_clks[HWBLK_TMU0]), |
268 | CLKDEV_ICK_ID("tmu_fck", "sh_tmu.1", &mstp_clks[HWBLK_TMU0]), | 268 | CLKDEV_ICK_ID("fck", "sh-tmu.1", &mstp_clks[HWBLK_TMU1]), |
269 | CLKDEV_ICK_ID("tmu_fck", "sh_tmu.2", &mstp_clks[HWBLK_TMU0]), | ||
270 | CLKDEV_ICK_ID("tmu_fck", "sh_tmu.3", &mstp_clks[HWBLK_TMU1]), | ||
271 | CLKDEV_ICK_ID("tmu_fck", "sh_tmu.4", &mstp_clks[HWBLK_TMU1]), | ||
272 | CLKDEV_ICK_ID("tmu_fck", "sh_tmu.5", &mstp_clks[HWBLK_TMU1]), | ||
273 | 269 | ||
274 | CLKDEV_ICK_ID("sci_fck", "sh-sci.0", &mstp_clks[HWBLK_SCIF0]), | 270 | CLKDEV_ICK_ID("sci_fck", "sh-sci.0", &mstp_clks[HWBLK_SCIF0]), |
275 | CLKDEV_ICK_ID("sci_fck", "sh-sci.1", &mstp_clks[HWBLK_SCIF1]), | 271 | CLKDEV_ICK_ID("sci_fck", "sh-sci.1", &mstp_clks[HWBLK_SCIF1]), |
diff --git a/arch/sh/kernel/cpu/sh4a/clock-sh7724.c b/arch/sh/kernel/cpu/sh4a/clock-sh7724.c index 0128af3399b7..f579dd528198 100644 --- a/arch/sh/kernel/cpu/sh4a/clock-sh7724.c +++ b/arch/sh/kernel/cpu/sh4a/clock-sh7724.c | |||
@@ -304,17 +304,13 @@ static struct clk_lookup lookups[] = { | |||
304 | CLKDEV_CON_ID("hudi0", &mstp_clks[HWBLK_HUDI]), | 304 | CLKDEV_CON_ID("hudi0", &mstp_clks[HWBLK_HUDI]), |
305 | CLKDEV_CON_ID("ubc0", &mstp_clks[HWBLK_UBC]), | 305 | CLKDEV_CON_ID("ubc0", &mstp_clks[HWBLK_UBC]), |
306 | 306 | ||
307 | CLKDEV_ICK_ID("tmu_fck", "sh_tmu.0", &mstp_clks[HWBLK_TMU0]), | 307 | CLKDEV_ICK_ID("fck", "sh-tmu.0", &mstp_clks[HWBLK_TMU0]), |
308 | CLKDEV_ICK_ID("tmu_fck", "sh_tmu.1", &mstp_clks[HWBLK_TMU0]), | 308 | CLKDEV_ICK_ID("fck", "sh-tmu.1", &mstp_clks[HWBLK_TMU1]), |
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]), | ||
311 | 309 | ||
312 | CLKDEV_CON_ID("cmt_fck", &mstp_clks[HWBLK_CMT]), | 310 | CLKDEV_ICK_ID("fck", "sh-cmt-16.0", &mstp_clks[HWBLK_CMT]), |
313 | CLKDEV_DEV_ID("sh-wdt.0", &mstp_clks[HWBLK_RWDT]), | 311 | CLKDEV_DEV_ID("sh-wdt.0", &mstp_clks[HWBLK_RWDT]), |
314 | CLKDEV_DEV_ID("sh-dma-engine.1", &mstp_clks[HWBLK_DMAC1]), | 312 | CLKDEV_DEV_ID("sh-dma-engine.1", &mstp_clks[HWBLK_DMAC1]), |
315 | 313 | ||
316 | CLKDEV_ICK_ID("tmu_fck", "sh_tmu.4", &mstp_clks[HWBLK_TMU1]), | ||
317 | CLKDEV_ICK_ID("tmu_fck", "sh_tmu.5", &mstp_clks[HWBLK_TMU1]), | ||
318 | CLKDEV_DEV_ID("sh-sci.0", &mstp_clks[HWBLK_SCIF0]), | 314 | CLKDEV_DEV_ID("sh-sci.0", &mstp_clks[HWBLK_SCIF0]), |
319 | CLKDEV_DEV_ID("sh-sci.1", &mstp_clks[HWBLK_SCIF1]), | 315 | CLKDEV_DEV_ID("sh-sci.1", &mstp_clks[HWBLK_SCIF1]), |
320 | CLKDEV_DEV_ID("sh-sci.2", &mstp_clks[HWBLK_SCIF2]), | 316 | CLKDEV_DEV_ID("sh-sci.2", &mstp_clks[HWBLK_SCIF2]), |
diff --git a/arch/sh/kernel/cpu/sh4a/clock-sh7734.c b/arch/sh/kernel/cpu/sh4a/clock-sh7734.c index ed9501519ab3..1fdf1ee672de 100644 --- a/arch/sh/kernel/cpu/sh4a/clock-sh7734.c +++ b/arch/sh/kernel/cpu/sh4a/clock-sh7734.c | |||
@@ -201,15 +201,9 @@ static struct clk_lookup lookups[] = { | |||
201 | CLKDEV_ICK_ID("sci_fck", "sh-sci.4", &mstp_clks[MSTP022]), | 201 | CLKDEV_ICK_ID("sci_fck", "sh-sci.4", &mstp_clks[MSTP022]), |
202 | CLKDEV_ICK_ID("sci_fck", "sh-sci.5", &mstp_clks[MSTP021]), | 202 | CLKDEV_ICK_ID("sci_fck", "sh-sci.5", &mstp_clks[MSTP021]), |
203 | CLKDEV_CON_ID("hscif", &mstp_clks[MSTP019]), | 203 | CLKDEV_CON_ID("hscif", &mstp_clks[MSTP019]), |
204 | CLKDEV_ICK_ID("tmu_fck", "sh_tmu.0", &mstp_clks[MSTP016]), | 204 | CLKDEV_ICK_ID("fck", "sh-tmu.0", &mstp_clks[MSTP016]), |
205 | CLKDEV_ICK_ID("tmu_fck", "sh_tmu.1", &mstp_clks[MSTP016]), | 205 | CLKDEV_ICK_ID("fck", "sh-tmu.1", &mstp_clks[MSTP015]), |
206 | CLKDEV_ICK_ID("tmu_fck", "sh_tmu.2", &mstp_clks[MSTP016]), | 206 | CLKDEV_ICK_ID("fck", "sh-tmu.2", &mstp_clks[MSTP014]), |
207 | CLKDEV_ICK_ID("tmu_fck", "sh_tmu.3", &mstp_clks[MSTP015]), | ||
208 | CLKDEV_ICK_ID("tmu_fck", "sh_tmu.4", &mstp_clks[MSTP015]), | ||
209 | CLKDEV_ICK_ID("tmu_fck", "sh_tmu.5", &mstp_clks[MSTP015]), | ||
210 | CLKDEV_ICK_ID("tmu_fck", "sh_tmu.6", &mstp_clks[MSTP014]), | ||
211 | CLKDEV_ICK_ID("tmu_fck", "sh_tmu.7", &mstp_clks[MSTP014]), | ||
212 | CLKDEV_ICK_ID("tmu_fck", "sh_tmu.8", &mstp_clks[MSTP014]), | ||
213 | CLKDEV_CON_ID("ssi0", &mstp_clks[MSTP012]), | 207 | CLKDEV_CON_ID("ssi0", &mstp_clks[MSTP012]), |
214 | CLKDEV_CON_ID("ssi1", &mstp_clks[MSTP011]), | 208 | CLKDEV_CON_ID("ssi1", &mstp_clks[MSTP011]), |
215 | CLKDEV_CON_ID("ssi2", &mstp_clks[MSTP010]), | 209 | CLKDEV_CON_ID("ssi2", &mstp_clks[MSTP010]), |
diff --git a/arch/sh/kernel/cpu/sh4a/clock-sh7757.c b/arch/sh/kernel/cpu/sh4a/clock-sh7757.c index 5c0e3c335161..9a28fdb36387 100644 --- a/arch/sh/kernel/cpu/sh4a/clock-sh7757.c +++ b/arch/sh/kernel/cpu/sh4a/clock-sh7757.c | |||
@@ -123,8 +123,8 @@ static struct clk_lookup lookups[] = { | |||
123 | CLKDEV_CON_ID("riic6", &mstp_clks[MSTP000]), | 123 | CLKDEV_CON_ID("riic6", &mstp_clks[MSTP000]), |
124 | CLKDEV_CON_ID("riic7", &mstp_clks[MSTP000]), | 124 | CLKDEV_CON_ID("riic7", &mstp_clks[MSTP000]), |
125 | 125 | ||
126 | CLKDEV_ICK_ID("tmu_fck", "sh_tmu.0", &mstp_clks[MSTP113]), | 126 | CLKDEV_ICK_ID("fck", "sh-tmu.0", &mstp_clks[MSTP113]), |
127 | CLKDEV_ICK_ID("tmu_fck", "sh_tmu.1", &mstp_clks[MSTP114]), | 127 | CLKDEV_ICK_ID("fck", "sh-tmu.1", &mstp_clks[MSTP114]), |
128 | CLKDEV_ICK_ID("sci_fck", "sh-sci.2", &mstp_clks[MSTP112]), | 128 | CLKDEV_ICK_ID("sci_fck", "sh-sci.2", &mstp_clks[MSTP112]), |
129 | CLKDEV_ICK_ID("sci_fck", "sh-sci.1", &mstp_clks[MSTP111]), | 129 | CLKDEV_ICK_ID("sci_fck", "sh-sci.1", &mstp_clks[MSTP111]), |
130 | CLKDEV_ICK_ID("sci_fck", "sh-sci.0", &mstp_clks[MSTP110]), | 130 | CLKDEV_ICK_ID("sci_fck", "sh-sci.0", &mstp_clks[MSTP110]), |
diff --git a/arch/sh/kernel/cpu/sh4a/clock-sh7785.c b/arch/sh/kernel/cpu/sh4a/clock-sh7785.c index 1c83788db76a..17d0ea55a5a2 100644 --- a/arch/sh/kernel/cpu/sh4a/clock-sh7785.c +++ b/arch/sh/kernel/cpu/sh4a/clock-sh7785.c | |||
@@ -146,12 +146,8 @@ static struct clk_lookup lookups[] = { | |||
146 | CLKDEV_CON_ID("mmcif_fck", &mstp_clks[MSTP013]), | 146 | CLKDEV_CON_ID("mmcif_fck", &mstp_clks[MSTP013]), |
147 | CLKDEV_CON_ID("flctl_fck", &mstp_clks[MSTP012]), | 147 | CLKDEV_CON_ID("flctl_fck", &mstp_clks[MSTP012]), |
148 | 148 | ||
149 | CLKDEV_ICK_ID("tmu_fck", "sh_tmu.0", &mstp_clks[MSTP008]), | 149 | CLKDEV_ICK_ID("fck", "sh-tmu.0", &mstp_clks[MSTP008]), |
150 | CLKDEV_ICK_ID("tmu_fck", "sh_tmu.1", &mstp_clks[MSTP008]), | 150 | CLKDEV_ICK_ID("fck", "sh-tmu.1", &mstp_clks[MSTP009]), |
151 | CLKDEV_ICK_ID("tmu_fck", "sh_tmu.2", &mstp_clks[MSTP008]), | ||
152 | CLKDEV_ICK_ID("tmu_fck", "sh_tmu.3", &mstp_clks[MSTP009]), | ||
153 | CLKDEV_ICK_ID("tmu_fck", "sh_tmu.4", &mstp_clks[MSTP009]), | ||
154 | CLKDEV_ICK_ID("tmu_fck", "sh_tmu.5", &mstp_clks[MSTP009]), | ||
155 | 151 | ||
156 | CLKDEV_CON_ID("siof_fck", &mstp_clks[MSTP003]), | 152 | CLKDEV_CON_ID("siof_fck", &mstp_clks[MSTP003]), |
157 | CLKDEV_CON_ID("hspi_fck", &mstp_clks[MSTP002]), | 153 | CLKDEV_CON_ID("hspi_fck", &mstp_clks[MSTP002]), |
diff --git a/arch/sh/kernel/cpu/sh4a/clock-sh7786.c b/arch/sh/kernel/cpu/sh4a/clock-sh7786.c index 8bba6f159023..bec2a83f1ba5 100644 --- a/arch/sh/kernel/cpu/sh4a/clock-sh7786.c +++ b/arch/sh/kernel/cpu/sh4a/clock-sh7786.c | |||
@@ -155,18 +155,10 @@ static struct clk_lookup lookups[] = { | |||
155 | CLKDEV_CON_ID("i2c1_fck", &mstp_clks[MSTP015]), | 155 | CLKDEV_CON_ID("i2c1_fck", &mstp_clks[MSTP015]), |
156 | CLKDEV_CON_ID("i2c0_fck", &mstp_clks[MSTP014]), | 156 | CLKDEV_CON_ID("i2c0_fck", &mstp_clks[MSTP014]), |
157 | 157 | ||
158 | CLKDEV_ICK_ID("tmu_fck", "sh_tmu.0", &mstp_clks[MSTP008]), | 158 | CLKDEV_ICK_ID("fck", "sh-tmu.0", &mstp_clks[MSTP008]), |
159 | CLKDEV_ICK_ID("tmu_fck", "sh_tmu.1", &mstp_clks[MSTP008]), | 159 | CLKDEV_ICK_ID("fck", "sh-tmu.1", &mstp_clks[MSTP009]), |
160 | CLKDEV_ICK_ID("tmu_fck", "sh_tmu.2", &mstp_clks[MSTP008]), | 160 | CLKDEV_ICK_ID("fck", "sh-tmu.2", &mstp_clks[MSTP010]), |
161 | CLKDEV_ICK_ID("tmu_fck", "sh_tmu.3", &mstp_clks[MSTP009]), | 161 | CLKDEV_ICK_ID("fck", "sh-tmu.3", &mstp_clks[MSTP011]), |
162 | CLKDEV_ICK_ID("tmu_fck", "sh_tmu.4", &mstp_clks[MSTP009]), | ||
163 | CLKDEV_ICK_ID("tmu_fck", "sh_tmu.5", &mstp_clks[MSTP009]), | ||
164 | CLKDEV_ICK_ID("tmu_fck", "sh_tmu.6", &mstp_clks[MSTP010]), | ||
165 | CLKDEV_ICK_ID("tmu_fck", "sh_tmu.7", &mstp_clks[MSTP010]), | ||
166 | CLKDEV_ICK_ID("tmu_fck", "sh_tmu.8", &mstp_clks[MSTP010]), | ||
167 | CLKDEV_ICK_ID("tmu_fck", "sh_tmu.9", &mstp_clks[MSTP011]), | ||
168 | CLKDEV_ICK_ID("tmu_fck", "sh_tmu.10", &mstp_clks[MSTP011]), | ||
169 | CLKDEV_ICK_ID("tmu_fck", "sh_tmu.11", &mstp_clks[MSTP011]), | ||
170 | 162 | ||
171 | CLKDEV_CON_ID("sdif1_fck", &mstp_clks[MSTP005]), | 163 | CLKDEV_CON_ID("sdif1_fck", &mstp_clks[MSTP005]), |
172 | CLKDEV_CON_ID("sdif0_fck", &mstp_clks[MSTP004]), | 164 | CLKDEV_CON_ID("sdif0_fck", &mstp_clks[MSTP004]), |
diff --git a/arch/sh/kernel/cpu/sh4a/clock-shx3.c b/arch/sh/kernel/cpu/sh4a/clock-shx3.c index a9422dab0ce7..9a49a44f6f94 100644 --- a/arch/sh/kernel/cpu/sh4a/clock-shx3.c +++ b/arch/sh/kernel/cpu/sh4a/clock-shx3.c | |||
@@ -124,12 +124,8 @@ static struct clk_lookup lookups[] = { | |||
124 | CLKDEV_CON_ID("fe1_fck", &mstp_clks[MSTP001]), | 124 | CLKDEV_CON_ID("fe1_fck", &mstp_clks[MSTP001]), |
125 | CLKDEV_CON_ID("fe0_fck", &mstp_clks[MSTP000]), | 125 | CLKDEV_CON_ID("fe0_fck", &mstp_clks[MSTP000]), |
126 | 126 | ||
127 | CLKDEV_ICK_ID("tmu_fck", "sh_tmu.0", &mstp_clks[MSTP008]), | 127 | CLKDEV_ICK_ID("fck", "sh-tmu.0", &mstp_clks[MSTP008]), |
128 | CLKDEV_ICK_ID("tmu_fck", "sh_tmu.1", &mstp_clks[MSTP008]), | 128 | CLKDEV_ICK_ID("fck", "sh-tmu.1", &mstp_clks[MSTP009]), |
129 | CLKDEV_ICK_ID("tmu_fck", "sh_tmu.2", &mstp_clks[MSTP008]), | ||
130 | CLKDEV_ICK_ID("tmu_fck", "sh_tmu.3", &mstp_clks[MSTP009]), | ||
131 | CLKDEV_ICK_ID("tmu_fck", "sh_tmu.4", &mstp_clks[MSTP009]), | ||
132 | CLKDEV_ICK_ID("tmu_fck", "sh_tmu.5", &mstp_clks[MSTP009]), | ||
133 | 129 | ||
134 | CLKDEV_CON_ID("hudi_fck", &mstp_clks[MSTP119]), | 130 | CLKDEV_CON_ID("hudi_fck", &mstp_clks[MSTP119]), |
135 | CLKDEV_CON_ID("dmac_11_6_fck", &mstp_clks[MSTP105]), | 131 | CLKDEV_CON_ID("dmac_11_6_fck", &mstp_clks[MSTP105]), |
diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7343.c b/arch/sh/kernel/cpu/sh4a/setup-sh7343.c index 245d19254489..ceb3dedad983 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 | ||
230 | static struct sh_timer_config cmt_platform_data = { | 230 | static 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 | ||
237 | static struct resource cmt_resources[] = { | 234 | static 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 | ||
249 | static struct platform_device cmt_device = { | 239 | static 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, |
@@ -257,25 +247,18 @@ static struct platform_device cmt_device = { | |||
257 | }; | 247 | }; |
258 | 248 | ||
259 | static struct sh_timer_config tmu0_platform_data = { | 249 | static struct sh_timer_config tmu0_platform_data = { |
260 | .channel_offset = 0x04, | 250 | .channels_mask = 7, |
261 | .timer_bit = 0, | ||
262 | .clockevent_rating = 200, | ||
263 | }; | 251 | }; |
264 | 252 | ||
265 | static struct resource tmu0_resources[] = { | 253 | static struct resource tmu0_resources[] = { |
266 | [0] = { | 254 | DEFINE_RES_MEM(0xffd80000, 0x2c), |
267 | .start = 0xffd80008, | 255 | DEFINE_RES_IRQ(evt2irq(0x400)), |
268 | .end = 0xffd80013, | 256 | DEFINE_RES_IRQ(evt2irq(0x420)), |
269 | .flags = IORESOURCE_MEM, | 257 | DEFINE_RES_IRQ(evt2irq(0x440)), |
270 | }, | ||
271 | [1] = { | ||
272 | .start = evt2irq(0x400), | ||
273 | .flags = IORESOURCE_IRQ, | ||
274 | }, | ||
275 | }; | 258 | }; |
276 | 259 | ||
277 | static struct platform_device tmu0_device = { | 260 | static struct platform_device tmu0_device = { |
278 | .name = "sh_tmu", | 261 | .name = "sh-tmu", |
279 | .id = 0, | 262 | .id = 0, |
280 | .dev = { | 263 | .dev = { |
281 | .platform_data = &tmu0_platform_data, | 264 | .platform_data = &tmu0_platform_data, |
@@ -284,61 +267,6 @@ static struct platform_device tmu0_device = { | |||
284 | .num_resources = ARRAY_SIZE(tmu0_resources), | 267 | .num_resources = ARRAY_SIZE(tmu0_resources), |
285 | }; | 268 | }; |
286 | 269 | ||
287 | static struct sh_timer_config tmu1_platform_data = { | ||
288 | .channel_offset = 0x10, | ||
289 | .timer_bit = 1, | ||
290 | .clocksource_rating = 200, | ||
291 | }; | ||
292 | |||
293 | static struct resource tmu1_resources[] = { | ||
294 | [0] = { | ||
295 | .start = 0xffd80014, | ||
296 | .end = 0xffd8001f, | ||
297 | .flags = IORESOURCE_MEM, | ||
298 | }, | ||
299 | [1] = { | ||
300 | .start = evt2irq(0x420), | ||
301 | .flags = IORESOURCE_IRQ, | ||
302 | }, | ||
303 | }; | ||
304 | |||
305 | static struct platform_device tmu1_device = { | ||
306 | .name = "sh_tmu", | ||
307 | .id = 1, | ||
308 | .dev = { | ||
309 | .platform_data = &tmu1_platform_data, | ||
310 | }, | ||
311 | .resource = tmu1_resources, | ||
312 | .num_resources = ARRAY_SIZE(tmu1_resources), | ||
313 | }; | ||
314 | |||
315 | static struct sh_timer_config tmu2_platform_data = { | ||
316 | .channel_offset = 0x1c, | ||
317 | .timer_bit = 2, | ||
318 | }; | ||
319 | |||
320 | static struct resource tmu2_resources[] = { | ||
321 | [0] = { | ||
322 | .start = 0xffd80020, | ||
323 | .end = 0xffd8002b, | ||
324 | .flags = IORESOURCE_MEM, | ||
325 | }, | ||
326 | [1] = { | ||
327 | .start = evt2irq(0x440), | ||
328 | .flags = IORESOURCE_IRQ, | ||
329 | }, | ||
330 | }; | ||
331 | |||
332 | static struct platform_device tmu2_device = { | ||
333 | .name = "sh_tmu", | ||
334 | .id = 2, | ||
335 | .dev = { | ||
336 | .platform_data = &tmu2_platform_data, | ||
337 | }, | ||
338 | .resource = tmu2_resources, | ||
339 | .num_resources = ARRAY_SIZE(tmu2_resources), | ||
340 | }; | ||
341 | |||
342 | static struct platform_device *sh7343_devices[] __initdata = { | 270 | static struct platform_device *sh7343_devices[] __initdata = { |
343 | &scif0_device, | 271 | &scif0_device, |
344 | &scif1_device, | 272 | &scif1_device, |
@@ -346,8 +274,6 @@ static struct platform_device *sh7343_devices[] __initdata = { | |||
346 | &scif3_device, | 274 | &scif3_device, |
347 | &cmt_device, | 275 | &cmt_device, |
348 | &tmu0_device, | 276 | &tmu0_device, |
349 | &tmu1_device, | ||
350 | &tmu2_device, | ||
351 | &iic0_device, | 277 | &iic0_device, |
352 | &iic1_device, | 278 | &iic1_device, |
353 | &vpu_device, | 279 | &vpu_device, |
@@ -373,8 +299,6 @@ static struct platform_device *sh7343_early_devices[] __initdata = { | |||
373 | &scif3_device, | 299 | &scif3_device, |
374 | &cmt_device, | 300 | &cmt_device, |
375 | &tmu0_device, | 301 | &tmu0_device, |
376 | &tmu1_device, | ||
377 | &tmu2_device, | ||
378 | }; | 302 | }; |
379 | 303 | ||
380 | void __init plat_early_device_setup(void) | 304 | void __init plat_early_device_setup(void) |
diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7366.c b/arch/sh/kernel/cpu/sh4a/setup-sh7366.c index 6f56cbd76b20..f75f67343139 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 | ||
178 | static struct sh_timer_config cmt_platform_data = { | 178 | static 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 | ||
185 | static struct resource cmt_resources[] = { | 182 | static 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 | ||
197 | static struct platform_device cmt_device = { | 187 | static 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, |
@@ -205,25 +195,18 @@ static struct platform_device cmt_device = { | |||
205 | }; | 195 | }; |
206 | 196 | ||
207 | static struct sh_timer_config tmu0_platform_data = { | 197 | static struct sh_timer_config tmu0_platform_data = { |
208 | .channel_offset = 0x04, | 198 | .channels_mask = 7, |
209 | .timer_bit = 0, | ||
210 | .clockevent_rating = 200, | ||
211 | }; | 199 | }; |
212 | 200 | ||
213 | static struct resource tmu0_resources[] = { | 201 | static struct resource tmu0_resources[] = { |
214 | [0] = { | 202 | DEFINE_RES_MEM(0xffd80000, 0x2c), |
215 | .start = 0xffd80008, | 203 | DEFINE_RES_IRQ(evt2irq(0x400)), |
216 | .end = 0xffd80013, | 204 | DEFINE_RES_IRQ(evt2irq(0x420)), |
217 | .flags = IORESOURCE_MEM, | 205 | DEFINE_RES_IRQ(evt2irq(0x440)), |
218 | }, | ||
219 | [1] = { | ||
220 | .start = 16, | ||
221 | .flags = IORESOURCE_IRQ, | ||
222 | }, | ||
223 | }; | 206 | }; |
224 | 207 | ||
225 | static struct platform_device tmu0_device = { | 208 | static struct platform_device tmu0_device = { |
226 | .name = "sh_tmu", | 209 | .name = "sh-tmu", |
227 | .id = 0, | 210 | .id = 0, |
228 | .dev = { | 211 | .dev = { |
229 | .platform_data = &tmu0_platform_data, | 212 | .platform_data = &tmu0_platform_data, |
@@ -232,67 +215,10 @@ static struct platform_device tmu0_device = { | |||
232 | .num_resources = ARRAY_SIZE(tmu0_resources), | 215 | .num_resources = ARRAY_SIZE(tmu0_resources), |
233 | }; | 216 | }; |
234 | 217 | ||
235 | static struct sh_timer_config tmu1_platform_data = { | ||
236 | .channel_offset = 0x10, | ||
237 | .timer_bit = 1, | ||
238 | .clocksource_rating = 200, | ||
239 | }; | ||
240 | |||
241 | static struct resource tmu1_resources[] = { | ||
242 | [0] = { | ||
243 | .start = 0xffd80014, | ||
244 | .end = 0xffd8001f, | ||
245 | .flags = IORESOURCE_MEM, | ||
246 | }, | ||
247 | [1] = { | ||
248 | .start = evt2irq(0x420), | ||
249 | .flags = IORESOURCE_IRQ, | ||
250 | }, | ||
251 | }; | ||
252 | |||
253 | static struct platform_device tmu1_device = { | ||
254 | .name = "sh_tmu", | ||
255 | .id = 1, | ||
256 | .dev = { | ||
257 | .platform_data = &tmu1_platform_data, | ||
258 | }, | ||
259 | .resource = tmu1_resources, | ||
260 | .num_resources = ARRAY_SIZE(tmu1_resources), | ||
261 | }; | ||
262 | |||
263 | static struct sh_timer_config tmu2_platform_data = { | ||
264 | .channel_offset = 0x1c, | ||
265 | .timer_bit = 2, | ||
266 | }; | ||
267 | |||
268 | static struct resource tmu2_resources[] = { | ||
269 | [0] = { | ||
270 | .start = 0xffd80020, | ||
271 | .end = 0xffd8002b, | ||
272 | .flags = IORESOURCE_MEM, | ||
273 | }, | ||
274 | [1] = { | ||
275 | .start = evt2irq(0x440), | ||
276 | .flags = IORESOURCE_IRQ, | ||
277 | }, | ||
278 | }; | ||
279 | |||
280 | static struct platform_device tmu2_device = { | ||
281 | .name = "sh_tmu", | ||
282 | .id = 2, | ||
283 | .dev = { | ||
284 | .platform_data = &tmu2_platform_data, | ||
285 | }, | ||
286 | .resource = tmu2_resources, | ||
287 | .num_resources = ARRAY_SIZE(tmu2_resources), | ||
288 | }; | ||
289 | |||
290 | static struct platform_device *sh7366_devices[] __initdata = { | 218 | static struct platform_device *sh7366_devices[] __initdata = { |
291 | &scif0_device, | 219 | &scif0_device, |
292 | &cmt_device, | 220 | &cmt_device, |
293 | &tmu0_device, | 221 | &tmu0_device, |
294 | &tmu1_device, | ||
295 | &tmu2_device, | ||
296 | &iic_device, | 222 | &iic_device, |
297 | &usb_host_device, | 223 | &usb_host_device, |
298 | &vpu_device, | 224 | &vpu_device, |
@@ -315,8 +241,6 @@ static struct platform_device *sh7366_early_devices[] __initdata = { | |||
315 | &scif0_device, | 241 | &scif0_device, |
316 | &cmt_device, | 242 | &cmt_device, |
317 | &tmu0_device, | 243 | &tmu0_device, |
318 | &tmu1_device, | ||
319 | &tmu2_device, | ||
320 | }; | 244 | }; |
321 | 245 | ||
322 | void __init plat_early_device_setup(void) | 246 | void __init plat_early_device_setup(void) |
diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7722.c b/arch/sh/kernel/cpu/sh4a/setup-sh7722.c index 5a94efc8d4ce..57f83a92a505 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 | ||
415 | static struct sh_timer_config cmt_platform_data = { | 415 | static 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 | ||
422 | static struct resource cmt_resources[] = { | 419 | static 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 | ||
434 | static struct platform_device cmt_device = { | 424 | static 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, |
@@ -442,25 +432,18 @@ static struct platform_device cmt_device = { | |||
442 | }; | 432 | }; |
443 | 433 | ||
444 | static struct sh_timer_config tmu0_platform_data = { | 434 | static struct sh_timer_config tmu0_platform_data = { |
445 | .channel_offset = 0x04, | 435 | .channels_mask = 7, |
446 | .timer_bit = 0, | ||
447 | .clockevent_rating = 200, | ||
448 | }; | 436 | }; |
449 | 437 | ||
450 | static struct resource tmu0_resources[] = { | 438 | static struct resource tmu0_resources[] = { |
451 | [0] = { | 439 | DEFINE_RES_MEM(0xffd80000, 0x2c), |
452 | .start = 0xffd80008, | 440 | DEFINE_RES_IRQ(evt2irq(0x400)), |
453 | .end = 0xffd80013, | 441 | DEFINE_RES_IRQ(evt2irq(0x420)), |
454 | .flags = IORESOURCE_MEM, | 442 | DEFINE_RES_IRQ(evt2irq(0x440)), |
455 | }, | ||
456 | [1] = { | ||
457 | .start = evt2irq(0x400), | ||
458 | .flags = IORESOURCE_IRQ, | ||
459 | }, | ||
460 | }; | 443 | }; |
461 | 444 | ||
462 | static struct platform_device tmu0_device = { | 445 | static struct platform_device tmu0_device = { |
463 | .name = "sh_tmu", | 446 | .name = "sh-tmu", |
464 | .id = 0, | 447 | .id = 0, |
465 | .dev = { | 448 | .dev = { |
466 | .platform_data = &tmu0_platform_data, | 449 | .platform_data = &tmu0_platform_data, |
@@ -469,61 +452,6 @@ static struct platform_device tmu0_device = { | |||
469 | .num_resources = ARRAY_SIZE(tmu0_resources), | 452 | .num_resources = ARRAY_SIZE(tmu0_resources), |
470 | }; | 453 | }; |
471 | 454 | ||
472 | static struct sh_timer_config tmu1_platform_data = { | ||
473 | .channel_offset = 0x10, | ||
474 | .timer_bit = 1, | ||
475 | .clocksource_rating = 200, | ||
476 | }; | ||
477 | |||
478 | static struct resource tmu1_resources[] = { | ||
479 | [0] = { | ||
480 | .start = 0xffd80014, | ||
481 | .end = 0xffd8001f, | ||
482 | .flags = IORESOURCE_MEM, | ||
483 | }, | ||
484 | [1] = { | ||
485 | .start = evt2irq(0x420), | ||
486 | .flags = IORESOURCE_IRQ, | ||
487 | }, | ||
488 | }; | ||
489 | |||
490 | static struct platform_device tmu1_device = { | ||
491 | .name = "sh_tmu", | ||
492 | .id = 1, | ||
493 | .dev = { | ||
494 | .platform_data = &tmu1_platform_data, | ||
495 | }, | ||
496 | .resource = tmu1_resources, | ||
497 | .num_resources = ARRAY_SIZE(tmu1_resources), | ||
498 | }; | ||
499 | |||
500 | static struct sh_timer_config tmu2_platform_data = { | ||
501 | .channel_offset = 0x1c, | ||
502 | .timer_bit = 2, | ||
503 | }; | ||
504 | |||
505 | static struct resource tmu2_resources[] = { | ||
506 | [0] = { | ||
507 | .start = 0xffd80020, | ||
508 | .end = 0xffd8002b, | ||
509 | .flags = IORESOURCE_MEM, | ||
510 | }, | ||
511 | [1] = { | ||
512 | .start = 18, | ||
513 | .flags = IORESOURCE_IRQ, | ||
514 | }, | ||
515 | }; | ||
516 | |||
517 | static struct platform_device tmu2_device = { | ||
518 | .name = "sh_tmu", | ||
519 | .id = 2, | ||
520 | .dev = { | ||
521 | .platform_data = &tmu2_platform_data, | ||
522 | }, | ||
523 | .resource = tmu2_resources, | ||
524 | .num_resources = ARRAY_SIZE(tmu2_resources), | ||
525 | }; | ||
526 | |||
527 | static struct siu_platform siu_platform_data = { | 455 | static struct siu_platform siu_platform_data = { |
528 | .dma_slave_tx_a = SHDMA_SLAVE_SIUA_TX, | 456 | .dma_slave_tx_a = SHDMA_SLAVE_SIUA_TX, |
529 | .dma_slave_rx_a = SHDMA_SLAVE_SIUA_RX, | 457 | .dma_slave_rx_a = SHDMA_SLAVE_SIUA_RX, |
@@ -559,8 +487,6 @@ static struct platform_device *sh7722_devices[] __initdata = { | |||
559 | &scif2_device, | 487 | &scif2_device, |
560 | &cmt_device, | 488 | &cmt_device, |
561 | &tmu0_device, | 489 | &tmu0_device, |
562 | &tmu1_device, | ||
563 | &tmu2_device, | ||
564 | &rtc_device, | 490 | &rtc_device, |
565 | &usbf_device, | 491 | &usbf_device, |
566 | &iic_device, | 492 | &iic_device, |
@@ -588,8 +514,6 @@ static struct platform_device *sh7722_early_devices[] __initdata = { | |||
588 | &scif2_device, | 514 | &scif2_device, |
589 | &cmt_device, | 515 | &cmt_device, |
590 | &tmu0_device, | 516 | &tmu0_device, |
591 | &tmu1_device, | ||
592 | &tmu2_device, | ||
593 | }; | 517 | }; |
594 | 518 | ||
595 | void __init plat_early_device_setup(void) | 519 | void __init plat_early_device_setup(void) |
diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7723.c b/arch/sh/kernel/cpu/sh4a/setup-sh7723.c index 3c5eb0993a75..3533b56dd465 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 | ||
247 | static struct sh_timer_config cmt_platform_data = { | 247 | static 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 | ||
254 | static struct resource cmt_resources[] = { | 251 | static 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 | ||
266 | static struct platform_device cmt_device = { | 256 | static 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, |
@@ -274,25 +264,18 @@ static struct platform_device cmt_device = { | |||
274 | }; | 264 | }; |
275 | 265 | ||
276 | static struct sh_timer_config tmu0_platform_data = { | 266 | static struct sh_timer_config tmu0_platform_data = { |
277 | .channel_offset = 0x04, | 267 | .channels_mask = 7, |
278 | .timer_bit = 0, | ||
279 | .clockevent_rating = 200, | ||
280 | }; | 268 | }; |
281 | 269 | ||
282 | static struct resource tmu0_resources[] = { | 270 | static struct resource tmu0_resources[] = { |
283 | [0] = { | 271 | DEFINE_RES_MEM(0xffd80000, 0x2c), |
284 | .start = 0xffd80008, | 272 | DEFINE_RES_IRQ(evt2irq(0x400)), |
285 | .end = 0xffd80013, | 273 | DEFINE_RES_IRQ(evt2irq(0x420)), |
286 | .flags = IORESOURCE_MEM, | 274 | DEFINE_RES_IRQ(evt2irq(0x440)), |
287 | }, | ||
288 | [1] = { | ||
289 | .start = evt2irq(0x400), | ||
290 | .flags = IORESOURCE_IRQ, | ||
291 | }, | ||
292 | }; | 275 | }; |
293 | 276 | ||
294 | static struct platform_device tmu0_device = { | 277 | static struct platform_device tmu0_device = { |
295 | .name = "sh_tmu", | 278 | .name = "sh-tmu", |
296 | .id = 0, | 279 | .id = 0, |
297 | .dev = { | 280 | .dev = { |
298 | .platform_data = &tmu0_platform_data, | 281 | .platform_data = &tmu0_platform_data, |
@@ -302,25 +285,18 @@ static struct platform_device tmu0_device = { | |||
302 | }; | 285 | }; |
303 | 286 | ||
304 | static struct sh_timer_config tmu1_platform_data = { | 287 | static struct sh_timer_config tmu1_platform_data = { |
305 | .channel_offset = 0x10, | 288 | .channels_mask = 7, |
306 | .timer_bit = 1, | ||
307 | .clocksource_rating = 200, | ||
308 | }; | 289 | }; |
309 | 290 | ||
310 | static struct resource tmu1_resources[] = { | 291 | static struct resource tmu1_resources[] = { |
311 | [0] = { | 292 | DEFINE_RES_MEM(0xffd90000, 0x2c), |
312 | .start = 0xffd80014, | 293 | DEFINE_RES_IRQ(evt2irq(0x920)), |
313 | .end = 0xffd8001f, | 294 | DEFINE_RES_IRQ(evt2irq(0x940)), |
314 | .flags = IORESOURCE_MEM, | 295 | DEFINE_RES_IRQ(evt2irq(0x960)), |
315 | }, | ||
316 | [1] = { | ||
317 | .start = evt2irq(0x420), | ||
318 | .flags = IORESOURCE_IRQ, | ||
319 | }, | ||
320 | }; | 296 | }; |
321 | 297 | ||
322 | static struct platform_device tmu1_device = { | 298 | static struct platform_device tmu1_device = { |
323 | .name = "sh_tmu", | 299 | .name = "sh-tmu", |
324 | .id = 1, | 300 | .id = 1, |
325 | .dev = { | 301 | .dev = { |
326 | .platform_data = &tmu1_platform_data, | 302 | .platform_data = &tmu1_platform_data, |
@@ -329,114 +305,6 @@ static struct platform_device tmu1_device = { | |||
329 | .num_resources = ARRAY_SIZE(tmu1_resources), | 305 | .num_resources = ARRAY_SIZE(tmu1_resources), |
330 | }; | 306 | }; |
331 | 307 | ||
332 | static struct sh_timer_config tmu2_platform_data = { | ||
333 | .channel_offset = 0x1c, | ||
334 | .timer_bit = 2, | ||
335 | }; | ||
336 | |||
337 | static struct resource tmu2_resources[] = { | ||
338 | [0] = { | ||
339 | .start = 0xffd80020, | ||
340 | .end = 0xffd8002b, | ||
341 | .flags = IORESOURCE_MEM, | ||
342 | }, | ||
343 | [1] = { | ||
344 | .start = evt2irq(0x440), | ||
345 | .flags = IORESOURCE_IRQ, | ||
346 | }, | ||
347 | }; | ||
348 | |||
349 | static struct platform_device tmu2_device = { | ||
350 | .name = "sh_tmu", | ||
351 | .id = 2, | ||
352 | .dev = { | ||
353 | .platform_data = &tmu2_platform_data, | ||
354 | }, | ||
355 | .resource = tmu2_resources, | ||
356 | .num_resources = ARRAY_SIZE(tmu2_resources), | ||
357 | }; | ||
358 | |||
359 | static struct sh_timer_config tmu3_platform_data = { | ||
360 | .channel_offset = 0x04, | ||
361 | .timer_bit = 0, | ||
362 | }; | ||
363 | |||
364 | static struct resource tmu3_resources[] = { | ||
365 | [0] = { | ||
366 | .start = 0xffd90008, | ||
367 | .end = 0xffd90013, | ||
368 | .flags = IORESOURCE_MEM, | ||
369 | }, | ||
370 | [1] = { | ||
371 | .start = evt2irq(0x920), | ||
372 | .flags = IORESOURCE_IRQ, | ||
373 | }, | ||
374 | }; | ||
375 | |||
376 | static struct platform_device tmu3_device = { | ||
377 | .name = "sh_tmu", | ||
378 | .id = 3, | ||
379 | .dev = { | ||
380 | .platform_data = &tmu3_platform_data, | ||
381 | }, | ||
382 | .resource = tmu3_resources, | ||
383 | .num_resources = ARRAY_SIZE(tmu3_resources), | ||
384 | }; | ||
385 | |||
386 | static struct sh_timer_config tmu4_platform_data = { | ||
387 | .channel_offset = 0x10, | ||
388 | .timer_bit = 1, | ||
389 | }; | ||
390 | |||
391 | static struct resource tmu4_resources[] = { | ||
392 | [0] = { | ||
393 | .start = 0xffd90014, | ||
394 | .end = 0xffd9001f, | ||
395 | .flags = IORESOURCE_MEM, | ||
396 | }, | ||
397 | [1] = { | ||
398 | .start = evt2irq(0x940), | ||
399 | .flags = IORESOURCE_IRQ, | ||
400 | }, | ||
401 | }; | ||
402 | |||
403 | static struct platform_device tmu4_device = { | ||
404 | .name = "sh_tmu", | ||
405 | .id = 4, | ||
406 | .dev = { | ||
407 | .platform_data = &tmu4_platform_data, | ||
408 | }, | ||
409 | .resource = tmu4_resources, | ||
410 | .num_resources = ARRAY_SIZE(tmu4_resources), | ||
411 | }; | ||
412 | |||
413 | static struct sh_timer_config tmu5_platform_data = { | ||
414 | .channel_offset = 0x1c, | ||
415 | .timer_bit = 2, | ||
416 | }; | ||
417 | |||
418 | static struct resource tmu5_resources[] = { | ||
419 | [0] = { | ||
420 | .start = 0xffd90020, | ||
421 | .end = 0xffd9002b, | ||
422 | .flags = IORESOURCE_MEM, | ||
423 | }, | ||
424 | [1] = { | ||
425 | .start = evt2irq(0x920), | ||
426 | .flags = IORESOURCE_IRQ, | ||
427 | }, | ||
428 | }; | ||
429 | |||
430 | static struct platform_device tmu5_device = { | ||
431 | .name = "sh_tmu", | ||
432 | .id = 5, | ||
433 | .dev = { | ||
434 | .platform_data = &tmu5_platform_data, | ||
435 | }, | ||
436 | .resource = tmu5_resources, | ||
437 | .num_resources = ARRAY_SIZE(tmu5_resources), | ||
438 | }; | ||
439 | |||
440 | static struct resource rtc_resources[] = { | 308 | static struct resource rtc_resources[] = { |
441 | [0] = { | 309 | [0] = { |
442 | .start = 0xa465fec0, | 310 | .start = 0xa465fec0, |
@@ -527,10 +395,6 @@ static struct platform_device *sh7723_devices[] __initdata = { | |||
527 | &cmt_device, | 395 | &cmt_device, |
528 | &tmu0_device, | 396 | &tmu0_device, |
529 | &tmu1_device, | 397 | &tmu1_device, |
530 | &tmu2_device, | ||
531 | &tmu3_device, | ||
532 | &tmu4_device, | ||
533 | &tmu5_device, | ||
534 | &rtc_device, | 398 | &rtc_device, |
535 | &iic_device, | 399 | &iic_device, |
536 | &sh7723_usb_host_device, | 400 | &sh7723_usb_host_device, |
@@ -560,10 +424,6 @@ static struct platform_device *sh7723_early_devices[] __initdata = { | |||
560 | &cmt_device, | 424 | &cmt_device, |
561 | &tmu0_device, | 425 | &tmu0_device, |
562 | &tmu1_device, | 426 | &tmu1_device, |
563 | &tmu2_device, | ||
564 | &tmu3_device, | ||
565 | &tmu4_device, | ||
566 | &tmu5_device, | ||
567 | }; | 427 | }; |
568 | 428 | ||
569 | void __init plat_early_device_setup(void) | 429 | void __init plat_early_device_setup(void) |
diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7724.c b/arch/sh/kernel/cpu/sh4a/setup-sh7724.c index 60ebbc6842ff..b9e84b1d3aa7 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 | ||
650 | static struct sh_timer_config cmt_platform_data = { | 650 | static 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 | ||
657 | static struct resource cmt_resources[] = { | 654 | static 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 | ||
669 | static struct platform_device cmt_device = { | 659 | static 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, |
@@ -677,25 +667,18 @@ static struct platform_device cmt_device = { | |||
677 | }; | 667 | }; |
678 | 668 | ||
679 | static struct sh_timer_config tmu0_platform_data = { | 669 | static struct sh_timer_config tmu0_platform_data = { |
680 | .channel_offset = 0x04, | 670 | .channels_mask = 7, |
681 | .timer_bit = 0, | ||
682 | .clockevent_rating = 200, | ||
683 | }; | 671 | }; |
684 | 672 | ||
685 | static struct resource tmu0_resources[] = { | 673 | static struct resource tmu0_resources[] = { |
686 | [0] = { | 674 | DEFINE_RES_MEM(0xffd80000, 0x2c), |
687 | .start = 0xffd80008, | 675 | DEFINE_RES_IRQ(evt2irq(0x400)), |
688 | .end = 0xffd80013, | 676 | DEFINE_RES_IRQ(evt2irq(0x420)), |
689 | .flags = IORESOURCE_MEM, | 677 | DEFINE_RES_IRQ(evt2irq(0x440)), |
690 | }, | ||
691 | [1] = { | ||
692 | .start = evt2irq(0x400), | ||
693 | .flags = IORESOURCE_IRQ, | ||
694 | }, | ||
695 | }; | 678 | }; |
696 | 679 | ||
697 | static struct platform_device tmu0_device = { | 680 | static struct platform_device tmu0_device = { |
698 | .name = "sh_tmu", | 681 | .name = "sh-tmu", |
699 | .id = 0, | 682 | .id = 0, |
700 | .dev = { | 683 | .dev = { |
701 | .platform_data = &tmu0_platform_data, | 684 | .platform_data = &tmu0_platform_data, |
@@ -705,25 +688,18 @@ static struct platform_device tmu0_device = { | |||
705 | }; | 688 | }; |
706 | 689 | ||
707 | static struct sh_timer_config tmu1_platform_data = { | 690 | static struct sh_timer_config tmu1_platform_data = { |
708 | .channel_offset = 0x10, | 691 | .channels_mask = 7, |
709 | .timer_bit = 1, | ||
710 | .clocksource_rating = 200, | ||
711 | }; | 692 | }; |
712 | 693 | ||
713 | static struct resource tmu1_resources[] = { | 694 | static struct resource tmu1_resources[] = { |
714 | [0] = { | 695 | DEFINE_RES_MEM(0xffd90000, 0x2c), |
715 | .start = 0xffd80014, | 696 | DEFINE_RES_IRQ(evt2irq(0x920)), |
716 | .end = 0xffd8001f, | 697 | DEFINE_RES_IRQ(evt2irq(0x940)), |
717 | .flags = IORESOURCE_MEM, | 698 | DEFINE_RES_IRQ(evt2irq(0x960)), |
718 | }, | ||
719 | [1] = { | ||
720 | .start = evt2irq(0x420), | ||
721 | .flags = IORESOURCE_IRQ, | ||
722 | }, | ||
723 | }; | 699 | }; |
724 | 700 | ||
725 | static struct platform_device tmu1_device = { | 701 | static struct platform_device tmu1_device = { |
726 | .name = "sh_tmu", | 702 | .name = "sh-tmu", |
727 | .id = 1, | 703 | .id = 1, |
728 | .dev = { | 704 | .dev = { |
729 | .platform_data = &tmu1_platform_data, | 705 | .platform_data = &tmu1_platform_data, |
@@ -732,115 +708,6 @@ static struct platform_device tmu1_device = { | |||
732 | .num_resources = ARRAY_SIZE(tmu1_resources), | 708 | .num_resources = ARRAY_SIZE(tmu1_resources), |
733 | }; | 709 | }; |
734 | 710 | ||
735 | static struct sh_timer_config tmu2_platform_data = { | ||
736 | .channel_offset = 0x1c, | ||
737 | .timer_bit = 2, | ||
738 | }; | ||
739 | |||
740 | static struct resource tmu2_resources[] = { | ||
741 | [0] = { | ||
742 | .start = 0xffd80020, | ||
743 | .end = 0xffd8002b, | ||
744 | .flags = IORESOURCE_MEM, | ||
745 | }, | ||
746 | [1] = { | ||
747 | .start = evt2irq(0x440), | ||
748 | .flags = IORESOURCE_IRQ, | ||
749 | }, | ||
750 | }; | ||
751 | |||
752 | static struct platform_device tmu2_device = { | ||
753 | .name = "sh_tmu", | ||
754 | .id = 2, | ||
755 | .dev = { | ||
756 | .platform_data = &tmu2_platform_data, | ||
757 | }, | ||
758 | .resource = tmu2_resources, | ||
759 | .num_resources = ARRAY_SIZE(tmu2_resources), | ||
760 | }; | ||
761 | |||
762 | |||
763 | static struct sh_timer_config tmu3_platform_data = { | ||
764 | .channel_offset = 0x04, | ||
765 | .timer_bit = 0, | ||
766 | }; | ||
767 | |||
768 | static struct resource tmu3_resources[] = { | ||
769 | [0] = { | ||
770 | .start = 0xffd90008, | ||
771 | .end = 0xffd90013, | ||
772 | .flags = IORESOURCE_MEM, | ||
773 | }, | ||
774 | [1] = { | ||
775 | .start = evt2irq(0x920), | ||
776 | .flags = IORESOURCE_IRQ, | ||
777 | }, | ||
778 | }; | ||
779 | |||
780 | static struct platform_device tmu3_device = { | ||
781 | .name = "sh_tmu", | ||
782 | .id = 3, | ||
783 | .dev = { | ||
784 | .platform_data = &tmu3_platform_data, | ||
785 | }, | ||
786 | .resource = tmu3_resources, | ||
787 | .num_resources = ARRAY_SIZE(tmu3_resources), | ||
788 | }; | ||
789 | |||
790 | static struct sh_timer_config tmu4_platform_data = { | ||
791 | .channel_offset = 0x10, | ||
792 | .timer_bit = 1, | ||
793 | }; | ||
794 | |||
795 | static struct resource tmu4_resources[] = { | ||
796 | [0] = { | ||
797 | .start = 0xffd90014, | ||
798 | .end = 0xffd9001f, | ||
799 | .flags = IORESOURCE_MEM, | ||
800 | }, | ||
801 | [1] = { | ||
802 | .start = evt2irq(0x940), | ||
803 | .flags = IORESOURCE_IRQ, | ||
804 | }, | ||
805 | }; | ||
806 | |||
807 | static struct platform_device tmu4_device = { | ||
808 | .name = "sh_tmu", | ||
809 | .id = 4, | ||
810 | .dev = { | ||
811 | .platform_data = &tmu4_platform_data, | ||
812 | }, | ||
813 | .resource = tmu4_resources, | ||
814 | .num_resources = ARRAY_SIZE(tmu4_resources), | ||
815 | }; | ||
816 | |||
817 | static struct sh_timer_config tmu5_platform_data = { | ||
818 | .channel_offset = 0x1c, | ||
819 | .timer_bit = 2, | ||
820 | }; | ||
821 | |||
822 | static struct resource tmu5_resources[] = { | ||
823 | [0] = { | ||
824 | .start = 0xffd90020, | ||
825 | .end = 0xffd9002b, | ||
826 | .flags = IORESOURCE_MEM, | ||
827 | }, | ||
828 | [1] = { | ||
829 | .start = evt2irq(0x920), | ||
830 | .flags = IORESOURCE_IRQ, | ||
831 | }, | ||
832 | }; | ||
833 | |||
834 | static struct platform_device tmu5_device = { | ||
835 | .name = "sh_tmu", | ||
836 | .id = 5, | ||
837 | .dev = { | ||
838 | .platform_data = &tmu5_platform_data, | ||
839 | }, | ||
840 | .resource = tmu5_resources, | ||
841 | .num_resources = ARRAY_SIZE(tmu5_resources), | ||
842 | }; | ||
843 | |||
844 | /* JPU */ | 711 | /* JPU */ |
845 | static struct uio_info jpu_platform_data = { | 712 | static struct uio_info jpu_platform_data = { |
846 | .name = "JPU", | 713 | .name = "JPU", |
@@ -938,10 +805,6 @@ static struct platform_device *sh7724_devices[] __initdata = { | |||
938 | &cmt_device, | 805 | &cmt_device, |
939 | &tmu0_device, | 806 | &tmu0_device, |
940 | &tmu1_device, | 807 | &tmu1_device, |
941 | &tmu2_device, | ||
942 | &tmu3_device, | ||
943 | &tmu4_device, | ||
944 | &tmu5_device, | ||
945 | &dma0_device, | 808 | &dma0_device, |
946 | &dma1_device, | 809 | &dma1_device, |
947 | &rtc_device, | 810 | &rtc_device, |
@@ -981,10 +844,6 @@ static struct platform_device *sh7724_early_devices[] __initdata = { | |||
981 | &cmt_device, | 844 | &cmt_device, |
982 | &tmu0_device, | 845 | &tmu0_device, |
983 | &tmu1_device, | 846 | &tmu1_device, |
984 | &tmu2_device, | ||
985 | &tmu3_device, | ||
986 | &tmu4_device, | ||
987 | &tmu5_device, | ||
988 | }; | 847 | }; |
989 | 848 | ||
990 | void __init plat_early_device_setup(void) | 849 | void __init plat_early_device_setup(void) |
diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7734.c b/arch/sh/kernel/cpu/sh4a/setup-sh7734.c index dad4ed1b2f94..f617bcb734df 100644 --- a/arch/sh/kernel/cpu/sh4a/setup-sh7734.c +++ b/arch/sh/kernel/cpu/sh4a/setup-sh7734.c | |||
@@ -200,25 +200,18 @@ static struct platform_device i2c0_device = { | |||
200 | 200 | ||
201 | /* TMU */ | 201 | /* TMU */ |
202 | static struct sh_timer_config tmu0_platform_data = { | 202 | static struct sh_timer_config tmu0_platform_data = { |
203 | .channel_offset = 0x04, | 203 | .channels_mask = 7, |
204 | .timer_bit = 0, | ||
205 | .clockevent_rating = 200, | ||
206 | }; | 204 | }; |
207 | 205 | ||
208 | static struct resource tmu0_resources[] = { | 206 | static struct resource tmu0_resources[] = { |
209 | [0] = { | 207 | DEFINE_RES_MEM(0xffd80000, 0x30), |
210 | .start = 0xFFD80008, | 208 | DEFINE_RES_IRQ(evt2irq(0x400)), |
211 | .end = 0xFFD80014 - 1, | 209 | DEFINE_RES_IRQ(evt2irq(0x420)), |
212 | .flags = IORESOURCE_MEM, | 210 | DEFINE_RES_IRQ(evt2irq(0x440)), |
213 | }, | ||
214 | [1] = { | ||
215 | .start = evt2irq(0x400), | ||
216 | .flags = IORESOURCE_IRQ, | ||
217 | }, | ||
218 | }; | 211 | }; |
219 | 212 | ||
220 | static struct platform_device tmu0_device = { | 213 | static struct platform_device tmu0_device = { |
221 | .name = "sh_tmu", | 214 | .name = "sh-tmu", |
222 | .id = 0, | 215 | .id = 0, |
223 | .dev = { | 216 | .dev = { |
224 | .platform_data = &tmu0_platform_data, | 217 | .platform_data = &tmu0_platform_data, |
@@ -228,26 +221,19 @@ static struct platform_device tmu0_device = { | |||
228 | }; | 221 | }; |
229 | 222 | ||
230 | static struct sh_timer_config tmu1_platform_data = { | 223 | static struct sh_timer_config tmu1_platform_data = { |
231 | .channel_offset = 0x10, | 224 | .channels_mask = 7, |
232 | .timer_bit = 1, | ||
233 | .clocksource_rating = 200, | ||
234 | }; | 225 | }; |
235 | 226 | ||
236 | static struct resource tmu1_resources[] = { | 227 | static struct resource tmu1_resources[] = { |
237 | [0] = { | 228 | DEFINE_RES_MEM(0xffd81000, 0x30), |
238 | .start = 0xFFD80014, | 229 | DEFINE_RES_IRQ(evt2irq(0x480)), |
239 | .end = 0xFFD80020 - 1, | 230 | DEFINE_RES_IRQ(evt2irq(0x4a0)), |
240 | .flags = IORESOURCE_MEM, | 231 | DEFINE_RES_IRQ(evt2irq(0x4c0)), |
241 | }, | ||
242 | [1] = { | ||
243 | .start = evt2irq(0x420), | ||
244 | .flags = IORESOURCE_IRQ, | ||
245 | }, | ||
246 | }; | 232 | }; |
247 | 233 | ||
248 | static struct platform_device tmu1_device = { | 234 | static struct platform_device tmu1_device = { |
249 | .name = "sh_tmu", | 235 | .name = "sh-tmu", |
250 | .id = 1, | 236 | .id = 1, |
251 | .dev = { | 237 | .dev = { |
252 | .platform_data = &tmu1_platform_data, | 238 | .platform_data = &tmu1_platform_data, |
253 | }, | 239 | }, |
@@ -256,25 +242,19 @@ static struct platform_device tmu1_device = { | |||
256 | }; | 242 | }; |
257 | 243 | ||
258 | static struct sh_timer_config tmu2_platform_data = { | 244 | static struct sh_timer_config tmu2_platform_data = { |
259 | .channel_offset = 0x1c, | 245 | .channels_mask = 7, |
260 | .timer_bit = 2, | ||
261 | }; | 246 | }; |
262 | 247 | ||
263 | static struct resource tmu2_resources[] = { | 248 | static struct resource tmu2_resources[] = { |
264 | [0] = { | 249 | DEFINE_RES_MEM(0xffd82000, 0x30), |
265 | .start = 0xFFD80020, | 250 | DEFINE_RES_IRQ(evt2irq(0x500)), |
266 | .end = 0xFFD80030 - 1, | 251 | DEFINE_RES_IRQ(evt2irq(0x520)), |
267 | .flags = IORESOURCE_MEM, | 252 | DEFINE_RES_IRQ(evt2irq(0x540)), |
268 | }, | ||
269 | [1] = { | ||
270 | .start = evt2irq(0x440), | ||
271 | .flags = IORESOURCE_IRQ, | ||
272 | }, | ||
273 | }; | 253 | }; |
274 | 254 | ||
275 | static struct platform_device tmu2_device = { | 255 | static struct platform_device tmu2_device = { |
276 | .name = "sh_tmu", | 256 | .name = "sh-tmu", |
277 | .id = 2, | 257 | .id = 2, |
278 | .dev = { | 258 | .dev = { |
279 | .platform_data = &tmu2_platform_data, | 259 | .platform_data = &tmu2_platform_data, |
280 | }, | 260 | }, |
@@ -282,169 +262,6 @@ static struct platform_device tmu2_device = { | |||
282 | .num_resources = ARRAY_SIZE(tmu2_resources), | 262 | .num_resources = ARRAY_SIZE(tmu2_resources), |
283 | }; | 263 | }; |
284 | 264 | ||
285 | |||
286 | static struct sh_timer_config tmu3_platform_data = { | ||
287 | .channel_offset = 0x04, | ||
288 | .timer_bit = 0, | ||
289 | }; | ||
290 | |||
291 | static struct resource tmu3_resources[] = { | ||
292 | [0] = { | ||
293 | .start = 0xFFD81008, | ||
294 | .end = 0xFFD81014 - 1, | ||
295 | .flags = IORESOURCE_MEM, | ||
296 | }, | ||
297 | [1] = { | ||
298 | .start = evt2irq(0x480), | ||
299 | .flags = IORESOURCE_IRQ, | ||
300 | }, | ||
301 | }; | ||
302 | |||
303 | static struct platform_device tmu3_device = { | ||
304 | .name = "sh_tmu", | ||
305 | .id = 3, | ||
306 | .dev = { | ||
307 | .platform_data = &tmu3_platform_data, | ||
308 | }, | ||
309 | .resource = tmu3_resources, | ||
310 | .num_resources = ARRAY_SIZE(tmu3_resources), | ||
311 | }; | ||
312 | |||
313 | static struct sh_timer_config tmu4_platform_data = { | ||
314 | .channel_offset = 0x10, | ||
315 | .timer_bit = 1, | ||
316 | }; | ||
317 | |||
318 | static struct resource tmu4_resources[] = { | ||
319 | [0] = { | ||
320 | .start = 0xFFD81014, | ||
321 | .end = 0xFFD81020 - 1, | ||
322 | .flags = IORESOURCE_MEM, | ||
323 | }, | ||
324 | [1] = { | ||
325 | .start = evt2irq(0x4A0), | ||
326 | .flags = IORESOURCE_IRQ, | ||
327 | }, | ||
328 | }; | ||
329 | |||
330 | static struct platform_device tmu4_device = { | ||
331 | .name = "sh_tmu", | ||
332 | .id = 4, | ||
333 | .dev = { | ||
334 | .platform_data = &tmu4_platform_data, | ||
335 | }, | ||
336 | .resource = tmu4_resources, | ||
337 | .num_resources = ARRAY_SIZE(tmu4_resources), | ||
338 | }; | ||
339 | |||
340 | static struct sh_timer_config tmu5_platform_data = { | ||
341 | .channel_offset = 0x1c, | ||
342 | .timer_bit = 2, | ||
343 | }; | ||
344 | |||
345 | static struct resource tmu5_resources[] = { | ||
346 | [0] = { | ||
347 | .start = 0xFFD81020, | ||
348 | .end = 0xFFD81030 - 1, | ||
349 | .flags = IORESOURCE_MEM, | ||
350 | }, | ||
351 | [1] = { | ||
352 | .start = evt2irq(0x4C0), | ||
353 | .flags = IORESOURCE_IRQ, | ||
354 | }, | ||
355 | }; | ||
356 | |||
357 | static struct platform_device tmu5_device = { | ||
358 | .name = "sh_tmu", | ||
359 | .id = 5, | ||
360 | .dev = { | ||
361 | .platform_data = &tmu5_platform_data, | ||
362 | }, | ||
363 | .resource = tmu5_resources, | ||
364 | .num_resources = ARRAY_SIZE(tmu5_resources), | ||
365 | }; | ||
366 | |||
367 | static struct sh_timer_config tmu6_platform_data = { | ||
368 | .channel_offset = 0x4, | ||
369 | .timer_bit = 0, | ||
370 | }; | ||
371 | |||
372 | static struct resource tmu6_resources[] = { | ||
373 | [0] = { | ||
374 | .start = 0xFFD82008, | ||
375 | .end = 0xFFD82014 - 1, | ||
376 | .flags = IORESOURCE_MEM, | ||
377 | }, | ||
378 | [1] = { | ||
379 | .start = evt2irq(0x500), | ||
380 | .flags = IORESOURCE_IRQ, | ||
381 | }, | ||
382 | }; | ||
383 | |||
384 | static struct platform_device tmu6_device = { | ||
385 | .name = "sh_tmu", | ||
386 | .id = 6, | ||
387 | .dev = { | ||
388 | .platform_data = &tmu6_platform_data, | ||
389 | }, | ||
390 | .resource = tmu6_resources, | ||
391 | .num_resources = ARRAY_SIZE(tmu6_resources), | ||
392 | }; | ||
393 | |||
394 | static struct sh_timer_config tmu7_platform_data = { | ||
395 | .channel_offset = 0x10, | ||
396 | .timer_bit = 1, | ||
397 | }; | ||
398 | |||
399 | static struct resource tmu7_resources[] = { | ||
400 | [0] = { | ||
401 | .start = 0xFFD82014, | ||
402 | .end = 0xFFD82020 - 1, | ||
403 | .flags = IORESOURCE_MEM, | ||
404 | }, | ||
405 | [1] = { | ||
406 | .start = evt2irq(0x520), | ||
407 | .flags = IORESOURCE_IRQ, | ||
408 | }, | ||
409 | }; | ||
410 | |||
411 | static struct platform_device tmu7_device = { | ||
412 | .name = "sh_tmu", | ||
413 | .id = 7, | ||
414 | .dev = { | ||
415 | .platform_data = &tmu7_platform_data, | ||
416 | }, | ||
417 | .resource = tmu7_resources, | ||
418 | .num_resources = ARRAY_SIZE(tmu7_resources), | ||
419 | }; | ||
420 | |||
421 | static struct sh_timer_config tmu8_platform_data = { | ||
422 | .channel_offset = 0x1c, | ||
423 | .timer_bit = 2, | ||
424 | }; | ||
425 | |||
426 | static struct resource tmu8_resources[] = { | ||
427 | [0] = { | ||
428 | .start = 0xFFD82020, | ||
429 | .end = 0xFFD82030 - 1, | ||
430 | .flags = IORESOURCE_MEM, | ||
431 | }, | ||
432 | [1] = { | ||
433 | .start = evt2irq(0x540), | ||
434 | .flags = IORESOURCE_IRQ, | ||
435 | }, | ||
436 | }; | ||
437 | |||
438 | static struct platform_device tmu8_device = { | ||
439 | .name = "sh_tmu", | ||
440 | .id = 8, | ||
441 | .dev = { | ||
442 | .platform_data = &tmu8_platform_data, | ||
443 | }, | ||
444 | .resource = tmu8_resources, | ||
445 | .num_resources = ARRAY_SIZE(tmu8_resources), | ||
446 | }; | ||
447 | |||
448 | static struct platform_device *sh7734_devices[] __initdata = { | 265 | static struct platform_device *sh7734_devices[] __initdata = { |
449 | &scif0_device, | 266 | &scif0_device, |
450 | &scif1_device, | 267 | &scif1_device, |
@@ -455,12 +272,6 @@ static struct platform_device *sh7734_devices[] __initdata = { | |||
455 | &tmu0_device, | 272 | &tmu0_device, |
456 | &tmu1_device, | 273 | &tmu1_device, |
457 | &tmu2_device, | 274 | &tmu2_device, |
458 | &tmu3_device, | ||
459 | &tmu4_device, | ||
460 | &tmu5_device, | ||
461 | &tmu6_device, | ||
462 | &tmu7_device, | ||
463 | &tmu8_device, | ||
464 | &rtc_device, | 275 | &rtc_device, |
465 | }; | 276 | }; |
466 | 277 | ||
@@ -474,12 +285,6 @@ static struct platform_device *sh7734_early_devices[] __initdata = { | |||
474 | &tmu0_device, | 285 | &tmu0_device, |
475 | &tmu1_device, | 286 | &tmu1_device, |
476 | &tmu2_device, | 287 | &tmu2_device, |
477 | &tmu3_device, | ||
478 | &tmu4_device, | ||
479 | &tmu5_device, | ||
480 | &tmu6_device, | ||
481 | &tmu7_device, | ||
482 | &tmu8_device, | ||
483 | }; | 288 | }; |
484 | 289 | ||
485 | void __init plat_early_device_setup(void) | 290 | void __init plat_early_device_setup(void) |
diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7757.c b/arch/sh/kernel/cpu/sh4a/setup-sh7757.c index e43e5db53913..7b24ec4b409a 100644 --- a/arch/sh/kernel/cpu/sh4a/setup-sh7757.c +++ b/arch/sh/kernel/cpu/sh4a/setup-sh7757.c | |||
@@ -87,25 +87,17 @@ static struct platform_device scif4_device = { | |||
87 | }; | 87 | }; |
88 | 88 | ||
89 | static struct sh_timer_config tmu0_platform_data = { | 89 | static struct sh_timer_config tmu0_platform_data = { |
90 | .channel_offset = 0x04, | 90 | .channels_mask = 3, |
91 | .timer_bit = 0, | ||
92 | .clockevent_rating = 200, | ||
93 | }; | 91 | }; |
94 | 92 | ||
95 | static struct resource tmu0_resources[] = { | 93 | static struct resource tmu0_resources[] = { |
96 | [0] = { | 94 | DEFINE_RES_MEM(0xfe430000, 0x20), |
97 | .start = 0xfe430008, | 95 | DEFINE_RES_IRQ(evt2irq(0x580)), |
98 | .end = 0xfe430013, | 96 | DEFINE_RES_IRQ(evt2irq(0x5a0)), |
99 | .flags = IORESOURCE_MEM, | ||
100 | }, | ||
101 | [1] = { | ||
102 | .start = evt2irq(0x580), | ||
103 | .flags = IORESOURCE_IRQ, | ||
104 | }, | ||
105 | }; | 97 | }; |
106 | 98 | ||
107 | static struct platform_device tmu0_device = { | 99 | static struct platform_device tmu0_device = { |
108 | .name = "sh_tmu", | 100 | .name = "sh-tmu", |
109 | .id = 0, | 101 | .id = 0, |
110 | .dev = { | 102 | .dev = { |
111 | .platform_data = &tmu0_platform_data, | 103 | .platform_data = &tmu0_platform_data, |
@@ -114,34 +106,6 @@ static struct platform_device tmu0_device = { | |||
114 | .num_resources = ARRAY_SIZE(tmu0_resources), | 106 | .num_resources = ARRAY_SIZE(tmu0_resources), |
115 | }; | 107 | }; |
116 | 108 | ||
117 | static struct sh_timer_config tmu1_platform_data = { | ||
118 | .channel_offset = 0x10, | ||
119 | .timer_bit = 1, | ||
120 | .clocksource_rating = 200, | ||
121 | }; | ||
122 | |||
123 | static struct resource tmu1_resources[] = { | ||
124 | [0] = { | ||
125 | .start = 0xfe430014, | ||
126 | .end = 0xfe43001f, | ||
127 | .flags = IORESOURCE_MEM, | ||
128 | }, | ||
129 | [1] = { | ||
130 | .start = evt2irq(0x5a0), | ||
131 | .flags = IORESOURCE_IRQ, | ||
132 | }, | ||
133 | }; | ||
134 | |||
135 | static struct platform_device tmu1_device = { | ||
136 | .name = "sh_tmu", | ||
137 | .id = 1, | ||
138 | .dev = { | ||
139 | .platform_data = &tmu1_platform_data, | ||
140 | }, | ||
141 | .resource = tmu1_resources, | ||
142 | .num_resources = ARRAY_SIZE(tmu1_resources), | ||
143 | }; | ||
144 | |||
145 | static struct resource spi0_resources[] = { | 109 | static struct resource spi0_resources[] = { |
146 | [0] = { | 110 | [0] = { |
147 | .start = 0xfe002000, | 111 | .start = 0xfe002000, |
@@ -782,7 +746,6 @@ static struct platform_device *sh7757_devices[] __initdata = { | |||
782 | &scif3_device, | 746 | &scif3_device, |
783 | &scif4_device, | 747 | &scif4_device, |
784 | &tmu0_device, | 748 | &tmu0_device, |
785 | &tmu1_device, | ||
786 | &dma0_device, | 749 | &dma0_device, |
787 | &dma1_device, | 750 | &dma1_device, |
788 | &dma2_device, | 751 | &dma2_device, |
@@ -806,7 +769,6 @@ static struct platform_device *sh7757_early_devices[] __initdata = { | |||
806 | &scif3_device, | 769 | &scif3_device, |
807 | &scif4_device, | 770 | &scif4_device, |
808 | &tmu0_device, | 771 | &tmu0_device, |
809 | &tmu1_device, | ||
810 | }; | 772 | }; |
811 | 773 | ||
812 | void __init plat_early_device_setup(void) | 774 | void __init plat_early_device_setup(void) |
diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7763.c b/arch/sh/kernel/cpu/sh4a/setup-sh7763.c index 5eebbd7f4c21..5a47d670ddec 100644 --- a/arch/sh/kernel/cpu/sh4a/setup-sh7763.c +++ b/arch/sh/kernel/cpu/sh4a/setup-sh7763.c | |||
@@ -158,25 +158,18 @@ static struct platform_device usbf_device = { | |||
158 | }; | 158 | }; |
159 | 159 | ||
160 | static struct sh_timer_config tmu0_platform_data = { | 160 | static struct sh_timer_config tmu0_platform_data = { |
161 | .channel_offset = 0x04, | 161 | .channels_mask = 7, |
162 | .timer_bit = 0, | ||
163 | .clockevent_rating = 200, | ||
164 | }; | 162 | }; |
165 | 163 | ||
166 | static struct resource tmu0_resources[] = { | 164 | static struct resource tmu0_resources[] = { |
167 | [0] = { | 165 | DEFINE_RES_MEM(0xffd80000, 0x30), |
168 | .start = 0xffd80008, | 166 | DEFINE_RES_IRQ(evt2irq(0x580)), |
169 | .end = 0xffd80013, | 167 | DEFINE_RES_IRQ(evt2irq(0x5a0)), |
170 | .flags = IORESOURCE_MEM, | 168 | DEFINE_RES_IRQ(evt2irq(0x5c0)), |
171 | }, | ||
172 | [1] = { | ||
173 | .start = evt2irq(0x580), | ||
174 | .flags = IORESOURCE_IRQ, | ||
175 | }, | ||
176 | }; | 169 | }; |
177 | 170 | ||
178 | static struct platform_device tmu0_device = { | 171 | static struct platform_device tmu0_device = { |
179 | .name = "sh_tmu", | 172 | .name = "sh-tmu", |
180 | .id = 0, | 173 | .id = 0, |
181 | .dev = { | 174 | .dev = { |
182 | .platform_data = &tmu0_platform_data, | 175 | .platform_data = &tmu0_platform_data, |
@@ -186,25 +179,18 @@ static struct platform_device tmu0_device = { | |||
186 | }; | 179 | }; |
187 | 180 | ||
188 | static struct sh_timer_config tmu1_platform_data = { | 181 | static struct sh_timer_config tmu1_platform_data = { |
189 | .channel_offset = 0x10, | 182 | .channels_mask = 7, |
190 | .timer_bit = 1, | ||
191 | .clocksource_rating = 200, | ||
192 | }; | 183 | }; |
193 | 184 | ||
194 | static struct resource tmu1_resources[] = { | 185 | static struct resource tmu1_resources[] = { |
195 | [0] = { | 186 | DEFINE_RES_MEM(0xffd88000, 0x2c), |
196 | .start = 0xffd80014, | 187 | DEFINE_RES_IRQ(evt2irq(0xe00)), |
197 | .end = 0xffd8001f, | 188 | DEFINE_RES_IRQ(evt2irq(0xe20)), |
198 | .flags = IORESOURCE_MEM, | 189 | DEFINE_RES_IRQ(evt2irq(0xe40)), |
199 | }, | ||
200 | [1] = { | ||
201 | .start = evt2irq(0x5a0), | ||
202 | .flags = IORESOURCE_IRQ, | ||
203 | }, | ||
204 | }; | 190 | }; |
205 | 191 | ||
206 | static struct platform_device tmu1_device = { | 192 | static struct platform_device tmu1_device = { |
207 | .name = "sh_tmu", | 193 | .name = "sh-tmu", |
208 | .id = 1, | 194 | .id = 1, |
209 | .dev = { | 195 | .dev = { |
210 | .platform_data = &tmu1_platform_data, | 196 | .platform_data = &tmu1_platform_data, |
@@ -213,124 +199,12 @@ static struct platform_device tmu1_device = { | |||
213 | .num_resources = ARRAY_SIZE(tmu1_resources), | 199 | .num_resources = ARRAY_SIZE(tmu1_resources), |
214 | }; | 200 | }; |
215 | 201 | ||
216 | static struct sh_timer_config tmu2_platform_data = { | ||
217 | .channel_offset = 0x1c, | ||
218 | .timer_bit = 2, | ||
219 | }; | ||
220 | |||
221 | static struct resource tmu2_resources[] = { | ||
222 | [0] = { | ||
223 | .start = 0xffd80020, | ||
224 | .end = 0xffd8002f, | ||
225 | .flags = IORESOURCE_MEM, | ||
226 | }, | ||
227 | [1] = { | ||
228 | .start = evt2irq(0x5c0), | ||
229 | .flags = IORESOURCE_IRQ, | ||
230 | }, | ||
231 | }; | ||
232 | |||
233 | static struct platform_device tmu2_device = { | ||
234 | .name = "sh_tmu", | ||
235 | .id = 2, | ||
236 | .dev = { | ||
237 | .platform_data = &tmu2_platform_data, | ||
238 | }, | ||
239 | .resource = tmu2_resources, | ||
240 | .num_resources = ARRAY_SIZE(tmu2_resources), | ||
241 | }; | ||
242 | |||
243 | static struct sh_timer_config tmu3_platform_data = { | ||
244 | .channel_offset = 0x04, | ||
245 | .timer_bit = 0, | ||
246 | }; | ||
247 | |||
248 | static struct resource tmu3_resources[] = { | ||
249 | [0] = { | ||
250 | .start = 0xffd88008, | ||
251 | .end = 0xffd88013, | ||
252 | .flags = IORESOURCE_MEM, | ||
253 | }, | ||
254 | [1] = { | ||
255 | .start = evt2irq(0xe00), | ||
256 | .flags = IORESOURCE_IRQ, | ||
257 | }, | ||
258 | }; | ||
259 | |||
260 | static struct platform_device tmu3_device = { | ||
261 | .name = "sh_tmu", | ||
262 | .id = 3, | ||
263 | .dev = { | ||
264 | .platform_data = &tmu3_platform_data, | ||
265 | }, | ||
266 | .resource = tmu3_resources, | ||
267 | .num_resources = ARRAY_SIZE(tmu3_resources), | ||
268 | }; | ||
269 | |||
270 | static struct sh_timer_config tmu4_platform_data = { | ||
271 | .channel_offset = 0x10, | ||
272 | .timer_bit = 1, | ||
273 | }; | ||
274 | |||
275 | static struct resource tmu4_resources[] = { | ||
276 | [0] = { | ||
277 | .start = 0xffd88014, | ||
278 | .end = 0xffd8801f, | ||
279 | .flags = IORESOURCE_MEM, | ||
280 | }, | ||
281 | [1] = { | ||
282 | .start = evt2irq(0xe20), | ||
283 | .flags = IORESOURCE_IRQ, | ||
284 | }, | ||
285 | }; | ||
286 | |||
287 | static struct platform_device tmu4_device = { | ||
288 | .name = "sh_tmu", | ||
289 | .id = 4, | ||
290 | .dev = { | ||
291 | .platform_data = &tmu4_platform_data, | ||
292 | }, | ||
293 | .resource = tmu4_resources, | ||
294 | .num_resources = ARRAY_SIZE(tmu4_resources), | ||
295 | }; | ||
296 | |||
297 | static struct sh_timer_config tmu5_platform_data = { | ||
298 | .channel_offset = 0x1c, | ||
299 | .timer_bit = 2, | ||
300 | }; | ||
301 | |||
302 | static struct resource tmu5_resources[] = { | ||
303 | [0] = { | ||
304 | .start = 0xffd88020, | ||
305 | .end = 0xffd8802b, | ||
306 | .flags = IORESOURCE_MEM, | ||
307 | }, | ||
308 | [1] = { | ||
309 | .start = evt2irq(0xe40), | ||
310 | .flags = IORESOURCE_IRQ, | ||
311 | }, | ||
312 | }; | ||
313 | |||
314 | static struct platform_device tmu5_device = { | ||
315 | .name = "sh_tmu", | ||
316 | .id = 5, | ||
317 | .dev = { | ||
318 | .platform_data = &tmu5_platform_data, | ||
319 | }, | ||
320 | .resource = tmu5_resources, | ||
321 | .num_resources = ARRAY_SIZE(tmu5_resources), | ||
322 | }; | ||
323 | |||
324 | static struct platform_device *sh7763_devices[] __initdata = { | 202 | static struct platform_device *sh7763_devices[] __initdata = { |
325 | &scif0_device, | 203 | &scif0_device, |
326 | &scif1_device, | 204 | &scif1_device, |
327 | &scif2_device, | 205 | &scif2_device, |
328 | &tmu0_device, | 206 | &tmu0_device, |
329 | &tmu1_device, | 207 | &tmu1_device, |
330 | &tmu2_device, | ||
331 | &tmu3_device, | ||
332 | &tmu4_device, | ||
333 | &tmu5_device, | ||
334 | &rtc_device, | 208 | &rtc_device, |
335 | &usb_ohci_device, | 209 | &usb_ohci_device, |
336 | &usbf_device, | 210 | &usbf_device, |
@@ -349,10 +223,6 @@ static struct platform_device *sh7763_early_devices[] __initdata = { | |||
349 | &scif2_device, | 223 | &scif2_device, |
350 | &tmu0_device, | 224 | &tmu0_device, |
351 | &tmu1_device, | 225 | &tmu1_device, |
352 | &tmu2_device, | ||
353 | &tmu3_device, | ||
354 | &tmu4_device, | ||
355 | &tmu5_device, | ||
356 | }; | 226 | }; |
357 | 227 | ||
358 | void __init plat_early_device_setup(void) | 228 | void __init plat_early_device_setup(void) |
diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7770.c b/arch/sh/kernel/cpu/sh4a/setup-sh7770.c index e1ba8cb74e5a..e9b532a76c37 100644 --- a/arch/sh/kernel/cpu/sh4a/setup-sh7770.c +++ b/arch/sh/kernel/cpu/sh4a/setup-sh7770.c | |||
@@ -226,25 +226,18 @@ static struct platform_device scif9_device = { | |||
226 | }; | 226 | }; |
227 | 227 | ||
228 | static struct sh_timer_config tmu0_platform_data = { | 228 | static struct sh_timer_config tmu0_platform_data = { |
229 | .channel_offset = 0x04, | 229 | .channels_mask = 7, |
230 | .timer_bit = 0, | ||
231 | .clockevent_rating = 200, | ||
232 | }; | 230 | }; |
233 | 231 | ||
234 | static struct resource tmu0_resources[] = { | 232 | static struct resource tmu0_resources[] = { |
235 | [0] = { | 233 | DEFINE_RES_MEM(0xffd80000, 0x30), |
236 | .start = 0xffd80008, | 234 | DEFINE_RES_IRQ(evt2irq(0x400)), |
237 | .end = 0xffd80013, | 235 | DEFINE_RES_IRQ(evt2irq(0x420)), |
238 | .flags = IORESOURCE_MEM, | 236 | DEFINE_RES_IRQ(evt2irq(0x440)), |
239 | }, | ||
240 | [1] = { | ||
241 | .start = evt2irq(0x400), | ||
242 | .flags = IORESOURCE_IRQ, | ||
243 | }, | ||
244 | }; | 237 | }; |
245 | 238 | ||
246 | static struct platform_device tmu0_device = { | 239 | static struct platform_device tmu0_device = { |
247 | .name = "sh_tmu", | 240 | .name = "sh-tmu", |
248 | .id = 0, | 241 | .id = 0, |
249 | .dev = { | 242 | .dev = { |
250 | .platform_data = &tmu0_platform_data, | 243 | .platform_data = &tmu0_platform_data, |
@@ -254,25 +247,18 @@ static struct platform_device tmu0_device = { | |||
254 | }; | 247 | }; |
255 | 248 | ||
256 | static struct sh_timer_config tmu1_platform_data = { | 249 | static struct sh_timer_config tmu1_platform_data = { |
257 | .channel_offset = 0x10, | 250 | .channels_mask = 7, |
258 | .timer_bit = 1, | ||
259 | .clocksource_rating = 200, | ||
260 | }; | 251 | }; |
261 | 252 | ||
262 | static struct resource tmu1_resources[] = { | 253 | static struct resource tmu1_resources[] = { |
263 | [0] = { | 254 | DEFINE_RES_MEM(0xffd81000, 0x30), |
264 | .start = 0xffd80014, | 255 | DEFINE_RES_IRQ(evt2irq(0x460)), |
265 | .end = 0xffd8001f, | 256 | DEFINE_RES_IRQ(evt2irq(0x480)), |
266 | .flags = IORESOURCE_MEM, | 257 | DEFINE_RES_IRQ(evt2irq(0x4a0)), |
267 | }, | ||
268 | [1] = { | ||
269 | .start = evt2irq(0x420), | ||
270 | .flags = IORESOURCE_IRQ, | ||
271 | }, | ||
272 | }; | 258 | }; |
273 | 259 | ||
274 | static struct platform_device tmu1_device = { | 260 | static struct platform_device tmu1_device = { |
275 | .name = "sh_tmu", | 261 | .name = "sh-tmu", |
276 | .id = 1, | 262 | .id = 1, |
277 | .dev = { | 263 | .dev = { |
278 | .platform_data = &tmu1_platform_data, | 264 | .platform_data = &tmu1_platform_data, |
@@ -282,24 +268,18 @@ static struct platform_device tmu1_device = { | |||
282 | }; | 268 | }; |
283 | 269 | ||
284 | static struct sh_timer_config tmu2_platform_data = { | 270 | static struct sh_timer_config tmu2_platform_data = { |
285 | .channel_offset = 0x1c, | 271 | .channels_mask = 7, |
286 | .timer_bit = 2, | ||
287 | }; | 272 | }; |
288 | 273 | ||
289 | static struct resource tmu2_resources[] = { | 274 | static struct resource tmu2_resources[] = { |
290 | [0] = { | 275 | DEFINE_RES_MEM(0xffd82000, 0x2c), |
291 | .start = 0xffd80020, | 276 | DEFINE_RES_IRQ(evt2irq(0x4c0)), |
292 | .end = 0xffd8002f, | 277 | DEFINE_RES_IRQ(evt2irq(0x4e0)), |
293 | .flags = IORESOURCE_MEM, | 278 | DEFINE_RES_IRQ(evt2irq(0x500)), |
294 | }, | ||
295 | [1] = { | ||
296 | .start = evt2irq(0x440), | ||
297 | .flags = IORESOURCE_IRQ, | ||
298 | }, | ||
299 | }; | 279 | }; |
300 | 280 | ||
301 | static struct platform_device tmu2_device = { | 281 | static struct platform_device tmu2_device = { |
302 | .name = "sh_tmu", | 282 | .name = "sh-tmu", |
303 | .id = 2, | 283 | .id = 2, |
304 | .dev = { | 284 | .dev = { |
305 | .platform_data = &tmu2_platform_data, | 285 | .platform_data = &tmu2_platform_data, |
@@ -308,168 +288,6 @@ static struct platform_device tmu2_device = { | |||
308 | .num_resources = ARRAY_SIZE(tmu2_resources), | 288 | .num_resources = ARRAY_SIZE(tmu2_resources), |
309 | }; | 289 | }; |
310 | 290 | ||
311 | static struct sh_timer_config tmu3_platform_data = { | ||
312 | .channel_offset = 0x04, | ||
313 | .timer_bit = 0, | ||
314 | }; | ||
315 | |||
316 | static struct resource tmu3_resources[] = { | ||
317 | [0] = { | ||
318 | .start = 0xffd81008, | ||
319 | .end = 0xffd81013, | ||
320 | .flags = IORESOURCE_MEM, | ||
321 | }, | ||
322 | [1] = { | ||
323 | .start = evt2irq(0x460), | ||
324 | .flags = IORESOURCE_IRQ, | ||
325 | }, | ||
326 | }; | ||
327 | |||
328 | static struct platform_device tmu3_device = { | ||
329 | .name = "sh_tmu", | ||
330 | .id = 3, | ||
331 | .dev = { | ||
332 | .platform_data = &tmu3_platform_data, | ||
333 | }, | ||
334 | .resource = tmu3_resources, | ||
335 | .num_resources = ARRAY_SIZE(tmu3_resources), | ||
336 | }; | ||
337 | |||
338 | static struct sh_timer_config tmu4_platform_data = { | ||
339 | .channel_offset = 0x10, | ||
340 | .timer_bit = 1, | ||
341 | }; | ||
342 | |||
343 | static struct resource tmu4_resources[] = { | ||
344 | [0] = { | ||
345 | .start = 0xffd81014, | ||
346 | .end = 0xffd8101f, | ||
347 | .flags = IORESOURCE_MEM, | ||
348 | }, | ||
349 | [1] = { | ||
350 | .start = evt2irq(0x480), | ||
351 | .flags = IORESOURCE_IRQ, | ||
352 | }, | ||
353 | }; | ||
354 | |||
355 | static struct platform_device tmu4_device = { | ||
356 | .name = "sh_tmu", | ||
357 | .id = 4, | ||
358 | .dev = { | ||
359 | .platform_data = &tmu4_platform_data, | ||
360 | }, | ||
361 | .resource = tmu4_resources, | ||
362 | .num_resources = ARRAY_SIZE(tmu4_resources), | ||
363 | }; | ||
364 | |||
365 | static struct sh_timer_config tmu5_platform_data = { | ||
366 | .channel_offset = 0x1c, | ||
367 | .timer_bit = 2, | ||
368 | }; | ||
369 | |||
370 | static struct resource tmu5_resources[] = { | ||
371 | [0] = { | ||
372 | .start = 0xffd81020, | ||
373 | .end = 0xffd8102f, | ||
374 | .flags = IORESOURCE_MEM, | ||
375 | }, | ||
376 | [1] = { | ||
377 | .start = evt2irq(0x4a0), | ||
378 | .flags = IORESOURCE_IRQ, | ||
379 | }, | ||
380 | }; | ||
381 | |||
382 | static struct platform_device tmu5_device = { | ||
383 | .name = "sh_tmu", | ||
384 | .id = 5, | ||
385 | .dev = { | ||
386 | .platform_data = &tmu5_platform_data, | ||
387 | }, | ||
388 | .resource = tmu5_resources, | ||
389 | .num_resources = ARRAY_SIZE(tmu5_resources), | ||
390 | }; | ||
391 | |||
392 | static struct sh_timer_config tmu6_platform_data = { | ||
393 | .channel_offset = 0x04, | ||
394 | .timer_bit = 0, | ||
395 | }; | ||
396 | |||
397 | static struct resource tmu6_resources[] = { | ||
398 | [0] = { | ||
399 | .start = 0xffd82008, | ||
400 | .end = 0xffd82013, | ||
401 | .flags = IORESOURCE_MEM, | ||
402 | }, | ||
403 | [1] = { | ||
404 | .start = evt2irq(0x4c0), | ||
405 | .flags = IORESOURCE_IRQ, | ||
406 | }, | ||
407 | }; | ||
408 | |||
409 | static struct platform_device tmu6_device = { | ||
410 | .name = "sh_tmu", | ||
411 | .id = 6, | ||
412 | .dev = { | ||
413 | .platform_data = &tmu6_platform_data, | ||
414 | }, | ||
415 | .resource = tmu6_resources, | ||
416 | .num_resources = ARRAY_SIZE(tmu6_resources), | ||
417 | }; | ||
418 | |||
419 | static struct sh_timer_config tmu7_platform_data = { | ||
420 | .channel_offset = 0x10, | ||
421 | .timer_bit = 1, | ||
422 | }; | ||
423 | |||
424 | static struct resource tmu7_resources[] = { | ||
425 | [0] = { | ||
426 | .start = 0xffd82014, | ||
427 | .end = 0xffd8201f, | ||
428 | .flags = IORESOURCE_MEM, | ||
429 | }, | ||
430 | [1] = { | ||
431 | .start = evt2irq(0x4e0), | ||
432 | .flags = IORESOURCE_IRQ, | ||
433 | }, | ||
434 | }; | ||
435 | |||
436 | static struct platform_device tmu7_device = { | ||
437 | .name = "sh_tmu", | ||
438 | .id = 7, | ||
439 | .dev = { | ||
440 | .platform_data = &tmu7_platform_data, | ||
441 | }, | ||
442 | .resource = tmu7_resources, | ||
443 | .num_resources = ARRAY_SIZE(tmu7_resources), | ||
444 | }; | ||
445 | |||
446 | static struct sh_timer_config tmu8_platform_data = { | ||
447 | .channel_offset = 0x1c, | ||
448 | .timer_bit = 2, | ||
449 | }; | ||
450 | |||
451 | static struct resource tmu8_resources[] = { | ||
452 | [0] = { | ||
453 | .start = 0xffd82020, | ||
454 | .end = 0xffd8202b, | ||
455 | .flags = IORESOURCE_MEM, | ||
456 | }, | ||
457 | [1] = { | ||
458 | .start = evt2irq(0x500), | ||
459 | .flags = IORESOURCE_IRQ, | ||
460 | }, | ||
461 | }; | ||
462 | |||
463 | static struct platform_device tmu8_device = { | ||
464 | .name = "sh_tmu", | ||
465 | .id = 8, | ||
466 | .dev = { | ||
467 | .platform_data = &tmu8_platform_data, | ||
468 | }, | ||
469 | .resource = tmu8_resources, | ||
470 | .num_resources = ARRAY_SIZE(tmu8_resources), | ||
471 | }; | ||
472 | |||
473 | static struct platform_device *sh7770_devices[] __initdata = { | 291 | static struct platform_device *sh7770_devices[] __initdata = { |
474 | &scif0_device, | 292 | &scif0_device, |
475 | &scif1_device, | 293 | &scif1_device, |
@@ -484,12 +302,6 @@ static struct platform_device *sh7770_devices[] __initdata = { | |||
484 | &tmu0_device, | 302 | &tmu0_device, |
485 | &tmu1_device, | 303 | &tmu1_device, |
486 | &tmu2_device, | 304 | &tmu2_device, |
487 | &tmu3_device, | ||
488 | &tmu4_device, | ||
489 | &tmu5_device, | ||
490 | &tmu6_device, | ||
491 | &tmu7_device, | ||
492 | &tmu8_device, | ||
493 | }; | 305 | }; |
494 | 306 | ||
495 | static int __init sh7770_devices_setup(void) | 307 | static int __init sh7770_devices_setup(void) |
@@ -513,12 +325,6 @@ static struct platform_device *sh7770_early_devices[] __initdata = { | |||
513 | &tmu0_device, | 325 | &tmu0_device, |
514 | &tmu1_device, | 326 | &tmu1_device, |
515 | &tmu2_device, | 327 | &tmu2_device, |
516 | &tmu3_device, | ||
517 | &tmu4_device, | ||
518 | &tmu5_device, | ||
519 | &tmu6_device, | ||
520 | &tmu7_device, | ||
521 | &tmu8_device, | ||
522 | }; | 328 | }; |
523 | 329 | ||
524 | void __init plat_early_device_setup(void) | 330 | void __init plat_early_device_setup(void) |
diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7780.c b/arch/sh/kernel/cpu/sh4a/setup-sh7780.c index 668e54bafa86..3ee7dd9b3a65 100644 --- a/arch/sh/kernel/cpu/sh4a/setup-sh7780.c +++ b/arch/sh/kernel/cpu/sh4a/setup-sh7780.c | |||
@@ -62,25 +62,18 @@ static struct platform_device scif1_device = { | |||
62 | }; | 62 | }; |
63 | 63 | ||
64 | static struct sh_timer_config tmu0_platform_data = { | 64 | static struct sh_timer_config tmu0_platform_data = { |
65 | .channel_offset = 0x04, | 65 | .channels_mask = 7, |
66 | .timer_bit = 0, | ||
67 | .clockevent_rating = 200, | ||
68 | }; | 66 | }; |
69 | 67 | ||
70 | static struct resource tmu0_resources[] = { | 68 | static struct resource tmu0_resources[] = { |
71 | [0] = { | 69 | DEFINE_RES_MEM(0xffd80000, 0x30), |
72 | .start = 0xffd80008, | 70 | DEFINE_RES_IRQ(evt2irq(0x580)), |
73 | .end = 0xffd80013, | 71 | DEFINE_RES_IRQ(evt2irq(0x5a0)), |
74 | .flags = IORESOURCE_MEM, | 72 | DEFINE_RES_IRQ(evt2irq(0x5c0)), |
75 | }, | ||
76 | [1] = { | ||
77 | .start = evt2irq(0x580), | ||
78 | .flags = IORESOURCE_IRQ, | ||
79 | }, | ||
80 | }; | 73 | }; |
81 | 74 | ||
82 | static struct platform_device tmu0_device = { | 75 | static struct platform_device tmu0_device = { |
83 | .name = "sh_tmu", | 76 | .name = "sh-tmu", |
84 | .id = 0, | 77 | .id = 0, |
85 | .dev = { | 78 | .dev = { |
86 | .platform_data = &tmu0_platform_data, | 79 | .platform_data = &tmu0_platform_data, |
@@ -90,25 +83,18 @@ static struct platform_device tmu0_device = { | |||
90 | }; | 83 | }; |
91 | 84 | ||
92 | static struct sh_timer_config tmu1_platform_data = { | 85 | static struct sh_timer_config tmu1_platform_data = { |
93 | .channel_offset = 0x10, | 86 | .channels_mask = 7, |
94 | .timer_bit = 1, | ||
95 | .clocksource_rating = 200, | ||
96 | }; | 87 | }; |
97 | 88 | ||
98 | static struct resource tmu1_resources[] = { | 89 | static struct resource tmu1_resources[] = { |
99 | [0] = { | 90 | DEFINE_RES_MEM(0xffdc0000, 0x2c), |
100 | .start = 0xffd80014, | 91 | DEFINE_RES_IRQ(evt2irq(0xe00)), |
101 | .end = 0xffd8001f, | 92 | DEFINE_RES_IRQ(evt2irq(0xe20)), |
102 | .flags = IORESOURCE_MEM, | 93 | DEFINE_RES_IRQ(evt2irq(0xe40)), |
103 | }, | ||
104 | [1] = { | ||
105 | .start = evt2irq(0x5a0), | ||
106 | .flags = IORESOURCE_IRQ, | ||
107 | }, | ||
108 | }; | 94 | }; |
109 | 95 | ||
110 | static struct platform_device tmu1_device = { | 96 | static struct platform_device tmu1_device = { |
111 | .name = "sh_tmu", | 97 | .name = "sh-tmu", |
112 | .id = 1, | 98 | .id = 1, |
113 | .dev = { | 99 | .dev = { |
114 | .platform_data = &tmu1_platform_data, | 100 | .platform_data = &tmu1_platform_data, |
@@ -117,114 +103,6 @@ static struct platform_device tmu1_device = { | |||
117 | .num_resources = ARRAY_SIZE(tmu1_resources), | 103 | .num_resources = ARRAY_SIZE(tmu1_resources), |
118 | }; | 104 | }; |
119 | 105 | ||
120 | static struct sh_timer_config tmu2_platform_data = { | ||
121 | .channel_offset = 0x1c, | ||
122 | .timer_bit = 2, | ||
123 | }; | ||
124 | |||
125 | static struct resource tmu2_resources[] = { | ||
126 | [0] = { | ||
127 | .start = 0xffd80020, | ||
128 | .end = 0xffd8002f, | ||
129 | .flags = IORESOURCE_MEM, | ||
130 | }, | ||
131 | [1] = { | ||
132 | .start = evt2irq(0x5c0), | ||
133 | .flags = IORESOURCE_IRQ, | ||
134 | }, | ||
135 | }; | ||
136 | |||
137 | static struct platform_device tmu2_device = { | ||
138 | .name = "sh_tmu", | ||
139 | .id = 2, | ||
140 | .dev = { | ||
141 | .platform_data = &tmu2_platform_data, | ||
142 | }, | ||
143 | .resource = tmu2_resources, | ||
144 | .num_resources = ARRAY_SIZE(tmu2_resources), | ||
145 | }; | ||
146 | |||
147 | static struct sh_timer_config tmu3_platform_data = { | ||
148 | .channel_offset = 0x04, | ||
149 | .timer_bit = 0, | ||
150 | }; | ||
151 | |||
152 | static struct resource tmu3_resources[] = { | ||
153 | [0] = { | ||
154 | .start = 0xffdc0008, | ||
155 | .end = 0xffdc0013, | ||
156 | .flags = IORESOURCE_MEM, | ||
157 | }, | ||
158 | [1] = { | ||
159 | .start = evt2irq(0xe00), | ||
160 | .flags = IORESOURCE_IRQ, | ||
161 | }, | ||
162 | }; | ||
163 | |||
164 | static struct platform_device tmu3_device = { | ||
165 | .name = "sh_tmu", | ||
166 | .id = 3, | ||
167 | .dev = { | ||
168 | .platform_data = &tmu3_platform_data, | ||
169 | }, | ||
170 | .resource = tmu3_resources, | ||
171 | .num_resources = ARRAY_SIZE(tmu3_resources), | ||
172 | }; | ||
173 | |||
174 | static struct sh_timer_config tmu4_platform_data = { | ||
175 | .channel_offset = 0x10, | ||
176 | .timer_bit = 1, | ||
177 | }; | ||
178 | |||
179 | static struct resource tmu4_resources[] = { | ||
180 | [0] = { | ||
181 | .start = 0xffdc0014, | ||
182 | .end = 0xffdc001f, | ||
183 | .flags = IORESOURCE_MEM, | ||
184 | }, | ||
185 | [1] = { | ||
186 | .start = evt2irq(0xe20), | ||
187 | .flags = IORESOURCE_IRQ, | ||
188 | }, | ||
189 | }; | ||
190 | |||
191 | static struct platform_device tmu4_device = { | ||
192 | .name = "sh_tmu", | ||
193 | .id = 4, | ||
194 | .dev = { | ||
195 | .platform_data = &tmu4_platform_data, | ||
196 | }, | ||
197 | .resource = tmu4_resources, | ||
198 | .num_resources = ARRAY_SIZE(tmu4_resources), | ||
199 | }; | ||
200 | |||
201 | static struct sh_timer_config tmu5_platform_data = { | ||
202 | .channel_offset = 0x1c, | ||
203 | .timer_bit = 2, | ||
204 | }; | ||
205 | |||
206 | static struct resource tmu5_resources[] = { | ||
207 | [0] = { | ||
208 | .start = 0xffdc0020, | ||
209 | .end = 0xffdc002b, | ||
210 | .flags = IORESOURCE_MEM, | ||
211 | }, | ||
212 | [1] = { | ||
213 | .start = evt2irq(0xe40), | ||
214 | .flags = IORESOURCE_IRQ, | ||
215 | }, | ||
216 | }; | ||
217 | |||
218 | static struct platform_device tmu5_device = { | ||
219 | .name = "sh_tmu", | ||
220 | .id = 5, | ||
221 | .dev = { | ||
222 | .platform_data = &tmu5_platform_data, | ||
223 | }, | ||
224 | .resource = tmu5_resources, | ||
225 | .num_resources = ARRAY_SIZE(tmu5_resources), | ||
226 | }; | ||
227 | |||
228 | static struct resource rtc_resources[] = { | 106 | static struct resource rtc_resources[] = { |
229 | [0] = { | 107 | [0] = { |
230 | .start = 0xffe80000, | 108 | .start = 0xffe80000, |
@@ -386,10 +264,6 @@ static struct platform_device *sh7780_devices[] __initdata = { | |||
386 | &scif1_device, | 264 | &scif1_device, |
387 | &tmu0_device, | 265 | &tmu0_device, |
388 | &tmu1_device, | 266 | &tmu1_device, |
389 | &tmu2_device, | ||
390 | &tmu3_device, | ||
391 | &tmu4_device, | ||
392 | &tmu5_device, | ||
393 | &rtc_device, | 267 | &rtc_device, |
394 | &dma0_device, | 268 | &dma0_device, |
395 | &dma1_device, | 269 | &dma1_device, |
@@ -407,10 +281,6 @@ static struct platform_device *sh7780_early_devices[] __initdata = { | |||
407 | &scif1_device, | 281 | &scif1_device, |
408 | &tmu0_device, | 282 | &tmu0_device, |
409 | &tmu1_device, | 283 | &tmu1_device, |
410 | &tmu2_device, | ||
411 | &tmu3_device, | ||
412 | &tmu4_device, | ||
413 | &tmu5_device, | ||
414 | }; | 284 | }; |
415 | 285 | ||
416 | void __init plat_early_device_setup(void) | 286 | void __init plat_early_device_setup(void) |
diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7785.c b/arch/sh/kernel/cpu/sh4a/setup-sh7785.c index 4aa679140209..c72d5a5d0995 100644 --- a/arch/sh/kernel/cpu/sh4a/setup-sh7785.c +++ b/arch/sh/kernel/cpu/sh4a/setup-sh7785.c | |||
@@ -152,25 +152,18 @@ static struct platform_device scif5_device = { | |||
152 | }; | 152 | }; |
153 | 153 | ||
154 | static struct sh_timer_config tmu0_platform_data = { | 154 | static struct sh_timer_config tmu0_platform_data = { |
155 | .channel_offset = 0x04, | 155 | .channels_mask = 7, |
156 | .timer_bit = 0, | ||
157 | .clockevent_rating = 200, | ||
158 | }; | 156 | }; |
159 | 157 | ||
160 | static struct resource tmu0_resources[] = { | 158 | static struct resource tmu0_resources[] = { |
161 | [0] = { | 159 | DEFINE_RES_MEM(0xffd80000, 0x30), |
162 | .start = 0xffd80008, | 160 | DEFINE_RES_IRQ(evt2irq(0x580)), |
163 | .end = 0xffd80013, | 161 | DEFINE_RES_IRQ(evt2irq(0x5a0)), |
164 | .flags = IORESOURCE_MEM, | 162 | DEFINE_RES_IRQ(evt2irq(0x5c0)), |
165 | }, | ||
166 | [1] = { | ||
167 | .start = evt2irq(0x580), | ||
168 | .flags = IORESOURCE_IRQ, | ||
169 | }, | ||
170 | }; | 163 | }; |
171 | 164 | ||
172 | static struct platform_device tmu0_device = { | 165 | static struct platform_device tmu0_device = { |
173 | .name = "sh_tmu", | 166 | .name = "sh-tmu", |
174 | .id = 0, | 167 | .id = 0, |
175 | .dev = { | 168 | .dev = { |
176 | .platform_data = &tmu0_platform_data, | 169 | .platform_data = &tmu0_platform_data, |
@@ -180,25 +173,18 @@ static struct platform_device tmu0_device = { | |||
180 | }; | 173 | }; |
181 | 174 | ||
182 | static struct sh_timer_config tmu1_platform_data = { | 175 | static struct sh_timer_config tmu1_platform_data = { |
183 | .channel_offset = 0x10, | 176 | .channels_mask = 7, |
184 | .timer_bit = 1, | ||
185 | .clocksource_rating = 200, | ||
186 | }; | 177 | }; |
187 | 178 | ||
188 | static struct resource tmu1_resources[] = { | 179 | static struct resource tmu1_resources[] = { |
189 | [0] = { | 180 | DEFINE_RES_MEM(0xffdc0000, 0x2c), |
190 | .start = 0xffd80014, | 181 | DEFINE_RES_IRQ(evt2irq(0xe00)), |
191 | .end = 0xffd8001f, | 182 | DEFINE_RES_IRQ(evt2irq(0xe20)), |
192 | .flags = IORESOURCE_MEM, | 183 | DEFINE_RES_IRQ(evt2irq(0xe40)), |
193 | }, | ||
194 | [1] = { | ||
195 | .start = evt2irq(0x5a0), | ||
196 | .flags = IORESOURCE_IRQ, | ||
197 | }, | ||
198 | }; | 184 | }; |
199 | 185 | ||
200 | static struct platform_device tmu1_device = { | 186 | static struct platform_device tmu1_device = { |
201 | .name = "sh_tmu", | 187 | .name = "sh-tmu", |
202 | .id = 1, | 188 | .id = 1, |
203 | .dev = { | 189 | .dev = { |
204 | .platform_data = &tmu1_platform_data, | 190 | .platform_data = &tmu1_platform_data, |
@@ -207,114 +193,6 @@ static struct platform_device tmu1_device = { | |||
207 | .num_resources = ARRAY_SIZE(tmu1_resources), | 193 | .num_resources = ARRAY_SIZE(tmu1_resources), |
208 | }; | 194 | }; |
209 | 195 | ||
210 | static struct sh_timer_config tmu2_platform_data = { | ||
211 | .channel_offset = 0x1c, | ||
212 | .timer_bit = 2, | ||
213 | }; | ||
214 | |||
215 | static struct resource tmu2_resources[] = { | ||
216 | [0] = { | ||
217 | .start = 0xffd80020, | ||
218 | .end = 0xffd8002f, | ||
219 | .flags = IORESOURCE_MEM, | ||
220 | }, | ||
221 | [1] = { | ||
222 | .start = evt2irq(0x5c0), | ||
223 | .flags = IORESOURCE_IRQ, | ||
224 | }, | ||
225 | }; | ||
226 | |||
227 | static struct platform_device tmu2_device = { | ||
228 | .name = "sh_tmu", | ||
229 | .id = 2, | ||
230 | .dev = { | ||
231 | .platform_data = &tmu2_platform_data, | ||
232 | }, | ||
233 | .resource = tmu2_resources, | ||
234 | .num_resources = ARRAY_SIZE(tmu2_resources), | ||
235 | }; | ||
236 | |||
237 | static struct sh_timer_config tmu3_platform_data = { | ||
238 | .channel_offset = 0x04, | ||
239 | .timer_bit = 0, | ||
240 | }; | ||
241 | |||
242 | static struct resource tmu3_resources[] = { | ||
243 | [0] = { | ||
244 | .start = 0xffdc0008, | ||
245 | .end = 0xffdc0013, | ||
246 | .flags = IORESOURCE_MEM, | ||
247 | }, | ||
248 | [1] = { | ||
249 | .start = evt2irq(0xe00), | ||
250 | .flags = IORESOURCE_IRQ, | ||
251 | }, | ||
252 | }; | ||
253 | |||
254 | static struct platform_device tmu3_device = { | ||
255 | .name = "sh_tmu", | ||
256 | .id = 3, | ||
257 | .dev = { | ||
258 | .platform_data = &tmu3_platform_data, | ||
259 | }, | ||
260 | .resource = tmu3_resources, | ||
261 | .num_resources = ARRAY_SIZE(tmu3_resources), | ||
262 | }; | ||
263 | |||
264 | static struct sh_timer_config tmu4_platform_data = { | ||
265 | .channel_offset = 0x10, | ||
266 | .timer_bit = 1, | ||
267 | }; | ||
268 | |||
269 | static struct resource tmu4_resources[] = { | ||
270 | [0] = { | ||
271 | .start = 0xffdc0014, | ||
272 | .end = 0xffdc001f, | ||
273 | .flags = IORESOURCE_MEM, | ||
274 | }, | ||
275 | [1] = { | ||
276 | .start = evt2irq(0xe20), | ||
277 | .flags = IORESOURCE_IRQ, | ||
278 | }, | ||
279 | }; | ||
280 | |||
281 | static struct platform_device tmu4_device = { | ||
282 | .name = "sh_tmu", | ||
283 | .id = 4, | ||
284 | .dev = { | ||
285 | .platform_data = &tmu4_platform_data, | ||
286 | }, | ||
287 | .resource = tmu4_resources, | ||
288 | .num_resources = ARRAY_SIZE(tmu4_resources), | ||
289 | }; | ||
290 | |||
291 | static struct sh_timer_config tmu5_platform_data = { | ||
292 | .channel_offset = 0x1c, | ||
293 | .timer_bit = 2, | ||
294 | }; | ||
295 | |||
296 | static struct resource tmu5_resources[] = { | ||
297 | [0] = { | ||
298 | .start = 0xffdc0020, | ||
299 | .end = 0xffdc002b, | ||
300 | .flags = IORESOURCE_MEM, | ||
301 | }, | ||
302 | [1] = { | ||
303 | .start = evt2irq(0xe40), | ||
304 | .flags = IORESOURCE_IRQ, | ||
305 | }, | ||
306 | }; | ||
307 | |||
308 | static struct platform_device tmu5_device = { | ||
309 | .name = "sh_tmu", | ||
310 | .id = 5, | ||
311 | .dev = { | ||
312 | .platform_data = &tmu5_platform_data, | ||
313 | }, | ||
314 | .resource = tmu5_resources, | ||
315 | .num_resources = ARRAY_SIZE(tmu5_resources), | ||
316 | }; | ||
317 | |||
318 | /* DMA */ | 196 | /* DMA */ |
319 | static const struct sh_dmae_channel sh7785_dmae0_channels[] = { | 197 | static const struct sh_dmae_channel sh7785_dmae0_channels[] = { |
320 | { | 198 | { |
@@ -460,10 +338,6 @@ static struct platform_device *sh7785_devices[] __initdata = { | |||
460 | &scif5_device, | 338 | &scif5_device, |
461 | &tmu0_device, | 339 | &tmu0_device, |
462 | &tmu1_device, | 340 | &tmu1_device, |
463 | &tmu2_device, | ||
464 | &tmu3_device, | ||
465 | &tmu4_device, | ||
466 | &tmu5_device, | ||
467 | &dma0_device, | 341 | &dma0_device, |
468 | &dma1_device, | 342 | &dma1_device, |
469 | }; | 343 | }; |
@@ -484,10 +358,6 @@ static struct platform_device *sh7785_early_devices[] __initdata = { | |||
484 | &scif5_device, | 358 | &scif5_device, |
485 | &tmu0_device, | 359 | &tmu0_device, |
486 | &tmu1_device, | 360 | &tmu1_device, |
487 | &tmu2_device, | ||
488 | &tmu3_device, | ||
489 | &tmu4_device, | ||
490 | &tmu5_device, | ||
491 | }; | 361 | }; |
492 | 362 | ||
493 | void __init plat_early_device_setup(void) | 363 | void __init plat_early_device_setup(void) |
diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7786.c b/arch/sh/kernel/cpu/sh4a/setup-sh7786.c index 5d619a551a3b..479e79bdd3d0 100644 --- a/arch/sh/kernel/cpu/sh4a/setup-sh7786.c +++ b/arch/sh/kernel/cpu/sh4a/setup-sh7786.c | |||
@@ -175,25 +175,18 @@ static struct platform_device scif5_device = { | |||
175 | }; | 175 | }; |
176 | 176 | ||
177 | static struct sh_timer_config tmu0_platform_data = { | 177 | static struct sh_timer_config tmu0_platform_data = { |
178 | .channel_offset = 0x04, | 178 | .channels_mask = 7, |
179 | .timer_bit = 0, | ||
180 | .clockevent_rating = 200, | ||
181 | }; | 179 | }; |
182 | 180 | ||
183 | static struct resource tmu0_resources[] = { | 181 | static struct resource tmu0_resources[] = { |
184 | [0] = { | 182 | DEFINE_RES_MEM(0xffd80000, 0x30), |
185 | .start = 0xffd80008, | 183 | DEFINE_RES_IRQ(evt2irq(0x400)), |
186 | .end = 0xffd80013, | 184 | DEFINE_RES_IRQ(evt2irq(0x420)), |
187 | .flags = IORESOURCE_MEM, | 185 | DEFINE_RES_IRQ(evt2irq(0x440)), |
188 | }, | ||
189 | [1] = { | ||
190 | .start = evt2irq(0x400), | ||
191 | .flags = IORESOURCE_IRQ, | ||
192 | }, | ||
193 | }; | 186 | }; |
194 | 187 | ||
195 | static struct platform_device tmu0_device = { | 188 | static struct platform_device tmu0_device = { |
196 | .name = "sh_tmu", | 189 | .name = "sh-tmu", |
197 | .id = 0, | 190 | .id = 0, |
198 | .dev = { | 191 | .dev = { |
199 | .platform_data = &tmu0_platform_data, | 192 | .platform_data = &tmu0_platform_data, |
@@ -203,25 +196,18 @@ static struct platform_device tmu0_device = { | |||
203 | }; | 196 | }; |
204 | 197 | ||
205 | static struct sh_timer_config tmu1_platform_data = { | 198 | static struct sh_timer_config tmu1_platform_data = { |
206 | .channel_offset = 0x10, | 199 | .channels_mask = 7, |
207 | .timer_bit = 1, | ||
208 | .clocksource_rating = 200, | ||
209 | }; | 200 | }; |
210 | 201 | ||
211 | static struct resource tmu1_resources[] = { | 202 | static struct resource tmu1_resources[] = { |
212 | [0] = { | 203 | DEFINE_RES_MEM(0xffda0000, 0x2c), |
213 | .start = 0xffd80014, | 204 | DEFINE_RES_IRQ(evt2irq(0x480)), |
214 | .end = 0xffd8001f, | 205 | DEFINE_RES_IRQ(evt2irq(0x4a0)), |
215 | .flags = IORESOURCE_MEM, | 206 | DEFINE_RES_IRQ(evt2irq(0x4c0)), |
216 | }, | ||
217 | [1] = { | ||
218 | .start = evt2irq(0x420), | ||
219 | .flags = IORESOURCE_IRQ, | ||
220 | }, | ||
221 | }; | 207 | }; |
222 | 208 | ||
223 | static struct platform_device tmu1_device = { | 209 | static struct platform_device tmu1_device = { |
224 | .name = "sh_tmu", | 210 | .name = "sh-tmu", |
225 | .id = 1, | 211 | .id = 1, |
226 | .dev = { | 212 | .dev = { |
227 | .platform_data = &tmu1_platform_data, | 213 | .platform_data = &tmu1_platform_data, |
@@ -231,24 +217,18 @@ static struct platform_device tmu1_device = { | |||
231 | }; | 217 | }; |
232 | 218 | ||
233 | static struct sh_timer_config tmu2_platform_data = { | 219 | static struct sh_timer_config tmu2_platform_data = { |
234 | .channel_offset = 0x1c, | 220 | .channels_mask = 7, |
235 | .timer_bit = 2, | ||
236 | }; | 221 | }; |
237 | 222 | ||
238 | static struct resource tmu2_resources[] = { | 223 | static struct resource tmu2_resources[] = { |
239 | [0] = { | 224 | DEFINE_RES_MEM(0xffdc0000, 0x2c), |
240 | .start = 0xffd80020, | 225 | DEFINE_RES_IRQ(evt2irq(0x7a0)), |
241 | .end = 0xffd8002f, | 226 | DEFINE_RES_IRQ(evt2irq(0x7a0)), |
242 | .flags = IORESOURCE_MEM, | 227 | DEFINE_RES_IRQ(evt2irq(0x7a0)), |
243 | }, | ||
244 | [1] = { | ||
245 | .start = evt2irq(0x440), | ||
246 | .flags = IORESOURCE_IRQ, | ||
247 | }, | ||
248 | }; | 228 | }; |
249 | 229 | ||
250 | static struct platform_device tmu2_device = { | 230 | static struct platform_device tmu2_device = { |
251 | .name = "sh_tmu", | 231 | .name = "sh-tmu", |
252 | .id = 2, | 232 | .id = 2, |
253 | .dev = { | 233 | .dev = { |
254 | .platform_data = &tmu2_platform_data, | 234 | .platform_data = &tmu2_platform_data, |
@@ -258,24 +238,18 @@ static struct platform_device tmu2_device = { | |||
258 | }; | 238 | }; |
259 | 239 | ||
260 | static struct sh_timer_config tmu3_platform_data = { | 240 | static struct sh_timer_config tmu3_platform_data = { |
261 | .channel_offset = 0x04, | 241 | .channels_mask = 7, |
262 | .timer_bit = 0, | ||
263 | }; | 242 | }; |
264 | 243 | ||
265 | static struct resource tmu3_resources[] = { | 244 | static struct resource tmu3_resources[] = { |
266 | [0] = { | 245 | DEFINE_RES_MEM(0xffde0000, 0x2c), |
267 | .start = 0xffda0008, | 246 | DEFINE_RES_IRQ(evt2irq(0x7c0)), |
268 | .end = 0xffda0013, | 247 | DEFINE_RES_IRQ(evt2irq(0x7c0)), |
269 | .flags = IORESOURCE_MEM, | 248 | DEFINE_RES_IRQ(evt2irq(0x7c0)), |
270 | }, | ||
271 | [1] = { | ||
272 | .start = evt2irq(0x480), | ||
273 | .flags = IORESOURCE_IRQ, | ||
274 | }, | ||
275 | }; | 249 | }; |
276 | 250 | ||
277 | static struct platform_device tmu3_device = { | 251 | static struct platform_device tmu3_device = { |
278 | .name = "sh_tmu", | 252 | .name = "sh-tmu", |
279 | .id = 3, | 253 | .id = 3, |
280 | .dev = { | 254 | .dev = { |
281 | .platform_data = &tmu3_platform_data, | 255 | .platform_data = &tmu3_platform_data, |
@@ -284,222 +258,6 @@ static struct platform_device tmu3_device = { | |||
284 | .num_resources = ARRAY_SIZE(tmu3_resources), | 258 | .num_resources = ARRAY_SIZE(tmu3_resources), |
285 | }; | 259 | }; |
286 | 260 | ||
287 | static struct sh_timer_config tmu4_platform_data = { | ||
288 | .channel_offset = 0x10, | ||
289 | .timer_bit = 1, | ||
290 | }; | ||
291 | |||
292 | static struct resource tmu4_resources[] = { | ||
293 | [0] = { | ||
294 | .start = 0xffda0014, | ||
295 | .end = 0xffda001f, | ||
296 | .flags = IORESOURCE_MEM, | ||
297 | }, | ||
298 | [1] = { | ||
299 | .start = evt2irq(0x4a0), | ||
300 | .flags = IORESOURCE_IRQ, | ||
301 | }, | ||
302 | }; | ||
303 | |||
304 | static struct platform_device tmu4_device = { | ||
305 | .name = "sh_tmu", | ||
306 | .id = 4, | ||
307 | .dev = { | ||
308 | .platform_data = &tmu4_platform_data, | ||
309 | }, | ||
310 | .resource = tmu4_resources, | ||
311 | .num_resources = ARRAY_SIZE(tmu4_resources), | ||
312 | }; | ||
313 | |||
314 | static struct sh_timer_config tmu5_platform_data = { | ||
315 | .channel_offset = 0x1c, | ||
316 | .timer_bit = 2, | ||
317 | }; | ||
318 | |||
319 | static struct resource tmu5_resources[] = { | ||
320 | [0] = { | ||
321 | .start = 0xffda0020, | ||
322 | .end = 0xffda002b, | ||
323 | .flags = IORESOURCE_MEM, | ||
324 | }, | ||
325 | [1] = { | ||
326 | .start = evt2irq(0x4c0), | ||
327 | .flags = IORESOURCE_IRQ, | ||
328 | }, | ||
329 | }; | ||
330 | |||
331 | static struct platform_device tmu5_device = { | ||
332 | .name = "sh_tmu", | ||
333 | .id = 5, | ||
334 | .dev = { | ||
335 | .platform_data = &tmu5_platform_data, | ||
336 | }, | ||
337 | .resource = tmu5_resources, | ||
338 | .num_resources = ARRAY_SIZE(tmu5_resources), | ||
339 | }; | ||
340 | |||
341 | static struct sh_timer_config tmu6_platform_data = { | ||
342 | .channel_offset = 0x04, | ||
343 | .timer_bit = 0, | ||
344 | }; | ||
345 | |||
346 | static struct resource tmu6_resources[] = { | ||
347 | [0] = { | ||
348 | .start = 0xffdc0008, | ||
349 | .end = 0xffdc0013, | ||
350 | .flags = IORESOURCE_MEM, | ||
351 | }, | ||
352 | [1] = { | ||
353 | .start = evt2irq(0x7a0), | ||
354 | .flags = IORESOURCE_IRQ, | ||
355 | }, | ||
356 | }; | ||
357 | |||
358 | static struct platform_device tmu6_device = { | ||
359 | .name = "sh_tmu", | ||
360 | .id = 6, | ||
361 | .dev = { | ||
362 | .platform_data = &tmu6_platform_data, | ||
363 | }, | ||
364 | .resource = tmu6_resources, | ||
365 | .num_resources = ARRAY_SIZE(tmu6_resources), | ||
366 | }; | ||
367 | |||
368 | static struct sh_timer_config tmu7_platform_data = { | ||
369 | .channel_offset = 0x10, | ||
370 | .timer_bit = 1, | ||
371 | }; | ||
372 | |||
373 | static struct resource tmu7_resources[] = { | ||
374 | [0] = { | ||
375 | .start = 0xffdc0014, | ||
376 | .end = 0xffdc001f, | ||
377 | .flags = IORESOURCE_MEM, | ||
378 | }, | ||
379 | [1] = { | ||
380 | .start = evt2irq(0x7a0), | ||
381 | .flags = IORESOURCE_IRQ, | ||
382 | }, | ||
383 | }; | ||
384 | |||
385 | static struct platform_device tmu7_device = { | ||
386 | .name = "sh_tmu", | ||
387 | .id = 7, | ||
388 | .dev = { | ||
389 | .platform_data = &tmu7_platform_data, | ||
390 | }, | ||
391 | .resource = tmu7_resources, | ||
392 | .num_resources = ARRAY_SIZE(tmu7_resources), | ||
393 | }; | ||
394 | |||
395 | static struct sh_timer_config tmu8_platform_data = { | ||
396 | .channel_offset = 0x1c, | ||
397 | .timer_bit = 2, | ||
398 | }; | ||
399 | |||
400 | static struct resource tmu8_resources[] = { | ||
401 | [0] = { | ||
402 | .start = 0xffdc0020, | ||
403 | .end = 0xffdc002b, | ||
404 | .flags = IORESOURCE_MEM, | ||
405 | }, | ||
406 | [1] = { | ||
407 | .start = evt2irq(0x7a0), | ||
408 | .flags = IORESOURCE_IRQ, | ||
409 | }, | ||
410 | }; | ||
411 | |||
412 | static struct platform_device tmu8_device = { | ||
413 | .name = "sh_tmu", | ||
414 | .id = 8, | ||
415 | .dev = { | ||
416 | .platform_data = &tmu8_platform_data, | ||
417 | }, | ||
418 | .resource = tmu8_resources, | ||
419 | .num_resources = ARRAY_SIZE(tmu8_resources), | ||
420 | }; | ||
421 | |||
422 | static struct sh_timer_config tmu9_platform_data = { | ||
423 | .channel_offset = 0x04, | ||
424 | .timer_bit = 0, | ||
425 | }; | ||
426 | |||
427 | static struct resource tmu9_resources[] = { | ||
428 | [0] = { | ||
429 | .start = 0xffde0008, | ||
430 | .end = 0xffde0013, | ||
431 | .flags = IORESOURCE_MEM, | ||
432 | }, | ||
433 | [1] = { | ||
434 | .start = evt2irq(0x7c0), | ||
435 | .flags = IORESOURCE_IRQ, | ||
436 | }, | ||
437 | }; | ||
438 | |||
439 | static struct platform_device tmu9_device = { | ||
440 | .name = "sh_tmu", | ||
441 | .id = 9, | ||
442 | .dev = { | ||
443 | .platform_data = &tmu9_platform_data, | ||
444 | }, | ||
445 | .resource = tmu9_resources, | ||
446 | .num_resources = ARRAY_SIZE(tmu9_resources), | ||
447 | }; | ||
448 | |||
449 | static struct sh_timer_config tmu10_platform_data = { | ||
450 | .channel_offset = 0x10, | ||
451 | .timer_bit = 1, | ||
452 | }; | ||
453 | |||
454 | static struct resource tmu10_resources[] = { | ||
455 | [0] = { | ||
456 | .start = 0xffde0014, | ||
457 | .end = 0xffde001f, | ||
458 | .flags = IORESOURCE_MEM, | ||
459 | }, | ||
460 | [1] = { | ||
461 | .start = evt2irq(0x7c0), | ||
462 | .flags = IORESOURCE_IRQ, | ||
463 | }, | ||
464 | }; | ||
465 | |||
466 | static struct platform_device tmu10_device = { | ||
467 | .name = "sh_tmu", | ||
468 | .id = 10, | ||
469 | .dev = { | ||
470 | .platform_data = &tmu10_platform_data, | ||
471 | }, | ||
472 | .resource = tmu10_resources, | ||
473 | .num_resources = ARRAY_SIZE(tmu10_resources), | ||
474 | }; | ||
475 | |||
476 | static struct sh_timer_config tmu11_platform_data = { | ||
477 | .channel_offset = 0x1c, | ||
478 | .timer_bit = 2, | ||
479 | }; | ||
480 | |||
481 | static struct resource tmu11_resources[] = { | ||
482 | [0] = { | ||
483 | .start = 0xffde0020, | ||
484 | .end = 0xffde002b, | ||
485 | .flags = IORESOURCE_MEM, | ||
486 | }, | ||
487 | [1] = { | ||
488 | .start = evt2irq(0x7c0), | ||
489 | .flags = IORESOURCE_IRQ, | ||
490 | }, | ||
491 | }; | ||
492 | |||
493 | static struct platform_device tmu11_device = { | ||
494 | .name = "sh_tmu", | ||
495 | .id = 11, | ||
496 | .dev = { | ||
497 | .platform_data = &tmu11_platform_data, | ||
498 | }, | ||
499 | .resource = tmu11_resources, | ||
500 | .num_resources = ARRAY_SIZE(tmu11_resources), | ||
501 | }; | ||
502 | |||
503 | static const struct sh_dmae_channel dmac0_channels[] = { | 261 | static const struct sh_dmae_channel dmac0_channels[] = { |
504 | { | 262 | { |
505 | .offset = 0, | 263 | .offset = 0, |
@@ -641,15 +399,6 @@ static struct platform_device *sh7786_early_devices[] __initdata = { | |||
641 | &tmu0_device, | 399 | &tmu0_device, |
642 | &tmu1_device, | 400 | &tmu1_device, |
643 | &tmu2_device, | 401 | &tmu2_device, |
644 | &tmu3_device, | ||
645 | &tmu4_device, | ||
646 | &tmu5_device, | ||
647 | &tmu6_device, | ||
648 | &tmu7_device, | ||
649 | &tmu8_device, | ||
650 | &tmu9_device, | ||
651 | &tmu10_device, | ||
652 | &tmu11_device, | ||
653 | }; | 402 | }; |
654 | 403 | ||
655 | static struct platform_device *sh7786_devices[] __initdata = { | 404 | static struct platform_device *sh7786_devices[] __initdata = { |
diff --git a/arch/sh/kernel/cpu/sh4a/setup-shx3.c b/arch/sh/kernel/cpu/sh4a/setup-shx3.c index 0856bcbb1da0..a78c5feb4e3b 100644 --- a/arch/sh/kernel/cpu/sh4a/setup-shx3.c +++ b/arch/sh/kernel/cpu/sh4a/setup-shx3.c | |||
@@ -100,25 +100,18 @@ static struct platform_device scif2_device = { | |||
100 | }; | 100 | }; |
101 | 101 | ||
102 | static struct sh_timer_config tmu0_platform_data = { | 102 | static struct sh_timer_config tmu0_platform_data = { |
103 | .channel_offset = 0x04, | 103 | .channels_mask = 7, |
104 | .timer_bit = 0, | ||
105 | .clockevent_rating = 200, | ||
106 | }; | 104 | }; |
107 | 105 | ||
108 | static struct resource tmu0_resources[] = { | 106 | static struct resource tmu0_resources[] = { |
109 | [0] = { | 107 | DEFINE_RES_MEM(0xffc10000, 0x30), |
110 | .start = 0xffc10008, | 108 | DEFINE_RES_IRQ(evt2irq(0x400)), |
111 | .end = 0xffc10013, | 109 | DEFINE_RES_IRQ(evt2irq(0x420)), |
112 | .flags = IORESOURCE_MEM, | 110 | DEFINE_RES_IRQ(evt2irq(0x440)), |
113 | }, | ||
114 | [1] = { | ||
115 | .start = evt2irq(0x400), | ||
116 | .flags = IORESOURCE_IRQ, | ||
117 | }, | ||
118 | }; | 111 | }; |
119 | 112 | ||
120 | static struct platform_device tmu0_device = { | 113 | static struct platform_device tmu0_device = { |
121 | .name = "sh_tmu", | 114 | .name = "sh-tmu", |
122 | .id = 0, | 115 | .id = 0, |
123 | .dev = { | 116 | .dev = { |
124 | .platform_data = &tmu0_platform_data, | 117 | .platform_data = &tmu0_platform_data, |
@@ -128,25 +121,18 @@ static struct platform_device tmu0_device = { | |||
128 | }; | 121 | }; |
129 | 122 | ||
130 | static struct sh_timer_config tmu1_platform_data = { | 123 | static struct sh_timer_config tmu1_platform_data = { |
131 | .channel_offset = 0x10, | 124 | .channels_mask = 7, |
132 | .timer_bit = 1, | ||
133 | .clocksource_rating = 200, | ||
134 | }; | 125 | }; |
135 | 126 | ||
136 | static struct resource tmu1_resources[] = { | 127 | static struct resource tmu1_resources[] = { |
137 | [0] = { | 128 | DEFINE_RES_MEM(0xffc20000, 0x2c), |
138 | .start = 0xffc10014, | 129 | DEFINE_RES_IRQ(evt2irq(0x460)), |
139 | .end = 0xffc1001f, | 130 | DEFINE_RES_IRQ(evt2irq(0x480)), |
140 | .flags = IORESOURCE_MEM, | 131 | DEFINE_RES_IRQ(evt2irq(0x4a0)), |
141 | }, | ||
142 | [1] = { | ||
143 | .start = evt2irq(0x420), | ||
144 | .flags = IORESOURCE_IRQ, | ||
145 | }, | ||
146 | }; | 132 | }; |
147 | 133 | ||
148 | static struct platform_device tmu1_device = { | 134 | static struct platform_device tmu1_device = { |
149 | .name = "sh_tmu", | 135 | .name = "sh-tmu", |
150 | .id = 1, | 136 | .id = 1, |
151 | .dev = { | 137 | .dev = { |
152 | .platform_data = &tmu1_platform_data, | 138 | .platform_data = &tmu1_platform_data, |
@@ -155,124 +141,12 @@ static struct platform_device tmu1_device = { | |||
155 | .num_resources = ARRAY_SIZE(tmu1_resources), | 141 | .num_resources = ARRAY_SIZE(tmu1_resources), |
156 | }; | 142 | }; |
157 | 143 | ||
158 | static struct sh_timer_config tmu2_platform_data = { | ||
159 | .channel_offset = 0x1c, | ||
160 | .timer_bit = 2, | ||
161 | }; | ||
162 | |||
163 | static struct resource tmu2_resources[] = { | ||
164 | [0] = { | ||
165 | .start = 0xffc10020, | ||
166 | .end = 0xffc1002f, | ||
167 | .flags = IORESOURCE_MEM, | ||
168 | }, | ||
169 | [1] = { | ||
170 | .start = evt2irq(0x440), | ||
171 | .flags = IORESOURCE_IRQ, | ||
172 | }, | ||
173 | }; | ||
174 | |||
175 | static struct platform_device tmu2_device = { | ||
176 | .name = "sh_tmu", | ||
177 | .id = 2, | ||
178 | .dev = { | ||
179 | .platform_data = &tmu2_platform_data, | ||
180 | }, | ||
181 | .resource = tmu2_resources, | ||
182 | .num_resources = ARRAY_SIZE(tmu2_resources), | ||
183 | }; | ||
184 | |||
185 | static struct sh_timer_config tmu3_platform_data = { | ||
186 | .channel_offset = 0x04, | ||
187 | .timer_bit = 0, | ||
188 | }; | ||
189 | |||
190 | static struct resource tmu3_resources[] = { | ||
191 | [0] = { | ||
192 | .start = 0xffc20008, | ||
193 | .end = 0xffc20013, | ||
194 | .flags = IORESOURCE_MEM, | ||
195 | }, | ||
196 | [1] = { | ||
197 | .start = evt2irq(0x460), | ||
198 | .flags = IORESOURCE_IRQ, | ||
199 | }, | ||
200 | }; | ||
201 | |||
202 | static struct platform_device tmu3_device = { | ||
203 | .name = "sh_tmu", | ||
204 | .id = 3, | ||
205 | .dev = { | ||
206 | .platform_data = &tmu3_platform_data, | ||
207 | }, | ||
208 | .resource = tmu3_resources, | ||
209 | .num_resources = ARRAY_SIZE(tmu3_resources), | ||
210 | }; | ||
211 | |||
212 | static struct sh_timer_config tmu4_platform_data = { | ||
213 | .channel_offset = 0x10, | ||
214 | .timer_bit = 1, | ||
215 | }; | ||
216 | |||
217 | static struct resource tmu4_resources[] = { | ||
218 | [0] = { | ||
219 | .start = 0xffc20014, | ||
220 | .end = 0xffc2001f, | ||
221 | .flags = IORESOURCE_MEM, | ||
222 | }, | ||
223 | [1] = { | ||
224 | .start = evt2irq(0x480), | ||
225 | .flags = IORESOURCE_IRQ, | ||
226 | }, | ||
227 | }; | ||
228 | |||
229 | static struct platform_device tmu4_device = { | ||
230 | .name = "sh_tmu", | ||
231 | .id = 4, | ||
232 | .dev = { | ||
233 | .platform_data = &tmu4_platform_data, | ||
234 | }, | ||
235 | .resource = tmu4_resources, | ||
236 | .num_resources = ARRAY_SIZE(tmu4_resources), | ||
237 | }; | ||
238 | |||
239 | static struct sh_timer_config tmu5_platform_data = { | ||
240 | .channel_offset = 0x1c, | ||
241 | .timer_bit = 2, | ||
242 | }; | ||
243 | |||
244 | static struct resource tmu5_resources[] = { | ||
245 | [0] = { | ||
246 | .start = 0xffc20020, | ||
247 | .end = 0xffc2002b, | ||
248 | .flags = IORESOURCE_MEM, | ||
249 | }, | ||
250 | [1] = { | ||
251 | .start = evt2irq(0x4a0), | ||
252 | .flags = IORESOURCE_IRQ, | ||
253 | }, | ||
254 | }; | ||
255 | |||
256 | static struct platform_device tmu5_device = { | ||
257 | .name = "sh_tmu", | ||
258 | .id = 5, | ||
259 | .dev = { | ||
260 | .platform_data = &tmu5_platform_data, | ||
261 | }, | ||
262 | .resource = tmu5_resources, | ||
263 | .num_resources = ARRAY_SIZE(tmu5_resources), | ||
264 | }; | ||
265 | |||
266 | static struct platform_device *shx3_early_devices[] __initdata = { | 144 | static struct platform_device *shx3_early_devices[] __initdata = { |
267 | &scif0_device, | 145 | &scif0_device, |
268 | &scif1_device, | 146 | &scif1_device, |
269 | &scif2_device, | 147 | &scif2_device, |
270 | &tmu0_device, | 148 | &tmu0_device, |
271 | &tmu1_device, | 149 | &tmu1_device, |
272 | &tmu2_device, | ||
273 | &tmu3_device, | ||
274 | &tmu4_device, | ||
275 | &tmu5_device, | ||
276 | }; | 150 | }; |
277 | 151 | ||
278 | static int __init shx3_devices_setup(void) | 152 | static int __init shx3_devices_setup(void) |
diff --git a/arch/sh/kernel/cpu/sh5/setup-sh5.c b/arch/sh/kernel/cpu/sh5/setup-sh5.c index 14d68213d16b..1bf0b2cf6652 100644 --- a/arch/sh/kernel/cpu/sh5/setup-sh5.c +++ b/arch/sh/kernel/cpu/sh5/setup-sh5.c | |||
@@ -71,30 +71,20 @@ static struct platform_device rtc_device = { | |||
71 | 71 | ||
72 | #define TMU_BLOCK_OFF 0x01020000 | 72 | #define TMU_BLOCK_OFF 0x01020000 |
73 | #define TMU_BASE PHYS_PERIPHERAL_BLOCK + TMU_BLOCK_OFF | 73 | #define TMU_BASE PHYS_PERIPHERAL_BLOCK + TMU_BLOCK_OFF |
74 | #define TMU0_BASE (TMU_BASE + 0x8 + (0xc * 0x0)) | ||
75 | #define TMU1_BASE (TMU_BASE + 0x8 + (0xc * 0x1)) | ||
76 | #define TMU2_BASE (TMU_BASE + 0x8 + (0xc * 0x2)) | ||
77 | 74 | ||
78 | static struct sh_timer_config tmu0_platform_data = { | 75 | static struct sh_timer_config tmu0_platform_data = { |
79 | .channel_offset = 0x04, | 76 | .channels_mask = 7, |
80 | .timer_bit = 0, | ||
81 | .clockevent_rating = 200, | ||
82 | }; | 77 | }; |
83 | 78 | ||
84 | static struct resource tmu0_resources[] = { | 79 | static struct resource tmu0_resources[] = { |
85 | [0] = { | 80 | DEFINE_RES_MEM(TMU_BASE, 0x30), |
86 | .start = TMU0_BASE, | 81 | DEFINE_RES_IRQ(IRQ_TUNI0), |
87 | .end = TMU0_BASE + 0xc - 1, | 82 | DEFINE_RES_IRQ(IRQ_TUNI1), |
88 | .flags = IORESOURCE_MEM, | 83 | DEFINE_RES_IRQ(IRQ_TUNI2), |
89 | }, | ||
90 | [1] = { | ||
91 | .start = IRQ_TUNI0, | ||
92 | .flags = IORESOURCE_IRQ, | ||
93 | }, | ||
94 | }; | 84 | }; |
95 | 85 | ||
96 | static struct platform_device tmu0_device = { | 86 | static struct platform_device tmu0_device = { |
97 | .name = "sh_tmu", | 87 | .name = "sh-tmu", |
98 | .id = 0, | 88 | .id = 0, |
99 | .dev = { | 89 | .dev = { |
100 | .platform_data = &tmu0_platform_data, | 90 | .platform_data = &tmu0_platform_data, |
@@ -103,66 +93,9 @@ static struct platform_device tmu0_device = { | |||
103 | .num_resources = ARRAY_SIZE(tmu0_resources), | 93 | .num_resources = ARRAY_SIZE(tmu0_resources), |
104 | }; | 94 | }; |
105 | 95 | ||
106 | static struct sh_timer_config tmu1_platform_data = { | ||
107 | .channel_offset = 0x10, | ||
108 | .timer_bit = 1, | ||
109 | .clocksource_rating = 200, | ||
110 | }; | ||
111 | |||
112 | static struct resource tmu1_resources[] = { | ||
113 | [0] = { | ||
114 | .start = TMU1_BASE, | ||
115 | .end = TMU1_BASE + 0xc - 1, | ||
116 | .flags = IORESOURCE_MEM, | ||
117 | }, | ||
118 | [1] = { | ||
119 | .start = IRQ_TUNI1, | ||
120 | .flags = IORESOURCE_IRQ, | ||
121 | }, | ||
122 | }; | ||
123 | |||
124 | static struct platform_device tmu1_device = { | ||
125 | .name = "sh_tmu", | ||
126 | .id = 1, | ||
127 | .dev = { | ||
128 | .platform_data = &tmu1_platform_data, | ||
129 | }, | ||
130 | .resource = tmu1_resources, | ||
131 | .num_resources = ARRAY_SIZE(tmu1_resources), | ||
132 | }; | ||
133 | |||
134 | static struct sh_timer_config tmu2_platform_data = { | ||
135 | .channel_offset = 0x1c, | ||
136 | .timer_bit = 2, | ||
137 | }; | ||
138 | |||
139 | static struct resource tmu2_resources[] = { | ||
140 | [0] = { | ||
141 | .start = TMU2_BASE, | ||
142 | .end = TMU2_BASE + 0xc - 1, | ||
143 | .flags = IORESOURCE_MEM, | ||
144 | }, | ||
145 | [1] = { | ||
146 | .start = IRQ_TUNI2, | ||
147 | .flags = IORESOURCE_IRQ, | ||
148 | }, | ||
149 | }; | ||
150 | |||
151 | static struct platform_device tmu2_device = { | ||
152 | .name = "sh_tmu", | ||
153 | .id = 2, | ||
154 | .dev = { | ||
155 | .platform_data = &tmu2_platform_data, | ||
156 | }, | ||
157 | .resource = tmu2_resources, | ||
158 | .num_resources = ARRAY_SIZE(tmu2_resources), | ||
159 | }; | ||
160 | |||
161 | static struct platform_device *sh5_early_devices[] __initdata = { | 96 | static struct platform_device *sh5_early_devices[] __initdata = { |
162 | &scif0_device, | 97 | &scif0_device, |
163 | &tmu0_device, | 98 | &tmu0_device, |
164 | &tmu1_device, | ||
165 | &tmu2_device, | ||
166 | }; | 99 | }; |
167 | 100 | ||
168 | static struct platform_device *sh5_devices[] __initdata = { | 101 | static struct platform_device *sh5_devices[] __initdata = { |