46.6.6.8 Multiple Data Mode

Multiple Data mode minimizes the number of accesses by concatenating the data to send/read in one access.

When TWIHS_FMR.TXRDYM > 0, the Transmit FIFO operates in Multiple Data mode.

When TWIHS_FMR.RXRDYM > 0, the Receive FIFO operates in Multiple Data mode.

In Multiple Data mode, it is possible to write/read up to four data in one TWIHS_THR/TWIHS_RHR register access.

The number of data to write/read is defined by the size of the register access. If the access is a byte-size register access, only one data is written/read. If the access is a halfword size register access, then up to two data are read and only one data is written. Lastly, if the access is a wordsize register access, then up to four data are read and up to two data are written.

Written/Read data are always right-aligned, as described in sections TWIHS_RHR (FIFO_ENABLED)46.7.16 TWIHS Receive Holding Register (FIFO Enabled) and TWIHS_THR (FIFO_ENABLED)46.7.19 TWIHS Transmit Holding Register (FIFO Enabled).

As an example, if the Transmit FIFO is empty and there are six data to send, either of the following write accesses may be performed:

  • six TWIHS_THR-byte write accesses
  • three TWIHS_THR-halfword write accesses
  • one TWIHS_THR-word write access and one TWIHS_THR halfword write access

With a Receive FIFO containing six data, any of the following read accesses may be performed:

  • six TWIHS_RHR-byte read accesses
  • three TWIHS_RHR-halfword read accesses
  • one TWIHS_RHR-word read access and one TWIHS_RHR-halfword read access