TI中文支持网
TI专业的中文技术问题咨询交流网站

TDA4VM: sdchi 初始化延时问题

Part Number:TDA4VM

hi,
        我们使用了8.1的 linux+rtos SDk,想要优化开机时间。
        无论是定制板还是evm板上,开机过程中在内核加载sdhci驱动时,中间会有很长两段较长的等待,如log。

[    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.5s-3s期间的等待,目前不清楚原因,evm板上没有emmc,这段时间不长。只能判断出现在mmc0的初始化结束与mmc1的sdhci_am654_probe之前;
        2、在3s-4s期间的等待,通过查看源码,已经定位。
        源文件是:board-support/linux/drivers/mmc/host/sdhci.c 和 board-support/linux/drivers/mmc/host/sdhci_am654.c
        函数调用关系是:sdhci_set_power -> sdhci_set_power_noreg -> sdhci_am654_write_b
        函数 sdhci_am654_write_b 中在对寄存器写power on操作时,会检查是否上电并等待,这个过程大概会持续1s
        
        想请问是否有办法在硬件或软件上缩短这两段时间,谢谢!
        

Cherry Zhou:

您好我们已收到您的问题并升级到英文论坛寻求帮助,链接如下,如有答复将尽快回复您。

e2e.ti.com/…/tda4vm-sdchi-initialization-delay-issue

,

Cherry Zhou:

Hi dear,目前英文论坛关于您的问题已有工程师跟进,请您持续关注,如您仍需其他技术支持,请随时联系我们。

赞(0)
未经允许不得转载:TI中文支持网 » TDA4VM: sdchi 初始化延时问题
分享到: 更多 (0)