EMMC booting on IMX8QX Custom board

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

EMMC booting on IMX8QX Custom board

1,137 Views
sanjaikumar
Contributor II

Hi,

     We had developed a custom board with IMX8QX Rev B0. We had used PF8200 as PMIC.We could successfully ported the SCFW and done DDR Stress test. So we started bringing up the U-boot.We have builded the U-boot using imx8qxp_mek_defconfig and it is packed with our SCFW using imx-mkimage tool.
make SOC=iMX8QX REV=B0 flash

When we try to flash it to EMMC using UUU ,tool exited with success status.But when I try to boot from EMMC it didn't boot.But I could see prints from U-boot while flashing.

sudo ./uuu -V -b emmc flash.bin

U-Boot 2022.04-dirty (Feb 13 2023 - 15:53:52 +0530)

CPU: NXP i.MX8QXP RevB A35 at 1200 MHz at 34C

Model: NXP i.MX8QXP MEK
Board: iMX8QXP MEK
Boot: USB
DRAM: 3 GiB
setup_typec lookup GPIO5_9 failed ret = 3
Core: 256 devices, 27 uclasses, devicetree: separate
MMC: FSL_SDHC: 0, FSL_SDHC: 1
Loading Environment from MMC... Select HS400 failed -5
*** Warning - bad CRC, using default environment

[*]-Video Link 0probe device is failed, ret 3
(1280 x 720)
[0] dpu@56180000, video
[1] lvds-channel@0, display
[2] lvds-to-hdmi-bridge@4c, video_bridge
In: serial
Out: serial
Err: serial

BuildInfo:
- SCFW 6638c032, SECO-FW c9de51c0, IMX-MKIMAGE fe124bce, ATF 5782363
- U-Boot 2022.04-dirty

Select HS400 failed -5
switch to partitions #0, OK
mmc0(part 0) is current device
Detect USB boot. Will enter fastboot mode!
Net: Could not get PHY for FEC0: addr 0
Could not get PHY for FEC0: addr 0
Could not get PHY for FEC1: addr 0
Could not get PHY for FEC1: addr 0
No ethernet found.

Fastboot: Normal
Boot from USB for mfgtools
*** Warning - Use default environment for mfgtools
, using default environment

Run 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;
Hit any key to stop autoboot: 0

## Checking Image at 83100000 ...
Unknown image format!
Run fastboot ...
auto usb 1
Detect USB boot. Will enter fastboot mode!
flash target is MMC:0
Select HS400 failed -5
Detect USB boot. Will enter fastboot mode!
Select HS400 failed -5
switch to partitions #0, OK
mmc0(part 0) is current device
Detect USB boot. Will enter fastboot mode!
Starting download of 1295360 bytes
.........
downloading of 1295360 bytes finished
writing to partition 'bootloader'
Initializing 'bootloader'
Select HS400 failed -5
switch to partitions #1, OK
mmc0(part 1) is current device
Writing 'bootloader'

MMC write: dev # 0, block # 64, count 2530 ... 2530 blocks written: OK
Writing 'bootloader' DONE!
Detect USB boot. Will enter fastboot mode!
Detect USB boot. Will enter fastboot mode!

 

UUU version we are using is  libuuu_1.4.243-0-ged48c51.

Can anyone help us to solve this issue

 

Tags (3)
0 Kudos
4 Replies

1,039 Views
sanjaikumar
Contributor II

Hi vinothkumar,

      Thanks for the quick reply.

I tried mmc partconf 0 0 0 0 and mmc partconf 0 0 7 1 . In both cases I got the board boot from EMMC. I believe in both cases here,bootloader is getting from user area.

 

But we would like to boot it from boot area 1 .For that we tried mmc partconf 0 0 1 0, but it is not working. what would be the configuration changes needed for booting from boot0 or boot1? 

0 Kudos

1,055 Views
sanjaikumar
Contributor II

Hi Vinothkumar,

      I tried flashing to EMMC using both commands. But it is not booting from EMMC. 

At the uboot console while flashing we can see writing to the Bootloader success and all.Also the UUU tool exited with status Success.

downloading of 1912872 bytes finished
writing to partition 'bootloader'
Initializing 'bootloader'
Select HS400 failed -5
switch to partitions #1, OK
mmc0(part 1) is current device
Writing 'bootloader'

MMC write: dev # 0, block # 64, count 3737 ... 3737 blocks written: OK
Writing 'bootloader' DONE!
Detect USB boot. Will enter fastboot mode!
Detect USB boot. Will enter fastboot mode!

I am using EMMC normal boot. fuse status of 0x930 (index 19) and 0x920 (index 18) is zero.


I am using IMX8X REV B0 soc, 32KB is the offset at which I need to write bootloader.right?
In the imx-imx-boot-bootpart.wks.in file in yocto .
part u-boot --source rawcopy --sourceparams="file=imx-boot" --ondisk mmcblk --no-table --align ${IMX_BOOT_SEEK}

It looks like imx-boot.bin is raw copied to 32KB offset in mmcblk. Do we need to copy the image to mmcblk0boot0 or mmcblk0boot1?

Output of mmc partconf command in uboot as follows

$  mmc partconf 0
EXT_CSD[179], PARTITION_CONFIG:
BOOT_ACK: 0x0
BOOT_PARTITION_ENABLE: 0x1
PARTITION_ACCESS: 0x0

 

Do we need to change any configuration in Build or in my board to support EMMC boot.

 

Thanks in Advance

 

Regards

Sanjaikumar V S

 

 

0 Kudos

1,044 Views
vinothkumars
Senior Contributor IV

Hi 

 

Just try to disable from boot partition and let it be boot from the main partition.

 

mmc partconf 0 0 0 0

 

 

Regards,
Vinothkumar Sekar
0 Kudos

1,069 Views
vinothkumars
Senior Contributor IV

Hi,

 

Verify the boot switch and  Try to flash whole images,

 

for flash uboot alone,

    uuu -b emmc imx-boot.bin

 

for whole image use following commands,

            uuu -b emmc_all imx-boot-.bin-flash  .rootfs.wic

 

 

 

Regards,
Vinothkumar Sekar
0 Kudos