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.

[参考译文] TDA4VM-Q1:如何通过软件重新启动 USB0/USB1的 USB 控制器?

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1321589/tda4vm-q1-how-to-software-restart-usb-controller-for-usb0-usb1

器件型号:TDA4VM-Q1
主题中讨论的其他器件:TDA4VM

您好、尊敬的 Expert。

客户遇到"USB 枚举"问题、连接概念如下所示。

TDA4VM USB0 (USB 设备模式)-> USB HUB -> USB MDD (显示设备)(USB 主机模式)

他们发现 MDD"有时"无法 通过 TDA4成功枚举、因此我怀疑 TDA4 USB D+/D-不会返回默认状态、因为我们发现当枚举失败时、USB D+(DP)不会返回到上拉1.8V。

需要调试建议,我的问题如下:  

问题1:我们是否有办法在 Linux 中重新启动(复位) TDA4 USB 控制器?

问题2:我们是否有任何 USB 状态寄存器来识别发生的错误?  

问题3:我们是否有任何寄存器可用于了解引脚 USB0_VBUS 或 USB1_VBUS 状态? 因为我想知道如何检测 USB 主机连接。

已经参考该线程、我认为它应该与我们的调试案例类似。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1016567/j721exsomxevm-usb-modem-not-recognized-in-j7/3766182?tisearch=e2e-sitesearch&keymatch=PWRUP_RST_N#3766182

并且已经开始对其进行调试、

非常感谢

吉布斯

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

    Hi Gibbs、

    不确定客户在下面做什么、  

    TDA4VM USB0 (USB 设备模式)-> USB 集线器-> USB MDD (显示设备)(USB 主机模式)

    您能否进一步描述它们的用例? 什么是 MDD?

    问题是出现在 Linux 引导加载程序还是内核级别?  Linux USB 驱动程序不提供任何此类支持来重新启动控制器。

    我们将等待您的回答、然后再回答您的问题。

    谢谢。

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

    您好、Praveen

    感谢您的回复

    我先展示一下他们的应用图、

    这个应用是车辆中的 CID (中央信息显示屏)、而 MDD 是"镜像显示设备"。 基本上可以认为 MDD 是智能手机, 插入 MDD 时会自动显示到 CID 屏幕。 问题是:MDD 插件出现几次时,自动镜像显示失败。 在重复软件/硬件调试后、我们已经知道 TDA4 USB D+信号不会返回默认状态、我们不确定原因。

    更多详细信息。

    问1: 该问题是在 Linux 引导加载程序还是内核级别出现的?

    答1:TDA4在 Linux 中运行良好、我认为这是 USB 设备安装问题、已经在用户空间中询问客户转储相关的"dmesg"。  

    Q2:Linux USB 驱动程序不提供任何此类支持来重新启动控制器。

    A2 :我想(猜)我们可以"重新安装(绑定)" TDA4 Linux"USB 控制器(设备)相关驱动程序" ,当发生错误时,并检查此变通办法是否有效。 因此我们需要相关命令。 我认为 R/W 寄存器也可以。

    谢谢

    吉布斯

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

    你好 Gibbs,

    感谢您提供图表和问题答案。 我们对用例的理解要好得多。

    现在、若要回答您的问题:

    -1- Linux 驱动程序无法重置  TDA4 USB 控制器。  

    对于-2-和-3-、我们将不得不在1-2天内进行内部检查并与您联系。

    谢谢。

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

    您好 Praveen:

    在上次讨论之后、我们是否应该有任何更新?

    非常感谢

    吉布斯

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

    Hi Gibbs、

    感谢您的耐心等待。

    USB SS 的寄存器可在 PSDK RTOS 路径中 PDK /packages/ti/csl src ip/usb/V5/V5_1/cslr_usb3p0ss.h

    对于您的查询2、我们找不到此支持。

    对于查询3、建议检查 USB3P0SS_CTRL_DRD_OTGSTS (0x06000014)、请参阅上面的头文件以检查位字段。

    谢谢。

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

    您好、Praveen

    感谢您的回复。

    我们是否有任何示例代码(例如:PSDK RTOS)、它告诉我们如何"重新启动 USB 控制器"?

    谢谢

    吉布斯

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

    Hi Gibbs、

    PSDK RTOS 不提供 USB 支持、 因此没有示例代码。 以上只是具有 USB 寄存器定义的 CSL 头文件。

    谢谢。