TMPM4G(1) Group Peripheral Driver User Manual  V1.0.0.0
txz_i2c.h File Reference

This file provides all the functions prototypes for I2C Class. More...

#include "txz_driver_def.h"

Go to the source code of this file.

Data Structures

struct  I2C_clock_setting_t
 Clock setting structure definition. More...
 
struct  I2CS_wup_setting_t
 Wakeup Control setting structure definition. More...
 
struct  I2C_initial_setting_t
 Initial setting structure definition. More...
 
struct  I2CS_initial_setting_t
 Initial setting structure definition. More...
 
struct  I2C_t
 I2C handle structure definition. More...
 

Macros

I2CxST Macro Definition.

I2CxST Register Macro Definition.

#define I2CxST_NACK   ((uint32_t)0x00000008)
 
#define I2CxST_I2CBF   ((uint32_t)0x00000004)
 
#define I2CxST_I2CAL   ((uint32_t)0x00000002)
 
#define I2CxST_I2C   ((uint32_t)0x00000001)
 
#define I2CxST_CLEAR   ((uint32_t)0x0000000F)
 
I2CxCR1 Macro Definition.

I2CxCR1 Register Macro Definition.

#define I2CxCR1_ACK   ((uint32_t)0x00000010)
 
#define I2CxCR1_NOACK   ((uint32_t)0x00000008)
 
#define I2CxCR1_BC   ((uint32_t)0x000000E0)
 
I2CxDBR Macro Definition.

I2CxDBR Register Macro Definition.

#define I2CxDBR_DB_MASK   ((uint32_t)0x000000FF) /* !< DB 7-0 bits mask. */
 
I2CxCR2 Macro Definition.

I2CxCR2 Register Macro Definition.

#define I2CxCR2_PIN_CLEAR   ((uint32_t)0x00000010)
 
#define I2CxCR2_I2CM_DISABLE   ((uint32_t)0x00000000)
 
#define I2CxCR2_I2CM_ENABLE   ((uint32_t)0x00000008)
 
#define I2CxCR2_SWRES_10   ((uint32_t)0x00000002)
 
#define I2CxCR2_SWRES_01   ((uint32_t)0x00000001)
 
#define I2CxCR2_START_CONDITION   ((uint32_t)0x000000F8)
 
#define I2CxCR2_STOP_CONDITION   ((uint32_t)0x000000D8)
 
#define I2CxCR2_INIT   ((uint32_t)0x00000008)
 
I2CxSR Macro Definition.

I2CxSR Register Macro Definition.

#define I2CxSR_MST   ((uint32_t)0x00000080)
 
#define I2CxSR_TRX   ((uint32_t)0x00000040)
 
#define I2CxSR_BB   ((uint32_t)0x00000020)
 
#define I2CxSR_PIN   ((uint32_t)0x00000010)
 
#define I2CxSR_AL   ((uint32_t)0x00000008)
 
#define I2CxSR_AAS   ((uint32_t)0x00000004)
 
#define I2CxSR_AD0   ((uint32_t)0x00000002)
 
#define I2CxSR_LRB   ((uint32_t)0x00000001)
 
I2CxPRS Macro Definition.

I2CxPRS Register Macro Definition.

#define I2CxPRS_PRCK   ((uint32_t)0x0000001F)
 
I2CxIE Macro Definition.

I2CxIE Register Macro Definition.

#define I2CxIE_SELPINCD   ((uint32_t)0x00000040)
 
#define I2CxIE_DMARI2CTX   ((uint32_t)0x00000020)
 
#define I2CxIE_DMARI2CRX   ((uint32_t)0x00000010)
 
#define I2CxIE_I2C   ((uint32_t)0x00000001)
 
#define I2CxIE_CLEAR   ((uint32_t)0x00000000)
 
I2CxOP Macro Definition.

I2CxOP Register Macro Definition.

#define I2CxOP_DISAL   ((uint32_t)0x00000080)
 
#define I2CxOP_SA2ST   ((uint32_t)0x00000040)
 
#define I2CxOP_SAST   ((uint32_t)0x00000020)
 
#define I2CxOP_NFSEL   ((uint32_t)0x00000010)
 
#define I2CxOP_RSTA   ((uint32_t)0x00000008)
 
#define I2CxOP_GCDI   ((uint32_t)0x00000004)
 
#define I2CxOP_SREN   ((uint32_t)0x00000002)
 
#define I2CxOP_MFACK   ((uint32_t)0x00000001)
 
#define I2CxOP_INIT   ((uint32_t)0x00000084)
 
