fl2440添加SD卡驱动

fl2440添加SD卡驱动

linux中对s3c2440的驱动已经完善得比较好,如果需要使用相关驱动,我们只需要在make menuconfig中选上相应的配置选项,并且稍稍修改内核源码就可以使用相关驱动。SD卡的驱动也不例外

make menuconfig 选项
   Device Drivers  ---> 
        <*> MMC/SD/SDIO card support  --->  
                     <*>   MMC block device driver 
                     [*]     Use bounce buffer for simple hosts 
                     <*>   SDIO UART/GPS class support   
                     <*>   Secure Digital Host Controller Interface support 
                     <*>   MMC/SD/SDIO over SPI  
                     <*>   Samsung S3C SD/MMC Card Interface support  

修改内核源码

mach-smdk2440.c

在 kernel/arch/arm/mach-s3c2440/mach-smdk2440.c文件中添加SD卡平台设备,如下所示:
static struct platform_device *smdk2440_devices[] __initdata = {
&s3c_device_ohci,
&s3c_device_lcd,
&s3c_device_wdt,
&s3c_device_i2c0,
&s3c_device_iis,
&s3c_device_dm9000,
/* 添加下SD卡 的设备成员 */
&s3c_device_sdi,/* suport SD card device,Add by liwannneg 2017-4-16 12:38:35 */
};

s3cmci.c

在./drivers/mmc/host/s3cmci.c文件中修改s3cmci_probe函数,设置检测SD卡插入的中断号,及配置响应的引脚为中断功能。如下所示:
static int __devinit s3cmci_probe(struct platform_device *pdev)
{

// host->irq_cd = gpio_to_irq(host->pdata->gpio_detect);
host->irq_cd = IRQ_EINT18;//sd卡中断号为18
s3c2410_gpio_cfgpin(S3C2410_GPG(10),S3C2410_GPG10_EINT18);


}

根据FL2440的原理图,我们将SD卡插入的中断号设置为18,其原理图如下所示:
这里写图片描述
NCD PIN脚是用于检测SD卡插入的引脚,由图可以看出 NCD接的是 EINT18 号外部中断。

重新编译内核

完成以上修改之后,重新编译内核并烧录到开发板,在关机状态下插入SD卡之后开机。

这里写图片描述
可以在dev目录下看到sd卡的设备文件
这里写图片描述
现在列查看sd卡里面的内容
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值