* [PATCH 01/11] clk: qcom: ipq5018: add 24MHz rate for USB UTMI clock
2026-09-21 6:19 [PATCH 00/11] Add a few minor enhancements to the Qualcomm IPQ GCC drivers Kathiravan Thirumoorthy
@ 2026-09-21 6:19 ` Kathiravan Thirumoorthy
2026-09-21 12:03 ` Abel Vesa
2026-09-21 6:19 ` [PATCH 02/11] clk: qcom: ipq5332: " Kathiravan Thirumoorthy
` (9 subsequent siblings)
10 siblings, 1 reply; 25+ messages in thread
From: Kathiravan Thirumoorthy @ 2026-09-21 6:19 UTC (permalink / raw)
To: Bjorn Andersson, Stephen Boyd, Brian Masney, Jerome Brunet,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Georgi Djakov,
Konrad Dybcio, Varadarajan Narayanan, Dmitry Baryshkov,
Abel Vesa, Gokul Sriram Palanisamy, Sricharan Ramabadhran,
Kathiravan T
Cc: linux-arm-msm, linux-clk, linux-kernel, devicetree, linux-pm,
Kathiravan Thirumoorthy, stable
The USB UTMI reference clock must operate at 24 MHz, as recommended
by the hardware team, for reliable USB operation.
Validation showed that USB 3.2 hub enumeration with USB 2.0 devices
fails when the UTMI reference clock is not configured to the required
24 MHz rate. Configuring the UTMI reference clock to 24 MHz to resolve
the enumeration failure and ensure successful device detection.
Cc: stable@vger.kernel.org
Fixes: e3fdbef1bab8 ("clk: qcom: Add Global Clock controller (GCC) driver for IPQ5018")
Signed-off-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com>
---
drivers/clk/qcom/gcc-ipq5018.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/clk/qcom/gcc-ipq5018.c b/drivers/clk/qcom/gcc-ipq5018.c
index 594dae3bac4c..7d0889eeffd5 100644
--- a/drivers/clk/qcom/gcc-ipq5018.c
+++ b/drivers/clk/qcom/gcc-ipq5018.c
@@ -1260,6 +1260,7 @@ static struct clk_rcg2 usb0_master_clk_src = {
};
static const struct freq_tbl ftbl_usb0_mock_utmi_clk_src[] = {
+ F(24000000, P_XO, 1, 0, 0),
F(60000000, P_GPLL4, 10, 1, 2),
{ }
};
--
2.34.1
^ permalink raw reply [flat|nested] 25+ messages in thread* Re: [PATCH 01/11] clk: qcom: ipq5018: add 24MHz rate for USB UTMI clock
2026-09-21 6:19 ` [PATCH 01/11] clk: qcom: ipq5018: add 24MHz rate for USB UTMI clock Kathiravan Thirumoorthy
@ 2026-09-21 12:03 ` Abel Vesa
0 siblings, 0 replies; 25+ messages in thread
From: Abel Vesa @ 2026-09-21 12:03 UTC (permalink / raw)
To: Kathiravan Thirumoorthy
Cc: Bjorn Andersson, Stephen Boyd, Brian Masney, Jerome Brunet,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Georgi Djakov,
Konrad Dybcio, Varadarajan Narayanan, Dmitry Baryshkov,
Abel Vesa, Gokul Sriram Palanisamy, Sricharan Ramabadhran,
Kathiravan T, linux-arm-msm, linux-clk, linux-kernel, devicetree,
linux-pm, stable
On 26-09-21 11:49:34, Kathiravan Thirumoorthy wrote:
> The USB UTMI reference clock must operate at 24 MHz, as recommended
> by the hardware team, for reliable USB operation.
>
> Validation showed that USB 3.2 hub enumeration with USB 2.0 devices
> fails when the UTMI reference clock is not configured to the required
> 24 MHz rate. Configuring the UTMI reference clock to 24 MHz to resolve
> the enumeration failure and ensure successful device detection.
>
> Cc: stable@vger.kernel.org
> Fixes: e3fdbef1bab8 ("clk: qcom: Add Global Clock controller (GCC) driver for IPQ5018")
> Signed-off-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com>
Reviewed-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH 02/11] clk: qcom: ipq5332: add 24MHz rate for USB UTMI clock
2026-09-21 6:19 [PATCH 00/11] Add a few minor enhancements to the Qualcomm IPQ GCC drivers Kathiravan Thirumoorthy
2026-09-21 6:19 ` [PATCH 01/11] clk: qcom: ipq5018: add 24MHz rate for USB UTMI clock Kathiravan Thirumoorthy
@ 2026-09-21 6:19 ` Kathiravan Thirumoorthy
2026-09-21 12:03 ` Abel Vesa
2026-09-21 6:19 ` [PATCH 03/11] clk: qcom: ipq5210: " Kathiravan Thirumoorthy
` (8 subsequent siblings)
10 siblings, 1 reply; 25+ messages in thread
From: Kathiravan Thirumoorthy @ 2026-09-21 6:19 UTC (permalink / raw)
To: Bjorn Andersson, Stephen Boyd, Brian Masney, Jerome Brunet,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Georgi Djakov,
Konrad Dybcio, Varadarajan Narayanan, Dmitry Baryshkov,
Abel Vesa, Gokul Sriram Palanisamy, Sricharan Ramabadhran,
Kathiravan T
Cc: linux-arm-msm, linux-clk, linux-kernel, devicetree, linux-pm,
Kathiravan Thirumoorthy, stable
The USB UTMI reference clock must operate at 24 MHz, as recommended
by the hardware team, for reliable USB operation.
Validation showed that USB 3.2 hub enumeration with USB 2.0 devices
fails when the UTMI reference clock is not configured to the required
24 MHz rate. Configuring the UTMI reference clock to 24 MHz to resolve
the enumeration failure and ensure successful device detection.
Cc: stable@vger.kernel.org
Fixes: 3d89d52970fd ("clk: qcom: add Global Clock controller (GCC) driver for IPQ5332 SoC")
Signed-off-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com>
---
drivers/clk/qcom/gcc-ipq5332.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/clk/qcom/gcc-ipq5332.c b/drivers/clk/qcom/gcc-ipq5332.c
index ecd9ebeed754..4625b447c235 100644
--- a/drivers/clk/qcom/gcc-ipq5332.c
+++ b/drivers/clk/qcom/gcc-ipq5332.c
@@ -1038,6 +1038,7 @@ static struct clk_rcg2 gcc_usb0_master_clk_src = {
};
static const struct freq_tbl ftbl_gcc_usb0_mock_utmi_clk_src[] = {
+ F(24000000, P_XO, 1, 0, 0),
F(60000000, P_GPLL4_OUT_AUX, 10, 1, 2),
{ }
};
--
2.34.1
^ permalink raw reply [flat|nested] 25+ messages in thread* Re: [PATCH 02/11] clk: qcom: ipq5332: add 24MHz rate for USB UTMI clock
2026-09-21 6:19 ` [PATCH 02/11] clk: qcom: ipq5332: " Kathiravan Thirumoorthy
@ 2026-09-21 12:03 ` Abel Vesa
0 siblings, 0 replies; 25+ messages in thread
From: Abel Vesa @ 2026-09-21 12:03 UTC (permalink / raw)
To: Kathiravan Thirumoorthy
Cc: Bjorn Andersson, Stephen Boyd, Brian Masney, Jerome Brunet,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Georgi Djakov,
Konrad Dybcio, Varadarajan Narayanan, Dmitry Baryshkov,
Abel Vesa, Gokul Sriram Palanisamy, Sricharan Ramabadhran,
Kathiravan T, linux-arm-msm, linux-clk, linux-kernel, devicetree,
linux-pm, stable
On 26-09-21 11:49:35, Kathiravan Thirumoorthy wrote:
> The USB UTMI reference clock must operate at 24 MHz, as recommended
> by the hardware team, for reliable USB operation.
>
> Validation showed that USB 3.2 hub enumeration with USB 2.0 devices
> fails when the UTMI reference clock is not configured to the required
> 24 MHz rate. Configuring the UTMI reference clock to 24 MHz to resolve
> the enumeration failure and ensure successful device detection.
>
> Cc: stable@vger.kernel.org
> Fixes: 3d89d52970fd ("clk: qcom: add Global Clock controller (GCC) driver for IPQ5332 SoC")
> Signed-off-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com>
Reviewed-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH 03/11] clk: qcom: ipq5210: add 24MHz rate for USB UTMI clock
2026-09-21 6:19 [PATCH 00/11] Add a few minor enhancements to the Qualcomm IPQ GCC drivers Kathiravan Thirumoorthy
2026-09-21 6:19 ` [PATCH 01/11] clk: qcom: ipq5018: add 24MHz rate for USB UTMI clock Kathiravan Thirumoorthy
2026-09-21 6:19 ` [PATCH 02/11] clk: qcom: ipq5332: " Kathiravan Thirumoorthy
@ 2026-09-21 6:19 ` Kathiravan Thirumoorthy
2026-09-21 12:03 ` Abel Vesa
2026-09-21 6:19 ` [PATCH 04/11] arm64: dts: qcom: ipq9574: Wire up USB3 PHY PIPE clock to GCC Kathiravan Thirumoorthy
` (7 subsequent siblings)
10 siblings, 1 reply; 25+ messages in thread
From: Kathiravan Thirumoorthy @ 2026-09-21 6:19 UTC (permalink / raw)
To: Bjorn Andersson, Stephen Boyd, Brian Masney, Jerome Brunet,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Georgi Djakov,
Konrad Dybcio, Varadarajan Narayanan, Dmitry Baryshkov,
Abel Vesa, Gokul Sriram Palanisamy, Sricharan Ramabadhran,
Kathiravan T
Cc: linux-arm-msm, linux-clk, linux-kernel, devicetree, linux-pm,
Kathiravan Thirumoorthy, stable
The USB UTMI reference clock must operate at 24 MHz, as recommended
by the hardware team, for reliable USB operation.
Validation showed that USB 3.2 hub enumeration with USB 2.0 devices
fails when the UTMI reference clock is not configured to the required
24 MHz rate. Configuring the UTMI reference clock to 24 MHz to resolve
the enumeration failure and ensure successful device detection.
Cc: stable@vger.kernel.org
Fixes: 844be6e24afd ("clk: qcom: add Global Clock controller (GCC) driver for IPQ5210 SoC")
Signed-off-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com>
---
drivers/clk/qcom/gcc-ipq5210.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/clk/qcom/gcc-ipq5210.c b/drivers/clk/qcom/gcc-ipq5210.c
index 3a786a21bdff..76adfa8bf2ad 100644
--- a/drivers/clk/qcom/gcc-ipq5210.c
+++ b/drivers/clk/qcom/gcc-ipq5210.c
@@ -716,6 +716,7 @@ static struct clk_rcg2 gcc_usb0_master_clk_src = {
};
static const struct freq_tbl ftbl_gcc_usb0_mock_utmi_clk_src[] = {
+ F(24000000, P_XO, 1, 0, 0),
F(60000000, P_GPLL4_OUT_AUX, 10, 1, 2),
{ }
};
--
2.34.1
^ permalink raw reply [flat|nested] 25+ messages in thread* Re: [PATCH 03/11] clk: qcom: ipq5210: add 24MHz rate for USB UTMI clock
2026-09-21 6:19 ` [PATCH 03/11] clk: qcom: ipq5210: " Kathiravan Thirumoorthy
@ 2026-09-21 12:03 ` Abel Vesa
0 siblings, 0 replies; 25+ messages in thread
From: Abel Vesa @ 2026-09-21 12:03 UTC (permalink / raw)
To: Kathiravan Thirumoorthy
Cc: Bjorn Andersson, Stephen Boyd, Brian Masney, Jerome Brunet,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Georgi Djakov,
Konrad Dybcio, Varadarajan Narayanan, Dmitry Baryshkov,
Abel Vesa, Gokul Sriram Palanisamy, Sricharan Ramabadhran,
Kathiravan T, linux-arm-msm, linux-clk, linux-kernel, devicetree,
linux-pm, stable
On 26-09-21 11:49:36, Kathiravan Thirumoorthy wrote:
> The USB UTMI reference clock must operate at 24 MHz, as recommended
> by the hardware team, for reliable USB operation.
>
> Validation showed that USB 3.2 hub enumeration with USB 2.0 devices
> fails when the UTMI reference clock is not configured to the required
> 24 MHz rate. Configuring the UTMI reference clock to 24 MHz to resolve
> the enumeration failure and ensure successful device detection.
>
> Cc: stable@vger.kernel.org
> Fixes: 844be6e24afd ("clk: qcom: add Global Clock controller (GCC) driver for IPQ5210 SoC")
> Signed-off-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com>
Reviewed-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH 04/11] arm64: dts: qcom: ipq9574: Wire up USB3 PHY PIPE clock to GCC
2026-09-21 6:19 [PATCH 00/11] Add a few minor enhancements to the Qualcomm IPQ GCC drivers Kathiravan Thirumoorthy
` (2 preceding siblings ...)
2026-09-21 6:19 ` [PATCH 03/11] clk: qcom: ipq5210: " Kathiravan Thirumoorthy
@ 2026-09-21 6:19 ` Kathiravan Thirumoorthy
2026-09-21 11:55 ` Abel Vesa
2026-09-21 6:19 ` [PATCH 05/11] dt-bindings: clock: qcom: ipq5332-gcc: Describe clock inputs per compatible Kathiravan Thirumoorthy
` (6 subsequent siblings)
10 siblings, 1 reply; 25+ messages in thread
From: Kathiravan Thirumoorthy @ 2026-09-21 6:19 UTC (permalink / raw)
To: Bjorn Andersson, Stephen Boyd, Brian Masney, Jerome Brunet,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Georgi Djakov,
Konrad Dybcio, Varadarajan Narayanan, Dmitry Baryshkov,
Abel Vesa, Gokul Sriram Palanisamy, Sricharan Ramabadhran,
Kathiravan T
Cc: linux-arm-msm, linux-clk, linux-kernel, devicetree, linux-pm,
Kathiravan Thirumoorthy, stable, Konrad Dybcio
Connect the QMP PHY USB3 output to GCC so the USB3 PHY pipe clock can
propagate to the USB controller.
Cc: stable@vger.kernel.org
Fixes: a98bfb31f676 ("arm64: dts: qcom: ipq9574: Add USB related nodes")
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/ipq9574.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/qcom/ipq9574.dtsi b/arch/arm64/boot/dts/qcom/ipq9574.dtsi
index 5a5bda5f21a1..dd1dcd955c95 100644
--- a/arch/arm64/boot/dts/qcom/ipq9574.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq9574.dtsi
@@ -428,7 +428,7 @@ gcc: clock-controller@1800000 {
<&pcie1_phy>,
<&pcie2_phy>,
<&pcie3_phy>,
- <0>;
+ <&usb_0_qmpphy>;
#clock-cells = <1>;
#reset-cells = <1>;
#interconnect-cells = <1>;
--
2.34.1
^ permalink raw reply [flat|nested] 25+ messages in thread* Re: [PATCH 04/11] arm64: dts: qcom: ipq9574: Wire up USB3 PHY PIPE clock to GCC
2026-09-21 6:19 ` [PATCH 04/11] arm64: dts: qcom: ipq9574: Wire up USB3 PHY PIPE clock to GCC Kathiravan Thirumoorthy
@ 2026-09-21 11:55 ` Abel Vesa
0 siblings, 0 replies; 25+ messages in thread
From: Abel Vesa @ 2026-09-21 11:55 UTC (permalink / raw)
To: Kathiravan Thirumoorthy
Cc: Bjorn Andersson, Stephen Boyd, Brian Masney, Jerome Brunet,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Georgi Djakov,
Konrad Dybcio, Varadarajan Narayanan, Dmitry Baryshkov,
Abel Vesa, Gokul Sriram Palanisamy, Sricharan Ramabadhran,
Kathiravan T, linux-arm-msm, linux-clk, linux-kernel, devicetree,
linux-pm, stable, Konrad Dybcio
On 26-09-21 11:49:37, Kathiravan Thirumoorthy wrote:
> Connect the QMP PHY USB3 output to GCC so the USB3 PHY pipe clock can
> propagate to the USB controller.
>
> Cc: stable@vger.kernel.org
> Fixes: a98bfb31f676 ("arm64: dts: qcom: ipq9574: Add USB related nodes")
> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
> Signed-off-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com>
Reviewed-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH 05/11] dt-bindings: clock: qcom: ipq5332-gcc: Describe clock inputs per compatible
2026-09-21 6:19 [PATCH 00/11] Add a few minor enhancements to the Qualcomm IPQ GCC drivers Kathiravan Thirumoorthy
` (3 preceding siblings ...)
2026-09-21 6:19 ` [PATCH 04/11] arm64: dts: qcom: ipq9574: Wire up USB3 PHY PIPE clock to GCC Kathiravan Thirumoorthy
@ 2026-09-21 6:19 ` Kathiravan Thirumoorthy
2026-09-23 8:47 ` Krzysztof Kozlowski
2026-09-21 6:19 ` [PATCH 06/11] arm64: dts: qcom: ipq5424: Wire up USB3 PHY PIPE clock to GCC Kathiravan Thirumoorthy
` (5 subsequent siblings)
10 siblings, 1 reply; 25+ messages in thread
From: Kathiravan Thirumoorthy @ 2026-09-21 6:19 UTC (permalink / raw)
To: Bjorn Andersson, Stephen Boyd, Brian Masney, Jerome Brunet,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Georgi Djakov,
Konrad Dybcio, Varadarajan Narayanan, Dmitry Baryshkov,
Abel Vesa, Gokul Sriram Palanisamy, Sricharan Ramabadhran,
Kathiravan T
Cc: linux-arm-msm, linux-clk, linux-kernel, devicetree, linux-pm,
Kathiravan Thirumoorthy
The IPQ5332 and IPQ5424 GCC blocks use different clock input orderings.
Document the clock inputs in compatible-specific schema constraints instead
of using a common clock description.
Also add the 375 MHz PPE clock generated by the CMN PLL to the IPQ5424
clock input list.
This keeps the binding aligned with the clock ordering used by the
existing DTS and GCC driver implementations.
Signed-off-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com>
---
.../bindings/clock/qcom,ipq5332-gcc.yaml | 26 +++++++++++++---------
1 file changed, 16 insertions(+), 10 deletions(-)
diff --git a/Documentation/devicetree/bindings/clock/qcom,ipq5332-gcc.yaml b/Documentation/devicetree/bindings/clock/qcom,ipq5332-gcc.yaml
index 1230183fc0a9..fb39dffca988 100644
--- a/Documentation/devicetree/bindings/clock/qcom,ipq5332-gcc.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,ipq5332-gcc.yaml
@@ -25,14 +25,7 @@ properties:
clocks:
minItems: 5
- items:
- - description: Board XO clock source
- - description: Sleep clock source
- - description: PCIE 2lane PHY pipe clock source
- - description: PCIE 2lane x1 PHY pipe clock source (For second lane)
- - description: USB PCIE wrapper pipe clock source
- - description: PCIE 2-lane PHY2 pipe clock source
- - description: PCIE 2-lane PHY3 pipe clock source
+ maxItems: 8
'#power-domain-cells': false
'#interconnect-cells':
@@ -52,7 +45,12 @@ allOf:
then:
properties:
clocks:
- maxItems: 5
+ items:
+ - description: Board XO clock source
+ - description: Sleep clock source
+ - description: PCIE 2lane PHY pipe clock source
+ - description: PCIE 2lane x1 PHY pipe clock source (For second lane)
+ - description: USB PCIE wrapper pipe clock source
- if:
properties:
@@ -63,7 +61,15 @@ allOf:
properties:
clocks:
minItems: 7
- maxItems: 7
+ items:
+ - description: Board XO clock source
+ - description: Sleep clock source
+ - description: PCIE 2lane PHY pipe clock source
+ - description: PCIE 2lane x1 PHY pipe clock source (For second lane)
+ - description: PCIE 2-lane PHY2 pipe clock source
+ - description: PCIE 2-lane PHY3 pipe clock source
+ - description: USB PCIE wrapper pipe clock source
+ - description: 375 MHz PPE clock generated from the CMN PLL
unevaluatedProperties: false
--
2.34.1
^ permalink raw reply [flat|nested] 25+ messages in thread* Re: [PATCH 05/11] dt-bindings: clock: qcom: ipq5332-gcc: Describe clock inputs per compatible
2026-09-21 6:19 ` [PATCH 05/11] dt-bindings: clock: qcom: ipq5332-gcc: Describe clock inputs per compatible Kathiravan Thirumoorthy
@ 2026-09-23 8:47 ` Krzysztof Kozlowski
2026-09-24 9:15 ` Kathiravan Thirumoorthy
0 siblings, 1 reply; 25+ messages in thread
From: Krzysztof Kozlowski @ 2026-09-23 8:47 UTC (permalink / raw)
To: Kathiravan Thirumoorthy, Bjorn Andersson, Stephen Boyd,
Brian Masney, Jerome Brunet, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Georgi Djakov, Konrad Dybcio,
Varadarajan Narayanan, Dmitry Baryshkov, Abel Vesa,
Gokul Sriram Palanisamy, Sricharan Ramabadhran, Kathiravan T
Cc: linux-arm-msm, linux-clk, linux-kernel, devicetree, linux-pm
On 21/09/2026 08:19, Kathiravan Thirumoorthy wrote:
> The IPQ5332 and IPQ5424 GCC blocks use different clock input orderings.
> Document the clock inputs in compatible-specific schema constraints instead
> of using a common clock description.
>
> Also add the 375 MHz PPE clock generated by the CMN PLL to the IPQ5424
> clock input list.
>
> This keeps the binding aligned with the clock ordering used by the
> existing DTS and GCC driver implementations.
>
> Signed-off-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com>
> ---
> .../bindings/clock/qcom,ipq5332-gcc.yaml | 26 +++++++++++++---------
> 1 file changed, 16 insertions(+), 10 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/clock/qcom,ipq5332-gcc.yaml b/Documentation/devicetree/bindings/clock/qcom,ipq5332-gcc.yaml
> index 1230183fc0a9..fb39dffca988 100644
> --- a/Documentation/devicetree/bindings/clock/qcom,ipq5332-gcc.yaml
> +++ b/Documentation/devicetree/bindings/clock/qcom,ipq5332-gcc.yaml
> @@ -25,14 +25,7 @@ properties:
>
> clocks:
> minItems: 5
> - items:
> - - description: Board XO clock source
> - - description: Sleep clock source
> - - description: PCIE 2lane PHY pipe clock source
> - - description: PCIE 2lane x1 PHY pipe clock source (For second lane)
> - - description: USB PCIE wrapper pipe clock source
> - - description: PCIE 2-lane PHY2 pipe clock source
> - - description: PCIE 2-lane PHY3 pipe clock source
You are changing the order which is ABI break. Describe the actual
problem to justify such change. Are you saying this was broken since
beginning or what exactly is not working here? The driver was added by
Qualcomm in 2024, so how did it even work? It's not some 10 yo legacy
where we did some mistakes in binding while converting from TXT.
Also, I do not get why the list cannot be shared.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH 05/11] dt-bindings: clock: qcom: ipq5332-gcc: Describe clock inputs per compatible
2026-09-23 8:47 ` Krzysztof Kozlowski
@ 2026-09-24 9:15 ` Kathiravan Thirumoorthy
2026-09-24 10:58 ` Krzysztof Kozlowski
0 siblings, 1 reply; 25+ messages in thread
From: Kathiravan Thirumoorthy @ 2026-09-24 9:15 UTC (permalink / raw)
To: Krzysztof Kozlowski, Bjorn Andersson, Stephen Boyd, Brian Masney,
Jerome Brunet, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Georgi Djakov, Konrad Dybcio, Varadarajan Narayanan,
Dmitry Baryshkov, Abel Vesa, Gokul Sriram Palanisamy,
Sricharan Ramabadhran, Kathiravan T
Cc: linux-arm-msm, linux-clk, linux-kernel, devicetree, linux-pm
On 9/23/2026 2:17 PM, Krzysztof Kozlowski wrote:
> On 21/09/2026 08:19, Kathiravan Thirumoorthy wrote:
>> The IPQ5332 and IPQ5424 GCC blocks use different clock input orderings.
>> Document the clock inputs in compatible-specific schema constraints instead
>> of using a common clock description.
>>
>> Also add the 375 MHz PPE clock generated by the CMN PLL to the IPQ5424
>> clock input list.
>>
>> This keeps the binding aligned with the clock ordering used by the
>> existing DTS and GCC driver implementations.
>>
>> Signed-off-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com>
>> ---
>> .../bindings/clock/qcom,ipq5332-gcc.yaml | 26 +++++++++++++---------
>> 1 file changed, 16 insertions(+), 10 deletions(-)
>>
>> diff --git a/Documentation/devicetree/bindings/clock/qcom,ipq5332-gcc.yaml b/Documentation/devicetree/bindings/clock/qcom,ipq5332-gcc.yaml
>> index 1230183fc0a9..fb39dffca988 100644
>> --- a/Documentation/devicetree/bindings/clock/qcom,ipq5332-gcc.yaml
>> +++ b/Documentation/devicetree/bindings/clock/qcom,ipq5332-gcc.yaml
>> @@ -25,14 +25,7 @@ properties:
>>
>> clocks:
>> minItems: 5
>> - items:
>> - - description: Board XO clock source
>> - - description: Sleep clock source
>> - - description: PCIE 2lane PHY pipe clock source
>> - - description: PCIE 2lane x1 PHY pipe clock source (For second lane)
>> - - description: USB PCIE wrapper pipe clock source
>> - - description: PCIE 2-lane PHY2 pipe clock source
>> - - description: PCIE 2-lane PHY3 pipe clock source
>
> You are changing the order which is ABI break. Describe the actual
> problem to justify such change. Are you saying this was broken since
> beginning or what exactly is not working here? The driver was added by
> Qualcomm in 2024, so how did it even work? It's not some 10 yo legacy
> where we did some mistakes in binding while converting from TXT.
>
> Also, I do not get why the list cannot be shared.
When the bindings was posted, list is combined for both IPQ5332 and
IPQ5424. But the driver wasn't updated and it was following the below
order, so was DTS, which is not compatible the DT binding description.
enum {
DT_XO,
DT_SLEEP_CLK,
DT_PCIE30_PHY0_PIPE_CLK,
DT_PCIE30_PHY1_PIPE_CLK,
DT_PCIE30_PHY2_PIPE_CLK,
DT_PCIE30_PHY3_PIPE_CLK,
DT_USB_PCIE_WRAPPER_PIPE_CLK,
DT_CMN_PLL_NSS_375M_CLK,
};
So I'm splitting the description between IPQ5332 and IPQ5424 to matching
with the DTS and the driver description.
>
> Best regards,
> Krzysztof
^ permalink raw reply [flat|nested] 25+ messages in thread* Re: [PATCH 05/11] dt-bindings: clock: qcom: ipq5332-gcc: Describe clock inputs per compatible
2026-09-24 9:15 ` Kathiravan Thirumoorthy
@ 2026-09-24 10:58 ` Krzysztof Kozlowski
0 siblings, 0 replies; 25+ messages in thread
From: Krzysztof Kozlowski @ 2026-09-24 10:58 UTC (permalink / raw)
To: Kathiravan Thirumoorthy, Bjorn Andersson, Stephen Boyd,
Brian Masney, Jerome Brunet, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Georgi Djakov, Konrad Dybcio,
Varadarajan Narayanan, Dmitry Baryshkov, Abel Vesa,
Gokul Sriram Palanisamy, Sricharan Ramabadhran, Kathiravan T
Cc: linux-arm-msm, linux-clk, linux-kernel, devicetree, linux-pm
On 24/09/2026 11:15, Kathiravan Thirumoorthy wrote:
>
> On 9/23/2026 2:17 PM, Krzysztof Kozlowski wrote:
>> On 21/09/2026 08:19, Kathiravan Thirumoorthy wrote:
>>> The IPQ5332 and IPQ5424 GCC blocks use different clock input orderings.
>>> Document the clock inputs in compatible-specific schema constraints instead
>>> of using a common clock description.
>>>
>>> Also add the 375 MHz PPE clock generated by the CMN PLL to the IPQ5424
>>> clock input list.
>>>
>>> This keeps the binding aligned with the clock ordering used by the
>>> existing DTS and GCC driver implementations.
>>>
>>> Signed-off-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com>
>>> ---
>>> .../bindings/clock/qcom,ipq5332-gcc.yaml | 26 +++++++++++++---------
>>> 1 file changed, 16 insertions(+), 10 deletions(-)
>>>
>>> diff --git a/Documentation/devicetree/bindings/clock/qcom,ipq5332-gcc.yaml b/Documentation/devicetree/bindings/clock/qcom,ipq5332-gcc.yaml
>>> index 1230183fc0a9..fb39dffca988 100644
>>> --- a/Documentation/devicetree/bindings/clock/qcom,ipq5332-gcc.yaml
>>> +++ b/Documentation/devicetree/bindings/clock/qcom,ipq5332-gcc.yaml
>>> @@ -25,14 +25,7 @@ properties:
>>>
>>> clocks:
>>> minItems: 5
>>> - items:
>>> - - description: Board XO clock source
>>> - - description: Sleep clock source
>>> - - description: PCIE 2lane PHY pipe clock source
>>> - - description: PCIE 2lane x1 PHY pipe clock source (For second lane)
>>> - - description: USB PCIE wrapper pipe clock source
>>> - - description: PCIE 2-lane PHY2 pipe clock source
>>> - - description: PCIE 2-lane PHY3 pipe clock source
>>
>> You are changing the order which is ABI break. Describe the actual
>> problem to justify such change. Are you saying this was broken since
>> beginning or what exactly is not working here? The driver was added by
>> Qualcomm in 2024, so how did it even work? It's not some 10 yo legacy
>> where we did some mistakes in binding while converting from TXT.
>>
>> Also, I do not get why the list cannot be shared.
>
> When the bindings was posted, list is combined for both IPQ5332 and
> IPQ5424. But the driver wasn't updated and it was following the below
> order, so was DTS, which is not compatible the DT binding description.
>
> enum {
> DT_XO,
> DT_SLEEP_CLK,
> DT_PCIE30_PHY0_PIPE_CLK,
> DT_PCIE30_PHY1_PIPE_CLK,
> DT_PCIE30_PHY2_PIPE_CLK,
> DT_PCIE30_PHY3_PIPE_CLK,
> DT_USB_PCIE_WRAPPER_PIPE_CLK,
> DT_CMN_PLL_NSS_375M_CLK,
> };
>
> So I'm splitting the description between IPQ5332 and IPQ5424 to matching
> with the DTS and the driver description.
So we asked back in 2024 to have the common part of the list. I even did
the effort to dig it:
https://lore.kernel.org/all/ruti7hmkxkayzmqfbme6rw6j2vbhlx4ul4ptcckwamcpd4cyfx@owufhxwpvlcj/
Authors implemented it partially, broken drivers. Now you basically
revert what we asked, which is BTW logical option. It's logical and
reasonable, but leaves bitter feeling.
I have feeling there is no accountability and no responsibility of the
IPQ at all.
No, that's not going to work. You cannot come 1.5 year later and revert
what reviewer asked you, even if issue was just by mistake in the first
place. And you should not even try to do that.
NAK
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH 06/11] arm64: dts: qcom: ipq5424: Wire up USB3 PHY PIPE clock to GCC
2026-09-21 6:19 [PATCH 00/11] Add a few minor enhancements to the Qualcomm IPQ GCC drivers Kathiravan Thirumoorthy
` (4 preceding siblings ...)
2026-09-21 6:19 ` [PATCH 05/11] dt-bindings: clock: qcom: ipq5332-gcc: Describe clock inputs per compatible Kathiravan Thirumoorthy
@ 2026-09-21 6:19 ` Kathiravan Thirumoorthy
2026-09-21 12:04 ` Abel Vesa
2026-09-21 6:19 ` [PATCH 07/11] dt-bindings: qcom,ipq5424: add NSS MEMNOC clock and ICC IDs Kathiravan Thirumoorthy
` (4 subsequent siblings)
10 siblings, 1 reply; 25+ messages in thread
From: Kathiravan Thirumoorthy @ 2026-09-21 6:19 UTC (permalink / raw)
To: Bjorn Andersson, Stephen Boyd, Brian Masney, Jerome Brunet,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Georgi Djakov,
Konrad Dybcio, Varadarajan Narayanan, Dmitry Baryshkov,
Abel Vesa, Gokul Sriram Palanisamy, Sricharan Ramabadhran,
Kathiravan T
Cc: linux-arm-msm, linux-clk, linux-kernel, devicetree, linux-pm,
Kathiravan Thirumoorthy, stable
Connect the QMP PHY USB3 output to GCC so the USB3 PHY pipe clock
can propagate to the USB controller.
Cc: stable@vger.kernel.org
Fixes: 113d52bdc820 ("arm64: dts: qcom: ipq5424: Add USB controller and phy nodes")
Signed-off-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/ipq5424.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/qcom/ipq5424.dtsi b/arch/arm64/boot/dts/qcom/ipq5424.dtsi
index 702061e16a58..95e2508ac145 100644
--- a/arch/arm64/boot/dts/qcom/ipq5424.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq5424.dtsi
@@ -486,7 +486,7 @@ gcc: clock-controller@1800000 {
<&pcie1_phy>,
<&pcie2_phy>,
<&pcie3_phy>,
- <0>;
+ <&ssphy_0>;
#clock-cells = <1>;
#reset-cells = <1>;
#interconnect-cells = <1>;
--
2.34.1
^ permalink raw reply [flat|nested] 25+ messages in thread* Re: [PATCH 06/11] arm64: dts: qcom: ipq5424: Wire up USB3 PHY PIPE clock to GCC
2026-09-21 6:19 ` [PATCH 06/11] arm64: dts: qcom: ipq5424: Wire up USB3 PHY PIPE clock to GCC Kathiravan Thirumoorthy
@ 2026-09-21 12:04 ` Abel Vesa
0 siblings, 0 replies; 25+ messages in thread
From: Abel Vesa @ 2026-09-21 12:04 UTC (permalink / raw)
To: Kathiravan Thirumoorthy
Cc: Bjorn Andersson, Stephen Boyd, Brian Masney, Jerome Brunet,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Georgi Djakov,
Konrad Dybcio, Varadarajan Narayanan, Dmitry Baryshkov,
Abel Vesa, Gokul Sriram Palanisamy, Sricharan Ramabadhran,
Kathiravan T, linux-arm-msm, linux-clk, linux-kernel, devicetree,
linux-pm, stable
On 26-09-21 11:49:39, Kathiravan Thirumoorthy wrote:
> Connect the QMP PHY USB3 output to GCC so the USB3 PHY pipe clock
> can propagate to the USB controller.
>
> Cc: stable@vger.kernel.org
> Fixes: 113d52bdc820 ("arm64: dts: qcom: ipq5424: Add USB controller and phy nodes")
> Signed-off-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com>
Reviewed-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH 07/11] dt-bindings: qcom,ipq5424: add NSS MEMNOC clock and ICC IDs
2026-09-21 6:19 [PATCH 00/11] Add a few minor enhancements to the Qualcomm IPQ GCC drivers Kathiravan Thirumoorthy
` (5 preceding siblings ...)
2026-09-21 6:19 ` [PATCH 06/11] arm64: dts: qcom: ipq5424: Wire up USB3 PHY PIPE clock to GCC Kathiravan Thirumoorthy
@ 2026-09-21 6:19 ` Kathiravan Thirumoorthy
2026-09-22 12:33 ` Georgi Djakov
2026-09-21 6:19 ` [PATCH 08/11] clk: qcom: gcc-ipq5424: add the MEMNOC clocks needed for the NSS block Kathiravan Thirumoorthy
` (3 subsequent siblings)
10 siblings, 1 reply; 25+ messages in thread
From: Kathiravan Thirumoorthy @ 2026-09-21 6:19 UTC (permalink / raw)
To: Bjorn Andersson, Stephen Boyd, Brian Masney, Jerome Brunet,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Georgi Djakov,
Konrad Dybcio, Varadarajan Narayanan, Dmitry Baryshkov,
Abel Vesa, Gokul Sriram Palanisamy, Sricharan Ramabadhran,
Kathiravan T
Cc: linux-arm-msm, linux-clk, linux-kernel, devicetree, linux-pm,
Kathiravan Thirumoorthy
Add clock IDs for gcc_nssnoc_memnoc_clk and
gcc_nssnoc_memnoc_1_clk, which provide the NSSNOC-to-GEMNOC path
required by the NSS block.
As these clocks are exposed through the interconnect framework, add the
corresponding ICC IDs as well.
Signed-off-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com>
---
include/dt-bindings/clock/qcom,ipq5424-gcc.h | 4 ++++
include/dt-bindings/interconnect/qcom,ipq5424.h | 4 ++++
2 files changed, 8 insertions(+)
diff --git a/include/dt-bindings/clock/qcom,ipq5424-gcc.h b/include/dt-bindings/clock/qcom,ipq5424-gcc.h
index 3ae33a0fa002..b736cf42e9f2 100644
--- a/include/dt-bindings/clock/qcom,ipq5424-gcc.h
+++ b/include/dt-bindings/clock/qcom,ipq5424-gcc.h
@@ -153,5 +153,9 @@
#define GCC_IM_SLEEP_CLK 144
#define GCC_XO_CLK 145
#define GPLL0_OUT_AUX 146
+#define GCC_NSSNOC_MEMNOC_BFDCD_CLK_SRC 147
+#define GCC_NSSNOC_MEMNOC_DIV_CLK_SRC 148
+#define GCC_NSSNOC_MEMNOC_CLK 149
+#define GCC_NSSNOC_MEMNOC_1_CLK 150
#endif
diff --git a/include/dt-bindings/interconnect/qcom,ipq5424.h b/include/dt-bindings/interconnect/qcom,ipq5424.h
index 07b786bee7d6..50b883b16a12 100644
--- a/include/dt-bindings/interconnect/qcom,ipq5424.h
+++ b/include/dt-bindings/interconnect/qcom,ipq5424.h
@@ -40,6 +40,10 @@
#define SLAVE_CNOC_LPASS_CFG 35
#define MASTER_SNOC_LPASS 36
#define SLAVE_SNOC_LPASS 37
+#define MASTER_NSSNOC_MEMNOC 38
+#define SLAVE_NSSNOC_MEMNOC 39
+#define MASTER_NSSNOC_MEMNOC_1 40
+#define SLAVE_NSSNOC_MEMNOC_1 41
#define MASTER_CPU 0
#define SLAVE_L3 1
--
2.34.1
^ permalink raw reply [flat|nested] 25+ messages in thread* Re: [PATCH 07/11] dt-bindings: qcom,ipq5424: add NSS MEMNOC clock and ICC IDs
2026-09-21 6:19 ` [PATCH 07/11] dt-bindings: qcom,ipq5424: add NSS MEMNOC clock and ICC IDs Kathiravan Thirumoorthy
@ 2026-09-22 12:33 ` Georgi Djakov
0 siblings, 0 replies; 25+ messages in thread
From: Georgi Djakov @ 2026-09-22 12:33 UTC (permalink / raw)
To: Kathiravan Thirumoorthy, Bjorn Andersson, Stephen Boyd,
Brian Masney, Jerome Brunet, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Konrad Dybcio, Varadarajan Narayanan,
Dmitry Baryshkov, Abel Vesa, Gokul Sriram Palanisamy,
Sricharan Ramabadhran, Kathiravan T
Cc: linux-arm-msm, linux-clk, linux-kernel, devicetree, linux-pm
On 9/21/26 9:19 AM, Kathiravan Thirumoorthy wrote:
> Add clock IDs for gcc_nssnoc_memnoc_clk and
> gcc_nssnoc_memnoc_1_clk, which provide the NSSNOC-to-GEMNOC path
> required by the NSS block.
>
> As these clocks are exposed through the interconnect framework, add the
> corresponding ICC IDs as well.
>
> Signed-off-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com>
> ---
> include/dt-bindings/clock/qcom,ipq5424-gcc.h | 4 ++++
> include/dt-bindings/interconnect/qcom,ipq5424.h | 4 ++++
> 2 files changed, 8 insertions(+)
Acked-by: Georgi Djakov <djakov@kernel.org>
> diff --git a/include/dt-bindings/interconnect/qcom,ipq5424.h b/include/dt-bindings/interconnect/qcom,ipq5424.h
> index 07b786bee7d6..50b883b16a12 100644
> --- a/include/dt-bindings/interconnect/qcom,ipq5424.h
> +++ b/include/dt-bindings/interconnect/qcom,ipq5424.h
> @@ -40,6 +40,10 @@
> #define SLAVE_CNOC_LPASS_CFG 35
> #define MASTER_SNOC_LPASS 36
> #define SLAVE_SNOC_LPASS 37
> +#define MASTER_NSSNOC_MEMNOC 38
> +#define SLAVE_NSSNOC_MEMNOC 39
> +#define MASTER_NSSNOC_MEMNOC_1 40
> +#define SLAVE_NSSNOC_MEMNOC_1 41
>
> #define MASTER_CPU 0
> #define SLAVE_L3 1
>
^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH 08/11] clk: qcom: gcc-ipq5424: add the MEMNOC clocks needed for the NSS block
2026-09-21 6:19 [PATCH 00/11] Add a few minor enhancements to the Qualcomm IPQ GCC drivers Kathiravan Thirumoorthy
` (6 preceding siblings ...)
2026-09-21 6:19 ` [PATCH 07/11] dt-bindings: qcom,ipq5424: add NSS MEMNOC clock and ICC IDs Kathiravan Thirumoorthy
@ 2026-09-21 6:19 ` Kathiravan Thirumoorthy
2026-09-21 12:05 ` Abel Vesa
2026-09-21 6:19 ` [PATCH 09/11] arm64: dts: qcom: ipq5424: Wire up PPE clock to GCC Kathiravan Thirumoorthy
` (2 subsequent siblings)
10 siblings, 1 reply; 25+ messages in thread
From: Kathiravan Thirumoorthy @ 2026-09-21 6:19 UTC (permalink / raw)
To: Bjorn Andersson, Stephen Boyd, Brian Masney, Jerome Brunet,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Georgi Djakov,
Konrad Dybcio, Varadarajan Narayanan, Dmitry Baryshkov,
Abel Vesa, Gokul Sriram Palanisamy, Sricharan Ramabadhran,
Kathiravan T
Cc: linux-arm-msm, linux-clk, linux-kernel, devicetree, linux-pm,
Kathiravan Thirumoorthy, Konrad Dybcio
Add gcc_nssnoc_memnoc_clk and gcc_nssnoc_memnoc_1_clk to the GCC driver
to enable the NSSNOC-to-GEMNOC path for the NSS block and expose them as
ICC clocks.
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com>
---
drivers/clk/qcom/gcc-ipq5424.c | 93 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 93 insertions(+)
diff --git a/drivers/clk/qcom/gcc-ipq5424.c b/drivers/clk/qcom/gcc-ipq5424.c
index 3ddd4b3aedea..34d1157155e5 100644
--- a/drivers/clk/qcom/gcc-ipq5424.c
+++ b/drivers/clk/qcom/gcc-ipq5424.c
@@ -34,6 +34,7 @@ enum {
DT_PCIE30_PHY2_PIPE_CLK,
DT_PCIE30_PHY3_PIPE_CLK,
DT_USB_PCIE_WRAPPER_PIPE_CLK,
+ DT_CMN_PLL_NSS_375M_CLK,
};
enum {
@@ -47,6 +48,7 @@ enum {
P_SLEEP_CLK,
P_XO,
P_USB3PHY_0_PIPE,
+ P_NSS_CMN_CLK,
};
static const struct clk_parent_data gcc_parent_data_xo = { .index = DT_XO };
@@ -291,6 +293,20 @@ static const struct clk_parent_data gcc_parent_data_11[] = {
{ .hw = &gpll2.clkr.hw },
};
+static const struct parent_map gcc_parent_map_12[] = {
+ { P_XO, 0 },
+ { P_NSS_CMN_CLK, 1 },
+ { P_GPLL0_OUT_AUX, 2 },
+ { P_GPLL2_OUT_AUX, 3 },
+};
+
+static const struct clk_parent_data gcc_parent_data_12[] = {
+ { .index = DT_XO },
+ { .index = DT_CMN_PLL_NSS_375M_CLK },
+ { .hw = &gpll0.clkr.hw },
+ { .hw = &gpll2.clkr.hw },
+};
+
static const struct freq_tbl ftbl_gcc_adss_pwm_clk_src[] = {
F(24000000, P_XO, 1, 0, 0),
F(100000000, P_GPLL0_OUT_MAIN, 8, 0, 0),
@@ -1108,6 +1124,41 @@ static struct clk_regmap_div gcc_usb1_mock_utmi_div_clk_src = {
},
};
+static const struct freq_tbl ftbl_gcc_nssnoc_memnoc_bfdcd_clk_src[] = {
+ F(375000000, P_NSS_CMN_CLK, 1, 0, 0),
+ { }
+};
+
+static struct clk_rcg2 gcc_nssnoc_memnoc_bfdcd_clk_src = {
+ .cmd_rcgr = 0x17004,
+ .mnd_width = 0,
+ .hid_width = 5,
+ .parent_map = gcc_parent_map_12,
+ .freq_tbl = ftbl_gcc_nssnoc_memnoc_bfdcd_clk_src,
+ .clkr.hw.init = &(const struct clk_init_data) {
+ .name = "gcc_nssnoc_memnoc_bfdcd_clk_src",
+ .parent_data = gcc_parent_data_12,
+ .num_parents = ARRAY_SIZE(gcc_parent_data_12),
+ .ops = &clk_rcg2_ops,
+ },
+};
+
+static struct clk_regmap_div gcc_nssnoc_memnoc_div_clk_src = {
+ .reg = 0x1700c,
+ .shift = 0,
+ .width = 4,
+ .clkr.hw.init = &(const struct clk_init_data) {
+ .name = "gcc_nssnoc_memnoc_div_clk_src",
+ .parent_hws = (const struct clk_hw*[]) {
+ &gcc_nssnoc_memnoc_bfdcd_clk_src.clkr.hw,
+ },
+ .num_parents = 1,
+ .flags = CLK_SET_RATE_PARENT,
+ .ops = &clk_regmap_div_ro_ops,
+ },
+};
+
+
static struct clk_branch gcc_adss_pwm_clk = {
.halt_reg = 0x1c00c,
.halt_check = BRANCH_HALT,
@@ -2793,6 +2844,42 @@ static struct clk_branch gcc_pcie3_rchng_clk = {
},
};
+static struct clk_branch gcc_nssnoc_memnoc_clk = {
+ .halt_reg = 0x17024,
+ .halt_check = BRANCH_HALT,
+ .clkr = {
+ .enable_reg = 0x17024,
+ .enable_mask = BIT(0),
+ .hw.init = &(const struct clk_init_data) {
+ .name = "gcc_nssnoc_memnoc_clk",
+ .parent_hws = (const struct clk_hw*[]) {
+ &gcc_nssnoc_memnoc_div_clk_src.clkr.hw,
+ },
+ .num_parents = 1,
+ .flags = CLK_SET_RATE_PARENT,
+ .ops = &clk_branch2_ops,
+ },
+ },
+};
+
+static struct clk_branch gcc_nssnoc_memnoc_1_clk = {
+ .halt_reg = 0x17084,
+ .halt_check = BRANCH_HALT,
+ .clkr = {
+ .enable_reg = 0x17084,
+ .enable_mask = BIT(0),
+ .hw.init = &(const struct clk_init_data) {
+ .name = "gcc_nssnoc_memnoc_1_clk",
+ .parent_hws = (const struct clk_hw*[]) {
+ &gcc_nssnoc_memnoc_div_clk_src.clkr.hw,
+ },
+ .num_parents = 1,
+ .flags = CLK_SET_RATE_PARENT,
+ .ops = &clk_branch2_ops,
+ },
+ },
+};
+
static struct clk_regmap *gcc_ipq5424_clocks[] = {
[GCC_ADSS_PWM_CLK] = &gcc_adss_pwm_clk.clkr,
[GCC_ADSS_PWM_CLK_SRC] = &gcc_adss_pwm_clk_src.clkr,
@@ -2938,6 +3025,10 @@ static struct clk_regmap *gcc_ipq5424_clocks[] = {
[GPLL2_OUT_MAIN] = &gpll2_out_main.clkr,
[GPLL4] = &gpll4.clkr,
[GPLL0_OUT_AUX] = &gpll0_out_aux.clkr,
+ [GCC_NSSNOC_MEMNOC_BFDCD_CLK_SRC] = &gcc_nssnoc_memnoc_bfdcd_clk_src.clkr,
+ [GCC_NSSNOC_MEMNOC_DIV_CLK_SRC] = &gcc_nssnoc_memnoc_div_clk_src.clkr,
+ [GCC_NSSNOC_MEMNOC_CLK] = &gcc_nssnoc_memnoc_clk.clkr,
+ [GCC_NSSNOC_MEMNOC_1_CLK] = &gcc_nssnoc_memnoc_1_clk.clkr,
};
static const struct qcom_reset_map gcc_ipq5424_resets[] = {
@@ -3264,6 +3355,8 @@ static const struct qcom_icc_hws_data icc_ipq5424_hws[] = {
{ MASTER_NSSNOC_ATB, SLAVE_NSSNOC_ATB, GCC_NSSNOC_ATB_CLK },
{ MASTER_CNOC_LPASS_CFG, SLAVE_CNOC_LPASS_CFG, GCC_CNOC_LPASS_CFG_CLK },
{ MASTER_SNOC_LPASS, SLAVE_SNOC_LPASS, GCC_SNOC_LPASS_CLK },
+ { MASTER_NSSNOC_MEMNOC, SLAVE_NSSNOC_MEMNOC, GCC_NSSNOC_MEMNOC_CLK },
+ { MASTER_NSSNOC_MEMNOC_1, SLAVE_NSSNOC_MEMNOC_1, GCC_NSSNOC_MEMNOC_1_CLK },
};
static const struct of_device_id gcc_ipq5424_match_table[] = {
--
2.34.1
^ permalink raw reply [flat|nested] 25+ messages in thread* Re: [PATCH 08/11] clk: qcom: gcc-ipq5424: add the MEMNOC clocks needed for the NSS block
2026-09-21 6:19 ` [PATCH 08/11] clk: qcom: gcc-ipq5424: add the MEMNOC clocks needed for the NSS block Kathiravan Thirumoorthy
@ 2026-09-21 12:05 ` Abel Vesa
0 siblings, 0 replies; 25+ messages in thread
From: Abel Vesa @ 2026-09-21 12:05 UTC (permalink / raw)
To: Kathiravan Thirumoorthy
Cc: Bjorn Andersson, Stephen Boyd, Brian Masney, Jerome Brunet,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Georgi Djakov,
Konrad Dybcio, Varadarajan Narayanan, Dmitry Baryshkov,
Abel Vesa, Gokul Sriram Palanisamy, Sricharan Ramabadhran,
Kathiravan T, linux-arm-msm, linux-clk, linux-kernel, devicetree,
linux-pm, Konrad Dybcio
On 26-09-21 11:49:41, Kathiravan Thirumoorthy wrote:
> Add gcc_nssnoc_memnoc_clk and gcc_nssnoc_memnoc_1_clk to the GCC driver
> to enable the NSSNOC-to-GEMNOC path for the NSS block and expose them as
> ICC clocks.
>
> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
> Signed-off-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com>
Reviewed-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH 09/11] arm64: dts: qcom: ipq5424: Wire up PPE clock to GCC
2026-09-21 6:19 [PATCH 00/11] Add a few minor enhancements to the Qualcomm IPQ GCC drivers Kathiravan Thirumoorthy
` (7 preceding siblings ...)
2026-09-21 6:19 ` [PATCH 08/11] clk: qcom: gcc-ipq5424: add the MEMNOC clocks needed for the NSS block Kathiravan Thirumoorthy
@ 2026-09-21 6:19 ` Kathiravan Thirumoorthy
2026-09-21 12:06 ` Abel Vesa
2026-09-21 6:19 ` [PATCH 10/11] clk: qcom: gcc-ipq5210: add UNIPHY XPCS reset entries Kathiravan Thirumoorthy
2026-09-21 6:19 ` [PATCH 11/11] clk: qcom: apss-ipq5424: fix 'ipa' typos Kathiravan Thirumoorthy
10 siblings, 1 reply; 25+ messages in thread
From: Kathiravan Thirumoorthy @ 2026-09-21 6:19 UTC (permalink / raw)
To: Bjorn Andersson, Stephen Boyd, Brian Masney, Jerome Brunet,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Georgi Djakov,
Konrad Dybcio, Varadarajan Narayanan, Dmitry Baryshkov,
Abel Vesa, Gokul Sriram Palanisamy, Sricharan Ramabadhran,
Kathiravan T
Cc: linux-arm-msm, linux-clk, linux-kernel, devicetree, linux-pm,
Kathiravan Thirumoorthy, Konrad Dybcio
Add the PPE 375 MHz clock generated by the CMN PLL to the GCC clock
controller inputs. GCC uses this clock as the source for the NSS
MEMNOC clocks.
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/ipq5424.dtsi | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/qcom/ipq5424.dtsi b/arch/arm64/boot/dts/qcom/ipq5424.dtsi
index 95e2508ac145..64a06d615d61 100644
--- a/arch/arm64/boot/dts/qcom/ipq5424.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq5424.dtsi
@@ -486,7 +486,8 @@ gcc: clock-controller@1800000 {
<&pcie1_phy>,
<&pcie2_phy>,
<&pcie3_phy>,
- <&ssphy_0>;
+ <&ssphy_0>,
+ <&cmn_pll IPQ5424_PPE_375MHZ_CLK>;
#clock-cells = <1>;
#reset-cells = <1>;
#interconnect-cells = <1>;
--
2.34.1
^ permalink raw reply [flat|nested] 25+ messages in thread* Re: [PATCH 09/11] arm64: dts: qcom: ipq5424: Wire up PPE clock to GCC
2026-09-21 6:19 ` [PATCH 09/11] arm64: dts: qcom: ipq5424: Wire up PPE clock to GCC Kathiravan Thirumoorthy
@ 2026-09-21 12:06 ` Abel Vesa
0 siblings, 0 replies; 25+ messages in thread
From: Abel Vesa @ 2026-09-21 12:06 UTC (permalink / raw)
To: Kathiravan Thirumoorthy
Cc: Bjorn Andersson, Stephen Boyd, Brian Masney, Jerome Brunet,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Georgi Djakov,
Konrad Dybcio, Varadarajan Narayanan, Dmitry Baryshkov,
Abel Vesa, Gokul Sriram Palanisamy, Sricharan Ramabadhran,
Kathiravan T, linux-arm-msm, linux-clk, linux-kernel, devicetree,
linux-pm, Konrad Dybcio
On 26-09-21 11:49:42, Kathiravan Thirumoorthy wrote:
> Add the PPE 375 MHz clock generated by the CMN PLL to the GCC clock
> controller inputs. GCC uses this clock as the source for the NSS
> MEMNOC clocks.
>
> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
> Signed-off-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com>
Reviewed-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH 10/11] clk: qcom: gcc-ipq5210: add UNIPHY XPCS reset entries
2026-09-21 6:19 [PATCH 00/11] Add a few minor enhancements to the Qualcomm IPQ GCC drivers Kathiravan Thirumoorthy
` (8 preceding siblings ...)
2026-09-21 6:19 ` [PATCH 09/11] arm64: dts: qcom: ipq5424: Wire up PPE clock to GCC Kathiravan Thirumoorthy
@ 2026-09-21 6:19 ` Kathiravan Thirumoorthy
2026-09-21 12:06 ` Abel Vesa
2026-09-21 6:19 ` [PATCH 11/11] clk: qcom: apss-ipq5424: fix 'ipa' typos Kathiravan Thirumoorthy
10 siblings, 1 reply; 25+ messages in thread
From: Kathiravan Thirumoorthy @ 2026-09-21 6:19 UTC (permalink / raw)
To: Bjorn Andersson, Stephen Boyd, Brian Masney, Jerome Brunet,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Georgi Djakov,
Konrad Dybcio, Varadarajan Narayanan, Dmitry Baryshkov,
Abel Vesa, Gokul Sriram Palanisamy, Sricharan Ramabadhran,
Kathiravan T
Cc: linux-arm-msm, linux-clk, linux-kernel, devicetree, linux-pm,
Kathiravan Thirumoorthy, Konrad Dybcio
Add reset entries for the UNIPHY0, UNIPHY1, and UNIPHY2 XPCS blocks.
These resets are required by the NSS block for proper operation.
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com>
---
drivers/clk/qcom/gcc-ipq5210.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/clk/qcom/gcc-ipq5210.c b/drivers/clk/qcom/gcc-ipq5210.c
index 76adfa8bf2ad..d15bcfff1759 100644
--- a/drivers/clk/qcom/gcc-ipq5210.c
+++ b/drivers/clk/qcom/gcc-ipq5210.c
@@ -2601,6 +2601,9 @@ static const struct qcom_reset_map gcc_ipq5210_resets[] = {
[GCC_USB3PHY_0_PHY_BCR] = { 0x2c070 },
[GCC_USB_BCR] = { 0x2c000 },
[GCC_QDSS_BCR] = { 0x2d000 },
+ [GCC_UNIPHY0_XPCS_ARES] = { 0x17050, 2 },
+ [GCC_UNIPHY1_XPCS_ARES] = { 0x17060, 2 },
+ [GCC_UNIPHY2_XPCS_ARES] = { 0x17070, 2 },
};
static const struct of_device_id gcc_ipq5210_match_table[] = {
--
2.34.1
^ permalink raw reply [flat|nested] 25+ messages in thread* Re: [PATCH 10/11] clk: qcom: gcc-ipq5210: add UNIPHY XPCS reset entries
2026-09-21 6:19 ` [PATCH 10/11] clk: qcom: gcc-ipq5210: add UNIPHY XPCS reset entries Kathiravan Thirumoorthy
@ 2026-09-21 12:06 ` Abel Vesa
0 siblings, 0 replies; 25+ messages in thread
From: Abel Vesa @ 2026-09-21 12:06 UTC (permalink / raw)
To: Kathiravan Thirumoorthy
Cc: Bjorn Andersson, Stephen Boyd, Brian Masney, Jerome Brunet,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Georgi Djakov,
Konrad Dybcio, Varadarajan Narayanan, Dmitry Baryshkov,
Abel Vesa, Gokul Sriram Palanisamy, Sricharan Ramabadhran,
Kathiravan T, linux-arm-msm, linux-clk, linux-kernel, devicetree,
linux-pm, Konrad Dybcio
On 26-09-21 11:49:43, Kathiravan Thirumoorthy wrote:
> Add reset entries for the UNIPHY0, UNIPHY1, and UNIPHY2 XPCS blocks.
> These resets are required by the NSS block for proper operation.
>
> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
> Signed-off-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com>
Reviewed-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH 11/11] clk: qcom: apss-ipq5424: fix 'ipa' typos
2026-09-21 6:19 [PATCH 00/11] Add a few minor enhancements to the Qualcomm IPQ GCC drivers Kathiravan Thirumoorthy
` (9 preceding siblings ...)
2026-09-21 6:19 ` [PATCH 10/11] clk: qcom: gcc-ipq5210: add UNIPHY XPCS reset entries Kathiravan Thirumoorthy
@ 2026-09-21 6:19 ` Kathiravan Thirumoorthy
2026-09-21 12:07 ` Abel Vesa
10 siblings, 1 reply; 25+ messages in thread
From: Kathiravan Thirumoorthy @ 2026-09-21 6:19 UTC (permalink / raw)
To: Bjorn Andersson, Stephen Boyd, Brian Masney, Jerome Brunet,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Georgi Djakov,
Konrad Dybcio, Varadarajan Narayanan, Dmitry Baryshkov,
Abel Vesa, Gokul Sriram Palanisamy, Sricharan Ramabadhran,
Kathiravan T
Cc: linux-arm-msm, linux-clk, linux-kernel, devicetree, linux-pm,
Kathiravan Thirumoorthy, Konrad Dybcio
Replace incorrect occurrences of "ipa" with "ipq".
Compile-tested only.
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com>
---
drivers/clk/qcom/apss-ipq5424.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/drivers/clk/qcom/apss-ipq5424.c b/drivers/clk/qcom/apss-ipq5424.c
index 1662c83058bc..abc933570cf2 100644
--- a/drivers/clk/qcom/apss-ipq5424.c
+++ b/drivers/clk/qcom/apss-ipq5424.c
@@ -206,14 +206,14 @@ static struct clk_regmap *apss_ipq5424_clks[] = {
[L3_CORE_CLK] = &l3_core_clk.clkr,
};
-static struct clk_alpha_pll *ipa5424_apss_plls[] = {
+static struct clk_alpha_pll *ipq5424_apss_plls[] = {
&ipq5424_l3_pll,
&ipq5424_apss_pll,
};
-static const struct qcom_cc_driver_data ipa5424_apss_driver_data = {
- .alpha_plls = ipa5424_apss_plls,
- .num_alpha_plls = ARRAY_SIZE(ipa5424_apss_plls),
+static const struct qcom_cc_driver_data ipq5424_apss_driver_data = {
+ .alpha_plls = ipq5424_apss_plls,
+ .num_alpha_plls = ARRAY_SIZE(ipq5424_apss_plls),
};
#define IPQ_APPS_PLL_ID (5424 * 3) /* some unique value */
@@ -229,7 +229,7 @@ static const struct qcom_cc_desc apss_ipq5424_desc = {
.icc_hws = icc_ipq5424_cpu_l3,
.num_icc_hws = ARRAY_SIZE(icc_ipq5424_cpu_l3),
.icc_first_node_id = IPQ_APPS_PLL_ID,
- .driver_data = &ipa5424_apss_driver_data,
+ .driver_data = &ipq5424_apss_driver_data,
};
static int apss_ipq5424_probe(struct platform_device *pdev)
--
2.34.1
^ permalink raw reply [flat|nested] 25+ messages in thread* Re: [PATCH 11/11] clk: qcom: apss-ipq5424: fix 'ipa' typos
2026-09-21 6:19 ` [PATCH 11/11] clk: qcom: apss-ipq5424: fix 'ipa' typos Kathiravan Thirumoorthy
@ 2026-09-21 12:07 ` Abel Vesa
0 siblings, 0 replies; 25+ messages in thread
From: Abel Vesa @ 2026-09-21 12:07 UTC (permalink / raw)
To: Kathiravan Thirumoorthy
Cc: Bjorn Andersson, Stephen Boyd, Brian Masney, Jerome Brunet,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Georgi Djakov,
Konrad Dybcio, Varadarajan Narayanan, Dmitry Baryshkov,
Abel Vesa, Gokul Sriram Palanisamy, Sricharan Ramabadhran,
Kathiravan T, linux-arm-msm, linux-clk, linux-kernel, devicetree,
linux-pm, Konrad Dybcio
On 26-09-21 11:49:44, Kathiravan Thirumoorthy wrote:
> Replace incorrect occurrences of "ipa" with "ipq".
>
> Compile-tested only.
>
> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
> Signed-off-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com>
Reviewed-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
^ permalink raw reply [flat|nested] 25+ messages in thread