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.

TMDS64EVM: Flashing Linux image on emmc via USB DFU

Part Number: TMDS64EVM
Other Parts Discussed in Thread: UNIFLASH

Dear team

I need to run linux on A53 core & bare metal application on R5. Can we flash linux image via USB DFU?

As of now, I was using SD card to boot linux on A53. So without SD card, how do we need to put Linux image on eMMC/OSPI via USB DFU ??

Regards,

Shraddha Naik.

  • Hello Prashant,

    As per shared link, I have flashed all three Uboot images ( tiboot3.bin, tispl.bin, u-boot.img) via USB DFU successfully & entered to Uboot prompt.  

    At the U-Boot prompt, for the following command, I get error as attached below

    • dfu 0 mmc 0

    Regards,

    shraddha

  • Hello Shraddha,

    You will need to partition the eMMC UDA first so that you can store Linux Rootfs in one of the partition. Please refer: https://software-dl.ti.com/processor-sdk-linux/esd/AM64X/latest/exports/docs/linux/Foundational_Components/U-Boot/UG-Memory.html#partitioning-emmc-from-u-boot

    Regards,

    Prashant

  • Thanks Prashant for your support. I was able to flash the linux image on eMMC using USB DFU.

    Some queries I have wrt flashing over USB DFU,

    1. For Linux image flashing, the procedure mentioned in given link will remain same over eMMC & GPMC? 

    2. Is it possible to keep U-Boot images on eMMC/GPMC & rootfs (kernel) on OSPI & run the Linux? Is there any risk doing this?

    3. While flashing, we need to flash U-boot images 2 times, one set for USB-DFU boot, another set for flashing to eMMC. In this case, first dset of images for USB-DFU will be stored in which memory location? In this case, by any chance USB Uniflash writer is used ?

    4. For the first set of images for USB-DFU, after transfer of third file, we need to press any key on the EVM UART console to stop auto booting of EVM. Is there any other way to achieve this automatically without human intervention? Also if we fail to stop the auto booting of EVM, what should be the next step or how do we need to recover it?

    5. Once the Uboot flashing on emmc is done, if we need to put our application image for other cores (.appimage.hs-fs ), should we use USB DFU Uniflash writer to flash?

    6. For Linux flashing on eMMC, from which memory address it will start flashing? 

  • 1. No, the flashing procedure will be different for GPMC. There is an FAQ for flashing to NAND: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1288373/faq-how-to-flash-and-boot-u-boot-from-serial-nand-on-am62x-am62ax

    2. The Linux Kernel are mostly in GBs so you would need to flash Linux in eMMC assuming OSPI flash size is not that big.

    3. You only flash 1 one set of images. The USB DFU boot images are just booted over DFU and not flashed anywhere.

    4. Please refer to the following documentation which uses the newly developed DFU flashing tool which automates the DFU flashing procedure

    https://software-dl.ti.com/processor-sdk-linux/esd/AM62X/latest/exports/docs/linux/Foundational_Components/Tools/Flash_via_DFU.html

    5. You can use the UART Uniflash tool from the MCU+ SDK to write the .appimage.hs_fs which comes from the MCU+ SDK as welll.

    6. The Linux is flashed in the eMMC UDA partition. Please note, the eMMC is hardware partitioned as shown below

    +---------+---------+--------+----------------------------------+
    |  boot0  |  boot1  |  rpmb  |          User Data Area          |
    +---------+---------+--------+----------------------------------+

    The tiboot3.bin, tispl.bin and u-boot.img are flashed into Boot0 partition while Linux is flashed in one of the GPT partition in the UDA.

  • For point 2, its my mistake, its actually reversed, if we keep U boot images on OSPI & Linux kernel on eMMC/GMPC, is there any risk ?

    For point 3, USB DFU boot images are just booted over DFU means its utilizing any RAM memory??

  • For point 2, its my mistake, its actually reversed, if we keep U boot images on OSPI & Linux kernel on eMMC/GMPC, is there any risk ?

    U-Boot can boot Linux Kernel from any supported media.

    For point 3, USB DFU boot images are just booted over DFU means its utilizing any RAM memory??

    Yes, the images runs from DDR.

  • Thanks Prashant.

    For Point 4, I tried to flash using DFU_Flash.py script. In this case i used prebuilt images & used below command, but it gets stuck in between  as shown in screenshot.

    $ python3 dfu_flash.py -d am64xx-evm -t hsfs -c /path/to/.cfg -r

  • This means the script is not detecting any DFU device connected to the PC.

    $ python3 dfu_flash.py -d am64xx-evm -t hsfs -c /path/to/.cfg -r

    Can you try running the script with sudo?

    $ sudo python3 dfu_flash.py -d am64xx-evm -t hsfs -c /path/to/.cfg -r
  • So once flashing is successful, again I need to press any key on serial terminal to stop EVM from autobooting?? 

  • again I need to press any key on serial terminal to stop EVM from autobooting?? 

    No. After the flashing is successful, change the bootmode pins. Then, the board should boot the flashed images.

  • Once i change the boot mode pins, i get below output on terminal

    Here I have to stop autobooting & then put below commands to boot from eMMC?

    • setenv mmcdev 0
    • setenv bootpart 0
    • boot

    Anyways is there any command from DFU_flash.py to erase emmc before flashing??

  • Anyways is there any command from DFU_flash.py to erase emmc before flashing??

    Yes, you will need to stop at U-Boot and run those commands. Please refer: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1343571/sk-am62b-p1-sk-am62b-p1

    Anyways is there any command from DFU_flash.py to erase emmc before flashing??

    This is not supported by the tool. You can manually erase the eMMC from U-Boot.

  • Yes, you will need to stop at U-Boot and run those commands.

    In the shared link its mentioned that to boot EVM automatically to Linux through emmc, we need to apply patch. In which file i need to add those changes?

    Also, is there any difference in DFU_flash.py & USB_dfu_Uniflash.py?

  • In which file i need to add those changes?

    The patch itself mentions the file. It will be "board/ti/am62x/am62x.env"

    Also, is there any difference in DFU_flash.py & USB_dfu_Uniflash.py?

    The first comes from the Processor SDK while the second comes from the MCU+ SDK

  • Hi Prashant,

    I tried to erase eMMC & again load the Uboot images from below command, it was successful.

    $ sudo python3 dfu_flash.py -d am64xx-evm -t hsfs -c /path/to/.cfg -r

    On serial terminal after reset, it entered to Uboot prompt. When i tried to boot kernel, below error messages i received.

    Also, in flash-files.cfg file, flashing rootfs.img  is commented. This is not required?

  • When i tried to boot kernel, below error messages i received.

    Have you already flashed Linux into eMMC?

  • No, since I did not find rootfs.img anywhere in SDK. Can you share a link how to create rootfs.img.

    Also is there any difference in roofs.img & rootfs.ext4?

    Instead of rootfs.img can I use rootfs.ext4 which  I have generated from tisdk-base-image-am64xx-evm.tar.xz??

  • I was able to flash the linux image on eMMC using USB DFU.

    You said here that you have flashed Linux in eMMC.

    And, the rootfs.img name used in flash-files.cfg is just a dummy name. You should replace the path with rootfs.ext4.

  • Sorry, its my bad. Its Uboot images I actually meant.

    Thanks for the clarification, wrt rootfs.ext4. But now before flashing we need to do partitioning manually? 

    Now I replaced the path with rootfs.ext4, but it got stuck in between. Is this because of below settings in "board/ti/am64x/am64x.env"?

    mmcdev=1
    bootpart=1:2

  • But now before flashing we need to do partitioning manually? 

    Yes. Please refer: https://software-dl.ti.com/processor-sdk-linux/esd/AM64X/latest/exports/docs/linux/Foundational_Components/U-Boot/UG-Memory.html#partitioning-emmc-from-u-boot

    After partitioning, the partition layout should look something like

    => mmc part
    
    Partition Map for MMC device 0  --   Partition Type: EFI
    
    Part    Start LBA       End LBA         Name
            Attributes
            Type GUID
            Partition GUID
    1     0x00000022      0x01da3fde      "rootfs"
            attrs:  0x0000000000000000
            type:   ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
            guid:   51342c80-6801-457b-928a-72c4a6a00d7a

  • Hello Prashant,

    Below are the steps I followed, but stiil I am not able to boot evm with linux via DFU flash

    1. Powered off the EVM and boot mode switches changed to boot from USB DFU

    2. Loaded the Uboot images from below command & entered to Uboot prompt.

                 sudo python3 dfu_flash.py -d am64xx-evm -t hsfs -c /path/to/.cfg -r

    3. On Uboot Prompt, emmc partitioning done. After the partitionong, I got the similar output as you shared in previous comment.

    4.  Again I powered on the EVM, loaded the Uboot images+ Linux kernel from same command "  sudo python3 dfu_flash.py -d am64xx-evm -t hsfs -c /path/to/.cfg -r"

    5. Once all the images downloaded, again entered to Uboot prompt to run below commands to boot kernel from emmc

    • setenv mmcdev 0
    • setenv bootpart 0
    • boot

    6. Powered off the EVM and boot mode switches changed to boot from emmc

    7. No output/messages on serial terminal

    Is there anything I am missing here or doing wrong?

  • Hi Shraddha,

    Before Step5, can you please check if the eMMC is partitioned correctly with the following steps

    ### Verify if the mmc is partitioned correctly
        ```
        => mmc part
    
        Partition Map for MMC device 0  --   Partition Type: EFI
    
        Part    Start LBA       End LBA         Name
                Attributes
                Type GUID
                Partition GUID
        1     0x00000022      0x01da3fde      "rootfs"
                attrs:  0x0000000000000000
                type:   ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
                guid:   51342c80-6801-457b-928a-72c4a6a00d7a
        ```
    ### List the files/folders in the selected partition
        ```
        => ls mmc 0:1
        <DIR>       4096 .
        <DIR>       4096 ..
        <DIR>      16384 lost+found
        <DIR>       4096 bin
        <DIR>       4096 boot
        <DIR>       4096 dev
        <DIR>       4096 etc
        <DIR>       4096 home
        <DIR>       4096 lib
        <SYM>         19 linuxrc
        <DIR>       4096 media
        <DIR>       4096 mnt
        <DIR>       4096 proc
        <DIR>       4096 run
        <DIR>       4096 sbin
        <DIR>       4096 srv
        <DIR>       4096 sys
        <DIR>       4096 tmp
        <DIR>       4096 usr
        <DIR>       4096 var
        ```
        ```
        => ls mmc 0:1 /boot
        <DIR>       4096 .
        <DIR>       4096 ..
        <DIR>       4096 EFI
        <SYM>         29 Image
                19376640 Image-6.1.80-ti-g2e423244f8c0
        <DIR>       4096 dtb
        <SYM>         32 fitImage
                8408718 fitImage-6.1.80-ti-g2e423244f8c0
        => ls mmc 0:1 /boot/dtb/ti
        <DIR>       4096 .
        <DIR>       4096 ..
                    1990 k3-am625-beagleplay-csi2-ov5640.dtbo
                    1990 k3-am625-beagleplay-csi2-tevi-ov5640.dtbo
                    2882 k3-am625-beagleplay-lincolntech-lcd185-panel.dtbo
                61115 k3-am625-beagleplay.dtb
                    1116 k3-am625-sk-dmtimer-pwm.dtbo
                    872 k3-am625-sk-ecap-capture.dtbo
                    1969 k3-am625-sk-lincolntech-lcd185-panel.dtbo
                    1116 k3-am625-sk-mcspi-loopback.dtbo
                    2462 k3-am625-sk-microtips-mf101hie-panel.dtbo
                    1406 k3-am625-sk-microtips-mf103hie-lcd2.dtbo
                    1636 k3-am625-sk-pwm.dtbo
                    2360 k3-am625-sk-rpi-hdr-ehrpwm.dtbo
                59546 k3-am625-sk.dtb
                    1915 k3-am62x-sk-csi2-imx219.dtbo
                    1886 k3-am62x-sk-csi2-ov5640.dtbo
                    1886 k3-am62x-sk-csi2-tevi-ov5640.dtbo
                    2131 k3-am62x-sk-csi2-v3link-fusion.dtbo
                    936 k3-am62x-sk-eqep.dtbo
                    1345 k3-am62x-sk-hdmi-audio.dtbo
                    478 k3-am62x-sk-hdmi-disable-fastboot.dtbo
                    4232 k3-am62x-sk-lpm-wkup-sources.dtbo
                    2192 k3-am62x-sk-mcan.dtbo
        =>
        ```
    

  • => mmc part
    
    Partition Map for MMC device 0  --   Partition Type: EFI
    
    Part    Start LBA       End LBA         Name
            Attributes
            Type GUID
            Partition GUID
      1     0x00000022      0x01da3fde      "rootfs"
            attrs:  0x0000000000000000
            type:   ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
            guid:   6920369f-8855-4591-a250-21feb0b50bdc
    => ls mmc 0:1
    <DIR>       4096 .
    <DIR>       4096 ..
    <DIR>      16384 lost+found
    <DIR>       4096 bin
    <DIR>       4096 boot
    <DIR>       4096 dev
    <DIR>       4096 etc
    <DIR>       4096 home
    <DIR>       4096 lib
    <SYM>         19 linuxrc
    <DIR>       4096 media
    <DIR>       4096 mnt
    <DIR>       4096 proc
    <DIR>       4096 run
    <DIR>       4096 sbin
    <DIR>       4096 srv
    <DIR>       4096 sys
    <DIR>       4096 tmp
    <DIR>       4096 usr
    <DIR>       4096 var
    => ls mmc 0:1 /boot
    <DIR>       4096 .
    <DIR>       4096 ..
    <DIR>       4096 EFI
    <SYM>         24 Image
            20238848 Image-6.1.69-g82d2b82784
    <DIR>       4096 dtb
    <SYM>         27 fitImage
             8705222 fitImage-6.1.69-g82d2b82784
    => ls mmc 0:1 /boot/dtb/ti
    <DIR>       4096 .
    <DIR>       4096 ..
                2609 k3-am642-evm-icssg1-dualemac-mii.dtbo
                2225 k3-am642-evm-icssg1-dualemac.dtbo
                3102 k3-am642-evm-nand.dtbo
               59008 k3-am642-evm.dtb
               56595 k3-am642-sk.dtb

    Please find the attached response.

  • Everything looks good. Can you try booting the following commands:

    => setenv mmcdev 0
    => setenv bootpart 0:1
    => boot

    Please share the output in case of failure.

  • One query i had is where is my u-boot images stored here?? Can you tell me how to check this?

  • There is no output on serial terminal. Its blank.

  • Hi Shraddha,

    One query i had is where is my u-boot images stored here?? Can you tell me how to check this?

    The U-Boot images are stored in the eMMC Boot0 hardware partition while the Linux filesystem is stored in the eMMC UDA partition.

    There is no output on serial terminal. Its blank.

    Can you please share the full UART logs as text?

  • The U-Boot images are stored in the eMMC Boot0 hardware partition while the Linux filesystem is stored in the eMMC UDA partition.

    So that means with "ls mmc 0:0", I should get list of u-boot image files stored in emmc, but I am getting "** Unrecognized filesystem type **"

    Please find attached UART logs

    ElashEmmc_DFUFlash.txt
    
    
    
    
    U-Boot SPL 2021.01 (Jun 20 2023 - 16:52:28 +0530)
    Resetting on cold boot to workaround ErrataID:i2331
    resetting ...
    
    U-Boot SPL 2021.01 (Jun 20 2023 - 16:52:28 +0530)
    SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar')
    SPL initial stack usage: 13424 bytes
    Trying to boot from DFU
    #############################################DOWNLOAD ... OK
    Ctrl+C to exit ...
    Authentication passed
    Authentication passed
    Authentication passed
    Authentication passed
    init_env from device 10 not supported!
    Starting ATF on ARM64 core...
    
    NOTICE:  BL31: v2.8(release):v2.8-226-g2fcd408bb3-dirty
    NOTICE:  BL31: Built : 13:45:56, Feb 27 2023
    I/TC:
    I/TC: OP-TEE version: 3.20.0 (gcc version 9.2.1 20191025 (GNU Toolchain for the A-profile Architectu                                                                                         re 9.2-2019.12 (arm-9.10))) #1 Mon Feb 27 13:46:53 UTC 2023 aarch64
    I/TC: WARNING: This OP-TEE configuration might be insecure!
    I/TC: WARNING: Please check https://optee.readthedocs.io/en/latest/architecture/porting_guidelines.h                                                                                         tml
    I/TC: Primary CPU initializing
    I/TC: SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar')
    I/TC: HUK Initialized
    I/TC: Activated SA2UL device
    I/TC: Enabled firewalls for SA2UL TRNG device
    I/TC: SA2UL TRNG initialized
    I/TC: SA2UL Drivers initialized
    I/TC: Primary CPU switching to normal world boot
    
    U-Boot SPL 2021.01 (Jun 20 2023 - 16:52:09 +0530)
    SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar')
    Trying to boot from DFU
    #####DOWNLOAD ... OK
    Ctrl+C to exit ...
    Authentication passed
    Authentication passed
    
    
    U-Boot 2021.01 (Jun 20 2023 - 16:52:09 +0530)
    
    SoC:   AM64X SR2.0 HS-FS
    Model: Texas Instruments AM642 EVM
    Board: AM64-EVM rev C
    DRAM:  2 GiB
    NAND:  0 MiB
    MMC:   mmc@fa10000: 0, mmc@fa00000: 1
    In:    serial@2800000
    Out:   serial@2800000
    Err:   serial@2800000
    Unidentified board claims AM64-EVM in eeprom header
    Net:   eth0: ethernet@8000000port@1
    Hit any key to stop autoboot:  0
    #DOWNLOAD ... OK
    Ctrl+C to exit ...
    ## Warning: Input data exceeds 1048576 bytes - truncated
    ## Info: input data size = 1048578 = 0x100002
    ###DOWNLOAD ... OK
    Ctrl+C to exit ...
    ####DOWNLOAD ... OK
    Ctrl+C to exit ...
    #####DOWNLOAD ... OK
    Ctrl+C to exit ...
    ############################################################################################################################################################                                                                                         ####################################################################################################                                                                                         ####################################################################################################                                                                                         ####################################################################################################                                                                                         #######################################################################################################################################################################################################                                                                             ####################################################################################################                                                                                         ####################################################################################################                                                                                         ####################################################################################################                                                                                         ####################################################################################################                                                                                         ########################################################################################################################################################################################################                                                                                         ####################################################################################################                                                                                         ####################################################################################################                                                                                         ####################################################################################################                                                                                         ####################################################################################################                                                                                         ####################################################################################################                                                                                         ####################################################################################################                                                                                         ####################################################################################################                                                                                         ####################################################################################################                                                                                         ####################################################################################################                                                                                         ########################################################################################################################################################################################################                                                                  ####################################################################################################                                                                                         #################################################################################################=>                                                                                          <INTERRUPT>
    =>
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    þ
    U-Boot SPL 2021.01 (Jun 20 2023 - 16:52:28 +0530)
    Resetting on cold boot to workaround ErrataID:i2331
    resetting ...
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    U-Boot SPL 2021.01 (Jun 20 2023 - 16:52:28 +0530)
    SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar')
    SPL initial stack usage: 13424 bytes
    Trying to boot from DFU
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    þ
    U-Boot SPL 2021.01 (Jun 20 2023 - 16:52:28 +0530)
    Resetting on cold boot to workaround ErrataID:i2331
    resetting ...
    
    U-Boot SPL 2021.01 (Jun 20 2023 - 16:52:28 +0530)
    SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar')
    SPL initial stack usage: 13424 bytes
    Trying to boot from DFU
    #############################################DOWNLOAD ... OK
    Ctrl+C to exit ...
    Authentication passed
    Authentication passed
    Authentication passed
    Authentication passed
    init_env from device 10 not supported!
    Starting ATF on ARM64 core...
    
    NOTICE:  BL31: v2.8(release):v2.8-226-g2fcd408bb3-dirty
    NOTICE:  BL31: Built : 13:45:56, Feb 27 2023
    I/TC:
    I/TC: OP-TEE version: 3.20.0 (gcc version 9.2.1 20191025 (GNU Toolchain for the A-profile Architectu                                                                                         re 9.2-2019.12 (arm-9.10))) #1 Mon Feb 27 13:46:53 UTC 2023 aarch64
    I/TC: WARNING: This OP-TEE configuration might be insecure!
    I/TC: WARNING: Please check https://optee.readthedocs.io/en/latest/architecture/porting_guidelines.h                                                                                         tml
    I/TC: Primary CPU initializing
    I/TC: SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar')
    I/TC: HUK Initialized
    I/TC: Activated SA2UL device
    I/TC: Enabled firewalls for SA2UL TRNG device
    I/TC: SA2UL TRNG initialized
    I/TC: SA2UL Drivers initialized
    I/TC: Primary CPU switching to normal world boot
    
    U-Boot SPL 2021.01 (Jun 20 2023 - 16:52:09 +0530)
    SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar')
    Trying to boot from DFU
    #####DOWNLOAD ... OK
    Ctrl+C to exit ...
    Authentication passed
    Authentication passed
    
    
    U-Boot 2021.01 (Jun 20 2023 - 16:52:09 +0530)
    
    SoC:   AM64X SR2.0 HS-FS
    Model: Texas Instruments AM642 EVM
    Board: AM64-EVM rev C
    DRAM:  2 GiB
    NAND:  0 MiB
    MMC:   mmc@fa10000: 0, mmc@fa00000: 1
    In:    serial@2800000
    Out:   serial@2800000
    Err:   serial@2800000
    Unidentified board claims AM64-EVM in eeprom header
    Net:   eth0: ethernet@8000000port@1
    Hit any key to stop autoboot:  0
    #DOWNLOAD ... OK
    Ctrl+C to exit ...
    ## Warning: Input data exceeds 1048576 bytes - truncated
    ## Info: input data size = 1048578 = 0x100002
    ###DOWNLOAD ... OK
    Ctrl+C to exit ...
    ####DOWNLOAD ... OK
    Ctrl+C to exit ...
    #####DOWNLOAD ... OK
    Ctrl+C to exit ...
    ###############################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################DOWNLOAD ... OK
    Ctrl+C to exit ...
    => mmc
    mmc - MMC sub system
    
    Usage:
    mmc info - display info of the current MMC device
    mmc read addr blk# cnt
    mmc write addr blk# cnt
    mmc erase blk# cnt
    mmc rescan [mode]
    mmc part - lists available partition on current mmc device
    mmc dev [dev] [part] [mode] - show or set current mmc device [partition] and set mode
      - the required speed mode is passed as the index from the following list
        [MMC_LEGACY, MMC_HS, SD_HS, MMC_HS_52, MMC_DDR_52, UHS_SDR12, UHS_SDR25,
        UHS_SDR50, UHS_DDR50, UHS_SDR104, MMC_HS_200, MMC_HS_400, MMC_HS_400_ES]
    mmc list - lists available devices
    mmc wp - power on write protect boot partitions
    mmc hwpartition [args...] - does hardware partitioning
      arguments (sizes in 512-byte blocks):
        [user [enh start cnt] [wrrel {on|off}]] - sets user data area attributes
        [gp1|gp2|gp3|gp4 cnt [enh] [wrrel {on|off}]] - general purpose partition
        [check|set|complete] - mode, complete set partitioning completed
      WARNING: Partitioning is a write-once setting once it is set to complete.
      Power cycling is required to initialize partitions after set to complete.
    mmc bootbus dev boot_bus_width reset_boot_bus_width boot_mode
     - Set the BOOT_BUS_WIDTH field of the specified device
    mmc bootpart-resize <dev> <boot part size MB> <RPMB part size MB>
     - Change sizes of boot and RPMB partitions of specified device
    mmc partconf dev [boot_ack boot_partition partition_access]
     - Show or change the bits of the PARTITION_CONFIG field of the specified device
    mmc rst-function dev value
     - Change the RST_n_FUNCTION field of the specified device
       WARNING: This is a write-once field and 0 / 1 / 2 are the only valid values.
    mmc setdsr <value> - set DSR register value
    
    => mmc part
    
    Partition Map for MMC device 0  --   Partition Type: EFI
    
    Part    Start LBA       End LBA         Name
            Attributes
            Type GUID
            Partition GUID
      1     0x00000022      0x01da3fde      "rootfs"
            attrs:  0x0000000000000000
            type:   ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
            guid:   6920369f-8855-4591-a250-21feb0b50bdc
    => ls mmc 0:1
    <DIR>       4096 .
    <DIR>       4096 ..
    <DIR>      16384 lost+found
    <DIR>       4096 bin
    <DIR>       4096 boot
    <DIR>       4096 dev
    <DIR>       4096 etc
    <DIR>       4096 home
    <DIR>       4096 lib
    <SYM>         19 linuxrc
    <DIR>       4096 media
    <DIR>       4096 mnt
    <DIR>       4096 proc
    <DIR>       4096 run
    <DIR>       4096 sbin
    <DIR>       4096 srv
    <DIR>       4096 sys
    <DIR>       4096 tmp
    <DIR>       4096 usr
    <DIR>       4096 var
    => ls mmc 0:0
    ** Unrecognized filesystem type **
    => ls mmc 0:2
    ** Invalid partition 2 **
    => ls mmc 0:3
    ** Invalid partition 3 **
    => setenv mmcdev 0
    => setenv bootpart 0:1
    => boot
    

  • Hello Prashant,

    Any update on this??