L4T release 32.7.1
Xavier AGX on custom carrier board
We have implemented a custom carrier for Xavier AGX and lead out a simple USB 2.0 port. The USB 2.0 port uses G10, USB3_N, and G11, USB3_P. GPIO 5 is used to enable USB power to the end device. I’m cannot share schematics on a public forum.
Device tree changes include:
removing USB 3.0 support as it is unused
setting usb2-0 to host mode as hardware doesn’t support OTG
removed ucsi_ccg nodes
removed typec extcon-cables
removed USB3 xusb_padctl support
deleting sata voltage regultors as they are unused:
p2822_vdd_sata_1v5
p2822_vdd_5v_sata
setting up the usb port to use a dummy regulator
hogging gpio 5 high, dap6_dout_pa1, to power devices
I’m seeing the USB driver fall into power save mode and never exit:
[ 14.354480] tegra-xusb 3610000.xhci: Upgrade port 0 to USB3.0
[ 14.354486] tegra-xusb 3610000.xhci: Upgrade port 1 to USB3.0
[ 14.453077] usb usb1: usb_suspend_both: status 0
[ 14.461181] usb usb2: usb_suspend_both: status 0
[ 14.557335] usbcore: registered new interface driver usbhid
[ 14.557337] usbhid: USB HID core driver
[ 16.356810] tegra-xusb 3610000.xhci: entering ELPG
[ 16.465854] tegra-xusb 3610000.xhci: entering ELPG done
What device tree changes am I missing to prevent the USB port from dropping into power save?
This isn’t a hardware issue; the problem is all device tree issues. We have tested the USB 2.0 hardware and gotten it working under certain cirmstances where we do not use a dummy regulator. We aren’t using the p2822_vdd_5v_sata regulator in our hardware design, so it’s disabled.
What causes the tegra-xusb driver to drop into and out of power save?
What is the correct way to hook in a dummy regulator to the USB port?
Are there any CBoot boot/power DTB changes necessary to set up a dummy regulator on the USB port?