Hi Amelie, On Mon, Jul 27, 2020 at 11:23 AM Amelie Delaunay <amelie.delaunay@xxxxxx> wrote: > > This patch adds support for usb role switch to dwc2, by using overriding > control of the PHY voltage valid and ID input signals. > > iddig signal (ID) can be overridden: > - when setting GUSBCFG_FORCEHOSTMODE, iddig input pin is overridden with 1; > - when setting GUSBCFG_FORCEDEVMODE, iddig input pin is overridden with 0. > > avalid/bvalid/vbusvalid signals can be overridden respectively with: > - GOTGCTL_AVALOEN + GOTGCTL_AVALOVAL > - GOTGCTL_BVALOEN + GOTGCTL_BVALOVAL > - GOTGCTL_VBVALEN + GOTGCTL_VBVALOVAL > > It is possible to determine valid sessions thanks to usb role switch: > - if USB_ROLE_NONE then !avalid && !bvalid && !vbusvalid > - if USB_ROLE_DEVICE then !avalid && bvalid && vbusvalid > - if USB_ROLE_HOST then avalid && !bvalid && vbusvalid > > Signed-off-by: Amelie Delaunay <amelie.delaunay@xxxxxx> please add my: Acked-by: Martin Blumenstingl <martin.blumenstingl@xxxxxxxxxxxxxx> The usb_role_switch part looks correct to me I don't understand the details of the dwc2 hardware well enough to say if the rest of this patch is fine or not (which is why I'm giving my Acked-by instead of Reviewed-by). Unfortunately I'm still fighting with the Amlogic bits (or my board...) to make this work on my boards. That why I can't give my Tested-by yet At the same time I'm confident that the problem lies within the Amlogic OTG detection/GPIOs so I don't see a reason to hold your patch up due to this Finally, please note that there may be a small conflict due to one bugfix I sent: [0] I think it will be trivial to solve (since we're both adding a new error label) Thank you for your good work again! Best regards, Martin [0] https://patchwork.kernel.org/patch/11687357/