SWRU543B January 2019 – June 2025 CC3230S , CC3230SF , CC3235MODS , CC3235MODSF , CC3235S , CC3235SF
Control registers for the McASP are summarized in Table 12-3. The control registers are accessed through the peripheral configuration port. The receive buffer registers (RBUF) and transmit buffer registers (XBUF) can also be accessed through the DMA port, as listed in Table 12-4. See the device-specific data manual for the memory address of these registers.
Control registers for the McASP Audio FIFO (AFIFO) are summarized in Table 12-5. The AFIFO Write FIFO (WFIFO) and Read FIFO (RFIFO) have independent control and status registers. The AFIFO control registers are accessed through the peripheral configuration port. See the device-specific data manual for the memory address of these registers.
Table 12-3 lists the memory-mapped registers for the I2S. All register offset addresses not listed in Table 12-3 should be considered as reserved locations and the register contents should not be modified.
Base address is 0x4401C000.
| Offset | Acronym | Register Name | Section |
|---|---|---|---|
| 14h | PDIR | Pin Direction | Section 12.5.3 |
| 44h | GBLCTL | Global Control | Section 12.5.6 |
| 60h | RGBLCTL | Receiver Global Control. Alias of GBLCTL, only receive bits are affected - allows receiver to be reset independently from transmitter | Section 12.5.7 |
| 64h | RMASK | Receive Format Unit Bit Mask | Section 12.5.8 |
| 68h | RFMT | Receive Bit Stream Format | Section 12.5.9 |
| 6Ch | AFSRCTL | Receive Frame Sync Control | Section 12.5.10 |
| 78h | RTDM | Receive TDM Time Slot 0-31 | Section 12.5.11 |
| 7Ch | RINTCTL | Receiver Interrupt Control | Section 12.5.12 |
| 80h | RSTAT | Receiver Status | Section 12.5.13 |
| 84h | RSLOT | Current Receive TDM Time Slot | Section 12.5.14 |
| 8Ch | REVTCTL | Receiver DMA Event Control | Section 12.5.15 |
| A0h | XGBLCTL | Transmitter Global Control. Alias of GBLCTL, only transmit bits are affected - allows transmitter to be reset independently from receiver | Section 12.5.16 |
| A4h | XMASK | Transmit Format Unit Bit Mask | Section 12.5.17 |
| A8h | XFMT | Transmit Bit Stream Format | Section 12.5.18 |
| ACh | AFSXCTL | Transmit Frame Sync Control | Section 12.5.19 |
| B0h | ACLKXCTL | Transmit Clock Control | Section 12.5.20 |
| B4h | AHCLKXCTL | Transmit High-frequency Clock Control | Section 12.5.21 |
| B8h | XTDM | Transmit TDM Time Slot 0-31 | Section 12.5.22 |
| BCh | XINTCTL | Transmitter Interrupt Control | Section 12.5.23 |
| C0h | XSTAT | Transmitter Status | Section 12.5.24 |
| C4h | XSLOT | Current Transmit TDM Time Slot | Section 12.5.25 |
| C8h | XCLKCHK | Transmit Clock Check Control | |
| CCh | XEVTCTL | Transmitter DMA Event Control | Section 12.5.26 |
| 180h | SRCTL0 | Serializer Control Register 0 | Section 12.5.27 |
| 184h | SRCTL1 | Serializer Control Register 1 | Section 12.5.27 |
| 200h | XBUF0(1) | Transmit Buffer Register for Serializer 0 | Section 12.5.28 |
| 204h | XBUF1(1) | Transmit Buffer Register for Serializer 1 | Section 12.5.28 |
| 280h | RBUF0(2) | Receive Buffer Register for Serializer 0 | Section 12.5.29 |
| 284h | RBUF1(2) | Receive Buffer Register for Serializer 1 | Section 12.5.29 |
| Hex Address | Register Name | Register Description |
|---|---|---|
| Read Accesses | RBUF | Receive buffer DMA port address. Cycles through receive serializers, skipping over transmit serializers and inactive serializers. Starts at the lowest serializer at the beginning of each time slot. Reads from DMA port only if XBUSEL = 0 in XFMT. |
| Write Accesses | XBUF | Transmit buffer DMA port address. Cycles through transmit serializers, skipping over receive and inactive serializers. Starts at the lowest serializer at the beginning of each time slot. Writes to DMA port only if RBUSEL = 0 in RFMT. |
| Offset | Acronym | Register | Section |
|---|---|---|---|
| 0h | AFIFOREV | AFIFO revision identification register | Section 12.5.1 |
| 10h | WFIFOCTL | Write FIFO control register | Section 12.5.2 |
| 14h | WFIFOSTS | Write FIFO status register | |
| 18h | RFIFOCTL | Read FIFO control register | Section 12.5.4 |
| 1Ch | RFIFOSTS | Read FIFO status register | Section 12.5.5 |
AFIFOREV is shown in Figure 12-4 and described in Table 12-6.
Return to Summary Table.
| 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 |
| REV | |||||||||||||||||||||||||||||||
| R-0h | |||||||||||||||||||||||||||||||
| LEGEND: R/W = Read/Write; R = Read only; W1toCl = Write 1 to clear bit; -n = value after reset |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | REV | R | 0h | Identifies revision of peripheral. |
WFIFOCTL is shown in Figure 12-5 and described in Table 12-7.
Return to Summary Table.
The WNUMEVT and WNUMDMA values must be set before enabling the Write FIFO. If the Write FIFO is to be enabled, it must be enabled before taking the I2S out of reset.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | WENA | ||||||
| R-0h | R/W-0h | ||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| WNUMEVT | |||||||
| R/W-10h | |||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| WNUMDMA | |||||||
| R/W-4h | |||||||
| LEGEND: R/W = Read/Write; R = Read only; W1toCl = Write 1 to clear bit; -n = value after reset |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-17 | RESERVED | R | 0h | Reserved. The reserved bit location always returns the default value. A value written to this field has no effect. If writing to this field, always write the default value for future device compatibility. |
| 16 | WENA | R/W | 0h | Write FIFO enable bit. 0h = Write FIFO is disabled. The WLVL bit in the Write FIFO status register (WFIFOSTS) is reset to 0 and pointers are initialized, that is, the Write FIFO is “flushed.” 1h = Write FIFO is enabled. If Write FIFO is to be enabled, it must be enabled before taking I2S out of reset. |
| 15-8 | WNUMEVT | R/W | 10h | Write word count per DMA event (32-bit). When the Write FIFO has space for at least WNUMEVT words of data, then an AXEVT (transmit DMA event) is generated to the host/DMA controller. This value should be set to a nonzero integer multiple of the number of serializers enabled as transmitters. This value must be set before enabling the Write FIFO. 0h = 0 words 1h = 1 word 2h = 2 words 3h - 40h = 3 to 16 words 41h - FFh = Reserved |
| 7-0 | WNUMDMA | R/W | 4h | Write word count per transfer (32-bit words). Upon a transmit DMA event from the McASP, WNUMDMA words are transferred from the Write FIFO to the I2S. This value must equal the number of McASP serializers used as transmitters. This value must be set before enabling the Write FIFO. 0h = 0 words 1h = 1 word 2h = 2 words 3h - 10h = 3 to 16 words 11h - FFh = Reserved |
PDIR is shown in Figure 12-6 and described in Table 12-8.
Return to Summary Table.
The pin direction register (PDIR) specifies the direction of AXR[n], ACLKX, AHCLKX, AFSX, ACLKR, AHCLKR, and AFSR pins as either input or output pins.
Regardless of the pin function register (PFUNC) setting, each PDIR bit must be set to 1 for the specified pin to be enabled as an output, and each PDIR bit must be cleared to 0 for the specified pin to be an input.
For example, if the I2S is configured to use an internally-generated bit clock and the clock is to be driven out to the system, the PFUNC bit must be cleared to 0 (McASP function) and the PDIR bit must be set to 1 (an output).
When AXR[n] is configured to transmit, the PFUNC bit must be cleared to 0 (McASP function) and the PDIR bit must be set to 1 (an output). Similarly, when AXR[n] is configured to receive, the PFUNC bit must be cleared to 0 (McASP function) and the PDIR bit must be cleared to 0 (an input).
Writing to Reserved Bits: Writing a value other than 0 to reserved bits in this register may cause improper device operation. This includes bits that are not implemented on a particular DSP.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| AFSR | AHCLKR | ACLKR | AFSX | AHCLKX | ACLKX | AMUTE | RESERVED |
| R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R-0h |
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||
| R-0h | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| AXR[15-0] | |||||||
| R/W-0h | |||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| AXR[15-0] | |||||||
| R/W-0h | |||||||
| LEGEND: R/W = Read/Write; R = Read only; W1toCl = Write 1 to clear bit; -n = value after reset |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31 | AFSR | R/W | 0h | Determines if AFSR pin functions as an input or output. 0h = Pin functions as input. 1h = Pin functions as output. |
| 30 | AHCLKR | R/W | 0h | Determines if AHCLKR pin functions as an input or output. 0h = Pin functions as input. 1h = Pin functions as output. |
| 29 | ACLKR | R/W | 0h | Determines if ACLKR pin functions as an input or output. 0h = Pin functions as input. 1h = Pin functions as output. |
| 28 | AFSX | R/W | 0h | Determines if AFSX pin functions as an input or output. 0h = Pin functions as input. 1h = Pin functions as output. |
| 27 | AHCLKX | R/W | 0h | Determines if AHCLKX pin functions as an input or output. 0h = Pin functions as input. 1h = Pin functions as output. |
| 26 | ACLKX | R/W | 0h | Determines if ACLKX pin functions as an input or output. 0h = Pin functions as input. 1h = Pin functions as output. |
| 25 | AMUTE | R/W | 0h | Determines if AMUTE pin functions as an input or output. 0h = Pin functions as input. 1h = Pin functions as output. |
| 24-16 | RESERVED | R | 0h | Reserved. The reserved bit location always returns the default value. A value written to this field has no effect. If writing to this field, always write the default value for future device compatibility. |
| 15-0 | AXR[15-0] | R/W | 0h | Determines if AXR[n] pin functions as an input or output. 0h = Pin functions as input. 1h = Pin functions as output. |
RFIFOCTL is shown in Figure 12-7 and described in Table 12-9.
Return to Summary Table.
The RNUMEVT and RNUMDMA values must be set before enabling the Read FIFO. If the Read FIFO is to be enabled, it must be enabled before taking the McASP out of reset.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | RENA | ||||||
| R-0h | R/W-0h | ||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RNUMEVT | |||||||
| R/W-10h | |||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RNUMDMA | |||||||
| R/W-4h | |||||||
| LEGEND: R/W = Read/Write; R = Read only; W1toCl = Write 1 to clear bit; -n = value after reset |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-17 | RESERVED | R | 0h | Reserved. The reserved bit location always returns the default value. A value written to this field has no effect. If writing to this field, always write the default value for future device compatibility. |
| 16 | RENA | R/W | 0h | Read FIFO enable bit. 0h = Read FIFO is disabled. The RLVL bit in the Read FIFO status register (RFIFOSTS) is reset to 0 and pointers are initialized, that is, the Read FIFO is “flushed.” 1h = Read FIFO is enabled. If Read FIFO is to be enabled, it must be enabled before taking McASP out of reset. |
| 15-8 | RNUMEVT | R/W | 10h | Read word count per DMA event (32-bit). When the Read FIFO has space for at least RNUMEVT words of data, then an AREVT (receive DMA event) is generated to the host/DMA controller. This value should be set to a nonzero integer multiple of the number of serializers enabled as receivers. This value must be set before enabling the Read FIFO. 0h = 0 words 1h = 1 word 2h = 2 words 3h - 40h = 3 to 16 words 41h - FFh = Reserved |
| 7-0 | RNUMDMA | R/W | 4h | Read word count per transfer (32-bit words). Upon a receive DMA event from the McASP, RNUMDMA words are transferred from the Read FIFO to the McASP. This value must equal the number of McASP serializers used as receivers. This value must be set before enabling the Read FIFO. 0h = 0 words 1h = 1 word 2h = 2 words 3h - 10h = 3 to 16 words 11h - FFh = Reserved |
RFIFOSTS is shown in Figure 12-8 and described in Table 12-10.
Return to Summary Table.
| 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 | RLVL | ||||||||||||||||||||||||||||||
| R-0h | R-0h | ||||||||||||||||||||||||||||||
| LEGEND: R/W = Read/Write; R = Read only; W1toCl = Write 1 to clear bit; -n = value after reset |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-8 | RESERVED | R | 0h | Reserved. The reserved bit location always returns the default value. A value written to this field has no effect. If writing to this field, always write the default value for future device compatibility. |
| 7-0 | RLVL | R | 0h | Read level (read-only). Number of 32-bit words currently in the Read FIFO. 0h = 0 words currently in Read FIFO. 1h = 1 word currently in Read FIFO. 2h = 2 words currently in Read FIFO. 3h - 40h = 3 to 64 words currently in Read FIFO. 41h - FFh = Reserved |
GBLCTL is shown in Figure 12-9 and described in Table 12-11.
Return to Summary Table.
The global control register (GBLCTL) provides initialization of the transmit and receive sections.
The bit fields in GBLCTL are synchronized and latched by the corresponding clocks (ACLKX for bits 12-8 and ACLKR for bits 4-0). Before GBLCTL is programmed, ensure that serial clocks are running. If the corresponding external serial clocks, ACLKX and ACLKR, are not yet running, select the internal serial clock source in AHCLKXCTL, AHCLKRCTL, ACLKXCTL, and ACLKRCTL before GBLCTL is programmed. Also, after programming any bits in GBLCTL do not proceed until you have read back from GBLCTL and verified that the bits are latched in GBLCTL.
| 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 | XFRST | XSMRST | XSRCLR | XHCLKRST | XCLKRST | ||
| R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | ||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | RFRST | RSMRST | RSRCLR | RHCLKRST | RCLKRST | ||
| R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | ||
| LEGEND: R/W = Read/Write; R = Read only; W1toCl = Write 1 to clear bit; -n = value after reset |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-13 | RESERVED | R | 0h | Reserved. The reserved bit location always returns the default value. A value written to this field has no effect. If writing to this field, always write the default value for future device compatibility. |
| 12 | XFRST | R/W | 0h | Transmit frame sync generator reset enable bit. 0h = Transmit frame sync generator is reset. 1h = Transmit frame sync generator is active. When released from reset, the transmit frame sync generator begins counting serial clocks and generating frame sync as programmed. |
| 11 | XSMRST | R/W | 0h | Transmit state machine reset enable bit. 0h = Transmit state machine is held in reset. AXR[n] pin state: If PFUNC[n] = 0 and PDIR[n] = 1; then the serializer drives the AXR[n] pin to the state specified for inactive time slot (as determined by DISMOD bits in SRCTL). 1h = Transmit state machine is released from reset. When released from reset, the transmit state machine immediately transfers data from XRBUF[n] to XRSR[n]. The transmit state machine sets the underrun flag (XUNDRN) in XSTAT, if XRBUF[n] have not been preloaded with data before reset is released. The transmit state machine also immediately begins detecting frame sync and is ready to transmit. Transmit TDM time slot begins at slot 0 after reset is released. |
| 10 | XSRCLR | R/W | 0h | Transmit serializer clear enable bit. By clearing then setting this bit, the transmit buffer is flushed to an empty state (XDATA = 1). If XSMRST = 1, XSRCLR = 1, XDATA = 1, and XBUF is not loaded with new data before the start of the next active time slot, an underrun will occur. 0h = Transmit serializers are cleared. 1h = Transmit serializers are active. When the transmit serializers are first taken out of reset (XSRCLR changes from 0 to 1), the transmit data ready bit (XDATA) in XSTAT is set to indicate XBUF is ready to be written. |
| 9 | XHCLKRST | R/W | 0h | Transmit high-frequency clock divider reset enable bit. 0h = Transmit high-frequency clock divider is held in reset. 1h = Transmit high-frequency clock divider is running. |
| 8 | XCLKRST | R/W | 0h | Transmit clock divider reset enable bit. 0h = Transmit clock divider is held in reset. When the clock divider is in reset, it passes through a divide-by-1 of its input. 1h = Transmit clock divider is running. |
| 7-5 | RESERVED | R | 0h | Reserved. The reserved bit location always returns the default value. A value written to this field has no effect. If writing to this field, always write the default value for future device compatibility. |
| 4 | RFRST | R/W | 0h | Receive frame sync generator reset enable bit. 0h = Receive frame sync generator is reset. 1h = Receive frame sync generator is active. When released from reset, the receive frame sync generator begins counting serial clocks and generating frame sync as programmed. |
| 3 | RSMRST | R/W | 0h | Receive state machine reset enable bit. 0h = Receive state machine is held in reset. 1h = Receive state machine is released from reset. When released from reset, the receive state machine immediately begins detecting frame sync and is ready to receive. Receive TDM time slot begins at slot 0 after reset is released. |
| 2 | RSRCLR | R/W | 0h | Receive serializer clear enable bit. By clearing then setting this bit, the receive buffer is flushed. 0h = Receive serializers are cleared. 1h = Receive serializers are active. |
| 1 | RHCLKRST | R/W | 0h | Receive high-frequency clock divider reset enable bit. 0h = Receive high-frequency clock divider is held in reset. 1h = Receive high-frequency clock divider is running. |
| 0 | RCLKRST | R/W | 0h | Receive high-frequency clock divider reset enable bit. 0h = Receive clock divider is held in reset. When the clock divider is in reset, it passes through a divide-by-1 of its input. 1h = Receive clock divider is running. |
RGBLCTL is shown in Figure 12-10 and described in Table 12-12.
Return to Summary Table.
Alias of the global control register (GBLCTL). Writing to the receiver global control register (RGBLCTL) affects only the receive bits of GBLCTL (bits 4-0). Reads from RGBLCTL return the value of GBLCTL. RGBLCTL allows the receiver to be reset independently from the transmitter. See Section 3.8 for a detailed description of GBLCTL.
| 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 | XFRST | XSMRST | XSRCLR | XHCLKRST | XCLKRST | ||
| R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | ||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | RFRST | RSMRST | RSRCLR | RHCLKRST | RCLKRST | ||
| R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | ||
| LEGEND: R/W = Read/Write; R = Read only; W1toCl = Write 1 to clear bit; -n = value after reset |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-13 | RESERVED | R | 0h | Reserved. The reserved bit location always returns the default value. A value written to this field has no effect. If writing to this field, always write the default value for future device compatibility. |
| 12 | XFRST | R | 0h | Transmit frame sync generator reset enable bit. A read of this bit returns the XFRST bit value of GBLCTL. Writes have no effect. |
| 11 | XSMRST | R | 0h | Transmit state machine reset enable bit. A read of this bit returns the XSMRST bit value of GBLCTL. Writes have no effect. |
| 10 | XSRCLR | R | 0h | Transmit serializer clear enable bit. A read of this bit returns the XSRCLR bit value of GBLCTL. Writes have no effect. |
| 9 | XHCLKRST | R | 0h | Transmit high-frequency clock divider reset enable bit. A read of this bit returns the XHCLKRST bit value of GBLCTL. Writes have no effect. |
| 8 | XCLKRST | R | 0h | Transmit clock divider reset enable bit. a read of this bit returns the XCLKRST bit value of GBLCTL. Writes have no effect. |
| 7-5 | RESERVED | R | 0h | Reserved. The reserved bit location always returns the default value. A value written to this field has no effect. If writing to this field, always write the default value for future device compatibility. |
| 4 | RFRST | R/W | 0h | Receive frame sync generator reset enable bit. A write to this bit affects the RFRST bit of GBLCTL. 0h = Receive frame sync generator is reset. 1h = Receive frame sync generator is active. |
| 3 | RSMRST | R/W | 0h | Receive state machine reset enable bit. A write to this bit affects the RSMRST bit of GBLCTL. 0h = Receive state machine is held in reset. 1h = Receive state machine is released from reset. |
| 2 | RSRCLR | R/W | 0h | Receive serializer clear enable bit. A write to this bit affects the RSRCLR bit of GBLCTL. 0h = Receive serializers are cleared. 1h = Receive serializers are active. |
| 1 | RHCLKRST | R/W | 0h | Receive high-frequency clock divider reset enable bit. A write to this bit affects the RHCLKRST bit of GBLCTL. 0h = Receive high-frequency clock divider is held in reset. 1h = Receive high-frequency clock divider is running. |
| 0 | RCLKRST | R/W | 0h | Receive clock divider reset enable bit. A write to this bit affects the RCLKRST bit of GBLCTL. 0h = Receive clock divider is held in reset. 1h = Receive clock divider is running. |
RMASK is shown in Figure 12-11 and described in Table 12-13.
Return to Summary Table.
The receive format unit bit mask register (RMASK) determines which bits of the received data are masked off and padded with a known value before being read by the CPU or DMA.
| 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 |
| RMASK[31-0] | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| LEGEND: R/W = Read/Write; R = Read only; W1toCl = Write 1 to clear bit; -n = value after reset |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | RMASK[31-0] | R/W | 0h | Receive data mask enable bit. 0h = Corresponding bit of receive data (after passing through reverse and rotate units) is masked out and then padded with the selected bit pad value (RPAD and RPBIT bits in RFMT). 1h = Corresponding bit of receive data (after passing through reverse and rotate units) is returned to CPU or DMA. |
RFMT is shown in Figure 12-12 and described in Table 12-14.
Return to Summary Table.
The receive bit stream format register (RFMT) configures the receive data format.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | RDATDLY | ||||||
| R-0h | R/W-0h | ||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RRVRS | RESERVED | RPBIT | |||||
| R/W-0h | R-0h | R/W-0h | |||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RSSZ | RBUSEL | RESERVED | |||||
| R/W-0h | R/W-0h | R-0h | |||||
| LEGEND: R/W = Read/Write; R = Read only; W1toCl = Write 1 to clear bit; -n = value after reset |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-18 | RESERVED | R | 0h | Reserved. The reserved bit location always returns the default value. A value written to this field has no effect. If writing to this field, always write the default value for future device compatibility. |
| 17-16 | RDATDLY | R/W | 0h | Receive bit delay. 0h = Reserved 1h = 2-bit delay. The first receive data bit, AXR[n], occurs one ACLKR cycle after the receive frame sync (AFSR). 2h = Reserved 3h = Reserved |
| 15 | RRVRS | R/W | 0h | Receive serial bitstream order. 0h = Reserved 1h = Bitstream is MSB first. Bit reversal is performed in receive format bit reverse unit. |
| 14-13 | RESERVED | R | 0h | Reserved. The reserved bit location always returns the default value. A value written to this field has no effect. If writing to this field, always write the default value for future device compatibility. |
| 12-8 | RPBIT | R/W | 0h | RPBIT value determines which bit (as read by the CPU or DMA from RBUF[n]) is used to pad the extra bits. This field only applies when RPAD = 2h. 0h - 1Fh = Reserved |
| 7-4 | RSSZ | R/W | 0h | Receive slot size. 0-2h = Reserved 3h = Slot size is 8 bits. 4h = Reserved 5h = Reserved 6h = Reserved 7h = Slot size is 16 bits. 8h = Reserved 9h = Reserved Ah = Reserved Bh = Slot size is 24 bits Ch = Reserved Dh = Reserved Eh = Reserved Fh = Reserved |
| 3 | RBUSEL | R/W | 0h | Selects whether reads from serializer buffer XRBUF[n] originate from the peripheral configuration port or the DMA port. 0h = Reads from XRBUF[n] originate on DMA port. Reads from XRBUF[n] on the peripheral configuration port are ignored. 1h = Reads from XRBUF[n] originate on peripheral configuration port. Reads from XRBUF[n] on the DMA port are ignored. |
| 2-0 | RESERVED | R | 0h | Reserved. The reserved bit location always returns the default value. A value written to this field has no effect. If writing to this field, always write the default value for future device compatibility. |
AFSRCTL is shown in Figure 12-13 and described in Table 12-15.
Return to Summary Table.
The receive frame sync control register (AFSRCTL) configures the receive frame sync (AFSR).
| 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 |
| RMOD | |||||||
| R/W-0h | |||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RMOD | RESERVED | FRWID | RESERVED | FSRM | FSRP | ||
| R/W-0h | R-0h | R/W-0h | R-0h | R/W-0h | R/W-0h | ||
| LEGEND: R/W = Read/Write; R = Read only; W1toCl = Write 1 to clear bit; -n = value after reset |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-16 | RESERVED | R | 0h | Reserved. The reserved bit location always returns the default value. A value written to this field has no effect. If writing to this field, always write the default value for future device compatibility. |
| 15-7 | RMOD | R/W | 0h | Receive frame sync mode select bits. 0h = Reserved 1h = Reserved 2h = 2-slot TDM (I2S mode) |
| 6-5 | RESERVED | R | 0h | Reserved. The reserved bit location always returns the default value. A value written to this field has no effect. If writing to this field, always write the default value for future device compatibility. |
| 4 | FRWID | R/W | 0h | Receive frame sync width select bit indicates the width of the receive frame sync (AFSR) during its active period. 0h = Reserved 1h = Single word |
| 3-2 | RESERVED | R | 0h | Reserved. The reserved bit location always returns the default value. A value written to this field has no effect. If writing to this field, always write the default value for future device compatibility. |
| 1 | FSRM | R/W | 0h | Receive frame sync generation select bit. 0h = Externally-generated receive frame sync 1h = Internally-generated receive frame sync |
| 0 | FSRP | R/W | 0h | Receive frame sync polarity select bit. 0h = Reserved 1h = A falling edge on receive frame sync (AFSR) indicates the beginning of a frame. |
RTDM is shown in Figure 12-14 and described in Table 12-16.
Return to Summary Table.
The receive TDM time slot register (RTDM) specifies which TDM time slot the receiver is active.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R/W-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||
| R/W-0h | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | |||||||
| R/W-0h | |||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | RTDMS1 | RTDMS0 | |||||
| R/W-0h | R/W-0h | R/W-0h | |||||
| LEGEND: R/W = Read/Write; R = Read only; W1toCl = Write 1 to clear bit; -n = value after reset |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-2 | RESERVED | R/W | 0h | Reserved. The reserved bit location always returns the default value. A value written to this field has no effect. If writing to this field, always write the default value for future device compatibility. |
| 1 | RTDMS1 | R/W | 0h | Receiver mode enable for TDM slot 1. 0h = Receive TDM time slot 1 is inactive. The receive serializer does not shift in data during this slot. 1h = Receive TDM time slot 1 is active. The receive serializer shifts in data during this slot. |
| 0 | RTDMS0 | R/W | 0h | Receiver mode enable for TDM slot 0. 0h = Receive TDM time slot 0 is inactive. The receive serializer does not shift in data during this slot. 1h = Receive TDM time slot 0 is active. The receive serializer shifts in data during this slot. |
RINTCTL is shown in Figure 12-15 and described in Table 12-17.
Return to Summary Table.
The receiver interrupt control register (RINTCTL) controls generation of the McASP receive interrupt (RINT). When the register bit(s) is set to 1, the occurrence of the enabled McASP condition(s) generates RINT. See Section 12.5.23 for a description of the interrupt conditions.
| 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 |
| RSTAFRM | RESERVED | RDATA | RLAST | RESERVED | RSYNCERR | ROVRN | |
| R/W-0h | R-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | R/W-0h | |
| LEGEND: R/W = Read/Write; R = Read only; W1toCl = Write 1 to clear bit; -n = value after reset |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-8 | RESERVED | R | 0h | Reserved. The reserved bit location always returns the default value. A value written to this field has no effect. If writing to this field, always write the default value for future device compatibility. |
| 7 | RSTAFRM | R/W | 0h | Receive start of frame interrupt enable bit. 0h = Interrupt is disabled. A receive start of frame interrupt does not generate a McASP receive interrupt (RINT). 1h = Interrupt is enabled. A receive start of frame interrupt generates a McASP receive interrupt (RINT). |
| 6 | RESERVED | R | 0h | Reserved. The reserved bit location always returns the default value. A value written to this field has no effect. If writing to this field, always write the default value for future device compatibility. |
| 5 | RDATA | R/W | 0h | Receive data ready interrupt enable bit. 0h = Interrupt is disabled. A receive data ready interrupt does not generate a McASP receive interrupt (RINT). 1h = Interrupt is enabled. A receive data ready interrupt generates a McASP receive interrupt (RINT). |
| 4 | RLAST | R/W | 0h | Receive last slot interrupt enable bit. 0h = Interrupt is disabled. A receive last slot interrupt does not generate a McASP receive interrupt (RINT). 1h = Interrupt is enabled. A receive last slot interrupt generates a McASP receive interrupt (RINT). |
| 3-2 | RESERVED | R | 0h | Reserved. The reserved bit location always returns the default value. A value written to this field has no effect. If writing to this field, always write the default value for future device compatibility. |
| 1 | RSYNCERR | R/W | 0h | Unexpected receive frame sync interrupt enable bit. 0h = Interrupt is disabled. An unexpected receive frame sync interrupt does not generate a McASP receive interrupt (RINT). 1h = Interrupt is enabled. An unexpected receive frame sync interrupt generates a McASP receive interrupt (RINT). |
| 0 | ROVRN | R/W | 0h | Receiver overrun interrupt enable bit. 0h = Interrupt is disabled. A receiver overrun interrupt does not generate a McASP receive interrupt (RINT). 1h = Interrupt is enabled. A receiver overrun interrupt generates a McASP receive interrupt (RINT). |
RSTAT is shown in Figure 12-16 and described in Table 12-18.
Return to Summary Table.
The receiver status register (RSTAT) provides the receiver status and receive TDM time slot number. If the McASP logic attempts to set an interrupt flag in the same cycle that the CPU writes to the flag to clear it, the McASP logic has priority and the flag remains set. This also causes a new interrupt request to be generated.
| 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 | RERR | ||||||
| R-0h | R/W-0h | ||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RDMAERR | RSTAFRM | RDATA | RLAST | RTDMSLOT | RESERVED | RSYNCERR | ROVRN |
| R/W-0h | R/W-0h | R/W-0h | R/W-0h | R-0h | R-0h | R/W-0h | R/W-0h |
| LEGEND: R/W = Read/Write; R = Read only; W1toCl = Write 1 to clear bit; -n = value after reset |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-9 | RESERVED | R | 0h | Reserved. The reserved bit location always returns the default value. A value written to this field has no effect. If writing to this field, always write the default value for future device compatibility. |
| 8 | RERR | R/W | 0h | RERR bit always returns a logic-OR of: ROVRN | RSYNCERR | RCKFAIL | RDMAERR Allows a single bit to be checked to determine if a receiver error interrupt has occurred. 0h = No errors have occurred. 1h = An error has occurred. |
| 7 | RDMAERR | R/W | 0h | Receive DMA error flag. RDMAERR is set when the CPU or DMA reads more serializers through the DMA port in a given time slot than were programmed as receivers. Causes a receive interrupt (RINT), if this bit is set and RDMAERR in RINTCTL is set. This bit is cleared by writing a 1 to this bit. Writing a 0 to this bit has no effect. 0h = Receive DMA error did not occur. 1h = Receive DMA error did occur. |
| 6 | RSTAFRM | R/W | 0h | Receive start of frame flag. Causes a receive interrupt (RINT), if this bit is set and RSTAFRM in RINTCTL is set. This bit is cleared by writing a 1 to this bit. Writing a 0 to this bit has no effect. 0h = No new receive frame sync (AFSR) is detected. 1h = A new receive frame sync (AFSR) is detected. |
| 5 | RDATA | R/W | 0h | Receive data ready flag. Causes a receive interrupt (RINT), if this bit is set and RDATA in RINTCTL is set. This bit is cleared by writing a 1 to this bit. Writing a 0 to this bit has no effect. 0h = No new data in RBUF. 1h = Data is transferred from XRSR to RBUF and ready to be serviced by the CPU or DMA. When RDATA is set, it always causes a DMA event (AREVT). |
| 4 | RLAST | R/W | 0h | Receive last slot flag. RLAST is set along with RDATA, if the current slot is the last slot in a frame. Causes a receive interrupt (RINT), if this bit is set and RLAST in RINTCTL is set. This bit is cleared by writing a 1 to this bit. Writing a 0 to this bit has no effect. 0h = Current slot is not the last slot in a frame. 1h = Current slot is the last slot in a frame. RDATA is also set. |
| 3 | RTDMSLOT | R | 0h | Returns the LSB of RSLOT. Allows a single read of RSTAT to determine whether the current TDM time slot is even or odd. 0h = Current TDM time slot is odd. 1h = Current TDM time slot is even. |
| 2 | RESERVED | R | 0h | Reserved. The reserved bit location always returns the default value. A value written to this field has no effect. If writing to this field, always write the default value for future device compatibility. |
| 1 | RSYNCERR | R/W | 0h | Unexpected receive frame sync flag. RSYNCERR is set when a new receive frame sync (AFSR) occurs before it is expected. Causes a receive interrupt (RINT), if this bit is set and RSYNCERR in RINTCTL is set. This bit is cleared by writing a 1 to this bit. Writing a 0 to this bit has no effect. 0h = Unexpected receive frame sync did not occur. 1h = Unexpected receive frame sync did occur. |
| 0 | ROVRN | R/W | 0h | Receiver overrun flag. ROVRN is set when the receive serializer is instructed to transfer data from XRSR to RBUF, but the former data in RBUF has not yet been read by the CPU or DMA. Causes a receive interrupt (RINT), if this bit is set and ROVRN in RINTCTL is set. This bit is cleared by writing a 1 to this bit. Writing a 0 to this bit has no effect. 0h = Receiver overrun did not occur. 1h = Receiver overrun did occur. |
RSLOT is shown in Figure 12-17 and described in Table 12-19.
Return to Summary Table.
The current receive TDM time slot register (RSLOT) indicates the current time slot for the receive data frame.
| 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 | RSLOTCNT | ||||||||||||||||||||||||||||||
| R-0h | R-0h | ||||||||||||||||||||||||||||||
| LEGEND: R/W = Read/Write; R = Read only; W1toCl = Write 1 to clear bit; -n = value after reset |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-9 | RESERVED | R | 0h | Reserved. The reserved bit location always returns the default value. A value written to this field has no effect. If writing to this field, always write the default value for future device compatibility. |
| 8-0 | RSLOTCNT | R | 0h | Current receive time slot count. Legal values: 0 or 1 |
REVTCTL is shown in Figure 12-18 and described in Table 12-20.
Return to Summary Table.
Accessing REVTCTL when not implemented on a specific DSP may cause improper device operation.
| 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 | RDATDMA | ||||||
| R-0h | R/W-0h | ||||||
| LEGEND: R/W = Read/Write; R = Read only; W1toCl = Write 1 to clear bit; -n = value after reset |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-1 | RESERVED | R | 0h | Reserved. The reserved bit location always returns the default value. A value written to this field has no effect. If writing to this field, always write the default value for future device compatibility. |
| 0 | RDATDMA | R/W | 0h | Receive data DMA request enable bit. If writing to this field, always write the default value of 0. 0h = Receive data DMA request is enabled. 1h = Reserved. |
XGBLCTL is shown in Figure 12-19 and described in Table 12-21.
Return to Summary Table.
Alias of the global control register (GBLCTL). Writing to the transmitter global control register (XGBLCTL) affects only the transmit bits of GBLCTL (bits 12-8). Reads from XGBLCTL return the value of GBLCTL. XGBLCTL allows the transmitter to be reset independently from the receiver.
| 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 | XFRST | XSMRST | XSRCLR | XHCLKRST | XCLKRST | ||
| R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | ||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | RFRST | RSMRST | RSRCLR | RHCLKRST | RCLKRST | ||
| R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | ||
| LEGEND: R/W = Read/Write; R = Read only; W1toCl = Write 1 to clear bit; -n = value after reset |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-13 | RESERVED | R | 0h | Reserved. The reserved bit location always returns the default value. A value written to this field has no effect. If writing to this field, always write the default value for future device compatibility. |
| 12 | XFRST | R/W | 0h | Transmit frame sync generator reset enable bit. A write to this bit affects the XFRST bit of GBLCTL. 0h = Transmit frame sync generator is reset. 1h = Transmit frame sync generator is active. |
| 11 | XSMRST | R/W | 0h | Transmit state machine reset enable bit. A write to this bit affects the XSMRST bit of GBLCTL. 0h = Transmit state machine is held in reset. 1h = Transmit state machine is released from reset. |
| 10 | XSRCLR | R/W | 0h | Transmit serializer clear enable bit. A write to this bit affects the XSRCLR bit of GBLCTL. 0h = Transmit serializers are cleared. 1h = Transmit serializers are active. |
| 9 | XHCLKRST | R/W | 0h | Transmit high-frequency clock divider reset enable bit. A write to this bit affects the XHCLKRST bit of GBLCTL. 0h = Transmit high-frequency clock divider is held in reset. 1h = Transmit high-frequency clock divider is running. |
| 8 | XCLKRST | R/W | 0h | Transmit clock divider reset enable bit. A write to this bit affects the XCLKRST bit of GBLCTL. 0h = Transmit clock divider is held in reset. 1h = Transmit clock divider is running. |
| 7-5 | RESERVED | R | 0h | Reserved. The reserved bit location always returns the default value. A value written to this field has no effect. If writing to this field, always write the default value for future device compatibility. |
| 4 | RFRST | R | 0h | Receive frame sync generator reset enable bit. A read of this bit returns the RFRST bit value of GBLCTL. Writes have no effect. |
| 3 | RSMRST | R | 0h | Receive state machine reset enable bit. A read of this bit returns the RSMRST bit value of GBLCTL. Writes have no effect. |
| 2 | RSRCLR | R | 0h | Receive serializer clear enable bit. A read of this bit returns the RSRSCLR bit value of GBLCTL. Writes have no effect. |
| 1 | RHCLKRST | R | 0h | Receive high-frequency clock divider reset enable bit. A read of this bit returns the RHCLKRST bit value of GBLCTL. Writes have no effect. |
| 0 | RCLKRST | R | 0h | Receive clock divider reset enable bit. A read of this bit returns the RCLKRST bit value of GBLCTL. Writes have no effect. |
XMASK is shown in Figure 12-20 and described in Table 12-22.
Return to Summary Table.
The transmit format unit bit mask register (XMASK) determines which bits of the transmitted data are masked off and padded with a known value before being shifted out the McASP.
| 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 |
| XMASK[31-0] | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| LEGEND: R/W = Read/Write; R = Read only; W1toCl = Write 1 to clear bit; -n = value after reset |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | XMASK[31-0] | R/W | 0h | Transmit data mask enable bit. 0h = Corresponding bit of transmit data (before passing through reverse and rotate units) is masked out and then padded with the selected bit pad value (XPAD and XPBIT bits in XFMT), which is transmitted out the McASP in place of the original bit. 1h = Corresponding bit of transmit data (before passing through reverse and rotate units) is transmitted out the McASP. |
XFMT is shown in Figure 12-21 and described in Table 12-23.
Return to Summary Table.
The transmit bit stream format register (XFMT) configures the transmit data format.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | XDATDLY | ||||||
| R-0h | R/W-0h | ||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| XRVRS | RESERVED | ||||||
| R/W-0h | R-0h | ||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| XSSZ | XBUSEL | XROT | |||||
| R/W-0h | R/W-0h | R/W-0h | |||||
| LEGEND: R/W = Read/Write; R = Read only; W1toCl = Write 1 to clear bit; -n = value after reset |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-18 | RESERVED | R | 0h | Reserved. The reserved bit location always returns the default value. A value written to this field has no effect. If writing to this field, always write the default value for future device compatibility. |
| 17-16 | XDATDLY | R/W | 0h | Transmit sync bit delay. |
| 15 | XRVRS | R/W | 0h | Transmit serial bitstream order. 0h = Reserved 1h = Bitstream is MSB first. Bit reversal is performed in receive format bit reverse unit. |
| 14-8 | RESERVED | R | 0h | Reserved. The reserved bit location always returns the default value. A value written to this field has no effect. If writing to this field, always write the default value for future device compatibility. |
| 7-4 | XSSZ | R/W | 0h | Transmit slot size. 0-2h = Reserved 3h = Slot size is 8 bits. 4h = Reserved 5h = Reserved 6h = Reserved 7h = Slot size is 16 bits. 8h = Reserved 9h = Reserved Ah = Reserved Bh = Slot size is 24 bits Ch = Reserved Dh = Reserved Eh = Reserved Fh = Reserved |
| 3 | XBUSEL | R/W | 0h | Selects whether writes to serializer buffer XRBUF[n] originate from the peripheral configuration port or the DMA port. 0h = Writes to XRBUF[n] originate on DMA port. Writes to XRBUF[n] on the peripheral configuration port are ignored with no effect to the McASP. 1h = Writes to XRBUF[n] originate on peripheral configuration port. Writes to XRBUF[n] on the DMA port are ignored with no effect to the McASP. |
| 2-0 | XROT | R/W | 0h | Right-rotation value for transmit rotate right format unit. 0h = Reserved 1h = Reserved 2h = Rotate right by 8 bit positions. 3h = Reserved 4h = Rotate right by 16 bit positions. 5h = Reserved 6h = Rotate right by 24 bit positions. 7h = Reserved |
AFSXCTL is shown in Figure 12-22 and described in Table 12-24.
Return to Summary Table.
The transmit frame sync control register (AFSXCTL) configures the transmit frame sync (AFSX).
| 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 |
| XMOD | |||||||
| R/W-0h | |||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| XMOD | RESERVED | FXWID | RESERVED | FSXM | FSXP | ||
| R/W-0h | R-0h | R/W-0h | R-0h | R/W-0h | R/W-0h | ||
| LEGEND: R/W = Read/Write; R = Read only; W1toCl = Write 1 to clear bit; -n = value after reset |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-16 | RESERVED | R | 0h | Reserved. The reserved bit location always returns the default value. A value written to this field has no effect. If writing to this field, always write the default value for future device compatibility. |
| 15-7 | XMOD | R/W | 0h | Transmit frame sync mode select bits. 0h = Reserved 1h = Reserved 2h-20h = 2-slot TDM (I2S mode) 180h - 1FFh = Reserved |
| 6-5 | RESERVED | R | 0h | Reserved. The reserved bit location always returns the default value. A value written to this field has no effect. If writing to this field, always write the default value for future device compatibility. |
| 4 | FXWID | R/W | 0h | Transmit frame sync width select bit indicates the width of the transmit frame sync (AFSX) during its active period. 0h = Reserved 1h = Single word |
| 3-2 | RESERVED | R | 0h | Reserved. The reserved bit location always returns the default value. A value written to this field has no effect. If writing to this field, always write the default value for future device compatibility. |
| 1 | FSXM | R/W | 0h | Transmit frame sync generation select bit. 0h = Externally-generated transmit frame sync 1h = Internally-generated transmit frame sync |
| 0 | FSXP | R/W | 0h | Transmit frame sync polarity select bit. 0h = Reserved 1h = A falling edge on transmit frame sync (AFSX) indicates the beginning of a frame. |
ACLKXCTL is shown in Figure 12-23 and described in Table 12-25.
Return to Summary Table.
The transmit clock control register (ACLKXCTL) configures the transmit bit clock (ACLKX) and the transmit clock generator.
| 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 |
| CLKXP | ASYNC | CLKXM | CLKXDIV | ||||
| R/W-0h | R/W-1h | R/W-1h | R/W-0h | ||||
| LEGEND: R/W = Read/Write; R = Read only; W1toCl = Write 1 to clear bit; -n = value after reset |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-8 | RESERVED | R | 0h | Reserved. The reserved bit location always returns the default value. A value written to this field has no effect. If writing to this field, always write the default value for future device compatibility. |
| 7 | CLKXP | R/W | 0h | Transmit bitstream clock polarity select bit. 0h = Reserved 1h = Falling edge. External receiver samples data on the rising edge of the serial clock, so the transmitter must shift data out on the falling edge of the serial clock. |
| 6 | ASYNC | R/W | 1h | Transmit/receive operation asynchronous enable bit. 0h = Synchronous. Transmit clock and frame sync provides the source for both the transmit and receive sections. Note that in this mode, the receive bit clock is an inverted version of the transmit bit clock. 1h = Reserved |
| 5 | CLKXM | R/W | 1h | Transmit bit clock source bit. 0h = External transmit clock source from ACLKX pin. 1h = Internal transmit clock source from output of programmable bit clock divider. |
| 4-0 | CLKXDIV | R/W | 0h | Transmit bit clock divide ratio bits determine the divide-down ratio from AHCLKX to ACLKX. 0h = Divide-by-1 1h = Divide-by-2 2h - 1Fh = Divide-by-3 to divide-by-32 |
AHCLKXCTL is shown in Figure 12-24 and described in Table 12-26.
Return to Summary Table.
The transmit high-frequency clock control register (AHCLKXCTL) configures the transmit high-frequency master clock (AHCLKX) and the transmit clock generator.
| 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 |
| HCLKXM | RESERVED | HCLKXDIV | |||||
| R/W-1h | R-0h | R/W-0h | |||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| HCLKXDIV | |||||||
| R/W-0h | |||||||
| LEGEND: R/W = Read/Write; R = Read only; W1toCl = Write 1 to clear bit; -n = value after reset |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-16 | RESERVED | R | 0h | Reserved. The reserved bit location always returns the default value. A value written to this field has no effect. If writing to this field, always write the default value for future device compatibility. |
| 15 | HCLKXM | R/W | 1h | Transmit high-frequency clock source bit. 0h = Reserved 1h = Internal transmit high-frequency clock source from output of programmable high clock divider. |
| 14-12 | RESERVED | R | 0h | Reserved. The reserved bit location always returns the default value. A value written to this field has no effect. If writing to this field, always write the default value for future device compatibility. |
| 11-0 | HCLKXDIV | R/W | 0h | Transmit high-frequency clock divide ratio bits determine the divide-down ratio from AUXCLK to AHCLKX. 0h = Divide-by-1 1h = Divide-by-2 2h - FFFh = Divide-by-3 to divide-by-4096 |
XTDM is shown in Figure 12-25 and described in Table 12-27.
Return to Summary Table.
The transmit TDM time slot register (XTDM) specifies in which TDM time slot the transmitter is active. TDM time slot counter range is extended to 384 slots (to support SPDIF blocks of 384 subframes). XTDM operates modulo 32, that is, XTDMS specifies the TDM activity for time slots 0, 32, 64, 96, 128, and so forth.
| 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 |
| XTDMS[31-0] | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| LEGEND: R/W = Read/Write; R = Read only; W1toCl = Write 1 to clear bit; -n = value after reset |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | XTDMS[31-0] | R/W | 0h | Transmitter mode during TDM time slot n. 0h = Transmit TDM time slot n is inactive. The transmit serializer does not shift out data during this slot. 1h = Transmit TDM time slot n is active. The transmit serializer shifts out data during this slot according to the serializer control register (SRCTL). |
XINTCTL is shown in Figure 12-26 and described in Table 12-28.
Return to Summary Table.
The transmitter interrupt control register (XINTCTL) controls generation of the McASP transmit interrupt (XINT). When the register bit(s) is set to 1, the occurrence of the enabled McASP conditions generates XINT.
| 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 |
| XSTAFRM | RESERVED | XDATA | XLAST | RESERVED | XSYNCERR | XUNDRN | |
| R/W-0h | R-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | R/W-0h | |
| LEGEND: R/W = Read/Write; R = Read only; W1toCl = Write 1 to clear bit; -n = value after reset |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-8 | RESERVED | R | 0h | Reserved. The reserved bit location always returns the default value. A value written to this field has no effect. If writing to this field, always write the default value for future device compatibility. |
| 7 | XSTAFRM | R/W | 0h | Transmit start of frame interrupt enable bit. 0h = Interrupt is disabled. A transmit start of frame interrupt does not generate a McASP transmit interrupt (XINT). 1h = Interrupt is enabled. A transmit start of frame interrupt generates a McASP transmit interrupt (XINT). |
| 6 | RESERVED | R | 0h | Reserved. The reserved bit location always returns the default value. A value written to this field has no effect. If writing to this field, always write the default value for future device compatibility. |
| 5 | XDATA | R/W | 0h | Transmit data ready interrupt enable bit. 0h = Interrupt is disabled. A transmit data ready interrupt does not generate a McASP transmit interrupt (XINT). 1h = Interrupt is enabled. A transmit data ready interrupt generates a McASP transmit interrupt (XINT). |
| 4 | XLAST | R/W | 0h | Transmit last slot interrupt enable bit. 0h = Interrupt is disabled. A transmit last slot interrupt does not generate a McASP transmit interrupt (XINT). 1h = Interrupt is enabled. A transmit last slot interrupt generates a McASP transmit interrupt (XINT). |
| 3-2 | RESERVED | R | 0h | Reserved. The reserved bit location always returns the default value. A value written to this field has no effect. If writing to this field, always write the default value for future device compatibility. |
| 1 | XSYNCERR | R/W | 0h | Unexpected transmit frame sync interrupt enable bit. 0h = Interrupt is disabled. An unexpected transmit frame sync interrupt does not generate a McASP transmit interrupt (XINT). 1h = Interrupt is enabled. An unexpected transmit frame sync interrupt generates a McASP transmit interrupt (XINT). |
| 0 | XUNDRN | R/W | 0h | Transmitter underrun interrupt enable bit. 0h = Interrupt is disabled. A transmitter underrun interrupt does not generate a McASP transmit interrupt (XINT). 1h = Interrupt is enabled. A transmitter underrun interrupt generates a McASP transmit interrupt (XINT). |
XSTAT is shown in Figure 12-27 and described in Table 12-29.
Return to Summary Table.
The transmitter status register (XSTAT) provides the transmitter status and transmit TDM time slot number. If the McASP logic attempts to set an interrupt flag in the same cycle that the CPU writes to the flag to clear it, the McASP logic has priority and the flag remains set. This also causes a new interrupt request to be generated.
| 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 | XERR | ||||||
| R-0h | R/W-0h | ||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | XSTAFRM | XDATA | XLAST | XTDMSLOT | RESERVED | XSYNCERR | XUNDRN |
| R-0h | R/W-0h | R/W-0h | R/W-0h | R-0h | R-0h | R/W-0h | R/W-0h |
| LEGEND: R/W = Read/Write; R = Read only; W1toCl = Write 1 to clear bit; -n = value after reset |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-9 | RESERVED | R | 0h | Reserved. The reserved bit location always returns the default value. A value written to this field has no effect. If writing to this field, always write the default value for future device compatibility. |
| 8 | XERR | R/W | 0h | XERR bit always returns a logic-OR of: XUNDRN | XSYNCERR | XCKFAIL | XDMAERR Allows a single bit to be checked to determine if a transmitter error interrupt has occurred. 0h = No errors have occurred. 1h = An error has occurred. |
| 7 | RESERVED | R | 0h | Reserved. The reserved bit location always returns the default value. A value written to this field has no effect. If writing to this field, always write the default value for future device compatibility. |
| 6 | XSTAFRM | R/W | 0h | Transmit start of frame flag. Causes a transmit interrupt (XINT), if this bit is set and XSTAFRM in XINTCTL is set. This bit is cleared by writing a 1 to this bit. Writing a 0 has no effect. 0h = No new transmit frame sync (AFSX) is detected. 1h = A new transmit frame sync (AFSX) is detected. |
| 5 | XDATA | R/W | 0h | Transmit data ready flag. Causes a transmit interrupt (XINT), if this bit is set and XDATA in XINTCTL is set. This bit is cleared by writing a 1 to this bit. Writing a 0 has no effect. 0h = XBUF is written and is full. 1h = Data is copied from XBUF to XRSR. XBUF is empty and ready to be written. XDATA is also set when the transmit serializers are taken out of reset. When XDATA is set, it always causes a DMA event (AXEVT). |
| 4 | XLAST | R/W | 0h | Transmit last slot flag. XLAST is set along with XDATA, if the current slot is the last slot in a frame. Causes a transmit interrupt (XINT), if this bit is set and XLAST in XINTCTL is set. This bit is cleared by writing a 1 to this bit. Writing a 0 has no effect. 0h = Current slot is not the last slot in a frame. 1h = Current slot is the last slot in a frame. XDATA is also set. |
| 3 | XTDMSLOT | R | 0h | Returns the LSB of XSLOT. Allows a single read of XSTAT to determine whether the current TDM time slot is even or odd. 0h = Current TDM time slot is odd. 1h = Current TDM time slot is even. |
| 2 | RESERVED | R | 0h | Reserved. The reserved bit location always returns the default value. A value written to this field has no effect. If writing to this field, always write the default value for future device compatibility. |
| 1 | XSYNCERR | R/W | 0h | Unexpected transmit frame sync flag. XSYNCERR is set when a new transmit frame sync (AFSX) occurs before it is expected. Causes a transmit interrupt (XINT), if this bit is set and XSYNCERR in XINTCTL is set. This bit is cleared by writing a 1 to this bit. Writing a 0 has no effect. 0h = Unexpected transmit frame sync did not occur. 1h = Unexpected transmit frame sync did occur. |
| 0 | XUNDRN | R/W | 0h | Transmitter underrun flag. XUNDRN is set when the transmit serializer is instructed to transfer data from XBUF to XRSR, but XBUF has not yet been serviced with new data since the last transfer. Causes a transmit interrupt (XINT), if this bit is set and XUNDRN in XINTCTL is set. This bit is cleared by writing a 1 to this bit. Writing a 0 has no effect. 0h = Transmitter underrun did not occur. 1h = Transmitter underrun did occur. |
XSLOT is shown in Figure 12-28 and described in Table 12-30.
Return to Summary Table.
The current transmit TDM time slot register (XSLOT) indicates the current time slot for the transmit data frame.
| 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 | XSLOTCNT | ||||||||||||||||||||||||||||||
| R-0h | R-17Fh | ||||||||||||||||||||||||||||||
| LEGEND: R/W = Read/Write; R = Read only; W1toCl = Write 1 to clear bit; -n = value after reset |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-9 | RESERVED | R | 0h | Reserved. The reserved bit location always returns the default value. A value written to this field has no effect. If writing to this field, always write the default value for future device compatibility. |
| 8-0 | XSLOTCNT | R | 17Fh | Current transmit time slot count. Legal values: 0 to 1 |
XEVTCTL is shown in Figure 12-29 and described in Table 12-31.
Return to Summary Table.
Accessing XEVTCTL when not implemented on a specific DSP may cause improper device operation.
| 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 | XDATDMA | ||||||
| R-0h | R/W-0h | ||||||
| LEGEND: R/W = Read/Write; R = Read only; W1toCl = Write 1 to clear bit; -n = value after reset |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-1 | RESERVED | R | 0h | Reserved. The reserved bit location always returns the default value. A value written to this field has no effect. If writing to this field, always write the default value for future device compatibility. |
| 0 | XDATDMA | R/W | 0h | Transmit data DMA request enable bit. If writing to this field, always write the default value of 0. 0h = Transmit data DMA request is enabled. 1h = Reserved. |
SRCTLn is shown in Figure 12-30 and described in Table 12-32.
Return to Summary Table.
Each serializer on the McASP has a serializer control register (SRCTL). There are up to 16 serializers per McASP.
Accessing SRCTLn when not implemented on a specific DSP may cause improper device operation.
| 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 | RRDY | XRDY | DISMOD | SRMOD | |||
| R-0h | R-0h | R-0h | R/W-0h | R/W-0h | |||
| LEGEND: R/W = Read/Write; R = Read only; W1toCl = Write 1 to clear bit; -n = value after reset |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-6 | RESERVED | R | 0h | Reserved. The reserved bit location always returns the default value. A value written to this field has no effect. If writing to this field, always write the default value for future device compatibility. |
| 5 | RRDY | R | 0h | Receive buffer ready bit. RRDY indicates the current receive buffer state. Always reads 0 when programmed as a transmitter or as inactive. If SRMOD bit is set to receive (2h), RRDY switches from 0 to 1 whenever data is transferred from XRSR to RBUF. 0h = Receive buffer (RBUF) is empty. 1h = Receive buffer (RBUF) contains data and must be read before the start of the next time slot or a receiver overrun occurs. |
| 4 | XRDY | R | 0h | Transmit buffer ready bit. XRDY indicates the current transmit buffer state. Always reads 0 when programmed as a receiver or as inactive. If SRMOD bit is set to transmit (1h), XRDY switches from 0 to 1 when XSRCLR in GBLCTL is switched from 0 to 1 to indicate an empty transmitter. XRDY remains set until XSRCLR is forced to 0, data is written to the corresponding transmit buffer, or SRMOD bit is changed to receive (2h) or inactive (0). 0h = Transmit buffer (XBUF) contains data. 1h = Transmit buffer (XBUF) is empty and must be written before the start of the next time slot or a transmit underrun occurs. |
| 3-2 | DISMOD | R/W | 0h | Serializer pin drive mode bit. Drive on pin when in inactive TDM slot of transmit mode or when serializer is inactive. This field only applies if the pin is configured as a McASP pin (PFUNC = 0). 0h = Drive on pin is 3-state. 1h = Reserved 2h = Drive on pin is logic low. 3h = Drive on pin is logic high. |
| 1-0 | SRMOD | R/W | 0h | Serializer mode bit. 0h = Serializer is inactive. 1h = Serializer is transmitter. 2h = Serializer is receiver. 3h = Reserved |
XBUFn is shown in Figure 12-31 and described in Table 12-33.
Return to Summary Table.
The transmit buffers for the serializers (XBUF) hold data from the transmit format unit.
Accessing XBUF registers that are not implemented on a specific DSP may cause improper device 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 |
| XBUFn | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| LEGEND: R/W = Read/Write; R = Read only; W1toCl = Write 1 to clear bit; -n = value after reset |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | XBUFn | R/W | 0h | For transmit operations, the XBUF is an alias of the XRBUF in the serializer. The XBUF can be accessed through the peripheral configuration port (see ) or through the DMA port (see ). |
RBUFn is shown in Figure 12-32 and described in Table 12-34.
Return to Summary Table.
The receive buffers for the serializers (RBUF) hold data from the serializer before the data goes to the receive format unit.
Accessing RBUF registers that are not implemented on a specific DSP may cause improper device 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 |
| RBUFn | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| LEGEND: R/W = Read/Write; R = Read only; W1toCl = Write 1 to clear bit; -n = value after reset |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | RBUFn | R/W | 0h | For receive operations, the RBUF is an alias of the XRBUF in the serializer. The RBUF can be accessed through the peripheral configuration port (see ) or through the DMA port (see ). |