diff options
Diffstat (limited to 'arch/arm')
| -rw-r--r-- | arch/arm/cpu/arm926ejs/at91/at91sam9260_devices.c | 21 | ||||
| -rw-r--r-- | arch/arm/include/asm/arch-at91/at91_common.h | 1 | ||||
| -rw-r--r-- | arch/arm/include/asm/arch-at91/clk.h | 5 | ||||
| -rw-r--r-- | arch/arm/include/asm/arch-at91/hardware.h | 1 | 
4 files changed, 28 insertions, 0 deletions
| diff --git a/arch/arm/cpu/arm926ejs/at91/at91sam9260_devices.c b/arch/arm/cpu/arm926ejs/at91/at91sam9260_devices.c index 77d49ab1c..2d8848152 100644 --- a/arch/arm/cpu/arm926ejs/at91/at91sam9260_devices.c +++ b/arch/arm/cpu/arm926ejs/at91/at91sam9260_devices.c @@ -194,3 +194,24 @@ void at91_macb_hw_init(void)  #endif  }  #endif + +#if defined(CONFIG_ATMEL_MCI) || defined(CONFIG_GENERIC_ATMEL_MCI) +void at91_mci_hw_init(void) +{ +	at91_set_a_periph(AT91_PIO_PORTA, 8, 1);	/* MCCK */ +#if defined(CONFIG_ATMEL_MCI_PORTB) +	at91_set_b_periph(AT91_PIO_PORTA, 1, 1);	/* MCCDB */ +	at91_set_b_periph(AT91_PIO_PORTA, 0, 1);	/* MCDB0 */ +	at91_set_b_periph(AT91_PIO_PORTA, 5, 1);	/* MCDB1 */ +	at91_set_b_periph(AT91_PIO_PORTA, 4, 1);	/* MCDB2 */ +	at91_set_b_periph(AT91_PIO_PORTA, 3, 1);	/* MCDB3 */ +#else +	at91_set_a_periph(AT91_PIO_PORTA, 7, 1);	/* MCCDA */ +	at91_set_a_periph(AT91_PIO_PORTA, 6, 1);	/* MCDA0 */ +	at91_set_a_periph(AT91_PIO_PORTA, 9, 1);	/* MCDA1 */ +	at91_set_a_periph(AT91_PIO_PORTA, 10, 1);	/* MCDA2 */ +	at91_set_a_periph(AT91_PIO_PORTA, 11, 1);	/* MCDA3 */ +#endif +} +#endif + diff --git a/arch/arm/include/asm/arch-at91/at91_common.h b/arch/arm/include/asm/arch-at91/at91_common.h index 01840eede..0067190a2 100644 --- a/arch/arm/include/asm/arch-at91/at91_common.h +++ b/arch/arm/include/asm/arch-at91/at91_common.h @@ -27,6 +27,7 @@  void at91_can_hw_init(void);  void at91_macb_hw_init(void); +void at91_mci_hw_init(void);  void at91_serial_hw_init(void);  void at91_serial0_hw_init(void);  void at91_serial1_hw_init(void); diff --git a/arch/arm/include/asm/arch-at91/clk.h b/arch/arm/include/asm/arch-at91/clk.h index f642dd995..457e6c9b2 100644 --- a/arch/arm/include/asm/arch-at91/clk.h +++ b/arch/arm/include/asm/arch-at91/clk.h @@ -59,5 +59,10 @@ static inline unsigned long get_twi_clk_rate(unsigned int dev_id)  	return get_mck_clk_rate();  } +static inline unsigned long get_mci_clk_rate(void) +{ +	return get_mck_clk_rate(); +} +  int at91_clock_init(unsigned long main_clock);  #endif /* __ASM_ARM_ARCH_CLK_H__ */ diff --git a/arch/arm/include/asm/arch-at91/hardware.h b/arch/arm/include/asm/arch-at91/hardware.h index 4ddb3155d..9f732a738 100644 --- a/arch/arm/include/asm/arch-at91/hardware.h +++ b/arch/arm/include/asm/arch-at91/hardware.h @@ -20,6 +20,7 @@  #include <asm/arch-at91/at91rm9200.h>  #elif defined(CONFIG_AT91SAM9260) || defined(CONFIG_AT91SAM9G20)  #include <asm/arch/at91sam9260.h> +#define AT91_BASE_MCI	AT91SAM9260_BASE_MCI  #define AT91_BASE_SPI	AT91SAM9260_BASE_SPI0  #define AT91_ID_UHP	AT91SAM9260_ID_UHP  #define AT91_PMC_UHP	AT91SAM926x_PMC_UHP |