How to force iMX6 PCIe into Gen 1 mode @ imx_4.9.88_2.0.0_ga

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How to force iMX6 PCIe into Gen 1 mode @ imx_4.9.88_2.0.0_ga

1,657 Views
andrewbushuev
Contributor II

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:

https://community.nxp.com/t5/i-MX-Processors/How-to-force-iMX6-PCIe-into-Gen-1-mode/m-p/264957#M2738...

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

 

Labels (1)
5 Replies

1,549 Views
ewblen
Contributor I

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

0 Kudos
Reply

1,642 Views
andrewbushuev
Contributor II

Does NXP provide any PCIe calibration and/or tuning tools (like DDR calibration tool)?

0 Kudos
Reply

1,639 Views
b36401
NXP Employee
NXP Employee

We have no tool for PCIe calibration.
Sorry for the inconvenience.

0 Kudos
Reply

1,630 Views
andrewbushuev
Contributor II

Hello! 

Ok, the Errata says that the SerDes has an embedded mechanism to estimate the eye diagram:

andrewbushuev_0-1601061888223.png

 

How I can obtain the results of this mechanism in Linux?

Thanks in advance.

0 Kudos
Reply

1,650 Views
b36401
NXP Employee
NXP Employee

Sorry, we have no such solution for later BSP.

0 Kudos
Reply