Message ID | 20160917023250.1159-2-xzy.xu@rock-chips.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 17 September 2016 at 04:32, Ziyuan Xu <xzy.xu@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? 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? Kind regards Uffe > > Signed-off-by: Ziyuan Xu <xzy.xu@rock-chips.com> > > Acked-by: Rob Herring <robh@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@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@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi, Am Samstag, 17. September 2016, 10:32:49 CEST schrieb Ziyuan Xu: > 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. > > Signed-off-by: Ziyuan Xu <xzy.xu@rock-chips.com> > > Acked-by: Rob Herring <robh@kernel.org> Reviewed-by: Heiko Stuebner <heiko@sntech.de> @Ulf: I guess you'll take this binding change through the mmc tree and I'll pick up the devicetree change. Heiko > --- > > 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@e0100000 { > @@ -71,5 +75,6 @@ Example: > phys = <&emmc_phy>; > phy-names = "phy_arasan"; > #clock-cells = <0>; > + power-domains = <&power RK3399_PD_EMMC>; > status = "disabled"; > };
On 17 September 2016 at 11:01, Heiko Stuebner <heiko@sntech.de> wrote: > Hi, > > Am Samstag, 17. September 2016, 10:32:49 CEST schrieb Ziyuan Xu: >> 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. >> >> Signed-off-by: Ziyuan Xu <xzy.xu@rock-chips.com> >> >> Acked-by: Rob Herring <robh@kernel.org> > > Reviewed-by: Heiko Stuebner <heiko@sntech.de> > > @Ulf: I guess you'll take this binding change through the mmc tree and I'll > pick up the devicetree change. Ideally the documentation and DT change should go together, so I think it's better for you to pick up both. I intend to ack it, although it would be nice with some more information as I requested, in the change-log first. Kind regards Uffe > > > Heiko > >> --- >> >> 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@e0100000 { >> @@ -71,5 +75,6 @@ Example: >> phys = <&emmc_phy>; >> phy-names = "phy_arasan"; >> #clock-cells = <0>; >> + power-domains = <&power RK3399_PD_EMMC>; >> status = "disabled"; >> }; > >
Am Samstag, 17. September 2016, 11:09:15 CEST schrieb Ulf Hansson: > On 17 September 2016 at 11:01, Heiko Stuebner <heiko@sntech.de> wrote: > > Hi, > > > > Am Samstag, 17. September 2016, 10:32:49 CEST schrieb Ziyuan Xu: > >> 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. > >> > >> Signed-off-by: Ziyuan Xu <xzy.xu@rock-chips.com> > >> > >> Acked-by: Rob Herring <robh@kernel.org> > > > > Reviewed-by: Heiko Stuebner <heiko@sntech.de> > > > > @Ulf: I guess you'll take this binding change through the mmc tree and > > I'll > > pick up the devicetree change. > > Ideally the documentation and DT change should go together, so I think > it's better for you to pick up both. I was more thinking about future conflicts with possible other changes during the 4.9 cycle. We have -rc7 now, so arm-soc is pretty off limits for new changes thus the binding change would only land in time for 4.10 and may cause conflicts then. > I intend to ack it, although it would be nice with some more > information as I requested, in the change-log first. I guess we'll just wait until you are comfortable with the change and decide then through which trees it should go :-) Heiko > >> --- > >> > >> 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@e0100000 { > >> > >> @@ -71,5 +75,6 @@ Example: > >> phys = <&emmc_phy>; > >> phy-names = "phy_arasan"; > >> #clock-cells = <0>; > >> > >> + power-domains = <&power RK3399_PD_EMMC>; > >> > >> status = "disabled"; > >> > >> };
hi Ulf, On 2016年09月17日 16:49, Ulf Hansson wrote: > On 17 September 2016 at 04:32, Ziyuan Xu <xzy.xu@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@rock-chips.com> >> >> Acked-by: Rob Herring <robh@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@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@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@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > > >
On 20 September 2016 at 04:29, Ziyuan Xu <xzy.xu@rock-chips.com> wrote: > hi Ulf, > > > On 2016年09月17日 16:49, Ulf Hansson wrote: >> >> On 17 September 2016 at 04:32, Ziyuan Xu <xzy.xu@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. > Okay! >> >> 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? Okay! [...] Thanks for sharing some more information, could you please re-spin with an updated change log? Kind regards Uffe
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@e0100000 { @@ -71,5 +75,6 @@ Example: phys = <&emmc_phy>; phy-names = "phy_arasan"; #clock-cells = <0>; + power-domains = <&power RK3399_PD_EMMC>; status = "disabled"; };