Does the CD8180 have one or many PCI controllers (for the 1x PCIe + 2x M.2 slots)

Hi,

Internally how are the three PCIe slots wired?

In total there are five PCIe slots - the x8 PCI slots, the 2x M.2 slots, and then thre two Realtek ethernet controllers are connected via PCIe separately also.

This page https://sbcwiki.com/docs/soc-manufactures/cix/cd8180-p1/ shows under Block Diagram that the PCI slots are wired separately.

These slides from Radxa https://dl.radxa.com/orion/o6/radxa_orion_o6_announcement_presentation_2024_12_18.pdf show the following. Here it looks like maybe there’s two PCI controllers internally with 8 lanes each, and ONE of them supports bifurcation? But perhaps on the bifurcation controller data will still never go between devices.

From dmesg, lspci and various documents, what do you see?

Does the CD8180 have in total five separate PCI controllers?

In contrast with for example having a PCI switch internally, that could let data pass directly between those five PCI slots. In csae of separate controllers, data would never pass automatically.

Thanks

@jack

I can see a 4 pci bridges, one for each NIC, the 4.0 slot, and m2 slot. I’m not using the e-key but i will see if i can test it.

I can also see one bridge/root per connected device:

$ sudo lspci -nn
0000:90:00.0 PCI bridge [0604]: CIX Technology Group Co., Ltd. CIX P1 CD8180 PCI Express Root Port [1f6c:0001]
0000:91:00.0 Non-Volatile memory controller [0108]: Kingston Technology Company, Inc. NV3 NVMe SSD [TC2201] (DRAM-less) [2646:5025]
0001:00:00.0 PCI bridge [0604]: CIX Technology Group Co., Ltd. CIX P1 CD8180 PCI Express Root Port [1f6c:0001]
0001:01:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8126 5GbE Controller [10ec:8126] (rev 01)
0002:30:00.0 PCI bridge [0604]: CIX Technology Group Co., Ltd. CIX P1 CD8180 PCI Express Root Port [1f6c:0001]
0002:31:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8126 5GbE Controller [10ec:8126] (rev 01)