i.mx25 USB Host Port off-chip ULPI Tranceiver

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

i.mx25 USB Host Port off-chip ULPI Tranceiver

Jump to solution
1,502 Views
dalton
Contributor I

We built an i.mx25 board with HOST and OTG USB interfaces. The OTG Port uses the on-chip UTMI transceiver and the HOST Port uses an off-chip ULPI high-speed transceiver (USB3317). I’m not able to get the Host USB port functioning in Linux. The Processor Reference Manual says the default configuration is serial mode and to switch to ULPI mode write a 0b10 to the parallel transceiver select (PTS) bits in the PORTSC register. I don’t know if the driver, U-Boot, or other software should do this. I don’t see anything related to ULPI PHY mode for the Host Port in the LTIB kernel configuration.

Does anyone have insight into this?

Labels (2)
1 Solution
610 Views
Yuri
NXP Employee
NXP Employee

IMX25 is intended to be used with internal PHY(s). Therefore we do not have design examples and

BSP, tested for such configuration.  

   On the other side one may look at i.MX27 PDK design, where USB 3317 PHY is applied.

< https://www.freescale.com/webapp/Download?colCode=IMX27_PDK10_DESIGN_FILES_R10&appType=license&locat... >

< http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX27PDK&fpsp=1&tab=Design_Tools_Tab >

As has been mentioned, external PHY configuration is not supported, so customers should

design own USB PHY driver, maybe using i.MX27 one as an example. 

View solution in original post

0 Kudos
2 Replies
611 Views
Yuri
NXP Employee
NXP Employee

IMX25 is intended to be used with internal PHY(s). Therefore we do not have design examples and

BSP, tested for such configuration.  

   On the other side one may look at i.MX27 PDK design, where USB 3317 PHY is applied.

< https://www.freescale.com/webapp/Download?colCode=IMX27_PDK10_DESIGN_FILES_R10&appType=license&locat... >

< http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX27PDK&fpsp=1&tab=Design_Tools_Tab >

As has been mentioned, external PHY configuration is not supported, so customers should

design own USB PHY driver, maybe using i.MX27 one as an example. 

0 Kudos
610 Views
RandyKrakora
NXP Employee
NXP Employee

Using an imx27 ADS board and a non-ulpi enabled kernel, I tried richard_stulens instructions to enable ULPI and at least see a device connected ( haven't tested further yet, waiting on imx25 boards with ulpi to be finished ).

The instructions were as follows:

boot into kernel/rfs

modprobe ehci-hcd

( ulpi port will not work yet, as long as the usb driver has not selected the ulpi transceiver operation )

use memtool to write the portsc register to set ulpi mode

./memtool -32 0x10024184=0x8c001000 ( read the register first and only change the mode bits )

Now it should be functioning, to test, we read an ID from the ulpi viewport register.

./memtool -32 0x10024170=0x40000000 ( bit 30 is set to start a read/write op, bit 29 = 0 for read, bits 16-23 is the address to read from and the data will show in bits 8-15.

When we read, we get what's shown below:

./memtool -32 0x10024170 1

0x0800CC00

Where "0xCC" is the data we read from the ulpi part on the ADS board via the viewport register, when the ulpi part is not working or something not setup properly, we would get 0x48000000 when read at this point.

When we inserted a USB stick, to the ulpi port, we saw it connect, although we ran no further tests.

Regards,

Randy Krakora

0 Kudos