ARM: dts: qcom: sdx55: fix USB DP/DM HS PHY interrupts
authorJohan Hovold <johan+linaro@kernel.org>
Wed, 13 Dec 2023 17:31:30 +0000 (18:31 +0100)
committerBjorn Andersson <andersson@kernel.org>
Tue, 19 Dec 2023 16:54:46 +0000 (10:54 -0600)
The USB DP/DM HS PHY interrupts need to be provided by the PDC interrupt
controller in order to be able to wake the system up from low-power
states and to be able to detect disconnect events, which requires
triggering on falling edges.

A recent commit updated the trigger type but failed to change the
interrupt provider as required. This leads to the current Linux driver
failing to probe instead of printing an error during suspend and USB
wakeup not working as intended.

Fixes: d0ec3c4c11c3 ("ARM: dts: qcom: sdx55: fix USB wakeup interrupt types")
Fixes: fea4b41022f3 ("ARM: dts: qcom: sdx55: Add USB3 and PHY support")
Cc: stable@vger.kernel.org # 5.12
Cc: Manivannan Sadhasivam <mani@kernel.org>
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Link: https://lore.kernel.org/r/20231213173131.29436-3-johan+linaro@kernel.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm/boot/dts/qcom/qcom-sdx55.dtsi

index 8934bf4ad43384296a3ef7875698ca920a854d0e..5347519f83573b471aba8dbfdfe0edc9b9b69405 100644 (file)
                                          <&gcc GCC_USB30_MASTER_CLK>;
                        assigned-clock-rates = <19200000>, <200000000>;
 
-                       interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
-                                    <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>,
-                                    <GIC_SPI 158 IRQ_TYPE_EDGE_BOTH>,
-                                    <GIC_SPI 157 IRQ_TYPE_EDGE_BOTH>;
+                       interrupts-extended = <&intc GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
+                                             <&intc GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>,
+                                             <&pdc 11 IRQ_TYPE_EDGE_BOTH>,
+                                             <&pdc 10 IRQ_TYPE_EDGE_BOTH>;
                        interrupt-names = "hs_phy_irq", "ss_phy_irq",
                                          "dm_hs_phy_irq", "dp_hs_phy_irq";