Devicetree
 help / color / mirror / Atom feed
* [PATCH 0/3] Enable icc-clk support for Qualcomm ipq5210
@ 2026-05-14  4:05 Varadarajan Narayanan
  2026-05-14  4:05 ` [PATCH 1/3] dt-bindings: interconnect: Add Qualcomm ipq5210 support Varadarajan Narayanan
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Varadarajan Narayanan @ 2026-05-14  4:05 UTC (permalink / raw)
  To: Georgi Djakov, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Bjorn Andersson, Michael Turquette, Stephen Boyd, Brian Masney,
	Konrad Dybcio
  Cc: linux-kernel, linux-arm-msm, linux-pm, devicetree, linux-clk,
	Varadarajan Narayanan

Add relevant master/slave ids and update the gcc-ipq5210
driver to enable icc-clk support.

Signed-off-by: Varadarajan Narayanan <varadarajan.narayanan@oss.qualcomm.com>
---
Varadarajan Narayanan (3):
      dt-bindings: interconnect: Add Qualcomm ipq5210 support
      clk: qcom: ipq5210: Use icc-clk for enabling NoC related clocks
      arm64: dts: qcom: ipq5210: Enable interconnect capability to clock controller

 arch/arm64/boot/dts/qcom/ipq5210.dtsi           |  1 +
 drivers/clk/qcom/gcc-ipq5210.c                  | 16 ++++++++++++++++
 include/dt-bindings/interconnect/qcom,ipq5210.h | 16 ++++++++++++++++
 3 files changed, 33 insertions(+)
---
base-commit: e98d21c170b01ddef366f023bbfcf6b31509fa83
change-id: 20260514-icc-ipq5210-0ab03f3a3e83

Best regards,
-- 
Varadarajan Narayanan <varadarajan.narayanan@oss.qualcomm.com>


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 1/3] dt-bindings: interconnect: Add Qualcomm ipq5210 support
  2026-05-14  4:05 [PATCH 0/3] Enable icc-clk support for Qualcomm ipq5210 Varadarajan Narayanan
@ 2026-05-14  4:05 ` Varadarajan Narayanan
  2026-05-14  4:05 ` [PATCH 2/3] clk: qcom: ipq5210: Use icc-clk for enabling NoC related clocks Varadarajan Narayanan
  2026-05-14  4:05 ` [PATCH 3/3] arm64: dts: qcom: ipq5210: Enable interconnect capability to clock controller Varadarajan Narayanan
  2 siblings, 0 replies; 7+ messages in thread
From: Varadarajan Narayanan @ 2026-05-14  4:05 UTC (permalink / raw)
  To: Georgi Djakov, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Bjorn Andersson, Michael Turquette, Stephen Boyd, Brian Masney,
	Konrad Dybcio
  Cc: linux-kernel, linux-arm-msm, linux-pm, devicetree, linux-clk,
	Varadarajan Narayanan

Add master/slave ids for Qualcomm ipq5210 Network-On-Chip
interfaces. This will be used by the gcc-ipq5210 driver
for providing interconnect services using the icc-clk framework.

Signed-off-by: Varadarajan Narayanan <varadarajan.narayanan@oss.qualcomm.com>
---
 include/dt-bindings/interconnect/qcom,ipq5210.h | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/include/dt-bindings/interconnect/qcom,ipq5210.h b/include/dt-bindings/interconnect/qcom,ipq5210.h
new file mode 100644
index 000000000000..90c0395e4596
--- /dev/null
+++ b/include/dt-bindings/interconnect/qcom,ipq5210.h
@@ -0,0 +1,16 @@
+/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
+#ifndef INTERCONNECT_QCOM_IPQ5210_H
+#define INTERCONNECT_QCOM_IPQ5210_H
+
+#define MASTER_CNOC_PCIE0	0
+#define SLAVE_CNOC_PCIE0	1
+#define MASTER_CNOC_PCIE1	2
+#define SLAVE_CNOC_PCIE1	3
+#define MASTER_SNOC_PCIE0	4
+#define SLAVE_SNOC_PCIE0	5
+#define MASTER_SNOC_PCIE1	6
+#define SLAVE_SNOC_PCIE1	7
+#define MASTER_USB		8
+#define SLAVE_USB		9
+
+#endif /* INTERCONNECT_QCOM_IPQ5210_H */

