Instance: I2S
Component: I2S
Base address: 0x400C1000
I2S Audio DMA module supporting formats I2S, LJF, RJF and DSP
|
Register Name |
Type |
Register Width (Bits) |
Register Reset |
Address Offset |
Physical Address |
|
RW |
32 |
0x0000 0000 |
0x0000 0000 |
0x400C 1000 |
|
|
RW |
32 |
0x0000 0000 |
0x0000 0004 |
0x400C 1004 |
|
|
RW |
32 |
0x0000 0000 |
0x0000 0008 |
0x400C 1008 |
|
|
RW |
32 |
0x0000 0170 |
0x0000 000C |
0x400C 100C |
|
|
RW |
32 |
0x0000 0003 |
0x0000 0010 |
0x400C 1010 |
|
|
RW |
32 |
0x0000 0003 |
0x0000 0014 |
0x400C 1014 |
|
|
RW |
32 |
0x0000 0000 |
0x0000 0020 |
0x400C 1020 |
|
|
RW |
32 |
0x0000 0000 |
0x0000 0024 |
0x400C 1024 |
|
|
RW |
32 |
0x0000 0000 |
0x0000 0028 |
0x400C 1028 |
|
|
RW |
32 |
0x0000 0000 |
0x0000 002C |
0x400C 102C |
|
|
RW |
32 |
0x0000 0000 |
0x0000 0034 |
0x400C 1034 |
|
|
RO |
32 |
0x0000 0000 |
0x0000 0038 |
0x400C 1038 |
|
|
RO |
32 |
0x0000 0000 |
0x0000 003C |
0x400C 103C |
|
|
RO |
32 |
0x0000 0000 |
0x0000 0040 |
0x400C 1040 |
|
|
RW |
32 |
0x0000 0000 |
0x0000 0044 |
0x400C 1044 |
|
|
RW |
32 |
0x0000 0000 |
0x0000 0048 |
0x400C 1048 |
|
|
RW |
32 |
0x0000 0000 |
0x0000 004C |
0x400C 104C |
|
|
RW |
32 |
0x0000 0000 |
0x0000 0050 |
0x400C 1050 |
|
|
RW |
32 |
0x0000 0000 |
0x0000 0054 |
0x400C 1054 |
|
|
RW |
32 |
0x0000 FFFF |
0x0000 0058 |
0x400C 1058 |
|
|
RO |
32 |
0x0000 0000 |
0x0000 005C |
0x400C 105C |
|
|
RO |
32 |
0x0000 0000 |
0x0000 0060 |
0x400C 1060 |
|
|
RW |
32 |
0x0000 0000 |
0x0000 0070 |
0x400C 1070 |
|
|
RO |
32 |
0x0000 0000 |
0x0000 0074 |
0x400C 1074 |
|
|
WO |
32 |
0x0000 0000 |
0x0000 0078 |
0x400C 1078 |
|
|
WO |
32 |
0x0000 0000 |
0x0000 007C |
0x400C 107C |
|
|
RW |
32 |
0x0000 0000 |
0x0000 0080 |
0x400C 1080 |
|
|
RW |
32 |
0x0000 0000 |
0x0000 0084 |
0x400C 1084 |
|
|
RW |
32 |
0x0000 0000 |
0x0000 0088 |
0x400C 1088 |
|
|
RW |
32 |
0x0000 0000 |
0x0000 008C |
0x400C 108C |
|
|
RW |
32 |
0x0000 0000 |
0x0000 0090 |
0x400C 1090 |
| Address Offset | 0x0000 0000 | ||
| Physical Address | 0x400C 1000 | Instance | 0x400C 1000 |
| Description | This register configures the WCLK Source | ||
| Type | RW | ||
| Bits | Field Name | Description | Type | Reset | |||||||||||||||||
| 31:3 | RESERVED3 | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. | RO | 0b0 0000 0000 0000 0000 0000 0000 0000 | |||||||||||||||||
| 2 | WCLKINV | This field Inverts WCLK source (pad or internal).
|
RW | 0 | |||||||||||||||||
| 1:0 | WBCLKSRC | This field selects WCLK/BCLK source for I2S.
|
RW | 0b00 | |||||||||||||||||
| Address Offset | 0x0000 0004 | ||
| Physical Address | 0x400C 1004 | Instance | 0x400C 1004 |
| Description | This register configures DMA buffer size | ||
| Type | RW | ||
| Bits | Field Name | Description | Type | Reset | ||
| 31:8 | RESERVED8 | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. | RO | 0x00 0000 | ||
| 7:0 | ENDFRMIDX | This field defines the length of the DMA buffer. Writing a non-zero value to this register field enables and initializes I2S. Note that before doing so, all other configuration must have been done, and INPTRNXT/OUTPTRNXT must have been loaded. |
RW | 0x00 | ||
| Address Offset | 0x0000 0008 | ||
| Physical Address | 0x400C 1008 | Instance | 0x400C 1008 |
| Description | This register configures the direction of data pins(AD0/AD1) | ||
| Type | RW | ||
| Bits | Field Name | Description | Type | Reset | |||||||||||||||||
| 31:6 | RESERVED6 | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. | RO | 0b00 0000 0000 0000 0000 0000 0000 | |||||||||||||||||
| 5:4 | AD1 | The field configures the AD1 data pin direction
|
RW | 0b00 | |||||||||||||||||
| 3:2 | RESERVED2 | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. | RO | 0b00 | |||||||||||||||||
| 1:0 | AD0 | The field configures the AD0 data pin direction
|
RW | 0b00 | |||||||||||||||||
| Address Offset | 0x0000 000C | ||
| Physical Address | 0x400C 100C | Instance | 0x400C 100C |
| Description | This register configures the serial interface format | ||
| Type | RW | ||
| Bits | Field Name | Description | Type | Reset | |||||||||||||||||
| 31:16 | RESERVED16 | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. | RO | 0x0000 | |||||||||||||||||
| 15:8 | DATADLY | 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.
|
RW | 0x01 | |||||||||||||||||
| 7 | MEMLEN32 | This register configures the size of each word stored to or loaded from memory
|
RW | 0 | |||||||||||||||||
| 6 | SMPLEDGE | This field configures the sample edge/ transfer edge of data (and WCLK) on BCLK
|
RW | 1 | |||||||||||||||||
| 5 | DUALPHASE | This field selects between dual-phase or single-phase format
|
RW | 1 | |||||||||||||||||
| 4:0 | WORDLEN | Number of bits per word (8-24): In single-phase format, this is the exact number of bits per word. In dual-phase format, this is the maximum number of bits per word. Values below 8 and above 24 give undefined behavior. Data written to memory is always aligned to 16 or 24 bits as defined by MEMLEN32. Bit widths that differ from this alignment will either be truncated or zero padded. |
RW | 0b1 0000 | |||||||||||||||||
| Address Offset | 0x0000 0010 | ||
| Physical Address | 0x400C 1010 | Instance | 0x400C 1010 |
| Description | This register configures the word selection dit mask for data pin 0(AD0) | ||
| Type | RW | ||
| Bits | Field Name | Description | Type | Reset | ||
| 31:8 | RESERVED8 | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. | RW | 0x00 0000 | ||
| 7:0 | MASK | Bit-mask indicating valid channels in a frame on AD0. In single-phase mode, each bit represents one channel, starting with LSB for the first word in the frame. A frame can contain up to 8 channels. Channels that are not included in the mask will not be sampled and stored in memory, and clocked out as '0'. In dual-phase mode, only the two LSBs are considered. For a stereo configuration, set both bits. For a mono configuration, set bit 0 only. In mono mode, only channel 0 will be sampled and stored to memory, and channel 0 will be repeated when clocked out. In mono mode, only channel 0 will be sampled and stored to memory, and channel 0 will be repeated in the second phase when clocked out. If all bits are zero, no input words will be stored to memory, and the output data lines will be constant '0'. This can be utilized when PWM debug output is desired without any actively used output pins. |
RW | 0x03 | ||
| Address Offset | 0x0000 0014 | ||
| Physical Address | 0x400C 1014 | Instance | 0x400C 1014 |
| Description | This register configures the word selection dit mask for data pin 1(AD1) | ||
| Type | RW | ||
| Bits | Field Name | Description | Type | Reset | ||
| 31:8 | RESERVED8 | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. | RO | 0x00 0000 | ||
| 7:0 | MASK | Bit-mask indicating valid channels in a frame on AD1. In single-phase mode, each bit represents one channel, starting with LSB for the first word in the frame. A frame can contain up to 8 channels. Channels that are not included in the mask will not be sampled and stored in memory, and clocked out as '0'. In dual-phase mode, only the two LSBs are considered. For a stereo configuration, set both bits. For a mono configuration, set bit 0 only. In mono mode, only channel 0 will be sampled and stored to memory, and channel 0 will be repeated when clocked out. In mono mode, only channel 0 will be sampled and stored to memory, and channel 0 will be repeated in the second phase when clocked out. If all bits are zero, no input words will be stored to memory, and the output data lines will be constant '0'. This can be utilized when PWM debug output is desired without any actively used output pins. |
RW | 0x03 | ||
| Address Offset | 0x0000 0020 | ||
| Physical Address | 0x400C 1020 | Instance | 0x400C 1020 |
| Description | This register configures DMA input buffer next pointer | ||
| Type | RW | ||
| Bits | Field Name | Description | Type | Reset | ||
| 31:0 | PTR | Pointer to the first byte in the next DMA input buffer. The read value equals the last written value until the currently used DMA input buffer is completed, and then becomes null when the last written value is transferred to the DMA controller to start on the next buffer. This event is signalized by IRQFLAGS.DMAIN. At startup, the value must be written once before and once after configuring the DMA buffer size in DMACFG. The next pointer must be written to this register while the DMA function uses the previously written pointer. If not written in time, IRQFLAGS.PTRERR will be raised and all input pins will be disabled. |
RW | 0x0000 0000 | ||
| Address Offset | 0x0000 0024 | ||
| Physical Address | 0x400C 1024 | Instance | 0x400C 1024 |
| Description | This register configures the DMA input buffer current pointer | ||
| Type | RW | ||
| Bits | Field Name | Description | Type | Reset | ||
| 31:0 | PTR | Value of the DMA input buffer pointer currently used by the DMA controller. Incremented by 1 (byte) or 2 (word) for each AHB access. | RO | 0x0000 0000 | ||
| Address Offset | 0x0000 0028 | ||
| Physical Address | 0x400C 1028 | Instance | 0x400C 1028 |
| Description | This register configures DMA output buffer next pointer | ||
| Type | RW | ||
| Bits | Field Name | Description | Type | Reset | ||
| 31:0 | PTR | Pointer to the first byte in the next DMA output buffer. The read value equals the last written value until the currently used DMA output buffer is completed, and then becomes null when the last written value is transferred to the DMA controller to start on the next buffer. This event is signalized by IRQFLAGS.DMAOUT. At startup, the value must be written once before and once after configuring the DMA buffer size in DMACFG. At this time, the first two samples will be fetched from memory. The next pointer must be written to this register while the DMA function uses the previously written pointer. If not written in time, IRQFLAGS.PTRERR will be raised and all output pins will be disabled. |
RW | 0x0000 0000 | ||
| Address Offset | 0x0000 002C | ||
| Physical Address | 0x400C 102C | Instance | 0x400C 102C |
| Description | This register configures DMA output buffer current pointer | ||
| Type | RW | ||
| Bits | Field Name | Description | Type | Reset | ||
| 31:0 | PTR | Value of the DMA output buffer pointer currently used by the DMA controller Incremented by 1 (byte) or 2 (word) for each AHB access. | RO | 0x0000 0000 | ||
| Address Offset | 0x0000 0034 | ||
| Physical Address | 0x400C 1034 | Instance | 0x400C 1034 |
| Description | This register controls the samplestamp generator. | ||
| Type | RW | ||
| Bits | Field Name | Description | Type | Reset | |||||||||||
| 31:3 | RESERVED3 | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. | RO | 0b0 0000 0000 0000 0000 0000 0000 0000 | |||||||||||
| 2 | OUTRDY | This field is low until the output pins are ready to be started by the samplestamp generator. When started (that is STMPOUTTRIG equals the WCLK counter) the bit goes back low. | RO | 0 | |||||||||||
| 1 | INRDY | This field is low until the input pins are ready to be started by the samplestamp generator. When started (that is STMPINTRIG equals the WCLK counter) the bit goes back low. | RO | 0 | |||||||||||
| 0 | STMPEN | This field configures the samplestamp generator. The samplestamp generator must only be enabled after it has been properly configured. When cleared, all samplestamp generator counters and capture values are cleared.
|
RW | 0 | |||||||||||
| Address Offset | 0x0000 0038 | ||
| Physical Address | 0x400C 1038 | Instance | 0x400C 1038 |
| Description | This register gives the captured XOSC counter value, capture channel 0 | ||
| Type | RO | ||
| Bits | Field Name | Description | Type | Reset | ||
| 31:16 | RESERVED | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. | RO | 0x0000 | ||
| 15:0 | CAPTVALUE | The value of the samplestamp XOSC counter (STMPXCNT.CURRVALUE) last time an event was pulsed. This number corresponds to the number of 24 MHz clock cycles since the last positive edge of the selected WCLK. The value is cleared when STMPCTL.STMPEN = 0. Note: Due to buffering and synchronization, WCLK is delayed by a small number of BCLK periods and clk periods. Note: When calculating the fractional part of the sample stamp, STMPXPER may be less than this bit field. |
RO | 0x0000 | ||
| Address Offset | 0x0000 003C | ||
| Physical Address | 0x400C 103C | Instance | 0x400C 103C |
| Description | The register gives the XOSC period value | ||
| Type | RO | ||
| Bits | Field Name | Description | Type | Reset | ||
| 31:16 | RESERVED16 | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. | RO | 0x0000 | ||
| 15:0 | VALUE | The number of 24 MHz clock cycles in the previous WCLK period (that is - the next value of the XOSC counter at the positive WCLK edge, had it not been reset to 0). The value is cleared when STMPCTL.STMPEN = 0. |
RO | 0x0000 | ||
| Address Offset | 0x0000 0040 | ||
| Physical Address | 0x400C 1040 | Instance | 0x400C 1040 |
| Description | This register gives the captured WCLK counter value, capture channel 0 | ||
| Type | RO | ||
| Bits | Field Name | Description | Type | Reset | ||
| 31:16 | RESERVED16 | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. | RO | 0x0000 | ||
| 15:0 | CAPT_VALUE | The value of the samplestamp WCLK counter (STMPWCNT.CURRVALUE) last time an event was pulsed. This number corresponds to the number of positive WCLK edges since the samplestamp generator was enabled (not taking modification through STMPWADD/STMPWSET into account). The value is cleared when STMPCTL.STMPEN = 0. |
RO | 0x0000 | ||
| Address Offset | 0x0000 0044 | ||
| Physical Address | 0x400C 1044 | Instance | 0x400C 1044 |
| Description | This register configures WCLK counter period value | ||
| Type | RW | ||
| Bits | Field Name | Description | Type | Reset | ||
| 31:16 | RESERVED16 | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. | RO | 0x0000 | ||
| 15:0 | VALUE | This field defines when STMPWCNT is to be reset so number of WCLK edges are found for the size of the sample buffer. This is thus a modulo value for the WCLK counter. This number must correspond to the size of the sample buffer used by the system (that is the index of the last sample plus 1). | RW | 0x0000 | ||
| Address Offset | 0x0000 0048 | ||
| Physical Address | 0x400C 1048 | Instance | 0x400C 1048 |
| Description | This register configures WCLK counter trigger value for input pins | ||
| Type | RW | ||
| Bits | Field Name | Description | Type | Reset | ||
| 31:16 | RESERVED16 | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. | RO | 0x0000 | ||
| 15:0 | INSTARTWCNT | This field configures the compare value used to start the incoming audio streams. This bit field shall equal the WCLK counter value during the WCLK period in which the first input word(s) are sampled and stored to memory (that is the sample at the start of the very first DMA input buffer). The value of this register takes effect when the following conditions are met: - One or more pins are configured as inputs in DIRCFG. - DMACFG has been configured for the correct buffer size, and at least 32 BCLK cycle ticks have happened. Note: To avoid false triggers, this bit field should be set higher than STMPWPER.VALUE. |
RW | 0x0000 | ||
| Address Offset | 0x0000 004C | ||
| Physical Address | 0x400C 104C | Instance | 0x400C 104C |
| Description | This register configures WCLK counter trigger value for output pins | ||
| Type | RW | ||
| Bits | Field Name | Description | Type | Reset | ||
| 31:16 | RESERVED16 | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. | RO | 0x0000 | ||
| 15:0 | OUTSTARTWCNT | This field cofnigures the compare value used to start the outgoing audio streams. This bit field must equal the WCLK counter value during the WCLK period in which the first output word(s) read from memory are clocked out (that is the sample at the start of the very first DMA output buffer). The value of this register takes effect when the following conditions are met: - One or more pins are configured as outputs in DIRCFG. - DMACFG has been configured for the correct buffer size, and 32 BCLK cycle ticks have happened. - 2 samples have been preloaded from memory (examine the OUTPTR register if necessary). Note: The memory read access is only performed when required, that is channels 0/1 must be selected in WMASK0/WMASK1. Note: To avoid false triggers, this bit field should be set higher than STMPWPER.VALUE. |
RW | 0x0000 | ||
| Address Offset | 0x0000 0050 | ||
| Physical Address | 0x400C 1050 | Instance | 0x400C 1050 |
| Description | This register confiures WCLK counter set operation | ||
| Type | RW | ||
| Bits | Field Name | Description | Type | Reset | ||
| 31:16 | RESERVED16 | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. | RO | 0x0000 | ||
| 15:0 | VALUE | Sets the running WCLK counter equal to the written value. | WO | 0x0000 | ||
| Address Offset | 0x0000 0054 | ||
| Physical Address | 0x400C 1054 | Instance | 0x400C 1054 |
| Description | This register configures WCLK counter add operation | ||
| Type | RW | ||
| Bits | Field Name | Description | Type | Reset | ||
| 31:16 | RESERVED16 | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. | RO | 0x0000 | ||
| 15:0 | VALUEINC | Adds the written value to the running WCLK counter. If a positive edge of WCLK occurs at the same time as the operation, this will be taken into account. To add a negative value, write "STMPWPER.VALUE - value". |
WO | 0x0000 | ||
| Address Offset | 0x0000 0058 | ||
| Physical Address | 0x400C 1058 | Instance | 0x400C 1058 |
| Description | This register configures XOSC minimum period value Minimum Value of STMPXPER |
||
| Type | RW | ||
| Bits | Field Name | Description | Type | Reset | ||
| 31:16 | RESERVED16 | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. | RO | 0x0000 | ||
| 15:0 | VALUE | Each time STMPXPER is updated, the value is also loaded into this register, provided that the value is smaller than the current value in this register. When written, the register is reset to 0xFFFF (65535), regardless of the value written. The minimum value can be used to detect extra WCLK pulses (this registers value will be significantly smaller than STMPXPER.VALUE). |
RW | 0xFFFF | ||
| Address Offset | 0x0000 005C | ||
| Physical Address | 0x400C 105C | Instance | 0x400C 105C |
| Description | This register gives the current value of WLCK counter | ||
| Type | RO | ||
| Bits | Field Name | Description | Type | Reset | ||
| 31:16 | RESERVED16 | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. | RO | 0x0000 | ||
| 15:0 | CURRVALUE | Current value of the WCLK counter | RO | 0x0000 | ||
| Address Offset | 0x0000 0060 | ||
| Physical Address | 0x400C 1060 | Instance | 0x400C 1060 |
| Description | This register gives the current value XOSC counter | ||
| Type | RO | ||
| Bits | Field Name | Description | Type | Reset | ||
| 31:16 | RESERVED16 | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. | RO | 0x0000 | ||
| 15:0 | CURRVALUE | Current value of the XOSC counter, latched when reading STMPWCNT. | RO | 0x0000 | ||
| Address Offset | 0x0000 0070 | ||
| Physical Address | 0x400C 1070 | Instance | 0x400C 1070 |
| Description | Interrupt Mask Register Selects mask states of the flags in IRQFLAGS that contribute to the I2S_IRQ event. |
||
| Type | RW | ||
| Bits | Field Name | Description | Type | Reset | |||||||||||
| 31:7 | RESERVED7 | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. | RO | 0b0 0000 0000 0000 0000 0000 0000 | |||||||||||
| 6 | XCNTCAPT | IRQFLAGS.XCNTCAPT interrupt mask
|
RW | 0 | |||||||||||
| 5 | DMAIN | IRQFLAGS.DMAIN interrupt mask
|
RW | 0 | |||||||||||
| 4 | DMAOUT | IRQFLAGS.DMAOUT interrupt mask
|
RW | 0 | |||||||||||
| 3 | WCLKTIMEOUT | IRQFLAGS.WCLKTIMEOUT interrupt mask
|
RW | 0 | |||||||||||
| 2 | BUSERR | IRQFLAGS.BUSERR interrupt mask
|
RW | 0 | |||||||||||
| 1 | WCLKERR | IRQFLAGS.WCLKERR interrupt mask
|
RW | 0 | |||||||||||
| 0 | PTRERR | IRQFLAGS.PTRERR interrupt mask.
|
RW | 0 | |||||||||||
| Address Offset | 0x0000 0074 | ||
| Physical Address | 0x400C 1074 | Instance | 0x400C 1074 |
| Description | This registers gives the raw interrupt status | ||
| Type | RO | ||
| Bits | Field Name | Description | Type | Reset | |||||||||||
| 31:7 | RESERVED7 | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. | RO | 0b0 0000 0000 0000 0000 0000 0000 | |||||||||||
| 6 | XCNTCAPT | This interrupt is set when xcnt counter is captured either by events or software. Needs to be cleared by software.
|
RO | 0 | |||||||||||
| 5 | DMAIN | This interrupt is set when condition for this bit field event occurs (auto cleared when input pointer is updated - AIFINPTRNEXT), see description of AIFINPTRNEXT register for details.
|
RO | 0 | |||||||||||
| 4 | DMAOUT | This interrupt is set when condition for this bit field event occurs (auto cleared when output pointer is updated - OUTPTRNXT), see description of OUTPTRNXT register for details
|
RO | 0 | |||||||||||
| 3 | WCLKTIMEOUT | Set when the sample stamp generator does not detect a positive WCLK edge for 65535 clk periods. This signalizes that the internal or external BCLK and WCLK generator source has been disabled. The bit is sticky and may only be cleared by software (by writing '1' to IRQCLR.WCLKTIMEOUT).
|
RO | 0 | |||||||||||
| 2 | BUSERR | This interrupt set when a DMA operation is not completed in time (that is audio output buffer underflow, or audio input buffer overflow). This error requires a complete restart since word synchronization has been lost. The bit is sticky and may only be cleared by software (by writing '1' to IRQCLR.BUSERR). Note that DMA initiated transactions to illegal addresses will not trigger an interrupt. The response to such transactions is undefined.
|
RO | 0 | |||||||||||
| 1 | WCLKERR | 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. The bit is sticky and may only be cleared by software (by writing '1' to IRQCLR.WCLKERR).
|
RO | 0 | |||||||||||
| 0 | PTRERR | This interrupt set when INPTRNXT or OUTPTRNXT has not been loaded with the next block address in time. This error requires a complete restart since word synchronization has been lost. The bit is sticky and may only be cleared by software (by writing '1' to IRQCLR.PTRERR).
|
RO | 0 | |||||||||||
| Address Offset | 0x0000 0078 | ||
| Physical Address | 0x400C 1078 | Instance | 0x400C 1078 |
| Description | Interrupt Set Register. This register can be used by software for diagnostics and safety checking purposes. | ||
| Type | WO | ||
| Bits | Field Name | Description | Type | Reset | |||||||||||
| 31:7 | RESERVED7 | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. | WO | 0b0 0000 0000 0000 0000 0000 0000 | |||||||||||
| 6 | XCNTCAPT | This field sets the interrupt IRQFLAGS.XCNTCAPT (unless a auto clear criteria was given at the same time, in which the set will be ignored)
|
WO | 0 | |||||||||||
| 5 | DMAIN | This field sets the interrupt IRQFLAGS.DMAIN (unless a auto clear criteria was given at the same time, in which the set will be ignored)
|
WO | 0 | |||||||||||
| 4 | DMAOUT | This field sets the interrupt IRQFLAGS.DMAOUT (unless a auto clear criteria was given at the same time, in which the set will be ignored)
|
WO | 0 | |||||||||||
| 3 | WCLKTIMEOUT | This field sets the interrupt IRQFLAGS.WCLKTIMEOUT(unless a auto clear criteria was given at the same time, in which the set will be ignored)
|
WO | 0 | |||||||||||
| 2 | BUSERR | 1: Sets the interrupt of IRQFLAGS.BUSERR(unless a auto clear criteria was given at the same time, in which the set will be ignored)
|
WO | 0 | |||||||||||
| 1 | WCLKERR | This field sets the interrupt IRQFLAGS.WCLKERR(unless a auto clear criteria was given at the same time, in which the set will be ignored)
|
WO | 0 | |||||||||||
| 0 | PTRERR | This field sets the interrupt IRQFLAGS.PTRERR(unless a auto clear criteria was given at the same time, in which the set will be ignored)
|
WO | 0 | |||||||||||
| Address Offset | 0x0000 007C | ||
| Physical Address | 0x400C 107C | Instance | 0x400C 107C |
| Description | Interrupt clear register. This register allows software to clear interrupts. | ||
| Type | WO | ||
| Bits | Field Name | Description | Type | Reset | |||||||||||
| 31:7 | RESERVED7 | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. | WO | 0b0 0000 0000 0000 0000 0000 0000 | |||||||||||
| 6 | XCNTCAPT | Ths field clears the interrupt IRQFLAGS.XCNTCAPT (unless a set criteria was given at the same time in which the clear will be ignored)
|
WO | 0 | |||||||||||
| 5 | DMAIN | This field clears the interrupt of IRQFLAGS.DMAIN (unless a set criteria was given at the same time in which the clear will be ignored)
|
WO | 0 | |||||||||||
| 4 | DMAOUT | This field clears the interrupt IRQFLAGS.DMAOUT (unless a set criteria was given at the same time in which the clear will be ignored)
|
WO | 0 | |||||||||||
| 3 | WCLKTIMEOUT | 1: Clears the interrupt of IRQFLAGS.WCLKTIMEOUT (unless a set criteria was given at the same time in which the clear will be ignored)
|
WO | 0 | |||||||||||
| 2 | BUSERR | This field clears the interrupt IRQFLAGS.BUSERR (unless a set criteria was given at the same time in which the clear will be ignored)
|
WO | 0 | |||||||||||
| 1 | WCLKERR | This field clears the interrupt IRQFLAGS.WCLKERR (unless a set criteria was given at the same time in which the clear will be ignored)
|
WO | 0 | |||||||||||
| 0 | PTRERR | This field clears the interrupt IRQFLAGS.PTRERR (unless a set criteria was given at the same time in which the clear will be ignored)
|
WO | 0 | |||||||||||
| Address Offset | 0x0000 0080 | ||
| Physical Address | 0x400C 1080 | Instance | 0x400C 1080 |
| Description | This field configures MCLK division ratio | ||
| Type | RW | ||
| Bits | Field Name | Description | Type | Reset | ||
| 31:10 | RESERVED10 | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. | RO | 0b00 0000 0000 0000 0000 0000 | ||
| 9:0 | MDIV | An unsigned factor of the division ratio used to generate MCLK [2-1024]: MCLK = MCUCLK/MDIV[Hz] MCUCLK is upto 96MHz. A value of 0 is interpreted as 1024. A value of 1 is invalid. If MDIV is odd the low phase of the clock is one MCUCLK period longer than the high phase. |
RW | 0b00 0000 0000 | ||
| Address Offset | 0x0000 0084 | ||
| Physical Address | 0x400C 1084 | Instance | 0x400C 1084 |
| Description | This field configures BCLK division ratio | ||
| Type | RW | ||
| Bits | Field Name | Description | Type | Reset | ||
| 31:10 | RESERVED10 | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. | RO | 0b00 0000 0000 0000 0000 0000 | ||
| 9:0 | BDIV | An unsigned factor of the division ratio used to generate BCLK [2-1024]: BCLK = MCUCLK/BDIV[Hz] MCUCLK can be upto 96MHz. A value of 0 is interpreted as 1024. A value of 1 is invalid. If BDIV is odd and FMTCFG.SMPLEDGE = 0, the low phase of the clock is one MCUCLK period longer than the high phase. If BDIV is odd and FMTCFG.SMPLEDGE = 1 , the high phase of the clock is one MCUCLK period longer than the low phase. |
RW | 0b00 0000 0000 | ||
| Address Offset | 0x0000 0088 | ||
| Physical Address | 0x400C 1088 | Instance | 0x400C 1088 |
| Description | This field configures WCLK division ratio | ||
| Type | RW | ||
| Bits | Field Name | Description | Type | Reset | ||
| 31:16 | RESERVED16 | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. | RO | 0x0000 | ||
| 15:0 | WDIV | If CLKCTL.WCLKPHASE = 0, Single phase. WCLK is high one BCLK period and low WDIV[9:0] (unsigned, [1-1023]) BCLK periods. WCLK = MCUCLK / BDIV*(WDIV[9:0] + 1) [Hz] MCUCLK upto 96MHz. If [CLKCTL.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 [CLKCTL.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] |
RW | 0x0000 | ||
| Address Offset | 0x0000 008C | ||
| Physical Address | 0x400C 108C | Instance | 0x400C 108C |
| Description | This register controls internal audio clock | ||
| Type | RW | ||
| Bits | Field Name | Description | Type | Reset | |||||||||||
| 31:4 | RESERVED4 | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. | RO | 0x000 0000 | |||||||||||
| 3 | MEN | This field configures the MCLK generation
|
RW | 0 | |||||||||||
| 2:1 | WCLKPHASE | The field configures how the WCLK division ratio is calculated and used to generate different duty cycles (See WCLKDIV.WDIV) | RW | 0b00 | |||||||||||
| 0 | WBEN | This field configures WCLK/BCLK generation
|
RW | 0 | |||||||||||
| Address Offset | 0x0000 0090 | ||
| Physical Address | 0x400C 1090 | Instance | 0x400C 1090 |
| Description | Digital test bus control | ||
| Type | RW | ||
| Bits | Field Name | Description | Type | Reset | |||||||||||||||||
| 31:2 | RESERVED2 | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. | RO | 0b00 0000 0000 0000 0000 0000 0000 0000 | |||||||||||||||||
| 1:0 | SEL | The field controls the select of DTB
|
RW | 0b00 | |||||||||||||||||
| © 2015 - 2016. Texas Instruments | All Rights Reserved |