aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/clk
diff options
context:
space:
mode:
authorTomasz Figa <t.figa@samsung.com>2014-06-30 09:06:43 -0400
committerTomasz Figa <t.figa@samsung.com>2014-06-30 09:06:43 -0400
commitbdfcdf18c380a3c376b42709a89eb2cc52e95ae0 (patch)
treec6a93004468a92c606bf0dd435bdbfa6f10bc49b /drivers/clk
parent27b8d5f723e64b5f7beac45a4d5785906d0a2f9d (diff)
parent44ff0254b89079a8a95e652635e760d93196ac1f (diff)
Merge branch 'v3.16-samsung-clk-fixes-1' into samsung-clk-next
Diffstat (limited to 'drivers/clk')
-rw-r--r--drivers/clk/samsung/clk-exynos4.c16
-rw-r--r--drivers/clk/samsung/clk-exynos5250.c2
-rw-r--r--drivers/clk/samsung/clk-exynos5420.c85
-rw-r--r--drivers/clk/samsung/clk-s3c2410.c9
-rw-r--r--drivers/clk/samsung/clk-s3c64xx.c6
5 files changed, 71 insertions, 47 deletions
diff --git a/drivers/clk/samsung/clk-exynos4.c b/drivers/clk/samsung/clk-exynos4.c
index 4f150c9dd38c..7f4a473a7ad7 100644
--- a/drivers/clk/samsung/clk-exynos4.c
+++ b/drivers/clk/samsung/clk-exynos4.c
@@ -925,21 +925,13 @@ static struct samsung_gate_clock exynos4x12_gate_clks[] __initdata = {
925 GATE(CLK_RTC, "rtc", "aclk100", E4X12_GATE_IP_PERIR, 15, 925 GATE(CLK_RTC, "rtc", "aclk100", E4X12_GATE_IP_PERIR, 15,
926 0, 0), 926 0, 0),
927 GATE(CLK_KEYIF, "keyif", "aclk100", E4X12_GATE_IP_PERIR, 16, 0, 0), 927 GATE(CLK_KEYIF, "keyif", "aclk100", E4X12_GATE_IP_PERIR, 16, 0, 0),
928 GATE(CLK_SCLK_PWM_ISP, "sclk_pwm_isp", "div_pwm_isp", 928 GATE(CLK_PWM_ISP_SCLK, "pwm_isp_sclk", "div_pwm_isp",
929 E4X12_SRC_MASK_ISP, 0, CLK_SET_RATE_PARENT, 0),
930 GATE(CLK_SCLK_SPI0_ISP, "sclk_spi0_isp", "div_spi0_isp_pre",
931 E4X12_SRC_MASK_ISP, 4, CLK_SET_RATE_PARENT, 0),
932 GATE(CLK_SCLK_SPI1_ISP, "sclk_spi1_isp", "div_spi1_isp_pre",
933 E4X12_SRC_MASK_ISP, 8, CLK_SET_RATE_PARENT, 0),
934 GATE(CLK_SCLK_UART_ISP, "sclk_uart_isp", "div_uart_isp",
935 E4X12_SRC_MASK_ISP, 12, CLK_SET_RATE_PARENT, 0),
936 GATE(CLK_PWM_ISP_SCLK, "pwm_isp_sclk", "sclk_pwm_isp",
937 E4X12_GATE_IP_ISP, 0, 0, 0), 929 E4X12_GATE_IP_ISP, 0, 0, 0),
938 GATE(CLK_SPI0_ISP_SCLK, "spi0_isp_sclk", "sclk_spi0_isp", 930 GATE(CLK_SPI0_ISP_SCLK, "spi0_isp_sclk", "div_spi0_isp_pre",
939 E4X12_GATE_IP_ISP, 1, 0, 0), 931 E4X12_GATE_IP_ISP, 1, 0, 0),
940 GATE(CLK_SPI1_ISP_SCLK, "spi1_isp_sclk", "sclk_spi1_isp", 932 GATE(CLK_SPI1_ISP_SCLK, "spi1_isp_sclk", "div_spi1_isp_pre",
941 E4X12_GATE_IP_ISP, 2, 0, 0), 933 E4X12_GATE_IP_ISP, 2, 0, 0),
942 GATE(CLK_UART_ISP_SCLK, "uart_isp_sclk", "sclk_uart_isp", 934 GATE(CLK_UART_ISP_SCLK, "uart_isp_sclk", "div_uart_isp",
943 E4X12_GATE_IP_ISP, 3, 0, 0), 935 E4X12_GATE_IP_ISP, 3, 0, 0),
944 GATE(CLK_WDT, "watchdog", "aclk100", E4X12_GATE_IP_PERIR, 14, 0, 0), 936 GATE(CLK_WDT, "watchdog", "aclk100", E4X12_GATE_IP_PERIR, 14, 0, 0),
945 GATE(CLK_PCM0, "pcm0", "aclk100", E4X12_GATE_IP_MAUDIO, 2, 937 GATE(CLK_PCM0, "pcm0", "aclk100", E4X12_GATE_IP_MAUDIO, 2,
diff --git a/drivers/clk/samsung/clk-exynos5250.c b/drivers/clk/samsung/clk-exynos5250.c
index 1fad4c5e3f5d..184f64293b26 100644
--- a/drivers/clk/samsung/clk-exynos5250.c
+++ b/drivers/clk/samsung/clk-exynos5250.c
@@ -661,7 +661,7 @@ static struct samsung_gate_clock exynos5250_gate_clks[] __initdata = {
661 GATE(CLK_RTC, "rtc", "div_aclk66", GATE_IP_PERIS, 20, 0, 0), 661 GATE(CLK_RTC, "rtc", "div_aclk66", GATE_IP_PERIS, 20, 0, 0),
662 GATE(CLK_TMU, "tmu", "div_aclk66", GATE_IP_PERIS, 21, 0, 0), 662 GATE(CLK_TMU, "tmu", "div_aclk66", GATE_IP_PERIS, 21, 0, 0),
663 GATE(CLK_SMMU_TV, "smmu_tv", "mout_aclk200_disp1_sub", 663 GATE(CLK_SMMU_TV, "smmu_tv", "mout_aclk200_disp1_sub",
664 GATE_IP_DISP1, 2, 0, 0), 664 GATE_IP_DISP1, 9, 0, 0),
665 GATE(CLK_SMMU_FIMD1, "smmu_fimd1", "mout_aclk200_disp1_sub", 665 GATE(CLK_SMMU_FIMD1, "smmu_fimd1", "mout_aclk200_disp1_sub",
666 GATE_IP_DISP1, 8, 0, 0), 666 GATE_IP_DISP1, 8, 0, 0),
667 GATE(CLK_SMMU_2D, "smmu_2d", "div_aclk200", GATE_IP_ACP, 7, 0, 0), 667 GATE(CLK_SMMU_2D, "smmu_2d", "div_aclk200", GATE_IP_ACP, 7, 0, 0),
diff --git a/drivers/clk/samsung/clk-exynos5420.c b/drivers/clk/samsung/clk-exynos5420.c
index 9d7d7eed03fd..61eccf0dd72f 100644
--- a/drivers/clk/samsung/clk-exynos5420.c
+++ b/drivers/clk/samsung/clk-exynos5420.c
@@ -890,8 +890,6 @@ static struct samsung_gate_clock exynos5x_gate_clks[] __initdata = {
890 GATE_BUS_TOP, 9, CLK_IGNORE_UNUSED, 0), 890 GATE_BUS_TOP, 9, CLK_IGNORE_UNUSED, 0),
891 GATE(0, "aclk66_psgen", "mout_user_aclk66_psgen", 891 GATE(0, "aclk66_psgen", "mout_user_aclk66_psgen",
892 GATE_BUS_TOP, 10, CLK_IGNORE_UNUSED, 0), 892 GATE_BUS_TOP, 10, CLK_IGNORE_UNUSED, 0),
893 GATE(CLK_ACLK66_PERIC, "aclk66_peric", "mout_user_aclk66_peric",
894 GATE_BUS_TOP, 11, CLK_IGNORE_UNUSED, 0),
895 GATE(0, "aclk266_isp", "mout_user_aclk266_isp", 893 GATE(0, "aclk266_isp", "mout_user_aclk266_isp",
896 GATE_BUS_TOP, 13, 0, 0), 894 GATE_BUS_TOP, 13, 0, 0),
897 GATE(0, "aclk166", "mout_user_aclk166", 895 GATE(0, "aclk166", "mout_user_aclk166",
@@ -994,34 +992,61 @@ static struct samsung_gate_clock exynos5x_gate_clks[] __initdata = {
994 SRC_MASK_FSYS, 24, CLK_SET_RATE_PARENT, 0), 992 SRC_MASK_FSYS, 24, CLK_SET_RATE_PARENT, 0),
995 993
996 /* PERIC Block */ 994 /* PERIC Block */
997 GATE(CLK_UART0, "uart0", "aclk66_peric", GATE_IP_PERIC, 0, 0, 0), 995 GATE(CLK_UART0, "uart0", "mout_user_aclk66_peric",
998 GATE(CLK_UART1, "uart1", "aclk66_peric", GATE_IP_PERIC, 1, 0, 0), 996 GATE_IP_PERIC, 0, 0, 0),
999 GATE(CLK_UART2, "uart2", "aclk66_peric", GATE_IP_PERIC, 2, 0, 0), 997 GATE(CLK_UART1, "uart1", "mout_user_aclk66_peric",
1000 GATE(CLK_UART3, "uart3", "aclk66_peric", GATE_IP_PERIC, 3, 0, 0), 998 GATE_IP_PERIC, 1, 0, 0),
1001 GATE(CLK_I2C0, "i2c0", "aclk66_peric", GATE_IP_PERIC, 6, 0, 0), 999 GATE(CLK_UART2, "uart2", "mout_user_aclk66_peric",
1002 GATE(CLK_I2C1, "i2c1", "aclk66_peric", GATE_IP_PERIC, 7, 0, 0), 1000 GATE_IP_PERIC, 2, 0, 0),
1003 GATE(CLK_I2C2, "i2c2", "aclk66_peric", GATE_IP_PERIC, 8, 0, 0), 1001 GATE(CLK_UART3, "uart3", "mout_user_aclk66_peric",
1004 GATE(CLK_I2C3, "i2c3", "aclk66_peric", GATE_IP_PERIC, 9, 0, 0), 1002 GATE_IP_PERIC, 3, 0, 0),
1005 GATE(CLK_USI0, "usi0", "aclk66_peric", GATE_IP_PERIC, 10, 0, 0), 1003 GATE(CLK_I2C0, "i2c0", "mout_user_aclk66_peric",
1006 GATE(CLK_USI1, "usi1", "aclk66_peric", GATE_IP_PERIC, 11, 0, 0), 1004 GATE_IP_PERIC, 6, 0, 0),
1007 GATE(CLK_USI2, "usi2", "aclk66_peric", GATE_IP_PERIC, 12, 0, 0), 1005 GATE(CLK_I2C1, "i2c1", "mout_user_aclk66_peric",
1008 GATE(CLK_USI3, "usi3", "aclk66_peric", GATE_IP_PERIC, 13, 0, 0), 1006 GATE_IP_PERIC, 7, 0, 0),
1009 GATE(CLK_I2C_HDMI, "i2c_hdmi", "aclk66_peric", GATE_IP_PERIC, 14, 0, 0), 1007 GATE(CLK_I2C2, "i2c2", "mout_user_aclk66_peric",
1010 GATE(CLK_TSADC, "tsadc", "aclk66_peric", GATE_IP_PERIC, 15, 0, 0), 1008 GATE_IP_PERIC, 8, 0, 0),
1011 GATE(CLK_SPI0, "spi0", "aclk66_peric", GATE_IP_PERIC, 16, 0, 0), 1009 GATE(CLK_I2C3, "i2c3", "mout_user_aclk66_peric",
1012 GATE(CLK_SPI1, "spi1", "aclk66_peric", GATE_IP_PERIC, 17, 0, 0), 1010 GATE_IP_PERIC, 9, 0, 0),
1013 GATE(CLK_SPI2, "spi2", "aclk66_peric", GATE_IP_PERIC, 18, 0, 0), 1011 GATE(CLK_USI0, "usi0", "mout_user_aclk66_peric",
1014 GATE(CLK_I2S1, "i2s1", "aclk66_peric", GATE_IP_PERIC, 20, 0, 0), 1012 GATE_IP_PERIC, 10, 0, 0),
1015 GATE(CLK_I2S2, "i2s2", "aclk66_peric", GATE_IP_PERIC, 21, 0, 0), 1013 GATE(CLK_USI1, "usi1", "mout_user_aclk66_peric",
1016 GATE(CLK_PCM1, "pcm1", "aclk66_peric", GATE_IP_PERIC, 22, 0, 0), 1014 GATE_IP_PERIC, 11, 0, 0),
1017 GATE(CLK_PCM2, "pcm2", "aclk66_peric", GATE_IP_PERIC, 23, 0, 0), 1015 GATE(CLK_USI2, "usi2", "mout_user_aclk66_peric",
1018 GATE(CLK_PWM, "pwm", "aclk66_peric", GATE_IP_PERIC, 24, 0, 0), 1016 GATE_IP_PERIC, 12, 0, 0),
1019 GATE(CLK_SPDIF, "spdif", "aclk66_peric", GATE_IP_PERIC, 26, 0, 0), 1017 GATE(CLK_USI3, "usi3", "mout_user_aclk66_peric",
1020 GATE(CLK_USI4, "usi4", "aclk66_peric", GATE_IP_PERIC, 28, 0, 0), 1018 GATE_IP_PERIC, 13, 0, 0),
1021 GATE(CLK_USI5, "usi5", "aclk66_peric", GATE_IP_PERIC, 30, 0, 0), 1019 GATE(CLK_I2C_HDMI, "i2c_hdmi", "mout_user_aclk66_peric",
1022 GATE(CLK_USI6, "usi6", "aclk66_peric", GATE_IP_PERIC, 31, 0, 0), 1020 GATE_IP_PERIC, 14, 0, 0),
1023 1021 GATE(CLK_TSADC, "tsadc", "mout_user_aclk66_peric",
1024 GATE(CLK_KEYIF, "keyif", "aclk66_peric", GATE_BUS_PERIC, 22, 0, 0), 1022 GATE_IP_PERIC, 15, 0, 0),
1023 GATE(CLK_SPI0, "spi0", "mout_user_aclk66_peric",
1024 GATE_IP_PERIC, 16, 0, 0),
1025 GATE(CLK_SPI1, "spi1", "mout_user_aclk66_peric",
1026 GATE_IP_PERIC, 17, 0, 0),
1027 GATE(CLK_SPI2, "spi2", "mout_user_aclk66_peric",
1028 GATE_IP_PERIC, 18, 0, 0),
1029 GATE(CLK_I2S1, "i2s1", "mout_user_aclk66_peric",
1030 GATE_IP_PERIC, 20, 0, 0),
1031 GATE(CLK_I2S2, "i2s2", "mout_user_aclk66_peric",
1032 GATE_IP_PERIC, 21, 0, 0),
1033 GATE(CLK_PCM1, "pcm1", "mout_user_aclk66_peric",
1034 GATE_IP_PERIC, 22, 0, 0),
1035 GATE(CLK_PCM2, "pcm2", "mout_user_aclk66_peric",
1036 GATE_IP_PERIC, 23, 0, 0),
1037 GATE(CLK_PWM, "pwm", "mout_user_aclk66_peric",
1038 GATE_IP_PERIC, 24, 0, 0),
1039 GATE(CLK_SPDIF, "spdif", "mout_user_aclk66_peric",
1040 GATE_IP_PERIC, 26, 0, 0),
1041 GATE(CLK_USI4, "usi4", "mout_user_aclk66_peric",
1042 GATE_IP_PERIC, 28, 0, 0),
1043 GATE(CLK_USI5, "usi5", "mout_user_aclk66_peric",
1044 GATE_IP_PERIC, 30, 0, 0),
1045 GATE(CLK_USI6, "usi6", "mout_user_aclk66_peric",
1046 GATE_IP_PERIC, 31, 0, 0),
1047
1048 GATE(CLK_KEYIF, "keyif", "mout_user_aclk66_peric",
1049 GATE_BUS_PERIC, 22, 0, 0),
1025 1050
1026 /* PERIS Block */ 1051 /* PERIS Block */
1027 GATE(CLK_CHIPID, "chipid", "aclk66_psgen", 1052 GATE(CLK_CHIPID, "chipid", "aclk66_psgen",
diff --git a/drivers/clk/samsung/clk-s3c2410.c b/drivers/clk/samsung/clk-s3c2410.c
index ba0716801db2..140f4733c02e 100644
--- a/drivers/clk/samsung/clk-s3c2410.c
+++ b/drivers/clk/samsung/clk-s3c2410.c
@@ -152,6 +152,11 @@ struct samsung_clock_alias s3c2410_common_aliases[] __initdata = {
152 ALIAS(HCLK, NULL, "hclk"), 152 ALIAS(HCLK, NULL, "hclk"),
153 ALIAS(MPLL, NULL, "mpll"), 153 ALIAS(MPLL, NULL, "mpll"),
154 ALIAS(FCLK, NULL, "fclk"), 154 ALIAS(FCLK, NULL, "fclk"),
155 ALIAS(PCLK, NULL, "watchdog"),
156 ALIAS(PCLK_SDI, NULL, "sdi"),
157 ALIAS(HCLK_NAND, NULL, "nand"),
158 ALIAS(PCLK_I2S, NULL, "iis"),
159 ALIAS(PCLK_I2C, NULL, "i2c"),
155}; 160};
156 161
157/* S3C2410 specific clocks */ 162/* S3C2410 specific clocks */
@@ -378,7 +383,7 @@ void __init s3c2410_common_clk_init(struct device_node *np, unsigned long xti_f,
378 if (!np) 383 if (!np)
379 s3c2410_common_clk_register_fixed_ext(ctx, xti_f); 384 s3c2410_common_clk_register_fixed_ext(ctx, xti_f);
380 385
381 if (current_soc == 2410) { 386 if (current_soc == S3C2410) {
382 if (_get_rate("xti") == 12 * MHZ) { 387 if (_get_rate("xti") == 12 * MHZ) {
383 s3c2410_plls[mpll].rate_table = pll_s3c2410_12mhz_tbl; 388 s3c2410_plls[mpll].rate_table = pll_s3c2410_12mhz_tbl;
384 s3c2410_plls[upll].rate_table = pll_s3c2410_12mhz_tbl; 389 s3c2410_plls[upll].rate_table = pll_s3c2410_12mhz_tbl;
@@ -432,7 +437,7 @@ void __init s3c2410_common_clk_init(struct device_node *np, unsigned long xti_f,
432 samsung_clk_register_fixed_factor(ctx, s3c2410_ffactor, 437 samsung_clk_register_fixed_factor(ctx, s3c2410_ffactor,
433 ARRAY_SIZE(s3c2410_ffactor)); 438 ARRAY_SIZE(s3c2410_ffactor));
434 samsung_clk_register_alias(ctx, s3c2410_aliases, 439 samsung_clk_register_alias(ctx, s3c2410_aliases,
435 ARRAY_SIZE(s3c2410_common_aliases)); 440 ARRAY_SIZE(s3c2410_aliases));
436 break; 441 break;
437 case S3C2440: 442 case S3C2440:
438 samsung_clk_register_mux(ctx, s3c2440_muxes, 443 samsung_clk_register_mux(ctx, s3c2440_muxes,
diff --git a/drivers/clk/samsung/clk-s3c64xx.c b/drivers/clk/samsung/clk-s3c64xx.c
index efa16ee592c8..8889ff1c10fc 100644
--- a/drivers/clk/samsung/clk-s3c64xx.c
+++ b/drivers/clk/samsung/clk-s3c64xx.c
@@ -418,8 +418,10 @@ static struct samsung_clock_alias s3c64xx_clock_aliases[] = {
418 ALIAS(SCLK_MMC2, "s3c-sdhci.2", "mmc_busclk.2"), 418 ALIAS(SCLK_MMC2, "s3c-sdhci.2", "mmc_busclk.2"),
419 ALIAS(SCLK_MMC1, "s3c-sdhci.1", "mmc_busclk.2"), 419 ALIAS(SCLK_MMC1, "s3c-sdhci.1", "mmc_busclk.2"),
420 ALIAS(SCLK_MMC0, "s3c-sdhci.0", "mmc_busclk.2"), 420 ALIAS(SCLK_MMC0, "s3c-sdhci.0", "mmc_busclk.2"),
421 ALIAS(SCLK_SPI1, "s3c6410-spi.1", "spi-bus"), 421 ALIAS(PCLK_SPI1, "s3c6410-spi.1", "spi_busclk0"),
422 ALIAS(SCLK_SPI0, "s3c6410-spi.0", "spi-bus"), 422 ALIAS(SCLK_SPI1, "s3c6410-spi.1", "spi_busclk2"),
423 ALIAS(PCLK_SPI0, "s3c6410-spi.0", "spi_busclk0"),
424 ALIAS(SCLK_SPI0, "s3c6410-spi.0", "spi_busclk2"),
423 ALIAS(SCLK_AUDIO1, "samsung-pcm.1", "audio-bus"), 425 ALIAS(SCLK_AUDIO1, "samsung-pcm.1", "audio-bus"),
424 ALIAS(SCLK_AUDIO1, "samsung-i2s.1", "audio-bus"), 426 ALIAS(SCLK_AUDIO1, "samsung-i2s.1", "audio-bus"),
425 ALIAS(SCLK_AUDIO0, "samsung-pcm.0", "audio-bus"), 427 ALIAS(SCLK_AUDIO0, "samsung-pcm.0", "audio-bus"),