diff options
author | Tomasz Figa <t.figa@samsung.com> | 2013-04-04 00:33:17 -0400 |
---|---|---|
committer | Kukjin Kim <kgene.kim@samsung.com> | 2013-04-04 02:51:15 -0400 |
commit | 8e1ce8393eb7c27a8aa38da3d245187ec808ba88 (patch) | |
tree | 5912394ff9ea7351a202fa2c709bc947d84d7a69 /drivers/clk | |
parent | 1e25810bbbc927348070da3f47a591315f3aa926 (diff) |
clk: exynos4: Add G3D clocks
This patch adds clocks needed for G3D block present on Exynos 4 SoCs.
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 | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/drivers/clk/samsung/clk-exynos4.c b/drivers/clk/samsung/clk-exynos4.c index 6d7fa82aab87..ddd654bc9865 100644 --- a/drivers/clk/samsung/clk-exynos4.c +++ b/drivers/clk/samsung/clk-exynos4.c | |||
@@ -124,7 +124,7 @@ enum exynos4_clks { | |||
124 | sclk_sata, sclk_uart0, sclk_uart1, sclk_uart2, sclk_uart3, sclk_uart4, | 124 | 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, | 125 | 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, | 126 | sclk_slimbus, sclk_fimd1, sclk_mipi1, sclk_pcm1, sclk_pcm2, sclk_i2s1, |
127 | sclk_i2s2, sclk_mipihsi, sclk_mfc, sclk_pcm0, | 127 | sclk_i2s2, sclk_mipihsi, sclk_mfc, sclk_pcm0, sclk_g3d, |
128 | 128 | ||
129 | /* gate clocks */ | 129 | /* gate clocks */ |
130 | fimc0 = 256, fimc1, fimc2, fimc3, csis0, csis1, jpeg, smmu_fimc0, | 130 | fimc0 = 256, fimc1, fimc2, fimc3, csis0, csis1, jpeg, smmu_fimc0, |
@@ -142,7 +142,7 @@ enum exynos4_clks { | |||
142 | 142 | ||
143 | /* mux clocks */ | 143 | /* mux clocks */ |
144 | mout_fimc0 = 384, mout_fimc1, mout_fimc2, mout_fimc3, mout_cam0, | 144 | mout_fimc0 = 384, mout_fimc1, mout_fimc2, mout_fimc3, mout_cam0, |
145 | mout_cam1, mout_csis0, mout_csis1, | 145 | mout_cam1, mout_csis0, mout_csis1, mout_g3d0, mout_g3d1, mout_g3d, |
146 | 146 | ||
147 | nr_clks, | 147 | nr_clks, |
148 | }; | 148 | }; |
@@ -296,8 +296,10 @@ struct samsung_mux_clock exynos4_mux_clks[] __initdata = { | |||
296 | MUX(none, "mout_hdmi", mout_hdmi_p, SRC_TV, 0, 1), | 296 | MUX(none, "mout_hdmi", mout_hdmi_p, SRC_TV, 0, 1), |
297 | MUX(none, "mout_mfc1", sclk_evpll_p, SRC_MFC, 4, 1), | 297 | MUX(none, "mout_mfc1", sclk_evpll_p, SRC_MFC, 4, 1), |
298 | MUX(none, "mout_mfc", mout_mfc_p, SRC_MFC, 8, 1), | 298 | MUX(none, "mout_mfc", mout_mfc_p, SRC_MFC, 8, 1), |
299 | MUX(none, "mout_g3d1", sclk_evpll_p, SRC_G3D, 4, 1), | 299 | MUX_F(mout_g3d1, "mout_g3d1", sclk_evpll_p, SRC_G3D, 4, 1, |
300 | MUX(none, "mout_g3d", mout_g3d_p, SRC_G3D, 8, 1), | 300 | CLK_SET_RATE_PARENT, 0), |
301 | MUX_F(mout_g3d, "mout_g3d", mout_g3d_p, SRC_G3D, 8, 1, | ||
302 | CLK_SET_RATE_PARENT, 0), | ||
301 | MUX(none, "mout_spdif", mout_spdif_p, SRC_PERIL1, 8, 2), | 303 | MUX(none, "mout_spdif", mout_spdif_p, SRC_PERIL1, 8, 2), |
302 | MUX_A(sclk_epll, "sclk_epll", mout_epll_p, SRC_TOP0, 4, 1, "sclk_epll"), | 304 | MUX_A(sclk_epll, "sclk_epll", mout_epll_p, SRC_TOP0, 4, 1, "sclk_epll"), |
303 | }; | 305 | }; |
@@ -330,7 +332,8 @@ struct samsung_mux_clock exynos4210_mux_clks[] __initdata = { | |||
330 | MUX(mout_csis0, "mout_csis0", group1_p4210, SRC_CAM, 24, 4), | 332 | MUX(mout_csis0, "mout_csis0", group1_p4210, SRC_CAM, 24, 4), |
331 | MUX(mout_csis1, "mout_csis1", group1_p4210, SRC_CAM, 28, 4), | 333 | MUX(mout_csis1, "mout_csis1", group1_p4210, SRC_CAM, 28, 4), |
332 | MUX(none, "mout_mfc0", sclk_ampll_p4210, SRC_MFC, 0, 1), | 334 | MUX(none, "mout_mfc0", sclk_ampll_p4210, SRC_MFC, 0, 1), |
333 | MUX(none, "mout_g3d0", sclk_ampll_p4210, SRC_G3D, 0, 1), | 335 | MUX_F(mout_g3d0, "mout_g3d0", sclk_ampll_p4210, SRC_G3D, 0, 1, |
336 | CLK_SET_RATE_PARENT, 0), | ||
334 | MUX(none, "mout_fimd0", group1_p4210, SRC_LCD0, 0, 4), | 337 | MUX(none, "mout_fimd0", group1_p4210, SRC_LCD0, 0, 4), |
335 | MUX(none, "mout_mipi0", group1_p4210, SRC_LCD0, 12, 4), | 338 | MUX(none, "mout_mipi0", group1_p4210, SRC_LCD0, 12, 4), |
336 | MUX(none, "mout_audio0", mout_audio0_p4210, SRC_MAUDIO, 0, 4), | 339 | MUX(none, "mout_audio0", mout_audio0_p4210, SRC_MAUDIO, 0, 4), |
@@ -381,7 +384,8 @@ struct samsung_mux_clock exynos4x12_mux_clks[] __initdata = { | |||
381 | MUX(mout_csis0, "mout_csis0", group1_p4x12, SRC_CAM, 24, 4), | 384 | MUX(mout_csis0, "mout_csis0", group1_p4x12, SRC_CAM, 24, 4), |
382 | MUX(mout_csis1, "mout_csis1", group1_p4x12, SRC_CAM, 28, 4), | 385 | MUX(mout_csis1, "mout_csis1", group1_p4x12, SRC_CAM, 28, 4), |
383 | MUX(none, "mout_mfc0", sclk_ampll_p4x12, SRC_MFC, 0, 1), | 386 | MUX(none, "mout_mfc0", sclk_ampll_p4x12, SRC_MFC, 0, 1), |
384 | MUX(none, "mout_g3d0", sclk_ampll_p4x12, SRC_G3D, 0, 1), | 387 | MUX_F(mout_g3d0, "mout_g3d0", sclk_ampll_p4x12, SRC_G3D, 0, 1, |
388 | CLK_SET_RATE_PARENT, 0), | ||
385 | MUX(none, "mout_fimd0", group1_p4x12, SRC_LCD0, 0, 4), | 389 | MUX(none, "mout_fimd0", group1_p4x12, SRC_LCD0, 0, 4), |
386 | MUX(none, "mout_mipi0", group1_p4x12, SRC_LCD0, 12, 4), | 390 | MUX(none, "mout_mipi0", group1_p4x12, SRC_LCD0, 12, 4), |
387 | MUX(none, "mout_audio0", mout_audio0_p4x12, SRC_MAUDIO, 0, 4), | 391 | MUX(none, "mout_audio0", mout_audio0_p4x12, SRC_MAUDIO, 0, 4), |
@@ -416,7 +420,8 @@ struct samsung_div_clock exynos4_div_clks[] __initdata = { | |||
416 | DIV(none, "div_csis0", "mout_csis0", DIV_CAM, 24, 4), | 420 | DIV(none, "div_csis0", "mout_csis0", DIV_CAM, 24, 4), |
417 | DIV(none, "div_csis1", "mout_csis1", DIV_CAM, 28, 4), | 421 | DIV(none, "div_csis1", "mout_csis1", DIV_CAM, 28, 4), |
418 | DIV(sclk_mfc, "sclk_mfc", "mout_mfc", DIV_MFC, 0, 4), | 422 | DIV(sclk_mfc, "sclk_mfc", "mout_mfc", DIV_MFC, 0, 4), |
419 | DIV(none, "div_g3d", "mout_g3d", DIV_G3D, 0, 4), | 423 | DIV_F(none, "div_g3d", "mout_g3d", DIV_G3D, 0, 4, |
424 | CLK_SET_RATE_PARENT, 0), | ||
420 | DIV(none, "div_fimd0", "mout_fimd0", DIV_LCD0, 0, 4), | 425 | DIV(none, "div_fimd0", "mout_fimd0", DIV_LCD0, 0, 4), |
421 | DIV(none, "div_mipi0", "mout_mipi0", DIV_LCD0, 16, 4), | 426 | DIV(none, "div_mipi0", "mout_mipi0", DIV_LCD0, 16, 4), |
422 | DIV(none, "div_audio0", "mout_audio0", DIV_MAUDIO, 0, 4), | 427 | DIV(none, "div_audio0", "mout_audio0", DIV_MAUDIO, 0, 4), |
@@ -502,7 +507,8 @@ struct samsung_gate_clock exynos4_gate_clks[] __initdata = { | |||
502 | GATE(smmu_fimd1, "smmu_fimd1", "aclk160", GATE_IP_LCD1, 4, 0, 0), | 507 | GATE(smmu_fimd1, "smmu_fimd1", "aclk160", GATE_IP_LCD1, 4, 0, 0), |
503 | GATE(tsi, "tsi", "aclk133", GATE_IP_FSYS, 4, 0, 0), | 508 | GATE(tsi, "tsi", "aclk133", GATE_IP_FSYS, 4, 0, 0), |
504 | GATE(sromc, "sromc", "aclk133", GATE_IP_FSYS, 11, 0, 0), | 509 | GATE(sromc, "sromc", "aclk133", GATE_IP_FSYS, 11, 0, 0), |
505 | GATE(g3d, "g3d", "aclk200", GATE_IP_G3D, 0, 0, 0), | 510 | GATE(sclk_g3d, "sclk_g3d", "div_g3d", GATE_IP_G3D, 0, |
511 | CLK_SET_RATE_PARENT, 0), | ||
506 | GATE(usb_device, "usb_device", "aclk133", GATE_IP_FSYS, 13, 0, 0), | 512 | GATE(usb_device, "usb_device", "aclk133", GATE_IP_FSYS, 13, 0, 0), |
507 | GATE(onenand, "onenand", "aclk133", GATE_IP_FSYS, 15, 0, 0), | 513 | GATE(onenand, "onenand", "aclk133", GATE_IP_FSYS, 15, 0, 0), |
508 | GATE(nfcon, "nfcon", "aclk133", GATE_IP_FSYS, 16, 0, 0), | 514 | GATE(nfcon, "nfcon", "aclk133", GATE_IP_FSYS, 16, 0, 0), |