U-Boot for the Gateworks Ventana Product Family boards This file contains information for the port of U-Boot to the Gateworks Ventana Product family boards. 1. Boot source, boot from NAND ------------------------------ The i.MX6 BOOT ROM expects some structures that provide details of NAND layout and bad block information (referred to as 'bootstreams') which are replicated multiple times in NAND. The number of replications is configurable through board strapping options and eFUSE settings. The Freescale 'kobs-ng' application from the Freescale LTIB BSP, which runs under Linux, must be used to program the bootstream in order to setup the replicated headers correctly. The Gateworks Ventana boards with NAND flash have been factory programmed such that their eFUSE settings expect 2 copies of the boostream (this is specified by providing kobs-ng with the --search_exponent=1 argument). Once in Linux with MTD support for the NAND on /dev/mtd0 you can program the boostream with: kobs-ng init -v -x --search_exponent=1 u-boot.imx The kobs-ng application uses an imximage (u-boot.imx) which contains the Image Vector Table (IVT) and Device Configuration Data (DCD) structures that the i.MX6 BOOT ROM requires to boot. The kobs-ng adds the Firmware Configuration Block (FCB) and Discovered Bad Block Table (DBBT). This information is taken from: http://trac.gateworks.com/wiki/ventana/bootloader#NANDFLASH More details about the i.MX6 BOOT ROM can be found in the IMX6 reference manual. 2. Build -------- There are several Gateworks Ventana boards that share a simliar design but vary based on CPU, Memory configuration, and subloaded devices. Although the subloaded devices are handled dynamically in the bootloader using factory configured EEPROM data to modify the device-tree, the CPU choice (IMX6Q vs IMX6DL) and memory configurations are currently compile-time options. The following Gateworks Ventana configurations exist: gwventanaq1gspi: MX6Q,1GB,SPI FLASH gwventanaq : MX6Q,512MB,NAND FLASH gwventanaq1g : MX6Q,1GB,NAND FLASH gwventanadl : MX6DL,512MB,NAND FLASH gwventanadl1g : MX6DL,1GB,NAND FLASH To build U-Boot for the MX6Q,1GB,NAND FLASH for example: make gwventanaq1g_config make