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.

[参考译文] AM67:am67 u-boot 24.04 USB 启动失败

Guru**** 2473690 points
Other Parts Discussed in Thread: AM67

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1463308/am67-am67-u-boot-24-04-usb-start-failed

器件型号:AM67

工具与软件:

大家好!

  我使用了 am67 SDK 10.0.1 u-boot 24.04、在 u-boot 使用的 USB 主机中、当我重新运行 USB 启动时、它会显示:

正在启动 USB...
未找到工作正常的控制器

如何在 uboot 中使用 USB 主机?  

谢谢

u-boot USB defconfig:

CONFIG_USB=y
CONFIG_DM_USB=y
CONFIG_SPL_DM_USB=y
CONFIG_DM_USB_GADGET=y
CONFIG_SPL_DM_USB_GADGET=y

#
# USB 主机控制器驱动程序
#
CONFIG_USB_HOST=y
CONFIG_SPL_USB_HOST=y
CONFIG_USB_XCCI_HCD=y
# CONFIG_USB_XCCI_DWC3 not set (# CONFIG_USB_XCCI_DWC3未设置)
# CONFIG_USB_XHCI_DWC3_OF_SIMPLE 未被置位
# CONFIG_USB_XCCI_FSL 未置位
# CONFIG_USB_XCCI_BRCM 未设置
# CONFIG_USB_EHCI_HCD 未设置
# CONFIG_USB_OHCI_HCD 未置位
# CONFIG_USB_UHCI_HCD 未置位
# CONFIG_USB_DWC2未设置
# CONFIG_USB_R8A66597_HCD 未置位
CONFIG_USB_MAX_CONTROLLER_COUNT=2
# CONFIG_USB_ISP1760未设置
# CONFIG_USB_CDNS3 is not set (未设置 CONFIG_USB_CDNS3)
CONFIG_USB_DWC3=y
CONFIG_USB_DWC3_GADGET=y

#
#平台胶合驱动程序支持
#
# CONFIG_USB_DWC3_OMAP 未被置位
CONFIG_USB_DWC3_GENERIC=y
CONFIG_SPL_USB_DWC3_GENERIC=y
CONFIG_SPL_USB_DWC3_AM62=y
CONFIG_USB_DWC3_AM62=y
# CONFIG_USB_DWC3_LAYERSCAPE 未设置

#
# PHY 子系统
#
未设置# CONFIG_USB_DWC3_PHY_OMAP
未设置# CONFIG_USB_DWC3_PHY_SAMSUNG

#
#传统 MUSB 支持
#
# CONFIG_USB_MUSB_HCD 未设置
# CONFIG_USB_MUSB_UDC NOT SET (未设置 CONFIG_USB_MUSB_UDC)

#
# MUSB 控制器驱动程序
#
# CONFIG_USB_MUSB_HOST 未设置
# config_usb_musb_gadget not set
# CONFIG_USB_MUSB_PIO_ONLY 未设置

#
# USB PHY
#
# CONFIG_TWL4030_USB is not set (未设置 CONFIG_TWL4030_USB)
# CONFIG_Rockchip_USB2_PHY 未设置

DTS 配置:

sserdes0_ln_ctrl {\displaystyle
空闲状态= ;
};

服务器0 (&S){
状态="正常";
serdes0_usb_link:phy@0{
REG =<0>;
cdns, num-lannes =<1>;
#phy-cells =<0>;
cdn、phy-type = ;
重置=<&SerDes_wiz0 1>;
};
};

usbss0 (&U)
状态="正常";
TI、VBUS 分频器;
};

&usb0{
DR_MODE ="主机";
USB 角色开关;
};

&usbss1{
状态="正常";
pinctrl-names ="默认值";
pinctrl-0 =<&MAIN_USB1_PINS_DEFAULT>;
TI、VBUS 分频器;
};

