USB hub not Found in lsusb, sometimes it does sometimes it does not

Dear Community, I have issues with my Custom board having Jetson Orin NX. I have been trying to figure out whether its software issue or not. i do not find USB hub IC TUSB8041I. Not shown in lsusb…while I do see root usb hub. if they are not detected I dont see my usb devices too if I attach… Kindly shed light on it where could be the problem

I found that GPIO4 (PCC.01) which is by default Output has sometimes voltage level 1.7 and sometimes 1.1. When its 1.7 USB hub is detected and powered on. While at 1.1 it doesnot

Sounds more like a hardware issue.

strangely I get this
sudo gpioset -m wait gpiochip1 13=1
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

sudo gpioset -m wait gpiochip1 13=0
nvidia@nvidia-desktop:~$ lsusb
Bus 002 Device 005: ID 0451:8140 Texas Instruments, Inc. TUSB8041 4-Port Hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 009: ID 046d:c05b Logitech, Inc. M-U0004 810-001317 [B110 Optical USB Mouse]
Bus 001 Device 008: ID 0451:8142 Texas Instruments, Inc. TUSB8041 4-Port Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Hi,

How did you control your usb vbus? It sounds like you have a GPIO there to do the control?

If so you have to assign this GPIO to a regulator and assign that regulator to the vbus-supply in the DT.

Ok let me try that. How should i do that…assigning to a regulator. Any guide link will be appreciated

That is standard Linux kernel syntax.

https://www.kernel.org/doc/Documentation/devicetree/bindings/regulator/gpio-regulator.txt

Something like:

529 	vdd_3v3_pcie: regulator-vdd-3v3-pcie {
530 		compatible = "regulator-fixed";
531 		regulator-name = "VDD_3V3_PCIE";
532 		regulator-min-microvolt = <3300000>;
533 		regulator-max-microvolt = <3300000>;
534 		gpio = <&gpio TEGRA234_MAIN_GPIO(H, 4) GPIO_ACTIVE_HIGH>;
535 		regulator-boot-on;
536 		enable-active-high;
537 	};

You need to write a 5V one with your GPIO assigned.

I am still getting strange behavior. i have set gpio(pcc01) to drive 0 inital state. still it doesnt turn on the hub power. When i do gpioset -m wait gpiochip1 13=0… then it turn on the usb hub power. Even the multimeter shows 1.8 voltage at gpio pin(PCC.01)
my dtb for the above didnot help
regulationAdded.txt (330.2 KB)

You should attach your schematic and dmesg.

I don’t know why you apply this regulator to all your usb2 ports. It sounds abnormal that a GPIO control 3 usb ports all at once.

Also, does /sys/kernel/debug/gpio show you PCC.01 is as “vbus” after your DT change? It is weird that you can still set gpio by using gpioset tool. If your device tree is really applied correct, then other operation to this GPIO shall give you “resource busy”.

some misunderstanding… Yes you are correct if my dtb is not applied correctly I should not be able to control it using gpio set. I used FDT overlay in extlinux.conf. .Further more, its not my usb_vbus supply signal but indeed a reset signal to usb hub

Hi,

Then there won’t be any existing NV device tree node that can control this. We are controlling the vbus but not reset pin for any hub.

You need to handle that part by yourself.

understood thanks