summaryrefslogtreecommitdiff
path: root/arch/arm64/boot/dts/qcom/sc7180.dtsi
diff options
context:
space:
mode:
authorRajendra Nayak <quic_rjendra@quicinc.com>2022-09-27 13:26:46 +0300
committerBjorn Andersson <andersson@kernel.org>2022-10-17 21:16:45 +0300
commit5d6fc6321db1b0ea4df0c4654ccb0432f740fcf4 (patch)
tree18479d4f6b27dbefa847614726c1933a0d8def9e /arch/arm64/boot/dts/qcom/sc7180.dtsi
parent9c2eb59712cc21a183772e9837dec2305b14a423 (diff)
downloadlinux-5d6fc6321db1b0ea4df0c4654ccb0432f740fcf4.tar.xz
arm64: dts: qcom: sc7180: Add required-opps for USB
USB has a requirement to put a performance state vote on 'cx' while active. Use 'required-opps' to pass this information from device tree, and since all the GDSCs in GCC (including USB) are sub-domains of cx, we also add cx as a power-domain for GCC. Now when any of the consumers of the GDSCs (in this case USB) votes on a perforamance state, genpd framework can identify that the GDSC itself does not support a performance state and it then propogates the vote to the parent, which in this case is cx. This change would also mean that any GDSC in GCC thats left enabled during low power state (perhaps because its marked with a ALWAYS_ON flag) can prevent the system from entering low power since that would prevent cx from transitioning to low power. Ideally any consumers that would need to have their devices (partially) powered to support wakeups should look at making the resp. GDSCs transtion to a Retention (PWRSTS_RET) state instead of leaving them ALWAYS_ON. Signed-off-by: Rajendra Nayak <quic_rjendra@quicinc.com> Signed-off-by: Bjorn Andersson <andersson@kernel.org> Link: https://lore.kernel.org/r/20220927102646.14785-1-quic_rjendra@quicinc.com
Diffstat (limited to 'arch/arm64/boot/dts/qcom/sc7180.dtsi')
-rw-r--r--arch/arm64/boot/dts/qcom/sc7180.dtsi2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/arm64/boot/dts/qcom/sc7180.dtsi b/arch/arm64/boot/dts/qcom/sc7180.dtsi
index 58976a1ba06b..f59692213745 100644
--- a/arch/arm64/boot/dts/qcom/sc7180.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7180.dtsi
@@ -662,6 +662,7 @@
#clock-cells = <1>;
#reset-cells = <1>;
#power-domain-cells = <1>;
+ power-domains = <&rpmhpd SC7180_CX>;
};
qfprom: efuse@784000 {
@@ -2775,6 +2776,7 @@
"dm_hs_phy_irq", "dp_hs_phy_irq";
power-domains = <&gcc USB30_PRIM_GDSC>;
+ required-opps = <&rpmhpd_opp_nom>;
resets = <&gcc GCC_USB30_PRIM_BCR>;