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.

[参考译文] AM5728:无法枚举 USB3器件

Guru**** 2543990 points
Other Parts Discussed in Thread: AM5728, INA219

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/594928/am5728-usb3-devices-fail-to-enumerate

器件型号:AM5728
主题中讨论的其他器件: INA219

大家好

我有一个基于 AM5728评估板的设计。 两个板之间的一个很大区别是、我的板在端口1上没有集线器;它只直接连接到 USB 微型插孔。 我们在 SDK 版本3上运行基于 Linux OS 的(我认为)。 只使用 lsusb -t、我们可以看到 USB2设备在端口上进行枚举只是正常的、但当同事插入其 USB3拇指驱动器时、它无法检测到。 当我尝试开始特性测试时、也没有检测到 USB3测试仪(我没有运行测试仪;它是由知道他在做什么的人运行)。

软件中是否缺少一些设置、这可能是告知端口查找超高速器件所需的设置? 我需要通过调试器进行写入还是写入?

或者、我是否错过了硬件设计中阻止 SS 检测/链路的内容? 请参阅下面的原理图屏幕截图。

(抱歉、我发布了这个问题、然后在飞机上飞行了几天、但我会在我回来后立即查看)

谢谢!

马德曼

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    USB 专家已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    仍然有点卡在这里。 有人有建议吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    很抱歉耽误你的时间。

    从硬件的角度来看、原理图中的任何内容对于 SS 而言都不会出现问题。

    您是否遵循 SPRAAR7中的布局建议? 从信号完整性的角度来看,SS *更加敏感。
    您是否在 SS 对上看到任何 LFPS 信令?
    请发布您的 SDK DeviceTree 设置?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    奇怪。 我回答了、但看不到我的帖子。 我想我会再次发布。

    无论如何、我正在查看我的路线、以确保我没有忽略任何内容。 SPRAAR7在设计过程中是一个很好的指导。
    在测试室内、我们看到 SS 线路上根本没有出现任何变化、包括 LFPS。
    我要求软件进行 DeviceTree 设置;如果可用、我会发布这些设置。

    谢谢!
    马德曼
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    根本没有 LFPS 信令表明存在软件配置问题。 看起来甚至不是尝试连接到 SS 设备。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    这是我一直在想的。  设备树文件如下。 我仔细看了一下、根本看不到任何 USB 参考。 我是否应该要求其他东西?


    #include "am57xx-beagle-x15.dts"
    #include "am57xx-evm-common.dtsi"

    #include "am57xx-evm-cmem.dtsi"

    /{
    别名{
    SPI4 =&mcspi4;
    spi5 =&SPI_GPIO;
    spi6 =&SPI_led;
    };
    };

    /{
    version_="SAM 1.1\n";
    };

    &dra7_PMX_CORE{
    i2c4_pins_default:i2c4_pins_default{
    pinctrl-single、pins =<
    0x2ac (PIN_INPUT| MUX_MODE10)/* McASP1_ACL.i2c4_sda *
    0x2b0 (PIN_INPUT| MUX_MODE10)/* McASP1_fsr.i2c4_SCL *
    >;
    };
    i2c5_pins_default:i2c5_pins_default{
    pinctrl-single、pins =<
    0x2b4 (PIN_INPUT| MUX_MODE10)/* McASP1_ACL.i2c4_sda *
    0x2b8 (PIN_INPUT| MUX_MODE10)/* McASP1_fsr.i2c4_SCL *
    >;
    };
    mcspi4_pins:mcspi4_pins{
    pinctrl-single、pins =<
    0x24C (PIN_OUTPUT 上拉| MUX_MODE8)/* uart3_TXD.SPI4_CS1 *
    0x350 (PIN_OUTPUT 上拉| MUX_Mode2)/*mcasp5_axr1.SPI4_cs0*/
    0x34C (PIN_OUTPUT 上拉| MUX_Mode2)/*mcasp5_axr0.SPI4_d0*/
    0x348 (PIN_INPUT_PULLUP | MUX_MODE2)/*mcasp5_FSX.SPI4_D1*/
    0x344 (PIN_INPUT_PULLUP | MUX_MODE2)/*mcasp5_aclkx.SPI4_clk*/
    >;
    };

    SPI_GPIO_Pins:SPI_GPIO_Pins{
    pinctrl-single、pins =<
    0x238 (PIN_OUTPUT_PULLUP | MUX_MODE14)/* VOUT1_D23、CS*/
    0x214 (PIN_OUTPUT_PULLUP | MUX_MODE14)/* VOUT1_D14、CLK*/
    0x1E4 (PIN_OUTPUT_PULLUP | MUX_MODE14)/* VOUT1_D2、MOSI/ASDI*/
    0x1E0 (PIN_INPUT_PULLUP | MUX_MODE14)/* VOUT1_D1、MISO *
    0x234 (PIN_OUTPUT | MUX_MODE14)/*NCE*/
    0x20C (PIN_OUTPUT | MUX_MODE14)/*nConfig*/
    DRA7XX_CORE_IOPAD (0x3400、(PIN_INPUT_PULLUP | MUX_MODE0))/* GPMC_AD0 *
    >;
    };
    pinctrl_eqep1:pinctrl_eqep1_pins{
    pinctrl-single、pins =<
    0x180 (PIN_INPUT_PULLUP | MUX_MODE10)/* VIN2A_D5、eQEP2A_IN *
    0x17C (PIN_INPUT_PULLUP | MUX_MODE10)/* VIN2A_D6、eQEP2B_IN*/
    >;
    };

    SPI_LED_PINS:SPI_LED_PINS{
    pinctrl-single、pins =<
    0x2BC (PIN_OUTPUT 上拉| MUX_MODE14)/* McASP1_AXR2、MOSI、GPIO5_4*/
    0x2C0 (PIN_OUTPUT 上拉| MUX_MODE14)/* McASP1_AXR3、SCLK、GPIO5_5*/
    0x2C4 (PIN_OUTPUT 上拉| MUX_MODE14)/* McASP1_AXR4、SSN、GPIO5_6*/
    0X2C8 (PIN_INPUT_PULLUP | MUX_MODE14)/* McASP1_AXR5、MISO、GPIO5_7*/
    >;
    };
    };

    /{
    SPI_GPIO:SPI_GPIO@0{
    兼容="SPI-GPIO";
    #address-cells =<0x1>;
    大小单元格=<0x0>;
    pinctrl-names ="default";
    pinctrl-0 =<&SPI_GPIO_PINs>;

    GPIO-SCK =<&GPIO8 14 0>;
    GPIO-MISO =<&GPIO8 1 0>;
    GPIO-MOSI =<&GPIO8 2 0>;
    CS-GPIO =<&GPIO8 23 0>;
    num-chipsects=<1>;
    spidev0:spidev@0{
    兼容="linux、spidev";
    SPI-max-frequency =<100000 >;
    reg =<0>;
    状态="正常";
    };
    };
    };

    /{
    SPI_LED:SPI_LED@0{
    兼容="SPI-GPIO";
    #address-cells =<0x1>;
    大小单元格=<0x0>;
    pinctrl-names ="default";
    pinctrl-0 =<&SPI_LED_PINs>;

    GPIO-MOSI =<&GPIO5 4 0>;
    GPIO-SCK =<&GPIO5 0>;
    CS-GPIO =<&GPIO5 6 0>;
    GPIO-MISO =<&GPIO5 7 0>;
    num-chipsects=<1>;
    spiddevled0:spiddevled@0{
    兼容="linux、spidev";
    SPI-max-frequency =<100000 >;
    reg =<0>;
    状态="正常";
    };
    };
    };


    i2c4{(&I)
    状态="正常";
    时钟频率=<400000>;
    INA219@42{
    兼容="ti、INA219";
    reg =<0x42>;
    分流电阻器=<1000>;
    };
    INA219@45{
    兼容="ti、INA219";
    reg =<0x45>;
    分流电阻器=<1000>;
    };
    INA219@48{
    兼容="ti、INA219";
    reg =<0x48>;
    分流电阻器=<1000>;
    };
    INA219@4A{
    兼容="ti、INA219";
    reg =<0x4a>;
    分流电阻器=<1000>;
    };
    };

    i2c5{(&I)
    状态="正常";
    时钟频率=<400000>;

    INA219@40{
    兼容="ti、INA219";
    reg =<0x40>;
    分流电阻器=<1000>;
    };

    INA219@41{
    兼容="ti、INA219";
    reg =<0x41>;
    分流电阻器=<1000>;
    };

    INA219@48{
    兼容="ti、INA219";
    reg =<0x48>;
    分流电阻器=<1000>;
    };
    };

    mcspi4{(&M)
    TI、SPI-num-cs =<2>;
    pinctrl-names ="default";
    pinctrl-0 =<&mcspi4_PINs>;
    状态="正常";
    TI、pidd-d0-out-d1-in;
    mcp23s18@0{
    兼容="MCP、mcp23s17";
    GPIO 控制器;
    #GPIO-cells =<2>;
    MCP、SPI-Prese-mask =<0x01>;
    SPI-max-frequency =<1000000>;
    reg =<0>;
    #address-cells =<1>;
    #size-cells =<0>;
    状态="正常";
    };

    spidev@1{
    兼容="linux、spidev";
    SPI-max-frequency =<400000>;
    reg =<1>;/* CS1*/
    状态="正常";
    };

    };


    GPMC{(&G)
    状态="正常";
    范围=<3 0 0x01000000 0x01000000>;
    状态="正常";

    FPGA@3、0{
    兼容="Zeiss、FPGA_FW";
    REG =<3 0 0x01000000>;

    组宽度=<2>;

    interrupt-parent =<&GPMC>;
    中断=<0>;

    GPMC、同步读取;
    GPMC、同步写入;
    GPMC、突发读取;
    GPMC、突发写入;
    GPMC、突发长度=<4>;
    GPMC、器件宽度=<2>;
    GPMC、clk-activation-ns =<4>;
    GPMC、mux-add-data =<2>;

    GPMC、SYNC-clk-ps =<12000>;
    GPMC、cs-on-ns =<0>;
    GPMC、cs-rd-Off-ns =<102>;
    GPMC、cs-wr-off-ns =<42>;
    GPMC、WE-ON-ns =<19>;
    GPMC、OE-ON-ns =<53>;
    GPMC、Adv-on-ns =<6>;
    GPMC、Ad-rd -关闭-ns =<19>;
    GPMC、Adv-wr-off-ns =<19>;
    GPMC、WE-OFF-ns =<34>;
    GPMC、OE-OFF-ns =<106>;
    GPMC、ACCESS ns =<102>;
    GPMC、第周期-ns =<113>;
    GPMC、功率周期-ns =<57>;
    GPMC、wr 访问-ns =<42>;
    GPMC、wr-data-mux-bus-ns =<21>;
    GPMC、PAGE-BURST-ACCESS ns =<1>;
    GPMC、总线翻转-ns =<27>;
    GPMC、cycle2cycle-delay-ns =<27>;
    GPMC、时间参数粒度=<1>;

    #address-cells =<1>;
    大小单元格=<1>;

    };
    };

    epwms1{(&E)
    状态="正常";
    eqep1:eQEP@48440180{
    pinctrl-names ="default";
    pinctrl-0 =<&pinctrl_eqep1>;
    COUNT_MODE =<0>;/* 0 -正交模式、正常90相位偏移 CHA 和 CHB。 1 -方向模式。 CHA 输入=时钟、CHB 输入=方向*/
    swap_inputs =<0>;/*通道 A 和通道 B 是否交换? (0 -否、1 -是)*/
    Inver_QA =<0>;//我们是否应该反转通道 A 输入? *
    Invert_qb =<0>;//我们是否应该反转通道 B 输入? 我将这些反相、因为我的编码器输出驱动向下拉引脚的晶体管*
    Invert_Qi =<0>;//我们是否应该反转索引输入? *
    Invert_QS =<0>;//我们是否应反转选通输入? *
    状态="正常";
    };
    };

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

    Michael、

    以上 dts 是您对电路板进行的唯一定制吗? DTS 中没有任何其他修改?

    请提供

    -完整的内核引导日志(引导后的 dmesg 日志);

    lsmod 和 lsusb 命令输出;

    /proc/config.gz

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

    我收到了所有日志、但没有发现任何可疑的情况。
    您能不能尝试在超级速度 USB 设备中安装 USB 寄存器之前和之后转储 USB 寄存器?

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

    附加文件之前和之后。 FWiw、插入便携式驱动器后、link_state = ss.Disabled

    MADmane2e.ti.com/.../before-plug.txte2e.ti.com/.../after-plus-seagate.txt

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

    Michael、

    刚刚意识到这些 regdump 主要用于器件模式、但我们需要检查主机模式。

    请在插入驱动器之前和之后运行您的板上下面所附的脚本、我只需要在驱动器的输出中最后放置两行、这些行从开始

    "PORTSC[2][0x0a0002e0]:"

    e2e.ti.com/.../dwcinfo.sh.txt

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

    完成。 我看不到之前和之后之间有什么区别。

    结果:

    以前:
    根目录@am57xx-EVM:~编号./dwcinfo.sh
    XHCI 版本:1.0、最大插槽数:64、中断器数1、最大端口数:2
    操作基址:0x00000020、门铃偏移:0x00000480、运行时空间偏移:0x00000440
    HCPARAM [0x0220f04c]:xECP=0x0220 MaxPSASize=15 | NSS LTC LHRC 双子 PC CSZ64 BNC ac64
    XECP (0x0880)->[0x00000401]:
    XECP (0x0890)->[0x02000402]:
    XECP (0x08a0)->[0x03000002]:
    USBCMD [0x00000005]:Inte Run
    USBSTS [0x00000000]:
    页面大小0x00000001]
    配置[0x00000040]:MaxSlotsEn:64
    PORTSC[1][0x0a0002a0]:Dr woe WDE WCE cas | CEC plc PRC OCC WRC Pec CSC LWS | PIC:OFF PSI:0 PP | PLS:RxDetect pr OCA Ped CCS
    PORTSC[2][0x0a0002a0]:Dr woe WDE WCE cas | CEC plc PRC OCC WRC Pec CSC LWS | PIC:OFF PSI:0 PP | PLS:RxDetect pr OCA Ped CCS
    PORTPMSC[1][0x00000000]:
    PORTPMSC[2][0x00000000]:
    之后:
    根目录@am57xx-EVM:~编号./dwcinfo.sh
    XHCI 版本:1.0、最大插槽数:64、中断器数1、最大端口数:2
    操作基址:0x00000020、门铃偏移:0x00000480、运行时空间偏移:0x00000440
    HCPARAM [0x0220f04c]:xECP=0x0220 MaxPSASize=15 | NSS LTC LHRC 双子 PC CSZ64 BNC ac64
    XECP (0x0880)->[0x00000401]:
    XECP (0x0890)->[0x02000402]:
    XECP (0x08a0)->[0x03000002]:
    USBCMD [0x00000005]:Inte Run
    USBSTS [0x00000000]:
    页面大小0x00000001]
    配置[0x00000040]:MaxSlotsEn:64
    PORTSC[1][0x0a0002a0]:Dr woe WDE WCE cas | CEC plc PRC OCC WRC Pec CSC LWS | PIC:OFF PSI:0 PP | PLS:RxDetect pr OCA Ped CCS
    PORTSC[2][0x0a0002a0]:Dr woe WDE WCE cas | CEC plc PRC OCC WRC Pec CSC LWS | PIC:OFF PSI:0 PP | PLS:RxDetect pr OCA Ped CCS
    PORTPMSC[1][0x00000000]:
    PORTPMSC[2][0x00000000]:

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    PLS 是 RxDetect、xHCI 控制器处于检测连接的正确状态、因此我怀疑此问题与硬件相关。

    -您是否测试过多个电路板?
    -请测试多个 USB3.0器件、例如超高速集线器。 我有一个 SanDisk 超高速拇指驱动器、在我的 AM57x 板上未枚举。
    -尝试在 uboot 中超快速枚举是否起作用:在 uboot 提示符下,运行'USB reset'命令,然后运行'USB tree'命令。
    -如果以上均不起作用、请检查装配体。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我们已经在多个电路板上尝试了大约4种不同的器件。 器件包括 Tektronix USB3测试仪。 请记住、当连接到测试仪时、我们没有看到任何 SS 差分信号的摆动。
    我想我之前问过这个问题:如何判断超高速 PHY 是否已加电?
    此外、是否将 GPIO7-25永久拉低是正确的做法?
    还没有尝试过 UBoot。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您的.config 具有'CONFIG_TI_PIPE3=y'、这是超高速 PHY 的驱动程序、因此 PHY 应该处于开启状态。
    如果在 DTS 文件中将 USB1 dr_mode 设置为"host"、则 GPIO7-25无关紧要。 寄存器转储显示 PLS 是 RxDetect、因此 xHCI 处于正确状态、我将检查硬件组件。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    另请测量 USB 1.8V 和3.3V VDDA 引脚上的电压。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    哦、我大声哭出来。 就在上面的原理图中-耦合电容器(C367和 C368)为0.01uF、应为0.1uF。
    在一个电路板上更改了电容器。 检测到 USB3拇指驱动器。 这看起来更好吗?
    新 dwcinfo 结果:

    以前:
    根目录@am57xx-EVM:~编号./dwcinfo.sh
    XHCI 版本:1.0、最大插槽数:64、中断器数1、最大端口数:2
    操作基址:0x00000020、门铃偏移:0x00000480、运行时空间偏移:0x00000440
    HCPARAM [0x0220f04c]:xECP=0x0220 MaxPSASize=15 | NSS LTC LHRC 双子 PC CSZ64 BNC ac64
    XECP (0x0880)->[0x00000401]:
    XECP (0x0890)->[0x02000402]:
    XECP (0x08a0)->[0x03000002]:
    USBCMD [0x00000005]:Inte Run
    USBSTS [0x00000000]:
    页面大小0x00000001]
    配置[0x00000040]:MaxSlotsEn:64
    PORTSC[1][0x0a0002a0]:Dr woe WDE WCE cas | CEC plc PRC OCC WRC Pec CSC LWS | PIC:OFF PSI:0 PP | PLS:RxDetect pr OCA Ped CCS
    PORTSC[2][0x0a0002a0]:Dr woe WDE WCE cas | CEC plc PRC OCC WRC Pec CSC LWS | PIC:OFF PSI:0 PP | PLS:RxDetect pr OCA Ped CCS
    PORTPMSC[1][0x00000000]:
    PORTPMSC[2][0x00000000]:

    检测到插头:
    root@am57xx-EVM:~#[3428.409291] USB 2-1:使用 xhci-hcd 的新超高速 USB 器件编号3
    [3428.434836] USB 2-1:找到新的 USB 设备、idVendor=090c、idProduct=1000
    [3428.441621] USB 2-1:新 USB 器件字符串:MFR=1、Product=2、SerialNumber=3
    [3428.448788] USB 2-1:产品:闪存驱动器
    [3428.452894] USB 2-1:制造商:Samsung
    [3428.457098] USB 2-1:序列号:0347017020005570
    [3428.465184] USB-STORAGE 2-1:1.0:检测到 USB 大容量存储设备
    [3428.481686] SCSI host2:USB-storage 2-1:1.0
    [3429.812803] SCSI 2:0:0:0:直接访问 Samsung Flash Drive 1100 PQ:0 ANSI:6
    [3429.824094] SD 2:0:0:0:[SDA] 250675200 512字节逻辑块:(128 GB/120 GiB)
    [3429.832315] SD 2:0:0:0:[SDA]写保护关闭
    [3429.840375] SD 2:0:0:0:[SDA]写入高速缓存:启用、读取高速缓存:启用、不支持 DPO 或 FUA
    [3429.855234] SDA:SDA1
    [3429.861736] SD 2:0:0:0:[SDA]连接的 SCSI 可拆卸磁盘
    [3431.199211] EXT4-FS (sda1):恢复完成
    [3431.203601] EXT4-FS (sda1):已安装文件系统,具有有序数据模式。 OPTS:(空)

    之后:
    根目录@am57xx-EVM:~编号./dwcinfo.sh
    XHCI 版本:1.0、最大插槽数:64、中断器数1、最大端口数:2
    操作基址:0x00000020、门铃偏移:0x00000480、运行时空间偏移:0x00000440
    HCPARAM [0x0220f04c]:xECP=0x0220 MaxPSASize=15 | NSS LTC LHRC 双子 PC CSZ64 BNC ac64
    XECP (0x0880)->[0x00000401]:
    XECP (0x0890)->[0x02000402]:
    XECP (0x08a0)->[0x03000002]:
    USBCMD [0x00000005]:Inte Run
    USBSTS [0x00000000]:
    页面大小0x00000001]
    配置[0x00000040]:MaxSlotsEn:64
    PORTSC[1][0x0a0002a0]:Dr woe WDE WCE cas | CEC plc PRC OCC WRC Pec CSC LWS | PIC:OFF PSI:0 PP | PLS:RxDetect pr OCA Ped CCS
    PORTSC[2][0x00001203]:Dr woe WDE WCE cas | CEC plc PRC OCC WRC Pec CSC LWS | PIC:Off PSI:4 PP | PLS:U0 pr OCA PED CCS
    PORTPMSC[1][0x00000000]:
    PORTPMSC[2][0x00000000]:
    root@am57xx-EVM:~#

    至少4个 EES 审核了此设计、包括 TI AE、所以大家一定要当心!

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

    很棒! 很高兴你能找到它。

    现在日志看起来不错。