aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-s5p64x0/clock-s5p6450.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-s5p6450.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-s5p6450.c')
-rw-r--r--arch/arm/mach-s5p64x0/clock-s5p6450.c72
1 files changed, 42 insertions, 30 deletions
diff --git a/arch/arm/mach-s5p64x0/clock-s5p6450.c b/arch/arm/mach-s5p64x0/clock-s5p6450.c
index 50f90cbf7798..b5087cb6e818 100644
--- a/arch/arm/mach-s5p64x0/clock-s5p6450.c
+++ b/arch/arm/mach-s5p64x0/clock-s5p6450.c
@@ -413,36 +413,6 @@ static struct clksrc_clk clk_sclk_audio0 = {
413static struct clksrc_clk clksrcs[] = { 413static struct clksrc_clk clksrcs[] = {
414 { 414 {
415 .clk = { 415 .clk = {
416 .name = "sclk_mmc",
417 .devname = "s3c-sdhci.0",
418 .ctrlbit = (1 << 24),
419 .enable = s5p64x0_sclk_ctrl,
420 },
421 .sources = &clkset_group2,
422 .reg_src = { .reg = S5P64X0_CLK_SRC0, .shift = 18, .size = 2 },
423 .reg_div = { .reg = S5P64X0_CLK_DIV1, .shift = 0, .size = 4 },
424 }, {
425 .clk = {
426 .name = "sclk_mmc",
427 .devname = "s3c-sdhci.1",
428 .ctrlbit = (1 << 25),
429 .enable = s5p64x0_sclk_ctrl,
430 },
431 .sources = &clkset_group2,
432 .reg_src = { .reg = S5P64X0_CLK_SRC0, .shift = 20, .size = 2 },
433 .reg_div = { .reg = S5P64X0_CLK_DIV1, .shift = 4, .size = 4 },
434 }, {
435 .clk = {
436 .name = "sclk_mmc",
437 .devname = "s3c-sdhci.2",
438 .ctrlbit = (1 << 26),
439 .enable = s5p64x0_sclk_ctrl,
440 },
441 .sources = &clkset_group2,
442 .reg_src = { .reg = S5P64X0_CLK_SRC0, .shift = 22, .size = 2 },
443 .reg_div = { .reg = S5P64X0_CLK_DIV1, .shift = 8, .size = 4 },
444 }, {
445 .clk = {
446 .name = "sclk_fimc", 416 .name = "sclk_fimc",
447 .ctrlbit = (1 << 10), 417 .ctrlbit = (1 << 10),
448 .enable = s5p64x0_sclk_ctrl, 418 .enable = s5p64x0_sclk_ctrl,
@@ -507,6 +477,42 @@ static struct clksrc_clk clksrcs[] = {
507 }, 477 },
508}; 478};
509 479
480static struct clksrc_clk clk_sclk_mmc0 = {
481 .clk = {
482 .name = "sclk_mmc",
483 .devname = "s3c-sdhci.0",
484 .ctrlbit = (1 << 24),
485 .enable = s5p64x0_sclk_ctrl,
486 },
487 .sources = &clkset_group2,
488 .reg_src = { .reg = S5P64X0_CLK_SRC0, .shift = 18, .size = 2 },
489 .reg_div = { .reg = S5P64X0_CLK_DIV1, .shift = 0, .size = 4 },
490};
491
492static struct clksrc_clk clk_sclk_mmc1 = {
493 .clk = {
494 .name = "sclk_mmc",
495 .devname = "s3c-sdhci.1",
496 .ctrlbit = (1 << 25),
497 .enable = s5p64x0_sclk_ctrl,
498 },
499 .sources = &clkset_group2,
500 .reg_src = { .reg = S5P64X0_CLK_SRC0, .shift = 20, .size = 2 },
501 .reg_div = { .reg = S5P64X0_CLK_DIV1, .shift = 4, .size = 4 },
502};
503
504static struct clksrc_clk clk_sclk_mmc2 = {
505 .clk = {
506 .name = "sclk_mmc",
507 .devname = "s3c-sdhci.2",
508 .ctrlbit = (1 << 26),
509 .enable = s5p64x0_sclk_ctrl,
510 },
511 .sources = &clkset_group2,
512 .reg_src = { .reg = S5P64X0_CLK_SRC0, .shift = 22, .size = 2 },
513 .reg_div = { .reg = S5P64X0_CLK_DIV1, .shift = 8, .size = 4 },
514};
515
510static struct clksrc_clk clk_sclk_uclk = { 516static struct clksrc_clk clk_sclk_uclk = {
511 .clk = { 517 .clk = {
512 .name = "uclk1", 518 .name = "uclk1",
@@ -546,6 +552,9 @@ static struct clksrc_clk *clksrc_cdev[] = {
546 &clk_sclk_uclk, 552 &clk_sclk_uclk,
547 &clk_sclk_spi0, 553 &clk_sclk_spi0,
548 &clk_sclk_spi1, 554 &clk_sclk_spi1,
555 &clk_sclk_mmc0,
556 &clk_sclk_mmc1,
557 &clk_sclk_mmc2,
549}; 558};
550 559
551static struct clk_lookup s5p6450_clk_lookup[] = { 560static struct clk_lookup s5p6450_clk_lookup[] = {
@@ -554,6 +563,9 @@ static struct clk_lookup s5p6450_clk_lookup[] = {
554 CLKDEV_INIT(NULL, "spi_busclk0", &clk_p), 563 CLKDEV_INIT(NULL, "spi_busclk0", &clk_p),
555 CLKDEV_INIT("s3c64xx-spi.0", "spi_busclk1", &clk_sclk_spi0.clk), 564 CLKDEV_INIT("s3c64xx-spi.0", "spi_busclk1", &clk_sclk_spi0.clk),
556 CLKDEV_INIT("s3c64xx-spi.1", "spi_busclk1", &clk_sclk_spi1.clk), 565 CLKDEV_INIT("s3c64xx-spi.1", "spi_busclk1", &clk_sclk_spi1.clk),
566 CLKDEV_INIT("s3c-sdhci.0", "mmc_busclk.2", &clk_sclk_mmc0.clk),
567 CLKDEV_INIT("s3c-sdhci.1", "mmc_busclk.2", &clk_sclk_mmc1.clk),
568 CLKDEV_INIT("s3c-sdhci.2", "mmc_busclk.2", &clk_sclk_mmc2.clk),
557}; 569};
558 570
559/* Clock initialization code */ 571/* Clock initialization code */