16bit and 32bit GPIF configurations

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Hello,

   

    I have 2 GPIF configurations I'd like to use in an application. The first GPIF configuration only uses 16 bits so that the SPI peripheral is available. However the second 2 GPIF configuration that I change to by calling CyU3PGpifDisable(CyTrue); and CyU3PGpifLoad() enters a weird mode where it does record 32 bits of data to DMA buffers however the top 16 bits are equivalent to the lower 16 bits. If I bypass loading the 16bit GPIF config and go straight to the 32bit config everything is fine.

   

When I initialize the device with CyU3PDeviceConfigureIOMatrix(), isDQ32Bit is set to true. Is there any way to toggle isDQ32Bit when I change between the 2 different GPIF configurations? The reason I ask is because it is my understanding that CyU3PDeviceConfigureIOMatrix() can only be called once.

   

Thank you

0 Likes
1 Reply
Anonymous
Not applicable

Hi Vivenoma,

   

you can call IoMatrix... more than one time. That is necessary to switch between 16-/32-bit Mode of GPIF interface and also to activate/deactivate the peripheral SPI interface. That stuff is already discussed in this forum, see following post....

   

http://www.cypress.com/?app=forum&id=167&rID=58084

   

regards,

   

lumpi

0 Likes