完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我想为在ZCU102 ES2板上运行的Linux启用USB 3.0主机模式。
(例如USB 3.0 pendrive) Linux称它有两个u***总线(lsu***)。 但是,每当我将USB 3.0驱动器连接到主板时,驱动器都被识别为USB 2.0驱动器而不是USB 3.0驱动器。 有没有人成功连接USB 3.0设备到ZCU102板? --------------------------- 在连接USB3.0驱动器之前, $ lsu*** -t /:Bus 02.Port 1:Dev 1,Class = root_hub,Driver = xhci-hcd / 1p,5000M /:Bus 01.Port 1:Dev 1,Class = root_hub,Driver = xhci-hcd / 1p ,480M 这表明总线02是USB 3.0 /总线01是USB 2.0 连接USB 3.0驱动器后, $ lsu*** -t /:Bus 02.Port 1:Dev 1,Class = root_hub,Driver = xhci-hcd / 1p,5000M /:Bus 01.Port 1:Dev 1,Class = root_hub,Driver = xhci-hcd / 1p ,480M | __端口1:Dev 2,如果为0,Class = Mass Storage,Driver = uas,480M 即使驱动器支持USB 3.0 SuperSpeed,它也只能连接到USB 2.0的总线01 我想要连接这个驱动器 以下是我用来启用USB 3.0 GTR PHY的配置。 ------------------------------------- 我使用petalinux 16.4来构建内核/设备树和rootfs。 我调查了一下: http://www.wiki.xilinx.com/Zynq+ ... x+USB+device+driver:说dwc3驱动支持USB 3.0主机模式 http://www.wiki.xilinx.com/Zynq+ ... ux+SIOU+driver:SIOU serdes driver 我选择的ICM设置:Lane0 - PCIe / Lane1 - DP0 / Lane2 - u***0 / Lane3 - Sata1 SIOU SERDES: 我在psu_init.c中检查了ICM_CFG0和ICM_CFG1,发现u***0在PS-GTR通道1上正确设置。 我的设备树中也有正确的phys信息 & dwc3_0 {> status =“okay”;> dr_mode =“host”;> snps,u***3_lpm_capable;> phy-names =“u***3-phy”;> phys =;}; 我检查了gtr lane2 for u***0是来自内核消息的pll_locked $ dmesg | grep gtr [2.470147] xilinx-psgtr fd400000.zynqmp_phy:Lane:3 type:3 protocol:2 pll_locked:yes [2.629933] xilinx-psgtr fd400000.zynqmp_phy:Lane:2 type:0 protocol:3 pll_locked:yes //> Lane2 type 0(u***0)protocol 3(u***) 此外,ZCU102 ES2还具有用于USB / PCIe / SATA / DP的额外GT多路复用器(开关)。 PS_GTR_LANE_SEL0~4由I2C0 gpio生成,我在设备树中设置如下: & i2c0 {> status =“okay”;> clock-frequency =; > tca6416_u97:gpio @ 20 {>>> / * >> * *从U-Boot启用所有GT>> * i2c mw 20 6 0 - 设置IO到输出>> * i2c mw 20 2 ef - 在引脚上设置输出值 0-7 >> * i2c mw 20 3 ff - 设置引脚上的输出值10-17 >> * / >>兼容=“ti,tca6416”;>> reg =; >> gpio-controller; >>#gpio- cells =; >>> / * >> * IRQ未连接>> *行:>> * 0 - PS_GTR_LAN_SEL0 >> * 1 - PS_GTR_LAN_SEL1 >> * 2 - PS_GTR_LAN_SEL2 >> * 3 - PS_GTR_LAN_SEL3 >> * 4 - PCI_CLK_DIR_SEL >> * 5 - IIC_MUX_RESET_B >> * 6 - GEM3_EXP_RESET_B >> * 7,10 - 17 - 未连接>> * / / >> gtr_sel0 {> >> gpio-hog; >>> gpios =; >>>输出低; / * PCIE = 0,DP = 1 * / >>> line-name =“sel0”;>>}; >> gtr_sel1 {> >> gpio-hog; >>> gpios =; >>>输出高; / * PCIE = 0,DP = 1 * / >>> line-name =“sel1”;>>}; >> gtr_sel2 {> >> gpio-hog; >>>> gpios =; >>>输出高; / * PCIE = 0,USB0 = 1 * / >>> line-name =“sel2”;>>}; >> gtr_sel3 {> >> gpio-hog; >>>> gpios =; >>>输出高; / * PCIE = 0,SATA = 1 * / >>> line-name =“sel3”;>>};>}; ............. }; 这些PS_GTR_LANE_SEL [0~4]信号正确显示在内核消息中: 〜$ dmesg | grep sel [2.806147] GPIO线322(sel0)输入/输出低[2.811817] GPIO线323(sel1)输出/高电平[2.817568] GPIO线324(sel2)输出/高电平[2.823314] GPIO线325 (sel3)输出/高 ----------------------------- |
|
相关推荐
5个回答
|
|
固定:
我怀疑它是主机适配器。 订购这个,不要打扰亚马逊上的那些,不要: Firefold USB 3.0 A型母头到Micro USB B型公头适配器。 确认有效! 在原帖中查看解决方案 |
|
|
|
我刚刚研究USB 3.0 ZCU102,并从Ultrascale Linux USB驱动程序维基中找到以下内容[http://www.wiki.xilinx.com/Zynq+Ultrascale+MPSOC+Linux+USB+device+driver]
它有一个内核检测到的“SuperSpeed USB”闪存驱动器,所以我会尝试重现它。 另外,这里还有其他一些事情要做: 1)检查跳线 2)尝试其他USB3.0设备 3)克隆Xilinx内核,并调查您正在使用的Xilinx驱动程序的提交 希望你找到解决方案 --Tom |
|
|
|
|
|
|
|
|
|
|
|
我最终使用的是SATA,但有理由认为电路板附带的电路不能正确支持USB 3.0。
我会试着找一个你提到的并稍后测试一下。 谢谢你让我知道 :-) tgolubev_mentor写道: 固定: 我怀疑它是主机适配器。 订购这个,不要打扰亚马逊上的那些,不要: Firefold USB 3.0 A型母头到Micro USB B型公头适配器。 确认有效! |
|
|
|
只有小组成员才能发言,加入小组>>
2389 浏览 7 评论
2804 浏览 4 评论
Spartan 3-AN时钟和VHDL让ISE合成时出现错误该怎么办?
2270 浏览 9 评论
3338 浏览 0 评论
如何在RTL或xilinx spartan fpga的约束文件中插入1.56ns延迟缓冲区?
2440 浏览 15 评论
有输入,但是LVDS_25的FPGA内部接收不到数据,为什么?
768浏览 1评论
请问vc707的电源线是如何连接的,我这边可能出现了缺失元件的情况导致无法供电
551浏览 1评论
求一块XILINX开发板KC705,VC707,KC105和KCU1500
388浏览 1评论
1975浏览 0评论
692浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-30 17:54 , Processed in 1.415396 second(s), Total 84, Slave 68 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号