* [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-08-11 10:19 ` Dmitry Baryshkov
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, 1 reply; 11+ 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] 11+ messages in thread* Re: [PATCH 1/3] dt-bindings: interconnect: Add Qualcomm IPQ9650 support
2026-05-19 8:47 ` [PATCH 1/3] dt-bindings: interconnect: Add Qualcomm IPQ9650 support Kathiravan Thirumoorthy
@ 2026-08-11 10:19 ` Dmitry Baryshkov
2026-08-11 14:32 ` Georgi Djakov
0 siblings, 1 reply; 11+ messages in thread
From: Dmitry Baryshkov @ 2026-08-11 10:19 UTC (permalink / raw)
To: Kathiravan Thirumoorthy
Cc: Georgi Djakov, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bjorn Andersson, Michael Turquette, Stephen Boyd, Brian Masney,
Konrad Dybcio, linux-kernel, linux-arm-msm, linux-pm, devicetree,
linux-clk
On Tue, May 19, 2026 at 02:17:05PM +0530, Kathiravan Thirumoorthy wrote:
> 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.
Please consider adding an explanatory text. Something like:
On Qualcomm IPQ9650 platform the interconnect busses don't have separate
RPM / RPMh controls. Instead they require direct votes through the GCC.
To unify hardware descriptions (and software interfaces) between this
platform and other Qualcomm platforms, make GCC export corresponding NoC
clocks as interconnects. Add IDs for these Network-on-Chip interfaces.
The GCC schema already defines #interconnect-cells since it was added in
the commit f92b778251ad ("dt-bindings: clock: add Qualcomm IPQ9650
GCC").
> Signed-off-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com>
> ---
> include/dt-bindings/interconnect/qcom,ipq9650.h | 28 +++++++++++++++++++++++++
> 1 file changed, 28 insertions(+)
Georgi, any feedback from you? Would you ack merging this patch through
the Bjorn's trees? Or would you rather pick it up on your own?
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 11+ messages in thread* Re: [PATCH 1/3] dt-bindings: interconnect: Add Qualcomm IPQ9650 support
2026-08-11 10:19 ` Dmitry Baryshkov
@ 2026-08-11 14:32 ` Georgi Djakov
0 siblings, 0 replies; 11+ messages in thread
From: Georgi Djakov @ 2026-08-11 14:32 UTC (permalink / raw)
To: Dmitry Baryshkov, Kathiravan Thirumoorthy, Bjorn Andersson
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Michael Turquette,
Stephen Boyd, Brian Masney, Konrad Dybcio, linux-kernel,
linux-arm-msm, linux-pm, devicetree, linux-clk
On 8/11/26 1:19 PM, Dmitry Baryshkov wrote:
> On Tue, May 19, 2026 at 02:17:05PM +0530, Kathiravan Thirumoorthy wrote:
>> 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.
>
> Please consider adding an explanatory text. Something like:
>
> On Qualcomm IPQ9650 platform the interconnect busses don't have separate
> RPM / RPMh controls. Instead they require direct votes through the GCC.
> To unify hardware descriptions (and software interfaces) between this
> platform and other Qualcomm platforms, make GCC export corresponding NoC
> clocks as interconnects. Add IDs for these Network-on-Chip interfaces.
> The GCC schema already defines #interconnect-cells since it was added in
> the commit f92b778251ad ("dt-bindings: clock: add Qualcomm IPQ9650
> GCC").
>
>> Signed-off-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com>
>> ---
>> include/dt-bindings/interconnect/qcom,ipq9650.h | 28 +++++++++++++++++++++++++
>> 1 file changed, 28 insertions(+)
>
> Georgi, any feedback from you? Would you ack merging this patch through
> the Bjorn's trees? Or would you rather pick it up on your own?
>
I think it would be best if this goes together with the code that is using it.
Acked-by: Georgi Djakov <djakov@kernel.org>
^ permalink raw reply [flat|nested] 11+ 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-08-11 10:10 ` Dmitry Baryshkov
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, 1 reply; 11+ 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] 11+ messages in thread* Re: [PATCH 2/3] clk: qcom: ipq9650: Use icc-clk for enabling NoC related clocks
2026-05-19 8:47 ` [PATCH 2/3] clk: qcom: ipq9650: Use icc-clk for enabling NoC related clocks Kathiravan Thirumoorthy
@ 2026-08-11 10:10 ` Dmitry Baryshkov
0 siblings, 0 replies; 11+ messages in thread
From: Dmitry Baryshkov @ 2026-08-11 10:10 UTC (permalink / raw)
To: Kathiravan Thirumoorthy
Cc: Georgi Djakov, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bjorn Andersson, Michael Turquette, Stephen Boyd, Brian Masney,
Konrad Dybcio, linux-kernel, linux-arm-msm, linux-pm, devicetree,
linux-clk, Konrad Dybcio
On Tue, May 19, 2026 at 02:17:06PM +0530, Kathiravan Thirumoorthy wrote:
> 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(+)
>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 11+ 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-08-11 10:10 ` Dmitry Baryshkov
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, 1 reply; 11+ 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] 11+ messages in thread* Re: [PATCH 3/3] arm64: dts: qcom: ipq9650: add interconnect-cells to GCC node
2026-05-19 8:47 ` [PATCH 3/3] arm64: dts: qcom: ipq9650: add interconnect-cells to GCC node Kathiravan Thirumoorthy
@ 2026-08-11 10:10 ` Dmitry Baryshkov
0 siblings, 0 replies; 11+ messages in thread
From: Dmitry Baryshkov @ 2026-08-11 10:10 UTC (permalink / raw)
To: Kathiravan Thirumoorthy
Cc: Georgi Djakov, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bjorn Andersson, Michael Turquette, Stephen Boyd, Brian Masney,
Konrad Dybcio, linux-kernel, linux-arm-msm, linux-pm, devicetree,
linux-clk, Konrad Dybcio
On Tue, May 19, 2026 at 02:17:07PM +0530, Kathiravan Thirumoorthy wrote:
> 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(+)
>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 11+ 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; 11+ 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] 11+ 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; 11+ 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] 11+ 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; 11+ 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] 11+ messages in thread