diff options
Diffstat (limited to 'arch/arm/mach-at91/at91sam9260.c')
| -rw-r--r-- | arch/arm/mach-at91/at91sam9260.c | 26 | 
1 files changed, 18 insertions, 8 deletions
diff --git a/arch/arm/mach-at91/at91sam9260.c b/arch/arm/mach-at91/at91sam9260.c index 5e46e4a9643..d1e5750a6a0 100644 --- a/arch/arm/mach-at91/at91sam9260.c +++ b/arch/arm/mach-at91/at91sam9260.c @@ -12,6 +12,7 @@  #include <linux/module.h> +#include <asm/proc-fns.h>  #include <asm/irq.h>  #include <asm/mach/arch.h>  #include <asm/mach/map.h> @@ -208,6 +209,14 @@ static struct clk_lookup periph_clocks_lookups[] = {  	CLKDEV_CON_DEV_ID("usart", "fffd0000.serial", &usart3_clk),  	CLKDEV_CON_DEV_ID("usart", "fffd4000.serial", &usart4_clk),  	CLKDEV_CON_DEV_ID("usart", "fffd8000.serial", &usart5_clk), +	/* more tc lookup table for DT entries */ +	CLKDEV_CON_DEV_ID("t0_clk", "fffa0000.timer", &tc0_clk), +	CLKDEV_CON_DEV_ID("t1_clk", "fffa0000.timer", &tc1_clk), +	CLKDEV_CON_DEV_ID("t2_clk", "fffa0000.timer", &tc2_clk), +	CLKDEV_CON_DEV_ID("t0_clk", "fffdc000.timer", &tc3_clk), +	CLKDEV_CON_DEV_ID("t1_clk", "fffdc000.timer", &tc4_clk), +	CLKDEV_CON_DEV_ID("t2_clk", "fffdc000.timer", &tc5_clk), +	CLKDEV_CON_DEV_ID("hclk", "500000.ohci", &ohci_clk),  	/* fake hclk clock */  	CLKDEV_CON_DEV_ID("hclk", "at91_ohci", &ohci_clk),  	CLKDEV_CON_ID("pioA", &pioA_clk), @@ -309,26 +318,27 @@ static void __init at91sam9xe_map_io(void)  static void __init at91sam9260_map_io(void)  { -	if (cpu_is_at91sam9xe()) { +	if (cpu_is_at91sam9xe())  		at91sam9xe_map_io(); -	} else if (cpu_is_at91sam9g20()) { -		at91_init_sram(0, AT91SAM9G20_SRAM0_BASE, AT91SAM9G20_SRAM0_SIZE); -		at91_init_sram(1, AT91SAM9G20_SRAM1_BASE, AT91SAM9G20_SRAM1_SIZE); -	} else { -		at91_init_sram(0, AT91SAM9260_SRAM0_BASE, AT91SAM9260_SRAM0_SIZE); -		at91_init_sram(1, AT91SAM9260_SRAM1_BASE, AT91SAM9260_SRAM1_SIZE); -	} +	else if (cpu_is_at91sam9g20()) +		at91_init_sram(0, AT91SAM9G20_SRAM_BASE, AT91SAM9G20_SRAM_SIZE); +	else +		at91_init_sram(0, AT91SAM9260_SRAM_BASE, AT91SAM9260_SRAM_SIZE);  }  static void __init at91sam9260_ioremap_registers(void)  {  	at91_ioremap_shdwc(AT91SAM9260_BASE_SHDWC); +	at91_ioremap_rstc(AT91SAM9260_BASE_RSTC); +	at91_ioremap_ramc(0, AT91SAM9260_BASE_SDRAMC, 512);  	at91sam926x_ioremap_pit(AT91SAM9260_BASE_PIT);  	at91sam9_ioremap_smc(0, AT91SAM9260_BASE_SMC); +	at91_ioremap_matrix(AT91SAM9260_BASE_MATRIX);  }  static void __init at91sam9260_initialize(void)  { +	arm_pm_idle = at91sam9_idle;  	arm_pm_restart = at91sam9_alt_restart;  	at91_extern_irq = (1 << AT91SAM9260_ID_IRQ0) | (1 << AT91SAM9260_ID_IRQ1)  			| (1 << AT91SAM9260_ID_IRQ2);  |