Thread (21 messages) 21 messages, 6 authors, 2016-03-30

[PATCH] i.MX6 PCIe: Fix imx6_pcie_deassert_core_reset() polarity

From: Roberto Fichera <hidden>
Date: 2016-03-30 12:51:05
Also in: linux-pci, lkml

Possibly related (same subject, not in this thread)

On 03/30/2016 12:10 PM, Arnd Bergmann wrote:
On Wednesday 30 March 2016 10:00:33 Roberto Fichera wrote:
quoted
quoted
Check your XIO2001 routing and insure the following for proper IRQ mapping:
Slot12: IDSEL A28: socket INTA = XIO2001 INTA
Slot13: IDSEL A29: socket INTA = XIO2001 INTB
Slot14: IDSEL A30: socket INTA = XIO2001 INTC
Slot15: IDSEL A31: socket INTA = XIO2001 INTD
After crosschecking with our hardware designer the PCB IRQ mapping is the following:

J2 : IDSEL  A16: => Device 0 : socket INTA = XIO2001 INTA
J3 : IDSEL  A18: => Device 2 : socket INTA = XIO2001 INTA* **(This should be INTC)*         
J11: IDSEL A20: => Device 4 : socket INTA = XIO2001 INTA

The interrupt routing for J3 is wrong. The XIO2001 driver may expect Device 2 to interrupt on INTC - but it will
interrupt on INTA.
What does your interrupt-map property look like then? 
Unfortunately it seems that J3 slot doesn't work anymore. Inserting a card there, PCIe link will not come up anymore.
Likely I broke it. Looking at some spare logs I have, a card inserted in J3 will get another interrupt, was 291 however
unfortunately I don't have an usefull lspci -vv output, sorry! Will check in it against another PCB when I can.
Note that you have to override both map and map-mask in this case.
Can you please give more details where should I have a look?
	Arnd
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help