Re: [PATCH 1/3] dt-bindings: clock: qcom: glymur-gcc: Add missing CX power domain and required opp
From: Dmitry Baryshkov
Date: Mon Mar 09 2026 - 17:32:18 EST
On Mon, Mar 09, 2026 at 12:06:17PM +0200, Abel Vesa wrote:
> It has been concluded off-list that the Global Clock Controller needs to
> scale the RPMh CX power domain, otherwise some of the subsystems might
> crash or be unstable. So adding the RPMh CX power domain to the clock
Which subsystems?
> controller which will result in all GDSCs being parented by CX. This way,
> the vote from the consumers of each GDSC will trickle all the way to CX.
>
> So document the power domain and the required opp to that end.
>
> Fixes: ee2d967030fe ("dt-bindings: clock: qcom: document the Glymur Global Clock Controller")
> Signed-off-by: Abel Vesa <abel.vesa@xxxxxxxxxxxxxxxx>
> ---
> .../devicetree/bindings/clock/qcom,glymur-gcc.yaml | 14 ++++++++++++++
> 1 file changed, 14 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/clock/qcom,glymur-gcc.yaml b/Documentation/devicetree/bindings/clock/qcom,glymur-gcc.yaml
> index b05b0e6c4483..94a911855776 100644
> --- a/Documentation/devicetree/bindings/clock/qcom,glymur-gcc.yaml
> +++ b/Documentation/devicetree/bindings/clock/qcom,glymur-gcc.yaml
> @@ -65,9 +65,20 @@ properties:
> - description: USB4 PHY 2 pcie pipe clock source
> - description: USB4 PHY 2 Max pipe clock source
>
> + power-domains:
> + description:
> + A phandle and PM domain specifier for the CX power domain.
> + maxItems: 1
> +
> + required-opps:
> + description:
> + A phandle to an OPP node describing required CX performance point.
> + maxItems: 1
If you only need to use CX as a parent to GDSCs (BTW: now all GDSCs have
CX as a parent, is it expected?), then why do you also need to case a
vote on CX?
> +
> required:
> - compatible
> - clocks
> + - power-domains
> - '#power-domain-cells'
>
> allOf:
> @@ -78,6 +89,7 @@ unevaluatedProperties: false
> examples:
> - |
> #include <dt-bindings/clock/qcom,rpmh.h>
> + #include <dt-bindings/power/qcom-rpmpd.h>
> clock-controller@100000 {
> compatible = "qcom,glymur-gcc";
> reg = <0x100000 0x1f9000>;
> @@ -113,6 +125,8 @@ examples:
> <&usb4_phy_0_pcie_pipe>, <&usb4_phy_0_max_pipe>,
> <&usb4_phy_1_pcie_pipe>, <&usb4_phy_1_max_pipe>,
> <&usb4_phy_2_pcie_pipe>, <&usb4_phy_2_max_pipe>;
> + power-domains = <&rpmhpd RPMHPD_CX>;
= <&rpmhpd_cx>;
No need to import another header.
> + required-opps = <&rpmhpd_opp_nom>;
> #clock-cells = <1>;
> #reset-cells = <1>;
> #power-domain-cells = <1>;
>
> --
> 2.48.1
>
--
With best wishes
Dmitry