imx93_frdm
U-Boot for the NXP i.MX93 FRDM board
Quick Start
Get and Build the ARM Trusted firmware
Get the DDR firmware
Get ahab-container.img
Build U-Boot
Boot from the SD card
Boot using USB serial download (uuu)
Get and Build the ARM Trusted firmware
Note: srctree is U-Boot source directory Get ATF from: https://github.com/nxp-imx/imx-atf/ branch: lf_v2.8
$ unset LDFLAGS
$ make PLAT=imx93 bl31
$ cp build/imx93/release/bl31.bin $(srctree)
Get the DDR firmware
$ wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-imx-8.21.bin
$ chmod +x firmware-imx-8.21.bin
$ ./firmware-imx-8.21.bin
$ cp firmware-imx-8.21/firmware/ddr/synopsys/lpddr4*.bin $(srctree)
Get ahab-container.img
$ wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-sentinel-0.11.bin
$ chmod +x firmware-sentinel-0.11.bin
$ ./firmware-sentinel-0.11.bin
$ cp firmware-sentinel-0.11/mx93a1-ahab-container.img $(srctree)
Build U-Boot
$ export CROSS_COMPILE=aarch64-poky-linux-
$ make imx93_frdm_defconfig
$ make
Copy the flash.bin binary to the MicroSD card at offset 32KB:
$ dd if=flash.bin of=/dev/sd[x] bs=1k seek=32; sync
Boot from the SD card
Configure SW1 boot switches to SD boot mode: 0011 SW1[3:0] - (“USDHC2 4-bit SD3.0” Boot Mode)
Insert the SD card in the SD slot (P13) of the board.
Connect a USB Type-C cable into the P16 Debug USB Port and connect using a terminal emulator at 115200 bps, 8n1. The console will show up at /dev/ttyACM0.
Power on the board by connecting a USB Type-C cable into the P1 Power USB Port.
Boot using USB serial download (uuu)
Configure SW1 boot switches to serial download boot mode: 0001 SW1[3:0] - (“Serial downloader (USB)” Boot Mode)
Plug USB Type-C cable into the P2 device port.
Connect a USB Type-C cable into the P16 Debug USB Port and connect using a terminal emulator at 115200 bps, 8n1. The console will show up at /dev/ttyACM0.
Power on the board by connecting a USB Type-C cable into the P1 Power USB Port.
Use NXP Universal Update Utility NXP Universal Update Utility to boot or flash the device. E.g. following command can be used to flash an image onto the eMMC storage:
$ uuu -V -b emmc_all <image file>