diff options
author | Andrzej Hajda <a.hajda@samsung.com> | 2013-04-04 00:33:22 -0400 |
---|---|---|
committer | Kukjin Kim <kgene.kim@samsung.com> | 2013-04-04 02:51:15 -0400 |
commit | 1554701528479c81240076b0c9251f4544be6319 (patch) | |
tree | e28218d4f29e1907cf936153ccad677deb757fa9 /drivers/clk | |
parent | 8e1ce8393eb7c27a8aa38da3d245187ec808ba88 (diff) |
clk: exynos4: Add missing CMU_TOP and ISP clocks
The patch adds missing clocks to TOP and ISP clock domains.
It also adds clock gates for ISP sub-blocks.
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Reviewed-by: Thomas Abraham <thomas.abraham@linaro.org>
Acked-by: Mike Turquette <mturquette@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Diffstat (limited to 'drivers/clk')
-rw-r--r-- | drivers/clk/samsung/clk-exynos4.c | 110 |
1 files changed, 107 insertions, 3 deletions
diff --git a/drivers/clk/samsung/clk-exynos4.c b/drivers/clk/samsung/clk-exynos4.c index ddd654bc9865..7e875a462d89 100644 --- a/drivers/clk/samsung/clk-exynos4.c +++ b/drivers/clk/samsung/clk-exynos4.c | |||
@@ -34,6 +34,7 @@ | |||
34 | #define E4210_SRC_IMAGE 0xc230 | 34 | #define E4210_SRC_IMAGE 0xc230 |
35 | #define SRC_LCD0 0xc234 | 35 | #define SRC_LCD0 0xc234 |
36 | #define SRC_LCD1 0xc238 | 36 | #define SRC_LCD1 0xc238 |
37 | #define E4X12_SRC_ISP 0xc238 | ||
37 | #define SRC_MAUDIO 0xc23c | 38 | #define SRC_MAUDIO 0xc23c |
38 | #define SRC_FSYS 0xc240 | 39 | #define SRC_FSYS 0xc240 |
39 | #define SRC_PERIL0 0xc250 | 40 | #define SRC_PERIL0 0xc250 |
@@ -43,6 +44,7 @@ | |||
43 | #define SRC_MASK_TV 0xc324 | 44 | #define SRC_MASK_TV 0xc324 |
44 | #define SRC_MASK_LCD0 0xc334 | 45 | #define SRC_MASK_LCD0 0xc334 |
45 | #define SRC_MASK_LCD1 0xc338 | 46 | #define SRC_MASK_LCD1 0xc338 |
47 | #define E4X12_SRC_MASK_ISP 0xc338 | ||
46 | #define SRC_MASK_MAUDIO 0xc33c | 48 | #define SRC_MASK_MAUDIO 0xc33c |
47 | #define SRC_MASK_FSYS 0xc340 | 49 | #define SRC_MASK_FSYS 0xc340 |
48 | #define SRC_MASK_PERIL0 0xc350 | 50 | #define SRC_MASK_PERIL0 0xc350 |
@@ -76,6 +78,7 @@ | |||
76 | #define E4210_GATE_IP_IMAGE 0xc930 | 78 | #define E4210_GATE_IP_IMAGE 0xc930 |
77 | #define GATE_IP_LCD0 0xc934 | 79 | #define GATE_IP_LCD0 0xc934 |
78 | #define GATE_IP_LCD1 0xc938 | 80 | #define GATE_IP_LCD1 0xc938 |
81 | #define E4X12_GATE_IP_ISP 0xc938 | ||
79 | #define E4X12_GATE_IP_MAUDIO 0xc93c | 82 | #define E4X12_GATE_IP_MAUDIO 0xc93c |
80 | #define GATE_IP_FSYS 0xc940 | 83 | #define GATE_IP_FSYS 0xc940 |
81 | #define GATE_IP_GPS 0xc94c | 84 | #define GATE_IP_GPS 0xc94c |
@@ -87,7 +90,10 @@ | |||
87 | #define E4210_MPLL_CON0 0x14108 | 90 | #define E4210_MPLL_CON0 0x14108 |
88 | #define SRC_CPU 0x14200 | 91 | #define SRC_CPU 0x14200 |
89 | #define DIV_CPU0 0x14500 | 92 | #define DIV_CPU0 0x14500 |
93 | #define E4X12_DIV_ISP0 0x18300 | ||
94 | #define E4X12_DIV_ISP1 0x18304 | ||
90 | #define E4X12_GATE_ISP0 0x18800 | 95 | #define E4X12_GATE_ISP0 0x18800 |
96 | #define E4X12_GATE_ISP1 0x18804 | ||
91 | 97 | ||
92 | /* the exynos4 soc type */ | 98 | /* the exynos4 soc type */ |
93 | enum exynos4_soc { | 99 | enum exynos4_soc { |
@@ -124,7 +130,8 @@ enum exynos4_clks { | |||
124 | sclk_sata, sclk_uart0, sclk_uart1, sclk_uart2, sclk_uart3, sclk_uart4, | 130 | sclk_sata, sclk_uart0, sclk_uart1, sclk_uart2, sclk_uart3, sclk_uart4, |
125 | sclk_audio1, sclk_audio2, sclk_spdif, sclk_spi0, sclk_spi1, sclk_spi2, | 131 | sclk_audio1, sclk_audio2, sclk_spdif, sclk_spi0, sclk_spi1, sclk_spi2, |
126 | sclk_slimbus, sclk_fimd1, sclk_mipi1, sclk_pcm1, sclk_pcm2, sclk_i2s1, | 132 | sclk_slimbus, sclk_fimd1, sclk_mipi1, sclk_pcm1, sclk_pcm2, sclk_i2s1, |
127 | sclk_i2s2, sclk_mipihsi, sclk_mfc, sclk_pcm0, sclk_g3d, | 133 | sclk_i2s2, sclk_mipihsi, sclk_mfc, sclk_pcm0, sclk_g3d, sclk_pwm_isp, |
134 | sclk_spi0_isp, sclk_spi1_isp, sclk_uart_isp, | ||
128 | 135 | ||
129 | /* gate clocks */ | 136 | /* gate clocks */ |
130 | fimc0 = 256, fimc1, fimc2, fimc3, csis0, csis1, jpeg, smmu_fimc0, | 137 | fimc0 = 256, fimc1, fimc2, fimc3, csis0, csis1, jpeg, smmu_fimc0, |
@@ -138,7 +145,11 @@ enum exynos4_clks { | |||
138 | spi0, spi1, spi2, i2s1, i2s2, pcm0, i2s0, pcm1, pcm2, pwm, slimbus, | 145 | spi0, spi1, spi2, i2s1, i2s2, pcm0, i2s0, pcm1, pcm2, pwm, slimbus, |
139 | spdif, ac97, modemif, chipid, sysreg, hdmi_cec, mct, wdt, rtc, keyif, | 146 | spdif, ac97, modemif, chipid, sysreg, hdmi_cec, mct, wdt, rtc, keyif, |
140 | audss, mipi_hsi, mdma2, pixelasyncm0, pixelasyncm1, fimc_lite0, | 147 | audss, mipi_hsi, mdma2, pixelasyncm0, pixelasyncm1, fimc_lite0, |
141 | fimc_lite1, ppmuispx, ppmuispmx, | 148 | fimc_lite1, ppmuispx, ppmuispmx, fimc_isp, fimc_drc, fimc_fd, mcuisp, |
149 | gicisp, smmu_isp, smmu_drc, smmu_fd, smmu_lite0, smmu_lite1, mcuctl_isp, | ||
150 | mpwm_isp, i2c0_isp, i2c1_isp, mtcadc_isp, pwm_isp, wdt_isp, uart_isp, | ||
151 | asyncaxim, smmu_ispcx, spi0_isp, spi1_isp, pwm_isp_sclk, spi0_isp_sclk, | ||
152 | spi1_isp_sclk, uart_isp_sclk, | ||
142 | 153 | ||
143 | /* mux clocks */ | 154 | /* mux clocks */ |
144 | mout_fimc0 = 384, mout_fimc1, mout_fimc2, mout_fimc3, mout_cam0, | 155 | mout_fimc0 = 384, mout_fimc1, mout_fimc2, mout_fimc3, mout_cam0, |
@@ -234,6 +245,8 @@ PNAME(mout_hdmi_p) = { "sclk_pixel", "sclk_hdmiphy", }; | |||
234 | PNAME(mout_jpeg_p) = { "mout_jpeg0", "mout_jpeg1", }; | 245 | PNAME(mout_jpeg_p) = { "mout_jpeg0", "mout_jpeg1", }; |
235 | PNAME(mout_spdif_p) = { "sclk_audio0", "sclk_audio1", "sclk_audio2", | 246 | PNAME(mout_spdif_p) = { "sclk_audio0", "sclk_audio1", "sclk_audio2", |
236 | "spdif_extclk", }; | 247 | "spdif_extclk", }; |
248 | PNAME(mout_onenand_p) = {"aclk133", "aclk160", }; | ||
249 | PNAME(mout_onenand1_p) = {"mout_onenand", "sclk_vpll", }; | ||
237 | 250 | ||
238 | /* Exynos 4210-specific parent groups */ | 251 | /* Exynos 4210-specific parent groups */ |
239 | PNAME(sclk_vpll_p4210) = { "mout_vpllsrc", "fout_vpll", }; | 252 | PNAME(sclk_vpll_p4210) = { "mout_vpllsrc", "fout_vpll", }; |
@@ -271,6 +284,9 @@ PNAME(mout_audio2_p4x12) = { "cdclk2", "none", "sclk_hdmi24m", | |||
271 | "sclk_usbphy0", "xxti", "xusbxti", | 284 | "sclk_usbphy0", "xxti", "xusbxti", |
272 | "mout_mpll_user_t", "sclk_epll", "sclk_vpll", }; | 285 | "mout_mpll_user_t", "sclk_epll", "sclk_vpll", }; |
273 | PNAME(aclk_p4412) = { "mout_mpll_user_t", "sclk_apll", }; | 286 | PNAME(aclk_p4412) = { "mout_mpll_user_t", "sclk_apll", }; |
287 | PNAME(mout_user_aclk400_mcuisp_p4x12) = {"fin_pll", "div_aclk400_mcuisp", }; | ||
288 | PNAME(mout_user_aclk200_p4x12) = {"fin_pll", "div_aclk200", }; | ||
289 | PNAME(mout_user_aclk266_gps_p4x12) = {"fin_pll", "div_aclk266_gps", }; | ||
274 | 290 | ||
275 | /* fixed rate clocks generated outside the soc */ | 291 | /* fixed rate clocks generated outside the soc */ |
276 | struct samsung_fixed_rate_clock exynos4_fixed_rate_ext_clks[] __initdata = { | 292 | struct samsung_fixed_rate_clock exynos4_fixed_rate_ext_clks[] __initdata = { |
@@ -301,7 +317,9 @@ struct samsung_mux_clock exynos4_mux_clks[] __initdata = { | |||
301 | MUX_F(mout_g3d, "mout_g3d", mout_g3d_p, SRC_G3D, 8, 1, | 317 | MUX_F(mout_g3d, "mout_g3d", mout_g3d_p, SRC_G3D, 8, 1, |
302 | CLK_SET_RATE_PARENT, 0), | 318 | CLK_SET_RATE_PARENT, 0), |
303 | MUX(none, "mout_spdif", mout_spdif_p, SRC_PERIL1, 8, 2), | 319 | MUX(none, "mout_spdif", mout_spdif_p, SRC_PERIL1, 8, 2), |
320 | MUX(none, "mout_onenand1", mout_onenand1_p, SRC_TOP0, 0, 1), | ||
304 | MUX_A(sclk_epll, "sclk_epll", mout_epll_p, SRC_TOP0, 4, 1, "sclk_epll"), | 321 | MUX_A(sclk_epll, "sclk_epll", mout_epll_p, SRC_TOP0, 4, 1, "sclk_epll"), |
322 | MUX(none, "mout_onenand", mout_onenand_p, SRC_TOP0, 28, 1), | ||
305 | }; | 323 | }; |
306 | 324 | ||
307 | /* list of mux clocks supported in exynos4210 soc */ | 325 | /* list of mux clocks supported in exynos4210 soc */ |
@@ -358,8 +376,15 @@ struct samsung_mux_clock exynos4210_mux_clks[] __initdata = { | |||
358 | struct samsung_mux_clock exynos4x12_mux_clks[] __initdata = { | 376 | struct samsung_mux_clock exynos4x12_mux_clks[] __initdata = { |
359 | MUX(mout_mpll_user_c, "mout_mpll_user_c", mout_mpll_user_p4x12, | 377 | MUX(mout_mpll_user_c, "mout_mpll_user_c", mout_mpll_user_p4x12, |
360 | SRC_CPU, 24, 1), | 378 | SRC_CPU, 24, 1), |
379 | MUX(none, "mout_aclk266_gps", aclk_p4412, SRC_TOP1, 4, 1), | ||
380 | MUX(none, "mout_aclk400_mcuisp", aclk_p4412, SRC_TOP1, 8, 1), | ||
361 | MUX(mout_mpll_user_t, "mout_mpll_user_t", mout_mpll_user_p4x12, | 381 | MUX(mout_mpll_user_t, "mout_mpll_user_t", mout_mpll_user_p4x12, |
362 | SRC_TOP1, 12, 1), | 382 | SRC_TOP1, 12, 1), |
383 | MUX(none, "mout_user_aclk266_gps", mout_user_aclk266_gps_p4x12, | ||
384 | SRC_TOP1, 16, 1), | ||
385 | MUX(aclk200, "aclk200", mout_user_aclk200_p4x12, SRC_TOP1, 20, 1), | ||
386 | MUX(none, "aclk400_mcuisp", mout_user_aclk400_mcuisp_p4x12, | ||
387 | SRC_TOP1, 24, 1), | ||
363 | MUX(none, "mout_aclk200", aclk_p4412, SRC_TOP0, 12, 1), | 388 | MUX(none, "mout_aclk200", aclk_p4412, SRC_TOP0, 12, 1), |
364 | MUX(none, "mout_aclk100", aclk_p4412, SRC_TOP0, 16, 1), | 389 | MUX(none, "mout_aclk100", aclk_p4412, SRC_TOP0, 16, 1), |
365 | MUX(none, "mout_aclk160", aclk_p4412, SRC_TOP0, 20, 1), | 390 | MUX(none, "mout_aclk160", aclk_p4412, SRC_TOP0, 20, 1), |
@@ -405,6 +430,10 @@ struct samsung_mux_clock exynos4x12_mux_clks[] __initdata = { | |||
405 | MUX(none, "mout_spi0", group1_p4x12, SRC_PERIL1, 16, 4), | 430 | MUX(none, "mout_spi0", group1_p4x12, SRC_PERIL1, 16, 4), |
406 | MUX(none, "mout_spi1", group1_p4x12, SRC_PERIL1, 20, 4), | 431 | MUX(none, "mout_spi1", group1_p4x12, SRC_PERIL1, 20, 4), |
407 | MUX(none, "mout_spi2", group1_p4x12, SRC_PERIL1, 24, 4), | 432 | MUX(none, "mout_spi2", group1_p4x12, SRC_PERIL1, 24, 4), |
433 | MUX(none, "mout_pwm_isp", group1_p4x12, E4X12_SRC_ISP, 0, 4), | ||
434 | MUX(none, "mout_spi0_isp", group1_p4x12, E4X12_SRC_ISP, 4, 4), | ||
435 | MUX(none, "mout_spi1_isp", group1_p4x12, E4X12_SRC_ISP, 8, 4), | ||
436 | MUX(none, "mout_uart_isp", group1_p4x12, E4X12_SRC_ISP, 12, 4), | ||
408 | }; | 437 | }; |
409 | 438 | ||
410 | /* list of divider clocks supported in all exynos4 soc's */ | 439 | /* list of divider clocks supported in all exynos4 soc's */ |
@@ -431,10 +460,10 @@ struct samsung_div_clock exynos4_div_clks[] __initdata = { | |||
431 | DIV(none, "div_mmc2", "mout_mmc2", DIV_FSYS2, 0, 4), | 460 | DIV(none, "div_mmc2", "mout_mmc2", DIV_FSYS2, 0, 4), |
432 | DIV(none, "div_mmc3", "mout_mmc3", DIV_FSYS2, 16, 4), | 461 | DIV(none, "div_mmc3", "mout_mmc3", DIV_FSYS2, 16, 4), |
433 | DIV(sclk_pixel, "sclk_pixel", "sclk_vpll", DIV_TV, 0, 4), | 462 | DIV(sclk_pixel, "sclk_pixel", "sclk_vpll", DIV_TV, 0, 4), |
434 | DIV(aclk200, "aclk200", "mout_aclk200", DIV_TOP, 0, 3), | ||
435 | DIV(aclk100, "aclk100", "mout_aclk100", DIV_TOP, 4, 4), | 463 | DIV(aclk100, "aclk100", "mout_aclk100", DIV_TOP, 4, 4), |
436 | DIV(aclk160, "aclk160", "mout_aclk160", DIV_TOP, 8, 3), | 464 | DIV(aclk160, "aclk160", "mout_aclk160", DIV_TOP, 8, 3), |
437 | DIV(aclk133, "aclk133", "mout_aclk133", DIV_TOP, 12, 3), | 465 | DIV(aclk133, "aclk133", "mout_aclk133", DIV_TOP, 12, 3), |
466 | DIV(none, "div_onenand", "mout_onenand1", DIV_TOP, 16, 3), | ||
438 | DIV(sclk_slimbus, "sclk_slimbus", "sclk_epll", DIV_PERIL3, 4, 4), | 467 | DIV(sclk_slimbus, "sclk_slimbus", "sclk_epll", DIV_PERIL3, 4, 4), |
439 | DIV(sclk_pcm1, "sclk_pcm1", "sclk_audio1", DIV_PERIL4, 4, 8), | 468 | DIV(sclk_pcm1, "sclk_pcm1", "sclk_audio1", DIV_PERIL4, 4, 8), |
440 | DIV(sclk_pcm2, "sclk_pcm2", "sclk_audio2", DIV_PERIL4, 20, 8), | 469 | DIV(sclk_pcm2, "sclk_pcm2", "sclk_audio2", DIV_PERIL4, 20, 8), |
@@ -472,6 +501,7 @@ struct samsung_div_clock exynos4_div_clks[] __initdata = { | |||
472 | 501 | ||
473 | /* list of divider clocks supported in exynos4210 soc */ | 502 | /* list of divider clocks supported in exynos4210 soc */ |
474 | struct samsung_div_clock exynos4210_div_clks[] __initdata = { | 503 | struct samsung_div_clock exynos4210_div_clks[] __initdata = { |
504 | DIV(aclk200, "aclk200", "mout_aclk200", DIV_TOP, 0, 3), | ||
475 | DIV(none, "div_g2d", "mout_g2d", DIV_IMAGE, 0, 4), | 505 | DIV(none, "div_g2d", "mout_g2d", DIV_IMAGE, 0, 4), |
476 | DIV(none, "div_fimd1", "mout_fimd1", E4210_DIV_LCD1, 0, 4), | 506 | DIV(none, "div_fimd1", "mout_fimd1", E4210_DIV_LCD1, 0, 4), |
477 | DIV(none, "div_mipi1", "mout_mipi1", E4210_DIV_LCD1, 16, 4), | 507 | DIV(none, "div_mipi1", "mout_mipi1", E4210_DIV_LCD1, 16, 4), |
@@ -487,6 +517,20 @@ struct samsung_div_clock exynos4x12_div_clks[] __initdata = { | |||
487 | DIV(none, "div_mdnie_pwm_pre0", "div_mdnie_pwm0", DIV_LCD0, 12, 4), | 517 | DIV(none, "div_mdnie_pwm_pre0", "div_mdnie_pwm0", DIV_LCD0, 12, 4), |
488 | DIV(none, "div_mipihsi", "mout_mipihsi", DIV_FSYS0, 20, 4), | 518 | DIV(none, "div_mipihsi", "mout_mipihsi", DIV_FSYS0, 20, 4), |
489 | DIV(none, "div_jpeg", "mout_jpeg", E4X12_DIV_CAM1, 0, 4), | 519 | DIV(none, "div_jpeg", "mout_jpeg", E4X12_DIV_CAM1, 0, 4), |
520 | DIV(none, "div_aclk200", "mout_aclk200", DIV_TOP, 0, 3), | ||
521 | DIV(none, "div_aclk266_gps", "mout_aclk266_gps", DIV_TOP, 20, 3), | ||
522 | DIV(none, "div_aclk400_mcuisp", "mout_aclk400_mcuisp", DIV_TOP, 24, 3), | ||
523 | DIV(none, "div_pwm_isp", "mout_pwm_isp", E4X12_DIV_ISP, 0, 4), | ||
524 | DIV(none, "div_spi0_isp", "mout_spi0_isp", E4X12_DIV_ISP, 4, 4), | ||
525 | DIV(none, "div_spi0_isp_pre", "div_spi0_isp", E4X12_DIV_ISP, 8, 8), | ||
526 | DIV(none, "div_spi1_isp", "mout_spi1_isp", E4X12_DIV_ISP, 16, 4), | ||
527 | DIV(none, "div_spi1_isp_pre", "div_spi1_isp", E4X12_DIV_ISP, 20, 8), | ||
528 | DIV(none, "div_uart_isp", "mout_uart_isp", E4X12_DIV_ISP, 28, 4), | ||
529 | DIV(none, "div_isp0", "aclk200", E4X12_DIV_ISP0, 0, 3), | ||
530 | DIV(none, "div_isp1", "aclk200", E4X12_DIV_ISP0, 4, 3), | ||
531 | DIV(none, "div_mpwm", "div_isp1", E4X12_DIV_ISP1, 0, 3), | ||
532 | DIV(none, "div_mcuisp0", "aclk400_mcuisp", E4X12_DIV_ISP1, 4, 3), | ||
533 | DIV(none, "div_mcuisp1", "div_mcuisp0", E4X12_DIV_ISP1, 8, 3), | ||
490 | }; | 534 | }; |
491 | 535 | ||
492 | /* list of gate clocks supported in all exynos4 soc's */ | 536 | /* list of gate clocks supported in all exynos4 soc's */ |
@@ -730,20 +774,80 @@ struct samsung_gate_clock exynos4x12_gate_clks[] __initdata = { | |||
730 | GATE_A(rtc, "rtc", "aclk100", E4X12_GATE_IP_PERIR, 15, 0, 0, "rtc"), | 774 | GATE_A(rtc, "rtc", "aclk100", E4X12_GATE_IP_PERIR, 15, 0, 0, "rtc"), |
731 | GATE_A(keyif, "keyif", "aclk100", | 775 | GATE_A(keyif, "keyif", "aclk100", |
732 | E4X12_GATE_IP_PERIR, 16, 0, 0, "keypad"), | 776 | E4X12_GATE_IP_PERIR, 16, 0, 0, "keypad"), |
777 | GATE(sclk_pwm_isp, "sclk_pwm_isp", "div_pwm_isp", | ||
778 | E4X12_SRC_MASK_ISP, 0, CLK_SET_RATE_PARENT, 0), | ||
779 | GATE(sclk_spi0_isp, "sclk_spi0_isp", "div_spi0_isp_pre", | ||
780 | E4X12_SRC_MASK_ISP, 4, CLK_SET_RATE_PARENT, 0), | ||
781 | GATE(sclk_spi1_isp, "sclk_spi1_isp", "div_spi1_isp_pre", | ||
782 | E4X12_SRC_MASK_ISP, 8, CLK_SET_RATE_PARENT, 0), | ||
783 | GATE(sclk_uart_isp, "sclk_uart_isp", "div_uart_isp", | ||
784 | E4X12_SRC_MASK_ISP, 12, CLK_SET_RATE_PARENT, 0), | ||
785 | GATE(pwm_isp_sclk, "pwm_isp_sclk", "sclk_pwm_isp", | ||
786 | E4X12_GATE_IP_ISP, 0, 0, 0), | ||
787 | GATE(spi0_isp_sclk, "spi0_isp_sclk", "sclk_spi0_isp", | ||
788 | E4X12_GATE_IP_ISP, 1, 0, 0), | ||
789 | GATE(spi1_isp_sclk, "spi1_isp_sclk", "sclk_spi1_isp", | ||
790 | E4X12_GATE_IP_ISP, 2, 0, 0), | ||
791 | GATE(uart_isp_sclk, "uart_isp_sclk", "sclk_uart_isp", | ||
792 | E4X12_GATE_IP_ISP, 3, 0, 0), | ||
733 | GATE_A(wdt, "watchdog", "aclk100", | 793 | GATE_A(wdt, "watchdog", "aclk100", |
734 | E4X12_GATE_IP_PERIR, 14, 0, 0, "watchdog"), | 794 | E4X12_GATE_IP_PERIR, 14, 0, 0, "watchdog"), |
735 | GATE_DA(pcm0, "samsung-pcm.0", "pcm0", "aclk100", | 795 | GATE_DA(pcm0, "samsung-pcm.0", "pcm0", "aclk100", |
736 | E4X12_GATE_IP_MAUDIO, 2, 0, 0, "pcm"), | 796 | E4X12_GATE_IP_MAUDIO, 2, 0, 0, "pcm"), |
737 | GATE_DA(i2s0, "samsung-i2s.0", "i2s0", "aclk100", | 797 | GATE_DA(i2s0, "samsung-i2s.0", "i2s0", "aclk100", |
738 | E4X12_GATE_IP_MAUDIO, 3, 0, 0, "iis"), | 798 | E4X12_GATE_IP_MAUDIO, 3, 0, 0, "iis"), |
799 | GATE(fimc_isp, "isp", "aclk200", E4X12_GATE_ISP0, 0, | ||
800 | CLK_IGNORE_UNUSED, 0), | ||
801 | GATE(fimc_drc, "drc", "aclk200", E4X12_GATE_ISP0, 1, | ||
802 | CLK_IGNORE_UNUSED, 0), | ||
803 | GATE(fimc_fd, "fd", "aclk200", E4X12_GATE_ISP0, 2, | ||
804 | CLK_IGNORE_UNUSED, 0), | ||
739 | GATE(fimc_lite0, "lite0", "aclk200", E4X12_GATE_ISP0, 3, | 805 | GATE(fimc_lite0, "lite0", "aclk200", E4X12_GATE_ISP0, 3, |
740 | CLK_IGNORE_UNUSED, 0), | 806 | CLK_IGNORE_UNUSED, 0), |
741 | GATE(fimc_lite1, "lite1", "aclk200", E4X12_GATE_ISP0, 4, | 807 | GATE(fimc_lite1, "lite1", "aclk200", E4X12_GATE_ISP0, 4, |
742 | CLK_IGNORE_UNUSED, 0), | 808 | CLK_IGNORE_UNUSED, 0), |
809 | GATE(mcuisp, "mcuisp", "aclk200", E4X12_GATE_ISP0, 5, | ||
810 | CLK_IGNORE_UNUSED, 0), | ||
811 | GATE(gicisp, "gicisp", "aclk200", E4X12_GATE_ISP0, 7, | ||
812 | CLK_IGNORE_UNUSED, 0), | ||
813 | GATE(smmu_isp, "smmu_isp", "aclk200", E4X12_GATE_ISP0, 8, | ||
814 | CLK_IGNORE_UNUSED, 0), | ||
815 | GATE(smmu_drc, "smmu_drc", "aclk200", E4X12_GATE_ISP0, 9, | ||
816 | CLK_IGNORE_UNUSED, 0), | ||
817 | GATE(smmu_fd, "smmu_fd", "aclk200", E4X12_GATE_ISP0, 10, | ||
818 | CLK_IGNORE_UNUSED, 0), | ||
819 | GATE(smmu_lite0, "smmu_lite0", "aclk200", E4X12_GATE_ISP0, 11, | ||
820 | CLK_IGNORE_UNUSED, 0), | ||
821 | GATE(smmu_lite1, "smmu_lite1", "aclk200", E4X12_GATE_ISP0, 12, | ||
822 | CLK_IGNORE_UNUSED, 0), | ||
743 | GATE(ppmuispmx, "ppmuispmx", "aclk200", E4X12_GATE_ISP0, 20, | 823 | GATE(ppmuispmx, "ppmuispmx", "aclk200", E4X12_GATE_ISP0, 20, |
744 | CLK_IGNORE_UNUSED, 0), | 824 | CLK_IGNORE_UNUSED, 0), |
745 | GATE(ppmuispx, "ppmuispx", "aclk200", E4X12_GATE_ISP0, 21, | 825 | GATE(ppmuispx, "ppmuispx", "aclk200", E4X12_GATE_ISP0, 21, |
746 | CLK_IGNORE_UNUSED, 0), | 826 | CLK_IGNORE_UNUSED, 0), |
827 | GATE(mcuctl_isp, "mcuctl_isp", "aclk200", E4X12_GATE_ISP0, 23, | ||
828 | CLK_IGNORE_UNUSED, 0), | ||
829 | GATE(mpwm_isp, "mpwm_isp", "aclk200", E4X12_GATE_ISP0, 24, | ||
830 | CLK_IGNORE_UNUSED, 0), | ||
831 | GATE(i2c0_isp, "i2c0_isp", "aclk200", E4X12_GATE_ISP0, 25, | ||
832 | CLK_IGNORE_UNUSED, 0), | ||
833 | GATE(i2c1_isp, "i2c1_isp", "aclk200", E4X12_GATE_ISP0, 26, | ||
834 | CLK_IGNORE_UNUSED, 0), | ||
835 | GATE(mtcadc_isp, "mtcadc_isp", "aclk200", E4X12_GATE_ISP0, 27, | ||
836 | CLK_IGNORE_UNUSED, 0), | ||
837 | GATE(pwm_isp, "pwm_isp", "aclk200", E4X12_GATE_ISP0, 28, | ||
838 | CLK_IGNORE_UNUSED, 0), | ||
839 | GATE(wdt_isp, "wdt_isp", "aclk200", E4X12_GATE_ISP0, 30, | ||
840 | CLK_IGNORE_UNUSED, 0), | ||
841 | GATE(uart_isp, "uart_isp", "aclk200", E4X12_GATE_ISP0, 31, | ||
842 | CLK_IGNORE_UNUSED, 0), | ||
843 | GATE(asyncaxim, "asyncaxim", "aclk200", E4X12_GATE_ISP1, 0, | ||
844 | CLK_IGNORE_UNUSED, 0), | ||
845 | GATE(smmu_ispcx, "smmu_ispcx", "aclk200", E4X12_GATE_ISP1, 4, | ||
846 | CLK_IGNORE_UNUSED, 0), | ||
847 | GATE(spi0_isp, "spi0_isp", "aclk200", E4X12_GATE_ISP1, 12, | ||
848 | CLK_IGNORE_UNUSED, 0), | ||
849 | GATE(spi1_isp, "spi1_isp", "aclk200", E4X12_GATE_ISP1, 13, | ||
850 | CLK_IGNORE_UNUSED, 0), | ||
747 | }; | 851 | }; |
748 | 852 | ||
749 | #ifdef CONFIG_OF | 853 | #ifdef CONFIG_OF |