We have been using PYNQ for a while and it works as expected. Recently we built a custom board around one of Trenz’s SoM using Zynq 7000.
Using a simple BD with a PS7 + reset + interconnect + AXI GPIO + AXI IIC, we cannot get the GPIO to change direction using .setdirection(). However, we can manually set it using MMIO and writing to the register directly.
IIC send() and receive() also fail.
/usr/local/lib/python3.6/dist-packages/pynq/lib/iic.py in receive(self, address, data, length, option)
124 self._virtaddr, address, data, length, option)
125 if received == 0:
--> 126 raise RuntimeError("Could not receive I2C data")
127 return received
128
RuntimeError: Could not receive I2C data
We are running using PYNQ 2.4