* [PATCH 1/3] dt-bindings: interconnect: Add Qualcomm IPQ9650 support
2026-05-19 8:47 [PATCH 0/3] Enable icc-clk support for Qualcomm IPQ9650 Kathiravan Thirumoorthy
@ 2026-05-19 8:47 ` Kathiravan Thirumoorthy
2026-05-19 8:47 ` [PATCH 2/3] clk: qcom: ipq9650: Use icc-clk for enabling NoC related clocks Kathiravan Thirumoorthy
` (3 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: Kathiravan Thirumoorthy @ 2026-05-19 8:47 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,
Kathiravan Thirumoorthy
Add master/slave IDs for Qualcomm IPQ9650 Network-on-Chip interfaces to
support the gcc-ipq9650 driver in providing interconnect services via
the icc-clk framework.
Signed-off-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com>
---
include/dt-bindings/interconnect/qcom,ipq9650.h | 28 +++++++++++++++++++++++++
1 file changed, 28 insertions(+)
diff --git a/include/dt-bindings/interconnect/qcom,ipq9650.h b/include/dt-bindings/interconnect/qcom,ipq9650.h
new file mode 100644
index 000000000000..023a3878cc08
--- /dev/null
+++ b/include/dt-bindings/interconnect/qcom,ipq9650.h
@@ -0,0 +1,28 @@
+/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
+#ifndef INTERCONNECT_QCOM_IPQ9650_H
+#define INTERCONNECT_QCOM_IPQ9650_H
+
+#define MASTER_ANOC_PCIE0 0
+#define SLAVE_ANOC_PCIE0 1
+#define MASTER_CNOC_PCIE0 2
+#define SLAVE_CNOC_PCIE0 3
+#define MASTER_ANOC_PCIE1 4
+#define SLAVE_ANOC_PCIE1 5
+#define MASTER_CNOC_PCIE1 6
+#define SLAVE_CNOC_PCIE1 7
+#define MASTER_ANOC_PCIE2 8
+#define SLAVE_ANOC_PCIE2 9
+#define MASTER_CNOC_PCIE2 10
+#define SLAVE_CNOC_PCIE2 11
+#define MASTER_ANOC_PCIE3 12
+#define SLAVE_ANOC_PCIE3 13
+#define MASTER_CNOC_PCIE3 14
+#define SLAVE_CNOC_PCIE3 15
+#define MASTER_ANOC_PCIE4 16
+#define SLAVE_ANOC_PCIE4 17
+#define MASTER_CNOC_PCIE4 18
+#define SLAVE_CNOC_PCIE4 19
+#define MASTER_SNOC_USB 20
+#define SLAVE_SNOC_USB 21
+
+#endif /* INTERCONNECT_QCOM_IPQ9650_H */
--
2.34.1
^ permalink raw reply related [flat|nested] 7+ messages in thread* [PATCH 2/3] clk: qcom: ipq9650: Use icc-clk for enabling NoC related clocks
2026-05-19 8:47 [PATCH 0/3] Enable icc-clk support for Qualcomm IPQ9650 Kathiravan Thirumoorthy
2026-05-19 8:47 ` [PATCH 1/3] dt-bindings: interconnect: Add Qualcomm IPQ9650 support Kathiravan Thirumoorthy
@ 2026-05-19 8:47 ` Kathiravan Thirumoorthy
2026-05-19 8:47 ` [PATCH 3/3] arm64: dts: qcom: ipq9650: add interconnect-cells to GCC node Kathiravan Thirumoorthy
` (2 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: Kathiravan Thirumoorthy @ 2026-05-19 8:47 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,
Kathiravan Thirumoorthy, Konrad Dybcio
Register NoC clocks for PCIe and USB interconnect paths using the
icc-clk framework. Without this, the clocks required to create
interconnect paths and access peripherals connected to these NoCs are
not properly managed.
Also add icc_sync_state to ensure clock states are synchronized after all
consumers have probed.
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com>
---
drivers/clk/qcom/gcc-ipq9650.c | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/drivers/clk/qcom/gcc-ipq9650.c b/drivers/clk/qcom/gcc-ipq9650.c
index c556c2bbfd96..6b43958f3bf1 100644
--- a/drivers/clk/qcom/gcc-ipq9650.c
+++ b/drivers/clk/qcom/gcc-ipq9650.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,ipq9650-gcc.h>
+#include <dt-bindings/interconnect/qcom,ipq9650.h>
#include <dt-bindings/reset/qcom,ipq9650-gcc.h>
#include "clk-alpha-pll.h"
@@ -3385,6 +3387,22 @@ static const struct qcom_reset_map gcc_ipq9650_resets[] = {
[GCC_USB_BCR] = { 0x2c000 },
};
+#define IPQ_APPS_ID 9650 /* some unique value */
+
+static const struct qcom_icc_hws_data icc_ipq9650_hws[] = {
+ { MASTER_ANOC_PCIE0, SLAVE_ANOC_PCIE0, GCC_ANOC_PCIE0_1LANE_M_CLK },
+ { MASTER_CNOC_PCIE0, SLAVE_CNOC_PCIE0, GCC_ANOC_PCIE0_1LANE_S_CLK },
+ { MASTER_ANOC_PCIE1, SLAVE_ANOC_PCIE1, GCC_ANOC_PCIE1_2LANE_M_CLK },
+ { MASTER_CNOC_PCIE1, SLAVE_CNOC_PCIE1, GCC_ANOC_PCIE1_2LANE_S_CLK },
+ { MASTER_ANOC_PCIE2, SLAVE_ANOC_PCIE2, GCC_ANOC_PCIE2_2LANE_M_CLK },
+ { MASTER_CNOC_PCIE2, SLAVE_CNOC_PCIE2, GCC_ANOC_PCIE2_2LANE_S_CLK },
+ { MASTER_ANOC_PCIE3, SLAVE_ANOC_PCIE3, GCC_ANOC_PCIE3_2LANE_M_CLK },
+ { MASTER_CNOC_PCIE3, SLAVE_CNOC_PCIE3, GCC_ANOC_PCIE3_2LANE_S_CLK },
+ { MASTER_ANOC_PCIE4, SLAVE_ANOC_PCIE4, GCC_ANOC_PCIE4_1LANE_M_CLK },
+ { MASTER_CNOC_PCIE4, SLAVE_CNOC_PCIE4, GCC_ANOC_PCIE4_1LANE_S_CLK },
+ { MASTER_SNOC_USB, SLAVE_SNOC_USB, GCC_SNOC_USB_CLK },
+};
+
static const struct of_device_id gcc_ipq9650_match_table[] = {
{ .compatible = "qcom,ipq9650-gcc" },
{ }
@@ -3414,6 +3432,9 @@ static const struct qcom_cc_desc gcc_ipq9650_desc = {
.num_resets = ARRAY_SIZE(gcc_ipq9650_resets),
.clk_hws = gcc_ipq9650_hws,
.num_clk_hws = ARRAY_SIZE(gcc_ipq9650_hws),
+ .icc_hws = icc_ipq9650_hws,
+ .num_icc_hws = ARRAY_SIZE(icc_ipq9650_hws),
+ .icc_first_node_id = IPQ_APPS_ID,
};
static int gcc_ipq9650_probe(struct platform_device *pdev)
@@ -3426,6 +3447,7 @@ static struct platform_driver gcc_ipq9650_driver = {
.driver = {
.name = "qcom,gcc-ipq9650",
.of_match_table = gcc_ipq9650_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: ipq9650: add interconnect-cells to GCC node
2026-05-19 8:47 [PATCH 0/3] Enable icc-clk support for Qualcomm IPQ9650 Kathiravan Thirumoorthy
2026-05-19 8:47 ` [PATCH 1/3] dt-bindings: interconnect: Add Qualcomm IPQ9650 support Kathiravan Thirumoorthy
2026-05-19 8:47 ` [PATCH 2/3] clk: qcom: ipq9650: Use icc-clk for enabling NoC related clocks Kathiravan Thirumoorthy
@ 2026-05-19 8:47 ` Kathiravan Thirumoorthy
2026-06-02 5:08 ` [PATCH 0/3] Enable icc-clk support for Qualcomm IPQ9650 Kathiravan Thirumoorthy
2026-06-30 15:06 ` Manuel Ebner
4 siblings, 0 replies; 7+ messages in thread
From: Kathiravan Thirumoorthy @ 2026-05-19 8:47 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,
Kathiravan Thirumoorthy, Konrad Dybcio
Add the '#interconnect-cells' property to the GCC clock controller node
to allow NOC-related clocks to be managed via the icc-clk framework.
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/ipq9650.dtsi | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm64/boot/dts/qcom/ipq9650.dtsi b/arch/arm64/boot/dts/qcom/ipq9650.dtsi
index 3d3b317c6a3c..4c442773de53 100644
--- a/arch/arm64/boot/dts/qcom/ipq9650.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq9650.dtsi
@@ -225,6 +225,7 @@ gcc: clock-controller@1800000 {
<0>;
#clock-cells = <1>;
#reset-cells = <1>;
+ #interconnect-cells = <1>;
};
tcsr_mutex: hwlock@1917000 {
--
2.34.1
^ permalink raw reply related [flat|nested] 7+ messages in thread* Re: [PATCH 0/3] Enable icc-clk support for Qualcomm IPQ9650
2026-05-19 8:47 [PATCH 0/3] Enable icc-clk support for Qualcomm IPQ9650 Kathiravan Thirumoorthy
` (2 preceding siblings ...)
2026-05-19 8:47 ` [PATCH 3/3] arm64: dts: qcom: ipq9650: add interconnect-cells to GCC node Kathiravan Thirumoorthy
@ 2026-06-02 5:08 ` Kathiravan Thirumoorthy
2026-06-30 11:16 ` Kathiravan Thirumoorthy
2026-06-30 15:06 ` Manuel Ebner
4 siblings, 1 reply; 7+ messages in thread
From: Kathiravan Thirumoorthy @ 2026-06-02 5:08 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,
Konrad Dybcio
On 5/19/2026 2:17 PM, Kathiravan Thirumoorthy wrote:
> Add the master and slave interconnect IDs for the PCIe and USB
> peripherals and enable them in the GCC driver for the peripheral
> enablement.
>
> Signed-off-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com>
> ---
> Kathiravan Thirumoorthy (3):
> dt-bindings: interconnect: Add Qualcomm IPQ9650 support
> clk: qcom: ipq9650: Use icc-clk for enabling NoC related clocks
> arm64: dts: qcom: ipq9650: add interconnect-cells to GCC node
Bjorn, Gentle ping... Can this be picked up for v7.2?
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [PATCH 0/3] Enable icc-clk support for Qualcomm IPQ9650
2026-06-02 5:08 ` [PATCH 0/3] Enable icc-clk support for Qualcomm IPQ9650 Kathiravan Thirumoorthy
@ 2026-06-30 11:16 ` Kathiravan Thirumoorthy
0 siblings, 0 replies; 7+ messages in thread
From: Kathiravan Thirumoorthy @ 2026-06-30 11:16 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,
Konrad Dybcio
On 6/2/2026 10:38 AM, Kathiravan Thirumoorthy wrote:
>
> On 5/19/2026 2:17 PM, Kathiravan Thirumoorthy wrote:
>> Add the master and slave interconnect IDs for the PCIe and USB
>> peripherals and enable them in the GCC driver for the peripheral
>> enablement.
>>
>> Signed-off-by: Kathiravan Thirumoorthy
>> <kathiravan.thirumoorthy@oss.qualcomm.com>
>> ---
>> Kathiravan Thirumoorthy (3):
>> dt-bindings: interconnect: Add Qualcomm IPQ9650 support
>> clk: qcom: ipq9650: Use icc-clk for enabling NoC related clocks
>> arm64: dts: qcom: ipq9650: add interconnect-cells to GCC node
>
> Bjorn, Gentle ping... Can this be picked up for v7.2?
Bjorn, Gentle ping... (applies cleanly on next-20260629).
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 0/3] Enable icc-clk support for Qualcomm IPQ9650
2026-05-19 8:47 [PATCH 0/3] Enable icc-clk support for Qualcomm IPQ9650 Kathiravan Thirumoorthy
` (3 preceding siblings ...)
2026-06-02 5:08 ` [PATCH 0/3] Enable icc-clk support for Qualcomm IPQ9650 Kathiravan Thirumoorthy
@ 2026-06-30 15:06 ` Manuel Ebner
4 siblings, 0 replies; 7+ messages in thread
From: Manuel Ebner @ 2026-06-30 15:06 UTC (permalink / raw)
To: Kathiravan Thirumoorthy, 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,
Konrad Dybcio
On Tue, 2026-05-19 at 14:17 +0530, Kathiravan Thirumoorthy wrote:
> Add the master and slave
coding-style.rst line 340 suggest:
> For symbol names and documentation, avoid introducing new usage of
> 'master / slave' (or 'slave' independent of 'master') and 'blacklist /
> whitelist'.
>
> Recommended replacements for 'master / slave' are:
> '{primary,main} / {secondary,replica,subordinate}'
> '{initiator,requester} / {target,responder}'
> '{controller,host} / {device,worker,proxy}'
> 'leader / follower'
> 'director / performer'
Please consider changing terms.
Thanks
Manuel
^ permalink raw reply [flat|nested] 7+ messages in thread