Closed ShiaujiuanChen closed 5 years ago
There are two issues: 1: ATF reserves the UART we use for boot output and kernel debugging for trust zone. Apply the following patch to ATF: index aa1c336e..db97553a 100644 --- a/plat/imx/imx8mm/imx8mm_bl31_setup.c +++ b/plat/imx/imx8mm/imx8mm_bl31_setup.c @@ -310,8 +310,8 @@ void bl31_early_platform_setup2(u_register_t arg0, u_register_t arg1,
/* Assign M4 to domain 1 */
mmio_write_32(IMX_RDC_BASE + 0x204, 0x1);
2: mkimage for imx8mm should not have signed_hdmi_imx8m.bin. The iMX8M Mini platform does not have an integrated HDMI controller on the SOC. Remove the file from your mkimage directory and rebuild.
Hi, @neilsh-msft ,
Thank you very much.
Build NXPEVK_iMX8M_Mini_2GB flash.bin according to the steps of Building and Updating Firmware for ARM64
Linux environment: Linux Virtual Machine
U-Boot
make _imx8mm_evk_ntdefconfig make
Arm Trusted Firmware
make PLAT=imx8mm SPD=opteed bl31
OP-TEE OS
make PLATFORM=imx PLATFORM_FLAVOR=mx8mmevk \ CFG_TEE_CORE_DEBUG=y CFG_TEE_CORE_LOG_LEVEL=3 CFG_UART_BASE=0x30890000 \ CFG_RPMB_FS=y CFG_RPMB_TESTKEY=y CFG_RPMB_WRITE_KEY=y CFG_REE_FS=n \ CFG_TA_DEBUG=y CFG_TEE_CORE_TA_TRACE=1 CFG_TEE_TA_LOG_LEVEL=2 \ CFG_IMXCRYPT=y CFG_CORE_HEAP_SIZE=98304
Imx-mkimage
cp ../../firmware-imx-8.1/firmware/ddr/synopsys/lpddr4_pmutrain*.bin . cp ../../firmware-imx-8.1/firmware/hdmi/cadence/signed_hdmi_imx8m.bin . cp ../../optee_os/out/arm-plat-imx/tee.bin . cp ../../imx-atf/build/imx8mm/release/bl31.bin . cp ../../u-boot/u-boot-nodtb.bin . cp ../../u-boot/spl/u-boot-spl.bin . cp ../../u-boot/arch/arm/dts/fsl-imx8mm-evk.dtb . cp ../../u-boot/tools/mkimage .
make SOC=_iMX8MM flash_spluboot
dd flash.bin to SD card
dd if=flash.bin of=/dev/sdc bs=512 seek=66
Boot iMX8M Mini EVK Board from SD card COM3_log_20190821.txt COM4_log_20190821.txt
Problem: op-tee switches to normal world boot, but there is no u-boot booting message D/TC:0 init_primary_helper:930 Primary CPU switching to normal world boot
dd the pre-built flash.bin included in the imx-iotcore repo, image boots into Windows IoT Core successfully.
What are the problems with these steps?