u-boot/board/technexion/pico-imx8mq
Peng Fan 9395eb05ee imx: bootaux: change names of MACROs used to boot MCU on iMX devices
The current bootaux supports i.MX8M and i.MX93, but the name "_M4_"
implies that the SoCs have Cortex-M4. Actually i.MX8MM/Q use Cortex-M4,
i.MX8MN/P use Cortex-M7, i.MX93 use Cortex-M33, so use "_MCU_" in place
of "_M4_" to simplify the naming.

Signed-off-by: faqiang.zhu <faqiang.zhu@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
2023-07-13 11:29:40 +02:00
..
Kconfig imx: Finish migration of IMX_CONFIG to Kconfig 2021-08-31 17:46:37 -04:00
lpddr4_timing.h ARM: imx: pico-imx8mq: Add support for Technexion Pico-iMX8MQ 2020-05-10 13:19:39 +02:00
lpddr4_timing_1gb.c WS cleanup: remove trailing empty lines 2021-09-30 08:08:56 -04:00
lpddr4_timing_2gb.c WS cleanup: remove trailing empty lines 2021-09-30 08:08:56 -04:00
lpddr4_timing_3gb.c WS cleanup: remove trailing empty lines 2021-09-30 08:08:56 -04:00
lpddr4_timing_4gb.c WS cleanup: remove trailing empty lines 2021-09-30 08:08:56 -04:00
MAINTAINERS ARM: imx: pico-imx8mq: Add support for Technexion Pico-iMX8MQ 2020-05-10 13:19:39 +02:00
Makefile ARM: imx: pico-imx8mq: Add support for Technexion Pico-iMX8MQ 2020-05-10 13:19:39 +02:00
pico-imx8mq.c imx: bootaux: change names of MACROs used to boot MCU on iMX devices 2023-07-13 11:29:40 +02:00
README ARM: imx: pico-imx8mq: Add support for Technexion Pico-iMX8MQ 2020-05-10 13:19:39 +02:00
spl.c imx: bootaux: change names of MACROs used to boot MCU on iMX devices 2023-07-13 11:29:40 +02:00

U-Boot for the Technexion Pico i.MX8MQ

Quick Start
===========
- Build the TFA binary
- Get DDR and HDMI firmware
- Build U-Boot
- Boot

Get and Build the TFA blob
==========================
Note: srctree is U-Boot source directory
Get ATF from: https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git
branch: master
$ CROSS_COMPILE=aarch64-linux-gnu- make PLAT=imx8mq bl31
$ cp build/imx8mq/release/bl31.bin $(builddir)

Get the DDR and HDMI firmware
=============================
$ wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-imx-7.9.bin
$ chmod +x firmware-imx-7.9.bin
$ ./firmware-imx-7.9.bin
# Or use this to avoid running random scripts from the internet,
# but note that you must agree to the license the script displays:
# $ dd if=firmware-imx-7.9.bin of=firmware-imx-7.9.tar.bz2 bs=38868 skip=1
# $ tar -xf firmware-imx-7.9.tar.bz2
$ cp firmware-imx-7.9/firmware/hdmi/cadence/signed_hdmi_imx8m.bin $(builddir)
$ cp firmware-imx-7.9/firmware/ddr/synopsys/lpddr4*.bin $(builddir)

Build U-Boot
============
$ export CROSS_COMPILE=aarch64-poky-linux-
$ make pico-imx8mq_defconfig
$ make flash.bin

Burn the flash.bin to MicroSD card offset 33KB
$ dd if=flash.bin of=/dev/mmcblkX bs=1024 seek=33
Or into eMMC from a running system
$ dhcp flash.bin && mmc write $loadaddr 0x42 0x800

Boot
====
"o" denotes a pin
"[]" denotes two pins bridged by a jumper

eMMC boot:
J1 o[] []o J2
   []o o[]

USB upload via USB-C connector:
J1 ooo ooo J2
   o[] []o