14-4 Intel® PXA26x Processor Family Developer’s Manual
Inter-Integrated Circuit Sound Controller
3. Optional: Programmed I/O may be used for priming the transmit FIFO with a few samples
(ranging from 1 to 16). If the I2SLINK is enabled with an empty transmit FIFO, a Transmit
Under-run error bit will be set in the Status register. For further details, see Section14.6.3,
“Serial Audio Controller I2S/MSB-Justified Status Register (SASR0)”. This is hence an
optional step, which prevents such an error. If Step3 is not executed, then Programmed I/O
must clear the Transmit Under-run status bi t b y set ting b it 5 of t he I nterr upt Cl ear Regis ter. For
further details, see Section 14.6.5, “Serial Audio Interrupt Clear Re gister (SAICR)”.
4. The following control bits can be simultaneously programmed in the I2SC’s Serial Audio
Controller Global Control regis t e r (SACR0):
a. Enable I2SLINK by setting the ENB bit (bit-0) of SACR0.
b. Since the SACR0 register will be over-written in Step2, maintain BITCLK direction as
programmed in Step1. Modifying BITCLK direction will glitch the clock and affect
I2SLINK activity.
c. Program transmit and receive threshold levels by programming the TFTH and RFTH bits
of SACR0[11:8] and SACR0(15:12), respectively. See Section 14.6.1.2, “Suggested
TFTH and RFTH for DMA servicing”, regarding permitted threshold levels.
Once the I2SLINK is enabled, frames filled with 0s will be transmitted if the transmit FIFO is
still empty. This will set a Transmit Unde r-run status bit in SASR0. Step 2 can be executed to
avoid this error condition. Valid dat a is s ent acros s th e I2SLI NK aft er fill ing the tran smi t FIFO
with at least one sample. One sample consists of a 32-bit value with 16 bits each dedica ted t o a
left and a right value.
Enabling the I2SLINK will also cause zeros to be recorded by the I2SC until the CODEC
sends in valid data.
Enabling the I2SLINK also enables transmit and receive DMA Requests.
14.3.2 Disabling and Enabling Audio Replay
Audio transmission is enabled automatically when the I2SC is enabled. Transmission, or replay,
can be stopped by asserting the DRPL bit of the SACR1 Register. For more details, see
Section14.6.2, “Serial Audio Controller I2S/MSB-Justified Control Register (SACR1)”.
Asserting the DRPL bit in SACR1 has the following effects:
1. All I2SLINK replay activity is disabled. The frame or data sample, in the midst of which the
replay is disabled, will have invalid data (some data bits will be ov er-written with zeros). To
avoid this, disable replay only after the transfer of valid data. In thi s case, frames with zeros
are transmitted.
2. Transmit FIFO pointers are reset to zero.
3. Transmit FIFO fill-level is reset to zero.
4. Zeros are transmitted across the I2SLINK.
5. Transmit DMA requests are disabled.
14.3.3 Disabling and Enabling Audio Record
Audio recording is enabled automatically when the I2SC is en able d. Reco rdi ng can also b e sto pped
by asserting the DREC bit of the SACR1 Register. For more details, see Section14.6.2, “Serial
Audio Controller I2S/MSB-Justified Control Register (SACR1)”.