I followed the example from "1.1.7. Simplified SDK Build Using Top-Level Makefile — Processor SDK Linux for J721e Documentation" exactly to create the SD card.
However, after creating the SDK using the top-level Makefile, I encountered an issue while testing the connection of multiple EP devices through a PCI expansion card on the J721E with the newly flashed image. The specific issues are as follows:
-
When the J721E is connected to the PCI expansion card first, and then the wireless network card is connected via the PCI expansion card, the development board fails to start and reports an error indicating that the PCIe bridge configuration is invalid and needs to be reconfigured, as shown in the image 1. However, if the wireless network card is directly plugged into the J721E port, it starts normally.
-
When checking the kernel PCIe information via
dmesg
, I found the line:pcieport 0000:00:00.0: of_irq_parse_pci: failed with rc=-22
. This was not present in previous system versions (perhaps the official image).as shown in the image 2. -
I suspect this might be a device tree issue. Therefore, here is my process:
(1) I followed the instructions from this guide to install the SDK, exportarm64
andcross_compile
, and inmenuconfig
, I only enabled P2PDMA and ZONE_DEVICE.
(2) I followed the guide's section on [Simplified SDK Build Using Top-Level Makefile: Usage Examples] to flash the SD card.Since the Makefile selectsdefconfig
during the flashing process, to ensure that the custommenuconfig
is used instead of the unmodifieddefconfig
during the build, I replacedarch/arm64/configs/defconfig
with.config
from the kernel directory.
(3) I inserted the PCI expansion card into PCIe port 0 and connected the wireless network card to the PCI expansion card, then attempted to boot the development board.
It is worth noting that since the previous system version allowed the development board to boot normally when the PCI expansion card and EP were used, I can confirm that the issue is not with the PCI expansion card.