diff options
Diffstat (limited to 'arch/arm/mach-s5p64x0/clock-s5p6440.c')
-rw-r--r-- | arch/arm/mach-s5p64x0/clock-s5p6440.c | 61 |
1 files changed, 29 insertions, 32 deletions
diff --git a/arch/arm/mach-s5p64x0/clock-s5p6440.c b/arch/arm/mach-s5p64x0/clock-s5p6440.c index 4c797ab3b3fd..925d2daa60c7 100644 --- a/arch/arm/mach-s5p64x0/clock-s5p6440.c +++ b/arch/arm/mach-s5p64x0/clock-s5p6440.c | |||
@@ -269,18 +269,6 @@ static struct clk init_clocks_off[] = { | |||
269 | .enable = s5p64x0_pclk_ctrl, | 269 | .enable = s5p64x0_pclk_ctrl, |
270 | .ctrlbit = (1 << 31), | 270 | .ctrlbit = (1 << 31), |
271 | }, { | 271 | }, { |
272 | .name = "sclk_spi_48", | ||
273 | .devname = "s3c64xx-spi.0", | ||
274 | .parent = &clk_48m, | ||
275 | .enable = s5p64x0_sclk_ctrl, | ||
276 | .ctrlbit = (1 << 22), | ||
277 | }, { | ||
278 | .name = "sclk_spi_48", | ||
279 | .devname = "s3c64xx-spi.1", | ||
280 | .parent = &clk_48m, | ||
281 | .enable = s5p64x0_sclk_ctrl, | ||
282 | .ctrlbit = (1 << 23), | ||
283 | }, { | ||
284 | .name = "mmc_48m", | 272 | .name = "mmc_48m", |
285 | .devname = "s3c-sdhci.0", | 273 | .devname = "s3c-sdhci.0", |
286 | .parent = &clk_48m, | 274 | .parent = &clk_48m, |
@@ -422,26 +410,6 @@ static struct clksrc_clk clksrcs[] = { | |||
422 | .reg_div = { .reg = S5P64X0_CLK_DIV1, .shift = 8, .size = 4 }, | 410 | .reg_div = { .reg = S5P64X0_CLK_DIV1, .shift = 8, .size = 4 }, |
423 | }, { | 411 | }, { |
424 | .clk = { | 412 | .clk = { |
425 | .name = "sclk_spi", | ||
426 | .devname = "s3c64xx-spi.0", | ||
427 | .ctrlbit = (1 << 20), | ||
428 | .enable = s5p64x0_sclk_ctrl, | ||
429 | }, | ||
430 | .sources = &clkset_group1, | ||
431 | .reg_src = { .reg = S5P64X0_CLK_SRC0, .shift = 14, .size = 2 }, | ||
432 | .reg_div = { .reg = S5P64X0_CLK_DIV2, .shift = 0, .size = 4 }, | ||
433 | }, { | ||
434 | .clk = { | ||
435 | .name = "sclk_spi", | ||
436 | .devname = "s3c64xx-spi.1", | ||
437 | .ctrlbit = (1 << 21), | ||
438 | .enable = s5p64x0_sclk_ctrl, | ||
439 | }, | ||
440 | .sources = &clkset_group1, | ||
441 | .reg_src = { .reg = S5P64X0_CLK_SRC0, .shift = 16, .size = 2 }, | ||
442 | .reg_div = { .reg = S5P64X0_CLK_DIV2, .shift = 4, .size = 4 }, | ||
443 | }, { | ||
444 | .clk = { | ||
445 | .name = "sclk_post", | 413 | .name = "sclk_post", |
446 | .ctrlbit = (1 << 10), | 414 | .ctrlbit = (1 << 10), |
447 | .enable = s5p64x0_sclk_ctrl, | 415 | .enable = s5p64x0_sclk_ctrl, |
@@ -490,6 +458,30 @@ static struct clksrc_clk clk_sclk_uclk = { | |||
490 | .reg_div = { .reg = S5P64X0_CLK_DIV2, .shift = 16, .size = 4 }, | 458 | .reg_div = { .reg = S5P64X0_CLK_DIV2, .shift = 16, .size = 4 }, |
491 | }; | 459 | }; |
492 | 460 | ||
461 | static struct clksrc_clk clk_sclk_spi0 = { | ||
462 | .clk = { | ||
463 | .name = "sclk_spi", | ||
464 | .devname = "s3c64xx-spi.0", | ||
465 | .ctrlbit = (1 << 20), | ||
466 | .enable = s5p64x0_sclk_ctrl, | ||
467 | }, | ||
468 | .sources = &clkset_group1, | ||
469 | .reg_src = { .reg = S5P64X0_CLK_SRC0, .shift = 14, .size = 2 }, | ||
470 | .reg_div = { .reg = S5P64X0_CLK_DIV2, .shift = 0, .size = 4 }, | ||
471 | }; | ||
472 | |||
473 | static struct clksrc_clk clk_sclk_spi1 = { | ||
474 | .clk = { | ||
475 | .name = "sclk_spi", | ||
476 | .devname = "s3c64xx-spi.1", | ||
477 | .ctrlbit = (1 << 21), | ||
478 | .enable = s5p64x0_sclk_ctrl, | ||
479 | }, | ||
480 | .sources = &clkset_group1, | ||
481 | .reg_src = { .reg = S5P64X0_CLK_SRC0, .shift = 16, .size = 2 }, | ||
482 | .reg_div = { .reg = S5P64X0_CLK_DIV2, .shift = 4, .size = 4 }, | ||
483 | }; | ||
484 | |||
493 | /* Clock initialization code */ | 485 | /* Clock initialization code */ |
494 | static struct clksrc_clk *sysclks[] = { | 486 | static struct clksrc_clk *sysclks[] = { |
495 | &clk_mout_apll, | 487 | &clk_mout_apll, |
@@ -510,11 +502,16 @@ static struct clk dummy_apb_pclk = { | |||
510 | 502 | ||
511 | static struct clksrc_clk *clksrc_cdev[] = { | 503 | static struct clksrc_clk *clksrc_cdev[] = { |
512 | &clk_sclk_uclk, | 504 | &clk_sclk_uclk, |
505 | &clk_sclk_spi0, | ||
506 | &clk_sclk_spi1, | ||
513 | }; | 507 | }; |
514 | 508 | ||
515 | static struct clk_lookup s5p6440_clk_lookup[] = { | 509 | static struct clk_lookup s5p6440_clk_lookup[] = { |
516 | CLKDEV_INIT(NULL, "clk_uart_baud2", &clk_pclk_low.clk), | 510 | CLKDEV_INIT(NULL, "clk_uart_baud2", &clk_pclk_low.clk), |
517 | CLKDEV_INIT(NULL, "clk_uart_baud3", &clk_sclk_uclk.clk), | 511 | CLKDEV_INIT(NULL, "clk_uart_baud3", &clk_sclk_uclk.clk), |
512 | CLKDEV_INIT(NULL, "spi_busclk0", &clk_p), | ||
513 | CLKDEV_INIT("s3c64xx-spi.0", "spi_busclk1", &clk_sclk_spi0.clk), | ||
514 | CLKDEV_INIT("s3c64xx-spi.1", "spi_busclk1", &clk_sclk_spi1.clk), | ||
518 | }; | 515 | }; |
519 | 516 | ||
520 | void __init_or_cpufreq s5p6440_setup_clocks(void) | 517 | void __init_or_cpufreq s5p6440_setup_clocks(void) |