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

From: Taniya Das

Date: Tue Jun 02 2026 - 11:24:55 EST


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>;
+ };
+
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";

--
2.34.1