From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932933AbcHKKIw (ORCPT ); Thu, 11 Aug 2016 06:08:52 -0400 Received: from mailout3.samsung.com ([203.254.224.33]:42870 "EHLO mailout3.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932870AbcHKKIq (ORCPT ); Thu, 11 Aug 2016 06:08:46 -0400 X-AuditID: cbfee68d-f79286d000007a9a-a1-57ac4ea65e40 Subject: Re: [PATCH v2 0/6] Add support of inverting power control and some minor cleanup To: Shawn Lin , Ulf Hansson References: <1470533618-16312-1-git-send-email-shawn.lin@rock-chips.com> Cc: Rob Herring , linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org, Heiko Stuebner , linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org From: Jaehoon Chung Message-id: <9227304b-4d2e-66e1-743a-8d06f2a10ce1@samsung.com> Date: Thu, 11 Aug 2016 19:08:38 +0900 User-Agent: Mozilla/5.0 (X11; Linux i686; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-version: 1.0 In-reply-to: Content-type: text/plain; charset=windows-1252 Content-transfer-encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrNIsWRmVeSWpSXmKPExsWyRsSkQHeZ35pwg02PeCzmHznHavH/0WtW i8u75rBZHPnfz2jx6cF/ZovWvUfYLe48Wc9qcXxtuAOHx6ZVnWwed67tYfPYvKTe4++s/Swe 26/NY/b4vEkugC2KyyYlNSezLLVI3y6BK+PWgkeMBY3SFbvvbWNpYHwl0sXIySEhYCLRMv0o E4QtJnHh3no2EFtIYAWjxLsLITA1S3YeYO1i5AKKz2KU2LJiMTOE84BR4ljLc7AOYYFoiRO/ 1oDZIgJ+Elt3bGWDKOpmktj86DsTiMMscJhR4va3rWBVbAI6Etu/HQfbzStgJ3H/1UywOIuA qsSUtavB4qICYRInz51jh6gRlPgx+R4LiM0p4CSxYN9cIJsDaKiexP2LWiBhZgF5ic1r3oJd JyFwj11i/qlLUDMFJL5NPgRWLyEgK7HpADPEa5ISB1fcYJnAKDYLyYZZCFNnIZm6gJF5FaNo akFyQXFSepGhXnFibnFpXrpecn7uJkZgHJ7+96x3B+PtA9aHGAU4GJV4eBcwrgkXYk0sK67M PcRoCnTERGYp0eR8YLTnlcQbGpsZWZiamBobmVuaKYnzKkr9DBYSSE8sSc1OTS1ILYovKs1J LT7EyMTBKdXAuL1q0qoPts+6ahJm1lU8/Xli89dHm+aynq7Z7Kb0wF/k8LuK3Xx3+t6FT3tk 83/7AqAHayVfags0T2vO1Fm8IWDt0/P/2G78rOTvCYu9LL5h/ufzFR++d7WdLtrw3/PQOkVt tker9WJihEU9153ReLb//8WwU+955u57kKx4+eWS1+u+n15+bJMSS3FGoqEWc1FxIgCA9nAa vgIAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrJIsWRmVeSWpSXmKPExsVy+t9jQd1lfmvCDaaeY7OYf+Qcq8X/R69Z LS7vmsNmceR/P6PFpwf/mS1a9x5ht7jzZD2rxfG14Q4cHptWdbJ53Lm2h81j85J6j7+z9rN4 bL82j9nj8ya5ALaoBkabjNTElNQihdS85PyUzLx0WyXv4HjneFMzA0NdQ0sLcyWFvMTcVFsl F58AXbfMHKB7lBTKEnNKgUIBicXFSvp2mCaEhrjpWsA0Ruj6hgTB9RgZoIGENYwZtxY8Yixo lK7YfW8bSwPjK5EuRk4OCQETiSU7D7BC2GISF+6tZ+ti5OIQEpjFKLFlxWJmCOcBo8Sxluds IFXCAtESJ36tAbNFBPwktu7YCtXRzSSx+dF3JhCHWeAwo8Ttb1vBqtgEdCS2fzvOBGLzCthJ 3H81EyzOIqAqMWXtarC4qECYxMlz59ghagQlfky+xwJicwo4SSzYNxfI5gAaqidx/6IWSJhZ QF5i85q3zBMYge5E6JiFUDULSdUCRuZVjBKpBckFxUnpuUZ5qeV6xYm5xaV56XrJ+bmbGMHR /kx6B+PhXe6HGAU4GJV4eD0yV4cLsSaWFVfmHmKU4GBWEuF96LMmXIg3JbGyKrUoP76oNCe1 +BCjKdAbE5mlRJPzgYkoryTe0NjEzMjSyNzQwsjYXEmc9/H/dWFCAumJJanZqakFqUUwfUwc nFINjCsf+cZIy/y/+LFW+vt7oV+8HTwfG29mvjYO3CGg9l9C00xIb9IMdo4V2k3vtRWZqu/O dr8g56s9b+7eqXnn3bf0m/G8E0k/J3xKd8fP9v1nn/61ZV35lGfGzOxPTXmvJnSck9Zx+xdp 1P/2wY7FlRk+qz+VZlTZZAsGHfbIUfgXY7XtdAQPoxJLcUaioRZzUXEiAB/AIz4MAwAA DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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. 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(-) >>> >> >> >> >> > >