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