Help needed with creating custom modules and interrupt capability
I'm using Petlainux 2017.4, Vivado 2017.4 for Zynq Ultrascale+ MPSoC ZCU102 board, on Ubuntu 16.04.
tl;dr; Can anyone please point me to a highly detailed Petalinux flow documentation?
I am building a custom module for a hardware accelerator that used to work well with Linux on Microblaze. Now we have moved to the Zynq board and want to use Linux on it. I have exported the .hdf file successfully. Used the appropriate BSP (not sure if it's needed). And the pl.dtsi hadn't discovered the AXI peripheral in our accelerator. So manually added it as shown below. Not sure about how to set up the interrupt in it. Not even sure if that is where it has to be added or somewhere in system-user.dtsi.
The problem is I am (on some playing around) able to probe the driver and even register in the /dev and add a class in /sys/class. But I am unable to register the interrupt ("no irq found") and neither am I able to read or write to registers. I am not sure if I have to turn off UIO driver support in "petlainux-config -c kernel"
Tried searching far and wide for any similar example projects. Not able to find any.
Kindly point me to some documentation or any tips. Thanks in advance, Anoop