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:Cust PCB 上有 512M SPI NAND 闪存、加载内核时出现问题

Guru**** 2489685 points
Other Parts Discussed in Thread: AM625, SK-AM62-LP

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1549988/am625-cust-pcb-with-512m-spi-nand-flash-on-the-pcb-problem-to-load-the-kernel

器件型号:AM625
主题中讨论的其他器件: SK-AM62-LP

工具/软件:

香榭丽舍大街

#1。 我的客户 PCB(带 512M SPI NAND 闪存)、但无法加载密钥。

#2. 请查看下面的日志、如何解决此问题?

BR Rio

U-Boot 2024.04-脏污 (2025 年 8 月 06 日 — 09:53:08 +0800)

 

SoC:  AM62X SR1.0 HS-SOC FS

型号:Texas Instruments AM625 SK

EEPROM 在 0x50 处不可用、尝试在 0x51 处读取

读取 0x51 处的板载 EEPROM 失败–121

DRAM: 475 MIB(有效值 512 MIB)

内核: 81 个器件、31 个 uclasses、器件树:单独

NAND: 0 MIB

  MMC:MMC@fa10000:0、MMC@fa00000:1

正在从 NAND...加载环境 好的

IN:   串行

输出:  串行

错误:  序列

EEPROM 在 0x50 处不可用、尝试在 0x51 处读取

读取 0x51 处的板载 EEPROM 失败–121

NET  :无法获取 MDIO@f00 的 PHY:地址 0

am65_cpsw_Nuss_port Ethernet@8000000port@1:phy_connect () 失败

未找到以太网。

 

按任意键停止自动引导: 0

