现在的位置: 首页 > 综合 > 正文

mmc子系统学习笔记五 mmc子系统的代码组织

2018年04月17日 ⁄ 综合 ⁄ 共 1206字 ⁄ 字号 评论关闭

         有了上一篇mmc子系统学习笔记四 mmc子系统的结构组织的介绍,看下面的代码似乎容易了许多,这篇文章,walfred就把基于Linux 2.6.32 高通msm的bsp代码,以及mmc子系统的驱动代码先交待出来,这样看起来会更有针对性。

BSP相关代码

         在soc系统中,sdcc不可能单独使用cpu的接口连接mmc总线,或者sdio总线,也不会使用spi,sci等,故直接集成到cpu中,充作一个platform_device。

     arch/arm/

         mach-msm/

              board-mahimahi-mmc.c /*初始化platform_device,并将其添加到platform_bus上*/

              board-qsd8x50.c /*platform_device的资源定义*/

 mmc驱动相关代码

     driver/

         mmc/

              card/

                   block.c /*描述了一个块设备驱动;*/

                   queue.c /*上述块设备驱动的请求队列等的实现;*/

 

              core/  /*mmc子系统的核心层次*/

                   bus.c /*mmc_bus相关,包括驱动mmc_driver注册,及设备mmc_card设备及驱动注册*/

                   core.c /*核心,调用sd,mmc,sdio操作函数*/

                      

                   mmc_ops.c /*cmd0 cmd8*/

                   mmc.c /*主要是将mmc设备初始化成mmc_card添加到mmc总线,在添加之前需要完成的初始化,获取寄存器信息等;*/

                    

                   sdio_ops.c /*cmd5和cmd52*/

                   sdio.c 主要是将sdio设备初始化成mmc_card添加到mmc总线,在添加之前需要完成的初始化,获取寄存器信息等;

 

                   sd_ops.c /*cmd41相关*/

                   sd.c 主要是将sd设备初始化成mmc_card添加到mmc总线,在添加之前需要完成的初始化,获取寄存器信息等;

 

              host/

                   host.c /*和host相关的一些函数*/

                   msm_sdcc.c /*Qualcomm MSM 7X00A SDCC Driver*/

                   其他平台暂时忽略

抱歉!评论已关闭.