[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250728-topic-gpucc_power_plumbing-v1-4-09c2480fe3e6@oss.qualcomm.com>
Date: Mon, 28 Jul 2025 18:16:04 +0200
From: Konrad Dybcio <konradybcio@...nel.org>
To: Ulf Hansson <ulf.hansson@...aro.org>,
Johan Hovold <johan+linaro@...nel.org>,
Bjorn Andersson <andersson@...nel.org>,
Taniya Das <taniya.das@....qualcomm.com>,
Michael Turquette <mturquette@...libre.com>,
Stephen Boyd <sboyd@...nel.org>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>, Taniya Das <quic_tdas@...cinc.com>,
Imran Shaik <quic_imrashai@...cinc.com>,
Konrad Dybcio <konradybcio@...nel.org>,
Bartosz Golaszewski <bartosz.golaszewski@...aro.org>,
Dmitry Baryshkov <lumag@...nel.org>, cros-qcom-dts-watchers@...omium.org,
Douglas Anderson <dianders@...omium.org>, Vinod Koul <vkoul@...nel.org>,
Richard Acayan <mailingradian@...il.com>,
Andy Gross <andy.gross@...aro.org>, Ajit Pandey <quic_ajipan@...cinc.com>,
Luca Weiss <luca.weiss@...rphone.com>, Jonathan Marek <jonathan@...ek.ca>,
Neil Armstrong <neil.armstrong@...aro.org>,
Jagadeesh Kona <quic_jkona@...cinc.com>,
Akhil P Oommen <akhilpo@....qualcomm.com>
Cc: Marijn Suijten <marijn.suijten@...ainline.org>,
linux-arm-msm@...r.kernel.org, linux-pm@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-clk@...r.kernel.org,
devicetree@...r.kernel.org,
Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>,
Konrad Dybcio <konrad.dybcio@....qualcomm.com>
Subject: [PATCH RFC 04/24] dt-bindings: clock: qcom,gpucc: Describe actual
power domain plumbing
From: Konrad Dybcio <konrad.dybcio@....qualcomm.com>
GPU_CC is always powered from the VDD_CX rail.
On platforms with a split MX rail (MX_A/C for ALWAYS/COLLAPSIBLE), both
are required. Otherwise, the common MX rail powers part of the logic,
including the PLLs.
Extend the current requirements to make sure the hardware is powered
adequately and the votes are released when no longer necessary.
Skiping "Fixes" as it would apply to NUM_PLATFORMS commits..
Signed-off-by: Konrad Dybcio <konrad.dybcio@....qualcomm.com>
---
.../devicetree/bindings/clock/qcom,gpucc.yaml | 68 +++++++++++++++++++++-
1 file changed, 67 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/clock/qcom,gpucc.yaml b/Documentation/devicetree/bindings/clock/qcom,gpucc.yaml
index 5053d71f918bb28c504746f68e782ca719051f63..1a6f8889db35296b59973c90b8133abfed75baaf 100644
--- a/Documentation/devicetree/bindings/clock/qcom,gpucc.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,gpucc.yaml
@@ -72,7 +72,10 @@ properties:
- const: gcc_gpu_gpll0_div_clk_src
power-domains:
- maxItems: 1
+ description:
+ Power domains required for the clock controller to operate
+ minItems: 2
+ maxItems: 4
vdd-gfx-supply:
description: Regulator supply for the VDD_GFX pads
@@ -80,6 +83,7 @@ properties:
required:
- compatible
- clocks
+ - power-domains
- '#power-domain-cells'
# Require that power-domains and vdd-gfx-supply are not both present
@@ -91,6 +95,62 @@ not:
allOf:
- $ref: qcom,gcc.yaml#
+ - if:
+ properties:
+ compatible:
+ enum:
+ - qcom,qcs8300-gpucc
+ - qcom,sa8775p-gpucc
+ - qcom,sar2130p-gpucc
+ - qcom,sc8280xp-gpucc
+ - qcom,sm8350-gpucc
+ - qcom,sm8450-gpucc
+ - qcom,sm8475-gpucc
+ - qcom,sm8550-gpucc
+ - qcom,sm8650-gpucc
+ - qcom,x1e80100-gpucc
+ - qcom,x1p42100-gpucc
+ then:
+ properties:
+ power-domains:
+ items:
+ - description: CX power domain
+ - description: MX power domain
+ - description: GFX power domain
+ - description: MX_COLLAPSIBLE power domain
+
+ - if:
+ properties:
+ compatible:
+ enum:
+ - qcom,milos-gpucc
+ - qcom,sc7180-gpucc
+ - qcom,sc7280-gpucc
+ - qcom,sc8180x-gpucc
+ - qcom,sdm845-gpucc
+ - qcom,sm8150-gpucc
+ - qcom,sm8250-gpucc
+ then:
+ properties:
+ power-domains:
+ items:
+ - description: CX power domain
+ - description: MX power domain
+ - description: GFX power domain
+
+ - if:
+ properties:
+ compatible:
+ enum:
+ - qcom,sm4450-gpucc
+ - qcom,sm6350-gpucc
+ then:
+ properties:
+ power-domains:
+ items:
+ - description: CX power domain
+ - description: MX power domain
+
- if:
properties:
compatible:
@@ -116,6 +176,8 @@ examples:
- |
#include <dt-bindings/clock/qcom,gcc-sdm845.h>
#include <dt-bindings/clock/qcom,rpmh.h>
+ #include <dt-bindings/power/qcom-rpmpd.h>
+
clock-controller@...0000 {
compatible = "qcom,sdm845-gpucc";
reg = <0x05090000 0x9000>;
@@ -128,5 +190,9 @@ examples:
#clock-cells = <1>;
#reset-cells = <1>;
#power-domain-cells = <1>;
+
+ power-domains = <&rpmhpd SDM845_CX>,
+ <&rpmhpd SDM845_MX>,
+ <&rpmhpd SDM845_GFX>;
};
...
--
2.50.1
Powered by blists - more mailing lists