full speed USB support for iMX35

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

full speed USB support for iMX35

1,007 Views
navanisrivastav
Contributor II

I am using iMX35 EVK board with linux-2.6.31 linus kernel. The iMX35 OTG port has been configured as Host and working as High Speed port. We would like to force the High speed port as Full Speed port. Any idea what changes we have to make in the configuration or in the code to achieve this.


Modification in USB driver code and set bit PFSC=1 register PORTSC, refer to Table 48-34 "Port Status Control x Registers Field Descriptions" i.MX35 Reference Manual (rev.3  12/2010) should configure for full speed but I am unable to do it. "dr_controller_setup" and "fsl_wakeup" in "'driver/usb/gadget/fsl_udc_core.c" are the only function which are writing to portsc1 register but they are not at all getting called from anywhere. Which function can I modify in order to write to portsc1 register.

Tags (3)
0 Kudos
3 Replies

641 Views
igorpadykov
NXP Employee
NXP Employee

Hi navanisrivastana,

you can set this bit as part of USB reset sequence in file

<ltib_dir>/rpm/BUILD/linux/arch/arm/plat-mxc/usb_common.c

Speed can not changed dynamically, in particular sect.

9.2.6.6 "Speed Dependent Descriptors" USB 2.0 specification states:

"A device also operates at a single speed after completing the reset

sequence. In particular, there is no speed switch during normal operation."

-----------------------------------------------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer button. Thank you!

-----------------------------------------------------------------------------------------------------------------------

641 Views
navanisrivastav
Contributor II

Hi chipexpert,

Thanks for your reply.

Unfortunatly we have to change the linux version from 2.6.31 to 2.6.35 and in this newer version we don't have usb_common.c file.

Any ideas are appreciated.

Thanks

Navani

0 Kudos

641 Views
fabio_estevam
NXP Employee
NXP Employee

I would recommend 3.15-rc4 instead. There is a devicetree property called "maximum-speed = "full-speed" that does exactly what you want:

Documentation/devicetree/bindings/usb/ci-hdrc-imx.txt b/Documentation/devicetree/bindings/usb/ci-hdrc-imx.txt

0 Kudos