USB2.0 does not working on Jatson AGX Xavier

Hi all,

We had designer carrier board on Jatson AGX Xavier Dev Kit and usb0 and usb1 (USB2.0) function does not working. We made the following changes:

  • remove power management circuit
  • remove the pd controller
  • remove the usb3.1 circuit for usb0 and usb1, keep only their usb2.0 circuit

According to the manual Tegra_Linux_Driver_Package_AGX_Xavier_Adaptation_Guide, we made some modifications to the device tree.

$ diff tegra194-p2888-0001-p2822-0000-common.dtsi tegra194-p2888-0001-p2822-0000-common.dtsi-bk  
99c99
< 			status = "disabled";
---
> 			status = "okay";
165c165
< 				mode = "host";
---
> 				mode = "otg";
197a198,200
> 		extcon-cables = <&typec_port0 0>;
> 		extcon-cable-names = "vbus";
> 		#extcon-cells = <1>;
199,200c202,204
< 		phys = <&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-0}>;
< 		phy-names = "usb2";
---
> 		phys = <&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-0}>,
> 			<&{/xusb_padctl@3520000/pads/usb3/lanes/usb3-2}>;
> 		phy-names = "usb2", "usb3";
207a212,214
> 		extcon-cables = <&typec_port0 1>;
> 		extcon-cable-names = "id";
> 		#extcon-cells = <1>;
212,213c219,224
< 			<&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-2}>;
< 		phy-names = "usb2-0", "usb2-1", "usb2-3", "usb2-2";
---
> 			<&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-2}>,
> 			<&{/xusb_padctl@3520000/pads/usb3/lanes/usb3-2}>,
> 			<&{/xusb_padctl@3520000/pads/usb3/lanes/usb3-0}>,
> 			<&{/xusb_padctl@3520000/pads/usb3/lanes/usb3-3}>;
> 		phy-names = "usb2-0", "usb2-1", "usb2-3", "usb2-2",
> 			"usb3-2", "usb3-0", "usb3-3";
320a332,348
> &head0 {
> 	extcon-cables = <&typec_port0 2 &typec_port1 2>;
> 	extcon-cable-names = "typec0", "typec1";
> 	#extcon-cells = <1>;
> };
> 
> &head1 {
> 	extcon-cables = <&typec_port0 2 &typec_port1 2>;
> 	extcon-cable-names = "typec0", "typec1";
> 	#extcon-cells = <1>;
> };
> 
> &head2 {
> 	extcon-cables = <&typec_port0 2 &typec_port1 2>;
> 	extcon-cable-names = "typec0", "typec1";
> 	#extcon-cells = <1>;
> };
$ diff tegra194-fixed-regulator-p2822-1000.dtsi tegra194-fixed-regulator-p2822-1000.dtsi-bk 
136,146d135
< 
< 		vdd_usb21_5v0: regulator@115 {
<             compatible = "regulator-fixed";
<             reg = <115>;
<             regulator-name = "vdd-usb21-5v0";
<             regulator-min-microvolt = <5000000>;
<             regulator-max-microvolt = <5000000>;
<             enable-active-high;
<             gpio = <&tegra_main_gpio TEGRA194_MAIN_GPIO(Z, 1) 0>;
<             vin-supply = <&battery_reg>;
<         };
$ diff tegra194-power-tree-p2888-0001-p2822-1000.dtsi tegra194-power-tree-p2888-0001-p2822-1000.dtsi-bk 
54c54
< 				vbus-supply = <&vdd_usb21_5v0>;
---
> 				vbus-supply = <&battery_reg>;
57c57
< 				vbus-supply = <&vdd_usb21_5v0>;
---
> 				vbus-supply = <&battery_reg>;

Then, we rebuild dts and reflash xavier dtb partition. BUT usb0 and usb1 do not working.

Can anyone can help this issue?
dts.zip (4.77 KB)

Hi,
For more information, usb2-0 is a USB2 type-A port, and usb2-1 is also a USB2 type-A port?

yes

I’m not sure if it was because we removed pd controller, which caused the usb power supply to be too early, so that usb2-0 and usb2-1 could not be used.

Hi,
You have to to put vbus-supply into ‘xusb_padctl@3520000{ ports{ usb2-*{ } } }’. Please refer to the following examples:
https://devtalk.nvidia.com/default/topic/1057885/jetson-tx2/usb-not-working-in-jetson-tx2-r32-2/post/5364464/#5364464
https://devtalk.nvidia.com/default/topic/1066610/jetson-tx2/jetson-tx2-usb-2-3-connection-/post/5402116/#5402116

Hi,Dane

Thank you. I have solved the problem according to your prompts. It works now.

HI,Ethan.
I met this problem too,can you post your dtsi/dts file ? thank you.