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