diff options
author | Tomasz Figa <t.figa@samsung.com> | 2014-06-30 09:06:43 -0400 |
---|---|---|
committer | Tomasz Figa <t.figa@samsung.com> | 2014-06-30 09:06:43 -0400 |
commit | bdfcdf18c380a3c376b42709a89eb2cc52e95ae0 (patch) | |
tree | c6a93004468a92c606bf0dd435bdbfa6f10bc49b /drivers/clk | |
parent | 27b8d5f723e64b5f7beac45a4d5785906d0a2f9d (diff) | |
parent | 44ff0254b89079a8a95e652635e760d93196ac1f (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.c | 16 | ||||
-rw-r--r-- | drivers/clk/samsung/clk-exynos5250.c | 2 | ||||
-rw-r--r-- | drivers/clk/samsung/clk-exynos5420.c | 85 | ||||
-rw-r--r-- | drivers/clk/samsung/clk-s3c2410.c | 9 | ||||
-rw-r--r-- | drivers/clk/samsung/clk-s3c64xx.c | 6 |
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"), |