Re: [PATCH v4 2/3] usb: dwc2: override PHY input signals with usb role switch support
From: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Date: 2020-07-27 17:55:59
Also in:
linux-devicetree, linux-usb, lkml
Hi Amelie, On Mon, Jul 27, 2020 at 11:23 AM Amelie Delaunay [off-list ref] 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 <redacted>
please add my: Acked-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> 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/ _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel