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

From: Shawn Lin
Date: Mon Aug 08 2016 - 21:50:08 EST


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


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