Re: [PATCH 5/5] arm64: dts: qcom: Add GP M/N clock controller node for SA8775P and QCS8300

From: Luca Weiss

Date: Mon Jun 08 2026 - 03:33:27 EST


Hi Taniya,

On Tue Jun 2, 2026 at 5:21 PM CEST, Taniya Das wrote:
> Add the GP M/N divider clock controller node at 0x088d3000 to the
> SA8775P (kodiak, lemans) and QCS8300 (monaco) SoC device trees.
>
> The node uses the qcom,clk-gp-mnd compatible, is clocked by the PDM
> XO4 and AHB clocks from GCC, and exposes a single clock output
> (gp_mn_clk) on the dedicated gp_mn pin mux function. The XO4 clock
> is pre-assigned to 4.8 MHz (XO/4).
>
> Signed-off-by: Taniya Das <taniya.das@xxxxxxxxxxxxxxxx>
> ---
> arch/arm64/boot/dts/qcom/kodiak.dtsi | 14 ++++++++++++++
> arch/arm64/boot/dts/qcom/lemans.dtsi | 14 ++++++++++++++
> arch/arm64/boot/dts/qcom/monaco.dtsi | 14 ++++++++++++++
> 3 files changed, 42 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/kodiak.dtsi b/arch/arm64/boot/dts/qcom/kodiak.dtsi
> index 1ff9e1598d00429c03b2bcae41fa370ab2c892bd..cbc13ac37f8aeb0b1071ad0609ec11e829d2c798 100644
> --- a/arch/arm64/boot/dts/qcom/kodiak.dtsi
> +++ b/arch/arm64/boot/dts/qcom/kodiak.dtsi
> @@ -4412,6 +4412,20 @@ usb2_role_switch: endpoint {
> };
> };
>
> + gp_mn: clock-controller@88d3000 {
> + compatible = "qcom,clk-gp-mnd";
> + reg = <0x0 0x088d3000 0x0 0xc>;
> + clocks = <&gcc GCC_PDM_XO4_CLK>,
> + <&gcc GCC_PDM_AHB_CLK>;
> + clock-names = "pdm_clk", "ahb_clk";
> + clock-output-names = "gp_mn_clk";
> + #clock-cells = <0>;
> + pinctrl-names = "active";
> + pinctrl-0 = <&gp_mn_active>;
> + assigned-clocks = <&gcc GCC_PDM_XO4_CLK>;
> + assigned-clock-rates = <4800000>;
> + };

Am I missing something, or would this just configure gpio60 for all
boards for this clock controller output? On QCM6490 Fairphone 5 this pin
is connected to FP_3P3_EN, so it's definitely not unused.

Maybe disable them by default and let the board enable it, if it wants
to make use of this clock?

Regards
Luca

> +
> qspi: spi@88dc000 {
> compatible = "qcom,sc7280-qspi", "qcom,qspi-v1";
> reg = <0 0x088dc000 0 0x1000>;
> diff --git a/arch/arm64/boot/dts/qcom/lemans.dtsi b/arch/arm64/boot/dts/qcom/lemans.dtsi
> index 19f8cf4e15482947f6049188050c370340afaead..d192f92a896bb13017abdf82062e8305aab3e5d5 100644
> --- a/arch/arm64/boot/dts/qcom/lemans.dtsi
> +++ b/arch/arm64/boot/dts/qcom/lemans.dtsi
> @@ -4353,6 +4353,20 @@ opp-384000000 {
> };
> };
>
> + gp_mn: clock-controller@88d3000 {
> + compatible = "qcom,clk-gp-mnd";
> + reg = <0x0 0x088d3000 0x0 0xc>;
> + clocks = <&gcc GCC_PDM_XO4_CLK>,
> + <&gcc GCC_PDM_AHB_CLK>;
> + clock-names = "pdm_clk", "ahb_clk";
> + clock-output-names = "gp_mn_clk";
> + #clock-cells = <0>;
> + pinctrl-names = "active";
> + pinctrl-0 = <&gp_mn_active>;
> + assigned-clocks = <&gcc GCC_PDM_XO4_CLK>;
> + assigned-clock-rates = <4800000>;
> + };
> +
> usb_0_hsphy: phy@88e4000 {
> compatible = "qcom,sa8775p-usb-hs-phy",
> "qcom,usb-snps-hs-5nm-phy";
> diff --git a/arch/arm64/boot/dts/qcom/monaco.dtsi b/arch/arm64/boot/dts/qcom/monaco.dtsi
> index ebe5889daa5300efa7857314e9170d7d2fc33ef7..f6c5ec38c7491b7a16ebfb853f8af88bdf1f0db3 100644
> --- a/arch/arm64/boot/dts/qcom/monaco.dtsi
> +++ b/arch/arm64/boot/dts/qcom/monaco.dtsi
> @@ -4867,6 +4867,20 @@ opp-384000000 {
> };
> };
>
> + gp_mn: clock-controller@88d3000 {
> + compatible = "qcom,clk-gp-mnd";
> + reg = <0x0 0x088d3000 0x0 0xc>;
> + clocks = <&gcc GCC_PDM_XO4_CLK>,
> + <&gcc GCC_PDM_AHB_CLK>;
> + clock-names = "pdm_clk", "ahb_clk";
> + clock-output-names = "gp_mn_clk";
> + #clock-cells = <0>;
> + pinctrl-names = "active";
> + pinctrl-0 = <&gp_mn_active>;
> + assigned-clocks = <&gcc GCC_PDM_XO4_CLK>;
> + assigned-clock-rates = <4800000>;
> + };
> +
> usb_1_hsphy: phy@8904000 {
> compatible = "qcom,qcs8300-usb-hs-phy",
> "qcom,usb-snps-hs-7nm-phy";