Tim Harvey | 552c358 | 2014-03-06 07:46:30 -0800 | [diff] [blame^] | 1 | U-Boot for the Gateworks Ventana Product Family boards |
| 2 | |
| 3 | This file contains information for the port of U-Boot to the Gateworks |
| 4 | Ventana Product family boards. |
| 5 | |
| 6 | 1. Boot source, boot from NAND |
| 7 | ------------------------------ |
| 8 | |
| 9 | The i.MX6 BOOT ROM expects some structures that provide details of NAND layout |
| 10 | and bad block information (referred to as 'bootstreams') which are replicated |
| 11 | multiple times in NAND. The number of replications is configurable through |
| 12 | board strapping options and eFUSE settings. The Freescale 'kobs-ng' |
| 13 | application from the Freescale LTIB BSP, which runs under Linux, must be used |
| 14 | to program the bootstream in order to setup the replicated headers correctly. |
| 15 | |
| 16 | The Gateworks Ventana boards with NAND flash have been factory programmed |
| 17 | such that their eFUSE settings expect 2 copies of the boostream (this is |
| 18 | specified by providing kobs-ng with the --search_exponent=1 argument). Once in |
| 19 | Linux with MTD support for the NAND on /dev/mtd0 you can program the boostream |
| 20 | with: |
| 21 | |
| 22 | kobs-ng init -v -x --search_exponent=1 u-boot.imx |
| 23 | |
| 24 | The kobs-ng application uses an imximage (u-boot.imx) which contains the |
| 25 | Image Vector Table (IVT) and Device Configuration Data (DCD) structures that |
| 26 | the i.MX6 BOOT ROM requires to boot. The kobs-ng adds the Firmware |
| 27 | Configuration Block (FCB) and Discovered Bad Block Table (DBBT). |
| 28 | |
| 29 | This information is taken from: |
| 30 | http://trac.gateworks.com/wiki/ventana/bootloader#NANDFLASH |
| 31 | |
| 32 | More details about the i.MX6 BOOT ROM can be found in the IMX6 reference manual. |
| 33 | |
| 34 | 2. Build |
| 35 | -------- |
| 36 | |
| 37 | There are several Gateworks Ventana boards that share a simliar design but |
| 38 | vary based on CPU, Memory configuration, and subloaded devices. Although |
| 39 | the subloaded devices are handled dynamically in the bootloader using |
| 40 | factory configured EEPROM data to modify the device-tree, the CPU choice |
| 41 | (IMX6Q vs IMX6DL) and memory configurations are currently compile-time |
| 42 | options. |
| 43 | |
| 44 | The following Gateworks Ventana configurations exist: |
| 45 | gwventanaq1gspi: MX6Q,1GB,SPI FLASH |
| 46 | gwventanaq : MX6Q,512MB,NAND FLASH |
| 47 | gwventanaq1g : MX6Q,1GB,NAND FLASH |
| 48 | gwventanadl : MX6DL,512MB,NAND FLASH |
| 49 | gwventanadl1g : MX6DL,1GB,NAND FLASH |
| 50 | |
| 51 | To build U-Boot for the MX6Q,1GB,NAND FLASH for example: |
| 52 | |
| 53 | make gwventanaq1g_config |
| 54 | make |
| 55 | |