Post Go back to editing

GPIO using adrv9009 zu11eg RF-SOM and ADRV2CRR-FMC carrier board

Category: Software


I am in need of fast control of GPIO using adrv9009 zu11eg RF-SOM and ADRV2CRR-FMC carrier board.

I have tried using IIO attributes via C code to control 3V3 gpio on the adrv9009 transceivers. I found that the time taken for a command setting a gpio output value to return was up to 100us. This is too slow for the desired application.

I have also looked at /sys/class/gpio and can see 174 gpio lines related to the ZynqMP. Of these gpio173 is evidently used to control the fan speed and setting this gpio output showed much faster speeds of under 20us. However, I was not able to establish where the other 173 gpio are mapped?! Similarly, I have not found how to control the user switches, user LEDs and other gpio connections on the ADRV2CRR-FMC carrier board.

In summary my questions are:

1) Which of the available gpio on the RF-SOM would give the fastest write times? And how would I go about using that gpio? I have an application written in C using IIO.

2) How do I read/write the user LEDs and user slide switches on the ADRV2CRR-FMC carrier board? These seem to map back to PL bank 65 on the RF-SOM.

3) How do I establish which /sys/class/gpio numbers correspond to which hardware pins? I had assumed that a subset of these would map to PL bank 65 but experimenting did not confirm this.

Thanks in advance for any help!