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.

[参考译文] SK-AM62B-P1:如何更改 SPI NAND 引导的 defconfig 文件

Guru**** 2551110 points
Other Parts Discussed in Thread: SK-AM62B-P1, SK-AM62-LP

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

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

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

工具/软件:

您好、

我的客户在 SK-AM62B-P1 上将 SPI NOR 替换为 SPI NAND、用于引导器件。
他们询问如何为 SPI NAND 引导更改以下配置文件。
configs/am62x_evm_a53_defconfig
configs/am62x_evm_r5_defconfig

Linux SDK 版本为 版本 10.00.07.04。

谢谢。此致、
田代浩一郎

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

    尊敬的 Koichiro:

    SK-AM62B-P1 不支持 SPI-NAND 闪存。 它仅支持 SPI-NOR 闪存

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

    尊敬的 Dilna:

    [报价 userid=“656316" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1545656/sk-am62b-p1-how-to-change-defconfig-files-for-spi-nand-boot/5945936 ]SK-AM62B-P1 不支持 SPI-NAND 闪存。 它仅支持 SPI-NOR 闪存

    是的。 他们知道。 它们自身将 SPI-NOR 替换为 SPI-NAND。

    谢谢。此致、
    田代浩一郎

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

    你(嗨)光一郎  

    请对 am62x_evm_a53_defconfig、am62x_evm_r5_defconfig 进行以下更改并重试

    (这些是 am62a 支持 spi-nand 的 defonfig 更改)

    CONFIG_SPL_DM_SPI=y
    CONFIG_SPL_SPI=y
    CONFIG_SPL_NAND_SPI_SUPPORT=y
    CONFIG_SPL_DM_SPI_FLASH=y
    CONFIG_MTD=y
    CONFIG_DM_MTD=y
    CONFIG_MTD_SPI_NAND=y
    CONFIG_SPI=y
    CONFIG_DM_SPI=y
    CONFIG_CADENCE_QSPI=y
    CONFIG_CADENCE_QSPI_PHY=y
    CONFIG_DM_SPI_FLASH=y

    并对 SPI-n 的 am62b-P1 DTS 进行修改。 为此、您可以参阅 am62a SPI-n 和器件树更改。

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

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

    尊敬的 Dilna:

    客户尝试了这些配置更改并构建了 u-boot。 他还通过 MTD 命令确认了从 u-boot 进行的 SPI NAND 访问。
    然后他做了 DTS 修改。
    和“tiboot3.bin",“,"tispl.bin"、"tispl.bin"和“和"u-boot.ilmg"“"u-boot.ilmg"都“都是“是用 SPI NAND 写入的。
    但从 SPI NAND 引导失败、并显示以下消息。

    U-Boot SPL 2024.04-dirty (Jul 29 2025 - 00:52:39 +0000) SYSFW ABI: 4.0 (firmware rev 0x000a '10.0.8--v10.00.08 (Fiery Fox)') SPL initial stack usage: 13392 bytes Trying to boot from SPINAND mtd_probe_uclass_mtd_devs 0 MTD device spi-nand not found, ret -1


    您对此问题有何想法?

    谢谢。此致、
    田代浩一郎

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

    尊敬的 Koichiro:

    问题是否已解决?

    如果没有、希望 ypu 正在 从 SD 卡加载二进制文件。  通过 SD 卡引导进行引导并在 U-boot 提示符处停止、然后继续。

    1.请确认您使用的是以下命令。

    => mtd list
    => fatload mmc 1 ${loadaddr} tiboot3.bin
    => mtd write spi-nand0 $loadaddr 0x0 $filesize
    => fatload mmc 1 ${loadaddr} tispl.bin
    => mtd write spi-nand0 $loadaddr 0x80000 $filesize
    => fatload mmc 1 ${loadaddr} u-boot.img
    => mtd write spi-nand0 $loadaddr 0x280000 $filesize

    2.另外请确认您是否已将引导模式引脚更改为使用串行 NAND 引导模式引导并重新启动 EVM。

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

    尊敬的 Dilna:

    现在、客户能够从 SPI NAND 加载 U-Boot SPL、但代码会一直在 SPL 中循环。
    客户观察到的是什么;
    - MTD_READ 在 SPL 内完成,从 NAND 加载 u-boot 映像。
    -在“drivers/spi/cadence_QSPI_APB.c"中“中,函数“cadence_QSPI_APB_INDIRECT READ_EXECUTE“中,  
    由于返回值、无法退出“while (bytes_to_read!= 0)“循环   
    bytes_to_read = cadence_QSPI_get_rd_srm_level (priv); 始终为“129"。“。

    返回值始终为“129"的“的原因是什么?
    有任何解决此问题的建议?

    谢谢。此致、
    田代浩一郎

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

    尊敬的 Koichiro:

    我正在将您的问题重定向到 OSPI/QSPI 专家。 因为这是驱动器侧的误差。

    此致、

    Dilna K

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

    尊敬的 Koichiro:

    它们将 SPI-NOR 替换为 SPI-NAND。

    1/。 在 SK-AM62B-P1 上将 SPI-NOR 替换为 SPI-NAND 时、是否有任何硬件修改?
    2/。 我们有 SPI-NAND 数据表吗?
    3。 从串行 NAND 引导时、BOOTMODE[15:0]是什么?

    供参考。 串行 NAND W35N01JWTBAG TI SK-AM62-LP 和 SK-AM62A 电路板上
    此致、
    - Hong

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

    Hong Hong:

    1/。 在 SK-AM62B-P1 上将 SPI-NOR 替换为 SPI-NAND 时、有任何硬件修改?

    我通过电子邮件发送了硬件修改详细信息

    2/。 我们有 SPI-NAND 数据表吗?

    您可以从下面下载数据表。

    https://urldefense.com/v3/__https://www.winbond.com/hq/support/documentation/levelOne.jsp?__locale=ja&DocNo=DA00-W25M02GV.1__;!!G3vK!TjiwHUfVwtbTFhySRKHo58wni9hnu_RnvrL2UdqgMLJX67PcxBgbi3EM0l_TzKimDXxYupI7BzJIxFFnnemmw2RgwTMlOQ$</s>!
    3/。 从串行 NAND 引导时、BOOTMODE[15:0]是什么?

    BOOT[15:00]= 0x0683

    谢谢。此致、
    田代浩一郎

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

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

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

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

    Hong Hong:

    1/。 我们是否有详细的步骤(日志文件会有所帮助)、说明客户如何在客户主板上刷写序列号?

    客户使用了 SD 卡引导、并在 u-boot 中使用了以下命令。

    => fatload mmc 1 ${loadaddr} tiboot3.bin
    313854 bytes read in 54 ms (5.5 MiB/s)
    => mtd write spi-nand0 $loadaddr 0x0 $filesize
    Size not on a page boundary (0x800), rounding to 0x4d000
    Writing 315392 byte(s) (154 page(s)) at offset 0x00000000
    
    => fatload mmc 1 ${loadaddr} tispl.bin
    1195387 bytes read in 100 ms (11.4 MiB/s)
    => mtd write spi-nand0 $loadaddr 0x80000 $filesize
    Size not on a page boundary (0x800), rounding to 0x124000
    Writing 1196032 byte(s) (584 page(s)) at offset 0x00080000
    
    => fatload mmc 1 ${loadaddr} u-boot.img
    1449851 bytes read in 116 ms (11.9 MiB/s)
    => mtd write spi-nand0 $loadaddr 0x280000 $filesize
    Size not on a page boundary (0x800), rounding to 0x162000
    Writing 1449984 byte(s) (708 page(s)) at offset 0x00280000
    


    2/。 刷写后、客户是否验证了序列号和内容?

    是的。 此处是在 VERIFY 处记录。

    => printenv loadaddr
    loadaddr=0x82000000
    
    => fatload mmc 1 ${loadaddr} tiboot3.bin
    313854 bytes read in 54 ms (5.5 MiB/s)
    => mtd read spi-nand0 0x80000000 0x0 $filesize
    Size not on a page boundary (0x800), rounding to 0x4d000
    Reading 315392 byte(s) (154 page(s)) at offset 0x00000000
    => cmp.b ${loadaddr} 0x80000000 $filesize
    Total of 313854 byte(s) were the same
    
    => fatload mmc 1 ${loadaddr} tispl.bin
    1195387 bytes read in 100 ms (11.4 MiB/s)
    => mtd read spi-nand0 0x80000000 0x80000 $filesize
    Size not on a page boundary (0x800), rounding to 0x124000
    Reading 1196032 byte(s) (584 page(s)) at offset 0x00080000
    => cmp.b ${loadaddr} 0x80000000 $filesize
    Total of 1195387 byte(s) were the same
    
    => fatload mmc 1 ${loadaddr} u-boot.img
    1449851 bytes read in 116 ms (11.9 MiB/s)
    => mtd read spi-nand0 0x80000000 0x280000 $filesize
    Size not on a page boundary (0x800), rounding to 0x162000
    Reading 1449984 byte(s) (708 page(s)) at offset 0x00280000
    => cmp.b ${loadaddr} 0x80000000 $filesize
    Total of 1449851 byte(s) were the same
    


    3/。 从序列 nand 引导时、我们是否有完整的引导日志?

    这是启动日志。

    U-Boot SPL 2024.04-dirty (Aug 07 2025 - 08:27:08 +0000)
    SYSFW ABI: 4.0 (firmware rev 0x000a '10.0.8--v10.00.08 (Fiery Fox)')
    SPL initial stack usage: 13392 bytes
    Trying to boot from SPINAND
    


    谢谢。此致、
    田代浩一郎

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

    尊敬的 Koichiro:
    感谢您共享调试日志。
    Linux SDK 11.x 中引入了 WB 串行 NAND 驱动程序
    您的客户是否可以使用最新的 Linux SDK 11.01.05.03 进行测试
    https://www.ti.com/tool/download/PROCESSOR-SDK-LINUX AM62X/11.01.05.03
    此致、
    - Hong

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

    Hong Hong:

    您的客户是否可以使用最新的 Linux SDK 11.01.05.03
    进行测试

    决定将 SDK10.x 用于其产品、因此无法升级 SDK。
    您能告诉我使用 SDK10.x 的解决方案吗?

    谢谢。此致、
    田代浩一郎

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

    尊敬的 Koichiro:
    1/。 这是 u-boot 串行 nAND DT 节点、其中 AM62-LP-SK 板具有 128MB 串行 nAND 闪存 W35N01JW ( OSPI )。 客户需要针对客户电路板上的串行 N 和器件调整 DT 节点 ( QSPI )。
    https://git.ti.com/cgit/ti-u-boot/ti-u-boot/commit/arch/arm/dts/k3-am62-lp-sk.dts?h=10.00.07&id=6c2704e46073349030956d3cea04e63e90aeafb6
    2/。 客户需要检查 WB 串行 AND 设备是否配置正确
    https://git.ti.com/cgit/ti-u-boot/ti-u-boot/tree/drivers/mtd/nand/spi/winbond.c?h=10.00.07#n188
    此致、
    - Hong

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

    Hong Hong:

    客户检查了设备树、但找不到任何可疑点。
    以下是他们的文件。 您能检查一下并告诉我是否有问题吗?
    e2e.ti.com/.../k3_2D00_am625_2D00_r5_2D00_sk.dtse2e.ti.com/.../0257.k3_2D00_am62x_2D00_sk_2D00_common.dtsie2e.ti.com/.../0257.k3_2D00_am625_2D00_sk.dts 

    您能回答他们刚才提出的以下问题吗?

    客户观察到的是什么;
    - MTD_READ 在 SPL 内完成,从 NAND 加载 u-boot 映像。
    -在“drivers/spi/cadence_QSPI_APB.c"中“中,函数“cadence_QSPI_APB_INDIRECT READ_EXECUTE“中,  
    由于返回值、无法退出“while (bytes_to_read!= 0)“循环   
    bytes_to_read = cadence_QSPI_get_rd_srm_level (priv); 始终为“129"。“。

    返回值始终为“129"的“的原因是什么?
    有任何解决此问题的建议?

    谢谢。此致、
    田代浩一郎

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

    尊敬的 Koichiro:
    我现在是 ooo、我们会回到这个星期五或下周初。
    此致、
    - Hong

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

    Hong Hong:

    您能否更新此项目的状态?
    客户仍然有问题。

    谢谢。此致、
    田代浩一郎

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

    尊敬的 Koichiro:

    客户检查了设备树、但找不到任何可疑点。
    以下是他们的文件。 您能检查一下它们并告诉我是否有问题吗?

    我快速查看了随附的 DTS 文件。  从日志文件中、客户似乎正在使用 AM62x Linux SDK 10.0.7.4。 考虑到 TI AM62x-lpsk 板支持串行与、而 AM62x-SK 板支持串行与非、我建议客户参考基于 AM62x-lpsk 板的串行与配置、并针对客户 QSPI-nand 闪存器件(包括)对其进行调整

    - u-boot defconfig 文件
    https://git.ti.com/cgit/ti-u-boot/ti-u-boot/tree/configs/am62x_lpsk_r5_defconfig?h=10.00.07
    https://git.ti.com/cgit/ti-u-boot/ti-u-boot/tree/configs/am62x_lpsk_a53_defconfig?h=10.00.07

    - R5/A53 的 DTS 文件(如下所示)以及包含的文件。
    https://git.ti.com/cgit/ti-u-boot/ti-u-boot/tree/arch/arm/dts/k3-am62-r5-lp-sk.dts?h=10.00.07
    https://git.ti.com/cgit/ti-u-boot/ti-u-boot/tree/arch/arm/dts/k3-am62-lp-sk.dts?h=10.00.07

    此致、
    - Hong