README
1U-Boot for the Boundary Devices Nitrogen6X and
2Freescale i.MX6Q SabreLite boards
3
4This file contains information for the port of
5U-Boot to the Boundary Devices Nitrogen6X and
6Freescale i.MX6Q SabreLite boards.
7
81. Boot source, boot from SPI NOR
9---------------------------------
10The configuration in this directory supports both the
11Nitrogen6X and Freescale SabreLite board, but in a
12different fashion from Freescale's implementation in
13board/freescale/mx6qsabrelite.
14
15In particular, this image supports booting from SPI NOR
16and saving the environment to SPI NOR.
17
18It does not support 'boot from SD' at offset 0x400
19except through the 'bmode' command.
20 http://lists.denx.de/pipermail/u-boot/2012-August/131151.html
21
222. Boots using 6x_bootscript on SATA or SD card
23-----------------------------------------------
24The default bootcmd for these boards is configured
25to look for and source a boot script named '6x_bootscript'
26in the root of the first partition of the following
27devices:
28
29 sata 0
30 mmc 0
31 mmc 1
32
33They're searched in the order listed above, trying both the
34ext2 and fat filesystems.
35
362. Maintaining the SPI NOR
37--------------------------
38A couple of convenience commands
39
40 clearenv - clear environment to factory default
41 upgradeu - look and source a boot script named
42 '6x_upgrade' to upgrade the U-Boot version
43 in SPI NOR. The search is the same as for
44 6x_bootscript described above.
45
463. Display support
47------------------
48U-Boot support for the following displays is configured by
49default:
50
51 HDMI - 1024 x 768 for maximum compatibility
52 Hannstar-XGA - 1024 x 768 LVDS (Freescale part number MCIMX-LVDS1)
53 wsvga-lvds - 1024 x 600 LVDS (Boundary p/n Nit6X_1024x600)
54 wvga-rgb - 800 x 480 RGB (Boundary p/n Nit6X_800x480)
55
56Since the ipuv3_fb display driver currently supports only a single display,
57this code auto-detects panel by probing the HDMI Phy for Hot Plug Detect
58or the I2C touch controller of the LVDS and RGB displays in the priority
59listed above.
60
61Setting 'panel' environment variable to one of the names above will
62override auto-detection and force activation of the specified panel.
63
644. Building
65------------
66
67To build U-Boot for one of the Nitrogen6x or SabreLite board:
68
69 make nitrogen6x_config
70 make
71
72Note that 'nitrogen6x' is a placeholder. The complete list of supported
73board configurations is shown in the boards.cfg file:
74 nitrogen6q i.MX6Q/6D 1GB
75 nitrogen6dl i.MX6DL 1GB
76 nitrogen6s i.MX6S 512MB
77 nitrogen6q2g i.MX6Q/6D 2GB
78 nitrogen6dl2g i.MX6DL 2GB
79 nitrogen6s1g i.MX6S 1GB
80
81The -6q variants support either the i.MX6Quad or i.MX6Dual processors
82and are configured for a 64-bit memory bus at 1066 MHz.
83
84The -6dl variants also use a 64-bit memory bus, operated at 800MHz.
85
86The -6s variants use a 32-bit memory bus at 800MHz.
87
88If you place the u-boot.imx into a single-partition SD card
89along with a binary version of the boot script 6x_upgrade.txt,
90you can program it using 'upgradeu':
91
92 U-Boot> run upgradeu
93
README.mx6qsabrelite
1U-Boot for the Freescale i.MX6q SabreLite board
2===============================================
3
4This file contains information for the port of U-Boot to the Freescale
5i.MX6q SabreLite board.
6
7
81. 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.
24
25The SD card loader is available from
26
27https://wiki.linaro.org/Boards/MX6QSabreLite
28
29This is provided under a open-source 3-clause BSD license.
30
31To following procedure can be used to update the SPI-NOR on the SabreLite
32board:
33
341. Write this SD card loader onto a large SD card using:
35
36 sudo dd if=iMX6DQ_SPI_to_uSDHC3.bin of=/dev/sXx
37
38 Note: Replace sXx with the device representing the SD card in your system.
39
40 Note: This writes SD card loader at address 0
41
422. Put this SD card into the slot for the large SD card (SD3 on the bottom of
43 the board). Make sure SW1 switch is at position "00", so that it can boot
44 from the fuses.
45
463. Power-up the SabreLite, press 'space' to enter command mode in the U-Boot
47 (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
55
564. Write the u-boot.imx produced during the U-Boot build to the SD card:
57
58 sudo dd if=u-boot.imx of=/dev/sXx bs=512 seek=2 && sudo sync
59
60 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.
64
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
69This information originally taken from:
70
71 https://wiki.linaro.org/Boards/MX6QSabreLite
72
73
743. Boot from SPI NOR
75--------------------
76
77The 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:
99
1001. Download and install the imx_loader following the instructions provided:
101
102 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.
119
120