[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 18:49:31 PDT 2016


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?


> 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.:)

> 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