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]

 



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

Peter

> 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




[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