lkml.org 
[lkml]   [2021]   [Dec]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH v6 15/28] ARM: tegra: Add usb-role-switch property to USB OTG ports
From
Date
15.12.2021 18:16, Thierry Reding пишет:
> On Wed, Dec 15, 2021 at 06:04:54PM +0300, Dmitry Osipenko wrote:
>> 15.12.2021 16:14, Thierry Reding пишет:
>>> On Sun, Dec 12, 2021 at 12:13:59AM +0300, Dmitry Osipenko wrote:
>>>> From: Stefan Eichenberger <stefan.eichenberger@toradex.com>
>>>>
>>>> If an USB port is an OTG port, then we should add the usb-role-switch
>>>> property. Otherwise XUSB setup fails and therefore padctl is unable to
>>>> set up the ports. This leads to broken USB and PCIe ports. Add the
>>>> usb-role-switch properties to Tegra124 device-trees to fix the problem.
>>>>
>>>> The error message shown without this patch is e.g:
>>>> usb2-0: usb-role-switch not found for otg mode
>>>>
>>>> [digetx@gmail.com: improved commit message]
>>>> Tested-by: Thomas Graichen <thomas.graichen@gmail.com> # T124 Nyan Big
>>>> Signed-off-by: Stefan Eichenberger <stefan.eichenberger@toradex.com>
>>>> Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
>>>> ---
>>>> arch/arm/boot/dts/tegra124-apalis-v1.2.dtsi | 1 +
>>>> arch/arm/boot/dts/tegra124-apalis.dtsi | 1 +
>>>> arch/arm/boot/dts/tegra124-nyan.dtsi | 1 +
>>>> arch/arm/boot/dts/tegra124-venice2.dts | 2 +-
>>>> 4 files changed, 4 insertions(+), 1 deletion(-)
>>>
>>> The device tree bindings for the XUSB pad controller say that when this
>>> property is set, then the "connector" subnode should also exist.
>>>
>>> Any chance we can add that? I was planning on making that a dependency
>>> in the json-schema conversion of the binding, in which case it would be
>>> more of a "must" than a "should".
>>
>> I guess it will be harmless if you'll add the connector subnodes. Will
>> you be able to create a separate patch that will add the subnodes on top
>> of this patch?
>>
>> Thomas Graichen says that one USB port on Nyan Big doesn't work without
>> this patch. This is why this patch is needed essentially.
>
> Okay, I can add "dummy" connector nodes for now. I don't see how we can
> properly set this up because as far as I can tell there's USB ID GPIO on
> Tegra124 (seems like it's a fixed function pin) and the VBUS GPIO is
> already used to enable the VBUS supply. The gpio-usb-b-connector binding
> required at least one of the ID and VBUS GPIOs to be specified.

The ID and VBUS hardware configurations are very board-specific. There
are multiple ways of how it could implemented on Tegra.

> On the other hand, at least Venice2 has a USB type A connector for this,
> so I'm not even sure how that would work. I vaguely recall that the
> Tegra20 Seaboard also had a USB type A and that it was possible to use
> it in device mode, but I don't how that would. Nor would it be correct
> to use the gpio-usb-b-connector compatible for that since, well, it's
> not USB type B.

I'm not sure whether it makes much sense to use OTG for USB type A
connectors, normally they should be fixed to host mode.

> I suspect that Apalis has a micro-B port, much like the Jetson TK1. My
> understanding is that OTG doesn't work on Jetson TK1 (which is why it's
> configured in "host" mode), so it'd be interesting to see if this can be
> made to work on Apalis.

Looks like the default Apalis carrier board has three type A connectors.

https://www.toradex.com/products/carrier-board/ixora-carrier-board

\
 
 \ /
  Last update: 2021-12-15 16:46    [W:0.065 / U:0.952 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site