diff options
Diffstat (limited to 'board/boundary/nitrogen6x/README.mx6qsabrelite')
-rw-r--r-- | board/boundary/nitrogen6x/README.mx6qsabrelite | 119 |
1 files 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 @@ | |||
1 | U-Boot for the Freescale i.MX6q SabreLite board | 1 | U-Boot for the Freescale i.MX6q SabreLite board |
2 | =============================================== | ||
2 | 3 | ||
3 | This file contains information for the port of U-Boot to the Freescale | 4 | This file contains information for the port of U-Boot to the Freescale |
4 | i.MX6q SabreLite board. | 5 | i.MX6q SabreLite board. |
5 | 6 | ||
6 | 1. Boot source, boot from SD card | ||
7 | --------------------------------- | ||
8 | 7 | ||
9 | The recent mainline U-Boot for the Freescale i.MX6q SabreLite board supports | 8 | 1. Build |
10 | boot from SD card only. However, by default, the SabreLite | 9 | -------- |
11 | boards boot from the SPI NOR flash. These boards need to be reflashed with | 10 | |
12 | a small SD card loader to support boot from SD card. This small SD card loader | 11 | To build U-Boot for the SabreLite board: |
13 | will be flashed into the SPI NOR. The board will still boot from SPI NOR, but | 12 | |
14 | the loader will in turn request the BootROM to load the U-Boot from SD card. | 13 | make mx6qsabrelite_config |
14 | make | ||
15 | |||
16 | |||
17 | 2. Boot from SD card | ||
18 | -------------------- | ||
19 | |||
20 | The SabreLite boards boot from the SPI NOR flash. These boards need their SPI | ||
21 | to be reflashed with a small SD card loader to support boot from SD card. The | ||
22 | board will still boot from SPI NOR, but the loader will in turn request the | ||
23 | BootROM to load the U-Boot from SD card. | ||
15 | 24 | ||
16 | The SD card loader is available from | 25 | The SD card loader is available from |
17 | 26 | ||
18 | https://wiki.linaro.org/Boards/MX6QSabreLite | 27 | https://wiki.linaro.org/Boards/MX6QSabreLite |
19 | 28 | ||
20 | under a open-source 3-clause BSD license. | 29 | This is provided under a open-source 3-clause BSD license. |
21 | 30 | ||
22 | To update the SPI-NOR on the SabreLite board without the Freescale | 31 | To following procedure can be used to update the SPI-NOR on the SabreLite |
23 | manufacturing tool use the following procedure: | 32 | board: |
24 | 33 | ||
25 | 1. Write this SD card loader onto a large SD card using: | 34 | 1. Write this SD card loader onto a large SD card using: |
26 | 35 | ||
27 | sudo dd if=iMX6DQ_SPI_to_uSDHC3.bin of=/dev/sXx | 36 | sudo dd if=iMX6DQ_SPI_to_uSDHC3.bin of=/dev/sXx |
28 | 37 | ||
29 | Note: Replace sXx with the device representing the SD card in your system. | 38 | Note: Replace sXx with the device representing the SD card in your system. |
30 | 39 | ||
31 | Note: This writes SD card loader at address 0 | 40 | Note: This writes SD card loader at address 0 |
32 | 41 | ||
33 | 2. Put this SD card into the slot for the large SD card (SD3 on the bottom of | 42 | 2. Put this SD card into the slot for the large SD card (SD3 on the bottom of |
34 | the board). Make sure SW1 switch is at position "00", so that it can boot | 43 | the board). Make sure SW1 switch is at position "00", so that it can boot |
35 | from the fuses. | 44 | from the fuses. |
36 | 45 | ||
37 | 3. Power-up the SabreLite, press 'space' to enter command mode in the U-Boot | 46 | 3. Power-up the SabreLite, press 'space' to enter command mode in the U-Boot |
38 | (the default one the board is shipped with, starting from the SPI NOR) and | 47 | (the default one the board is shipped with, starting from the SPI NOR) and |
39 | enter the following commands: | 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 | ||
40 | 55 | ||
41 | MX6Q SABRELITE U-Boot > mmc dev 0 | 56 | 4. Write the u-boot.imx produced during the U-Boot build to the SD card: |
42 | MX6Q SABRELITE U-Boot > mmc read 0x10800000 0 200 | ||
43 | MX6Q SABRELITE U-Boot > sf probe | ||
44 | MX6Q SABRELITE U-Boot > sf erase 0 0x40000 | ||
45 | MX6Q SABRELITE U-Boot > sf write 0x10800000 0 0x40000 | ||
46 | 57 | ||
47 | 4. done. | 58 | sudo dd if=u-boot.imx of=/dev/sXx bs=512 seek=2 && sudo sync |
48 | 59 | ||
49 | In case you somehow do not succeed with this procedure you will have to use | 60 | Note: Replace sXx with the device representing the SD card in your system. |
50 | the Freescale manufacturing tool in order to reflash the SPI-NOR. | 61 | |
62 | 5. Re-insert the SD card back in the slot for the large SD card and power-cycle | ||
63 | the board. | ||
51 | 64 | ||
52 | Note: The board now boots from full size SD3 on the bottom of the board. NOT | 65 | Note: The board now boots from full size SD3 on the bottom of the board. NOT |
53 | the micro SD4/BOOT slot on the top of the board. I.e. you have to use | 66 | the micro SD4/BOOT slot on the top of the board. I.e. you have to use |
54 | full size SD cards. | 67 | full size SD cards. |
55 | 68 | ||
56 | This information is taken from | 69 | This information originally taken from: |
57 | 70 | ||
58 | https://wiki.linaro.org/Boards/MX6QSabreLite | 71 | https://wiki.linaro.org/Boards/MX6QSabreLite |
59 | 72 | ||
60 | 2. Build | ||
61 | -------- | ||
62 | 73 | ||
63 | To build U-Boot for the SabreLite board: | 74 | 3. Boot from SPI NOR |
75 | -------------------- | ||
64 | 76 | ||
65 | make mx6qsabrelite_config | 77 | The SabreLite board can also boot U-Boot directly from the SPI NOR flash: |
66 | make | 78 | |
79 | 1. 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 | |||
88 | Note: 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 | |||
94 | 4. Recovering SPI-NOR | ||
95 | --------------------- | ||
96 | |||
97 | In case you somehow do not succeed with this procedure you can upload U-Boot | ||
98 | via USB: | ||
99 | |||
100 | 1. Download and install the imx_loader following the instructions provided: | ||
101 | |||
102 | https://github.com/boundarydevices/imx_usb_loader | ||
103 | |||
104 | 2. Connect the board to USB via the USB OTG port. | ||
105 | |||
106 | 3. Make sure SW1 switch is at position "01", so that it can boot from USB OTG. | ||
107 | |||
108 | 4. Power-up the SabreLite and run the imx_loader to upload the U-Boot image: | ||
109 | |||
110 | sudo imx_usb u-boot.imx | ||
111 | |||
112 | Note: 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. | ||
67 | 115 | ||
68 | To copy the resulting u-boot.imx to the SD card: | 116 | 5. Use one of previous descriptions to re-flash the SPI-NOR as required. |
69 | 117 | ||
70 | sudo dd if=u-boot.imx of=/dev/sXx bs=512 seek=2&&sudo sync | 118 | 6. Ensure SW1 is returned to "00" to boot from the fuses once done. |
71 | 119 | ||
72 | Note: Replace sXx with the device representing the SD card in your system. | ||