Problem with i.MX28 ROM BOOT

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

Problem with i.MX28 ROM BOOT

4,827 Views
Jan_E
Contributor II

Hi,

We just received a batch of first prototypes based on the i.MX28. The following happens at the debug-port:

0x80508002 ERROR_ROM_NAND_DRIVER_NO_NCB

0x80502008 ERROR_ROM_USB_CONNECT_TIMEOUT

(Repeats with some seconds interval)

It is not strange that the FLASH fails as it is empty and the USB0 is not connected at the time.

When we connect the USB0 to be able to flash our system Windows does not recognize it as an HID-device. (Happens in Linux too)

We did the same using the EVK and it works fine.

Noted was that the debug-info stopped when USB0 is connected.

We use external +5V (or USB if available) to power the PMU through the VDD5V but the voltage levels are a little strange:

VDDIO 3.155V

VDDA 1.797V

VDDD 1.175V

VDD4P2 0.838V

VDD1P5 0V

The first three are reasonable, but the VDD1P5 is not used and has only a 33uF capacitor connected. VDD4P2 seems odd too and is not used externally.

The PMU is configured according to the i.MX23 reference design with 5V only (no battery).

The DC/DC inductor is in place.

Current consumption is around 110mA@5V.

This has really put a stop for us and I would very much appreciate any help.

Thanks,

Jan

Labels (1)
Tags (4)
31 Replies

761 Views
Jan_E
Contributor II

Hi,

I have tried different boot modes with no change.

I thought it always reverted to the USB0 if all else failed?

Regards,

Jan

0 Kudos

761 Views
igorpadykov
NXP Employee
NXP Employee

What Windows PC had you tried ?

Please try with Windows XP.

Also you can run any usb sniffer on PC and check

if there is USB connection to any port.

Actually bad contact (poor soldering) is most possible reason,

since ERROR_ROM_USB_CONNECT_TIMEOUT just

points that ROM can not see connection on USB line.

~igor

0 Kudos

761 Views
Jan_E
Contributor II

Hi,

It is a WIN7 64bit. I will dig up something with XP and try but as we have tested with another PC running Linux getting the same result I don't think it will help much.

As I wrote earlier, the debug prints are stopping when the USB is connected so I assume the i.MX28 is sensing that the cable is inserted. We have tried four boards with the exact same symptom but I will try a fifth.

What is the connection between the lack of 4.2V and no USB? It would be nice to have some better explanation of how the i.MX28 starts and turn off one or the other power source.

Thanks,

Jan

0 Kudos

761 Views
igorpadykov
NXP Employee
NXP Employee

Hi Jan

what "4.2V" are you refering ? VDD4P2 is not turned on

by ROM it may be turned on (if used at all) later in bootlets.

Seems there were issues with USB 3.0 microsoft driver - it prevented

i.MX28 to be recognized as HID. If your PC has USB 3.0 please

upgrade it with all latest Windows patches.

~igor

0 Kudos

761 Views
Jan_E
Contributor II

Hi,

I'm lazy so I didn't write VDD4P2 but that is the 4.2V I refer to. That information was very good, now I don't need to wonder why the DC/DC doesn't start nor why the VDD4P2 is ~0.8V.

I have tried the fifth board and a WINXP PC. No luck.

I have also measured the resistance to ground for the D+ and D- of USB0 and that indicates I have connection to the i.MX28 since the resistance is in the few Mohm range that you would expect from a non-powered pin. Not very scientific but it works :-)



Regards,



Jan


0 Kudos

761 Views
igorpadykov
NXP Employee
NXP Employee

Hi Jan

you can check voltages on all power rails - are they smooth,

since brownout condition may lead to chip reset.

Important that C,R values on power rails were the same as on EVK, since

other may lead to LDO unstability. Other points of interest:

TESTMODE, PSWITCH, RESET.

Also one can try attaching external 5V supply to VDD5V and slightly

increase it to 5.2V.

~igor

0 Kudos

761 Views
Jan_E
Contributor II

Hi,

They are all nice and clean. I cannot get to the TESTMODE as it is under the BGA. The capacitances per rail are 10nF+100nF+1uF+10uF+22uF but as the rails are clean I don't think they oscillate.

I tried increasing VDD5V but no change.

I checked the USB signals with a logic analyzer and there are some transitions during ~400ms after connected cable but no data that I can identify. Do you know what the initial hand-shake is supposed to be like?

Regards,

Jan

0 Kudos

761 Views
igorpadykov
NXP Employee
NXP Employee

Shortly after cable connection (note first power i.MX28, then attach USB cable)

device is attached as below

http://www.beyondlogic.org/usbnutshell/usb2.shtml

then in about 10ms interval you should see impulses on both D-,D+

(chirp), followed idle state.

~igor

0 Kudos

761 Views
Jan_E
Contributor II

Hi,

The D+ and D- are idling high when nothing is connected. That is according to the RM for i.MX28. When the cable is connected, D- pulses low and in the middle of that pulse D+ goes low and stay there after some extra short pulses. It then idle with D- high and D+ low. (I cannot sample higher than 25MHz so I might miss some data.)

I also got information from the board manufacturer that the boards have been x-rayed to ensure good soldering of the BGA so it is not a soldering issue.

This is really odd. As the i.MX28 cannot find an application in the flash it should go over to USB0. As the voltages, clock etc are OK and it does send debug info, I cannot see why the USB shouldn't work. D+ and D- go straight into the USB cable without any other components involved (except the connector) with very short traces routed next to each other.

Any more ideas what to try?

Regards,

Jan

0 Kudos

761 Views
igorpadykov
NXP Employee
NXP Employee

One can try to run OBDS from SD (it has USB test)

IMX_OBDS : On-Board Diagnostic Suit for the i.MX28.

i.MX28 On-Board Diagnostics Suite (OBDS)

0 Kudos

761 Views
Jan_E
Contributor II

Hi,

Sorry to say there are no SD support in our design.

Good try, though.

Regards,

Jan

0 Kudos