aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChanwoo Choi <cw00.choi@samsung.com>2015-02-02 19:13:51 -0500
committerSylwester Nawrocki <s.nawrocki@samsung.com>2015-02-05 13:30:57 -0500
commitb274bbfd8b4a94cb5bd6fe21801264a27dd8ec75 (patch)
tree7e19aa9e3e7e77605c6ef692c1f6ce1f475f1db4
parent6c5d76d15ab6da9b30af020a44e071eb5145e1a0 (diff)
clk: samsung: exynos5433: Add clocks for CMU_MSCL domain
This patch adds the mux/divider/gate clocks for CMU_MSCL domain which generates the clocks for M2M (Memory to Memory) scaler, JPEG IPs. Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Acked-by: Inki Dae <inki.dae@samsung.com> Reviewed-by: Pankaj Dubey <pankaj.dubey@samsung.com> Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
-rw-r--r--Documentation/devicetree/bindings/clock/exynos5433-clock.txt20
-rw-r--r--drivers/clk/samsung/clk-exynos5433.c185
-rw-r--r--include/dt-bindings/clock/exynos5433.h41
3 files changed, 245 insertions, 1 deletions
diff --git a/Documentation/devicetree/bindings/clock/exynos5433-clock.txt b/Documentation/devicetree/bindings/clock/exynos5433-clock.txt
index 7c1dccc4d72e..ecb9534c2ea6 100644
--- a/Documentation/devicetree/bindings/clock/exynos5433-clock.txt
+++ b/Documentation/devicetree/bindings/clock/exynos5433-clock.txt
@@ -37,6 +37,8 @@ Required Properties:
37 - "samsung,exynos5433-cmu-atlas" - clock controller compatible for CMU_ATLAS 37 - "samsung,exynos5433-cmu-atlas" - clock controller compatible for CMU_ATLAS
38 which generates clocks for Cortex-A57 Quad-core processor, CoreSight and 38 which generates clocks for Cortex-A57 Quad-core processor, CoreSight and
39 L2 cache controller. 39 L2 cache controller.
40 - "samsung,exynos5433-cmu-mscl" - clock controller compatible for CMU_MSCL
41 which generates clocks for M2M (Memory to Memory) scaler and JPEG IPs.
40 42
41- reg: physical base address of the controller and length of memory mapped 43- reg: physical base address of the controller and length of memory mapped
42 region. 44 region.
@@ -118,6 +120,11 @@ Required Properties:
118 - oscclk 120 - oscclk
119 - sclk_bus_pll_atlas 121 - sclk_bus_pll_atlas
120 122
123 Input clocks for mscl clock controller:
124 - oscclk
125 - sclk_jpeg_mscl
126 - aclk_mscl_400
127
121Each clock is assigned an identifier and client nodes can use this identifier 128Each clock is assigned an identifier and client nodes can use this identifier
122to specify the clock which they consume. 129to specify the clock which they consume.
123 130
@@ -320,6 +327,19 @@ Example 2: Examples of clock controller nodes are listed below.
320 clocks = <&xxti>, <&cmu_mif CLK_SCLK_BUS_PLL_ATLAS>; 327 clocks = <&xxti>, <&cmu_mif CLK_SCLK_BUS_PLL_ATLAS>;
321 }; 328 };
322 329
330 cmu_mscl: clock-controller@105d0000 {
331 compatible = "samsung,exynos5433-cmu-mscl";
332 reg = <0x105d0000 0x0b10>;
333 #clock-cells = <1>;
334
335 clock-names = "oscclk",
336 "sclk_jpeg_mscl",
337 "aclk_mscl_400";
338 clocks = <&xxti>,
339 <&cmu_top CLK_SCLK_JPEG_MSCL>,
340 <&cmu_top CLK_ACLK_MSCL_400>;
341 };
342
323Example 3: UART controller node that consumes the clock generated by the clock 343Example 3: UART controller node that consumes the clock generated by the clock
324 controller. 344 controller.
325 345
diff --git a/drivers/clk/samsung/clk-exynos5433.c b/drivers/clk/samsung/clk-exynos5433.c
index c44062d2904e..d272e42eb48c 100644
--- a/drivers/clk/samsung/clk-exynos5433.c
+++ b/drivers/clk/samsung/clk-exynos5433.c
@@ -419,6 +419,8 @@ static struct samsung_div_clock top_div_clks[] __initdata = {
419 DIV_TOP1, 0, 3), 419 DIV_TOP1, 0, 3),
420 420
421 /* DIV_TOP2 */ 421 /* DIV_TOP2 */
422 DIV(CLK_DIV_ACLK_MSCL_400, "div_aclk_mscl_400", "mout_aclk_mscl_400_b",
423 DIV_TOP2, 4, 3),
422 DIV(CLK_DIV_ACLK_FSYS_200, "div_aclk_fsys_200", "mout_bus_pll_user", 424 DIV(CLK_DIV_ACLK_FSYS_200, "div_aclk_fsys_200", "mout_bus_pll_user",
423 DIV_TOP2, 0, 3), 425 DIV_TOP2, 0, 3),
424 426
@@ -446,6 +448,10 @@ static struct samsung_div_clock top_div_clks[] __initdata = {
446 DIV(CLK_DIV_ACLK_BUS1_400, "div_aclk_bus1_400", "mout_bus_pll_user", 448 DIV(CLK_DIV_ACLK_BUS1_400, "div_aclk_bus1_400", "mout_bus_pll_user",
447 DIV_TOP4, 0, 3), 449 DIV_TOP4, 0, 3),
448 450
451 /* DIV_TOP_MSCL */
452 DIV(CLK_DIV_SCLK_JPEG, "div_sclk_jpeg", "mout_sclk_jpeg_c",
453 DIV_TOP_MSCL, 0, 4),
454
449 /* DIV_TOP_FSYS0 */ 455 /* DIV_TOP_FSYS0 */
450 DIV(CLK_DIV_SCLK_MMC1_B, "div_sclk_mmc1_b", "div_sclk_mmc1_a", 456 DIV(CLK_DIV_SCLK_MMC1_B, "div_sclk_mmc1_b", "div_sclk_mmc1_a",
451 DIV_TOP_FSYS0, 16, 8), 457 DIV_TOP_FSYS0, 16, 8),
@@ -542,6 +548,9 @@ static struct samsung_gate_clock top_gate_clks[] __initdata = {
542 GATE(CLK_ACLK_PERIS_66, "aclk_peris_66", "div_aclk_peris_66_b", 548 GATE(CLK_ACLK_PERIS_66, "aclk_peris_66", "div_aclk_peris_66_b",
543 ENABLE_ACLK_TOP, 21, 549 ENABLE_ACLK_TOP, 21,
544 CLK_SET_RATE_PARENT | CLK_IGNORE_UNUSED, 0), 550 CLK_SET_RATE_PARENT | CLK_IGNORE_UNUSED, 0),
551 GATE(CLK_ACLK_MSCL_400, "aclk_mscl_400", "div_aclk_mscl_400",
552 ENABLE_ACLK_TOP, 19,
553 CLK_SET_RATE_PARENT | CLK_IGNORE_UNUSED, 0),
545 GATE(CLK_ACLK_FSYS_200, "aclk_fsys_200", "div_aclk_fsys_200", 554 GATE(CLK_ACLK_FSYS_200, "aclk_fsys_200", "div_aclk_fsys_200",
546 ENABLE_ACLK_TOP, 18, 555 ENABLE_ACLK_TOP, 18,
547 CLK_SET_RATE_PARENT | CLK_IGNORE_UNUSED, 0), 556 CLK_SET_RATE_PARENT | CLK_IGNORE_UNUSED, 0),
@@ -558,6 +567,10 @@ static struct samsung_gate_clock top_gate_clks[] __initdata = {
558 ENABLE_ACLK_TOP, 0, 567 ENABLE_ACLK_TOP, 0,
559 CLK_SET_RATE_PARENT | CLK_IGNORE_UNUSED, 0), 568 CLK_SET_RATE_PARENT | CLK_IGNORE_UNUSED, 0),
560 569
570 /* ENABLE_SCLK_TOP_MSCL */
571 GATE(CLK_SCLK_JPEG_MSCL, "sclk_jpeg_mscl", "div_sclk_jpeg",
572 ENABLE_SCLK_TOP_MSCL, 0, 0, 0),
573
561 /* ENABLE_SCLK_TOP_FSYS */ 574 /* ENABLE_SCLK_TOP_FSYS */
562 GATE(CLK_SCLK_PCIE_100_FSYS, "sclk_pcie_100_fsys", "div_sclk_pcie_100", 575 GATE(CLK_SCLK_PCIE_100_FSYS, "sclk_pcie_100_fsys", "div_sclk_pcie_100",
563 ENABLE_SCLK_TOP_FSYS, 7, 0, 0), 576 ENABLE_SCLK_TOP_FSYS, 7, 0, 0),
@@ -3805,3 +3818,175 @@ static void __init exynos5433_cmu_atlas_init(struct device_node *np)
3805} 3818}
3806CLK_OF_DECLARE(exynos5433_cmu_atlas, "samsung,exynos5433-cmu-atlas", 3819CLK_OF_DECLARE(exynos5433_cmu_atlas, "samsung,exynos5433-cmu-atlas",
3807 exynos5433_cmu_atlas_init); 3820 exynos5433_cmu_atlas_init);
3821
3822/*
3823 * Register offset definitions for CMU_MSCL
3824 */
3825#define MUX_SEL_MSCL0 0x0200
3826#define MUX_SEL_MSCL1 0x0204
3827#define MUX_ENABLE_MSCL0 0x0300
3828#define MUX_ENABLE_MSCL1 0x0304
3829#define MUX_STAT_MSCL0 0x0400
3830#define MUX_STAT_MSCL1 0x0404
3831#define DIV_MSCL 0x0600
3832#define DIV_STAT_MSCL 0x0700
3833#define ENABLE_ACLK_MSCL 0x0800
3834#define ENABLE_ACLK_MSCL_SECURE_SMMU_M2MSCALER0 0x0804
3835#define ENABLE_ACLK_MSCL_SECURE_SMMU_M2MSCALER1 0x0808
3836#define ENABLE_ACLK_MSCL_SECURE_SMMU_JPEG 0x080c
3837#define ENABLE_PCLK_MSCL 0x0900
3838#define ENABLE_PCLK_MSCL_SECURE_SMMU_M2MSCALER0 0x0904
3839#define ENABLE_PCLK_MSCL_SECURE_SMMU_M2MSCALER1 0x0908
3840#define ENABLE_PCLK_MSCL_SECURE_SMMU_JPEG 0x000c
3841#define ENABLE_SCLK_MSCL 0x0a00
3842#define ENABLE_IP_MSCL0 0x0b00
3843#define ENABLE_IP_MSCL1 0x0b04
3844#define ENABLE_IP_MSCL_SECURE_SMMU_M2MSCALER0 0x0b08
3845#define ENABLE_IP_MSCL_SECURE_SMMU_M2MSCALER1 0x0b0c
3846#define ENABLE_IP_MSCL_SECURE_SMMU_JPEG 0x0b10
3847
3848static unsigned long mscl_clk_regs[] __initdata = {
3849 MUX_SEL_MSCL0,
3850 MUX_SEL_MSCL1,
3851 MUX_ENABLE_MSCL0,
3852 MUX_ENABLE_MSCL1,
3853 MUX_STAT_MSCL0,
3854 MUX_STAT_MSCL1,
3855 DIV_MSCL,
3856 DIV_STAT_MSCL,
3857 ENABLE_ACLK_MSCL,
3858 ENABLE_ACLK_MSCL_SECURE_SMMU_M2MSCALER0,
3859 ENABLE_ACLK_MSCL_SECURE_SMMU_M2MSCALER1,
3860 ENABLE_ACLK_MSCL_SECURE_SMMU_JPEG,
3861 ENABLE_PCLK_MSCL,
3862 ENABLE_PCLK_MSCL_SECURE_SMMU_M2MSCALER0,
3863 ENABLE_PCLK_MSCL_SECURE_SMMU_M2MSCALER1,
3864 ENABLE_PCLK_MSCL_SECURE_SMMU_JPEG,
3865 ENABLE_SCLK_MSCL,
3866 ENABLE_IP_MSCL0,
3867 ENABLE_IP_MSCL1,
3868 ENABLE_IP_MSCL_SECURE_SMMU_M2MSCALER0,
3869 ENABLE_IP_MSCL_SECURE_SMMU_M2MSCALER1,
3870 ENABLE_IP_MSCL_SECURE_SMMU_JPEG,
3871};
3872
3873/* list of all parent clock list */
3874PNAME(mout_sclk_jpeg_user_p) = { "oscclk", "sclk_jpeg_mscl", };
3875PNAME(mout_aclk_mscl_400_user_p) = { "oscclk", "aclk_mscl_400", };
3876PNAME(mout_sclk_jpeg_p) = { "mout_sclk_jpeg_user",
3877 "mout_aclk_mscl_400_user", };
3878
3879static struct samsung_mux_clock mscl_mux_clks[] __initdata = {
3880 /* MUX_SEL_MSCL0 */
3881 MUX(CLK_MOUT_SCLK_JPEG_USER, "mout_sclk_jpeg_user",
3882 mout_sclk_jpeg_user_p, MUX_SEL_MSCL0, 4, 1),
3883 MUX(CLK_MOUT_ACLK_MSCL_400_USER, "mout_aclk_mscl_400_user",
3884 mout_aclk_mscl_400_user_p, MUX_SEL_MSCL0, 0, 1),
3885
3886 /* MUX_SEL_MSCL1 */
3887 MUX(CLK_MOUT_SCLK_JPEG, "mout_sclk_jpeg", mout_sclk_jpeg_p,
3888 MUX_SEL_MSCL1, 0, 1),
3889};
3890
3891static struct samsung_div_clock mscl_div_clks[] __initdata = {
3892 /* DIV_MSCL */
3893 DIV(CLK_DIV_PCLK_MSCL, "div_pclk_mscl", "mout_aclk_mscl_400_user",
3894 DIV_MSCL, 0, 3),
3895};
3896
3897static struct samsung_gate_clock mscl_gate_clks[] __initdata = {
3898 /* ENABLE_ACLK_MSCL */
3899 GATE(CLK_ACLK_BTS_JPEG, "aclk_bts_jpeg", "mout_aclk_mscl_400_user",
3900 ENABLE_ACLK_MSCL, 9, 0, 0),
3901 GATE(CLK_ACLK_BTS_M2MSCALER1, "aclk_bts_m2mscaler1",
3902 "mout_aclk_mscl_400_user", ENABLE_ACLK_MSCL, 8, 0, 0),
3903 GATE(CLK_ACLK_BTS_M2MSCALER0, "aclk_bts_m2mscaler0",
3904 "mout_aclk_mscl_400_user", ENABLE_ACLK_MSCL, 7, 0, 0),
3905 GATE(CLK_ACLK_AHB2APB_MSCL0P, "aclk_abh2apb_mscl0p", "div_pclk_mscl",
3906 ENABLE_ACLK_MSCL, 6, CLK_IGNORE_UNUSED, 0),
3907 GATE(CLK_ACLK_XIU_MSCLX, "aclk_xiu_msclx", "mout_aclk_mscl_400_user",
3908 ENABLE_ACLK_MSCL, 5, CLK_IGNORE_UNUSED, 0),
3909 GATE(CLK_ACLK_MSCLNP_100, "aclk_msclnp_100", "div_pclk_mscl",
3910 ENABLE_ACLK_MSCL, 4, CLK_IGNORE_UNUSED, 0),
3911 GATE(CLK_ACLK_MSCLND_400, "aclk_msclnd_400", "mout_aclk_mscl_400_user",
3912 ENABLE_ACLK_MSCL, 3, CLK_IGNORE_UNUSED, 0),
3913 GATE(CLK_ACLK_JPEG, "aclk_jpeg", "mout_aclk_mscl_400_user",
3914 ENABLE_ACLK_MSCL, 2, 0, 0),
3915 GATE(CLK_ACLK_M2MSCALER1, "aclk_m2mscaler1", "mout_aclk_mscl_400_user",
3916 ENABLE_ACLK_MSCL, 1, 0, 0),
3917 GATE(CLK_ACLK_M2MSCALER0, "aclk_m2mscaler0", "mout_aclk_mscl_400_user",
3918 ENABLE_ACLK_MSCL, 0, 0, 0),
3919
3920 /* ENABLE_ACLK_MSCL_SECURE_SMMU_M2MSCALER0 */
3921 GATE(CLK_ACLK_SMMU_M2MSCALER0, "aclk_smmu_m2mscaler0",
3922 "mout_aclk_mscl_400_user",
3923 ENABLE_ACLK_MSCL_SECURE_SMMU_M2MSCALER0,
3924 0, CLK_IGNORE_UNUSED, 0),
3925
3926 /* ENABLE_ACLK_MSCL_SECURE_SMMU_M2MSCALER1 */
3927 GATE(CLK_ACLK_SMMU_M2MSCALER1, "aclk_smmu_m2mscaler1",
3928 "mout_aclk_mscl_400_user",
3929 ENABLE_ACLK_MSCL_SECURE_SMMU_M2MSCALER1,
3930 0, CLK_IGNORE_UNUSED, 0),
3931
3932 /* ENABLE_ACLK_MSCL_SECURE_SMMU_JPEG */
3933 GATE(CLK_ACLK_SMMU_JPEG, "aclk_smmu_jpeg", "mout_aclk_mscl_400_user",
3934 ENABLE_ACLK_MSCL_SECURE_SMMU_JPEG,
3935 0, CLK_IGNORE_UNUSED, 0),
3936
3937 /* ENABLE_PCLK_MSCL */
3938 GATE(CLK_PCLK_BTS_JPEG, "pclk_bts_jpeg", "div_pclk_mscl",
3939 ENABLE_PCLK_MSCL, 7, 0, 0),
3940 GATE(CLK_PCLK_BTS_M2MSCALER1, "pclk_bts_m2mscaler1", "div_pclk_mscl",
3941 ENABLE_PCLK_MSCL, 6, 0, 0),
3942 GATE(CLK_PCLK_BTS_M2MSCALER0, "pclk_bts_m2mscaler0", "div_pclk_mscl",
3943 ENABLE_PCLK_MSCL, 5, 0, 0),
3944 GATE(CLK_PCLK_PMU_MSCL, "pclk_pmu_mscl", "div_pclk_mscl",
3945 ENABLE_PCLK_MSCL, 4, CLK_IGNORE_UNUSED, 0),
3946 GATE(CLK_PCLK_SYSREG_MSCL, "pclk_sysreg_mscl", "div_pclk_mscl",
3947 ENABLE_PCLK_MSCL, 3, CLK_IGNORE_UNUSED, 0),
3948 GATE(CLK_PCLK_JPEG, "pclk_jpeg", "div_pclk_mscl",
3949 ENABLE_PCLK_MSCL, 2, 0, 0),
3950 GATE(CLK_PCLK_M2MSCALER1, "pclk_m2mscaler1", "div_pclk_mscl",
3951 ENABLE_PCLK_MSCL, 1, 0, 0),
3952 GATE(CLK_PCLK_M2MSCALER0, "pclk_m2mscaler0", "div_pclk_mscl",
3953 ENABLE_PCLK_MSCL, 0, 0, 0),
3954
3955 /* ENABLE_PCLK_MSCL_SECURE_SMMU_M2MSCALER0 */
3956 GATE(CLK_PCLK_SMMU_M2MSCALER0, "pclk_smmu_m2mscaler0", "div_pclk_mscl",
3957 ENABLE_PCLK_MSCL_SECURE_SMMU_M2MSCALER0,
3958 0, CLK_IGNORE_UNUSED, 0),
3959
3960 /* ENABLE_PCLK_MSCL_SECURE_SMMU_M2MSCALER1 */
3961 GATE(CLK_PCLK_SMMU_M2MSCALER1, "pclk_smmu_m2mscaler1", "div_pclk_mscl",
3962 ENABLE_PCLK_MSCL_SECURE_SMMU_M2MSCALER1,
3963 0, CLK_IGNORE_UNUSED, 0),
3964
3965 /* ENABLE_PCLK_MSCL_SECURE_SMMU_JPEG */
3966 GATE(CLK_PCLK_SMMU_JPEG, "pclk_smmu_jpeg", "div_pclk_mscl",
3967 ENABLE_PCLK_MSCL_SECURE_SMMU_JPEG,
3968 0, CLK_IGNORE_UNUSED, 0),
3969
3970 /* ENABLE_SCLK_MSCL */
3971 GATE(CLK_SCLK_JPEG, "sclk_jpeg", "mout_sclk_jpeg", ENABLE_SCLK_MSCL, 0,
3972 CLK_IGNORE_UNUSED | CLK_SET_RATE_PARENT, 0),
3973};
3974
3975static struct samsung_cmu_info mscl_cmu_info __initdata = {
3976 .mux_clks = mscl_mux_clks,
3977 .nr_mux_clks = ARRAY_SIZE(mscl_mux_clks),
3978 .div_clks = mscl_div_clks,
3979 .nr_div_clks = ARRAY_SIZE(mscl_div_clks),
3980 .gate_clks = mscl_gate_clks,
3981 .nr_gate_clks = ARRAY_SIZE(mscl_gate_clks),
3982 .nr_clk_ids = MSCL_NR_CLK,
3983 .clk_regs = mscl_clk_regs,
3984 .nr_clk_regs = ARRAY_SIZE(mscl_clk_regs),
3985};
3986
3987static void __init exynos5433_cmu_mscl_init(struct device_node *np)
3988{
3989 samsung_cmu_register_one(np, &mscl_cmu_info);
3990}
3991CLK_OF_DECLARE(exynos5433_cmu_mscl, "samsung,exynos5433-cmu-mscl",
3992 exynos5433_cmu_mscl_init);
diff --git a/include/dt-bindings/clock/exynos5433.h b/include/dt-bindings/clock/exynos5433.h
index cdc91f7e6ec8..9898390710e6 100644
--- a/include/dt-bindings/clock/exynos5433.h
+++ b/include/dt-bindings/clock/exynos5433.h
@@ -114,6 +114,8 @@
114#define CLK_DIV_SCLK_USBHOST30 141 114#define CLK_DIV_SCLK_USBHOST30 141
115#define CLK_DIV_SCLK_UFSUNIPRO 142 115#define CLK_DIV_SCLK_UFSUNIPRO 142
116#define CLK_DIV_SCLK_USBDRD30 143 116#define CLK_DIV_SCLK_USBDRD30 143
117#define CLK_DIV_SCLK_JPEG 144
118#define CLK_DIV_ACLK_MSCL_400 145
117 119
118#define CLK_ACLK_PERIC_66 200 120#define CLK_ACLK_PERIC_66 200
119#define CLK_ACLK_PERIS_66 201 121#define CLK_ACLK_PERIS_66 201
@@ -149,8 +151,10 @@
149#define CLK_SCLK_USBDRD30_FSYS 231 151#define CLK_SCLK_USBDRD30_FSYS 231
150#define CLK_ACLK_GSCL_111 232 152#define CLK_ACLK_GSCL_111 232
151#define CLK_ACLK_GSCL_333 233 153#define CLK_ACLK_GSCL_333 233
154#define CLK_SCLK_JPEG_MSCL 234
155#define CLK_ACLK_MSCL_400 235
152 156
153#define TOP_NR_CLK 234 157#define TOP_NR_CLK 236
154 158
155/* CMU_CPIF */ 159/* CMU_CPIF */
156#define CLK_FOUT_MPHY_PLL 1 160#define CLK_FOUT_MPHY_PLL 1
@@ -937,4 +941,39 @@
937 941
938#define ATLAS_NR_CLK 40 942#define ATLAS_NR_CLK 40
939 943
944/* CMU_MSCL */
945#define CLK_MOUT_SCLK_JPEG_USER 1
946#define CLK_MOUT_ACLK_MSCL_400_USER 2
947#define CLK_MOUT_SCLK_JPEG 3
948
949#define CLK_DIV_PCLK_MSCL 4
950
951#define CLK_ACLK_BTS_JPEG 5
952#define CLK_ACLK_BTS_M2MSCALER1 6
953#define CLK_ACLK_BTS_M2MSCALER0 7
954#define CLK_ACLK_AHB2APB_MSCL0P 8
955#define CLK_ACLK_XIU_MSCLX 9
956#define CLK_ACLK_MSCLNP_100 10
957#define CLK_ACLK_MSCLND_400 11
958#define CLK_ACLK_JPEG 12
959#define CLK_ACLK_M2MSCALER1 13
960#define CLK_ACLK_M2MSCALER0 14
961#define CLK_ACLK_SMMU_M2MSCALER0 15
962#define CLK_ACLK_SMMU_M2MSCALER1 16
963#define CLK_ACLK_SMMU_JPEG 17
964#define CLK_PCLK_BTS_JPEG 18
965#define CLK_PCLK_BTS_M2MSCALER1 19
966#define CLK_PCLK_BTS_M2MSCALER0 20
967#define CLK_PCLK_PMU_MSCL 21
968#define CLK_PCLK_SYSREG_MSCL 22
969#define CLK_PCLK_JPEG 23
970#define CLK_PCLK_M2MSCALER1 24
971#define CLK_PCLK_M2MSCALER0 25
972#define CLK_PCLK_SMMU_M2MSCALER0 26
973#define CLK_PCLK_SMMU_M2MSCALER1 27
974#define CLK_PCLK_SMMU_JPEG 28
975#define CLK_SCLK_JPEG 29
976
977#define MSCL_NR_CLK 30
978
940#endif /* _DT_BINDINGS_CLOCK_EXYNOS5433_H */ 979#endif /* _DT_BINDINGS_CLOCK_EXYNOS5433_H */