设计说明
26 Nov 2024
Read time: 1 minute(s)
源代码位于 drivers/mmc/host/:
-
artinchip-mmc.c,SDMC 驱动实现
-
artinchip-mmc.h,SDMC 的寄存器、数据结构定义
Linux 中提供了 MMC 子系统,该子系统负责抽象一个块设备提供给通用块层使用,从整个软件的角度来看,架构如下:
其中:
- 对用户而言,MMC card 层提供了一种块设备,和其他块设备使用方法类似。
- MMC 子系统的核心层的功能有:
-
对上层请求的处理,其中包括将请求转化为符合 MMC 协议的逻辑实现。
-
对控制器驱动进行管理。
-
将外部 MMC 设备抽象并进行管理。
-
- AIC SDMC 控制器驱动:负责通过对寄存器的操作实现 MMC 子系统传来的请求。