[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