[U-Boot] mmc1 not working on Samsung snow chromebook

Guillaume Gardet guillaume.gardet at free.fr
Sat Nov 18 16:33:21 UTC 2017



Le 17/11/2017 à 17:06, Jaehoon Chung a écrit :
>
> On 2017년 11월 17일 18:38, Guillaume Gardet wrote:
>>
>> Le 17/11/2017 à 10:36, Lukasz Majewski a écrit :
>>> On Thu, 16 Nov 2017 13:29:56 +0100
>>> Guillaume Gardet <guillaume.gardet at free.fr> wrote:
>>>
>>>> I found a workaround. If I disable MMC_MODE_HS_52MHz, then it is
>>>> working fine.
>>>>
>>>> I guess there is a better way to implement the following patch ?
>>>>
>>>> **********************************************************************
>>>> diff --git a/drivers/mmc/dw_mmc.c b/drivers/mmc/dw_mmc.c
>>>> index 23f642980b..a6a0934eef 100644
>>>> --- a/drivers/mmc/dw_mmc.c
>>>> +++ b/drivers/mmc/dw_mmc.c
>>>> @@ -508,7 +508,8 @@ void dwmci_setup_cfg(struct mmc_config *cfg,
>>>> struct dwmci_host *host, cfg->host_caps |= MMC_MODE_4BIT;
>>>>                    cfg->host_caps &= ~MMC_MODE_8BIT;
>>>>            }
>>>> -       cfg->host_caps |= MMC_MODE_HS | MMC_MODE_HS_52MHz;
>>>> +       /* MMC_MODE_HS_52MHz is broken (at least) on Samsung Snow, so
>>>> disbale it for now */
>>>> +       cfg->host_caps |= MMC_MODE_HS;
>>> This seems like a workaround. The root cause of the problem is the
>>> regression with HS 52MHz....
>> Not sure it ever worked on this target.
> Could you give me the debug log after enabled DEBUG?

WIth debug in mmc.c and dw_mmc.c on the broken system, I have:
Buswidth = 1, clock: 0
Buswidth = 1, clock: 400000
Sending CMD0
Sending CMD8
Sending CMD55
Sending CMD41
Sending CMD55
Sending CMD41
Sending CMD55
Sending CMD41
Sending CMD55
Sending CMD41
Sending CMD55
Sending CMD41
Sending CMD55
Sending CMD41
Sending CMD2
Sending CMD3
Sending CMD9
Sending CMD7
Sending CMD55
Sending CMD51
Sending CMD6
Sending CMD6
Sending CMD55
dwmci_send_cmd: Response Error.
mmc_init: -5, time 78


WIth debug in mmc.c and dw_mmc.c with my workaround, I have:
Buswidth = 1, clock: 0
Buswidth = 1, clock: 400000
Sending CMD0
Sending CMD8
Sending CMD55
Sending CMD41
Sending CMD55
Sending CMD41
Sending CMD55
Sending CMD41
Sending CMD55
Sending CMD41
Sending CMD55
Sending CMD41
Sending CMD55
Sending CMD41
Sending CMD2
Sending CMD3
Sending CMD9
Sending CMD7
Sending CMD55
Sending CMD51
Sending CMD6
Sending CMD55
Sending CMD6
Buswidth = 4, clock: 400000
Sending CMD55
Sending CMD13
Buswidth = 4, clock: 25000000
Sending CMD16
Sending CMD17
switch to partitions #0, OK
mmc1 is current device

The problem occurs in 'sd_change_freq' function when if we try to set high speed with the 2nd call to  'sd_switch' (1st call is just a check).


Guillaume


>
> Best Regards,
> Jaehoon Chung
>
>> Guillaume
>>
>>>>            cfg->b_max = CONFIG_SYS_MMC_MAX_BLK_COUNT;
>>>>     }
>>>> **********************************************************************
>>>>
>>>>
>>>> Guillaume
>>>>
>>>>
>>>>
>>>> Le 15/11/2017 à 11:27, Guillaume Gardet a écrit :
>>>>> Le 15/11/2017 à 11:22, Guillaume Gardet a écrit :
>>>>>> Forgot to Cc ML. Done now.
>>>>>>
>>>>>>
>>>>>> Le 15/11/2017 à 11:14, Guillaume Gardet a écrit :
>>>>>>> Hello,
>>>>>>>
>>>>>>> I tested U-Boot v2017.09 on a Samsung Snow (Chromebook ARM) and
>>>>>>> while mmc0 (internal eMMC) is working fine, mmc1 (external SD
>>>>>>> slot) does not work. I get the following error for 'mmc dev 1'
>>>>>>> command: mmc_init: -110, time 30
>>>>> Please also note that on boot (or on 1st 'mmc dev 1' cmd if I stop
>>>>> auto-boot), I firstly get: mmc_init: -5, time 39
>>>>>
>>>>> Then, all next attempts retruns:
>>>>>       mmc_init: -110, time 30
>>>>>
>>>>>
>>>>> Guillaume
>>>>>
>>>>>   
>>>>>>> Any idea what could be wrong?
>>>>>>>
>>>>>>> Guillaume
>>>>>>>
>>>>>>>    
>>>>>>    
>>>>>    
>>>> _______________________________________________
>>>> U-Boot mailing list
>>>> U-Boot at lists.denx.de
>>>> https://lists.denx.de/listinfo/u-boot
>>>
>>> Best regards,
>>>
>>> Lukasz Majewski
>>>
>>> -- 
>>>
>>> DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
>>> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
>>> Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
>> _______________________________________________
>> U-Boot mailing list
>> U-Boot at lists.denx.de
>> https://lists.denx.de/listinfo/u-boot



More information about the U-Boot mailing list