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.

[参考译文] AM62P:AM62P SKEVM OSPI 引导失败、在 QSPI 处停止:QSPI 在轮询 5000ms 后仍处于繁忙状态

Guru**** 2486065 points
Other Parts Discussed in Thread: AM62P

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1551166/am62p-am62p-skevm-ospi-boot-fail-stop-at-qspi-qspi-is-still-busy-after-poll-for-5000-ms

部件号:AM62P


工具/软件:

您好 TI  

现在我使用 OSPI 引导模式  

1、我使用 DFU 刷写 SPI 闪存  

#如果您已经在板上运行 u-boot ,这些第一组步骤是可选的
host $ sudo dfu-util -l
host $ sudo dfu-util -R -a bootloader -D tiboot3.bin
主机$ sudo dfu-util -R -a tispl.bin -D tispl.bin
主机$ sudo dfu-util -R -a u-boot.img -D /u-boot.img
#此时 u-boot 将开始执行。 在 u-boot 提示符处停止 (u-boot 日志将停止
出现在主 UART 的第 1 个实例上)
TARGET => env default -f -a
TARGET => saveenv
dfu> setenv dfu_alt_info ${dfu_alt_info_ospi}TARGET =
TARGET => DFU 0 SF 0:0
#这会实际刷写到 OSPI 闪存
host $ sudo dfu-util -l
主机$ sudo dfu-util -a tiboot3.bin -D tiboot3.bin
主机$ sudo dfu-util -a tispl.bin -D tispl.bin
主机$ sudo dfu-util -a u-boot.img -D /u-boot.img

没关系  

2 μ s、、 使用 OSPI 引导模式更改引导模式  

板启动失败,它停止在 QSPI:QSPI 在轮询 5000ms 后仍然繁忙。

3、有闪存日志和引导日志,你 可以检查它  

e2e.ti.com/.../OSPI_5F00_BOOT_5F00_LOG.txt

