diff options
Diffstat (limited to 'arch/arm/mach-at91/at91rm9200.c')
| -rw-r--r-- | arch/arm/mach-at91/at91rm9200.c | 33 |
1 files changed, 27 insertions, 6 deletions
diff --git a/arch/arm/mach-at91/at91rm9200.c b/arch/arm/mach-at91/at91rm9200.c index 5269825194a8..7aeb473ee539 100644 --- a/arch/arm/mach-at91/at91rm9200.c +++ b/arch/arm/mach-at91/at91rm9200.c | |||
| @@ -17,11 +17,11 @@ | |||
| 17 | #include <asm/mach/map.h> | 17 | #include <asm/mach/map.h> |
| 18 | #include <asm/system_misc.h> | 18 | #include <asm/system_misc.h> |
| 19 | #include <mach/at91rm9200.h> | 19 | #include <mach/at91rm9200.h> |
| 20 | #include <mach/at91_aic.h> | ||
| 21 | #include <mach/at91_pmc.h> | 20 | #include <mach/at91_pmc.h> |
| 22 | #include <mach/at91_st.h> | 21 | #include <mach/at91_st.h> |
| 23 | #include <mach/cpu.h> | 22 | #include <mach/cpu.h> |
| 24 | 23 | ||
| 24 | #include "at91_aic.h" | ||
| 25 | #include "soc.h" | 25 | #include "soc.h" |
| 26 | #include "generic.h" | 26 | #include "generic.h" |
| 27 | #include "clock.h" | 27 | #include "clock.h" |
| @@ -184,9 +184,12 @@ static struct clk_lookup periph_clocks_lookups[] = { | |||
| 184 | CLKDEV_CON_DEV_ID("t0_clk", "atmel_tcb.1", &tc3_clk), | 184 | CLKDEV_CON_DEV_ID("t0_clk", "atmel_tcb.1", &tc3_clk), |
| 185 | CLKDEV_CON_DEV_ID("t1_clk", "atmel_tcb.1", &tc4_clk), | 185 | CLKDEV_CON_DEV_ID("t1_clk", "atmel_tcb.1", &tc4_clk), |
| 186 | CLKDEV_CON_DEV_ID("t2_clk", "atmel_tcb.1", &tc5_clk), | 186 | CLKDEV_CON_DEV_ID("t2_clk", "atmel_tcb.1", &tc5_clk), |
| 187 | CLKDEV_CON_DEV_ID("pclk", "ssc.0", &ssc0_clk), | 187 | CLKDEV_CON_DEV_ID("pclk", "at91rm9200_ssc.0", &ssc0_clk), |
| 188 | CLKDEV_CON_DEV_ID("pclk", "ssc.1", &ssc1_clk), | 188 | CLKDEV_CON_DEV_ID("pclk", "at91rm9200_ssc.1", &ssc1_clk), |
| 189 | CLKDEV_CON_DEV_ID("pclk", "ssc.2", &ssc2_clk), | 189 | CLKDEV_CON_DEV_ID("pclk", "at91rm9200_ssc.2", &ssc2_clk), |
| 190 | CLKDEV_CON_DEV_ID("pclk", "fffd0000.ssc", &ssc0_clk), | ||
| 191 | CLKDEV_CON_DEV_ID("pclk", "fffd4000.ssc", &ssc1_clk), | ||
| 192 | CLKDEV_CON_DEV_ID("pclk", "fffd8000.ssc", &ssc2_clk), | ||
| 190 | CLKDEV_CON_DEV_ID(NULL, "i2c-at91rm9200.0", &twi_clk), | 193 | CLKDEV_CON_DEV_ID(NULL, "i2c-at91rm9200.0", &twi_clk), |
| 191 | /* fake hclk clock */ | 194 | /* fake hclk clock */ |
| 192 | CLKDEV_CON_DEV_ID("hclk", "at91_ohci", &ohci_clk), | 195 | CLKDEV_CON_DEV_ID("hclk", "at91_ohci", &ohci_clk), |
| @@ -194,6 +197,24 @@ static struct clk_lookup periph_clocks_lookups[] = { | |||
| 194 | CLKDEV_CON_ID("pioB", &pioB_clk), | 197 | CLKDEV_CON_ID("pioB", &pioB_clk), |
| 195 | CLKDEV_CON_ID("pioC", &pioC_clk), | 198 | CLKDEV_CON_ID("pioC", &pioC_clk), |
| 196 | CLKDEV_CON_ID("pioD", &pioD_clk), | 199 | CLKDEV_CON_ID("pioD", &pioD_clk), |
| 200 | /* usart lookup table for DT entries */ | ||
| 201 | CLKDEV_CON_DEV_ID("usart", "fffff200.serial", &mck), | ||
| 202 | CLKDEV_CON_DEV_ID("usart", "fffc0000.serial", &usart0_clk), | ||
| 203 | CLKDEV_CON_DEV_ID("usart", "fffc4000.serial", &usart1_clk), | ||
| 204 | CLKDEV_CON_DEV_ID("usart", "fffc8000.serial", &usart2_clk), | ||
| 205 | CLKDEV_CON_DEV_ID("usart", "fffcc000.serial", &usart3_clk), | ||
| 206 | /* tc lookup table for DT entries */ | ||
| 207 | CLKDEV_CON_DEV_ID("t0_clk", "fffa0000.timer", &tc0_clk), | ||
| 208 | CLKDEV_CON_DEV_ID("t1_clk", "fffa0000.timer", &tc1_clk), | ||
| 209 | CLKDEV_CON_DEV_ID("t2_clk", "fffa0000.timer", &tc2_clk), | ||
| 210 | CLKDEV_CON_DEV_ID("t0_clk", "fffa4000.timer", &tc3_clk), | ||
| 211 | CLKDEV_CON_DEV_ID("t1_clk", "fffa4000.timer", &tc4_clk), | ||
| 212 | CLKDEV_CON_DEV_ID("t2_clk", "fffa4000.timer", &tc5_clk), | ||
| 213 | CLKDEV_CON_DEV_ID("hclk", "300000.ohci", &ohci_clk), | ||
| 214 | CLKDEV_CON_DEV_ID(NULL, "fffff400.gpio", &pioA_clk), | ||
| 215 | CLKDEV_CON_DEV_ID(NULL, "fffff600.gpio", &pioB_clk), | ||
| 216 | CLKDEV_CON_DEV_ID(NULL, "fffff800.gpio", &pioC_clk), | ||
| 217 | CLKDEV_CON_DEV_ID(NULL, "fffffa00.gpio", &pioD_clk), | ||
| 197 | }; | 218 | }; |
| 198 | 219 | ||
| 199 | static struct clk_lookup usart_clocks_lookups[] = { | 220 | static struct clk_lookup usart_clocks_lookups[] = { |
| @@ -361,10 +382,10 @@ static unsigned int at91rm9200_default_irq_priority[NR_AIC_IRQS] __initdata = { | |||
| 361 | 0 /* Advanced Interrupt Controller (IRQ6) */ | 382 | 0 /* Advanced Interrupt Controller (IRQ6) */ |
| 362 | }; | 383 | }; |
| 363 | 384 | ||
| 364 | struct at91_init_soc __initdata at91rm9200_soc = { | 385 | AT91_SOC_START(rm9200) |
| 365 | .map_io = at91rm9200_map_io, | 386 | .map_io = at91rm9200_map_io, |
| 366 | .default_irq_priority = at91rm9200_default_irq_priority, | 387 | .default_irq_priority = at91rm9200_default_irq_priority, |
| 367 | .ioremap_registers = at91rm9200_ioremap_registers, | 388 | .ioremap_registers = at91rm9200_ioremap_registers, |
| 368 | .register_clocks = at91rm9200_register_clocks, | 389 | .register_clocks = at91rm9200_register_clocks, |
| 369 | .init = at91rm9200_initialize, | 390 | .init = at91rm9200_initialize, |
| 370 | }; | 391 | AT91_SOC_END |
