内核源码自带SD/mmc控制器驱动,在drivers/mmc/目录下,s3c2440的SD控制器驱动文件为:drivers/mmc/host/s3cmci.c
修改mach-xc2440.c 文件,支持SD Host控制器驱动:
加入必要的头文件:
#include
xc2440_devices[ ]结构体中加入sdi的platform_device:
&s3c_device_sdi,
创建s3c2440的SD控制器的平台数据:
- /* SD Card */
-
static struct s3c24xx_mci_pdata xc2440_mmc_cfg __initdata = {
-
.gpio_detect = S3C2410_GPG(8),
-
.no_wprotect = 1,
-
.set_power = NULL,
-
.ocr_avail = MMC_VDD_32_33|MMC_VDD_33_34,
-
};
gpio_detect指定SD_CD所接的中断管脚,XC2440开发板上接的是GPG8
no_wprotect指定是否使用写保护管脚,XC2440开发板的SD卡电路没有接写保护,所以赋值为1
在xc2440_machine_init函数中加入设置platdata函数:
s3c24xx_mci_set_platdata(&xc2440_mmc_cfg);
配置内核,支持SD:
- Device Drivers --->
- <*> MMC/SD/SDIO card support --->
- <*> MMC block device driver
- <*> Use bounce buffer for simple hosts
- <*> Sumsung S3C SD/MMC Card Interface support
内核启动时打印的调试信息:
s3c-sdi s3c2440-sdi: powered down.
s3c-sdi s3c2440-sdi: mmc0 - using pio, sw SDIO IRQ
阅读(171) | 评论(0) | 转发(0) |