blob: f1e84bfe8294ed78600a30510a53b690193314f1 [file] [log] [blame]
Fabio Estevam8a271ce2019-06-10 22:24:12 -03001How to Update U-Boot on pico-imx6q/dl boards
2--------------------------------------------
3
4Required software on the host PC:
5
6- UUU: https://github.com/NXPmicro/mfgtools
7
8Build U-Boot for pico:
9
10$ make mrproper
11$ make pico-imx6_defconfig
12$ make
13
14This generates the SPL and u-boot-dtb.img binaries.
15
161. Loading U-Boot via USB Serial Download Protocol
17
18Note: This method is convenient for development purposes.
19If the eMMC has already a U-Boot flashed then the user can
20go to step 2 below in order to update U-Boot.
21
22Put pico board in USB download mode (Refer to the following link for details:
23https://www.technexion.com/support/knowledgebase/boot-configuration-settings-for-pico-baseboards/).
24
25Connect a USB to serial adapter between the host PC and pico.
26
27Connect a USB cable between the OTG pico port and the host PC.
28
29Open a terminal program such as minicom.
30
31Copy SPL and u-boot-dtb.img to the uuu folder.
32
33Load the U-Boot via USB:
34
35$ sudo ./uuu -v uuu_script
36
37where uuu_script contains the following:
38
39SDP: boot -f SPL
40SDPU: write -f u-boot-dtb.img -addr 0x10000000
41SDPU: jump -addr 0x10000000
42
43Then U-Boot starts and its messages appear in the console program.
44
45Use the default environment variables:
46
47=> env default -f -a
48=> saveenv
49
502. Flashing U-Boot into the eMMC
51
52The default U-Boot environment expects the use of eMMC user
53partition. To ensure we are using the proper eMMC partition for boot,
54please run:
55
56=> mmc partconf 0 0 0 0
57
58Next, run the DFU agent so we can flash the new images using dfu-util
59tool:
60
61=> dfu 0 mmc 0
62
63Flash SPL and u-boot-dtb.img into the eMMC running the following commands on a PC:
64
65$ sudo dfu-util -D SPL -a spl
66
67$ sudo dfu-util -D u-boot-dtb.img -a u-boot
68
69Remove power from the pico board.
70
71Put pico board into normal boot mode.
72
73Power up the board and the new updated U-Boot should boot from eMMC.