diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-05-19 11:49:33 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-05-19 11:49:33 -0700 |
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 = { .enable = clk_48m_ctrl, }; +struct clk clk_xusbxti = { + .name = "xusbxti", + .id = -1, + .rate = 48000000, +}; + static int inline s3c64xx_gate(void __iomem *reg, struct clk *clk, int enable) @@ -518,6 +524,11 @@ static struct clk clk_iis_cd1 = { .id = -1, }; +static struct clk clk_iisv4_cd = { + .name = "iis_cdclk_v4", + .id = -1, +}; + static struct clk clk_pcm_cd = { .name = "pcm_cdclk", .id = -1, @@ -549,6 +560,19 @@ static struct clksrc_sources clkset_audio1 = { .nr_sources = ARRAY_SIZE(clkset_audio1_list), }; +static struct clk *clkset_audio2_list[] = { + [0] = &clk_mout_epll.clk, + [1] = &clk_dout_mpll, + [2] = &clk_fin_epll, + [3] = &clk_iisv4_cd, + [4] = &clk_pcm_cd, +}; + +static struct clksrc_sources clkset_audio2 = { + .sources = clkset_audio2_list, + .nr_sources = ARRAY_SIZE(clkset_audio2_list), +}; + static struct clk *clkset_camif_list[] = { &clk_h2, }; @@ -652,6 +676,16 @@ static struct clksrc_clk clksrcs[] = { .sources = &clkset_audio1, }, { .clk = { + .name = "audio-bus", + .id = -1, /* There's only one IISv4 port */ + .ctrlbit = S3C6410_CLKCON_SCLK_AUDIO2, + .enable = s3c64xx_sclk_ctrl, + }, + .reg_src = { .reg = S3C6410_CLK_SRC2, .shift = 0, .size = 3 }, + .reg_div = { .reg = S3C_CLK_DIV2, .shift = 24, .size = 4 }, + .sources = &clkset_audio2, + }, { + .clk = { .name = "irda-bus", .id = 0, .ctrlbit = S3C_CLKCON_SCLK_IRDA, @@ -749,6 +783,7 @@ static struct clk *clks1[] __initdata = { &clk_ext_xtal_mux, &clk_iis_cd0, &clk_iis_cd1, + &clk_iisv4_cd, &clk_pcm_cd, &clk_mout_epll.clk, &clk_mout_mpll.clk, @@ -762,6 +797,7 @@ static struct clk *clks[] __initdata = { &clk_27m, &clk_48m, &clk_h2, + &clk_xusbxti, }; /** |