Hello!
We running IMX8MQ on the imx_4.9.88_2.0.0_ga release, and we need to use PCIe GEN1 mode only
(despite the fact the link can be established in Gen2 mode)
We found a solution applicable to the older kernel which could be helpful:
Is there any way to port this patch to the newer release?
Is there any simpler way to force the Gen1 mode?
The DTS param "fsl,max-link-speed <0x1>" does not help: despite the fact that the Gen2 mode is disabled the driver establishes the link in Gen2 mode
[ 0.967444] imx6q-pcie 33c00000.pcie: Link: Gen2 disabled
[ 0.967449] imx6q-pcie 33c00000.pcie: Link up, Gen2
[ 0.968851] imx6q-pcie 33c00000.pcie: PCI host bridge to bus 0001:00
[ 0.968888] pci_bus 0001:00: root bus resource [bus 00-ff]
[ 0.968897] pci_bus 0001:00: root bus resource [io 0x10000-0x1ffff] (bus address [0x0000-0xffff])
[ 0.968904] pci_bus 0001:00: root bus resource [mem 0x20000000-0x27efffff]
[ 0.968926] pci 0001:00:00.0: [16c3:abcd] type 01 class 0x060400
I have same problem using i.MX8mm with kernel 5.4.47
At very least this is a driver bug or error in log texts, because the driver reports "Link: Gen 2 disabled", and then immediately "Link up, Gen 2".
Both these messages come from function imx6_pcie_establish_link in pci-imx6.c
@andrewbushuevhave you established what the actual link speed is? I don't have equipment capable of measuring the speed.
Edit1: lspci -vv reports the link speed as 5GT/s i.e. Gen2