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
Does NXP provide any PCIe calibration and/or tuning tools (like DDR calibration tool)?
We have no tool for PCIe calibration.
Sorry for the inconvenience.
Hello!
Ok, the Errata says that the SerDes has an embedded mechanism to estimate the eye diagram:
How I can obtain the results of this mechanism in Linux?
Thanks in advance.
Sorry, we have no such solution for later BSP.