i.MX 6DualLite resume problem with PCIe (ERR005723?)

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

i.MX 6DualLite resume problem with PCIe (ERR005723?)

1,302 Views
kairuhnau
Contributor I

Hi,

Im currently running Kernel 3.14.28-1.0.0-ga (from the freescale git repository) with a few patches and have issues with resume that look a lot like what ERR005723 related documents describe. Without any additional output, I can see the hang after the "CPU1 is up" output during resume. Once I "disabled" PCI in my device tree, resume works fine.

In my hardware design, one Cyclone V Altera FPGA is connected to a "Keith & Koep Trizeps VII".

In the git repository (334af1b0) and in the code I can see that the "not official" fix using the PHY-power-down in GPR1 is part of the kernel. However, the system hangs when it tries to get the FPGA out of the D3 power state and before my driver is called (in pci_raw_set_power_state from drivers/pci/pci.h). This whole hang is made complicated by the fact that when I start adding printk and similar outputs, the behavior changes until with enough output (using the serial console, so it's slow) the system resumes successfully.

Here is a couple of things I tried:

  • "dev_warn"-output before "error = device_resume_noirq..." in dpm_resume_noirq in drivers/base/power/main.c: Resume takes 1.4 seconds, but succeeds reliably (?)
  • "printk("x");" at the same position: Resume hangs reliably
  • some printks in pci_power_up in drivers/pci/pci.c, depending on the size of the output and moon phase :smileyhappy:
    • "fpga 0000:01:00.0: Refused to change power state, currently in D3"
    • "imx6q-pcie 1ffc000.pcie: transition to gen2 is stuck, reset PHY!"
    • resume hangs

The second one is a bit strange, as the FPGA currently only supports gen1.

I'm trying to get a hold of this and would like to avoid adding some random printks and the delays it brings just because "it fixes stuff" (or not: System will not resume from suspend to memory with PCIE enabled). Any help would be greatly appreciated.

Cheers

Kai

Labels (1)
0 Kudos
3 Replies

645 Views
igorpadykov
NXP Employee
NXP Employee

Hi Kai

one can look at ERR005723 patches below

SW workarounds used to fix ERR005723 in Linux BSP(private)

Best regards

igor

-----------------------------------------------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer button. Thank you!

-----------------------------------------------------------------------------------------------------------------------

0 Kudos

645 Views
kairuhnau
Contributor I

I know that page already.

As mentioned, the GRP1 based patch is already applied to 3.14.28 (albeit directly in pci-imx6.c).

The second method of warm-resetting the PHY is only implemented for 3.0.35 and isn't even close to applying to 3.14.28.

0 Kudos

645 Views
igorpadykov
NXP Employee
NXP Employee

seems L3.14.28-1.0.0 GA official BSP does not support PCIe power management

1.jpg

0 Kudos