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

From: Shawn Lin
Date: Thu Aug 11 2016 - 22:58:30 EST


On 2016/8/11 18:08, Jaehoon Chung wrote:
Hi Shawn,

On 08/09/2016 10:49 AM, 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..

Is it related with PWREN register?
I'm checking the TRM for PWREN register..

"Optional feature; ports can be used as general-purpose outputs."

Does it use the ports as GPIO?



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

I'm not sure that it's right that add the gpio power control into mmc core.
slot-gpio? i think it can use the regulator framework with gpio.

yup, I'm looking this and seems it's fine to register a regulator-gpio
and stuff it for vmmc-supply of sdmmc. I will test it, really helpful.

thanks!

I don't have a lot knowledge of power, but it might be controlled whether active is low or high.
So i think it doesn't need to add for entire mmc controller.

Best Regards,
Jaehoon Chung


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(-)








--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html



--
Best Regards
Shawn Lin