hi NXP
Problem Description: I'm currently using an IMX95 and a LA1234 connected via PCIe. I've compiled the kernel driver for hostsw_la12xx and loaded yami.ko, but I can't detect the LA1234 device using LSPCI.
1. I don't have a program for burning into my LA1234. Do I need to burn the program before I can view it via LSPCI? How do I burn the program?
Based on the observed phenomena, the current problem is most likely not caused by theyami.ko compilation or loading process on the host side.lspci The premise for seeing LA1234 is that LA1234 has already started normally as a PCIe Endpoint and the PCIe link has been successfully trained.
If no programs have been flashed/booted on the LA1234, it's reasonable that the i.MX95 side cannot see the LA1234 via lspci. The LA1234 needs to boot from a supported boot source to run the LA12xx BSP/FreeRTOS/PCIe EP firmware, completing the PCIe Endpoint initialization, before the i.MX95, as the Root Complex, can enumerate the device.
hostsw_la12xx/kernel_driver/yami.ko This is the host Linux-side LA12xx PCIe driver. It typically handles further LA12xx initialization after the PCIe device has been enumerated by the host, such as PCIe inbound/outbound windows, e200 OS boot, VSPA image boot, IPC/RFIC, etc. It cannot allow the device to appear directly in lspci if the PCIe EP is not fully enabled on the LA1234 side.
We recommend checking in the following directions first:
dmesg | grep -i pcie, echo 1 > /sys/bus/pci/rescan, and lspci -nn -vv to check if there are any endpoint enumerations.To program the LA1234, you need to use the LA1234/LA12xx board boot image and corresponding programming process provided in the LA12xx SDK/BSP. The publicly available hostsw_la12xx repository mainly contains host-side software; the FreeRTOS side code is not in this repository. Therefore, you need to refer to the sections on LA12xx board boot and image programming in the LA12xx SDK User Guide / BSP release package.