aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-s5p64x0/clock-s5p6440.c
diff options
context:
space:
mode:
authorRajeshwari Shinde <rajeshwari.s@samsung.com>2011-12-26 02:31:02 -0500
committerKukjin Kim <kgene.kim@samsung.com>2011-12-26 02:31:02 -0500
commit0818c52756f46ab8f3e7d14a3a9e6e0a7d87b98f (patch)
tree7bbcdcb29b5c783261a4871676743a68b6c407d1 /arch/arm/mach-s5p64x0/clock-s5p6440.c
parentebc433c2890f8ecad2da39fe2dbf2b6e7b309afa (diff)
ARM: S5P64X0: Add lookup of sdhci-s3c clocks using generic names
Add support for lookup of sdhci-s3c controller clocks using generic names for S5P64X0 SoCs. Signed-off-by: Rajeshwari Shinde <rajeshwari.s@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Diffstat (limited to 'arch/arm/mach-s5p64x0/clock-s5p6440.c')
-rw-r--r--arch/arm/mach-s5p64x0/clock-s5p6440.c72
1 files changed, 42 insertions, 30 deletions
diff --git a/arch/arm/mach-s5p64x0/clock-s5p6440.c b/arch/arm/mach-s5p64x0/clock-s5p6440.c
index 73c7cc9ef0dd..c041ad7fbd60 100644
--- a/arch/arm/mach-s5p64x0/clock-s5p6440.c
+++ b/arch/arm/mach-s5p64x0/clock-s5p6440.c
@@ -379,36 +379,6 @@ static struct clksrc_sources clkset_audio = {
379static struct clksrc_clk clksrcs[] = { 379static struct clksrc_clk clksrcs[] = {
380 { 380 {
381 .clk = { 381 .clk = {
382 .name = "sclk_mmc",
383 .devname = "s3c-sdhci.0",
384 .ctrlbit = (1 << 24),
385 .enable = s5p64x0_sclk_ctrl,
386 },
387 .sources = &clkset_group1,
388 .reg_src = { .reg = S5P64X0_CLK_SRC0, .shift = 18, .size = 2 },
389 .reg_div = { .reg = S5P64X0_CLK_DIV1, .shift = 0, .size = 4 },
390 }, {
391 .clk = {
392 .name = "sclk_mmc",
393 .devname = "s3c-sdhci.1",
394 .ctrlbit = (1 << 25),
395 .enable = s5p64x0_sclk_ctrl,
396 },
397 .sources = &clkset_group1,
398 .reg_src = { .reg = S5P64X0_CLK_SRC0, .shift = 20, .size = 2 },
399 .reg_div = { .reg = S5P64X0_CLK_DIV1, .shift = 4, .size = 4 },
400 }, {
401 .clk = {
402 .name = "sclk_mmc",
403 .devname = "s3c-sdhci.2",
404 .ctrlbit = (1 << 26),
405 .enable = s5p64x0_sclk_ctrl,
406 },
407 .sources = &clkset_group1,
408 .reg_src = { .reg = S5P64X0_CLK_SRC0, .shift = 22, .size = 2 },
409 .reg_div = { .reg = S5P64X0_CLK_DIV1, .shift = 8, .size = 4 },
410 }, {
411 .clk = {
412 .name = "sclk_post", 382 .name = "sclk_post",
413 .ctrlbit = (1 << 10), 383 .ctrlbit = (1 << 10),
414 .enable = s5p64x0_sclk_ctrl, 384 .enable = s5p64x0_sclk_ctrl,
@@ -446,6 +416,42 @@ static struct clksrc_clk clksrcs[] = {
446 }, 416 },
447}; 417};
448 418
419static struct clksrc_clk clk_sclk_mmc0 = {
420 .clk = {
421 .name = "sclk_mmc",
422 .devname = "s3c-sdhci.0",
423 .ctrlbit = (1 << 24),
424 .enable = s5p64x0_sclk_ctrl,
425 },
426 .sources = &clkset_group1,
427 .reg_src = { .reg = S5P64X0_CLK_SRC0, .shift = 18, .size = 2 },
428 .reg_div = { .reg = S5P64X0_CLK_DIV1, .shift = 0, .size = 4 },
429};
430
431static struct clksrc_clk clk_sclk_mmc1 = {
432 .clk = {
433 .name = "sclk_mmc",
434 .devname = "s3c-sdhci.1",
435 .ctrlbit = (1 << 25),
436 .enable = s5p64x0_sclk_ctrl,
437 },
438 .sources = &clkset_group1,
439 .reg_src = { .reg = S5P64X0_CLK_SRC0, .shift = 20, .size = 2 },
440 .reg_div = { .reg = S5P64X0_CLK_DIV1, .shift = 4, .size = 4 },
441};
442
443static struct clksrc_clk clk_sclk_mmc2 = {
444 .clk = {
445 .name = "sclk_mmc",
446 .devname = "s3c-sdhci.2",
447 .ctrlbit = (1 << 26),
448 .enable = s5p64x0_sclk_ctrl,
449 },
450 .sources = &clkset_group1,
451 .reg_src = { .reg = S5P64X0_CLK_SRC0, .shift = 22, .size = 2 },
452 .reg_div = { .reg = S5P64X0_CLK_DIV1, .shift = 8, .size = 4 },
453};
454
449static struct clksrc_clk clk_sclk_uclk = { 455static struct clksrc_clk clk_sclk_uclk = {
450 .clk = { 456 .clk = {
451 .name = "uclk1", 457 .name = "uclk1",
@@ -503,6 +509,9 @@ static struct clksrc_clk *clksrc_cdev[] = {
503 &clk_sclk_uclk, 509 &clk_sclk_uclk,
504 &clk_sclk_spi0, 510 &clk_sclk_spi0,
505 &clk_sclk_spi1, 511 &clk_sclk_spi1,
512 &clk_sclk_mmc0,
513 &clk_sclk_mmc1,
514 &clk_sclk_mmc2
506}; 515};
507 516
508static struct clk_lookup s5p6440_clk_lookup[] = { 517static struct clk_lookup s5p6440_clk_lookup[] = {
@@ -511,6 +520,9 @@ static struct clk_lookup s5p6440_clk_lookup[] = {
511 CLKDEV_INIT(NULL, "spi_busclk0", &clk_p), 520 CLKDEV_INIT(NULL, "spi_busclk0", &clk_p),
512 CLKDEV_INIT("s3c64xx-spi.0", "spi_busclk1", &clk_sclk_spi0.clk), 521 CLKDEV_INIT("s3c64xx-spi.0", "spi_busclk1", &clk_sclk_spi0.clk),
513 CLKDEV_INIT("s3c64xx-spi.1", "spi_busclk1", &clk_sclk_spi1.clk), 522 CLKDEV_INIT("s3c64xx-spi.1", "spi_busclk1", &clk_sclk_spi1.clk),
523 CLKDEV_INIT("s3c-sdhci.0", "mmc_busclk.2", &clk_sclk_mmc0.clk),
524 CLKDEV_INIT("s3c-sdhci.1", "mmc_busclk.2", &clk_sclk_mmc1.clk),
525 CLKDEV_INIT("s3c-sdhci.2", "mmc_busclk.2", &clk_sclk_mmc2.clk),
514}; 526};
515 527
516void __init_or_cpufreq s5p6440_setup_clocks(void) 528void __init_or_cpufreq s5p6440_setup_clocks(void)