TDM — Time division multiplexed audio interface

The time division multiplexed peripheral (TDM) is a multi-channel time division multiplexed audio interface that supports transferring up to eight channels within a sample frame. TDM can also be configured to support I2S in mono or stereo. It implements EasyDMA for sample transfer directly to and from RAM without CPU intervention.

The main features of TDM are the following:

Figure 1. Block diagram
Block diagram

Overview

The TDM interface is comprised of a frame synchronization pulse (FSYNC), a serial clock (SCLK), and the serial audio data (SDIN or SDOUT).

The Master always supplies the clock signals FSYNC and SCK to the Slave. Serial data can be received on the input data pin SDIN, or transmitted on the output data pin SDOUT.

Figure 2. TDM overview

Transmitting and receiving

TDM supports both transmission (TX) and reception (RX) of serial data. In both cases the serial data is shifted synchronously to the SCK clock signal.

TX data is written to the SDOUT pin on the falling edge of SCK, and RX data is read from the SDIN pin on the rising edge of SCK. To change the active edge of SCK, use register CONFIG.SCK.POLARITY.

The most significant bit (MSB) is always transmitted first.

TX and RX are available in both Master and Slave modes and can be enabled/disabled independently in CONFIG.RXTXEN.

Transmission and/or reception is started by triggering the START task. When transmission is enabled in CONFIG.TXEN), the TXPTRUPD event will be generated for every number of transmitted data words given by TXD.MAXCNT. Each data word contains one or more samples. The TXPTRUPD event is generated just before MAXCNT number of bytes have been transmitted. Similarly, when reception is enabled in CONFIG.RXTXEN, the RXPTRUPD event is generated just after MAXCNT number of bytes have been received.

The CONFIG.ORS register stores extra samples used to align frames.
  • When transmitting and receiving, if the receive size (RXD.MAXCNT) exceeds the transmit size (TXD.MAXCNT), additional bytes are sent after TXD.MAXCNT bytes have been transmitted. These extra bytes are being sent while RXD.MAXCNT bytes are received and continue until the frame is completed.
  • When only transmitting, extra samples are sent after TXD.MAXCNT bytes have been transmitted to complete the frame.

If transmitting more samples than receiving (TXD.MAXCNT is larger than RXD.MAXCNT), the additional received samples will be discarded.

During receive-only operation, once RXD.MAXCNT bytes have been received, any further samples are discarded.

CONFIG.ORS follows the layout of a 32-bit memory word and can contain four 8-bit samples, two 16-bit samples, one right-aligned 24-bit sample sign-extended to 32 bit, or one 32-bit sample. The size of the samples is dependent on CONFIG.SWIDTH. For details on the memory word layout, see Channel mask and EasyDMA.

The MAXCNT event is generated synchronously to the active FSYNC edge at the beginning of a frame after transmitting RXD.MAXCNT bytes. The initial MAXCNT event is generated at the first active edge of FSYNC after the START task has been triggered. The MAXCNT event is generated once all data has been transmitted and/or received. The data will be available in RAM upon completion of the EasyDMA operation.

Transmission can be aborted by using the ABORT task. This will abort TDM transfer possibly without completing MAXCNT words, and will cause the ABORTED event to be generated.

The following figure shows an example of transmitting and receiving aligned data using the following TDM configuration.
Figure 3. Transmitting and receiving data
Transmitting and receiving data

Clocks

In addition to the frame sync (FSYNC) pulse, TDM has two clock signals. The master clock MCK and the sample data bit clock SCK.

MCK and SCK are independent and can be configured individually.

The serial clock (SCK), often referred to as the serial bit clock, pulses once for each data bit being transferred on the serial data lines SDIN and SDOUT.

The polarity of SCK is configured in CONFIG.SCK.POLARITY.

When operating in Master mode, SCK clock source and frequency and is configured in CONFIG.SCK.SRC and CONFIG.SCK.DIV respectively. For CONFIG.SCK.DIV value, see Clock divider equations.

When operating in Slave mode, SCK is an input signal provided by the external master.

The optional master clock (MCK) is independent from SCK and FSYNC.

The master clock generator is enabled/disabled using CONFIG.MCK.EN, and the generator is started or stopped by the START or STOP tasks respectively.

Frame synchronization pulse (FSYNC)

FSYNC defines the start of the frame in the serial bit streams sent and received on SDOUT and SDIN, respectively. It is often referred to as "word clock", "sample clock", "word select", "frame clock", or "left/right clock".

In master mode, FSYNC duration is configured in CONFIG.FSYNC.DURATION. The duration can either be one SCK period, or one channel. This is illustrated in the following figure.
Figure 4. Configuration of FSYNC duration in Master mode
Regardless of FSYNC duration, the frequency of FSYNC is equivalent to the audio sample rate.
If is possible to configure the sample size to only use a fraction of a channel, see Width and alignment. Also in this configuration FSYNC duration is the channel width (not the audio sample size), as illustrated in the following figure.
Figure 5. FSYNC duration when sample size is less than channel width
FSYNC duration when sample size is less than channel width
The alignment of the frame with the active edge of FSYNC can be adjusted using the register CONFIG.CHANNEL.DELAY. This allows the data to be delayed one or more periods of the serial clock following the active edge of FSYNC, as illustrated in the following figure.
Figure 6. Configuration of delay
Configuration of delay

When TDM is configured for the I2S mode, each frame contains one left and right sample pair, with the left sample being transferred during the low half period of FSYNC followed by the right sample being transferred during the high half period of FSYNC. There is a single SCK clock pulse delay between FSYNC edge and the first bit of the sample.

With the Aligned format, each frame contains one left and right sample pair, with the left sample being transferred during the high half period of FSYNC followed by the right sample being transferred during the low half period of FSYNC. There is no delay between FSYNC edge and the first bit of the sample.

For TDM, the active edge of FSYNC defines the beginning of a frame. The words within the frame are transferred continously, with no transitions of FSYNC.

FSYNC configuration details described above is summarised the following table.
Table 1. FSYNC configuration overview
FormatCONFIG.FSYNC.DURATIONCONFIG.FSYNC.POLARITYCONFIG.CHANNEL.DELAY
I2SChannelLeft=NegEdgeDelay1Ck
AlignedChannelLeft=PosEdgeDelay0Ck
TDMChannel or SckPosEdgeDelay0Ck, Delay1Ck, or Delay2Ck

Clock source selection

The clock source for SCK and MCK is selectable in registers CONFIG.MCK.SRC and CONFIG.SCK.SRC respectively.

