Hi,
I’m currently exploring the BeagleY-AI a bit and wanted to use PCIe as well.
But with the latest Debian based image (BeagleY-AI Debian 12.9 2025-03-05 XFCE (v6.6.x-ti)
) PCIe seems to be broken.
Checking the logs you can see an error message from the function called of_irq_parse_pci
which seems to be responsible for parsing the interrupt definition of PCI inside the device tree.
With the previous image based on the 6.1.x Kernel, PCIe works just fine.
I have already compared the device tree of both versions, and with 6.1.x there seems to be a definition of legacy interrupts that is missing with the latest version.
Commit from TI that introduced the PCIe node with the interrupt definition:
It seems to me that TI intentionally did not add this to their ti-linux-6.6.y
and ti-linux-6.12.y
trees.
Does anyone have any idea how to handle this properly for 6.6.x/6.12.x Kernels?
For reference, below are the logs from both images.
# BeagleBoard.org Debian Bookworm Xfce Image 2025-03-05
debian@BeagleBone:~$ uname -r
6.6.58-ti-arm64-r22
debian@BeagleBone:~$ lspci
00:00.0 PCI bridge: Texas Instruments Device b010
debian@BeagleBone:~$ dmesg | grep -i pci
[ 0.122110] PCI/MSI: /bus@f0000/interrupt-controller@1800000/msi-controller@1820000 domain created
[ 0.915044] PCI: CLS 0 bytes, default 64
[ 2.524292] j721e-pcie f102000.pcie: host bridge /bus@f0000/pcie@f102000 ranges:
[ 2.531748] j721e-pcie f102000.pcie: IO 0x0068001000..0x0068010fff -> 0x0068001000
[ 2.539844] j721e-pcie f102000.pcie: MEM 0x0068011000..0x006fffffff -> 0x0068011000
[ 2.547961] j721e-pcie f102000.pcie: IB MEM 0x0000000000..0xffffffffffff -> 0x0000000000
[ 3.667452] j721e-pcie f102000.pcie: PCI host bridge to bus 0000:00
[ 3.673794] pci_bus 0000:00: root bus resource [bus 00-ff]
[ 3.679281] pci_bus 0000:00: root bus resource [io 0x0000-0xffff] (bus address [0x68001000-0x68010fff])
[ 3.688749] pci_bus 0000:00: root bus resource [mem 0x68011000-0x6fffffff]
[ 3.695647] pci 0000:00:00.0: [104c:b010] type 01 class 0x060400
[ 3.701724] pci 0000:00:00.0: supports D1
[ 3.705731] pci 0000:00:00.0: PME# supported from D0 D1 D3hot
[ 3.711532] pci 0000:00:00.0: PTM enabled (root), 4ns granularity
[ 3.721095] pci 0000:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[ 3.729367] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
[ 3.736016] pci 0000:00:00.0: PCI bridge to [bus 01]
[ 3.741136] pcieport 0000:00:00.0: of_irq_parse_pci: failed with rc=-22
[ 3.748142] pcieport 0000:00:00.0: PME: Signaling with IRQ 536
[ 3.754353] pcieport 0000:00:00.0: AER: enabled with IRQ 536
# BeagleBoard.org Debian Bookworm Xfce Image 2024-07-11
debian@BeagleBone:~$ uname -r
6.1.83-ti-arm64-r63
debian@BeagleBone:~$ lspci
00:00.0 PCI bridge: Texas Instruments Device b010
01:00.0 Network controller: Intel Corporation Wi-Fi 7(802.11be) AX1775*/AX1790*/BE20*/BE401/BE1750* 2x2 (rev 1a)
debian@BeagleBone:~$ dmesg | grep -i pci
[ 0.005590] PCI/MSI: /bus@f0000/interrupt-controller@1800000/msi-controller@1820000 domain created
[ 0.169881] PCI: CLS 0 bytes, default 64
[ 1.566564] j721e-pcie-host f102000.pcie: host bridge /pcie@f102000 ranges:
[ 1.566611] j721e-pcie-host f102000.pcie: IO 0x0068001000..0x0068010fff -> 0x0068001000
[ 1.566629] j721e-pcie-host f102000.pcie: MEM 0x0068011000..0x006fffffff -> 0x0068011000
[ 1.566658] j721e-pcie-host f102000.pcie: IB MEM 0x0000000000..0xffffffffffff -> 0x0000000000
[ 1.670488] j721e-pcie-host f102000.pcie: Link up
[ 1.670634] j721e-pcie-host f102000.pcie: PCI host bridge to bus 0000:00
[ 1.670644] pci_bus 0000:00: root bus resource [bus 00-ff]
[ 1.670655] pci_bus 0000:00: root bus resource [io 0x0000-0xffff] (bus address [0x68001000-0x68010fff])
[ 1.670663] pci_bus 0000:00: root bus resource [mem 0x68011000-0x6fffffff]
[ 1.670699] pci 0000:00:00.0: [104c:b010] type 01 class 0x060400
[ 1.670822] pci 0000:00:00.0: supports D1
[ 1.670829] pci 0000:00:00.0: PME# supported from D0 D1 D3hot
[ 1.670865] pci 0000:00:00.0: PTM enabled (root), 4ns granularity
[ 1.674408] pci 0000:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[ 1.674643] pci 0000:01:00.0: [8086:272b] type 00 class 0x028000
[ 1.674752] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x00003fff 64bit]
[ 1.675107] pci 0000:01:00.0: PME# supported from D0 D3hot D3cold
[ 1.675310] pci 0000:01:00.0: 7.876 Gb/s available PCIe bandwidth, limited by 8.0 GT/s PCIe x1 link at 0000:00:00.0 (capable of 15.753 Gb/s with 16.0 GT/s PCIe x1 link)
[ 2.813995] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
[ 2.814044] pci 0000:00:00.0: BAR 14: assigned [mem 0x68100000-0x681fffff]
[ 2.814058] pci 0000:01:00.0: BAR 0: assigned [mem 0x68100000-0x68103fff 64bit]
[ 2.814118] pci 0000:00:00.0: PCI bridge to [bus 01]
[ 2.814127] pci 0000:00:00.0: bridge window [mem 0x68100000-0x681fffff]
[ 2.814463] pcieport 0000:00:00.0: enabling device (0000 -> 0002)
[ 2.814750] pcieport 0000:00:00.0: PME: Signaling with IRQ 538
[ 2.815060] pcieport 0000:00:00.0: AER: enabled with IRQ 538
[ 8.893115] iwlwifi: No config found for PCI dev 272b/00f4, rev=0x472, rfid=0x112200