Advertisement

SD使用gpio方式检测卡热插拔

阅读量:

在sd __ slot接口中,detect pin连接至soc的gpio pin,当进行插拔操作时,将触发gpio中断信号,随后通过读取gpio引脚的电平状态来判断存储卡是否处于插入状态。

硬件支持

从实际观察可知,尽管TF CARD(micro __)仅配备8个引脚,但卡座额外设置了一个CD引脚(DET_SWITCH),该引脚可连接至一个GPIO接口。

我的推测是,在TF CARD卡座设计中,当插入TF CARD时,会将CD引脚(DET_SWITCH)的电平拉低。

因此,

在未插入卡片的状态下,DET_SWITCH所连接的GPIO引脚将保持高电平状态。

而在卡片插入后,DET_SWITCH对应的GPIO引脚则会转变为低电平状态。

在DTS配置中,例如使用gpio1_a8:

//broken-cd;

cd-gpios = <&ax_gpio1 8 0>;

cd-inverted;

相关代码位于linux-5.15.73\drivers\ mmc \core\slot-gpio.c文件中。

在代码执行过程中,获取cd_gpio的操作流程为:

mmc_of_parse

全部评论 (0)

还没有任何评论哟~