xref: /openbmc/u-boot/board/technexion/pico-imx7d/README (revision 619fc167b65ea07601e0ce1cd969718c7092a40c)
1How to update U-Boot on pico-imx7d board
2----------------------------------------
3
4Required software on the host PC:
5
6- imx_usb_loader: https://github.com/boundarydevices/imx_usb_loader
7
8Build U-Boot for pico:
9
10$ make mrproper
11$ make pico-imx7d_defconfig
12$ make
13
14This generates the U-Boot binary called u-boot.imx.
15
16Put pico board in USB download mode (refer to the PICO-iMX7D Quick Start Guide
17page 3)
18
19Connect a USB to serial adapter between the host PC and pico.
20
21Connect a USB cable between the OTG pico port and the host PC.
22
23Open a terminal program such as minicom.
24
25Copy u-boot.imx to the imx_usb_loader folder.
26
27Load u-boot.imx via USB:
28
29$ sudo ./imx_usb u-boot.imx
30
31Then U-Boot starts and its messages appear in the console program.
32
33Use the default environment variables:
34
35=> env default -f -a
36=> saveenv
37
38Run the DFU agent so we can flash the new images using dfu-util tool:
39
40=> dfu 0 mmc 0
41
42Flash SPL into the eMMC:
43
44$ sudo dfu-util -D SPL -a spl
45
46Flash u-boot.img into the eMMC:
47
48$ sudo dfu-util -D u-boot.img -a u-boot
49
50Remove power from the pico board.
51
52Put pico board into normal boot mode.
53
54Power up the board and the new updated U-Boot should boot from eMMC.
55
56Building U-Boot to boot with NXP 4.1 kernel:
57
58The NXP 4.1 kernel boots only in secure boot mode on mx7.
59
60Follow the next steps to enable secure boot:
61
62$ make mrproper
63$ make pico-imx7d_defconfig
64$ make menuconfig
65	-> ARM architecture
66	-> [*] Enable support for booting in non-secure mode
67	-> [*]   Boot in secure mode by default
68	-> Exit
69$ make
70
71Flash u-boot.imx using the imx_usb_loader tool.
72