u-boot/board/freescale/mx6qsabrelite
Andrew Gabbasov 0c54f4b7c8 mx6: mx6qsabrelite/nitrogen6x: Remove incorrect setting of gpio CS signal
The number of gpio signal is packed inside CONFIG_SF_DEFAULT_CS macro
(shifted and or'ed with chip select), so it's incorrect to pass
that macro directly as an argument to gpio_direction_output() call.

Also, SPI driver sets the direction and initial value of a gpio,
used as a chip select signal, before any actual activity happens
on the bus.

So, it is safe to just remove the gpio_direction_output call,
that works incorrectly, thus making no effect, anyway.

Signed-off-by: Andrew Gabbasov <andrew_gabbasov@mentor.com>
Tested-by: Robert Winkler <robert.winkler@boundarydevices.com>
Acked-by: Dirk Behme <dirk.behme@de.bosch.com>
2013-06-03 13:25:46 +02:00
..
Makefile mx6qsabrelite: Remove unused SOBJS 2012-07-07 14:07:27 +02:00
mx6qsabrelite.c mx6: mx6qsabrelite/nitrogen6x: Remove incorrect setting of gpio CS signal 2013-06-03 13:25:46 +02:00
README i.MX6: mx6qsabrelite: README: don't pass chip-select to sf probe command 2013-04-03 12:15:17 +02:00

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.