diff options
author | Arnd Bergmann <arnd@arndb.de> | 2011-10-20 18:26:05 +0200 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2011-10-20 18:26:05 +0200 |
commit | 11f0d9311c6e9ed928dc98ce6e9d14c0ee274b05 (patch) | |
tree | 2bdb21608485c63d9a8de0e5445fa9bfc537b8d9 /arch/arm/mach-s3c2416 | |
parent | Merge branch 'samsung/devel' of git+ssh://git.linaro.org/home/arndbergmann/pu... (diff) | |
parent | gpio/samsung: Complain loudly if we don't know the SoC (diff) | |
download | linux-11f0d9311c6e9ed928dc98ce6e9d14c0ee274b05.tar.xz linux-11f0d9311c6e9ed928dc98ce6e9d14c0ee274b05.zip |
Merge branch 'samsung/devel' into next/devel2
Diffstat (limited to 'arch/arm/mach-s3c2416')
-rw-r--r-- | arch/arm/mach-s3c2416/clock.c | 21 | ||||
-rw-r--r-- | arch/arm/mach-s3c2416/s3c2416.c | 3 |
2 files changed, 15 insertions, 9 deletions
diff --git a/arch/arm/mach-s3c2416/clock.c b/arch/arm/mach-s3c2416/clock.c index 72b7c6274c79..afbbe8bc21d1 100644 --- a/arch/arm/mach-s3c2416/clock.c +++ b/arch/arm/mach-s3c2416/clock.c @@ -28,6 +28,14 @@ #include <mach/regs-clock.h> #include <mach/regs-s3c2443-clock.h> +/* armdiv + * + * this clock is sourced from msysclk and can have a number of + * divider values applied to it to then be fed into armclk. + * The real clock definition is done in s3c2443-clock.c, + * only the armdiv divisor table must be defined here. +*/ + static unsigned int armdiv[8] = { [0] = 1, [1] = 2, @@ -125,16 +133,9 @@ static struct clk hsmmc0_clk = { .ctrlbit = S3C2416_HCLKCON_HSMMC0, }; -static inline unsigned int s3c2416_fclk_div(unsigned long clkcon0) -{ - clkcon0 &= 7 << S3C2443_CLKDIV0_ARMDIV_SHIFT; - - return armdiv[clkcon0 >> S3C2443_CLKDIV0_ARMDIV_SHIFT]; -} - void __init_or_cpufreq s3c2416_setup_clocks(void) { - s3c2443_common_setup_clocks(s3c2416_get_pll, s3c2416_fclk_div); + s3c2443_common_setup_clocks(s3c2416_get_pll); } @@ -158,7 +159,9 @@ void __init s3c2416_init_clocks(int xtal) clk_epll.parent = &clk_epllref.clk; - s3c2443_common_init_clocks(xtal, s3c2416_get_pll, s3c2416_fclk_div); + s3c2443_common_init_clocks(xtal, s3c2416_get_pll, + armdiv, ARRAY_SIZE(armdiv), + S3C2416_CLKDIV0_ARMDIV_MASK); for (ptr = 0; ptr < ARRAY_SIZE(clksrcs); ptr++) s3c_register_clksrc(clksrcs[ptr], 1); diff --git a/arch/arm/mach-s3c2416/s3c2416.c b/arch/arm/mach-s3c2416/s3c2416.c index 3156b7a71371..081ef4cb8688 100644 --- a/arch/arm/mach-s3c2416/s3c2416.c +++ b/arch/arm/mach-s3c2416/s3c2416.c @@ -60,6 +60,7 @@ #include <plat/iic-core.h> #include <plat/fb-core.h> #include <plat/nand-core.h> +#include <plat/adc-core.h> static struct map_desc s3c2416_iodesc[] __initdata = { IODESC_ENT(WATCHDOG), @@ -97,6 +98,8 @@ int __init s3c2416_init(void) s3c_fb_setname("s3c2443-fb"); + s3c_adc_setname("s3c2416-adc"); + register_syscore_ops(&s3c2416_pm_syscore_ops); register_syscore_ops(&s3c24xx_irq_syscore_ops); |