03-25-2019 05:10 AM
Hello,
I have an architecture targetting Zynq-7000 with more than 16 interrupts, so I need to regroup some of them by using the xilinx AXI interrupt controller (INTC).
I tried building a demonstration architecture using the Xilinx AXI UART 16550 IP connected to INTC, and the INTC irq output connected to PS interrupt input.
I used the exemple SW provided by xilinx: xuartns550_intr_example.c (https://github.com/Xilinx/embeddedsw/blob/master/XilinxProcessorIPLib/drivers/uartns550/examples/xuartns550_intr_example.c) but it seems that the interrupt at the output of INTC is not detected by PS.
Below is a snapshot of the Device tree of my system:
axi_intc_uart: interrupt-controller@41800000 { #interrupt-cells = <2>; compatible = "xlnx,xps-intc-1.00.a"; interrupt-controller ; interrupt-parent = <&intc>; interrupts = <0 29 4>; reg = <0x41800000 0x10000>; xlnx,kind-of-intr = <0x0>; xlnx,num-intr-inputs = <0x1>; }; axi_uart16550_0: serial@43c00000 { clock-frequency = <100000000>; clock-names = "ref_clk"; clocks = <&clkc 0>; compatible = "xlnx,xps-uart16550-2.00.a", "ns16550a"; current-speed = <115200>; device_type = "serial"; interrupt-parent = <&axi_intc_uart>; interrupts = <0 2>; port-number = <0>; reg = <0x43c00000 0x10000>; reg-offset = <0x1000>; reg-shift = <2>; xlnx,external-xin-clk-hz = <0x17d7840>; xlnx,external-xin-clk-hz-d = <0x19>; xlnx,has-external-rclk = <0x0>; xlnx,has-external-xin = <0x0>; xlnx,is-a-16550 = <0x1>; xlnx,s-axi-aclk-freq-hz-d = "100.0"; xlnx,use-modem-ports = <0x1>; xlnx,use-user-ports = <0x1>; };
I would appreciate any help for my case.
Thanks you