谢谢

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

    您好、Sui、下面是一些问题:

    • 您是否使用默认映像(tiboot3.bin、tispl.bin、u-boot.img 等)  或完成了任何修改?
    • 您使用的是哪个 AM62P Processor SDK 版本?
    • 可能已删除任何偶然的 PHY 模式 (0x3FC0000)?
    • 如果在 OSPI 中刷写映像、电路板也不会引导?  3.1.2.5. OSPI/QSPI NOR/NAND - Processor SDK AM62Px 文档

    尝试了解是否有任何设置配置可以让 OSPI 引导正常工作、以及已完成了哪些更改。  

    谢谢您、

    Paula

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

    你好 

    1、是、我使用 默认映像 (tiboot3.bin、tispl.bin、  u-boot.img)

    2、我使用的 SDK 版本是 11_01_05_03

    3、I have no deletd PHY pattern (0x3FC0000)

    4、我确信我 在 OSPI NOR 中刷写了映像  

    我使用 DFU 刷新它,你可以检查 OSPI_BOOT_LOG.txt 日志,  

    => SF 探针
    sf:检测到 s28hs512t、页面大小为 256 字节、擦除大小为 256 KiB、总共为 64 MiB
    => SF 擦除 0x0 0x3800000
    SF:58720256 字节@ 0x0 已擦除:正常
    => setenv dfu_alt_info ${dfu_alt_info_ospi}

    =>打印 dfu_alt_info_ospi
    dfu_alt_info_ospi = tiboot3.bin raw 0x0 0x080000;tispl.bin raw 0x080000 0x200000;u-boot.img raw 0x280000 0x400000;u-boot-env raw 0x680000 0x020000;sysfw.itb w 0x6c0000 0x100000;rootfs raw 0x800000 0x3800000
    => DFU 0 SF 0:0
    ##下载...确定
    按 Ctrl+C 退出...
    ###### 下载...确定
    按 Ctrl+C 退出...
    ###### 下载...确定
    按 Ctrl+C 退出...
    =>

    谢谢您、

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

    你好 

    有我的 uboot 修改补丁、e2e.ti.com/.../git_5F00_diff_5F00_uboot.txt

    您可以对其进行检查

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

    您好、

    如果这对您有帮助、请告诉我:

    E2E 响应、其中这个问题被另一个客户发现并解决了:  关于 AM6548:U-Boot SPL 无法加载 u-boot 正确:QSPI:轮询 10000 次后 QSPI 仍然繁忙。 

    谢谢、

    Vaibhav

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

    您好、  

    如果我刷写 R5 映像、QSPI 引导正常、如果我只刷写  tiboot3.bin  tispl.bin  u-boot.img、OSPI 引导失败  

    谢谢

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

    尊敬的 Sui:您好、以下是您的意见/问题/请求

    1) 我的问题是“如果在 OSPI 中刷写映像、电路板也不会引导?“ 我想检查您是否可以使用 此处提到的其他机制刷写相同的映像  3.1.2.5. OSPI/QSPI NOR/NAND - Processor SDK AM62Px 文档 例如 TFTP 或 SD 卡? 帮助我们排除二进制文件或 DFU 刷写过程中出现的任何问题

    2) 您是否尝试过 Vaibhav 提到的修补程序? 只是想知道您上次的评论是在应用修补程序之后

    3) 问题是否可使用 TI 的 AM62P 电路板和 OOB 二进制文件重新生成? 我相信,如果是,你可以分享任何步骤/技巧来重现它,这将是真正有帮助的。   

    谢谢您、

    Paula

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

    你好   Paula

    1) 我们要使用 DFU 闪存映像、DFU env 是   

     打印 dfu_alt_info_ospi
    dfu_alt_info_ospi = tiboot3.bin raw 0x0 0x080000;tispl.bin raw 0x080000 0x200000;u-boot.img raw 0x280000 0x400000;u-boot-env raw 0x680000 0x020000;sysfw.itb w 0x6c0000 0x100000;rootfs raw 0x800000 0x3800000

    然后刷写 tiboot3.bin  tispl.bin  u-boot.img

    然后我测试使用 dfu_alt_info_eMC 、然后 EMMC 引导正常、我认为 DFU 闪存正常  

    2) 我发现新的 SDK  11_01_05_03 已使用 该补丁  

    您可以检查文件  

    e2e.ti.com/.../cadence_5F00_qspi_5F00_apb.txt

    e2e.ti.com/.../cadence_5F00_qspi.txt

    3) 是的、我使用  TI 的 AM62P 电路板和 OOB 二进制文件

    谢谢

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

    您好 TI  

    我修改了 uboot dts  k3-am62p5-r5-sk.dts  

    Git diff  

    diff --git a/arch/arm/dts/k3-am62p5-r5-sk.dts b/arch/arm/dts/k3-am62p5-r5-sk.dts
    index ecd6cd02c88..94d6e9e0a21 100644
    --- a/arch/arm/dts/k3-am62p5-r5-sk.dts
    +++ b/arch/arm/dts/k3-am62p5-r5-sk.dts
    @@ -97,8 +97,41 @@
     };
    
     &ospi0 {
    -       reg = <0x00 0x0fc40000 0x00 0x100>,
    -             <0x00 0x60000000 0x00 0x08000000>;
    +
    +   flash@0{
    +      compatible = "jedec,spi-nor";
    +      reg = <0x0>;
    +      spi-tx-bus-width = <8>;
    +      spi-rx-bus-width = <8>;
    +      spi-max-frequency = <25000000>;
    +      cdns,tshsl-ns = <60>;
    +      cdns,tsd2d-ns = <60>;
    +      cdns,tchsh-ns = <60>;
    +      cdns,tslch-ns = <60>;
    +      cdns,read-delay = <4>;
    +
    +      partitions {
    +         compatible = "fixed-partitions";
    +         #address-cells = <1>;
    +         #size-cells = <1>;
    +         bootph-all;
    +
    +         partition@0 {
    +            label = "tiboot3.bin";
    +            reg = <0x00 0x80000>;
    +         };
    +
    +         partition@80000 {
    +            label = "tispl.bin";
    +            reg = <0x80000 0x200000>;
    +         };
    +
    +         partition@0x280000 {
    +            label = "u-boot.img";
    +            reg = <0x0x280000 0x680000>;
    +         };
    +      };
    +   };
     };
    
     &memorycontroller {

    然后我使用引导 EMMC ,它引导是正常的,我复制  tiboot3.bin  tispl.bin  u-boot.img 文件到 EMMC  

    am62pxx-evm login: root
    root@am62pxx-evm:~# ls
    root@am62pxx-evm:~# cd /
    root@am62pxx-evm:/# ls
    bin          dev          home         lost+found   mnt          root         sbin         sys          tispl.bin    u-boot.img   var
    boot         etc          lib          media        proc         run          srv          tiboot3.bin  tmp          usr
    root@am62pxx-evm:/#

    然后重新引导、在 uboot 处停止

    U-Boot SPL 2025.01-00535-g827c35b4d141-dirty (Jul 03 2025 - 17:34:00 +0000)
    SYSFW ABI: 4.0 (firmware rev 0x000b '11.1.2--v11.01.02 (Fancy Rat)')
    SPL initial stack usage: 17088 bytes
    Trying to boot from MMC1
    Authentication passed
    Authentication passed
    Authentication passed
    Authentication passed
    Authentication passed
    Starting ATF on ARM64 core...
    
    NOTICE:  BL31: v2.13.0(release):v2.13.0-259-ge0c4d3903b-dirty
    NOTICE:  BL31: Built : 07:01:36, Jul  1 2025
    
    U-Boot SPL 2025.01-00535-g827c35b4d141-dirty (Jul 03 2025 - 17:34:00 +0000)
    SYSFW ABI: 4.0 (firmware rev 0x000b '11.1.2--v11.01.02 (Fancy Rat)')
    DM ABI: 3.0 (firmware ver 0x000b 'MSDK.11.01.00.05-dirty--v11.01.02' patch_ver: 2)
    SPL initial stack usage: 1984 bytes
    MMC: no card present
    ** Bad device specification mmc 1 **
    Couldn't find partition mmc 1:1
    Error: could not access storage.
    Trying to boot from MMC1
    Authentication passed
    Authentication passed
    
    
    U-Boot 2025.01-00535-g827c35b4d141-dirty (Jul 03 2025 - 17:34:00 +0000)
    
    SoC:   AM62PX SR1.0 HS-FS
    Model: Texas Instruments AM62P5 SK
    DRAM:  2 GiB (total 8 GiB)
    Core:  97 devices, 32 uclasses, devicetree: separate
    MMC:   mmc@fa10000: 0, mmc@fa00000: 1
    Loading Environment from nowhere... OK
    In:    serial
    Out:   serial
    Err:   serial
    Net:   eth0: ethernet@8000000port@1
    Warning: ethernet@8000000port@2 (eth1) using random MAC address - 26:63:21:21:71:2b
    , eth1: ethernet@8000000port@2
    
    Hit any key to stop autoboot:  0
    =>
    =>
    =>
    => ls mmc 0
                ./
                ../
                lost+found/
        <SYM>   bin
                boot/
                dev/
                etc/
                home/
        <SYM>   lib
                media/
                mnt/
                proc/
                root/
                run/
        <SYM>   sbin
                srv/
                sys/
                tmp/
                usr/
                var/
       314237   tiboot3.bin
      1443391   tispl.bin
      1468279   u-boot.img
    
    6 file(s), 17 dir(s)
    
    =>

    然后、我     将 tiboot3.bin tispl.bin u-boot.img 刷写到 QSPI 中

    => sf probe
    SF: Detected s28hs512t with page size 256 Bytes, erase size 256 KiB, total 64 MiB
    => ext4load mmc 0 ${loadaddr} tiboot3.bin
    314237 bytes read in 3 ms (99.9 MiB/s)
    => sf update $loadaddr 0x0 $filesize
    device 0 offset 0x0, size 0x4cb7d
    0 bytes written, 314237 bytes skipped in 0.4s, speed 45968384 B/s
    => ext4load mmc 0 ${loadaddr} tispl.bin
    1443391 bytes read in 9 ms (152.9 MiB/s)
    => sf update $loadaddr 0x80000 $filesize
    device 0 offset 0x80000, size 0x16063f
    919103 bytes written, 524288 bytes skipped in 5.291s, speed 279137 B/s
    => ext4load mmc 0 ${loadaddr} u-boot.img
    1468279 bytes read in 9 ms (155.6 MiB/s)
    => sf update $loadaddr 0x280000 $filesize
    device 0 offset 0x280000, size 0x166777
    419703 bytes written, 1048576 bytes skipped in 2.579s, speed 582307 B/s
    => <INTERRUPT>
    =>
    =>
    

    然后、我更改引导模式 QSPI 引导

    AM62P SKEVM 无法 OSPI 引导

    这是启动日志

    U-Boot SPL 2025.01-00535-g827c35b4d141-脏 (2025 年 7 月 3 日 — 17:34:00 +0000)
    SYSFW ABI:4.0(固件版本 0x000b'11.1.2--v11.01.02(花哨 Rat)')
    SPL 初始栈使用量:17088 字节
    尝试从 SPI 引导
    QSPI:轮询 5000ms 后、QSPI 仍处于繁忙状态。

    谢谢

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

    谢谢、请给我一些时间来重现问题。  

    Paula

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

    你好, Sui,检查你的最后一篇文章,请帮助我理解。 为什么您在“arch\arm\dts\k3-am62p5-r5-sk.dts"中“中添加“&opsi0"?“? 中已对此进行了定义  

    “arch\arm64\boot\dts\ti\k3-am62p5-sk.dts",“,并且、并且两个文件之间的一些大小和属性不同(例如 u-boot、phy-mode)

    https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts?h=ti-linux-6.12.y#n713

    此外、为了理解、在未更改“k3-am62p5-r5-sk.dts"的“的情况下、使用 DFU、电路板启动是否正常?

    谢谢您、

    Paula

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

    亲爱的 

    我  在 uBoot  dts  k3-am62p5-r5-sk.dts 中添加&ospi0    、它不在 Linux 内核中   

    但 我也可以删除 &ospi0 它,我不知道为什么我刷新 tiboot3.bin  tispl.bin  u-boot.img , OSPI boot 失败?

    谢谢

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

    SUI、您能与我分享您的 Linux 内核 dts (k3-am62p5-sk.dts) 吗? 也可以是  k3-am62p5-r5-sk.dts(您已在那里共享了更改,因此可选)

    此外、我来确认一下、为了澄清一下 、在“k3-am62p5-r5-sk.dts"中“中没有更改的情况下、使用 DFU、电路板启动是否正常? 我想了解在使用 DFU 进行刷写后、是否存在任何电路板引导正常的情况

    谢谢您、

    Paula

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

    你好  

    这里是我的 Linux 内核 dts  k3-am62p5-sk.dts

    e2e.ti.com/.../0143.k3_2D00_am62p5_2D00_sk.txt

    谢谢

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

    谢谢你,请帮助我回答我的前一个问题:

    此外、让我确认一些内容、澄清一下、 “k3-am62p5-r5-sk.dts"中“中没有更改、使用 DFU、电路板启动是否正常? 我想了解是否存在任何场景、在使用 DFU
    刷写后、您的电路板引导是否正常

    谢谢

    Paula

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

    你好  

    我在板上使用 DFU 闪存映像、板引导正常、我使用 EMMC 引导模式  

    谢谢

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

    “对不起,我不知道该怎么办。“ 由于时间的原因、我无法重现问题。 但我又看了一下您共享的文件和日志、我想建议在 k3-am62p5-r5-sk.dts 中进行一些更改

    以下列表:

    -重新添加 OSPI 控制器寄存器  

    -在闪存模式和各个分区上添加“bootph-all"</s>“

    -将 u-boot 分区大小更改为 4MB(我在 arch\arm64\boot\dts\ti\k3-am62p5-sk.dts 中看到)

    -添加了 OSPI Pinx-mux (我在  arch\arm64\boot\dts\ti\k3-am62p5-sk.dts 中看到)

    附加的文件尚未经过测试、因此请仔细检查我没有引入任何错误。 我们也可以删除“phy-mode"。“。 在任何情况下、请看一下是否有建议有助于您的电路板启动正常

    e2e.ti.com/.../k3_2D00_am62p5_2D00_r5_2D00_sk_5F00_modif.dts

    谢谢您、

    Paula