[U-Boot] [PATCH v3 03/11] board:samsung: check the boot device and init the right mmc driver.

Jaehoon Chung jh80.chung at samsung.com
Fri Jun 27 11:45:20 CEST 2014


On 06/27/2014 06:40 PM, Minkyu Kang wrote:
> Dear Przemyslaw Marczak,
> 
> On 26/06/14 23:15, Przemyslaw Marczak wrote:
>> It is possible to boot device using a micro SD or eMMC slots.
>> In this situation, boot device should be registered as a block
>> device 0 in the MMC framework, because CONFIG_SYS_MMC_ENV_DEV
>> is usually set to "0" in the most config cases.
>>
>> Signed-off-by: Przemyslaw Marczak <p.marczak at samsung.com>
>> ---
>> Changes V3:
>> - separate two changes into two commits
>> ---
>>  board/samsung/common/board.c | 24 +++++++++++++++++-------
>>  1 file changed, 17 insertions(+), 7 deletions(-)
>>
>> diff --git a/board/samsung/common/board.c b/board/samsung/common/board.c
>> index ecf3f76..f07a900 100644
>> --- a/board/samsung/common/board.c
>> +++ b/board/samsung/common/board.c
>> @@ -251,18 +251,28 @@ int board_mmc_init(bd_t *bis)
>>  {
>>  	int ret;
>>  
>> +	if (boot_device() == BOOT_DEVICE_SDMMC) {
>> +#ifdef CONFIG_SDHCI
>> +		/* mmc initializattion for available channels */
>> +		ret = exynos_mmc_init(gd->fdt_blob);
>> +#endif
>>  #ifdef CONFIG_DWMMC
>> -	/* dwmmc initializattion for available channels */
>> -	ret = exynos_dwmmc_init(gd->fdt_blob);
>> -	if (ret)
>> -		debug("dwmmc init failed\n");
>> +		/* dwmmc initializattion for available channels */
>> +		ret = exynos_dwmmc_init(gd->fdt_blob);
>> +#endif
>> +	} else {
>> +#ifdef CONFIG_DWMMC
>> +		/* dwmmc initializattion for available channels */
>> +		ret = exynos_dwmmc_init(gd->fdt_blob);
>>  #endif
>>  #ifdef CONFIG_SDHCI
>> -	/* mmc initializattion for available channels */
>> -	ret = exynos_mmc_init(gd->fdt_blob);
>> +		/* mmc initializattion for available channels */
>> +		ret = exynos_mmc_init(gd->fdt_blob);
>> +#endif
>> +	}
>> +
> 
> It looks little confused.
> Could you please re-arrange this code like this?

If re-arrange the below code, i want to call the dwmmc-init function at first.
Is there a special reason for sequence(sdhci->dwmmc)?

Best Regards,
Jaehoon Chung
> 
> #ifdef CONFIG_SDHCI
> 	if (boot....) {
> 
> 	} else {
> 
> 	}
> #endif
> 
> #ifdef CONFIG_DWMMC
> 	if (boot....) {
> 
> 	} else {
> 
> 	}
> #endif
> 
> Thanks,
> Minkyu Kang.
> 



More information about the U-Boot mailing list