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: SDchi initialization delay issue

Part Number: TDA4VM


Hi team,

Here's an issue from the customer may need your help:

Optimize the power-on time with the linux+rtos SDk of 8.1. Whether using a custom board or EVM, there are two long waits while the kernel loads the sdhci driver during power-up. The log is as follows:


[    1.430224] mmc0: Command Queue Engine enabled
[    1.438618] mmc0: new DDR MMC card at address 0001
[    1.450390] mmcblk0: mmc0:0001 DG4032 29.1 GiB 
[    1.467513] mmcblk0boot0: mmc0:0001 DG4032 partition 1 4.00 MiB
[    1.473549] mmcblk0boot1: mmc0:0001 DG4032 partition 2 4.00 MiB
[    1.479584] mmcblk0rpmb: mmc0:0001 DG4032 partition 3 4.00 MiB, chardev (237:0)
[    1.493692]  mmcblk0: p1 p2 p3 p4 p5
[    3.011698] mmc1: CQHCI version 5.10
[    4.077407] mmc1: SDHCI controller on 4fb0000.mmc [4fb0000.mmc] using ADMA 64-bit
[    4.085753] Waiting for root device PARTUUID=ea9d4087-02...
[    4.141906] mmc1: new ultra high speed DDR50 SDHC card at address aaaa
[    4.148802] mmcblk1: mmc1:aaaa SC16G 14.8 GiB 
[    4.159082]  mmcblk1: p1 p2
[    4.185135] EXT4-fs (mmcblk1p2): mounted filesystem with ordered data mode. Opts: (null)
[    4.193263] VFS: Mounted root (ext4 filesystem) on device 179:98.
[    4.205618] devtmpfs: mounted
[    4.209102] Freeing unused kernel memory: 1792K
[    4.218536] Run /sbin/init as init process

1) 1.5 s-3s wait, the reason is not clear now. There is no emmc on the evm board, and this waits is not a long time. It can only be determined that it occurs before the end of initialization of mmc0 and the sdhci_am654_probe of mmc1.

2) wait during 3s-4s, by looking at the source code, has been located.

The source files are: Board-support/linux/drivers/mmc/host/sdhci.c and board-support/linux/drivers/mmc/host/sdhci_am654.c.

The function call relationship is: Sdhci_set_power -> sdhci_set_power_noreg -> sdhci_am654_write_b.

The function sdhci_am654_write_b checks for power up and waits when writing a power on to the register, which lasts approximately 1 second.

The customer would like to know if these 2 waiting time can be reduced, either on H/W or S/W. Could you help check this case? Thanks.

Best Regards,

Cherry