GPIO configuration in FX3

Question: How can i use the GPIF pins as GPIOs in FX3?

 

Answer:

If we select GPIF 16 bit mode i.e [ io_cfg.isDQ32Bit = CyFalse ], GPIO[0:15] and CTL[0:4] will be reserved for GPIF. If we need to use these pins as GPIOs they should be overdriven using the CyU3PDeviceGpioOverride() API.If we select GPIF 32 bit mode i.e [ io_cfg.isDQ32Bit = CyTrue ], GPIO[0:31] and CTL[0:4] will be reserved for GPIF.  If we need to use these pins as GPIOs they should be overdriven using CyU3PDeviceGpioOverride() API.io_cfg.gpioSimpleEn and io_cfg.gpioComplexEn can be used to specify the operation of GPIOs which are not reserved [ other than GPIO[0:15] and CTL[0:4] in GPIF16, other than GPIO[0:31] and CTL[0:4] in GPIF32 ].

io_cfg.gpioSimpleEn contains the Bitmap variable that identifies pins that should be configured as simple GPIOs.

io_cfg.gpioComplexEn contains the Bitmap variable that identifies pins that should be configured as Complex GPIOs.

For more details refer section 1.2.5 [CyU3PDeviceConfigureIOMatrix] FX3 API guide.