diff options
| author | Jongpill Lee <boyko.lee@samsung.com> | 2010-08-27 03:50:47 -0400 |
|---|---|---|
| committer | Kukjin Kim <kgene.kim@samsung.com> | 2010-08-27 05:29:24 -0400 |
| commit | 5a847b4af8057f0297356824f793988d311d7aa0 (patch) | |
| tree | 2c6ec3ec319e1dccd7b724284c785592372bd59d | |
| parent | 3ff310206db33e66c076b1f656e70e9080f5be50 (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>
| -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 b3f50426148..165c8bf412b 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 }, |
