All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] imx: mx6qsabrelite: Update the SabreLite README
@ 2019-02-22 19:05 Martyn Welch
  2019-02-22 19:28 ` Troy Kisky
  0 siblings, 1 reply; 2+ messages in thread
From: Martyn Welch @ 2019-02-22 19:05 UTC (permalink / raw)
  To: u-boot

The information in the SabreLite README is inaccurate and sparse. The
upstream U-Boot can boot the SabreLite from SPI-NOR. Additionally, the
freely available imx_loader tool can be easily used to boot a board with a
corrupted SPI, the official Freescale/NXP manufacturing tools are not
required.

Reformat the document, adding a description of how to boot from SPI-NOR
and adding a brief description of how to recover the board should the
SPI-NOR be corrupted using imx_loader.

Signed-off-by: Martyn Welch <martyn.welch@collabora.com>

---

 .../boundary/nitrogen6x/README.mx6qsabrelite  | 119 ++++++++++++------
 1 file changed, 83 insertions(+), 36 deletions(-)

diff --git a/board/boundary/nitrogen6x/README.mx6qsabrelite b/board/boundary/nitrogen6x/README.mx6qsabrelite
index 12a9c856cf..6283c9575e 100644
--- a/board/boundary/nitrogen6x/README.mx6qsabrelite
+++ b/board/boundary/nitrogen6x/README.mx6qsabrelite
@@ -1,72 +1,119 @@
 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.
+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
 
-under a open-source 3-clause BSD license.
+This is provided 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:
+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
+      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: Replace sXx with the device representing the SD card in your system.
 
-Note: This writes SD card loader at address 0
+   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.
+   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:
+   (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
 
- 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:
 
-4. done.
+      sudo dd if=u-boot.imx of=/dev/sXx bs=512 seek=2 && sudo sync
 
-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: 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 is taken from
+This information originally taken from:
 
-https://wiki.linaro.org/Boards/MX6QSabreLite
+   https://wiki.linaro.org/Boards/MX6QSabreLite
 
-2. Build
---------
 
-To build U-Boot for the SabreLite board:
+3. Boot from SPI NOR
+--------------------
 
- make mx6qsabrelite_config
- make
+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.
 
-To copy the resulting u-boot.imx to the SD card:
+5. Use one of previous descriptions to re-flash the SPI-NOR as required.
 
- sudo dd if=u-boot.imx of=/dev/sXx bs=512 seek=2&&sudo sync
+6. Ensure SW1 is returned to "00" to boot from the fuses once done.
 
-Note: Replace sXx with the device representing the SD card in your system.
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [U-Boot] [PATCH] imx: mx6qsabrelite: Update the SabreLite README
  2019-02-22 19:05 [U-Boot] [PATCH] imx: mx6qsabrelite: Update the SabreLite README Martyn Welch
@ 2019-02-22 19:28 ` Troy Kisky
  0 siblings, 0 replies; 2+ messages in thread
From: Troy Kisky @ 2019-02-22 19:28 UTC (permalink / raw)
  To: u-boot

On 2/22/2019 11:05 AM, Martyn Welch wrote:
> The information in the SabreLite README is inaccurate and sparse. The
> upstream U-Boot can boot the SabreLite from SPI-NOR. Additionally, the
> freely available imx_loader tool can be easily used to boot a board with a
> corrupted SPI, the official Freescale/NXP manufacturing tools are not
> required.
> 
> Reformat the document, adding a description of how to boot from SPI-NOR
> and adding a brief description of how to recover the board should the
> SPI-NOR be corrupted using imx_loader.
> 
> Signed-off-by: Martyn Welch <martyn.welch@collabora.com>
> 
> ---
> 
>  .../boundary/nitrogen6x/README.mx6qsabrelite  | 119 ++++++++++++------
>  1 file changed, 83 insertions(+), 36 deletions(-)
> 
> diff --git a/board/boundary/nitrogen6x/README.mx6qsabrelite b/board/boundary/nitrogen6x/README.mx6qsabrelite
> index 12a9c856cf..6283c9575e 100644
> --- a/board/boundary/nitrogen6x/README.mx6qsabrelite
> +++ b/board/boundary/nitrogen6x/README.mx6qsabrelite
> @@ -1,72 +1,119 @@
>  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.
> +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
>  
> -under a open-source 3-clause BSD license.
> +This is provided 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:
> +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
> +      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: Replace sXx with the device representing the SD card in your system.
>  
> -Note: This writes SD card loader at address 0
> +   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.
> +   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:
> +   (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
>  
> - 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:
>  
> -4. done.
> +      sudo dd if=u-boot.imx of=/dev/sXx bs=512 seek=2 && sudo sync
>  
> -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: 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 is taken from
> +This information originally taken from:
>  
> -https://wiki.linaro.org/Boards/MX6QSabreLite
> +   https://wiki.linaro.org/Boards/MX6QSabreLite
>  
> -2. Build
> ---------
>  
> -To build U-Boot for the SabreLite board:
> +3. Boot from SPI NOR
> +--------------------
>  
> - make mx6qsabrelite_config
> - make
> +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.
>  
> -To copy the resulting u-boot.imx to the SD card:
> +5. Use one of previous descriptions to re-flash the SPI-NOR as required.
>  
> - sudo dd if=u-boot.imx of=/dev/sXx bs=512 seek=2&&sudo sync
> +6. Ensure SW1 is returned to "00" to boot from the fuses once done.
>  
> -Note: Replace sXx with the device representing the SD card in your system.
> 

Acked-by: Troy Kisky <troy.kisky@boundarydevices.com>

Thanks
Troy

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2019-02-22 19:28 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-22 19:05 [U-Boot] [PATCH] imx: mx6qsabrelite: Update the SabreLite README Martyn Welch
2019-02-22 19:28 ` Troy Kisky

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.