[meta-xilinx] Interrupt forwarding in AMP configuration

Mike Looijmans mike.looijmans at topic.nl
Thu Dec 22 22:30:42 PST 2016


On 23-12-16 00:38, Eric Wong wrote:
> In my AMP configuration with Linux on CPU0 and an RTOS on CPU1,
> interrupts being routed to CPU1 are specified in the device tree entry
> for remoteproc:
>
> app: app at 0 {
>     compatible = "xlnx,zynq_remoteproc";
>     reg = < 0x1E000000 0x2000000 >;
>     interrupt-parent = <&ps7_scugic_0>;
>     interrupts = < 0 27 4  0 29 4  0 30 4  0 31 4  0 32 4  0 34 4  0
> 35 4  0 37 4  0 38 4  0 39 4 >;
>     firmware = "app.elf";
>     vring0 = <15>;
>     vring1 = <14>;
> } ;
>
> The "4" in the interrupts line means the interrupt is active high, and
> things seem to be working.  If I want an interrupt to be rising edge
> triggered, I change the "4" to "1", but then when that interrupt
> triggers I get "Unexpected IRQ trap at vector 00" error in Linux and
> Linux freezes.  Does anyone know what that means or how to fix that
> error?  I would think Linux wouldn't/shouldn't even be looking at the
> interrupt(s) that are routed to CPU1.  Thanks in advance.
>

The devicetree only guards that other drivers won't steal your interrupts 
away. It does not cause the remoteproc driver to activate or assign them.

Your firmware has to register and activate the interrupt by itself. If Linux 
complains about your interrupt, you probably routed it to the wrong CPU.


Kind regards,

Mike Looijmans
System Expert

TOPIC Products
Materiaalweg 4, NL-5681 RJ Best
Postbus 440, NL-5680 AK Best
Telefoon: +31 (0) 499 33 69 79
E-mail: mike.looijmans at topicproducts.com
Website: www.topicproducts.com

Please consider the environment before printing this e-mail








More information about the meta-xilinx mailing list