How to program i.MX6 eFUSE?
what about using the mfg tool? In the end only the supplies, USB OTG and the boot mode pins need to be connected.
The customers Idea was to have all devices (i.MX6 eFUSE, Flash, PFUZE, etc) pre- programmed before mounting on the board.
I presented the flows we support (MFG Tool, Platform SDK) for eFUSE programming last Friday when I was at the customer.
MfgTools is the most convenient way to burn eFuse. Or the customer can burn the fuse on their jig/socket board by the u-boot:
How to Fuse in U-Boot
U-Boot contains a tool, imxotp, which is used for fusing.
U-Boot > imxotp
imxotp - One-Time Programable sub-system
imxotp imxotp read <index>
- read fuse at 'index'
imxotp blow [--force] <index> <value>
- blow fuse at 'index' with hex value 'value'
Tips: 'addr' to 'index':
convert 'index' from 'address'
index = (addr - otp_base) / 0x10
eg, addr is 0x021bc410, otp_base is 0x021bc400, the index = 1
- '--force' must be present in order to blow the fuse. Command will abort if '--force' is missing.
- index = (addr - otp_base) / 0x10, where the addr is the address of the fuse you want to operate, the otp_base is the base address of the fuse block.
- 'value' should correspond to fuse settings according to the fuse map and desired fuse configuration.
FIrst of all thanks for your reply. However both flow assumes the i.MX6 is already soldered on the board. Please note the specific request was if it is possible (and we can support a programming house) to pre program the efuses BEFORE they are soldered on the PCB thus on a standard programmer. Take an FLASH programmer as an example.