aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/clk
diff options
context:
space:
mode:
authorTomasz Figa <t.figa@samsung.com>2013-04-04 00:33:17 -0400
committerKukjin Kim <kgene.kim@samsung.com>2013-04-04 02:51:15 -0400
commit8e1ce8393eb7c27a8aa38da3d245187ec808ba88 (patch)
tree5912394ff9ea7351a202fa2c709bc947d84d7a69 /drivers/clk
parent1e25810bbbc927348070da3f47a591315f3aa926 (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.c22
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),