The following clocks can be selected as the clock source.

  • Peripheral clock (PCLK)
  • Additional clock (ACLK)

To improve the clock accuracy and jitter performance, it is recommended (but not mandatory) that the PCLK source used is running off the external crystal. The ACLK source requires the use of a crystal. See CLOCK — Clock control for more information about clock sources.

The clock generator can be bypassed so that MCK or SCK is derived directly from the input source. This can be configured in the BYPASS field of their respective registers CONFIG.SCK.SRC and CONFIG.SCK.SRC.

Clock frequency selection

MCK and SCK frequency can be adjusted on-the-fly by using CONFIG.MCK.DIV or CONFIG.SCK.DIV.

Clock divider equations

The following equations are used to select SCK and MCK frequencies.

In the following equations, the following notation is used:
  • fCK is the SCK or MCK frequency in Hz.
  • fsource is the frequency of the selected clock source, either ACLK or PCLK.
  • DIV is the CONFIG.SCK.DIV or CONFIG.MCK.DIV register value.

The first equation is used to calculate the value of CONFIG.MCK.DIV or CONFIG.SCK.DIV for a given source, and MCK or SCK frequency.

Figure 7. MCK and SCK clock frequency equation
MCK and SCK clock frequency equation

Because of rounding errors, an accurate MCK clock may not be achievable. The equation does not take into account the maximum register values of CONFIG.MCK.DIV or CONFIG.SCK.DIV.

The actual MCK or SCK frequency can be calculated using the equation below.

Figure 8. Actual MCK and SCK clock frequency
Actual MCK and SCK clock frequency

The clock error can be calculated using the equation below. The error e is the percentage difference from the requested fMCK or fSCK frequency.

Figure 9. MCK and SCK frequency error equation
MCK and SCK frequency error equation

Width and alignment

Each audio data sample is followed by sufficient number of zero data bits to complete an M-bit word. The CONFIG.SWIDTH register defines the sample width of the data read and written to memory, as well as the number of SCK clock cycles per word. The M-bit word is sometimes referred to as a channel block.

The following figure illustrates a configuration with identical sample and channel/word widths. The number of SCK pulses matches the number of sample bits.
Figure 10. Aligned format, with CONFIG.SWIDTH configured to 16 bit samples in a 16 bit word
Aligned format, with CONFIG.SWIDTH configured to 16-bit samples in a 16-bit word.
The next figure illustrates a configuration with greater word width than sample width. The number of SCK pulses are greater than the number of sample bits, with the sample being left-aligned in the word.
Figure 11. Aligned format, with CONFIG.SWIDTH configured to 16-bit samples in a 32-bit word
Aligned format, with CONFIG.SWIDTH configured to 16-bit samples in a 32-bit word.

Alignment of samples

If the word width differs from the sample width, the sample value can be either right or left-aligned inside a word, as specified in CONFIG.ALIGN.

When using left-alignment, each word starts with the MSB of the sample value, as illustrated in the following figure.
Figure 12. CONFIG.ALIGN set to left justified
CONFIG.ALIGN set to left justified.
When using right-alignment, each word ends with the LSB of the sample value. This is illustrated in the following figure.
Figure 13. CONFIG.ALIGN set to right justified
CONFIG.ALIGN equalling right justified.

Channel mask and EasyDMA

TDM implements EasyDMA for accessing RAM without CPU intervention.

EasyDMA

The source and destination pointers for the TX and RX data are configured in TXD.PTR and RXD.PTR. The memory pointed to by these pointers will only be read or written when TX or RX are enabled in and .

The addresses written to the pointer registers TXD.PTR and RXD.PTR are double-buffered in hardware, and these double buffers are updated for every TXD.MAXCNT/RXD.MAXCNT words (containing one or more samples) read/written from/to memory. The events TXPTRUPD and RXPTRUPD are generated whenever the TXD.PTR and RXD.PTR are transferred to these double buffers.

If TXD.PTR is not pointing to the Data RAM region when transmission is enabled, or RXD.PTR is not pointing to the Data RAM region when reception is enabled, an EasyDMA transfer may result in a HardFault and/or memory corruption. See Memory for more information about the different memory regions.

The size of the RXD and TXD memory buffers are independent, but the number of transmitted bytes always equals the number of received bytes. With RXD.MAXCNT and TXD.MAXCNT being independent, data is either discarded or padded as described in Transmitting and receiving. The size of the buffers is specified in a number of bytes, however the memory is organized in 32-bit words that either contain four 8-bit samples, two 16-bit samples, one right-aligned 24-bit sample sign extended to 32 bit, or one 32-bit sample.

Channel masking

Channel masking takes place between the transceiver and the EasyDMA access to memory as illustrated in the following figure.
Figure 14. Channel masking block diagram
Which of the samples transferred over the data lines are accessed by EasyDMA, is selected by the register CONFIG.CHANNEL.MASK. In this register, channels are enabled or disabled from the memory transfers. Disabled channels are ignored - transmitted bits are zero, and received data is discarded. Enabled channels will have their data stored to, or received from, memory.
Figure 15. Channel masking example. Four channel audio input, storing only two channels to memory
Channel mask

Memory map for single channel (mono)

When the resulting data after channel masking is a single channel, the following figures show how this channel's samples are mapped to memory. The mapping is valid for both RX and TX.

Figure 16. Memory mapping for 8 bit mono. CONFIG.SWIDTH = 8Bit, CONFIG.CHANNEL.NUM = 2 and CONFIG.CHANNEL.MASK = 0x00010001
Memory mapping for 8-bit mono. CONFIG.SWIDTH = 8Bit, CONFIG.CHANNEL.NUM = 2 and CONFIG.CHANNEL.MASK = 0x00010001
Figure 17. Memory mapping for 16 bit mono, left channel only. CONFIG.SWIDTH = 16Bit, CONFIG.CHANNEL.NUM = 2 and CONFIG.CHANNEL.MASK = 0x00010001
Figure 18. Memory mapping for 24 bit mono, left channel only. CONFIG.SWIDTH = 24Bit, CONFIG.CHANNEL.NUM = 2 and CONFIG.CHANNEL.MASK = 0x00010001
Figure 19. Memory mapping for 32 bit mono, left channel only. CONFIG.SWIDTH = 32Bit, CONFIG.CHANNEL.NUM = 2 and CONFIG.CHANNEL.MASK = 0x00010001

Memory map for two channels (stereo)

When the resulting data after channel masking is two channels (stereo), the following figures show how this channel's samples are mapped to memory. The mapping is valid for both RX and TX.

Figure 20. Memory mapping for 8 bit stereo. CONFIG.SWIDTH = 8Bit, CONFIG.CHANNEL.NUM = 2 and CONFIG.CHANNEL.MASK = 0x00030003
Figure 21. Memory mapping for 16 bit stereo. CONFIG.SWIDTH = 16Bit, CONFIG.CHANNEL.NUM = 2 and CONFIG.CHANNEL.MASK = 0x00030003
Figure 22. Memory mapping for 24 bit stereo. CONFIG.SWIDTH = 24Bit, CONFIG.CHANNEL.NUM = 2 and CONFIG.CHANNEL.MASK = 0x00030003
Figure 23. Memory mapping for 32 bit stereo. CONFIG.SWIDTH = 32Bit, CONFIG.CHANNEL.NUM = 2 and CONFIG.CHANNEL.MASK = 0x00030003

Memory map for multi-channel (three or more)

The following equation can be used to calculate the address of the word storing a multi-channel sample. The equation is valid for both RX and TX. The following notation is used.
  • S is the number of data bits in a sample
  • N total number of channels per sample
  • n is the channel number of the current sample
  • m is the sample number
Figure 24. The equation for calculating the 32-bit aligned address of a multi-channel sample.

When the resulting data after channel masking is three or more the samples are stored sequentially in memory, similar to stereo. The following figures show how the samples are mapped to memory. The mapping is valid for both RX and TX.

Figure 25. Memory mapping for 8 bit TDM. CONFIG.SWIDTH = 8Bit, CONFIG.CHANNEL.NUM = n and all channels enabled in CONFIG.CHANNEL.MASK
Memory mapping for 8-bit TDM. CONFIG.SWIDTH = 8Bit, CONFIG.CHANNEL.NUM = n and all channels enabled in CONFIG.CHANNEL.MASK
Figure 26. Memory mapping for 16 bit TDM. CONFIG.SWIDTH = 16Bit, CONFIG.CHANNEL.NUM = n and all channels enabled in CONFIG.CHANNEL.MASK
Memory mapping for 16-bit TDM. CONFIG.SWIDTH = 16Bit, CONFIG.CHANNEL.NUM = n and all channels enabled in CONFIG.CHANNEL.MASK
Figure 27. Memory mapping for 24 bit TDM. CONFIG.SWIDTH = 24Bit, CONFIG.CHANNEL.NUM = n and all channels enabled in CONFIG.CHANNEL.MASK
Memory mapping for 24-bit TDM. CONFIG.SWIDTH = 24Bit, CONFIG.CHANNEL.NUM = n and all channels enabled in CONFIG.CHANNEL.MASK
Figure 28. Memory mapping for 32 bit TDM. CONFIG.SWIDTH = 32Bit, CONFIG.CHANNEL.NUM = n and all channels enabled in CONFIG.CHANNEL.MASK

Pin configuration

The MCK, SCK, FSYNC, SDIN and SDOUT signals associated with TDM are mapped to physical pins according to the pin numbers specified in the PSEL.x registers.

These pins are acquired whenever TDM is enabled through the register ENABLE.

When a pin is acquired by TDM, the direction of the pin (input or output) will be configured automatically, and any pin direction setting done in the GPIO module will be overridden. The directions for the various TDM pins are shown in the following tables.

To secure correct signal levels on the pins in System OFF mode, and when TDM is disabled, these pins must be configured in the GPIO peripheral directly.

Table 2. GPIO configuration before enabling peripheral (Master mode)
TDM signalTDM pinDirectionOutput valueComment
MCKAs specified in PSEL.MCKOutput0
FSYNCAs specified in PSEL.FSYNCOutput0
SCKAs specified in PSEL.SCKOutput0
SDINAs specified in PSEL.SDINInputNot applicable
SDOUTAs specified in PSEL.SDOUTOutput0
Table 3. GPIO configuration before enabling peripheral (Slave mode)
TDM signalTDM pinDirectionOutput valueComment
MCKAs specified in PSEL.MCKOutput0
FSYNCAs specified in PSEL.FSYNCInputNot applicable
SCKAs specified in PSEL.SCKInputNot applicable
SDINAs specified in PSEL.SDINInputNot applicable
SDOUTAs specified in PSEL.SDOUTOutput0

Registers

Instances

InstanceDomainBase addressTrustZoneSplit accessDescription
MapAttDMA

TDM : S
TDM : NS

GLOBAL

0x500E8000
0x400E8000

USSSANo

Time division multiplexed audio interface TDM

Configuration

InstanceDomainConfiguration

TDM : S
TDM : NS

GLOBAL

Use GPIO port P1 or P3

ACLK is the fixed 24 MHz clock PCLK24M

PCLK is the fixed 32 MHz clock PCLK32M

CURRENTAMOUNT register included.

Register overview

RegisterOffsetTZDescription
TASKS_START0x000

Starts continuous TDM transfer. Also starts MCK when this is enabled

TASKS_STOP0x004

Stops TDM transfer after the completion of MAXCNT bytes. Triggering this task will cause the STOPPED event to be generated.

TASKS_ABORT0x008

Abort TDM transfer without completing MAXCNT bytes. Triggering this task will cause the ABORTED event to be generated.

SUBSCRIBE_START0x080

Subscribe configuration for task START

SUBSCRIBE_STOP0x084

Subscribe configuration for task STOP

SUBSCRIBE_ABORT0x088

Subscribe configuration for task ABORT

EVENTS_RXPTRUPD0x104

The RXD.PTR register has been copied to internal double-buffers. When TDM is started and RX is enabled, this event will be generated for every RXTXD.MAXCNT bytes received on the SDIN pin.

EVENTS_STOPPED0x108

Transfer stopped.

EVENTS_ABORTED0x10C

Transfer aborted.

EVENTS_TXPTRUPD0x118

The TDX.PTR register has been copied to internal double-buffers. When TDM is started and TX is enabled, this event will be generated for every RXTXD.MAXCNT bytes that are sent on the SDOUT pin.

EVENTS_MAXCNT0x120

Generated on the active edge of FSYNC, after both RX and TX DMA transfers have completed. An initial MAXCNT event is also triggered on the first active edge of FSYNC after the START task is issued.

EVENTS_BUSERROR_RX0x124

This event is generated if an error occurs during the bus transfer.

EVENTS_BUSERROR_TX0x128

This event is generated if an error occurs during the bus transfer.

PUBLISH_RXPTRUPD0x184

Publish configuration for event RXPTRUPD

PUBLISH_STOPPED0x188

Publish configuration for event STOPPED

PUBLISH_ABORTED0x18C

Publish configuration for event ABORTED

