This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

PROCESSOR-SDK-AM335X: How to reset USB Host device using device tree?

Part Number: PROCESSOR-SDK-AM335X

Hi,

I have a custom board and there is a USB host device on USB1. (not plugable, it's a IC onboard)

As you can see, GPIO0_30 is the reset pin to reset USB host device.

Please see my description for USB1

&usb1 {
	status = "okay";
	dr_mode = "host";
};

Does anyone know how to reset USB1 by adding GPIO0_30 into device tree?

Note: After I reset USB1 manually by pulling up GPIO0_30 and I can detect USB1 device successfully.

  • Hi! The subject owner is currently out of the office. Please allow a couple of days for a response. Thanks.

  • Hi,

    I am not sure what "USB host device" is. There is either "USB host" or "USB device" in the USB topology.

    Do you use AM335x USB1 as  the USB host, and want to use GPIO0_30 to reset the USB device?

    The USB Spec doesn't define USB side band reset, so the Linux USB driver doesn't provide a interface to do side band reset. But I think you can trigger GPIO0_30 in Linux SYSFS in user space.

  • Hi Bin,

    If I would like to use gpio  to reset usb device during kernel loading stage, do you have suggestion which/what file/function I can modify?

    I wish I can initialize the usb device at beginning and I can see kernel logs shown usb device is detected.

    Maybe I can add it at uboot stage? Is it working?

    Thanks. 

  • Hi,

    This is really out of the support scope on this forum. You probably want to talk to the USB device vendor about how to reset it during Linux boot.