高通msm8953的sd卡流程
1、开机挂载完成后会休眠唤醒一次:
mmc_sd_runtime_suspend 和 mmc_sd_runtime_resume (sd.c)
在 mmc_sd_runtime_resume 会再次调用mmc_sd_init_card (CONFIG_MMC_PARANOID_SD_INIT)初始化sd卡
2、解析dts设备树的配置
sdhci_msm_populate_pdata (sdhci-msm.c)这个是在sdhci_msm_probe里调用的,用于配置msm_host (这个应该是控制器)
通过"cd-gpios" 可以解析 插入监测的gpio
通过 “qcom,bus-width” 解析的bus_width = 4
通过“qcom,bus-speed-mode” 解析的是支持的电压和总线速度
通过 "qcom,core_3_0v_support" 解析的是支持3.0v
3、设备树解析完后 会匹配设备驱动
sdhci_msm_probe (mmc/host/sdhci-msm.c)
通过"qcom,sdhci-msm-v5" 知道走的不是这个
随后调用sdhci_msm_populate_pdata
通过这个msm_host->ice.pdev 区分是都有ice,ice个人理解应该是emmc有的东西,普通的sdcard没有
gpio_is_valid 这个是普通sdcard走的流程
后面就是 sdhci_add_host (mmc/host/sdhci.c)这里面对capability进行处理
sdhci_setup_host 里的mmc_regulator_get_supply还对vmmc和vqmmc进行处理
sdhci_setup_host里的 host->caps & SDHCI_CAN_VDD_330 对 电压进行处理,这儿也有1.8V的电压
会有 mmc->ocr_avail

本文详细描述了高通MSM8953平台中SD卡的开机挂载、DTS配置、设备驱动匹配、初始化过程,包括电压处理、能力检测和卡片类型识别等关键步骤。
最低0.47元/天 解锁文章
1668

被折叠的 条评论
为什么被折叠?



