Custom Board and MFG Tools

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

Custom Board and MFG Tools

801 Views
gruger
Contributor III

Dear community,

We have developed a custom board based on IMX53 and we are running Android perfectly from a micro-SD Card slot we have.

Although this is fine for development, for production, we would like to flash our images to the board's eMMC (different SDIO bus than the micro-SD slot).

We are trying to get Windows to recognize our board from its USB OTG interface (mini-USB connector to the host computer). We tried Windows XP, Windows 7 and Windows 8, but all we get is an "unknown device" in the Devices Manager. We tested in a Quick Start Board, and the computer can recognize it correctly. We are clueless about what can be the cause of our problem.

We removed the bootable SD Card, plugged the board into the computer's USB and powered it on. According to the docs, IMX53 should try to find the bootloader in the SD Card and, as it is not there, it should attempt to boot from USB OTG. We tried changing the boot resistors to boot from USB by default, but that also did not help Windows to recognize the device correctly.

I am attaching the schematics we have for this circuitry.

USB OTG IMX53.png

This is our boot configuration for eMMC:

IMX53 BOOT PINS.png

Any thoughts would be much appreciated.

Thank you.

EDIT:

Additional information:

1) When booting from the SD Card, we can successfully debug our board using Android Debug Bridge on Linux, using the same USB OTG connection.

2) Using an oscilloscope, we can see some communication, but it seems that it is just the PC trying to start the communication to IMX53.

3) We tried removing U111, to be sure that IMX53 is not generating a VBUS, while PC is supplying it.

4) We tried to add two 3.3kOhm resistors to USB OTG ID, as defined in the QSB reference Schematics below:

IMX53QSB USB OTG SCH.png

Labels (4)
Tags (1)
0 Kudos
2 Replies

547 Views
igorpadykov
NXP Employee
NXP Employee

Hi Mauricio

1. one should set BOOT_MODE[1:0] =11 Serial Downloader

then check with jtag SRC Boot Mode Register (SRC_SBMR)

2. depopulate L1 (or short inputs to outputs) and use short usb cable,

connected to backplane usb connector of PC

3. check 24MHz crystal and its waveform, change it from working board

4. check usb port with OBDS

On-Board Diagnostic Suit for the i.MX53 Quick Start Board  : On-Board

Diagnostic Suit for the i.MX53 Quick Start Board

Best regards

igor

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

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

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

0 Kudos

547 Views
gruger
Contributor III

Dear Igor,

Thank you for your attention to our problem.

I tried replacing the inductors for 0 Ohm resistors. It hasnt solved the problem. In fact, it is even worse, as now even after booting Android, the device is not enumerated anymore.

This is Kernel output (Ubuntu 12.04) when I try to enumerate the device (with the inductors mounted):

[ 2087.363329] usb 3-4: new high-speed USB device number 16 using xhci_hcd

[ 2097.770527] usb 3-4: device not accepting address 16, error -62

[ 2097.882470] usb 3-4: new high-speed USB device number 17 using xhci_hcd

[ 2108.289711] usb 3-4: device not accepting address 17, error -62

[ 2113.289466] hub 3-0:1.0: couldn't allocate port 4 usb_device

Does this log give any clue about the issue?

We tried replacing the BOOT_MODE resistors to boot directly from USB OTG, but the results are the same.

Regarding the 24MHz XTAL, it is working fine. We turn on the board and we can measure a clean 24MHz signal.

Finally, regarding the ODBS Tool, I am not familiar with that. However, I understand that this is some kind of tool I flash into my SD Card and boot from it to run some hardware diagnostics. I understand this could help, but it is not acting at the root cause: we can boot from SD Card (regardless what is the software installed on it) and, after we have some software running (Linux or Android), USB OTG works. I am a bit confused about what kind of information the ODBS Tool would give us.

Thank you!

0 Kudos