This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] HD3SS3220:主机未识别所连接的 USB 3.0 器件 (zcu21dr)

Guru**** 2454880 points
Other Parts Discussed in Thread: HD3SS3220

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1541833/hd3ss3220-attached-usb-3-0-device-not-recognized-by-host-zcu21dr

器件型号:HD3SS3220


工具/软件:

尊敬的团队:

我们正在将 TI HD3SS3220 Type-C 多路复用器与 Xilinx ZCU21DR 平台集成。 我们在 Xilinx Linux 内核中启用了相关驱动程序、

CONFIG_TYPEC=y 
CONFIG_TYPEC_HD3SS3220 = y 
CONFIG_USB_XHI_HCD=y 
CONFIG_USB_DWC3=y 
CONFIG_USB_DWC3_Xilinx = y 


DTSI

&USB1{
  状态=“正常“;
   };

&usb0{
  状态=“正常“;
   };

&dwc3_0{
  状态=“正常“;
  DR_MODE =“OTG";“;
  USB 角色开关;
  role-switch-default-mode =“无“;
  角色开关=<&hd3ss3220_EP>;
  最大速度=“超高速“;
   
};

 Amba_pl:Amba_pl@0{
    #address-cells =<2>;
    #size-cells =<2>;
    compatible =“simple-bus";“;
    范围;


    axi_ic_usb:I2C@a0010000{
      #address-cells =<1>;
      #size-cells =<0>;
      时钟名称=“s_axi_aclk";“;
      Clocks =<&zynqmp_clk 71>;
      兼容=“xlnx、axi-IIC-2.1“、“xlnx、xPS-IIC-2.00.a“;
      interrupts-names =“iic2intc_irpt";“;
      Interrupt-parent =<&GIC>;
      中断=<0 90 4>;
      REG =<0x0 0xa0010000 0x0 0x10000>;

      hd3ss3220@47{
        兼容=“ti、hd3ss3220“;
        REG =<0x47>;
        Interrupt-parent =<&GPIO>;
        中断=<79 8>;

        接头{
          Compatible =“usb-c-connector";“;
          标签=“USB-C;
          数据角色=“OTG";“;

          端口{
            #address-cells =<1>;
            #size-cells =<0>;

            端口@1{
              reg =<1>;

              hd3ss3220_EP:端点{
                USB 角色开关;
                数据通路=<1>;
              };
            };
          };
        };
      };
    };

};


我们通过读取状态寄存器 (0x08) 成功检测连接和分离事件。 在发生连接事件时、我们通过 GPIO 控制启用 VBUS。
不过、我们可以观察到、连接的 USB 设备仅在高速 (USB 2.0) 下进行枚举、并且无法在 SuperSpeed (USB 3.0) 下进行枚举。

root@uetcx62x:# i2cget -y -f 2 0x47 0x08
0x01
root@uetcx62x
:~ echo 412 >/sys/class/gpio/export root@uetcx62x:
~# echo out >/sys/class/gpio/gpio412/direction
root@uetcx62x



:@# echo 1 >/sys/class/gpio/gpio412/value root~ uetcx62x:~#
030087013021045221
[254.431442] USB-storage 1-1:1.0:检测到 USB 大容量存储设备
[254.437979] SCSI host0:USB-storage 1-1:1.0
[255.450631] SCSI 0:0:直接访问 SanDisk Ultra 1.00 PQ:0 ANSI
:6 [255.459323] SD 0:0:0:[SDA] 60063744 512 字节逻辑块:(30.8 GB/28.6 GiB)
[255.469222]


SD 0:0:0:0:0:0:[SDA1]写保护
已关闭[255.474390] SD 0:0:0:0:0:[SDA:255.469222] 某些数据可能已损坏。 请运行 fsck。
[255.824698]在/run/media/sda1 上装载的 vfat 文件系统支持到 2107 的时间戳 (0x10391447e) 

root@uetcx62x:/sys/bus/usb/devices #
root@uetcx62x:/sys/bus/usb/devices # lsusb
Bus 001 器件 001:ID 1d6b:0002
Bus 001 Device 002:ID 0781:558a 
总线 002 设备 001:ID 1d6b:0003

您能否介绍此行为的可能原因、以及调试或解决 SuperSpeed 检测问题的任何建议?

为了便于您参考、我们随附了相关的原理图和日志。




  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Kiruthik:

    很抱歉回复延迟。

    在这种情况下、当存在 USB 连接时、HD3SS3220 应如何配置? DFP 或 UFP。

    如果作为 DFP、您是否通过 ID 引脚控制 VBUS? ID 引脚旨在用于指示何时应启用 VBUS、因此如果在 ID 引脚拉至低电平时未同时发送 VBUS、这可能会影响连接、因为通过 Type-C 端口发送的 VBUS 是作为 CC 协商的一部分进行控制的。

    如果没有、您能否在应该进行连接时监控 CC 线路的电压、以确保 CC 线路能够实现连接?

    翻转 Type-C 电缆是否会改变性能?

    谢谢、

    Ryan