aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/clk/samsung/clk-exynos5420.c
diff options
context:
space:
mode:
authorShaik Ameer Basha <shaik.ameer@samsung.com>2014-05-08 07:27:51 -0400
committerTomasz Figa <t.figa@samsung.com>2014-05-14 13:40:17 -0400
commit3a767b35c6c2f2e5f75e22a429b4d6d8c6736626 (patch)
tree98517cb1751844910af47e5f9803c2d854ef95d4 /drivers/clk/samsung/clk-exynos5420.c
parentdbd713bb907e83453b4811d585b96a4bc86df619 (diff)
clk: samsung: exynos5420: add clocks for ISP block
This patch adds minimum set of clocks to gate ISP block for power saving. Signed-off-by: Rahul Sharma <rahul.sharma@samsung.com> Signed-off-by: Shaik Ameer Basha <shaik.ameer@samsung.com> Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Diffstat (limited to 'drivers/clk/samsung/clk-exynos5420.c')
-rw-r--r--drivers/clk/samsung/clk-exynos5420.c86
1 files changed, 86 insertions, 0 deletions
diff --git a/drivers/clk/samsung/clk-exynos5420.c b/drivers/clk/samsung/clk-exynos5420.c
index 2ee7ef21909d..c7e66219434f 100644
--- a/drivers/clk/samsung/clk-exynos5420.c
+++ b/drivers/clk/samsung/clk-exynos5420.c
@@ -57,6 +57,7 @@
57#define SRC_FSYS 0x10244 57#define SRC_FSYS 0x10244
58#define SRC_PERIC0 0x10250 58#define SRC_PERIC0 0x10250
59#define SRC_PERIC1 0x10254 59#define SRC_PERIC1 0x10254
60#define SRC_ISP 0x10270
60#define SRC_TOP10 0x10280 61#define SRC_TOP10 0x10280
61#define SRC_TOP11 0x10284 62#define SRC_TOP11 0x10284
62#define SRC_TOP12 0x10288 63#define SRC_TOP12 0x10288
@@ -77,12 +78,15 @@
77#define DIV_PERIC2 0x10560 78#define DIV_PERIC2 0x10560
78#define DIV_PERIC3 0x10564 79#define DIV_PERIC3 0x10564
79#define DIV_PERIC4 0x10568 80#define DIV_PERIC4 0x10568
81#define SCLK_DIV_ISP0 0x10580
82#define SCLK_DIV_ISP1 0x10584
80#define GATE_BUS_TOP 0x10700 83#define GATE_BUS_TOP 0x10700
81#define GATE_BUS_FSYS0 0x10740 84#define GATE_BUS_FSYS0 0x10740
82#define GATE_BUS_PERIC 0x10750 85#define GATE_BUS_PERIC 0x10750
83#define GATE_BUS_PERIC1 0x10754 86#define GATE_BUS_PERIC1 0x10754
84#define GATE_BUS_PERIS0 0x10760 87#define GATE_BUS_PERIS0 0x10760
85#define GATE_BUS_PERIS1 0x10764 88#define GATE_BUS_PERIS1 0x10764
89#define GATE_TOP_SCLK_ISP 0x10870
86#define GATE_IP_GSCL0 0x10910 90#define GATE_IP_GSCL0 0x10910
87#define GATE_IP_GSCL1 0x10920 91#define GATE_IP_GSCL1 0x10920
88#define GATE_IP_MFC 0x1092c 92#define GATE_IP_MFC 0x1092c
@@ -145,6 +149,7 @@ static unsigned long exynos5420_clk_regs[] __initdata = {
145 SRC_MASK_FSYS, 149 SRC_MASK_FSYS,
146 SRC_MASK_PERIC0, 150 SRC_MASK_PERIC0,
147 SRC_MASK_PERIC1, 151 SRC_MASK_PERIC1,
152 SRC_ISP,
148 DIV_TOP0, 153 DIV_TOP0,
149 DIV_TOP1, 154 DIV_TOP1,
150 DIV_TOP2, 155 DIV_TOP2,
@@ -158,12 +163,15 @@ static unsigned long exynos5420_clk_regs[] __initdata = {
158 DIV_PERIC2, 163 DIV_PERIC2,
159 DIV_PERIC3, 164 DIV_PERIC3,
160 DIV_PERIC4, 165 DIV_PERIC4,
166 SCLK_DIV_ISP0,
167 SCLK_DIV_ISP1,
161 GATE_BUS_TOP, 168 GATE_BUS_TOP,
162 GATE_BUS_FSYS0, 169 GATE_BUS_FSYS0,
163 GATE_BUS_PERIC, 170 GATE_BUS_PERIC,
164 GATE_BUS_PERIC1, 171 GATE_BUS_PERIC1,
165 GATE_BUS_PERIS0, 172 GATE_BUS_PERIS0,
166 GATE_BUS_PERIS1, 173 GATE_BUS_PERIS1,
174 GATE_TOP_SCLK_ISP,
167 GATE_IP_GSCL0, 175 GATE_IP_GSCL0,
168 GATE_IP_GSCL1, 176 GATE_IP_GSCL1,
169 GATE_IP_MFC, 177 GATE_IP_MFC,
@@ -250,6 +258,15 @@ PNAME(mout_user_aclk200_fsys_p) = {"fin_pll", "mout_sw_aclk200_fsys"};
250 258
251PNAME(mout_sw_aclk200_fsys2_p) = {"dout_aclk200_fsys2", "mout_sclk_spll"}; 259PNAME(mout_sw_aclk200_fsys2_p) = {"dout_aclk200_fsys2", "mout_sclk_spll"};
252PNAME(mout_user_aclk200_fsys2_p) = {"fin_pll", "mout_sw_aclk200_fsys2"}; 260PNAME(mout_user_aclk200_fsys2_p) = {"fin_pll", "mout_sw_aclk200_fsys2"};
261PNAME(mout_sw_aclk400_isp_p) = {"dout_aclk400_isp", "mout_sclk_spll"};
262PNAME(mout_user_aclk400_isp_p) = {"fin_pll", "mout_sw_aclk400_isp"};
263
264PNAME(mout_sw_aclk333_432_isp0_p) = {"dout_aclk333_432_isp0",
265 "mout_sclk_spll"};
266PNAME(mout_user_aclk333_432_isp0_p) = {"fin_pll", "mout_sw_aclk333_432_isp0"};
267
268PNAME(mout_sw_aclk333_432_isp_p) = {"dout_aclk333_432_isp", "mout_sclk_spll"};
269PNAME(mout_user_aclk333_432_isp_p) = {"fin_pll", "mout_sw_aclk333_432_isp"};
253 270
254PNAME(mout_sw_aclk200_p) = {"dout_aclk200", "mout_sclk_spll"}; 271PNAME(mout_sw_aclk200_p) = {"dout_aclk200", "mout_sclk_spll"};
255PNAME(mout_aclk200_disp1_p) = {"fin_pll", "mout_sw_aclk200"}; 272PNAME(mout_aclk200_disp1_p) = {"fin_pll", "mout_sw_aclk200"};
@@ -265,6 +282,7 @@ PNAME(mout_user_aclk166_p) = {"fin_pll", "mout_sw_aclk166"};
265 282
266PNAME(mout_sw_aclk266_p) = {"dout_aclk266", "mout_sclk_spll"}; 283PNAME(mout_sw_aclk266_p) = {"dout_aclk266", "mout_sclk_spll"};
267PNAME(mout_user_aclk266_p) = {"fin_pll", "mout_sw_aclk266"}; 284PNAME(mout_user_aclk266_p) = {"fin_pll", "mout_sw_aclk266"};
285PNAME(mout_user_aclk266_isp_p) = {"fin_pll", "mout_sw_aclk266"};
268 286
269PNAME(mout_sw_aclk333_432_gscl_p) = {"dout_aclk333_432_gscl", "mout_sclk_spll"}; 287PNAME(mout_sw_aclk333_432_gscl_p) = {"dout_aclk333_432_gscl", "mout_sclk_spll"};
270PNAME(mout_user_aclk333_432_gscl_p) = {"fin_pll", "mout_sw_aclk333_432_gscl"}; 288PNAME(mout_user_aclk333_432_gscl_p) = {"fin_pll", "mout_sw_aclk333_432_gscl"};
@@ -332,6 +350,7 @@ static struct samsung_mux_clock exynos5420_mux_clks[] __initdata = {
332 350
333 MUX(0, "sclk_bpll", mout_bpll_p, SRC_CDREX, 0, 1), 351 MUX(0, "sclk_bpll", mout_bpll_p, SRC_CDREX, 0, 1),
334 352
353 MUX(0, "mout_aclk400_isp", mout_group1_p, SRC_TOP0, 0, 2),
335 MUX_A(0, "mout_aclk400_mscl", mout_group1_p, 354 MUX_A(0, "mout_aclk400_mscl", mout_group1_p,
336 SRC_TOP0, 4, 2, "aclk400_mscl"), 355 SRC_TOP0, 4, 2, "aclk400_mscl"),
337 MUX(0, "mout_aclk200", mout_group1_p, SRC_TOP0, 8, 2), 356 MUX(0, "mout_aclk200", mout_group1_p, SRC_TOP0, 8, 2),
@@ -339,7 +358,10 @@ static struct samsung_mux_clock exynos5420_mux_clks[] __initdata = {
339 MUX(0, "mout_aclk200_fsys", mout_group1_p, SRC_TOP0, 28, 2), 358 MUX(0, "mout_aclk200_fsys", mout_group1_p, SRC_TOP0, 28, 2),
340 359
341 MUX(0, "mout_aclk333_432_gscl", mout_group4_p, SRC_TOP1, 0, 2), 360 MUX(0, "mout_aclk333_432_gscl", mout_group4_p, SRC_TOP1, 0, 2),
361 MUX(0, "mout_aclk333_432_isp", mout_group4_p,
362 SRC_TOP1, 4, 2),
342 MUX(0, "mout_aclk66", mout_group1_p, SRC_TOP1, 8, 2), 363 MUX(0, "mout_aclk66", mout_group1_p, SRC_TOP1, 8, 2),
364 MUX(0, "mout_aclk333_432_isp0", mout_group4_p, SRC_TOP1, 12, 2),
343 MUX(0, "mout_aclk266", mout_group1_p, SRC_TOP1, 20, 2), 365 MUX(0, "mout_aclk266", mout_group1_p, SRC_TOP1, 20, 2),
344 MUX(0, "mout_aclk166", mout_group1_p, SRC_TOP1, 24, 2), 366 MUX(0, "mout_aclk166", mout_group1_p, SRC_TOP1, 24, 2),
345 MUX(0, "mout_aclk333", mout_group1_p, SRC_TOP1, 28, 2), 367 MUX(0, "mout_aclk333", mout_group1_p, SRC_TOP1, 28, 2),
@@ -351,6 +373,8 @@ static struct samsung_mux_clock exynos5420_mux_clks[] __initdata = {
351 MUX(0, "mout_aclk300_disp1", mout_group1_p, SRC_TOP2, 24, 2), 373 MUX(0, "mout_aclk300_disp1", mout_group1_p, SRC_TOP2, 24, 2),
352 MUX(0, "mout_aclk300_gscl", mout_group1_p, SRC_TOP2, 28, 2), 374 MUX(0, "mout_aclk300_gscl", mout_group1_p, SRC_TOP2, 28, 2),
353 375
376 MUX(0, "mout_user_aclk400_isp", mout_user_aclk400_isp_p,
377 SRC_TOP3, 0, 1),
354 MUX(0, "mout_user_aclk400_mscl", mout_user_aclk400_mscl_p, 378 MUX(0, "mout_user_aclk400_mscl", mout_user_aclk400_mscl_p,
355 SRC_TOP3, 4, 1), 379 SRC_TOP3, 4, 1),
356 MUX(0, "mout_aclk200_disp1", mout_aclk200_disp1_p, SRC_TOP3, 8, 1), 380 MUX(0, "mout_aclk200_disp1", mout_aclk200_disp1_p, SRC_TOP3, 8, 1),
@@ -361,7 +385,13 @@ static struct samsung_mux_clock exynos5420_mux_clks[] __initdata = {
361 385
362 MUX(0, "mout_user_aclk333_432_gscl", mout_user_aclk333_432_gscl_p, 386 MUX(0, "mout_user_aclk333_432_gscl", mout_user_aclk333_432_gscl_p,
363 SRC_TOP4, 0, 1), 387 SRC_TOP4, 0, 1),
388 MUX(0, "mout_user_aclk333_432_isp", mout_user_aclk333_432_isp_p,
389 SRC_TOP4, 4, 1),
364 MUX(0, "mout_aclk66_peric", mout_aclk66_peric_p, SRC_TOP4, 8, 1), 390 MUX(0, "mout_aclk66_peric", mout_aclk66_peric_p, SRC_TOP4, 8, 1),
391 MUX(0, "mout_user_aclk333_432_isp0", mout_user_aclk333_432_isp0_p,
392 SRC_TOP4, 12, 1),
393 MUX(0, "mout_user_aclk266_isp", mout_user_aclk266_isp_p,
394 SRC_TOP4, 16, 1),
365 MUX(0, "mout_user_aclk266", mout_user_aclk266_p, SRC_TOP4, 20, 1), 395 MUX(0, "mout_user_aclk266", mout_user_aclk266_p, SRC_TOP4, 20, 1),
366 MUX(0, "mout_user_aclk166", mout_user_aclk166_p, SRC_TOP4, 24, 1), 396 MUX(0, "mout_user_aclk166", mout_user_aclk166_p, SRC_TOP4, 24, 1),
367 MUX(0, "mout_user_aclk333", mout_user_aclk333_p, SRC_TOP4, 28, 1), 397 MUX(0, "mout_user_aclk333", mout_user_aclk333_p, SRC_TOP4, 28, 1),
@@ -389,6 +419,8 @@ static struct samsung_mux_clock exynos5420_mux_clks[] __initdata = {
389 MUX(0, "mout_sclk_dpll", mout_dpll_p, SRC_TOP6, 24, 1), 419 MUX(0, "mout_sclk_dpll", mout_dpll_p, SRC_TOP6, 24, 1),
390 MUX(0, "mout_sclk_cpll", mout_cpll_p, SRC_TOP6, 28, 1), 420 MUX(0, "mout_sclk_cpll", mout_cpll_p, SRC_TOP6, 28, 1),
391 421
422 MUX(0, "mout_sw_aclk400_isp", mout_sw_aclk400_isp_p,
423 SRC_TOP10, 0, 1),
392 MUX(0, "mout_sw_aclk400_mscl", mout_sw_aclk400_mscl_p, 424 MUX(0, "mout_sw_aclk400_mscl", mout_sw_aclk400_mscl_p,
393 SRC_TOP10, 4, 1), 425 SRC_TOP10, 4, 1),
394 MUX(0, "mout_sw_aclk200", mout_sw_aclk200_p, SRC_TOP10, 8, 1), 426 MUX(0, "mout_sw_aclk200", mout_sw_aclk200_p, SRC_TOP10, 8, 1),
@@ -396,9 +428,14 @@ static struct samsung_mux_clock exynos5420_mux_clks[] __initdata = {
396 SRC_TOP10, 12, 1), 428 SRC_TOP10, 12, 1),
397 MUX(0, "mout_sw_aclk200_fsys", mout_sw_aclk200_fsys_p, 429 MUX(0, "mout_sw_aclk200_fsys", mout_sw_aclk200_fsys_p,
398 SRC_TOP10, 28, 1), 430 SRC_TOP10, 28, 1),
431
399 MUX(0, "mout_sw_aclk333_432_gscl", mout_sw_aclk333_432_gscl_p, 432 MUX(0, "mout_sw_aclk333_432_gscl", mout_sw_aclk333_432_gscl_p,
400 SRC_TOP11, 0, 1), 433 SRC_TOP11, 0, 1),
434 MUX(0, "mout_sw_aclk333_432_isp", mout_sw_aclk333_432_isp_p,
435 SRC_TOP11, 4, 1),
401 MUX(0, "mout_sw_aclk66", mout_sw_aclk66_p, SRC_TOP11, 8, 1), 436 MUX(0, "mout_sw_aclk66", mout_sw_aclk66_p, SRC_TOP11, 8, 1),
437 MUX(0, "mout_sw_aclk333_432_isp0", mout_sw_aclk333_432_isp0_p,
438 SRC_TOP11, 12, 1),
402 MUX(0, "mout_sw_aclk266", mout_sw_aclk266_p, SRC_TOP11, 20, 1), 439 MUX(0, "mout_sw_aclk266", mout_sw_aclk266_p, SRC_TOP11, 20, 1),
403 MUX(0, "mout_sw_aclk166", mout_sw_aclk166_p, SRC_TOP11, 24, 1), 440 MUX(0, "mout_sw_aclk166", mout_sw_aclk166_p, SRC_TOP11, 24, 1),
404 MUX(0, "mout_sw_aclk333", mout_sw_aclk333_p, SRC_TOP11, 28, 1), 441 MUX(0, "mout_sw_aclk333", mout_sw_aclk333_p, SRC_TOP11, 28, 1),
@@ -446,6 +483,13 @@ static struct samsung_mux_clock exynos5420_mux_clks[] __initdata = {
446 MUX(0, "mout_spi0", mout_group2_p, SRC_PERIC1, 20, 3), 483 MUX(0, "mout_spi0", mout_group2_p, SRC_PERIC1, 20, 3),
447 MUX(0, "mout_spi1", mout_group2_p, SRC_PERIC1, 24, 3), 484 MUX(0, "mout_spi1", mout_group2_p, SRC_PERIC1, 24, 3),
448 MUX(0, "mout_spi2", mout_group2_p, SRC_PERIC1, 28, 3), 485 MUX(0, "mout_spi2", mout_group2_p, SRC_PERIC1, 28, 3),
486
487 /* ISP Block */
488 MUX(0, "mout_pwm_isp", mout_group2_p, SRC_ISP, 24, 3),
489 MUX(0, "mout_uart_isp", mout_group2_p, SRC_ISP, 20, 3),
490 MUX(0, "mout_spi0_isp", mout_group2_p, SRC_ISP, 12, 3),
491 MUX(0, "mout_spi1_isp", mout_group2_p, SRC_ISP, 16, 3),
492 MUX(0, "mout_isp_sensor", mout_group2_p, SRC_ISP, 28, 3),
449}; 493};
450 494
451static struct samsung_div_clock exynos5420_div_clks[] __initdata = { 495static struct samsung_div_clock exynos5420_div_clks[] __initdata = {
@@ -455,6 +499,7 @@ static struct samsung_div_clock exynos5420_div_clks[] __initdata = {
455 DIV(0, "div_kfc", "mout_kfc", DIV_KFC0, 0, 3), 499 DIV(0, "div_kfc", "mout_kfc", DIV_KFC0, 0, 3),
456 DIV(0, "sclk_kpll", "mout_kpll", DIV_KFC0, 24, 3), 500 DIV(0, "sclk_kpll", "mout_kpll", DIV_KFC0, 24, 3),
457 501
502 DIV(0, "dout_aclk400_isp", "mout_aclk400_isp", DIV_TOP0, 0, 3),
458 DIV(0, "dout_aclk400_mscl", "mout_aclk400_mscl", DIV_TOP0, 4, 3), 503 DIV(0, "dout_aclk400_mscl", "mout_aclk400_mscl", DIV_TOP0, 4, 3),
459 DIV(0, "dout_aclk200", "mout_aclk200", DIV_TOP0, 8, 3), 504 DIV(0, "dout_aclk200", "mout_aclk200", DIV_TOP0, 8, 3),
460 DIV(0, "dout_aclk200_fsys2", "mout_aclk200_fsys2", DIV_TOP0, 12, 3), 505 DIV(0, "dout_aclk200_fsys2", "mout_aclk200_fsys2", DIV_TOP0, 12, 3),
@@ -463,7 +508,11 @@ static struct samsung_div_clock exynos5420_div_clks[] __initdata = {
463 508
464 DIV(0, "dout_aclk333_432_gscl", "mout_aclk333_432_gscl", 509 DIV(0, "dout_aclk333_432_gscl", "mout_aclk333_432_gscl",
465 DIV_TOP1, 0, 3), 510 DIV_TOP1, 0, 3),
511 DIV(0, "dout_aclk333_432_isp", "mout_aclk333_432_isp",
512 DIV_TOP1, 4, 3),
466 DIV(0, "dout_aclk66", "mout_aclk66", DIV_TOP1, 8, 6), 513 DIV(0, "dout_aclk66", "mout_aclk66", DIV_TOP1, 8, 6),
514 DIV(0, "dout_aclk333_432_isp0", "mout_aclk333_432_isp0",
515 DIV_TOP1, 16, 3),
467 DIV(0, "dout_aclk266", "mout_aclk266", DIV_TOP1, 20, 3), 516 DIV(0, "dout_aclk266", "mout_aclk266", DIV_TOP1, 20, 3),
468 DIV(0, "dout_aclk166", "mout_aclk166", DIV_TOP1, 24, 3), 517 DIV(0, "dout_aclk166", "mout_aclk166", DIV_TOP1, 24, 3),
469 DIV(0, "dout_aclk333", "mout_aclk333", DIV_TOP1, 28, 3), 518 DIV(0, "dout_aclk333", "mout_aclk333", DIV_TOP1, 28, 3),
@@ -526,6 +575,19 @@ static struct samsung_div_clock exynos5420_div_clks[] __initdata = {
526 DIV(0, "dout_pre_spi0", "dout_spi0", DIV_PERIC4, 8, 8), 575 DIV(0, "dout_pre_spi0", "dout_spi0", DIV_PERIC4, 8, 8),
527 DIV(0, "dout_pre_spi1", "dout_spi1", DIV_PERIC4, 16, 8), 576 DIV(0, "dout_pre_spi1", "dout_spi1", DIV_PERIC4, 16, 8),
528 DIV(0, "dout_pre_spi2", "dout_spi2", DIV_PERIC4, 24, 8), 577 DIV(0, "dout_pre_spi2", "dout_spi2", DIV_PERIC4, 24, 8),
578
579 /* ISP Block */
580 DIV(0, "dout_isp_sensor0", "mout_isp_sensor", SCLK_DIV_ISP0, 8, 8),
581 DIV(0, "dout_isp_sensor1", "mout_isp_sensor", SCLK_DIV_ISP0, 16, 8),
582 DIV(0, "dout_isp_sensor2", "mout_isp_sensor", SCLK_DIV_ISP0, 24, 8),
583 DIV(0, "dout_pwm_isp", "mout_pwm_isp", SCLK_DIV_ISP1, 28, 4),
584 DIV(0, "dout_uart_isp", "mout_uart_isp", SCLK_DIV_ISP1, 24, 4),
585 DIV(0, "dout_spi0_isp", "mout_spi0_isp", SCLK_DIV_ISP1, 16, 4),
586 DIV(0, "dout_spi1_isp", "mout_spi1_isp", SCLK_DIV_ISP1, 20, 4),
587 DIV_F(0, "dout_spi0_isp_pre", "dout_spi0_isp", SCLK_DIV_ISP1, 0, 8,
588 CLK_SET_RATE_PARENT, 0),
589 DIV_F(0, "dout_spi1_isp_pre", "dout_spi1_isp", SCLK_DIV_ISP1, 8, 8,
590 CLK_SET_RATE_PARENT, 0),
529}; 591};
530 592
531static struct samsung_gate_clock exynos5420_gate_clks[] __initdata = { 593static struct samsung_gate_clock exynos5420_gate_clks[] __initdata = {
@@ -547,20 +609,28 @@ static struct samsung_gate_clock exynos5420_gate_clks[] __initdata = {
547 GATE_BUS_TOP, 1, CLK_IGNORE_UNUSED, 0), 609 GATE_BUS_TOP, 1, CLK_IGNORE_UNUSED, 0),
548 GATE(0, "aclk300_jpeg", "mout_user_aclk300_jpeg", 610 GATE(0, "aclk300_jpeg", "mout_user_aclk300_jpeg",
549 GATE_BUS_TOP, 4, CLK_IGNORE_UNUSED, 0), 611 GATE_BUS_TOP, 4, CLK_IGNORE_UNUSED, 0),
612 GATE(0, "aclk333_432_isp0", "mout_user_aclk333_432_isp0",
613 GATE_BUS_TOP, 5, 0, 0),
550 GATE(0, "aclk300_gscl", "mout_user_aclk300_gscl", 614 GATE(0, "aclk300_gscl", "mout_user_aclk300_gscl",
551 GATE_BUS_TOP, 6, CLK_IGNORE_UNUSED, 0), 615 GATE_BUS_TOP, 6, CLK_IGNORE_UNUSED, 0),
552 GATE(0, "aclk333_432_gscl", "mout_user_aclk333_432_gscl", 616 GATE(0, "aclk333_432_gscl", "mout_user_aclk333_432_gscl",
553 GATE_BUS_TOP, 7, CLK_IGNORE_UNUSED, 0), 617 GATE_BUS_TOP, 7, CLK_IGNORE_UNUSED, 0),
618 GATE(0, "aclk333_432_isp", "mout_user_aclk333_432_isp",
619 GATE_BUS_TOP, 8, 0, 0),
554 GATE(0, "pclk66_gpio", "mout_sw_aclk66", 620 GATE(0, "pclk66_gpio", "mout_sw_aclk66",
555 GATE_BUS_TOP, 9, CLK_IGNORE_UNUSED, 0), 621 GATE_BUS_TOP, 9, CLK_IGNORE_UNUSED, 0),
556 GATE(0, "aclk66_psgen", "mout_aclk66_psgen", 622 GATE(0, "aclk66_psgen", "mout_aclk66_psgen",
557 GATE_BUS_TOP, 10, CLK_IGNORE_UNUSED, 0), 623 GATE_BUS_TOP, 10, CLK_IGNORE_UNUSED, 0),
558 GATE(0, "aclk66_peric", "mout_aclk66_peric", 624 GATE(0, "aclk66_peric", "mout_aclk66_peric",
559 GATE_BUS_TOP, 11, 0, 0), 625 GATE_BUS_TOP, 11, 0, 0),
626 GATE(0, "aclk266_isp", "mout_user_aclk266_isp",
627 GATE_BUS_TOP, 13, 0, 0),
560 GATE(0, "aclk166", "mout_user_aclk166", 628 GATE(0, "aclk166", "mout_user_aclk166",
561 GATE_BUS_TOP, 14, CLK_IGNORE_UNUSED, 0), 629 GATE_BUS_TOP, 14, CLK_IGNORE_UNUSED, 0),
562 GATE(0, "aclk333", "mout_aclk333", 630 GATE(0, "aclk333", "mout_aclk333",
563 GATE_BUS_TOP, 15, CLK_IGNORE_UNUSED, 0), 631 GATE_BUS_TOP, 15, CLK_IGNORE_UNUSED, 0),
632 GATE(0, "aclk400_isp", "mout_user_aclk400_isp",
633 GATE_BUS_TOP, 16, 0, 0),
564 634
565 /* sclk */ 635 /* sclk */
566 GATE(CLK_SCLK_UART0, "sclk_uart0", "dout_uart0", 636 GATE(CLK_SCLK_UART0, "sclk_uart0", "dout_uart0",
@@ -735,6 +805,22 @@ static struct samsung_gate_clock exynos5420_gate_clks[] __initdata = {
735 GATE(CLK_SMMU_FIMD1, "smmu_fimd1", "aclk300_disp1", GATE_IP_DISP1, 8, 0, 805 GATE(CLK_SMMU_FIMD1, "smmu_fimd1", "aclk300_disp1", GATE_IP_DISP1, 8, 0,
736 0), 806 0),
737 807
808 /* ISP */
809 GATE(CLK_SCLK_UART_ISP, "sclk_uart_isp", "dout_uart_isp",
810 GATE_TOP_SCLK_ISP, 0, CLK_SET_RATE_PARENT, 0),
811 GATE(CLK_SCLK_SPI0_ISP, "sclk_spi0_isp", "dout_spi0_isp_pre",
812 GATE_TOP_SCLK_ISP, 1, CLK_SET_RATE_PARENT, 0),
813 GATE(CLK_SCLK_SPI1_ISP, "sclk_spi1_isp", "dout_spi1_isp_pre",
814 GATE_TOP_SCLK_ISP, 2, CLK_SET_RATE_PARENT, 0),
815 GATE(CLK_SCLK_PWM_ISP, "sclk_pwm_isp", "dout_pwm_isp",
816 GATE_TOP_SCLK_ISP, 3, CLK_SET_RATE_PARENT, 0),
817 GATE(CLK_SCLK_ISP_SENSOR0, "sclk_isp_sensor0", "dout_isp_sensor0",
818 GATE_TOP_SCLK_ISP, 4, CLK_SET_RATE_PARENT, 0),
819 GATE(CLK_SCLK_ISP_SENSOR1, "sclk_isp_sensor1", "dout_isp_sensor1",
820 GATE_TOP_SCLK_ISP, 8, CLK_SET_RATE_PARENT, 0),
821 GATE(CLK_SCLK_ISP_SENSOR2, "sclk_isp_sensor2", "dout_isp_sensor2",
822 GATE_TOP_SCLK_ISP, 12, CLK_SET_RATE_PARENT, 0),
823
738 GATE(CLK_MFC, "mfc", "aclk333", GATE_IP_MFC, 0, 0, 0), 824 GATE(CLK_MFC, "mfc", "aclk333", GATE_IP_MFC, 0, 0, 0),
739 GATE(CLK_SMMU_MFCL, "smmu_mfcl", "aclk333", GATE_IP_MFC, 1, 0, 0), 825 GATE(CLK_SMMU_MFCL, "smmu_mfcl", "aclk333", GATE_IP_MFC, 1, 0, 0),
740 GATE(CLK_SMMU_MFCR, "smmu_mfcr", "aclk333", GATE_IP_MFC, 2, 0, 0), 826 GATE(CLK_SMMU_MFCR, "smmu_mfcr", "aclk333", GATE_IP_MFC, 2, 0, 0),