diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-05-19 14:49:33 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-05-19 14:49:33 -0400 |
commit | 349e1fba7e63b1067b5915337986060c13d9edd0 (patch) | |
tree | 7450f8355fb7f050066aab3fb94c1073e2080f7a /arch/arm/mach-s3c64xx/clock.c | |
parent | fa9dc265ace9774e62f0e31108e5f47911124bda (diff) | |
parent | 504d36e91ac12ccdb0e1193cee7bef9831a1c99e (diff) |
Merge branch 'for-linus/samsung4' of git://git.fluff.org/bjdooks/linux
* 'for-linus/samsung4' of git://git.fluff.org/bjdooks/linux: (98 commits)
Input: s3c24xx_ts - depend on SAMSUNG_DEV_TS and update menu entry
Input: s3c24xx_ts - Add FEAT for Samsung touchscreen support
Input: s3c24xx_ts - Implement generic GPIO configuration callback
ARM: SAMSUNG: Move s3c64xx dev-ts.c to plat-samsung and rename configuration
ARM: SAMSUNG: Implements cfg_gpio function for Samsung touchscreen
ARM: S3C64XX: Add touchscreen platform device definition
ARM: SAMSUNG: Move mach/ts.h to plat/ts.h
ARM: S5PC100: Move i2c helpers from plat-s5pc1xx to mach-s5pc100
ARM: S5PC100: Move frame buffer helpers from plat-s5pc1xx to mach-s5pc100
ARM: S5PC100: gpio.h cleanup
ARM: S5PC100: Move gpio support from plat-s5pc1xx to mach-s5pc100
ARM: S5PC100: Use common functions for gpiolib implementation
drivers: serial: S5PC100 serial driver cleanup
ARM: S5PC100: Pre-requisite clock patch for plat-s5pc1xx to plat-s5p move
ARM: SAMSUNG: Copy common I2C0 device helpers to machine directories
ARM: SAMSUNG: move driver strength gpio configuration helper to common dir
ARM: S5PV210: Add GPIOlib support
ARM: SAMSUNGy: fix broken timer irq base
ARM: SMDK6440: Add audio devices on board
ARM: S5P6440: Add audio platform devices
...
Diffstat (limited to 'arch/arm/mach-s3c64xx/clock.c')
-rw-r--r-- | arch/arm/mach-s3c64xx/clock.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/arch/arm/mach-s3c64xx/clock.c b/arch/arm/mach-s3c64xx/clock.c index 2ac2e7d73e53..7a4138beb665 100644 --- a/arch/arm/mach-s3c64xx/clock.c +++ b/arch/arm/mach-s3c64xx/clock.c | |||
@@ -88,6 +88,12 @@ struct clk clk_48m = { | |||
88 | .enable = clk_48m_ctrl, | 88 | .enable = clk_48m_ctrl, |
89 | }; | 89 | }; |
90 | 90 | ||
91 | struct clk clk_xusbxti = { | ||
92 | .name = "xusbxti", | ||
93 | .id = -1, | ||
94 | .rate = 48000000, | ||
95 | }; | ||
96 | |||
91 | static int inline s3c64xx_gate(void __iomem *reg, | 97 | static int inline s3c64xx_gate(void __iomem *reg, |
92 | struct clk *clk, | 98 | struct clk *clk, |
93 | int enable) | 99 | int enable) |
@@ -518,6 +524,11 @@ static struct clk clk_iis_cd1 = { | |||
518 | .id = -1, | 524 | .id = -1, |
519 | }; | 525 | }; |
520 | 526 | ||
527 | static struct clk clk_iisv4_cd = { | ||
528 | .name = "iis_cdclk_v4", | ||
529 | .id = -1, | ||
530 | }; | ||
531 | |||
521 | static struct clk clk_pcm_cd = { | 532 | static struct clk clk_pcm_cd = { |
522 | .name = "pcm_cdclk", | 533 | .name = "pcm_cdclk", |
523 | .id = -1, | 534 | .id = -1, |
@@ -549,6 +560,19 @@ static struct clksrc_sources clkset_audio1 = { | |||
549 | .nr_sources = ARRAY_SIZE(clkset_audio1_list), | 560 | .nr_sources = ARRAY_SIZE(clkset_audio1_list), |
550 | }; | 561 | }; |
551 | 562 | ||
563 | static struct clk *clkset_audio2_list[] = { | ||
564 | [0] = &clk_mout_epll.clk, | ||
565 | [1] = &clk_dout_mpll, | ||
566 | [2] = &clk_fin_epll, | ||
567 | [3] = &clk_iisv4_cd, | ||
568 | [4] = &clk_pcm_cd, | ||
569 | }; | ||
570 | |||
571 | static struct clksrc_sources clkset_audio2 = { | ||
572 | .sources = clkset_audio2_list, | ||
573 | .nr_sources = ARRAY_SIZE(clkset_audio2_list), | ||
574 | }; | ||
575 | |||
552 | static struct clk *clkset_camif_list[] = { | 576 | static struct clk *clkset_camif_list[] = { |
553 | &clk_h2, | 577 | &clk_h2, |
554 | }; | 578 | }; |
@@ -652,6 +676,16 @@ static struct clksrc_clk clksrcs[] = { | |||
652 | .sources = &clkset_audio1, | 676 | .sources = &clkset_audio1, |
653 | }, { | 677 | }, { |
654 | .clk = { | 678 | .clk = { |
679 | .name = "audio-bus", | ||
680 | .id = -1, /* There's only one IISv4 port */ | ||
681 | .ctrlbit = S3C6410_CLKCON_SCLK_AUDIO2, | ||
682 | .enable = s3c64xx_sclk_ctrl, | ||
683 | }, | ||
684 | .reg_src = { .reg = S3C6410_CLK_SRC2, .shift = 0, .size = 3 }, | ||
685 | .reg_div = { .reg = S3C_CLK_DIV2, .shift = 24, .size = 4 }, | ||
686 | .sources = &clkset_audio2, | ||
687 | }, { | ||
688 | .clk = { | ||
655 | .name = "irda-bus", | 689 | .name = "irda-bus", |
656 | .id = 0, | 690 | .id = 0, |
657 | .ctrlbit = S3C_CLKCON_SCLK_IRDA, | 691 | .ctrlbit = S3C_CLKCON_SCLK_IRDA, |
@@ -749,6 +783,7 @@ static struct clk *clks1[] __initdata = { | |||
749 | &clk_ext_xtal_mux, | 783 | &clk_ext_xtal_mux, |
750 | &clk_iis_cd0, | 784 | &clk_iis_cd0, |
751 | &clk_iis_cd1, | 785 | &clk_iis_cd1, |
786 | &clk_iisv4_cd, | ||
752 | &clk_pcm_cd, | 787 | &clk_pcm_cd, |
753 | &clk_mout_epll.clk, | 788 | &clk_mout_epll.clk, |
754 | &clk_mout_mpll.clk, | 789 | &clk_mout_mpll.clk, |
@@ -762,6 +797,7 @@ static struct clk *clks[] __initdata = { | |||
762 | &clk_27m, | 797 | &clk_27m, |
763 | &clk_48m, | 798 | &clk_48m, |
764 | &clk_h2, | 799 | &clk_h2, |
800 | &clk_xusbxti, | ||
765 | }; | 801 | }; |
766 | 802 | ||
767 | /** | 803 | /** |