QCC300x I S: User Guide
QCC300x I S: User Guide
QCC300x I²S
User Guide
80-CF100-1 Rev. AA
NO PUBLIC DISCLOSURE PERMITTED: Please report postings of this document on public servers or websites to
DocCtrlAgent@qualcomm.com.
Restricted Distribution: Not to be distributed to anyone who is not an employee of either Qualcomm Technologies International, Ltd. or its
affiliated companies without the express approval of Qualcomm Configuration Management.
Not to be used, copied, reproduced, or modified in whole or in part, nor its contents revealed in any manner to others without the express
written permission of Qualcomm Technologies International, Ltd.
Qualcomm is a trademark of Qualcomm Incorporated, registered in the United States and other countries. Other product and brand names
may be trademarks or registered trademarks of their respective owners.
This technical data may be subject to U.S. and international export, re-export, or transfer ("export") laws. Diversion contrary to U.S. and
international law is strictly prohibited.
Qualcomm Technologies International, Ltd. (formerly known as Cambridge Silicon Radio Limited) is a company registered in England and
Wales with a registered office at: Churchill House, Cambridge Business Park, Cowley Road, Cambridge, CB4 0WZ, United Kingdom.
Registered Number: 3665875 | VAT number: GB787433096
Revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1 Customer-defined configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2 I2S settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3 I2C control data settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3.1 I2C raw command data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3.2 I2C Initialization commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3.3 I2C volume commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3.4 I2C shutdown commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3 I2C command data format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.1 Packet length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.2 Volume offset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.3 Packet data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.4 SSM2518 example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4 Extra configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.1 Audio routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.2 Volume control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.3 Input PIOs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.4 Output PIOs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.5 I2C PIO mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.6 Tone playback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
A I2S implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
A.1 Supported I2S implementation operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
A.2 I2S implementation limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Document references . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Terms and definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
This document describes how to configure the QCC300x device for I2S operation.
I2S operation can be configured for various I2S audio devices, and to enable initialization and volume
control through the I2C interface. To configure I2S operation, use the ADK Configuration Tool.
This document provides an example configuration to use with Analog Devices SSM2518 external
amplifier device.
NOTE This example configuration uses settings for the SSM2518 amplifier to explicitly show how
to configure the QCC300x device from the beginning.
This section provides an annotated example for the configuration corresponding to the SSM2518
device. To use this configuration, set Plug-in Type to Qualcomm SSM_2518 I2S Development
Board in the ADK Configuration Tool. This implements all the settings described in Customer-defined
configuration to I2C control data settings.
Figure 2-2 Customer-developed plug-in type and associated I2S configuration options
Audio Output Resample Rate Specifies whether the music (A2DP, codecs, USB, 48000 Hz
[Hz] wired audio) output must be resampled to a fixed
rate.
A value of 0 indicates that no resampling is
performed. Otherwise, this value specifies the
required output frequency in Hz.
Voice Resample Rate [Hz] Specifies whether the voice (cVc, tones, voice 48000 Hz
prompts) output needs to be resampled to a fixed
rate.
A value of 0 indicates that no resampling is
performed. Otherwise, this value specifies the
required output frequency in Hz.
Bit Clock Scaling Factor Specifies the scaling factor for the I2S bit clock. 256 Hz
This overrides the bit clock frequency.
For example, 256Hz x 48000Hz: 12.28 MHz
If it is set to 0, the bit clock is calculated as follows
for 16-bit 48 kHz audio:
16 x 2 (stereo) x 48000 = 1.536 MHz
Audio Input Resolution Specifies the number of bits in each sample of the 16 bits
I2S audio input data.
This section describes how to configure the QCC300x device to send control commands.
Figure 2-3 shows the settings page where the raw I2C commands are entered. Table 2-2 lists example
values. The commands are typically represented by groups of five octets, although they are entered as
one long, continuous stream because they can be longer than five octets. For an example that shows
how to get these values, see I2C command data format.
NOTE The values entered into the configuration tool are decimal. This document calculates and
displays them as hexadecimal.
Table 2-3 lists the configurable fields and their example values for the SSM2518.
Table 2-3 Configurable data fields for I2C volume commands
Table 2-3 Configurable data fields for I2C volume commands (cont.)
Volume Range Max Specifies the maximum volume that will be sent 0
to the I2S device to indicate maximum output
level
Volume range min Specifies the minimum volume level that will be 255
sent to the I2S device to indicate minimum
output level
This section describes the raw data structure of the I2C commands sent to initialize, configure, and
shut down an external I2S amplifier. Table 3-1 lists example I2C commands from the SSM2518 data for
reference.
Table 3-1 Example I2C commands
NOTE Packet Length and Volume Offset are not included in the Packet Length
calculation.
The volume level offset for the example volume packet as described in Table 3-2 is 1, because the first
data byte is always the I2C device ID. Data byte[0] is 0x05 (set volume command). Data byte[1] is the
actual volume level.
The volume level is not always 8 bits. The volume level size is configured in the Volume section of the
I2C control data settings. If the volume level size is larger than 1 byte, then the volume level offset
indicates the start of the data to be replaced.
Set Volume
Packet Length Volume Offset I2C ID Volume Level
command
Table 3-5 Set volume command with 8 volume bits and 16 command bits
Table 3-7 lists the complete packet and header information, which comprises five words.
Table 3-7 set sample rate PS Key data
Automatic Sample
Packet Length Volume Offset I2C ID Set Sample Rate Rate Control
The relevant settings page in the ADK Configuration Tool configures the number of initialization,
shutdown, and volume commands, as well as the volume and shutdown command offsets in the
command data. Initialization commands are assumed to start at offset 0.
To use digital gain commands instead of I2C commands to control the I2S volume, configure Volume
Scaling Method to DSP.
Use PIOs to manage power up and power down operations for an external amplifier. A Power pin may
be available on the external amplifier that provides a hardware shut down option when required, for
example, when the system goes into Stand-by mode.
When a reference external amplifier board such as H13117 is in use, the Power On PIO must be
configured to PIO14 to toggle the external amplifier power pin logic levels when the QCC300x device
is powered on or powered off.
Some external amplifiers may have a Mute pin. The Audio Mute PIO must be configured to N/A when
a reference external amplifier board such as H13117 is in use.
Table 4-1 lists the sequence of PIO activity when Audio Mute and Power On PIOs are configured to
values other than N/A.
Table 4-1 Audio mute and Power on PIO operation
Power Off (Go into Standby Mode) Goes High Goes Low Goes Low
Power On Goes High Goes High Goes Low
Document Reference
Term Definition