Re: i.MX6UL fuse prog for eMMC boot failed

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

Re: i.MX6UL fuse prog for eMMC boot failed

827 Views
wandreas
Contributor II

Hi,

We tried it now with 

fuse prog 0 5 0x0000C86D

but it does not boot either. As we can workaround this by shortcutting a resistor on the board, we did not want to blow the 0x10 fuse as well, as this fuse will brick the board (and the workaround) completely.

My question is:  Is the fuse:

fuse prog 0 6 0x00000010

necessary to boot from the fuse settings or is it just a security setting? Currently, my only hope is, that this single fuse is necessary to "activate" the fuse settings from 0 5. If not, the settings we used for the second board (0x0000C86D) will not work either.

Can you help me out? Should I execute fuse prog 0 6 0x00000010 as well and risk bricking the second board fully?

Thanks!

4 Replies

681 Views
Yuri
NXP Employee
NXP Employee

Hello,

 You may use Table 5-9 (Fusemap Descriptions) of the i.MX6UL RM.

Column Fuse Address = 460 corresponds bank 0, word 6 in U-boot.

  Value 0x00000010 means BT_FUSE_SEL is set; it means fuse only boot,

no ability for GPIO based boot configuration. 

BOOT_MODE[1,0]=00 is used for boot from fuses, but boot fuses will be always

used, if BT_FUSE_SEL=1

For testing different fuse configurations BT_FUSE_SEL may be leave in default  non-burned 

state.  If You want to apply the fuses as boot configuration finally, after debugging finish, it is

needed to burn BT_FUSE_SEL.

Have a great day,
Yuri

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

0 Kudos

681 Views
wandreas
Contributor II

Thanks for answer Yuri!

I still have to ask once more (unfortunately), if you have any other idea why it still does not work?
Same question as above: We simulate the Fuse Setting 0x0000C86D with resistors, and we verified that it would exactly match the setting 0x0000C86D on 0 5.  The board boots from emmc with the resistors, why wouldn't it boot with the exactly same settings for the fuses?

Your answer for the setting 0x00000010 on 0 6 told me, that we don't need this setting in order to be able to boot from the new fuse settings at all. It is just a final security setup. So I assume the fusesel bit on 0 6 does not matter for our problem.

I really hope you can give me another idea what we could try or what we might have done wrong?

Thanks!
Andreas 

0 Kudos

681 Views
Yuri
NXP Employee
NXP Employee

Hello,

  You may check (fuse) boot configuration, using  SRC_SBMR1 register

(when BOOT_MODE[1,0]=00).   

Regards,

Yuri.

681 Views
wandreas
Contributor II

Hello,

Thanks so much for your help, the section about the BOOT_MODE in the manual did help!
So you pointed us in the right direction. I think either I interpreted your last statement ("For testing different fuse configurations BT_FUSE_SEL may be leave in default  non-burned state. ...") wrong, or you really meant it like this:
I thought we do not need to burn BT_FUSE_SEL to boot from fuses, but it was actually necessary and the only step we needed to finally boot successfully from fuses. (We did not want to brick another board so we tried to avoid burning BT_FUSE_SEL) 

Thank you!
Have a nice day!

Best regards,

Andreas Wiesinger