aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorJongpill Lee <boyko.lee@samsung.com>2010-08-27 03:50:47 -0400
committerKukjin Kim <kgene.kim@samsung.com>2010-08-27 05:29:24 -0400
commit5a847b4af8057f0297356824f793988d311d7aa0 (patch)
tree2c6ec3ec319e1dccd7b724284c785592372bd59d /arch/arm
parent3ff310206db33e66c076b1f656e70e9080f5be50 (diff)
ARM: S5PV310: Fix missed uart clocks
This patch adds missed uart clocks for S5PV310/S5PC210. Signed-off-by: Jongpill Lee <boyko.lee@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/mach-s5pv310/clock.c44
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
33static 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
35static struct clksrc_clk clk_mout_apll = { 40static 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
332static int s5pv310_clk_ip_peril_ctrl(struct clk *clk, int enable)
333{
334 return s5p_gatectrl(S5P_CLKGATE_IP_PERIL, clk, enable);
335}
336
337static struct clk init_clocks_disable[] = { 337static 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
347static struct clk init_clocks[] = { 347static 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
351static struct clk *clkset_group_list[] = { 381static 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 },