diff options
Diffstat (limited to 'arch/arm/mach-s5pv310/clock.c')
-rw-r--r-- | arch/arm/mach-s5pv310/clock.c | 44 |
1 files changed, 37 insertions, 7 deletions
diff --git a/arch/arm/mach-s5pv310/clock.c b/arch/arm/mach-s5pv310/clock.c index b3f50426148d..165c8bf412b2 100644 --- a/arch/arm/mach-s5pv310/clock.c +++ b/arch/arm/mach-s5pv310/clock.c | |||
@@ -30,6 +30,11 @@ static struct clk clk_sclk_hdmi27m = { | |||
30 | .rate = 27000000, | 30 | .rate = 27000000, |
31 | }; | 31 | }; |
32 | 32 | ||
33 | static int s5pv310_clk_ip_peril_ctrl(struct clk *clk, int enable) | ||
34 | { | ||
35 | return s5p_gatectrl(S5P_CLKGATE_IP_PERIL, clk, enable); | ||
36 | } | ||
37 | |||
33 | /* Core list of CMU_CPU side */ | 38 | /* Core list of CMU_CPU side */ |
34 | 39 | ||
35 | static struct clksrc_clk clk_mout_apll = { | 40 | static struct clksrc_clk clk_mout_apll = { |
@@ -329,11 +334,6 @@ static struct clksrc_clk clk_sclk_vpll = { | |||
329 | .reg_src = { .reg = S5P_CLKSRC_TOP0, .shift = 8, .size = 1 }, | 334 | .reg_src = { .reg = S5P_CLKSRC_TOP0, .shift = 8, .size = 1 }, |
330 | }; | 335 | }; |
331 | 336 | ||
332 | static int s5pv310_clk_ip_peril_ctrl(struct clk *clk, int enable) | ||
333 | { | ||
334 | return s5p_gatectrl(S5P_CLKGATE_IP_PERIL, clk, enable); | ||
335 | } | ||
336 | |||
337 | static struct clk init_clocks_disable[] = { | 337 | static struct clk init_clocks_disable[] = { |
338 | { | 338 | { |
339 | .name = "timers", | 339 | .name = "timers", |
@@ -345,7 +345,37 @@ static struct clk init_clocks_disable[] = { | |||
345 | }; | 345 | }; |
346 | 346 | ||
347 | static struct clk init_clocks[] = { | 347 | static struct clk init_clocks[] = { |
348 | /* Nothing here yet */ | 348 | { |
349 | .name = "uart", | ||
350 | .id = 0, | ||
351 | .enable = s5pv310_clk_ip_peril_ctrl, | ||
352 | .ctrlbit = (1 << 0), | ||
353 | }, { | ||
354 | .name = "uart", | ||
355 | .id = 1, | ||
356 | .enable = s5pv310_clk_ip_peril_ctrl, | ||
357 | .ctrlbit = (1 << 1), | ||
358 | }, { | ||
359 | .name = "uart", | ||
360 | .id = 2, | ||
361 | .enable = s5pv310_clk_ip_peril_ctrl, | ||
362 | .ctrlbit = (1 << 2), | ||
363 | }, { | ||
364 | .name = "uart", | ||
365 | .id = 3, | ||
366 | .enable = s5pv310_clk_ip_peril_ctrl, | ||
367 | .ctrlbit = (1 << 3), | ||
368 | }, { | ||
369 | .name = "uart", | ||
370 | .id = 4, | ||
371 | .enable = s5pv310_clk_ip_peril_ctrl, | ||
372 | .ctrlbit = (1 << 4), | ||
373 | }, { | ||
374 | .name = "uart", | ||
375 | .id = 5, | ||
376 | .enable = s5pv310_clk_ip_peril_ctrl, | ||
377 | .ctrlbit = (1 << 5), | ||
378 | } | ||
349 | }; | 379 | }; |
350 | 380 | ||
351 | static struct clk *clkset_group_list[] = { | 381 | static struct clk *clkset_group_list[] = { |
@@ -367,8 +397,8 @@ static struct clksrc_clk clksrcs[] = { | |||
367 | .clk = { | 397 | .clk = { |
368 | .name = "uclk1", | 398 | .name = "uclk1", |
369 | .id = 0, | 399 | .id = 0, |
370 | .ctrlbit = (1 << 0), | ||
371 | .enable = s5pv310_clk_ip_peril_ctrl, | 400 | .enable = s5pv310_clk_ip_peril_ctrl, |
401 | .ctrlbit = (1 << 0), | ||
372 | }, | 402 | }, |
373 | .sources = &clkset_group, | 403 | .sources = &clkset_group, |
374 | .reg_src = { .reg = S5P_CLKSRC_PERIL0, .shift = 0, .size = 4 }, | 404 | .reg_src = { .reg = S5P_CLKSRC_PERIL0, .shift = 0, .size = 4 }, |