I working on custom carrier board for Orin Industrial. I have problem with usb-c port stopping work after leaving UEFI. It works fine with UEFI and I’m able to use keyboard and mouse, but after launch the linux kernel it stops work.
lsusb result is empty.
Dmesg: dmesg.txt (55.3 KB)
We are using usb crosspoint switch - NXP CBTL08GP053EVY which is controlled by uC in current iteration of hardware. The uC is used to detect usb-c cable orientation and it is switching USB lines by nxp chip, so we don’t need to use ucsi ccg. But the main problems is fact that lsusb is not reporting any usb devices. Every usb port is working correctly in UEFI, but after it doesn’t show up any logs .
Edit:
USB is working correctly with Jetpack 5.1.3(on unmodified orin industrial config), but doesn’t with Jetpack 6.0 rev2.
I was able to configure USB to work with Jetpack 6.0. I removed whole typec@8 node from i2c@c240000 in.
bus@0 {
xusb_padctl: padctl@3520000{
status = "okay";
pads {
usb2 {
lanes {
usb2-0 {
status = "okay";
};
usb2-1 {
status = "okay";
};
usb2-2 {
status = "okay";
};
usb2-3 {
status = "okay";
};
};
};
usb3 {
lanes {
usb3-0 {
status = "disabled";
};
usb3-1 {
status = "okay";
};
usb3-2 {
status = "okay";
};
};
};
};
ports {
usb2-0 {
mode = "otg";
usb-role-switch;
status = "okay";
};
usb2-1 {
mode = "otg";
vbus-supply = <&vdd_5v0_sys>;
status = "okay";
usb-role-switch;
};
usb2-2 {
status = "okay";
vbus-supply = <&vdd_5v0_sys>;
mode = "host";
};
usb2-3 {
status = "okay";
mode = "host";
};
usb3-0 {
status = "disabled";
};
usb3-1 {
status = "okay";
};
usb3-2 {
status = "okay";
nvidia,usb2-companion = <1>;
nvidia,usb3-gen1-only = <1>;
};
};
};
But after flashing procedure is done and when usb cable is still connected to PCI get spamming error message:
usb usb2-port2: Cannot enable. Maybe the USB cable is bad?
How should I change my node to not get this error. Additionally, flashing doesn’t work for nvme disk, but it is working fine for internal eMMC. Ethernet and Nvme disk is configured and working if I use internal eMMC.
Connector used for flashing is usb 3.0 type A.
My current configuration is like, this but I’m not able to flash device to nvme. If I configure usb 3.0 type A as peripheral it doesn’t report as issue with cable, but it doesn’t show usb devices like devkit. When it setup as host it is able to be used as normal usb host connector.
xusb_padctl: padctl@3520000{
status = "okay";
pads {
usb2 {
lanes {
usb2-0 {
status = "okay";
};
usb2-1 {
status = "okay";
};
usb2-2 {
status = "okay";
};
usb2-3 {
status = "okay";
};
};
};
usb3 {
lanes {
usb3-0 {
status = "disabled";
};
usb3-1 {
status = "okay";
};
usb3-2 {
status = "okay";
};
};
};
};
ports {
usb2-0 {
mode = "peripheral";
usb-role-switch;
status = "okay";
};
usb2-1 {
mode = "otg";
vbus-supply = <&vdd_5v0_sys>;
status = "okay";
usb-role-switch;
};
usb2-2 {
status = "okay";
vbus-supply = <&vdd_5v0_sys>;
mode = "host";
};
usb2-3 {
status = "okay";
mode = "host";
};
usb3-0 {
status = "disabled";
};
usb3-1 {
status = "okay";
nvidia,usb2-companion = <0>;
nvidia,usb3-gen1-only = <1>;
};
usb3-2 {
status = "okay";
nvidia,usb2-companion = <1>;
nvidia,usb3-gen1-only = <1>;
};
};
};