OK. I have found a solution. I obtained the information that in Conga SMX8 the M2 PCIe port is connected to the PCIe_B lines, and MiniPCIe port is connected to the PICe_C lines. In my decompiled device tree I have found:
pcie@0x5f000000 { compatible = "fsl,imx8qm-pcie\0snps,dw-pcie"; reg = ; reg-names = "dbi\0config"; reserved-region = ; #address-cells = ; #size-cells = ; device_type = "pci"; ranges = ; num-lanes = ; #interrupt-cells = ; interrupts = ; interrupt-names = "msi"; clocks = ; clock-names = "pcie\0pcie_bus\0pcie_phy\0pcie_per\0pcie_inbound_axi"; interrupt-map-mask = ; interrupt-map = ; power-domains = ; fsl,max-link-speed = ; hsio-cfg = ; hsio = ; ctrl-id = ; cpu-base-addr = ; status = "okay"; ext_osc = ; pinctrl-names = "default"; pinctrl-0 = ; reset-gpio = ; clkreq-gpio = ; };
pcie@0x5f010000 { compatible = "fsl,imx8qm-pcie\0snps,dw-pcie"; reg = ; reg-names = "dbi\0config"; reserved-region = ; #address-cells = ; #size-cells = ; device_type = "pci"; ranges = ; num-lanes = ; #interrupt-cells = ; interrupts = ; interrupt-names = "msi"; clocks = ; clock-names = "pcie\0pcie_bus\0pcie_phy\0pcie_per\0pcie_inbound_axi"; interrupt-map-mask = ; interrupt-map = ; power-domains = ; fsl,max-link-speed = ; hsio-cfg = ; hsio = ; ctrl-id = ; cpu-base-addr = ; status = "disabled"; ext_osc = ; pinctrl-names = "default"; pinctrl-0 = ; clkreq-gpio = ; };
pcieagrp { fsl,pins = ; linux,phandle = ; phandle = ; };
pciebgrp { fsl,pins = ; linux,phandle = ; phandle = ; };
So it is clear, that the PCIe controller at 0x5f000000 is connected to port A, while the PCIe controller at 0x5f010000 is connected to port B.
Therefore, I have moved the XTRX module to the M2 PCIe port (using the adapter that was delivered together with XTRX), switched off the controller at 0x5f000000, and switched on the controller at 0x5f01000. Changing the active controller was done in U-Boot:
run loadfdt; fdt adr $fdt_addr ; fdt resize fdt set /pcie@0x5f000000 status disabled fdt set /pcie@0x5f010000 status okay run mmcargs; run loadimage ; run boot_os
After the above, the system booted correctly, and I could see the below messages.
In the boot log: [ 1.131045] imx6q-pcie 5f010000.pcie: 5f010000.pcie supply epdev_on not found, using dummy regulator [ 1.140117] OF: PCI: host bridge /pcie@0x5f010000 ranges: [ 1.145238] OF: PCI: No bus range found for /pcie@0x5f010000, using [bus 00-ff] [ 1.152716] OF: PCI: IO 0x7ff80000..0x7ff8ffff -> 0x00000000 [ 1.158615] OF: PCI: MEM 0x70000000..0x7fefffff -> 0x70000000 [ 1.165678] imx6q-pcie 5f010000.pcie: pcie phy pll is locked. [ 1.186275] imx6q-pcie 5f010000.pcie: Link up, Gen2 [ 1.191791] imx6q-pcie 5f010000.pcie: PCI host bridge to bus 0000:00 [ 1.197815] pci_bus 0000:00: root bus resource [bus 00-ff] [ 1.203277] pci_bus 0000:00: root bus resource [io 0x0000-0xffff] [ 1.209444] pci_bus 0000:00: root bus resource [mem 0x70000000-0x7fefffff] [ 1.226960] pci 0000:00:00.0: BAR 0: assigned [mem 0x70000000-0x70ffffff 64bit] [ 1.233945] pci 0000:00:00.0: BAR 6: assigned [mem 0x71000000-0x71ffffff pref] [ 1.241151] pci 0000:00:00.0: BAR 14: assigned [mem 0x72000000-0x720fffff] [ 1.248019] pci 0000:01:00.0: BAR 1: assigned [mem 0x72000000-0x7200ffff] [ 1.254797] pci 0000:01:00.0: BAR 0: assigned [mem 0x72010000-0x72010fff] [ 1.261581] pci 0000:00:00.0: PCI bridge to [bus 01-ff] [ 1.266773] pci 0000:00:00.0: bridge window [mem 0x72000000-0x720fffff] [ 1.274430] pcieport 0000:00:00.0: Signaling PME with IRQ 413 [ 1.279946] pcieport 0000:00:00.0: AER enabled with IRQ 414
And as the output of the lspci:
root@imx8qm-cgtsmx8:~# lspci -v -v
00:00.0 PCI bridge: Freescale Semiconductor Inc Device 0000 (rev 01) (prog-if 00 [Normal decode]) Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx+ Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-