arm64: dts: qcom: sc7280: Add required-opps for USB
authorRajendra Nayak <quic_rjendra@quicinc.com>
Fri, 16 Sep 2022 10:31:24 +0000 (16:01 +0530)
committerBjorn Andersson <andersson@kernel.org>
Fri, 16 Sep 2022 19:09:02 +0000 (14:09 -0500)
commit3d59187efc982bf20309ae2fb8514007f9bf2b4e
tree4feb9bc1eb9e2adedc23586168806032cab2bbc3
parent677920072e9d757ae158d66b8fdb695992bb3f1a
arm64: dts: qcom: sc7280: 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/20220916103124.30581-1-quic_rjendra@quicinc.com
arch/arm64/boot/dts/qcom/sc7280.dtsi