Re: [EXT] Re: [PATCH] mmc: sdhci-xenon: add gpio hard reset support

Shawn Lin
2017-08-17T00:47:35Z

On 2017/8/17 6:46, Zhoujie Wu wrote:
> Hi ,
>
> On 08/15/2017 05:32 PM, Shawn Lin wrote:
>> Hi
>>
>> On 2017/8/16 6:40, Zhoujie Wu wrote:
>>> Hi Shawn,
>>
>>>> ----------------------------------------------------------------------
>>>> Hi
>>>>
>>>> On 2017/8/15 6:19, Zhoujie Wu wrote:
>>>>> On some platforms, like armada3700, SD card need to
>>>>> do hard reset by gpio toggling to make it work properly
>>>>> after warm reset the board.
>>>>
>>>> I don't get this that SD card need to do hard reset...
>>>>
>>>> I assume what you talk about is either for eMMC or a power-cycle
>>>> for SD card.
>>>
>>> The subject of the patch confused you. What I want is a power-cycle
>>> for the SD card. The gpio is used to enable/disable the vdd power
>>> supply for sd card.
>>> Actually on a3700, when warm reset the board, their is no power-cycle
>>> for SD card, which will lead sd card can't response correct ocr and
>>> never set S18A unless a power-cycle.
>>> This is the purpose I submit this patch.
>>>
>>
>> Well, if that is the case, I suggest you to use regulator-gpio.
>>
>> i.e:
>>
>> vcc_sd: regulator {
>> compatible = "regulator-gpio";
>> regulator-name = "vcc_sd";
>> regulator-min-microvolt = <3300000>;
>> regulator-max-microvolt = <3300000>;
>>
>> gpios = <&gpio1 23 GPIO_ACTIVE_HIGH>;
>> enable-active-high;
>> };
>>
>> &sdhci {
>> vmmc-supply = <&vcc_sd>;
>> }
>>
>>
>
> I tried to use the vmmc-supply regulator before I submit this patch, I
> met a issue in this case.
> sdhci_set_power_reg will be called instead, and I saw
> mmc_regulator_set_ocr do enabled the regulator, after that SW will set
> 0xf to power controller register, but the register is self-cleared to 0
> soon which lead to later cmd timeout all the time.

I don't parse it from the SDHCI spec that SD bus power bit is
self-cleared one. Is it sdhci-xenon specific?

If yes, you need to hook you set_power callback and avoid touching this
bit with some proper description for the reason.

> Have you ever met similar issue before?

Haven't.

>
>>>>
>>>>> Add gpio hard reset feature for this purpose.
>>>>>
>>
>>>
>>>
>>>
>>>
>>
>
>
>
>