Enabling PEX1 (i210 controller) and USB2.0 on Auvidea J140 carrier board

Hi,
I’m using the Auvidea J140 carrier board for Jetson TX2 which has the following connections:

  • i210 Gigabit Ethernet controller connected to PEX1 (data pins E41, E42, H41, H42)
  • USB3.0 port (data pins A39, A39, C43, C44, F43, F44)
  • USB2.0 port (data pins B42, B43)

After applying their patches to the Linux_for_Tegra included with JetPack, and modifying ODMDATA=0x1090000 in p2771-0000.conf.common I am able to enable the PEX1 and see the i210 controller. However, this disables the USB3 pins C43, C44, F43, F44 (expected) AND the USB2.0 pins B42, B43.

This isn’t mentioned in the l4t docs. Is this expected behaviour or do I need to do extra device tree configuration to enable both the PEX1 and the USB2.0 port? (I’m happy with USB3.0 disappearing).

Many thanks

Please refer to oem design guide https://developer.nvidia.com/embedded/dlc/jetson-tx2-tx2i-oem-product-designguide

It is expected because [C43, C44, F43, F44] and PEX1 share same pins.

I’m sorry, my question was about USB2.0 on pins B42, B43 being disabled. Is this expected behaviour?

I am aware USB3.0 is disabled as it shares the same pins with PEX1.

Hi thomas,
For B42, B43, please check if utmi-2 is in xhci@3530000 and otg-2 is in pinctrl@3520000.

You can check device tree via xxd:
https://devtalk.nvidia.com/default/topic/1023160/jetson-tx2/tx2-using-pcix1-instead-of-usb3-default-config-1-/post/5208073/#5208073

Hi Dane,
Thanks for getting back to me so quickly.

  • utmi-2 is not in xhci@3530000
  • otg-2 is in pinctrl@3520000/pinmux/e3325-usb3-std-A-HS
nvidia@tegra-ubuntu:~$ xxd /proc/device-tree/xhci@3530000/phy-names
00000000: 7574 6d69 2d30 0075 746d 692d 3100       utmi-0.utmi-1.

nvidia@tegra-ubuntu:~$ grep -lr otg /proc/device-tree/pinctrl@3520000/ 
/proc/device-tree/pinctrl@3520000/pinmux/usb2-std-A-port2/nvidia,lanes
/proc/device-tree/pinctrl@3520000/pinmux/e3325-usb3-std-A-HS/nvidia,lanes
/proc/device-tree/pinctrl@3520000/pinmux/usb2-micro-AB/nvidia,lanes

nvidia@tegra-ubuntu:~$ xxd /proc/device-tree/pinctrl@3520000/pinmux/usb2-std-A-port2/nvidia,lanes
00000000: 6f74 672d 3100                           otg-1.

nvidia@tegra-ubuntu:~$ xxd /proc/device-tree/pinctrl@3520000/pinmux/e3325-usb3-std-A-HS/nvidia,lanes
00000000: 6f74 672d 3200                           otg-2.

nvidia@tegra-ubuntu:~$ xxd /proc/device-tree/pinctrl@3520000/pinmux/usb2-micro-AB/nvidia,lanes
00000000: 6f74 672d 3000                           otg-0.

Hi thomas, please report it to Auvidea

Hi Dane, I have already reported this to Auvidea. Are you suggesting that this is a hardware fault or something is up with their device tree changes?

I’m currently working through the device tree changes to see why utmi-2 isn’t available. I suspect a device tree error and the port isn’t being powered when it should be, although I’m unsure why this is the case only when:

ODMDATA=0x90000 # configuration 1
ODMDATA=0x6090000 # configuration 3

Bit 24 (USB PHY Lane0) is 0 in both of those cases.

Hi thomas,
It is more like an issue in device tree. If you want to debug further, you can check [USB Lane Mapping] in https://developer.nvidia.com/embedded/dlc/l4t-driver-package-tx2-adaptation-guide