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-AM62:将闪存引导模式从八路 SPI 更改为1S-1S-1S 模式

Guru**** 2455560 points
Other Parts Discussed in Thread: SK-AM62, SK-AM62B

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1458550/sk-am62-change-the-flash-boot-mode-from-octal-spi-to-1s-1s-1s-mode

器件型号:SK-AM62

工具与软件:

大家好、团队成员:

我要在从闪存加载映像之后和启动内核之前将闪存模式从八模式更改为1S-1S-1S 模式。  

我需要此消息是因为、我的驱动程序(VxWorks VxBus XSPI 闪存驱动程序)期望闪存处于1S-1S-1S 模式进行连接。 由于 Uboot 以八进制模式刷写、因此未连接驱动程序。

您能告诉我如何进行更改以及可以在哪些地方进行更改吗?

谢谢。此致、

Hamsa Lakshaman

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

    你好、团队成员、有任何这方面的更新吗?

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

    尊敬的 Hamsa:

     我得到了这个任务。 我目前正在国际商务旅行中的客户网站工作、无法进一步了解这一点;下周回到办公室后、我将发表评论。

    此致、Andreas

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

    您好!

    这是一个高优先级的问题、我们正在尽快寻找解决方案。 是否可以重新分配给可以立即提供帮助的人员?

    谢谢。此致、

    Hamsa L

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

    大家好、团队成员:

    这是影响我们测试的高优先级问题、请帮助我们尽快解决该问题。

    请立即指派一位可以帮助我们的人员。

    谢谢。此致、

    Hamsa L

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

    大家好、团队成员:

    是否有相关更新?

    谢谢。此致、

    Hamsa Lakshmanan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [报价 userid="59876" url="~/support/processors-group/processors/f/processors-forum/1458550/sk-am62-change-the-flash-boot-mode-from-octal-spi-to-1s-1s-1s-mode 我要在从闪存加载映像之后并启动内核之前将闪存模式从八进制更改为1S-1S-1S 模式。  [报价]

    @更新 中 Δ V ospi0定义的器件树部分(git.ti.com/.../k3-am625-sk.dts Get-Go 中切换 U-Boot 以使用1位模式  

    		spi-tx-bus-width = <8>;
    		spi-rx-bus-width = <8>;

    最终目的

    		spi-tx-bus-width = <1>;
    		spi-rx-bus-width = <1>;

    此致、Andreas

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

    您好!

    我已经尝试了以上更改  

    [报价 userid="4452" url="~/support/processors-group/processors/f/processors-forum/1458550/sk-am62-change-the-flash-boot-mode-from-octal-spi-to-1s-1s-1s-mode/5609012 #5609012"]
    spi-tx-bus-width = <8>;
    		spi-rx-bus-width = <8>;

    最终目的

    		spi-tx-bus-width = <1>;
    		spi-rx-bus-width = <1>;
    [报价]

    如果我进行上述更改、Uboot 无法探测闪存、并收到以下错误:

    当我浏览 Uboot 代码流程时、我知道 Uboot 期望闪存(s28HS)在读取/写入操作时处于八进制模式、而在探测时、闪存初始化为八进制模式。 代码片段如下:

    我的 VxWorks 闪存驱动程序在尝试连接时期望闪存处于1S-1S-1S 模式。 因此、我希望在内核映像引导之前将闪存重新置于1S-1S-1S 模式(VxWorks 映像)。

    请在这个问题上帮助我。

    谢谢。此致、  

    Hamsa L

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

    让我在结束时尝试这一点、然后返回这里进行报告。

    此致、Andreas

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

    尊敬的 Hamsa:

    [报价 userid="59876" url="~/support/processors-group/processors/f/processors-forum/1458550/sk-am62-change-the-flash-boot-mode-from-octal-spi-to-1s-1s-1s-mode/5611495 #5611495"]

    如果我进行上述更改、Uboot 无法探测闪存、并收到以下错误:

    [报价]

    首先、我可以重新创建您看到的问题。

    在花任何精力寻找可能的修复方法之前、您可以在结束时确认 OSPI 外设模块和/或 OSPI 闪存器件的"剩余状态"是导致 VxWork"连接"问题的真正原因吗? 为此、您可以出于测试目的通过 UART 引导 U-Boot (或使用 SD 卡引导、因为您使用的是 SK-AM62板)、因此 U-Boot (和 ROM)绝不能触摸 OSPI 外设。 然后、查看是否可以启动 VxWorks。

    此致、Andreas

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

    尊敬的 Andreas:

    我们测试了 DFU 方法和 UART 刷写方法 、我们将映像加载到 RAM 并从 RAM 启动 VxWorks 映像。  在这种情况下、 VxWorks 能够连接闪存驱动器(vxbXspiFlash)并执行闪存操作。

    在这里、当映像被加载到 RAM 中时、uboot 不会访问闪存。 因此、当加载 VxWorks 映像时、连接了闪存驱动程序。

    附加一些卡扣进行确认

    供参考使用的引导命令:

     

    在 UART 引导模式下、我们能够看到如下所示附加了闪存驱动程序:




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

    尊敬的 Andreas:

    是否有相关更新?

    提前感谢

    Hamsa

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

    尊敬的 Andreas:

    是否有相关更新?

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

    感谢您确认工作场景、这是一个很好的起点。 我现在正在处理另一个紧急支持案例、但我应该能够花时间在下周早些时候更仔细地查看该案例、以了解我们可以如何潜在地"降级"ROM / U-Boot OSPI 加载流程。

    此致、Andreas

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

    尊敬的 Andreas:

    是否有相关更新?  

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

    您好!

    是否有相关更新?

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

    您好!  

    很抱歉、我错误地标记为"已解决"。

    请优先考虑此问题、因为这会阻碍我们的发展。 请求您查看此查询。

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

    尊敬的 Andreas:

    您能查看一下吗?

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

    尊敬的 Hamsa:

    感谢您的耐心。 我终于可以腾出一些时间并对此进行实验、并得到一个工作示例、其中显示 SK-AM62B 板上的1s-1s 引导。 您应该能够根据自己的需求/闪存芯片采用此解决方案。 请注意、务必将引导模式设置为"SPI"、以便从头开始使用1位数据访问。

    以下是启用此功能的补丁。。。

    a0797059@jiji:~/git/u-boot (ti-u-boot-2024.04)
    $ git show
    commit a6e74b25685504b1b12a9dbf761157b4852e2e1e (HEAD -> ti-u-boot-2024.04)
    Author: Andreas Dannenberg <dannenberg@ti.com>
    Date:   Thu Jan 30 16:49:04 2025 -0600
    
        ti: sk-am62b: Perform boot from OSPI using a single data line only
    
        Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
    
    diff --git a/arch/arm/dts/k3-am625-sk.dts b/arch/arm/dts/k3-am625-sk.dts
    index 5ca722aec43..5b8f632bbb1 100644
    --- a/arch/arm/dts/k3-am625-sk.dts
    +++ b/arch/arm/dts/k3-am625-sk.dts
    @@ -246,15 +246,14 @@
                    bootph-all;
                    compatible = "jedec,spi-nor";
                    reg = <0x0>;
    -               spi-tx-bus-width = <8>;
    -               spi-rx-bus-width = <8>;
    +               spi-tx-bus-width = <1>;
    +               spi-rx-bus-width = <1>;
                    spi-max-frequency = <25000000>;
                    cdns,tshsl-ns = <60>;
                    cdns,tsd2d-ns = <60>;
                    cdns,tchsh-ns = <60>;
                    cdns,tslch-ns = <60>;
                    cdns,read-delay = <4>;
    -               cdns,phy-mode;
    
                    partitions {
                            bootph-all;
    diff --git a/drivers/mtd/spi/spi-nor-ids.c b/drivers/mtd/spi/spi-nor-ids.c
    index 4e83b8c94c9..48cc58a1078 100644
    --- a/drivers/mtd/spi/spi-nor-ids.c
    +++ b/drivers/mtd/spi/spi-nor-ids.c
    @@ -382,7 +382,7 @@ const struct flash_info spi_nor_ids[] = {
     #ifdef CONFIG_SPI_FLASH_S28HX_T
            { INFO("s28hl512t",  0x345a1a,      0, 256 * 1024, 256, SPI_NOR_OCTAL_DTR_READ) },
            { INFO("s28hl01gt",  0x345a1b,      0, 256 * 1024, 512, SPI_NOR_OCTAL_DTR_READ) },
    -       { INFO("s28hs512t",  0x345b1a,      0, 256 * 1024, 256, SPI_NOR_OCTAL_DTR_READ) },
    +       { INFO("s28hs512t",  0x345b1a,      0, 256 * 1024, 256, 0) },
            { INFO("s28hs01gt",  0x345b1b,      0, 256 * 1024, 512, SPI_NOR_OCTAL_DTR_READ) },
            { INFO("s28hs02gt",  0x345b1c,      0, 256 * 1024, 1024, SPI_NOR_OCTAL_DTR_READ) },
     #endif
    

    下面是相关的引导日志。。。

    # Manually set boot mode to SPI by programming CTRLMMR_MAIN_DEVSTAT
    => mw.l 0x43000030 0x1b
    => reset
    resetting ...
    
    U-Boot SPL 2024.04-00001-ga6e74b25685 (Jan 30 2025 - 16:50:13 -0600)
    SYSFW ABI: 4.0 (firmware rev 0x000a '10.1.8--v10.01.08 (Fiery Fox)')
    SPL initial stack usage: 13392 bytes
    Trying to boot from SPI
    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-00001-ga6e74b25685 (Jan 30 2025 - 16:50:22 -0600)
    SYSFW ABI: 4.0 (firmware rev 0x000a '10.1.8--v10.01.08 (Fiery Fox)')
    SPL initial stack usage: 1904 bytes
    Trying to boot from SPI
    Authentication passed
    Authentication passed
    
    
    U-Boot 2024.04-00001-ga6e74b25685 (Jan 30 2025 - 16:50:22 -0600)
    
    SoC:   AM62X SR1.0 HS-FS
    Model: Texas Instruments AM625 SK
    EEPROM not available at 0x50, trying to read at 0x51
    Reading on-board EEPROM at 0x51 failed -121
    DRAM:  2 GiB
    Core:  81 devices, 31 uclasses, devicetree: separate
    MMC:   mmc@fa10000: 0, mmc@fa00000: 1
    Loading Environment from nowhere... OK
    In:    serial
    Out:   serial
    Err:   serial
    EEPROM not available at 0x50, trying to read at 0x51
    Net:   eth0: ethernet@8000000port@1
    Hit any key to stop autoboot:  0
    =>

    此致、Andreas

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

    尊敬的 Andreas:

    我已经尝试了您分享的更改。 我将从 OSPI 引导模式进行引导、这是我们要运行的首选模式。

    我 将收到以下错误。

    请提出建议。

    谢谢。此致、

    Hamsa L

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

    我看到您使用的是较旧的 SDK 基准(9.2)。 我的更改是在我们当前 SDK v10.1的 U-Boot 上进行开发和测试的。 您能否尝试将它们应用到 U-Boot 、然后重新创建已知良好的基准、 如果必须使用较旧的 SDK、则反向移植更改可以是步骤2。

    此致、Andreas

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

    尊敬的 Andreas:

    正如 u 提到的、我们确实使用了 SDK 9.2。 这是因为、最新版本与引导 VxWorks 映像不兼容。 因此、我们只需要使用9.2版本。  

    请帮助我们更改9.2版本的步骤。

    谢谢。此致、

    Hamsa Lakshmanan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这是因为、最新版本与启动 VxWorks 映像不兼容。

    请提供详细的背景资料、说明为什么它不兼容。

    此致、Andreas

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

    尊敬的 Andreas:

    请参阅以下主题

    AM625:AM62 -处理器论坛-处理器- TI E2E 支持论坛

    谢谢。此致

    Hamsa Lakshmanan

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

    尊敬的 Andreas:

    请参考下图。 VxWorks BSP 仅支持此 uboot 版本。

    谢谢。此致、

    Hamsa L

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

    尊敬的 Andreas:

    您能否检查并更新以下内容????

    自过去1.5个月以来、这项工作一直处于优先地位、尚未完成

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

    尊敬的 Hamsa:

    您能否根据我为您提供的当前 SDK 版本的工作基准、概述您在上个月在 SDK v9.2的背景下进一步调试和分析这些内容的所有尝试?

    此致、Andreas