blob: 828eea216e100dfa36eaaeb1eb1085397f650347 [file] [log] [blame]
Jason Liu02384682011-12-29 06:34:19 +00001U-Boot for the Freescale i.MX6q SabreLite board
Martyn Welcheec42b52019-02-22 19:05:48 +00002===============================================
Jason Liu02384682011-12-29 06:34:19 +00003
4This file contains information for the port of U-Boot to the Freescale
5i.MX6q SabreLite board.
6
Jason Liu02384682011-12-29 06:34:19 +00007
Martyn Welcheec42b52019-02-22 19:05:48 +000081. 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.
Dirk Behme03dc0bb2012-02-12 21:29:47 +000024
25The SD card loader is available from
26
27https://wiki.linaro.org/Boards/MX6QSabreLite
28
Martyn Welcheec42b52019-02-22 19:05:48 +000029This is provided under a open-source 3-clause BSD license.
Jason Liu02384682011-12-29 06:34:19 +000030
Martyn Welcheec42b52019-02-22 19:05:48 +000031To following procedure can be used to update the SPI-NOR on the SabreLite
32board:
Jason Liu02384682011-12-29 06:34:19 +000033
341. Write this SD card loader onto a large SD card using:
35
Martyn Welcheec42b52019-02-22 19:05:48 +000036 sudo dd if=iMX6DQ_SPI_to_uSDHC3.bin of=/dev/sXx
Jason Liu02384682011-12-29 06:34:19 +000037
Martyn Welcheec42b52019-02-22 19:05:48 +000038 Note: Replace sXx with the device representing the SD card in your system.
Jason Liu02384682011-12-29 06:34:19 +000039
Martyn Welcheec42b52019-02-22 19:05:48 +000040 Note: This writes SD card loader at address 0
Jason Liu02384682011-12-29 06:34:19 +000041
422. Put this SD card into the slot for the large SD card (SD3 on the bottom of
Martyn Welcheec42b52019-02-22 19:05:48 +000043 the board). Make sure SW1 switch is at position "00", so that it can boot
44 from the fuses.
Jason Liu02384682011-12-29 06:34:19 +000045
463. Power-up the SabreLite, press 'space' to enter command mode in the U-Boot
Martyn Welcheec42b52019-02-22 19:05:48 +000047 (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
Jason Liu02384682011-12-29 06:34:19 +000055
Martyn Welcheec42b52019-02-22 19:05:48 +0000564. Write the u-boot.imx produced during the U-Boot build to the SD card:
Jason Liu02384682011-12-29 06:34:19 +000057
Martyn Welcheec42b52019-02-22 19:05:48 +000058 sudo dd if=u-boot.imx of=/dev/sXx bs=512 seek=2 && sudo sync
Jason Liu02384682011-12-29 06:34:19 +000059
Martyn Welcheec42b52019-02-22 19:05:48 +000060 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.
Jason Liu02384682011-12-29 06:34:19 +000064
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
Martyn Welcheec42b52019-02-22 19:05:48 +000069This information originally taken from:
Jason Liu02384682011-12-29 06:34:19 +000070
Martyn Welcheec42b52019-02-22 19:05:48 +000071 https://wiki.linaro.org/Boards/MX6QSabreLite
Jason Liu02384682011-12-29 06:34:19 +000072
Jason Liu02384682011-12-29 06:34:19 +000073
Martyn Welcheec42b52019-02-22 19:05:48 +0000743. Boot from SPI NOR
75--------------------
Jason Liu02384682011-12-29 06:34:19 +000076
Martyn Welcheec42b52019-02-22 19:05:48 +000077The 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:
Jason Liu02384682011-12-29 06:34:19 +000099
Martyn Welcheec42b52019-02-22 19:05:48 +00001001. Download and install the imx_loader following the instructions provided:
Jason Liu02384682011-12-29 06:34:19 +0000101
Martyn Welcheec42b52019-02-22 19:05:48 +0000102 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.