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.

[参考译文] AM625:在 Linux 中支持 USB0 OTG 模式

Guru**** 2540720 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1184034/am625-usb0-otg-mode-support-on-in-linux

器件型号:AM625

代表客户发布

您能否指导我们如何修改 AM62x 器件树中的 USB0端口(K3-am62x-SK-common.dtsi)

是否要根据 ID 引脚的状态通过 Micro USB 连接器支持“OTG”模式(主机/外设)?

我们已经尝试了几种方法,但似乎都不起作用。

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

    AM62x 不支持完全兼容的 OTG。  ID 引脚未向外键合。  有关支持的配置、请参阅 TRM 第12.3.2.2.2节。

    此致、

    James

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

    您好、Mukul、

    正如 James 提到的、AM62x 没有专用的 USB ID 引脚。 要通过 USB 微型 AB 插座支持 USB 双角色模式、您必须选择一个 GPIO 引脚、该引脚会路由到微型 AB 插座、以进行 ID 引脚检测。

    下面是配置此 GPIO ID 引脚的内核器件树更改(以主 GPIO 1_10为例)。 下面的示例补丁中未显示 GPIO 引脚多路复用器。 请告诉我在内核器件树中配置 GPIO 引脚多路复用器是否有问题。

    您还需要确保启用内核 Kconfig 选项 CONFIG_USB_CONN_GPIO、它对应于内核模块 USB-CONN-GPIO.ko 以控制 GPIO ID 引脚。

    请注意、我们没有 AM62x EVM 具有 USB 微型 AB 插座、因此该代码更改未经验证。 请告诉我、如果您遇到任何问题、我们可以从那里进行调试。

    e2e.ti.com/.../am62x_2D00_dts_2D00_usb0_2D00_microB_2D00_gpio_2D00_ID.diff

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

    谢谢 James 和 Bin

    客户确认双角色正在为他们服务、他们非常友好、允许我们在公共 E2E 上分享他们的实施

    / {
                    connector {
                                    compatible = "gpio-usb-b-connector";
                                    pinctrl-names = "default";
                                    pinctrl-0 = <&extcon_pins_default>;
                                    label = "micro-USB";
                                    type = "micro";
                                    id-gpios = <&main_gpio1 10 GPIO_ACTIVE_HIGH>;
                                    status = "okay";
    
                                    ports {
                                                    #address-cells = <1>;
                                                    #size-cells = <0>;
    
                                                    port@1 {
                                                                    reg = <1>;
    
                                                                    usb_con_hs: endpoint {
                                                                                    remote-endpoint = <&typec_hs>;
                                                                    };
                                                    };
                                    };
                    };
    };
    
    &usb0 {
                    #address-cells = <1>;
                    #size-cells = <0>;
                   usb-role-switch;
                    status="okay";
    
                    port@1 {
                                    reg = <1>;
    
                                    typec_hs: endpoint {
                                                    remote-endpoint = <&usb_con_hs>;
                                    };
                    };
    };
    

    将此螺纹标记为闭合。