imx95 + la12xx

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

imx95 + la12xx

184 Views
yrj
Contributor III

hi NXP

      问题描述:我现在使用imx95加la1234,之间通过pcie连接,我现在将hostsw_la12xx的kernel_driver编译,并且加载了yami.ko,让后通过lspci没有查看到la1234这个设备

     1.我现在la1234中没有烧写程序,需要烧写程序以后imx95才可以通过lspci查看吗,如何烧写呢

0 Kudos
Reply
1 Reply

169 Views
yipingwang
NXP TechSupport
NXP TechSupport

从现象看,当前问题大概率不是 host 侧 yami.ko 编译或加载本身导致的。lspci 能看到 LA1234 的前提是 LA1234 已经作为 PCIe Endpoint 正常启动,并且 PCIe link 已经训练成功。

如果 LA1234 端目前没有烧写/启动任何程序,那么 i.MX95 侧通过 lspci 看不到 LA1234 是合理的。需要先让 LA1234 从支持的 boot source 启动 LA12xx 端 BSP/FreeRTOS/PCIe EP firmware,使其完成 PCIe Endpoint 初始化后,i.MX95 作为 Root Complex 才能枚举到该设备。

hostsw_la12xx/kernel_driver/yami.ko 是 host Linux 侧 LA12xx PCIe driver。它通常是在 PCIe 设备已经能被 host 枚举后,再负责 LA12xx 进一步初始化,例如 PCIe inbound/outbound window、e200 OS boot、VSPA image boot、IPC/RFIC 等。它不能在 LA1234 端完全未启动 PCIe EP 的情况下,让设备直接出现在 lspci 中。

建议先按以下方向检查:

  1. 确认 LA1234 boot mode/boot source 是否正确,LA1234 端是否已启动包含 PCIe Endpoint driver 的 LA12xx BSP/FreeRTOS image。
  2. 确认 LA1234 PCIe controller 配置为 EP,i.MX95 侧配置为 RC。
  3. 检查 PCIe REFCLK、PERST#、power sequence、SerDes lane 设置、lane width/speed 是否匹配。
  4. i.MX95 侧先执行 dmesg | grep -i pcieecho 1 > /sys/bus/pci/rescanlspci -nn -vv,确认是否有任何 endpoint 枚举。
  5. 若仍无设备,建议先用一个已知可工作的 PCIe endpoint 接到 i.MX95,确认 i.MX95 RC 侧硬件和 device tree/kernel 配置没有问题;然后再回到 LA1234 侧检查 EP boot 和硬件连接。

关于如何烧写 LA1234,需要使用 LA12xx SDK/BSP 中提供的 LA1234/LA12xx 端 boot image 和对应烧写流程。公开的 hostsw_la12xx 仓库主要是 host 侧软件,FreeRTOS 端代码不在该仓库中,因此需要参考 LA12xx SDK User Guide / BSP release package 中关于 LA12xx board boot 和 image programming 的章节。

0 Kudos
Reply