[PATCH 0/5] Fixes to Tegra USB role switching and Smaug USB role switching enablement

Diogo Ivo diogo.ivo at tecnico.ulisboa.pt
Mon Jan 12 05:46:19 PST 2026


Hello,

On 12/4/25 21:27, Diogo Ivo wrote:
> Hello,
> 
> This patch series contains two fixes for USB role switching on the
> Tegra210 SoC, as well as enabling this feature on the Pixel C.
> 
> The first patch addresses a wrong check on the logic that disables the
> VBUS regulator.
> 
> The second patch guarantees proper ordering of events when switching PHY
> roles.
> 
> The third and fourth patches then add the necessary nodes and properties
> in the Smaug DT in order for role switching to work. Currently with this
> patch series this feature can only be controlled from userspace by writing
> the desired role to sysfs as
> 
> echo "role" > /sys/class/usb_role/usb2-0-role-switch/role
> 
> with role being one of {device, host, none}.
> 
> Further patches will enable automatic role switching via the 'cros_ec_typec'
> driver which is currently broken on Smaug.
> 
> N.B: This series does not add a 'connector' node under the 'usb-role-switch'
> property added on patch 04/04 because for Smaug the connector should instead
> be under the node for 'cros_ec_typec' node and as stated above this
> driver is currently broken for this device. If it is deemed better to
> describe it but explicitly disable the node let me know and I will send
> out a v2.
> 
> Signed-off-by: Diogo Ivo <diogo.ivo at tecnico.ulisboa.pt>
> ---
> Diogo Ivo (5):
>        usb: host: tegra: Remove redundant pm_runtime_mark_last_busy() call
>        phy: tegra: xusb: Fix USB2 port regulator disable logic
>        phy: tegra: xusb: Fix ordering issue when switching roles on USB2 ports
>        arm64: tegra: smaug: Complete and enable tegra-udc node
>        arm64: tegra: smaug: Add usb-role-switch support
> 
>   arch/arm64/boot/dts/nvidia/tegra210-smaug.dts | 13 +++++++++++++
>   drivers/phy/tegra/xusb-tegra210.c             |  5 +++--
>   drivers/phy/tegra/xusb.c                      | 23 +++++++++++++++++++++++
>   drivers/phy/tegra/xusb.h                      |  1 +
>   drivers/usb/gadget/udc/tegra-xudc.c           |  4 ++++
>   drivers/usb/host/xhci-tegra.c                 | 17 ++++++++++-------
>   include/linux/phy/tegra/xusb.h                |  1 +
>   7 files changed, 55 insertions(+), 9 deletions(-)
> ---
> base-commit: a8817ff3b5cd99b0a5af57a92d1a3a7980612550
> change-id: 20251201-diogo-tegra_phy-86c89cab7377

Gentle ping on this series.

Thank you,
Diogo



More information about the linux-phy mailing list