We have an issue when we want to use a pin in GPIO mode for a short while, then release it and use as a part of GPIF. According to docs we need to call CyU3PDeviceGpioOverride, then release it with CyU3PDeviceGpioRestore. We do all that and it works as expected while in GPIO mode, however, GPIF failes to control the pin afterwards.
Our GPIF II state machine behaves properly - we verified it in a special case when we never call CyU3PDeviceGpioOverride.
However, as soon as we call CyU3PDeviceGpioOverride/CyU3PDeviceGpioRestore, GPIF fails to obtain the control of the pin. Regardless of when we call CyU3PGpifLoad (after of before CyU3PDeviceGpioRestore).
Meanwhile, I would recommend you to create a tech support case so that one of our engineer will work on this in parallel to help you.