Post Go back to editing

ADRV9009-ZU11EG EMIO mapping

Hi,

I'm trying to get low level GPIO on the ZU11EG configured to be able to use FHM GPIO mode. The XDC file shown below shows the physical pin mapped to a net name. 

How do I map the physical pin on ZU11EG to an EMIO GPIO # in Linux? 

Have the EMIO GPIO for netname adrv9009_gpio_00_a (package pin AW7) already been assigned?  

Do I also have to add to the DeviceTree to map the GPIO? 

https://github.com/analogdevicesinc/hdl/blob/master/projects/adrv9009zu11eg/common/adrv9009zu11eg_constr.xdc

https://www.xilinx.com/html_docs/registers/ug1087/ug1087-zynq-ultrascale-registers.html

https://github.com/analogdevicesinc/linux/blob/master/drivers/gpio/gpio-zynq.c

I understand that the PS MIO pins are mapped to 0 to 77 and are fixed locations on the package.  The EMIO GPIO pins are mapped to 78 to 174 (3*32 = 96 GPIO) and are programmable where they show up. This is consistent with the linux driver code above. 

Here is what the kernel shows, which GPIO is being used and I can't thus export it.  For the GPIO that does not show up in this list, I can't tell if an EMIO GPIO# has been assigned already.  

root@analog:/sys/class/gpio# cat /sys/kernel/debug/gpio
gpiochip0: GPIOs 0-173, parent: platform/ff0a0000.gpio, zynqmp_gpio:
gpio-12 ( |sysfs ) in lo
gpio-13 ( |ulpi-phy-reset ) out hi
gpio-78 ( |BT0 ) in lo IRQ
gpio-79 ( |BT1 ) in lo IRQ
gpio-80 ( |BT2 ) in lo IRQ
gpio-81 ( |BT3 ) in lo IRQ
gpio-82 ( |SW0 ) in hi IRQ
gpio-83 ( |SW1 ) in hi IRQ
gpio-84 ( |SW2 ) in hi IRQ
gpio-85 ( |SW3 ) in hi IRQ
gpio-86 ( |led0:green ) out lo
gpio-87 ( |led1:green ) out lo
gpio-88 ( |led2:green ) out lo
gpio-89 ( |led3:green ) out lo
gpio-130 ( |reset ) out hi
gpio-156 ( |reset ) out hi
gpio-167 ( |sysref-req ) out hi
gpio-168 ( |plddrbypass ) in lo

Thanks, 

Nathan