S3C6410里面有两个USB PHY , 如上图圈中的内容.我们只关注 USB
// 注意: 当 0x7C10_0004 的 bit[6] 为 1 , 表示如下// Data on the D+ and D- lines is transmitted and received through the USB1.1 Serial Interface.// 则 USB 1.1 host 有两个端口// 一个是XusbDP/XusbDN,一个是 XuhDP/XuhDN
在手册里面叫做 USB 1.1 Transceiver ,寄存器 在 OTG PHY 里面 "26.8 OTG PHY CONTROL REGISTERS"
里面有几种寄存器
1. 电源控制 (开 USB1.1 的 PHY 即可)2. 时钟控制 (USB1.1 的PHY 和 USBOTG的 PHY 共用同一个时钟)3. 复位控制 (该复位的都复位, assert 之后要 deassert)4. 调谐控制 (默认值即可)
PHY寄存器初始化之后的值
0X7C100000:0X00000010// 如果是 0X00000000 ,代表 把 OTG PHY 也 power up 了0X7C100004:0X000000100X7C100008:0X000000000X7C10000C:0X000000000X7C100010:0X000000000X7C100014:0X000000080X7C100018:0X000000000X7C10001C:0X000000000X7C100020:0X00271B93
PHY的初始化顺序为
1. 强制要求
This bit must set before USB PHY is used.2. 将外面接的时钟频率信息 设置 OPHYCLK , 这个时钟供给给 两个 PHY
3. 打开了 USB 2.0 的 PHY 和 USB 1.0 的 PHY, 并设置 suepend 不断电
4. 复位 两个phy