PCIe is not working properly

I’m trying to use the Qualcomm RB5 on our application with Yocto.
Seems there’s an error at PCIe port.
we designed PCIe NVMe and PCIe to ethernet.
PCIe Ethernet has an error with MSI is not working properly.
PCIe Ethernet IC use LAN7430 and during the initialize, it uninitialize the error at

static int lan743x_intr_test_isr(struct lan743x_adapter *adapter)

In the kernel boot parameter, with and without pcie_pme=nomsi both are not working.
if i block this code and compile, then it works but still not working at Tx. (ping to rb5)
i suspecting the pcie MSI is not supporting in rb5 or devicetree doesn’t configure this controller.
or interrupt address.

and NVMe, it just shows the error at lspci

0002:01:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981/PM983 (rev ff) (prog-if ff)
        !!! Unknown header type 7f
        Kernel modules: nvme

seems hotplug also not working so i suspect during the reset, it’s not recognize the device.

unfortunately we don’t have any PCIe hardware to test with RB5, so this is not something we could bring up/test. Can you share a bit more the specifics of your hardware? By any chance do you think you can send us some samples? Feel free to reply privately if it’s simpler for you.

Sorry i can’t provide the schematic but i make almost same with the reference design of EVB-LAN7430.
you can see the schematic on


also i forget the 100nF on the Rx lane but seems work well.

from the kernel, i blocked the MSI and MSI-X uses ( only using with legacy interrupt ) working with Rx from the outside pings.
but from lan7430 to Ethernet Switch, Tx(lan7430 aside) is not working. remaining with 0.

NVMe is still working with debugging, but need to check that the hardware is not the matter.
I’ll update soon

please let me know if there’s any solution for this.