PUBLISH_TXPTRUPD0x198

Publish configuration for event TXPTRUPD

PUBLISH_MAXCNT0x1A0

Publish configuration for event MAXCNT

PUBLISH_BUSERROR_RX0x1A4

Publish configuration for event BUSERROR_RX

PUBLISH_BUSERROR_TX0x1A8

Publish configuration for event BUSERROR_TX

INTEN0x300

Enable or disable interrupt

INTENSET0x304

Enable interrupt

INTENCLR0x308

Disable interrupt

INTPEND0x30C

Pending interrupts

ENABLE0x500

Enable TDM

CONFIG.MODE0x504

Mode configuration

CONFIG.RXTXEN0x508

Reception (RX) and transmission (TX) enable.

CONFIG.MCK.EN0x50C

Master clock generator enable.

CONFIG.MCK.DIV0x510

MCK divider.

CONFIG.MCK.SRC0x514

MCK clock source selection

CONFIG.SCK.DIV0x518

SCK divider.

CONFIG.SCK.SRC0x51C

SCK clock source selection

CONFIG.SCK.POLARITY0x520

Set SCK Polarity.

CONFIG.SWIDTH0x524

Sample and word width configuration.

CONFIG.ALIGN0x528

Alignment of sample within the audio data word.

CONFIG.CHANNEL.MASK0x52C

Select which channels are to be used.

CONFIG.CHANNEL.NUM0x530

Select number of channels.

CONFIG.CHANNEL.DELAY0x534

Set channel delay.

CONFIG.FSYNC.POLARITY0x538

Set FSYNC Polarity.

CONFIG.FSYNC.DURATION0x53C

Set FSYNC duration.

CONFIG.ORS0x540

Over-read sample: Extra sample(s) to be transmitted after TXD.MAXCNT bytes have been transmitted.

PSEL.MCK0x570

Pin select for MCK signal

PSEL.SCK0x574

Pin select for SCK signal

PSEL.FSYNC0x578

Pin select for FSYNC signal

PSEL.SDIN0x57C

Pin select for SDIN signal

PSEL.SDOUT0x580

Pin select for SDOUT signal

RXD.PTR0x704

RAM buffer start address

RXD.MAXCNT0x708

Maximum number of bytes in channel buffer

RXD.AMOUNT0x70C

Number of bytes transferred in the last transaction, updated after the END event.

RXD.CURRENTAMOUNT0x710

Number of bytes transferred in the current transaction

RXD.MODE0x718

Configure EasyDMA mode

RXD.TERMINATEONBUSERROR0x71C

Terminate the transaction if a BUSERROR event is detected.

RXD.BUSERRORADDRESS0x720

Address of transaction that generated the last BUSERROR event.

TXD.PTR0x744

RAM buffer start address

TXD.MAXCNT0x748

Maximum number of bytes in channel buffer

TXD.AMOUNT0x74C

Number of bytes transferred in the last transaction, updated after the END event.

TXD.CURRENTAMOUNT0x750

Number of bytes transferred in the current transaction

TXD.MODE0x758

Configure EasyDMA mode

TXD.TERMINATEONBUSERROR0x75C

Terminate the transaction if a BUSERROR event is detected.

TXD.BUSERRORADDRESS0x760

Address of transaction that generated the last BUSERROR event.

TASKS_START

Address offset: 0x000

Starts continuous TDM transfer. Also starts MCK when this is enabled

Bit number313029282726252423222120191817161514131211109876543210
IDA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

W

TASKS_START

Starts continuous TDM transfer. Also starts MCK when this is enabled

Trigger

1

Trigger task

TASKS_STOP

Address offset: 0x004

Stops TDM transfer after the completion of MAXCNT bytes. Triggering this task will cause the STOPPED event to be generated.

Bit number313029282726252423222120191817161514131211109876543210
IDA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

W

TASKS_STOP

Stops TDM transfer after the completion of MAXCNT bytes. Triggering this task will cause the STOPPED event to be generated.

Trigger

1

Trigger task

TASKS_ABORT

Address offset: 0x008

Abort TDM transfer without completing MAXCNT bytes. Triggering this task will cause the ABORTED event to be generated.

Bit number313029282726252423222120191817161514131211109876543210
IDA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

W

TASKS_ABORT

Abort TDM transfer without completing MAXCNT bytes. Triggering this task will cause the ABORTED event to be generated.

Trigger

1

Trigger task

SUBSCRIBE_START

Address offset: 0x080

Subscribe configuration for task START

Bit number313029282726252423222120191817161514131211109876543210
IDBAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

CHIDX

[0..255]

DPPI channel that task START will subscribe to

B

RW

EN

Disabled

0

Disable subscription

Enabled

1

Enable subscription

SUBSCRIBE_STOP

Address offset: 0x084

Subscribe configuration for task STOP

Bit number313029282726252423222120191817161514131211109876543210
IDBAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

CHIDX

[0..255]

DPPI channel that task STOP will subscribe to

B

RW

EN

Disabled

0

Disable subscription

Enabled

1

Enable subscription

SUBSCRIBE_ABORT

Address offset: 0x088

Subscribe configuration for task ABORT

Bit number313029282726252423222120191817161514131211109876543210
IDBAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

CHIDX

[0..255]

DPPI channel that task ABORT will subscribe to

B

RW

EN

Disabled

0

Disable subscription

Enabled

1

Enable subscription

EVENTS_RXPTRUPD

Address offset: 0x104

The RXD.PTR register has been copied to internal double-buffers. When TDM is started and RX is enabled, this event will be generated for every RXTXD.MAXCNT bytes received on the SDIN pin.

Bit number313029282726252423222120191817161514131211109876543210
IDA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

EVENTS_RXPTRUPD

The RXD.PTR register has been copied to internal double-buffers. When TDM is started and RX is enabled, this event will be generated for every RXTXD.MAXCNT bytes received on the SDIN pin.

NotGenerated

0

Event not generated

Generated

1

Event generated

EVENTS_STOPPED

Address offset: 0x108

Transfer stopped.

Bit number313029282726252423222120191817161514131211109876543210
IDA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

EVENTS_STOPPED

Transfer stopped.

NotGenerated

0

Event not generated

Generated

1

Event generated

EVENTS_ABORTED

Address offset: 0x10C

Transfer aborted.

Bit number313029282726252423222120191817161514131211109876543210
IDA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

EVENTS_ABORTED

Transfer aborted.

NotGenerated

0

Event not generated

Generated

1

Event generated

EVENTS_TXPTRUPD

Address offset: 0x118

