[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