We have a customize AGX Xavier carrier board and the usbs are not working.
The carrier board has no PD controller and no Type C.
The pin mapping:
USB0 (F13, F12) – USB2 otg
USB1 (C10, C11) – USB2 host
USB3 (g10,g11)
(H13,H12,D13,D12) — USB3 host
We followed the link below to modify.
https://devtalk.nvidia.com/default/topic/1047678/jetson-agx-xavier/usb-does-not-working-on-jatson-agx-xavier
USB2 can be detected at boot but not working at system configuration setting.
We do have problem to setup vbus-supply.
usb2-0, usb2-1 and usb3-3 have different GPIO pins to control the 5V.
However, HW suggested enable LD5.
Here are the modified. (attache the log)
#if TEGRA_XUSB_PADCONTROL_VERSION >= DT_VERSION_2
xusb_padctl: xusb_padctl@3520000 {
status = "okay";
pads {
usb2 {
lanes {
usb2-0 {
nvidia,function = "xusb";
status = "okay";
};
usb2-1 {
nvidia,function = "xusb";
status = "okay";
};
usb2-3 {
nvidia,function = "xusb";
status = "okay";
};
};
};
usb3 {
lanes {
usb3-3 {
nvidia,function = "xusb";
status = "okay";
};
};
};
};
ports {
usb2-0 {
mode = "otg";
status = "okay";
};
usb2-1 {
mode = "host";
status = "okay";
};
usb2-3 {
mode = "host";
status = "okay";
};
usb3-3 {
nvidia,usb2-companion = <3>;
nvidia,usb3-gen1-only= <1>;
status = "okay";
};
};
};
tegra_xudc: xudc@3550000 {
/*extcon-cables = <&typec_port0 0>; */
/* extcon-cable-names = "vbus"; */
/* #extcon-cells = <1>; */
#if TEGRA_XUSB_PADCONTROL_VERSION >= DT_VERSION_2
phys = <&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-0}>,
<&{/xusb_padctl@3520000/pads/usb3/lanes/usb3-2}>;
phy-names = “usb2”, “usb3”;
nvidia,xusb-padctl = <&xusb_padctl>;
#endif
nvidia,boost_cpu_freq = <1200>;
status = “okay”;
};
tegra_xhci: xhci@3610000 {
/* extcon-cables = <&typec_port0 1>; */
/* extcon-cable-names = "id"; */
/* #extcon-cells = <1>; */
#if TEGRA_XUSB_PADCONTROL_VERSION >= DT_VERSION_2
phys = <&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-0}>,
<&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-1}>,
<&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-3}>,
<&{/xusb_padctl@3520000/pads/usb3/lanes/usb3-3}>;
phy-names = “usb2-0”, “usb2-1”, “usb2-3”, “usb3-3”;
nvidia,xusb-padctl = <&xusb_padctl>;
#endif
status = “okay”;
};
#if TEGRA_XUSB_PADCONTROL_VERSION >= DT_VERSION_2
xusb_padctl@3520000 {
pex_dvdd-supply = <&p2888_spmic_sd0>;
pex_hvdd-supply = <&p2888_spmic_sd1>;
pex_pll_hvdd-supply = <&p2888_spmic_sd1>;
vclamp_usb-supply = <&p2888_spmic_sd3>;
avdd_usb-supply = <&p2888_spmic_ldo5>;
avdd_pll_nvhs_eutmip-supply = <&p2888_spmic_sd1>;
gpio = <&tegra_main_gpio TEGRA194_MAIN_GPIO(Z, 1) 1>;
ports {
usb2-0 {
vbus-supply = <&battery_reg>;
};
usb2-1 {
vbus-supply = <&p2888_spmic_ldo5>;
};
usb2-2 {
vbus-supply = <&battery_reg>;
};
usb2-3 {
vbus-supply =<&p2888_spmic_ldo5>; /*<&vdd_usb20_5v0>; */
};
};
};
Thank you for any advice,
agx_r32_2_1_8.txt (87.7 KB)