imx8: emmc image bootup failing in imx8mq-evk

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

imx8: emmc image bootup failing in imx8mq-evk

4,056 Views
vsuneja63
Contributor III

I am flashing custom image in imx8mqevk in eMMC (16GB) by uuu tool. Flashing completed successfully but image not booting up. Does any configuration required for the eMMC? Here are the bootup logs:

U-Boot SPL 2019.04-imx_v2019.04_4.19.35_1.0.0+g85bdcc7 (Mar 07 2020 - 12:24:40 +0000)
PMIC:  PFUZE100 ID=0x10
DDRINFO: start DRAM init
DDRINFO:ddrphy calibration done
DDRINFO: ddrmix config done
Normal Boot
Trying to boot from MMC1

U-Boot 2019.04-imx_v2019.04_4.19.35_1.0.0+g85bdcc7 (Mar 07 2020 - 12:24:40 +0000)

CPU:   Freescale i.MX8MQ rev2.0 1500 MHz (running at 1000 MHz)
CPU:   Commercial temperature grade (0C to 95C) at 28C
Reset cause: POR
Model: Freescale i.MX8MQ EVK
DRAM:  3 GiB
TCPC:  Vendor ID [0x1fc9], Product ID [0x5110], Addr [I2C0 0x50]
MMC:   FSL_SDHC: 0, FSL_SDHC: 1
Loading Environment from MMC... *** Warning - bad CRC, using default environment

No panel detected: default to HDMI
Display: HDMI (1280x720)
In:    serial
Out:   serial
Err:   serial

 BuildInfo:
  - ATF f92d379
  - U-Boot 2019.04-imx_v2019.04_4.19.35_1.0.0+g85bdcc7

switch to partitions #0, OK
mmc0(part 0) is current device
flash target is MMC:0
Net:
Warning: ethernet@30be0000 using MAC address from ROM
eth0: ethernet@30be0000
Fastboot: Normal
Normal Boot
Hit any key to stop autoboot:  0
switch to partitions #0, OK
mmc0(part 0) is current device
** No partition table - mmc 0 **
** No partition table - mmc 0 **
Booting from net ...
ethernet@30be0000 Waiting for PHY auto negotiation to complete......... TIMEOUT !
Could not initialize PHY ethernet@30be0000
BOOTP broadcast 1
BOOTP broadcast 2
BOOTP broadcast 3
BOOTP broadcast 4
BOOTP broadcast 5
BOOTP broadcast 6

0 Kudos
Reply
7 Replies

3,938 Views
weidong_sun
NXP TechSupport
NXP TechSupport

OK, good job!

Weidong

0 Kudos
Reply

3,968 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hi vipul,

By default, u-boot wants to boot system from tftp, so you can see that u-boot tried to connect ethernet. use print command to check environment varibles, please! then you will know configurations for booting system from eMMC. for example, run mmcboot etc.

Have a nice day!

B.R,

weidong

0 Kudos
Reply

3,968 Views
vsuneja63
Contributor III

Hi,

Thanks!

i tried changing mmcroot, added below lines in imx8mqevk.conf file also but same issue.

UBOOT_CONFIG ??= "emmc"
UBOOT_CONFIG[emmc] = "imx8mq_evk_config,sdcard"

Here are the printenv outcome, can you suggest something on this.

u-boot=> printenv
baudrate=115200
boot_fdt=try
bootcmd=mmc dev ${mmcdev}; if mmc rescan; then if run loadbootscript; then run bootscript; else if run loadimage; then run mmcboot; else run netboot; fi; fi; else booti ${loadaddr} - ${fdt_addr}; fi
bootcmd_mfg=run mfgtool_args;if iminfo ${initrd_addr}; then if test ${tee} = yes; then bootm ${tee_addr} ${initrd_addr} ${fdt_addr}; else booti ${loadaddr} ${initrd_addr} ${fdt_addr}; fi; else echo "Run fastboot ..."; fastboot 0; fi;
bootdelay=2
bootscript=echo Running bootscript from mmc ...; source
console=ttymxc0,115200 earlycon=ec_imx6q,0x30860000,115200
emmc_dev=0
ethaddr=00:04:9f:05:a5:9c
ethprime=FEC
fastboot_dev=mmc0
fdt_addr=0x43000000
fdt_file=fsl-imx8mq-evk.dtb
fdt_high=0xffffffffffffffff
fdtcontroladdr=ff91d068
image=Image
initrd_addr=0x43800000
initrd_high=0xffffffffffffffff
jh_clk=
jh_mmcboot=setenv fdt_file fsl-imx8mq-evk-root.dtb; setenv jh_clk clk_ignore_unused; if run loadimage; then run mmcboot; else run jh_netboot; fi;
jh_netboot=setenv fdt_file fsl-imx8mq-evk-root.dtb; setenv jh_clk clk_ignore_unused; run netboot;
kboot=booti
loadaddr=0x40480000
loadbootscript=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};
loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}
loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}
mfgtool_args=setenv bootargs console=${console},${baudrate} rdinit=/linuxrc clk_ignore_unused
mmcargs=setenv bootargs ${jh_clk} console=${console} root=${mmcroot}
mmcautodetect=yes
mmcboot=echo Booting from mmc ...; run mmcargs; if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if run loadfdt; then booti ${loadaddr} - ${fdt_addr}; else echo WARN: Cannot load the DT; fi; else echo wait for boot; fi;
mmcdev=0
mmcpart=1
mmcroot=/dev/mmcblk0p2 rootwait rw
netargs=setenv bootargs ${jh_clk} console=${console} root=/dev/nfs ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp
netboot=echo Booting from net ...; run netargs; if test ${ip_dyn} = yes; then setenv get_cmd dhcp; else setenv get_cmd tftp; fi; ${get_cmd} ${loadaddr} ${image}; if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if ${get_cmd} ${fdt_addr} ${fdt_file}; then booti ${loadaddr} - ${fdt_addr}; else echo WARN: Cannot load the DT; fi; else booti; fi;
script=boot.scr
sd_dev=1
serial#=051a61d6f0609912
soc_type=imx8mq

Environment size: 2310/4092 bytes

0 Kudos
Reply

3,968 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hi,vipul,

mmcboot=echo Booting from mmc ...; run mmcargs; if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if run loadfdt; then booti ${loadaddr} - ${fdt_addr}; else echo WARN: Cannot load the DT; fi; else echo wait for boot; fi;

the configuration is used to boot from emmc.

so run the command should boot from eMMC; if u-boot can't find fdt file, you can set fdt_file to correct dtb file's name. in u-boot, default setting is " fdt_file=fsl-imx8mq-evk.dtb "

=> run mmcboot

Try it please!

B.R

weidong

0 Kudos
Reply

3,968 Views
vsuneja63
Contributor III

Hi,

Thanks!

I tried the same but looks like after flashing image mmcblk0p doesn't have partition. Tried setting dtb file also.

u-boot=> run mmcboot
Booting from mmc ...
** No partition table - mmc 0 **
WARN: Cannot load the DT

Is there any tool other than UUU for flashing in emmc?

0 Kudos
Reply

3,968 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hello vipul,

>>Is there any tool other than UUU for flashing in emmc?

No, there is not.

 In demo image, there is script named uuu.auto, you can use it to program images into eMMC on board, command is like below:

uuu uuu.auto

Then all images will programmed to board.

B,R,

weidong

0 Kudos
Reply

3,951 Views
vsuneja63
Contributor III

Hi,

Thanks!

I could flash image in emmc via sd card. Issue resolved!

0 Kudos
Reply