CSDN_Acanoe 的博客:http://blog.csdn.net/ACanoe
可能不算什么移植了,参考了 CSDN 博友的博客。
硬件环境:OK6410 A板。 主机环境:XP, VMware Ubuntu10.10。 移植内核版本:Linux2.6.36.2。 驱动参考:飞凌提供的内核。
对于USB-HOST功能:
其实2410的OHCI驱动已经相当完善,但是由于OK6410来说,还需要一个48M 的时钟信号产生,才能使能USB-HOST功能
第一步,在mach-ok6410.c里面添加头文件
#include <plat/regs-usb-hsotg-phy.h>
#include <plat/clock.h>
然后在任意一个地方添加
#ifdef CONFIG_USB_SUPPORT
void s3c_hsotg_phy_config(int enable) {
u32 val;
if (enable) {
__raw_writel(0x0, S3C_PHYPWR); /* Power up */
val = __raw_readl(S3C_PHYCLK);
val &= ~S3C_PHYCLK_CLKSEL_MASK;
__raw_writel(val, S3C_PHYCLK);
__raw_writel(0x1, S3C_RSTCON);
udelay(5);
__raw_writel(0x0, S3C_RSTCON); /* Finish the reset */
udelay(5);
} else {
__raw_writel(0x19, S3C_PHYPWR); /* Power down */
}
}
EXPORT_SYMBOL(s3c_hsotg_phy_config);
#endif
这段代码是参靠飞凌的,而这段代码实现的就是一个输出48M时钟信号的开关,当enable=1时,执行enable部分的代码,使能48M时钟信号输出,当enable=0时,执行else部分的代码,就禁止48M时钟信号,最后还需要在ok6410_machine_init(void)单板初始化函数里面添加48M时钟使能信号:
s3c_hsotg_phy_config(1);
以及在硬件初始化函数*ok6410_devices[] __initdata里面添加&s3c_device_usb_hsotg,默认下*ok6410_devices[] __initdata里面已经添加了&s3c_device_ohci,所以我们不需要再添加了。
而对于这个函数的实现是在/drivers/usb/目录下的相应的驱动函数里定义的,不需要去自己写。
最后就是在MAKE MENUCONFIG时,选中USB选项里面的相关项目就行了:
DEVICE DRIVERS--------->
<*> Support for Host-side USB
[*] USB verbose debug messages
[*] USB announce new devices
*** Miscellaneous USB options ***
[*] USB device filesystem (DEPRECATED)
[*] USB device class-devices (DEPRECATED)
<*> OHCI HCD support
好了,到这里,就完成了 OK6410的LINUX2.6.39.2的USB-OTG功能了,编译,运行,试试,呵呵,如果你们想看相关驱动代码的话,就直接到/linux2.6.39.2/drivers/usb/core以及/linux2.6.39.2/drivers/usb/host里面看看
分享到:
相关推荐
FT2232H应用芯片的USB驱动软件,主要用于FT2232H的应用 CDM v2.12.36.2 WHQL Certified
python库。 资源全名:gitopenlib-0.1.36.2.tar.gz
wordpress插件_seo-by-rank-math.1.0.36.2.zip wordpress资源合集:https://blog.csdn.net/liujinbao8000/article/details/103649882
替代之前的jar包,为了解决过时的方法,这里只修改了两行代码。disconf版本是2.6.36
linux kernel 2.6.36.2 code
山东省济宁市邹城市北宿中学八年级生物下册6.2.36.2.5能量流动和物质循环生态系统的自我调节导学案无答案新版济南版
提权EXP,C语言版本,各种LINUX版本都有 2[1].6.18-194_0 2.69 2.6.36.2rar 2.6.24 2.6.18全 2.6.18-194 2.6.18 ·····
7.1.2.6. 创建你的视图脚本 7.1.2.7. 创建你自己的错误控制器 7.1.2.8. 访问站点! 7.2. Zend_Controller 基础 7.3. 前端控制器 7.3.1. 概述 7.3.2. 主要方法 7.3.2.1. getInstance() 7.3.2.2. ...
forge-1.16.5-36.2.8-installer.jar
2.6 存储类限定符 2.7 变量初始化 2.8 常量 2.9 运算符 2.10 表达式 第3章 语句 3.1 C和C++中的真值和假值 3.2 选择语句 3.3 迭代语句 3.4 在选择和迭代语句内声明变量 3.5 跳转语句 3.6 表达式语句 3.7 块语句 第...
setuptools-36.2.0.zip 安装包
软件介绍: FTDI芯片的USB转串口并口线缆驱动程序。支持WINDOWS全系列操作系统,兼容32位和X64位,不支持WIN9X老系统。
setuptools-36.2.7
在win22k3安装python3.3找半天没找到对应版本的setuptools,最新版的不支持3.3,现在分享一哈
arm2.4G无线通信模块间实现,使用c语言编程
Linux setuptools 36.2.7 whl包setuptools-36.2.7-py2.py3-none-any.whl
Matplotlib Release 1.2.0 I User’s Guide 1 1 Introduction 3 2 Installing 5 2.1 Manually installing pre-built packages. . . . ....2.2 Installing from source ....2.3 Build requirements....2.4 Building on OSX....
检测器中测得的μon速率为$ 28.69 \ pm 2.09 $$ 28.69±2.09每天muons,调制幅度为($$ 2.64 \ pm 0.07 $$ 2.64±0.07)%,相位为Jul $ 22 \ pm 36.2 $ $ 22±36.2天。 这种年度调制与平流层中有效大气温度的变化...
editorconfig-checker6.16.26.2.16.2.26.2.36.2.46.2.56.2.6什么? 这是一个检查文件是否考虑.editorconfig -rules的工具。 大多数工具-例如linters-仅测试一种文件类型,并且需要额外的配置。 该工具只需要您的....