Re: [PATCH] usb: dwc3: Allow usb role swich control from userspace
From: Thinh Nguyen
Date: Thu Oct 23 2025 - 18:45:30 EST
On Thu, Oct 23, 2025, Pritam Manohar Sutar wrote:
> Hi Thinh,
>
> > -----Original Message-----
> > From: Thinh Nguyen <Thinh.Nguyen@xxxxxxxxxxxx>
> > Sent: 22 October 2025 03:40 AM
> > To: Pritam Manohar Sutar <pritam.sutar@xxxxxxxxxxx>
> > Cc: Thinh Nguyen <Thinh.Nguyen@xxxxxxxxxxxx>;
> > gregkh@xxxxxxxxxxxxxxxxxxx; linux-usb@xxxxxxxxxxxxxxx; linux-
> > kernel@xxxxxxxxxxxxxxx; rosa.pila@xxxxxxxxxxx; dev.tailor@xxxxxxxxxxx;
> > faraz.ata@xxxxxxxxxxx; muhammed.ali@xxxxxxxxxxx;
> > selvarasu.g@xxxxxxxxxxx
> > Subject: Re: [PATCH] usb: dwc3: Allow usb role swich control from userspace
> >
> > On Mon, Oct 20, 2025, Pritam Manohar Sutar wrote:
> > > There is a possibility of user needs for USB mode switching on boards
> > > that lack external hardware support for dynamic host/device role
> > > detection.
> >
> > It's fine to enable this. But base on this change log, it sounds like there's no use
> > case at the moment? If there is one, even if it's only for debugging purpose,
> > please note it so. I'm hesitant to accept changes base on use case speculation
> > only.
> >
>
> Thank you for your comments.
>
> Yes, a use case exists, especially in automotive, where this feature
> is needed to allow user-space applications to switch modes
> (host to device or vice-versa) at runtime during CarPlay or Android
> Auto operations.
>
> Can you please confirm updated commit message with usecase added as below?
>
> "
> usb: dwc3: Allow usb role swich control from userspace
>
> There is a possibility of user needs for USB mode switching on boards
> that lack external hardware support for dynamic host/device role
> detection. This is particularly relevant in automotive applications
> where userspace applications need to switch USB roles (host to device)
> at runtime for CarPlay/Android Auto integration.
>
> Add an `allow_userspace_control` flag to handle such cases. When
> enabled, it exposes a sysfs attribute that allows userspace to switch
> the USB role manually between host and device. This provides flexibility
> for platforms that cannot rely on hardware-based mode detection.
>
> The role switch can be done as below
> echo host > /sys/class/usb_role/<ADDR>.usb-role-switch/role
> echo device > /sys/class/usb_role/<ADDR>.usb-role-switch/role
> "
>
Yes, can you update the patch with this new info? Thank you.
Acked-by: Thinh Nguyen <Thinh.Nguyen@xxxxxxxxxxxx>
BR,
Thinh