element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Members
    Members
    • Benefits of Membership
    • Achievement Levels
    • Members Area
    • Personal Blogs
    • Feedback and Support
    • What's New on element14
  • Learn
    Learn
    • Learning Center
    • eBooks
    • STEM Academy
    • Webinars, Training and Events
    • More
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • More
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • More
  • Products
    Products
    • Arduino
    • Dev Tools
    • Manufacturers
    • Raspberry Pi
    • RoadTests & Reviews
    • Avnet Boards Community
    • More
  • Store
    Store
    • Visit Your Store
    • Choose Another Store
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
Avnet Boards Forums
  • Products
  • Dev Tools
  • Avnet Boards Community
  • Avnet Boards Forums
  • More
  • Cancel
Avnet Boards Forums
Software Application Development UltraZed-EV (zynqmp) not generating interrupts for GPIOs
  • Forums
  • Documents
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Avnet Boards Forums requires membership for participation - click to join
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Not Answered
  • Replies 1 reply
  • Subscribers 40 subscribers
  • Views 168 views
  • Users 0 members are here
  • ultrazed-ev
  • gpio
  • zynqmpsoc
  • interrupts
  • linux
Related

UltraZed-EV (zynqmp) not generating interrupts for GPIOs

jlindquist74
jlindquist74 over 2 years ago

I'm testing software I'm writing for a custom target, using the UltraZedEV on the Avnet carrier card.  Particularly, I'm using the SW5 DIP switches to stand in for switches on the target which should trigger interrupts on the rising transition.  However, no interrupts are ever generated.  I have the GPIO pins exported in sysfs as gpio504-511, the edge set to "rising", and open file descriptors on their "value" nodes, watched by poll() for POLLPRI.  But poll() never returns events on those fd's revents fields.  Further, /proc/interrupts shows no interrupts have been generated for them:

 

root@avnetuz:~# cat /proc/interrupts

           CPU0       CPU1       CPU2       CPU3

  3:      10390     311753       2886      73304     GICv2  30 Level     arch_timer

  6:          0          0          0          0     GICv2  67 Level     ff9905c0.mailbox

  7:          0          0          0          0     GICv2 175 Level     arm-pmu

  8:          0          0          0          0     GICv2 176 Level     arm-pmu

  9:          0          0          0          0     GICv2 177 Level     arm-pmu

10:          0          0          0          0     GICv2 178 Level     arm-pmu

12:          0          0          0          0     GICv2 156 Level     zynqmp-dma

13:          0          0          0          0     GICv2 157 Level     zynqmp-dma

14:          0          0          0          0     GICv2 158 Level     zynqmp-dma

15:          0          0          0          0     GICv2 159 Level     zynqmp-dma

16:          0          0          0          0     GICv2 160 Level     zynqmp-dma

17:          0          0          0          0     GICv2 161 Level     zynqmp-dma

18:          0          0          0          0     GICv2 162 Level     zynqmp-dma

19:          0          0          0          0     GICv2 163 Level     zynqmp-dma

21:          0          0          0          0     GICv2 109 Level     zynqmp-dma

22:          0          0          0          0     GICv2 110 Level     zynqmp-dma

23:          0          0          0          0     GICv2 111 Level     zynqmp-dma

24:          0          0          0          0     GICv2 112 Level     zynqmp-dma

25:          0          0          0          0     GICv2 113 Level     zynqmp-dma

26:          0          0          0          0     GICv2 114 Level     zynqmp-dma

27:          0          0          0          0     GICv2 115 Level     zynqmp-dma

28:          0          0          0          0     GICv2 116 Level     zynqmp-dma

30:          0          0          0          0     GICv2  95 Level     eth0, eth0

32:         49          0          0          0     GICv2  50 Level     cdns-i2c

33:          0          0          0          0     GICv2  42 Level     ff960000.memory-controller

34:          0          0          0          0     GICv2  57 Level     axi-pmon

35:          0          0          0          0     GICv2 150 Level     nwl_pcie:misc

40:         23          0          0          0     GICv2  47 Level     ff0f0000.spi

41:          0          0          0          0     GICv2  58 Level     ffa60000.rtc

42:          0          0          0          0     GICv2  59 Level     ffa60000.rtc

43:          0          0          0          0     GICv2 165 Level     ahci-ceva[fd0c0000.ahci]

44:        441          0          0          0     GICv2  80 Level     mmc0

45:       2054          0          0          0     GICv2  81 Level     mmc1

46:       7348          0          0          0     GICv2  53 Level     xuartps

48:          0          0          0          0     GICv2 145 Edge      fd4d0000.watchdog

49:          0          0          0          0     GICv2  88 Level     ams-irq

50:          0          0          0          0     GICv2 154 Level     fd4c0000.dma

51:         64          0          0          0     GICv2 151 Level     fd4a0000.zynqmp-display

52:          0          0          0          0     xgpio   0 Edge      gpiolib

53:          0          0          0          0     xgpio   1 Edge      gpiolib

54:          0          0          0          0     xgpio   2 Edge      gpiolib

55:          0          0          0          0     xgpio   3 Edge      gpiolib

56:          0          0          0          0     xgpio   4 Edge      gpiolib

57:          0          0          0          0     xgpio   5 Edge      gpiolib

58:          0          0          0          0     xgpio   6 Edge      gpiolib

59:          0          0          0          0     xgpio   7 Edge      gpiolib

IPI0:      2421       2110       1330       2071       Rescheduling interrupts

IPI1:         8          6         11          5       Function call interrupts

IPI2:         0          0

 

Interrupts 52-59 are my GPIOs, but flipping the switches back and forth does nothing.

Is there something I'm missing from my device tree (attached) or something else I need to do to make these interrupts active?

Attachments:
system.dts.txt.zip
  • Reply
  • Cancel
  • Cancel
  • drozwood90
    0 drozwood90 over 2 years ago

    Hi there,

     

    The user slide switches connect to the PL.  Did you bring those through the PL to an interrupt into the PS?  Or are you monitoring a GPIO memory space from the exported PL AXI block?

    Please check the carrier schematic on page 13.

    UltraZed-EV Carrier Card | Zedboard (go there, locate schematic)

     

    Depending on which switch pin you are using and which XDC you are using, you likely also need to define the combination in the XDC prior to using the pins (as they are not most probably NOT defined, as such will not be in any memory map or IRQ available to the PS).

     

    The default XDC does not appear to bring the pin AF13 to view

    https://github.com/Avnet/hdl/blob/master/Boards/UZ7EV_EVCC/uz7ev_evcc_factest.xdc

     

    --Dan

    • Cancel
    • Up 0 Down
    • Reply
    • Verify Answer
    • Cancel
Element14

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2022 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • Facebook
  • Twitter
  • linkedin
  • YouTube