* [PATCH v2] arm64: dts: qcom: nord: Add more clock controller nodes
@ 2026-09-24 9:44 Shawn Guo
2026-09-24 10:02 ` sashiko-bot
2026-09-24 11:26 ` Abel Vesa
0 siblings, 2 replies; 3+ messages in thread
From: Shawn Guo @ 2026-09-24 9:44 UTC (permalink / raw)
To: Bjorn Andersson
Cc: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bartosz Golaszewski, devicetree, linux-arm-msm, linux-kernel,
Taniya Das, Bartosz Golaszewski, Shawn Guo
From: Taniya Das <taniya.das@oss.qualcomm.com>
Add the GPU, camera, video, and display clock controller nodes for
the Qualcomm Nord SoC, along with their required dt-bindings includes.
Signed-off-by: Taniya Das <taniya.das@oss.qualcomm.com>
Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Signed-off-by: Shawn Guo <shengchao.guo@oss.qualcomm.com>
---
Changes for v2:
- Drop dependency declaration as it's cleared
- Add Revewed-by tag from Bartosz
- Link to v1: https://lore.kernel.org/all/20260920081049.2183845-1-shengchao.guo@oss.qualcomm.com/
arch/arm64/boot/dts/qcom/nord-embedded.dtsi | 108 ++++++++++++++++++++
1 file changed, 108 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/nord-embedded.dtsi b/arch/arm64/boot/dts/qcom/nord-embedded.dtsi
index 568fe68cd185..1ab7d9bc3cfe 100644
--- a/arch/arm64/boot/dts/qcom/nord-embedded.dtsi
+++ b/arch/arm64/boot/dts/qcom/nord-embedded.dtsi
@@ -3,7 +3,11 @@
* Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
*/
+#include <dt-bindings/clock/qcom,glymur-videocc.h>
+#include <dt-bindings/clock/qcom,nord-camcc.h>
+#include <dt-bindings/clock/qcom,nord-dispcc.h>
#include <dt-bindings/clock/qcom,nord-gcc.h>
+#include <dt-bindings/clock/qcom,nord-gpucc.h>
#include <dt-bindings/clock/qcom,nord-negcc.h>
#include <dt-bindings/clock/qcom,nord-nwgcc.h>
#include <dt-bindings/clock/qcom,nord-segcc.h>
@@ -772,6 +776,17 @@ hscnoc: interconnect@2000000 {
qcom,bcm-voters = <&apps_bcm_voter>;
};
+ gpucc: clock-controller@3d90000 {
+ compatible = "qcom,nord-gpucc";
+ reg = <0x0 0x03d90000 0x0 0x9800>;
+ clocks = <&rpmhcc RPMH_CXO_CLK>,
+ <&nwgcc NW_GCC_GPU_GPLL0_CLK_SRC>,
+ <&nwgcc NW_GCC_GPU_GPLL0_DIV_CLK_SRC>;
+ #clock-cells = <1>;
+ #reset-cells = <1>;
+ #power-domain-cells = <1>;
+ };
+
hpass_ag_noc: interconnect@5fc0000 {
compatible = "qcom,nord-hpass-ag-noc";
reg = <0x0 0x05fc0000 0x0 0x37080>;
@@ -814,6 +829,99 @@ nwgcc: clock-controller@8b00000 {
#power-domain-cells = <1>;
};
+ dispcc1: clock-controller@8d00000 {
+ compatible = "qcom,nord-dispcc1";
+ reg = <0x0 0x08d00000 0x0 0x20000>;
+ clocks = <&bi_tcxo_div2>,
+ <&bi_tcxo_ao_div2>,
+ <&nwgcc NW_GCC_DISP_1_AHB_CLK>,
+ <&sleep_clk>,
+ <0>,
+ <0>,
+ <0>,
+ <0>,
+ <0>,
+ <0>,
+ <0>,
+ <0>,
+ <0>,
+ <0>,
+ <0>,
+ <0>;
+ power-domains = <&rpmhpd RPMHPD_MMCX>;
+ required-opps = <&rpmhpd_opp_min_svs>;
+ #clock-cells = <1>;
+ #reset-cells = <1>;
+ #power-domain-cells = <1>;
+ };
+
+ gpu2cc: clock-controller@9890000 {
+ compatible = "qcom,nord-gpu2cc";
+ reg = <0x0 0x09890000 0x0 0xa000>;
+ clocks = <&bi_tcxo_div2>,
+ <&negcc NE_GCC_GPU_2_GPLL0_CLK_SRC>,
+ <&negcc NE_GCC_GPU_2_GPLL0_DIV_CLK_SRC>;
+ #clock-cells = <1>;
+ #reset-cells = <1>;
+ #power-domain-cells = <1>;
+ };
+
+ camcc: clock-controller@9ce0000 {
+ compatible = "qcom,nord-camcc";
+ reg = <0x0 0x09ce0000 0x0 0x20000>;
+ power-domains = <&rpmhpd RPMHPD_MMCX>,
+ <&rpmhpd RPMHPD_MXC>;
+ required-opps = <&rpmhpd_opp_low_svs>,
+ <&rpmhpd_opp_low_svs>;
+ clocks = <&nwgcc NW_GCC_CAMERA_AHB_CLK>,
+ <&bi_tcxo_div2>,
+ <&bi_tcxo_ao_div2>,
+ <&sleep_clk>;
+ #clock-cells = <1>;
+ #reset-cells = <1>;
+ #power-domain-cells = <1>;
+ };
+
+ videocc: clock-controller@aaf0000 {
+ compatible = "qcom,nord-videocc";
+ reg = <0x0 0x0aaf0000 0x0 0x10000>;
+ clocks = <&bi_tcxo_div2>,
+ <&nwgcc NW_GCC_VIDEO_AHB_CLK>;
+ power-domains = <&rpmhpd RPMHPD_MMCX>,
+ <&rpmhpd RPMHPD_MXC>;
+ required-opps = <&rpmhpd_opp_low_svs>,
+ <&rpmhpd_opp_low_svs>;
+ #clock-cells = <1>;
+ #reset-cells = <1>;
+ #power-domain-cells = <1>;
+ };
+
+ dispcc0: clock-controller@af00000 {
+ compatible = "qcom,nord-dispcc0";
+ reg = <0x0 0x0af00000 0x0 0x20000>;
+ clocks = <&bi_tcxo_div2>,
+ <&bi_tcxo_ao_div2>,
+ <&nwgcc NW_GCC_DISP_0_AHB_CLK>,
+ <&sleep_clk>,
+ <0>,
+ <0>,
+ <0>,
+ <0>,
+ <0>,
+ <0>,
+ <0>,
+ <0>,
+ <0>,
+ <0>,
+ <0>,
+ <0>;
+ power-domains = <&rpmhpd RPMHPD_MMCX>;
+ required-opps = <&rpmhpd_opp_min_svs>;
+ #clock-cells = <1>;
+ #reset-cells = <1>;
+ #power-domain-cells = <1>;
+ };
+
tcsrcc: clock-controller@f1d9000 {
compatible = "qcom,nord-tcsrcc",
"syscon";
--
2.43.0
^ permalink raw reply related [flat|nested] 3+ messages in thread* Re: [PATCH v2] arm64: dts: qcom: nord: Add more clock controller nodes
2026-09-24 9:44 [PATCH v2] arm64: dts: qcom: nord: Add more clock controller nodes Shawn Guo
@ 2026-09-24 10:02 ` sashiko-bot
2026-09-24 11:26 ` Abel Vesa
1 sibling, 0 replies; 3+ messages in thread
From: sashiko-bot @ 2026-09-24 10:02 UTC (permalink / raw)
To: Shawn Guo; +Cc: robh, conor+dt, devicetree
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [High] dts: qcom: nord: videocc clocks array missing sleep clock expected by driver
- [Medium] dts: qcom: nord: missing dt-bindings include for qcom,nord-gpu2cc
--
commit 50b73c21a4d9dbed8364bdbdaafc468f32d0f651
Author: Taniya Das <taniya.das@oss.qualcomm.com>
arm64: dts: qcom: nord: Add more clock controller nodes
This commit adds the GPU, camera, video, and display clock controller nodes
for the Qualcomm Nord SoC. It also adds their required dt-bindings includes.
Link: https://lore.kernel.org/all/20260920081049.2183845-1-shengchao.guo@oss.qualcomm.com/
> diff --git a/arch/arm64/boot/dts/qcom/nord-embedded.dtsi b/arch/arm64/boot/dts/qcom/nord-embedded.dtsi
> index 568fe68cd1859..1ab7d9bc3cfed 100644
> --- a/arch/arm64/boot/dts/qcom/nord-embedded.dtsi
> +++ b/arch/arm64/boot/dts/qcom/nord-embedded.dtsi
> @@ -3,7 +3,11 @@
> * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
> */
>
> +#include <dt-bindings/clock/qcom,glymur-videocc.h>
> +#include <dt-bindings/clock/qcom,nord-camcc.h>
> +#include <dt-bindings/clock/qcom,nord-dispcc.h>
> #include <dt-bindings/clock/qcom,nord-gcc.h>
> +#include <dt-bindings/clock/qcom,nord-gpucc.h>
[Severity: Medium]
Should there be an include for <dt-bindings/clock/qcom,nord-gpu2cc.h> in
this list?
The commit adds the gpu2cc node further down in the file, but without the
corresponding dt-bindings header, any future consumer nodes referencing the
gpu2cc clock identifiers will fail to compile.
[ ... ]
> @@ -814,6 +829,99 @@ nwgcc: clock-controller@8b00000 {
[ ... ]
> + gpu2cc: clock-controller@9890000 {
> + compatible = "qcom,nord-gpu2cc";
> + reg = <0x0 0x09890000 0x0 0xa000>;
> + clocks = <&bi_tcxo_div2>,
> + <&negcc NE_GCC_GPU_2_GPLL0_CLK_SRC>,
> + <&negcc NE_GCC_GPU_2_GPLL0_DIV_CLK_SRC>;
> + #clock-cells = <1>;
> + #reset-cells = <1>;
> + #power-domain-cells = <1>;
> + };
[ ... ]
> + videocc: clock-controller@aaf0000 {
> + compatible = "qcom,nord-videocc";
> + reg = <0x0 0x0aaf0000 0x0 0x10000>;
> + clocks = <&bi_tcxo_div2>,
> + <&nwgcc NW_GCC_VIDEO_AHB_CLK>;
[Severity: High]
Will the common clock framework fail to resolve the parent for the sleep clock
here?
The videocc-glymur.c driver defines DT_SLEEP_CLK as index 2 and uses it as
the parent for video_cc_sleep_clk_src. Because this device tree node only
provides two clocks, index 2 will be out of bounds, resulting in a parent
resolution failure (-EINVAL).
Also, mapping the AHB clock to index 1 appears to be incorrect, because the
driver maps index 1 to DT_BI_TCXO_AO, which isn't actively used as a parent
here.
> + power-domains = <&rpmhpd RPMHPD_MMCX>,
> + <&rpmhpd RPMHPD_MXC>;
> + required-opps = <&rpmhpd_opp_low_svs>,
> + <&rpmhpd_opp_low_svs>;
> + #clock-cells = <1>;
> + #reset-cells = <1>;
> + #power-domain-cells = <1>;
> + };
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260924094448.1030807-1-shengchao.guo@oss.qualcomm.com?part=1
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [PATCH v2] arm64: dts: qcom: nord: Add more clock controller nodes
2026-09-24 9:44 [PATCH v2] arm64: dts: qcom: nord: Add more clock controller nodes Shawn Guo
2026-09-24 10:02 ` sashiko-bot
@ 2026-09-24 11:26 ` Abel Vesa
1 sibling, 0 replies; 3+ messages in thread
From: Abel Vesa @ 2026-09-24 11:26 UTC (permalink / raw)
To: Shawn Guo
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Bartosz Golaszewski, devicetree, linux-arm-msm,
linux-kernel, Taniya Das, Bartosz Golaszewski
On 26-09-24 17:44:48, Shawn Guo wrote:
> From: Taniya Das <taniya.das@oss.qualcomm.com>
>
> Add the GPU, camera, video, and display clock controller nodes for
> the Qualcomm Nord SoC, along with their required dt-bindings includes.
>
> Signed-off-by: Taniya Das <taniya.das@oss.qualcomm.com>
> Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
> Signed-off-by: Shawn Guo <shengchao.guo@oss.qualcomm.com>
Reviewed-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-09-24 11:26 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-24 9:44 [PATCH v2] arm64: dts: qcom: nord: Add more clock controller nodes Shawn Guo
2026-09-24 10:02 ` sashiko-bot
2026-09-24 11:26 ` Abel Vesa
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox