aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-s5p64x0/clock-s5p6450.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-s5p64x0/clock-s5p6450.c')
-rw-r--r--arch/arm/mach-s5p64x0/clock-s5p6450.c32
1 files changed, 23 insertions, 9 deletions
diff --git a/arch/arm/mach-s5p64x0/clock-s5p6450.c b/arch/arm/mach-s5p64x0/clock-s5p6450.c
index 2d04abfba12e..d132638c7b23 100644
--- a/arch/arm/mach-s5p64x0/clock-s5p6450.c
+++ b/arch/arm/mach-s5p64x0/clock-s5p6450.c
@@ -443,15 +443,6 @@ static struct clksrc_clk clksrcs[] = {
443 .reg_div = { .reg = S5P64X0_CLK_DIV1, .shift = 8, .size = 4 }, 443 .reg_div = { .reg = S5P64X0_CLK_DIV1, .shift = 8, .size = 4 },
444 }, { 444 }, {
445 .clk = { 445 .clk = {
446 .name = "uclk1",
447 .ctrlbit = (1 << 5),
448 .enable = s5p64x0_sclk_ctrl,
449 },
450 .sources = &clkset_uart,
451 .reg_src = { .reg = S5P64X0_CLK_SRC0, .shift = 13, .size = 1 },
452 .reg_div = { .reg = S5P64X0_CLK_DIV2, .shift = 16, .size = 4 },
453 }, {
454 .clk = {
455 .name = "sclk_spi", 446 .name = "sclk_spi",
456 .devname = "s3c64xx-spi.0", 447 .devname = "s3c64xx-spi.0",
457 .ctrlbit = (1 << 20), 448 .ctrlbit = (1 << 20),
@@ -536,6 +527,26 @@ static struct clksrc_clk clksrcs[] = {
536 }, 527 },
537}; 528};
538 529
530static struct clksrc_clk clk_sclk_uclk = {
531 .clk = {
532 .name = "uclk1",
533 .ctrlbit = (1 << 5),
534 .enable = s5p64x0_sclk_ctrl,
535 },
536 .sources = &clkset_uart,
537 .reg_src = { .reg = S5P64X0_CLK_SRC0, .shift = 13, .size = 1 },
538 .reg_div = { .reg = S5P64X0_CLK_DIV2, .shift = 16, .size = 4 },
539};
540
541static struct clksrc_clk *clksrc_cdev[] = {
542 &clk_sclk_uclk,
543};
544
545static struct clk_lookup s5p6450_clk_lookup[] = {
546 CLKDEV_INIT(NULL, "clk_uart_baud2", &clk_pclk_low.clk),
547 CLKDEV_INIT(NULL, "clk_uart_baud3", &clk_sclk_uclk.clk),
548};
549
539/* Clock initialization code */ 550/* Clock initialization code */
540static struct clksrc_clk *sysclks[] = { 551static struct clksrc_clk *sysclks[] = {
541 &clk_mout_apll, 552 &clk_mout_apll,
@@ -634,9 +645,12 @@ void __init s5p6450_register_clocks(void)
634 645
635 s3c_register_clksrc(clksrcs, ARRAY_SIZE(clksrcs)); 646 s3c_register_clksrc(clksrcs, ARRAY_SIZE(clksrcs));
636 s3c_register_clocks(init_clocks, ARRAY_SIZE(init_clocks)); 647 s3c_register_clocks(init_clocks, ARRAY_SIZE(init_clocks));
648 for (ptr = 0; ptr < ARRAY_SIZE(clksrc_cdev); ptr++)
649 s3c_register_clksrc(clksrc_cdev[ptr], 1);
637 650
638 s3c_register_clocks(init_clocks_off, ARRAY_SIZE(init_clocks_off)); 651 s3c_register_clocks(init_clocks_off, ARRAY_SIZE(init_clocks_off));
639 s3c_disable_clocks(init_clocks_off, ARRAY_SIZE(init_clocks_off)); 652 s3c_disable_clocks(init_clocks_off, ARRAY_SIZE(init_clocks_off));
653 clkdev_add_table(s5p6450_clk_lookup, ARRAY_SIZE(s5p6450_clk_lookup));
640 654
641 s3c24xx_register_clock(&dummy_apb_pclk); 655 s3c24xx_register_clock(&dummy_apb_pclk);
642 656