diff options
Diffstat (limited to 'arch/arm/mach-versatile/core.c')
| -rw-r--r-- | arch/arm/mach-versatile/core.c | 44 | 
1 files changed, 14 insertions, 30 deletions
diff --git a/arch/arm/mach-versatile/core.c b/arch/arm/mach-versatile/core.c index eb7ffa0ee8b5..0c99cf076c63 100644 --- a/arch/arm/mach-versatile/core.c +++ b/arch/arm/mach-versatile/core.c @@ -32,6 +32,7 @@  #include <linux/io.h>  #include <linux/gfp.h>  #include <linux/clkdev.h> +#include <linux/mtd/physmap.h>  #include <asm/system.h>  #include <asm/irq.h> @@ -42,7 +43,6 @@  #include <asm/mach-types.h>  #include <asm/mach/arch.h> -#include <asm/mach/flash.h>  #include <asm/mach/irq.h>  #include <asm/mach/time.h>  #include <asm/mach/map.h> @@ -190,27 +190,7 @@ void __init versatile_map_io(void)  #define VERSATILE_FLASHCTRL    (__io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_FLASH_OFFSET) -static int versatile_flash_init(void) -{ -	u32 val; - -	val = __raw_readl(VERSATILE_FLASHCTRL); -	val &= ~VERSATILE_FLASHPROG_FLVPPEN; -	__raw_writel(val, VERSATILE_FLASHCTRL); - -	return 0; -} - -static void versatile_flash_exit(void) -{ -	u32 val; - -	val = __raw_readl(VERSATILE_FLASHCTRL); -	val &= ~VERSATILE_FLASHPROG_FLVPPEN; -	__raw_writel(val, VERSATILE_FLASHCTRL); -} - -static void versatile_flash_set_vpp(int on) +static void versatile_flash_set_vpp(struct platform_device *pdev, int on)  {  	u32 val; @@ -222,11 +202,8 @@ static void versatile_flash_set_vpp(int on)  	__raw_writel(val, VERSATILE_FLASHCTRL);  } -static struct flash_platform_data versatile_flash_data = { -	.map_name		= "cfi_probe", +static struct physmap_flash_data versatile_flash_data = {  	.width			= 4, -	.init			= versatile_flash_init, -	.exit			= versatile_flash_exit,  	.set_vpp		= versatile_flash_set_vpp,  }; @@ -237,7 +214,7 @@ static struct resource versatile_flash_resource = {  };  static struct platform_device versatile_flash_device = { -	.name			= "armflash", +	.name			= "physmap-flash",  	.id			= 0,  	.dev			= {  		.platform_data	= &versatile_flash_data, @@ -375,6 +352,10 @@ static struct clk ref24_clk = {  	.rate	= 24000000,  }; +static struct clk sp804_clk = { +	.rate	= 1000000, +}; +  static struct clk dummy_apb_pclk;  static struct clk_lookup lookups[] = { @@ -411,7 +392,10 @@ static struct clk_lookup lookups[] = {  	}, {	/* CLCD */  		.dev_id		= "dev:20",  		.clk		= &osc4_clk, -	} +	}, {	/* SP804 timers */ +		.dev_id		= "sp804", +		.clk		= &sp804_clk, +	},  };  /* @@ -764,8 +748,8 @@ static void __init versatile_timer_init(void)  	writel(0, TIMER2_VA_BASE + TIMER_CTRL);  	writel(0, TIMER3_VA_BASE + TIMER_CTRL); -	sp804_clocksource_init(TIMER3_VA_BASE); -	sp804_clockevents_init(TIMER0_VA_BASE, IRQ_TIMERINT0_1); +	sp804_clocksource_init(TIMER3_VA_BASE, "timer3"); +	sp804_clockevents_init(TIMER0_VA_BASE, IRQ_TIMERINT0_1, "timer0");  }  struct sys_timer versatile_timer = {  |