SD/MMC驱动2(SD检测)

SD卡座资料(带检测引脚)

 

 

 

可将CD引脚通过上拉电阻接到VDD用于SD的插入和拔出检测:

当拔出SD时,CD引脚的电压为VDD,否则为GND。

 

 

------------------------------------------

 

void mmc_rescan(struct work_struct *work)
{
 struct mmc_host *host =
  container_of(work, struct mmc_host, detect.work);
 u32 ocr;
 int err;

 mmc_bus_get(host);

 if (host->bus_ops == NULL) {  //When we find a MMC,when

 

......

/*
   * ...and finally MMC.
   */
  err = mmc_send_op_cond(host, 0, &ocr);
  if (!err) {
   if (mmc_attach_mmc(host, ocr))
    mmc_power_off(host);
   goto out; 
  }

  mmc_release_host(host);
  mmc_power_off(host);

 

 } else {  //remove the MMC
  if (host->bus_ops->detect && !host->bus_dead)
   host->bus_ops->detect(host);

  mmc_bus_put(host);
 }

 

 

(a).When we find a new MMC card:

mmc_attach_mmc->mmc_add_card->mmc_bus_probe->mmc_blk_probe

 

Add the MMC device node danamicly;

 

(b).When we remove a MMC card:

host->bus_ops->detect(host)->mmc_detect->mmc_remove->mmc_remove_card->mmc_bus_remove->mmc_blk_remove

Remove the MMC device node.

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值