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://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