主题中讨论的其他器件: TMDX654IDKEVM
工具/软件:
我想通过 PCIe 将板侧 PCIE1_DAT1 区域(地址 0x05600000~)的前几百个左右的字节暴露于根复合体侧。
我查看了技术参考手册、其中指出、无论在 IATU 中设置了什么地址、对 BAR0 的访问都将在 PCIe 中看到一组寄存器、如下所示。
即使我在根复合体端设置 BAR0、也无法获得预期值、全部为 0xF。
在这种情况下、我还需要做什么来设置 BAR0 或其他任何事情吗?
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.
工具/软件:
我想通过 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
嗨、Liu
>我没有任何客户在 Linux 中报告此类问题。
您能否确认可以在 Linux 中通过 EP 访问 PCIE1_DAT (0x05600000)?
>只是一个愚蠢的问题,当您在 PCIe RC 端看到 0xff 时,您是否检查了 (EVM) EP 端的内存区域 0x05600000 ,那里的值是多少?
0x05600000 的区域是 PCIE_EP_PID 寄存器。
值 6810XX100 应显示为只读。
下面的链接显示了如何修改内核器件树以将 PCIe 配置为 EP 模式。 对于 AM65x、您需要根据您使用的 EVM 子卡修改 k3-am654-pcie-USB2.dtso 或 k3-am654-pcie-USB3.dtso。
嗨、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)
从端点端访问时、所有寄存器看起来都正确。
有问题的寄存器有什么共同之处吗?
另外、我目前使用的是条形码匹配模式、但是否有使用地址匹配模式解决问题的可能性?
如果可能、请提供使用地址匹配模式的示例。
此电缆可从 Adex Electronics (https://www.adexelec.com) 获得。 上面链接的 PC Ie_End_Point 文档中提到了该问题。
我查找了以下 URL、但找不到它。
www.adexelec.com/pcie-single-risers
您能告诉我产品名称吗?
我不记得器件型号。
您可以通过电子邮件向他们发送电子邮件并提供上面链接的 SDK 文档以显示电缆的图片、他们会告知您要订购什么。
>您可以通过电子邮件向他们发送电子邮件并提供上面链接的 SDK 文档以显示电缆的图片,他们会告诉您要订购什么。
好的、我先检查一下。
顺便说一句、下面似乎也报告了与我们相同的问题、即他们无法从栏访问 0x05500000。
e2e.ti.com/.../3283393
>我们假设我们可以通过将 BAR0 映射到 0x05500000 来访问 PCIe EP 寄存器空间,但显然这不起作用
这是否仍然是 AM65xx 出现的问题?
嗨、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
无系统复位
###错误###请重置主板###
-----
您好 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 概述 — 简介
嗨、Bin 和 Takuma
以下二进制文件中的“支持的产品和硬件“列出了“TMDX654IDKEVM"。“。
dr-download.ti.com/.../tisdk-default-image-am65xx-evm-09.03.05.02.wic.xz
因为他们说他们提供支持、所以说他们不知道、因为他们没有设备是不可接受的。
您能介绍一下有 TMDX654IDKEVM 的人吗?
嗨、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:
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 已多年不再投入生产。
尊敬的 Masa:
https://www.ti.com/tool/PROCESSOR-SDK-AM65X 上列出了所有 PROCESSOR-SDK-LINUX 版本 (点击右侧的“读取“下载选项“、转到“SDK-AM65X",“,然后、然后点击链接“查看所有版本“以查看 SDK 版本的完整列表)。 遗憾的是、除非在 EVM 上测试、否则没有简单的方法可以判断哪个 SDK 支持 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、但不能保证它不会有错误、因为内核是旧的。