SWCU192 November 2021 CC1312R7 , CC1352P7 , CC2652P7 , CC2652R7
#I2S_I2S_MAP1_TABLE_1 lists the memory-mapped registers for the I2S registers. All register offset addresses not listed in #I2S_I2S_MAP1_TABLE_1 should be considered as reserved locations and the register contents should not be modified.
Offset | Acronym | Register Name | Section |
---|---|---|---|
0h | AIFWCLKSRC | WCLK Source Selection | #I2S_I2S_MAP1_I2S_ALL_AIFWCLKSRC |
4h | AIFDMACFG | DMA Buffer Size Configuration | #I2S_I2S_MAP1_I2S_ALL_AIFDMACFG |
8h | AIFDIRCFG | Pin Direction | #I2S_I2S_MAP1_I2S_ALL_AIFDIRCFG |
Ch | AIFFMTCFG | Serial Interface Format Configuration | #I2S_I2S_MAP1_I2S_ALL_AIFFMTCFG |
10h | AIFWMASK0 | Word Selection Bit Mask for Pin 0 | #I2S_I2S_MAP1_I2S_ALL_AIFWMASK0 |
14h | AIFWMASK1 | Word Selection Bit Mask for Pin 1 | #I2S_I2S_MAP1_I2S_ALL_AIFWMASK1 |
1Ch | AIFPWMVALUE | Audio Interface PWM Debug Value | #I2S_I2S_MAP1_I2S_ALL_AIFPWMVALUE |
20h | AIFINPTRNEXT | DMA Input Buffer Next Pointer | #I2S_I2S_MAP1_I2S_ALL_AIFINPTRNEXT |
24h | AIFINPTR | DMA Input Buffer Current Pointer | #I2S_I2S_MAP1_I2S_ALL_AIFINPTR |
28h | AIFOUTPTRNEXT | DMA Output Buffer Next Pointer | #I2S_I2S_MAP1_I2S_ALL_AIFOUTPTRNEXT |
2Ch | AIFOUTPTR | DMA Output Buffer Current Pointer | #I2S_I2S_MAP1_I2S_ALL_AIFOUTPTR |
34h | STMPCTL | Samplestamp Generator Control Register | #I2S_I2S_MAP1_I2S_ALL_STMPCTL |
38h | STMPXCNTCAPT0 | Captured XOSC Counter Value, Capture Channel 0 | #I2S_I2S_MAP1_I2S_ALL_STMPXCNTCAPT0 |
3Ch | STMPXPER | XOSC Period Value | #I2S_I2S_MAP1_I2S_ALL_STMPXPER |
40h | STMPWCNTCAPT0 | Captured WCLK Counter Value, Capture Channel 0 | #I2S_I2S_MAP1_I2S_ALL_STMPWCNTCAPT0 |
44h | STMPWPER | WCLK Counter Period Value | #I2S_I2S_MAP1_I2S_ALL_STMPWPER |
48h | STMPINTRIG | WCLK Counter Trigger Value for Input Pins | #I2S_I2S_MAP1_I2S_ALL_STMPINTRIG |
4Ch | STMPOUTTRIG | WCLK Counter Trigger Value for Output Pins | #I2S_I2S_MAP1_I2S_ALL_STMPOUTTRIG |
50h | STMPWSET | WCLK Counter Set Operation | #I2S_I2S_MAP1_I2S_ALL_STMPWSET |
54h | STMPWADD | WCLK Counter Add Operation | #I2S_I2S_MAP1_I2S_ALL_STMPWADD |
58h | STMPXPERMIN | XOSC Minimum Period Value | #I2S_I2S_MAP1_I2S_ALL_STMPXPERMIN |
5Ch | STMPWCNT | Current Value of WCNT | #I2S_I2S_MAP1_I2S_ALL_STMPWCNT |
60h | STMPXCNT | Current Value of XCNT | #I2S_I2S_MAP1_I2S_ALL_STMPXCNT |
64h | STMPXCNTCAPT1 | Internal | #I2S_I2S_MAP1_I2S_ALL_STMPXCNTCAPT1 |
68h | STMPWCNTCAPT1 | Internal | #I2S_I2S_MAP1_I2S_ALL_STMPWCNTCAPT1 |
70h | IRQMASK | Interrupt Mask Register | #I2S_I2S_MAP1_I2S_ALL_IRQMASK |
74h | IRQFLAGS | Raw Interrupt Status Register | #I2S_I2S_MAP1_I2S_ALL_IRQFLAGS |
78h | IRQSET | Interrupt Set Register | #I2S_I2S_MAP1_I2S_ALL_IRQSET |
7Ch | IRQCLR | Interrupt Clear Register | #I2S_I2S_MAP1_I2S_ALL_IRQCLR |
Complex bit access types are encoded to fit into small table cells. #I2S_I2S_MAP1_LEGEND 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 #I2S_I2S_MAP1_I2S_ALL_AIFWCLKSRC_FIGURE and described in #I2S_I2S_MAP1_I2S_ALL_AIFWCLKSRC_TABLE.
Return to the Summary Table.
WCLK Source Selection
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | |||||||
R-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | |||||||
R-0h | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | |||||||
R-0h | |||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | WCLK_INV | WCLK_SRC | |||||
R-0h | R/W-0h | R/W-0h | |||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-3 | RESERVED | R | 0h | Reserved |
2 | WCLK_INV | R/W | 0h | Inverts WCLK source (pad or internal) when set. 0: Not inverted 1: Inverted |
1-0 | WCLK_SRC | R/W | 0h | Selects WCLK source for AIF (should be the same as the
BCLK source). The BCLK source is defined in the PRCM:I2SBCLKSEL.SRC
0h = None ('0') 1h = External WCLK generator, from pad 2h = Internal WCLK generator, from module PRCM 3h = Not supported. Will give same WCLK as 'NONE' ('00') |
AIFDMACFG is shown in #I2S_I2S_MAP1_I2S_ALL_AIFDMACFG_FIGURE and described in #I2S_I2S_MAP1_I2S_ALL_AIFDMACFG_TABLE.
Return to the Summary Table.
DMA Buffer Size Configuration
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | |||||||||||||||
R-0h | |||||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | END_FRAME_IDX | ||||||||||||||
R-0h | R/W-0h | ||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-8 | RESERVED | R | 0h | Reserved |
7-0 | END_FRAME_IDX | 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 #I2S_I2S_MAP1_I2S_ALL_AIFDIRCFG_FIGURE and described in #I2S_I2S_MAP1_I2S_ALL_AIFDIRCFG_TABLE.
Return to the Summary Table.
Pin Direction
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | |||||||
R-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | |||||||
R-0h | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | |||||||
R-0h | |||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | AD1 | RESERVED | AD0 | ||||
R-0h | R/W-0h | R-0h | R/W-0h | ||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-6 | RESERVED | R | 0h | Reserved |
5-4 | AD1 | R/W | 0h | Configures the AD1 audio data pin usage: 0x3: Reserved 0h = Not in use (disabled) 1h = Input mode 2h = Output mode |
3-2 | RESERVED | R | 0h | Reserved |
1-0 | AD0 | R/W | 0h | Configures the AD0 audio data pin usage: 0x3: Reserved 0h = Not in use (disabled) 1h = Input mode 2h = Output mode |
AIFFMTCFG is shown in #I2S_I2S_MAP1_I2S_ALL_AIFFMTCFG_FIGURE and described in #I2S_I2S_MAP1_I2S_ALL_AIFFMTCFG_TABLE.
Return to the Summary Table.
Serial Interface Format Configuration
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | |||||||
R-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | |||||||
R-0h | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
DATA_DELAY | |||||||
R/W-1h | |||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
MEM_LEN_24 | SMPL_EDGE | DUAL_PHASE | WORD_LEN | ||||
R/W-0h | R/W-1h | R/W-1h | R/W-10h | ||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-16 | RESERVED | R | 0h | Reserved |
15-8 | DATA_DELAY | 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 | MEM_LEN_24 | R/W | 0h | The size of each word stored to or loaded from memory:
0h = 16BIT : 16-bit (one 16 bit access per sample) 1h = 24BIT : 24-bit (one 8 bit and one 16 bit locked access per sample) |
6 | SMPL_EDGE | R/W | 1h | On the serial audio interface, data (and wclk) is
sampled and clocked out on opposite edges of BCLK. 0h = Data is sampled on the negative edge and clocked out on the positive edge. 1h = Data is sampled on the positive edge and clocked out on the negative edge. |
5 | DUAL_PHASE | R/W | 1h | Selects dual- or single-phase format. 0: Single-phase: DSP format 1: Dual-phase: I2S, LJF and RJF formats |
4-0 | WORD_LEN | 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 #I2S_I2S_MAP1_I2S_ALL_AIFWMASK0_FIGURE and described in #I2S_I2S_MAP1_I2S_ALL_AIFWMASK0_TABLE.
Return to the Summary Table.
Word Selection Bit Mask for Pin 0
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | MASK | ||||||||||||||||||||||||||||||
R-0h | R/W-3h | ||||||||||||||||||||||||||||||
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 LSBs 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 #I2S_I2S_MAP1_I2S_ALL_AIFWMASK1_FIGURE and described in #I2S_I2S_MAP1_I2S_ALL_AIFWMASK1_TABLE.
Return to the Summary Table.
Word Selection Bit Mask for Pin 1
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | MASK | ||||||||||||||||||||||||||||||
R-0h | R/W-3h | ||||||||||||||||||||||||||||||
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 LSBs 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. |
AIFPWMVALUE is shown in #I2S_I2S_MAP1_I2S_ALL_AIFPWMVALUE_FIGURE and described in #I2S_I2S_MAP1_I2S_ALL_AIFPWMVALUE_TABLE.
Return to the Summary Table.
Audio Interface PWM Debug Value
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | PULSE_WIDTH | ||||||||||||||||||||||||||||||
R-0h | R/W-0h | ||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-16 | RESERVED | R | 0h | Reserved |
15-0 | PULSE_WIDTH | R/W | 0h | The value written to this register determines the
width of the active high PWM pulse (pwm_debug), which starts
together with MSB of the first output word in a DMA buffer: 0x0000: Constant low 0x0001: Width of the pulse (number of BCLK cycles, here 1). ... 0xFFFE: Width of the pulse (number of BCLK cycles, here 65534). 0xFFFF: Constant high |
AIFINPTRNEXT is shown in #I2S_I2S_MAP1_I2S_ALL_AIFINPTRNEXT_FIGURE and described in #I2S_I2S_MAP1_I2S_ALL_AIFINPTRNEXT_TABLE.
Return to the Summary Table.
DMA Input Buffer Next Pointer
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
PTR | |||||||||||||||||||||||||||||||
R/W-0h | |||||||||||||||||||||||||||||||
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, IRQFLAGS.PTR_ERR will be raised and all input pins will be disabled. |
AIFINPTR is shown in #I2S_I2S_MAP1_I2S_ALL_AIFINPTR_FIGURE and described in #I2S_I2S_MAP1_I2S_ALL_AIFINPTR_TABLE.
Return to the Summary Table.
DMA Input Buffer Current Pointer
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
PTR | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
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. |
AIFOUTPTRNEXT is shown in #I2S_I2S_MAP1_I2S_ALL_AIFOUTPTRNEXT_FIGURE and described in #I2S_I2S_MAP1_I2S_ALL_AIFOUTPTRNEXT_TABLE.
Return to the Summary Table.
DMA Output Buffer Next Pointer
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
PTR | |||||||||||||||||||||||||||||||
R/W-0h | |||||||||||||||||||||||||||||||
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 IRQFLAGS.AIF_DMA_OUT. 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, IRQFLAGS.PTR_ERR will be raised and all output pins will be disabled. |
AIFOUTPTR is shown in #I2S_I2S_MAP1_I2S_ALL_AIFOUTPTR_FIGURE and described in #I2S_I2S_MAP1_I2S_ALL_AIFOUTPTR_TABLE.
Return to the Summary Table.
DMA Output Buffer Current Pointer
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
PTR | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
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 #I2S_I2S_MAP1_I2S_ALL_STMPCTL_FIGURE and described in #I2S_I2S_MAP1_I2S_ALL_STMPCTL_TABLE.
Return to the Summary Table.
Samplestamp Generator Control Register
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | |||||||
R-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | |||||||
R-0h | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | |||||||
R-0h | |||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | OUT_RDY | IN_RDY | STMP_EN | ||||
R-0h | R-0h | R-0h | R/W-0h | ||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-3 | RESERVED | R | 0h | Reserved |
2 | OUT_RDY | 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 | IN_RDY | 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 | STMP_EN | 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. |
STMPXCNTCAPT0 is shown in #I2S_I2S_MAP1_I2S_ALL_STMPXCNTCAPT0_FIGURE and described in #I2S_I2S_MAP1_I2S_ALL_STMPXCNTCAPT0_TABLE.
Return to the Summary Table.
Captured XOSC Counter Value, Capture Channel 0
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | CAPT_VALUE | ||||||||||||||||||||||||||||||
R-0h | R-0h | ||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-16 | RESERVED | R | 0h | Reserved |
15-0 | CAPT_VALUE | R | 0h | The value of the samplestamp XOSC counter
(STMPXCNT.CURR_VALUE) 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 STMPCTL.STMP_EN = 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 #I2S_I2S_MAP1_I2S_ALL_STMPXPER_FIGURE and described in #I2S_I2S_MAP1_I2S_ALL_STMPXPER_TABLE.
Return to the Summary Table.
XOSC Period Value
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | VALUE | ||||||||||||||||||||||||||||||
R-0h | R-0h | ||||||||||||||||||||||||||||||
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 STMPCTL.STMP_EN = 0. |
STMPWCNTCAPT0 is shown in #I2S_I2S_MAP1_I2S_ALL_STMPWCNTCAPT0_FIGURE and described in #I2S_I2S_MAP1_I2S_ALL_STMPWCNTCAPT0_TABLE.
Return to the Summary Table.
Captured WCLK Counter Value, Capture Channel 0
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | CAPT_VALUE | ||||||||||||||||||||||||||||||
R-0h | R-0h | ||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-16 | RESERVED | R | 0h | Reserved |
15-0 | CAPT_VALUE | R | 0h | The value of the samplestamp WCLK counter
(STMPWCNT.CURR_VALUE) 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 STMPCTL.STMP_EN = 0. |
STMPWPER is shown in #I2S_I2S_MAP1_I2S_ALL_STMPWPER_FIGURE and described in #I2S_I2S_MAP1_I2S_ALL_STMPWPER_TABLE.
Return to the Summary Table.
WCLK Counter Period Value
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | VALUE | ||||||||||||||||||||||||||||||
R-0h | R/W-0h | ||||||||||||||||||||||||||||||
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 #I2S_I2S_MAP1_I2S_ALL_STMPINTRIG_FIGURE and described in #I2S_I2S_MAP1_I2S_ALL_STMPINTRIG_TABLE.
Return to the Summary Table.
WCLK Counter Trigger Value for Input Pins
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | IN_START_WCNT | ||||||||||||||||||||||||||||||
R-0h | R/W-0h | ||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-16 | RESERVED | R | 0h | Reserved |
15-0 | IN_START_WCNT | 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 STMPWPER.VALUE. |
STMPOUTTRIG is shown in #I2S_I2S_MAP1_I2S_ALL_STMPOUTTRIG_FIGURE and described in #I2S_I2S_MAP1_I2S_ALL_STMPOUTTRIG_TABLE.
Return to the Summary Table.
WCLK Counter Trigger Value for Output Pins
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | OUT_START_WCNT | ||||||||||||||||||||||||||||||
R-0h | R/W-0h | ||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-16 | RESERVED | R | 0h | Reserved |
15-0 | OUT_START_WCNT | R/W | 0h | 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 STMPWPER.VALUE. |
STMPWSET is shown in #I2S_I2S_MAP1_I2S_ALL_STMPWSET_FIGURE and described in #I2S_I2S_MAP1_I2S_ALL_STMPWSET_TABLE.
Return to the Summary Table.
WCLK Counter Set Operation
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | VALUE | ||||||||||||||||||||||||||||||
R-0h | R/W-0h | ||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-16 | RESERVED | R | 0h | Reserved |
15-0 | VALUE | R/W | 0h | WCLK counter modification: Sets the running WCLK counter equal to the written value. |
STMPWADD is shown in #I2S_I2S_MAP1_I2S_ALL_STMPWADD_FIGURE and described in #I2S_I2S_MAP1_I2S_ALL_STMPWADD_TABLE.
Return to the Summary Table.
WCLK Counter Add Operation
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | VALUE_INC | ||||||||||||||||||||||||||||||
R-0h | R/W-0h | ||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-16 | RESERVED | R | 0h | Reserved |
15-0 | VALUE_INC | R/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 "STMPWPER.VALUE - value". |
STMPXPERMIN is shown in #I2S_I2S_MAP1_I2S_ALL_STMPXPERMIN_FIGURE and described in #I2S_I2S_MAP1_I2S_ALL_STMPXPERMIN_TABLE.
Return to the Summary Table.
XOSC Minimum Period Value
Minimum Value of STMPXPER
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | VALUE | ||||||||||||||||||||||||||||||
R-0h | R/W-FFFFh | ||||||||||||||||||||||||||||||
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 STMPXPER.VALUE). |
STMPWCNT is shown in #I2S_I2S_MAP1_I2S_ALL_STMPWCNT_FIGURE and described in #I2S_I2S_MAP1_I2S_ALL_STMPWCNT_TABLE.
Return to the Summary Table.
Current Value of WCNT
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | CURR_VALUE | ||||||||||||||||||||||||||||||
R-0h | R-0h | ||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-16 | RESERVED | R | 0h | Reserved |
15-0 | CURR_VALUE | R | 0h | Current value of the WCLK counter |
STMPXCNT is shown in #I2S_I2S_MAP1_I2S_ALL_STMPXCNT_FIGURE and described in #I2S_I2S_MAP1_I2S_ALL_STMPXCNT_TABLE.
Return to the Summary Table.
Current Value of XCNT
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | CURR_VALUE | ||||||||||||||||||||||||||||||
R-0h | R-0h | ||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-16 | RESERVED | R | 0h | Reserved |
15-0 | CURR_VALUE | R | 0h | Current value of the XOSC counter, latched when reading STMPWCNT. |
STMPXCNTCAPT1 is shown in #I2S_I2S_MAP1_I2S_ALL_STMPXCNTCAPT1_FIGURE and described in #I2S_I2S_MAP1_I2S_ALL_STMPXCNTCAPT1_TABLE.
Return to the Summary Table.
Internal. Only to be used through TI provided API.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | CAPT_VALUE | ||||||||||||||||||||||||||||||
R-0h | R-0h | ||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-16 | RESERVED | R | 0h | Reserved |
15-0 | CAPT_VALUE | R | 0h | Internal. Only to be used through TI provided API. |
STMPWCNTCAPT1 is shown in #I2S_I2S_MAP1_I2S_ALL_STMPWCNTCAPT1_FIGURE and described in #I2S_I2S_MAP1_I2S_ALL_STMPWCNTCAPT1_TABLE.
Return to the Summary Table.
Internal. Only to be used through TI provided API.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | CAPT_VALUE | ||||||||||||||||||||||||||||||
R-0h | R-0h | ||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-16 | RESERVED | R | 0h | Reserved |
15-0 | CAPT_VALUE | R | 0h | Internal. Only to be used through TI provided API. |
IRQMASK is shown in #I2S_I2S_MAP1_I2S_ALL_IRQMASK_FIGURE and described in #I2S_I2S_MAP1_I2S_ALL_IRQMASK_TABLE.
Return to the Summary Table.
Interrupt Mask Register
Selects mask states of the flags in IRQFLAGS that
contribute to the I2S_IRQ event.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | |||||||
R-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | |||||||
R-0h | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | |||||||
R-0h | |||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | AIF_DMA_IN | AIF_DMA_OUT | WCLK_TIMEOUT | BUS_ERR | WCLK_ERR | PTR_ERR | |
R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-6 | RESERVED | R | 0h | Reserved |
5 | AIF_DMA_IN | R/W | 0h | IRQFLAGS.AIF_DMA_IN interrupt mask 0: Disable 1: Enable |
4 | AIF_DMA_OUT | R/W | 0h | IRQFLAGS.AIF_DMA_OUT interrupt mask 0: Disable 1: Enable |
3 | WCLK_TIMEOUT | R/W | 0h | IRQFLAGS.WCLK_TIMEOUT interrupt mask 0: Disable 1: Enable |
2 | BUS_ERR | R/W | 0h | IRQFLAGS.BUS_ERR interrupt mask 0: Disable 1: Enable |
1 | WCLK_ERR | R/W | 0h | IRQFLAGS.WCLK_ERR interrupt mask 0: Disable 1: Enable |
0 | PTR_ERR | R/W | 0h | IRQFLAGS.PTR_ERR interrupt mask. 0: Disable 1: Enable |
IRQFLAGS is shown in #I2S_I2S_MAP1_I2S_ALL_IRQFLAGS_FIGURE and described in #I2S_I2S_MAP1_I2S_ALL_IRQFLAGS_TABLE.
Return to the Summary Table.
Raw Interrupt Status Register
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | |||||||
R-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | |||||||
R-0h | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | |||||||
R-0h | |||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | AIF_DMA_IN | AIF_DMA_OUT | WCLK_TIMEOUT | BUS_ERR | WCLK_ERR | PTR_ERR | |
R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-6 | RESERVED | R | 0h | Reserved |
5 | AIF_DMA_IN | 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 | AIF_DMA_OUT | 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 | WCLK_TIMEOUT | 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 IRQCLR.WCLK_TIMEOUT). |
2 | BUS_ERR | 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 IRQCLR.BUS_ERR). Note that DMA initiated transactions to illegal addresses will not trigger an interrupt. The response to such transactions is undefined. |
1 | WCLK_ERR | 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 IRQCLR.WCLK_ERR). |
0 | PTR_ERR | 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 IRQCLR.PTR_ERR). |
IRQSET is shown in #I2S_I2S_MAP1_I2S_ALL_IRQSET_FIGURE and described in #I2S_I2S_MAP1_I2S_ALL_IRQSET_TABLE.
Return to the Summary Table.
Interrupt Set Register
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | |||||||
R-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | |||||||
R-0h | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | |||||||
R-0h | |||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | AIF_DMA_IN | AIF_DMA_OUT | WCLK_TIMEOUT | BUS_ERR | WCLK_ERR | PTR_ERR | |
R-0h | W-0h | W-0h | W-0h | W-0h | W-0h | W-0h | |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-6 | RESERVED | R | 0h | Reserved |
5 | AIF_DMA_IN | W | 0h | 1: Sets the interrupt of IRQFLAGS.AIF_DMA_IN (unless a auto clear criteria was given at the same time, in which the set will be ignored) |
4 | AIF_DMA_OUT | W | 0h | 1: Sets the interrupt of IRQFLAGS.AIF_DMA_OUT (unless a auto clear criteria was given at the same time, in which the set will be ignored) |
3 | WCLK_TIMEOUT | W | 0h | 1: Sets the interrupt of IRQFLAGS.WCLK_TIMEOUT |
2 | BUS_ERR | W | 0h | 1: Sets the interrupt of IRQFLAGS.BUS_ERR |
1 | WCLK_ERR | W | 0h | 1: Sets the interrupt of IRQFLAGS.WCLK_ERR |
0 | PTR_ERR | W | 0h | 1: Sets the interrupt of IRQFLAGS.PTR_ERR |
IRQCLR is shown in #I2S_I2S_MAP1_I2S_ALL_IRQCLR_FIGURE and described in #I2S_I2S_MAP1_I2S_ALL_IRQCLR_TABLE.
Return to the Summary Table.
Interrupt Clear Register
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | |||||||
R-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | |||||||
R-0h | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | |||||||
R-0h | |||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | AIF_DMA_IN | AIF_DMA_OUT | WCLK_TIMEOUT | BUS_ERR | WCLK_ERR | PTR_ERR | |
R-0h | W-0h | W-0h | W-0h | W-0h | W-0h | W-0h | |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-6 | RESERVED | R | 0h | Reserved |
5 | AIF_DMA_IN | W | 0h | 1: Clears the interrupt of IRQFLAGS.AIF_DMA_IN (unless a set criteria was given at the same time in which the clear will be ignored) |
4 | AIF_DMA_OUT | W | 0h | 1: Clears the interrupt of IRQFLAGS.AIF_DMA_OUT (unless a set criteria was given at the same time in which the clear will be ignored) |
3 | WCLK_TIMEOUT | W | 0h | 1: Clears the interrupt of IRQFLAGS.WCLK_TIMEOUT (unless a set criteria was given at the same time in which the clear will be ignored) |
2 | BUS_ERR | W | 0h | 1: Clears the interrupt of IRQFLAGS.BUS_ERR (unless a set criteria was given at the same time in which the clear will be ignored) |
1 | WCLK_ERR | W | 0h | 1: Clears the interrupt of IRQFLAGS.WCLK_ERR (unless a set criteria was given at the same time in which the clear will be ignored) |
0 | PTR_ERR | W | 0h | 1: Clears the interrupt of IRQFLAGS.PTR_ERR (unless a set criteria was given at the same time in which the clear will be ignored) |