Re: [PATCH] phy: tegra: xusb: Default otg mode to peripheral

From: Aaron Kling
Date: Mon Apr 14 2025 - 00:45:23 EST


On Fri, Apr 4, 2025 at 3:18 AM Aaron Kling via B4 Relay
<devnull+webgeek1234.gmail.com@xxxxxxxxxx> wrote:
>
> From: Aaron Kling <webgeek1234@xxxxxxxxx>
>
> Currently, if usb-role-switch is set and role-switch-default-mode is
> not, a xusb port will be inoperable until that port is hotplugged,
> because the driver defaults to role none. Instead of requiring all
> devices to set the default mode, assume that the port is primarily
> intended for use in device mode. This assumption already has precedence
> in the synopsys dwc3 driver.
>
> Signed-off-by: Aaron Kling <webgeek1234@xxxxxxxxx>
> ---
> drivers/phy/tegra/xusb.c | 8 +++-----
> 1 file changed, 3 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/phy/tegra/xusb.c b/drivers/phy/tegra/xusb.c
> index 79d4814d758d5e1f0e8200d61e131606adbb0e2d..c56e83216d0f566a09b67377172fb04c8406f4cf 100644
> --- a/drivers/phy/tegra/xusb.c
> +++ b/drivers/phy/tegra/xusb.c
> @@ -731,13 +731,11 @@ static void tegra_xusb_parse_usb_role_default_mode(struct tegra_xusb_port *port)
>
> if (mode == USB_DR_MODE_HOST)
> role = USB_ROLE_HOST;
> - else if (mode == USB_DR_MODE_PERIPHERAL)
> + else
> role = USB_ROLE_DEVICE;
>
> - if (role != USB_ROLE_NONE) {
> - usb_role_switch_set_role(port->usb_role_sw, role);
> - dev_dbg(&port->dev, "usb role default mode is %s", modes[mode]);
> - }
> + usb_role_switch_set_role(port->usb_role_sw, role);
> + dev_dbg(&port->dev, "usb role default mode is %s", modes[mode]);
> }
>
> static int tegra_xusb_usb2_port_parse_dt(struct tegra_xusb_usb2_port *usb2)
>
> ---
> base-commit: 91e5bfe317d8f8471fbaa3e70cf66cae1314a516
> change-id: 20250404-xusb-peripheral-c45b1637f33b
>
> Best regards,
> --
> Aaron Kling <webgeek1234@xxxxxxxxx>
>
>

Friendly reminder about this patch.

Sincerely,
Aaron