ROM boot code documentation.

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

ROM boot code documentation.

8,181 Views
RandyGraham
Contributor IV

Hello,

I am trying to boot a custom i.mx28 board from an SD card and am seeing the following hex codes displayed from the UART.

0x80502008

0x8020a014
0x8020a014
Prefetch Abort
r14_abt: 0xffff


The SD card contains a version of u-boot that works on the imx28-evk dev board.


Where are these codes documented?


I couldn't find them in the processor reference manual.


Thanks for any help,


-Randy



Labels (2)
33 Replies

801 Views
RandyGraham
Contributor IV

Will do.
Thanks Marek, you are very helpful !

0 Kudos

801 Views
RandyGraham
Contributor IV

With no battery and no sd card (ie. no software running on board) we are seeing the following rail voltages.

VDDIO = 3.2 v

VDDA = 0.5 v  ???

VDDD = 1.2 v

Given the cascaded LinRegs, how can VDDD > VDDA ?

So far we don't see any hardware problems with our board, but the results above have me wondering.

Obviously VDDIO is ok since we can run u-boot from an sd card.

If I understand AN4199 correctly, with no application software running, the LinRegs should power up the rails to nominal default voltages, VDDIO = 3.3, VDDA=1.8, and VDDD=1.2 v.

Do we have a hardware issue or am I missing something in the docs that explains how VDDD can be greater than VDDA ?

I am confused :smileywink:

-Randy

0 Kudos

801 Views
RandyGraham
Contributor IV

To summarize my question, other than a hardware problem affecting VDDA, is there any other explanation for VDDD > VDDA on a mx28 board that is not running any application software ?

Thanks for any hints, our hardware guy is not convinced it's a hardware issue and suspects some undocumented feature/requirement is casing this.

-Randy

0 Kudos

801 Views
RandyGraham
Contributor IV

Finally, we found a tracing error on our board that explains our VDDA problem.

Thanks to all for your help !

0 Kudos

811 Views
MarekVasut
Senior Contributor I

Check the following document:

http://sasamy.narod.ru/IMX23_ROM_Error_Codes.pdf

I didn't manage to google up the MX28 ones, but they should match.

0 Kudos

811 Views
RandyGraham
Contributor IV

Thanks Marek.
Yes, I had googled this as well, but was hoping there were official docs from Freescale for the mx28.

0 Kudos

811 Views
MarekVasut
Senior Contributor I

I briefly checked the MX28 bootrom source and it really contains file "return_codes.h" with comments that look identical to what's in the PDF document. So it seems someone just crunched this file and rolled out a PDF. You should be safe with using the PDF as a reference documentation to decode ROM error codes.

... and FSL should provide it as official documentation too!

0 Kudos

811 Views
RandyGraham
Contributor IV

Hi Marek,

Where did you find the mx28 bootrom source ?

It would be very helpful to have as a reference.

-Randy

0 Kudos

811 Views
MarekVasut
Senior Contributor I

Please ask your freescale guy, he should be able to arrange it for you.

0 Kudos

811 Views
RandyGraham
Contributor IV

Wow, you are fast :smileywink:

Thanks !

0 Kudos

811 Views
MarekVasut
Senior Contributor I

Sorry I can't help you more with this, you will need some NDA etc. to get it.

0 Kudos

811 Views
Yuri
NXP Employee
NXP Employee

1.

0x80502008 means  ERROR_ROM_USB_CONNECT_TIMEOUT    

If the boot ROM is unable to boot from the device, indicated by the boot mode

(say, SD), then it falls back to the USB interface. This error code indicates that

the USB boot failed as well.

2.

0x8020A014 means ERROR_DDI_SD_MMC_DEVICE_NOT_SUPPORTED, that is the device is

not supported, or the device cannot be seen.

3.

Perhaps it makes sense to try the SSP polarity patch.

https://www.freescale.com/webapp/Download?colCode=L2.6.35_10.12_SSP_CLK_PATCH_UP&appType=license&loc...


The mx28_polarity_issue_ssp1.sb is just SD1 boot applet,

which should be burned to EEPROM. I.MX28-based board

should be configured to boot from the EEPROM. 

811 Views
RandyGraham
Contributor IV

Thanks Yuri, I'll check this out.

0 Kudos