SWRU626 December 2025 CC3501E , CC3551E
Table 22-1 lists the memory-mapped registers for the I2S registers. All register offset addresses not listed in Table 22-1 should be considered as reserved locations and the register contents should not be modified.
| Offset | Acronym | Register Name | Section |
|---|---|---|---|
| 0h | AIFWCLKSRC | Wordclock Source Selection | Section 22.10.1 |
| 4h | AIFDMACFG | DMA Buffer Size Configuration | Section 22.10.2 |
| 8h | AIFDIRCFG | Pin Direction Configuration | Section 22.10.3 |
| Ch | AIFFMTCFG | Format Configuration | Section 22.10.4 |
| 10h | AIFWMASK0 | Word Selection Mask | Section 22.10.5 |
| 14h | AIFWMASK1 | Audio Input Mask | Section 22.10.6 |
| 20h | AIFINPTNXT | Input Buffer Pointer | Section 22.10.7 |
| 24h | AIFINPTR | Input Buffer Pointer | Section 22.10.8 |
| 28h | AIFOPTNXT | Output Buffer Pointer | Section 22.10.9 |
| 2Ch | AIFOUTPTR | Output Buffer Pointer | Section 22.10.10 |
| 34h | STMPCTL | Timestamp Control | Section 22.10.11 |
| 38h | STMPXCPT0 | Capture Value Ch0 | Section 22.10.12 |
| 3Ch | STMPXPER | Crystal Oscillator Period | Section 22.10.13 |
| 40h | STMPWCPT0 | Clock Counter Capture | Section 22.10.14 |
| 44h | STMPWPER | Clock Counter Period | Section 22.10.15 |
| 48h | STMPINTRIG | Word Clock Counter Value | Section 22.10.16 |
| 4Ch | STMPOTRIG | Output Trigger Value | Section 22.10.17 |
| 50h | STMPWSET | Timestamp Set | Section 22.10.18 |
| 54h | STMPWADD | Clock Counter Add | Section 22.10.19 |
| 58h | STMPXPRMIN | Oscillator Minimum Period | Section 22.10.20 |
| 5Ch | STMPWCNT | Watch Counter Value | Section 22.10.21 |
| 60h | STMPXCNT | X Counter Value | Section 22.10.22 |
| 70h | IRQMASK | Interrupt Mask | Section 22.10.23 |
| 74h | IRQFLAGS | Interrupt Status | Section 22.10.24 |
| 78h | IRQSET | Interrupt Set | Section 22.10.25 |
| 7Ch | IRQCLR | Interrupt Clear | Section 22.10.26 |
| 80h | AIFMCLKDIV | Main Clock Divider | Section 22.10.27 |
| 84h | AIFBCLKDIV | Bit Clock Divider | Section 22.10.28 |
| 88h | AIFWCLKDIV | WCLK Division Ratio | Section 22.10.29 |
| 8Ch | AIFCLKCTL | Internal Audio Clock Control | Section 22.10.30 |
| 1000h | CLKCFG | Clock Configuration | Section 22.10.31 |
| 1004h | ADFSCTRL1 | Reference Time Control | Section 22.10.32 |
| 1008h | ADFSCTRL2 | Configuration Control | Section 22.10.33 |
Complex bit access types are encoded to fit into small table cells. Table 22-2 shows the codes that are used for access types in this section.
| Access Type | Code | Description |
|---|---|---|
| Read Type | ||
| R | R | Read |
| Write Type | ||
| W | W | Write |
| Reset or Default Value | ||
| -n | Value after reset or the default value | |
AIFWCLKSRC is shown in Table 22-3.
Return to the Summary Table.
WCLK Source Selection
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-3 | RESERVED | R | 0h | Reserved |
| 2 | WCLKINV | R/W | 0h | Inverts **WCLK** source (pad or internal) when set. 0: Not inverted 1: Inverted |
| 1-0 | WBCLKSRC | R/W | 0h | Selects **WCLK**/**BCLK** source for **AIF**.
|
AIFDMACFG is shown in Table 22-4.
Return to the Summary Table.
DMA Buffer Size Configuration
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-8 | RESERVED | R | 0h | Reserved |
| 7-0 | ENDFRAMIDX | R/W | 0h | Defines the length of the DMA buffer. Writing a non-zero value to this register field enables and initializes AIF. Note that before doing so, all other configuration must have been done, and [AIFINPTRNEXT.*]/[AIFOUTPTRNEXT.*] must have been loaded. |
AIFDIRCFG is shown in Table 22-5.
Return to the Summary Table.
Pin Direction
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-8 | RESERVED | R | 0h | Reserved |
| 7-6 | RESERVED | R | 0h | Reserved |
| 5-4 | AD1 | R/W | 0h | Configures the **AD1** audio data pin usage:
0x3: Reserved
|
| 3-2 | RESERVED | R | 0h | Reserved |
| 1-0 | AD0 | R/W | 0h | Configures the **AD0** audio data pin usage:
0x3: Reserved
|
AIFFMTCFG is shown in Table 22-6.
Return to the Summary Table.
Serial Interface Format Configuration
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-16 | RESERVED | R | 0h | Reserved |
| 15-8 | DATADELAY | R/W | 1h | The number of **BCLK** periods between a **WCLK** edge and **MSB** of the first word in a phase: 0x00: **LJF** and **DSP** format 0x01: **I2S** and **DSP** format 0x02: **RJF** format ... 0xFF: **RJF** format Note: When 0, **MSB** of the next word will be output in the idle period between **LSB** of the previous word and the start of the next word. Otherwise logical 0 will be output until the data delay has expired. |
| 7 | LEN32 | R/W | 0h | The size of each word stored to or loaded from memory:
|
| 6 | SMPLEDGE | R/W | 1h | On the serial audio interface, data (and wclk) is sampled and clocked out on opposite edges of BCLK.
|
| 5 | DUALPHASE | R/W | 1h | Selects dual- or single-phase format. 0: Single-phase: **DSP** format 1: Dual-phase: **I2S**, **LJF** and **RJF** formats |
| 4-0 | WORDLEN | R/W | 10h | Number of bits per word (8-24): In single-phase format, this is the exact number of bits per word. In dual-phase format, this is the maximum number of bits per word. Values below 8 and above 24 give undefined behavior. Data written to memory is always aligned to 16 or 24 bits as defined by [MEM_LEN_24]. Bit widths that differ from this alignment will either be truncated or zero padded. |
AIFWMASK0 is shown in Table 22-7.
Return to the Summary Table.
Word Selection Bit Mask for Pin 0
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-8 | RESERVED | R | 0h | Reserved |
| 7-0 | MASK | R/W | 3h | Bit-mask indicating valid channels in a frame on AD0. In single-phase mode, each bit represents one channel, starting with **LSB** for the first word in the frame. A frame can contain up to 8 channels. Channels that are not included in the mask will not be sampled and stored in memory, and clocked out as '0'. In dual-phase mode, only the two **LSB**s are considered. For a stereo configuration, set both bits. For a mono configuration, set bit 0 only. In mono mode, only channel 0 will be sampled and stored to memory, and channel 0 will be repeated when clocked out. In mono mode, only channel 0 will be sampled and stored to memory, and channel 0 will be repeated in the second phase when clocked out. If all bits are zero, no input words will be stored to memory, and the output data lines will be constant '0'. This can be utilized when **PWM** debug output is desired without any actively used output pins. |
AIFWMASK1 is shown in Table 22-8.
Return to the Summary Table.
Word Selection Bit Mask for Pin 1
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-8 | RESERVED | R | 0h | Reserved |
| 7-0 | MASK | R/W | 3h | Bit-mask indicating valid channels in a frame on AD1. In single-phase mode, each bit represents one channel, starting with **LSB** for the first word in the frame. A frame can contain up to 8 channels. Channels that are not included in the mask will not be sampled and stored in memory, and clocked out as '0'. In dual-phase mode, only the two **LSB**s are considered. For a stereo configuration, set both bits. For a mono configuration, set bit 0 only. In mono mode, only channel 0 will be sampled and stored to memory, and channel 0 will be repeated when clocked out. In mono mode, only channel 0 will be sampled and stored to memory, and channel 0 will be repeated in the second phase when clocked out. If all bits are zero, no input words will be stored to memory, and the output data lines will be constant '0'. This can be utilized when **PWM** debug output is desired without any actively used output pins. |
AIFINPTNXT is shown in Table 22-9.
Return to the Summary Table.
DMA Input Buffer Next Pointer
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | PTR | R/W | 0h | Pointer to the first byte in the next **DMA** input buffer. The read value equals the last written value until the currently used **DMA** input buffer is completed, and then becomes null when the last written value is transferred to the **DMA** controller to start on the next buffer. This event is signalized by [IRQFLAGS-AIF_DMA_IN]. At startup, the value must be written once before and once after configuring the **DMA** buffer size in [AIFDMACFG.*]. The next pointer must be written to this register while the **DMA** function uses the previously written pointer. If not written in time, PTRERR will be raised and all input pins will be disabled. |
AIFINPTR is shown in Table 22-10.
Return to the Summary Table.
DMA Input Buffer Current Pointer
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | PTR | R | 0h | Value of the **DMA** input buffer pointer currently used by the **DMA** controller. Incremented by 1 (byte) or 2 (word) for each **AHB** access. |
AIFOPTNXT is shown in Table 22-11.
Return to the Summary Table.
DMA Output Buffer Next Pointer
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | PTR | R/W | 0h | Pointer to the first byte in the next **DMA** output buffer. The read value equals the last written value until the currently used **DMA** output buffer is completed, and then becomes null when the last written value is transferred to the **DMA** controller to start on the next buffer. This event is signalized by AIFDMAOUT. At startup, the value must be written once before and once after configuring the **DMA** buffer size in [AIFDMACFG.*]. At this time, the first two samples will be fetched from memory. The next pointer must be written to this register while the **DMA** function uses the previously written pointer. If not written in time, PTRERR will be raised and all output pins will be disabled. |
AIFOUTPTR is shown in Table 22-12.
Return to the Summary Table.
DMA Output Buffer Current Pointer
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | PTR | R | 0h | Value of the **DMA** output buffer pointer currently used by the **DMA** controller Incremented by 1 (byte) or 2 (word) for each **AHB** access. |
STMPCTL is shown in Table 22-13.
Return to the Summary Table.
Samplestamp Generator Control Register
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-3 | RESERVED | R | 0h | Reserved |
| 2 | OUTRDY | R | 0h | Low until the output pins are ready to be started by the samplestamp generator. When started (that is [STMPOUTTRIG.*] equals the **WCLK** counter) the bit goes back low. |
| 1 | INRDY | R | 0h | Low until the input pins are ready to be started by the samplestamp generator. When started (that is [STMPINTRIG.*] equals the **WCLK** counter) the bit goes back low. |
| 0 | STMPEN | R/W | 0h | Enables the samplestamp generator. The samplestamp generator must only be enabled after it has been properly configured. When cleared, all samplestamp generator counters and capture values are cleared. |
STMPXCPT0 is shown in Table 22-14.
Return to the Summary Table.
Captured **XOSC** Counter Value, Capture Channel 0
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-16 | RESERVED | R | 0h | Reserved |
| 15-0 | CAPTVAL | R | 0h | The value of the samplestamp **XOSC** counter (CURRVAL) last time an event was pulsed (event source selected in [EVENT.I2SSTMPSEL0.EV] for channel 0). This number corresponds to the number of 24 MHz clock cycles since the last positive edge of the selected **WCLK**. The value is cleared when STMPEN = 0. Note: Due to buffering and synchronization, **WCLK** is delayed by a small number of **BCLK** periods and clk periods. Note: When calculating the fractional part of the sample stamp, [STMPXPER.*] may be less than this bit field. |
STMPXPER is shown in Table 22-15.
Return to the Summary Table.
XOSC Period Value
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-16 | RESERVED | R | 0h | Reserved |
| 15-0 | VALUE | R | 0h | The number of 24 MHz clock cycles in the previous **WCLK** period (that is - the next value of the **XOSC** counter at the positive **WCLK** edge, had it not been reset to 0). The value is cleared when STMPEN = 0. |
STMPWCPT0 is shown in Table 22-16.
Return to the Summary Table.
Captured **WCLK** Counter Value, Capture Channel 0
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-16 | RESERVED | R | 0h | Reserved |
| 15-0 | CAPTVAL | R | 0h | The value of the samplestamp **WCLK** counter (CURRVAL) last time an event was pulsed (event source selected in [EVENT:I2SSTMPSEL0.EV] for channel 0). This number corresponds to the number of positive **WCLK** edges since the samplestamp generator was enabled (not taking modification through [STMPWADD.*]/[STMPWSET.*] into account). The value is cleared when STMPEN = 0. |
STMPWPER is shown in Table 22-17.
Return to the Summary Table.
**WCLK** Counter Period Value
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-16 | RESERVED | R | 0h | Reserved |
| 15-0 | VALUE | R/W | 0h | Used to define when [STMPWCNT.*] is to be reset so number of **WCLK** edges are found for the size of the sample buffer. This is thus a modulo value for the **WCLK** counter. This number must correspond to the size of the sample buffer used by the system (that is the index of the last sample plus 1). |
STMPINTRIG is shown in Table 22-18.
Return to the Summary Table.
WCLK Counter Trigger Value for Input Pins
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-16 | RESERVED | R | 0h | Reserved |
| 15-0 | INSTRTWCNT | R/W | 0h | Compare value used to start the incoming audio streams. This bit field shall equal the **WCLK** counter value during the **WCLK** period in which the first input word(s) are sampled and stored to memory (that is the sample at the start of the very first **DMA** input buffer). The value of this register takes effect when the following conditions are met: - One or more pins are configured as inputs in [AIFDIRCFG.*]. - [AIFDMACFG.*] has been configured for the correct buffer size, and at least 32 **BCLK** cycle ticks have happened. Note: To avoid false triggers, this bit field should be set higher than VALUE. |
STMPOTRIG is shown in Table 22-19.
Return to the Summary Table.
WCLK Counter Trigger Value for Output Pins
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-16 | RESERVED | R | 0h | Reserved |
| 15-0 | OSTRTWCNT | R/W | 0h | OUT START WCNT: Compare value used to start the outgoing audio streams. This bit field must equal the **WCLK** counter value during the **WCLK** period in which the first output word(s) read from memory are clocked out (that is the sample at the start of the very first **DMA** output buffer). The value of this register takes effect when the following conditions are met: - One or more pins are configured as outputs in [AIFDIRCFG.*]. - [AIFDMACFG.*] has been configured for the correct buffer size, and 32 **BCLK** cycle ticks have happened. - 2 samples have been preloaded from memory (examine the [AIFOUTPTR.*] register if necessary). Note: The memory read access is only performed when required, that is channels 0/1 must be selected in [AIFWMASK0.*]/[AIFWMASK1.*]. Note: To avoid false triggers, this bit field should be set higher than VALUE. |
STMPWSET is shown in Table 22-20.
Return to the Summary Table.
WCLK Counter Set Operation
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-16 | RESERVED | R | 0h | Reserved |
| 15-0 | VALUE | W | 0h | **WCLK** counter modification: Sets the running **WCLK** counter equal to the written value. |
STMPWADD is shown in Table 22-21.
Return to the Summary Table.
WCLK Counter Add Operation
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-16 | RESERVED | R | 0h | Reserved |
| 15-0 | VALINC | W | 0h | **WCLK** counter modification: Adds the written value to the running **WCLK** counter. If a positive edge of **WCLK** occurs at the same time as the operation, this will be taken into account. To add a negative value, write 'VALUE - value'. |
STMPXPRMIN is shown in Table 22-22.
Return to the Summary Table.
XOSC Minimum Period Value Minimum Value of [STMPXPER.*]
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-16 | RESERVED | R | 0h | Reserved |
| 15-0 | VALUE | R/W | FFFFh | Each time [STMPXPER.*] is updated, the value is also loaded into this register, provided that the value is smaller than the current value in this register. When written, the register is reset to 0xFFFF (65535), regardless of the value written. The minimum value can be used to detect extra **WCLK** pulses (this registers value will be significantly smaller than VALUE). |
STMPWCNT is shown in Table 22-23.
Return to the Summary Table.
Current Value of WCNT
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-16 | RESERVED | R | 0h | Reserved |
| 15-0 | CURRVAL | R | 0h | Current value of the **WCLK** counter |
STMPXCNT is shown in Table 22-24.
Return to the Summary Table.
Current Value of XCNT
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-16 | RESERVED | R | 0h | Reserved |
| 15-0 | CURRVAL | R | 0h | Current value of the **XOSC** counter, latched when reading [STMPWCNT.*]. |
IRQMASK is shown in Table 22-25.
Return to the Summary Table.
Interrupt Mask Register Selects mask states of the flags in [IRQFLAGS.*] that contribute to the **I2S_IRQ** event.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-7 | RESERVED | R | 0h | Reserved |
| 6 | XCNTCPT | R/W | 0h | XCNTCPT interrupt mask 0: Disable 1: Enable |
| 5 | AIFDMAIN | R/W | 0h | AIFDMAIN interrupt mask 0: Disable 1: Enable |
| 4 | AIFDMAOUT | R/W | 0h | AIFDMAOUT interrupt mask 0: Disable 1: Enable |
| 3 | WCLKTOUT | R/W | 0h | WCLKTOUT interrupt mask 0: Disable 1: Enable |
| 2 | BUSERR | R/W | 0h | BUSERR interrupt mask 0: Disable 1: Enable |
| 1 | WCLKERR | R/W | 0h | WCLKERR interrupt mask 0: Disable 1: Enable |
| 0 | PTRERR | R/W | 0h | PTRERR interrupt mask. 0: Disable 1: Enable |
IRQFLAGS is shown in Table 22-26.
Return to the Summary Table.
Raw Interrupt Status Register
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-7 | RESERVED | R | 0h | Reserved |
| 6 | XCNTCPT | R | 0h | Will be set when xcnt counter is captured either by events or software. Needs to be cleared by software. |
| 5 | AIFDMAIN | R | 0h | Set when condition for this bit field event occurs (auto cleared when input pointer is updated - [AIFINPTRNEXT.*]), see description of [AIFINPTRNEXT.*] register for details. |
| 4 | AIFDMAOUT | R | 0h | Set when condition for this bit field event occurs (auto cleared when output pointer is updated - [AIFOUTPTRNEXT.*]), see description of [AIFOUTPTRNEXT.*] register for details |
| 3 | WCLKTOUT | R | 0h | Set when the sample stamp generator does not detect a positive **WCLK** edge for 65535 clk periods. This signalizes that the internal or external **BCLK** and **WCLK** generator source has been disabled. The bit is sticky and may only be cleared by software (by writing '1' to WCLKTOUT). |
| 2 | BUSERR | R | 0h | Set when a **DMA** operation is not completed in time (that is audio output buffer underflow, or audio input buffer overflow). This error requires a complete restart since word synchronization has been lost. The bit is sticky and may only be cleared by software (by writing '1' to BUSERR). Note that DMA initiated transactions to illegal addresses will not trigger an interrupt. The response to such transactions is undefined. INTERNAL_NOTE: The I2S module is not monitoring the AHB bus error response, hence bus faults resulting from access to illegal addresses are not generated. It is best practice to detect and report such errors and, therefore, a ticket has been entered into the CDDS bug tracking database for the I2S module. The reference is CC26_I2S--BUG00011. All versions of CC13xx/CC26xx Chameleon and Lizard are impacted, and there is no plans to change this behavior. |
| 1 | WCLKERR | R | 0h | Set when: - An unexpected **WCLK** edge occurs during the data delay period of a phase. Note unexpected **WCLK** edges during the word and idle periods of the phase are not detected. - In dual-phase mode, when two **WCLK** edges are less than 4 **BCLK** cycles apart. - In single-phase mode, when a **WCLK** pulse occurs before the last channel. This error requires a complete restart since word synchronization has been lost. The bit is sticky and may only be cleared by software (by writing '1' to WCLKERR). |
| 0 | PTRERR | R | 0h | Set when [AIFINPTRNEXT.*] or [AIFOUTPTRNEXT.*] has not been loaded with the next block address in time. This error requires a complete restart since word synchronization has been lost. The bit is sticky and may only be cleared by software (by writing '1' to PTRERR). |
IRQSET is shown in Table 22-27.
Return to the Summary Table.
Interrupt Set Register
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-7 | RESERVED | R | 0h | Reserved |
| 6 | XCNTCPT | W | 0h | 1: Sets the interrupt of XCNTCPT (unless a auto clear criteria was given at the same time, in which the set will be ignored) |
| 5 | AIFDMAIN | W | 0h | 1: Sets the interrupt of AIFDMAIN (unless a auto clear criteria was given at the same time, in which the set will be ignored) |
| 4 | AIFDMAOUT | W | 0h | 1: Sets the interrupt of AIFDMAOUT (unless a auto clear criteria was given at the same time, in which the set will be ignored) |
| 3 | WCLKTOUT | W | 0h | 1: Sets the interrupt of WCLKTOUT |
| 2 | BUSERR | W | 0h | 1: Sets the interrupt of BUSERR |
| 1 | WCLKERR | W | 0h | 1: Sets the interrupt of WCLKERR |
| 0 | PTRERR | W | 0h | 1: Sets the interrupt of PTRERR |
IRQCLR is shown in Table 22-28.
Return to the Summary Table.
Interrupt Clear Register
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-7 | RESERVED | R | 0h | Reserved |
| 6 | XCNTCPT | W | 0h | 1: Clears the interrupt of XCNTCPT (unless a set criteria was given at the same time in which the clear will be ignored) |
| 5 | AIFDMAIN | W | 0h | 1: Clears the interrupt of AIFDMAIN (unless a set criteria was given at the same time in which the clear will be ignored) |
| 4 | AIFDMAOUT | W | 0h | 1: Clears the interrupt of AIFDMAOUT (unless a set criteria was given at the same time in which the clear will be ignored) |
| 3 | WCLKTOUT | W | 0h | 1: Clears the interrupt of WCLKTOUT (unless a set criteria was given at the same time in which the clear will be ignored) |
| 2 | BUSERR | W | 0h | 1: Clears the interrupt of BUSERR (unless a set criteria was given at the same time in which the clear will be ignored) |
| 1 | WCLKERR | W | 0h | 1: Clears the interrupt of WCLKERR (unless a set criteria was given at the same time in which the clear will be ignored) |
| 0 | PTRERR | W | 0h | 1: Clears the interrupt of PTRERR (unless a set criteria was given at the same time in which the clear will be ignored) |
AIFMCLKDIV is shown in Table 22-29.
Return to the Summary Table.
**MCLK** Division Ratio
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-10 | RESERVED | R | 0h | Reserved |
| 9-0 | MDIV | R/W | 0h | An unsigned factor of the division ratio used to generate **MCLK** [2-1024]: **MCLK** = MCUCLK/MDIV[Hz] **MCUCLK** is upto 96MHz. A value of 0 is interpreted as 1024. A value of 1 is invalid. If MDIV is odd the low phase of the clock is one **MCUCLK** period longer than the high phase. |
AIFBCLKDIV is shown in Table 22-30.
Return to the Summary Table.
**BCLK** Division Ratio
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-10 | RESERVED | R | 0h | Reserved |
| 9-0 | BDIV | R/W | 0h | An unsigned factor of the division ratio used to generate **BCLK** [2-1024]: **BCLK** = MCUCLK/BDIV[Hz] **MCUCLK** can be upto 96MHz. A value of 0 is interpreted as 1024. A value of 1 is invalid. If BDIV is odd and [AIFCLKCTL.SMPL_ON_POSEDGE.*] = 0, the low phase of the clock is one **MCUCLK** period longer than the high phase. If BDIV is odd and [AIFCLKCTL.SMPL_ON_POSEDGE.*] = 1 , the high phase of the clock is one **MCUCLK** period longer than the low phase. |
AIFWCLKDIV is shown in Table 22-31.
Return to the Summary Table.
**WCLK** Division Ratio
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-16 | RESERVED | R | 0h | Reserved |
| 15-0 | WDIV | R/W | 0h | If WCLKPHASE = 0, Single phase. **WCLK** is high one **BCLK** period and low WDIV[9:0] (unsigned, [1-1023]) **BCLK** periods. **WCLK** = **MCUCLK** / BDIV*(WDIV[9:0] + 1) [Hz] **MCUCLK** upto 96MHz. If WCLKPHASE = 1, Dual phase. Each phase on **WCLK** (50% duty cycle) is WDIV[9:0] (unsigned, [1-1023]) **BCLK** periods. **WCLK **= **MCUCLK **/ BDIV*(2*WDIV[9:0]) [Hz] If WCLKPHASE = 2, User defined. **WCLK** is high WDIV[7:0] (unsigned, [1-255]) **BCLK** periods and low WDIV[15:8] (unsigned, [1-255]) **BCLK** periods. **WCLK** = **MCUCLK **/ (BDIV*(WDIV[7:0] + WDIV[15:8]) [Hz] |
AIFCLKCTL is shown in Table 22-32.
Return to the Summary Table.
Internal Audio Clock Control
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-4 | RESERVED | R | 0h | Reserved |
| 3 | MEN | R/W | 0h | 0: **MCLK** geneartion disabled, 1: **MCLK** generation enabled |
| 2-1 | WCLKPHASE | R/W | 0h | Decides how the WCLK division ratio is calculated and used to generate different duty cycles (See WDIV). |
| 0 | WBEN | R/W | 0h | 0: WCLK/BCLK geneartion disabled, 1: WCLK/BCLK generation enabled |
CLKCFG is shown in Table 22-33.
Return to the Summary Table.
Audio clock source selection and **I2S** enable register Note: Disable the [CLKCFG.MEM_CLK_EN] and [CLKCFG.ADFS_EN] to change CLKSEL After changing CLKSEL, enable [CLKCFG.ADFS_EN] followed by [CLKCFG.MEM_CLK_EN]
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-8 | RESERVED | R | 0h | Reserved |
| 7 | ADFSEN | R/W | 0h | ADFS enable field |
| 6-4 | CLKSEL | R/W | 0h | Audio clock selection
|
| 3-1 | RESERVED | R | 0h | Reserved |
| 0 | EN | R/W | 0h | 0: **I2S** clock disabled 1: **I2S** clock enabled |
ADFSCTRL1 is shown in Table 22-34.
Return to the Summary Table.
ADFS TREF control register
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-21 | RESERVED | R | 0h | Reserved |
| 20-0 | TREF | R/W | 0h | TREF value for ADFS |
ADFSCTRL2 is shown in Table 22-35.
Return to the Summary Table.
ADFS general configuration register
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-30 | RESERVED | R | 0h | Reserved |
| 29-20 | DIV | R/W | 0h | ADFS div value field |
| 19-18 | RESERVED | R | 0h | Reserved |
| 17 | DELTASIGN | R/W | 0h | ADFS delta sign field |
| 16-0 | DELTA | R/W | 0h | ADFS delta value field |