diff options
author | Tomasz Figa <t.figa@samsung.com> | 2013-04-04 00:32:37 -0400 |
---|---|---|
committer | Kukjin Kim <kgene.kim@samsung.com> | 2013-04-04 02:51:08 -0400 |
commit | 74f7f8ba5092a76da1e9d07f245575cef86f15ab (patch) | |
tree | ee960840ee8829cedb53d6a083a5a836666c3398 | |
parent | 36fc09722d49077c6a602e8c07b06d21e798b75a (diff) |
clk: exynos4: Use mout_mpll_user_* on Exynos4x12
Many clock muxes of Exynos 4x12 uses mout_mpll_user_* clocks instead of
sclk_mpll as one of their parents.
This patch moves such clocks from common array into SoC-specific arrays
and adjusts their parent lists respectively.
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>
-rw-r--r-- | Documentation/devicetree/bindings/clock/exynos4-clock.txt | 2 | ||||
-rw-r--r-- | drivers/clk/samsung/clk-exynos4.c | 172 |
2 files changed, 113 insertions, 61 deletions
diff --git a/Documentation/devicetree/bindings/clock/exynos4-clock.txt b/Documentation/devicetree/bindings/clock/exynos4-clock.txt index 8b58232f3fb5..d029605b9874 100644 --- a/Documentation/devicetree/bindings/clock/exynos4-clock.txt +++ b/Documentation/devicetree/bindings/clock/exynos4-clock.txt | |||
@@ -42,6 +42,8 @@ Exynos4 SoC and this is specified where applicable. | |||
42 | aclk100 14 | 42 | aclk100 14 |
43 | aclk160 15 | 43 | aclk160 15 |
44 | aclk133 16 | 44 | aclk133 16 |
45 | mout_mpll_user_t 17 Exynos4x12 | ||
46 | mout_mpll_user_c 18 Exynos4x12 | ||
45 | 47 | ||
46 | 48 | ||
47 | [Clock Gate for Special Clocks] | 49 | [Clock Gate for Special Clocks] |
diff --git a/drivers/clk/samsung/clk-exynos4.c b/drivers/clk/samsung/clk-exynos4.c index 44a99b58c981..8edd64cb18a8 100644 --- a/drivers/clk/samsung/clk-exynos4.c +++ b/drivers/clk/samsung/clk-exynos4.c | |||
@@ -112,7 +112,7 @@ enum exynos4_clks { | |||
112 | /* core clocks */ | 112 | /* core clocks */ |
113 | xxti, xusbxti, fin_pll, fout_apll, fout_mpll, fout_epll, fout_vpll, | 113 | xxti, xusbxti, fin_pll, fout_apll, fout_mpll, fout_epll, fout_vpll, |
114 | sclk_apll, sclk_mpll, sclk_epll, sclk_vpll, arm_clk, aclk200, aclk100, | 114 | sclk_apll, sclk_mpll, sclk_epll, sclk_vpll, arm_clk, aclk200, aclk100, |
115 | aclk160, aclk133, | 115 | aclk160, aclk133, mout_mpll_user_t, mout_mpll_user_c, /* 18 */ |
116 | 116 | ||
117 | /* gate for special clocks (sclk) */ | 117 | /* gate for special clocks (sclk) */ |
118 | sclk_fimc0 = 128, sclk_fimc1, sclk_fimc2, sclk_fimc3, sclk_cam0, | 118 | sclk_fimc0 = 128, sclk_fimc1, sclk_fimc2, sclk_fimc3, sclk_cam0, |
@@ -218,35 +218,53 @@ PNAME(mout_apll_p) = { "fin_pll", "fout_apll", }; | |||
218 | PNAME(mout_mpll_p) = { "fin_pll", "fout_mpll", }; | 218 | PNAME(mout_mpll_p) = { "fin_pll", "fout_mpll", }; |
219 | PNAME(mout_epll_p) = { "fin_pll", "fout_epll", }; | 219 | PNAME(mout_epll_p) = { "fin_pll", "fout_epll", }; |
220 | PNAME(mout_vpllsrc_p) = { "fin_pll", "sclk_hdmi24m", }; | 220 | PNAME(mout_vpllsrc_p) = { "fin_pll", "sclk_hdmi24m", }; |
221 | PNAME(sclk_vpll_p4210) = { "mout_vpllsrc", "fout_vpll", }; | ||
222 | PNAME(mout_vpll_p) = { "fin_pll", "fout_vpll", }; | 221 | PNAME(mout_vpll_p) = { "fin_pll", "fout_vpll", }; |
223 | PNAME(mout_core_p) = { "mout_apll", "sclk_mpll", }; | ||
224 | PNAME(sclk_ampll_p) = { "sclk_mpll", "sclk_apll", }; | ||
225 | PNAME(mout_mpll_user_p) = { "fin_pll", "sclk_mpll", }; | ||
226 | PNAME(aclk_p4412) = { "mout_mpll_user", "sclk_apll", }; | ||
227 | PNAME(sclk_evpll_p) = { "sclk_epll", "sclk_vpll", }; | 222 | PNAME(sclk_evpll_p) = { "sclk_epll", "sclk_vpll", }; |
228 | PNAME(mout_mfc_p) = { "mout_mfc0", "mout_mfc1", }; | 223 | PNAME(mout_mfc_p) = { "mout_mfc0", "mout_mfc1", }; |
229 | PNAME(mout_g3d_p) = { "mout_g3d0", "mout_g3d1", }; | 224 | PNAME(mout_g3d_p) = { "mout_g3d0", "mout_g3d1", }; |
230 | PNAME(mout_g2d_p) = { "mout_g2d0", "mout_g2d1", }; | 225 | PNAME(mout_g2d_p) = { "mout_g2d0", "mout_g2d1", }; |
231 | PNAME(mout_mixer_p4210) = { "sclk_dac", "sclk_hdmi", }; | ||
232 | PNAME(mout_dac_p4210) = { "sclk_vpll", "sclk_hdmiphy", }; | ||
233 | PNAME(mout_hdmi_p) = { "sclk_pixel", "sclk_hdmiphy", }; | 226 | PNAME(mout_hdmi_p) = { "sclk_pixel", "sclk_hdmiphy", }; |
234 | PNAME(mout_jpeg_p) = { "mout_jpeg0", "mout_jpeg1", }; | 227 | PNAME(mout_jpeg_p) = { "mout_jpeg0", "mout_jpeg1", }; |
235 | PNAME(group1_p) = { "xxti", "xusbxti", "sclk_hdmi24m", "sclk_usbphy0", | ||
236 | "none", "sclk_hdmiphy", "sclk_mpll", | ||
237 | "sclk_epll", "sclk_vpll", }; | ||
238 | PNAME(mout_audio0_p) = { "cdclk0", "none", "sclk_hdmi24m", "sclk_usbphy0", | ||
239 | "xxti", "xusbxti", "sclk_mpll", "sclk_epll", | ||
240 | "sclk_vpll" }; | ||
241 | PNAME(mout_audio1_p) = { "cdclk1", "none", "sclk_hdmi24m", "sclk_usbphy0", | ||
242 | "xxti", "xusbxti", "sclk_mpll", "sclk_epll", | ||
243 | "sclk_vpll", }; | ||
244 | PNAME(mout_audio2_p) = { "cdclk2", "none", "sclk_hdmi24m", "sclk_usbphy0", | ||
245 | "xxti", "xusbxti", "sclk_mpll", "sclk_epll", | ||
246 | "sclk_vpll", }; | ||
247 | PNAME(mout_spdif_p) = { "sclk_audio0", "sclk_audio1", "sclk_audio2", | 228 | PNAME(mout_spdif_p) = { "sclk_audio0", "sclk_audio1", "sclk_audio2", |
248 | "spdif_extclk", }; | 229 | "spdif_extclk", }; |
249 | 230 | ||
231 | /* Exynos 4210-specific parent groups */ | ||
232 | PNAME(sclk_vpll_p4210) = { "mout_vpllsrc", "fout_vpll", }; | ||
233 | PNAME(mout_core_p4210) = { "mout_apll", "sclk_mpll", }; | ||
234 | PNAME(sclk_ampll_p4210) = { "sclk_mpll", "sclk_apll", }; | ||
235 | PNAME(group1_p4210) = { "xxti", "xusbxti", "sclk_hdmi24m", | ||
236 | "sclk_usbphy0", "none", "sclk_hdmiphy", | ||
237 | "sclk_mpll", "sclk_epll", "sclk_vpll", }; | ||
238 | PNAME(mout_audio0_p4210) = { "cdclk0", "none", "sclk_hdmi24m", | ||
239 | "sclk_usbphy0", "xxti", "xusbxti", "sclk_mpll", | ||
240 | "sclk_epll", "sclk_vpll" }; | ||
241 | PNAME(mout_audio1_p4210) = { "cdclk1", "none", "sclk_hdmi24m", | ||
242 | "sclk_usbphy0", "xxti", "xusbxti", "sclk_mpll", | ||
243 | "sclk_epll", "sclk_vpll", }; | ||
244 | PNAME(mout_audio2_p4210) = { "cdclk2", "none", "sclk_hdmi24m", | ||
245 | "sclk_usbphy0", "xxti", "xusbxti", "sclk_mpll", | ||
246 | "sclk_epll", "sclk_vpll", }; | ||
247 | PNAME(mout_mixer_p4210) = { "sclk_dac", "sclk_hdmi", }; | ||
248 | PNAME(mout_dac_p4210) = { "sclk_vpll", "sclk_hdmiphy", }; | ||
249 | |||
250 | /* Exynos 4x12-specific parent groups */ | ||
251 | PNAME(mout_mpll_user_p4x12) = { "fin_pll", "sclk_mpll", }; | ||
252 | PNAME(mout_core_p4x12) = { "mout_apll", "mout_mpll_user_c", }; | ||
253 | PNAME(sclk_ampll_p4x12) = { "mout_mpll_user_t", "sclk_apll", }; | ||
254 | PNAME(group1_p4x12) = { "xxti", "xusbxti", "sclk_hdmi24m", "sclk_usbphy0", | ||
255 | "none", "sclk_hdmiphy", "mout_mpll_user_t", | ||
256 | "sclk_epll", "sclk_vpll", }; | ||
257 | PNAME(mout_audio0_p4x12) = { "cdclk0", "none", "sclk_hdmi24m", | ||
258 | "sclk_usbphy0", "xxti", "xusbxti", | ||
259 | "mout_mpll_user_t", "sclk_epll", "sclk_vpll" }; | ||
260 | PNAME(mout_audio1_p4x12) = { "cdclk1", "none", "sclk_hdmi24m", | ||
261 | "sclk_usbphy0", "xxti", "xusbxti", | ||
262 | "mout_mpll_user_t", "sclk_epll", "sclk_vpll", }; | ||
263 | PNAME(mout_audio2_p4x12) = { "cdclk2", "none", "sclk_hdmi24m", | ||
264 | "sclk_usbphy0", "xxti", "xusbxti", | ||
265 | "mout_mpll_user_t", "sclk_epll", "sclk_vpll", }; | ||
266 | PNAME(aclk_p4412) = { "mout_mpll_user_t", "sclk_apll", }; | ||
267 | |||
250 | /* fixed rate clocks generated outside the soc */ | 268 | /* fixed rate clocks generated outside the soc */ |
251 | struct samsung_fixed_rate_clock exynos4_fixed_rate_ext_clks[] __initdata = { | 269 | struct samsung_fixed_rate_clock exynos4_fixed_rate_ext_clks[] __initdata = { |
252 | FRATE(xxti, "xxti", NULL, CLK_IS_ROOT, 0), | 270 | FRATE(xxti, "xxti", NULL, CLK_IS_ROOT, 0), |
@@ -267,80 +285,112 @@ struct samsung_fixed_rate_clock exynos4210_fixed_rate_clks[] __initdata = { | |||
267 | /* list of mux clocks supported in all exynos4 soc's */ | 285 | /* list of mux clocks supported in all exynos4 soc's */ |
268 | struct samsung_mux_clock exynos4_mux_clks[] __initdata = { | 286 | struct samsung_mux_clock exynos4_mux_clks[] __initdata = { |
269 | MUX(none, "mout_apll", mout_apll_p, SRC_CPU, 0, 1), | 287 | MUX(none, "mout_apll", mout_apll_p, SRC_CPU, 0, 1), |
270 | MUX(none, "mout_core", mout_core_p, SRC_CPU, 16, 1), | ||
271 | MUX(none, "mout_fimc0", group1_p, SRC_CAM, 0, 4), | ||
272 | MUX(none, "mout_fimc1", group1_p, SRC_CAM, 4, 4), | ||
273 | MUX(none, "mout_fimc2", group1_p, SRC_CAM, 8, 4), | ||
274 | MUX(none, "mout_fimc3", group1_p, SRC_CAM, 12, 4), | ||
275 | MUX(none, "mout_cam0", group1_p, SRC_CAM, 16, 4), | ||
276 | MUX(none, "mout_cam1", group1_p, SRC_CAM, 20, 4), | ||
277 | MUX(none, "mout_csis0", group1_p, SRC_CAM, 24, 4), | ||
278 | MUX(none, "mout_csis1", group1_p, SRC_CAM, 28, 4), | ||
279 | MUX(none, "mout_hdmi", mout_hdmi_p, SRC_TV, 0, 1), | 288 | MUX(none, "mout_hdmi", mout_hdmi_p, SRC_TV, 0, 1), |
280 | MUX(none, "mout_mfc0", sclk_ampll_p, SRC_MFC, 0, 1), | ||
281 | MUX(none, "mout_mfc1", sclk_evpll_p, SRC_MFC, 4, 1), | 289 | MUX(none, "mout_mfc1", sclk_evpll_p, SRC_MFC, 4, 1), |
282 | MUX(none, "mout_mfc", mout_mfc_p, SRC_MFC, 8, 1), | 290 | MUX(none, "mout_mfc", mout_mfc_p, SRC_MFC, 8, 1), |
283 | MUX(none, "mout_g3d0", sclk_ampll_p, SRC_G3D, 0, 1), | ||
284 | MUX(none, "mout_g3d1", sclk_evpll_p, SRC_G3D, 4, 1), | 291 | MUX(none, "mout_g3d1", sclk_evpll_p, SRC_G3D, 4, 1), |
285 | MUX(none, "mout_g3d", mout_g3d_p, SRC_G3D, 8, 1), | 292 | MUX(none, "mout_g3d", mout_g3d_p, SRC_G3D, 8, 1), |
286 | MUX(none, "mout_fimd0", group1_p, SRC_LCD0, 0, 4), | ||
287 | MUX(none, "mout_mipi0", group1_p, SRC_LCD0, 12, 4), | ||
288 | MUX(none, "mout_audio0", mout_audio0_p, SRC_MAUDIO, 0, 4), | ||
289 | MUX(none, "mout_mmc0", group1_p, SRC_FSYS, 0, 4), | ||
290 | MUX(none, "mout_mmc1", group1_p, SRC_FSYS, 4, 4), | ||
291 | MUX(none, "mout_mmc2", group1_p, SRC_FSYS, 8, 4), | ||
292 | MUX(none, "mout_mmc3", group1_p, SRC_FSYS, 12, 4), | ||
293 | MUX(none, "mout_mmc4", group1_p, SRC_FSYS, 16, 4), | ||
294 | MUX(none, "mout_uart0", group1_p, SRC_PERIL0, 0, 4), | ||
295 | MUX(none, "mout_uart1", group1_p, SRC_PERIL0, 4, 4), | ||
296 | MUX(none, "mout_uart2", group1_p, SRC_PERIL0, 8, 4), | ||
297 | MUX(none, "mout_uart3", group1_p, SRC_PERIL0, 12, 4), | ||
298 | MUX(none, "mout_uart4", group1_p, SRC_PERIL0, 16, 4), | ||
299 | MUX(none, "mout_audio1", mout_audio1_p, SRC_PERIL1, 0, 4), | ||
300 | MUX(none, "mout_audio2", mout_audio2_p, SRC_PERIL1, 4, 4), | ||
301 | MUX(none, "mout_spdif", mout_spdif_p, SRC_PERIL1, 8, 2), | 293 | MUX(none, "mout_spdif", mout_spdif_p, SRC_PERIL1, 8, 2), |
302 | MUX(none, "mout_spi0", group1_p, SRC_PERIL1, 16, 4), | ||
303 | MUX(none, "mout_spi1", group1_p, SRC_PERIL1, 20, 4), | ||
304 | MUX(none, "mout_spi2", group1_p, SRC_PERIL1, 24, 4), | ||
305 | MUX_A(sclk_epll, "sclk_epll", mout_epll_p, SRC_TOP0, 4, 1, "sclk_epll"), | 294 | MUX_A(sclk_epll, "sclk_epll", mout_epll_p, SRC_TOP0, 4, 1, "sclk_epll"), |
306 | }; | 295 | }; |
307 | 296 | ||
308 | /* list of mux clocks supported in exynos4210 soc */ | 297 | /* list of mux clocks supported in exynos4210 soc */ |
309 | struct samsung_mux_clock exynos4210_mux_clks[] __initdata = { | 298 | struct samsung_mux_clock exynos4210_mux_clks[] __initdata = { |
310 | MUX(none, "mout_aclk200", sclk_ampll_p, SRC_TOP0, 12, 1), | 299 | MUX(none, "mout_aclk200", sclk_ampll_p4210, SRC_TOP0, 12, 1), |
311 | MUX(none, "mout_aclk100", sclk_ampll_p, SRC_TOP0, 16, 1), | 300 | MUX(none, "mout_aclk100", sclk_ampll_p4210, SRC_TOP0, 16, 1), |
312 | MUX(none, "mout_aclk160", sclk_ampll_p, SRC_TOP0, 20, 1), | 301 | MUX(none, "mout_aclk160", sclk_ampll_p4210, SRC_TOP0, 20, 1), |
313 | MUX(none, "mout_aclk133", sclk_ampll_p, SRC_TOP0, 24, 1), | 302 | MUX(none, "mout_aclk133", sclk_ampll_p4210, SRC_TOP0, 24, 1), |
314 | MUX(none, "mout_vpllsrc", mout_vpllsrc_p, SRC_TOP1, 0, 1), | 303 | MUX(none, "mout_vpllsrc", mout_vpllsrc_p, SRC_TOP1, 0, 1), |
315 | MUX(none, "mout_mixer", mout_mixer_p4210, SRC_TV, 4, 1), | 304 | MUX(none, "mout_mixer", mout_mixer_p4210, SRC_TV, 4, 1), |
316 | MUX(none, "mout_dac", mout_dac_p4210, SRC_TV, 8, 1), | 305 | MUX(none, "mout_dac", mout_dac_p4210, SRC_TV, 8, 1), |
317 | MUX(none, "mout_g2d0", sclk_ampll_p, E4210_SRC_IMAGE, 0, 1), | 306 | MUX(none, "mout_g2d0", sclk_ampll_p4210, E4210_SRC_IMAGE, 0, 1), |
318 | MUX(none, "mout_g2d1", sclk_evpll_p, E4210_SRC_IMAGE, 4, 1), | 307 | MUX(none, "mout_g2d1", sclk_evpll_p, E4210_SRC_IMAGE, 4, 1), |
319 | MUX(none, "mout_g2d", mout_g2d_p, E4210_SRC_IMAGE, 8, 1), | 308 | MUX(none, "mout_g2d", mout_g2d_p, E4210_SRC_IMAGE, 8, 1), |
320 | MUX(none, "mout_fimd1", group1_p, SRC_LCD1, 0, 4), | 309 | MUX(none, "mout_fimd1", group1_p4210, SRC_LCD1, 0, 4), |
321 | MUX(none, "mout_mipi1", group1_p, SRC_LCD1, 12, 4), | 310 | MUX(none, "mout_mipi1", group1_p4210, SRC_LCD1, 12, 4), |
322 | MUX_A(sclk_mpll, "sclk_mpll", mout_mpll_p, SRC_CPU, 8, 1, "sclk_mpll"), | 311 | MUX_A(sclk_mpll, "sclk_mpll", mout_mpll_p, SRC_CPU, 8, 1, "sclk_mpll"), |
312 | MUX(none, "mout_core", mout_core_p4210, SRC_CPU, 16, 1), | ||
323 | MUX_A(sclk_vpll, "sclk_vpll", sclk_vpll_p4210, | 313 | MUX_A(sclk_vpll, "sclk_vpll", sclk_vpll_p4210, |
324 | SRC_TOP0, 8, 1, "sclk_vpll"), | 314 | SRC_TOP0, 8, 1, "sclk_vpll"), |
315 | MUX(none, "mout_fimc0", group1_p4210, SRC_CAM, 0, 4), | ||
316 | MUX(none, "mout_fimc1", group1_p4210, SRC_CAM, 4, 4), | ||
317 | MUX(none, "mout_fimc2", group1_p4210, SRC_CAM, 8, 4), | ||
318 | MUX(none, "mout_fimc3", group1_p4210, SRC_CAM, 12, 4), | ||
319 | MUX(none, "mout_cam0", group1_p4210, SRC_CAM, 16, 4), | ||
320 | MUX(none, "mout_cam1", group1_p4210, SRC_CAM, 20, 4), | ||
321 | MUX(none, "mout_csis0", group1_p4210, SRC_CAM, 24, 4), | ||
322 | MUX(none, "mout_csis1", group1_p4210, SRC_CAM, 28, 4), | ||
323 | MUX(none, "mout_mfc0", sclk_ampll_p4210, SRC_MFC, 0, 1), | ||
324 | MUX(none, "mout_g3d0", sclk_ampll_p4210, SRC_G3D, 0, 1), | ||
325 | MUX(none, "mout_fimd0", group1_p4210, SRC_LCD0, 0, 4), | ||
326 | MUX(none, "mout_mipi0", group1_p4210, SRC_LCD0, 12, 4), | ||
327 | MUX(none, "mout_audio0", mout_audio0_p4210, SRC_MAUDIO, 0, 4), | ||
328 | MUX(none, "mout_mmc0", group1_p4210, SRC_FSYS, 0, 4), | ||
329 | MUX(none, "mout_mmc1", group1_p4210, SRC_FSYS, 4, 4), | ||
330 | MUX(none, "mout_mmc2", group1_p4210, SRC_FSYS, 8, 4), | ||
331 | MUX(none, "mout_mmc3", group1_p4210, SRC_FSYS, 12, 4), | ||
332 | MUX(none, "mout_mmc4", group1_p4210, SRC_FSYS, 16, 4), | ||
333 | MUX(none, "mout_uart0", group1_p4210, SRC_PERIL0, 0, 4), | ||
334 | MUX(none, "mout_uart1", group1_p4210, SRC_PERIL0, 4, 4), | ||
335 | MUX(none, "mout_uart2", group1_p4210, SRC_PERIL0, 8, 4), | ||
336 | MUX(none, "mout_uart3", group1_p4210, SRC_PERIL0, 12, 4), | ||
337 | MUX(none, "mout_uart4", group1_p4210, SRC_PERIL0, 16, 4), | ||
338 | MUX(none, "mout_audio1", mout_audio1_p4210, SRC_PERIL1, 0, 4), | ||
339 | MUX(none, "mout_audio2", mout_audio2_p4210, SRC_PERIL1, 4, 4), | ||
340 | MUX(none, "mout_spi0", group1_p4210, SRC_PERIL1, 16, 4), | ||
341 | MUX(none, "mout_spi1", group1_p4210, SRC_PERIL1, 20, 4), | ||
342 | MUX(none, "mout_spi2", group1_p4210, SRC_PERIL1, 24, 4), | ||
325 | }; | 343 | }; |
326 | 344 | ||
327 | /* list of mux clocks supported in exynos4x12 soc */ | 345 | /* list of mux clocks supported in exynos4x12 soc */ |
328 | struct samsung_mux_clock exynos4x12_mux_clks[] __initdata = { | 346 | struct samsung_mux_clock exynos4x12_mux_clks[] __initdata = { |
329 | MUX(none, "mout_mpll_user", mout_mpll_user_p, SRC_LEFTBUS, 4, 1), | 347 | MUX(mout_mpll_user_c, "mout_mpll_user_c", mout_mpll_user_p4x12, |
348 | SRC_CPU, 24, 1), | ||
349 | MUX(mout_mpll_user_t, "mout_mpll_user_t", mout_mpll_user_p4x12, | ||
350 | SRC_TOP1, 12, 1), | ||
330 | MUX(none, "mout_aclk200", aclk_p4412, SRC_TOP0, 12, 1), | 351 | MUX(none, "mout_aclk200", aclk_p4412, SRC_TOP0, 12, 1), |
331 | MUX(none, "mout_aclk100", aclk_p4412, SRC_TOP0, 16, 1), | 352 | MUX(none, "mout_aclk100", aclk_p4412, SRC_TOP0, 16, 1), |
332 | MUX(none, "mout_aclk160", aclk_p4412, SRC_TOP0, 20, 1), | 353 | MUX(none, "mout_aclk160", aclk_p4412, SRC_TOP0, 20, 1), |
333 | MUX(none, "mout_aclk133", aclk_p4412, SRC_TOP0, 24, 1), | 354 | MUX(none, "mout_aclk133", aclk_p4412, SRC_TOP0, 24, 1), |
334 | MUX(none, "mout_mdnie0", group1_p, SRC_LCD0, 4, 4), | 355 | MUX(none, "mout_mdnie0", group1_p4x12, SRC_LCD0, 4, 4), |
335 | MUX(none, "mout_mdnie_pwm0", group1_p, SRC_LCD0, 8, 4), | 356 | MUX(none, "mout_mdnie_pwm0", group1_p4x12, SRC_LCD0, 8, 4), |
336 | MUX(none, "mout_sata", sclk_ampll_p, SRC_FSYS, 24, 1), | 357 | MUX(none, "mout_sata", sclk_ampll_p4x12, SRC_FSYS, 24, 1), |
337 | MUX(none, "mout_jpeg0", sclk_ampll_p, E4X12_SRC_CAM1, 0, 1), | 358 | MUX(none, "mout_jpeg0", sclk_ampll_p4x12, E4X12_SRC_CAM1, 0, 1), |
338 | MUX(none, "mout_jpeg1", sclk_evpll_p, E4X12_SRC_CAM1, 4, 1), | 359 | MUX(none, "mout_jpeg1", sclk_evpll_p, E4X12_SRC_CAM1, 4, 1), |
339 | MUX(none, "mout_jpeg", mout_jpeg_p, E4X12_SRC_CAM1, 8, 1), | 360 | MUX(none, "mout_jpeg", mout_jpeg_p, E4X12_SRC_CAM1, 8, 1), |
340 | MUX_A(sclk_mpll, "sclk_mpll", mout_mpll_p, | 361 | MUX_A(sclk_mpll, "sclk_mpll", mout_mpll_p, |
341 | E4X12_SRC_DMC, 12, 1, "sclk_mpll"), | 362 | E4X12_SRC_DMC, 12, 1, "sclk_mpll"), |
342 | MUX_A(sclk_vpll, "sclk_vpll", mout_vpll_p, | 363 | MUX_A(sclk_vpll, "sclk_vpll", mout_vpll_p, |
343 | SRC_TOP0, 8, 1, "sclk_vpll"), | 364 | SRC_TOP0, 8, 1, "sclk_vpll"), |
365 | MUX(none, "mout_core", mout_core_p4x12, SRC_CPU, 16, 1), | ||
366 | MUX(none, "mout_fimc0", group1_p4x12, SRC_CAM, 0, 4), | ||
367 | MUX(none, "mout_fimc1", group1_p4x12, SRC_CAM, 4, 4), | ||
368 | MUX(none, "mout_fimc2", group1_p4x12, SRC_CAM, 8, 4), | ||
369 | MUX(none, "mout_fimc3", group1_p4x12, SRC_CAM, 12, 4), | ||
370 | MUX(none, "mout_cam0", group1_p4x12, SRC_CAM, 16, 4), | ||
371 | MUX(none, "mout_cam1", group1_p4x12, SRC_CAM, 20, 4), | ||
372 | MUX(none, "mout_csis0", group1_p4x12, SRC_CAM, 24, 4), | ||
373 | MUX(none, "mout_csis1", group1_p4x12, SRC_CAM, 28, 4), | ||
374 | MUX(none, "mout_mfc0", sclk_ampll_p4x12, SRC_MFC, 0, 1), | ||
375 | MUX(none, "mout_g3d0", sclk_ampll_p4x12, SRC_G3D, 0, 1), | ||
376 | MUX(none, "mout_fimd0", group1_p4x12, SRC_LCD0, 0, 4), | ||
377 | MUX(none, "mout_mipi0", group1_p4x12, SRC_LCD0, 12, 4), | ||
378 | MUX(none, "mout_audio0", mout_audio0_p4x12, SRC_MAUDIO, 0, 4), | ||
379 | MUX(none, "mout_mmc0", group1_p4x12, SRC_FSYS, 0, 4), | ||
380 | MUX(none, "mout_mmc1", group1_p4x12, SRC_FSYS, 4, 4), | ||
381 | MUX(none, "mout_mmc2", group1_p4x12, SRC_FSYS, 8, 4), | ||
382 | MUX(none, "mout_mmc3", group1_p4x12, SRC_FSYS, 12, 4), | ||
383 | MUX(none, "mout_mmc4", group1_p4x12, SRC_FSYS, 16, 4), | ||
384 | MUX(none, "mout_uart0", group1_p4x12, SRC_PERIL0, 0, 4), | ||
385 | MUX(none, "mout_uart1", group1_p4x12, SRC_PERIL0, 4, 4), | ||
386 | MUX(none, "mout_uart2", group1_p4x12, SRC_PERIL0, 8, 4), | ||
387 | MUX(none, "mout_uart3", group1_p4x12, SRC_PERIL0, 12, 4), | ||
388 | MUX(none, "mout_uart4", group1_p4x12, SRC_PERIL0, 16, 4), | ||
389 | MUX(none, "mout_audio1", mout_audio1_p4x12, SRC_PERIL1, 0, 4), | ||
390 | MUX(none, "mout_audio2", mout_audio2_p4x12, SRC_PERIL1, 4, 4), | ||
391 | MUX(none, "mout_spi0", group1_p4x12, SRC_PERIL1, 16, 4), | ||
392 | MUX(none, "mout_spi1", group1_p4x12, SRC_PERIL1, 20, 4), | ||
393 | MUX(none, "mout_spi2", group1_p4x12, SRC_PERIL1, 24, 4), | ||
344 | }; | 394 | }; |
345 | 395 | ||
346 | /* list of divider clocks supported in all exynos4 soc's */ | 396 | /* list of divider clocks supported in all exynos4 soc's */ |