Trouble with iMX53 booting from SD card

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

Trouble with iMX53 booting from SD card

2,510 Views
coryfolsom
Contributor I

Our basic problem is getting our iMX536 hardware into the boot mode after reset is de-asserted. It is currently programmed per the iMX53 dev board GPIO pin configuration to boot from the sdcard but it never attempts to read the sd card. If we understand the boot mode sequence if it can't identify the selected boot device it will default to the serial boot mode but we never see it respond during the 32 sec WD timeout to anything sent on the serial port. we have not re-programmed boot mode 0 and 1 for forced serial boot yet.

We have developed our own hardware around the iMX536 based on the iMX53 development board. Schematics in PDF format are available

The board incorporates the MC34078 PMIC per the development board with the same power sequencing.

Board is an 8 Layer board with 4 signal, 4 power per Dev board and User's guide specs.

The Ethernet interface was removed on our board. The USBOTG is being used and we have access to one serial port through a diagnostics header.

Our board uses DDR3 per the development board

Our board uses both camera inputs to the iMX536 but currently nothing is connected.

All power rails are correct. All probed at the dogbone via directly under the CPU BGA

All clocks are present (24MHx XTAL on iMX536, 32kHz on PMIC with 32kout to iMX536

nRESET_IN and nPOR only comes up after rails are stable

Boot Mode is configured using GPIO

Boot Mode0 and mode 1 are pulled low for boot from SD Card

Boot config lines when reset is de-asserted are all correct and identical to iMX53 dev board

A separate reset pushbutton was added so a hard reset could be generated to make sure a reset was provided after clocks and power were stable.

The 24MHz CPU crystal on XTAL/EXTAL is oscillating at the correct frequency and from appoximatle 1.2V down to zero. The only difference we see between our board and the dev board is our 24MHz oscillator does not start until about 10mS after nPOR is de-asserted while the dev board starts during the nPOR rise time. If a subsequent nPOR assertion is applied after the clock is running however our board still does not do anything.

All relevant signals seem to be the same as the dev board at power-on reset other than the 24MHz osc timing.

We are looking for assistance in what we may have missed or overlooked in trying to bring this hardware up. If there is some minor difference between the iMX536 and the iMX535 on the dev board or missing some interaction between the CPU and PMIC that would prevent it from seeking the correct boot device.


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

1,272 Views
JasonLiu
NXP Employee
NXP Employee

One important and useful information is: did you using the GPIO mode just the same as the i.MX53EVK board design? If you are using fuse boot mode, you need fuse: BT_FUSE_SEL. Please refer to i.MX53 RM: Chapter 7 System Boot, for more details.

0 Kudos

1,272 Views
yektaayduk
Contributor II

I have a similar problem .I designed a custom board with 256Mbytes of DDR2 connected to CS0.

I'm trying to boot from SDcard (u-boot) .

Using the ddr_tester SW  I optimized  IOMUXC and ESDCTL  register settings for DDR2 up to 400MHz ddr clk.

I also checked the SDcard using the OBDS SW .

My first u-boot code based on mx53_loco and then mx53_ard (because ard seems to have a ddr2 version)  both failed - still no u-boot prompt.

Q1) how can I get schematics of mx53_evk and mx53_ard with DDR2 ?Only SABRE and QSB reference designs can be accessed in Freescale website.

Q2) according to i.mx53RM 7.3.2

"The GPIO override feature is only available when BT_FUSE_SEL

is 0 (fuse is unblown) and BOOT_MODE[1:0] = 00."

How can I be sure that the fuse is unblown ? Currently I dont apply VDD_FUSE ,its floating as its suggested somewhere.

Does the cpu need VDD_FUSE to check the condition of BT_FUSE_SEL ?

0 Kudos

1,272 Views
yektaayduk
Contributor II

I found the problem. When I boot from SDcard in high speed mode there was setup hold time violations.I switched to normal speed now the rising edge of the clock hits data bits  at centre and board is successfully booted .

0 Kudos

1,272 Views
NicolasIzquierd
Contributor III

Hi Cory

You can try creating a chain with JTAG with this you will be able to see if the CPU is up also you can load a program into the IRAM.

let us know if you need help doing this

-ni

0 Kudos

1,272 Views
coryfolsom
Contributor I

Currently we do not have the software tools to utilize the JTAG programmer - We do use the Keil ARM tools and have ULINK and Segger J-Link JTAG pods.

What development software would be required to do some low-level JTAG testing of the iMX53x processors?


0 Kudos

1,272 Views
NicolasIzquierd
Contributor III

Cory,

Basically we use ARM tools and you will need at the RVDS RealView ICE hardware and the RealView Debugger to be able to connect with the 53. but there are other solution supported to the arm cortex a8 as the 53 core.

http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX535&nodeId=018rH3ZrDR988D&fpsp=1&...

-ni

0 Kudos

1,272 Views
RandyKrakora
NXP Employee
NXP Employee

Did you try to use the mfg. tool connected to USBOTG port of your HW? It will be able to detect if the imx is in serial reprogramming mode.

Do you see anything at all on the serial console ( using teraterm or similar )?

Is it possible your SD card is not written correctly with uboot, kernel, rfs?

0 Kudos

1,272 Views
coryfolsom
Contributor I

Did you try to use the mfg. tool connected to USBOTG port of your HW? It will be able to detect if the imx is in serial reprogramming mode.

Yes - never see any activity when probing the USBOTG port while connected and PC never recognizes a USB port is present and tries to enumerate it.

Do you see anything at all on the serial console ( using teraterm or similar )?

Yes - we attached to one of the serial ports and tried to get the serial boot mode to recognize it. According to the UG if the boot code fails to find the correct boot device it will go into serial mode and poll all of the serial ports for activity for 32 seconds before the WD timer times out. We have not yet tried to change the Boot Mode pins to force it into serial mode however. That will take a bit of board surgery.

Is it possible your SD card is not written correctly with uboot,kernel, rfs?

the sd card works in the iMX535 development board. We have probed the sd card clock line during and after the power on reset and manual reset and don't ever see any activity on it indicating an attempt to read it.


0 Kudos

1,272 Views
RandyKrakora
NXP Employee
NXP Employee

Do you see anything at all on the serial console ( using teraterm or similar )?

Did you use teraterm? I mean if you connect to a serial port, start teraterm and connect to that port, then try to boot, do you see any uboot messages on teraterm?

Can you send me the portion of your schematic that has boot mode pins and GPIO boot pins? ( you don’t have to post it here, just send it privately to me )

0 Kudos