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.

[参考译文] AM6442:xSPI 模式下 OSPI 的引导过程

Guru**** 2553420 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1267217/am6442-boot-procedure-of-ospi-in-xspi-mode

器件型号:AM6442

您好!

 

我的客户在 xSPI 模式下检查访问 OSPI 闪存的波形、但客户难以确定序列、频率和 SDR/DDR 设置的位置和方式、以及它们是否为设置值或是否可以更改。

 

<问题>

 

关于 xSPI 模式下 OSPI 总线的行为、从启动开始到用户设置生效、您能否告诉他们它是如何工作的以及确定的顺序和频率?

 

此外、他们希望更改初始启动序列(尤其是8S-8S)的频率。 他们怎么能做到这一点呢?

或者、可以保持原样、因为在初始化时考虑温度波动而执行校准吗?

 

 

<补充条码>

 

由于上的 OSPI 总线上有两个芯片、因此他们担心初始化时170MHz 的频率很高。

 

他们猜中的过程与下面类似、但他们不确定。

 

如果在电源打开后立即确定引导模式、

 使用1S-1S-1S (频率查看6MHz)通过 RBL (R)访问 OSPI 闪存。

读取闪存信息?

并使用8S-8S-8S 进行访问(因为闪存运行速度大于170MHz、200MHz 最大值)。

此外、器件树中还设置了一个频率、正常访问就是根据这个频率进行的?

 

这些只是推测。

 

 

谢谢。此致、

秀明

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

    Hello Hideaki

    感谢您的查询。

    我假设这是一个定制电路板。

    您能否检查客户是否有机会阅读 TRM 的引导模式一章。

    客户可以参考以下  

    https://www.ti.com/lit/ml/sprt764/sprt764.pdf

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/946418/faq-tda4vm-is-there-a-guide-to-choosing-the-right-ospi-flash-parts-that-are-supported-on-jacinto-7

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1181116/faq-ospi-faq-for-sitara-jacinto-devices

    此致、

    斯里尼瓦萨

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

    您好、Sreenivasa、

    感谢您分享这些信息、但他们的问题尚未得到解决。 您能回答以下问题吗?

    1. 关于 xSPI 模式下 OSPI 总线的行为、从启动开始到用户设置生效、您能否告诉他们它是如何工作的以及确定的顺序和频率?
    2. 此外、他们希望更改初始启动序列(尤其是8S-8S)的频率。 他们怎么能做到这一点呢?

     

    他们已经阅读了您提议的 TRM 和一些 e2e 线程。 他们假设部分中有对8D-8D-8D 在初始启动时从1S-1S-1S 切换的顺序的描述 4.4.1.2.1 xSPI 启动加载程序操作 在 TRM 中、但是在这个阶段上实际测得的频率似乎并不是50MHz 25MHz 中所述的 TRM/TRM。 他们认为50MHz / 25MHz 表示仅指示最大值。

    哪些设置实际上决定了这些频率?

     

    在启动的后半部分、似乎会输出关于170MHz 的波形。 引导后、如果他们键入命令"sf probe"、则会再现相同的频率。

    哪些设置决定了该频率?

    这比预期要快得多、因此他们需要弄清楚如何降低频率。

    (因为两个芯片在同一总线上)

     

    此外、如果它们在引导后对正常的内存映射区域执行 R/W 访问、则会显示根据器件树设置的频率。

     

    谢谢。此致、

    秀明

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

    您好、Hideaki、  

    谢谢你。

    我将该主题重新分配给器件专家进行评论。

    此致、

    斯里尼瓦萨

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

    尊敬的 Hideaki:

    我将尝试逐步解决每个问题:

    关于 SPI 总线在 xSPI 模式下的行为,从启动开始到用户设置生效,您能否告诉他们它是如何工作的,以及确定了什么顺序和频率?

    TRM 第 4.4.1.2.1节 xSPI 引导加载程序操作详细说明 xSPI 引导如何工作。 基本上有3个选项:

    1. 50MHz 下为1S-1S-1S 模式。 读取操作码始终为0x0B。
    2. 25 MHz 上为8D-8D-8D 模式。 可以使用相应的引导模式信号在0x0B 或0xEE 之间选择读取操作码。
    3. 将读取 SFDP 表的1S-1S 在25MHz 处切换到8D-8D-8D。 仅适用于具有 SFDP 表的 xSPI 存储器。

    ROM 完成后、SBL 和用户代码可进一步配置 OSPI。

    allan poon 说:
    此外,他们还想更改初始启动序列的频率(特别是8S-8S)。 他们怎么能这样做?

    ROM 具有预定选项、但 SBL 和用户代码可以由用户自行修改。 ROM 仅支持引导上述选项(1-3)。

    allan poon 说:
    或者,可以保持原样吗,因为校准是在初始化时考虑到温度波动的情况下进行的?

    ROM 不进行任何 PHY 调优或训练。

    allan poon 说:
    <补充条目>

    除了 xSPI 引导之外、还有一个 SPI 引导在~6 MHz 1S-1S-1S 模式下运行。 也许他们一开始就这么做了?

    他们已经阅读了您提议的 TRM 和一些 e2e 线程。 他们假设部分中有对8D-8D-8D 在初始启动时从1S-1S-1S 切换的顺序的描述 4.4.1.2.1 xSPI 启动加载程序操作 在 TRM 中、但是在这个阶段上实际测得的频率似乎并不是50MHz 25MHz 中所述的 TRM/TRM。 他们认为50MHz / 25MHz 表示仅指示最大值。

    哪些设置实际上决定了这些频率?

    [/报价]

    在 SFDP xSPI 引导中、它可能会在6MHz 1S-1S-1S 模式下启动以读取 SFDP 表、但随后它将在25MHz 上使用8D-8D-8D 完成访问。  表4-8. xSPI 引导配置字段显示了 用于配置 xSPI 引导的引导模式引脚选项。

    在启动的后半部分、似乎会输出关于170MHz 的波形。 引导后、如果他们键入命令"sf probe"、则会再现相同的频率。

    哪些设置决定了该频率?

    这比预期要快得多、因此他们需要弄清楚如何降低频率。

    (因为两个芯片在同一总线上)

     

    此外、如果它们在引导后对正常的内存映射区域执行 R/W 访问、则会显示根据器件树设置的频率。

    [/报价]

    您能否说明他们何时进行了这些观察? 我的理解如下:

    ROM 引导(无用户输入)-> SBL (无用户输入、但可由用户更改)->内核上运行的用户代码(可以通过终端输入命令、并可由用户更改)

    如果它们在 ROM 完成之后、在 SBL 触摸任何寄存器之前进行测量、则在执行 OSPI 访问时只能看到50MHz 或25MHz 时钟。 如果它们在 ROM 期间进行测量、它们应该不会看到比50MHz 或25MHz 高的内容。 如果它们在 SBL 期间或之后进行测量、则取决于 SBL 或用户代码正在执行的操作。

    此致、

    卢卡斯

    [/quote]