34.12.1 Control A

Table 34-67. Register Bit Attribute Legend
SymbolDescriptionSymbolDescriptionSymbolDescription
RReadable bitHCCleared by Hardware(Grey cell)Unimplemented
WWritable bitHSSet by HardwareXBit is unknown at Reset
KWrite to clearSSoftware settable bit
Name: CTRLA
Offset: 0x00
Reset: 0x00000000
Property: RW

Bit 3130292827262524 
  LOWTOUTEN  SCLSM SPEED[1:0] 
Access RWRWRWRW 
Reset 0000 
Bit 2322212019181716 
 SEXTTOEN SDAHOLD[1:0]  SMBUSENPINOUT 
Access RWRWRWRWRW 
Reset 00000 
Bit 15141312111098 
     SLEWRATE[1:0]FILTSEL[1:0] 
Access RWRWRWRW 
Reset 0000 
Bit 76543210 
 RUNSTDBY  MODE[2:0]ENABLESWRST 
Access RWRWRWRWRWRW 
Reset 000000 

Bit 30 – LOWTOUTEN SCL Low Timeout Enable

Bit 27 – SCLSM SCL Clock Stretch Mode

This bit controls when SCL will be stretched for software interaction.

This bit is not synchronized.

ValueDescription
0SCL stretch according to 2C Behavioral Diagram (SCLSM = 0)
1SCL stretch only after ACK bit according to 2C Client Behavioral Diagram SCLSM = 1

Bits 25:24 – SPEED[1:0] Transfer Speed

These bits define bus speed.

These bits are not synchronized.

ValueNameDescription
0x0SMStandard-Mode (SM) and Fast-Mode (FM)
0x1FMPFast-Mode Plus (FM+)
0x2HSHigh-Speed Mode

Bit 23 – SEXTTOEN Slave SCL Low Extend Timeout

This bit enables the client SCL low extend time-out. If SCL is cumulatively held low for greater than 25ms from the initial START to a STOP, the client will release its clock hold if enabled and reset the internal state machine. Any interrupt flags set at the time of time-out will remain set. If the address was recognized, PREC will be set when a STOP is received.

This bit is not synchronized.

ValueDescription
0Time-out disabled
1Time-out enabled

Bits 21:20 – SDAHOLD[1:0] SDA Hold Time

These bits define the SDA hold time with respect to the negative edge of SCL.

These bits are not synchronized.

ValueNameDescription
0x0DISDisable
0x175NS50ns - 100ns hold time
0x2450NS300ns - 600ns hold time
0x3600NS400ns - 800ns hold time

Bit 17 – SMBUSEN SMBUS Input Buffer Enable

This bit enables SMBus-compatible I/O logic level.

This bit is not synchronized.

ValueDescription
0SMBus input buffer is disabled.
1SMBus input buffer is enabled.

Bit 16 – PINOUT Pin Usage

This bit sets the pin usage to either two- or four-wire operation:

This bit is not synchronized.

ValueDescription
04-wire operation disabled
14-wire operation enabled

Bits 11:10 – SLEWRATE[1:0] Slew Rate Selection

This bit enables the I/O pins slew rate control.

These bits are not synchronized.

Note: If an I2C function is enabled on a pin, the corresponding PINCFGn.SLEWLIM for that pin MUST = 0x00.
ValueNameDescription
0x0SMStandard mode
0x1FMFast mode
0x2FMPFast mode plus
0x3HSHigh-speed mode

Bits 9:8 – FILTSEL[1:0] Input Filter Selection

These bits define filter length applied to the input signals.

These bits are not synchronized.

ValueNameDescription
0x0DISDisabled
0x150FMinimum 50ns filter (SCL fast mode)
0x250EMinimum 50ns filter (SDA even mode)
0x310Minimum 10ns filter

Bit 7 – RUNSTDBY Run during Standby

This bit defines the functionality in standby sleep mode.

This bit is not synchronized.

ValueDescription
0Disabled – All reception is dropped.
1Wake on address match, if enabled.

Bits 4:2 – MODE[2:0] Operating Mode

These bits must be written to 0x04 to select the I2C client serial communication interface of the SERCOM.

These bits are not synchronized.

ValueNameDescription
0x4I2C_SLAVEI2C client mode operation

Bit 1 – ENABLE Enable

Due to synchronization, there is delay from writing CTRLA.ENABLE until the peripheral is enabled/disabled. The value written to CTRL.ENABLE will read back immediately and the Enable Synchronization Busy bit in the Synchronization Busy register (SYNCBUSY.ENABLE) will be set. SYNCBUSY.ENABLE will be cleared when the operation is complete.

This bit is not enable-protected.

ValueDescription
0The peripheral is disabled or being disabled.
1The peripheral is enabled.

Bit 0 – SWRST Software Reset

Writing '0' to this bit has no effect.

Writing '1' to this bit resets all registers in the SERCOM, except DBGCTRL, to their initial state, and the SERCOM will be disabled.

Writing '1' to CTRLA.SWRST will always take precedence, meaning that all other writes in the same write-operation will be discarded. Any register write access during the ongoing reset will result in a bus error. Reading any register will return the reset value of the register.

Due to synchronization, there is a delay from writing CTRLA.SWRST until the reset is complete. CTRLA.SWRST and SYNCBUSY.SWRST will both be cleared when the reset is complete.

This bit is not enable-protected.

Note:
  1. When the CTRLA.SWRST is written, the user should poll the SYNCB.SWRST bit to know when the reset operation is complete.
  2. During a SWRST, access to registers/bits without SWRST are disallowed until the SYNCBUSY.SWRST is cleared by the hardware.
ValueDescription
0There is no reset operation ongoing.
1The reset operation is ongoing.