Lines Matching refs:i2c
43 void I2C_DeInit(I2C_TypeDef* i2c) in I2C_DeInit() argument
45 switch (*(vu32*)&i2c) { in I2C_DeInit()
66 void I2C_Init(I2C_TypeDef* i2c, I2C_InitTypeDef* init_struct) in I2C_Init() argument
74 i2c->IC_ENABLE &= ~I2C_ENR_ENABLE; in I2C_Init()
85 i2c->IC_SS_SCL_LCNT = (minSclLowTime - 13 - i2cPeriod) / 2; in I2C_Init()
86 i2c->IC_SS_SCL_HCNT = (minSclLowTime - 13 - i2cPeriod - i2c->IC_SS_SCL_LCNT); in I2C_Init()
89 i2c->IC_FS_SCL_LCNT = (minSclLowTime - 13 - i2cPeriod ) / 2 + 4; in I2C_Init()
90 i2c->IC_FS_SCL_HCNT = (minSclLowTime - 13 - i2c->IC_FS_SCL_LCNT - i2cPeriod); in I2C_Init()
93 i2c->IC_CON &= ~(I2C_CR_EMPINT | \ in I2C_Init()
101 i2c->IC_CON = I2C_CR_EMPINT | \ in I2C_Init()
105 i2c->IC_INTR_MASK &= INTR_MASK; in I2C_Init()
107 i2c->IC_RX_TL = 0x00; in I2C_Init()
108 i2c->IC_TX_TL = 0x00; in I2C_Init()
132 void I2C_Cmd(I2C_TypeDef* i2c, FunctionalState state) in I2C_Cmd() argument
134 (state) ? (i2c->IC_ENABLE |= I2C_ENR_ENABLE) : (i2c->IC_ENABLE &= ~I2C_ENR_ENABLE); in I2C_Cmd()
143 void I2C_DMACmd(I2C_TypeDef* i2c, FunctionalState state) in I2C_DMACmd() argument
147 i2c->IC_DMA_CR |= TDMAE_SET; in I2C_DMACmd()
150 i2c->IC_DMA_CR |= RDMAE_SET; in I2C_DMACmd()
153 i2c->IC_DMA_CR &= ~(I2C_DMA_RXEN | I2C_DMA_TXEN); in I2C_DMACmd()
162 void I2C_GenerateSTART(I2C_TypeDef* i2c, FunctionalState state) in I2C_GenerateSTART() argument
164 (state) ? (i2c->IC_CON |= I2C_CR_REPEN) : (i2c->IC_CON &= ~I2C_CR_REPEN); in I2C_GenerateSTART()
174 void I2C_GenerateSTOP(I2C_TypeDef* i2c, FunctionalState state) in I2C_GenerateSTOP() argument
178 i2c->IC_ENABLE |= I2C_ENR_ABORT; in I2C_GenerateSTOP()
180 while (i2c->IC_ENABLE & I2C_ENR_ABORT) { in I2C_GenerateSTOP()
184 i2c->IC_CLR_TX_ABRT; in I2C_GenerateSTOP()
193 void I2C_OwnAddress2Config(I2C_TypeDef* i2c, u8 addr) in I2C_OwnAddress2Config() argument
195 MODIFY_REG(i2c->IC_TAR, (u16)I2C_TAR_ADDR, (u16)(addr >> 1)); in I2C_OwnAddress2Config()
205 void I2C_DualAddressCmd(I2C_TypeDef* i2c, FunctionalState state) in I2C_DualAddressCmd() argument
207 (state) ? (i2c->IC_TAR |= IC_TAR_ENDUAL_Set) : (i2c->IC_TAR &= IC_TAR_ENDUAL_Reset); in I2C_DualAddressCmd()
217 void I2C_GeneralCallCmd(I2C_TypeDef* i2c, FunctionalState state) in I2C_GeneralCallCmd() argument
219 (state) ? (i2c->IC_TAR |= I2C_TAR_SPECIAL) : (i2c->IC_TAR &= ~I2C_TAR_SPECIAL); in I2C_GeneralCallCmd()
244 void I2C_ITConfig(I2C_TypeDef* i2c, u16 it, FunctionalState state) in I2C_ITConfig() argument
247 I2C_ReadCmd(i2c); in I2C_ITConfig()
248 (state) ? SET_BIT(i2c->IC_INTR_MASK, it) : CLEAR_BIT(i2c->IC_INTR_MASK, (u16)it); in I2C_ITConfig()
257 void I2C_SendData(I2C_TypeDef* i2c, u8 dat) in I2C_SendData() argument
259 i2c->IC_DATA_CMD = dat; in I2C_SendData()
267 void I2C_ReadCmd(I2C_TypeDef* i2c) in I2C_ReadCmd() argument
269 i2c->IC_DATA_CMD = I2C_DR_CMD; in I2C_ReadCmd()
277 u8 I2C_ReceiveData(I2C_TypeDef* i2c) in I2C_ReceiveData() argument
280 return (u8)i2c->IC_DATA_CMD; in I2C_ReceiveData()
294 void I2C_Send7bitAddress(I2C_TypeDef* i2c, u8 addr, u8 dir) in I2C_Send7bitAddress() argument
296 i2c->IC_TAR = addr >> 1; in I2C_Send7bitAddress()
306 u16 I2C_ReadRegister(I2C_TypeDef* i2c, u8 reg) in I2C_ReadRegister() argument
308 return (*(vu16*)(*((u32*)&i2c) + reg)); in I2C_ReadRegister()
316 u32 I2C_GetLastEvent(I2C_TypeDef* i2c) in I2C_GetLastEvent() argument
318 return (u32)i2c->IC_RAW_INTR_STAT & FLAG_Mask; in I2C_GetLastEvent()
342 ErrorStatus I2C_CheckEvent(I2C_TypeDef* i2c, u32 event) in I2C_CheckEvent() argument
345 i2c->IC_DATA_CMD = I2C_DR_CMD; in I2C_CheckEvent()
349 return (ErrorStatus)((i2c->IC_RAW_INTR_STAT & event) == event); in I2C_CheckEvent()
371 FlagStatus I2C_GetFlagStatus(I2C_TypeDef* i2c, u32 flag) in I2C_GetFlagStatus() argument
374 return ((i2c->IC_STATUS & flag) ? SET : RESET); in I2C_GetFlagStatus()
377 i2c->IC_DATA_CMD = I2C_DR_CMD; in I2C_GetFlagStatus()
380 return (((i2c->IC_RAW_INTR_STAT & flag)) ? SET : RESET); in I2C_GetFlagStatus()
402 void I2C_ClearFlag(I2C_TypeDef* i2c, u32 flag) in I2C_ClearFlag() argument
405 i2c->IC_CLR_RX_UNDER; in I2C_ClearFlag()
407 i2c->IC_CLR_RX_OVER; in I2C_ClearFlag()
409 i2c->IC_CLR_TX_OVER; in I2C_ClearFlag()
411 i2c->IC_CLR_RD_REQ; in I2C_ClearFlag()
413 i2c->IC_CLR_TX_ABRT; in I2C_ClearFlag()
415 i2c->IC_CLR_RX_DONE; in I2C_ClearFlag()
417 i2c->IC_CLR_ACTIVITY; in I2C_ClearFlag()
419 i2c->IC_CLR_STOP_DET; in I2C_ClearFlag()
421 i2c->IC_CLR_START_DET; in I2C_ClearFlag()
423 i2c->IC_CLR_GEN_CALL; in I2C_ClearFlag()
445 ITStatus I2C_GetITStatus(I2C_TypeDef* i2c, u32 it) in I2C_GetITStatus() argument
447 return ((i2c->IC_RAW_INTR_STAT & it) ? SET : RESET); in I2C_GetITStatus()
469 void I2C_ClearITPendingBit(I2C_TypeDef* i2c, u32 it) in I2C_ClearITPendingBit() argument
472 i2c->IC_CLR_RX_UNDER; in I2C_ClearITPendingBit()
474 i2c->IC_CLR_RX_OVER; in I2C_ClearITPendingBit()
476 i2c->IC_CLR_TX_OVER; in I2C_ClearITPendingBit()
478 i2c->IC_CLR_RD_REQ; in I2C_ClearITPendingBit()
480 i2c->IC_CLR_TX_ABRT; in I2C_ClearITPendingBit()
482 i2c->IC_CLR_RX_DONE; in I2C_ClearITPendingBit()
484 i2c->IC_CLR_ACTIVITY; in I2C_ClearITPendingBit()
486 i2c->IC_CLR_STOP_DET; in I2C_ClearITPendingBit()
488 i2c->IC_CLR_START_DET; in I2C_ClearITPendingBit()
490 i2c->IC_CLR_GEN_CALL; in I2C_ClearITPendingBit()
506 void I2C_SendSlaveAddress(I2C_TypeDef* i2c, u8 addr) in I2C_SendSlaveAddress() argument
508 WRITE_REG(i2c->IC_SAR, addr >> 1); in I2C_SendSlaveAddress()
518 void I2C_SlaveConfigure(I2C_TypeDef* i2c, FunctionalState state) in I2C_SlaveConfigure() argument
520 (state) ? CLEAR_BIT(i2c->IC_CON, I2C_CR_SLAVEDIS) : SET_BIT(i2c->IC_CON, I2C_CR_SLAVEDIS); in I2C_SlaveConfigure()