歡迎您光臨本站 註冊首頁

linux-2.6.24.3下移植SD/MMC到S3C2440上的全過程

←手機掃碼閱讀     火星人 @ 2014-03-26 , reply:0

creator
sz111@126.com

移植SD/MMC驅動,費勁周折,問題最大是patch不對。不過千辛萬苦總算是找到了。特來分享。

1.首先下載2.6.24.3內核源碼。其他內核不保證可以。移植部分就不講了,如果不會參考我的其他文章。我僅僅測試了這個。

2.去http://svnweb.openmoko.org/*chec ... _mci.patch?rev=4096

下載SD/MMC patch,其他早期版本不行,我就栽倒了這個地方。

3.把 s3c_mci.patch copy到linux-2.6.24.3下。執行patch -p1
4.make menuconfig,選擇MMC/SD ,選擇語言CP437,ISO 8859-1,最好也同時選擇SCSI相關的東西吧,連USB也一塊支持了。(昨天SD一直不成功,就把U盤測試了,至少要保證有成績啊。

5.對於patch生成的s3cmci.c還要加入detect腳位,我選擇的是S3C2410_GPG8。設定:

static struct s3c24xx_mci_pdata s3cmci_def_pdata = {
.do_dma = 0,
.gpio_detect = S3C2410_GPG8,
.set_power = NULL,
.ocr_avail = MMC_VDD_32_33,
};

6.編譯下載。
出現信息如下:
--------start mdev-------
s3c2440-sdi s3c2410-sdi: running at 0kHz (requested: 0kHz).
s3c2440-sdi s3c2410-sdi: running at 198kHz (requested: 197kHz).
s3c2440-sdi s3c2410-sdi: running at 198kHz (requested: 197kHz).
s3c2440-sdi s3c2410-sdi: running at 198kHz (requested: 197kHz).
s3c2440-sdi s3c2410-sdi: CMD[FAIL(-110)] #2 op:CMD8 arg:0x000001aa flags:0x082f5
retries:0 Status:nothing to complete
s3c2440-sdi s3c2410-sdi: CMD[FAIL(-110)] #3 op:CMD5 arg:0x00000000 flags:0x082e1
retries:3 Status:nothing to complete
s3c2440-sdi s3c2410-sdi: CMD[FAIL(-110)] #4 op:CMD5 arg:0x00000000 flags:0x082e1
retries:2 Status:nothing to complete
s3c2440-sdi s3c2410-sdi: CMD[FAIL(-110)] #5 op:CMD5 arg:0x00000000 flags:0x082e1
retries:1 Status:nothing to complete
s3c2440-sdi s3c2410-sdi: CMD[FAIL(-110)] #6 op:CMD5 arg:0x00000000 flags:0x082e1
retries:0 Status:nothing to complete
s3c2440-sdi s3c2410-sdi: running at 198kHz (requested: 197kHz).
s3c2440-sdi s3c2410-sdi: running at 198kHz (requested: 197kHz).
s3c2440-sdi s3c2410-sdi: running at 198kHz (requested: 197kHz).
s3c2440-sdi s3c2410-sdi: CMD[FAIL(-110)] #10 op:CMD8 arg:0x000001aa flags:0x082f
5 retries:0 Status:nothing to complete
s3c2440-sdi s3c2410-sdi: running at 198kHz (requested: 197kHz).
s3c2440-sdi s3c2410-sdi: running at 16875kHz (requested: 25000kHz).
s3c2440-sdi s3c2410-sdi: running at 16875kHz (requested: 25000kHz).
mmc0: new SD card at address 73ef
mmcblk0: mmc0:73ef SD064 62080KiB
mmcblk0:<7>mmc0: starting CMD18 arg 00000000 flags 000000b5
p1
***********************
love linux
starting pid 801, tty '': '-/bin/sh'

Processing /etc/profile...
Set search library path in /etc/profile
Set user path in /etc/profile
Done

[root@/]#cat /proc/partitions
major minor #blocks name

31 0 384 mtdblock0
31 1 2048 mtdblock1
31 2 63040 mtdblock2
179 0 62080 mmcblk0
179 1 62060 mmcblk0p1
[root@/]#mount -t vfat /dev/mmcblk0p1 /mnt/temp

成功,ok。感謝所有的Linux開發和支持者。感謝openmoko開源軟體。

[火星人 ] linux-2.6.24.3下移植SD/MMC到S3C2440上的全過程已經有619次圍觀

http://coctec.com/docs/linux/show-post-186502.html