Re: [PATCH v6 15/28] ARM: tegra: Add usb-role-switch property to USB OTG ports

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxx>
> >>
> >> 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@xxxxxxxxx: improved commit message]
> >> Tested-by: Thomas Graichen <thomas.graichen@xxxxxxxxx> # T124 Nyan Big
> >> Signed-off-by: Stefan Eichenberger <stefan.eichenberger@xxxxxxxxxxx>
> >> Signed-off-by: Dmitry Osipenko <digetx@xxxxxxxxx>
> >> ---
> >>  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.

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 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.

Thierry

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux