Blaze AIC AIC3262 SW Release2

= Introduction = This document explains the steps involved in enabling the AIC3262 Audio playback/recording on Blaze_Tablet2 and Blaze platform.

Blaze_AIC_Tablet2 = Blaze_Tablet2 + OMAP4 processor card with AIC3262 audio codec

Blaze_AIC = Blaze + OMAP4 processor card with AIC3262 audio codec

This software release has been developed and verified in the following software and hardware environment.

OS Kernel: Linux® 3.0 Android:  Android IcecreamSandwich 4.0.1 Toolchain: CodeSourcery compiler version Sourcery G++ Lite 2010q1-202 for ARM GNU/Linux Reference hardware platforms: TI OMAP4 4460 ES1.1 HS blaze_tablet and TI OMAP4 4460 ES1.1 HS blaze Build Host OS: Ubuntu Daily Build Blaze_Tablet Version: IceCream_Blaze_Tablet_DailyBuild_270 Daily Build Blaze Version: IceCream_Blaze_DailyBuild_327

Reference software releasehttp://omapedia.org/wiki/L27.IS.1_OMAP4_Icecream_Sandwich_Release_Notes#Downloading_Release_Software

This document assumes that
 * The user is familiar with Blaze Tablet2 and Blaze platform. Please refer the info given here http://omapedia.org/wiki/L27.IS.1_OMAP4_Icecream_Sandwich_Release_Notes
 * User has access to Blaze Tablet2 and Blaze platform
 * User has access to "OMAP4 Processor card with AIC3262 audio codec"

Release summary
 * Android GUI: Playback on Headphone and Speakers on Blaze and Blaze Tablet2
 * Android GUI: Record from Headset microphone on Blaze and Blaze Tablet2
 * Android GUI: Record from Main microphone and sub microphone on Blaze
 * Command-line: Playback on Headphone and Speakers on Blaze and Blaze Tablet2
 * Command-line: Record from Headset microphone on Blaze and Blaze Tablet2
 * Command-line: Record from Main microphone and sub microphone on Blaze

=Installation=
 * Hardware
 * Install the Processor card (OMAP4+AIC3262) onto Blaze Tablet2 platform. This platform is referred as Blaze_AIC_Tablet2
 * Install the Processor card (OMAP4+AIC3262) onto Blaze platform. This platform is referred as Blaze_AIC

=Release Content= This release Blaze_AIC_AIC3262_SW_Release2.zip contains three files
 * Patch to be applied on top of the Kernel. Kernel can be pulled from http://omapedia.org/wiki/L27.IS.1_OMAP4_Icecream_Sandwich_Release_Notes#Downloading_Release_Software
 * Patch to be applied on top of Android ICS . ICS can be pulled from http://omappedia.org/wiki/L27.IS.1_OMAP4_Icecream_Sandwich_Release_Notes#Downloading_Release_Software
 * Release document (this document) to explain the steps involved to enable AIC3262 Audio playback/recording

Features supported in this release
 * 1) Fully compliant with ALSA
 * 2) Integrated the driver with OMAP4 ABE
 * 3) Tested Multimedia Headphone playback and headset microphone recording
 * 4) Tested Recording from Main Mic and Sub Mic on Blaze_AIC
 * 5) Tested Receiver(Earpiece) on Blaze_AIC
 * 6) Tested External Speaker playback on Blaze_AIC_Tablet2 and Blaze_AIC
 * 7) Tested for single I2S
 * 8) Multi I2S support is 'not' enabled in this release

=Build Instructions=

Android File System
This section explains how to patch and build the Android File System Unzip Blaze_AIC_AIC3262_SW_Release2.zip into a temporary directory. cd mydroid/device/ti/common-open patch -p1 < {temporary directory}/Blaze_AIC_AIC3262_sw_release2_Audio_HAL.patch Follow the build instructions given here: http://omappedia.org/wiki/L27.IS.1_OMAP4_Icecream_Sandwich_Release_Notes#Building_Android_Filesystem_.28AFS.29_with_TI_Codecs_enabled under http://omappedia.org/wiki/L27.IS.1_OMAP4_Icecream_Sandwich_Release_Notes#Build_Instructions

tinyalsa utils
Build the tinyalsa utils. These utilities are needed for playback and recording wav files. cd  mydroid make tinycap make tinyplay make tinymix

Kernel
This section explains how to patch and build the kernel Unzip Blaze_AIC_AIC3262_SW_Release2.zip into a temporary directory. cd kernel/android-3.0 patch -p1 < {temporary directory}/Blaze_AIC_AIC3262_sw_release2_kernel.patch Follow the build instructions given here:http://omappedia.org/wiki/L27.IS.1_OMAP4_Icecream_Sandwich_Release_Notes#Building_Kernel under http://omappedia.org/wiki/L27.IS.1_OMAP4_Icecream_Sandwich_Release_Notes#Build_Instructions

Flashing
Follow the steps given in http://omapedia.org/wiki/L27.IS.1_OMAP4_Icecream_Sandwich_Release_Notes#Flashing_the_OMAP4_Hardware

