81 #define I2C_NULL ((void *)0) 92 #define I2CxST_NACK ((uint32_t)0x00000008) 93 #define I2CxST_I2CBF ((uint32_t)0x00000004) 94 #define I2CxST_I2CAL ((uint32_t)0x00000002) 95 #define I2CxST_I2C ((uint32_t)0x00000001) 96 #define I2CxST_CLEAR ((uint32_t)0x0000000F) 106 #define I2CxCR1_ACK ((uint32_t)0x00000010) 107 #define I2CxCR1_NOACK ((uint32_t)0x00000008) 108 #define I2CxCR1_BC ((uint32_t)0x000000E0) 119 #define I2CxDBR_DB_MASK ((uint32_t)0x000000FF) 130 #define I2CxCR2_PIN_CLEAR ((uint32_t)0x00000010) 131 #define I2CxCR2_I2CM_DISABLE ((uint32_t)0x00000000) 132 #define I2CxCR2_I2CM_ENABLE ((uint32_t)0x00000008) 133 #define I2CxCR2_SWRES_10 ((uint32_t)0x00000002) 134 #define I2CxCR2_SWRES_01 ((uint32_t)0x00000001) 135 #define I2CxCR2_START_CONDITION ((uint32_t)0x000000F8) 136 #define I2CxCR2_STOP_CONDITION ((uint32_t)0x000000D8) 137 #define I2CxCR2_INIT ((uint32_t)0x00000008) 148 #define I2CxSR_MST ((uint32_t)0x00000080) 149 #define I2CxSR_TRX ((uint32_t)0x00000040) 150 #define I2CxSR_BB ((uint32_t)0x00000020) 151 #define I2CxSR_PIN ((uint32_t)0x00000010) 152 #define I2CxSR_AL ((uint32_t)0x00000008) 153 #define I2CxSR_AAS ((uint32_t)0x00000004) 154 #define I2CxSR_AD0 ((uint32_t)0x00000002) 155 #define I2CxSR_LRB ((uint32_t)0x00000001) 165 #define I2CxPRS_PRCK ((uint32_t)0x0000001F) 175 #define I2CxIE_SELPINCD ((uint32_t)0x00000040) 176 #define I2CxIE_DMARI2CTX ((uint32_t)0x00000020) 177 #define I2CxIE_DMARI2CRX ((uint32_t)0x00000010) 178 #define I2CxIE_I2C ((uint32_t)0x00000001) 179 #define I2CxIE_CLEAR ((uint32_t)0x00000000) 191 #define I2CxOP_DISAL ((uint32_t)0x00000080) 192 #define I2CxOP_SA2ST ((uint32_t)0x00000040) 193 #define I2CxOP_SAST ((uint32_t)0x00000020) 194 #define I2CxOP_NFSEL ((uint32_t)0x00000010) 195 #define I2CxOP_RSTA ((uint32_t)0x00000008) 196 #define I2CxOP_GCDI ((uint32_t)0x00000004) 197 #define I2CxOP_SREN ((uint32_t)0x00000002) 198 #define I2CxOP_MFACK ((uint32_t)0x00000001) 199 #ifndef I2C_MULTI_MASTER 200 #define I2CxOP_INIT ((uint32_t)0x00000084) 202 #define I2CxOP_INIT ((uint32_t)0x00000004) 204 #define I2CxOP_SLAVE_INIT ((uint32_t)0x00000084) 214 #define I2CxAR_ALS ((uint32_t)0x00000001) 215 #define I2CxAR_INIT ((uint32_t)0x00000000) 216 #define I2CxAR2_INIT ((uint32_t)0x00000000) 228 #define I2CxPM_SDA_SCL ((uint32_t)0x00000003) 238 #define I2CxWUPCR_INT_RELESE ((uint32_t)0x00000001) 239 #define I2CxWUPCR_INT_HOLD ((uint32_t)0x00000000) 249 #define I2CxWUPCR_RST_RESET ((uint32_t)0x00000010) 250 #define I2CxWUPCR_RST_RELEASE ((uint32_t)0x00000000) 261 #define I2CxWUPCR_ACK ((uint32_t)0x00000020) 262 #define I2CxWUPCR_NACK ((uint32_t)0x00000000) 347 #if defined(I2CSxWUP_EN) 355 TSB_I2CS_TypeDef *p_instance;
399 if ((p_obj != I2C_NULL) && (p_obj->
p_instance != I2C_NULL))
422 if ((p_obj != I2C_NULL) && (p_obj->
p_instance != I2C_NULL))
443 if ((p_obj != I2C_NULL) && (p_obj->
p_instance != I2C_NULL))
463 if ((p_obj != I2C_NULL) && (p_obj->
p_instance != I2C_NULL))
485 if ((p_obj != I2C_NULL) && (p_obj->
p_instance != I2C_NULL))
506 if ((p_obj != I2C_NULL) && (p_obj->
p_instance != I2C_NULL))
532 if ((p_obj != I2C_NULL) && (p_obj->
p_instance != I2C_NULL))
567 if ((p_obj != I2C_NULL) && (p_obj->
p_instance != I2C_NULL))
589 if ((p_obj != I2C_NULL) && (p_obj->
p_instance != I2C_NULL))
611 if ((p_obj != I2C_NULL) && (p_obj->
p_instance != I2C_NULL))
633 if ((p_obj != I2C_NULL) && (p_obj->
p_instance != I2C_NULL))
655 if ((p_obj != I2C_NULL) && (p_obj->
p_instance != I2C_NULL))
676 if ((p_obj != I2C_NULL) && (p_obj->
p_instance != I2C_NULL))
696 if ((p_obj != I2C_NULL) && (p_obj->
p_instance != I2C_NULL))
717 if ((p_obj != I2C_NULL) && (p_obj->
p_instance != I2C_NULL))
751 if ((p_obj != I2C_NULL) && (p_obj->
p_instance != I2C_NULL))
772 if ((p_obj != I2C_NULL) && (p_obj->
p_instance != I2C_NULL))
794 if ((p_obj != I2C_NULL) && (p_obj->
p_instance != I2C_NULL))
821 #if defined(I2CSxWUP_EN) 822 void I2CS_init(I2CS_t *p_obj);
823 void I2CS_Primary_slave_adr_set(I2CS_t *p_obj, uint32_t adr);
824 void I2CS_Secondary_slave_adr_set(I2CS_t *p_obj, uint32_t adr);
void I2C_slave_init(I2C_t *p_obj)
#define I2CxOP_MFACK
Definition: txz_i2c.h:198
#define I2CxSR_TRX
Definition: txz_i2c.h:149
#define I2CxDBR_DB_MASK
Definition: txz_i2c.h:119
#define I2CxIE_SELPINCD
Definition: txz_i2c.h:175
TSB_I2C_TypeDef * p_instance
Definition: txz_i2c.h:344
Wakeup Control setting structure definition.
Definition: txz_i2c.h:309
uint32_t intend
Definition: txz_i2c.h:314
#define I2CxST_I2C
Definition: txz_i2c.h:95
#define I2CxOP_RSTA
Definition: txz_i2c.h:195
#define I2CxCR2_SWRES_10
Definition: txz_i2c.h:133
void I2C_init(I2C_t *p_obj)
__STATIC_INLINE int32_t I2C_int_status(I2C_t *p_obj)
Interrupt Status.
Definition: txz_i2c.h:652
#define I2CxSR_AAS
Definition: txz_i2c.h:153
__STATIC_INLINE int32_t I2C_transmitter(I2C_t *p_obj)
Return The Transmitter.
Definition: txz_i2c.h:630
__STATIC_INLINE int32_t I2C_restart(I2C_t *p_obj)
Return restart condition.
Definition: txz_i2c.h:503
Clock setting structure definition.
Definition: txz_i2c.h:298
#define I2CxCR2_SWRES_01
Definition: txz_i2c.h:134
__STATIC_INLINE uint32_t I2C_read_data(I2C_t *p_obj)
Read from Data buffer.
Definition: txz_i2c.h:460
I2C_clock_setting_t clock
Definition: txz_i2c.h:324
__STATIC_INLINE int32_t I2C_get_ack(I2C_t *p_obj)
Return received Ack condition.
Definition: txz_i2c.h:564
__STATIC_INLINE void I2C_enable_interrupt_dma(I2C_t *p_obj, int32_t tx)
Enable Interrupt setting.
Definition: txz_i2c.h:714
#define I2CxAR_ALS
Definition: txz_i2c.h:214
__STATIC_INLINE void I2C_disable_interrupt(I2C_t *p_obj)
Disable Interrupt setting.
Definition: txz_i2c.h:748
__STATIC_INLINE void I2C_set_address(I2C_t *p_obj, uint32_t addr)
Set slave address.
Definition: txz_i2c.h:769
uint32_t sck
Definition: txz_i2c.h:300
__STATIC_INLINE int32_t I2C_status_busy(I2C_t *p_obj)
Return Busy condition.
Definition: txz_i2c.h:586
uint32_t ack
Definition: txz_i2c.h:312
__STATIC_INLINE void I2C_clear_int_status(I2C_t *p_obj)
Interrupt Status Clear.
Definition: txz_i2c.h:673
#define I2CxIE_DMARI2CTX
Definition: txz_i2c.h:176
uint32_t reset
Definition: txz_i2c.h:313
#define I2CxCR2_STOP_CONDITION
Definition: txz_i2c.h:136
void I2C_start_condition(I2C_t *p_obj, uint32_t data)
__STATIC_INLINE int32_t I2C_port_high(I2C_t *p_obj)
I2C bus port high.
Definition: txz_i2c.h:419
#define I2CxSR_BB
Definition: txz_i2c.h:150
All common macro and definition for TXZ peripheral drivers.
__STATIC_INLINE int32_t I2C_slave_detected(I2C_t *p_obj)
Detecting Slave Address.
Definition: txz_i2c.h:791
uint32_t I2C_get_clock_setting(I2C_t *p_obj, uint32_t frequency, uint32_t fsys, I2C_clock_setting_t *p_setting)
__STATIC_INLINE void I2C_write_data(I2C_t *p_obj, uint32_t data)
Write to Data buffer.
Definition: txz_i2c.h:482
#define I2CxSR_LRB
Definition: txz_i2c.h:155
__STATIC_INLINE void I2C_set_ack(I2C_t *p_obj, int32_t nack)
Set Ack condition.
Definition: txz_i2c.h:529
__STATIC_INLINE void I2C_enable_interrupt(I2C_t *p_obj)
Enable Interrupt setting.
Definition: txz_i2c.h:693
__STATIC_INLINE int32_t I2C_master(I2C_t *p_obj)
Return The Master status.
Definition: txz_i2c.h:608
#define I2CxST_CLEAR
Definition: txz_i2c.h:96
#define I2CxAR2_INIT
Definition: txz_i2c.h:216
#define I2CxIE_CLEAR
Definition: txz_i2c.h:179
__STATIC_INLINE void I2C_stop_condition(I2C_t *p_obj)
Generate stop condition.
Definition: txz_i2c.h:440
uint32_t prsck
Definition: txz_i2c.h:301
#define I2CxIE_DMARI2CRX
Definition: txz_i2c.h:177
#define I2CxOP_SAST
Definition: txz_i2c.h:193
__STATIC_INLINE void I2C_reset(I2C_t *p_obj)
I2C software reset.
Definition: txz_i2c.h:396
Initial setting structure definition.
Definition: txz_i2c.h:322
#define I2CxPM_SDA_SCL
Definition: txz_i2c.h:228
#define I2CxIE_I2C
Definition: txz_i2c.h:178
uint32_t sgcdi
Definition: txz_i2c.h:311
I2C handle structure definition.
Definition: txz_i2c.h:342
I2C_initial_setting_t init
Definition: txz_i2c.h:345
#define I2CxSR_MST
Definition: txz_i2c.h:148
Initial setting structure definition.
Definition: txz_i2c.h:332
I2CS_wup_setting_t wup
Definition: txz_i2c.h:334