Quantcast
Channel: Boundary Devices
Viewing all articles
Browse latest Browse all 391

Fuse API

$
0
0

The i.MX6 CPU has one-time-programmable (otp) fuses which can be used by SoCs to store various permanent configuration and data. Some common uses include boot configuration, security configuration, MAC addresses, etc. We only modify the following fuse words:

wordvalue
0×50×18000030
0×60×00000010
0×22 and 0×23MAC address

Thanks to a patch by Thilo Jeremias, we’ve been using the ‘imxotp’ command to set fuses. The process looked like this:

U-Boot > imxotp blow --force 5 0x18000030
U-Boot > imxotp blow --force 6 0x00000010
U-Boot > imxotp blow --force 0x23 0x19
U-Boot > imxotp blow --force 0x22 ...low bits of mac address

Recently, Benoît Thébaudeau developed the fuse API and got it accepted into mainline, so we’re making the transition. The new commands look like this:

U-Boot > fuse prog 0 5 0x18000030
U-Boot > fuse prog 0 6 0x00000010
U-Boot > fuse prog 4 3 0x19
U-Boot > fuse prog 4 2 ...low bits of mac address

Note that the fuses are arranged in banks of 8 words so for example, 0×22 = 34 = bank 4 word 2. For more information about the Fuse API see the README


Viewing all articles
Browse latest Browse all 391

Trending Articles