08-31-2016 01:35 AM
Hi all,
I have just updated a working Vivado/SDK 2015.2 design to 2015.4 and ran into a problem with PL to PS interrupts.
Yes, I followed instructions on
http://www.xilinx.com/support/answers/55703.html
http://www.xilinx.com/support/answers/58942.html
After exporting HW-description to SDK I found this inside xparameters.h:
2015.2:
/* Definitions for Fabric interrupts connected to ps7_scugic_0 */
#define XPAR_FABRIC_RECEIVER_0_O_FIFO_FULL_INT_INTR 91
#define XPAR_FABRIC_RECEIVER_0_O_FIFO_HALF_INT_INTR 90
#define XPAR_FABRIC_RECEIVER_0_O_FIFO_EMPTY_INT_INTR 89
#define XPAR_FABRIC_TRANSMITTER_0_FIFO_FULL_INTROUT_INTR 88
#define XPAR_FABRIC_TRANSMITTER_0_FIFO_HALF_INTROUT_INTR 87
#define XPAR_FABRIC_TRANSMITTER_0_FIFO_EMPTY_INTROUT_INTR 86
#define XPAR_FABRIC_AXI_UART16550_0_IP2INTC_IRPT_INTR 85
2015.4:
#define XPAR_FABRIC_AXI_UART16550_0_IP2INTC_IRPT_INTR 91
#define XPAR_FABRIC_TRANSMITTER_0_FIFO_EMPTY_INTROUT_INTR 90
#define XPAR_FABRIC_TRANSMITTER_0_FIFO_HALF_INTROUT_INTR 89
#define XPAR_FABRIC_TRANSMITTER_0_FIFO_FULL_INTROUT_INTR 88
#define XPAR_FABRIC_RECEIVER_0_O_FIFO_EMPTY_INT_INTR 87
#define XPAR_FABRIC_RECEIVER_0_O_FIFO_HALF_INT_INTR 86
#define XPAR_FABRIC_RECEIVER_0_O_FIFO_FULL_INT_INTR 85
As you can see the interrupt-sources are in reverse order.
As a result NO interrupts are generated as expected!!!
After defining an own declaration in my SDK-source file like xparameters.h in 2015.2 Interrupts are working.
Are there any patches available ?????
08-31-2016 01:56 AM
08-31-2016 02:27 AM
Sorry. This doesnt help.
I use StandAlone, no Linux (xparameters.h ist generated as source in BoardSupportPackage).
I use 2015.4 resp. 2015.2, no 2014.x or 2013.x.
The problem is that in 2015.4 transfer of HW-Description from Vivado to BSP in SDK has a bug.
09-13-2016 12:05 PM
I am having the same problem going from 2015.2 to 2016.2.
It appears that the problem still exists.
The IRQ_F2P interface on the processing_system7_0 says it should be in the order that 2015.2 creates, not the reversed order that 2016.2 creates.
10-03-2016 10:14 PM
That`s good to hear. So we are two.
Hopefully there will be any response from Xilinx....
10-11-2016 10:14 AM
Make that 3 of us. I'm using petalinux 2016.2 and I see no interrupts to the arm coming from the peripherals in the FPGA fabric. It HAD been working under the 3.17 kernel.
And I have checked the irq numbers in xparameters.h and I'm using the right ones. Maybe this will get fixed in 2016.3?
10-17-2016 09:10 PM
2016.3 is available. Give it a try.
11-21-2016 05:18 AM
The problem exists on 2016.3. Xilinx are aware of it, let's hope a fix is released in 2016.4
02-20-2017 03:42 AM
Did someone try 2016.4?
07-02-2017 10:25 PM
I encounter the same problem in 2016.2, is it fixed in the later vision?
10-10-2017 06:26 AM
Can confirm that this issue is present in 2017.2
10-10-2017 07:59 AM
For those of you who come here to check for a soltion,
Page 13 and 14.
The problem occurs when you upgrade a project. One fix can be to change your block design by deleting
CONFIG.PCW_IRQ_F2P_MODE {REVERSE} line, (you can add DIRECT instead of REVERSE also I guess)
Rakesh