On 29/06/2021 16:48, Bjorn Andersson wrote:
What's wrong with the switch that dwc3_setup_role_switch() sets up?
That's what I've been using in my UCSI hacking on Snapdragon 888 and it
seems to work...
Regards,
Bjorn
A good question, which as soon as you asked it made me completely doubt
if I'd tested the tree without the patch applied.
I reverted both on my working tree and indeed it breaks role-switch
detection.
In TCPM the connector is a child node of TCPM
https://git.linaro.org/people/bryan.odonoghue/kernel.git/tree/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts?h=usb-next-5.13.rcx-rb5-tcpm
line 1396
We use a remote endpoint inside of TCPM to hook up into &usb_1 line 1303
Not entirely sure what the graph tree looks like in your USCI case but I
guess the connector is a child node of the controller ?
But I think your question is why bother with the role-switch in dwc3-qcom
dwc3_qcom_vbus_override_enable(){} is switching bits that probably ought
to be in the PHY but for whatever reason ended up being buried in the
qcom-dwc3 wrapper.
Certainly we want that for qcs405 if you remember - I'm assuming for the
sm8x50 too.
Even if we shouldn't twiddle these bits on sm8x50 I believe its wanted
on qcs405.
I'm open to correction on that one though
---
bod