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.

[参考译文] DRA80XMEVM:关于 PCIe 入站地址转换

Guru**** 2378650 points
Other Parts Discussed in Thread: DRA80XMEVM, TMDX654IDKEVM
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/amplifiers-group/amplifiers/f/amplifiers-forum/1490660/dra80xmevm-about-pcie-inbound-address-translation

器件型号:DRA80XMEVM
主题中讨论的其他器件: TMDX654IDKEVM

工具/软件:

我想通过 PCIe 将板侧 PCIE1_DAT1 区域(地址 0x05600000~)的前几百个左右的字节暴露于根复合体侧。
我查看了技术参考手册、其中指出、无论在 IATU 中设置了什么地址、对 BAR0 的访问都将在 PCIe 中看到一组寄存器、如下所示。
即使我在根复合体端设置 BAR0、也无法获得预期值、全部为 0xF。

在这种情况下、我还需要做什么来设置 BAR0 或其他任何事情吗?


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

    尊敬的 Masa:

    DRA80XMEVM 应该是 AM65 器件的备用名称。 我建议浏览 Linux 驱动程序、了解如何设置这些寄存器。

    具体而言、 使用的驱动程序应为 pcie-designware-host.c: https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/drivers/pci/controller/dwc/pcie-designware-host.c?h=ti-linux-6.6.y#n396

    和 PCI-keyston.c: https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/drivers/pci/controller/dwc/pci-keystone.c?h=ti-linux-6.6.y#n298

    此致、

    Takuma

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

    嗨、Takuma。
    感谢您的回答。
    我会改变我提出问题的方式。

    我想通过 RootComplex 侧的 PCIe 访问端点侧的寄存器。
    当在端点侧为 BAR0 指定 UART0 地址 (0x02800000) 时、可以从 RootComplex 侧访问该地址。
    但是、如果指定 PCIE1_DAT 的地址 (0x05600000)、将无法正确访问它。(所有值均为 0xff)

    有一些地址我可以正常访问、有些地址我无法访问。 会有什么原因?

    此致、
    Masa

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

    尊敬的 Masa:

    是否在 DRA80XMEVM 上使用 Linux? 如果是、您使用哪个 Processor SDK 版本? 并请共享将 PCIe 配置为 EP 模式的器件树补丁。

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

    嗨、Takuma。

    >您是否在 DRA80XMEVM 上使用 Linux?  

    编号 OS 是 T-Kernel。
    使用 Linux 时、您是否有过从 RootComplex 端访问端点端的 PCIE1_DAT 地址 (0x05600000) 的经验?
    如果您有经验、请告诉我们您应该参考哪个 Linux 代码。

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

    尊敬的 Masa:

    我没有任何客户在 Linux 中报告此类问题。

    一个愚蠢的问题是、当您在 PCIe RC 侧看到 0xff 时、您是否检查了 (EVM) EP 侧的存储器区域 0x05600000、这里的值是多少?

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

    嗨、Liu

    >我没有任何客户在 Linux 中报告此类问题。

    您能否确认可以在 Linux 中通过 EP 访问 PCIE1_DAT (0x05600000)?

    >只是一个愚蠢的问题,当您在 PCIe RC 端看到 0xff 时,您是否检查了 (EVM) EP 端的内存区域 0x05600000 ,那里的值是多少?
    0x05600000 的区域是 PCIE_EP_PID 寄存器。
    值 6810XX100 应显示为只读。

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

    尊敬的 Masa:

    我目前没有用于在 Linux 上检查此问题的 EVM 设置、但您是否正在访问 PCIe0 或 AM65x 的 PCIe1 上的 PCIE1_DAT? 根据 AM65x TRM、PCIE1_DAT 是 PCIe1 模块的 MMR 区域、而 PCIe0 的 MMR 区域为 0x0x05 5. 00000。

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

    嗨、Liu

    访问 PCIE0_DAT (0x0x05500000) 时也是如此。

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

    尊敬的 Masa:

    由于您已设置 EVM、您能否在 EVM 上运行 Linux 并检查它在 Linux 中的行为是否相同?

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

    下面的链接显示了如何修改内核器件树以将 PCIe 配置为 EP 模式。 对于 AM65x、您需要根据您使用的 EVM 子卡修改 k3-am654-pcie-USB2.dtso 或 k3-am654-pcie-USB3.dtso。

    https://software-dl.ti.com/processor-sdk-linux/esd/AM64X/09_02_01_10/exports/docs/linux/Foundational_Components、Kernel/PCIe/PC Kernel_Drivers Ie_End_Point

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

    嗨、Liu

    >由于您已经设置了 EVM、能否在 EVM 上运行 Linux 并检查它在 Linux 中的行为是否相同?
    我没有必要的设备、因此无法设置和检查 EVM。

    当我再次检查时、以下所有寄存器也都是 0xff。
    PCIE0_CORE_ECC_AGGR0 (0x0002A28000)
    MMC0_CTL_CFG (0x0004F80000)
    ELM0 (0x0005380000)
    GPU0 (0x00053A0000)
    PCIE0_DAT (0x0005500000)
    PCIE1_DAT (0x0005600000)
    GPU0_KLIOMP1_HYD_MMRS (0x0007004000)

    从端点端访问时、所有寄存器看起来都正确。
    有问题的寄存器有什么共同之处吗?


    另外、我目前使用的是条形码匹配模式、但是否有使用地址匹配模式解决问题的可能性?
    如果可能、请提供使用地址匹配模式的示例。

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

    尊敬的 Masa:

    我没有必要的设备、因此我无法设置 EVM 并进行检查。

    我很困惑、您是否未在 DRA80XMEVM 上运行 T-kernel? 您认为您没有必要的设备是什么意思?

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

    很抱歉让您困惑。
    当前开发使用具有 AM65x 的定制板。

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

    我可以准备两个 EVM。
    如何获取 PCIe 电缆来连接 EVM?
    是否标配?

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

    此电缆可从 Adex Electronics (https://www.adexelec.com) 获得。 上面链接的 PC Ie_End_Point 文档中提到了该问题。

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

    我查找了以下 URL、但找不到它。
    www.adexelec.com/pcie-single-risers
    您能告诉我产品名称吗?

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

    我不记得器件型号。

    您可以通过电子邮件向他们发送电子邮件并提供上面链接的 SDK 文档以显示电缆的图片、他们会告知您要订购什么。

    https://www.adexelec.com/contact-us

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

    >您可以通过电子邮件向他们发送电子邮件并提供上面链接的 SDK 文档以显示电缆的图片,他们会告诉您要订购什么。
    好的、我先检查一下。

    顺便说一句、下面似乎也报告了与我们相同的问题、即他们无法从栏访问 0x05500000。
    e2e.ti.com/.../3283393

    >我们假设我们可以通过将 BAR0 映射到 0x05500000 来访问 PCIe EP 寄存器空间,但显然这不起作用

    这是否仍然是 AM65xx 出现的问题?

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

    尊敬的 Masa:

    AM65xx 是否仍然存在这一问题?

    可能是。 AM65x 处理器自 5 年前发生 E2E 主题对话后、从未在硬件方面进行过更改/更新。

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

    嗨、Liu

    我尝试通过在 DRA80XMEVM 上运行 Linux 进行检查。
    我指的是以下程序。

    software-dl.ti.com/.../Overview_Getting_Started_Guide.html

    我使用“1.1.4 “初始化了 SD。 “Create SD Card“并已启动 SD、但 Linux 未启动。
    我收到了以下消息。
    问题可能是什么?
    ------------------------
    k3_system_controller sysctrler:k3_sysctrler_load_response:固件证书身份验证失败
    固件无法在 rproc(–22) 上启动

    正在重置...
    k3-secure-proxy secproxy@28380000:k3_sec_proxy_send:Thread8 验证失败。 RET =–61
    TI_sci dmsc:TI_sci_do_xfer:消息发送失败。 RET =–61
    k3-secure-proxy secproxy@28380000:k3_sec_proxy_send:Thread8 验证失败。 RET =–61
    TI_sci dmsc:TI_sci_do_xfer:消息发送失败。 RET =–61
    k3-secure-proxy secproxy@28380000:k3_sec_proxy_send:Thread8 验证失败。 RET =–61
    TI_sci dmsc:TI_sci_do_xfer:消息发送失败。 RET =–61
    此平台不支持系统重置
    ###错误###请重置主板###
    ------------------------

    以下图像将写入 SD 卡
    dr-download.ti.com/.../tisdk-default-image-am65xx-evm-09.03.05.02.wic.xz

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

    尊敬的 Masa:

    首先、请按照下面链接的说明操作、并确保使用旧版本的 Balena 工具将 WIC 映像写入 sdcard。

    (+)【常见问题解答】AM62A7-Q1:Balena etcher 闪存错误权变措施 — 处理器论坛-处理器 — TI E2E 支持论坛

    引导失败时、请附加完整的控制台日志。 它可能会提供更多信息。

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

    嗨、Liu

    第一个终端显示以下内容(后半部分出现乱码)。

    -----
    无法获得 267716 字节的 FIT 缓冲区
    检查 CONFIG_SYS_SPL_MALLOC_SIZE
    ζ繞討・fユd煇イζb?@ょ田?臚C・徴粢b?ζ繞討・fユd煇イζb?ζ繞討・Dや繚?兎泥いδ繞討庁?・やい舮?つ督F鹹Eう薙綟う粭ユd煇イζb?ζ繞討・Dや繚?兎泥いδ繞討庁?・やい舮?つ督F鹹Eう薙綟う粭ユd煇イζb?ζ繞討・Dや繚?兎泥いδ繞討庁?・やい舮 つ督F稘イb メダ いモ
    -----

    第二个终端显示以下内容
    -----
    0x420002
    0x820004
    0x4003007
    0x4400A18
    0x42000B
    0x820004
    -----

    如果您替换 SD 卡中的文件、消息将会更改
    sysfw-am65x_sr2-hs-evm.itb -> sysfw.itb.
    tiboot3-am65x_sr2-hs-evm.bin -> tiboot3.bin
    -----
    无法获得 276992 字节的 FIT 缓冲区
    检查 CONFIG_SYS_SPL_MALLOC_SIZE
    k3_system_controller sysctrler:k3_sysctrler_load_response:固件证书身份验证失败
    固件无法在 rproc(–22) 上启动

    正在重置...
    k3-secure-proxy secproxy@28380000:k3_sec_proxy_send:Thread8 验证失败。 RET =–61
    TI_sci system-controller@44083000:TI_sci_do_xfer:消息发送失败。 RET =–61
    k3-secure-proxy secproxy@28380000:k3_sec_proxy_send:Thread8 验证失败。 RET =–61
    TI_sci system-controller@44083000:TI_sci_do_xfer:消息发送失败。 RET =–61
    k3-secure-proxy secproxy@28380000:k3_sec_proxy_send:Thread8 验证失败。 RET =–61
    TI_sci system-controller@44083000:TI_sci_do_xfer:消息发送失败。 RET =–61
    无系统复位
    ###错误###请重置主板###
    -----

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

    尊敬的 Takuma:

    您知道什么会导致在 EVM 上看到 Masa 出现的问题吗?

    我没有 DRA80XMEVM 用于自行测试。

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

    嗨 Liu、 Takuma

    情况如何?
    我认为使用 DRA80XMEVM 的过程本身是正确的、但如果有任何错误、请告诉我

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

    您好 Bin 和 Masa、

    抱歉、我错过了这篇主题。 我自己也没有 DRA80XMEVM。

    但是、我们浏览了过去的 E2E 主题、该错误消息看起来与该主题中的错误消息类似: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1042647/dra829v-u-boot-booting-on-dra829-hs-device?tisearch=e2e-sitesearch&keymatch=k3_sysctrler_load_response#

    这是 HS 样片吗?

    此致、

    Takuma

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

    嗨、Takuma 和 Bin

    抱歉。 我使用的是 TMDX654IDKEVM、而不是 DRA80XMEVM。

    在这种情况下、运行 Linux 的过程与以下过程是否不同?
    software-dl.ti.com/.../Overview_Getting_Started_Guide.html 概述 — 简介

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

    尊敬的 Masa:

    我想知道这是一款旧 EVM、它具有 AM65x SR1.0 器件、但不具有 SR2.0/2.1。 SDK 不支持 SR1.0。

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

    嗨、Bin

    是否有办法在 TMDX654IDKEVM 上运行 Linux?

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

    您好 Mesa、

    我认为 TMDS654IDKEVM 和 DRA80XMEVM 是同一个基板、也许只是子卡不同。 因此、您运行 Linux 的方式应该是正确的、但很抱歉、我只能不知道引导过程在 U-Boot 停止的原因、我这边没有 EVM 进行检查。

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

    嗨、Bin 和 Takuma

    以下二进制文件中的“支持的产品和硬件“列出了“TMDX654IDKEVM"。“。
    dr-download.ti.com/.../tisdk-default-image-am65xx-evm-09.03.05.02.wic.xz
    因为他们说他们提供支持、所以说他们不知道、因为他们没有设备是不可接受的。
    您能介绍一下有 TMDX654IDKEVM 的人吗?

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

    大家好、我本周不在办公室。 请期待响应延迟。

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

    嗨、Bin 和 Takuma

    您认为何时可以回复此问题?
    我知道您很忙、但我希望您能给予答复。

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

    您好 Mesa、

    我目前正在调试客户升级、但我将尝试从我们的开发团队借用 EVM、并在下周进行测试。 我会让你保持发布。

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

    嗨、Bin

    感谢您的确认。

    我再次检查了相同的图像、但在我的环境中会显示以下内容。

    第一个终端显示以下内容(后半部分出现乱码)。
    -----
    无法获得 267716 字节的 FIT 缓冲区
    检查 CONFIG_SYS_SPL_MALLOC_SIZE
    ζ繞討・fユd煇イζb?@ょ田?臚C・徴粢b?ζ繞討・fユd煇イζb?ζ繞討・Dや繚?兎泥いδ繞討庁?・やい舮?つ督F鹹Eう薙綟う粭ユd煇イζb?ζ繞討・Dや繚?兎泥いδ繞討庁?・やい舮?つ督F鹹Eう薙綟う粭ユd煇イζb?ζ繞討・Dや繚?兎泥いδ繞討庁?・やい舮 つ督F稘イb メダ いモ
    -----

    第二个终端显示以下内容
    -----
    0x420002
    0x820004
    0x4003007
    0x4400A18
    0x42000B
    0x820004
    -----

    使用的电路板是“AM65x EVM (TMDX654IDKEVM、PROC062)“。

    我附加了一张开关图片。 设置是否相同?

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

    尊敬的 Masa:

    是的、您的 sysboot 开关对于 sdcard 引导是正确的。 两个终端打印的消息来自 SYSFW。 基本上、PROC062 EVM 具有 AM65x PG1.0 处理器、该处理器在当前 SDK 中不再受支持、因此 Linux 无法在您的电路板上引导。

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

    嗨、Bin

    感谢您的答复。

    您能详细解释一下吗?

    是否有两种类型的 TMDX654IDKEVM、PROC062 和 PROC062B 以及 Linux 是否无法在 PROC062 上引导?
    PROC062 是否配备了 PG1.0、而 PROC062B 配备了 PG2.0、而 Linux 仅支持 PG2.0?

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

    尊敬的 Masa:

    EVM 可能有 2 个以上的版本、我在办公室里四处走动、看到了 PROC062、PROC062A 和 PROC062B、我猜 PROC062B 是最新版本。

    是 PROC062 配备 PG1.0、而 PROC062B 配备 PG2.0 且 Linux 仅支持 PG2.0 的原因吗?

    是的,这是我今天想出来的 — PROC062 有 PG1.0 和 PROC062B 有 PG2.0 处理器。

    我相信 Processor SDK Linux 已经中断了 PG1.0 支持一段时间、因为 PG1.0 已多年不再投入生产。

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

    嗨、Bin

    因此、如果 Linux 过去已经运行过、您能提供该映像吗?

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

    尊敬的 Masa:

     https://www.ti.com/tool/PROCESSOR-SDK-AM65X 上列出了所有 PROCESSOR-SDK-LINUX 版本 (点击右侧的“读取“下载选项“、转到“SDK-AM65X",“,然后、然后点击链接“查看所有版本“以查看 SDK 版本的完整列表)。 遗憾的是、除非在 EVM 上测试、否则没有简单的方法可以判断哪个 SDK 支持 PG1.0。

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

    嗨、bin  

    谢谢、我会查看的。
    顺便说一下、您是否有关于何时支持 PG1.0 的信息?
    此外、PCIe 是否可以与 PG1.0 配合使用?

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

    尊敬的 Masa:

    我无法确定、但我在计算机上有一条注释:SDK7.0.0.5 不再支持 PG1.0。 因此、如果本手册成立、SDK6.3.0.106 将是最后一款支持 PG1.0 的 SDK。

    将 SDK(比 v6.3 更高)Linux 映像刷写到 SD 卡后、请检查引导分区。 如果它的文件名中包含 tiboot3*.bin 和 sysfw*.ITB 文件、并且这些文件中包含“sr1.0"或“或“sr2.0",“,则、则 SDK 可能支持 PG1.0。

    我认为支持 PG1.0 的旧 SDK 应该支持 PCIe、但不能保证它不会有错误、因为内核是旧的。