1Building SPL/U-Boot for xea board 2================================= 3 4Setup environment, configure and build, e.g. by: 5 6 $ make imx28_xea_defconfig 7 $ make -j4 u-boot.sb u-boot.img 8 9Now you should see u-boot.sb and u-boot.img files in the build directory. 10 11 12Booting 13======= 14 15The boot ROM loads SPL from SPI NOR flash into SRAM. SPL configures 16DRAM and loads either a Linux kernel (falcon mode) or, if the rescue 17pin is asserted, the main U-Boot. Both kernel and U-Boot reside in 18eMMC boot partition 0. For redundancy, a copy of U-Boot is also 19stored in SPI flash. If a valid kernel image is not found, U-Boot is 20loaded from eMMC or, if this fails, SPI flash. 21 22Boot area layout 23---------------- 24 25SPI NOR 26Offset Function File 27------------------------------------------ 280x00000000 SPL u-boot.sb 290x00010000 U-Boot u-boot.img 300x00080000 Environment 31 32eMMC 33Offset Function File 34------------------------------------------ 350x00000000 U-Boot u-boot.img 360x00080000 Devicetree imx28-bttc.dtb 370x00100000 Kernel uImage 38 39 40Falcon mode 41=========== 42 43In falcon mode, the default, SPL loads the kernel and devicetree 44directly. For this to work, the stored devicetree must include 45correct "memory" and "chosen" nodes as these are not updated by SPL 46before booting the kernel. 47 48 49Updating from U-Boot 50==================== 51 52The default U-Boot environment includes command sequences to update 53SPL, U-Boot, and kernel over TFTP. These are as follows: 54 55- update_spl: writes u-boot.sb to SPI NOR 56- update_uboot: writes u-boot.img to eMMC and SPI NOR 57- update_kernel: writes kernel and devicetree to eMMC 58 59They can be invoked at the U-Boot prompt using the "run" command, 60e.g. "run update_spl" to update the SPL. 61 62These update commands download the above-named files from the 63${hostname} directory on the server provided by DHCP. 64