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:USB 3.0设备树配置

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/708212/linux-usb-3-0-device-tree-configuration

主题中讨论的其他器件:TDA2

工具/软件:Linux

您好!

我们有定制的 tda2px 板、并希望在器件树中启用 USB 3.0。 这是 USB 模块的原理图:

我在 CN8的 VBUS 上有5V 电压。 原理图是否一切正常? 如果一切正常、我应该在器件树中实施哪些更改来启用此模块?  

此致、

Suzana Komarcevski

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

    您好、Suzana、

    有关原理图的一个小评论- USB2.0数据引脚也需要 ESD 保护。

    此致、

    STAN

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

    几个问题:
    查看原理图、它具有 USB-A 3.0插座。 因此、我们假设您计划仅具有 USB 主机模式功能。 是这样吗?
    要对器件树条目进行注释、您能告诉我们您正在使用/参考的 TI SDK 版本。 以便我们可以指向要引用的正确文件?

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

    是的、您回答正确。 我们计划仅具有主机模式功能。 我们使用的是 PROCESSOR_SDK_VISION_03_03_00_00。

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

    您好、Suzana、

    我假设与 processor_sdk_vision_03_03_00_00一起、您使用其中一个 TI Linux SDK 在 A15内核上运行 Linux 操作系统。

    如果正确、则可以在 Linux 内核路径/arch/arm/boot/dts.中找到器件树文件 请确定要用于您的平台的正确 DTS 文件。 有关此信息、请参阅 VISION SDK 版本文档。

    对于 USB1 DT 条目示例:请参考 dra7.dtsi 文件-搜索以下列行开头的段: omap_dwc3_1:omap_dwc3_1@48880000{

    您的案例所需的唯一更改是: dr_mode ="host";

    谢谢、

    Praveen

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

    您好!

    我在 dra76-EVM.dts 中进行了以下更改、但未检测到 USB 器件:

    USB1{(&S)

      DR_MODE ="主机";

    };

    当我插入 USB 2.0 (4GB)时 、这是 lsusb 和 lsblk 命令的输出:

    我是否需要将 USB1_DRV_VBUS 设置为 GPIO 以获取5V 输出? 我是否需要使用 extcon 驱动程序?

    此致、

    Suzana

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Suzana、
    在您的初始帖子中、您说:"我在 CN8上的 VBUS 上有5V 电压。 "。 您的意思是"我没有..."?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    斯坦尼斯拉夫

    当我将 USB1_DRV_VBUS 的多路复用模式更改为14时、我有5V 电压。 很抱歉、我的错、解释不好。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Suzana、

    USB1_DRVVBUS 的默认多路复用模式0足以使 VBUS 打开。 一旦 USB1配置为主机模式、USB1_drvbus 线路被置为有效、这样它就启用外部电荷泵/电源开关。 无需将其配置为 GPIO (多路复用模式14)。

    在您的情况下、不需要 extcon 驱动程序。 仅当需要 VBUS 检测和/或 ID 检测逻辑时才需要此功能。 在随附的原理图中、我们没有看到这种情况。 由于您需要的是 USB1仅是主机模式、因此这不是必需的。
    有关更详细的研磨、请参阅"图24-142。 超高速 USB 控制器应用:USB3.0 DRD"的 TDA2 TRM。

    关于未检测到 USB 设备,您是否已确保正确注意 USB2 PHY 的时钟和电源?
    您能否通过运行"dmesg"共享内核日志?

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

    Praveen、

    我参考了 Linux_kernel _path/arch/arm/boot/dts/dra72-EVM-common.dtsi、并在 dra76-evm.dts 中进行了类似的更改:

    extCON_USB1:extCON_USB1{
    兼容="linux、extcon-USB-GPIO";
    ID-GPIO =<&GPIO6 12 GPIO_ACTIVE_HIGH_>;
    };
    
    &dra7_PMX_CORE{
    GPIO6_PINS:GPIO6_PINS{
    pinctrl-single、PINS =<
    0x280 (PIN_OUTPLUG_PULLUP | MUX_MODE14)
    >;
    };
    
    
    &GPIO6{
    状态="正常";
    pinctrl-names ="default";
    pinctrl-0 =<&GPIO6_PINs>;
    };
    
    &OMAP-dwc3_1{
    status ="确定";
    extcon =<&extCON_USB1>;
    }
    
    ;&USB1{
    dr_mode ="主机";
    }; 

    这解决了我的问题。 根据您之前的帖子、我认为这是错误的方式、但在我的案例中、我的问题是、我是否应该保留这样的方式?

    谢谢、

    Suzana

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

    最好知道问题已解决。

    如果您想使用此功能或进一步分析其工作原理、请将决定留给您。 如果您对分辨率满意、建议您关闭此主题。

    谢谢、
    Praveen