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.

TDA4VM: emmc failed to boot from the UDA partition

Part Number: TDA4VM

Hello,Ti

TDA4VM: Does TDA4VM SPL support booting from eMMC UDA partition? - Processors forum - Processors - TI E2E support forums     

I boot from UDA in emmc based on this post,  I changed j721e_evm_a72_defconfig and j721e_evm_r5_defconfig ,set  SW8[1:8]=1000_0000  SW9[1:8]=0000_0000,No log is printed on the serial port,my sdk is 8.6,The board current is about 0.3A,My purpose is to like an SD card, you can mount the startup file such as tispl.bin to the file system to facilitate the update of it,I need your help urgently.

Looking forward to your reply.

  • Hi 

    After copying the file to the emmc are you able to see those file when you boot from SD card ?

    Regards

    Diwakar 

  • Hello, I can start from UDA now, but I must plug in the SD card during the startup process, otherwise it will stop in the following code, it should be stuck in the remoteproc, it seems that the remoteproc is related to the position of the SD card, my system uses visionapps applications, can you tell me how to troubleshoot?

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    Starting Update UTMP about System Boot/Shutdown...
    [ OK ] Started Update UTMP about System Boot/Shutdown.
    [ OK ] Started Network Time Synchronization.
    [ OK ] Reached target System Time Set.
    [ OK ] Reached target System Time Synchronized.
    [ 6.077551] random: crng init done
    [ 6.080996] random: 66 urandom warning(s) missed due to ratelimiting
    [ OK ] Started Load/Save Random Seed.
    [ 6.114883] CAN device driver interface
    [ 6.129765] m_can_platform 2701000.can: m_can device registered (irq=39, version=32)
    [ 6.155364] k3-dsp-rproc 4d80800000.dsp: assigned reserved memory node c66-dma-memory@a7000000
    [ 6.173495] k3-dsp-rproc 4d80800000.dsp: configured DSP for remoteproc mode
    [ 6.191793] img_enc 4200000.video-encoder: vxe_enc_probe: using heap 1 for internal alloc
    [ 6.215510] cfg80211: Loading compiled-in X.509 certificates for regulatory database
    [ 6.232294] m_can_platform 2721000.can: m_can device registered (irq=41, version=32)
    [ 6.241681] k3-dsp-rproc 4d80800000.dsp: local reset is deasserted for device
    [ 6.261414] [drm] Initialized tidss 1.0.0 20180215 for 4a00000.dss on minor 0
    [ 6.270660] tidss 4a00000.dss: [drm] Cannot find any crtc or sizes
    [ 6.281507] img_enc 4200000.video-encoder: encoder registered as /dev/video0
    [ 6.289625] img_dec 4300000.video-decoder: decoder registered as /dev/video1
    [ 6.290996] remoteproc remoteproc0: 4d80800000.dsp is available
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

  • Hi 

    Have you checked the remote core firmware are present in the emmc rootfs partition?

    Regards
    Diwakar

  • There is firmware in emmc rootfs, and I just changed mmcdev=1 to 0 in uboot env, and it started normally. The reason for the failure seems to be that the visionapp environment is not found, but I do not understand the reason. Do you know the mmcdev job and its impact on visionapp?

  • Hi 

    mmcdev defines which device to choose 

    0: EMMC

    1:SD

    And i saw the code that linux try to read the firmware from the mounted point inside function fw_get_filesystem_firmware.

    Regards
    Diwakar

  • Hi

    How does the read firmware relate to the variable mmcdev? , why does the linux rootfs startup not affect when mmcdev=1?

  • Hi 

    I am also wondering the same thing 

    Can you share the full boot log when  it was mmcdev 0 also send the uboot env variable.

    Regards
    Diwakar

  • Strangely enough, I changed mmcdev=1 to mmcdev=0 and it started successfully.However, after the successful startup, I changed mmcdev to 1 again, and the startup was still successful. I am not sure how the visionapp environment works. Besides, the difference between me and this reference post is that I copied all contents of sd boot area to mmcblk0p1.

    This picture is a file in my SD, I copied it all to emmc mmcblk0p1,I don't know if there's a problem with what I'm doing.

    This is the log of the startup failure:

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    U-Boot 2021.01-dirty (Feb 29 2024 - 01:01:13 +0800)
    SoC: J721E SR1.1 GP
    Model: Texas Instruments K3 J721E SoC
    EEPROM not available at 0x50, trying to read at 0x51
    Reading on-board EEPROM at 0x51 failed -19
    Board: J721EX-PM1-SOM rev E2
    DRAM: 4 GiB
    Flash: 0 Bytes
    MMC: sdhci@4f80000: 0, sdhci@4fb0000: 1
    Loading Environment from MMC... OK
    In: serial@2800000
    Out: serial@2800000
    Err: serial@2800000
    am65_cpsw_nuss ethernet@46000000: K3 CPSW: nuss_ver: 0x6BA00101 cpsw_ver: 0x6BA80100 ale_ver: 0x00293904 Ports:1 mdio_freq:1000000
    EEPROM not available at 0x50, trying to read at 0x51
    Reading on-board EEPROM at 0x51 failed -19
    cdns,sierra serdes@5000000: sierra probed
    Net: Could not get PHY for ethernet@46000000port@1: addr 0
    am65_cpsw_nuss_port ethernet@46000000port@1: phy_connect() failed
    No ethernet found.
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    This is the startup success log after mmcdev is changed from 1 to 0:

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    U-Boot 2021.01-dirty (Feb 29 2024 - 01:01:13 +0800)
    SoC: J721E SR1.1 GP
    Model: Texas Instruments K3 J721E SoC
    EEPROM not available at 0x50, trying to read at 0x51
    Reading on-board EEPROM at 0x51 failed -19
    Board: J721EX-PM1-SOM rev E2
    DRAM: 4 GiB
    Flash: 0 Bytes
    MMC: sdhci@4f80000: 0, sdhci@4fb0000: 1
    Loading Environment from MMC... OK
    In: serial@2800000
    Out: serial@2800000
    Err: serial@2800000
    am65_cpsw_nuss ethernet@46000000: K3 CPSW: nuss_ver: 0x6BA00101 cpsw_ver: 0x6BA80100 ale_ver: 0x00293904 Ports:1 mdio_freq:1000000
    EEPROM not available at 0x50, trying to read at 0x51
    Reading on-board EEPROM at 0x51 failed -19
    cdns,sierra serdes@5000000: sierra probed
    Net: Could not get PHY for ethernet@46000000port@1: addr 0
    am65_cpsw_nuss_port ethernet@46000000port@1: phy_connect() failed
    No ethernet found.
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    This is the startup success log after mmcdev is changed from 0 to 1 again:

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    U-Boot 2021.01-dirty (Feb 29 2024 - 01:01:13 +0800)
    SoC: J721E SR1.1 GP
    Model: Texas Instruments K3 J721E SoC
    EEPROM not available at 0x50, trying to read at 0x51
    Reading on-board EEPROM at 0x51 failed -19
    Board: J721EX-PM1-SOM rev E2
    DRAM: 4 GiB
    Flash: 0 Bytes
    MMC: sdhci@4f80000: 0, sdhci@4fb0000: 1
    Loading Environment from MMC... OK
    In: serial@2800000
    Out: serial@2800000
    Err: serial@2800000
    am65_cpsw_nuss ethernet@46000000: K3 CPSW: nuss_ver: 0x6BA00101 cpsw_ver: 0x6BA80100 ale_ver: 0x00293904 Ports:1 mdio_freq:1000000
    EEPROM not available at 0x50, trying to read at 0x51
    Reading on-board EEPROM at 0x51 failed -19
    cdns,sierra serdes@5000000: sierra probed
    Net: Could not get PHY for ethernet@46000000port@1: addr 0
    am65_cpsw_nuss_port ethernet@46000000port@1: phy_connect() failed
    No ethernet found.
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    I can't start failure at the moment, so I can't get env when it failed.

  • Hi 

    can you run below command in u-boot to reset the env variable and see if issue is reproducible.

    env default -a 

    Regards
    Diwakar

  • I found that env was actually in mmcblk0boot0, I always thought env was in the boot partition of mmcblk0p1, may I ask how to modify env to take effect in mmcblk0p1?

  • Hi 

    setting the mmcdev to 0 should help.

    Below is the command which load the Uenv.txt

    "loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenvfile}\0" \

    as you could see from the above logs it is able to load the env from emmc.

    Loaded env from uEnv.txt
    Importing environment from mmc0 ...

    Regards
    Diwakar