Difference between revisions of "iMX6 Rex Production"

From Voipac Wiki
Jump to navigation Jump to search
(Created page with "Category:iMX6 Rex Development kit <!-- --> <div style="float:right">__TOC__</div> == Disclaimer of caution == This procedure is intended for manufacturing and virgin modu...")
 
 
(13 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Category:iMX6 Rex Development kit]]
+
[[Category:iMX6 Rex Development Kit]]
 
<!-- -->
 
<!-- -->
 
<div style="float:right">__TOC__</div>
 
<div style="float:right">__TOC__</div>
Line 6: Line 6:
 
This procedure is intended for manufacturing and virgin modules only and should be never applied for shipped iMX6 Rex Modules.<br /><br />
 
This procedure is intended for manufacturing and virgin modules only and should be never applied for shipped iMX6 Rex Modules.<br /><br />
  
'''''BE AWARE THAT E-FUSES PROGRAMMING IS A NON REVERSAL PROCESS! WARRANTY CLAIM CAUSED BY IMPROPER E-FUSES PROGRAMMING WILL NOT BE ACCEPTED!'''''
+
'''''BE AWARE THAT E-FUSES PROGRAMMING IS A NON REVERSAL PROCESS!<br />WARRANTY CLAIM CAUSED BY IMPROPER E-FUSES PROGRAMMING WILL NOT BE ACCEPTED!'''''
  
 
== Information ==
 
== Information ==
Line 12: Line 12:
  
 
== Description ==
 
== Description ==
Production procedure consist from following steps:
+
Production procedure consists of following steps:
* Short BOOT_MODE (JP2) jumper on iMX6 Rex Base Board
+
* Short BOOT_MODE (JP2) jumper on iMX6 Rex Base Board  
 
* Connect RS-232 port to serial terminal (Settings: 115200 8n1)
 
* Connect RS-232 port to serial terminal (Settings: 115200 8n1)
 
* Connect USB_OTG port to host PC utilising microUSB-USB cable
 
* Connect USB_OTG port to host PC utilising microUSB-USB cable
* Power on iMX6 Rex Development kit
+
* Power on iMX6 Rex Development Kit
 
* Execute Manufacturing toolkit at host PC
 
* Execute Manufacturing toolkit at host PC
 
* Press Start button (iMX6 Rex board will boot firmware loaded over USB)
 
* Press Start button (iMX6 Rex board will boot firmware loaded over USB)
* Wait until firmware (u-boot) is booted (serial terminal)
+
* Wait until firmware (U-Boot) is booted (serial terminal)
 
* Burn eFuses over serial terminal
 
* Burn eFuses over serial terminal
 
* Remove BOOT_MODE jumper
 
* Remove BOOT_MODE jumper
* Power off iMX6 Rex Development kit
+
* Power off iMX6 Rex Development Kit
  
 
== Requirements ==
 
== Requirements ==
Line 28: Line 28:
 
* UART cable
 
* UART cable
 
* 12V Power supply
 
* 12V Power supply
* iMX6 Rex Development kit (with USB0 routed modification: USB OTG connector in use R62, R65 assembled
+
* iMX6 Rex Development Kit (with USB0 routed modification: USB OTG connector in use R62, R65 assembled
* Windows PC equipped with [http://downloads.voipac.com/index.php?p=iMX6_TinyRex_Development_kit/tools&dl=mfgtools-Imx6Rex.zip MfgTool] feature and serial line terminal
+
* Windows PC equipped with [http://downloads.voipac.com/index.php?p=iMX6_TinyRex_Development_Kit/tools&dl=mfgtools-Imx6Rex.zip MfgTool] feature and serial line terminal
  
 
== Configurations ==
 
== Configurations ==
Line 40: Line 40:
 
== Procedure ==
 
== Procedure ==
 
Select appropriate BAT file and start the bootloader transfer over USB OTG interface:<br />
 
Select appropriate BAT file and start the bootloader transfer over USB OTG interface:<br />
[[image:iMX6_Rex_Development_kit-MfgTool_production_start.jpg|600px]]<br /><br />
+
[[image:iMX6_Rex_Development_Kit-MfgTool_production_start.png|580px]]<br /><br />
  
 
Wait until the process is finished:<br />
 
Wait until the process is finished:<br />
[[image:iMX6_Rex_Development_kit-MfgTool_production_success.jpg|600px]]<br /><br />
+
[[image:iMX6_Rex_Development_Kit-MfgTool_production_success.png|430px]]<br /><br />
  
 
The board boots from the loaded firmware:<br />
 
The board boots from the loaded firmware:<br />
[[image:iMX6_Rex_Development_kit-Serial_console_production.jpg|600px]]<br /><br />
+
[[image:iMX6_Rex_Development_Kit-Serial_console_production.png|580px]]<br /><br />
  
 
== E-Fuses ==
 
== E-Fuses ==
Line 60: Line 60:
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
fuse prog 0 5 0x00001020
 
fuse prog 0 5 0x00001020
fuse prog 0 6 0x00000010
 
</syntaxhighlight>
 
 
=== Boot From SATA + SPI1 recovery ===
 
<syntaxhighlight lang="bash">
 
fuse prog 0 5 0x48001020
 
 
fuse prog 0 6 0x00000010
 
fuse prog 0 6 0x00000010
 
</syntaxhighlight>
 
</syntaxhighlight>
Line 76: Line 70:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
== U-boot over TFTP ==
+
== U-Boot over TFTP ==
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
Rex U-Boot > setenv ethaddr 00:01:02:03:04:05
 
Rex U-Boot > setenv ethaddr 00:01:02:03:04:05
Line 97: Line 91:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
== Testing configuration ==
+
== Configuration testing ==
To check if E-Fuses were setup correctly, test procedure consist from following steps:
+
To check that E-Fuses were setup correctly, test procedure consists of following steps:
 
* Ensure that BOOT_MODE jumper is not present
 
* 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)
 
* Plug micro SD card with valid testing firmware (or plug SATA disk if SATA booting was selected)
* Power on iMX6 Rex Development kit
+
* Power on iMX6 Rex Development Kit
 
* On-module red LED must start flashing automatically (bootloader was executed and kernel loaded)
 
* On-module red LED must start flashing automatically (bootloader was executed and kernel loaded)
* Power off iMX6 Rex Development kit
+
* Power off iMX6 Rex Development Kit

Latest revision as of 10:37, 24 April 2022

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:
iMX6 Rex Development Kit-MfgTool production start.png

Wait until the process is finished:
iMX6 Rex Development Kit-MfgTool production success.png

The board boots from the loaded firmware:
iMX6 Rex Development Kit-Serial console production.png

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

Configuration testing

To check that 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