= AIC3262 Audio = This sections explains the top level audio architecture of Blaze_AIC_Tablet2/Blaze_AIC

ABE
ABE audio routing is shown in this diagram

AIC3262
AIC3262 audio routing is shown in this diagram

Important mixer commands are shown in red color

Audio Architecture


= AIC3262 Audio Playback and Recording = Plugin a headset with L,R,M,G connections as shown here

Legacy Mode
tinymix 172 1 tinymix 169 1 tinymix 65  6 tinyplay data/ -d 6
 * Playback on heaphones

tinymix 66 1 tinymix 154 127 tinymix 157 127 tinymix 160 1 tinymix 165 1 to playback on multimedia Front end tinyplay data/ to playback on low power front end tinyplay data/ -d 6
 * Playback on External Speaker

tinymix 126 1 tinymix 135 1 tinymix 69 60 tinymix 73 17152 tinycap data/ -d 6 -c 2 -r 48000 -b 16
 * Recording from headset microphone

tinymix 69 90 tinymix 83 1 tinymix 117 1 tinymix 126 0 tinymix 127 1 tinymix 128 1 tinymix 131 0 tinymix 132 0 tinymix 135 0 tinymix 73 17152 tinycap data/ -d 1 -c 2 -r 48000 -b 16
 * Recording from Main microphone on Blaze_AIC

tinymix 69 90 tinymix 83 1 tinymix 117 1 tinymix 126 0 tinymix 127 1 tinymix 128 1 tinymix 131 0 tinymix 132 0 tinymix 135 0 tinymix 73 17152 tinycap data/ -d 1 -c 2 -r 48000 -b 16
 * Recording from Sub microphone on Blaze_AIC

ABE Mode
tinymix  6 120 tinymix 23 120 tinymix 32 1 tinymix 36 1 tinymix 51 1 tinymix 65 6 tinymix 169 1 tinymix 172 1 to playback on multimedia Front end tinyplay data/ to playback on low power front end tinyplay data/ -d 5
 * Playback on heaphones

tinymix 66 1 tinymix 154 127 tinymix 157 127 tinymix 160 1 tinymix 165 1 to playback on multimedia Front end tinyplay data/ to playback on low power front end tinyplay data/ -d 5
 * Playback on External Speaker

tinymix 54 10 tinymix 55 9 tinymix 69 60 tinymix 126 1 tinymix 135 1 tinymix 73 17152 tinycap data/ -d 1 -c 2 -r 48000 -b 16
 * Recording from headset microphone

tinymix 69 90 tinymix 83 1 tinymix 117 1 tinymix 126 0 tinymix 127 1 tinymix 128 1 tinymix 131 0 tinymix 132 0 tinymix 135 0 tinymix 73 17152 tinycap data/ -d 1 -c 2 -r 48000 -b 16
 * Recording from Main microphone on Blaze_AIC

tinymix 69 90 tinymix 83 1 tinymix 117 1 tinymix 126 0 tinymix 127 1 tinymix 128 1 tinymix 131 0 tinymix 132 0 tinymix 135 0 tinymix 73 17152 tinycap data/ -d 1 -c 2 -r 48000 -b 16
 * Recording from Sub microphone on Blaze_AIC

=Playback and Recording from ICS GUI on Blaze and Blaze Tablet2=

Push the into the /sdcard directory of ICS filesystem.

Playback on headphone/headset
Insert the headphone/headset. In ICS GUI select music player application and select the from sdcard to playback the file.

Playback on speakers
Remove the headphone/headset. In ICS GUI select music player application and select the from sdcard to playback the file.

Recording from headset microphone on Blaze and Blaze Tablet2
Insert the headset.In ICS GUI select Sound Recorder application and select start recording.

Recording from main microphone on Blaze
Remove the headset.In ICS GUI select Sound Recorder application and select start recording.

=Testing= Android Audio CTS and OMAP Audio TC tests are performed. Test results are captured in Blaze_AIC_AIC3262_SW_Release2_test_results.zip

The tests covered in this release are Unit tests, Functional tests and Reference Application tests. The Audio TC is a system reliability test, the test cases were executed for audio functionality on Blaze_AIC_Tablet2 and Blaze_AIC.
 * Android CTS test results on Blaze_Tablet2: Blaze_AIC_Tablet2_AIC3262_SW_Release2_cts_test_results.zip
 * Android CTS test results on Blaze: Blaze_AIC_AIC3262_SW_Release2_cts_test_results.zip
 * The Android CTS is a automated test suite that runs on the host system. The test cases were executed on Blaze_AIC_Tablet2 and Blaze_AIC attached to the host.
 * OMAP Audio TC test results on Blaze Table2: Blaze_AIC_AIC3262_SW_Release2_audio_tc_results.zip

Known Issues

 * Release is Tested on Blaze_AIC_Tablet2 and Blaze_AIC
 * Due to non-availability of Modem board, voice call is not tested
 * Due to non-availability of Bluetooth board, bluetooth call is not tested
 * Headphone output is not optimally configured for performance measurements
 * Headphone/headset/microphone detection is tested with a few number of headphones/headsets