This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DRA712: J6 Entry EVM MLO doesn't fit in eMMC partition

Part Number: DRA712

Team

We are working on J6 Entry EVM.

We are trying to flash MLO in eMMC using fastboot without succes. MLO size is greater than eMMC xloader partition. For our future custom board, we don't want use QSPI. All SW will be in eMMC so no QSPI or SD will be available to flash board from scratch, so we are trying to develop a similar flash procedure in EVM

EVM setup

SYSCFG[0-7]: 0000.00

Steps

  • Power board with USB1 plugged in
  • On host
    • sudo ./usbboot -s u-boot-spl.bin
    • sudo dfu-util -c 1 -i 0 -a 0 -D u-boot.img -R
  • On target, stop u-boot count down
    • fastboot 0
  • On host
    • sudo fastboot oem format

Writing GPT: success!
request fdf2c740 was not queued to ep1in-bulk

    • sudo fastboot flash xloader MLO

WARNING: unknown variable: partition-type:xloader
request fdf2c740 was not queued to ep1in-bulk
request fdf2c740 was not queued to ep1in-bulk
Starting download of 138932 bytes
request fdf2c740 was not queued to ep1in-bulk
.request fdf2c740 was not queued to ep1in-bulk

downloading of 138932 bytes finished
ERROR: too large for partition: 'xloader'

at common/fb_mmc.c:81/write_raw_image()
request fdf2c740 was not queued to ep1in-bulk

Digging deeper

mmc part

Partition Map for MMC device 1  --   Partition Type: EFI

Part    Start LBA        End LBA           Name        Attributes        Type GUID        Partition GUID
1         0x00000100  0x000001ff      "xloader"
        attrs:  0x0000000000000000
        type:   ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
        guid:   d117f98e-6f2c-d04b-a5b2-331a19f91cb2
2     0x00000200      0x000007ff      "bootloader"
        attrs:  0x0000000000000000
        type:   ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
        guid:   25718777-d0ad-7443-9e60-02cb591c9737

MLO size 138932

uboot/include/configs/dra7xx_evm.h

#define DFU_ALT_INFO_EMMC \
    "dfu_alt_info_emmc=" \
    "rawemmc raw 0 3751936;" \
    "boot part 1 1;" \
    "rootfs part 1 2;" \
    "MLO fat 1 1;" \
    "MLO.raw raw 0x100 0x100;" \                          <------
    "u-boot.img.raw raw 0x300 0x400;" \                            |
    "spl-os-args.raw raw 0x80 0x80;" \                                |
    "spl-os-image.raw raw 0x900 0x2000;" \
    "spl-os-args fat 1 1;" \
    "spl-os-image fat 1 1;" \                                               Size should be the same, shouldn't?
    "u-boot.img fat 1 1;" \
    "uEnv.txt fat 1 1\0"

#define DFU_ALT_INFO_QSPI \                                        |
    "dfu_alt_info_qspi=" \                                                       |
    "MLO raw 0x0 0x040000;" \                               <------+
    "u-boot.img raw 0x040000 0x0100000;" \
    "u-boot-spl-os raw 0x140000 0x080000;" \
    "u-boot-env raw 0x1C0000 0x010000;" \
    "u-boot-env.backup raw 0x1D0000 0x010000;" \
    "kernel raw 0x1E0000 0x800000\0"

Size mismatch is an EVM bug, or you have any reason for this?