[PATCH] mmc: sdhci: Write to HOST_CONTROL2 register for HS400 speed mode
Jaehoon Chung
jh80.chung at samsung.com
Tue Apr 6 11:14:34 CEST 2021
Hi Aswath,
On 4/6/21 5:26 PM, Aswath Govindraju wrote:
> Hi Jaehoon,
>
> On 06/04/21 10:50 am, Aswath Govindraju wrote:
>> Hi Jaehoon,
>>
>> On 06/04/21 3:48 am, Jaehoon Chung wrote:
>>> Hi,
>>>
>>> On 4/5/21 11:44 PM, Aswath Govindraju wrote:
>>>> From: Faiz Abbas <faiz_abbas at ti.com>
>>>>
>>>> Enable HS400 speed mode by writing to HOST_CONTROL2 register.
>>>
>>> I didn't find HS400 bit at HOST_CONTROL2 register. (I have checked SD Specific v4.20)
>>> If I missed something, let me know, plz.
>>>
>>> In include/sdhci.h, it mentioned to "Non-standard".
>>>
>>
>> Thank you for pointing this out.
>>
>> Yes, this is not a part of SD specification and in the specification
>> this field is marked as reserved. I have added this, as this bit mask
>> has been defined in include/sdhci.h. Sorry about this. I'll post a
>> respin taking this into a consideration.
>>
>
> On the other hand, the same has been accepted in kernel i.e. setting
> SDHCI_CTRL_HS400 bit in HOST_CONTROL2 register, drivers/mmc/host/sdhci.c
> in sdhci_set_uhs_signaling(). I think although this bit has not been
> mentioned in the specification, it seems it is used by many controllers
> for HS400 mode. So, as this is not specific to a controller can setting
> this, be allowed in the common sdhci_set_uhs_timing() function ?
Frankly, i think that it can be used. Just I wondered that i missed something from Specification. :)
Thanks for sharing information. I didn't check on kernel side.
Best Regards,
Jaehoon Chung
>
> Thanks,
> Aswath
>
>> Thanks,
>> Aswath
>>
>>> Best Regards,
>>> Jaehoon Chung
>>>
>>>>
>>>> Signed-off-by: Faiz Abbas <faiz_abbas at ti.com>
>>>> Signed-off-by: Aswath Govindraju <a-govindraju at ti.com>
>>>> ---
>>>> drivers/mmc/sdhci.c | 3 +++
>>>> 1 file changed, 3 insertions(+)
>>>>
>>>> diff --git a/drivers/mmc/sdhci.c b/drivers/mmc/sdhci.c
>>>> index d9ab6a0a839e..eea4701d8af5 100644
>>>> --- a/drivers/mmc/sdhci.c
>>>> +++ b/drivers/mmc/sdhci.c
>>>> @@ -507,6 +507,9 @@ void sdhci_set_uhs_timing(struct sdhci_host *host)
>>>> case MMC_HS_200:
>>>> reg |= SDHCI_CTRL_UHS_SDR104;
>>>> break;
>>>> + case MMC_HS_400:
>>>> + reg |= SDHCI_CTRL_HS400;
>>>> + break;
>>>> default:
>>>> reg |= SDHCI_CTRL_UHS_SDR12;
>>>> }
>>>>
>>>
>>
>
>
More information about the U-Boot
mailing list