三选二卡槽 SD卡的检测

本文探讨了三选二卡槽在高通新平台上的SD卡检测机制。传统的GPIO检测方式被轮询机制取代,以适应三选二卡槽的设计。通过设备属性`polling`控制轮询的开启和关闭,影响手机UI对SD卡拔插的响应。关键在于`MMC_CAP_NEEDS_POLL`属性,当设置为1时,启动轮询检测,从而实现SD卡状态的实时监控。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

公司最近新项目使用三选二卡槽,卡槽上只预留有一个GPIO,它是怎么区分主、副卡和SD的呢,一直很疑惑,驱动上屏蔽掉SDGPIO检测的机制后,发现SD的检测是正常的,此时,真是丈二的和尚摸不着头脑了。

最近,花了点时间,看了遍SD底层驱动,发现了一点有用的东西,希望能够帮助到大家。如有错误,请批评指正。

以前,单独SD卡的时候,是用单独的GPIO来检测SD的插入&拔出。    pdata->status_gpio = of_get_named_gpio_flags(np, "cd-gpios", 0, &flags);

现在,手机行业流行使用三选二卡槽,高通在比较新的平台 为适应这种主流修改了检测方式,来使用三选二卡槽。

新平台中在兼容以前GPIO检测的方式外,又添加了轮询机制来检测SD以可以使用三选二卡槽。

    if (!gpio_is_valid(msm_host->pdata->status_gpio)) {
        msm_host->polling.show = show_polling;
        msm_host->polling.store = store_polling;
        sysfs_attr_init(&msm_host->polling.attr);
        msm_host->polling.attr.name = "polling";
        msm_host->polling.attr.mode = S_IRUGO | S_IWUSR;
        re

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

u影动

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值