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

Zhoujie Wu
2017-08-16T22:47:02Z

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.
Have you ever met similar issue before?

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