-- 
2.34.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 2/3] clk: qcom: ipq5210: Use icc-clk for enabling NoC related clocks
  2026-05-14  4:05 [PATCH 0/3] Enable icc-clk support for Qualcomm ipq5210 Varadarajan Narayanan
  2026-05-14  4:05 ` [PATCH 1/3] dt-bindings: interconnect: Add Qualcomm ipq5210 support Varadarajan Narayanan
@ 2026-05-14  4:05 ` Varadarajan Narayanan
  2026-05-14 10:41   ` Konrad Dybcio
  2026-05-14 17:40   ` sashiko-bot
  2026-05-14  4:05 ` [PATCH 3/3] arm64: dts: qcom: ipq5210: Enable interconnect capability to clock controller Varadarajan Narayanan
  2 siblings, 2 replies; 7+ messages in thread
From: Varadarajan Narayanan @ 2026-05-14  4:05 UTC (permalink / raw)
  To: Georgi Djakov, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Bjorn Andersson, Michael Turquette, Stephen Boyd, Brian Masney,
	Konrad Dybcio
  Cc: linux-kernel, linux-arm-msm, linux-pm, devicetree, linux-clk,
	Varadarajan Narayanan

Use the icc-clk framework to enable few clocks to be able to
create paths and use the peripherals connected on those NoCs.

Signed-off-by: Varadarajan Narayanan <varadarajan.narayanan@oss.qualcomm.com>
---
 drivers/clk/qcom/gcc-ipq5210.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/drivers/clk/qcom/gcc-ipq5210.c b/drivers/clk/qcom/gcc-ipq5210.c
index 3a786a21bdff..1111da24b512 100644
--- a/drivers/clk/qcom/gcc-ipq5210.c
+++ b/drivers/clk/qcom/gcc-ipq5210.c
@@ -4,11 +4,13 @@
  */
 
 #include <linux/clk-provider.h>
+#include <linux/interconnect-provider.h>
 #include <linux/module.h>
 #include <linux/platform_device.h>
 #include <linux/regmap.h>
 
 #include <dt-bindings/clock/qcom,ipq5210-gcc.h>
+#include <dt-bindings/interconnect/qcom,ipq5210.h>
 #include <dt-bindings/reset/qcom,ipq5210-gcc.h>
 
 #include "clk-alpha-pll.h"
@@ -2602,6 +2604,16 @@ static const struct qcom_reset_map gcc_ipq5210_resets[] = {
 	[GCC_QDSS_BCR] = { 0x2d000 },
 };
 
+#define IPQ_APPS_ID			5210	/* some unique value */
+
+static const struct qcom_icc_hws_data icc_ipq5210_hws[] = {
+	{ MASTER_CNOC_PCIE0, SLAVE_CNOC_PCIE0, GCC_CNOC_PCIE0_1LANE_S_CLK },
+	{ MASTER_CNOC_PCIE1, SLAVE_CNOC_PCIE1, GCC_CNOC_PCIE1_2LANE_S_CLK },
+	{ MASTER_SNOC_PCIE0, SLAVE_SNOC_PCIE0, GCC_SNOC_PCIE0_AXI_M_CLK },
+	{ MASTER_SNOC_PCIE1, SLAVE_SNOC_PCIE1, GCC_SNOC_PCIE1_AXI_M_CLK },
+	{ MASTER_USB, SLAVE_USB, GCC_CNOC_USB_CLK },
+};
+
 static const struct of_device_id gcc_ipq5210_match_table[] = {
 	{ .compatible = "qcom,ipq5210-gcc" },
 	{ }
@@ -2630,6 +2642,9 @@ static const struct qcom_cc_desc gcc_ipq5210_desc = {
 	.num_resets = ARRAY_SIZE(gcc_ipq5210_resets),
 	.clk_hws = gcc_ipq5210_hws,
 	.num_clk_hws = ARRAY_SIZE(gcc_ipq5210_hws),
+	.icc_hws = icc_ipq5210_hws,
+	.num_icc_hws = ARRAY_SIZE(icc_ipq5210_hws),
+	.icc_first_node_id = IPQ_APPS_ID,
 };
 
 static int gcc_ipq5210_probe(struct platform_device *pdev)
@@ -2642,6 +2657,7 @@ static struct platform_driver gcc_ipq5210_driver = {
 	.driver = {
 		.name   = "qcom,gcc-ipq5210",
 		.of_match_table = gcc_ipq5210_match_table,
+		.sync_state = icc_sync_state,
 	},
 };
 

-- 
2.34.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 3/3] arm64: dts: qcom: ipq5210: Enable interconnect capability to clock controller
  2026-05-14  4:05 [PATCH 0/3] Enable icc-clk support for Qualcomm ipq5210 Varadarajan Narayanan
  2026-05-14  4:05 ` [PATCH 1/3] dt-bindings: interconnect: Add Qualcomm ipq5210 support Varadarajan Narayanan
  2026-05-14  4:05 ` [PATCH 2/3] clk: qcom: ipq5210: Use icc-clk for enabling NoC related clocks Varadarajan Narayanan
@ 2026-05-14  4:05 ` Varadarajan Narayanan
  2026-05-14 10:42   ` Konrad Dybcio
  2 siblings, 1 reply; 7+ messages in thread
From: Varadarajan Narayanan @ 2026-05-14  4:05 UTC (permalink / raw)
  To: Georgi Djakov, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Bjorn Andersson, Michael Turquette, Stephen Boyd, Brian Masney,
	Konrad Dybcio
  Cc: linux-kernel, linux-arm-msm, linux-pm, devicetree, linux-clk,
	Varadarajan Narayanan

Add 'interconnect-cells' to the clock controller node. This will be
used for enabling NOC related clocks using icc-clk framework.

Signed-off-by: Varadarajan Narayanan <varadarajan.narayanan@oss.qualcomm.com>
---
 arch/arm64/boot/dts/qcom/ipq5210.dtsi | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm64/boot/dts/qcom/ipq5210.dtsi b/arch/arm64/boot/dts/qcom/ipq5210.dtsi
index 3761eb03ab24..480196ccfcc5 100644
--- a/arch/arm64/boot/dts/qcom/ipq5210.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq5210.dtsi
@@ -152,6 +152,7 @@ gcc: clock-controller@1800000 {
 				 <0>;
 			#clock-cells = <1>;
 			#reset-cells = <1>;
+			#interconnect-cells = <1>;
 		};
 
 		tcsr_mutex: hwlock@1905000 {

-- 
2.34.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/3] clk: qcom: ipq5210: Use icc-clk for enabling NoC related clocks
  2026-05-14  4:05 ` [PATCH 2/3] clk: qcom: ipq5210: Use icc-clk for enabling NoC related clocks Varadarajan Narayanan
