高通sdcard 启动流程

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

高通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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值