How to configure high-speed and low-speed of USB OTG ?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How to configure high-speed and low-speed of USB OTG ?

1,434 Views
abelguan
Contributor I

imx25RM.PDF page 1779 47.1.1 Features
High-speed / full-speed / low-speed OTG core


The user guide has not mentioned the register can set up USB OTG high speed and low-speed mode.
How could set up usb otg of imx258 in the high speed or low-speed mode?

Tags (1)
0 Kudos
1 Reply

723 Views
richard_stulens
NXP Employee
NXP Employee

I assume you mean high speed / full speed (840 Mb / 12 Mb) as high-speed devices do not support low speed, per USB 2.0 spec. High-speed hosts do support low-speed.

The i.MX25 OTG comtroller does support low-speed when it operates in host mode.

Back to speed selection:

The selection between full and high speed is an automatic process that is also described in the USB 2.0 specification.

In short, it works like this:

Initially both Host and Device are in full speed mode. The host will issue a bus reset to start the enumeration process.

A high-speed capable device will respond with a Chirp-K state on the bus to tell the host it can operate in high-speed.

If the host is also high speed capable, it sends a sequence of Chirp_K/Chirp_J transitions. The device will detect these and enter high-speed mode. The host detects the device's high-speed mode and enther highspeed mode as well.

From this point onward, the bus will be in high speed until the host resets the bus.

If anything fails in the above process, both host and device will remain in full speed mode.

The i.MX USB controllers have the option to force full speed operation. This is done by setting the bit PFSC in the PORTSC register before the controller is started (USBCMD.RS), and after the controller is reset (USBCMD.RST).

When this bit is set, the device controller will not send Chirp_K. or when in host mode, the host controller will not respond to Chirp_K. Hence the bus will remain in full speed.

Best regards,

Richard

0 Kudos