Chinaunix首页 | 论坛 | 博客
  • 博客访问: 10299
  • 博文数量: 8
  • 博客积分: 440
  • 博客等级: 下士
  • 技术积分: 70
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-03 10:39
文章存档

2010年(8)

我的朋友
最近访客

分类: 嵌入式

2010-12-12 13:41:23

添加SD设备到设备初始化列表中:
# gedit arch/arm/plat-s3c24xx/common-smdk.c
在176行:
/* devices we initialise */
static struct platform_device __initdata *smdk_devs[] = {
      &s3c_device_nand,
      &s3c_device_sdi, //加入这句
                       //注 :参考原文中是添加这句,但在这个版本的SD卡驱动正常移植过程中并没有加入这行
      &smdk_led4,
      &smdk_led5,
      &smdk_led6,
      &smdk_led7,
};
添加和开发板相关的 SD 卡中断处理:
# gedit drivers/mmc/host/s3cmci.c
在1338行,添加如下内容:
host->irq_cd = IRQ_EINT16;
s3c2410_gpio_cfgpin(S3C2410_GPG8, S3C2410_GPG8_EINT16);
后来发现,系统启动后插入大容量卡时会出现初始化错误的问题,网上找到答案--供电不足~~解决方法:
# gedit drivers/mmc/core/sd.c
找到 mmc_sd_init_card() 函数的定义,
在调用 mmc_read_switch(card) 函数前加上10ms的延时,即加入下面一句:
mdelay(10);
配置:
# make menuconfig
选上以下几项:
Device Drivers --->
        *> MMC/SD/SDIO card support --->
        --- MMC/SD/SDIO card support
                *** MMC/SD/SDIO Card Drivers ***
                        *> MMC block device driver
                *** MMC/SD/SDIO Host Controller Drivers ***
                        *> Samsung S3C SD/MMC Card Interface support
编译:
# make zImage
 
正常启动情况下,超级终端显示的相关启动信息如下:
s3c2440-sdi s3c2440-sdi: powered down.                                     
s3c2440-sdi s3c2440-sdi: initialisation done.                                            
s3c2440-sdi s3c2440-sdi: running at 0kHz (requested: 0kHz).                                                          
s3c2440-sdi s3c2440-sdi: running at 198kHz (requested: 197kHz).                                                              
s3c2440-sdi s3c2440-sdi: running at 198kHz (requested: 197kHz).                                                              
s3c2440-sdi s3c2440-sdi: running at 198kHz (requested: 197kHz).                                                              
s3c2440-sdi s3c2440-sdi: running at 198kHz (requested: 197kHz).                                                              
s3c2440-sdi s3c2440-sdi: running at 198kHz (requested: 197kHz).                                                              
s3c2440-sdi s3c2440-sdi: running at 198kHz (requested: 197kHz).                                                              
usbcore: registered new interface driver usbhid                                              
usbhid: v2.6:USB HID core driver                               
Advanced Linux Sound Architecture Driver Version 1.0.18a.                                                        
s3c2440-sdi s3c2440-sdi: running at 198kHz (requested: 197kHz).                                                              
No device for DAI UDA134X                        
No device for DAI s3c24xx-i2s                            
S3C24XX_UDA134X SoC Audio driver                               
UDA134X SoC Audio Codec                      
s3c2440-sdi s3c2440-sdi: running at 16875kHz (requested: 25000kHz).                                                                  
s3c2440-sdi s3c2440-sdi: running at 16875kHz (requested: 25000kHz).                                                                  
mmc0: new SD card at address 0002                                
asoc: UDA134X <-> s3c24xx-i2s mapping ok                                       
mmcblk0: mmc0:0002 SD256 245 MiB                               
 mmcblk0: p1           
 
参考移植方法链接:
 
 
 
 
 
 
 
 
 
 
 
 
 
阅读(390) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~