diff options
author | Padmavathi Venna <padma.v@samsung.com> | 2012-12-19 12:49:29 -0500 |
---|---|---|
committer | Kukjin Kim <kgene.kim@samsung.com> | 2012-12-19 12:49:29 -0500 |
commit | eaff82ed0f18022d089dbb157df49c0d79379168 (patch) | |
tree | 7df742af3d5bd0890205366f8edb6d3a5a69b392 /arch/arm/mach-s5pc100/clock.c | |
parent | db7af96ee96d1c2f208611022740f9469158d3a8 (diff) |
ARM: S5PC100: Add I2S clkdev support
I2S controller has an internal mux for RCLK source clk. The list
of source clk names were passed through platform data in non-dt case.
Register the existing RCLK source clocks with clkdev using generic
connection id. This is required as part of adding DT support
for I2S controller driver.
Signed-off-by: Padmavathi Venna <padma.v@samsung.com>
Acked-by: Sangbeom Kim <sbkim73@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Diffstat (limited to 'arch/arm/mach-s5pc100/clock.c')
-rw-r--r-- | arch/arm/mach-s5pc100/clock.c | 48 |
1 files changed, 30 insertions, 18 deletions
diff --git a/arch/arm/mach-s5pc100/clock.c b/arch/arm/mach-s5pc100/clock.c index 926219791f0d..a206dc35eff1 100644 --- a/arch/arm/mach-s5pc100/clock.c +++ b/arch/arm/mach-s5pc100/clock.c | |||
@@ -606,24 +606,6 @@ static struct clk init_clocks_off[] = { | |||
606 | .enable = s5pc100_d1_4_ctrl, | 606 | .enable = s5pc100_d1_4_ctrl, |
607 | .ctrlbit = (1 << 13), | 607 | .ctrlbit = (1 << 13), |
608 | }, { | 608 | }, { |
609 | .name = "iis", | ||
610 | .devname = "samsung-i2s.0", | ||
611 | .parent = &clk_div_pclkd1.clk, | ||
612 | .enable = s5pc100_d1_5_ctrl, | ||
613 | .ctrlbit = (1 << 0), | ||
614 | }, { | ||
615 | .name = "iis", | ||
616 | .devname = "samsung-i2s.1", | ||
617 | .parent = &clk_div_pclkd1.clk, | ||
618 | .enable = s5pc100_d1_5_ctrl, | ||
619 | .ctrlbit = (1 << 1), | ||
620 | }, { | ||
621 | .name = "iis", | ||
622 | .devname = "samsung-i2s.2", | ||
623 | .parent = &clk_div_pclkd1.clk, | ||
624 | .enable = s5pc100_d1_5_ctrl, | ||
625 | .ctrlbit = (1 << 2), | ||
626 | }, { | ||
627 | .name = "ac97", | 609 | .name = "ac97", |
628 | .parent = &clk_div_pclkd1.clk, | 610 | .parent = &clk_div_pclkd1.clk, |
629 | .enable = s5pc100_d1_5_ctrl, | 611 | .enable = s5pc100_d1_5_ctrl, |
@@ -724,6 +706,30 @@ static struct clk clk_48m_spi2 = { | |||
724 | .ctrlbit = (1 << 9), | 706 | .ctrlbit = (1 << 9), |
725 | }; | 707 | }; |
726 | 708 | ||
709 | static struct clk clk_i2s0 = { | ||
710 | .name = "iis", | ||
711 | .devname = "samsung-i2s.0", | ||
712 | .parent = &clk_div_pclkd1.clk, | ||
713 | .enable = s5pc100_d1_5_ctrl, | ||
714 | .ctrlbit = (1 << 0), | ||
715 | }; | ||
716 | |||
717 | static struct clk clk_i2s1 = { | ||
718 | .name = "iis", | ||
719 | .devname = "samsung-i2s.1", | ||
720 | .parent = &clk_div_pclkd1.clk, | ||
721 | .enable = s5pc100_d1_5_ctrl, | ||
722 | .ctrlbit = (1 << 1), | ||
723 | }; | ||
724 | |||
725 | static struct clk clk_i2s2 = { | ||
726 | .name = "iis", | ||
727 | .devname = "samsung-i2s.2", | ||
728 | .parent = &clk_div_pclkd1.clk, | ||
729 | .enable = s5pc100_d1_5_ctrl, | ||
730 | .ctrlbit = (1 << 2), | ||
731 | }; | ||
732 | |||
727 | static struct clk clk_vclk54m = { | 733 | static struct clk clk_vclk54m = { |
728 | .name = "vclk_54m", | 734 | .name = "vclk_54m", |
729 | .rate = 54000000, | 735 | .rate = 54000000, |
@@ -1154,6 +1160,9 @@ static struct clk *clk_cdev[] = { | |||
1154 | &clk_48m_spi0, | 1160 | &clk_48m_spi0, |
1155 | &clk_48m_spi1, | 1161 | &clk_48m_spi1, |
1156 | &clk_48m_spi2, | 1162 | &clk_48m_spi2, |
1163 | &clk_i2s0, | ||
1164 | &clk_i2s1, | ||
1165 | &clk_i2s2, | ||
1157 | }; | 1166 | }; |
1158 | 1167 | ||
1159 | static struct clksrc_clk *clksrc_cdev[] = { | 1168 | static struct clksrc_clk *clksrc_cdev[] = { |
@@ -1321,6 +1330,9 @@ static struct clk_lookup s5pc100_clk_lookup[] = { | |||
1321 | CLKDEV_INIT("s5pc100-spi.1", "spi_busclk2", &clk_sclk_spi1.clk), | 1330 | CLKDEV_INIT("s5pc100-spi.1", "spi_busclk2", &clk_sclk_spi1.clk), |
1322 | CLKDEV_INIT("s5pc100-spi.2", "spi_busclk1", &clk_48m_spi2), | 1331 | CLKDEV_INIT("s5pc100-spi.2", "spi_busclk1", &clk_48m_spi2), |
1323 | CLKDEV_INIT("s5pc100-spi.2", "spi_busclk2", &clk_sclk_spi2.clk), | 1332 | CLKDEV_INIT("s5pc100-spi.2", "spi_busclk2", &clk_sclk_spi2.clk), |
1333 | CLKDEV_INIT("samsung-i2s.0", "i2s_opclk0", &clk_i2s0), | ||
1334 | CLKDEV_INIT("samsung-i2s.1", "i2s_opclk0", &clk_i2s1), | ||
1335 | CLKDEV_INIT("samsung-i2s.2", "i2s_opclk0", &clk_i2s2), | ||
1324 | }; | 1336 | }; |
1325 | 1337 | ||
1326 | void __init s5pc100_register_clocks(void) | 1338 | void __init s5pc100_register_clocks(void) |