On 6.12.2024 11:02 PM, Petr Vorel wrote: > Hi Konrad, all, > >> From: Konrad Dybcio <konrad.dybcio@xxxxxxxxxxxxxxxx> > >> Previously the interrupt lanes were not described, fix that. > >> Fixes: d9be0bc95f25 ("arm64: dts: qcom: msm8994: Add USB support") >> Signed-off-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxxxxxxxx> >> --- >> arch/arm64/boot/dts/qcom/msm8994.dtsi | 9 +++++++++ >> 1 file changed, 9 insertions(+) > >> diff --git a/arch/arm64/boot/dts/qcom/msm8994.dtsi b/arch/arm64/boot/dts/qcom/msm8994.dtsi >> index 1acb0f159511996db07bc7543cf4f194a4ebd0fa..8c0b1e3a99a767e7c28bcaf3b9687501cc15cd58 100644 >> --- a/arch/arm64/boot/dts/qcom/msm8994.dtsi >> +++ b/arch/arm64/boot/dts/qcom/msm8994.dtsi >> @@ -437,6 +437,15 @@ usb3: usb@f92f8800 { >> #size-cells = <1>; >> ranges; > >> + interrupts = <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>, >> + <GIC_SPI 311 IRQ_TYPE_LEVEL_HIGH>, >> + <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>, >> + <GIC_SPI 310 IRQ_TYPE_LEVEL_HIGH>; >> + interrupt-names = "pwr_event", >> + "qusb2_phy", >> + "hs_phy_irq", >> + "ss_phy_irq"; >> + > > Tested-by: Petr Vorel <petr.vorel@xxxxxxxxx> > > Well, I tested this on msm8994 Huawei Nexus 6P. It did not break anything, > but obviously it's not enough for phone to get USB working. IMHO none of > msm899[24] has working USB. It did work for me on both libra and on the Sony phones.. On the Lumias it worked when I booted through lk2nd, and I tracked it down to one of the writes that I never implemented.. and then I removed the repo where I had it tracked down I took a quick peek (but don't have the time right now to make sure it's this one) and if my memory doesn't fail me, you may need to // the second address in qcom,usb-dwc3-msm in downstream void __iomem *foo = ioremap(0xFD4AB000, 0x4); u32 val = readl(foo); val |= BIT(0); writel(val, foo); > msm8996 has usb3phy, hsusb_phy[12] labels, I suppose USB will not be working > until this is set. Below is a snippet of a downstream device tree. I might > be able to transform it to the mainline tree, but feel free to post a patch > (probably obvious for you). So long as the PHY is not reset, it should be working as well as it did in the bootloader.. which depending on whether your BL set it up may mean "well" or "not at all".. Give the above a shot, put it in some early init code. Konrad