i.MX23 linux boot problem

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

i.MX23 linux boot problem

1,172 Views
danix
Contributor III

Hey all,

I was trying to boot Linux on my custom board with i.MX23 from microSD card (1GB). The design is pretty much similar to the ref design, but without the SD power gate control (I gotta use PMW3 for other application). This is what the ROM bootloader prints on the terminal,

 

PowerPrep start initialize power...
Battery Voltage = 3.96V
boot from battery. 5v input not detected
May 30 201000:24:36
EMI_CTRL 0x1C084040
FRAC 0x92926192
init_ddr_mt46v32m16_133Mhz
power 0x00820710
Frac 0x92926192
start change cpu freq
hbus 0x00000003
cpu 0x00010001
Data Abortr14_

PowerPrep start initialize power...

 

It's stuck repeating this message over and over..

any help appreciated

Tags (1)
0 Kudos
6 Replies

767 Views
danix
Contributor III

sure I,m using Micron DDR MT46V32M16

 

I changed the frequency to 96MHz and boot Linux successfully.

 

The thing is, I designed a 4 layer low cost board, so I compromised the EMI a little bit; seems I'm paying for that :-)

 

Thank you all

0 Kudos

767 Views
mdc
Contributor V

This is usually indicative of a DDR problem.

 

The above message indicates you're using init_ddr_mt46v32m16_133Mhz - is this the DDR1 part on your board?

 

It is possible to run at 96MHz. In boot_prep/init.c, uncomment the #define EMI_96M to enable this. Suggest you try this and see if you can get the kernel uncompressed.

0 Kudos

767 Views
danix
Contributor III

Now I get something like this on the terminal,

 

Uncompressing Linux.............................................................................................................................................

crc error

 -- System halted

 

what would probably be the issue and what is the work around?

 

btw: Can I run the DDR at lower speeds, like 96MHz or even 48MHz?

0 Kudos

767 Views
Balaji_ng
Contributor III

Hi,

           Have you done Length matching of DDR Data signals? Just insert a simple memory write and read code in the linux prep. Check if you are able to read the same data you wrote.

Balaji.V

0 Kudos

767 Views
danix
Contributor III

Sure I can do that, but you see what I can't understand is:

right before it prints "Data abortr14_"  the VDD4p2 and VDDRAM (2V5) collapses and I  hear a 'tzzzzzzzzzz' sound somewhere on the board, but all the other power rails remain intact. This is like a nightmare!!!

 

I tried to trace the power_prep and boot_prep sources, and seems it is done with those steps and the data abort occurs just before it tries to load the kernel, but I can't even think about why the VDDM and VDD4p2 collapses!

0 Kudos

767 Views
VladanJovanovic
NXP Employee
NXP Employee

I'd suggest to add some printfs to bootlets, rebuild them and try to locate more precisely what fails. bootlets are very simple and straightforward C code so it should be easy to locate the reason boot fails.

 

Vladan

0 Kudos