i.mx25 USB Host Port off-chip ULPI Tranceiver

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

i.mx25 USB Host Port off-chip ULPI Tranceiver

跳至解决方案
1,534 次查看
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?

标签 (2)
1 解答
642 次查看
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 项奖励
2 回复数
643 次查看
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 项奖励
642 次查看
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 项奖励