Hi Receiver,
Aim to GPIO expander, there are some questions be raised by client in FuSa meeting below and pls. help to redirect correct contact window if need.
Per DS mentioned, each 8-bit port is read independently, the interrupt caused by port 0 is not cleared by a read of port 1, or vice versa.
Given above statement, it showed me only correct port which interrupt be triggered be read by master then the interrupt flag just can be cleaned.
Nevertheless, this method just existing when the GPIO expander is functioning properly, may we learn some unexpecting/corner case below?
- Is it possible for the GPIO expander to fail such that it doesn’t provide an interrupt when requested?
- Continues above, if so, can any mechanism inside GPIO expander to detect this fail and report to master?
- If more than one IO ports changed status at the same time (or within the time between one I2C message and the next), do they all get reported when the next I2C message is generated or is there any chance one may be missed? How does the interrupt and clear work in this case?
- Last but not least, are there ANY failure modes that would cause the GPIO expander to function abnormally?
BR,