×

签到

分享到微信

打开微信,使用扫一扫进入页面后,点击右上角菜单,

点击“发送给朋友”或“分享到朋友圈”完成分享

【经验总结】基于MLU220-SOM实现SD卡热插拔功能 opabinia2023-01-11 10:44:30 回复 查看 经验交流
【经验总结】基于MLU220-SOM实现SD卡热插拔功能
分享到:

1、热插拔状态获取

通过GPIO获取当前SD Card的插入状态,以SD大卡及TF卡为例,卡座功能管脚定义:


image2023-1-10_16-11-6.png

2、热插拔机制实现

SD Card热插拔实现,就是对SD Card的插入状态的监控。通常来说有两种方式中断监控和轮询监控。mmc core会选择其中的一种方式来监控SD Card的插入状态。

以下操作以【中断方式】进行监控:

cd-gpios = <&cambr_gpio 4 GPIO_ACTIVE_LOW>;

备注:

【cd-gpios】:这个属性名的定义取决于host driver将cd-gpio定义成了什么名字。
【cambr_gpio】:也就是需要确认硬件原理图中的GPIO所连接使用的gpio controller
【4】:sd card的cd引脚所连接的gpio编号
【GPIO_ACTIVE_LOW】:取决于host driver如何解释这个flag的,一般来说,GPIO_ACTIVE_LOW表示低电平有card插入,GPIO_ACTIVE_HIGH则表示高电平有card插入.

【相关修改的dts文件位置】:/MLU220/1.7.610/MLU220-EDGE/release/neuware/opensrc/opensrc/linux/arch/arm64/boot/dts/cambricon/cambr-c20e-emmc.dts

【相关属性介绍,可参考内核设备树binding说明文件】:/MLU220/1.7.610/MLU220-EDGE/release/neuware/opensrc/opensrc/linux/Documentation/devicetree/bindings/mmc/mmc.txt

image2023-1-10_16-48-33.png

3、参考资料

SD卡热插拔机制可以参考下这个CSDN:https://blog.csdn.net/u013836909/article/details/120913583
Linux内核驱动基础-设备树相关总线使用: https://blog.csdn.net/lqijlyy/article/details/83096539
Linux SD卡/SDIO驱动开发0-基本知识:https://blog.csdn.net/lqijlyy/article/details/83096539




版权所有 © 2022 寒武纪 Cambricon.com 备案/许可证号:京ICP备17003415号-1
关闭