diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-01-09 17:39:22 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-01-09 17:39:22 -0500 |
commit | 2ac9d7aaccbd598b5bd19ac40761b723bb675442 (patch) | |
tree | 09132a44e33798aaa5e80f10bf025b510015cab3 /arch/arm/mach-s5p64x0/clock-s5p6440.c | |
parent | 5ede3ceb7b2c2843e153a1803edbdc8c56655950 (diff) | |
parent | dcf7ec5ee62a78123057a1e286c88ca739717409 (diff) |
Merge tag 'drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Driver specific changes
Again, a lot of platforms have changes in here: pxa, samsung, omap,
at91, imx, ...
* tag 'drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (54 commits)
ARM: sa1100: clean up of the clock support
ARM: pxa: add dummy clock for sa1100-rtc
RTC: sa1100: support sa1100, pxa and mmp soc families
RTC: sa1100: remove redundant code of setting alarm
RTC: sa1100: Clean out ost register
Input: zylonite-wm97xx - replace IRQ_GPIO() with gpio_to_irq()
pcmcia: pxa: replace IRQ_GPIO() with gpio_to_irq()
ARM: EXYNOS: Modified files for SPI consolidation work
ARM: S5P64X0: Enable SDHCI support
ARM: S5P64X0: Add lookup of sdhci-s3c clocks using generic names
ARM: S5P64X0: Add HSMMC setup for host Controller
ARM: EXYNOS: Add USB OHCI support to ORIGEN board
USB: Add Samsung Exynos OHCI diver
ARM: EXYNOS: Add USB OHCI support to SMDKV310 board
ARM: EXYNOS: Add USB OHCI device
net: macb: fix build break with !CONFIG_OF
i2c: tegra: Support DVC controller in device tree
i2c: tegra: Add __devinit/exit to probe/remove
net/at91_ether: use gpio_is_valid for phy IRQ line
ARM: at91/net: add macb ethernet controller in 9g45/9g20 DT
...
Diffstat (limited to 'arch/arm/mach-s5p64x0/clock-s5p6440.c')
-rw-r--r-- | arch/arm/mach-s5p64x0/clock-s5p6440.c | 72 |
1 files changed, 42 insertions, 30 deletions
diff --git a/arch/arm/mach-s5p64x0/clock-s5p6440.c b/arch/arm/mach-s5p64x0/clock-s5p6440.c index 925d2daa60c7..ee1e8e7f5631 100644 --- a/arch/arm/mach-s5p64x0/clock-s5p6440.c +++ b/arch/arm/mach-s5p64x0/clock-s5p6440.c | |||
@@ -380,36 +380,6 @@ static struct clksrc_sources clkset_audio = { | |||
380 | static struct clksrc_clk clksrcs[] = { | 380 | static struct clksrc_clk clksrcs[] = { |
381 | { | 381 | { |
382 | .clk = { | 382 | .clk = { |
383 | .name = "sclk_mmc", | ||
384 | .devname = "s3c-sdhci.0", | ||
385 | .ctrlbit = (1 << 24), | ||
386 | .enable = s5p64x0_sclk_ctrl, | ||
387 | }, | ||
388 | .sources = &clkset_group1, | ||
389 | .reg_src = { .reg = S5P64X0_CLK_SRC0, .shift = 18, .size = 2 }, | ||
390 | .reg_div = { .reg = S5P64X0_CLK_DIV1, .shift = 0, .size = 4 }, | ||
391 | }, { | ||
392 | .clk = { | ||
393 | .name = "sclk_mmc", | ||
394 | .devname = "s3c-sdhci.1", | ||
395 | .ctrlbit = (1 << 25), | ||
396 | .enable = s5p64x0_sclk_ctrl, | ||
397 | }, | ||
398 | .sources = &clkset_group1, | ||
399 | .reg_src = { .reg = S5P64X0_CLK_SRC0, .shift = 20, .size = 2 }, | ||
400 | .reg_div = { .reg = S5P64X0_CLK_DIV1, .shift = 4, .size = 4 }, | ||
401 | }, { | ||
402 | .clk = { | ||
403 | .name = "sclk_mmc", | ||
404 | .devname = "s3c-sdhci.2", | ||
405 | .ctrlbit = (1 << 26), | ||
406 | .enable = s5p64x0_sclk_ctrl, | ||
407 | }, | ||
408 | .sources = &clkset_group1, | ||
409 | .reg_src = { .reg = S5P64X0_CLK_SRC0, .shift = 22, .size = 2 }, | ||
410 | .reg_div = { .reg = S5P64X0_CLK_DIV1, .shift = 8, .size = 4 }, | ||
411 | }, { | ||
412 | .clk = { | ||
413 | .name = "sclk_post", | 383 | .name = "sclk_post", |
414 | .ctrlbit = (1 << 10), | 384 | .ctrlbit = (1 << 10), |
415 | .enable = s5p64x0_sclk_ctrl, | 385 | .enable = s5p64x0_sclk_ctrl, |
@@ -447,6 +417,42 @@ static struct clksrc_clk clksrcs[] = { | |||
447 | }, | 417 | }, |
448 | }; | 418 | }; |
449 | 419 | ||
420 | static struct clksrc_clk clk_sclk_mmc0 = { | ||
421 | .clk = { | ||
422 | .name = "sclk_mmc", | ||
423 | .devname = "s3c-sdhci.0", | ||
424 | .ctrlbit = (1 << 24), | ||
425 | .enable = s5p64x0_sclk_ctrl, | ||
426 | }, | ||
427 | .sources = &clkset_group1, | ||
428 | .reg_src = { .reg = S5P64X0_CLK_SRC0, .shift = 18, .size = 2 }, | ||
429 | .reg_div = { .reg = S5P64X0_CLK_DIV1, .shift = 0, .size = 4 }, | ||
430 | }; | ||
431 | |||
432 | static struct clksrc_clk clk_sclk_mmc1 = { | ||
433 | .clk = { | ||
434 | .name = "sclk_mmc", | ||
435 | .devname = "s3c-sdhci.1", | ||
436 | .ctrlbit = (1 << 25), | ||
437 | .enable = s5p64x0_sclk_ctrl, | ||
438 | }, | ||
439 | .sources = &clkset_group1, | ||
440 | .reg_src = { .reg = S5P64X0_CLK_SRC0, .shift = 20, .size = 2 }, | ||
441 | .reg_div = { .reg = S5P64X0_CLK_DIV1, .shift = 4, .size = 4 }, | ||
442 | }; | ||
443 | |||
444 | static struct clksrc_clk clk_sclk_mmc2 = { | ||
445 | .clk = { | ||
446 | .name = "sclk_mmc", | ||
447 | .devname = "s3c-sdhci.2", | ||
448 | .ctrlbit = (1 << 26), | ||
449 | .enable = s5p64x0_sclk_ctrl, | ||
450 | }, | ||
451 | .sources = &clkset_group1, | ||
452 | .reg_src = { .reg = S5P64X0_CLK_SRC0, .shift = 22, .size = 2 }, | ||
453 | .reg_div = { .reg = S5P64X0_CLK_DIV1, .shift = 8, .size = 4 }, | ||
454 | }; | ||
455 | |||
450 | static struct clksrc_clk clk_sclk_uclk = { | 456 | static struct clksrc_clk clk_sclk_uclk = { |
451 | .clk = { | 457 | .clk = { |
452 | .name = "uclk1", | 458 | .name = "uclk1", |
@@ -504,6 +510,9 @@ static struct clksrc_clk *clksrc_cdev[] = { | |||
504 | &clk_sclk_uclk, | 510 | &clk_sclk_uclk, |
505 | &clk_sclk_spi0, | 511 | &clk_sclk_spi0, |
506 | &clk_sclk_spi1, | 512 | &clk_sclk_spi1, |
513 | &clk_sclk_mmc0, | ||
514 | &clk_sclk_mmc1, | ||
515 | &clk_sclk_mmc2 | ||
507 | }; | 516 | }; |
508 | 517 | ||
509 | static struct clk_lookup s5p6440_clk_lookup[] = { | 518 | static struct clk_lookup s5p6440_clk_lookup[] = { |
@@ -512,6 +521,9 @@ static struct clk_lookup s5p6440_clk_lookup[] = { | |||
512 | CLKDEV_INIT(NULL, "spi_busclk0", &clk_p), | 521 | CLKDEV_INIT(NULL, "spi_busclk0", &clk_p), |
513 | CLKDEV_INIT("s3c64xx-spi.0", "spi_busclk1", &clk_sclk_spi0.clk), | 522 | CLKDEV_INIT("s3c64xx-spi.0", "spi_busclk1", &clk_sclk_spi0.clk), |
514 | CLKDEV_INIT("s3c64xx-spi.1", "spi_busclk1", &clk_sclk_spi1.clk), | 523 | CLKDEV_INIT("s3c64xx-spi.1", "spi_busclk1", &clk_sclk_spi1.clk), |
524 | CLKDEV_INIT("s3c-sdhci.0", "mmc_busclk.2", &clk_sclk_mmc0.clk), | ||
525 | CLKDEV_INIT("s3c-sdhci.1", "mmc_busclk.2", &clk_sclk_mmc1.clk), | ||
526 | CLKDEV_INIT("s3c-sdhci.2", "mmc_busclk.2", &clk_sclk_mmc2.clk), | ||
515 | }; | 527 | }; |
516 | 528 | ||
517 | void __init_or_cpufreq s5p6440_setup_clocks(void) | 529 | void __init_or_cpufreq s5p6440_setup_clocks(void) |