UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Observer peter.kuchnio
Observer
1,207 Views
Registered: ‎11-16-2015

More than 16 interrupts to PS

I am trying to get more than 16 interrupts into the PS. Based on what I've seen on the Xilinx Wiki, one can use the AXI Interrupt Controller instead.

 

I have connected my interrupts to the AXI Intc and then connected the IRQ out port of the axi interrupt controller to the GIC.

 

Difficulty: When device tree generation is in progress, no interrupt parents are assigned to any of my devices connected to the intc.

 

I am using 2016.4. I had to patch the device tree generator according to Xilinx's answer record.

0 Kudos
4 Replies
Visitor msteveb0
Visitor
1,172 Views
Registered: ‎05-07-2014

Re: More than 16 interrupts to PS

It sounds like you are doing the right thing. Does it generate the correct device tree with the patch?

0 Kudos
Observer peter.kuchnio
Observer
1,160 Views
Registered: ‎11-16-2015

Re: More than 16 interrupts to PS

No, the device tree generator common_proc.tcl fails with a syntax error.

0 Kudos
Highlighted
Visitor msteveb0
Visitor
1,144 Views
Registered: ‎05-07-2014

Re: More than 16 interrupts to PS

0 Kudos
Contributor
Contributor
1,067 Views
Registered: ‎08-31-2016

Re: More than 16 interrupts to PS

I believe this was fixed in 2017.3.

One other thing you might try: I've had luck before using EMIO GPIOs routed into the PL as interrupt inputs. You need to manually call them out in the device tree using notation similar to the following - the device tree generator won't do it automatically. The GPIO controller itself acts as an interrupt controller.

interrupt-parent = <&gpio0>; // This specifies PS GPIO controller as the interrupt controller
interrupts = <416 1>; // 416 = kernel-assigned GPIO number, 1 = interrupt sensitvity

0 Kudos