1U-Boot for Freescale i.MX6 2 3This file contains information for the port of U-Boot to the Freescale i.MX6 4SoC. 5 61. CONVENTIONS FOR FUSE ASSIGNMENTS 7----------------------------------- 8 91.1 MAC Address: It is stored in fuse bank 4, with the 32 lsbs in word 2 and the 10 16 msbs in word 3. 11 12Example: 13 14For reading the MAC address fuses on a MX6Q: 15 16- The MAC address is stored in two fuse addresses (the fuse addresses are 17described in the Fusemap Descriptions table from the mx6q Reference Manual): 18 190x620[31:0] - MAC_ADDR[31:0] 200x630[15:0] - MAC_ADDR[47:32] 21 22In order to use the fuse API, we need to pass the bank and word values, which 23are calculated as below: 24 25Fuse address for the lower MAC address: 0x620 26Base address for the fuses: 0x400 27 28(0x620 - 0x400)/0x10 = 0x22 = 34 decimal 29 30As the fuses are arranged in banks of 8 words: 31 3234 / 8 = 4 and the remainder is 2, so in this case: 33 34bank = 4 35word = 2 36 37And the U-boot command would be: 38 39=> fuse read 4 2 40Reading bank 4: 41 42Word 0x00000002: 9f027772 43 44Doing the same for the upper MAC address: 45 46Fuse address for the upper MAC address: 0x630 47Base address for the fuses: 0x400 48 49(0x630 - 0x400)/0x10 = 0x23 = 35 decimal 50 51As the fuses are arranged in banks of 8 words: 52 5335 / 8 = 4 and the remainder is 3, so in this case: 54 55bank = 4 56word = 3 57 58And the U-boot command would be: 59 60=> fuse read 4 3 61Reading bank 4: 62 63Word 0x00000003: 00000004 64 65,which matches the ethaddr value: 66=> echo ${ethaddr} 6700:04:9f:02:77:72 68 69Some other useful hints: 70 71- The 'bank' and 'word' numbers can be easily obtained from the mx6 Reference 72Manual. For the mx6quad case, please check the "46.5 OCOTP Memory Map/Register 73Definition" from the "i.MX 6Dual/6Quad Applications Processor Reference Manual, 74Rev. 1, 04/2013" document. For example, for the MAC fuses we have: 75 76Address: 7721B_C620 Value of OTP Bank4 Word2 (MAC Address)(OCOTP_MAC0) 78 7921B_C630 Value of OTP Bank4 Word3 (MAC Address)(OCOTP_MAC1) 80 81- The command '=> fuse read 4 2 2' reads the whole MAC addresses at once: 82 83=> fuse read 4 2 2 84Reading bank 4: 85 86Word 0x00000002: 9f027772 00000004 87