My new board doesn't boot from fuses

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

My new board doesn't boot from fuses

1,109 Views
shonysinay
Contributor I

Hi all,

I have just got my new developed iMX6D board from production line. I already tested all the power planes and other basic peripherals and started the programming. All the programming steps where successful as long as the board was connected to the PC via OTG port, but unfortunately after completion programming, disconnecting the OTG and setting BOOT_MODE[1,0] = 00 (from 01), the board does not boot at all after powerup/reset.

Obviously there may be many reasons for this, but i had good reason to be optimistic because this new board was based on my previous prototype board. The prototype is OK and boot correctly (three of them).

The only differences i aware of are:

1. The prototype used the quad core version and now i am using the dual core.

2. On the prototype I populated the the GPIO boot resistors and I removed them on the current board.

Regarding the quad/dual issue, as long as i know the only difference between them is related to the different manipulation of the VDDARM power plan, which I did according to the hardware manual.

Regarding the GPIO boot option: actually i didn't use this booting option on the prototype - the EIM pins were just connected to GND via 24K resistors and the BOOT_MODE1 pin was always '0'.

Two more important notes:

  • I burnt the fuses to boot from the on-board NOR flash.
  • As long as the board is booting from the serial downloader, the Image is also downloaded from the SD card and everything on the board is working correctly.
  • The processor jumps to the serial download even after I set the BOOT_MODE0 pin to '0' (looks like the fuses didn't burn correctly, but why this is not the case with the prototype...?).

Hear is the programming procedure:

  1. Use the MFGtool to download the basic u-boot file from the PC.
  2. Use the fatload mmc 0:0 0x12000000 u-boot.imx  command to download the valid u-boot from the SD card.
  3. Use the following commands to burn the NOR flash:

sf probe

sf erase 0x0 0x80000

sf write 0x12000000 0x100 0x[uboot size in hexa]

    4. Use the following command to burn the fuses:

fuse prog 0 6 0x10

fuse prog 0 5 0x18000030

Any help will be appreciated.

Shony

0 Kudos
4 Replies

777 Views
igorpadykov
NXP Employee
NXP Employee

Hi Shony

one can check BT_FUSE_SEL eFUSE value. According to i.MX6DQ RM sect.8.2.3

Boot From Fuses:

If BT_FUSE_SEL = 0, indicating that the boot device (for example, Flash, SD/

MMC) has not yet been programmed, the boot flow jumps directly to the Serial

Downloader.

Also one can attach jtag and check boot settings reading SRC_SBMR1,SRC_SBMR2

registers.

Best regards

igor

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

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

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

0 Kudos

777 Views
shonysinay
Contributor I

Hi Igor,

Thank you for your answer.

I guess you suspect that the eFuses actually didn't burn or burnt incorrectly. Unfortunately I don't have a JTAG debugger to check that. Is there any other way to read the actual status of the eFuses? – any specific software command?

By-the-way, I would like to reply to your answers through the website, but unfortunately I couldn't find the way of doing that.

Reg,

Shony

0 Kudos

777 Views
igorpadykov
NXP Employee
NXP Employee

Hi Shony

fuses can be read from uboot

https://community.freescale.com/docs/DOC-95458

Best regards

igor

0 Kudos

777 Views
shonysinay
Contributor I

Hi,

I read the fuses and found them OK.

Do you have any more suggestions for solving my problem?

Does the treatment to the dual core is indeed identical to that of the quad core CPU?

Regards,

Shony

0 Kudos