#define I2CxOP_SLAVE_INIT   ((uint32_t)0x00000084)
 
I2CxAR Macro Definition.

I2CxAR Register Macro Definition.

#define I2CxAR_ALS   ((uint32_t)0x00000001)
 
#define I2CxAR_INIT   ((uint32_t)0x00000000)
 
#define I2CxAR2_INIT   ((uint32_t)0x00000000)
 
I2CxPM Macro Definition.

I2CxPM Register Macro Definition.

#define I2CxPM_SDA_SCL   ((uint32_t)0x00000003) /* SDA and SCL level. */
 
I2CxWUPCR_INT Macro Definition.

I2CxWUPCR_INT Register Macro Definition.

#define I2CxWUPCR_INT_RELESE   ((uint32_t)0x00000001) /* Interrupt Release. */
 
#define I2CxWUPCR_INT_HOLD   ((uint32_t)0x00000000) /* Interrupt setting keep it. */
 
I2CxWUPCR_RST Macro Definition.

I2CxWUPCR_RST Register Macro Definition.

#define I2CxWUPCR_RST_RESET   ((uint32_t)0x00000010) /* I2C BUS Reset. */
 
#define I2CxWUPCR_RST_RELEASE   ((uint32_t)0x00000000) /* I2C BUS Reset Release. */
 
I2CxWUPCR_ACK Macro Definition.

I2CxWUPCR_ACK Register Macro Definition.

#define I2CxWUPCR_ACK   ((uint32_t)0x00000020) /* ACK Output. Output "0" */
 
#define I2CxWUPCR_NACK   ((uint32_t)0x00000000) /* ACL No Output. Output "1" NACK Output */
 

Functions

__STATIC_INLINE void I2C_reset (I2C_t *p_obj)
 I2C software reset. More...
 
__STATIC_INLINE int32_t I2C_port_high (I2C_t *p_obj)
 I2C bus port high. More...
 
__STATIC_INLINE void I2C_stop_condition (I2C_t *p_obj)
 Generate stop condition. More...
 
__STATIC_INLINE uint32_t I2C_read_data (I2C_t *p_obj)
 Read from Data buffer. More...
 
__STATIC_INLINE void I2C_write_data (I2C_t *p_obj, uint32_t data)
 Write to Data buffer. More...
 
__STATIC_INLINE int32_t I2C_restart (I2C_t *p_obj)
 Return restart condition. More...
 
__STATIC_INLINE void I2C_set_ack (I2C_t *p_obj, int32_t nack)
 Set Ack condition. More...
 
__STATIC_INLINE int32_t I2C_get_ack (I2C_t *p_obj)
 Return received Ack condition. More...
 
__STATIC_INLINE int32_t I2C_status_busy (I2C_t *p_obj)
 Return Busy condition. More...
 
__STATIC_INLINE int32_t I2C_master (I2C_t *p_obj)
 Return The Master status. More...
 
__STATIC_INLINE int32_t I2C_transmitter (I2C_t *p_obj)
 Return The Transmitter. More...
 
__STATIC_INLINE int32_t I2C_int_status (I2C_t *p_obj)
 Interrupt Status. More...
 
__STATIC_INLINE void I2C_clear_int_status (I2C_t *p_obj)
 Interrupt Status Clear. More...
 
__STATIC_INLINE void I2C_enable_interrupt (I2C_t *p_obj)
 Enable Interrupt setting. More...
 
__STATIC_INLINE void I2C_enable_interrupt_dma (I2C_t *p_obj, int32_t tx)
 Enable Interrupt setting. More...
 
__STATIC_INLINE void I2C_disable_interrupt (I2C_t *p_obj)
 Disable Interrupt setting. More...
 
__STATIC_INLINE void I2C_set_address (I2C_t *p_obj, uint32_t addr)
 Set slave address. More...
 
__STATIC_INLINE int32_t I2C_slave_detected (I2C_t *p_obj)
 Detecting Slave Address. More...
 
void I2C_init (I2C_t *p_obj)
 
void I2C_start_condition (I2C_t *p_obj, uint32_t data)
 
uint32_t I2C_get_clock_setting (I2C_t *p_obj, uint32_t frequency, uint32_t fsys, I2C_clock_setting_t *p_setting)
 
void I2C_slave_init (I2C_t *p_obj)
 

Detailed Description

This file provides all the functions prototypes for I2C Class.

Version
V1.0.0.4
Date
2016-11-24 00:00:00

DO NOT USE THIS SOFTWARE WITHOUT THE SOFTWARE LICENSE AGREEMENT.

Copyright(C) Toshiba Electronic Device Solutions Corporation 2019