@ 2026-05-14 10:41   ` Konrad Dybcio
  2026-05-14 17:40   ` sashiko-bot
  1 sibling, 0 replies; 7+ messages in thread
From: Konrad Dybcio @ 2026-05-14 10:41 UTC (permalink / raw)
  To: Varadarajan Narayanan, Georgi Djakov, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson,
	Michael Turquette, Stephen Boyd, Brian Masney, Konrad Dybcio
  Cc: linux-kernel, linux-arm-msm, linux-pm, devicetree, linux-clk

On 5/14/26 6:05 AM, Varadarajan Narayanan wrote:
> Use the icc-clk framework to enable few clocks to be able to
> create paths and use the peripherals connected on those NoCs.
> 
> Signed-off-by: Varadarajan Narayanan <varadarajan.narayanan@oss.qualcomm.com>
> ---

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>

Konrad

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 3/3] arm64: dts: qcom: ipq5210: Enable interconnect capability to clock controller
  2026-05-14  4:05 ` [PATCH 3/3] arm64: dts: qcom: ipq5210: Enable interconnect capability to clock controller Varadarajan Narayanan
@ 2026-05-14 10:42   ` Konrad Dybcio
  0 siblings, 0 replies; 7+ messages in thread
From: Konrad Dybcio @ 2026-05-14 10:42 UTC (permalink / raw)
  To: Varadarajan Narayanan, Georgi Djakov, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson,
	Michael Turquette, Stephen Boyd, Brian Masney, Konrad Dybcio
  Cc: linux-kernel, linux-arm-msm, linux-pm, devicetree, linux-clk

