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

Minkyu Kang mk7.kang at samsung.com
Thu Jun 19 03:10:05 CEST 2014


On 18/06/14 19:47, Przemyslaw Marczak wrote:
> Hello Minkyu,
> On 06/18/2014 08:30 AM, Minkyu Kang wrote:
>> Dear Przemyslaw Marczak,
>>
>> On 12/06/14 18:46, Przemyslaw Marczak wrote:
>>> It is possible to boot from a few media devices, especially using a micro
>>> SD or eMMC slots. In this situation, boot device should be registered
>>> as 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>
>>> Cc: Piotr Wilczek <p.wilczek at samsung.com>
>>> Cc: Minkyu Kang <mk7.kang at samsung.com>
>>> ---
>>>   board/samsung/common/board.c | 32 ++++++++++++++++++++++++--------
>>>   include/samsung/misc.h       |  5 +++++
>>>   2 files changed, 29 insertions(+), 8 deletions(-)
>>>
>>> diff --git a/board/samsung/common/board.c b/board/samsung/common/board.c
>>> index 9dc7c83..2970340 100644
>>> --- a/board/samsung/common/board.c
>>> +++ b/board/samsung/common/board.c
>>> @@ -25,6 +25,8 @@
>>>   #include <lcd.h>
>>>   #include <samsung/misc.h>
>>>
>>> +static int bootmode;
>>> +
>>>   DECLARE_GLOBAL_DATA_PTR;
>>>
>>>   int __exynos_early_init_f(void)
>>> @@ -243,19 +245,33 @@ int board_eth_init(bd_t *bis)
>>>   int board_mmc_init(bd_t *bis)
>>>   {
>>>       int ret;
>>> +    struct exynos4_power *pwr = (struct exynos4_power *)
>>> +                    samsung_get_base_power();
>>
>> Hm, no. This file is samsung common not only for exynos4.
>> Although this code will not be made any problems for other SoCs (because om_stat is always first item of power), it looks weird.
>> I think you can make new function for getting boot mode.
>>
> Yes, this was bad. What about that:
> # unsigned int om_stat = samsung_get_base_power();
> #
> # bootmode = BOOT_MODE(readl(om_stat));
> 
> or maybe just
> 
> # bootmode = BOOT_MODE(readl(samsung_get_base_power()));

looks good to me. both of them.

Thanks,
Minkyu Kang.


More information about the U-Boot mailing list