Re: [PATCH 00/11] ARM/arm64: dts: qcom: fix USB wakeup interrupt types

From: Johan Hovold
Date: Mon Dec 11 2023 - 11:38:21 EST


On Mon, Nov 20, 2023 at 05:43:20PM +0100, Johan Hovold wrote:

> It turns out a number Qualcomm devicetrees have also gotten the trigger
> types wrong, something which this series addresses.
>
> Specifically, the HS/SS PHY wakeup interrupts are level triggered while
> the DP/DM HS PHY interrupts are edge triggered, and which edge to
> trigger on depends both on the use-case and on whether a Low speed or
> Full/High speed device is connected.
>
> Fortunately, there should be no dependency between this series and USB
> one as all devicetree use the correct trigger type for the HS/SS PHY
> interrupts and the HS one has never been armed by Linux anyway. The
> DP/DM interrupt trigger types are also updated on suspend currently.

Konrad reported off-list that the sc8180x patch in this series breaks
probe of the dwc3 driver.

Turns out a number of these SoCs were using GIC interrupts for the
DP/DM_HS_PHY interrupts despite the fact that the driver tries to
reconfigure these as IRQ_TYPE_EDGE_FALLING (which the GIC does not
support) to detect disconnect events during suspend.

This is obviously broken and the proper fix is to replace the GIC
interrupts with the corresponding PDC interrupts. I believe Konrad is
digging out the magic numbers at this moment.

The following patches will need a follow-up fix:

> ARM: dts: qcom: sdx55: fix USB wakeup interrupt types

> arm64: dts: qcom: sc8180x: fix USB wakeup interrupt types
> arm64: dts: qcom: sdm670: fix USB wakeup interrupt types
> arm64: dts: qcom: sdm845: fix USB wakeup interrupt types
> arm64: dts: qcom: sm6375: fix USB wakeup interrupt types
> arm64: dts: qcom: sm8150: fix USB wakeup interrupt types

Sorry about not noticing this.

Johan