文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Linux 2.6.22.6移植到S3C2410(gec2410)之:USB驱..

Linux 2.6.22.6移植到S3C2410(gec2410)之:USB驱..

时间:2009-07-03  来源:mijianbin2008

Linux 2.6.22.6移植到S3C2410(gec2410)之:USB驱动移植

 

参照资料

http://blog.chinaunix.net/u3/93290/showart_1904445.html  (不是很完整)

 

 

下面主要例一下修改过的地方

移植步骤:

1. 修改在arch/arm/mach-s3c2410目录下的mach-smdk2410.c,添加如下内容

//添加usb头文件

#include <asm/arch/usb-control.h>

#include <asm/arch/regs-clock.h>

#include <linux/device.h>

#include <linux/delay.h>

 

 

//……………………………………………………………………………………usb

static struct s3c2410_hcd_info usb_sbc2410_info = {

               .port[0]        = {

               .flags  = S3C_HCDFLG_USED

       }

};

 

int usb_sbc2410_init(void)

{

unsigned long upllvalue = (0x78<<12)|(0x02<<4)|(0x03);

printk("USB Control, (c) 2006 sbc2410\n");

s3c_device_usb.dev.platform_data = &usb_sbc2410_info;

while(upllvalue!=__raw_readl(S3C2410_UPLLCON))

{

__raw_writel(upllvalue,S3C2410_UPLLCON);

mdelay(1);

}

return 0;

}

 

注(__raw_readl 和__raw_writel ,“l”是字每来的)

 

 

static struct platform_device *smdk2410_devices[] __initdata = {

        &s3c_device_usb,

//      &s3c_device_lcd,

        &s3c_device_wdt,

        &s3c_device_i2c,

        &s3c_device_iis,

    &s3c_device_usbgadget,

};

 

 

static void __init smdk2410_map_io(void)

{

        s3c24xx_init_io(smdk2410_iodesc, ARRAY_SIZE(smdk2410_iodesc));

        s3c24xx_init_clocks(0);

        s3c24xx_init_uarts(smdk2410_uartcfgs, ARRAY_SIZE(smdk2410_uartcfgs));

        s3c24xx_set_board(&smdk2410_board);

        usb_sbc2410_init();

 

}

 

 

2. 编译内核,选中所装驱动,配置USB鼠标键盘

#make menuconfig

Device Drivers >

       USB support --->

            <*> Support for Host-side USB

            <*> OHCI HCD support

--- USB Input Devices

<*> USB Human Interface Devices (full HID) support

[*] HID input layer support

 

3. 配置U盘支持

因为要优盘用到了SCSI 命令,所以我们先增加SCSI 支持。

在Device Drivers 菜单里面,选择SCSI device support

#make menuconfig

Device Drivers >

       SCSI device support --->

            [*] legacy /proc/scsi support

<*> SCSI disk support

然后选择<Exit>返回Device Drivers 菜单,再选择 USB support,按回车进入USB support菜单找到并选中

Device Drivers >

            USB support --->

<*> USB Mass Storage support

                [*]     USB Mass Storage verbose debug

 

Mount  /dev/sda1 usb/

 

相关阅读 更多 +
排行榜 更多 +
fps僵尸生存安卓版

fps僵尸生存安卓版

飞行射击 下载
fps多人射击

fps多人射击

飞行射击 下载
空中风笛

空中风笛

飞行射击 下载