首页 理论教育深入解析MMC电源管理

深入解析MMC电源管理

【摘要】:对于MMC整体的电源管理,首先来看总线部分,在mmc_bus_type中与电源管理相关的操作接口如下:可见其中实现了SLM以及runtime pm的接口。另外在实际操作过程中为了减少功耗,MMC框架提供了mmc_host_enable和mmc_host_disable接口,用于总线控制器的电源管理操作,在需要时enable,不需要时disable。DM 3730的MMC总线控制器相应的操作如下:以suspend操作为例进行分析,细节如下:可见不仅对总线进行了具体操作1还将总线的power切断,做得还是很彻底的。这样MMC总线的电源管理部分就基本完整了。

对于MMC整体的电源管理,首先来看总线部分,在mmc_bus_type中与电源管理相关的操作接口如下:

可见其中实现了SLM以及runtime pm的接口。SLM以suspend操作为例,细节如下:

可见主要是执行驱动的suspend操作,在MMC框架中就是mmcblk驱动,相应的接口是mmc_blk_suspend,其中实际的操作就是通过blk_stop_queue来停止接收块操作请求。

以runtime suspend的接口为例讲解runtime pm的接口。在MMC框架中接口是mmc_runt-ime_suspend,其会通过mmc_power_save_host来调用mmc_bus_ops中的power_save接口,进行runtime pm的操作。实际中power_save接口并没有进行设置。

另外在实际操作过程中为了减少功耗,MMC框架提供了mmc_host_enable和mmc_host_disable接口,用于总线控制器的电源管理操作,在需要时enable,不需要时disable。这样可以降低控制器的功耗,而mmc_host_ops中需要提供enable和disable接口进行相应的操作。(www.chuimin.cn)

总线控制器的电源管理操作,主要是由platform driver提供的。DM 3730的MMC总线控制器相应的操作如下:

以suspend操作为例进行分析,细节如下:

可见不仅对总线进行了具体操作1还将总线的power切断,做得还是很彻底的。

这样MMC总线的电源管理部分就基本完整了。