Building SPL/u-boot to boot from SD on i.MX 8M QUAD EVK

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Building SPL/u-boot to boot from SD on i.MX 8M QUAD EVK

7,974 Views
AsherKariv
Contributor II

Hi,

I am trying to build SPL/u-boot from  source code and boot from SD, but SPL gets stuck in lpddr4_800M_cfg_phy() when calling wait_ddrphy_training_complete().

I am building the code from https: //source.codeaurora.org/external/imx/uboot-imx , branch is imx_v2017.03_4.9.51_imx8m_beta.

I am using the imx8mq_evk_defconfig configuration. Below is the SPL output.

Any idea what am I missing?

Thank you,

ASher

U-Boot SPL 2017.03-dirty (Mar 07 2018 - 16:08:12)
PMIC: PFUZE100 ID=0x10
start to config phy: p0=3200mts, p1=667mts with 1D2D training
check ddr4_pmu_train_imem code
check ddr4_pmu_train_imem code pass
check ddr4_pmu_train_dmem code
check ddr4_pmu_train_dmem code pass
config to do 3200 1d training.

Tags (3)
5 Replies

2,961 Views
AsherKariv
Contributor II

Hi Igor,

Thanks for the information. I am trying to build a standalone u-boot, for eventually loading Windows (UEFI), which we have done on other platforms like Sabre i.MX6/7, and used directly the NXP u-boot repos with gcc toolchain. I am currently using (gcc-linaro-7.2.1-2017.11). Do you think there something else in the Yocto project, that is missing when building it this way? 

I will try using the Yocto SDK,

Thanks,

Asher 

0 Kudos

2,961 Views
AsherKariv
Contributor II

Hi Igor,

It appears I was missing the patch DDR patch (L4.9.51_8MQ_BETA_LINUX_PATCH). Once I applied the patch SPL DDR initialization completes successfully .

Thanks again,

Asher 

0 Kudos

2,961 Views
AsherKariv
Contributor II

Hi again,

The documentation suggests getting bl31.bin is done directly from Arm Trusted Firmware. What platform do you use to building the firmware components?

Thanks,

Asher

0 Kudos

2,961 Views
AsherKariv
Contributor II

Hi,

So found out that the bl31.bin is built from https://source.codeaurora.org/external/imx/imx-atf branch imx_4.9.51_imx8m_beta. bl31.bin is built using make PLAT=imx8mq bl31.

 So after applying the DDR patch, and building the firmware binary using:
make SOC=iMX8M flash_spl_uboot, SPL/u-boot (flash.bin) successfully boots!

Thanks again,

Asher

 

2,961 Views
igorpadykov
NXP Employee
NXP Employee

Hi Asher

please follow sect.4.5.13 How to build imx-boot image attached Linux Guide

from documentation below

i.MX Software|NXP 

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos