Message ID | 1455310238-8963-13-git-send-email-lina.iyer@linaro.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 02/12, Lina Iyer wrote: > @@ -101,6 +105,27 @@ > }; > }; > > + CPU_PD: cpu-pd@0 { > + #power-domain-cells = <0>; > + power-states = <&CLUSTER_RET>, <&CLUSTER_PWR_DWN>; Why isn't this part of the psci node? PSCI is the node that's providing the code/logic for the power domain. > + }; > + > + pd-power-states { > + CLUSTER_RET: power-state@1 { > + state-param = <0x1000010>; > + entry-latency-us = <500>; > + exit-latency-us = <500>; > + residency-us = <2000>; > + }; > + > + CLUSTER_PWR_DWN: power-state@2 { > + state-param = <0x1000030>; > + entry-latency-us = <2000>; > + exit-latency-us = <2000>; > + residency-us = <6000>; > + }; > + }; > + And I would expect these to be put somewhere inside the power domain provider as well? Is this documented somewhere? > psci { > compatible = "arm,psci-1.0"; > method = "smc";
On Fri, Feb 26 2016 at 12:50 -0700, Stephen Boyd wrote: >On 02/12, Lina Iyer wrote: >> @@ -101,6 +105,27 @@ >> }; >> }; >> >> + CPU_PD: cpu-pd@0 { >> + #power-domain-cells = <0>; >> + power-states = <&CLUSTER_RET>, <&CLUSTER_PWR_DWN>; > >Why isn't this part of the psci node? PSCI is the node that's >providing the code/logic for the power domain. > I like that idea too. Lorenzo, what do you think? >> + }; >> + >> + pd-power-states { >> + CLUSTER_RET: power-state@1 { >> + state-param = <0x1000010>; >> + entry-latency-us = <500>; >> + exit-latency-us = <500>; >> + residency-us = <2000>; >> + }; >> + >> + CLUSTER_PWR_DWN: power-state@2 { >> + state-param = <0x1000030>; >> + entry-latency-us = <2000>; >> + exit-latency-us = <2000>; >> + residency-us = <6000>; >> + }; >> + }; >> + > >And I would expect these to be put somewhere inside the power >domain provider as well? Is this documented somewhere? > Not yet, they will be, when it is submitted. This the glue patch that I use on top of Axel's series to read domain states from DT, instead of defining with the driver. I have to discuss with Ulf, as to who is submitting that patch. Thanks, Lina >> psci { >> compatible = "arm,psci-1.0"; >> method = "smc"; > >-- >Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, >a Linux Foundation Collaborative Project
diff --git a/arch/arm64/boot/dts/qcom/msm8916.dtsi b/arch/arm64/boot/dts/qcom/msm8916.dtsi index b7839a8..62dade8 100644 --- a/arch/arm64/boot/dts/qcom/msm8916.dtsi +++ b/arch/arm64/boot/dts/qcom/msm8916.dtsi @@ -63,6 +63,7 @@ reg = <0x0>; enable-method = "psci"; cpu-idle-states = <&CPU_SPC>; + power-domains = <&CPU_PD>; }; CPU1: cpu@1 { @@ -71,6 +72,7 @@ reg = <0x1>; enable-method = "psci"; cpu-idle-states = <&CPU_SPC>; + power-domains = <&CPU_PD>; }; CPU2: cpu@2 { @@ -79,6 +81,7 @@ reg = <0x2>; enable-method = "psci"; cpu-idle-states = <&CPU_SPC>; + power-domains = <&CPU_PD>; }; CPU3: cpu@3 { @@ -87,6 +90,7 @@ reg = <0x3>; enable-method = "psci"; cpu-idle-states = <&CPU_SPC>; + power-domains = <&CPU_PD>; }; idle-states { @@ -101,6 +105,27 @@ }; }; + CPU_PD: cpu-pd@0 { + #power-domain-cells = <0>; + power-states = <&CLUSTER_RET>, <&CLUSTER_PWR_DWN>; + }; + + pd-power-states { + CLUSTER_RET: power-state@1 { + state-param = <0x1000010>; + entry-latency-us = <500>; + exit-latency-us = <500>; + residency-us = <2000>; + }; + + CLUSTER_PWR_DWN: power-state@2 { + state-param = <0x1000030>; + entry-latency-us = <2000>; + exit-latency-us = <2000>; + residency-us = <6000>; + }; + }; + psci { compatible = "arm,psci-1.0"; method = "smc";
Define power domain and the power states for the domain as defined by the PSCI firmware. The 8916 firmware supports OS initiated method of powering off the CPU clusters. Cc: <devicetree@vger.kernel.org> Signed-off-by: Lina Iyer <lina.iyer@linaro.org> --- Changes since RFC v1 - - no cpu-map topology node arch/arm64/boot/dts/qcom/msm8916.dtsi | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+)