现在的位置: 首页 > 综合 > 正文

基于S3C2410平台USB Host Driver for Linux 2.6移植

2013年01月07日 ⁄ 综合 ⁄ 共 884字 ⁄ 字号 评论关闭
USB Host Driver for Linux 2.6移植
#vi $KERNEL/arch/arm/mach-s3c2410/mach-smdk2410.c
添加头文件:
#include <asm/arch/usb-control.h>
#include <asm/arch/regs-clock.h>
#include <linux/device.h>
#include <linux/delay.h>
添加USB Host Driver注册信息:
struct s3c2410_hcd_info usb_s3c2410_info = {
              .port[0] = {
                     .flags = S3C_HCDFLG_USED
              }
};
int smdk2410_usb_init(void)
{
              /* USB */
              unsigned long upllvalue = (0x78<<12)|(0x02<<4)|(0x03);
              printk("USB Control, (c) 2006 s3c2410/n");
              s3c_device_usb.dev.platform_data = &usb_s3c2410_info;
              while(upllvalue!=__raw_readl(S3C2410_UPLLCON))
              {
                     __raw_writel(upllvalue,S3C2410_UPLLCON);
                     mdelay(1);
              }
              return 0;
}
        

 

        在smdk2410_map_io函数中调用 usb 的初始化,如下所示:
              static void __init smdk2410_map_io(void)
{
       …… //代码省略
       smdk2410_usb_init();
}

抱歉!评论已关闭.