AM335x MMC/SD Driver's Guide
/******************************************************************
* author: 卢浩
* time: 2012.09.12
* environment: ubuntu10.04LTS +TI AM3359
* kernel version: linux-3.2
* QQ Group For Technology Exchange:122879839
******************************************************************/
介绍
AM335x有三个MMC / SD / SDIO主控制器, 为MMC,SD记忆卡或SDIO卡提供了与CPU之间的接口。当前版本的用户指南主要谈了MMC/ SD控制器。
MMC / SD驱动程序在主控制器上被实现为一个块设备驱动程序;作为一个HSMMC的控制器驱动程序支持SD,SD高速卡和SDHC卡。
此驱动程序仅支持4位模式(没有SPI模式,1/8位)。
支持DMA和轮询模式下的数据传输。
MMC/ SD驱动程序架构
推荐两个关于SD/MMC的连接:
https://www.sdcard.org/home
http://www.mmca.org/home
首字母缩写词和定义:
驱动程序配置
默认的内核配置可以支持MMC / SD(内置到内核)。OMAP MMC/ SD驱动程序
用在AM335x。
MMC / SD/ SDIO驱动器的选择可以作如下修改:启动Linux内核的配置工具。
$ makeCROSS_COMPILE=arm-arago-linux-gnueabi- ARCH=arm menuconfig
从菜单中选择设备驱动:
编译进内核:
选择OMAP HS MMC驱动:
当作为一个内核模块:
设置完之后保存退出,
以下模块将生成:
把编译好的模块传到文件系统里面,输入以下的命令加载驱动模块:
如果udev的“正在运行,并且已经插入SD卡,要创建设备节点,文件系统会自动安装设备,如果卡设备驱动节点已经存在。创建块设备节点(如/ dev/mmcblockp1/ dev/mmcblockp2)用于用户空间的访问。