We managed to boot the Linux 5.10 with linux mainline 5.10 on our Custom board using a modified version of the devkit device tree.
However, we could not get the USB ports to work. We keep getting the following error after the xusb.bin firmware loading.
: [ 14.998040] tegra-xusb 70090000.usb: can’t setup: -110
[ 15.003237] tegra-xusb 70090000.usb: USB bus 1 deregistered
[ 15.008915] tegra-xusb 70090000.usb: failed to add USB HCD: -110
[ 15.015712] VDD_HUB_3V3: Underflow of regulator enable count
[ 15.023154] tegra-xusb: probe of 70090000.usb failed with error -110
Things to note:
Our custom board does not use onboard USB hub (RTS5411), USB ports are connected directly to the Nano, this setup works with the Linux Tegra 4.9 but it is not working with the mainline kernel.
Below is a snippet from the device tree in use.
padctl@7009f000 {
status = "okay";
avdd-pll-utmip-supply = <&vdd_1v8>;
avdd-pll-uerefe-supply = <&vdd_pex_1v05>;
dvdd-pex-pll-supply = <&vdd_pex_1v05>;
hvdd-pex-pll-e-supply = <&vdd_1v8>;
pads {
usb2 {
status = "okay";
lanes {
micro_b: usb2-0 {
nvidia,function = "xusb";
status = "okay";
};
usb2-1 {
nvidia,function = "xusb";
status = "okay";
};
usb2-2 {
nvidia,function = "xusb";
status = "okay";
};
};
};
pcie {
status = "okay";
lanes {
pcie-0 {
nvidia,function = "pcie-x1";
status = "okay";
};
pcie-1 {
nvidia,function = "pcie-x4";
status = "okay";
};
pcie-2 {
nvidia,function = "pcie-x4";
status = "okay";
};
pcie-3 {
nvidia,function = "pcie-x4";
status = "okay";
};
pcie-4 {
nvidia,function = "pcie-x4";
status = "okay";
};
pcie-5 {
nvidia,function = "usb3-ss";
status = "okay";
};
pcie-6 {
nvidia,function = "usb3-ss";
status = "okay";
};
};
};
};
ports {
usb2-0 {
status = "okay";
mode = "peripheral";
usb-role-switch;
vbus-supply = <&vdd_5v0_sys>;
connector {
compatible = "gpio-usb-b-connector",
"usb-b-connector";
label = "micro-USB";
type = "micro";
vbus-gpios = <&gpio TEGRA_GPIO(CC, 4)
GPIO_ACTIVE_LOW>;
};
};
usb2-1 {
status = "okay";
mode = "host";
};
usb2-2 {
status = "okay";
mode = "host";
};
usb3-0 {
status = "okay";
nvidia,usb2-companion = <1>;
vbus-supply = <&vdd_hub_3v3>;
};
};
};
Any help on this issue will be greatly appreciated.
Thanks in Advance.