SLASF33 January 2024 TAC5412-Q1
ADVANCE INFORMATION
Certain events in the device may require host processor intervention and can be used to trigger interrupts to the host processor. One such event is an audio serial interface (ASI) bus error. The device powers down the record channels if any faults are detected with the ASI bus error clocks, such as:
When an ASI bus clock error is detected, the device shuts down all the record and playback channels as quickly as possible. After all ASI bus clock errors are resolved, the device volume ramps back to its previous state to recover the audio. During an ASI bus clock error, the internal interrupt request (IRQ) interrupt signal asserts low if the clock error interrupt mask register bit INT_MASK0[7] (P1_R47_D7) is set low. The clock fault is also available for readback in the latched fault status register bit INT_LTCH0 (P1_R52), which is a read-only register. Reading the latched fault status register, INT_LTCH0, clears all latched fault status. The device can be additionally configured to route the internal IRQ interrupt signal on the GPIOx or GPO1 pins and also can be configured as open-drain outputs so that these pins can be wire-ANDed to the open-drain interrupt outputs of other devices.
The IRQ interrupt signal can either be configured as active low or active high polarity by setting the INT_POL (P0_R66_D7) register bit. This signal can also be configured as a single pulse or a series of pulses by programming the INT_EVENT[1:0] (P0_R66_D[6:5]) register bits. If the interrupts are configured as a series of pulses, the events trigger the start of pulses that stop when the latched fault status register is read to determine the cause of the interrupt.
The device also supports read-only live-status registers to determine if the channels are powered up or down and if the device is in sleep mode or not. These status registers are located in the DEV_STS0 (P0_R121) and DEV_STS1 (P0_R122) register bits.
The device has a multifunctional GPIO1 pin that can be configured for a desired specific function. Table 6-37 lists all possible allocations of these multifunctional pins for the various features.
ROW | PIN FUNCTION | GPIO1 | GPIO2 | GPO1 | GPI1 |
---|---|---|---|---|---|
— | — | GPIO1_CFG | GPO2_CFG | GPO1_CFG | GPI1_CFG |
— | — | P0_R10[7:4] | P0_R11[7:4] | P0_R12[7:4] | P0_R13[1] |
A | Pin disabled | S(1) | S (default) | S (default) | S (default) |
B | General-purpose output (GPO) | S | S | S | NS |
C | Interrupt output (IRQ) | S (default) | S | S | NS |
D | Power down for all ADC channels | S | S | NS | S |
E | PDM clock output (PDMCLK) | S | S | S | NS |
F | MiCBIAS on/off input (BIASEN) | S | S | NS | S |
G | General-purpose input (GPI) | S | S | NS | S |
H | Controller clock input (CCLK) | S | S | S | S |
I | ASI daisy-chain input | S | S | NS | S |
J | PDM data input 1 (PDMDIN1) | S | S | NS | S |
K | PDM data input 2 (PDMDIN2) | S | S | NS | S |
L | ASI DOUT | S | S | S | NS |
M | ASI BCLK | S | S | S | S |
N | ASI FSYNC | S | S | S | S |
O | General Purpose Clock Out | S | S | S | NS |
P | Incremental ADC Conversion Start | S | S | NS | S |
Each GPOx or GPIOx pin can be independently set for the desired drive configurations setting using the GPIOx_DRV[2:0] or GPO1_DRV[2:0] register bits. Table 6-38 lists the drive configuration settings.
P0_R10_D[2:0] : GPIO1_DRV[2:0] | GPIO OUTPUT DRIVE CONFIGURATION SETTINGS FOR GPIO1 |
---|---|
000 | The GPIO1 pin is set to high impedance (floated) |
001 | The GPIO1 pin is set to be driven active low or active high |
010 (default) | The GPIO1 pin is set to be driven active low or weak high (on-chip pullup) |
011 | The GPIO1 pin is set to be driven active low or Hi-Z (floated) |
100 | The GPIO1 pin is set to be driven weak low (on-chip pulldown) or active high |
101 | The GPIO1 pin is set to be driven Hi-Z (floated) or active high |
110 and 111 | Reserved (do not use these settings) |
Similarly, the GPO1 pin can be configured using the GPO1_DRV(P0_R12) register bits.
When configured as a general-purpose output (GPO), the GPIOx or GPO1 pin values can be driven by writing the GPO_GPI_VAL (P0_R14) registers. The GPIO_MON bits (P0_R14_D[3:1]) can be used to readback the status of the GPIOx or GPI1 pin when configured as a general-purpose input (GPI).