Linux内核4.14版本——mmc core(3)——host模块

本文详细介绍了Linux内核4.14版本中关于MMC host驱动的内容,涵盖数据结构如struct mmc_host、mmc_host_ops等,以及驱动编写步骤和主要API。讲解了MMC host的主要功能,包括数据传输、总线参数配置和电源管理,并提供了MMC host驱动的编写指南,强调了数据传输实现和mmc_request结构的重要性。
摘要由CSDN通过智能技术生成

1. 前言

2. MMC host驱动介绍

3. 主要数据结构

3.1 struct mmc_host

3.2 struct mmc_host_ops

3.2.1 数据传输有关的函数

3.2.2 总线参数的配置以及卡状态的获取函数

3.2.3 其它一些非主流函数,都是optional的,用到的时候再去细看即可

3.3 struct mmc_pwrseq

3.4 Host capabilities

3.5 struct mmc_ios

3.6 struct mmc_supply

3.7 struct mmc_request

3.7.1 MMC bus protocol

3.7.2 struct mmc_request

3.7.3 struct mmc_command

3.7.4 struct mmc_data

4. 主要API

4.1 向MMC host controller driver提供的用于操作struct mmc_host的API

4.1.1 mmc_alloc_host

4.1.2 mmc_add_host

4.1.3 其他

4.2 用于判断MMC host controller所具备的能力的API

5. MMC host驱动的编写步骤

5.1 struct mmc_host的填充和注册

5.2 数据传输的实现

5.2.1 Sectors(扇区)、Blocks(块)以及Segments(段)的理解

5.2.2 struct mmc_data中的sg

6. 参考文档


1. 前言

       本文将从驱动工程师的角度,介绍MMC host controller driver有关的知识,学习并掌握如何在MMC framework的框架下,编写MMC控制器的驱动程序。同时,通过本篇文章,我们会进一步的理解MMC、SD、SDIO等有关的基础知识。

2. MMC host驱动介绍

       MMC的host driver,是用于驱动MMC host控制器的程序,位于“drivers/mmc/host”目录。从大的流程上看,编写一个这样的驱动非常简单,只需要三步:

      1)调用mmc_alloc_host,分配一个struct mmc_host类型的变量,用于描述某一个具体的MMC host控制器。
      2)根据MMC host控制器的硬件特性,填充struct mmc_host变量的各个字段,例如MMC类型、电压范围、操作函数集等等。
      3)调用mmc_add_host接口,将正确填充的MMC host注册到MMC

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值