The TDX.PTR register has been copied to internal double-buffers. When TDM is started and TX is enabled, this event will be generated for every RXTXD.MAXCNT bytes that are sent on the SDOUT pin.

Bit number313029282726252423222120191817161514131211109876543210
IDA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

EVENTS_TXPTRUPD

The TDX.PTR register has been copied to internal double-buffers. When TDM is started and TX is enabled, this event will be generated for every RXTXD.MAXCNT bytes that are sent on the SDOUT pin.

NotGenerated

0

Event not generated

Generated

1

Event generated

EVENTS_MAXCNT

Address offset: 0x120

Generated on the active edge of FSYNC, after both RX and TX DMA transfers have completed. An initial MAXCNT event is also triggered on the first active edge of FSYNC after the START task is issued.

Bit number313029282726252423222120191817161514131211109876543210
IDA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

EVENTS_MAXCNT

Generated on the active edge of FSYNC, after both RX and TX DMA transfers have completed. An initial MAXCNT event is also triggered on the first active edge of FSYNC after the START task is issued.

NotGenerated

0

Event not generated

Generated

1

Event generated

EVENTS_BUSERROR_RX

Address offset: 0x124

This event is generated if an error occurs during the bus transfer.

When this event is generated, the address which caused the error can be read from the RXD.BUSERRORADDRESS register.

Bit number313029282726252423222120191817161514131211109876543210
IDA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

EVENTS_BUSERROR_RX

This event is generated if an error occurs during the bus transfer.

When this event is generated, the address which caused the error can be read from the RXD.BUSERRORADDRESS register.

NotGenerated

0

Event not generated

Generated

1

Event generated

EVENTS_BUSERROR_TX

Address offset: 0x128

This event is generated if an error occurs during the bus transfer.

When this event is generated, the address which caused the error can be read from the TXD.BUSERRORADDRESS register.

Bit number313029282726252423222120191817161514131211109876543210
IDA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

EVENTS_BUSERROR_TX

This event is generated if an error occurs during the bus transfer.

When this event is generated, the address which caused the error can be read from the TXD.BUSERRORADDRESS register.

NotGenerated

0

Event not generated

Generated

1

Event generated

PUBLISH_RXPTRUPD

Address offset: 0x184

Publish configuration for event RXPTRUPD

Bit number313029282726252423222120191817161514131211109876543210
IDBAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

CHIDX

[0..255]

DPPI channel that event RXPTRUPD will publish to

B

RW

EN

Disabled

0

Disable publishing

Enabled

1

Enable publishing

PUBLISH_STOPPED

Address offset: 0x188

Publish configuration for event STOPPED

Bit number313029282726252423222120191817161514131211109876543210
IDBAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

CHIDX

[0..255]

DPPI channel that event STOPPED will publish to

B

RW

EN

Disabled

0

Disable publishing

Enabled

1

Enable publishing

PUBLISH_ABORTED

Address offset: 0x18C

Publish configuration for event ABORTED

Bit number313029282726252423222120191817161514131211109876543210
IDBAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

CHIDX

[0..255]

DPPI channel that event ABORTED will publish to

B

RW

EN

Disabled

0

Disable publishing

Enabled

1

Enable publishing

PUBLISH_TXPTRUPD

Address offset: 0x198

Publish configuration for event TXPTRUPD

Bit number313029282726252423222120191817161514131211109876543210
IDBAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

CHIDX

[0..255]

DPPI channel that event TXPTRUPD will publish to

B

RW

EN

Disabled

0

Disable publishing

Enabled

1

Enable publishing

PUBLISH_MAXCNT

Address offset: 0x1A0

Publish configuration for event MAXCNT

Bit number313029282726252423222120191817161514131211109876543210
IDBAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

CHIDX

[0..255]

DPPI channel that event MAXCNT will publish to

B

RW

EN

Disabled

0

Disable publishing

Enabled

1

Enable publishing

PUBLISH_BUSERROR_RX

Address offset: 0x1A4

Publish configuration for event BUSERROR_RX

When this event is generated, the address which caused the error can be read from the RXD.BUSERRORADDRESS register.

Bit number313029282726252423222120191817161514131211109876543210
IDBAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

CHIDX

[0..255]

DPPI channel that event BUSERROR_RX will publish to

B

RW

EN

Disabled

0

Disable publishing

Enabled

1

Enable publishing

PUBLISH_BUSERROR_TX

Address offset: 0x1A8

Publish configuration for event BUSERROR_TX

When this event is generated, the address which caused the error can be read from the TXD.BUSERRORADDRESS register.

Bit number313029282726252423222120191817161514131211109876543210
IDBAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

CHIDX

[0..255]

DPPI channel that event BUSERROR_TX will publish to

B

RW

EN

Disabled

0

Disable publishing

Enabled

1

Enable publishing

INTEN

Address offset: 0x300

Enable or disable interrupt

Bit number313029282726252423222120191817161514131211109876543210
IDGFEDCBA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

RXPTRUPD

Enable or disable interrupt for event RXPTRUPD

Disabled

0

Disable

Enabled

1

Enable

B

RW

STOPPED

Enable or disable interrupt for event STOPPED

Disabled

0

Disable

Enabled

1

Enable

C

RW

ABORTED

Enable or disable interrupt for event ABORTED

Disabled

0

Disable

Enabled

1

Enable

D

RW

TXPTRUPD

Enable or disable interrupt for event TXPTRUPD

Disabled

0

Disable

Enabled

1

Enable

E

RW

MAXCNT

Enable or disable interrupt for event MAXCNT

Disabled

0

Disable

Enabled

1

Enable

F

RW

BUSERROR_RX

Enable or disable interrupt for event BUSERROR_RX

When this event is generated, the address which caused the error can be read from the RXD.BUSERRORADDRESS register.

Disabled

0

Disable

Enabled

1

Enable

G

RW

BUSERROR_TX

Enable or disable interrupt for event BUSERROR_TX

When this event is generated, the address which caused the error can be read from the TXD.BUSERRORADDRESS register.

Disabled

0

Disable

Enabled

1

Enable

INTENSET

Address offset: 0x304

Enable interrupt

Bit number313029282726252423222120191817161514131211109876543210
IDGFEDCBA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW
W1S

RXPTRUPD

Write '1' to enable interrupt for event RXPTRUPD

Set

1

Enable

Disabled

0

Read: Disabled

Enabled

1

Read: Enabled

B

RW
W1S

STOPPED

Write '1' to enable interrupt for event STOPPED

Set

1

Enable

Disabled

0

Read: Disabled

Enabled

1

Read: Enabled

C

RW
W1S

ABORTED

