AnsweredAssumed Answered

IMX6SX USB: how to enable/disable internal 1.5K pullup for USB D+ line?

Question asked by liushuo on Nov 15, 2019
Latest reply on Nov 17, 2019 by liushuo
I'm using USBOTG2 in peripheral mode. After loading the USB gadget serial driver(g_serial.ko), the D+ line is automatically pulled HIGH, even though it is not connected to a host yet. However, I don't want the D+ line to be pulled up if it's not connected to the host. Is it possible to control this D+ line?
I found the following information online. Is this "firmware control" supported by IMX6SX? Thanks.
Speed Identification
A USB device must indicate its speed by pulling either the D+ or D- line high to 3.3 volts. A full speed device, pictured below will use a pull up resistor attached to D+ to specify itself as a full speed device. These pull up resistors at the device end will also be used by the host or hub to detect the presence of a device connected to its port. Without a pull up resistor, USB assumes there is nothing connected to the bus. Some devices have this resistor built into its silicon, which can be turned on and off under firmware control, others require an external resistor.

Outcomes