diff options
author | Magnus Damm <damm@opensource.se> | 2010-05-10 10:01:22 -0400 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2010-05-10 22:48:39 -0400 |
commit | fd30401b07fdcf21e4be87fd276d1b2c84d712a3 (patch) | |
tree | eba1a28658d1e83e4e86c785db7cfcbe0db50d0b /arch/sh/kernel/cpu/sh4a/clock-sh7724.c | |
parent | e4e06697977bf6731d940ab1bd84e16cb53c3ae3 (diff) |
sh: tie in hwblk clocks using clkdev
Use clkdev for lookup of hwblk clocks on
sh7722/sh7723/sh7724.
Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/kernel/cpu/sh4a/clock-sh7724.c')
-rw-r--r-- | arch/sh/kernel/cpu/sh4a/clock-sh7724.c | 50 |
1 files changed, 49 insertions, 1 deletions
diff --git a/arch/sh/kernel/cpu/sh4a/clock-sh7724.c b/arch/sh/kernel/cpu/sh4a/clock-sh7724.c index 0c2aa34c7847..fe59f34a6e00 100644 --- a/arch/sh/kernel/cpu/sh4a/clock-sh7724.c +++ b/arch/sh/kernel/cpu/sh4a/clock-sh7724.c | |||
@@ -235,7 +235,22 @@ static struct clk mstp_clks[HWBLK_NR] = { | |||
235 | SH_HWBLK_CLK("lcdc0", -1, B_CLK, HWBLK_LCDC, 0), | 235 | SH_HWBLK_CLK("lcdc0", -1, B_CLK, HWBLK_LCDC, 0), |
236 | }; | 236 | }; |
237 | 237 | ||
238 | #define CLKDEV_CON_ID(_id, _clk) { .con_id = _id, .clk = _clk } | ||
239 | |||
238 | static struct clk_lookup lookups[] = { | 240 | static struct clk_lookup lookups[] = { |
241 | /* MSTP clocks */ | ||
242 | CLKDEV_CON_ID("tlb0", &mstp_clks[HWBLK_TLB]), | ||
243 | CLKDEV_CON_ID("ic0", &mstp_clks[HWBLK_IC]), | ||
244 | CLKDEV_CON_ID("oc0", &mstp_clks[HWBLK_OC]), | ||
245 | CLKDEV_CON_ID("rs0", &mstp_clks[HWBLK_RSMEM]), | ||
246 | CLKDEV_CON_ID("ilmem0", &mstp_clks[HWBLK_ILMEM]), | ||
247 | CLKDEV_CON_ID("l2c0", &mstp_clks[HWBLK_L2C]), | ||
248 | CLKDEV_CON_ID("fpu0", &mstp_clks[HWBLK_FPU]), | ||
249 | CLKDEV_CON_ID("intc0", &mstp_clks[HWBLK_INTC]), | ||
250 | CLKDEV_CON_ID("dmac0", &mstp_clks[HWBLK_DMAC0]), | ||
251 | CLKDEV_CON_ID("sh0", &mstp_clks[HWBLK_SHYWAY]), | ||
252 | CLKDEV_CON_ID("hudi0", &mstp_clks[HWBLK_HUDI]), | ||
253 | CLKDEV_CON_ID("ubc0", &mstp_clks[HWBLK_UBC]), | ||
239 | { | 254 | { |
240 | /* TMU0 */ | 255 | /* TMU0 */ |
241 | .dev_id = "sh_tmu.0", | 256 | .dev_id = "sh_tmu.0", |
@@ -256,7 +271,11 @@ static struct clk_lookup lookups[] = { | |||
256 | .dev_id = "sh_tmu.3", | 271 | .dev_id = "sh_tmu.3", |
257 | .con_id = "tmu_fck", | 272 | .con_id = "tmu_fck", |
258 | .clk = &mstp_clks[HWBLK_TMU1], | 273 | .clk = &mstp_clks[HWBLK_TMU1], |
259 | }, { | 274 | }, |
275 | CLKDEV_CON_ID("cmt_fck", &mstp_clks[HWBLK_CMT]), | ||
276 | CLKDEV_CON_ID("rwdt0", &mstp_clks[HWBLK_RWDT]), | ||
277 | CLKDEV_CON_ID("dmac1", &mstp_clks[HWBLK_DMAC1]), | ||
278 | { | ||
260 | /* TMU4 */ | 279 | /* TMU4 */ |
261 | .dev_id = "sh_tmu.4", | 280 | .dev_id = "sh_tmu.4", |
262 | .con_id = "tmu_fck", | 281 | .con_id = "tmu_fck", |
@@ -297,6 +316,35 @@ static struct clk_lookup lookups[] = { | |||
297 | .con_id = "sci_fck", | 316 | .con_id = "sci_fck", |
298 | .clk = &mstp_clks[HWBLK_SCIF5], | 317 | .clk = &mstp_clks[HWBLK_SCIF5], |
299 | }, | 318 | }, |
319 | CLKDEV_CON_ID("msiof0", &mstp_clks[HWBLK_MSIOF0]), | ||
320 | CLKDEV_CON_ID("msiof1", &mstp_clks[HWBLK_MSIOF1]), | ||
321 | CLKDEV_CON_ID("keysc0", &mstp_clks[HWBLK_KEYSC]), | ||
322 | CLKDEV_CON_ID("rtc0", &mstp_clks[HWBLK_RTC]), | ||
323 | CLKDEV_CON_ID("i2c0", &mstp_clks[HWBLK_IIC0]), | ||
324 | CLKDEV_CON_ID("i2c1", &mstp_clks[HWBLK_IIC1]), | ||
325 | CLKDEV_CON_ID("mmc0", &mstp_clks[HWBLK_MMC]), | ||
326 | CLKDEV_CON_ID("eth0", &mstp_clks[HWBLK_ETHER]), | ||
327 | CLKDEV_CON_ID("atapi0", &mstp_clks[HWBLK_ATAPI]), | ||
328 | CLKDEV_CON_ID("tpu0", &mstp_clks[HWBLK_TPU]), | ||
329 | CLKDEV_CON_ID("irda0", &mstp_clks[HWBLK_IRDA]), | ||
330 | CLKDEV_CON_ID("tsif0", &mstp_clks[HWBLK_TSIF]), | ||
331 | CLKDEV_CON_ID("usb1", &mstp_clks[HWBLK_USB1]), | ||
332 | CLKDEV_CON_ID("usb0", &mstp_clks[HWBLK_USB0]), | ||
333 | CLKDEV_CON_ID("2dg0", &mstp_clks[HWBLK_2DG]), | ||
334 | CLKDEV_CON_ID("sdhi0", &mstp_clks[HWBLK_SDHI0]), | ||
335 | CLKDEV_CON_ID("sdhi1", &mstp_clks[HWBLK_SDHI1]), | ||
336 | CLKDEV_CON_ID("veu1", &mstp_clks[HWBLK_VEU1]), | ||
337 | CLKDEV_CON_ID("ceu1", &mstp_clks[HWBLK_CEU1]), | ||
338 | CLKDEV_CON_ID("beu1", &mstp_clks[HWBLK_BEU1]), | ||
339 | CLKDEV_CON_ID("2ddmac0", &mstp_clks[HWBLK_2DDMAC]), | ||
340 | CLKDEV_CON_ID("spu0", &mstp_clks[HWBLK_SPU]), | ||
341 | CLKDEV_CON_ID("jpu0", &mstp_clks[HWBLK_JPU]), | ||
342 | CLKDEV_CON_ID("vou0", &mstp_clks[HWBLK_VOU]), | ||
343 | CLKDEV_CON_ID("beu0", &mstp_clks[HWBLK_BEU0]), | ||
344 | CLKDEV_CON_ID("ceu0", &mstp_clks[HWBLK_CEU0]), | ||
345 | CLKDEV_CON_ID("veu0", &mstp_clks[HWBLK_VEU0]), | ||
346 | CLKDEV_CON_ID("vpu0", &mstp_clks[HWBLK_VPU]), | ||
347 | CLKDEV_CON_ID("lcdc0", &mstp_clks[HWBLK_LCDC]), | ||
300 | }; | 348 | }; |
301 | 349 | ||
302 | int __init arch_clk_init(void) | 350 | int __init arch_clk_init(void) |