Rx/Tx Data Buffer and Command (IC_DATA_CMD) – Offset 10
I2C Data Command Register
Bit Range | Default | Access | Field Name and Description |
31:12 | 0h | RO | Reserved (RSVD_IC_DATA_CMD) |
11 | 0h | RO | Reserved (RSVD_FIRST_DATA_BYTE) |
10 | 0h | WO | RESTART (RESTART) This bit controls whether a RESTART is issued before the byte is sent or received. 1: a RESTART is issued before the data is sent/received (according to the value of CMD), regardless of whether or not the transfer direction is changing from the previous command. 0: a RESTART is issued only if the transfer direction is changing from the previous command. |
9 | 0h | WO | STOP (STOP) This bit controls whether a STOP is issued after the byte is sent or received. 1 - STOP is issued after this byte, regardless of whether or not the Tx FIFO is empty. If the Tx FIFO is not empty, the master immediately tries to start a new transfer by issuing a START and arbitrating for the bus. 0 - STOP is not issued after this byte, regardless of whether or not the Tx FIFO is empty. If the Tx FIFO is not empty, the master continues the current transfer by sending/receiving data bytes according to the value of the CMD bit. If the Tx FIFO is empty, the master holds the SCL line low and stalls the bus until a new command is available in the Tx FIFO. |
8 | 0h | WO | CMD (CMD) This bit controls whether a read or a write is performed. 1 = Read. 0 = Write When a command is entered in the TX FIFO, this bit distinguishes the write and read commands. In device-receiver mode, this bit is a don't care because writes to this register are not required. In device-transmitter mode, a 0 indicates that the data in IC_DATA_CMD is to be transmitted. When programming this bit, note the following: attempting to perform a read operation after a General Call command has been sent results in a TX_ABRT interrupt (bit 6 of the IC_RAW_INTR_STAT register), unless bit 11 (SPECIAL) in the IC_TAR register has been cleared. If a “1” is written to this bit after receiving a RD_REQ interrupt, then a TX_ABRT interrupt occurs. |
7:0 | 0h | RW | DAT (DAT) This register contains the data to be transmitted or received on the I2C bus. If you are writing to this register and want to perform a read, bits 7:0 (DAT) are ignored by the I2C. However, when you read this register, these bits return the value of data received on the I2C interface. |