31.6.1 Control A
| Name: | CTRLA |
| Offset: | 0x00 |
| Reset: | 0x00000000 |
| Property: | PAC Write-Protection, Enable-Protected, Write-Synchronized |
| Bit | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | |
| LOWTOUTEN | SCLSM | SPEED[1:0] | |||||||
| Access | R/W | R/W | R/W | R/W | |||||
| Reset | 0 | 0 | 0 | 0 | |||||
| Bit | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | |
| SEXTTOEN | SDAHOLD[1:0] | PINOUT | |||||||
| Access | R/W | R/W | R/W | R/W | |||||
| Reset | 0 | 0 | 0 | 0 | |||||
| Bit | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | |
| Access | |||||||||
| Reset |
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
| RUNSTDBY | MODE[2:0] | ENABLE | SWRST | ||||||
| Access | R/W | R/W | R/W | R/W | R/W | R/W | |||
| Reset | 0 | 0 | 0 | 0 | 0 | 0 | |||
Bit 30 – LOWTOUTEN SCL Low Time-Out
This bit enables the SCL low time-out. If SCL is held low for 25 ms–35 ms, 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.
| Value | Description |
|---|---|
| 0 | Time-out disabled |
| 1 | Time-out enabled |
Bit 27 – SCLSM SCL Clock Stretch Mode
This bit controls when SCL will be stretched for software interaction.
| Value | Description |
|---|---|
| 0 | SCL stretch according to Figure 31-9 |
| 1 | SCL stretch only after ACK bit according to Figure 31-10 |
Bits 25:24 – SPEED[1:0] Transfer Speed
These bits define the bus speed.
| Value | Name | Description |
|---|---|---|
| 0x0 | SM_MODE | Standard-mode (Sm) and Fast-mode (Fm) |
| 0x1 | FASTPLUS_MODE | Fast-mode Plus (Fm+) |
| Other | — | Reserved |
Bit 23 – SEXTTOEN Client SCL Low Extend Time-Out
This bit enables the client SCL low extend time-out. If SCL is cumulatively held low for greater than 25 ms 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.
| Value | Description |
|---|---|
| 0 | Time-out disabled |
| 1 | Time-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.
| Value | Name | Description |
|---|---|---|
| 0x0 | DIS | Disabled |
| 0x1 | 75NS | 50-100 ns hold time |
| 0x2 | 450NS | 300-600 ns hold time |
| 0x3 | 600NS | 400-800 ns hold time |
Bit 16 – PINOUT Pin Usage
This bit sets the pin usage to either two- or four-wire operation:
| Value | Description |
|---|---|
| 0 | 4-wire operation is disabled |
| 1 | 4-wire operation is enabled |
Bit 7 – RUNSTDBY Run in Standby
This bit defines the functionality in Standby Sleep mode.
| Value | Description |
|---|---|
| 0 | Disabled – All reception is dropped |
| 1 | Wake on address match, if enabled |
Bits 4:2 – MODE[2:0] Operating Mode
This bit field controls the SERCOM mode.
| Value | Name | Description |
|---|---|---|
| 0x0 | USART_EXT | USART with external clock |
| 0x1 | USART_INT | USART with internal clock |
| 0x2 | SPI_SLAVE | SPI Client mode |
| 0x3 | SPI_MASTER | SPI Host mode |
| 0x4 | I2C_SLAVE | I2C Client mode |
| 0x5 | I2C_MASTER | I2C Host mode |
Bit 1 – ENABLE Enable
- This bit is write-synchronized: SYNCBUSY.ENABLE must be checked to ensure the CTRLA.ENABLE synchronization is complete.
- This bit is not enable-protected.
| Value | Description |
|---|---|
| 0 | The peripheral is disabled or being disabled |
| 1 | The 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 an APB error. Reading any register will return the reset value of the register.
- This bit is write-synchronized: SYNCBUSY.SWRST must be checked to ensure the CTRLA.SWRST synchronization is complete.
- This bit is not enable-protected.
| Value | Description |
|---|---|
| 0 | There is no reset operation in progress |
| 1 | The reset operation is in progress |
