cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Aaron
Visitor
Visitor
196 Views
Registered: ‎04-22-2021

Petalinux 2020.1: Zynq PL Interrupts is not shown in /proc/interrupts

Hi,

I try to implement the Zynq PL interrupt with petalinux but interrupt seems not work

The block design is as below.

 

Aaron_0-1619192465225.png

Aaron_2-1619192547777.png

My device-tree setting is as below.

/ {
apbtst {
compatible = "DASTUDIO, apb_bus";
model = "DASTUDIO, apb_bus";
#address-cells = <1>;
#size-cells = <0>;
interrupt-names = "ip2intc_irpt";
interrupt-parent = <&intc>;
interrupts = <0 29 4>;
reg = <0x43c00000 0x10000>;
};
}; 

The system bootup after build petalinux, then I type "cat /proc/interrupts" but could found my interrupt test module.

root@linux:~# cat /proc/interrupts
CPU0 CPU1
16: 0 0 GIC-0 27 Edge gt
17: 39570 40779 GIC-0 29 Edge twd
18: 0 0 GIC-0 37 Level arm-pmu
19: 0 0 GIC-0 38 Level arm-pmu
20: 43 0 GIC-0 39 Level f8007100.adc
23: 0 0 GIC-0 35 Level f800c000.ocmc
24: 280 0 GIC-0 82 Level xuartps
25: 0 0 GIC-0 51 Level e000d000.spi
26: 2122 0 GIC-0 54 Level eth0
27: 1552 0 GIC-0 56 Level mmc0
28: 0 0 GIC-0 45 Level f8003000.dmac
29: 0 0 GIC-0 46 Level f8003000.dmac
30: 0 0 GIC-0 47 Level f8003000.dmac
31: 0 0 GIC-0 48 Level f8003000.dmac
32: 0 0 GIC-0 49 Level f8003000.dmac
33: 0 0 GIC-0 72 Level f8003000.dmac
34: 0 0 GIC-0 73 Level f8003000.dmac
35: 0 0 GIC-0 74 Level f8003000.dmac
36: 0 0 GIC-0 75 Level f8003000.dmac
37: 0 0 GIC-0 40 Level f8007000.devcfg
39: 0 0 GIC-0 43 Level ttc_clockevent
45: 0 0 GIC-0 41 Edge f8005000.watchdog
IPI1: 0 0 Timer broadcast interrupts
IPI2: 844 2073 Rescheduling interrupts
IPI3: 3 3 Function call interrupts
IPI4: 0 0 CPU stop interrupts
IPI5: 0 0 IRQ work interrupts
IPI6: 0 0 completion interrupts
Err: 0

I would be glad if someone can help.

Best Regards

 

 

 

0 Kudos
1 Reply
katsuki
Xilinx Employee
Xilinx Employee
101 Views
Registered: ‎11-05-2019

Hello @Aaron 

If you put AXI-GPIO that accepts interrupts in PL of ZC702, /proc/interrupts and pl.dtsi are as follows.

/ {
    amba_pl: amba_pl {
        #address-cells = <1>;
        #size-cells = <1>;
        compatible = "simple-bus";
        ranges ;
        axi_gpio_0: gpio@41200000 {
            #gpio-cells = <3>;
            #interrupt-cells = <2>;
            clock-names = "s_axi_aclk";
            clocks = <&clkc 15>;
            compatible = "xlnx,axi-gpio-2.0", "xlnx,xps-gpio-1.00.a";
            gpio-controller ;
            interrupt-controller ;
            interrupt-names = "ip2intc_irpt";
            interrupt-parent = <&intc>;
            interrupts = <0 29 4>;
            reg = <0x41200000 0x10000>;
            xlnx,all-inputs = <0x1>;
            xlnx,all-inputs-2 = <0x0>;
            xlnx,all-outputs = <0x0>;
            xlnx,all-outputs-2 = <0x0>;
            xlnx,dout-default = <0x00000000>;
            xlnx,dout-default-2 = <0x00000000>;
            xlnx,gpio-width = <0x2>;
            xlnx,gpio2-width = <0x20>;
            xlnx,interrupt-present = <0x1>;
            xlnx,is-dual = <0x0>;
            xlnx,tri-default = <0xFFFFFFFF>;
            xlnx,tri-default-2 = <0xFFFFFFFF>;
        };  
    };  
};

 

root@xilinx-zc702-2020_1:~# cat /proc/interrupts 
           CPU0       CPU1       
 16:       5766       5815     GIC-0  29 Edge      twd
 17:          0          0     GIC-0  37 Level     arm-pmu
 18:          0          0     GIC-0  38 Level     arm-pmu
 19:         43          0     GIC-0  39 Level     f8007100.adc
 22:         49          0     GIC-0  57 Level     cdns-i2c
 24:          0          0     GIC-0  35 Level     f800c000.ocmc
 25:        122          0     GIC-0  82 Level     xuartps
 26:         12          0     GIC-0  51 Level     e000d000.spi
 27:         59          0     GIC-0  54 Level     eth0
 28:          0          0     GIC-0  56 Level     mmc0
 29:          0          0     GIC-0  45 Level     f8003000.dmac
 30:          0          0     GIC-0  46 Level     f8003000.dmac
 31:          0          0     GIC-0  47 Level     f8003000.dmac
 32:          0          0     GIC-0  48 Level     f8003000.dmac
 33:          0          0     GIC-0  49 Level     f8003000.dmac
 34:          0          0     GIC-0  72 Level     f8003000.dmac
 35:          0          0     GIC-0  73 Level     f8003000.dmac
 36:          0          0     GIC-0  74 Level     f8003000.dmac
 37:          0          0     GIC-0  75 Level     f8003000.dmac
 38:          0          0     GIC-0  40 Level     f8007000.devcfg
 41:          0          0     GIC-0  43 Level     ttc_clockevent
 47:          0          0     GIC-0  41 Edge      f8005000.watchdog
 51:          0          0  zynq-gpio  12 Edge      sw14
 52:          0          0  zynq-gpio  14 Edge      sw13
IPI1:          0          0  Timer broadcast interrupts
IPI2:       1161       1204  Rescheduling interrupts
IPI3:          2          1  Function call interrupts
IPI4:          0          0  CPU stop interrupts
IPI5:          0          0  IRQ work interrupts
IPI6:          0          0  completion interrupts
Err:          0

Thank you.


Don’t forget to reply, kudo, and accept as solution. If starting with Versal take a look at our Versal Design Process Hub and our Versal Blogs
0 Kudos