eFUSE burning for SATA interfce booting..

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

eFUSE burning for SATA interfce booting..

Jump to solution
13,479 Views
ManoharChinnadu
Contributor III

Hi All,

We want to boot IMX6 device from SATA interface(instead of SD or NOR flash), for that we need to configure the boot device type by BOOT_CFG[7:4] eFUSEs as 0010 configuration(TRMi.MX 6Dual/6Quad Applications Processor Reference Manual (Table 7-8)).

How we can configure the eFUSEs value, is there any tool or method to configure the eFUSE values.?

It will be helpful for us to configure the target device to boot via SATA interface.


Regards,

Sandesh D

1 Solution
11,998 Views
YamilGarcia
Contributor III

Hi All,

To blow fuses, you must use u-boot command "imxotp blow --force <index> <value>".

From Table 5-4. SATA Boot Fusemap in i.MX 6Dual 6Quad Applications Processor Reference Manual.pdf

you get the address of fuses to setup boot from SATA, then you need to calculate the fuse index and then use command above.

To calculate the index, use formula shown below:

Fuse Index = (Fuse Address - 0x400) * 0x10

The value is determine by your needs.

For example to setup boot from NOR, the index will be 5 as shown below:

fuse address = 0x450

index = (0x450 - 0x400) * 0x10

index = 5

then,

imxotp blow --force <index> <value>"

u-boot> imxotp blow --force 5 0x18000030

View solution in original post

0 Kudos
Reply
6 Replies
11,999 Views
YamilGarcia
Contributor III

Hi All,

To blow fuses, you must use u-boot command "imxotp blow --force <index> <value>".

From Table 5-4. SATA Boot Fusemap in i.MX 6Dual 6Quad Applications Processor Reference Manual.pdf

you get the address of fuses to setup boot from SATA, then you need to calculate the fuse index and then use command above.

To calculate the index, use formula shown below:

Fuse Index = (Fuse Address - 0x400) * 0x10

The value is determine by your needs.

For example to setup boot from NOR, the index will be 5 as shown below:

fuse address = 0x450

index = (0x450 - 0x400) * 0x10

index = 5

then,

imxotp blow --force <index> <value>"

u-boot> imxotp blow --force 5 0x18000030

0 Kudos
Reply
11,998 Views
niklasmolin
Senior Contributor I

Hi.

One quick question.

If I blow the fuses, can I revert it back later or is it going to be stuck in that setting forever?

Thanks,

Niklas

0 Kudos
Reply
11,998 Views
sinanakman
Senior Contributor III

Blowing fuses is a one way operation.

0 Kudos
Reply
11,998 Views
ManoharChinnadu
Contributor III

Thanks Garcia,

we use the following values to blow the eFUSES for SATA interface booting and now we were able to boot via SATA Interface.

SATA

- Only need to blow BOOT_CFG1[5]. All other fuses remain at “0”.

- Sequence from U-Boot:

  • imxotp blow --force 5 0x20     ;BOOT_CFG1[5]
  • imxotp blow --force 6 0x10     ;BT_FUSE_SEL

0 Kudos
Reply
11,998 Views
YamilGarcia
Contributor III

Hi Manohar,

You are welcome.

We are a community, so we help each other.

Regards,

Yamil Garcia,

Imagik Int Corp.

0 Kudos
Reply
11,998 Views
rp123
Contributor II


I am using GPIO, external on board resistors, to set my boot mode settings instead of blowing fuses.  When i memory dump 0x450 should it correspond to that of the Book Device Select table in the IMX6DQRM.pdf?

0 Kudos
Reply