We have a custom carrier board implementing a USB2.0 connection that does not include VBUS. In the past using JP4.6 and AGX Xavier, we used the extcon-cable functionality described in this post: RNDIS failed with USB 2.0 to enable the port on boot.
With this setup, we were able to connect USB2-0 to a second board’s USB2-2 and establish communicaitons. We are no longer able to do this.
In Jetpack 5.0 on Orin, the tegra-xudc driver no longer has the extcon-cable option. Comparing
- 32.6.1 kernel-4.9/drivers/usb/gadget/udc/tegra_xudc.c, with
- 35.1 kernel-5.10/drivers/usb/gadget/udc/tegra-xudc.c
It is clear the extcon functionality has been removed. Looking at the device tree, this is recognized in:
ports {
usb2-0 {
mode = "peripheral";
status = "okay";
vbus-supply = <&p3711_vdd_usbc>;
usb-role-switch;
/* The port only works on device mode and needs to be default on.
* We do not have any singal from STM which indicate the cable
* connected now.
*/
connector {
compatible = "usb-b-connector", "gpio-usb-b-connector";
label = "micro-USB";
type = "micro";
cable-connected-on-boot = <USB_ROLE_DEVICE>;
};
};
But even though port usb2-0 is “default on” something needs to trigger the connection between adjacent units.
In the absence of extcon, how can we trigger Orin A, USB2-0 and Orin B USB2-2 communications?
Thanks very much,
sam