/*FUNCTION********************************************************************** * * Function Name : I2C_HAL_Init * Description : Initialize I2C peripheral to reset state. * *END*/ void I2C_HAL_Init(I2C_Type * base) { I2C_WR_A1(base, 0u); I2C_WR_F(base, 0u); I2C_WR_C1(base, 0u); I2C_WR_S(base, 0u); I2C_WR_C2(base, 0u); I2C_WR_FLT(base, 0u); I2C_WR_RA(base, 0u); #if FSL_FEATURE_I2C_HAS_SMBUS I2C_WR_SMB(base, 0u); I2C_WR_A2(base, 0xc2u); I2C_WR_SLTH(base, 0u); I2C_WR_SLTL(base, 0u); #endif /** FSL_FEATURE_I2C_HAS_SMBUS*/ }
/*FUNCTION********************************************************************** * * Function Name : I2C_HAL_ConfigSMBCLKLowTimeout * Description : Config SMBCLK low timeout period. * *END**************************************************************************/ void I2C_HAL_ConfigSMBCLKLowTimeout(I2C_Type *base, uint16_t timeout) { uint16_t highVal = timeout&0xFF00; I2C_WR_SLTH(base, highVal>>8); I2C_WR_SLTL(base,(timeout&0xFF)); }