123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- U-Boot for the Freescale i.MX6q SabreLite board
- ===============================================
- This file contains information for the port of U-Boot to the Freescale
- i.MX6q SabreLite board.
- 1. Build
- --------
- To build U-Boot for the SabreLite board:
- make mx6qsabrelite_config
- make
- 2. Boot from SD card
- --------------------
- The SabreLite boards boot from the SPI NOR flash. These boards need their SPI
- to be reflashed with a small SD card loader to support boot from SD card. The
- board will still boot from SPI NOR, but the loader will in turn request the
- BootROM to load the U-Boot from SD card.
- The SD card loader is available from
- https://wiki.linaro.org/Boards/MX6QSabreLite
- This is provided under a open-source 3-clause BSD license.
- To following procedure can be used to update the SPI-NOR on the SabreLite
- board:
- 1. Write this SD card loader onto a large SD card using:
- sudo dd if=iMX6DQ_SPI_to_uSDHC3.bin of=/dev/sXx
- Note: Replace sXx with the device representing the SD card in your system.
- Note: This writes SD card loader at address 0
- 2. Put this SD card into the slot for the large SD card (SD3 on the bottom of
- the board). Make sure SW1 switch is at position "00", so that it can boot
- from the fuses.
- 3. Power-up the SabreLite, press 'space' to enter command mode in the U-Boot
- (the default one the board is shipped with, starting from the SPI NOR) and
- enter the following commands:
- MX6Q SABRELITE U-Boot > mmc dev 0
- MX6Q SABRELITE U-Boot > mmc read 0x10800000 0 200
- MX6Q SABRELITE U-Boot > sf probe
- MX6Q SABRELITE U-Boot > sf erase 0 0x40000
- MX6Q SABRELITE U-Boot > sf write 0x10800000 0 0x40000
- 4. Write the u-boot.imx produced during the U-Boot build to the SD card:
- sudo dd if=u-boot.imx of=/dev/sXx bs=512 seek=2 && sudo sync
- Note: Replace sXx with the device representing the SD card in your system.
- 5. Re-insert the SD card back in the slot for the large SD card and power-cycle
- the board.
- Note: The board now boots from full size SD3 on the bottom of the board. NOT
- the micro SD4/BOOT slot on the top of the board. I.e. you have to use
- full size SD cards.
- This information originally taken from:
- https://wiki.linaro.org/Boards/MX6QSabreLite
- 3. Boot from SPI NOR
- --------------------
- The SabreLite board can also boot U-Boot directly from the SPI NOR flash:
- 1. Power-up the SabreLite, press 'space' to enter command mode in the U-Boot
- and enter the following commands:
- => mmc dev 0
- => mmc read 0x10800000 0x400 0x80000
- => sf probe 0
- => sf erase 0 0xc0000
- => sf write 0x10800000 0x400 0x80000
- Note: This procedure assumes you have booted using the desired U-Boot from an
- SD card as prepared in the previous section. Alternative mechanisms, such
- as using tftpboot to copy an alternative U-Boot image into memory can
- also be used.
- 4. Recovering SPI-NOR
- ---------------------
- In case you somehow do not succeed with this procedure you can upload U-Boot
- via USB:
- 1. Download and install the imx_loader following the instructions provided:
- https://github.com/boundarydevices/imx_usb_loader
- 2. Connect the board to USB via the USB OTG port.
- 3. Make sure SW1 switch is at position "01", so that it can boot from USB OTG.
- 4. Power-up the SabreLite and run the imx_loader to upload the U-Boot image:
- sudo imx_usb u-boot.imx
- Note: This will upload and run the U-Boot image in memory, the SPI will not be
- reprogrammed and this procedure will need to be repeated if the board is
- reset.
- 5. Use one of previous descriptions to re-flash the SPI-NOR as required.
- 6. Ensure SW1 is returned to "00" to boot from the fuses once done.
|