AnsweredAssumed Answered

i.MX6/7 Pcie legacy interrupt

Question asked by Andrea Greco on May 7, 2018
Latest reply on Jun 5, 2018 by Mark Talbot


I get some trouble with the PCIe, problem occur with Pcie legacy interrupt, interrupt never fire.

i.MX6 with Apalis Evaluation Board

i.MX7 with Sabre RevD


Tested with Linux rel_imx_4.1.15_2.1.0_ga:

In this release all works also pcie legacy interrupt.


Linux rel_imx_4.9.x_1.0.0_ga:

In this release legacy interrupt is broken, and not working.

MSI interrupt working.


My Pcie endpoint is a Ath9K and Ath10k.


Consideration over Linux Pcie Host driver.

The pci Host code in linux is hardly-changed from 4.1 to 4.9, so i think some change break, imx6/7 initialization.

A big change of Designware host drivers is example ATU support added.

In i.MX6/7 Manual is not described how PCIe RootComplex is connected i.MX6/7 platform.


Other Pcie Host drivers

Other Soc with "i suppose" same Pcie silicon implementations, initialize legacy interrupt, and handle it.

I'm referring to: pci-exynos.c and pci-keystone-dw.c

It also write some register, called IRQ_INTA_ASSERT and friends.


So, i think a help from NXP is required for let this works in Linux 4.9 and later.