[U-Boot] [PATCH 2/2] ARM: at91sam9x5: enable MCI0 support for 9x5ek board.
Josh Wu
josh.wu at atmel.com
Wed Sep 12 12:21:33 CEST 2012
Hi, Voice
On 9/10/2012 4:07 PM, Bo Shen wrote:
> Hi Josh,
>
> On 9/7/2012 18:39, Josh Wu wrote:
>>
>> Signed-off-by: Josh Wu <josh.wu at atmel.com>
>> ---
>> arch/arm/cpu/arm926ejs/at91/at91sam9x5_devices.c | 13 +++++++++++++
>> board/atmel/at91sam9x5ek/at91sam9x5ek.c | 16
>> ++++++++++++++++
>> include/configs/at91sam9x5ek.h | 8 ++++++++
>> 3 files changed, 37 insertions(+)
>>
>
> I think add MCI1 support at the same time will be better. Otherwise,
>
> Acked-by: voice.shen at atmel.com
> Tested-by: voice.shen at atmel.com
>
Thanks for the testing. If this patch will be accepted. then I will add
MCI1 support in later patch.
Best Regards,
Josh Wu
>> diff --git a/arch/arm/cpu/arm926ejs/at91/at91sam9x5_devices.c
>> b/arch/arm/cpu/arm926ejs/at91/at91sam9x5_devices.c
>> index 6d77219..3608e7c 100644
>> --- a/arch/arm/cpu/arm926ejs/at91/at91sam9x5_devices.c
>> +++ b/arch/arm/cpu/arm926ejs/at91/at91sam9x5_devices.c
>> @@ -230,3 +230,16 @@ void at91_macb_hw_init(void)
>> #endif
>> }
>> #endif
>> +
>> +#if defined(CONFIG_GENERIC_ATMEL_MCI)
>> +void at91_mci_hw_init(void)
>> +{
>> + /* Initialize the MCI0 */
>> + at91_set_a_periph(AT91_PIO_PORTA, 17, 1); /* MCCK */
>> + at91_set_a_periph(AT91_PIO_PORTA, 16, 1); /* MCCDA */
>> + at91_set_a_periph(AT91_PIO_PORTA, 15, 1); /* MCDA0 */
>> + at91_set_a_periph(AT91_PIO_PORTA, 18, 1); /* MCDA1 */
>> + at91_set_a_periph(AT91_PIO_PORTA, 19, 1); /* MCDA2 */
>> + at91_set_a_periph(AT91_PIO_PORTA, 20, 1); /* MCDA3 */
>> +}
>> +#endif
>> diff --git a/board/atmel/at91sam9x5ek/at91sam9x5ek.c
>> b/board/atmel/at91sam9x5ek/at91sam9x5ek.c
>> index 06028aa..d1f05ef 100644
>> --- a/board/atmel/at91sam9x5ek/at91sam9x5ek.c
>> +++ b/board/atmel/at91sam9x5ek/at91sam9x5ek.c
>> @@ -42,6 +42,9 @@
>> #ifdef CONFIG_ATMEL_SPI
>> #include <spi.h>
>> #endif
>> +#ifdef CONFIG_GENERIC_ATMEL_MCI
>> +#include <mmc.h>
>> +#endif
>>
>> DECLARE_GLOBAL_DATA_PTR;
>>
>> @@ -258,6 +261,19 @@ void spi_cs_deactivate(struct spi_slave *slave)
>> }
>> #endif /* CONFIG_ATMEL_SPI */
>>
>> +#ifdef CONFIG_GENERIC_ATMEL_MCI
>> +int board_mmc_init(bd_t *bd)
>> +{
>> + /* Enable clock */
>> + struct at91_pmc *pmc = (struct at91_pmc *)ATMEL_BASE_PMC;
>> + writel(1 << ATMEL_ID_HSMCI0, &pmc->pcer);
>> +
>> + at91_mci_hw_init();
>> +
>> + return atmel_mci_init((void *)ATMEL_BASE_HSMCI0);
>> +}
>> +#endif
>> +
>> int board_early_init_f(void)
>> {
>> at91_seriald_hw_init();
>> diff --git a/include/configs/at91sam9x5ek.h
>> b/include/configs/at91sam9x5ek.h
>> index 1ceb31a..974e08f 100644
>> --- a/include/configs/at91sam9x5ek.h
>> +++ b/include/configs/at91sam9x5ek.h
>> @@ -136,6 +136,14 @@
>> #define CONFIG_CMD_UBIFS
>> #endif
>>
>> +/* MMC */
>> +#define CONFIG_MMC
>> +#define CONFIG_CMD_MMC
>> +#define CONFIG_CMD_FAT
>> +#define CONFIG_GENERIC_MMC
>> +#define CONFIG_GENERIC_ATMEL_MCI
>> +#define CONFIG_DOS_PARTITION
>> +
>> /* Ethernet */
>> #define CONFIG_MACB
>> #define CONFIG_RMII
>>
>
More information about the U-Boot
mailing list