FX3 does not explicitly support 12 Bit GPIF. This has to be used in 16 Bit Mode. The extra 4 bits have to be either ignored or removed by the host application.
Connect the Most Significant 8 Bits of your image sensor to the D7:0 pins of the GPIF Interface and connect the least significant 8 bits of your image sensor to D15:8 pins of GPIF. Use the GPIF in Big Endian mode.
In your firmware you can switch between a 8-Bit State Machine and a 16-Bit state machine anytime using the CyU3PGpifSMStart API. In the cyfxgpifconfig.h header file, you need to change the register value in the firmware that corresponds to 8 Bit GPIF or 16 Bit GPIF, before everytime you call the CyU3PGpifSMStart API for switching the bus width.
- Madhu Sudhan