diff options
Diffstat (limited to 'arch/arm/mach-s3c24xx/mach-osiris.c')
| -rw-r--r-- | arch/arm/mach-s3c24xx/mach-osiris.c | 37 | 
1 files changed, 10 insertions, 27 deletions
diff --git a/arch/arm/mach-s3c24xx/mach-osiris.c b/arch/arm/mach-s3c24xx/mach-osiris.c index 58d6fbe5bf1..189147b80ec 100644 --- a/arch/arm/mach-s3c24xx/mach-osiris.c +++ b/arch/arm/mach-s3c24xx/mach-osiris.c @@ -18,6 +18,7 @@  #include <linux/device.h>  #include <linux/syscore_ops.h>  #include <linux/serial_core.h> +#include <linux/serial_s3c.h>  #include <linux/clk.h>  #include <linux/i2c.h>  #include <linux/io.h> @@ -39,17 +40,16 @@  #include <linux/mtd/nand_ecc.h>  #include <linux/mtd/partitions.h> -#include <plat/clock.h>  #include <plat/cpu.h>  #include <plat/cpu-freq.h>  #include <plat/devs.h>  #include <plat/gpio-cfg.h> -#include <plat/regs-serial.h>  #include <plat/samsung-time.h>  #include <mach/hardware.h>  #include <mach/regs-gpio.h>  #include <mach/regs-lcd.h> +#include <mach/gpio-samsung.h>  #include "common.h"  #include "osiris.h" @@ -343,20 +343,13 @@ static struct i2c_board_info osiris_i2c_devs[] __initdata = {  /* Standard Osiris devices */  static struct platform_device *osiris_devices[] __initdata = { +	&s3c2410_device_dclk,  	&s3c_device_i2c0,  	&s3c_device_wdt,  	&s3c_device_nand,  	&osiris_pcmcia,  }; -static struct clk *osiris_clocks[] __initdata = { -	&s3c24xx_dclk0, -	&s3c24xx_dclk1, -	&s3c24xx_clkout0, -	&s3c24xx_clkout1, -	&s3c24xx_uclk, -}; -  static struct s3c_cpufreq_board __initdata osiris_cpufreq = {  	.refresh	= 7800, /* refresh period is 7.8usec */  	.auto_io	= 1, @@ -367,23 +360,7 @@ static void __init osiris_map_io(void)  {  	unsigned long flags; -	/* initialise the clocks */ - -	s3c24xx_dclk0.parent = &clk_upll; -	s3c24xx_dclk0.rate   = 12*1000*1000; - -	s3c24xx_dclk1.parent = &clk_upll; -	s3c24xx_dclk1.rate   = 24*1000*1000; - -	s3c24xx_clkout0.parent  = &s3c24xx_dclk0; -	s3c24xx_clkout1.parent  = &s3c24xx_dclk1; - -	s3c24xx_uclk.parent  = &s3c24xx_clkout1; - -	s3c24xx_register_clocks(osiris_clocks, ARRAY_SIZE(osiris_clocks)); -  	s3c24xx_init_io(osiris_iodesc, ARRAY_SIZE(osiris_iodesc)); -	s3c24xx_init_clocks(0);  	s3c24xx_init_uarts(osiris_uartcfgs, ARRAY_SIZE(osiris_uartcfgs));  	samsung_set_timer_source(SAMSUNG_PWM3, SAMSUNG_PWM4); @@ -407,6 +384,12 @@ static void __init osiris_map_io(void)  	local_irq_restore(flags);  } +static void __init osiris_init_time(void) +{ +	s3c2440_init_clocks(12000000); +	samsung_timer_init(); +} +  static void __init osiris_init(void)  {  	register_syscore_ops(&osiris_pm_syscore_ops); @@ -428,6 +411,6 @@ MACHINE_START(OSIRIS, "Simtec-OSIRIS")  	.map_io		= osiris_map_io,  	.init_irq	= s3c2440_init_irq,  	.init_machine	= osiris_init, -	.init_time	= samsung_timer_init, +	.init_time	= osiris_init_time,  	.restart	= s3c244x_restart,  MACHINE_END  | 
