KL02 Sub-Family Reference Manual (http://www.nxp.com/docs/en/reference-manual/KL02P32M48SF0RM.pdf )
clearly indicates register I2Cx_FLT does not have SSIE bit (start / stop interrupt), why is MKL02Z4_features.h defined otherwise?
/* @brief Has I2C bus start and stop detection (register bits FLT[SSIE], FLT[STARTF] and FLT[STOPF]). */
#define FSL_FEATURE_I2C_HAS_START_STOP_DETECT (1)
/* @brief Has I2C bus stop detection (register bits FLT[STOPIE] and FLT[STOPF]). */
#define FSL_FEATURE_I2C_HAS_STOP_DETECT (0)
Slave receive works with FSL_FEATURE_I2C_HAS_START_STOP_DETECT set to (1), but not when set to (0) with FSL_FEATURE_I2C_HAS_STOP_DETECT set to (1).
Which is correct?
After 1 week digging and debugging fsl_i2c library it felt unfinished at 70%, some of the functions are not used and it should be made very clear to user that the library does not support multi-master configuration - where single I2C instance need to support both master/slave operation. The proof is the library does not handle slave and master handles differently, only one can be created at one time - the one created later overwrites the former.