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