I think I may have found a bug in the in the K64F i2c driver, specifically fsl_i2c_edma.c.
When the I2C_MasterTransferEDMA() is called to only send 1 byte it doesn't check for NAK after it sends. Is this a bug or was this done for a reason.
I've add the call result = I2C_CheckAndClearError(base, base->S); after while (!(base->S & kI2C_IntPendingFlag));