22.3.1 SPIx Control Register 1

Note:
  1. When AUDEN = 1, this module functions as if CKE = 0, regardless of its actual value.
  2. When FRMEN = 1, SSEN is not used.
  3. MCLKEN can only be written when the ON bit = 0.
  4. This channel is not meaningful for PCM/DSP mode as LRC follows FRMSYPW.
  5. SPI operates with DMA in Standard Buffer mode only, ENHBUF = 0.
  6. SPISGNEXT function is available for 8, 16 and 32-bit data length transfers only.

Legend: R = Readable bit, W = Writable bit

Name: SPIxCON1
Offset: 0x1800, 0x1820, 0x1840

Bit 3130292827262524 
 AUDENSPISGNEXTIGNROVIGNTURAUDMONOURDTENAUDMOD[1:0] 
Access R/WR/WR/WR/WR/WR/WR/WR/W 
Reset 00000000 
Bit 2322212019181716 
 FRMENFRMSYNCFRMPOLMSSENFRMSYPWFRMCNT[2:0] 
Access R/WR/WR/WR/WR/WR/WR/WR/W 
Reset 00000000 
Bit 15141312111098 
 ON SIDLDISSDOMODE[32,16]SMPCKE 
Access R/WR/WR/WR/WR/WR/WR/W 
Reset 0000000 
Bit 76543210 
 SSENCKPMSTENDISSDIDISSCKMCLKENSPIFEENHBUF 
Access R/WR/WR/WR/WR/WR/WR/WR/W 
Reset 00000000 

Bit 31 – AUDEN  Audio Codec Support Enable bit(1)

Table 22-4 shows the AUDEN bit setting requirements for TDM mode support.
Table 22-4. AUDEN TDM Mode Support Requirements
AUDEN=1 (Audio Protocol Mode)AUDEN=0 (Framed-SPI + DMA)Note
TDM4/8/16/32 Multi-slot TDM requires AUDEN=0
ValueDescription
1

Audio protocol is enabled; MSTEN controls the direction of both SCKx and frame (a.k.a. LRC), and this module functions as if FRMEN = 1, FRMSYNC = MSTEN, FRMCNT[2:0] = 001 and SMP = 0, regardless of their actual values.

0

Audio protocol is disabled. When AUDEN = 0, TDM mode is supported using SPI Frame Mode and DMA channels.

Bit 30 – SPISGNEXT SPIx Sign-Extend RX FIFO Read Data Enable bit(6)

ValueDescription
1

Data from RX FIFO is sign-extended (upper unused bits should replicate the MSb of the received data).

0

