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

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

 



Good Afternoon,

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