blob: 9e88bc2f3d311516b717050b12354bf9686da752 [file] [log] [blame]
How to update U-Boot on pico-imx7d board
----------------------------------------
Required software on the host PC:
- imx_usb_loader: https://github.com/boundarydevices/imx_usb_loader
Build U-Boot for pico:
$ make mrproper
$ make pico-imx7d_defconfig
$ make
This generates the U-Boot binary called u-boot.imx.
Put pico board in USB download mode (refer to the PICO-iMX7D Quick Start Guide
page 3)
Connect a USB to serial adapter between the host PC and pico.
Connect a USB cable between the OTG pico port and the host PC.
Open a terminal program such as minicom.
Copy u-boot.imx to the imx_usb_loader folder.
Load u-boot.imx via USB:
$ sudo ./imx_usb u-boot.imx
Then U-Boot starts and its messages appear in the console program.
Use the default environment variables:
=> env default -f -a
=> saveenv
Run the DFU agent so we can flash the new images using dfu-util tool:
=> dfu 0 mmc 0
Flash SPL into the eMMC:
$ sudo dfu-util -D SPL -a spl
Flash u-boot.img into the eMMC:
$ sudo dfu-util -D u-boot.img -a u-boot
Remove power from the pico board.
Put pico board into normal boot mode.
Power up the board and the new updated U-Boot should boot from eMMC.
Building U-Boot to boot with NXP 4.1 kernel:
The NXP 4.1 kernel boots only in secure boot mode on mx7.
Follow the next steps to enable secure boot:
$ make mrproper
$ make pico-imx7d_defconfig
$ make menuconfig
-> ARM architecture
-> [*] Enable support for booting in non-secure mode
-> [*] Boot in secure mode by default
-> Exit
$ make
Flash u-boot.imx using the imx_usb_loader tool.