Re: ci_hdrc_tegra hard locks kernel when set to dr_mode = "otg"

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

 



On Sun, Sep 29, 2019 at 03:36:35AM +0000, Peter Chen wrote:
>  
> > 
> > I've encountered an odd situation where the CI Dual Role driver hard locks the
> > kernel on the Ouya (Tegra 3).
> > I was attempting to set up manual mode switching in the kernel, as the Ouya lacks
> > hardware support for the ID pin and no voltage output on that port.
> > I found that the kernel was hard locking whenever I had the dr_mode = "otg" set in
> > the devicetree.
> 
> It seems Tegra doesn't support host mode using chipidea driver. The ci_hdrc_tegra.c
> only supports device mode. Thierry, could you confirm that?

Yes, correct. I recall doing some work at the time to move host mode
support from ehci-tegra to the ChipIdea driver, but never managed to
make it work, unfortunately.

Thierry

> > No further output was seen on the console, and sysreq does not respond.
> > It occurs both in module and builtin mode.
> > 
> > I have however found a workaround.
> > By setting the dual role usb device to:
> > compatible = "nvidia,tegra30-ehci", "nvidia,tegra30-udc"; and setting the assigned
> > phy to:
> > dr_mode = "peripheral";
> > I can achieve rudimentary live switching of roles.
> > The device defaults to host mode, as the ehci driver enumerates first.
> > By unbinding the tegra-ehci driver and binding the tegra-udc driver, I can switch to
> > gadget mode.
> > The reverse also works.
> > The PHY driver does not appear to care if it is always in peripheral mode.
> > 
> > Thank you for your time,
> > Peter Geis

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [ARM Kernel]     [Linux ARM]     [Linux ARM MSM]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux