SD卡移植

来源:互联网 发布:中国软件杯怎么样 编辑:程序博客网 时间:2024/05/17 01:50

首先在mach-mini6410.c中添加sdio控制器:

static struct platform_device *mini6410_devices[] __initdata = {    &s3c_device_hsmmc0,    &s3c_device_hsmmc1,};

同时,由于我们的开发板硬件上面的hsmmc0接口连接的是SD卡,而SDIO WIFI连接在hsmmc1上面,但是根据Tiny6410-1107.pdf,实际上只有hsmmc0接口引出了CD检测线。所以,对于hsmmc1,必须忽略他的检测线,否则会影响到hsmmc0的正常使用,打开/arch/arm/plat-samsung/dev-hsmmc1.c,修改:

struct s3c_sdhci_platdata s3c_hsmmc1_def_platdata = {    .max_width  = 4,    .host_caps  = (MMC_CAP_4_BIT_DATA |               MMC_CAP_MMC_HIGHSPEED | MMC_CAP_SD_HIGHSPEED),    .clk_type   = S3C_SDHCI_CLK_DIV_INTERNAL,    .cd_type    = S3C_SDHCI_CD_PERMANENT,/* 添加这一行 */};

修改内核配置:

-> Device Drivers                                                                                                -> MMC/SD/SDIO card support         【*】   MMC block device driver         (8)     Number of minors per block device         【*】  Use bounce buffer for simple hosts

编译完成后,可以看到
/dev/mmcblk0

热插拔:
在/etc/mdev.conf文件中添加:

mmcblk0p1   0:0 777 * /etc/hotplug_shell/sdcard_hotplug.sh

创建sdcard_hotplug.sh脚本,内容为:

#!/bin/shif [ $ACTION = "add" ];then    echo "SD CARD Insert.Mounting at /mnt/sd.";    mount -t vfat -o codepage=936,iocharset=utf8 /dev/$MDEV /mnt/sd;else    echo "SD CARD Disconnected.Unmount /mnt/sd.";    umount /mnt/sd;fi

最后添加执行权限即可:
chmod +x sdcard_hotplug.sh

0 0
原创粉丝点击