mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-09-10 14:53:26 +09:00
![Javier Martinez Canillas](/assets/img/avatar_default.png)
board/freescale/mx6qsabrelite/README explain a procedure to
update the SPI-NOR on the SabreLite board without Freescale
manufacturing tool but following this procedure leads to both
"sf erase" and "sf write" failing on a mx6qsabrelite board:
MX6QSABRELITE U-Boot > sf probe 1
MX6QSABRELITE U-Boot > sf erase 0 0x40000
SPI flash erase failed
MX6QSABRELITE U-Boot > sf write 0x10800000 0 0x40000
SPI flash write failed
This is because the chip-select 1 is wrong and the correct
value is 0x7300.
Since commit c1173bd0
("sf command: allow default bus and chip selects")
the chip-select and bus arguments for the sf probe command are optional
so let's just remove it and use "sf probe" instead.
Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
73 lines
2.3 KiB
Plaintext
73 lines
2.3 KiB
Plaintext
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. Boot source, boot from SD card
|
|
---------------------------------
|
|
|
|
The recent mainline U-Boot for the Freescale i.MX6q SabreLite board supports
|
|
boot from SD card only. However, by default, the SabreLite
|
|
boards boot from the SPI NOR flash. These boards need to be reflashed with
|
|
a small SD card loader to support boot from SD card. This small SD card loader
|
|
will be flashed into the SPI NOR. 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
|
|
|
|
under a open-source 3-clause BSD license.
|
|
|
|
To update the SPI-NOR on the SabreLite board without the Freescale
|
|
manufacturing tool use the following procedure:
|
|
|
|
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. done.
|
|
|
|
In case you somehow do not succeed with this procedure you will have to use
|
|
the Freescale manufacturing tool in order to reflash the SPI-NOR.
|
|
|
|
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 is taken from
|
|
|
|
https://wiki.linaro.org/Boards/MX6QSabreLite
|
|
|
|
2. Build
|
|
--------
|
|
|
|
To build U-Boot for the SabreLite board:
|
|
|
|
make mx6qsabrelite_config
|
|
make
|
|
|
|
To copy the resulting u-boot.imx 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.
|