Write '1' to enable interrupt for event ABORTED

Set

1

Enable

Disabled

0

Read: Disabled

Enabled

1

Read: Enabled

D

RW
W1S

TXPTRUPD

Write '1' to enable interrupt for event TXPTRUPD

Set

1

Enable

Disabled

0

Read: Disabled

Enabled

1

Read: Enabled

E

RW
W1S

MAXCNT

Write '1' to enable interrupt for event MAXCNT

Set

1

Enable

Disabled

0

Read: Disabled

Enabled

1

Read: Enabled

F

RW
W1S

BUSERROR_RX

Write '1' to enable interrupt for event BUSERROR_RX

When this event is generated, the address which caused the error can be read from the RXD.BUSERRORADDRESS register.

Set

1

Enable

Disabled

0

Read: Disabled

Enabled

1

Read: Enabled

G

RW
W1S

BUSERROR_TX

Write '1' to enable interrupt for event BUSERROR_TX

When this event is generated, the address which caused the error can be read from the TXD.BUSERRORADDRESS register.

Set

1

Enable

Disabled

0

Read: Disabled

Enabled

1

Read: Enabled

INTENCLR

Address offset: 0x308

Disable interrupt

Bit number313029282726252423222120191817161514131211109876543210
IDGFEDCBA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW
W1C

RXPTRUPD

Write '1' to disable interrupt for event RXPTRUPD

Clear

1

Disable

Disabled

0

Read: Disabled

Enabled

1

Read: Enabled

B

RW
W1C

STOPPED

Write '1' to disable interrupt for event STOPPED

Clear

1

Disable

Disabled

0

Read: Disabled

Enabled

1

Read: Enabled

C

RW
W1C

ABORTED

Write '1' to disable interrupt for event ABORTED

Clear

1

Disable

Disabled

0

Read: Disabled

Enabled

1

Read: Enabled

D

RW
W1C

TXPTRUPD

Write '1' to disable interrupt for event TXPTRUPD

Clear

1

Disable

Disabled

0

Read: Disabled

Enabled

1

Read: Enabled

E

RW
W1C

MAXCNT

Write '1' to disable interrupt for event MAXCNT

Clear

1

Disable

Disabled

0

Read: Disabled

Enabled

1

Read: Enabled

F

RW
W1C

BUSERROR_RX

Write '1' to disable interrupt for event BUSERROR_RX

When this event is generated, the address which caused the error can be read from the RXD.BUSERRORADDRESS register.

Clear

1

Disable

Disabled

0

Read: Disabled

Enabled

1

Read: Enabled

G

RW
W1C

BUSERROR_TX

Write '1' to disable interrupt for event BUSERROR_TX

When this event is generated, the address which caused the error can be read from the TXD.BUSERRORADDRESS register.

Clear

1

Disable

Disabled

0

Read: Disabled

Enabled

1

Read: Enabled

INTPEND

Address offset: 0x30C

Pending interrupts

Bit number313029282726252423222120191817161514131211109876543210
IDGFEDCBA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

R

RXPTRUPD

Read pending status of interrupt for event RXPTRUPD

NotPending

0

Read: Not pending

Pending

1

Read: Pending

B

R

STOPPED

Read pending status of interrupt for event STOPPED

NotPending

0

Read: Not pending

Pending

1

Read: Pending

C

R

ABORTED

Read pending status of interrupt for event ABORTED

NotPending

0

Read: Not pending

Pending

1

Read: Pending

D

R

TXPTRUPD

Read pending status of interrupt for event TXPTRUPD

NotPending

0

Read: Not pending

Pending

1

Read: Pending

E

R

MAXCNT

Read pending status of interrupt for event MAXCNT

NotPending

0

Read: Not pending

Pending

1

Read: Pending

F

R

BUSERROR_RX

Read pending status of interrupt for event BUSERROR_RX

When this event is generated, the address which caused the error can be read from the RXD.BUSERRORADDRESS register.

NotPending

0

Read: Not pending

Pending

1

Read: Pending

G

R

BUSERROR_TX

Read pending status of interrupt for event BUSERROR_TX

When this event is generated, the address which caused the error can be read from the TXD.BUSERRORADDRESS register.

NotPending

0

Read: Not pending

Pending

1

Read: Pending

ENABLE

Address offset: 0x500

Enable TDM

Bit number313029282726252423222120191817161514131211109876543210
IDA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

ENABLE

Enable TDM

Disabled

0

Disable

Enabled

1

Enable

CONFIG

Configuration registers.

These registers must be configured before triggering the START tasks.

CONFIG.MODE

Address offset: 0x504

Mode configuration

Bit number313029282726252423222120191817161514131211109876543210
IDA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

MODE

Mode configuration

Master

0

Master mode. SCK and FSYNC are created internally and output on PSEL.SCK and PSEL.FSYNC.

Slave

1

Slave mode. SCK and FSYNC are received on PSEL.SCK and PSEL.FSYNC.

CONFIG.RXTXEN

Address offset: 0x508

Reception (RX) and transmission (TX) enable.

Bit number313029282726252423222120191817161514131211109876543210
IDAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

RXTXEN

Enable reception or transmission.

Duplex

0

Enable both reception and transmission. Data will be written to the RXD.PTR address and data transmitted from the TXD.PTR address.

Rx

1

Enable reception, disable transmission. Data will be written to the RXD.PTR address.

Tx

2

Enable transmission, disable reception. Data will be transmitted from the TXD.PTR address.

3

Reserved for future use.

CONFIG.MCK.EN

Address offset: 0x50C

Master clock generator enable.

Bit number313029282726252423222120191817161514131211109876543210
IDA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

MCKEN

Master clock generator enable.

Disabled

0

Master clock generator disabled.

Enabled

1

Master clock generator enabled.

CONFIG.MCK.DIV

Address offset: 0x510

MCK divider.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

DIV

MCK frequency configuration

Use either the provided enumerated values, or use the equation.

NOTE: The 12 least significant bits of the register are ignored and shall be set to zero.

CKDIV2

0x80000000

CK divided by 2

CKDIV3

0x50000000

CK divided by 3

CKDIV4

0x40000000

CK divided by 4

CKDIV5

0x30000000

CK divided by 5

CKDIV6

0x28000000

CK divided by 6

CKDIV8

0x20000000

CK divided by 8

CKDIV10

0x18000000

CK divided by 10

CKDIV11

0x16000000

CK divided by 11

CKDIV15

0x11000000

CK divided by 15

CKDIV16

0x10000000

CK divided by 16

CKDIV21

0x0C000000

CK divided by 21

