[PATCH 5/5] arm64: tegra: smaug: Add usb-role-switch support
Jon Hunter
jonathanh at nvidia.com
Tue Jan 13 06:49:59 PST 2026
On 13/01/2026 14:20, Diogo Ivo wrote:
>
>
> On 1/12/26 22:03, Jon Hunter wrote:
>>
>> On 04/12/2025 21:27, Diogo Ivo wrote:
>>> The USB2 port on Smaug is configured for OTG operation but lacked the
>>> required 'usb-role-switch' property, leading to a failed probe and a
>>> non-functioning USB port. Add the property along with setting the
>>> default
>>> role to host.
>>>
>>> Signed-off-by: Diogo Ivo <diogo.ivo at tecnico.ulisboa.pt>
>>> ---
>>> arch/arm64/boot/dts/nvidia/tegra210-smaug.dts | 2 ++
>>> 1 file changed, 2 insertions(+)
>>>
>>> diff --git a/arch/arm64/boot/dts/nvidia/tegra210-smaug.dts b/arch/
>>> arm64/boot/dts/nvidia/tegra210-smaug.dts
>>> index b8d854f90be7..49bf23d6f593 100644
>>> --- a/arch/arm64/boot/dts/nvidia/tegra210-smaug.dts
>>> +++ b/arch/arm64/boot/dts/nvidia/tegra210-smaug.dts
>>> @@ -1809,6 +1809,8 @@ usb2-0 {
>>> status = "okay";
>>> vbus-supply = <&usbc_vbus>;
>>> mode = "otg";
>>> + usb-role-switch;
>>> + role-switch-default-mode = "host";
>>> };
>>
>>
>> This change does add the following warning when building with CHECK_DTBS
>> ...
>>
>> arch/arm64/boot/dts/nvidia/tegra210-smaug.dtb: padctl at 7009f000
>> (nvidia,tegra210-xusb-padctl): ports:usb2-0: 'role-switch-default-
>> mode' does not match any of the regexes: '^pinctrl-[0-9]+$'
>> from schema $id: http://devicetree.org/schemas/phy/
>> nvidia,tegra210- xusb-padctl.yaml
>>
>> I know that there are many warnings seen for the smaug DTB, but it would
>> be good to ensure we don't add more.
>
> The 'role-switch-default-mode' property is read by the driver to set the
> initial role for the port [0] and is needed in order for the port to work
> when booting so in order to fix the warning this property needs to be added
> to the binding.
Correct.
> As for the other warning ('connector' is a dependency of 'usb-role-switch')
> again I think the binding needs to be adjusted since in the Pixel C the
> connector node should be under the (as for now not present)
> cros-ec-typec node and the usb2-0 is then modeled as a remote-endpoint
> for the full connector. I am currently working on fixing the cros-ec-typec
> driver and already have a working fix for automatic role switching but
> in any case I think the binding is what needs changing. If you agree
> with this then I will add the necessary changes to the DT binding in v2.
Yes in both cases we need fixes to the DT binding that's all.
Jon
--
nvpublic
More information about the linux-phy
mailing list