USB Powercycle via IO

Hi, iam searching for a solution to powercycle usb devices on imx6ull with tps 2041.

the EN Pin is attached to SODIMM 129. I want to pulldown the pin to powercycle the usb ports in software. but the io is used by “regulator-usbh-vbus" so i can not control it via gpioset.

are there a solution? because the usb devices we use are stucking in special cases so we have to reset them.

thank you very much

Hi, I’m the Toradex AI Assistant.

I might make mistakes or occasionally get you wrong. Our support team will step in if needed.


I’d be glad to help! Could you let me know which OS and version you are using? Also, please run the tdx-info command to get your hardware information and share the output. You can find more details about this command at tdx-info.

The solution for power cycling USB devices will depend on your specific platform configuration, and I want to ensure I provide the most accurate guidance for your setup.

Best regards, Toradex AI Assistant.


Did you like my answer? :+1: :-1:

If I answered your question, please tick the “Solution” checkbox.

For follow-up questions to me, please use @ToradexAI in your post.

Hello @toraflo,

This pin cannot be changed manually because it is bound to a regulator driver: imx6ull-colibri-eval-v3.dtsi.

In such cases, the regulator can be controlled with the sysfs interface.
Which will expose a few controls under /sys/class/regulator/regulator.X/.
X may vary, so you need to look for the regulator with the correct /sys/class/regulator/regulator.X/name value, which for this regulator is VCC_USB[1-4].

However, you should not be able to turn it off while it has consumers.
An alternative would be to disable the reg_usbh_vbus device tree node and manage this regulator manually via the GPIO pin.

Best Regards,
Bruno