&USB1{
DR_MODE ="主机";
最大速度="超级速度";
physs =<&serdes0_usb_link>;
phy-names ="cdns3、USB3-phy";
};

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

    大家好!

      是否有建议?

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

    您好!

    我最后使用以下补丁进行了测试、可以看到 USB start 正常工作、没有任何问题。

    diff --git a/arch/arm/dts/k3-j722s-evm-u-boot.dtsi b/arch/arm/dts/k3-j722s-evm-u-boot.dtsi
    index 2e81fbea..f0563c59 100644
    --- a/arch/arm/dts/k3-j722s-evm-u-boot.dtsi
    +++ b/arch/arm/dts/k3-j722s-evm-u-boot.dtsi
    @@ -47,7 +47,7 @@
     };
     
     &usb0 {
    -       dr_mode = "peripheral";
    +       dr_mode = "host";
            bootph-pre-ram;
     };
     

    日志:

    U-Boot SPL 2024.04-ti-dirty (Jan 06 2025 - 13:28:15 +0530)
    SYSFW ABI: 4.0 (firmware rev 0x000a '10.1.6--v10.01.06 (Fiery Fox)')
    ECC is enabled, priming DDR which will take several seconds.
    ECC: priming DDR completed in 3008 msec
    SPL initial stack usage: 17048 bytes
    Trying to boot from MMC2
    Authentication passed
    Authentication passed
    Authentication passed
    Authentication passed
    Authentication passed
    Starting ATF on ARM64 core...
    
    NOTICE:  BL31: v2.11.0(release):v2.11.0-906-g58b25570c9-dirty
    NOTICE:  BL31: Built : 04:20:32, Nov  1 2024
    
    U-Boot SPL 2024.04-ti-dirty (Jan 06 2025 - 13:28:03 +0530)
    SYSFW ABI: 4.0 (firmware rev 0x000a '10.1.6--v10.01.06 (Fiery Fox)')
    Trying to boot from MMC2
    Authentication passed
    Authentication passed
    
    
    U-Boot 2024.04-ti-dirty (Jan 06 2025 - 13:28:03 +0530)
    
    SoC:   J722S SR1.0 HS-FS
    Model: Texas Instruments J722S EVM
    DRAM:  2 GiB (effective 7 GiB)
    Core:  79 devices, 29 uclasses, devicetree: separate
    MMC:   mmc@fa10000: 0, mmc@fa00000: 1
    Loading Environment from nowhere... OK
    In:    serial@2800000
    Out:   serial@2800000
    Err:   serial@2800000
    Net:   eth0: ethernet@8000000port@1
    Hit any key to stop autoboot:  0 
    => 
    => usb start
    starting USB...
    Bus usb@31000000: Register 1000840 NbrPorts 1
    Starting the controller
    USB XHCI 1.10
    scanning bus usb@31000000 for devices... 1 USB Device(s) found
           scanning usb for storage devices... 0 Storage Device(s) found
    => 

    此致
    Diwakar

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

    尊敬的 Diwakar:

    我已在  k3-j722s-evm.dts 中添加了 dr_mode ="host"

    &usb0{
    DR_MODE ="主机";
    USB 角色开关;
    }

    但当我运行 USB 启动时、它仍然显示错误、 是因为 SYSFW 不同吗?

    U-Boot SPL 2024.04 (2025年1月20日- 17:25:49 +0800)
    SYSFW ABI:4.0 (固件版本0x000a '10.0.8--v10.00.08 (Fiery Fox)')
    SPL 初始堆栈使用量:17064字节
    尝试从 MMC1引导
    身份验证已通过
    身份验证已通过
    身份验证已通过
    身份验证已通过
    身份验证已通过
    在 ARM64内核上启动 ATF。。。

    注意:BL31:v2.10.0 (发布):v2.10.0-367-g00f1ec6b87-dirty
    通知:BL31:创建时间:2024年2月9日16:09:05

    U-Boot SPL 2024.04 (2025年1月20日- 17:28:15 +0800)
    SYSFW ABI:4.0 (固件版本0x000a '10.0.8--v10.00.08 (Fiery Fox)')
    尝试从 MMC1引导
    身份验证已通过
    身份验证已通过


    U-Boot 2024.04 (2025年1月20日- 17:28:15 +0800)

    SoC:J722S SR1.0 HS-SOC FS
    型号:Texas Instruments J722S ECU1270
    DRAM:2GiB (有效4GiB)
    内核:77个器件、27个 uClass、devicetre:单独
    MMC:MMC@fa10000:0、MMC@fa00000:1
    随处加载环境... 好的
    输入:串行@2800000
    输出:串行@2800000
    ERR:串行@2800000
    net:eth0:以太网@8000000port@1
    按 ENTER 可在1秒内停止自动引导
    =>
    =>
    => USB 开始
    正在启动 USB...
    未找到工作正常的控制器

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

    你(们)好  

    您能否在建议的文件(/arch/arm/dts/k3-j722s-evm-u-boot.dtsi)中进行更改、看看它是否仍然无法正常工作。

    该文件将覆盖 k3-j722s-evm.dts 中提到的配置。

    此致
    Diwakar

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

    尊敬的 Diwakar

    我在 k3-j722s-evm-u-boot.dtsi 文件中更改了该名称、但仍然失败。

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

    请分享您已使用的 u-boot.dtb。

    只是为了确认您使用 EVM 是否正确?

    此致
    Diwakar