hi Ulf, On 2016?09?17? 16:49, Ulf Hansson wrote: > On 17 September 2016 at 04:32, Ziyuan Xu <xzy.xu at rock-chips.com> wrote: >> Add power domain as a optional property for sdhci-of-arasan, which can >> be turned off in the so-called unused condition, such as suspend and >> remove. Aim to lower power requirements. > I assume runtime suspend make sense as well? Sorry to reply this mail after a long time. On rk3399 platform, there is a eMMC-phy which is in charge of eMMC's logic interface. We should guarantee that phy is ready before cmd/data transfer. I mean that I need to consider about the resume latency, so that I can land RPM for arasan-of-sdhci. I intend to use auto-suspend for arasan-of-sdhci. > > Moreover, perhaps you could share a little information here about what > needs to be done at the driver level which controls the mmc IP. More > precisely, what do you need to do at runtime_suspend, suspend, > runtime_resume, and resume? Invoke sdhci_runtime_suspend_host, disable relevant clock in rumtime_suspend, deprocessing in runtime_resume. Is that ok? > > Kind regards > Uffe > >> Signed-off-by: Ziyuan Xu <xzy.xu at rock-chips.com> >> >> Acked-by: Rob Herring <robh at kernel.org> >> --- >> >> Changes in v3: >> - fix a typo >> - add Rob's ack-tag >> >> Changes in v2: >> - fix a typo >> - add an example code for power-domain >> >> Documentation/devicetree/bindings/mmc/arasan,sdhci.txt | 7 ++++++- >> 1 file changed, 6 insertions(+), 1 deletion(-) >> >> diff --git a/Documentation/devicetree/bindings/mmc/arasan,sdhci.txt b/Documentation/devicetree/bindings/mmc/arasan,sdhci.txt >> index 3404afa..eb84d29 100644 >> --- a/Documentation/devicetree/bindings/mmc/arasan,sdhci.txt >> +++ b/Documentation/devicetree/bindings/mmc/arasan,sdhci.txt >> @@ -1,12 +1,14 @@ >> Device Tree Bindings for the Arasan SDHCI Controller >> >> - The bindings follow the mmc[1], clock[2], interrupt[3] and phy[4] bindings. >> + The bindings follow the mmc[1], clock[2], interrupt[3], phy[4] and power >> + domain[5] bindings. >> Only deviations are documented here. >> >> [1] Documentation/devicetree/bindings/mmc/mmc.txt >> [2] Documentation/devicetree/bindings/clock/clock-bindings.txt >> [3] Documentation/devicetree/bindings/interrupt-controller/interrupts.txt >> [4] Documentation/devicetree/bindings/phy/phy-bindings.txt >> + [5] Documentation/devicetree/bindings/power/power_domain.txt >> >> Required Properties: >> - compatible: Compatibility string. One of: >> @@ -36,6 +38,8 @@ Optional Properties: >> - #clock-cells: If specified this should be the value <0>. With this property >> in place we will export a clock representing the Card Clock. This clock >> is expected to be consumed by our PHY. You must also specify >> + - power-domains: A phandle and PM domain as specifier defined by bindings >> + of the power controller specified by phandle. >> >> Example: >> sdhci at e0100000 { >> @@ -71,5 +75,6 @@ Example: >> phys = <&emmc_phy>; >> phy-names = "phy_arasan"; >> #clock-cells = <0>; >> + power-domains = <&power RK3399_PD_EMMC>; >> status = "disabled"; >> }; >> -- >> 2.9.2 >> >> >> -- >> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in >> the body of a message to majordomo at vger.kernel.org >> More majordomo info at http://vger.kernel.org/majordomo-info.html > -- > To unsubscribe from this list: send the line "unsubscribe linux-mmc" in > the body of a message to majordomo at vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > > >