Linux ARM-MSM sub-architecture
 help / color / mirror / Atom feed
* [RFT PATCH 1/2] arm64: dts: qcom: ipq5018: Correct USB DWC3 wrapper interrupts
@ 2026-01-06 18:51 Krzysztof Kozlowski
  2026-01-06 18:51 ` [RFT PATCH 2/2] arm64: dts: qcom: ipq9574: Complete " Krzysztof Kozlowski
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Krzysztof Kozlowski @ 2026-01-06 18:51 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, linux-arm-msm, devicetree, linux-kernel
  Cc: Krzysztof Kozlowski

Interrupts for DWC3 node were completely mixed up - SPI interrupt 62 is
not listed in reference manual at all.  It was also causing dtbs_check
warnings:

  ipq5018-rdp432-c2.dtb: usb@8af8800 (qcom,ipq5018-dwc3): interrupt-names:0: 'pwr_event' was expected
  ipq5018-rdp432-c2.dtb: usb@8af8800 (qcom,ipq5018-dwc3): interrupt-names: ['hs_phy_irq'] is too short

Warning itself was introduced by commit 53c6d854be4e ("dt-bindings: usb:
dwc3: Clean up hs_phy_irq in binding"), but this was trying to bring
sanity to the interrupts overall, although did a mistake for IPQ5018.
IPQ5018 does not have QUSB2 PHY and its interrupts should rather match
ones used in IPQ5332.

Correct it by using interrupts matching the bindings and reference
manual.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>

---

Not tested on hardware.

Bindings for this change:
lore.kernel.org/r/20260106185012.19551-3-krzysztof.kozlowski@oss.qualcomm.com
---
 arch/arm64/boot/dts/qcom/ipq5018.dtsi | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/ipq5018.dtsi b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
index 721b642acf8e..6f8004a22a1f 100644
--- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
@@ -571,8 +571,12 @@ usb: usb@8af8800 {
 			compatible = "qcom,ipq5018-dwc3", "qcom,dwc3";
 			reg = <0x08af8800 0x400>;
 
-			interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
-			interrupt-names = "hs_phy_irq";
+			interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
+			interrupt-names = "pwr_event",
+					  "dp_hs_phy_irq",
+					  "dm_hs_phy_irq";
 
 			clocks = <&gcc GCC_USB0_MASTER_CLK>,
 				 <&gcc GCC_SYS_NOC_USB0_AXI_CLK>,
-- 
2.51.0


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

* [RFT PATCH 2/2] arm64: dts: qcom: ipq9574: Complete USB DWC3 wrapper interrupts
  2026-01-06 18:51 [RFT PATCH 1/2] arm64: dts: qcom: ipq5018: Correct USB DWC3 wrapper interrupts Krzysztof Kozlowski
@ 2026-01-06 18:51 ` Krzysztof Kozlowski
  2026-01-08  5:43   ` Kathiravan Thirumoorthy
  2026-01-08  9:42 ` [RFT PATCH 1/2] arm64: dts: qcom: ipq5018: Correct " George Moussalem
  2026-01-10 19:11 ` Bjorn Andersson
  2 siblings, 1 reply; 6+ messages in thread
From: Krzysztof Kozlowski @ 2026-01-06 18:51 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, linux-arm-msm, devicetree, linux-kernel
  Cc: Krzysztof Kozlowski

Complete interrupts for DWC3 node to match what is required by
Devicetree bindings, as reported by dtbs_check:

  ipq9574-rdp433.dtb: usb@8af8800 (qcom,ipq9574-dwc3): interrupt-names: ['pwr_event'] is too short

The actual interrupt numbers are taken from reference manual of similar
chip, but not IPQ9574, due to lack of access to it.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>

---

Not tested on hardware.

"lack of access" = no IPQ9574 at all.
---
 arch/arm64/boot/dts/qcom/ipq9574.dtsi | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/ipq9574.dtsi b/arch/arm64/boot/dts/qcom/ipq9574.dtsi
index 86c9cb9fffc9..d7278f2137ac 100644
--- a/arch/arm64/boot/dts/qcom/ipq9574.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq9574.dtsi
@@ -765,8 +765,14 @@ usb3: usb@8af8800 {
 			assigned-clock-rates = <200000000>,
 					       <24000000>;
 
-			interrupts-extended = <&intc GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>;
-			interrupt-names = "pwr_event";
+			interrupts-extended = <&intc GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
+					      <&intc GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
+					      <&intc GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
+					      <&intc GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
+			interrupt-names = "pwr_event",
+					  "qusb2_phy",
+					  "dm_hs_phy_irq",
+					  "dp_hs_phy_irq";
 
 			resets = <&gcc GCC_USB_BCR>;
 			status = "disabled";
-- 
2.51.0


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

* Re: [RFT PATCH 2/2] arm64: dts: qcom: ipq9574: Complete USB DWC3 wrapper interrupts
  2026-01-06 18:51 ` [RFT PATCH 2/2] arm64: dts: qcom: ipq9574: Complete " Krzysztof Kozlowski
@ 2026-01-08  5:43   ` Kathiravan Thirumoorthy
  2026-01-09  4:11     ` Kathiravan Thirumoorthy
  0 siblings, 1 reply; 6+ messages in thread
From: Kathiravan Thirumoorthy @ 2026-01-08  5:43 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, linux-arm-msm, devicetree,
	linux-kernel


On 1/7/2026 12:21 AM, Krzysztof Kozlowski wrote:
> Complete interrupts for DWC3 node to match what is required by
> Devicetree bindings, as reported by dtbs_check:
>
>    ipq9574-rdp433.dtb: usb@8af8800 (qcom,ipq9574-dwc3): interrupt-names: ['pwr_event'] is too short
>
> The actual interrupt numbers are taken from reference manual of similar
> chip, but not IPQ9574, due to lack of access to it.
>
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
>
> ---
>
> Not tested on hardware.
>
> "lack of access" = no IPQ9574 at all.

Initially the SoC was named as IPQ9048 and after sometime it is renamed 
as IPQ9574. But unfortunately, the reference manual is not updated with 
the new naming.

I can confirm the below interrupts are correct. So,

Reviewed-by: Kathiravan Thirumoorthy 
<kathiravan.thirumoorthy@oss.qualcomm.com>

Thanks, Kathiravan T.

> ---
>   arch/arm64/boot/dts/qcom/ipq9574.dtsi | 10 ++++++++--
>   1 file changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/ipq9574.dtsi b/arch/arm64/boot/dts/qcom/ipq9574.dtsi
> index 86c9cb9fffc9..d7278f2137ac 100644
> --- a/arch/arm64/boot/dts/qcom/ipq9574.dtsi
> +++ b/arch/arm64/boot/dts/qcom/ipq9574.dtsi
> @@ -765,8 +765,14 @@ usb3: usb@8af8800 {
>   			assigned-clock-rates = <200000000>,
>   					       <24000000>;
>   
> -			interrupts-extended = <&intc GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>;
> -			interrupt-names = "pwr_event";
> +			interrupts-extended = <&intc GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
> +					      <&intc GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
> +					      <&intc GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
> +					      <&intc GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
> +			interrupt-names = "pwr_event",
> +					  "qusb2_phy",
> +					  "dm_hs_phy_irq",
> +					  "dp_hs_phy_irq";
>   
>   			resets = <&gcc GCC_USB_BCR>;
>   			status = "disabled";

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

* Re: [RFT PATCH 1/2] arm64: dts: qcom: ipq5018: Correct USB DWC3 wrapper interrupts
  2026-01-06 18:51 [RFT PATCH 1/2] arm64: dts: qcom: ipq5018: Correct USB DWC3 wrapper interrupts Krzysztof Kozlowski
  2026-01-06 18:51 ` [RFT PATCH 2/2] arm64: dts: qcom: ipq9574: Complete " Krzysztof Kozlowski
@ 2026-01-08  9:42 ` George Moussalem
  2026-01-10 19:11 ` Bjorn Andersson
  2 siblings, 0 replies; 6+ messages in thread
From: George Moussalem @ 2026-01-08  9:42 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, linux-arm-msm, devicetree,
	linux-kernel



On 1/6/26 22:51, Krzysztof Kozlowski wrote:
> Interrupts for DWC3 node were completely mixed up - SPI interrupt 62 is
> not listed in reference manual at all.  It was also causing dtbs_check
> warnings:
> 
>   ipq5018-rdp432-c2.dtb: usb@8af8800 (qcom,ipq5018-dwc3): interrupt-names:0: 'pwr_event' was expected
>   ipq5018-rdp432-c2.dtb: usb@8af8800 (qcom,ipq5018-dwc3): interrupt-names: ['hs_phy_irq'] is too short
> 
> Warning itself was introduced by commit 53c6d854be4e ("dt-bindings: usb:
> dwc3: Clean up hs_phy_irq in binding"), but this was trying to bring
> sanity to the interrupts overall, although did a mistake for IPQ5018.
> IPQ5018 does not have QUSB2 PHY and its interrupts should rather match
> ones used in IPQ5332.

No functional change, but USB port confirmed working on IPQ5018 device
Linksys MR5500. Thanks!

Tested-by: George Moussalem <george.moussalem@outlook.com>

> 
> Correct it by using interrupts matching the bindings and reference
> manual.
> 
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
> 
> ---
> 
> Not tested on hardware.
> 
> Bindings for this change:
> lore.kernel.org/r/20260106185012.19551-3-krzysztof.kozlowski@oss.qualcomm.com
> ---
>  arch/arm64/boot/dts/qcom/ipq5018.dtsi | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/qcom/ipq5018.dtsi b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
> index 721b642acf8e..6f8004a22a1f 100644
> --- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi
> +++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
> @@ -571,8 +571,12 @@ usb: usb@8af8800 {
>  			compatible = "qcom,ipq5018-dwc3", "qcom,dwc3";
>  			reg = <0x08af8800 0x400>;
>  
> -			interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
> -			interrupt-names = "hs_phy_irq";
> +			interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
> +				     <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
> +				     <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
> +			interrupt-names = "pwr_event",
> +					  "dp_hs_phy_irq",
> +					  "dm_hs_phy_irq";
>  
>  			clocks = <&gcc GCC_USB0_MASTER_CLK>,
>  				 <&gcc GCC_SYS_NOC_USB0_AXI_CLK>,


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

* Re: [RFT PATCH 2/2] arm64: dts: qcom: ipq9574: Complete USB DWC3 wrapper interrupts
  2026-01-08  5:43   ` Kathiravan Thirumoorthy
@ 2026-01-09  4:11     ` Kathiravan Thirumoorthy
  0 siblings, 0 replies; 6+ messages in thread
From: Kathiravan Thirumoorthy @ 2026-01-09  4:11 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, linux-arm-msm, devicetree,
	linux-kernel


On 1/8/2026 11:13 AM, Kathiravan Thirumoorthy wrote:
>
> On 1/7/2026 12:21 AM, Krzysztof Kozlowski wrote:
>> Complete interrupts for DWC3 node to match what is required by
>> Devicetree bindings, as reported by dtbs_check:
>>
>>    ipq9574-rdp433.dtb: usb@8af8800 (qcom,ipq9574-dwc3): 
>> interrupt-names: ['pwr_event'] is too short
>>
>> The actual interrupt numbers are taken from reference manual of similar
>> chip, but not IPQ9574, due to lack of access to it.
>>
>> Signed-off-by: Krzysztof Kozlowski 
>> <krzysztof.kozlowski@oss.qualcomm.com>
>>
>> ---
>>
>> Not tested on hardware.
>>
>> "lack of access" = no IPQ9574 at all.
>
> Initially the SoC was named as IPQ9048 and after sometime it is 
> renamed as IPQ9574. But unfortunately, the reference manual is not 
> updated with the new naming.
>
> I can confirm the below interrupts are correct. So,
>
> Reviewed-by: Kathiravan Thirumoorthy 
> <kathiravan.thirumoorthy@oss.qualcomm.com>
>
> Thanks, Kathiravan T.

Also, confirmed that USB is working well, without any issues.

Tested-by: Kathiravan Thirumoorthy 
<kathiravan.thirumoorthy@oss.qualcomm.com>

>
>> ---
>>   arch/arm64/boot/dts/qcom/ipq9574.dtsi | 10 ++++++++--
>>   1 file changed, 8 insertions(+), 2 deletions(-)
>>
>> diff --git a/arch/arm64/boot/dts/qcom/ipq9574.dtsi 
>> b/arch/arm64/boot/dts/qcom/ipq9574.dtsi
>> index 86c9cb9fffc9..d7278f2137ac 100644
>> --- a/arch/arm64/boot/dts/qcom/ipq9574.dtsi
>> +++ b/arch/arm64/boot/dts/qcom/ipq9574.dtsi
>> @@ -765,8 +765,14 @@ usb3: usb@8af8800 {
>>               assigned-clock-rates = <200000000>,
>>                              <24000000>;
>>   -            interrupts-extended = <&intc GIC_SPI 134 
>> IRQ_TYPE_LEVEL_HIGH>;
>> -            interrupt-names = "pwr_event";
>> +            interrupts-extended = <&intc GIC_SPI 134 
>> IRQ_TYPE_LEVEL_HIGH>,
>> +                          <&intc GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
>> +                          <&intc GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
>> +                          <&intc GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
>> +            interrupt-names = "pwr_event",
>> +                      "qusb2_phy",
>> +                      "dm_hs_phy_irq",
>> +                      "dp_hs_phy_irq";
>>                 resets = <&gcc GCC_USB_BCR>;
>>               status = "disabled";

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

* Re: [RFT PATCH 1/2] arm64: dts: qcom: ipq5018: Correct USB DWC3 wrapper interrupts
  2026-01-06 18:51 [RFT PATCH 1/2] arm64: dts: qcom: ipq5018: Correct USB DWC3 wrapper interrupts Krzysztof Kozlowski
  2026-01-06 18:51 ` [RFT PATCH 2/2] arm64: dts: qcom: ipq9574: Complete " Krzysztof Kozlowski
  2026-01-08  9:42 ` [RFT PATCH 1/2] arm64: dts: qcom: ipq5018: Correct " George Moussalem
@ 2026-01-10 19:11 ` Bjorn Andersson
  2 siblings, 0 replies; 6+ messages in thread
From: Bjorn Andersson @ 2026-01-10 19:11 UTC (permalink / raw)
  To: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	linux-arm-msm, devicetree, linux-kernel, Krzysztof Kozlowski


On Tue, 06 Jan 2026 19:51:24 +0100, Krzysztof Kozlowski wrote:
> Interrupts for DWC3 node were completely mixed up - SPI interrupt 62 is
> not listed in reference manual at all.  It was also causing dtbs_check
> warnings:
> 
>   ipq5018-rdp432-c2.dtb: usb@8af8800 (qcom,ipq5018-dwc3): interrupt-names:0: 'pwr_event' was expected
>   ipq5018-rdp432-c2.dtb: usb@8af8800 (qcom,ipq5018-dwc3): interrupt-names: ['hs_phy_irq'] is too short
> 
> [...]

Applied, thanks!

[1/2] arm64: dts: qcom: ipq5018: Correct USB DWC3 wrapper interrupts
      commit: d106f9681d1952b7c19726b0713cee6ae11211f5
[2/2] arm64: dts: qcom: ipq9574: Complete USB DWC3 wrapper interrupts
      commit: bd2dc325db8c8cb29b65b0c636e31babc2bfeddf

Best regards,
-- 
Bjorn Andersson <andersson@kernel.org>

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

end of thread, other threads:[~2026-01-10 19:11 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-06 18:51 [RFT PATCH 1/2] arm64: dts: qcom: ipq5018: Correct USB DWC3 wrapper interrupts Krzysztof Kozlowski
2026-01-06 18:51 ` [RFT PATCH 2/2] arm64: dts: qcom: ipq9574: Complete " Krzysztof Kozlowski
2026-01-08  5:43   ` Kathiravan Thirumoorthy
2026-01-09  4:11     ` Kathiravan Thirumoorthy
2026-01-08  9:42 ` [RFT PATCH 1/2] arm64: dts: qcom: ipq5018: Correct " George Moussalem
2026-01-10 19:11 ` Bjorn Andersson

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