CKDIV23

0x0B000000

CK divided by 23

CKDIV30

0x08800000

CK divided by 30

CKDIV31

0x08400000

CK divided by 31

CKDIV32

0x08000000

CK divided by 32

CKDIV42

0x06000000

CK divided by 42

CKDIV63

0x04100000

CK divided by 63

CKDIV125

0x020C0000

CK divided by 125

CONFIG.MCK.SRC

Address offset: 0x514

MCK clock source selection

Bit number313029282726252423222120191817161514131211109876543210
IDBA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

CLKSRC

Clock source selection

PCLK

0

Peripheral clock (instantiation table shows the TDM PCLK frequency)

PCLK32M

0

Legacy enumerator provided for backward compatibility

This enumerator is deprecated.

ACLK

1

Audio PLL clock

B

RW

BYPASS

Bypass clock generator. MCK will be equal to source input.

If bypass is enabled the MCKFREQ setting has no effect.

Disable

0

Disable bypass

Enable

1

Enable bypass

CONFIG.SCK.DIV

Address offset: 0x518

SCK divider.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

SCKDIV

SCK frequency configuration

Use either the provided enumerated values, or use the equation.

NOTE: The 12 least significant bits of the register are ignored and shall be set to zero.

CKDIV2

0x80000000

CK divided by 2

CKDIV3

0x50000000

CK divided by 3

CKDIV4

0x40000000

CK divided by 4

CKDIV5

0x30000000

CK divided by 5

CKDIV6

0x28000000

CK divided by 6

CKDIV8

0x20000000

CK divided by 8

CKDIV10

0x18000000

CK divided by 10

CKDIV11

0x16000000

CK divided by 11

CKDIV15

0x11000000

CK divided by 15

CKDIV16

0x10000000

CK divided by 16

CKDIV21

0x0C000000

CK divided by 21

CKDIV23

0x0B000000

CK divided by 23

CKDIV30

0x08800000

CK divided by 30

CKDIV31

0x08400000

CK divided by 31

CKDIV32

0x08000000

CK divided by 32

CKDIV42

0x06000000

CK divided by 42

CKDIV63

0x04100000

CK divided by 63

CKDIV125

0x020C0000

CK divided by 125

CONFIG.SCK.SRC

Address offset: 0x51C

SCK clock source selection

Bit number313029282726252423222120191817161514131211109876543210
IDBA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

CLKSRC

Clock source selection

PCLK

0

Peripheral clock (instantiation table shows the TDM PCLK frequency)

ACLK

1

Audio PLL clock

B

RW

BYPASS

Bypass clock generator. SCK will be equal to source input.

If bypass is enabled the SCKFREQ setting has no effect.

Disable

0

Disable bypass

Enable

1

Enable bypass

CONFIG.SCK.POLARITY

Address offset: 0x520

Set SCK Polarity.

Bit number313029282726252423222120191817161514131211109876543210
IDA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

SCKPOLARITY

Set the polarity of the active SCK edge.

PosEdge

0

TX data is written to the SDOUT pin on the falling edge of SCK, ready to be received on the rising edge of SCK.

NegEdge

1

TX data is written to the SDOUT pin on the rising edge of SCK, ready to be received on the falling edge of SCK.

CONFIG.SWIDTH

Address offset: 0x524

Sample and word width configuration.

Configures how many bits are used for each sample, and how many SCK clock cycles are used when transferring the sample on SDIN/SDOUT pins

Bit number313029282726252423222120191817161514131211109876543210
IDAAA
Reset 0x0000000100000000000000000000000000000001
IDR/WFieldValue IDValueDescription
A

RW

SWIDTH

Sample and word width

8Bit

0

8 bit sample in an 8-bit word.

16Bit

1

16 bit sample in a 16-bit word.

24Bit

2

24 bit sample in a 24-bit word.

32Bit

3

32 bit sample in a 32-bit word.

8BitIn16

4

8 bit sample in a 16-bit word.

8BitIn32

5

8 bit sample in a 32-bit word.

16BitIn32

6

16 bit sample in a 32-bit word.

24BitIn32

7

24 bit sample in a 32-bit word.

CONFIG.ALIGN

Address offset: 0x528

Alignment of sample within the audio data word.

Bit number313029282726252423222120191817161514131211109876543210
IDA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

ALIGN

Alignment of sample within the audio data word.

Left

0

Left-aligned.

Right

1

Right-aligned.

CONFIG.CHANNEL.MASK

Address offset: 0x52C

Select which channels are to be used.

Received and transmitted samples for enabled channels will be transferred between peripheral and memory using EasyDMA.

Bit number313029282726252423222120191817161514131211109876543210
IDPONMLKJIHGFEDCBA
Reset 0x00FF00FF00000000111111110000000011111111
IDR/WFieldValue IDValueDescription
A-H

RW

Rx[i]Enable (i=0..7)

Disable

0

Disable Rx channel data.

Enable

1

Enable Rx channel data.

I-P

RW

Tx[i]Enable (i=0..7)

Disable

0

Disable Tx channel data.

Enable

1

Enable Tx channel data.

CONFIG.CHANNEL.NUM

Address offset: 0x530

Select number of channels.

Bit number313029282726252423222120191817161514131211109876543210
IDAAA
Reset 0x0000000100000000000000000000000000000001
IDR/WFieldValue IDValueDescription
A

RW

NUM

Select number of channels.

Tdm1Ch

0

1-channel audio (mono).

Tdm2Ch

1

2-channel audio (stereo).

Tdm3Ch

2

3-channel audio.

Tdm4Ch

3

4-channel audio.

Tdm5Ch

4

5-channel audio.

Tdm6Ch

5

6-channel audio.

Tdm7Ch

6

7-channel audio.

Tdm8Ch

7

8-channel audio.

CONFIG.CHANNEL.DELAY

Address offset: 0x534

Set channel delay.

Bit number313029282726252423222120191817161514131211109876543210
IDAA
Reset 0x0000000100000000000000000000000000000001
IDR/WFieldValue IDValueDescription
A

RW

DELAY

Configure number of inactive SCK periods from edge of FSYNC until start of first data bit.

Delay0Ck

0

No delay. Used with I2S DSP/Aligned format.

Delay1Ck

1

One clock pulse delay. Used with Original I2S format.

Delay2Ck

2

Two clock pulses delay.

CONFIG.FSYNC.POLARITY

Address offset: 0x538

Set FSYNC Polarity.

Bit number313029282726252423222120191817161514131211109876543210
IDA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

POLARITY

Set the polarity of the active period of FSYNC.

NegEdge

0