Data from RX FIFO is not sign-extended (upper unused bits are always 1'b0).

Bit 29 – IGNROV Ignore Receive Overflow bit

ValueDescription
1

A Receive Overflow (ROV) is NOT a critical error; during ROV, data in the FIFO is not overwritten by the received data.

0

An ROV is a critical error that stops SPI operation.

Bit 28 – IGNTUR Ignore Transmit Underrun bit

ValueDescription
1

A Transmit Underrun (TUR) is NOT a critical error and data indicated by URDTEN is transmitted until the SPIxTXB is not empty.

0

A TUR is a critical error that stops SPI operation.

Bit 27 – AUDMONO  Audio Data Format Transmit bit(2)

ValueDescription
1

Audio data is mono (i.e., each data word is transmitted on both the left and right channels).

0

Audio data is stereo.

Bit 26 – URDTEN  Transmit Underrun Data Enable bit(3)

ValueDescription
1

Transmits data out of the SPIxURDT register during Transmit Underrun conditions.

0

Transmits the last received data during Transmit Underrun conditions.

Bits 25:24 – AUDMOD[1:0]  Audio Protocol Mode Selection bits

ValueDescription
11

PCM/DSP mode

10

Right Justified mode: This module functions as if SPIFE = 1, regardless of its actual value.

01

Left Justified mode: This module functions as if SPIFE = 1, regardless of its actual value.

00

I2S mode: This module functions as if SPIFE = 0, regardless of its actual value.

Bit 23 – FRMEN Framed SPIx Support bit

ValueDescription
1

Framed SPIx support is enabled (SSx pin is used as the FSYNC input/output).

0

Framed SPIx support is disabled.

Bit 22 – FRMSYNC Frame Sync Pulse Direction Control bit

ValueDescription
1

Frame Sync pulse input (client)

0

Frame Sync pulse output (host)

Bit 21 – FRMPOL Frame Sync/Client Select Polarity bit

ValueDescription
1

Frame Sync pulse/Client Select is active high.

0

Frame Sync pulse/Client Select is active low.

Bit 20 – MSSEN Host Mode Client Select Enable bit

ValueDescription
1

SPIx Client Select support is enabled with polarity determined by FRMPOL (SSx pin is automatically driven during transmission in Host mode).

0

Client Select SPIx support is disabled (SSx pin will be controlled by port I/O).

Bit 19 – FRMSYPW Frame Sync Pulse-Width bit

ValueDescription
1

Frame Sync pulse is one serial word length wide (as defined by MODE[32,16]/WLENGTH[4:0]).

0

Frame Sync pulse is one clock (SCKx) wide.

Bits 18:16 – FRMCNT[2:0] Frame Sync Pulse Counter bits

Controls the number of serial words per Sync pulse.
ValueDescription
111

Reserved

110

Reserved

101

Generate/Receive a Frame Sync pulse every 32 serial words.

100

Generate/Receive a Frame Sync pulse every 16 serial words.

011

Generate/Receive a Frame Sync pulse every 8 serial words.

010

Generate/Receive a Frame Sync pulse every 4 serial words.

001

Generate/Receive a Frame Sync pulse every 2 serial words (value used by audio protocols).

000

Generate/Receive a Frame Sync pulse each serial word.

Bit 15 – ON SPIx On bit

ValueDescription
1

Enables module.

0

Turns off and resets module, disables clocks, disables interrupt event generation, allows SFR modifications.

Bit 13 – SIDL SPIx Stop in Idle Mode bit

ValueDescription
1

Halts in CPU Idle mode.

0

Continues to operate in CPU Idle mode.

Bit 12 – DISSDO Disable SDOx Output Port bit

ValueDescription
1

SDOx pin is not used by the module; pin is controlled by port function.

0

SDOx pin is controlled by the module.

Bits 11:10 – MODE[32,16]  Serial Word Length bits(1,4)

MODE32MODE16AUDENCommunication
1x032-Bit
0116-Bit
008-Bit
11124-Bit Data, 32-Bit FIFO, 32-Bit Channel/64-Bit Frame
1032-Bit Data, 32-Bit FIFO, 32-Bit Channel/64-Bit Frame
0116-Bit Data, 16-Bit FIFO, 32-Bit Channel/64-Bit Frame
0016-Bit FIFO, 16-Bit Channel/32-Bit Frame

Bit 9 – SMP SPIx Data Input Sample Phase bit

Client Mode:

Input data is always sampled in the middle of the data output time, regardless of the SMP setting.

Host Mode:

ValueDescription
1

Input data is sampled at the end of data output time.

0

Input data is sampled at the middle of data output. time

Bit 8 – CKE  SPIx Clock Edge Select bit(1)

ValueDescription
1

Transmit happens on the transition from the active clock state to the Idle clock state.

0

Transmit happens on the transition from the Idle clock state to the active clock state.

Bit 7 – SSEN  Client Select Enable bit (Client mode)(2)

ValueDescription
1

SSx pin is used by the module in Client mode; the SSx pin is used as the Client Select input.

0

SSx pin is not used by the module (the pin is controlled by the port function).

Bit 6 – CKP Clock Polarity Select bit

ValueDescription
1

Idle state for the clock is a high level; the active state is a low level.

0

Idle state for the clock is a low level; the active state is a high level.

Bit 5 – MSTEN Host Mode Enable bit

ValueDescription
1

Host mode

0

Client mode

Bit 4 – DISSDI Disable SDIx Input Port bit

ValueDescription
1

SDIx pin is not used by the module; the pin is controlled by the port function.

0

SDIx pin is controlled by the module.

Bit 3 – DISSCK Disable SCKx Output Port bit

ValueDescription
1

SCKx pin is not used by the module; the pin is controlled by the port function.

0

SCKx pin is controlled by the module.

Bit 2 – MCLKEN  SPI Host Clock Source Selection bit(3)

Bit 1 – SPIFE Frame Sync Pulse Edge Select bit

ValueDescription
1

Frame Sync pulse (Idle-to-active edge) coincides with the first bit clock.

0

Frame Sync pulse (Idle-to-active edge) precedes the first bit clock.

Bit 0 – ENHBUF  Enhanced Buffer Enable bit(5)

ValueDescription
1

Enhanced Buffer mode is enabled.

0

Enhanced Buffer mode is disabled.