36.6.3.6.1 Hardware Actions in Host Mode

Table 36-4. Interrupts Request Conditions for Valid SERCOM I2C Host Configurations
Direction

CTRLB.
SMEN

CTRLC.
DATA32B

LENGTH.
LENEN

Action
Host Write000
  • INTFLAG.TXFE = 1 if TX FIFO is empty
  • INTFLAG.TXFE = 1 if TX FIFO threshold reached
  • INTFLAG.MB = 1 if TX FIFO is empty and SCL hold
010
011
  • INTFLAG.TXFE = 1 if TX FIFO is empty
  • INTFLAG.TXFE = 1 if TX FIFO threshold reached
  • INTFLAG.MB = 1 if TX FIFO is empty and SCL hold, or length transaction is completed
100
  • INTFLAG.TXFE = 1 if TX FIFO is empty
  • INTFLAG.TXFE = 1 if TX FIFO threshold reached
  • INTFLAG.MB = 1 if TX FIFO is empty and SCL hold, or length transaction is completed
110
111
Host Read000
  • INTFLAG.SB = 1 if RX FIFO is full
  • INTFLAG.RXFE = 1 if RX FIFO threshold reached or length transaction is completed
010
011
100
110
111
Table 36-5. Bus Actions for Valid SERCOM I2C Host Configurations
Direction

CTRLB.
SMEN

CTRLC.
  DATA32B

LENGTH.
LENEN

Actions
Host Write000
  • SCL hold if TX FIFO is empty
010
011
  • SCL hold if TX FIFO is empty and length transaction not completed
  • Issue STOP when transaction is completed
100
  • SCL hold if TX FIFO is empty, when no automatic stop is sent
  • STOP is sent on SW decision
110
  • SCL hold if TX FIFO is empty, when no automatic stop is sent
  • STOP is sent on SW decision
111
  • SCL hold if TX FIFO is empty and length transaction is not completed
  • Issue STOP when transaction is completed
Host Read000
  • SCL hold if RX FIFO is full
010
  • SCL hold if RX FIFO is full
011
  • SCL stretched if RX FIFO is full
  • ACK/NACK last frame byte, depending on Acknowledge Action (CTRLB.ACKACT)
  • ACK all other bytes
100
  • SCL stretched if Rx FIFO is full
110
111
  • SCL stretched if RX FIFO is full
  • ACK/NACK last frame byte, depending on Acknowledge Action (CTRLB.ACKACT)
  • ACK all other bytes