* [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; 6+ 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] 6+ 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 4:05 ` [PATCH 3/3] arm64: dts: qcom: ipq5210: Enable interconnect capability to clock controller Varadarajan Narayanan
2 siblings, 1 reply; 6+ 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] 6+ 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; 6+ 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] 6+ messages in thread