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.

AM623: Does eMMC have compatibility problem with DFU FW upgrade?

Part Number: AM623
Other Parts Discussed in Thread: CSD

Tool/software:

Hi, Dear Expert

I got an issue feedback from customer, and I try to clarify the root cause.

(Case 1) DFU firmware upgrade works well for eMMC flash, eMMC part are KLM8G1GETF-B041(SAMSUNG) or KLM4GIFETE(SAMSUNG)

(Case 2) DFU firmware upgrade works failed w/ eMMC part THGBMUG6C1LBAIL(KIOXIA)

* Both case 1 and case 2 are same PCBA.

* Both case 1 and case 2  already make sure EMMC_RSTN pull low reset before starting DFU FW upgrade

* All of these three eMMC enable EXT_CSD[162] bit to make sure eMMC in "clean state" when EMMC_RSTN pin reset actives.

My question,

(1) How does DFU work w/ eMMC FW flashing?

(2) Do we need to care special parameter for eMMC?

Any suggestion?

Thank You Very Much

Gibbs

  • Hello,

    (Case 2) DFU firmware upgrade works failed w/ eMMC part THGBMUG6C1LBAIL(KIOXIA)

    Can you please ask the customer to share the failure logs for this case?

    Thanks!

  • Hi, Prashant

    Let's me update status.

    We need to set EMMC_RSTN toggle low before DFU FW upgrade, and then AM62 can enter DFU mode, windows (device manager) can detect AM62 device.

    it only work for Samsung eMMC, but it not works for KIOXIA eMMC

    I can not provide failure log, because it can not enter DFU mode when eMMC is THGBMUG6C1LBAIL(KIOXIA)

    So we curious to know, does it have any dependency between DFU boot mode and eMMC device?

    Thanks

    Gibbs 

  • Hello,

    We need to set EMMC_RSTN toggle low before DFU FW upgrade

    This is still not clear. Please share any UART logs from the procedure the customer is following. It will help better understand the issue.

    Thanks!

  • Hi, Prashant

    Update status

    I have an F2F discussion w/ customer last week

    Here are my conclusion.

    (1) Customer set primary boot is "eMMC", and secondary boot is "USB DFU" for boot strap pin. Once eMMC boot failed, AM62 will auto swap to DFU wait for FW upgrade. Basically, AM62 can enter USB DFU when eMMC boots failed.

    (2) What's the definition for AM62 in USB DFU boot success? I ask customer connect usb cable to laptop, and check device manager in windows. Once we can see AM62 device DFU USB Enumeration success, we can say USB DFU boot success.

    (3) Once AM62 boots from eMMC, but it seems some boot  problems for eMMC (ex: bootloader crash), I think AM62 can not swap to USB DFU boot, it is reasonable.

    (4) We can flash fake FW to (or erase) eMMC boot partition, if eMMC boot failed, AM62 can swap to USB DFU boot.

    (5) if DFU boot success, we can flash FW to SAMSUNG or THGBMUG6C1LBAIL(KIOXIA) into eMMC, but we found KIOXIA has some compatible problem after Linux booting. I will create another new thread to focus discussion this problem.

    (6)We already know, toggle EMMC_RSTN to active low for short time, Samsung eMMC will prevent eMMC boots, and then swap to secondary boot to usb dfu. but this workaround case, it's useless for KIOXIA eMMC.

    Customer  wants to do FW upgrade by USB DFU even eMMC boot partition already has boot FW, two way to solve this problem

    (1) Quick toggle EMMC_RSTN to active low for SAMSUNG eMMC, it caused eMMC boot failed, and then swap to USB DFU boot (secondary)

    (2) Erase BOOT partition for KIOXIA eMMC, it caused eMMC boot failed, and then swap to USB DFU boot (secondary)

    Customer curious to know, why is the different? 

    Do we miss some thing?

    Thank You.

    Gibbs

  • Hello,

    (2) What's the definition for AM62 in USB DFU boot success? I ask customer connect usb cable to laptop, and check device manager in windows. Once we can see AM62 device DFU USB Enumeration success, we can say USB DFU boot success.

    In addition to your understanding, the "dfu-util" would should something like below if the ROM is trying to boot from USB DFU:

    ❯ dfu-util -l
    dfu-util 0.11
    
    Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
    Copyright 2010-2021 Tormod Volden and Stefan Schmidt
    This program is Free Software and has ABSOLUTELY NO WARRANTY
    Please report bugs to http://sourceforge.net/p/dfu-util/tickets/
    
    Found DFU: [0451:6165] ver=0200, devnum=30, cfg=1, intf=0, path="1-4.1.2", alt=1, name="SocId", serial="01.00.00.00"
    Found DFU: [0451:6165] ver=0200, devnum=30, cfg=1, intf=0, path="1-4.1.2", alt=0, name="bootloader", serial="01.00.00.00"
    

    (2) Erase BOOT partition for KIOXIA eMMC, it caused eMMC boot failed, and then swap to USB DFU boot (secondary)

    This procedure looks good and is also recommended. To switch to backup bootmode, the ROM should not find a valid image from the primary boot media.

    Regards,

    Prashant