(1)添加三星的mmc驱动
在三星中复制的文件 #mmc.c drivers/mmc/mmc.c
#s3c_hsmmc.c drivers/mmc/s3c_hsmmc.c
#mmc.h include/mmc.h ./include/
#cmd_mmc.c common/cmd_mmc.c
#s3c_hsmmc.h include/s3c_hsmmc.h
(2)修改mmc目录下的Makefile文件
(3)修改goni目录下的Makefile文件
(4)修改mmc.c
int mmc_initialize(bd_t *bis)
{
struct mmc *mmc;
int err;
INIT_LIST_HEAD(&mmc_devices);
cur_dev_num = 0;
if (board_mmc_init(bis) < 0)
cpu_mmc_init(bis);
#if defined(DEBUG_S3C_HSMMC)
print_mmc_devices(',');
#endif
mmc = find_mmc_device(0);
if (mmc) {
err = mmc_init(mmc);
if (err)
err = mmc_init(mmc);
if (err) {
printf("Card init fail!\n");
return err;
}
}
printf("%ldMB\n", (mmc->capacity/(1024*1024/mmc->read_bl_len)));
return 0;
}
(5)修改goni.c
#ifdef CONFIG_S3C_HSMMC setup_hsmmc_clock(); setup_hsmmc_cfg_gpio(); return smdk_s3c_hsmmc_init(); #else return 0; #endif
(6)修改s5p_goni.h
(7)移植测试
mmc设备列表 读取扇区1的数据到0x30000000
查看0x300000的数据
写mmc数据和查看写的数据