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.

[参考译文] Linux/DRA712:USB ID 设备树配置

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/657050/linux-dra712-usb-id-device-tree-configuration

器件型号:DRA712

工具/软件:Linux

团队

我们的定制板使用 USB2_DX 和 GPMC_wen.GPIO2_25作为 OTG 端口。 我们尝试通过设备树启用它、如下所述

&USB2{
status ="确定";
SRP-disable;
HNP disable;
ADP-disable;
};

OMAP-dwc3_2{
status ="确定";
extcon =<&USB_ID2>;
};

USB_ID2:USB_ID2_extcon{
pinctrl-names ="default";
pinctrl-0 =<&pinctrl_USB_ID2>;
兼容="linux、extcon-USB-GPIO";
ID-GPIO =<&GPIO2 25 GPIO_ACTIVE_HIGH_>;
};

pinctrl_USB_ID2:USB_ID2_grp{
pinctrl-single、pins =<
DRA7XX_CORE_IOPAD (0x34cc、(PIN_INPUT_PULLUP | MUX_MODE14)) /* GPMC_WN.GPIO2_25 */
>;
}; 

我们有几个问题

  1. USB ID 引脚(GPMC_WN.GPIO2_25)具有0V (零)电平、但通过上拉电阻器将其配置为 GPIO (模式0xE)
  2. USB2_DX 端口不工作、不能用作主机(将 dmesg 插入任何设备时不显示任何消息、数据线不会启动 J/K USB 协议)、也不能用作设备(测试了多台 PC、但使用 PC dmesg 检测到任何活动)。 作为主机角色、我们看到 D+上升到3V3、并在器件插入时保持稳定

我们是否遗漏了任何东西?

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

    我已将您的问题转交给 USB 专家。

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

    内核

    早上6.1.3
    git.omapzoom.org

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

    是否启用了以下内核配置?

    CONFIG_EXTCON
    CONFIG_EXTCON_USB_GPIO

    您是否在内核启动日志中看到与 extcon 或 USB 相关的任何故障?

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

    你好,Vishal

    自定义内核配置片段

    (笑声)
    
    CONFIG_EXTCON=y...
    
    
    
    CONFIG_EXTCON_USB_GPIO=y...
    
    

    我知道以下消息不是错误、但它们是我唯一能看到的奇怪消息

    [3.620635]   dwc3 48890000.usb: OTG:注册的主主机 xhci-hcd.0.auto
    [3.627681]   dwc3 48890000.usb: OTG:已注册共享主机 xhci-hcd.0.auto
    [3.634611]    dwc3 48890000.usb: OTG:直到小工具寄存器才启动
    [3.853754]   dwc3 488d0000.usb: OTG:注册的主主机 xhci-hcd.1.auto
    [3.860752]   dwc3 488d0000.usb: OTG:已注册共享主机 xhci-hcd.1.auto
    [3.867706]    dwc3 488d0000.usb: OTG:只有在小工具寄存器之后才能启动

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

    您能否尝试将属性更改为 VBUS-GPIO、而不是 id-GPIO

    以下内核文档的代码段(Documentation/devicetree/bindings/sextcon/extcon-USB-GPIO.txt)

    必须存在一个 id-GPIO 或 VBUS-GPIO。 这两种情况也可以存在。
    - ID-GPIO:USB ID 引脚的 GPIO。 请参阅 GPIO 绑定。
    - VBUS-GPIO:USB VBUS 引脚的 GPIO。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    此处还提供了一些其他信息
    processors.wiki.ti.com/.../Linux_Core_DWC3_User's_Guide
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    不起作用、现在 D+不会上升到3V3
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    问题已解决、原理图不可公开共享。

    启用小工具驱动程序后解决了该问题。 在内核中注册小工具驱动程序后、OTG 状态机启动。
    ADB via ConfigFS 是 TI 内核中的默认小工具驱动程序、并针对 USB1进行配置。

    当需要将2个端口配置为 OTG 时、需要注册2个小工具驱动程序。
    执行此操作后、USB 端口在 OTG 模式下工作。