Edit online

设计说明

26 Nov 2024
Read time: 1 minute(s)

源代码位于 drivers/mmc/host/

  • artinchip-mmc.c,SDMC 驱动实现

  • artinchip-mmc.h,SDMC 的寄存器、数据结构定义

Linux 中提供了 MMC 子系统,该子系统负责抽象一个块设备提供给通用块层使用,从整个软件的角度来看,架构如下:


sw_system19

1. Linux MMC 子系统架构图

其中:

  • 对用户而言,MMC card 层提供了一种块设备,和其他块设备使用方法类似。
  • MMC 子系统的核心层的功能有:
    • 对上层请求的处理,其中包括将请求转化为符合 MMC 协议的逻辑实现。

    • 对控制器驱动进行管理。

    • 将外部 MMC 设备抽象并进行管理。

  • AIC SDMC 控制器驱动:负责通过对寄存器的操作实现 MMC 子系统传来的请求。