Frame starts at falling edge of FSYNC.

PosEdge

1

Frame starts at rising edge of FSYNC.

CONFIG.FSYNC.DURATION

Address offset: 0x53C

Set FSYNC duration.

Bit number313029282726252423222120191817161514131211109876543210
IDA
Reset 0x0000000100000000000000000000000000000001
IDR/WFieldValue IDValueDescription
A

RW

DURATION

Set the duration of the active period of FSYNC in Master mode.

Sck

0

FSYNC is active for the duration of one SCK period

Channel

1

FSYNC is active for the duration of channel

CONFIG.ORS

Address offset: 0x540

Over-read sample: Extra sample(s) to be transmitted after TXD.MAXCNT bytes have been transmitted.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

ORS

Data to transmit after TXD.MAXCNT bytes have been transmitted.

PSEL.MCK

Address offset: 0x570

Pin select for MCK signal

Bit number313029282726252423222120191817161514131211109876543210
IDCBBAAAAA
Reset 0xFFFFFFFF11111111111111111111111111111111
IDR/WFieldValue IDValueDescription
A

RW

PIN

[0..31]

Pin number

B

RW

PORT

[1,3]

Port number

C

RW

CONNECT

Connection

Disconnected

1

Disconnect

Connected

0

Connect

PSEL.SCK

Address offset: 0x574

Pin select for SCK signal

Bit number313029282726252423222120191817161514131211109876543210
IDCBBAAAAA
Reset 0xFFFFFFFF11111111111111111111111111111111
IDR/WFieldValue IDValueDescription
A

RW

PIN

[0..31]

Pin number

B

RW

PORT

[1,3]

Port number

C

RW

CONNECT

Connection

Disconnected

1

Disconnect

Connected

0

Connect

PSEL.FSYNC

Address offset: 0x578

Pin select for FSYNC signal

Bit number313029282726252423222120191817161514131211109876543210
IDCBBAAAAA
Reset 0xFFFFFFFF11111111111111111111111111111111
IDR/WFieldValue IDValueDescription
A

RW

PIN

[0..31]

Pin number

B

RW

PORT

[1,3]

Port number

C

RW

CONNECT

Connection

Disconnected

1

Disconnect

Connected

0

Connect

PSEL.SDIN

Address offset: 0x57C

Pin select for SDIN signal

Bit number313029282726252423222120191817161514131211109876543210
IDCBBAAAAA
Reset 0xFFFFFFFF11111111111111111111111111111111
IDR/WFieldValue IDValueDescription
A

RW

PIN

[0..31]

Pin number

B

RW

PORT

[1,3]

Port number

C

RW

CONNECT

Connection

Disconnected

1

Disconnect

Connected

0

Connect

PSEL.SDOUT

Address offset: 0x580

Pin select for SDOUT signal

Bit number313029282726252423222120191817161514131211109876543210
IDCBBAAAAA
Reset 0xFFFFFFFF11111111111111111111111111111111
IDR/WFieldValue IDValueDescription
A

RW

PIN

[0..31]

Pin number

B

RW

PORT

[1,3]

Port number

C

RW

CONNECT

Connection

Disconnected

1

Disconnect

Connected

0

Connect

RXD.PTR

Address offset: 0x704

RAM buffer start address

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Reset 0x2000000000100000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

PTR

RAM buffer start address for this EasyDMA channel. This address is a word aligned Data RAM address.

Note: See the memory chapter for details about which memories are available for EasyDMA.

RXD.MAXCNT

Address offset: 0x708

Maximum number of bytes in channel buffer

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

MAXCNT

[1..0x3fff]

Maximum number of bytes in channel buffer

RXD.AMOUNT

Address offset: 0x70C

Number of bytes transferred in the last transaction, updated after the END event.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

R

AMOUNT

[1..0x3fff]

Number of bytes transferred in the last transaction. In case of NACK error, includes the NACK'ed byte.

RXD.CURRENTAMOUNT

Address offset: 0x710

Number of bytes transferred in the current transaction

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

R

AMOUNT

[1..0x3fff]

Number of bytes transferred in the current transaction. Continuously updated.

RXD.MODE

Address offset: 0x718

Configure EasyDMA mode

Bit number313029282726252423222120191817161514131211109876543210
IDAA
Reset 0x0000000100000000000000000000000000000001
IDR/WFieldValue IDValueDescription
A

RW

LPOP

Enable low-power operation, or use low-latency

LowLat

0

Low-latency operation

LowPower

1

Low-power operation

RXD.TERMINATEONBUSERROR

Address offset: 0x71C

Terminate the transaction if a BUSERROR event is detected.

Bit number313029282726252423222120191817161514131211109876543210
IDA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

ENABLE

Disabled

0

Disable

Enabled

1

Enable

RXD.BUSERRORADDRESS

Address offset: 0x720

Address of transaction that generated the last BUSERROR event.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

R

ADDRESS

TXD.PTR

Address offset: 0x744

RAM buffer start address

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Reset 0x2000000000100000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

PTR

RAM buffer start address for this EasyDMA channel. This address is a word aligned Data RAM address.

Note: See the memory chapter for details about which memories are available for EasyDMA.

TXD.MAXCNT

Address offset: 0x748

Maximum number of bytes in channel buffer

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

MAXCNT

[1..0x3fff]

Maximum number of bytes in channel buffer

TXD.AMOUNT

Address offset: 0x74C

Number of bytes transferred in the last transaction, updated after the END event.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

R

AMOUNT

[1..0x3fff]

Number of bytes transferred in the last transaction. In case of NACK error, includes the NACK'ed byte.

TXD.CURRENTAMOUNT

Address offset: 0x750

Number of bytes transferred in the current transaction

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

R

AMOUNT

[1..0x3fff]

Number of bytes transferred in the current transaction. Continuously updated.

TXD.MODE

Address offset: 0x758

Configure EasyDMA mode

Bit number313029282726252423222120191817161514131211109876543210
IDAA
Reset 0x0000000100000000000000000000000000000001
IDR/WFieldValue IDValueDescription
A

RW

LPOP

Enable low-power operation, or use low-latency

LowLat

0

Low-latency operation

LowPower

1

Low-power operation

TXD.TERMINATEONBUSERROR

Address offset: 0x75C

Terminate the transaction if a BUSERROR event is detected.

Bit number313029282726252423222120191817161514131211109876543210
IDA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

ENABLE

Disabled

0

Disable

Enabled

1

Enable

TXD.BUSERRORADDRESS

Address offset: 0x760

Address of transaction that generated the last BUSERROR event.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

R

ADDRESS