SDIO说明
图 1-1 显示了 SDIO 相关规范。 SDIO 总线规范由物理层规范和SDIO简化规范定义。Combo Card的内存部分由物理层规范指定。 SDIO 和 Combo Card 在后端具有 SDIO 功能。与基本 SDIO 规范相关联的是标准 SDIO 功能的几个应用规范。 SDIO 的特性由 SDIO 功能决定。需要卡驱动程序和应用软件来控制该功能。
SDIO起源于SD标准,专注于实现IO数据收发;SD起源于MMC,所以在Linux中统一归于mmc目录:
MMC框架
Host driver就是驱动Soc上的Host Controller,这就离不开具体的Soc。RK3568上是The Mobile Storage Host Controller(mshc)
MMC子系统代码主要在drivers/mmc目录下,共有三个目录:
Card:存放闪存卡(块设备)的相关驱动,如MMC/SD卡设备驱动,SDIOUART;
Host:针对不同主机端的SDHC、MMC控制器的驱动,这部分需要由驱动工程师来完成;
Core:整个MMC的核心层,这部分完成不同协议和规范的实现,为host层和设备驱动层提供接口函数。
MMC主机
//SDIO HOST之bus
static struct bus_type sdio_bus_type = {
.name = "sdio",
.dev_groups = sdio_dev_groups,
.match = sdio_bus_match,
.uevent = sdio_bus_uevent,
.probe = sdio_bus_probe