USER GUIDE / MEMORY / EMMC SD / REGISTER LIST

寄存器列表

本章将介绍所有软件可访问寄存器的功能。

表1 寄存器内存映射表基址
名称基地址说明
MSC00x13300000MSC0 的地址基数
MSC10x13310000MSC1 的地址基数

表 2 列出了所有 MSC 寄存器:

表2 MSC 寄存器映射表
名称复位值偏移地址说明
SDMASA_R0x000000000x000该寄存器用于根据主机地址配置32 位块计数或 SDMA 系统地址。
BLOCKSIZE_R0x00000x04该寄存器用于配置 SDMA 缓冲区边界和数据块中的字节数。
BLOCKCOUNT_R0x00000x06该寄存器用于配置数据块数
ARGUMENT_R0x000000000x08该寄存器用于配置 SD/eMMC 命令参数
XFER_MODE_R0x00000x0C该寄存器用于控制 SD/eMMC 模式的数据传输操作
CMD_R0x00000x0E该寄存器用于提供与命令和响应数据包相关的信息
RESP01_R0x000000000x10该寄存器用于保存卡的 RESP01_R 响应。
RESP23_R0x000000000x14该寄存器用于保存卡的 RESP23_R 响应。
RESP45_R0x000000000x18该寄存器用于保存卡的 RESP45_R 响应。
RESP67_R0x000000000x1C该寄存器用于保存卡的 RESP67_R 响应。
BUF_DATA_R0x000000000x20该寄存器用于访问数据包缓冲区。
PSTATE_REG0x000000000x24该寄存器指示主机控制器的当前状态。
HOST_CTRL1_R0x000x28该寄存器用于控制主机控制器的运行
PWR_CTRL_R0x000x29控制卡的总线电源。该寄存器适用于 SD/eMMC 模式...
BGAP_CTRL_R0x000x2A主机驱动程序应使用该寄存器控制与块间隙相关的任何操作。
WUP_CTRL_R0x000x2B该寄存器用于唤醒控制,唤醒功能取决于主机控制器的系统硬件和软件。
CLK_CTRL_R0x00000x2C该寄存器控制 SD/eMMC 模式下的 SDCLK(卡时钟)
TOUT_CTRL_R0x00000x2E超时控制寄存器
SW_RST_R0x000x2F向该寄存器的每一位写 1 时都会产生一个复位脉冲。完成复位后,主机控制器将清空每一位。
NORMAL_INT_STAT_R0x00000x30该寄存器反映正常中断的状态。该寄存器适用于 SD/eMMC 模式。
ERROR_INT_STAT_R0x00000x32错误中断状态使能寄存器可使能该寄存器中定义的信号。
NORMAL_INT_STAT_EN_R0x00000x34该 寄 存 器 使 能 正 常 中 断 状 态 寄 存 器(NORMAL_INT_STAT_R)的中断状态。
ERROR_INT_STAT_EN_R0x00000x36该寄存器为错误中断状态寄存器(ERROR_INT_STAT_R)设置中断状态。
NORMAL_INT_SIGNAL_EN_R0x00000x38该寄存器用于选择向主机系统指示中断状态。
ERROR_INT_SIGNAL_EN_R0x00000x3A该寄存器用于选择中断状态作为中断通知主机系统。
AUTO_CMD_STAT_R0x00000x3C该寄存器用于表示自动 CMD12 的 CMD12 响应错误和自动 CMD23 的 CMD23 响应错误。
HOST_CTRL2_R0x000000000x3E该寄存器用于控制主机控制器的运行方式。该寄存器适用于 SD/EMMC 模式。
CAPABILITIES1_R0x000000000x40该寄存器为主机驱动程序提供主机控制器实施的特定信息。
CAPABILITIES2_R0x000000000x44该寄存器为主机驱动器提供主机控制器实施的特定信息。
CURR_CAPABILITIES1_R0x000000000x48对于 VDD1,该寄存器表示各电压的最大能力。如果 Capabilities寄存器中VoltageSupport被设置,该值才有意义。
CURR_CAPABILITIES2_R0x000000000x4C对于 VDD1,该寄存器表示各电压的最大能力。如果 Capabilities寄存器中VoltageSupport被设置,该值才有意义。
FORCE_AUTO_CMD_STAT_R0x00000x50该寄存器为只写寄存器,用于设置自动 CMD 出错状态寄存器。
FORCE_ERROR_INT_STAT_R0x00000x52该寄存器为只写寄存器,用于设置错误中断状态寄存器
ADMA_ERR_STAT_R0x000000000x54该寄存器保存 ADMA 出错时的 ADMA 状态。该寄存器适用于 SD/eMMC 模式。
ADMA_SA_LOW_R0x000000000x58该寄存器保存用于 DMA 传输的低 32 位系统地址。该寄存器适用于 SD/eMMC 模式。
ADMA_SA_HIGH_R0x000000000x5C该寄存器保存用于 DMA 传输的高 32 位系统地址。该寄存器适用于 SD/eMMC 模式。
PRESET_INIT_R0x00000x60该寄存器定义 SD/eMMC 模式下初始化的预设值。
PRESET_DS_R0x00000x62该寄存器定义SD默认速度模式的预设值。
PRESET_HS_R0x00000x64该寄存器定义SD高速模式的预设值。。
PRESET_SDR12_R0x00000x66该寄存器定义SD SDR12、默认速度模式和EMMC 模式下的预设值
PRESET_SDR25_R0x00000x68该寄存器定义SD SDR25、高速模式和EMMC 模式下的预设值
PRESET_SDR50_R0x00000x6A该寄存器定义SD SDR50 速度模式的预设值。
PRESET_SDR104_R0x00000x6C该寄存器分别定义SD SDR104和 eMMC HS200速度模式下的预设值。
PRESET_DDR50_R0x00000x6E该寄存器分别定义SDDDR50、高速DDR模式和 eMMC 模式下的预设值。
PRESET_UHS2_R0x00000x74该寄存器用于保持eMMC HS400速度模式下的预设值
ADMA_ID_LOW_R0x000000000x78该寄存器用于保存低 32 位集成描述符地址。该寄存器适用于 SD/eMMC 模式。
ADMA_ID_HIGH_R0x000000000x7C该寄存器保高32 位集成描述符地址。
SLOT_INTR_STATUS_R0x00000xFC该寄存器显示每个插槽的中断状态。
HOST_CNTRL_VERS_R0x00050xFE主机控制器版本寄存器
MSC_VER_ID_R0x303230300x500该寄存器反映 MSC 的当前版本号
MSC_VER_TYPE_R0x67612a2a0x504该寄存器反映 MSC 的当前版本类型
MSHC_CTRL_R0x00010x508该寄存器控制MSC操作
EMMC_CTRL_R0x000000000x52C该寄存器控制 eMMC 操作
AT_CTRL_R0x010000040x540该寄存器控制tuning /auto-tuning的特性
AT_STAT_R0x000000000x544该寄存器反映tuning /auto-tuning的状态