The 22 registers of SPI (Serial Peripheral Interface), from 0x40008000, with their reset value and every field. The ATSAMG54J19 has 713 registers in 31 peripherals, one page each.
SPI Serial Peripheral Interface
SPI_CRControl Register
Address
0x40008000
Reset
0x00000000
Access
write only
Size
32-bit
4 fields
Field
Bits
What it does
LASTXFER
24
Last Transfer
SWRST
7
SPI Software Reset
SPIDIS
1
SPI Disable
SPIEN
0
SPI Enable
SPI_MRMode Register
Address
0x40008004
Reset
0x00000000
Access
read/write
Size
32-bit
8 fields
Field
Bits
What it does
PCS
17:16
Peripheral Chip Select
1 NPCS1 as Chip Select
2 NPCS0 as Chip Select
LLB
7
Local Loopback Enable
WDRBT
5
Wait Data Read Before Transfer
MODFDIS
4
Mode Fault Detection
PCSDEC
2
Chip Select Decode
PS
1
Peripheral Select
MSTR
0
Master/Slave Mode
0 Slave
1 Master
DLYBCS
31:24
Delay Between Chip Selects
SPI_RDRReceive Data Register
Address
0x40008008
Reset
0x00000000
Access
read only
Size
32-bit
2 fields
Field
Bits
What it does
PCS
19:16
Peripheral Chip Select
RD
15:0
Receive Data
SPI_TDRTransmit Data Register
Address
0x4000800C
Reset
0x00000000
Access
write only
Size
32-bit
3 fields
Field
Bits
What it does
LASTXFER
24
Last Transfer
PCS
19:16
Peripheral Chip Select
1 NPCS1 as Chip Select
2 NPCS0 as Chip Select
TD
15:0
Transmit Data
SPI_SRStatus Register
Address
0x40008010
Reset
0x00000000
Access
read only
Size
32-bit
12 fields
Field
Bits
What it does
SPIENS
16
SPI Enable Status
UNDES
10
Underrun Error Status (slave mode only) (cleared on read)
TXEMPTY
9
Transmission Registers Empty (cleared by writing SPI_TDR)
NSSR
8
NSS Rising (cleared on read)
TXBUFE
7
TX Buffer Empty (cleared by writing SPI_TCR or SPI_TNCR)
RXBUFF
6
RX Buffer Full (cleared by writing SPI_RCR or SPI_RNCR)
ENDTX
5
End of TX buffer (cleared by writing SPI_TCR or SPI_TNCR)
ENDRX
4
End of RX buffer (cleared by writing SPI_RCR or SPI_RNCR)
OVRES
3
Overrun Error Status (cleared on read)
MODF
2
Mode Fault Error (cleared on read)
TDRE
1
Transmit Data Register Empty (cleared by writing SPI_TDR)
RDRF
0
Receive Data Register Full (cleared by reading SPI_RDR)
SPI_IERInterrupt Enable Register
Address
0x40008014
Reset
0x00000000
Access
write only
Size
32-bit
11 fields
Field
Bits
What it does
UNDES
10
Underrun Error Interrupt Enable
TXEMPTY
9
Transmission Registers Empty Enable
NSSR
8
NSS Rising Interrupt Enable
TXBUFE
7
Transmit Buffer Empty Interrupt Enable
RXBUFF
6
Receive Buffer Full Interrupt Enable
ENDTX
5
End of Transmit Buffer Interrupt Enable
ENDRX
4
End of Receive Buffer Interrupt Enable
OVRES
3
Overrun Error Interrupt Enable
MODF
2
Mode Fault Error Interrupt Enable
TDRE
1
SPI Transmit Data Register Empty Interrupt Enable
RDRF
0
Receive Data Register Full Interrupt Enable
SPI_IDRInterrupt Disable Register
Address
0x40008018
Reset
0x00000000
Access
write only
Size
32-bit
11 fields
Field
Bits
What it does
UNDES
10
Underrun Error Interrupt Disable
TXEMPTY
9
Transmission Registers Empty Disable
NSSR
8
NSS Rising Interrupt Disable
TXBUFE
7
Transmit Buffer Empty Interrupt Disable
RXBUFF
6
Receive Buffer Full Interrupt Disable
ENDTX
5
End of Transmit Buffer Interrupt Disable
ENDRX
4
End of Receive Buffer Interrupt Disable
OVRES
3
Overrun Error Interrupt Disable
MODF
2
Mode Fault Error Interrupt Disable
TDRE
1
SPI Transmit Data Register Empty Interrupt Disable
RDRF
0
Receive Data Register Full Interrupt Disable
SPI_IMRInterrupt Mask Register
Address
0x4000801C
Reset
0x00000000
Access
read only
Size
32-bit
11 fields
Field
Bits
What it does
UNDES
10
Underrun Error Interrupt Mask
TXEMPTY
9
Transmission Registers Empty Mask
NSSR
8
NSS Rising Interrupt Mask
TXBUFE
7
Transmit Buffer Empty Interrupt Mask
RXBUFF
6
Receive Buffer Full Interrupt Mask
ENDTX
5
End of Transmit Buffer Interrupt Mask
ENDRX
4
End of Receive Buffer Interrupt Mask
OVRES
3
Overrun Error Interrupt Mask
MODF
2
Mode Fault Error Interrupt Mask
TDRE
1
SPI Transmit Data Register Empty Interrupt Mask
RDRF
0
Receive Data Register Full Interrupt Mask
SPI_CSR0Chip Select Register 0
Address
0x40008030
Reset
0x00000000
Access
read/write
Size
32-bit
8 fields
Field
Bits
What it does
DLYBS
23:16
Delay Before SPCK
SCBR
15:8
Serial Clock Baud Rate
BITS
7:4
Bits Per Transfer
0 8 bits for transfer
1 9 bits for transfer
2 10 bits for transfer
3 11 bits for transfer
4 12 bits for transfer
5 13 bits for transfer
6 14 bits for transfer
7 15 bits for transfer
8 16 bits for transfer
CSAAT
3
Chip Select Active After Transfer
CSNAAT
2
Chip Select Not Active After Transfer (Ignored if CSAAT = 1)
NCPHA
1
Clock Phase
0 Data is valid on clock trailing edge (NCPHA=0)
1 Data is valid on clock leading edge (NCPHA=1)
CPOL
0
Clock Polarity
0 The inactive state value of SPCK is logic level zero
1 The inactive state value of SPCK is logic level one
DLYBCT
31:24
Delay Between Consecutive Transfers
SPI_CSR1Chip Select Register 0
Address
0x40008034
Reset
0x00000000
Access
read/write
Size
32-bit
8 fields
Field
Bits
What it does
DLYBS
23:16
Delay Before SPCK
SCBR
15:8
Serial Clock Baud Rate
BITS
7:4
Bits Per Transfer
0 8 bits for transfer
1 9 bits for transfer
2 10 bits for transfer
3 11 bits for transfer
4 12 bits for transfer
5 13 bits for transfer
6 14 bits for transfer
7 15 bits for transfer
8 16 bits for transfer
CSAAT
3
Chip Select Active After Transfer
CSNAAT
2
Chip Select Not Active After Transfer (Ignored if CSAAT = 1)
NCPHA
1
Clock Phase
0 Data is valid on clock trailing edge (NCPHA=0)
1 Data is valid on clock leading edge (NCPHA=1)
CPOL
0
Clock Polarity
0 The inactive state value of SPCK is logic level zero
1 The inactive state value of SPCK is logic level one
DLYBCT
31:24
Delay Between Consecutive Transfers
SPI_WPMRWrite Protection Mode Register
Address
0x400080E4
Reset
0x00000000
Access
read/write
Size
32-bit
2 fields
Field
Bits
What it does
WPEN
0
Write Protection Enable
WPKEY
31:8
Write Protection Key
5460041 Writing any other value in this field aborts the write operation of the WPEN bit.Always reads as 0.