FX2LP GPIF Done bit is not set if no data transfer took place | Cypress Semiconductor
FX2LP GPIF Done bit is not set if no data transfer took place
After triggering a GPIF statemachine I discovered that sometimes the GPIF DONE bit in the GPIFTRIG register is not set.
This happens after the statemachine is triggered, and no data has been transferred to the fifo. This happens even if the state machine goes through the idle state.
I tried a simple statemachine doing nothing (no data transactions) , going from IDLE to S0, S1, S2...S6 and finally back to IDLE: this does NOT set the GPIF done bit!
Also, for a receiving fifo, if the host does not read any data, (and no data is added on the device side), the GPIF DONE bit is not set. Only after resetting the used endpoint, or if the host continues reading the DONE bit is set .
Is my finding correct, and if so, what can I do to get the GPIF DONE bit to always be set if the IDLE state has been entered after triggering the state machine ?