uint32_tsda_force_out:1;/*1:normally output sda data 0: exchange the function of sda_o and sda_oe (sda_o is the original internal output sda signal sda_oe is the enable bit for the internal output sda signal)*/
uint32_tscl_force_out:1;/*1:normally output scl clock 0: exchange the function of scl_o and scl_oe (scl_o is the original internal output scl signal scl_oe is the enable bit for the internal output scl signal)*/
uint32_tsample_scl_level:1;/*Set this bit to sample data in SCL low level. clear this bit to sample data in SCL high level.*/
uint32_treserved3:1;
uint32_tms_mode:1;/*Set this bit to configure the module as i2c master clear this bit to configure the module as i2c slave.*/
uint32_ttrans_start:1;/*Set this bit to start sending data in tx_fifo.*/
uint32_ttx_lsb_first:1;/*This bit is used to control the sending mode for data need to be send. 1:receive data from most significant bit 0:receive data from least significant bit*/
uint32_trx_lsb_first:1;/*This bit is used to control the storage mode for received data. 1:receive data from most significant bit 0:receive data from least significant bit*/
uint32_tclk_en:1;/*This is the clock gating control bit for reading or writing registers.*/
uint32_ttime_out:1;/*when I2C takes more than time_out_reg clocks to receive a data then this register changes to high level.*/
uint32_tarb_lost:1;/*when I2C lost control of SDA line this register changes to high level.*/
uint32_tbus_busy:1;/*1:I2C bus is busy transferring data. 0:I2C bus is in idle state.*/
uint32_tslave_addressed:1;/*when configured as i2c slave and the address send by master is equal to slave's address then this bit will be high level.*/
uint32_tbyte_trans:1;/*This register changes to high level when one byte is transferred.*/
uint32_treserved7:1;
uint32_trx_fifo_cnt:6;/*This register represent the amount of data need to send.*/
uint32_treserved14:4;
uint32_ttx_fifo_cnt:6;/*This register stores the amount of received data in ram.*/
uint32_tscl_main_state_last:3;/*This register stores the value of state machine for i2c module. 3'h0: SCL_MAIN_IDLE 3'h1: SCL_ADDRESS_SHIFT 3'h2: SCL_ACK_ADDRESS 3'h3: SCL_RX_DATA 3'h4 SCL_TX_DATA 3'h5:SCL_SEND_ACK 3'h6:SCL_WAIT_ACK*/
uint32_treserved27:1;
uint32_tscl_state_last:3;/*This register stores the value of state machine to produce SCL. 3'h0: SCL_IDLE 3'h1:SCL_START 3'h2:SCL_LOW_EDGE 3'h3: SCL_LOW 3'h4:SCL_HIGH_EDGE 3'h5:SCL_HIGH 3'h6:SCL_STOP*/
uint32_ttx_fifo_empty_thrhd:5;/*Config tx_fifo empty threhd value when using apb fifo access*/
uint32_tnonfifo_en:1;/*Set this bit to enble apb nonfifo access.*/
uint32_tfifo_addr_cfg_en:1;/*When this bit is set to 1 then the byte after address represent the offset address of I2C Slave's ram.*/
uint32_trx_fifo_rst:1;/*Set this bit to reset rx fifo when using apb fifo access.*/
uint32_ttx_fifo_rst:1;/*Set this bit to reset tx fifo when using apb fifo access.*/
uint32_tnonfifo_rx_thres:6;/*when I2C receives more than nonfifo_rx_thres data it will produce rx_send_full_int_raw interrupt and update the current offset address of the receiving data.*/
uint32_tnonfifo_tx_thres:6;/*when I2C sends more than nonfifo_tx_thres data it will produce tx_send_empty_int_raw interrupt and update the current offset address of the sending data.*/
uint32_trx_fifo_full_int_raw:1;/*The raw interrupt status bit for rx_fifo full when use apb fifo access.*/
uint32_ttx_fifo_empty_int_raw:1;/*The raw interrupt status bit for tx_fifo empty when use apb fifo access.*/
uint32_trx_fifo_ovf_int_raw:1;/*The raw interrupt status bit for receiving data overflow when use apb fifo access.*/
uint32_tend_detect_int_raw:1;/*The raw interrupt status bit for end_detect_int interrupt. when I2C deals with the END command it will produce end_detect_int interrupt.*/
uint32_tslave_tran_comp_int_raw:1;/*The raw interrupt status bit for slave_tran_comp_int interrupt. when I2C Slave detects the STOP bit it will produce slave_tran_comp_int interrupt.*/
uint32_tarbitration_lost_int_raw:1;/*The raw interrupt status bit for arbitration_lost_int interrupt.when I2C lost the usage right of I2C BUS it will produce arbitration_lost_int interrupt.*/
uint32_tmaster_tran_comp_int_raw:1;/*The raw interrupt status bit for master_tra_comp_int interrupt. when I2C Master sends or receives a byte it will produce master_tran_comp_int interrupt.*/
uint32_ttrans_complete_int_raw:1;/*The raw interrupt status bit for trans_complete_int interrupt. when I2C Master finished STOP command it will produce trans_complete_int interrupt.*/
uint32_ttime_out_int_raw:1;/*The raw interrupt status bit for time_out_int interrupt. when I2C takes a lot of time to receive a data it will produce time_out_int interrupt.*/
uint32_ttrans_start_int_raw:1;/*The raw interrupt status bit for trans_start_int interrupt. when I2C sends the START bit it will produce trans_start_int interrupt.*/
uint32_tack_err_int_raw:1;/*The raw interrupt status bit for ack_err_int interrupt. when I2C receives a wrong ACK bit it will produce ack_err_int interrupt..*/
uint32_trx_rec_full_int_raw:1;/*The raw interrupt status bit for rx_rec_full_int interrupt. when I2C receives more data than nonfifo_rx_thres it will produce rx_rec_full_int interrupt.*/
uint32_ttx_send_empty_int_raw:1;/*The raw interrupt status bit for tx_send_empty_int interrupt.when I2C sends more data than nonfifo_tx_thres it will produce tx_send_empty_int interrupt..*/
uint32_tscl_rstart_setup_time:10;/*This register is used to configure the clock num between the posedge of SCL and the negedge of SDA for restart mark.*/