[PATCH v2 0/6] Add support of inverting power control and some minor cleanup

Shawn Lin shawn.lin at rock-chips.com
Mon Aug 8 19:12:15 PDT 2016


On 2016/8/9 9:49, Shawn Lin wrote:
> Hi,
>
> On 2016/8/8 18:24, Jaehoon Chung wrote:
>> Hi Shawn,
>>
>> On 08/07/2016 10:33 AM, Shawn Lin wrote:
>>> By default, dw_mmc outputs high level voltage to indicate powering
>>> up the card and outputs low level vcltage to indicate powering
>>> off the card. But that is not always correct. The power io should
>>> be able to control different kind of hw components to supply or
>>> cutoff power to the card. We have boards that need this patchset
>>> to make the power control correct. Meanwhile let's expose it to
>>> DT for board-specific usage.
>>
>> I have a question for this patch-set. Does DWMMC IP support to invert
>> ON/OFF at Power Enable register?
>
> No.
>
>> Hmm..Well, if use the DW_MMC_CARD_PWR_INVERT, it should also be the
>> similar behavior with Quirks.
>
> yup, it makes the power control more complicated than before. :(
>
>>
>> Other flags are related with dwmmc IP. But this flag
>> (DW_MMC_CARD_PWR_INVERT) is not related with IP side.
>> I understood why you needs to add this flag..Is rockchip designed to
>> invert the power controlling?
>
> We don't invert the power controlling but our customers do.
> The HW componet looks like some discrete LDOs which enable the related
> power supply when outputing low voltage from pwren..
>
>>
>> But it's not general case. We can discuss about this.
>
> I have a solution which is to add gpio power control for slot-gpio of
> mmc core. once finished, we could add pwr_cap_invert just like what we
> did for cd/wp invert control..
>
> Then we could remove PWREN from the default state of
> pinctrl inside the sdmmc dt node, and let dwmmc request gpio power
> control stuff after paring the property for pwr_cap_invert..
>
> More over, it well fit for all mmc host's requirement of gpio
> power control and inverted control if they want it. :)
>
>
> That should be legit for us?
> If it sounds ok to you and Ulf, I will come up with a RFC one for
> community to comment it.:)

one more, maybe pwrseq is also a choice for us.
But I'm not sure if it deserves a pwerseq_sd.c ?

>
>>
>> Best Regards,
>> Jaehoon Chung
>>
>>>
>>>
>>> Changes in v2:
>>> - fix copy-paste err and typo
>>>
>>> Shawn Lin (6):
>>>   dt-bindings: rockchip-dw-mshc: add description of
>>>     rockchip,power-invert
>>>   mmc: dw_mmc: cleanup power setting of set_ios callback
>>>   mmc: dw_mmc: split out dw_mci_set_power
>>>   mmc: dw_mmc: split out dw_mci_set_power_reg
>>>   mmc: dw_mmc: support inverted power control
>>>   mmc: dw_mmc-rockchip: add parsing of power control from DT
>>>
>>>  .../devicetree/bindings/mmc/rockchip-dw-mshc.txt   |   6 +
>>>  drivers/mmc/host/dw_mmc-rockchip.c                 |   8 ++
>>>  drivers/mmc/host/dw_mmc.c                          | 134
>>> ++++++++++++---------
>>>  drivers/mmc/host/dw_mmc.h                          |   1 +
>>>  4 files changed, 90 insertions(+), 59 deletions(-)
>>>
>>
>>
>>
>>
>
>


-- 
Best Regards
Shawn Lin




More information about the Linux-rockchip mailing list