iMX6 Rex Production
Disclaimer of caution
This procedure is intended for manufacturing and virgin modules only and should be never applied for shipped iMX6 Rex Modules.
BE AWARE THAT E-FUSES PROGRAMMING IS A NON REVERSAL PROCESS! WARRANTY CLAIM CAUSED BY IMPROPER E-FUSES PROGRAMMING WILL NOT BE ACCEPTED!
Information
This procedure will enforce loading firmware from SPI3 port and will set a unique MAC address.
Description
Production procedure consists of following steps:
- Short BOOT_MODE (JP2) jumper on iMX6 Rex Base Board
- Connect RS-232 port to serial terminal (Settings: 115200 8n1)
- Connect USB_OTG port to host PC utilising microUSB-USB cable
- Power on iMX6 Rex Development kit
- Execute Manufacturing toolkit at host PC
- Press Start button (iMX6 Rex board will boot firmware loaded over USB)
- Wait until firmware (u-boot) is booted (serial terminal)
- Burn eFuses over serial terminal
- Remove BOOT_MODE jumper
- Power off iMX6 Rex Development kit
Requirements
- microUSB-USB cable
- UART cable
- 12V Power supply
- iMX6 Rex Development kit (with USB0 routed modification: USB OTG connector in use R62, R65 assembled
- Windows PC equipped with MfgTool feature and serial line terminal
Configurations
Production-Rex-basic.bat # Production module i.mx6d 512MB Production-Rex-pro.bat # Production module i.mx6q 2GB Production-Rex-ultra.bat # Production module i.mx6qp 4GB
Procedure
Select appropriate BAT file and start the bootloader transfer over USB OTG interface:
600px
Wait until the process is finished:
600px
The board boots from the loaded firmware:
600px
E-Fuses
This operation is not reversible and should be executed carefully! The iMX6 Rex Module must be replaced in the case of error.
Boot From SPI3
fuse prog 0 5 0x2A000030 fuse prog 0 6 0x00000010
Boot From SATA
fuse prog 0 5 0x00001020 fuse prog 0 6 0x00000010
MAC Address
For example address 00:0D:15:00:D1:75 is used:
fuse prog 4 3 0x000d fuse prog 4 2 0x1500d175
U-Boot over TFTP
Rex U-Boot > setenv ethaddr 00:01:02:03:04:05 Rex U-Boot > setenv ipaddr 192.168.1.50 Rex U-Boot > setenv serverip 192.168.1.1 Rex U-Boot > mw.b 0x10800000 0xFF 0x80000 Rex U-Boot > tftp 0x10800000 imx6/u-boot-imx6-rexultra.imx Using FEC device TFTP from server 192.168.1.1; our IP address is 192.168.1.50 Filename 'imx6/u-boot-imx6-rexultra.imx'. Load address: 0x10800000 Loading: ####################### 2.6 MiB/s done Bytes transferred = 334848 (51c00 hex) Rex U-Boot > if sf probe 2:2; then sf erase 0x0 0x80000;sf write 0x10800000 0x400 0x7fc00; fi SF: Detected SST25VF032B with page size 256 Bytes, erase size 4 KiB, total 4 MiB SF: 524288 bytes @ 0x0 Erased: OK SF: 523264 bytes @ 0x400 Written: OK
Testing configuration
To check if E-Fuses were setup correctly, test procedure consists of following steps:
- Ensure that BOOT_MODE jumper is not present
- Plug micro SD card with valid testing firmware (or plug SATA disk if SATA booting was selected)
- Power on iMX6 Rex Development kit
- On-module red LED must start flashing automatically (bootloader was executed and kernel loaded)
- Power off iMX6 Rex Development kit