SLAU962A December 2025 – June 2026 MSPM33C321A , MSPM33C321A-Q1
Table 27-11 lists the memory-mapped registers for the I2S registers. All register offset addresses not listed in Table 27-11 should be considered as reserved locations and the register contents should not be modified.
| Offset | Acronym | Register Name | Group | Section |
|---|---|---|---|---|
| 800h | PWREN | Power enable | Go | |
| 804h | RSTCTL | Reset Control | Go | |
| 808h | CLKCFG | Peripheral Clock Configuration Register | Go | |
| 814h | STAT | Status Register | Go | |
| 1008h | PDBGCTL | Peripheral Debug Control | Go | |
| 1020h | IIDX | Interrupt index | Go | |
| 1028h | IMASK | Interrupt Mask Register Selects mask states of the flags in [IRQFLAGS.*] that contribute to the I2S_IRQ event. | Go | |
| 1030h | RIS | This registers gives the raw interrupt status | Go | |
| 1038h | MIS | This registers gives the raw interrupt status | Go | |
| 1040h | ISET | Interrupt Set Register. This register can be used by software for diagnostics and safety checking purposes. | Go | |
| 1048h | ICLR | Interrupt clear register. This register allows software to clear interrupts. | Go | |
| 1058h | IMASK | Interrupt mask | DMA_TRIG_RX | Go |
| 1060h | RIS | Raw interrupt status | DMA_TRIG_RX | Go |
| 1068h | MIS | Masked interrupt status | DMA_TRIG_RX | Go |
| 1070h | ISET | Interrupt set | DMA_TRIG_RX | Go |
| 1088h | IMASK | Interrupt mask | DMA_TRIG_TX | Go |
| 1090h | RIS | Raw interrupt status | DMA_TRIG_TX | Go |
| 1098h | MIS | Masked interrupt status | DMA_TRIG_TX | Go |
| 10A0h | ISET | Interrupt set | DMA_TRIG_TX | Go |
| 10E4h | INTCTL | Interrupt control register | Go | |
| 1100h | FMTCFG | This register configures the serial interface format | Go | |
| 1104h | CLKCTL | This register controls internal audio clock | Go | |
| 1108h | STAT | Status Register | Go | |
| 110Ch | IFLS | Interrupt FIFO Level Select Register | Go | |
| 1110h | WCLKSRC | This register configures the WCLK Source | Go | |
| 1118h | DIRCFG | This register configures the direction of data pins(AD0/AD1) | Go | |
| 1120h | TXDATA | Transmit Data Register | Go | |
| 1124h | RXDATA | Receive Data Register | Go | |
| 1148h | WMASK0 | This register configures the word selection mask for data pin 0(AD0) | Go | |
| 114Ch | WMASK1 | This register configures the word selection mask for data pin 1(AD1) | Go | |
| 1160h | MCLKDIV | This field configures MCLK division ratio | Go | |
| 1164h | WCLKDIV | Configures WCLK division ratio | Go | |
| 1168h | BCLKDIV | This field configures BCLK division ratio | Go |
Complex bit access types are encoded to fit into small table cells. Table 27-12 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 |
| WK | W K | Write Write protected by a key |
| Reset or Default Value | ||
| -n | Value after reset or the default value | |
PWREN is shown in Figure 27-16 and described in Table 27-13.
Return to the Summary Table.
Register to control the power state
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| KEY | |||||||
| W-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 | ENABLE | ||||||
| R-0h | R/WK-0h | ||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-24 | KEY | W | 0h | KEY to allow Power State Change
|
| 23-1 | RESERVED | R | 0h | |
| 0 | ENABLE | R/WK | 0h | Enable the power KEY must be set to 26h to write to this bit.
|
RSTCTL is shown in Figure 27-17 and described in Table 27-14.
Return to the Summary Table.
Register to control reset assertion and de-assertion
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| KEY | |||||||
| W-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 | RESETSTKYCLR | RESETASSERT | |||||
| R-0h | WK-0h | WK-0h | |||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-24 | KEY | W | 0h | Unlock key
|
| 23-2 | RESERVED | R | 0h | |
| 1 | RESETSTKYCLR | WK | 0h | Clear the RESETSTKY bit in the STAT register KEY must be set to B1h to write to this bit.
|
| 0 | RESETASSERT | WK | 0h | Assert reset to the peripheral KEY must be set to B1h to write to this bit.
|
CLKCFG is shown in Figure 27-18 and described in Table 27-15.
Return to the Summary Table.
Peripheral Clock Configuration Register
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| KEY | RESERVED | ||||||||||||||
| W-0h | R-0h | ||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | DAICLK | ||||||||||||||
| R-0h | R/W-0h | ||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-24 | KEY | W | 0h | KEY to Allow State Change -- 0xA9
|
| 23-2 | RESERVED | R | 0h | |
| 1-0 | DAICLK | R/W | 0h | Audio Clock
|
STAT is shown in Figure 27-19 and described in Table 27-16.
Return to the Summary Table.
peripheral enable and reset status
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | RESETSTKY | ||||||
| R-0h | R-0h | ||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | |||||||
| R-0h | |||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | |||||||
| R-0h | |||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-17 | RESERVED | R | 0h | |
| 16 | RESETSTKY | R | 0h | This bit indicates, if the peripheral was reset, since this bit was cleared by RESETSTKYCLR in the RSTCTL register
|
| 15-0 | RESERVED | R | 0h |
PDBGCTL is shown in Figure 27-20 and described in Table 27-17.
Return to the Summary Table.
This register can be used by the software developer to control the behavior of the peripheral relative to the 'Core Halted' input
| 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 | SOFT | FREE | |||||
| R-0h | R/W-1h | R/W-1h | |||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-2 | RESERVED | R | 0h | |
| 1 | SOFT | R/W | 1h | Soft halt boundary control. This function is only available, if FREE is set to 'STOP'
|
| 0 | FREE | R/W | 1h | Free run control
|
IIDX is shown in Figure 27-21 and described in Table 27-18.
Return to the Summary Table.
This register provides the highest priority enabled interrupt index. Value 0x00 means no event pending. Interrupt 1 is the highest priority, IIDX next highest, 4, 8, … IIDX^31 is the least priority. That is, the least bit position that is set to 1 denotes the highest priority pending interrupt. The priority order is fixed. However, users can implement their own prioritization schemes using other registers that expose the full set of interrupts that have occurred. On each read, only one interrupt is indicated. On a read, the current interrupt (highest priority) is automatically cleared by the hardware and the corresponding interrupt flag in [RIS] and [MIS] are cleared as well. After a read from the CPU (not from the debug interface), the register is updated with the next highest priority interrupt, if none are pending, then it should display 0x0.
| 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 | STAT | ||||||||||||||||||||||||||||||
| R-0h | R-0h | ||||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-8 | RESERVED | R | 0h | |
| 7-0 | STAT | R | 0h | Module Interrupt Vector Value. This register provides the highest priority interrupt index. A read clears the corresponding interrupt flag in RIS and MIS registers. 15h-1Fh = Reserved
|
IMASK is shown in Figure 27-22 and described in Table 27-19.
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 | RESERVED | RESERVED | RESERVED | DMA_DONE_TX | |||
| R-0h | R-0h | R-0h | R-0h | R/W-0h | |||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| DMA_DONE_RX | RESERVED | ||||||
| R/W-0h | R-0h | ||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | TXFIFO_UNF | RXFIFO_OVF | TXINT | RXINT | WCLKERR | ||
| R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | ||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-20 | RESERVED | R | 0h | |
| 19 | RESERVED | R | 0h | Reserved |
| 18 | RESERVED | R | 0h | Reserved |
| 17 | RESERVED | R | 0h | |
| 16 | DMA_DONE_TX | R/W | 0h | Enable DMA Done on TX Event Channel Interrupt
|
| 15 | DMA_DONE_RX | R/W | 0h | Enable DMA Done on RX Event Channel Interrupt
|
| 14-5 | RESERVED | R | 0h | |
| 4 | TXFIFO_UNF | R/W | 0h | TX FIFO underflow interrupt mask
|
| 3 | RXFIFO_OVF | R/W | 0h | RXFIFO overflow event mask.
|
| 2 | TXINT | R/W | 0h | Enable Transmit Interrupt.
|
| 1 | RXINT | R/W | 0h | Enable Receive Interrupt.
|
| 0 | WCLKERR | R/W | 0h | WCLKERR interrupt mask
|
RIS is shown in Figure 27-23 and described in Table 27-20.
Return to the Summary Table.
This registers gives the raw interrupt status
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | RESERVED | RESERVED | RESERVED | DMA_DONE_TX | |||
| R-0h | R-0h | R-0h | R-0h | R-0h | |||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| DMA_DONE_RX | RESERVED | ||||||
| R-0h | R-0h | ||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | TXFIFO_UNF | RXFIFO_OVF | TXINT | RXINT | WCLKERR | ||
| R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | ||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-20 | RESERVED | R | 0h | |
| 19 | RESERVED | R | 0h | Reserved |
| 18 | RESERVED | R | 0h | Reserved |
| 17 | RESERVED | R | 0h | |
| 16 | DMA_DONE_TX | R | 0h | DMA Done on TX Event Channel Interrupt
|
| 15 | DMA_DONE_RX | R | 0h | DMA Done on RX Event Channel Interrupt
|
| 14-5 | RESERVED | R | 0h | |
| 4 | TXFIFO_UNF | R | 0h | TX FIFO Underflow Interrupt
|
| 3 | RXFIFO_OVF | R | 0h | RXFIFO overflow event. This interrupt is set if an RX FIFO overflow has been detected.
|
| 2 | TXINT | R | 0h | Transmit Interrupt.
|
| 1 | RXINT | R | 0h | Receive Interrupt.
|
| 0 | WCLKERR | R | 0h | This interrupt is 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.
|
MIS is shown in Figure 27-24 and described in Table 27-21.
Return to the Summary Table.
This registers gives the raw interrupt status
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | RESERVED | RESERVED | RESERVED | DMA_DONE_TX | |||
| R-0h | R-0h | R-0h | R-0h | R-0h | |||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| DMA_DONE_RX | RESERVED | ||||||
| R-0h | R-0h | ||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | TXFIFO_UNF | RXFIFO_OVF | TXINT | RXINT | WCLKERR | ||
| R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | ||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-20 | RESERVED | R | 0h | |
| 19 | RESERVED | R | 0h | Reserved |
| 18 | RESERVED | R | 0h | Reserved |
| 17 | RESERVED | R | 0h | |
| 16 | DMA_DONE_TX | R | 0h | Masked DMA Done on TX Event Channel Interrupt
|
| 15 | DMA_DONE_RX | R | 0h | Masked DMA Done on RX Event Channel Interrupt
|
| 14-5 | RESERVED | R | 0h | |
| 4 | TXFIFO_UNF | R | 0h | TX FIFO underflow interrupt
|
| 3 | RXFIFO_OVF | R | 0h | Masked RXFIFO overflow event. This interrupt is set if an RX FIFO overflow has been detected.
|
| 2 | TXINT | R | 0h | Masked Transmit Interrupt.
|
| 1 | RXINT | R | 0h | Masked Receive Interrupt.
|
| 0 | WCLKERR | R | 0h | This interrupt is 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.
|
ISET is shown in Figure 27-25 and described in Table 27-22.
Return to the Summary Table.
Interrupt Set Register. This register can be used by software for diagnostics and safety checking purposes.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | RESERVED | RESERVED | RESERVED | DMA_DONE_TX | |||
| R-0h | R-0h | R-0h | R-0h | W-0h | |||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| DMA_DONE_RX | RESERVED | ||||||
| W-0h | R-0h | ||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | TXFIFO_UNF | RXFIFO_OVF | TXINT | RXINT | WCLKERR | ||
| R-0h | W-0h | W-0h | W-0h | W-0h | W-0h | ||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-20 | RESERVED | R | 0h | |
| 19 | RESERVED | R | 0h | Reserved |
| 18 | RESERVED | R | 0h | Reserved |
| 17 | RESERVED | R | 0h | |
| 16 | DMA_DONE_TX | W | 0h | Set DMA Done on TX Event Channel Interrupt
|
| 15 | DMA_DONE_RX | W | 0h | Set DMA Done on RX Event Channel Interrupt
|
| 14-5 | RESERVED | R | 0h | |
| 4 | TXFIFO_UNF | W | 0h | Set TX FIFO Underflow Event
|
| 3 | RXFIFO_OVF | W | 0h | Set RXFIFO overflow event.
|
| 2 | TXINT | W | 0h | Set Transmit Interrupt.
|
| 1 | RXINT | W | 0h | Set Receive Interrupt.
|
| 0 | WCLKERR | W | 0h | This field sets the interrupt WCLKERR
|
ICLR is shown in Figure 27-26 and described in Table 27-23.
Return to the Summary Table.
Interrupt clear register. This register allows software to clear interrupts.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | RESERVED | RESERVED | RESERVED | DMA_DONE_TX | |||
| R-0h | R-0h | R-0h | R-0h | W-0h | |||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| DMA_DONE_RX | RESERVED | ||||||
| W-0h | R-0h | ||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | TXFIFO_UNF | RXFIFO_OVF | TXINT | RXINT | WCLKERR | ||
| R-0h | W-0h | W-0h | W-0h | W-0h | W-0h | ||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-20 | RESERVED | R | 0h | |
| 19 | RESERVED | R | 0h | Reserved |
| 18 | RESERVED | R | 0h | Reserved |
| 17 | RESERVED | R | 0h | |
| 16 | DMA_DONE_TX | W | 0h | Clear DMA Done on TX Event Channel Interrupt
|
| 15 | DMA_DONE_RX | W | 0h | Clear DMA Done on RX Event Channel Interrupt
|
| 14-5 | RESERVED | R | 0h | |
| 4 | TXFIFO_UNF | W | 0h | Clear TXFIFO underflow event
|
| 3 | RXFIFO_OVF | W | 0h | Clear RXFIFO overflow event.
|
| 2 | TXINT | W | 0h | Clear Transmit Interrupt.
|
| 1 | RXINT | W | 0h | Clear Receive Interrupt.
|
| 0 | WCLKERR | W | 0h | This field clears the interrupt WCLKERR
|
IMASK is shown in Figure 27-27 and described in Table 27-24.
Return to the Summary Table.
Interrupt Mask. If a bit is set, then corresponding interrupt is un-masked. Un-masking the interrupt causes the raw interrupt to be visible in IIDX, as well as MIS.
| 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 | RXINT | RESERVED | |||||
| R-0h | R/W-0h | R-0h | |||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-2 | RESERVED | R | 0h | |
| 1 | RXINT | R/W | 0h | Enable Receive Interrupt.
|
| 0 | RESERVED | R | 0h |
RIS is shown in Figure 27-28 and described in Table 27-25.
Return to the Summary Table.
Raw interrupt status. Reflects all pending interrupts, regardless of masking. The RIS register allows the user to implement a poll scheme. A flag set in this register can be cleared by writing 1 to the ICLR register bit even if the corresponding IMASK bit is not enabled.
| 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 | RXINT | RESERVED | |||||
| R-0h | R-0h | R-0h | |||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-2 | RESERVED | R | 0h | |
| 1 | RXINT | R | 0h | Receive Interrupt.
|
| 0 | RESERVED | R | 0h |
MIS is shown in Figure 27-29 and described in Table 27-26.
Return to the Summary Table.
Masked interrupt status. This is an AND of the IMASK and RIS registers.
| 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 | RXINT | RESERVED | |||||
| R-0h | R-0h | R-0h | |||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-2 | RESERVED | R | 0h | |
| 1 | RXINT | R | 0h | Masked Receive Interrupt.
|
| 0 | RESERVED | R | 0h |
ISET is shown in Figure 27-30 and described in Table 27-27.
Return to the Summary Table.
Interrupt set. Allows interrupts to be set by software (useful in diagnostics and safety checks). Writing a 1 to a bit in ISET will set the event and therefore the related RIS bit also gets set. If the interrupt is enabled through the mask, then the corresponding MIS bit is also set.
| 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 | RXINT | RESERVED | |||||
| R-0h | W-0h | R-0h | |||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-2 | RESERVED | R | 0h | |
| 1 | RXINT | W | 0h | Set Receive Interrupt.
|
| 0 | RESERVED | R | 0h |
IMASK is shown in Figure 27-31 and described in Table 27-28.
Return to the Summary Table.
Interrupt Mask. If a bit is set, then corresponding interrupt is un-masked. Un-masking the interrupt causes the raw interrupt to be visible in IIDX, as well as MIS.
| 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 | TXINT | RESERVED | |||||
| R-0h | R/W-0h | R-0h | |||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-3 | RESERVED | R | 0h | |
| 2 | TXINT | R/W | 0h | Enable Transmit Interrupt.
|
| 1-0 | RESERVED | R | 0h |
RIS is shown in Figure 27-32 and described in Table 27-29.
Return to the Summary Table.
Raw interrupt status. Reflects all pending interrupts, regardless of masking. The RIS register allows the user to implement a poll scheme. A flag set in this register can be cleared by writing 1 to the ICLR register bit even if the corresponding IMASK bit is not enabled.
| 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 | TXINT | RESERVED | |||||
| R-0h | R-0h | R-0h | |||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-3 | RESERVED | R | 0h | |
| 2 | TXINT | R | 0h | Transmit Interrupt.
|
| 1-0 | RESERVED | R | 0h |
MIS is shown in Figure 27-33 and described in Table 27-30.
Return to the Summary Table.
Masked interrupt status. This is an AND of the IMASK and RIS registers.
| 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 | TXINT | RESERVED | |||||
| R-0h | R-0h | R-0h | |||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-3 | RESERVED | R | 0h | |
| 2 | TXINT | R | 0h | Masked Transmit Interrupt.
|
| 1-0 | RESERVED | R | 0h |
ISET is shown in Figure 27-34 and described in Table 27-31.
Return to the Summary Table.
Interrupt set. Allows interrupts to be set by software (useful in diagnostics and safety checks). Writing a 1 to a bit in ISET will set the event and therefore the related RIS bit also gets set. If the interrupt is enabled through the mask, then the corresponding MIS bit is also set.
| 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 | TXINT | RESERVED | |||||
| R-0h | W-0h | R-0h | |||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-3 | RESERVED | R | 0h | |
| 2 | TXINT | W | 0h | Set Transmit Interrupt.
|
| 1-0 | RESERVED | R | 0h |
INTCTL is shown in Figure 27-35 and described in Table 27-32.
Return to the Summary Table.
Interrupt 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 | INTEVAL | ||||||
| R-0h | W-0h | ||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-1 | RESERVED | R | 0h | |
| 0 | INTEVAL | W | 0h | Writing a 1 to this field re-evaluates the interrupt sources.
|
FMTCFG is shown in Figure 27-36 and described in Table 27-33.
Return to the Summary Table.
This register configures the serial interface format
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| ENABLE | RESERVED | SUSPEND | |||||
| R/W-0h | R-0h | R/W-0h | |||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | EMPTYSLOTOUTPUT | ||||||
| R-0h | R/W-0h | ||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| DATADLY | |||||||
| R/W-1h | |||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| MEMLEN32 | SMPLEDGE | DUALPHASE | WORDLEN | ||||
| R/W-0h | R/W-1h | R/W-1h | R/W-10h | ||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31 | ENABLE | R/W | 0h | I2S Module Enable.
If the I2S is disabled in the middle of transmission or reception, it completes the current character before stopping.
If ENABLE bit is not set, all registers can still be accessed and updated. It is recommended to setup and change I2S operation mode while ENABLE bit is cleared to avoid unpredictable behavior during setup or update.
If disabled, I2S module will not send or receive any data.
|
| 30-25 | RESERVED | R | 0h | |
| 24 | SUSPEND | R/W | 0h | Suspend external communication
|
| 23-18 | RESERVED | R | 0h | |
| 17-16 | EMPTYSLOTOUTPUT | R/W | 0h | The field configures the EMPTYSLOTOUTPUT data pin direction
|
| 15-8 | DATADLY | R/W | 1h | This field configures the number of BCLK periods between a WCLK edge and MSB of the first word in a phase
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 | MEMLEN32 | R/W | 0h | This register configures the size of each word stored to or loaded from memory
|
| 6 | SMPLEDGE | R/W | 1h | This field configures the sample edge/ transfer edge of data (and WCLK) on BCLK
|
| 5 | DUALPHASE | R/W | 1h | This field selects between dual-phase or single-phase format
|
| 4-0 | WORDLEN | R/W | Fh | Number of bits per word (8-32): 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 32 give undefined behavior. Data written to memory is always aligned to 16 or 32 bits as defined by MEMLEN32. Bit widths that differ from this alignment will either be truncated or zero padded. |
CLKCTL is shown in Figure 27-37 and described in Table 27-34.
Return to the Summary Table.
This register controls internal audio clock
| 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 | MEN | WCLKPHASE | WBEN | ||||
| R-0h | R/W-0h | R/W-0h | R/W-0h | ||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-4 | RESERVED | R | 0h | |
| 3 | MEN | R/W | 0h | This field configures the MCLK generation
|
| 2-1 | WCLKPHASE | R/W | 0h | The field configures how the WCLK division ratio is calculated and used to generate different duty cycles (See WDIV) |
| 0 | WBEN | R/W | 0h | This field configures WCLK/BCLK generation
|
STAT is shown in Figure 27-38 and described in Table 27-35.
Return to the Summary Table.
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 |
| TXCLR | TXFF | TXFE | RXCLR | RXFF | RXFE | RESERVED | |
| R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-8 | RESERVED | R | 0h | |
| 7 | TXCLR | R | 0h | TX FIFO Clear Status
|
| 6 | TXFF | R | 0h | Transmit FIFO Full The meaning of this bit depends on the state of the FEN bit in the CTL0 register.
|
| 5 | TXFE | R | 1h | Transmit FIFO Empty The meaning of this bit depends on the state of the FEN bit in the CTL0 register.
|
| 4 | RXCLR | R | 0h | RX FIFO Clear Status
|
| 3 | RXFF | R | 0h | Receive FIFO Full The meaning of this bit depends on the state of the FEN bit in the CTL0 register.
|
| 2 | RXFE | R | 1h | Receive FIFO Empty The meaning of this bit depends on the state of the FEN bit in the CTL0 register.
|
| 1-0 | RESERVED | R | 0h |
IFLS is shown in Figure 27-39 and described in Table 27-36.
Return to the Summary Table.
The IFLS register is the interrupt FIFO level select register. You can use this register to define the levels at which the TX, RX and timeout interrupt flags are triggered. The interrupts are generated based on a transition through a level rather than being based on the level. That is, the interrupts are generated when the fill level progresses through the trigger level. For example, if the receive trigger level is set to the half-way mark, the interrupt is triggered when the receive FIFO is filled with two or more characters. Out of reset, the TXIFLSEL and RXIFLSEL bits are configured so that the FIFOs trigger an interrupt at the half-way mark.
| 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 |
| RXCLR | RXIFLSEL | TXCLR | TXIFLSEL | ||||
| R/W-0h | R/W-2h | R/W-0h | R/W-2h | ||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-8 | RESERVED | R | 0h | |
| 7 | RXCLR | R/W | 0h | RX FIFO CLEAR. Setting this bit will clear the RX FIFO contents.
|
| 6-4 | RXIFLSEL | R/W | 2h | Receive Interrupt FIFO Level Select The trigger points for the receive interrupt are as follows:
Note:
In ULP domain the trigger levels are used for:
0: LVL_1_4
4: LVL_FULL
For undefined settings the default configuration is used.
|
| 3 | TXCLR | R/W | 0h | TX FIFO CLEAR. Setting this bit will clear the TX FIFO contents.
|
| 2-0 | TXIFLSEL | R/W | 2h | FIFO Level Select for generating events (interrupt/dma).
Note: for undefined settings the default configuration is used.
|
WCLKSRC is shown in Figure 27-40 and described in Table 27-37.
Return to the Summary Table.
This register configures the WCLK Source
| 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 | WCLKINV | WBCLKSRC | |||||
| R-0h | R/W-Xh | R/W-Xh | |||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-3 | RESERVED | R | 0h | |
| 2 | WCLKINV | R/W | Xh | This field Inverts WCLK source (pad or internal).
|
| 1-0 | WBCLKSRC | R/W | Xh | This field selects WCLK/BCLK source for I2S.
|
DIRCFG is shown in Figure 27-41 and described in Table 27-38.
Return to the Summary Table.
This register configures the direction of data pins(AD0/AD1)
| 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 | |
| 5-4 | AD1 | R/W | 0h | The field configures the AD1 data pin direction
|
| 3-2 | RESERVED | R | 0h | |
| 1-0 | AD0 | R/W | 0h | The field configures the AD0 data pin direction
|
TXDATA is shown in Figure 27-42 and described in Table 27-39.
Return to the Summary Table.
Transmit Data Register. This register is the transmit data register (the interface to the FIFOs). For transmitted data, if the FIFO is enabled, data written to this location is pushed onto the transmit FIFO. If the FIFO is disabled, data is stored in the transmitter holding register (the bottom word of the transmit FIFO). A write to this register initiates a transmission from the module.
| 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 |
| DATA | |||||||||||||||||||||||||||||||
| W-0h | |||||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | DATA | W | 0h | Data Transmitted or Received Data that is to be transmitted via the is written to this field. When read, this field contains the data that was received by the .
|
RXDATA is shown in Figure 27-43 and described in Table 27-40.
Return to the Summary Table.
Receive Data Register. This register is the data receive register (the interface to the FIFOs). For received data, if the FIFO is enabled, the data byte and the 4-bit status (break, frame, parity, and overrun) is pushed onto the 12-bit wide receive FIFO. If the FIFO is disabled, the data byte and status are stored in the receiving holding register (the bottom word of the receive FIFO). The received data can be retrieved by reading this register.
| 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 |
| DATA | |||||||||||||||||||||||||||||||
| R-0h | |||||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | DATA | R | 0h | Received Data. When read, this field contains the data that was received by the .
|
WMASK0 is shown in Figure 27-44 and described in Table 27-41.
Return to the Summary Table.
This register configures the word selection mask for data pin 0(AD0)
| 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-0h | ||||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-16 | RESERVED | R | 0h | |
| 15-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/16 channels based on SoC configuration. Channels that are not included in the mask will not be sampled nor stored in memory; data clocked out in these slots is as per configured EMPTYSLOTOUTPUT. 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. |
WMASK1 is shown in Figure 27-45 and described in Table 27-42.
Return to the Summary Table.
This register configures the word selection mask for data pin 1(AD1)
| 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-0h | ||||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-16 | RESERVED | R | 0h | |
| 15-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/16 channels based on SoC configuration. Channels that are not included in the mask will not be sampled nor stored in memory; data clocked out in these slots is as per configured EMPTYSLOTOUTPUT. 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. |
MCLKDIV is shown in Figure 27-46 and described in Table 27-43.
Return to the Summary Table.
This field configures MCLK division ratio
| 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 | MDIV | ||||||||||||||||||||||||||||||
| R-0h | R/W-0h | ||||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-10 | RESERVED | R | 0h | |
| 9-0 | MDIV | R/W | 0h | An unsigned factor of the division ratio used to generate MCLK [2-1024]: MCLK = MCUCLK/MDIV[Hz] 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. |
WCLKDIV is shown in Figure 27-47 and described in Table 27-44.
Return to the Summary Table.
This field configures WCLK division ratio
| 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 | WDIV | ||||||||||||||||||||||||||||||
| R-0h | R/W-0h | ||||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-16 | RESERVED | R | 0h | |
| 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] 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] |
BCLKDIV is shown in Figure 27-48 and described in Table 27-45.
Return to the Summary Table.
This field configures BCLK division ratio
| 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 | BDIV | ||||||||||||||||||||||||||||||
| R-0h | R/W-0h | ||||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-10 | RESERVED | R | 0h | |
| 9-0 | BDIV | R/W | 0h | An unsigned factor of the division ratio used to generate BCLK [2-1024]: BCLK = MCUCLK/BDIV[Hz] A value of 0 is interpreted as 1024. A value of 1 is invalid. If BDIV is odd and SMPLEDGE = 0, the low phase of the clock is one MCUCLK period longer than the high phase. If BDIV is odd and SMPLEDGE = 1 , the high phase of the clock is one MCUCLK period longer than the low phase. |