=> mw.l 0x43000030 0x00000273;复位

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

    嗨、Rio、

    核心问题是 U-Boot 无法识别和利用定制 PCB 上的 512MiB SPI NAND 闪存。  

    此外、日志显示 I2C(,)EEPROM not available at 0x50, trying to read at 0x51Reading on-board EEPROM at 0x51 failed -121和以太网 ()No ethernet found. 的问题。 虽然这些是单独的问题、但它们指向定制电路板上的器件树或硬件配置中的潜在问题。

     检查电路板的器件树 SPI-n 和配置(例如, k3-am625-sk.dts 或针对 PCB 的定制器件)。

    2. defconfig电路板的 U-Boot 文件(configs/am62x_evm_a53_defconfig configs/am62x_evm_r5_defconfig 或类似配置)可能会缺少支持 SPI NAND 闪存所需的元件。

    请参阅以下链接:  

     1. https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1545656/sk-am62b-p1-how-to-change-defconfig-files-for-spi-nand-boot

     2. https://software-dl.ti.com/processor-sdk-linux/esd/AM62X/latest/exports/docs/linux/Foundational_Components /U-Boot/UG-QSPI.html

    此致、

    Dilna K

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

    您好 K:

    我阅读了您发布的链接、我们是否需要更改 OSPI NAND 闪存大小?

    我找不到与尺寸相关的位置?

    或者、我们不需要更改 SPI NAND 闪存大小?

    BR Rio

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

    嗨、Rio、

    对于支持 OSPI_NAND 闪存的 AM62A 、使用: Cypress 的 1Gb OSPI 存储器器件(器件型号为 W35N01JWTBAG)  

    请参阅 AM62A EVM 板用户指南的“4.5.10.2 OSPI 接口“一节

    链接: —  https://www.ti.com/lit/ug/spruj66a/spruj66a.pdf?ts = 17544286840&ref_url=https%253A%252F%252Fwww.google.com%252F

    根据我的理解、我们需要使用 1Gb 大小的 SPI NAND 闪存。 让我再次咨询我们的硬件专家、然后返回给您。

    此致、

    Dilna K

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

    您好 K:

    这是 AM62x、而不是 am62A。

    更多问题:

        问题 1: =>  NAND: 0 MIB

           打印此日志的代码在哪里?  

        问题 2: =>客户的 S 闪存为“QSPI - NAND“。

           AM62 正在使用 Cadence 驱动程序进行调整?

        问题 3 => SPI NAND 速度我可以更改到哪里?

           我不是说 SPI 时钟。

    BR Rio

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

    嗨、Rio、
    以下来自客户在星期三上的最新电子邮件、2025年8月6日 上午 10:12
    >>>>
    但是目前我們的板子、μ s
    SD卡開機到kernel後、μ s
    進行spi n 和 image的寫入、
    寫入後會讀出來跟原檔進行md5sum確認、μ s
    之後切換spi n and 開機。=>開機沒有任何訊息
    <<<<
    1/。 测试中使用的串行 NAND 设备是什么? 它是 GD 器件吗?
    2/。 您是否会分享串行 NAND 器件数据表?
    3。 什么是 BOOTMODE[15:0]? 从客户主板上的串行 NAND 引导时?
    此致、
    - Hong

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

     Rio Chan 

    1/。 测试中使用的串行 NAND 设备是什么? 它是 GD 器件吗?
    2/。 您是否会分享串行 NAND 器件数据表?
    3。 什么是 BOOTMODE[15:0]? 从客户主板上的串行 n 和引导时?

    您能否根据 Hong 的要求获得上述信息、然后我们可以继续。

    谢谢、

    Vaibhav

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

    尊敬的 Vaibhav:

    #1。 请帮助我将此 E2E 更改为内部地址、因此我会将 DS /报告移植到此 TT 中。

    #2. 我已经向您发送了相关的离线详细信息报告。

    谢谢。

    BR Rio

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

    嗨、Rio、
    感谢您通过离线电子邮件分享这两个数据表。

    3/。 什么是 BOOTMODE[15:0]? 从客户主板上的串行 n 和引导时?

    此致、
    - Hong

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

    尊敬的 Hong / Vaib:

    1/。 测试中使用的串行 NAND 设备是什么? 它是 GD 器件吗?

       (里约:如摘要报告所示,他们使用了 ESMT / Winbond QSPI NAND。


    2/。 您是否会分享串行 NAND 器件数据表?

       (RIO:作为脱机电子邮件。)


    3。 什么是 BOOTMODE[15:0]? 从客户主板上的串行 NAND 引导时?

       (里约:我很快就会得到答案。)

    BR Rio

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

    这里显示了引导模式设置。  

     

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

    嗨、Rio、
    1/。 我们是否有有关客户如何在客户电路板上刷写串行 NAND 的详细步骤(日志文件会有所帮助)?
    2/。 刷写后、客户是否验证了串行 NAND 内容?
    3。 从串行 nand 引导时、我们是否有完整的引导日志?

    供参考。 这是有关如何在 SK-AM62-LP 板上从串行 NAND 进行刷写/引导的常见问题解答
    【常见问题解答】如何从 AM62x/AM62Ax 上的串行 NAND 刷写和引导 u-boot 
    此致、
    - Hong

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

    嗨、Rio、
    以下内容来自您共享的脱机电子邮件。
    我的离线电子邮件读数是在 GD 设备上未观察到两个字节偏移。
    我们能否在刷写后尝试更改从 GD 器件引导时下面的一行、以查看 tiboot3.bin 是否启动...
    中导出
    => mw.l 0x43000030 0x00000273;复位
    最终目的
    => mw.l 0x43000030 0x00000103;复位

    >>>>>>>> 您共享的脱机电子邮件
    2004 年 8 月
    目前我們又換上另外一個GD的qspi nandflash、
    也是可以正常燒寫(沒有位移現象)、但是切換到spi nand 無法開機、沒有訊息。

    >> Aug-06
    根據link的方式使用reset μ s

    1. SD卡開機到kernel後、進行spi n 和 image的寫入、寫入後會讀出來跟原檔進行md5sum確認
    2. sd 卡開機停在uboot、執行mw .l 0x43000030 0x00000273;复位

    結果還是沒有任何訊息如下:
    U-Boot 2024.04-脏污 (2025 年 8 月 06 日 — 09:53:08 +0800)

    SoC:AM62X SR1.0 HS-SOC FS
    型号:Texas Instruments AM625 SK
    EEPROM 在 0x50 处不可用、尝试在 0x51 处读取
    读取 0x51 处的板载 EEPROM 失败–121
    DRAM:475 MIB(有效值 512 MIB)
    内核:81 个器件、31 个 uclasses、器件树:单独
    NAND:0 MIB
    MMC:MMC@fa10000:0、MMC@fa00000:1
    正在从 NAND...加载环境 好的
    IN:串行
    输出:串行
    错误:序列
    EEPROM 在 0x50 处不可用、尝试在 0x51 处读取
    读取 0x51 处的板载 EEPROM 失败–121
    NET:无法获取 MDIO@f00 的 PHY:地址 0
    am65_cpsw_Nuss_port Ethernet@8000000port@1:phy_connect () 失败
    未找到以太网。

    按任意键停止自动引导:0
    => mw.l 0x43000030 0x00000273;复位
    正在重置...
    >>>>>>>>

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

    大家好:

    #1。 请注意:我们仅关注 ESMT/WB QSPI 闪存启动。

    #2. 客户 RD 已验证 LP EVM(NAND 闪存引导。) 与非线性调频脉冲相关的数据。

    ****************** 下面是 SD 卡引导、我们使用 SF 探测器检查 NAND 闪存状态*******************

    U-Boot SPL 2024.04-脏污 (2025 年 8 月 21 日 — 15:41:57 +0800)

    SYSFW ABI:4.0(固件版本 0x000a '10.1.8--v10.01.08 (Fiery Fox)')

    SPL 初始栈使用量:13456 字节

    am625_init:SPL_BOOT_DEVICE:devstat = 0x243 bootmedia = 0x8 bootindex = 0

    CTRL_MMR0(引导模式):0x243

    尝试从 MMC2 引导

    Tony 添加 spl_load_image

    am625_init:SPL_BOOT_DEVICE:devstat = 0x243 bootmedia = 0x8 bootindex = 0

    身份验证已通过

    am625_init:SPL_BOOT_DEVICE:devstat = 0x243 bootmedia = 0x8 bootindex = 0

    身份验证已通过

    am625_init:SPL_BOOT_DEVICE:devstat = 0x243 bootmedia = 0x8 bootindex = 0

    身份验证已通过

    am625_init:SPL_BOOT_DEVICE:devstat = 0x243 bootmedia = 0x8 bootindex = 0

    身份验证已通过

    am625_init:SPL_BOOT_DEVICE:devstat = 0x243 bootmedia = 0x8 bootindex = 0

    身份验证已通过

    在 ARM64 内核上启动 ATF……

     

    注意: BL31:v2.11.0(发行版):v2.11.0-906-g58b25570c9-dirty

    注意: BL31:制造时间: 2024 年 11 月 1 日 04:20:32

     

    U-Boot SPL 2024.04-脏污 (2025 年 8 月 21 日 — 15:42:10 +0800)

    SYSFW ABI:4.0(固件版本 0x000a '10.1.8--v10.01.08 (Fiery Fox)')

    SPL 初始栈使用量:1904 字节

    am625_init:SPL_BOOT_DEVICE:devstat = 0x243 bootmedia = 0x8 bootindex = 0

    CTRL_MMR0(引导模式):0x243

    尝试从 MMC2 引导

    Tony 添加 spl_load_image

    I2C_WRITE:等待数据 ACK (STATUS=0x116) 时出错

    pca953x GPIO@22:读取输出寄存器时出错

    am625_init:SPL_BOOT_DEVICE:devstat = 0x243 bootmedia = 0x8 bootindex = 0

    身份验证已通过

    am625_init:SPL_BOOT_DEVICE:devstat = 0x243 bootmedia = 0x8 bootindex = 0

    身份验证已通过

     

     

    U-Boot 2024.04-脏污 (2025 年 8 月 21 日 — 15:42:10 +0800)

     

    SoC:  AM62X SR1.0 HS-SOC FS

    型号:Texas Instruments AM625 SK

    EEPROM 在 0x50 处不可用、尝试在 0x51 处读取

    读取 0x51 处的板载 EEPROM 失败–121

    DRAM: 475 MIB(有效值 512 MIB)

    内核: 81 个器件、31 个 uclasses、器件树:单独

    NAND: Tony board_nand_init dev-name:

    0 Mib

      MMC:MMC@fa10000:0、MMC@fa00000:1

    正在从 NAND...加载环境 Tony 添加 spinand_detect

    未知的原始 ID ef aa 22 00

    Tony add add_MTD_device MTD->name:SPI-nand0 MTD->size:268435456else MTD:将设备 0 发送至 SPI-nand0 MTD->size:0x10000000

    Tony add add_MTD_DEVICE MTD->name:tiboot3 MTD->size:524288Else MTD:将设备 1 分配到 tiboot3 MTD->size:0x80000

    Tony add add_MTD_DEVICE MTD->name:tispl MTD->size:2097152else MTD:将设备 2 提供给 tispl MTD->size:0x200000

    Tony 添加 add_MTD_device MTD->name:uBoot MTD->size:4194304else MTD:将设备 3 分配给 uBoot MTD->size:0x400000

    Tony 添加 add_MTD_device MTD->name:ENV0 MTD->size:524288else MTD:将设备 4 发送到 ENV0 MTD->size:0x80000

    Tony add add_MTD_DEVICE MTD->name:ENV1 MTD->size:524288else MTD:将设备 5 发送到 ENV1 MTD->size:0x80000

    Tony add add_MTD_DEVICE MTD->name:RawData MTD->size:524288Else MTD:将设备 6 发送到 RawData MTD->size:0x80000

    Tony add add_MTD_DEVICE MTD->name:DTB0 MTD->size:524288Else MTD:将设备 7 分配给 DTB0 MTD->size:0x80000

    Tony add add_MTD_DEVICE MTD->name:DTB1 MTD->size:524288Else MTD:将设备 8 分配给 DTB1 MTD->size:0x80000

    Tony add add_MTD_device MTD->name:KERNEL0 MTD->size:10485760else MTD:将设备 9 分配给 KERNEL0 MTD->size:0xa00000

    Tony add add_MTD_device MTD->name:KERNEL1 MTD->size:10485760else MTD:将设备 10 分配给 KERNEL1 MTD->size:0xa00000

    Tony add add_MTD_device MTD->name:ROOTFS0 MTD->size:10485760else MTD:将设备 11 分配给 ROOTFS0 MTD->size:0xa00000

    Tony 添加 add_MTD_device MTD->name:ROOTFS1 MTD->size:10485760else MTD:将设备 12 发送到 ROOTFS1 MTD->size:0xa00000

    Tony add add_MTD_device MTD->name:boot_bak MTD->size:4194304else MTD:将设备 13 分配给 boot_bak MTD->size:0x400000

    Tony add add_MTD_device MTD->name:HMI MTD->size:212860928else MTD:将设备 14 分配给 HMI MTD->size:0xcb00000

    ***警告 — 错误的 CRC、使用默认环境

     

    IN:   串行

    输出:  串行

    错误:  序列

    EEPROM 在 0x50 处不可用、尝试在 0x51 处读取

    读取 0x51 处的板载 EEPROM 失败–121

    NET  :无法获取 MDIO@f00 的 PHY:地址 0

    am65_cpsw_Nuss_port Ethernet@8000000port@1:phy_connect () 失败

    未找到以太网。

     

    按任意键停止自动引导: 0

    => SF 探针

    Tony 添加 spinand_detect

    未知的原始 ID ef aa 22 00

    Tony add add_MTD_device MTD->name:SPI-nand1 MTD->size:268435456else MTD:将设备 15 发送至 SPI-nand1 MTD->size:0x10000000

    =>

    ************************************************************************** 下面是我们切换到串行 NAND 引导************************

    U-Boot SPL 2024.04-脏污 (2025 年 8 月 21 日 — 15:41:57 +0800)

    SYSFW ABI:4.0(固件版本 0x000a '10.1.8--v10.01.08 (Fiery Fox)')

    SPL 初始栈使用量:13456 字节

    am625_init:SPL_BOOT_DEVICE:devstat = 0x283 bootmedia = 0x10 bootindex = 0

    CTRL_MMR0(引导模式):0x283

    尝试从 SPINAND 引导

    Tony 添加 spl_load_image

    Tony 添加 spinand_detect

    未知的原始 ID ef aa 22 00

    Tony add add_MTD_device MTD->name:SPI-nand0 MTD->size:268435456else MTD:将设备 0 发送至 SPI-nand0 MTD->size:0x0

    SPL:无法从所有引导设备引导

    ###错误###请重置主板###

    您可以看到 SPI NAND 切换为 0、大小为 0、为什么?

    BR Rio

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

    嗨、Rio、
    TI SDK 中的“sf" cmd“ cmd @u-boot 仅适用于 SPI-NOR、但 SPI-NT 不适用于。
    “mtd" cmd“ cmd @u-boot 用于 spi-nand、而 “mtd list“用于 serial-nand 探针->请参阅 u-boot 中的 do_mtd_list () 函数。

    记录在案 、
    它看起来像“tiboot3.bin"从“从 serial-nand 引导。
    基于“unknown RAW ID ef aa 22 00“、测试中似乎使用了 WB serial-n 和器件?
    如果是 WB 设备、我们将需要检查 WB 串行 nAND 设备是否配置正确
    https://git.ti.com/cgit/ti-u-boot/ti-u-boot/tree/drivers/mtd/nand/spi/winbond.c?h=11.01.10#n301
    此致、
    - Hong

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

    尊敬的 Hong:

    再次:

    #1。 他们的 PCB 使用 WB + ESMT 闪存。

    #2. 我们已经研究了几天的 Winbond.c + esmt.c。

    #3. GD 闪存仅用于交叉检查。

    谢谢。

    BR Rio

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

    尊敬的 Hong:

    对于 WB、我们已经解决了。

    作为修补程序、请平台团队合并修补程序。

    我们现在正在调试 GD。

    我的客户现在将忽略 ESMT 快闪。

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

    使用 GD 设备开机时、为什么控制台没有任何日志?

    这是有线的。

    bcz、通过使用 SD 卡引导、一切都正常、这证明 DDR 没有问题。

    顺便说一下、uboot 在我们的 SDK uboot 中不支持此器件:GD5F2GM7UEYIC。

    elixir.bootlin.com/.../gigadevice.c

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

    嗨、Rio、
    最好知道 serial-nand 在客户电路板上与 WB 器件一起工作。
    在 GD 器件上、完成 u-boot 刷写到 GD 器件后、我们是否尝试过我的反馈?

    我的脱机电子邮件读取是在 GD 设备上未观察到两个字节的偏移。
    我们能否在刷写后尝试更改从 GD 器件引导时下面的一行、以查看 tiboot3.bin 是否启动...
    中导出
    => mw.l 0x43000030 0x00000273;复位
    最终目的
    => mw.l 0x43000030 0x00000103;重置

    此致、
    - Hong

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

    尊敬的 Hong:

    #1。 显然、TI SDK 未验证串行 — NAND 引导。

    #2. 感谢您的新更新、GD 闪存问题已解决、请详细说明、我的客户需要知道原因。

    BR Rio

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

    嗨、Rio、

    最好知道串行与引导在客户电路板上与 GD 器件一起工作。

    以下是有关 GD 器件的串行与引导(需要 QE 位)的一些详细信息。
    串行 AND 没有指定存储器配置、协议和模式的 JEDEC 标准... 例如、
    -有串行 nand 器件(例如,Winbond,Micron ),其中 4S 模式不需要运行时 QE 位操作。
    -另一方面,运行时 QE 位操作是在一些串行 n 和设备,即 Gigadevice 1 的 4S 模式需要的。

    考虑到闪存供应商的可变性、ROM 支持串行与器件是一项挑战、而 AM62x ROM 目前不支持需要显式运行时 QE 位配置以实现 4S 模式运行的串行与器件(即 GD One)。

    从串行 n 和引导的权变措施(需要 QE 位)是将 BOOTMODE 引脚配置为从 1S-1S-1S 开始、以便 ROM 从串行 n 加载“tiboot3.bin",“,并、并在 u-boot 中重新配置为从 1S 切换到 4S 模式、以执行下一阶段的软件执行 (u-boot/kernel/rootfs...)。

    例如、需要在 GD 器件的 u-boot 中配置“SPINED_HASS_QE_BIT"。“。
    https://git.ti.com/cgit/ti-u-boot/ti-u-boot/tree/drivers/mtd/nand/spi/gigadevice.c?h=11.01.11#n271
    https://git.ti.com/cgit/ti-u-boot/ti-u-boot/tree/drivers/mtd/nand/spi/core.c?h=11.01.11#n215

    此致、
    - Hong

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

    尊敬的 Hong:

    谢谢、My Cus 同意解决此问题。

    BR Rio