On 5/14/26 6:05 AM, Varadarajan Narayanan wrote:
> Add 'interconnect-cells' to the clock controller node. This will be
> used for enabling NOC related clocks using icc-clk framework.
> 
> Signed-off-by: Varadarajan Narayanan <varadarajan.narayanan@oss.qualcomm.com>
> ---

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>

Konrad

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/3] clk: qcom: ipq5210: Use icc-clk for enabling NoC related clocks
  2026-05-14  4:05 ` [PATCH 2/3] clk: qcom: ipq5210: Use icc-clk for enabling NoC related clocks Varadarajan Narayanan
  2026-05-14 10:41   ` Konrad Dybcio
@ 2026-05-14 17:40   ` sashiko-bot
  1 sibling, 0 replies; 7+ messages in thread
From: sashiko-bot @ 2026-05-14 17:40 UTC (permalink / raw)
  To: Varadarajan Narayanan; +Cc: devicetree, conor+dt, robh, krzk+dt

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] Unconditional use of `icc_sync_state` causes a build failure when `CONFIG_INTERCONNECT` is disabled.
--

commit 37903a411799e24a2be5123849fd59d7fd96d50a
Author: Varadarajan Narayanan <varadarajan.narayanan@oss.qualcomm.com>

clk: qcom: ipq5210: Use icc-clk for enabling NoC related clocks

This commit uses the icc-clk framework to enable NoC related clocks, adding
interconnect provider configurations. It introduces icc_hws mappings and
sets the sync_state callback to icc_sync_state.

> diff --git a/drivers/clk/qcom/gcc-ipq5210.c b/drivers/clk/qcom/gcc-ipq5210.c
> index 3a786a21bdff5..1111da24b512b 100644
> --- a/drivers/clk/qcom/gcc-ipq5210.c
> +++ b/drivers/clk/qcom/gcc-ipq5210.c
[ ... ]
> @@ -2642,6 +2657,7 @@ static struct platform_driver gcc_ipq5210_driver = {
>  	.driver = {
>  		.name   = "qcom,gcc-ipq5210",
>  		.of_match_table = gcc_ipq5210_match_table,
> +		.sync_state = icc_sync_state,

Will this cause a build failure when CONFIG_INTERCONNECT is disabled?

Looking at include/linux/interconnect-provider.h, icc_sync_state is only
declared when CONFIG_INTERCONNECT is enabled, and there appears to be no
empty inline stub provided for the disabled case. 

If this driver is compiled without the interconnect framework (for instance,
during a COMPILE_TEST), does it result in an undeclared identifier error?

>  	},
>  };

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260514-icc-ipq5210-v1-0-b5070dfbe460@oss.qualcomm.com?part=2

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2026-05-14 17:40 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-14  4:05 [PATCH 0/3] Enable icc-clk support for Qualcomm ipq5210 Varadarajan Narayanan
2026-05-14  4:05 ` [PATCH 1/3] dt-bindings: interconnect: Add Qualcomm ipq5210 support Varadarajan Narayanan
2026-05-14  4:05 ` [PATCH 2/3] clk: qcom: ipq5210: Use icc-clk for enabling NoC related clocks Varadarajan Narayanan
2026-05-14 10:41   ` Konrad Dybcio
2026-05-14 17:40   ` sashiko-bot
2026-05-14  4:05 ` [PATCH 3/3] arm64: dts: qcom: ipq5210: Enable interconnect capability to clock controller Varadarajan Narayanan
2026-05-14 10:42   ` Konrad Dybcio

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox