• «
  • 1
  • 2
  • »
  • Pages: 1/2     Go
主题 : 关于S3c6410的USB 2.0 HS OTG。 复制链接 | 浏览器收藏 | 打印
疯狂的嵌入式爱好者
级别: 论坛版主
UID: 40543
精华: 1
发帖: 169
金钱: 920 两
威望: 184 点
贡献值: 1 点
综合积分: 358 分
注册时间: 2011-03-19
最后登录: 2013-05-10
楼主  发表于: 2011-10-13 12:47

 关于S3c6410的USB 2.0 HS OTG。

          今天在6410上接U盘做临时服务器,实在受不了6410上的USB 1.1 HOST那个几百K的读写速度,想想我那个几十块的路由都支持USB 2,0,而这么好性能的ARM11处理器却只有USB 1.1的速度,决定动手开始解决USB OTG。
          大家都知道,S3C6410集成了一个USB OTG PHY,这样可以很方便地进行USB 数据传输。USB OTG标准在完全兼容USB2.0,至于USB 2.0 Full speed跟USB 2.0 High speed的差别,请自己阅读USB EHCI 2.0的白皮书。
           USB OTG标准在完全兼容USB2.0标准的基础上,增添了电源管理(节省功耗)功能,它允许设备既可作为主机,也可作为外设操作(两用OTG)。OTG两用设备完全符合USB2.0标准,并可提供一定的主机检测能力,支持主机通令协议(HNP)和对话请求协议(SRP)。
           简单地说,USB OTG既可以做DEVICE也可以做HOST。三星在datasheet里面明确说明,该USB OTG是符合USB 2.0 HS标准的。但是,友善之臂设计却么有把OTG作为HOST,而是作为的Device,这点有点遗憾,相对来说,我比较喜欢通过网络下载数据。
1.2.9.1 USB OTG 2.0 High Speed
• Complies with the On-The-Go Supplement to the USB 2.0 Specification (Revision 1.0a)
• Supports high speed (480Mbps), full speed (12Mbps, Device only), low speed (1.5Mbps, Host only)
• Configures as USB 1.1 full/low speed DRD(Dual-Role Device), Host-only or Device only controller

           最近在做的一个无线网关项目上,使用了Ralink RT3052F SOC,同样地使用USB OTG,并使用Synopsys的DWC_OTG驱动,我搜索了一下,很多USB OTG都使用了该驱动,便有了把该驱动移植到6410上的想法。

百度百科上关于USB OTG平台的资料:http://baike.baidu.com/view/1604356.htm
octeon平台(ARM926EJS)
https://dev.openwrt.org/browser/trunk/target/linux/octeon/patches-2.6.30/018-dwc_otg.patch

Ralink Soc(MIPS24Kc)
https://dev.openwrt.org/browser/trunk/target/linux/ramips/files/drivers/usb

另外,已经有人做了S5PV6440上的移植,可以供我们参考。
http://patchwork.ozlabs.org/patch/89560/
http://www.spinics.net/lists/arm-kernel/msg129285.html

下面是DWC_OTG在RT2052F上的效果
dwc_otg: version 2.72a 24-JUN-2008 (Patched by Lintel 2011)
dwc_otg dwc_otg.0: dwc_otg_driver_probe(80204130)
dwc_otg dwc_otg.0: mapped base=0xb01c0000
dwc_otg: Core Release: 2.66a
dwc_otg dwc_otg.0: dwc_otg_device=0x8321ac00
dwc_otg: Periodic Transfer Interrupt Enhancement - disabled
dwc_otg: Multiprocessor Interrupt Enhancement - disabled
dwc_otg: Using DMA mode
dwc_otg: Device using Buffer DMA mode
dwc_otg dwc_otg.0: DWC OTG Controller
dwc_otg dwc_otg.0: new USB bus registered, assigned bus number 1
dwc_otg dwc_otg.0: irq 26, io mem 0x101c0000
dwc_otg: Init: Port Power? op_state=1
dwc_otg: Init: Power Port (0)
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected

usb 1-1: new high speed USB device using dwc_otg and address 2
usb 1-1: configuration #1 chosen from 1 choice
scsi0 : SCSI emulation for USB Mass Storage devices
scsi 0:0:0:0: Direct-Access     Lintel   ToolBox          8.20 PQ: 0 ANSI: 2
sd 0:0:0:0: [sda] 31539200 512-byte logical blocks: (16.1 GB/15.0 GiB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] Assuming drive cache: write through
sda: sda1
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] Attached SCSI disk

6410 OTG的定义:
USB OTG
Signal I/O IO Power Description
XusbDP IO VDDOTG USB Data pin DATA(+)
XusbDM IO VDDOTG USB Data pin DATA(−)
XusbXTI I VDDOTG Crystal Oscillator XI signal
XusbXTO I VDDOTG Crystal Oscillator XO signal
XusbREXT IO VDDOTG External 44.2-ohm (+/- 1%) resistor connection
XusbVBUS IO VDDOTG USB Mini-Receptacle Vbus
XusbID I VDDOTG USB Mini-Receptacle Identifier
XusbDRVVBUS O VDDOTG Drive Vbus for Off-Chip Charge Pump

内存地址:
0x7C00_0000 0x7C0F_FFFF USB OTG
0x7C10_0000 0x7C1F_ FFFF USB OTG SFR

HCLK_GATE寄存器的20位控制USB OTG的状态:
HCLK_USB [20] Gating HCLK for USB OTG (0: mask, 1: pass) 1

USB OTG使用的58号中断:
58             INT_OTG USB OTG       interrupt VIC1


欢迎做过OTG驱动的同学在下面跟贴扔砖。
别人转角遇见爱,我转角遇见猫T _T .
级别: 风云使者
UID: 36096
精华: 3
发帖: 2513
金钱: 14075 两
威望: 2815 点
贡献值: 3 点
综合积分: 5086 分
注册时间: 2011-01-11
最后登录: 2015-11-15
1楼  发表于: 2011-10-13 12:59
我也觉得是,友善板子配的光盘的某些资料细节问题比较多,虽然实用性强,但有时还是会呈现一些问题。


咱做个项目吧,扔掉官方的光盘,干脆自己做一些更好的更威武的的系统,以满足实际的一些需要。嘿嘿……


老大路过的话请别激动,我今天被我同学中的某些神经病惹了,很不爽,可能说话有点……
极度缺钱,求捐赠……支付宝兼邮箱:huming2207@qq.com
级别: 风云使者
UID: 36096
精华: 3
发帖: 2513
金钱: 14075 两
威望: 2815 点
贡献值: 3 点
综合积分: 5086 分
注册时间: 2011-01-11
最后登录: 2015-11-15
2楼  发表于: 2011-10-13 13:01
不过我估计可能是友善为了实现更快更稳定的固件下载 / 刷机速度、在电脑端控制板子更爽些,所以才用OTG的。不然早就把OTG的位置腾出来了
极度缺钱,求捐赠……支付宝兼邮箱:huming2207@qq.com
疯狂的嵌入式爱好者
级别: 论坛版主
UID: 40543
精华: 1
发帖: 169
金钱: 920 两
威望: 184 点
贡献值: 1 点
综合积分: 358 分
注册时间: 2011-03-19
最后登录: 2013-05-10
3楼  发表于: 2011-10-13 13:03
引用第2楼huhu2207于2011-10-13 13:01发表的  :
不过我估计可能是友善为了实现更快更稳定的固件下载 / 刷机速度、在电脑端控制板子更爽些,所以才用OTG的。不然早就把OTG的位置腾出来了

6410上只有OTG能作为device。USB下载只能利用它
别人转角遇见爱,我转角遇见猫T _T .
级别: 风云使者
UID: 36096
精华: 3
发帖: 2513
金钱: 14075 两
威望: 2815 点
贡献值: 3 点
综合积分: 5086 分
注册时间: 2011-01-11
最后登录: 2015-11-15
4楼  发表于: 2011-10-13 17:49
引用第3楼lintel于2011-10-13 13:03发表的  :

6410上只有OTG能作为device。USB下载只能利用它


哎! 是呀……我咋忘了呢……
极度缺钱,求捐赠……支付宝兼邮箱:huming2207@qq.com
疯狂的嵌入式爱好者
级别: 论坛版主
UID: 40543
精华: 1
发帖: 169
金钱: 920 两
威望: 184 点
贡献值: 1 点
综合积分: 358 分
注册时间: 2011-03-19
最后登录: 2013-05-10
5楼  发表于: 2011-10-18 13:23
这个帖子这么久都没人拍砖,撤。
别人转角遇见爱,我转角遇见猫T _T .
自由,自强,共享,共创。
级别: 论坛版主
UID: 12573
精华: 27
发帖: 8838
金钱: 46490 两
威望: 9298 点
贡献值: 27 点
综合积分: 18216 分
注册时间: 2010-01-09
最后登录: 2019-07-16
6楼  发表于: 2011-10-18 16:08
每个人的情况不同,焦点不同,怎么可能指望别人和你一样呢?很多开源就是自己找乐和自恋。
新手如何向我们反馈有效的信息,以便解决问题,见此贴:
http://www.arm9home.net/read.php?tid-14431.html

[注]: 此处签名链接仅为指引方向,而非解答问题本身.
级别: 新手上路
UID: 18839
精华: 0
发帖: 25
金钱: 125 两
威望: 25 点
贡献值: 0 点
综合积分: 50 分
注册时间: 2010-04-13
最后登录: 2013-06-27
7楼  发表于: 2011-11-22 19:39
2.0的用处越来越大,根据木桶理论,现在看来这方面已经是个短板了,友善后期有做这方面的打算吗
级别: 圣骑士
UID: 44407
精华: 0
发帖: 386
金钱: 1945 两
威望: 389 点
贡献值: 0 点
综合积分: 772 分
注册时间: 2011-04-25
最后登录: 2014-08-25
8楼  发表于: 2012-01-16 15:32
請問目前的情形如何?
最近剛好想試mini6410的usb網卡

才剛porting完 driver....
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
贡献值: 71 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
9楼  发表于: 2012-01-17 23:37
好消息是现在已经有一些这方面的实现,比如https://github.com/humcycles/galaxy-tab-modified/commits/master/Kernel/drivers/usb/host/s3c-otg,但坏消息是从S3C6410 datasheet中下面这段话以及上面的系统框架图看,这个OTG的Host功能很可能是一个1.1而非2.0的。还需要进一步研究...

The S3C6410X USB system shown in Figure 26-1 can be configured as following:
1. USB 1.1 Host 1 Port & USB 2.0 OTG 1 Port
2. USB 1.1 Host 2 Ports
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
  • «
  • 1
  • 2
  • »
  • Pages: 1/2     Go