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: The customized board failed to start. It got stuck waiting for the root device to mount.

Part Number: TDA4VM

Hi, experts

Our customized board is launched from eMMC, and the SDK version used is:

Linux: ti-processor-sdk-linux-j7-evm-08_01_00_07

RTOS: ti-processor-sdk-rtos-j721e-evm-08_01_00_11

Occasionally, we can't start the customized board and the board can start normally after being powered off and on again.

The log shows that Linux is waiting for the root device to mount.

After comparing and analyzing with the normal log, I found a problem.

That is, under normal circumstances, mmc0 represents emmc, the address is 4f80000, and mmc1 represents sd, the address is 4fb0000.

However, in this case, the log seems to show that mmc0 corresponds to the address 4fb0000. The customized board starts from emmc and has no SD card. If Linux is waiting for the SD card, it will never start.

Two materials are attached. The first is the mmc list printed under uboot:

U-Boot 2021.01 (Feb 17 2023 - 14:25:18 +0800)

SoC:   J721E SR2.0
Model: Texas Instruments K3 J721E SoC
DRAM:  2 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
Net:   Could not get PHY for ethernet@46000000: addr 0
am65_cpsw_nuss_slave ethernet@46000000: phy_connect() failed
No ethernet found.

Not enable AB OTA, use default config to boot

Hit any key to stop autoboot:  0 
=> 
=> 
=> 
=> 
=> 
=> 
=> 
=> 
=> 
=> 
=> 
=> mmc list
sdhci@4f80000: 0 (eMMC)
sdhci@4fb0000: 1

The second material is the log during normal startup. I intercepted the part about mmc:

[    1.443754] mmc0: CQHCI version 5.10
[    1.447752] mmc1: CQHCI version 5.10
[    1.455465] davinci_gpio 601000.gpio: IRQ index 0 not found
[    1.461052] davinci_gpio 601000.gpio: error -ENXIO: IRQ not populated
[    1.468384] omap-mailbox 31f80000.mailbox: omap mailbox rev 0x66fc7100
[    1.475242] omap-mailbox 31f81000.mailbox: omap mailbox rev 0x66fc7100
[    1.482066] omap-mailbox 31f82000.mailbox: omap mailbox rev 0x66fc7100
[    1.482484] mmc0: SDHCI controller on 4f80000.mmc [4f80000.mmc] using ADMA 64-bit
[    1.496082] omap-mailbox 31f83000.mailbox: omap mailbox rev 0x66fc7100
[    1.502917] omap-mailbox 31f84000.mailbox: omap mailbox rev 0x66fc7100


[    1.994170] cdns-ufshcd 4e84000.ufs: No record of task_abort
[    2.512957] mmc1: SDHCI controller on 4fb0000.mmc [4fb0000.mmc] using ADMA 64-bit
[    2.521292] Waiting for root device PARTUUID=a9895b9e-02...
[    2.555964] mmc1: new high speed SDHC card at address aaaa
[    2.561741] mmcblk1: mmc1:aaaa SC16G 14.8 GiB 
[    2.573728]  mmcblk1: p1 p2

Can you analyze the problem and give some suggestions?

Best regards,

Tao

  • Hi Tao

    The customized board starts from emmc and has no SD card. If Linux is waiting for the SD card, it will never start.

    As you dont have a sd card you can disable the sd card node in the dtsi  like 

    &main_sdhci1{
    
    status = "disabled";
    
    };

    or you can make sure that emmc will get a device name as mmc0 by applying below changes 

            aliases {
                    mmc0 = &main_sdhci0;
                    mmc1 = &main_sdhci1;
            };
    

    Regards
    Diwakar

  • Hi, Diwakar

    Thank you for your reply very much!

    I have been doing other tasks recently, so I haven't tracked the problem in time.

    you can make sure that emmc will get a device name as mmc0 by applying below changes 

    I prefer to use the above scheme, but which node should I put the code in? Is it node cbass_main ?

    Best regards,

    Tao

  • Hi Tao 

    Hust after the choosen node in the /k3-j721e-common-proc-board.dts You can add the above node.

    Please refer the attached patch the patch is made on to of 8.6 sdk.

    https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/791/0001_2D00_Fix_2D00_mmc_2D00_sd_2D00_instance_2D00_as_2D00_mmc0_2D00_mmc1.patch

    Please let me know if you are still facing issue.

    Regards
    Diwakar