Is there a way to interrupt the i.MX6 via PCIe when it is operating in endpoint (EP) mode? When the device is setup in root complex (RC) mode there are a variety of spec-based PCIe interrupt sources, however, I can't seem to find a method to interrupt the processor over the PCIe bus when it is operating in EP mode.
There are the software interrupts available in the ARM MPCore, however, these are located on a bus internal to the ARM core. Therefore, I won't be able to access them from the RC device. Is there another set of software interrupts available when the i.MX6 is in EP mode that I can trigger from the RC device?
Solved! Go to Solution.
the correct answer is: There is no standardized (as PCI standard) way of interrupting the EP. However there are a few ways how to do that in a proprietary way.
configure some other peripheral in i.MX6 EP device (not PCIe) for example GPIO in such a way that writing a specific value to a register belonging to that peripheral (GPIO) will cause GPIO interrupt to fire and interrupt local CPU.
Then create inbound mapping on i.MX6 EP device so that PCIe cycles from PCIe bus will be routed correctly and will hit before mentioned register.
From external device write the value over PCIe to the correct address and it will end like write transaction to the register inside GPIO which will fire an interrupt.