Re: [PATCH v2] usb: dwc3: qcom: enable vbus override when in OTG dr-mode

From: Konrad Dybcio
Date: Mon Jan 30 2023 - 08:37:28 EST




On 24.01.2023 09:31, Neil Armstrong wrote:
> With vbus override enabled when in OTG dr_mode, Host<->Peripheral
> switch now works on SM8550, otherwise the DWC3 seems to be stuck
> in Host mode only.
>
> Fixes: a4333c3a6ba9 ("usb: dwc3: Add Qualcomm DWC3 glue driver")
> Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@xxxxxxxxxx>
> Signed-off-by: Neil Armstrong <neil.armstrong@xxxxxxxxxx>
> ---
Required for SM6115P Lenovo Tab P11 to switch to peripheral
with otg dr_mode as well!

Tested-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxx>

Konrad
> Changes in v2:
> - Added Bryan's reviewed-by
> - Added Fixes tag
> - Link to v1: https://lore.kernel.org/r/20230123-topic-sm8550-upstream-dwc3-qcom-otg-v1-1-e287a418aa5f@xxxxxxxxxx
> ---
> drivers/usb/dwc3/dwc3-qcom.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/usb/dwc3/dwc3-qcom.c b/drivers/usb/dwc3/dwc3-qcom.c
> index b0a0351d2d8b..959fc925ca7c 100644
> --- a/drivers/usb/dwc3/dwc3-qcom.c
> +++ b/drivers/usb/dwc3/dwc3-qcom.c
> @@ -901,7 +901,7 @@ static int dwc3_qcom_probe(struct platform_device *pdev)
> qcom->mode = usb_get_dr_mode(&qcom->dwc3->dev);
>
> /* enable vbus override for device mode */
> - if (qcom->mode == USB_DR_MODE_PERIPHERAL)
> + if (qcom->mode != USB_DR_MODE_HOST)
> dwc3_qcom_vbus_override_enable(qcom, true);
>
> /* register extcon to override sw_vbus on Vbus change later */
>
> ---
> base-commit: 1b929c02afd37871d5afb9d498426f83432e71c2
> change-id: 20230123-topic-sm8550-upstream-dwc3-qcom-otg-81795ea148db
>
> Best regards,