35.8.5.6 Synchronization
Due to asynchronicity between the main clock domain and the peripheral clock domains, some SERCOM registers need to be synchronized when written ("Write-Synchronized") or read ("Read-Synchronized").
The following bits are synchronized when written:
- Software Reset bit in the CTRLA register (CTRLA.SWRST)
- Enable bit in the CTRLA register (CTRLA.ENABLE)
- Command bits in CTRLB register (CTRLB.CMD)
- FIFO Clear bits in CTRLB register (CTRLB.FIFOCLR)
- Write to Bus State bits in the Status register (STATUS.BUSSTATE)
- Address bits in the Address register (ADDR.ADDR) when in host operation
The following registers are synchronized when written:
- Data (DATA) when in host operation
- Length (LENGTH) when in client operation
Required write synchronization is denoted by the "Write-Synchronized" property in the register description.
If a write-synchronized register is written while a synchronization is ongoing, a Bus Error exception will be generated.