1U-Boot for the Freescale i.MX6q SabreLite board 2=============================================== 3 4This file contains information for the port of U-Boot to the Freescale 5i.MX6q SabreLite board. 6 7 81. Build 9-------- 10 11To build U-Boot for the SabreLite board: 12 13 make mx6qsabrelite_config 14 make 15 16 172. Boot from SD card 18-------------------- 19 20The SabreLite boards boot from the SPI NOR flash. These boards need their SPI 21to be reflashed with a small SD card loader to support boot from SD card. The 22board will still boot from SPI NOR, but the loader will in turn request the 23BootROM to load the U-Boot from SD card. 24 25The SD card loader is available from 26 27https://wiki.linaro.org/Boards/MX6QSabreLite 28 29This is provided under a open-source 3-clause BSD license. 30 31To following procedure can be used to update the SPI-NOR on the SabreLite 32board: 33 341. Write this SD card loader onto a large SD card using: 35 36 sudo dd if=iMX6DQ_SPI_to_uSDHC3.bin of=/dev/sXx 37 38 Note: Replace sXx with the device representing the SD card in your system. 39 40 Note: This writes SD card loader at address 0 41 422. Put this SD card into the slot for the large SD card (SD3 on the bottom of 43 the board). Make sure SW1 switch is at position "00", so that it can boot 44 from the fuses. 45 463. Power-up the SabreLite, press 'space' to enter command mode in the U-Boot 47 (the default one the board is shipped with, starting from the SPI NOR) and 48 enter the following commands: 49 50 MX6Q SABRELITE U-Boot > mmc dev 0 51 MX6Q SABRELITE U-Boot > mmc read 0x10800000 0 200 52 MX6Q SABRELITE U-Boot > sf probe 53 MX6Q SABRELITE U-Boot > sf erase 0 0x40000 54 MX6Q SABRELITE U-Boot > sf write 0x10800000 0 0x40000 55 564. Write the u-boot.imx produced during the U-Boot build to the SD card: 57 58 sudo dd if=u-boot.imx of=/dev/sXx bs=512 seek=2 && sudo sync 59 60 Note: Replace sXx with the device representing the SD card in your system. 61 625. Re-insert the SD card back in the slot for the large SD card and power-cycle 63 the board. 64 65Note: The board now boots from full size SD3 on the bottom of the board. NOT 66 the micro SD4/BOOT slot on the top of the board. I.e. you have to use 67 full size SD cards. 68 69This information originally taken from: 70 71 https://wiki.linaro.org/Boards/MX6QSabreLite 72 73 743. Boot from SPI NOR 75-------------------- 76 77The SabreLite board can also boot U-Boot directly from the SPI NOR flash: 78 791. Power-up the SabreLite, press 'space' to enter command mode in the U-Boot 80 and enter the following commands: 81 82 => mmc dev 0 83 => mmc read 0x10800000 0x400 0x80000 84 => sf probe 0 85 => sf erase 0 0xc0000 86 => sf write 0x10800000 0x400 0x80000 87 88Note: This procedure assumes you have booted using the desired U-Boot from an 89 SD card as prepared in the previous section. Alternative mechanisms, such 90 as using tftpboot to copy an alternative U-Boot image into memory can 91 also be used. 92 93 944. Recovering SPI-NOR 95--------------------- 96 97In case you somehow do not succeed with this procedure you can upload U-Boot 98via USB: 99 1001. Download and install the imx_loader following the instructions provided: 101 102 https://github.com/boundarydevices/imx_usb_loader 103 1042. Connect the board to USB via the USB OTG port. 105 1063. Make sure SW1 switch is at position "01", so that it can boot from USB OTG. 107 1084. Power-up the SabreLite and run the imx_loader to upload the U-Boot image: 109 110 sudo imx_usb u-boot.imx 111 112Note: This will upload and run the U-Boot image in memory, the SPI will not be 113 reprogrammed and this procedure will need to be repeated if the board is 114 reset. 115 1165. Use one of previous descriptions to re-flash the SPI-NOR as required. 117 1186. Ensure SW1 is returned to "00" to boot from the fuses once done. 119 120