summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJun Yu <yujun@marvell.com>2015-10-27 01:44:44 -0700
committerMohammed Habibulla <moch@google.com>2015-11-04 22:59:06 -0800
commit99fed9a3d2a2bcd44e873b4e85f087f8c6123b97 (patch)
tree78d00de6c7db1ccc8ee3db578054ddfbb2f8a0b8
parent52f0fffa75b226b371965d2561f9d90067fbabfa (diff)
downloadmarvell-99fed9a3d2a2bcd44e873b4e85f087f8c6123b97.tar.gz
Added the Audio HAL module source code
BUG=25486837 Change-Id: I2d76e190a0acbe7ad432639a7ca96e58c11b594c
-rwxr-xr-xperipheral/audio/audio_policy.conf87
-rw-r--r--peripheral/audio/audio_xml/apu/map-lite/audio_basic_element_apu.xml2714
-rw-r--r--peripheral/audio/audio_xml/apu/map-lite/audio_path_config_apu.xml683
-rw-r--r--peripheral/audio/audio_xml/codec/ibiza2plus/audio_basic_element_codec.xml1004
-rw-r--r--peripheral/audio/audio_xml/codec/ibiza2plus/audio_path_config_codec.xml675
-rwxr-xr-xperipheral/audio/audio_xml/iap140.mk35
-rw-r--r--peripheral/audio/audio_xml/platform/ulc/audio_gain_config.xml1067
-rw-r--r--peripheral/audio/audio_xml/platform/ulc/audio_virtualpath_config.xml903
-rw-r--r--peripheral/audio/platform_audio_config.xml63
-rw-r--r--soc/iap140/modules/audio_hal_module.mk30
10 files changed, 7261 insertions, 0 deletions
diff --git a/peripheral/audio/audio_policy.conf b/peripheral/audio/audio_policy.conf
new file mode 100755
index 0000000..55819f3
--- /dev/null
+++ b/peripheral/audio/audio_policy.conf
@@ -0,0 +1,87 @@
+#
+# Copyright (C) 2005. Marvell International Ltd
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+# Global configuration section: lists input and output devices always present on the device
+# as well as the output device selected by default.
+# Devices are designated by a string that corresponds to the enum in audio.h
+
+
+global_configuration {
+ attached_output_devices AUDIO_DEVICE_OUT_SPEAKER
+ default_output_device AUDIO_DEVICE_OUT_SPEAKER
+ attached_input_devices AUDIO_DEVICE_IN_WIRED_HEADSET
+}
+
+# Audio hardware module section: contains descriptors for all audio hw modules present on the
+# device. Each hw module node is named after the corresponding hw module library base name.
+# For instance, "primary" corresponds to audio.primary.<device>.so.
+# The "primary" module is mandatory and must include at least one output with
+# AUDIO_OUTPUT_FLAG_PRIMARY flag.
+# Each module descriptor contains one or more output profile descriptors and zero or more
+# input profile descriptors. Each profile lists all the parameters supported by a given output
+# or input stream category.
+# The "channel_masks", "formats", "devices" and "flags" are specified using strings corresponding
+# to enums in audio.h and audio_policy.h. They are concatenated by use of "|" without space or "\n".
+
+audio_hw_modules {
+ primary {
+ outputs {
+ primary {
+ sampling_rates 44100
+ channel_masks AUDIO_CHANNEL_OUT_STEREO
+ formats AUDIO_FORMAT_PCM_16_BIT
+ devices AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_ALL_SCO|AUDIO_DEVICE_OUT_AUX_DIGITAL|AUDIO_DEVICE_OUT_DGTL_DOCK_HEADSET
+ flags AUDIO_OUTPUT_FLAG_PRIMARY
+ }
+ }
+ inputs {
+ primary {
+ sampling_rates 8000|11025|16000|22050|32000|44100|48000
+ channel_masks AUDIO_CHANNEL_IN_MONO|AUDIO_CHANNEL_IN_STEREO|AUDIO_CHANNEL_IN_FRONT_BACK
+ formats AUDIO_FORMAT_PCM_16_BIT
+ devices AUDIO_DEVICE_IN_WIRED_HEADSET|AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET
+ }
+ }
+ }
+ a2dp {
+ outputs {
+ a2dp {
+ sampling_rates 44100
+ channel_masks AUDIO_CHANNEL_OUT_STEREO
+ formats AUDIO_FORMAT_PCM_16_BIT
+ devices AUDIO_DEVICE_OUT_ALL_A2DP
+ }
+ }
+ }
+ usb {
+ outputs {
+ usb_device {
+ sampling_rates dynamic
+ channel_masks dynamic
+ formats dynamic
+ devices AUDIO_DEVICE_OUT_USB_DEVICE
+ }
+ }
+ inputs {
+ usb_device {
+ sampling_rates dynamic
+ channel_masks dynamic
+ formats dynamic
+ devices AUDIO_DEVICE_IN_USB_DEVICE
+ }
+ }
+ }
+}
diff --git a/peripheral/audio/audio_xml/apu/map-lite/audio_basic_element_apu.xml b/peripheral/audio/audio_xml/apu/map-lite/audio_basic_element_apu.xml
new file mode 100644
index 0000000..bd2df57
--- /dev/null
+++ b/peripheral/audio/audio_xml/apu/map-lite/audio_basic_element_apu.xml
@@ -0,0 +1,2714 @@
+<!-- Copyright (C) 2005. Marvell International Ltd -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<?xml version="1.0" encoding="utf-8"?>
+<MarvellAudioBasicElements>
+ <Version>2.0</Version>
+ <AudioComponents>
+ <AudioComponent>ELBA</AudioComponent>
+ <AudioComponent>USTICA</AudioComponent>
+ <AudioComponent>CLASSD_AMP</AudioComponent>
+ <AudioComponent>BT</AudioComponent>
+ <AudioComponent>FM</AudioComponent>
+ <AudioComponent>GPIO_PORT</AudioComponent>
+ <AudioComponent>DELAY</AudioComponent>
+ <AudioComponent>MODEM</AudioComponent>
+ <AudioComponent>SW</AudioComponent>
+ <AudioComponent>CODEC</AudioComponent>
+ <AudioComponent>PMIC</AudioComponent>
+ <AudioComponent>APU</AudioComponent>
+ </AudioComponents>
+ <ControlProtocols>
+ <Protocol>I2C</Protocol>
+ <Protocol>HCI</Protocol>
+ <Protocol>GPIO</Protocol>
+ <Protocol>ACIPC</Protocol>
+ <Protocol>SLEEP</Protocol>
+ <Protocol>APB</Protocol>
+ </ControlProtocols>
+ <Operations>
+ <Operation>ENABLE</Operation>
+ <Operation>DISABLE</Operation>
+ <Operation>MUTE</Operation>
+ <Operation>SETVOLUME</Operation>
+ <Operation>SWITCH</Operation>
+ </Operations>
+ <Component identifier="APU">
+ <RegisterInfo index="0x00" name="Revision Control Register">
+ <Bits range="31:8" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="7:4" field="MAJOR_REV_ID[3:0]" default="1" desc="major revision id. Format is major(3:0).minor(3:0)" />
+ <Bits range="3:0" field="MINOR_REV_ID[3:0]" default="0" desc="minor revision id. Format is major(3:0).minor(3:0)" />
+ </RegisterInfo>
+ <RegisterInfo index="0x04" name="LRCLK selection for both ADC and DAC Path">
+ <Bits range="31:20" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="19:16" field="RATE_I2S1_PCM[3:0]" default="111" desc="I2S Data rate for both I2S Interface 1 (Audio)" />
+ <Bits range="15:12" field="RATE_I2S2_PCM[3:0]" default="0" desc="I2S Data rate for both I2S Interface 2 (Voice)" />
+ <Bits range="11:8" field="RATE_I2S3_PCM[3:0]" default="0" desc="I2S Data rate for both I2S Interface 3 (Aux)" />
+ <Bits range="7:4" field="RATE_I2S4_PCM[3:0]" default="111" desc="I2S Data rate for both I2S Interface 4 (Hifi)" />
+ <Bits range="3:0" field="RATE_I2S_OUT_PCM[3:0]" default="111" desc="I2S Data rate for internal DSP operation" />
+ </RegisterInfo>
+ <RegisterInfo index="0x08" name="Configuration of Audio I2S/PCM interface for both DAC and ADC Path">
+ <Bits range="31:23" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="22:19" field="I2S_START_POSITION[3:0]" default="100" desc="I2S start posisition" />
+ <Bits range="18:16" field="I2S1_LRCLK_WIDTH[2:0]" default="0" desc="I2S1 LRCLK width" />
+ <Bits range="15:14" field="I2S1_MODE[1:0]" default="00" desc="Audio interface mode selection " />
+ <Bits range="13:12" field="I2S1_DATA_LEN[1:0]" default="10" desc="Data length selection per channel (i.e. NBIT)" />
+ <Bits range="11" field="LRCLK1_POL" default="0" desc="ADC/DAC data left/right swap" />
+ <Bits range="10" field="BCLK1_POL" default="0" desc="I2S/PCM bclk polarity control" />
+ <Bits range="9" field="PCM1_MODE_SEL" default="0" desc="PCM Mode Select " />
+ <Bits range="8" field="I2S1_MASTER_SLAVE_SEL" default="1" desc="Main serial data port mode selection (I2S or PCM)" />
+ <Bits range="7" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="6" field="INVERT_LRCLK_I2S1" default="0" desc="Invert I2S1 LRCLK" />
+ <Bits range="5" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="4" field="I2S1_MSB_LSB" default="0" desc="Selects if MSB appears first or LSB appears first in I2S/PCM interface" />
+ <Bits range="3:2" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="1" field="I2S1_GEN_EN" default="0" desc="Enabled I2S Audio Generator (ADC side), effective after write apply_changes" />
+ <Bits range="0" field="I2S1_REC_EN" default="0" desc="Enabled I2S Audio Receiver (DAC side), effective after write apply_changes" />
+ </RegisterInfo>
+ <RegisterInfo index="0x0c" name="Configuration of I2S/PCM interface for both DAC and ADC Path">
+ <Bits range="31:19" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="18:16" field="I2S2_LRCLK_WIDTH[2:0]" default="0" desc="I2S2 LRCLK width" />
+ <Bits range="15:14" field="I2S2_MODE[1:0]" default="00" desc="Audio interface mode selection " />
+ <Bits range="13:12" field="I2S2_DATA_LEN[1:0]" default="10" desc="Data length selection per channel (i.e. NBIT)" />
+ <Bits range="11" field="LRCLK2_POL" default="0" desc="ADC/DAC data left/right swap" />
+ <Bits range="10" field="BCLK2_POL" default="0" desc="I2S/PCM bclk polarity control" />
+ <Bits range="9" field="PCM2_MODE_SEL" default="0" desc="PCM Mode Select " />
+ <Bits range="8" field="I2S2_MASTER_SLAVE_SEL" default="1" desc="Main serial data port mode selection (I2S or PCM)" />
+ <Bits range="7" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="6" field="INVERT_LRCLK2" default="0" desc="Invert LRCLK2" />
+ <Bits range="5" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="4" field="I2S2_MSB_LSB" default="0" desc="Selects if MSB appears first or LSB appears first in I2S/PCM interface" />
+ <Bits range="3:2" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="1" field="I2S2_GEN_EN" default="0" desc="Enabled I2S Voice Generator (ADC side), effective after write apply_changes" />
+ <Bits range="0" field="I2S2_REC_EN" default="0" desc="Enabled I2S Voice Receiver (DAC side), effective after write apply_changes" />
+ </RegisterInfo>
+ <RegisterInfo index="0x10" name="Configuration of I2S3/PCM3 interface for both DAC and ADC Path">
+ <Bits range="31:19" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="18:16" field="I2S3_LRCLK_WIDTH[2:0]" default="0" desc="I2S3 LRCLK width" />
+ <Bits range="15:14" field="I2S3_MODE[1:0]" default="00" desc="Audio interface mode selection " />
+ <Bits range="13:12" field="I2S3_DATA_LEN[1:0]" default="10" desc="Data length selection per channel (i.e. NBIT)" />
+ <Bits range="11" field="LRCLK3_POL" default="0" desc="ADC/DAC data left/right swap" />
+ <Bits range="10" field="BCLK3_POL" default="0" desc="I2S/PCM bclk polarity control" />
+ <Bits range="9" field="PCM3_MODE_SEL" default="0" desc="PCM Mode Select " />
+ <Bits range="8" field="I2S3_MASTER_SLAVE_SEL" default="1" desc="Main serial data port mode selection (I2S or PCM)" />
+ <Bits range="7" field="PCM_WIDTH_SEL" default="0" desc="pcm high phase width selection" />
+ <Bits range="6" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="5" field="HIZ_I2S3_DOUT" default="0" desc="I2S_DOUT pin behavior" />
+ <Bits range="4" field="I2S3_MSB_LSB" default="0" desc="Selects if MSB appears first or LSB appears first in I2S/PCM interface" />
+ <Bits range="3:2" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="1" field="I2S3_GEN_EN" default="0" desc="Enabled I2S Aux Generator (ADC side), effective after write apply_changes" />
+ <Bits range="0" field="I2S3_REC_EN" default="0" desc="Enabled I2S Aux Receiver (DAC side), effective after write apply_changes" />
+ </RegisterInfo>
+ <RegisterInfo index="0x14" name="Configuration of I2S4/PCM4 interface for both DAC and ADC Path">
+ <Bits range="31:19" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="18:16" field="I2S4_LRCLK_WIDTH[2:0]" default="0" desc="I2S4 LRCLK width" />
+ <Bits range="15:14" field="I2S4_MODE[1:0]" default="00" desc="Audio interface mode selection " />
+ <Bits range="13:12" field="I2S4_DATA_LEN[1:0]" default="10" desc="Data length selection per channel (i.e. NBIT)" />
+ <Bits range="11" field="LRCLK4_POL" default="0" desc="ADC/DAC data left/right swap" />
+ <Bits range="10" field="BCLK4_POL" default="0" desc="I2S/PCM bclk polarity control" />
+ <Bits range="9" field="PCM4_MODE_SEL" default="0" desc="PCM Mode Select " />
+ <Bits range="8" field="I2S4_MASTER_SLAVE_SEL" default="1" desc="Main serial data port mode selection (I2S or PCM)" />
+ <Bits range="7" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="6" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="5" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="4" field="I2S4_MSB_LSB" default="0" desc="Selects if MSB appears first or LSB appears first in I2S/PCM interface" />
+ <Bits range="3:2" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="1" field="I2S4_GEN_EN" default="0" desc="Enabled I2S Hifi Generator (ADC side), effective after write apply_changes" />
+ <Bits range="0" field="I2S4_REC_EN" default="0" desc="Enabled I2S Hifi Receiver (DAC side), effective after write apply_changes" />
+ </RegisterInfo>
+ <RegisterInfo index="0x18" name="Configuration of DEI2S interface for both DAC and ADC Path">
+ <Bits range="31:21" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="20:18" field="DEI2S_LRCLK_WIDTH[2:0]" default="0" desc="DEI2S LRCLK width" />
+ <Bits range="17" field="DEI2S_MASTER_SLAVE_SEL" default="1" desc="Main serial data port mode selection (I2S or PCM)" />
+ <Bits range="16" field="HIZ_DEI2S_DOUT" default="0" desc="I2S_DOUT pin behavior" />
+ <Bits range="15:14" field="DEI2S_MODE[1:0]" default="00" desc="Audio interface mode selection " />
+ <Bits range="13:12" field="DEI2S_DATA_LEN[1:0]" default="10" desc="Data length selection per channel (i.e. NBIT)" />
+ <Bits range="11" field="DEI2S_LRCLK_POL" default="0" desc="ADC/DAC data left/right swap" />
+ <Bits range="10" field="DEI2S_BCLK_POL" default="0" desc="I2S/PCM bclk polarity control" />
+ <Bits range="9" field="DEI2S_PCM_MODE_SEL" default="0" desc="PCM Mode Select " />
+ <Bits range="8" field="DEI2S_MSB_LSB" default="0" desc="Selects if MSB appears first or LSB appears first in I2S/PCM interface" />
+ <Bits range="7" field="DEI2S_REC_L1_EN" default="0" desc="Enable rec path left channel 1, effective after write apply_changes" />
+ <Bits range="6" field="DEI2S_REC_L2_EN" default="0" desc="Enable rec path left channel 2, effective after write apply_changes" />
+ <Bits range="5" field="DEI2S_REC_R1_EN" default="0" desc="Enable rec path right channel 1, effective after write apply_changes" />
+ <Bits range="4" field="DEI2S_REC_R2_EN" default="0" desc="Enable rec path right channel 2, effective after write apply_changes" />
+ <Bits range="3" field="DEI2S_GEN_L1_EN" default="0" desc="Enable gen path left channel 1, effective after write apply_changes" />
+ <Bits range="2" field="DEI2S_GEN_L2_EN" default="0" desc="Enable gen path left channel 2, effective after write apply_changes" />
+ <Bits range="1" field="DEI2S_GEN_R1_EN" default="0" desc="Enable gen path right channel 1, effective after write apply_changes" />
+ <Bits range="0" field="DEI2S_GEN_R2_EN" default="0" desc="Enable gen path right channel 2, effective after write apply_changes" />
+ </RegisterInfo>
+ <RegisterInfo index="0x1c" name="oflag from mac and alu engines">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15" field="DEI2S_ADC_FIFO_STATUS_CLR" default="0" desc="Use to clear latching high register in DEI2S ADC FIFO. active high" />
+ <Bits range="14" field="DEI2S_DAC_FIFO_STATUS_CLR" default="0" desc="Use to clear latching high register in DEI2S DAC FIFO. active high" />
+ <Bits range="13" field="DEI2S_ADC_FIFO2_OFLAG" default="0" desc="ADC I2S FIFO overflor flag" />
+ <Bits range="12" field="DEI2S_ADC_FIFO2_EMPTY" default="0" desc="ADC I2S FIFO empty status bit (active high). It can only be cleared when 1 is written into adc_fifO_status_clr bit." />
+ <Bits range="11" field="DEI2S_ADC_FIFO2_FULL" default="0" desc="ADC I2S FIFO full status bit (active high). It can only be cleared when a 1 is written into adc_fifo_status_clr bit. " />
+ <Bits range="10" field="DEI2S_DAC_FIFO2_EMPTY" default="0" desc="DAC I2S FIFO empty status bit (active high). It can only be cleared when a 1 is written into dac_fifo_staus_clr bit." />
+ <Bits range="9" field="DEI2S_DAC_FIFO2_FULL" default="0" desc="DAC I2S FIFO full status bit (active high). It can only be cleared when a 1 is written into dac_fifo_status_clr bit." />
+ <Bits range="8" field="DEI2S_DAC_FIFO2_OFLAG" default="0" desc="DAC I2S FIFO overflor flag" />
+ <Bits range="7:6" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="5" field="DSP1_MAC_OFLAG" default="0" desc="Overflow flag from DAC Path DSP1" />
+ <Bits range="4" field="DSP2_MAC_OFLAG" default="0" desc="Overflow flag from DAC Path DSP2" />
+ <Bits range="3" field="DSP1A_MAC_OFLAG" default="0" desc="Overflow flag from ADC Path DSP1A" />
+ <Bits range="2" field="DSP1_ALU_OFLAG" default="0" desc="Overflow flag from DAC Path ALU1" />
+ <Bits range="1" field="DSP2_ALU_OFLAG" default="0" desc="Overflow flag from DAC Path ALU2" />
+ <Bits range="0" field="DSP1A_ALU_OFLAG" default="0" desc="Overflow flag from ADC Path ALU1A" />
+ </RegisterInfo>
+ <RegisterInfo index="0x20" name="I2S FIFO status">
+ <Bits range="31" field="ADC_FIFO_STATUS_CLR" default="0" desc="Use to clear latching high register in ADC FIFO. active high" />
+ <Bits range="30" field="DAC_FIFO_STATUS_CLR" default="0" desc="Use to clear latching high register in DAC FIFO. active high" />
+ <Bits range="29" field="DEI2S_ADC_FIFO1_OFLAG" default="0" desc="ADC I2S FIFO overflor flag" />
+ <Bits range="28" field="DEI2S_ADC_FIFO1_EMPTY" default="0" desc="ADC I2S FIFO empty status bit (active high). It can only be cleared when 1 is written into adc_fifO_status_clr bit." />
+ <Bits range="27" field="DEI2S_ADC_FIFO1_FULL" default="0" desc="ADC I2S FIFO full status bit (active high). It can only be cleared when a 1 is written into adc_fifo_status_clr bit. " />
+ <Bits range="26" field="DEI2S_DAC_FIFO1_EMPTY" default="0" desc="DAC I2S FIFO empty status bit (active high). It can only be cleared when a 1 is written into dac_fifo_staus_clr bit." />
+ <Bits range="25" field="DEI2S_DAC_FIFO1_FULL" default="0" desc="DAC I2S FIFO full status bit (active high). It can only be cleared when a 1 is written into dac_fifo_status_clr bit." />
+ <Bits range="24" field="DEI2S_DAC_FIFO1_OFLAG" default="0" desc="DAC I2S FIFO overflor flag" />
+ <Bits range="23" field="I2S4_ADC_FIFO_OFLAG" default="0" desc="ADC I2S FIFO overflor flag" />
+ <Bits range="22" field="I2S4_ADC_FIFO_EMPTY" default="0" desc="ADC I2S FIFO empty status bit (active high). It can only be cleared when 1 is written into adc_fifO_status_clr bit." />
+ <Bits range="21" field="I2S4_ADC_FIFO_FULL" default="0" desc="ADC I2S FIFO full status bit (active high). It can only be cleared when a 1 is written into adc_fifo_status_clr bit. " />
+ <Bits range="20" field="I2S4_DAC_FIFO_EMPTY" default="0" desc="DAC I2S FIFO empty status bit (active high). It can only be cleared when a 1 is written into dac_fifo_staus_clr bit." />
+ <Bits range="19" field="I2S4_DAC_FIFO_FULL" default="0" desc="DAC I2S FIFO full status bit (active high). It can only be cleared when a 1 is written into dac_fifo_status_clr bit." />
+ <Bits range="18" field="I2S4_DAC_FIFO_OFLAG" default="0" desc="DAC I2S FIFO overflor flag" />
+ <Bits range="17" field="I2S3_ADC_FIFO_OFLAG" default="0" desc="ADC I2S FIFO overflor flag" />
+ <Bits range="16" field="I2S3_ADC_FIFO_EMPTY" default="0" desc="ADC I2S FIFO empty status bit (active high). It can only be cleared when 1 is written into adc_fifO_status_clr bit." />
+ <Bits range="15" field="I2S3_ADC_FIFO_FULL" default="0" desc="ADC I2S FIFO full status bit (active high). It can only be cleared when a 1 is written into adc_fifo_status_clr bit. " />
+ <Bits range="14" field="I2S3_DAC_FIFO_EMPTY" default="0" desc="DAC I2S FIFO empty status bit (active high). It can only be cleared when a 1 is written into dac_fifo_staus_clr bit." />
+ <Bits range="13" field="I2S3_DAC_FIFO_FULL" default="0" desc="DAC I2S FIFO full status bit (active high). It can only be cleared when a 1 is written into dac_fifo_status_clr bit." />
+ <Bits range="12" field="I2S3_DAC_FIFO_OFLAG" default="0" desc="DAC I2S FIFO overflor flag" />
+ <Bits range="11" field="I2S2_ADC_FIFO_OFLAG" default="0" desc="ADC I2S FIFO overflor flag" />
+ <Bits range="10" field="I2S2_ADC_FIFO_EMPTY" default="0" desc="ADC I2S FIFO empty status bit (active high). It can only be cleared when 1 is written into adc_fifO_status_clr bit." />
+ <Bits range="9" field="I2S2_ADC_FIFO_FULL" default="0" desc="ADC I2S FIFO full status bit (active high). It can only be cleared when a 1 is written into adc_fifo_status_clr bit. " />
+ <Bits range="8" field="I2S2_DAC_FIFO_EMPTY" default="0" desc="DAC I2S FIFO empty status bit (active high). It can only be cleared when a 1 is written into dac_fifo_staus_clr bit." />
+ <Bits range="7" field="I2S2_DAC_FIFO_FULL" default="0" desc="DAC I2S FIFO full status bit (active high). It can only be cleared when a 1 is written into dac_fifo_status_clr bit." />
+ <Bits range="6" field="I2S2_DAC_FIFO_OFLAG" default="0" desc="DAC I2S FIFO overflor flag" />
+ <Bits range="5" field="I2S1_ADC_FIFO_OFLAG" default="0" desc="ADC I2S FIFO overflor flag" />
+ <Bits range="4" field="I2S1_ADC_FIFO_EMPTY" default="0" desc="ADC I2S FIFO empty status bit (active high). It can only be cleared when 1 is written into adc_fifO_status_clr bit." />
+ <Bits range="3" field="I2S1_ADC_FIFO_FULL" default="0" desc="ADC I2S FIFO full status bit (active high). It can only be cleared when a 1 is written into adc_fifo_status_clr bit. " />
+ <Bits range="2" field="I2S1_DAC_FIFO_EMPTY" default="0" desc="DAC I2S FIFO empty status bit (active high). It can only be cleared when a 1 is written into dac_fifo_staus_clr bit." />
+ <Bits range="1" field="I2S1_DAC_FIFO_FULL" default="0" desc="DAC I2S FIFO full status bit (active high). It can only be cleared when a 1 is written into dac_fifo_status_clr bit." />
+ <Bits range="0" field="I2S1_DAC_FIFO_OFLAG" default="0" desc="DAC I2S FIFO overflor flag" />
+ </RegisterInfo>
+ <RegisterInfo index="0x24" name="Configuration parameters for top fsm operation">
+ <Bits range="31:20" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="19" field="I2S_OUT_RESET" default="0" desc="DEI2S Reset" />
+ <Bits range="18" field="I2S4_RESET" default="0" desc="I2S Hifi Reset" />
+ <Bits range="17" field="I2S3_RESET" default="0" desc="I2S Aux Reset" />
+ <Bits range="16" field="I2S2_RESET" default="0" desc="I2S Voice Reset" />
+ <Bits range="15" field="I2S1_RESET" default="0" desc="I2S Audio Reset" />
+ <Bits range="14" field="ASRC4_RESET" default="0" desc="ASRC4 Reset" />
+ <Bits range="13" field="ASRC3_RESET" default="0" desc="ASRC3 Reset" />
+ <Bits range="12" field="ASRC2_RESET" default="0" desc="ASRC2 Reset" />
+ <Bits range="11" field="ASRC1_RESET" default="0" desc="ASRC1 Reset" />
+ <Bits range="10" field="DSP1A_RESET" default="0" desc="DSP1A Reset" />
+ <Bits range="9" field="DSP2_RESET" default="0" desc="DSP2 Reset" />
+ <Bits range="8" field="DSP1_RESET" default="0" desc="DSP1 Reset" />
+ <Bits range="7:5" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="4" field="AUDIO_CLK_DIS" default="0" desc="Enable or disable all clocks" />
+ <Bits range="3:2" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="1" field="DATAPATH_RSTB" default="0" desc="Synchronous reset of the digital audio module, i.e. datapath is cleared with clock still running. Active LOW reset." />
+ <Bits range="0" field="AUDIO_RSTB" default="1" desc="Global entire chip active low reset." />
+ </RegisterInfo>
+ <RegisterInfo index="0x28" name="Configuration parameters for top fsm operation">
+ <Bits range="31:20" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="19:18" field="MEM_WTC[1:0]" default="0" desc="WTC of memories" />
+ <Bits range="17:16" field="MEM_RTC[1:0]" default="0" desc="RTC of memories" />
+ <Bits range="15" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="14:13" field="DEI2S_BCLK_SEL[1:0]" default="0" desc="dei2s_bclk_sel" />
+ <Bits range="12" field="I2S_VOICE_BCLK_SEL" default="0" desc="i2s_voice_bclk_sel" />
+ <Bits range="11:10" field="I2S_AUDIO_BCLK_SEL[1:0]" default="0" desc="i2s_audio_bclk_sel" />
+ <Bits range="9:8" field="I2S_HIFI_BCLK_SEL[1:0]" default="0" desc="i2s_hifi_bclk_sel" />
+ <Bits range="7" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="6" field="PRAM_CLK_SEL" default="0" desc="PRAM of DSP1/2/1A Clock Selection" />
+ <Bits range="5:4" field="DIG_CLK_DIV[1:0]" default="0" desc="Digital Clock Divider from High Speed Clock" />
+ <Bits range="3" field="TDM_PLL_CLK_SEL" default="0" desc="TDM PLL Clock Selection" />
+ <Bits range="2" field="BCLK_CLK_SEL" default="0" desc="BCLK Divider Source Clock Selection" />
+ <Bits range="1" field="PLL_CLK_SEL" default="0" desc="PLL Clock Selection" />
+ <Bits range="0" field="DIG_CLK_SEL" default="0" desc="Digital Clock Selection" />
+ </RegisterInfo>
+ <RegisterInfo index="0x2c" name="Configuration of DSP Engine output">
+ <Bits range="31:22" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="21:19" field="OUT1_SEL[2:0]" default="0" desc="MAP output1 select" />
+ <Bits range="18:16" field="OUT2_SEL[2:0]" default="0" desc="MAP output2 select" />
+ <Bits range="15:12" field="AIN1_SEL[3:0]" default="0" desc="ASRC1 input select" />
+ <Bits range="11:8" field="AIN2_SEL[3:0]" default="0" desc="ASRC2 input select" />
+ <Bits range="7:4" field="AIN3_SEL[3:0]" default="0" desc="ASRC3 input select" />
+ <Bits range="3:0" field="AIN4_SEL[3:0]" default="0" desc="ASRC4 input select" />
+ </RegisterInfo>
+ <RegisterInfo index="0x30" name="Configuration of DSP engine inputs">
+ <Bits range="31:22" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="21:19" field="D1AIN1_SEL[2:0]" default="0" desc="DSP1A input1 select" />
+ <Bits range="18:16" field="D1AIN2_SEL[2:0]" default="0" desc="DSP1A input1 select" />
+ <Bits range="15:14" field="D2IN1_SEL[1:0]" default="0" desc="DSP2 input1 select" />
+ <Bits range="13:12" field="D2IN2_SEL[1:0]" default="0" desc="DSP2 input2 select" />
+ <Bits range="11:10" field="D2IN3_SEL[1:0]" default="0" desc="DSP2 input3 select" />
+ <Bits range="9:8" field="D2IN4_SEL[1:0]" default="0" desc="DSP2 input4 select" />
+ <Bits range="7:6" field="D1IN1_SEL[1:0]" default="0" desc="DSP1 input1 select" />
+ <Bits range="5:4" field="D1IN2_SEL[1:0]" default="0" desc="DSP1 input2 select" />
+ <Bits range="3:2" field="D1IN3_SEL[1:0]" default="0" desc="DSP1 input3 select" />
+ <Bits range="1:0" field="D1IN4_SEL[1:0]" default="0" desc="DSP1 input4 select" />
+ </RegisterInfo>
+ <RegisterInfo index="0x34" name="Configuration of I2S outputs for stereo and mono data">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15" field="D1IN4_RIGHT_MUXSEL" default="0" desc="d1in4_right_muxsel" />
+ <Bits range="14" field="D1IN4_LEFT_MUXSEL" default="0" desc="d1in4_left_muxsel" />
+ <Bits range="13" field="D1IN3_RIGHT_MUXSEL" default="0" desc="d1in3_right_muxsel" />
+ <Bits range="12" field="D1IN3_LEFT_MUXSEL" default="0" desc="d1in3_left_muxsel" />
+ <Bits range="11" field="D1IN2_RIGHT_MUXSEL" default="0" desc="d1in2_right_muxsel" />
+ <Bits range="10" field="D1IN2_LEFT_MUXSEL" default="0" desc="d1in2_left_muxsel" />
+ <Bits range="9" field="D1IN1_RIGHT_MUXSEL" default="0" desc="d1in1_right_muxsel" />
+ <Bits range="8" field="D1IN1_LEFT_MUXSEL" default="0" desc="d1in1_left_muxsel" />
+ <Bits range="7" field="D2IN4_RIGHT_MUXSEL" default="0" desc="d2in4_right_muxsel" />
+ <Bits range="6" field="D2IN4_LEFT_MUXSEL" default="0" desc="d2in4_left_muxsel" />
+ <Bits range="5" field="D2IN3_RIGHT_MUXSEL" default="0" desc="d2in3_right_muxsel" />
+ <Bits range="4" field="D2IN3_LEFT_MUXSEL" default="0" desc="d2in3_left_muxsel" />
+ <Bits range="3" field="D2IN2_RIGHT_MUXSEL" default="0" desc="d2in2_right_muxsel" />
+ <Bits range="2" field="D2IN2_LEFT_MUXSEL" default="0" desc="d2in2_left_muxsel" />
+ <Bits range="1" field="D2IN1_RIGHT_MUXSEL" default="0" desc="d2in1_right_muxsel" />
+ <Bits range="0" field="D2IN1_LEFT_MUXSEL" default="0" desc="d2in1_left_muxsel" />
+ </RegisterInfo>
+ <RegisterInfo index="0x38" name="Dynamic ASRC Ratio adjust enable">
+ <Bits range="31:8" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="7" field="ASRC4_DN_FIX_EN" default="1" desc="asrc4_dn_fix_en" />
+ <Bits range="6" field="ASRC4_UP_FIX_EN" default="1" desc="asrc4_up_fix_en" />
+ <Bits range="5" field="ASRC3_DN_FIX_EN" default="1" desc="asrc3_dn_fix_en" />
+ <Bits range="4" field="ASRC3_UP_FIX_EN" default="1" desc="asrc3_up_fix_en" />
+ <Bits range="3" field="ASRC2_DN_FIX_EN" default="1" desc="asrc2_dn_fix_en" />
+ <Bits range="2" field="ASRC2_UP_FIX_EN" default="1" desc="asrc2_up_fix_en" />
+ <Bits range="1" field="ASRC1_DN_FIX_EN" default="1" desc="asrc1_dn_fix_en" />
+ <Bits range="0" field="ASRC1_UP_FIX_EN" default="1" desc="asrc1_up_fix_en" />
+ </RegisterInfo>
+ <RegisterInfo index="0x3c" name="TDM Control Register1">
+ <Bits range="31:21" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="20" field="TDM_EN" default="0" desc="TDM enable" />
+ <Bits range="19" field="TDM_MST" default="0" desc="TDM is master or slave mode" />
+ <Bits range="18" field="TDM_FIFO_BYPASS" default="0" desc="TDM fifo bypass" />
+ <Bits range="17" field="TDM_MNT_FIFO_EN" default="0" desc="TDM mount fifo enable" />
+ <Bits range="16" field="TDM_DELAY_MODE" default="0" desc="TDM delay mode setting" />
+ <Bits range="15" field="TDM_DOUBLE_EDGE" default="0" desc="TDM double edge mode enable" />
+ <Bits range="14" field="TDM_APPLY_CKG_CONF" default="0" desc="TDM apply the ckg configuration" />
+ <Bits range="13" field="TDM_APPLY_TDM_CONF" default="0" desc="TDM apply the configuration" />
+ <Bits range="12:11" field="TDM_SLOT_SIZE[1:0]" default="0" desc="TDM slot size, applied with apply_tdm_conf" />
+ <Bits range="10:8" field="TDM_SLOT_SPACE[2:0]" default="0" desc="Number of bclk between two slots (0-7), (1-8) in double edge mode, applied with apply_tdm_conf" />
+ <Bits range="7:4" field="TDM_MAX_SLOT[3:0]" default="0" desc="Max number of slots that can be allocated on the bus (0-12), After the last slot, the bclk is stopped. Not used if set to 0. Applied with apply_ckg_conf" />
+ <Bits range="3:0" field="TDM_START_SLOT[3:0]" default="0" desc="Number of bclk between fsyn edge and the first slot (12-0), 0 cannot be used in double edge (automatically set 1), Applied with apply_tdm_conf" />
+ </RegisterInfo>
+ <RegisterInfo index="0x40" name="TDM Control Register2">
+ <Bits range="31:24" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="23:0" field="TDM_CHO_SLOT_1[23:0]" default="0" desc="First slot used by output channel x (0-12), applied with apply_tdm_conf" />
+ </RegisterInfo>
+ <RegisterInfo index="0x44" name="TDM Control Register3">
+ <Bits range="31:24" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="23:0" field="TDM_CHO_SLOT_2[23:0]" default="0" desc="Second slot used by output channel x (0-12), applied with apply_tdm_conf" />
+ </RegisterInfo>
+ <RegisterInfo index="0x48" name="TDM Control Register4">
+ <Bits range="31:20" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="19:0" field="TDM_CHI_SLOT[51:32]" default="0" desc="Slot used by input channel x in sdi (8-12)" />
+ </RegisterInfo>
+ <RegisterInfo index="0x4c" name="TDM Control Register5">
+ <Bits range="31:0" field="TDM_CHI_SLOT[31:0]" default="0" desc="Slot used by input channel x in sdi (0-7)" />
+ </RegisterInfo>
+ <RegisterInfo index="0x50" name="TDM Control Register6">
+ <Bits range="31:12" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="11:0" field="TDM_CHO_DL[11:0]" default="0" desc="Data length of output channel (0-5), applied with apply_tdm_conf" />
+ </RegisterInfo>
+ <RegisterInfo index="0x54" name="TDM Control Register7">
+ <Bits range="31:26" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="25:0" field="TDM_CHI_DL[25:0]" default="0" desc="Data length of input channel (0-12), applied with apply_tdm_conf" />
+ </RegisterInfo>
+ <RegisterInfo index="0x58" name="TDM Control Register8">
+ <Bits range="31" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="30" field="TDM_FSYN_DITH" default="0" desc="TDM fsyn dithering mode, applied with apply_ckg_conf" />
+ <Bits range="29" field="TDM_FSYN_DITH_MODE" default="0" desc="Set TDM fsyn ditering mode, applied with apply_ckg_conf" />
+ <Bits range="28" field="TDM_FSYN_POLARITY" default="0" desc="TDM fsyn polarity" />
+ <Bits range="27:18" field="TDM_FSYN_PULSE_WIDTH[9:0]" default="0" desc="Fsyn low duration in number of bclk (1023-1). Note that it must be lower than the number of bclk inside one fsyn clock cycle. Applied with apply_ckg_conf." />
+ <Bits range="17:0" field="TDM_FSYN_RATE[17:0]" default="0" desc="Set the fsyn_freq, fsyn_freq=(pll_clk_freq/tdm_fsyn_rate+4)" />
+ </RegisterInfo>
+ <RegisterInfo index="0x5c" name="TDM Control Register9">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15" field="TDM_BCLK_DITH" default="0" desc="TDM bclk dithering mode enable, applied with apply_ckg_conf" />
+ <Bits range="14" field="TDM_BCLK_DITH_MODE" default="0" desc="Set the dithering mode when tdm_bclk_dith is 1." />
+ <Bits range="13" field="TDM_BCLK_POLARITY" default="0" desc="TDM bclk polarity" />
+ <Bits range="12:0" field="TDM_BCLK_RATE[12:0]" default="0" desc="Set the bclk_freq, bclk_freq=(pll_clk_freq/tdm_bclk_rate+1)), applied with apply_ckg_conf." />
+ </RegisterInfo>
+ <RegisterInfo index="0x60" name="TDM Control Register10">
+ <Bits range="31:25" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="24" field="TDM_CHO_TEST_EN" default="0" desc="TDM output test enable" />
+ <Bits range="23:0" field="TDM_CHO_TEST[119:96]" default="0" desc="TDM output test data" />
+ </RegisterInfo>
+ <RegisterInfo index="0x64" name="TDM Control Register11">
+ <Bits range="31:0" field="TDM_CHO_TEST[95:64]" default="0" desc="TDM output test data" />
+ </RegisterInfo>
+ <RegisterInfo index="0x68" name="TDM Control Register12">
+ <Bits range="31:0" field="TDM_CHO_TEST[63:32]" default="0" desc="TDM output test data" />
+ </RegisterInfo>
+ <RegisterInfo index="0x6c" name="TDM Control Register13">
+ <Bits range="31:0" field="TDM_CHO_TEST[31:0]" default="0" desc="TDM output test data" />
+ </RegisterInfo>
+ <RegisterInfo index="0x70" name="Interrupt Control">
+ <Bits range="31:25" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="24" field="INT_OUT_POLARITY" default="0" desc="Interrupt polarity" />
+ <Bits range="23:17" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="16" field="TDM_FIFO_ERR_LATCH" default="0" desc="tdm_fifo_err_latch" />
+ <Bits range="15" field="TDM_INTERRUPT" default="0" desc="tdm_interrupt" />
+ <Bits range="14" field="TDM_CKG_FSYN_PULSE_WIDTH_INT" default="0" desc="tdm_ckg_fsyn_pulse_width_int" />
+ <Bits range="13" field="TDM_CKG_INT" default="0" desc="tdm_ckg_int" />
+ <Bits range="15:12" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="11" field="TDM_FIFO_ERR_LATCH_MASK" default="0" desc="tdm_fifo_err_latch_mask" />
+ <Bits range="10" field="TDM_INTERRUPT_MASK" default="0" desc="tdm_interrupt_mask" />
+ <Bits range="9" field="TDM_CKG_FSYN_PULSE_WIDTH_INT_MASK" default="0" desc="tdm_ckg_fsyn_pulse_width_int_mask" />
+ <Bits range="8" field="TDM_CKG_INT_MASK" default="0" desc="tdm_ckg_int_mask" />
+ <Bits range="7:4" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="3" field="TDM_FIFO_ERR_LATCH_CLEAR" default="0" desc="tdm_fifo_err_latch_clear" />
+ <Bits range="2" field="TDM_INTERRUPT_CLEAR" default="0" desc="tdm_interrupt_clear" />
+ <Bits range="1" field="TDM_CKG_FSYN_PULSE_WIDTH_INT_CLEAR" default="0" desc="tdm_ckg_fsyn_pulse_width_int_clear" />
+ <Bits range="0" field="TDM_CKG_INT_CLEAR" default="0" desc="tdm_ckg_int_clear" />
+ </RegisterInfo>
+ <RegisterInfo index="0x74" name="I2S1 BCLK Divider">
+ <Bits range="31:29" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="28" field="I2S1_NOM_SEL" default="0" desc="I2S1 BCLK divider ratio selection" />
+ <Bits range="27:16" field="I2S1_DENOM[11:0]" default="0" desc="I2S1 BCLK divider denominator" />
+ <Bits range="15:0" field="I2S1_NOM[15:0]" default="0" desc="I2S1 BCLK divider numerator" />
+ </RegisterInfo>
+ <RegisterInfo index="0x78" name="I2S2 BCLK Divider">
+ <Bits range="31:29" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="28" field="I2S2_NOM_SEL" default="0" desc="I2S2 BCLK divider ratio selection" />
+ <Bits range="27:16" field="I2S2_DENOM[11:0]" default="0" desc="I2S2 BCLK divider denominator" />
+ <Bits range="15:0" field="I2S2_NOM[15:0]" default="0" desc="I2S2 BCLK divider numerator" />
+ </RegisterInfo>
+ <RegisterInfo index="0x7c" name="I2S3 BCLK Divider">
+ <Bits range="31:29" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="28" field="I2S3_NOM_SEL" default="0" desc="I2S3 BCLK divider ratio selection" />
+ <Bits range="27:16" field="I2S3_DENOM[11:0]" default="0" desc="I2S3 BCLK divider denominator" />
+ <Bits range="15:0" field="I2S3_NOM[15:0]" default="0" desc="I2S3 BCLK divider numerator" />
+ </RegisterInfo>
+ <RegisterInfo index="0x80" name="I2S4 BCLK Divider">
+ <Bits range="31:29" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="28" field="I2S4_NOM_SEL" default="0" desc="I2S4 BCLK divider ratio selection" />
+ <Bits range="27:16" field="I2S4_DENOM[11:0]" default="0" desc="I2S4 BCLK divider denominator" />
+ <Bits range="15:0" field="I2S4_NOM[15:0]" default="0" desc="I2S4 BCLK divider numerator" />
+ </RegisterInfo>
+ <RegisterInfo index="0x8c" name="DEI2S BCLK Divider">
+ <Bits range="31:29" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="28" field="I2S_OUT_NOM_SEL" default="0" desc="DEI2S BCLK divider ratio selection" />
+ <Bits range="27:16" field="I2S_OUT_DENOM[11:0]" default="0" desc="DEI2S BCLK divider denominator" />
+ <Bits range="15:0" field="I2S_OUT_NOM[15:0]" default="0" desc="DEI2S BCLK divider numerator" />
+ </RegisterInfo>
+ <RegisterInfo index="0x100" name="DAC path DSP1 audio processing register. AudioReg1 is [7:0] and AudioReg2 is [15:8]">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15" field="DSP1_DAC_DUMMY2_EN" default="0" desc="" />
+ <Bits range="14" field="DSP1_DAC_3D_ENABLE" default="0" desc="Write 1 to enable 3D sound" />
+ <Bits range="13" field="DSP1_DAC_TXRX_MIX_ENABLE" default="0" desc="Write 1 to enable mixing of D1AO1" />
+ <Bits range="12" field="DSP1_DAC_D1IN4_MIX_ENABLE" default="0" desc="Write 1 to enable mixing of D1IN4" />
+ <Bits range="11" field="DSP1_DAC_D1IN3_MIX_ENABLE" default="0" desc="Write 1 to enable mixing of D1IN3" />
+ <Bits range="10" field="DSP1_DAC_D1IN2_MIX_ENABLE" default="0" desc="Write 1 to enable mixing of D1IN2" />
+ <Bits range="9" field="DSP1_DAC_D1IN1_MIX_ENABLE" default="0" desc="Write 1 to enable mixing of D1IN1" />
+ <Bits range="8" field="DSP1_DAC_OUT_MIX_ENABLE" default="0" desc="Write 1 to enable DAC path data mixing at output" />
+ <Bits range="7" field="DSP1_DAC_DUMMY1_EN" default="0" desc="" />
+ <Bits range="6" field="DSP1_DAC_AMUTE_ENABLE" default="0" desc="Write 1 to enable auto mute" />
+ <Bits range="5" field="DSP1_DAC_MUTE_UNMUTE" default="0" desc="Write 0 to mute and 1 to unmute the DAC side" />
+ <Bits range="4" field="DSP1_DAC_VOLUME_UPDATE" default="0" type="Force" desc="After updating dac_vol_left and dac_vol_right, write 1 to send the volume command" />
+ <Bits range="3" field="DSP1_DAC_DRC_ENABLE" default="0" desc="Write 1 to enable DRC. Look at register 0x52~0x5C for DRC parameters" />
+ <Bits range="2" field="DSP1_DAC_EQ_UPDATE" default="0" desc="After updating EQ coefs, write 1 to send the eq update command" />
+ <Bits range="1" field="DSP1_DAC_EQ_ENABLE" default="0" desc="Write 1 to enable EQ. Look at registers 0x2E~0x51 for EQ parameters" />
+ <Bits range="0" field="DSP1_DAC_ANC_ENABLE" default="0" desc="Write 1 to enable ambient noise cancellation. Look at registers 0x26~0x2D for ANC parameters" />
+ </RegisterInfo>
+ <RegisterInfo index="0x104" name="DSP1 Control Register">
+ <Bits range="31:6" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="5" field="DSP1_DAC_SOFT_RAMP_ENABLE" default="0" desc="Write 1 to enable soft volume ramp and soft mute/unmute ramp. Soft ramp uses zero-crossing detection." />
+ <Bits range="4" field="DSP1_DAC_MONOMODE_EN" default="0" desc="Write 1 to enable DAC mode mode. Left channel = (L+R)/2. Right channel is disabled" />
+ <Bits range="3:2" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="1" field="DSP1_EN_DAC_RIGHT" default="0" desc="Write 1 to enable right channel in DAC path" />
+ <Bits range="0" field="DSP1_EN_DAC_LEFT" default="0" desc="Write 1 to enable left channel in DAC path" />
+ </RegisterInfo>
+ <RegisterInfo index="0x108" name="Volume setting for DSP1">
+ <Bits range="31:24" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="23:16" field="DSP1_DAC_LEFT_VOL[7:0]" default="11101011" type="Gain" desc="dB volume setting for left channel in DAC path in 0.5dB step">
+ <Capbility range="0x00~0xff" dbrange="-127.5~0.0" step="0.5" />
+ </Bits>
+ <Bits range="15:8" field="DSP1_DAC_RIGHT_VOL[7:0]" default="11101011" type="Gain" desc="dB volume setting for right channel in DAC path in 0.5dB step">
+ <Capbility range="0x00~0xff" dbrange="-127.5~0.0" step="0.5" />
+ </Bits>
+ <Bits range="7:5" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="4:2" field="DSP1_PLAYBACK_GAIN[2:0]" default="0" type="Gain" desc="Digital Gain boost for both Left and Right channel data on playback path">
+ <Capbility value="0x0" decibel="0" />
+ <Capbility value="0x1" decibel="6" />
+ <Capbility value="0x2" decibel="12" />
+ <Capbility value="0x3" decibel="18" />
+ <Capbility value="0x4" decibel="0" />
+ <Capbility value="0x5" decibel="-6" />
+ <Capbility value="0x6" decibel="-12" />
+ <Capbility value="0x7" decibel="-18" />
+ </Bits>
+ <Bits range="1:0" field="DSP1_DAC_VOL_CHG_TIME[1:0]" default="1" desc="During volume soft ramp amount of time allowed for ramp to complete" />
+ </RegisterInfo>
+ <RegisterInfo index="0x10c" name="ANC parameter to control LMS adaptation step size">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:0" field="DSP1_ANC_MU[15:0]" default="10000000000" desc="MSB field of parameter u. Smaller values yields lower residual mean square error." />
+ </RegisterInfo>
+ <RegisterInfo index="0x110" name="ANC parameter to control alpha energy filter">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:0" field="DSP1_ANC_LAM[15:0]" default="10000000" desc="MSB field of parameter lamba. Smaller values yields smoother energy estimates" />
+ </RegisterInfo>
+ <RegisterInfo index="0x114" name="ANC parameter to control xcorr coef calculation">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:0" field="DSP1_ANC_BETA[15:0]" default="11111100000000" desc="MSB field of parameter beta. Larger value yields better results." />
+ </RegisterInfo>
+ <RegisterInfo index="0x118" name="ANC parameter to err_th to control double talk detection">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:0" field="DSP1_ANC_ERR_TH[15:0]" default="100001" desc="MSB field of parameter err_th" />
+ </RegisterInfo>
+ <RegisterInfo index="0x11c" name="Gain for EQ Band 1 filter">
+ <Bits range="31:5" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="4:0" field="DSP1_K_EQ1[4:0]" default="1100" type="Gain" desc="dB Gain setting for EQ band1 filter. Look at following table.">
+ <Capbility value="0x0" decibel="-12" />
+ <Capbility value="0x1" decibel="-11" />
+ <Capbility value="0x2" decibel="-10" />
+ <Capbility value="0x3" decibel="-9" />
+ <Capbility value="0x4" decibel="-8" />
+ <Capbility value="0x5" decibel="-7" />
+ <Capbility value="0x6" decibel="-6" />
+ <Capbility value="0x7" decibel="-5" />
+ <Capbility value="0x8" decibel="-4" />
+ <Capbility value="0x9" decibel="-3" />
+ <Capbility value="0xA" decibel="-2" />
+ <Capbility value="0xB" decibel="-1" />
+ <Capbility value="0xC" decibel="0" />
+ <Capbility value="0xD" decibel="1" />
+ <Capbility value="0xE" decibel="2" />
+ <Capbility value="0xF" decibel="3" />
+ <Capbility value="0x10" decibel="4" />
+ <Capbility value="0x11" decibel="5" />
+ <Capbility value="0x12" decibel="6" />
+ <Capbility value="0x13" decibel="7" />
+ <Capbility value="0x14" decibel="8" />
+ <Capbility value="0x15" decibel="9" />
+ <Capbility value="0x16" decibel="10" />
+ <Capbility value="0x17" decibel="11" />
+ <Capbility value="0x18" decibel="12" />
+ </Bits>
+ </RegisterInfo>
+ <RegisterInfo index="0x120" name="Normalized center frequency for EQ band1">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:8" field="DSP1_WC_HI_EQ1[7:0]" default="0" desc="MSB field of normalized center frequency for EQ band1" />
+ <Bits range="7:0" field="DSP1_WC_LO_EQ1[7:0]" default="0" desc="LSB field of normalized center frequency for EQ band1" />
+ </RegisterInfo>
+ <RegisterInfo index="0x124" name="Gain for EQ Band 2 filter">
+ <Bits range="31:5" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="4:0" field="DSP1_K_EQ2[4:0]" default="1100" desc="dB Gain setting for EQ band2 filter. Look at EQ Band1 Gain table." />
+ </RegisterInfo>
+ <RegisterInfo index="0x128" name="Normalized center frequency for EQ band2">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:8" field="DSP1_WC_HI_EQ2[7:0]" default="0" desc="MSB field of normalized center frequency for EQ band2" />
+ <Bits range="7:0" field="DSP1_WC_LO_EQ2[7:0]" default="0" desc="LSB field of normalized center frequency for EQ band2" />
+ </RegisterInfo>
+ <RegisterInfo index="0x12c" name="Normalized bandwidth deltaf for EQ band2">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:8" field="DSP1_BW_HI_EQ2[7:0]" default="0" desc="MSB field of normalized bandwidth deltaf for EQ band2" />
+ <Bits range="7:0" field="DSP1_BW_LO_EQ2[7:0]" default="0" desc="LSB field of normalized bandwidth deltaf for EQ band2" />
+ </RegisterInfo>
+ <RegisterInfo index="0x130" name="Gain for EQ Band 3 filter">
+ <Bits range="31:5" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="4:0" field="DSP1_K_EQ3[4:0]" default="1100" desc="dB Gain setting for EQ band3 filter. Look at EQ Band1 Gain table" />
+ </RegisterInfo>
+ <RegisterInfo index="0x134" name="Normalized center frequency for EQ band3">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:8" field="DSP1_WC_HI_EQ3[7:0]" default="0" desc="MSB field of normalized center frequency for EQ band3" />
+ <Bits range="7:0" field="DSP1_WC_LO_EQ3[7:0]" default="0" desc="LSB field of normalized center frequency for EQ band3" />
+ </RegisterInfo>
+ <RegisterInfo index="0x138" name="Normalized bandwidth deltaf for EQ band3">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:8" field="DSP1_BW_HI_EQ3[7:0]" default="0" desc="MSB field of normalized bandwidth deltaf for EQ band3" />
+ <Bits range="7:0" field="DSP1_BW_LO_EQ3[7:0]" default="0" desc="LSB field of normalized bandwidth deltaf for EQ band3" />
+ </RegisterInfo>
+ <RegisterInfo index="0x13c" name="Gain for EQ Band 4 filter">
+ <Bits range="31:5" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="4:0" field="DSP1_K_EQ4[4:0]" default="1100" desc="dB Gain setting for EQ band4 filter. Look at EQ Band1 Gain table" />
+ </RegisterInfo>
+ <RegisterInfo index="0x140" name="Normalized center frequency for EQ band4">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:8" field="DSP1_WC_HI_EQ4[7:0]" default="0" desc="MSB field of normalized center frequency for EQ band4" />
+ <Bits range="7:0" field="DSP1_WC_LO_EQ4[7:0]" default="0" desc="LSB field of normalized center frequency for EQ band4" />
+ </RegisterInfo>
+ <RegisterInfo index="0x144" name="Normalized bandwidth deltaf for EQ band4">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:8" field="DSP1_BW_HI_EQ4[7:0]" default="0" desc="MSB field of normalized bandwidth deltaf for EQ band4" />
+ <Bits range="7:0" field="DSP1_BW_LO_EQ4[7:0]" default="0" desc="LSB field of normalized bandwidth deltaf for EQ band4" />
+ </RegisterInfo>
+ <RegisterInfo index="0x148" name="Gain for EQ Band 5 filter">
+ <Bits range="31:5" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="4:0" field="DSP1_K_EQ5[4:0]" default="1100" desc="dB Gain setting for EQ band5 filter. Look at EQ Band1 Gain table" />
+ </RegisterInfo>
+ <RegisterInfo index="0x14c" name="Normalized center frequency for EQ band5">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:8" field="DSP1_WC_HI_EQ5[7:0]" default="0" desc="MSB field of normalized center frequency for EQ band5" />
+ <Bits range="7:0" field="DSP1_WC_LO_EQ5[7:0]" default="0" desc="LSB field of normalized center frequency for EQ band5" />
+ </RegisterInfo>
+ <RegisterInfo index="0x150" name="Normalized bandwidth deltaf for EQ band5">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:8" field="DSP1_BW_HI_EQ5[7:0]" default="0" desc="MSB field of normalized bandwidth deltaf for EQ band5" />
+ <Bits range="7:0" field="DSP1_BW_LO_EQ5[7:0]" default="0" desc="LSB field of normalized bandwidth deltaf for EQ band5" />
+ </RegisterInfo>
+ <RegisterInfo index="0x154" name="Gain for EQ Band 6 filter">
+ <Bits range="31:5" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="4:0" field="DSP1_K_EQ6[4:0]" default="1100" desc="dB Gain setting for EQ band6 filter. Look at EQ Band1 Gain table" />
+ </RegisterInfo>
+ <RegisterInfo index="0x158" name="Normalized center frequency for EQ band6">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:8" field="DSP1_WC_HI_EQ6[7:0]" default="0" desc="MSB field of normalized center frequency for EQ band6" />
+ <Bits range="7:0" field="DSP1_WC_LO_EQ6[7:0]" default="0" desc="LSB field of normalized center frequency for EQ band6" />
+ </RegisterInfo>
+ <RegisterInfo index="0x15c" name="Normalized bandwidth deltaf for EQ band6">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:8" field="DSP1_BW_HI_EQ6[7:0]" default="0" desc="MSB field of normalized bandwidth deltaf for EQ band6" />
+ <Bits range="7:0" field="DSP1_BW_LO_EQ6[7:0]" default="0" desc="LSB field of normalized bandwidth deltaf for EQ band6" />
+ </RegisterInfo>
+ <RegisterInfo index="0x160" name="Gain for EQ Band 7 filter">
+ <Bits range="31:5" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="4:0" field="DSP1_K_EQ7[4:0]" default="1100" desc="dB Gain setting for EQ band7 filter. Look at EQ Band1 Gain table" />
+ </RegisterInfo>
+ <RegisterInfo index="0x164" name="Normalized center frequency for EQ band7">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:8" field="DSP1_WC_HI_EQ7[7:0]" default="0" desc="MSB field of normalized center frequency for EQ band7" />
+ <Bits range="7:0" field="DSP1_WC_LO_EQ7[7:0]" default="0" desc="LSB field of normalized center frequency for EQ band7" />
+ </RegisterInfo>
+ <RegisterInfo index="0x168" name="Normalized bandwidth deltaf for EQ band7">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:8" field="DSP1_BW_HI_EQ7[7:0]" default="0" desc="MSB field of normalized bandwidth deltaf for EQ band7" />
+ <Bits range="7:0" field="DSP1_BW_LO_EQ7[7:0]" default="0" desc="LSB field of normalized bandwidth deltaf for EQ band7" />
+ </RegisterInfo>
+ <RegisterInfo index="0x16c" name="Gain for EQ Band 8 filter">
+ <Bits range="31:5" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="4:0" field="DSP1_K_EQ8[4:0]" default="1100" desc="dB Gain setting for EQ band8 filter. Look at EQ Band1 Gain table" />
+ </RegisterInfo>
+ <RegisterInfo index="0x170" name="Normalized center frequency for EQ band8">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:8" field="DSP1_WC_HI_EQ8[7:0]" default="0" desc="MSB field of normalized center frequency for EQ band8" />
+ <Bits range="7:0" field="DSP1_WC_LO_EQ8[7:0]" default="0" desc="LSB field of normalized center frequency for EQ band8" />
+ </RegisterInfo>
+ <RegisterInfo index="0x174" name="Threshold value for DRC compression engine in DAC path">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:8" field="DSP1_T_DRC_HI[7:0]" default="11111000" desc="MSB field of threshold dB value of DRC compression engine" />
+ <Bits range="7:0" field="DSP1_T_DRC_LO[7:0]" default="111" desc="LSB field of threshold dB value of DRC compression engine" />
+ </RegisterInfo>
+ <RegisterInfo index="0x178" name="Offset value for DRC compression engine in DAC path">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:8" field="DSP1_O_DRC_HI[7:0]" default="0" desc="MSB field of offset dB value of DRC compression engine" />
+ <Bits range="7:0" field="DSP1_O_DRC_LO[7:0]" default="0" desc="LSB field of offset dB value of DRC compression engine" />
+ </RegisterInfo>
+ <RegisterInfo index="0x17c" name="compression ratio (K:1) for DRC compression engine in DAC path">
+ <Bits range="31:8" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="7:0" field="DSP1_K_DRC[7:0]" default="10000" desc="compression ratio value of DRC compression engine" />
+ </RegisterInfo>
+ <RegisterInfo index="0x180" name="Time constant for energy filter in DAC DRC">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:8" field="DSP1_DRC_ALPHA_ENG_HI[7:0]" default="1" desc="MSB field of DRC alpha energy filter time constant" />
+ <Bits range="7:0" field="DSP1_DRC_ALPHA_ENG_LO[7:0]" default="1010100" desc="LSB field of DRC alpha energy filter time constant" />
+ </RegisterInfo>
+ <RegisterInfo index="0x184" name="Time constant for attack in DAC DRC">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:8" field="DSP1_DRC_ALPHA_ATK_HI[7:0]" default="10" desc="MSB field of DRC attack time constant" />
+ <Bits range="7:0" field="DSP1_DRC_ALPHA_ATK_LO[7:0]" default="10100100" desc="LSB field of DRC attack time constant" />
+ </RegisterInfo>
+ <RegisterInfo index="0x188" name="Time constant for decay in DAC DRC">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:8" field="DSP1_DRC_ALPHA_DEC_HI[7:0]" default="0" desc="MSB field of DRC decay time constant" />
+ <Bits range="7:0" field="DSP1_DRC_ALPHA_DEC_LO[7:0]" default="10001000" desc="LSB field of DRC decay time constant" />
+ </RegisterInfo>
+ <RegisterInfo index="0x18c" name="Mix coefficient for left contribution to left output mix">
+ <Bits range="31:24" field="DSP1_DAC_LMIXL[7:0]" default="1000000" desc="Mix coefficient for left contribution to left output mix" />
+ <Bits range="23:16" field="DSP1_DAC_RMIXL[7:0]" default="1000000" desc="Mix coefficient for right contribution to left output mix" />
+ <Bits range="15:8" field="DSP1_DAC_LMIXR[7:0]" default="1000000" desc="Mix coefficient for left contribution to right output mix" />
+ <Bits range="7:0" field="DSP1_DAC_RMIXR[7:0]" default="1000000" desc="Mix coefficient for right contribution to right output mix" />
+ </RegisterInfo>
+ <RegisterInfo index="0x190" name="TxRx mix coef Register">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:8" field="TX_2TXRX_MIX[7:0]" default="1000000" desc="tx_2txrx_mix" />
+ <Bits range="7:0" field="RX_2TXRX_MIX[7:0]" default="1000000" desc="rx_2txrx_mix" />
+ </RegisterInfo>
+ <RegisterInfo index="0x194" name="DSP1 input mix coefs">
+ <Bits range="31:24" field="D1IN4_2INMIX[7:0]" default="1000000" type="Gain" desc="DSP1 IN4 mix coefficient">
+ <Capbility value="0x0" decibel="Mute" />
+ <Capbility value="0x1" decibel="-42.14" />
+ <Capbility value="0x2" decibel="-36.12" />
+ <Capbility value="0x3" decibel="-32.6" />
+ <Capbility value="0x4" decibel="-30.1" />
+ <Capbility value="0x5" decibel="-28.16" />
+ <Capbility value="0x6" decibel="-26.58" />
+ <Capbility value="0x7" decibel="-25.24" />
+ <Capbility value="0x8" decibel="-24.08" />
+ <Capbility value="0x9" decibel="-23.06" />
+ <Capbility value="0xA" decibel="-22.14" />
+ <Capbility value="0xB" decibel="-21.32" />
+ <Capbility value="0xC" decibel="-20.56" />
+ <Capbility value="0xD" decibel="-19.87" />
+ <Capbility value="0xE" decibel="-19.22" />
+ <Capbility value="0xF" decibel="-18.62" />
+ <Capbility value="0x10" decibel="-18.06" />
+ <Capbility value="0x11" decibel="-17.54" />
+ <Capbility value="0x12" decibel="-17.04" />
+ <Capbility value="0x13" decibel="-16.57" />
+ <Capbility value="0x14" decibel="-16.12" />
+ <Capbility value="0x15" decibel="-15.7" />
+ <Capbility value="0x16" decibel="-15.3" />
+ <Capbility value="0x17" decibel="-14.91" />
+ <Capbility value="0x18" decibel="-14.54" />
+ <Capbility value="0x19" decibel="-14.19" />
+ <Capbility value="0x1A" decibel="-13.84" />
+ <Capbility value="0x1B" decibel="-13.52" />
+ <Capbility value="0x1C" decibel="-13.2" />
+ <Capbility value="0x1D" decibel="-12.9" />
+ <Capbility value="0x1E" decibel="-12.6" />
+ <Capbility value="0x1F" decibel="-12.32" />
+ <Capbility value="0x20" decibel="-12.04" />
+ <Capbility value="0x21" decibel="-11.77" />
+ <Capbility value="0x22" decibel="-11.51" />
+ <Capbility value="0x23" decibel="-11.26" />
+ <Capbility value="0x24" decibel="-11.02" />
+ <Capbility value="0x25" decibel="-10.78" />
+ <Capbility value="0x26" decibel="-10.55" />
+ <Capbility value="0x27" decibel="-10.32" />
+ <Capbility value="0x28" decibel="-10.1" />
+ <Capbility value="0x29" decibel="-9.89" />
+ <Capbility value="0x2A" decibel="-9.68" />
+ <Capbility value="0x2B" decibel="-9.47" />
+ <Capbility value="0x2C" decibel="-9.28" />
+ <Capbility value="0x2D" decibel="-9.08" />
+ <Capbility value="0x2E" decibel="-8.89" />
+ <Capbility value="0x2F" decibel="-8.7" />
+ <Capbility value="0x30" decibel="-8.52" />
+ <Capbility value="0x31" decibel="-8.34" />
+ <Capbility value="0x32" decibel="-8.16" />
+ <Capbility value="0x33" decibel="-7.99" />
+ <Capbility value="0x34" decibel="-7.82" />
+ <Capbility value="0x35" decibel="-7.66" />
+ <Capbility value="0x36" decibel="-7.5" />
+ <Capbility value="0x37" decibel="-7.34" />
+ <Capbility value="0x38" decibel="-7.18" />
+ <Capbility value="0x39" decibel="-7.03" />
+ <Capbility value="0x3A" decibel="-6.88" />
+ <Capbility value="0x3B" decibel="-6.73" />
+ <Capbility value="0x3C" decibel="-6.58" />
+ <Capbility value="0x3D" decibel="-6.44" />
+ <Capbility value="0x3E" decibel="-6.3" />
+ <Capbility value="0x3F" decibel="-6.16" />
+ <Capbility value="0x40" decibel="-6.02" />
+ <Capbility value="0x41" decibel="-5.89" />
+ <Capbility value="0x42" decibel="-5.75" />
+ <Capbility value="0x43" decibel="-5.62" />
+ <Capbility value="0x44" decibel="-5.49" />
+ <Capbility value="0x45" decibel="-5.37" />
+ <Capbility value="0x46" decibel="-5.24" />
+ <Capbility value="0x47" decibel="-5.12" />
+ <Capbility value="0x48" decibel="-5" />
+ <Capbility value="0x49" decibel="-4.88" />
+ <Capbility value="0x4A" decibel="-4.76" />
+ <Capbility value="0x4B" decibel="-4.64" />
+ <Capbility value="0x4C" decibel="-4.53" />
+ <Capbility value="0x4D" decibel="-4.41" />
+ <Capbility value="0x4E" decibel="-4.3" />
+ <Capbility value="0x4F" decibel="-4.19" />
+ <Capbility value="0x50" decibel="-4.08" />
+ <Capbility value="0x51" decibel="-3.97" />
+ <Capbility value="0x52" decibel="-3.87" />
+ <Capbility value="0x53" decibel="-3.76" />
+ <Capbility value="0x54" decibel="-3.66" />
+ <Capbility value="0x55" decibel="-3.56" />
+ <Capbility value="0x56" decibel="-3.45" />
+ <Capbility value="0x57" decibel="-3.35" />
+ <Capbility value="0x58" decibel="-3.25" />
+ <Capbility value="0x59" decibel="-3.16" />
+ <Capbility value="0x5A" decibel="-3.06" />
+ <Capbility value="0x5B" decibel="-2.96" />
+ <Capbility value="0x5C" decibel="-2.87" />
+ <Capbility value="0x5D" decibel="-2.77" />
+ <Capbility value="0x5E" decibel="-2.68" />
+ <Capbility value="0x5F" decibel="-2.59" />
+ <Capbility value="0x60" decibel="-2.5" />
+ <Capbility value="0x61" decibel="-2.41" />
+ <Capbility value="0x62" decibel="-2.32" />
+ <Capbility value="0x63" decibel="-2.23" />
+ <Capbility value="0x64" decibel="-2.14" />
+ <Capbility value="0x65" decibel="-2.06" />
+ <Capbility value="0x66" decibel="-1.97" />
+ <Capbility value="0x67" decibel="-1.89" />
+ <Capbility value="0x68" decibel="-1.8" />
+ <Capbility value="0x69" decibel="-1.72" />
+ <Capbility value="0x6A" decibel="-1.64" />
+ <Capbility value="0x6B" decibel="-1.56" />
+ <Capbility value="0x6C" decibel="-1.48" />
+ <Capbility value="0x6D" decibel="-1.4" />
+ <Capbility value="0x6E" decibel="-1.32" />
+ <Capbility value="0x6F" decibel="-1.24" />
+ <Capbility value="0x70" decibel="-1.16" />
+ <Capbility value="0x71" decibel="-1.08" />
+ <Capbility value="0x72" decibel="-1.01" />
+ <Capbility value="0x73" decibel="-0.93" />
+ <Capbility value="0x74" decibel="-0.86" />
+ <Capbility value="0x75" decibel="-0.78" />
+ <Capbility value="0x76" decibel="-0.71" />
+ <Capbility value="0x77" decibel="-0.63" />
+ <Capbility value="0x78" decibel="-0.56" />
+ <Capbility value="0x79" decibel="-0.49" />
+ <Capbility value="0x7A" decibel="-0.42" />
+ <Capbility value="0x7B" decibel="-0.35" />
+ <Capbility value="0x7C" decibel="-0.28" />
+ <Capbility value="0x7D" decibel="-0.21" />
+ <Capbility value="0x7E" decibel="-0.14" />
+ <Capbility value="0x7F" decibel="-0.07" />
+ <Capbility value="0x80" decibel="0" />
+ </Bits>
+ <Bits range="23:16" field="D1IN3_2INMIX[7:0]" default="1000000" type="Gain" desc="DSP1 IN3 mix coefficient">
+ <Capbility value="0x0" decibel="Mute" />
+ <Capbility value="0x1" decibel="-42.14" />
+ <Capbility value="0x2" decibel="-36.12" />
+ <Capbility value="0x3" decibel="-32.6" />
+ <Capbility value="0x4" decibel="-30.1" />
+ <Capbility value="0x5" decibel="-28.16" />
+ <Capbility value="0x6" decibel="-26.58" />
+ <Capbility value="0x7" decibel="-25.24" />
+ <Capbility value="0x8" decibel="-24.08" />
+ <Capbility value="0x9" decibel="-23.06" />
+ <Capbility value="0xA" decibel="-22.14" />
+ <Capbility value="0xB" decibel="-21.32" />
+ <Capbility value="0xC" decibel="-20.56" />
+ <Capbility value="0xD" decibel="-19.87" />
+ <Capbility value="0xE" decibel="-19.22" />
+ <Capbility value="0xF" decibel="-18.62" />
+ <Capbility value="0x10" decibel="-18.06" />
+ <Capbility value="0x11" decibel="-17.54" />
+ <Capbility value="0x12" decibel="-17.04" />
+ <Capbility value="0x13" decibel="-16.57" />
+ <Capbility value="0x14" decibel="-16.12" />
+ <Capbility value="0x15" decibel="-15.7" />
+ <Capbility value="0x16" decibel="-15.3" />
+ <Capbility value="0x17" decibel="-14.91" />
+ <Capbility value="0x18" decibel="-14.54" />
+ <Capbility value="0x19" decibel="-14.19" />
+ <Capbility value="0x1A" decibel="-13.84" />
+ <Capbility value="0x1B" decibel="-13.52" />
+ <Capbility value="0x1C" decibel="-13.2" />
+ <Capbility value="0x1D" decibel="-12.9" />
+ <Capbility value="0x1E" decibel="-12.6" />
+ <Capbility value="0x1F" decibel="-12.32" />
+ <Capbility value="0x20" decibel="-12.04" />
+ <Capbility value="0x21" decibel="-11.77" />
+ <Capbility value="0x22" decibel="-11.51" />
+ <Capbility value="0x23" decibel="-11.26" />
+ <Capbility value="0x24" decibel="-11.02" />
+ <Capbility value="0x25" decibel="-10.78" />
+ <Capbility value="0x26" decibel="-10.55" />
+ <Capbility value="0x27" decibel="-10.32" />
+ <Capbility value="0x28" decibel="-10.1" />
+ <Capbility value="0x29" decibel="-9.89" />
+ <Capbility value="0x2A" decibel="-9.68" />
+ <Capbility value="0x2B" decibel="-9.47" />
+ <Capbility value="0x2C" decibel="-9.28" />
+ <Capbility value="0x2D" decibel="-9.08" />
+ <Capbility value="0x2E" decibel="-8.89" />
+ <Capbility value="0x2F" decibel="-8.7" />
+ <Capbility value="0x30" decibel="-8.52" />
+ <Capbility value="0x31" decibel="-8.34" />
+ <Capbility value="0x32" decibel="-8.16" />
+ <Capbility value="0x33" decibel="-7.99" />
+ <Capbility value="0x34" decibel="-7.82" />
+ <Capbility value="0x35" decibel="-7.66" />
+ <Capbility value="0x36" decibel="-7.5" />
+ <Capbility value="0x37" decibel="-7.34" />
+ <Capbility value="0x38" decibel="-7.18" />
+ <Capbility value="0x39" decibel="-7.03" />
+ <Capbility value="0x3A" decibel="-6.88" />
+ <Capbility value="0x3B" decibel="-6.73" />
+ <Capbility value="0x3C" decibel="-6.58" />
+ <Capbility value="0x3D" decibel="-6.44" />
+ <Capbility value="0x3E" decibel="-6.3" />
+ <Capbility value="0x3F" decibel="-6.16" />
+ <Capbility value="0x40" decibel="-6.02" />
+ <Capbility value="0x41" decibel="-5.89" />
+ <Capbility value="0x42" decibel="-5.75" />
+ <Capbility value="0x43" decibel="-5.62" />
+ <Capbility value="0x44" decibel="-5.49" />
+ <Capbility value="0x45" decibel="-5.37" />
+ <Capbility value="0x46" decibel="-5.24" />
+ <Capbility value="0x47" decibel="-5.12" />
+ <Capbility value="0x48" decibel="-5" />
+ <Capbility value="0x49" decibel="-4.88" />
+ <Capbility value="0x4A" decibel="-4.76" />
+ <Capbility value="0x4B" decibel="-4.64" />
+ <Capbility value="0x4C" decibel="-4.53" />
+ <Capbility value="0x4D" decibel="-4.41" />
+ <Capbility value="0x4E" decibel="-4.3" />
+ <Capbility value="0x4F" decibel="-4.19" />
+ <Capbility value="0x50" decibel="-4.08" />
+ <Capbility value="0x51" decibel="-3.97" />
+ <Capbility value="0x52" decibel="-3.87" />
+ <Capbility value="0x53" decibel="-3.76" />
+ <Capbility value="0x54" decibel="-3.66" />
+ <Capbility value="0x55" decibel="-3.56" />
+ <Capbility value="0x56" decibel="-3.45" />
+ <Capbility value="0x57" decibel="-3.35" />
+ <Capbility value="0x58" decibel="-3.25" />
+ <Capbility value="0x59" decibel="-3.16" />
+ <Capbility value="0x5A" decibel="-3.06" />
+ <Capbility value="0x5B" decibel="-2.96" />
+ <Capbility value="0x5C" decibel="-2.87" />
+ <Capbility value="0x5D" decibel="-2.77" />
+ <Capbility value="0x5E" decibel="-2.68" />
+ <Capbility value="0x5F" decibel="-2.59" />
+ <Capbility value="0x60" decibel="-2.5" />
+ <Capbility value="0x61" decibel="-2.41" />
+ <Capbility value="0x62" decibel="-2.32" />
+ <Capbility value="0x63" decibel="-2.23" />
+ <Capbility value="0x64" decibel="-2.14" />
+ <Capbility value="0x65" decibel="-2.06" />
+ <Capbility value="0x66" decibel="-1.97" />
+ <Capbility value="0x67" decibel="-1.89" />
+ <Capbility value="0x68" decibel="-1.8" />
+ <Capbility value="0x69" decibel="-1.72" />
+ <Capbility value="0x6A" decibel="-1.64" />
+ <Capbility value="0x6B" decibel="-1.56" />
+ <Capbility value="0x6C" decibel="-1.48" />
+ <Capbility value="0x6D" decibel="-1.4" />
+ <Capbility value="0x6E" decibel="-1.32" />
+ <Capbility value="0x6F" decibel="-1.24" />
+ <Capbility value="0x70" decibel="-1.16" />
+ <Capbility value="0x71" decibel="-1.08" />
+ <Capbility value="0x72" decibel="-1.01" />
+ <Capbility value="0x73" decibel="-0.93" />
+ <Capbility value="0x74" decibel="-0.86" />
+ <Capbility value="0x75" decibel="-0.78" />
+ <Capbility value="0x76" decibel="-0.71" />
+ <Capbility value="0x77" decibel="-0.63" />
+ <Capbility value="0x78" decibel="-0.56" />
+ <Capbility value="0x79" decibel="-0.49" />
+ <Capbility value="0x7A" decibel="-0.42" />
+ <Capbility value="0x7B" decibel="-0.35" />
+ <Capbility value="0x7C" decibel="-0.28" />
+ <Capbility value="0x7D" decibel="-0.21" />
+ <Capbility value="0x7E" decibel="-0.14" />
+ <Capbility value="0x7F" decibel="-0.07" />
+ <Capbility value="0x80" decibel="0" />
+ </Bits>
+ <Bits range="15:8" field="D1IN2_2INMIX[7:0]" default="1000000" type="Gain" desc="DSP1 IN2 mix coefficient">
+ <Capbility value="0x0" decibel="Mute" />
+ <Capbility value="0x1" decibel="-42.14" />
+ <Capbility value="0x2" decibel="-36.12" />
+ <Capbility value="0x3" decibel="-32.6" />
+ <Capbility value="0x4" decibel="-30.1" />
+ <Capbility value="0x5" decibel="-28.16" />
+ <Capbility value="0x6" decibel="-26.58" />
+ <Capbility value="0x7" decibel="-25.24" />
+ <Capbility value="0x8" decibel="-24.08" />
+ <Capbility value="0x9" decibel="-23.06" />
+ <Capbility value="0xA" decibel="-22.14" />
+ <Capbility value="0xB" decibel="-21.32" />
+ <Capbility value="0xC" decibel="-20.56" />
+ <Capbility value="0xD" decibel="-19.87" />
+ <Capbility value="0xE" decibel="-19.22" />
+ <Capbility value="0xF" decibel="-18.62" />
+ <Capbility value="0x10" decibel="-18.06" />
+ <Capbility value="0x11" decibel="-17.54" />
+ <Capbility value="0x12" decibel="-17.04" />
+ <Capbility value="0x13" decibel="-16.57" />
+ <Capbility value="0x14" decibel="-16.12" />
+ <Capbility value="0x15" decibel="-15.7" />
+ <Capbility value="0x16" decibel="-15.3" />
+ <Capbility value="0x17" decibel="-14.91" />
+ <Capbility value="0x18" decibel="-14.54" />
+ <Capbility value="0x19" decibel="-14.19" />
+ <Capbility value="0x1A" decibel="-13.84" />
+ <Capbility value="0x1B" decibel="-13.52" />
+ <Capbility value="0x1C" decibel="-13.2" />
+ <Capbility value="0x1D" decibel="-12.9" />
+ <Capbility value="0x1E" decibel="-12.6" />
+ <Capbility value="0x1F" decibel="-12.32" />
+ <Capbility value="0x20" decibel="-12.04" />
+ <Capbility value="0x21" decibel="-11.77" />
+ <Capbility value="0x22" decibel="-11.51" />
+ <Capbility value="0x23" decibel="-11.26" />
+ <Capbility value="0x24" decibel="-11.02" />
+ <Capbility value="0x25" decibel="-10.78" />
+ <Capbility value="0x26" decibel="-10.55" />
+ <Capbility value="0x27" decibel="-10.32" />
+ <Capbility value="0x28" decibel="-10.1" />
+ <Capbility value="0x29" decibel="-9.89" />
+ <Capbility value="0x2A" decibel="-9.68" />
+ <Capbility value="0x2B" decibel="-9.47" />
+ <Capbility value="0x2C" decibel="-9.28" />
+ <Capbility value="0x2D" decibel="-9.08" />
+ <Capbility value="0x2E" decibel="-8.89" />
+ <Capbility value="0x2F" decibel="-8.7" />
+ <Capbility value="0x30" decibel="-8.52" />
+ <Capbility value="0x31" decibel="-8.34" />
+ <Capbility value="0x32" decibel="-8.16" />
+ <Capbility value="0x33" decibel="-7.99" />
+ <Capbility value="0x34" decibel="-7.82" />
+ <Capbility value="0x35" decibel="-7.66" />
+ <Capbility value="0x36" decibel="-7.5" />
+ <Capbility value="0x37" decibel="-7.34" />
+ <Capbility value="0x38" decibel="-7.18" />
+ <Capbility value="0x39" decibel="-7.03" />
+ <Capbility value="0x3A" decibel="-6.88" />
+ <Capbility value="0x3B" decibel="-6.73" />
+ <Capbility value="0x3C" decibel="-6.58" />
+ <Capbility value="0x3D" decibel="-6.44" />
+ <Capbility value="0x3E" decibel="-6.3" />
+ <Capbility value="0x3F" decibel="-6.16" />
+ <Capbility value="0x40" decibel="-6.02" />
+ <Capbility value="0x41" decibel="-5.89" />
+ <Capbility value="0x42" decibel="-5.75" />
+ <Capbility value="0x43" decibel="-5.62" />
+ <Capbility value="0x44" decibel="-5.49" />
+ <Capbility value="0x45" decibel="-5.37" />
+ <Capbility value="0x46" decibel="-5.24" />
+ <Capbility value="0x47" decibel="-5.12" />
+ <Capbility value="0x48" decibel="-5" />
+ <Capbility value="0x49" decibel="-4.88" />
+ <Capbility value="0x4A" decibel="-4.76" />
+ <Capbility value="0x4B" decibel="-4.64" />
+ <Capbility value="0x4C" decibel="-4.53" />
+ <Capbility value="0x4D" decibel="-4.41" />
+ <Capbility value="0x4E" decibel="-4.3" />
+ <Capbility value="0x4F" decibel="-4.19" />
+ <Capbility value="0x50" decibel="-4.08" />
+ <Capbility value="0x51" decibel="-3.97" />
+ <Capbility value="0x52" decibel="-3.87" />
+ <Capbility value="0x53" decibel="-3.76" />
+ <Capbility value="0x54" decibel="-3.66" />
+ <Capbility value="0x55" decibel="-3.56" />
+ <Capbility value="0x56" decibel="-3.45" />
+ <Capbility value="0x57" decibel="-3.35" />
+ <Capbility value="0x58" decibel="-3.25" />
+ <Capbility value="0x59" decibel="-3.16" />
+ <Capbility value="0x5A" decibel="-3.06" />
+ <Capbility value="0x5B" decibel="-2.96" />
+ <Capbility value="0x5C" decibel="-2.87" />
+ <Capbility value="0x5D" decibel="-2.77" />
+ <Capbility value="0x5E" decibel="-2.68" />
+ <Capbility value="0x5F" decibel="-2.59" />
+ <Capbility value="0x60" decibel="-2.5" />
+ <Capbility value="0x61" decibel="-2.41" />
+ <Capbility value="0x62" decibel="-2.32" />
+ <Capbility value="0x63" decibel="-2.23" />
+ <Capbility value="0x64" decibel="-2.14" />
+ <Capbility value="0x65" decibel="-2.06" />
+ <Capbility value="0x66" decibel="-1.97" />
+ <Capbility value="0x67" decibel="-1.89" />
+ <Capbility value="0x68" decibel="-1.8" />
+ <Capbility value="0x69" decibel="-1.72" />
+ <Capbility value="0x6A" decibel="-1.64" />
+ <Capbility value="0x6B" decibel="-1.56" />
+ <Capbility value="0x6C" decibel="-1.48" />
+ <Capbility value="0x6D" decibel="-1.4" />
+ <Capbility value="0x6E" decibel="-1.32" />
+ <Capbility value="0x6F" decibel="-1.24" />
+ <Capbility value="0x70" decibel="-1.16" />
+ <Capbility value="0x71" decibel="-1.08" />
+ <Capbility value="0x72" decibel="-1.01" />
+ <Capbility value="0x73" decibel="-0.93" />
+ <Capbility value="0x74" decibel="-0.86" />
+ <Capbility value="0x75" decibel="-0.78" />
+ <Capbility value="0x76" decibel="-0.71" />
+ <Capbility value="0x77" decibel="-0.63" />
+ <Capbility value="0x78" decibel="-0.56" />
+ <Capbility value="0x79" decibel="-0.49" />
+ <Capbility value="0x7A" decibel="-0.42" />
+ <Capbility value="0x7B" decibel="-0.35" />
+ <Capbility value="0x7C" decibel="-0.28" />
+ <Capbility value="0x7D" decibel="-0.21" />
+ <Capbility value="0x7E" decibel="-0.14" />
+ <Capbility value="0x7F" decibel="-0.07" />
+ <Capbility value="0x80" decibel="0" />
+ </Bits>
+ <Bits range="7:0" field="D1IN1_2INMIX[7:0]" default="1000000" type="Gain" desc="DSP1 IN1 mix coefficient">
+ <Capbility value="0x0" decibel="Mute" />
+ <Capbility value="0x1" decibel="-42.14" />
+ <Capbility value="0x2" decibel="-36.12" />
+ <Capbility value="0x3" decibel="-32.6" />
+ <Capbility value="0x4" decibel="-30.1" />
+ <Capbility value="0x5" decibel="-28.16" />
+ <Capbility value="0x6" decibel="-26.58" />
+ <Capbility value="0x7" decibel="-25.24" />
+ <Capbility value="0x8" decibel="-24.08" />
+ <Capbility value="0x9" decibel="-23.06" />
+ <Capbility value="0xA" decibel="-22.14" />
+ <Capbility value="0xB" decibel="-21.32" />
+ <Capbility value="0xC" decibel="-20.56" />
+ <Capbility value="0xD" decibel="-19.87" />
+ <Capbility value="0xE" decibel="-19.22" />
+ <Capbility value="0xF" decibel="-18.62" />
+ <Capbility value="0x10" decibel="-18.06" />
+ <Capbility value="0x11" decibel="-17.54" />
+ <Capbility value="0x12" decibel="-17.04" />
+ <Capbility value="0x13" decibel="-16.57" />
+ <Capbility value="0x14" decibel="-16.12" />
+ <Capbility value="0x15" decibel="-15.7" />
+ <Capbility value="0x16" decibel="-15.3" />
+ <Capbility value="0x17" decibel="-14.91" />
+ <Capbility value="0x18" decibel="-14.54" />
+ <Capbility value="0x19" decibel="-14.19" />
+ <Capbility value="0x1A" decibel="-13.84" />
+ <Capbility value="0x1B" decibel="-13.52" />
+ <Capbility value="0x1C" decibel="-13.2" />
+ <Capbility value="0x1D" decibel="-12.9" />
+ <Capbility value="0x1E" decibel="-12.6" />
+ <Capbility value="0x1F" decibel="-12.32" />
+ <Capbility value="0x20" decibel="-12.04" />
+ <Capbility value="0x21" decibel="-11.77" />
+ <Capbility value="0x22" decibel="-11.51" />
+ <Capbility value="0x23" decibel="-11.26" />
+ <Capbility value="0x24" decibel="-11.02" />
+ <Capbility value="0x25" decibel="-10.78" />
+ <Capbility value="0x26" decibel="-10.55" />
+ <Capbility value="0x27" decibel="-10.32" />
+ <Capbility value="0x28" decibel="-10.1" />
+ <Capbility value="0x29" decibel="-9.89" />
+ <Capbility value="0x2A" decibel="-9.68" />
+ <Capbility value="0x2B" decibel="-9.47" />
+ <Capbility value="0x2C" decibel="-9.28" />
+ <Capbility value="0x2D" decibel="-9.08" />
+ <Capbility value="0x2E" decibel="-8.89" />
+ <Capbility value="0x2F" decibel="-8.7" />
+ <Capbility value="0x30" decibel="-8.52" />
+ <Capbility value="0x31" decibel="-8.34" />
+ <Capbility value="0x32" decibel="-8.16" />
+ <Capbility value="0x33" decibel="-7.99" />
+ <Capbility value="0x34" decibel="-7.82" />
+ <Capbility value="0x35" decibel="-7.66" />
+ <Capbility value="0x36" decibel="-7.5" />
+ <Capbility value="0x37" decibel="-7.34" />
+ <Capbility value="0x38" decibel="-7.18" />
+ <Capbility value="0x39" decibel="-7.03" />
+ <Capbility value="0x3A" decibel="-6.88" />
+ <Capbility value="0x3B" decibel="-6.73" />
+ <Capbility value="0x3C" decibel="-6.58" />
+ <Capbility value="0x3D" decibel="-6.44" />
+ <Capbility value="0x3E" decibel="-6.3" />
+ <Capbility value="0x3F" decibel="-6.16" />
+ <Capbility value="0x40" decibel="-6.02" />
+ <Capbility value="0x41" decibel="-5.89" />
+ <Capbility value="0x42" decibel="-5.75" />
+ <Capbility value="0x43" decibel="-5.62" />
+ <Capbility value="0x44" decibel="-5.49" />
+ <Capbility value="0x45" decibel="-5.37" />
+ <Capbility value="0x46" decibel="-5.24" />
+ <Capbility value="0x47" decibel="-5.12" />
+ <Capbility value="0x48" decibel="-5" />
+ <Capbility value="0x49" decibel="-4.88" />
+ <Capbility value="0x4A" decibel="-4.76" />
+ <Capbility value="0x4B" decibel="-4.64" />
+ <Capbility value="0x4C" decibel="-4.53" />
+ <Capbility value="0x4D" decibel="-4.41" />
+ <Capbility value="0x4E" decibel="-4.3" />
+ <Capbility value="0x4F" decibel="-4.19" />
+ <Capbility value="0x50" decibel="-4.08" />
+ <Capbility value="0x51" decibel="-3.97" />
+ <Capbility value="0x52" decibel="-3.87" />
+ <Capbility value="0x53" decibel="-3.76" />
+ <Capbility value="0x54" decibel="-3.66" />
+ <Capbility value="0x55" decibel="-3.56" />
+ <Capbility value="0x56" decibel="-3.45" />
+ <Capbility value="0x57" decibel="-3.35" />
+ <Capbility value="0x58" decibel="-3.25" />
+ <Capbility value="0x59" decibel="-3.16" />
+ <Capbility value="0x5A" decibel="-3.06" />
+ <Capbility value="0x5B" decibel="-2.96" />
+ <Capbility value="0x5C" decibel="-2.87" />
+ <Capbility value="0x5D" decibel="-2.77" />
+ <Capbility value="0x5E" decibel="-2.68" />
+ <Capbility value="0x5F" decibel="-2.59" />
+ <Capbility value="0x60" decibel="-2.5" />
+ <Capbility value="0x61" decibel="-2.41" />
+ <Capbility value="0x62" decibel="-2.32" />
+ <Capbility value="0x63" decibel="-2.23" />
+ <Capbility value="0x64" decibel="-2.14" />
+ <Capbility value="0x65" decibel="-2.06" />
+ <Capbility value="0x66" decibel="-1.97" />
+ <Capbility value="0x67" decibel="-1.89" />
+ <Capbility value="0x68" decibel="-1.8" />
+ <Capbility value="0x69" decibel="-1.72" />
+ <Capbility value="0x6A" decibel="-1.64" />
+ <Capbility value="0x6B" decibel="-1.56" />
+ <Capbility value="0x6C" decibel="-1.48" />
+ <Capbility value="0x6D" decibel="-1.4" />
+ <Capbility value="0x6E" decibel="-1.32" />
+ <Capbility value="0x6F" decibel="-1.24" />
+ <Capbility value="0x70" decibel="-1.16" />
+ <Capbility value="0x71" decibel="-1.08" />
+ <Capbility value="0x72" decibel="-1.01" />
+ <Capbility value="0x73" decibel="-0.93" />
+ <Capbility value="0x74" decibel="-0.86" />
+ <Capbility value="0x75" decibel="-0.78" />
+ <Capbility value="0x76" decibel="-0.71" />
+ <Capbility value="0x77" decibel="-0.63" />
+ <Capbility value="0x78" decibel="-0.56" />
+ <Capbility value="0x79" decibel="-0.49" />
+ <Capbility value="0x7A" decibel="-0.42" />
+ <Capbility value="0x7B" decibel="-0.35" />
+ <Capbility value="0x7C" decibel="-0.28" />
+ <Capbility value="0x7D" decibel="-0.21" />
+ <Capbility value="0x7E" decibel="-0.14" />
+ <Capbility value="0x7F" decibel="-0.07" />
+ <Capbility value="0x80" decibel="0" />
+ </Bits>
+ </RegisterInfo>
+ <RegisterInfo index="0x198" name="DSP1 3D sound register1">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:8" field="DSP1_3D_HEADRADIUS[7:0]" default="1010" desc="Head radius parameter for 3D sound" />
+ <Bits range="7:0" field="DSP1_3D_CONTROL[7:0]" default="0" desc="3D control register" />
+ </RegisterInfo>
+ <RegisterInfo index="0x19c" name="DSP1 3D sound register2">
+ <Bits range="31:24" field="DSP1_3D_SS2_ANGLE[7:0]" default="0" desc="3D sound sound source 2 angle " />
+ <Bits range="23:16" field="DSP1_3D_SS2_DISTANCE[7:0]" default="0" desc="3D sound sound source 2 distance" />
+ <Bits range="15:8" field="DSP1_3D_SS1_ANGLE[7:0]" default="0" desc="3D sound sound source 1 angle " />
+ <Bits range="7:0" field="DSP1_3D_SS1_DISTANCE[7:0]" default="0" desc="3D sound sound source 1 distance " />
+ </RegisterInfo>
+ <RegisterInfo index="0x1a0" name="Dummy register for DSP1 RAML">
+ <Bits range="31:24" field="DSP1_L_DUMMY1[7:0]" default="0" desc="Dummy register for DSP1 RAML" />
+ <Bits range="23:16" field="DSP1_L_DUMMY2[7:0]" default="0" desc="Dummy register for DSP1 RAML" />
+ <Bits range="15:8" field="DSP1_L_DUMMY3[7:0]" default="0" desc="Dummy register for DSP1 RAML" />
+ <Bits range="7:0" field="DSP1_L_DUMMY4[7:0]" default="0" desc="Dummy register for DSP1 RAML" />
+ </RegisterInfo>
+ <RegisterInfo index="0x1a4" name="Dummy register for DSP1 RAMR">
+ <Bits range="31:24" field="DSP1_R_DUMMY1[7:0]" default="0" desc="Dummy register for DSP1 RAMR" />
+ <Bits range="23:16" field="DSP1_R_DUMMY2[7:0]" default="0" desc="Dummy register for DSP1 RAMR" />
+ <Bits range="15:8" field="DSP1_R_DUMMY3[7:0]" default="0" desc="Dummy register for DSP1 RAMR" />
+ <Bits range="7:0" field="DSP1_R_DUMMY4[7:0]" default="0" desc="Dummy register for DSP1 RAMR" />
+ </RegisterInfo>
+ <RegisterInfo index="0x1a8" name="Dummy register for DSP1 RAML, RAMR, RAMC1 and RAMC2">
+ <Bits range="31:24" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="23:16" field="DSP1_C2_DUMMY5[7:0]" default="0" desc="Dummy register for DSP1 RAMC2" />
+ <Bits range="15:8" field="DSP1_R_DUMMY5[7:0]" default="0" desc="Dummy register for DSP1 RAMR" />
+ <Bits range="7:0" field="DSP1_L_DUMMY5[7:0]" default="0" desc="Dummy register for DSP1 RAML" />
+ </RegisterInfo>
+ <RegisterInfo index="0x1ac" name="Dummy register for DSP1 RAMC1">
+ <Bits range="31:24" field="DSP1_C1_DUMMY1[7:0]" default="0" desc="Dummy register for DSP1 RAMC1" />
+ <Bits range="23:16" field="DSP1_C1_DUMMY2[7:0]" default="0" desc="Dummy register for DSP1 RAMC1" />
+ <Bits range="15:8" field="DSP1_C1_DUMMY3[7:0]" default="0" desc="Dummy register for DSP1 RAMC1" />
+ <Bits range="7:0" field="DSP1_C1_DUMMY4[7:0]" default="0" desc="Dummy register for DSP1 RAMC1" />
+ </RegisterInfo>
+ <RegisterInfo index="0x1b0" name="Dummy register for DSP1 RAMC2">
+ <Bits range="31:24" field="DSP1_C2_DUMMY1[7:0]" default="0" desc="Dummy register for DSP1 RAMC2" />
+ <Bits range="23:16" field="DSP1_C2_DUMMY2[7:0]" default="0" desc="Dummy register for DSP1 RAMC2" />
+ <Bits range="15:8" field="DSP1_C2_DUMMY3[7:0]" default="0" desc="Dummy register for DSP1 RAMC2" />
+ <Bits range="7:0" field="DSP1_C2_DUMMY4[7:0]" default="0" desc="Dummy register for DSP1 RAMC2" />
+ </RegisterInfo>
+ <RegisterInfo index="0x1b4" name="Scaling coefficient for both left and right channel DAC DSM">
+ <Bits range="31:8" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="7:0" field="DSP1_DSM_SCALE[7:0]" default="10000000" desc="scaling coefficient for left and right channel DAC DSM" />
+ </RegisterInfo>
+ <RegisterInfo index="0x200" name="DAC path DSP1 audio processing register. AudioReg1 is [7:0] and AudioReg2 is [15:8]">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15" field="DSP2_DAC_DUMMY2_EN" default="0" desc="" />
+ <Bits range="14" field="DSP2_DAC_3D_ENABLE" default="0" desc="Write 1 to enable 3D sound" />
+ <Bits range="13" field="DSP2_DAC_TXRX_MIX_ENABLE" default="0" desc="Write 1 to enable mixing of D1AO1" />
+ <Bits range="12" field="DSP2_DAC_D1IN4_MIX_ENABLE" default="0" desc="Write 1 to enable mixing of D1IN4" />
+ <Bits range="11" field="DSP2_DAC_D1IN3_MIX_ENABLE" default="0" desc="Write 1 to enable mixing of D1IN3" />
+ <Bits range="10" field="DSP2_DAC_D1IN2_MIX_ENABLE" default="0" desc="Write 1 to enable mixing of D1IN2" />
+ <Bits range="9" field="DSP2_DAC_D1IN1_MIX_ENABLE" default="0" desc="Write 1 to enable mixing of D1IN1" />
+ <Bits range="8" field="DSP2_DAC_OUT_MIX_ENABLE" default="0" desc="Write 1 to enable DAC path data mixing at output" />
+ <Bits range="7" field="DSP2_DAC_DUMMY1_EN" default="0" desc="" />
+ <Bits range="6" field="DSP2_DAC_AMUTE_ENABLE" default="0" desc="Write 1 to enable auto mute" />
+ <Bits range="5" field="DSP2_DAC_MUTE_UNMUTE" default="0" desc="Write 0 to mute and 1 to unmute the DAC side" />
+ <Bits range="4" field="DSP2_DAC_VOLUME_UPDATE" default="0" type="Force" desc="After updating dac_vol_left and dac_vol_right, write 1 to send the volume command" />
+ <Bits range="3" field="DSP2_DAC_DRC_ENABLE" default="0" desc="Write 1 to enable DRC. Look at register 0x52~0x5C for DRC parameters" />
+ <Bits range="2" field="DSP2_DAC_EQ_UPDATE" default="0" desc="After updating EQ coefs, write 1 to send the eq update command" />
+ <Bits range="1" field="DSP2_DAC_EQ_ENABLE" default="0" desc="Write 1 to enable EQ. Look at registers 0x2E~0x51 for EQ parameters" />
+ <Bits range="0" field="DSP2_DAC_ANC_ENABLE" default="0" desc="Write 1 to enable ambient noise cancellation. Look at registers 0x26~0x2D for ANC parameters" />
+ </RegisterInfo>
+ <RegisterInfo index="0x204" name="DSP2 Control Register">
+ <Bits range="31:6" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="5" field="DSP2_DAC_SOFT_RAMP_ENABLE" default="0" desc="Write 1 to enable soft volume ramp and soft mute/unmute ramp. Soft ramp uses zero-crossing detection." />
+ <Bits range="4" field="DSP2_DAC_MONOMODE_EN" default="0" desc="Write 1 to enable DAC mode mode. Left channel = (L+R)/2. Right channel is disabled" />
+ <Bits range="3:2" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="1" field="DSP2_EN_DAC_RIGHT" default="0" desc="Write 1 to enable right channel in DAC path" />
+ <Bits range="0" field="DSP2_EN_DAC_LEFT" default="0" desc="Write 1 to enable left channel in DAC path" />
+ </RegisterInfo>
+ <RegisterInfo index="0x208" name="Volume setting for DSP2">
+ <Bits range="31:24" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="23:16" field="DSP2_DAC_LEFT_VOL[7:0]" default="11101011" type="Gain" desc="dB volume setting for left channel in DAC path in 0.5dB step">
+ <Capbility range="0x00~0xff" dbrange="-127.5~0.0" step="0.5" />
+ </Bits>
+ <Bits range="15:8" field="DSP2_DAC_RIGHT_VOL[7:0]" default="11101011" type="Gain" desc="dB volume setting for right channel in DAC path in 0.5dB step">
+ <Capbility range="0x00~0xff" dbrange="-127.5~0.0" step="0.5" />
+ </Bits>
+ <Bits range="7:5" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="4:2" field="DSP2_PLAYBACK_GAIN[2:0]" default="0" type="Gain" desc="Digital Gain boost for both Left and Right channel data on playback path">
+ <Capbility value="0x0" decibel="0" />
+ <Capbility value="0x1" decibel="6" />
+ <Capbility value="0x2" decibel="12" />
+ <Capbility value="0x3" decibel="18" />
+ <Capbility value="0x4" decibel="0" />
+ <Capbility value="0x5" decibel="-6" />
+ <Capbility value="0x6" decibel="-12" />
+ <Capbility value="0x7" decibel="-18" />
+ </Bits>
+ <Bits range="1:0" field="DSP2_DAC_VOL_CHG_TIME[1:0]" default="1" desc="During volume soft ramp amount of time allowed for ramp to complete" />
+ </RegisterInfo>
+ <RegisterInfo index="0x20c" name="ANC parameter to control LMS adaptation step size">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:0" field="DSP2_ANC_MU[15:0]" default="10000000000" desc="MSB field of parameter u. Smaller values yields lower residual mean square error." />
+ </RegisterInfo>
+ <RegisterInfo index="0x210" name="ANC parameter to control alpha energy filter">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:0" field="DSP2_ANC_LAM[15:0]" default="10000000" desc="MSB field of parameter lamba. Smaller values yields smoother energy estimates" />
+ </RegisterInfo>
+ <RegisterInfo index="0x214" name="ANC parameter to control xcorr coef calculation">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:0" field="DSP2_ANC_BETA[15:0]" default="11111100000000" desc="MSB field of parameter beta. Larger value yields better results." />
+ </RegisterInfo>
+ <RegisterInfo index="0x218" name="ANC parameter to err_th to control double talk detection">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:0" field="DSP2_ANC_ERR_TH[15:0]" default="100001" desc="MSB field of parameter err_th" />
+ </RegisterInfo>
+ <RegisterInfo index="0x21c" name="Gain for EQ Band 1 filter">
+ <Bits range="31:5" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="4:0" field="DSP2_K_EQ1[4:0]" default="1100" type="Gain" desc="dB Gain setting for EQ band1 filter. Look at following table.">
+ <Capbility value="0x0" decibel="-12" />
+ <Capbility value="0x1" decibel="-11" />
+ <Capbility value="0x2" decibel="-10" />
+ <Capbility value="0x3" decibel="-9" />
+ <Capbility value="0x4" decibel="-8" />
+ <Capbility value="0x5" decibel="-7" />
+ <Capbility value="0x6" decibel="-6" />
+ <Capbility value="0x7" decibel="-5" />
+ <Capbility value="0x8" decibel="-4" />
+ <Capbility value="0x9" decibel="-3" />
+ <Capbility value="0xA" decibel="-2" />
+ <Capbility value="0xB" decibel="-1" />
+ <Capbility value="0xC" decibel="0" />
+ <Capbility value="0xD" decibel="1" />
+ <Capbility value="0xE" decibel="2" />
+ <Capbility value="0xF" decibel="3" />
+ <Capbility value="0x10" decibel="4" />
+ <Capbility value="0x11" decibel="5" />
+ <Capbility value="0x12" decibel="6" />
+ <Capbility value="0x13" decibel="7" />
+ <Capbility value="0x14" decibel="8" />
+ <Capbility value="0x15" decibel="9" />
+ <Capbility value="0x16" decibel="10" />
+ <Capbility value="0x17" decibel="11" />
+ <Capbility value="0x18" decibel="12" />
+ </Bits>
+ </RegisterInfo>
+ <RegisterInfo index="0x220" name="Normalized center frequency for EQ band1">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:8" field="DSP2_WC_HI_EQ1[7:0]" default="0" desc="MSB field of normalized center frequency for EQ band1" />
+ <Bits range="7:0" field="DSP2_WC_LO_EQ1[7:0]" default="0" desc="LSB field of normalized center frequency for EQ band1" />
+ </RegisterInfo>
+ <RegisterInfo index="0x224" name="Gain for EQ Band 2 filter">
+ <Bits range="31:5" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="4:0" field="DSP2_K_EQ2[4:0]" default="1100" desc="dB Gain setting for EQ band2 filter. Look at EQ Band1 Gain table." />
+ </RegisterInfo>
+ <RegisterInfo index="0x228" name="Normalized center frequency for EQ band2">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:8" field="DSP2_WC_HI_EQ2[7:0]" default="0" desc="MSB field of normalized center frequency for EQ band2" />
+ <Bits range="7:0" field="DSP2_WC_LO_EQ2[7:0]" default="0" desc="LSB field of normalized center frequency for EQ band2" />
+ </RegisterInfo>
+ <RegisterInfo index="0x22c" name="Normalized bandwidth deltaf for EQ band2">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:8" field="DSP2_BW_HI_EQ2[7:0]" default="0" desc="MSB field of normalized bandwidth deltaf for EQ band2" />
+ <Bits range="7:0" field="DSP2_BW_LO_EQ2[7:0]" default="0" desc="LSB field of normalized bandwidth deltaf for EQ band2" />
+ </RegisterInfo>
+ <RegisterInfo index="0x230" name="Gain for EQ Band 3 filter">
+ <Bits range="31:5" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="4:0" field="DSP2_K_EQ3[4:0]" default="1100" desc="dB Gain setting for EQ band3 filter. Look at EQ Band1 Gain table" />
+ </RegisterInfo>
+ <RegisterInfo index="0x234" name="Normalized center frequency for EQ band3">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:8" field="DSP2_WC_HI_EQ3[7:0]" default="0" desc="MSB field of normalized center frequency for EQ band3" />
+ <Bits range="7:0" field="DSP2_WC_LO_EQ3[7:0]" default="0" desc="LSB field of normalized center frequency for EQ band3" />
+ </RegisterInfo>
+ <RegisterInfo index="0x238" name="Normalized bandwidth deltaf for EQ band3">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:8" field="DSP2_BW_HI_EQ3[7:0]" default="0" desc="MSB field of normalized bandwidth deltaf for EQ band3" />
+ <Bits range="7:0" field="DSP2_BW_LO_EQ3[7:0]" default="0" desc="LSB field of normalized bandwidth deltaf for EQ band3" />
+ </RegisterInfo>
+ <RegisterInfo index="0x23c" name="Gain for EQ Band 4 filter">
+ <Bits range="31:5" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="4:0" field="DSP2_K_EQ4[4:0]" default="1100" desc="dB Gain setting for EQ band4 filter. Look at EQ Band1 Gain table" />
+ </RegisterInfo>
+ <RegisterInfo index="0x240" name="Normalized center frequency for EQ band4">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:8" field="DSP2_WC_HI_EQ4[7:0]" default="0" desc="MSB field of normalized center frequency for EQ band4" />
+ <Bits range="7:0" field="DSP2_WC_LO_EQ4[7:0]" default="0" desc="LSB field of normalized center frequency for EQ band4" />
+ </RegisterInfo>
+ <RegisterInfo index="0x244" name="Normalized bandwidth deltaf for EQ band4">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:8" field="DSP2_BW_HI_EQ4[7:0]" default="0" desc="MSB field of normalized bandwidth deltaf for EQ band4" />
+ <Bits range="7:0" field="DSP2_BW_LO_EQ4[7:0]" default="0" desc="LSB field of normalized bandwidth deltaf for EQ band4" />
+ </RegisterInfo>
+ <RegisterInfo index="0x248" name="Gain for EQ Band 5 filter">
+ <Bits range="31:5" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="4:0" field="DSP2_K_EQ5[4:0]" default="1100" desc="dB Gain setting for EQ band5 filter. Look at EQ Band1 Gain table" />
+ </RegisterInfo>
+ <RegisterInfo index="0x24c" name="Normalized center frequency for EQ band5">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:8" field="DSP2_WC_HI_EQ5[7:0]" default="0" desc="MSB field of normalized center frequency for EQ band5" />
+ <Bits range="7:0" field="DSP2_WC_LO_EQ5[7:0]" default="0" desc="LSB field of normalized center frequency for EQ band5" />
+ </RegisterInfo>
+ <RegisterInfo index="0x250" name="Normalized bandwidth deltaf for EQ band5">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:8" field="DSP2_BW_HI_EQ5[7:0]" default="0" desc="MSB field of normalized bandwidth deltaf for EQ band5" />
+ <Bits range="7:0" field="DSP2_BW_LO_EQ5[7:0]" default="0" desc="LSB field of normalized bandwidth deltaf for EQ band5" />
+ </RegisterInfo>
+ <RegisterInfo index="0x254" name="Gain for EQ Band 6 filter">
+ <Bits range="31:5" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="4:0" field="DSP2_K_EQ6[4:0]" default="1100" desc="dB Gain setting for EQ band6 filter. Look at EQ Band1 Gain table" />
+ </RegisterInfo>
+ <RegisterInfo index="0x258" name="Normalized center frequency for EQ band6">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:8" field="DSP2_WC_HI_EQ6[7:0]" default="0" desc="MSB field of normalized center frequency for EQ band6" />
+ <Bits range="7:0" field="DSP2_WC_LO_EQ6[7:0]" default="0" desc="LSB field of normalized center frequency for EQ band6" />
+ </RegisterInfo>
+ <RegisterInfo index="0x25c" name="Normalized bandwidth deltaf for EQ band6">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:8" field="DSP2_BW_HI_EQ6[7:0]" default="0" desc="MSB field of normalized bandwidth deltaf for EQ band6" />
+ <Bits range="7:0" field="DSP2_BW_LO_EQ6[7:0]" default="0" desc="LSB field of normalized bandwidth deltaf for EQ band6" />
+ </RegisterInfo>
+ <RegisterInfo index="0x260" name="Gain for EQ Band 7 filter">
+ <Bits range="31:5" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="4:0" field="DSP2_K_EQ7[4:0]" default="1100" desc="dB Gain setting for EQ band7 filter. Look at EQ Band1 Gain table" />
+ </RegisterInfo>
+ <RegisterInfo index="0x264" name="Normalized center frequency for EQ band7">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:8" field="DSP2_WC_HI_EQ7[7:0]" default="0" desc="MSB field of normalized center frequency for EQ band7" />
+ <Bits range="7:0" field="DSP2_WC_LO_EQ7[7:0]" default="0" desc="LSB field of normalized center frequency for EQ band7" />
+ </RegisterInfo>
+ <RegisterInfo index="0x268" name="Normalized bandwidth deltaf for EQ band7">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:8" field="DSP2_BW_HI_EQ7[7:0]" default="0" desc="MSB field of normalized bandwidth deltaf for EQ band7" />
+ <Bits range="7:0" field="DSP2_BW_LO_EQ7[7:0]" default="0" desc="LSB field of normalized bandwidth deltaf for EQ band7" />
+ </RegisterInfo>
+ <RegisterInfo index="0x26c" name="Gain for EQ Band 8 filter">
+ <Bits range="31:5" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="4:0" field="DSP2_K_EQ8[4:0]" default="1100" desc="dB Gain setting for EQ band8 filter. Look at EQ Band1 Gain table" />
+ </RegisterInfo>
+ <RegisterInfo index="0x270" name="Normalized center frequency for EQ band8">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:8" field="DSP2_WC_HI_EQ8[7:0]" default="0" desc="MSB field of normalized center frequency for EQ band8" />
+ <Bits range="7:0" field="DSP2_WC_LO_EQ8[7:0]" default="0" desc="LSB field of normalized center frequency for EQ band8" />
+ </RegisterInfo>
+ <RegisterInfo index="0x274" name="Threshold value for DRC compression engine in DAC path">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:8" field="DSP2_T_DRC_HI[7:0]" default="11111000" desc="MSB field of threshold dB value of DRC compression engine" />
+ <Bits range="7:0" field="DSP2_T_DRC_LO[7:0]" default="111" desc="LSB field of threshold dB value of DRC compression engine" />
+ </RegisterInfo>
+ <RegisterInfo index="0x278" name="Offset value for DRC compression engine in DAC path">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:8" field="DSP2_O_DRC_HI[7:0]" default="0" desc="MSB field of offset dB value of DRC compression engine" />
+ <Bits range="7:0" field="DSP2_O_DRC_LO[7:0]" default="0" desc="LSB field of offset dB value of DRC compression engine" />
+ </RegisterInfo>
+ <RegisterInfo index="0x27c" name="compression ratio (K:1) for DRC compression engine in DAC path">
+ <Bits range="31:8" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="7:0" field="DSP2_K_DRC[7:0]" default="10000" desc="compression ratio value of DRC compression engine" />
+ </RegisterInfo>
+ <RegisterInfo index="0x280" name="Time constant for energy filter in DAC DRC">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:8" field="DSP2_DRC_ALPHA_ENG_HI[7:0]" default="1" desc="MSB field of DRC alpha energy filter time constant" />
+ <Bits range="7:0" field="DSP2_DRC_ALPHA_ENG_LO[7:0]" default="1010100" desc="LSB field of DRC alpha energy filter time constant" />
+ </RegisterInfo>
+ <RegisterInfo index="0x284" name="Time constant for attack in DAC DRC">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:8" field="DSP2_DRC_ALPHA_ATK_HI[7:0]" default="10" desc="MSB field of DRC attack time constant" />
+ <Bits range="7:0" field="DSP2_DRC_ALPHA_ATK_LO[7:0]" default="10100100" desc="LSB field of DRC attack time constant" />
+ </RegisterInfo>
+ <RegisterInfo index="0x288" name="Time constant for decay in DAC DRC">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:8" field="DSP2_DRC_ALPHA_DEC_HI[7:0]" default="0" desc="MSB field of DRC decay time constant" />
+ <Bits range="7:0" field="DSP2_DRC_ALPHA_DEC_LO[7:0]" default="10001000" desc="LSB field of DRC decay time constant" />
+ </RegisterInfo>
+ <RegisterInfo index="0x28c" name="Mix coefficient for left contribution to left output mix">
+ <Bits range="31:24" field="DSP2_DAC_LMIXL[7:0]" default="1000000" desc="Mix coefficient for left contribution to left output mix" />
+ <Bits range="23:16" field="DSP2_DAC_RMIXL[7:0]" default="1000000" desc="Mix coefficient for right contribution to left output mix" />
+ <Bits range="15:8" field="DSP2_DAC_LMIXR[7:0]" default="1000000" desc="Mix coefficient for left contribution to right output mix" />
+ <Bits range="7:0" field="DSP2_DAC_RMIXR[7:0]" default="1000000" desc="Mix coefficient for right contribution to right output mix" />
+ </RegisterInfo>
+ <RegisterInfo index="0x290" name="TxRx mix coef Register">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:8" field="TX_2TXRX_MIX[7:0]" default="1000000" desc="tx_2txrx_mix" />
+ <Bits range="7:0" field="RX_2TXRX_MIX[7:0]" default="1000000" desc="rx_2txrx_mix" />
+ </RegisterInfo>
+ <RegisterInfo index="0x294" name="DSP2 input mix coefs">
+ <Bits range="31:24" field="D2IN4_2INMIX[7:0]" default="1000000" type="Gain" desc="DSP2 IN4 mix coefficient">
+ <Capbility value="0x0" decibel="Mute" />
+ <Capbility value="0x1" decibel="-42.14" />
+ <Capbility value="0x2" decibel="-36.12" />
+ <Capbility value="0x3" decibel="-32.6" />
+ <Capbility value="0x4" decibel="-30.1" />
+ <Capbility value="0x5" decibel="-28.16" />
+ <Capbility value="0x6" decibel="-26.58" />
+ <Capbility value="0x7" decibel="-25.24" />
+ <Capbility value="0x8" decibel="-24.08" />
+ <Capbility value="0x9" decibel="-23.06" />
+ <Capbility value="0xA" decibel="-22.14" />
+ <Capbility value="0xB" decibel="-21.32" />
+ <Capbility value="0xC" decibel="-20.56" />
+ <Capbility value="0xD" decibel="-19.87" />
+ <Capbility value="0xE" decibel="-19.22" />
+ <Capbility value="0xF" decibel="-18.62" />
+ <Capbility value="0x10" decibel="-18.06" />
+ <Capbility value="0x11" decibel="-17.54" />
+ <Capbility value="0x12" decibel="-17.04" />
+ <Capbility value="0x13" decibel="-16.57" />
+ <Capbility value="0x14" decibel="-16.12" />
+ <Capbility value="0x15" decibel="-15.7" />
+ <Capbility value="0x16" decibel="-15.3" />
+ <Capbility value="0x17" decibel="-14.91" />
+ <Capbility value="0x18" decibel="-14.54" />
+ <Capbility value="0x19" decibel="-14.19" />
+ <Capbility value="0x1A" decibel="-13.84" />
+ <Capbility value="0x1B" decibel="-13.52" />
+ <Capbility value="0x1C" decibel="-13.2" />
+ <Capbility value="0x1D" decibel="-12.9" />
+ <Capbility value="0x1E" decibel="-12.6" />
+ <Capbility value="0x1F" decibel="-12.32" />
+ <Capbility value="0x20" decibel="-12.04" />
+ <Capbility value="0x21" decibel="-11.77" />
+ <Capbility value="0x22" decibel="-11.51" />
+ <Capbility value="0x23" decibel="-11.26" />
+ <Capbility value="0x24" decibel="-11.02" />
+ <Capbility value="0x25" decibel="-10.78" />
+ <Capbility value="0x26" decibel="-10.55" />
+ <Capbility value="0x27" decibel="-10.32" />
+ <Capbility value="0x28" decibel="-10.1" />
+ <Capbility value="0x29" decibel="-9.89" />
+ <Capbility value="0x2A" decibel="-9.68" />
+ <Capbility value="0x2B" decibel="-9.47" />
+ <Capbility value="0x2C" decibel="-9.28" />
+ <Capbility value="0x2D" decibel="-9.08" />
+ <Capbility value="0x2E" decibel="-8.89" />
+ <Capbility value="0x2F" decibel="-8.7" />
+ <Capbility value="0x30" decibel="-8.52" />
+ <Capbility value="0x31" decibel="-8.34" />
+ <Capbility value="0x32" decibel="-8.16" />
+ <Capbility value="0x33" decibel="-7.99" />
+ <Capbility value="0x34" decibel="-7.82" />
+ <Capbility value="0x35" decibel="-7.66" />
+ <Capbility value="0x36" decibel="-7.5" />
+ <Capbility value="0x37" decibel="-7.34" />
+ <Capbility value="0x38" decibel="-7.18" />
+ <Capbility value="0x39" decibel="-7.03" />
+ <Capbility value="0x3A" decibel="-6.88" />
+ <Capbility value="0x3B" decibel="-6.73" />
+ <Capbility value="0x3C" decibel="-6.58" />
+ <Capbility value="0x3D" decibel="-6.44" />
+ <Capbility value="0x3E" decibel="-6.3" />
+ <Capbility value="0x3F" decibel="-6.16" />
+ <Capbility value="0x40" decibel="-6.02" />
+ <Capbility value="0x41" decibel="-5.89" />
+ <Capbility value="0x42" decibel="-5.75" />
+ <Capbility value="0x43" decibel="-5.62" />
+ <Capbility value="0x44" decibel="-5.49" />
+ <Capbility value="0x45" decibel="-5.37" />
+ <Capbility value="0x46" decibel="-5.24" />
+ <Capbility value="0x47" decibel="-5.12" />
+ <Capbility value="0x48" decibel="-5" />
+ <Capbility value="0x49" decibel="-4.88" />
+ <Capbility value="0x4A" decibel="-4.76" />
+ <Capbility value="0x4B" decibel="-4.64" />
+ <Capbility value="0x4C" decibel="-4.53" />
+ <Capbility value="0x4D" decibel="-4.41" />
+ <Capbility value="0x4E" decibel="-4.3" />
+ <Capbility value="0x4F" decibel="-4.19" />
+ <Capbility value="0x50" decibel="-4.08" />
+ <Capbility value="0x51" decibel="-3.97" />
+ <Capbility value="0x52" decibel="-3.87" />
+ <Capbility value="0x53" decibel="-3.76" />
+ <Capbility value="0x54" decibel="-3.66" />
+ <Capbility value="0x55" decibel="-3.56" />
+ <Capbility value="0x56" decibel="-3.45" />
+ <Capbility value="0x57" decibel="-3.35" />
+ <Capbility value="0x58" decibel="-3.25" />
+ <Capbility value="0x59" decibel="-3.16" />
+ <Capbility value="0x5A" decibel="-3.06" />
+ <Capbility value="0x5B" decibel="-2.96" />
+ <Capbility value="0x5C" decibel="-2.87" />
+ <Capbility value="0x5D" decibel="-2.77" />
+ <Capbility value="0x5E" decibel="-2.68" />
+ <Capbility value="0x5F" decibel="-2.59" />
+ <Capbility value="0x60" decibel="-2.5" />
+ <Capbility value="0x61" decibel="-2.41" />
+ <Capbility value="0x62" decibel="-2.32" />
+ <Capbility value="0x63" decibel="-2.23" />
+ <Capbility value="0x64" decibel="-2.14" />
+ <Capbility value="0x65" decibel="-2.06" />
+ <Capbility value="0x66" decibel="-1.97" />
+ <Capbility value="0x67" decibel="-1.89" />
+ <Capbility value="0x68" decibel="-1.8" />
+ <Capbility value="0x69" decibel="-1.72" />
+ <Capbility value="0x6A" decibel="-1.64" />
+ <Capbility value="0x6B" decibel="-1.56" />
+ <Capbility value="0x6C" decibel="-1.48" />
+ <Capbility value="0x6D" decibel="-1.4" />
+ <Capbility value="0x6E" decibel="-1.32" />
+ <Capbility value="0x6F" decibel="-1.24" />
+ <Capbility value="0x70" decibel="-1.16" />
+ <Capbility value="0x71" decibel="-1.08" />
+ <Capbility value="0x72" decibel="-1.01" />
+ <Capbility value="0x73" decibel="-0.93" />
+ <Capbility value="0x74" decibel="-0.86" />
+ <Capbility value="0x75" decibel="-0.78" />
+ <Capbility value="0x76" decibel="-0.71" />
+ <Capbility value="0x77" decibel="-0.63" />
+ <Capbility value="0x78" decibel="-0.56" />
+ <Capbility value="0x79" decibel="-0.49" />
+ <Capbility value="0x7A" decibel="-0.42" />
+ <Capbility value="0x7B" decibel="-0.35" />
+ <Capbility value="0x7C" decibel="-0.28" />
+ <Capbility value="0x7D" decibel="-0.21" />
+ <Capbility value="0x7E" decibel="-0.14" />
+ <Capbility value="0x7F" decibel="-0.07" />
+ <Capbility value="0x80" decibel="0" />
+ </Bits>
+ <Bits range="23:16" field="D2IN3_2INMIX[7:0]" default="1000000" type="Gain" desc="DSP2 IN3 mix coefficient">
+ <Capbility value="0x0" decibel="Mute" />
+ <Capbility value="0x1" decibel="-42.14" />
+ <Capbility value="0x2" decibel="-36.12" />
+ <Capbility value="0x3" decibel="-32.6" />
+ <Capbility value="0x4" decibel="-30.1" />
+ <Capbility value="0x5" decibel="-28.16" />
+ <Capbility value="0x6" decibel="-26.58" />
+ <Capbility value="0x7" decibel="-25.24" />
+ <Capbility value="0x8" decibel="-24.08" />
+ <Capbility value="0x9" decibel="-23.06" />
+ <Capbility value="0xA" decibel="-22.14" />
+ <Capbility value="0xB" decibel="-21.32" />
+ <Capbility value="0xC" decibel="-20.56" />
+ <Capbility value="0xD" decibel="-19.87" />
+ <Capbility value="0xE" decibel="-19.22" />
+ <Capbility value="0xF" decibel="-18.62" />
+ <Capbility value="0x10" decibel="-18.06" />
+ <Capbility value="0x11" decibel="-17.54" />
+ <Capbility value="0x12" decibel="-17.04" />
+ <Capbility value="0x13" decibel="-16.57" />
+ <Capbility value="0x14" decibel="-16.12" />
+ <Capbility value="0x15" decibel="-15.7" />
+ <Capbility value="0x16" decibel="-15.3" />
+ <Capbility value="0x17" decibel="-14.91" />
+ <Capbility value="0x18" decibel="-14.54" />
+ <Capbility value="0x19" decibel="-14.19" />
+ <Capbility value="0x1A" decibel="-13.84" />
+ <Capbility value="0x1B" decibel="-13.52" />
+ <Capbility value="0x1C" decibel="-13.2" />
+ <Capbility value="0x1D" decibel="-12.9" />
+ <Capbility value="0x1E" decibel="-12.6" />
+ <Capbility value="0x1F" decibel="-12.32" />
+ <Capbility value="0x20" decibel="-12.04" />
+ <Capbility value="0x21" decibel="-11.77" />
+ <Capbility value="0x22" decibel="-11.51" />
+ <Capbility value="0x23" decibel="-11.26" />
+ <Capbility value="0x24" decibel="-11.02" />
+ <Capbility value="0x25" decibel="-10.78" />
+ <Capbility value="0x26" decibel="-10.55" />
+ <Capbility value="0x27" decibel="-10.32" />
+ <Capbility value="0x28" decibel="-10.1" />
+ <Capbility value="0x29" decibel="-9.89" />
+ <Capbility value="0x2A" decibel="-9.68" />
+ <Capbility value="0x2B" decibel="-9.47" />
+ <Capbility value="0x2C" decibel="-9.28" />
+ <Capbility value="0x2D" decibel="-9.08" />
+ <Capbility value="0x2E" decibel="-8.89" />
+ <Capbility value="0x2F" decibel="-8.7" />
+ <Capbility value="0x30" decibel="-8.52" />
+ <Capbility value="0x31" decibel="-8.34" />
+ <Capbility value="0x32" decibel="-8.16" />
+ <Capbility value="0x33" decibel="-7.99" />
+ <Capbility value="0x34" decibel="-7.82" />
+ <Capbility value="0x35" decibel="-7.66" />
+ <Capbility value="0x36" decibel="-7.5" />
+ <Capbility value="0x37" decibel="-7.34" />
+ <Capbility value="0x38" decibel="-7.18" />
+ <Capbility value="0x39" decibel="-7.03" />
+ <Capbility value="0x3A" decibel="-6.88" />
+ <Capbility value="0x3B" decibel="-6.73" />
+ <Capbility value="0x3C" decibel="-6.58" />
+ <Capbility value="0x3D" decibel="-6.44" />
+ <Capbility value="0x3E" decibel="-6.3" />
+ <Capbility value="0x3F" decibel="-6.16" />
+ <Capbility value="0x40" decibel="-6.02" />
+ <Capbility value="0x41" decibel="-5.89" />
+ <Capbility value="0x42" decibel="-5.75" />
+ <Capbility value="0x43" decibel="-5.62" />
+ <Capbility value="0x44" decibel="-5.49" />
+ <Capbility value="0x45" decibel="-5.37" />
+ <Capbility value="0x46" decibel="-5.24" />
+ <Capbility value="0x47" decibel="-5.12" />
+ <Capbility value="0x48" decibel="-5" />
+ <Capbility value="0x49" decibel="-4.88" />
+ <Capbility value="0x4A" decibel="-4.76" />
+ <Capbility value="0x4B" decibel="-4.64" />
+ <Capbility value="0x4C" decibel="-4.53" />
+ <Capbility value="0x4D" decibel="-4.41" />
+ <Capbility value="0x4E" decibel="-4.3" />
+ <Capbility value="0x4F" decibel="-4.19" />
+ <Capbility value="0x50" decibel="-4.08" />
+ <Capbility value="0x51" decibel="-3.97" />
+ <Capbility value="0x52" decibel="-3.87" />
+ <Capbility value="0x53" decibel="-3.76" />
+ <Capbility value="0x54" decibel="-3.66" />
+ <Capbility value="0x55" decibel="-3.56" />
+ <Capbility value="0x56" decibel="-3.45" />
+ <Capbility value="0x57" decibel="-3.35" />
+ <Capbility value="0x58" decibel="-3.25" />
+ <Capbility value="0x59" decibel="-3.16" />
+ <Capbility value="0x5A" decibel="-3.06" />
+ <Capbility value="0x5B" decibel="-2.96" />
+ <Capbility value="0x5C" decibel="-2.87" />
+ <Capbility value="0x5D" decibel="-2.77" />
+ <Capbility value="0x5E" decibel="-2.68" />
+ <Capbility value="0x5F" decibel="-2.59" />
+ <Capbility value="0x60" decibel="-2.5" />
+ <Capbility value="0x61" decibel="-2.41" />
+ <Capbility value="0x62" decibel="-2.32" />
+ <Capbility value="0x63" decibel="-2.23" />
+ <Capbility value="0x64" decibel="-2.14" />
+ <Capbility value="0x65" decibel="-2.06" />
+ <Capbility value="0x66" decibel="-1.97" />
+ <Capbility value="0x67" decibel="-1.89" />
+ <Capbility value="0x68" decibel="-1.8" />
+ <Capbility value="0x69" decibel="-1.72" />
+ <Capbility value="0x6A" decibel="-1.64" />
+ <Capbility value="0x6B" decibel="-1.56" />
+ <Capbility value="0x6C" decibel="-1.48" />
+ <Capbility value="0x6D" decibel="-1.4" />
+ <Capbility value="0x6E" decibel="-1.32" />
+ <Capbility value="0x6F" decibel="-1.24" />
+ <Capbility value="0x70" decibel="-1.16" />
+ <Capbility value="0x71" decibel="-1.08" />
+ <Capbility value="0x72" decibel="-1.01" />
+ <Capbility value="0x73" decibel="-0.93" />
+ <Capbility value="0x74" decibel="-0.86" />
+ <Capbility value="0x75" decibel="-0.78" />
+ <Capbility value="0x76" decibel="-0.71" />
+ <Capbility value="0x77" decibel="-0.63" />
+ <Capbility value="0x78" decibel="-0.56" />
+ <Capbility value="0x79" decibel="-0.49" />
+ <Capbility value="0x7A" decibel="-0.42" />
+ <Capbility value="0x7B" decibel="-0.35" />
+ <Capbility value="0x7C" decibel="-0.28" />
+ <Capbility value="0x7D" decibel="-0.21" />
+ <Capbility value="0x7E" decibel="-0.14" />
+ <Capbility value="0x7F" decibel="-0.07" />
+ <Capbility value="0x80" decibel="0" />
+ </Bits>
+ <Bits range="15:8" field="D2IN2_2INMIX[7:0]" default="1000000" type="Gain" desc="DSP2 IN2 mix coefficient">
+ <Capbility value="0x0" decibel="Mute" />
+ <Capbility value="0x1" decibel="-42.14" />
+ <Capbility value="0x2" decibel="-36.12" />
+ <Capbility value="0x3" decibel="-32.6" />
+ <Capbility value="0x4" decibel="-30.1" />
+ <Capbility value="0x5" decibel="-28.16" />
+ <Capbility value="0x6" decibel="-26.58" />
+ <Capbility value="0x7" decibel="-25.24" />
+ <Capbility value="0x8" decibel="-24.08" />
+ <Capbility value="0x9" decibel="-23.06" />
+ <Capbility value="0xA" decibel="-22.14" />
+ <Capbility value="0xB" decibel="-21.32" />
+ <Capbility value="0xC" decibel="-20.56" />
+ <Capbility value="0xD" decibel="-19.87" />
+ <Capbility value="0xE" decibel="-19.22" />
+ <Capbility value="0xF" decibel="-18.62" />
+ <Capbility value="0x10" decibel="-18.06" />
+ <Capbility value="0x11" decibel="-17.54" />
+ <Capbility value="0x12" decibel="-17.04" />
+ <Capbility value="0x13" decibel="-16.57" />
+ <Capbility value="0x14" decibel="-16.12" />
+ <Capbility value="0x15" decibel="-15.7" />
+ <Capbility value="0x16" decibel="-15.3" />
+ <Capbility value="0x17" decibel="-14.91" />
+ <Capbility value="0x18" decibel="-14.54" />
+ <Capbility value="0x19" decibel="-14.19" />
+ <Capbility value="0x1A" decibel="-13.84" />
+ <Capbility value="0x1B" decibel="-13.52" />
+ <Capbility value="0x1C" decibel="-13.2" />
+ <Capbility value="0x1D" decibel="-12.9" />
+ <Capbility value="0x1E" decibel="-12.6" />
+ <Capbility value="0x1F" decibel="-12.32" />
+ <Capbility value="0x20" decibel="-12.04" />
+ <Capbility value="0x21" decibel="-11.77" />
+ <Capbility value="0x22" decibel="-11.51" />
+ <Capbility value="0x23" decibel="-11.26" />
+ <Capbility value="0x24" decibel="-11.02" />
+ <Capbility value="0x25" decibel="-10.78" />
+ <Capbility value="0x26" decibel="-10.55" />
+ <Capbility value="0x27" decibel="-10.32" />
+ <Capbility value="0x28" decibel="-10.1" />
+ <Capbility value="0x29" decibel="-9.89" />
+ <Capbility value="0x2A" decibel="-9.68" />
+ <Capbility value="0x2B" decibel="-9.47" />
+ <Capbility value="0x2C" decibel="-9.28" />
+ <Capbility value="0x2D" decibel="-9.08" />
+ <Capbility value="0x2E" decibel="-8.89" />
+ <Capbility value="0x2F" decibel="-8.7" />
+ <Capbility value="0x30" decibel="-8.52" />
+ <Capbility value="0x31" decibel="-8.34" />
+ <Capbility value="0x32" decibel="-8.16" />
+ <Capbility value="0x33" decibel="-7.99" />
+ <Capbility value="0x34" decibel="-7.82" />
+ <Capbility value="0x35" decibel="-7.66" />
+ <Capbility value="0x36" decibel="-7.5" />
+ <Capbility value="0x37" decibel="-7.34" />
+ <Capbility value="0x38" decibel="-7.18" />
+ <Capbility value="0x39" decibel="-7.03" />
+ <Capbility value="0x3A" decibel="-6.88" />
+ <Capbility value="0x3B" decibel="-6.73" />
+ <Capbility value="0x3C" decibel="-6.58" />
+ <Capbility value="0x3D" decibel="-6.44" />
+ <Capbility value="0x3E" decibel="-6.3" />
+ <Capbility value="0x3F" decibel="-6.16" />
+ <Capbility value="0x40" decibel="-6.02" />
+ <Capbility value="0x41" decibel="-5.89" />
+ <Capbility value="0x42" decibel="-5.75" />
+ <Capbility value="0x43" decibel="-5.62" />
+ <Capbility value="0x44" decibel="-5.49" />
+ <Capbility value="0x45" decibel="-5.37" />
+ <Capbility value="0x46" decibel="-5.24" />
+ <Capbility value="0x47" decibel="-5.12" />
+ <Capbility value="0x48" decibel="-5" />
+ <Capbility value="0x49" decibel="-4.88" />
+ <Capbility value="0x4A" decibel="-4.76" />
+ <Capbility value="0x4B" decibel="-4.64" />
+ <Capbility value="0x4C" decibel="-4.53" />
+ <Capbility value="0x4D" decibel="-4.41" />
+ <Capbility value="0x4E" decibel="-4.3" />
+ <Capbility value="0x4F" decibel="-4.19" />
+ <Capbility value="0x50" decibel="-4.08" />
+ <Capbility value="0x51" decibel="-3.97" />
+ <Capbility value="0x52" decibel="-3.87" />
+ <Capbility value="0x53" decibel="-3.76" />
+ <Capbility value="0x54" decibel="-3.66" />
+ <Capbility value="0x55" decibel="-3.56" />
+ <Capbility value="0x56" decibel="-3.45" />
+ <Capbility value="0x57" decibel="-3.35" />
+ <Capbility value="0x58" decibel="-3.25" />
+ <Capbility value="0x59" decibel="-3.16" />
+ <Capbility value="0x5A" decibel="-3.06" />
+ <Capbility value="0x5B" decibel="-2.96" />
+ <Capbility value="0x5C" decibel="-2.87" />
+ <Capbility value="0x5D" decibel="-2.77" />
+ <Capbility value="0x5E" decibel="-2.68" />
+ <Capbility value="0x5F" decibel="-2.59" />
+ <Capbility value="0x60" decibel="-2.5" />
+ <Capbility value="0x61" decibel="-2.41" />
+ <Capbility value="0x62" decibel="-2.32" />
+ <Capbility value="0x63" decibel="-2.23" />
+ <Capbility value="0x64" decibel="-2.14" />
+ <Capbility value="0x65" decibel="-2.06" />
+ <Capbility value="0x66" decibel="-1.97" />
+ <Capbility value="0x67" decibel="-1.89" />
+ <Capbility value="0x68" decibel="-1.8" />
+ <Capbility value="0x69" decibel="-1.72" />
+ <Capbility value="0x6A" decibel="-1.64" />
+ <Capbility value="0x6B" decibel="-1.56" />
+ <Capbility value="0x6C" decibel="-1.48" />
+ <Capbility value="0x6D" decibel="-1.4" />
+ <Capbility value="0x6E" decibel="-1.32" />
+ <Capbility value="0x6F" decibel="-1.24" />
+ <Capbility value="0x70" decibel="-1.16" />
+ <Capbility value="0x71" decibel="-1.08" />
+ <Capbility value="0x72" decibel="-1.01" />
+ <Capbility value="0x73" decibel="-0.93" />
+ <Capbility value="0x74" decibel="-0.86" />
+ <Capbility value="0x75" decibel="-0.78" />
+ <Capbility value="0x76" decibel="-0.71" />
+ <Capbility value="0x77" decibel="-0.63" />
+ <Capbility value="0x78" decibel="-0.56" />
+ <Capbility value="0x79" decibel="-0.49" />
+ <Capbility value="0x7A" decibel="-0.42" />
+ <Capbility value="0x7B" decibel="-0.35" />
+ <Capbility value="0x7C" decibel="-0.28" />
+ <Capbility value="0x7D" decibel="-0.21" />
+ <Capbility value="0x7E" decibel="-0.14" />
+ <Capbility value="0x7F" decibel="-0.07" />
+ <Capbility value="0x80" decibel="0" />
+ </Bits>
+ <Bits range="7:0" field="D2IN1_2INMIX[7:0]" default="1000000" type="Gain" desc="DSP2 IN1 mix coefficient">
+ <Capbility value="0x0" decibel="Mute" />
+ <Capbility value="0x1" decibel="-42.14" />
+ <Capbility value="0x2" decibel="-36.12" />
+ <Capbility value="0x3" decibel="-32.6" />
+ <Capbility value="0x4" decibel="-30.1" />
+ <Capbility value="0x5" decibel="-28.16" />
+ <Capbility value="0x6" decibel="-26.58" />
+ <Capbility value="0x7" decibel="-25.24" />
+ <Capbility value="0x8" decibel="-24.08" />
+ <Capbility value="0x9" decibel="-23.06" />
+ <Capbility value="0xA" decibel="-22.14" />
+ <Capbility value="0xB" decibel="-21.32" />
+ <Capbility value="0xC" decibel="-20.56" />
+ <Capbility value="0xD" decibel="-19.87" />
+ <Capbility value="0xE" decibel="-19.22" />
+ <Capbility value="0xF" decibel="-18.62" />
+ <Capbility value="0x10" decibel="-18.06" />
+ <Capbility value="0x11" decibel="-17.54" />
+ <Capbility value="0x12" decibel="-17.04" />
+ <Capbility value="0x13" decibel="-16.57" />
+ <Capbility value="0x14" decibel="-16.12" />
+ <Capbility value="0x15" decibel="-15.7" />
+ <Capbility value="0x16" decibel="-15.3" />
+ <Capbility value="0x17" decibel="-14.91" />
+ <Capbility value="0x18" decibel="-14.54" />
+ <Capbility value="0x19" decibel="-14.19" />
+ <Capbility value="0x1A" decibel="-13.84" />
+ <Capbility value="0x1B" decibel="-13.52" />
+ <Capbility value="0x1C" decibel="-13.2" />
+ <Capbility value="0x1D" decibel="-12.9" />
+ <Capbility value="0x1E" decibel="-12.6" />
+ <Capbility value="0x1F" decibel="-12.32" />
+ <Capbility value="0x20" decibel="-12.04" />
+ <Capbility value="0x21" decibel="-11.77" />
+ <Capbility value="0x22" decibel="-11.51" />
+ <Capbility value="0x23" decibel="-11.26" />
+ <Capbility value="0x24" decibel="-11.02" />
+ <Capbility value="0x25" decibel="-10.78" />
+ <Capbility value="0x26" decibel="-10.55" />
+ <Capbility value="0x27" decibel="-10.32" />
+ <Capbility value="0x28" decibel="-10.1" />
+ <Capbility value="0x29" decibel="-9.89" />
+ <Capbility value="0x2A" decibel="-9.68" />
+ <Capbility value="0x2B" decibel="-9.47" />
+ <Capbility value="0x2C" decibel="-9.28" />
+ <Capbility value="0x2D" decibel="-9.08" />
+ <Capbility value="0x2E" decibel="-8.89" />
+ <Capbility value="0x2F" decibel="-8.7" />
+ <Capbility value="0x30" decibel="-8.52" />
+ <Capbility value="0x31" decibel="-8.34" />
+ <Capbility value="0x32" decibel="-8.16" />
+ <Capbility value="0x33" decibel="-7.99" />
+ <Capbility value="0x34" decibel="-7.82" />
+ <Capbility value="0x35" decibel="-7.66" />
+ <Capbility value="0x36" decibel="-7.5" />
+ <Capbility value="0x37" decibel="-7.34" />
+ <Capbility value="0x38" decibel="-7.18" />
+ <Capbility value="0x39" decibel="-7.03" />
+ <Capbility value="0x3A" decibel="-6.88" />
+ <Capbility value="0x3B" decibel="-6.73" />
+ <Capbility value="0x3C" decibel="-6.58" />
+ <Capbility value="0x3D" decibel="-6.44" />
+ <Capbility value="0x3E" decibel="-6.3" />
+ <Capbility value="0x3F" decibel="-6.16" />
+ <Capbility value="0x40" decibel="-6.02" />
+ <Capbility value="0x41" decibel="-5.89" />
+ <Capbility value="0x42" decibel="-5.75" />
+ <Capbility value="0x43" decibel="-5.62" />
+ <Capbility value="0x44" decibel="-5.49" />
+ <Capbility value="0x45" decibel="-5.37" />
+ <Capbility value="0x46" decibel="-5.24" />
+ <Capbility value="0x47" decibel="-5.12" />
+ <Capbility value="0x48" decibel="-5" />
+ <Capbility value="0x49" decibel="-4.88" />
+ <Capbility value="0x4A" decibel="-4.76" />
+ <Capbility value="0x4B" decibel="-4.64" />
+ <Capbility value="0x4C" decibel="-4.53" />
+ <Capbility value="0x4D" decibel="-4.41" />
+ <Capbility value="0x4E" decibel="-4.3" />
+ <Capbility value="0x4F" decibel="-4.19" />
+ <Capbility value="0x50" decibel="-4.08" />
+ <Capbility value="0x51" decibel="-3.97" />
+ <Capbility value="0x52" decibel="-3.87" />
+ <Capbility value="0x53" decibel="-3.76" />
+ <Capbility value="0x54" decibel="-3.66" />
+ <Capbility value="0x55" decibel="-3.56" />
+ <Capbility value="0x56" decibel="-3.45" />
+ <Capbility value="0x57" decibel="-3.35" />
+ <Capbility value="0x58" decibel="-3.25" />
+ <Capbility value="0x59" decibel="-3.16" />
+ <Capbility value="0x5A" decibel="-3.06" />
+ <Capbility value="0x5B" decibel="-2.96" />
+ <Capbility value="0x5C" decibel="-2.87" />
+ <Capbility value="0x5D" decibel="-2.77" />
+ <Capbility value="0x5E" decibel="-2.68" />
+ <Capbility value="0x5F" decibel="-2.59" />
+ <Capbility value="0x60" decibel="-2.5" />
+ <Capbility value="0x61" decibel="-2.41" />
+ <Capbility value="0x62" decibel="-2.32" />
+ <Capbility value="0x63" decibel="-2.23" />
+ <Capbility value="0x64" decibel="-2.14" />
+ <Capbility value="0x65" decibel="-2.06" />
+ <Capbility value="0x66" decibel="-1.97" />
+ <Capbility value="0x67" decibel="-1.89" />
+ <Capbility value="0x68" decibel="-1.8" />
+ <Capbility value="0x69" decibel="-1.72" />
+ <Capbility value="0x6A" decibel="-1.64" />
+ <Capbility value="0x6B" decibel="-1.56" />
+ <Capbility value="0x6C" decibel="-1.48" />
+ <Capbility value="0x6D" decibel="-1.4" />
+ <Capbility value="0x6E" decibel="-1.32" />
+ <Capbility value="0x6F" decibel="-1.24" />
+ <Capbility value="0x70" decibel="-1.16" />
+ <Capbility value="0x71" decibel="-1.08" />
+ <Capbility value="0x72" decibel="-1.01" />
+ <Capbility value="0x73" decibel="-0.93" />
+ <Capbility value="0x74" decibel="-0.86" />
+ <Capbility value="0x75" decibel="-0.78" />
+ <Capbility value="0x76" decibel="-0.71" />
+ <Capbility value="0x77" decibel="-0.63" />
+ <Capbility value="0x78" decibel="-0.56" />
+ <Capbility value="0x79" decibel="-0.49" />
+ <Capbility value="0x7A" decibel="-0.42" />
+ <Capbility value="0x7B" decibel="-0.35" />
+ <Capbility value="0x7C" decibel="-0.28" />
+ <Capbility value="0x7D" decibel="-0.21" />
+ <Capbility value="0x7E" decibel="-0.14" />
+ <Capbility value="0x7F" decibel="-0.07" />
+ <Capbility value="0x80" decibel="0" />
+ </Bits>
+ </RegisterInfo>
+ <RegisterInfo index="0x298" name="DSP2 3D sound register1">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:8" field="DSP2_3D_HEADRADIUS[7:0]" default="1010" desc="Head radius parameter for 3D sound" />
+ <Bits range="7:0" field="DSP2_3D_CONTROL[7:0]" default="0" desc="3D control register" />
+ </RegisterInfo>
+ <RegisterInfo index="0x29c" name="DSP2 3D sound register2">
+ <Bits range="31:24" field="DSP2_SS2_ANGLE[7:0]" default="0" desc="3D sound sound source 2 angle " />
+ <Bits range="23:16" field="DSP2_SS2_DISTANCE[7:0]" default="0" desc="3D sound sound source 2 distance" />
+ <Bits range="15:8" field="DSP2_SS1_ANGLE[7:0]" default="0" desc="3D sound sound source 1 angle " />
+ <Bits range="7:0" field="DSP2_SS1_DISTANCE[7:0]" default="0" desc="3D sound sound source 1 distance " />
+ </RegisterInfo>
+ <RegisterInfo index="0x2a0" name="Dummy register for DSP2 RAML">
+ <Bits range="31:24" field="DSP2_L_DUMMY1[7:0]" default="0" desc="Dummy register for DSP2 RAML" />
+ <Bits range="23:16" field="DSP2_L_DUMMY2[7:0]" default="0" desc="Dummy register for DSP2 RAML" />
+ <Bits range="15:8" field="DSP2_L_DUMMY3[7:0]" default="0" desc="Dummy register for DSP2 RAML" />
+ <Bits range="7:0" field="DSP2_L_DUMMY4[7:0]" default="0" desc="Dummy register for DSP2 RAML" />
+ </RegisterInfo>
+ <RegisterInfo index="0x2a4" name="Dummy register for DSP2 RAMR">
+ <Bits range="31:24" field="DSP2_R_DUMMY1[7:0]" default="0" desc="Dummy register for DSP2 RAMR" />
+ <Bits range="23:16" field="DSP2_R_DUMMY2[7:0]" default="0" desc="Dummy register for DSP2 RAMR" />
+ <Bits range="15:8" field="DSP2_R_DUMMY3[7:0]" default="0" desc="Dummy register for DSP2 RAMR" />
+ <Bits range="7:0" field="DSP2_R_DUMMY4[7:0]" default="0" desc="Dummy register for DSP2 RAMR" />
+ </RegisterInfo>
+ <RegisterInfo index="0x2a8" name="Dummy register for DSP2 RAML, RAMR, RAMC1 and RAMC2">
+ <Bits range="31:24" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="23:16" field="DSP2_C2_DUMMY5[7:0]" default="0" desc="Dummy register for DSP2 RAMC2" />
+ <Bits range="15:8" field="DSP2_R_DUMMY5[7:0]" default="0" desc="Dummy register for DSP2 RAMR" />
+ <Bits range="7:0" field="DSP2_L_DUMMY5[7:0]" default="0" desc="Dummy register for DSP2 RAML" />
+ </RegisterInfo>
+ <RegisterInfo index="0x2ac" name="Dummy register for DSP2 RAMC1">
+ <Bits range="31:24" field="DSP2_C1_DUMMY1[7:0]" default="0" desc="Dummy register for DSP2 RAMC1" />
+ <Bits range="23:16" field="DSP2_C1_DUMMY2[7:0]" default="0" desc="Dummy register for DSP2 RAMC1" />
+ <Bits range="15:8" field="DSP2_C1_DUMMY3[7:0]" default="0" desc="Dummy register for DSP2 RAMC1" />
+ <Bits range="7:0" field="DSP2_C1_DUMMY4[7:0]" default="0" desc="Dummy register for DSP2 RAMC1" />
+ </RegisterInfo>
+ <RegisterInfo index="0x2b0" name="Dummy register for DSP2 RAMC2">
+ <Bits range="31:24" field="DSP2_C2_DUMMY1[7:0]" default="0" desc="Dummy register for DSP2 RAMC2" />
+ <Bits range="23:16" field="DSP2_C2_DUMMY2[7:0]" default="0" desc="Dummy register for DSP2 RAMC2" />
+ <Bits range="15:8" field="DSP2_C2_DUMMY3[7:0]" default="0" desc="Dummy register for DSP2 RAMC2" />
+ <Bits range="7:0" field="DSP2_C2_DUMMY4[7:0]" default="0" desc="Dummy register for DSP2 RAMC2" />
+ </RegisterInfo>
+ <RegisterInfo index="0x2b4" name="Scaling coefficient for both left and right channel DAC DSM">
+ <Bits range="31:8" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="7:0" field="DSP2_DSM_SCALE[7:0]" default="10000000" desc="scaling coefficient for left and right channel DAC DSM" />
+ </RegisterInfo>
+ <RegisterInfo index="0x300" name="ADC path audio processing register. AudioReg1 = [7:0], AudioReg2 [15:8]">
+ <Bits range="31:15" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15" field="ADC_DUMMY4_EN" default="0" desc="" />
+ <Bits range="14" field="ADC_DUMMY3_EN" default="0" desc="" />
+ <Bits range="13" field="ADC_IN2_MIX_ENABLE" default="0" desc="Write 1 to enable ADC path MIC2 mixing" />
+ <Bits range="12" field="ADC_SSL_ENABLE" default="0" desc="Write 1 to enable Sound Source Localization" />
+ <Bits range="11" field="ADC_MICBF_ENABLE" default="0" desc="Write 1 to enable Microphone beamforming" />
+ <Bits range="10" field="ADC_IN1_MIX_ENABLE" default="0" desc="Write 1 to enable ADC path MIC1 mixing" />
+ <Bits range="9" field="ADC_MIX_ENABLE" default="0" desc="Write 1 to enable ADC path LR output mixing" />
+ <Bits range="8" field="ADC_4MIC_BEAMFORMING" default="0" desc="Write 0 - for 2MIC beamforming. 1- for 4MIC beamforming" />
+ <Bits range="7" field="ADC_DUMMY1_EN" default="0" desc="" />
+ <Bits range="6" field="ADC_NG_ENABLE" default="0" desc="Write 1 to enable Noise Gate on ADC path" />
+ <Bits range="5" field="ADC_MUTE_UNMUTE" default="0" desc="Write 0 to mute and 1 to unmute the ADC(record) path" />
+ <Bits range="4" field="ADC_VOLUME_UPDATE" default="0" type="Force" desc="After updating adc_vol_left and adc_vol_right, write 1 to send the volume command" />
+ <Bits range="3" field="ADC_ALC_ENABLE" default="0" desc="Write 1 to enable ALC. Look at register 0x76~0x84 for ALC parameters" />
+ <Bits range="2" field="ADC_EQ_UPDATE" default="0" desc="Reserved" />
+ <Bits range="1" field="ADC_HPF_ENABLE" default="0" desc="Write 1 to enable HPF for wind noise reduction" />
+ <Bits range="0" field="ADC_AEC_ENABLE" default="0" desc="Write 1 to enable AEC" />
+ </RegisterInfo>
+ <RegisterInfo index="0x304" name="ADC Control Register">
+ <Bits range="31:6" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="5" field="ADC_SOFT_RAMP_ENABLE" default="0" desc="Write 1 to enable ZCD based soft volume ramp and soft mute/unmute ramp" />
+ <Bits range="4" field="ADC_MONO_MODE" default="0" desc="Write 1 to enable ADC path mono mode operation" />
+ <Bits range="3" field="ADC_RIGHT_MUXSEL" default="0" desc="Select source data for ADC right channel" />
+ <Bits range="2" field="ADC_LEFT_MUXSEL" default="0" desc="Select source data for ADC left channel" />
+ <Bits range="1" field="EN_ADC_RIGHT" default="0" desc="Write 1 to enable right channel in ADC path" />
+ <Bits range="0" field="EN_ADC_LEFT" default="0" desc="Write 1 to enable left channel in ADC path" />
+ </RegisterInfo>
+ <RegisterInfo index="0x308" name="Volume setting for ADC">
+ <Bits range="31:24" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="23:16" field="ADC_LEFT_VOL[7:0]" default="11101011" type="Gain" desc="dB volume setting for left channel in ADC path in 0.5dB step">
+ <Capbility range="0x00~0xff" dbrange="-127.5~0.0" step="0.5" />
+ </Bits>
+ <Bits range="15:8" field="ADC_RIGHT_VOL[7:0]" default="11101011" type="Gain" desc="dB volume setting for right channel in ADC path in 0.5dB step">
+ <Capbility range="0x00~0xff" dbrange="-127.5~0.0" step="0.5" />
+ </Bits>
+ <Bits range="7:6" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="5:4" field="DSP1AIN2_BOOST[1:0]" default="0" type="Gain" desc="Digital Gain boost for both Left and Right channel data on IN2 of DSP1A">
+ <Capbility value="0x00" decibel="0" />
+ <Capbility value="0x01" decibel="6" />
+ <Capbility value="0x10" decibel="12" />
+ <Capbility value="0x11" decibel="18" />
+ </Bits>
+ <Bits range="3:2" field="DSP1AIN1_BOOST[1:0]" default="0" type="Gain" desc="Digital Gain boost for both Left and Right channel data on IN1 of DSP1A">
+ <Capbility value="0x00" decibel="0" />
+ <Capbility value="0x01" decibel="6" />
+ <Capbility value="0x10" decibel="12" />
+ <Capbility value="0x11" decibel="18" />
+ </Bits>
+ <Bits range="1:0" field="ADC_VOL_CHG_TIME[1:0]" default="1" desc="During volume soft ramp amount of time allowed for ramp to complete" />
+ </RegisterInfo>
+ <RegisterInfo index="0x30c" name="Upper threshold value for ALC engine in ADC path">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:8" field="TU_ALC_HI[7:0]" default="11111000" desc="MSB field of upper threshold dB value in ALC" />
+ <Bits range="7:0" field="TU_ALC_LO[7:0]" default="111" desc="LSB field of upper threshold dB value in ALC" />
+ </RegisterInfo>
+ <RegisterInfo index="0x310" name="Lower threshold value for ALC engine in ADC path">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:8" field="TL_ALC_HI[7:0]" default="11110100" desc="MSB field of lower threshold dB value in ALC" />
+ <Bits range="7:0" field="TL_ALC_LO[7:0]" default="1011" desc="LSB field of lower threshold dB value in ALC" />
+ </RegisterInfo>
+ <RegisterInfo index="0x314" name="Offset value for ALC engine in ADC path">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:8" field="O_ALC_HI[7:0]" default="0" desc="MSB field of offset dB value of ALC engine" />
+ <Bits range="7:0" field="O_ALC_LO[7:0]" default="0" desc="LSB field of offset dB value of ALC engine" />
+ </RegisterInfo>
+ <RegisterInfo index="0x318" name="compression ratio (K:1) for ALC engine in ADC path">
+ <Bits range="31:8" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="7:0" field="K_ALC[7:0]" default="10000" desc="compression ratio value of ALC engine" />
+ </RegisterInfo>
+ <RegisterInfo index="0x31c" name="Time constant for energy filter in ADC ALC">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:8" field="ALC_ALPHA_ENG_HI[7:0]" default="1" desc="MSB field of ALC alpha energy filter time constant" />
+ <Bits range="7:0" field="ALC_ALPHA_ENG_LO[7:0]" default="1010100" desc="LSB field of ALC alpha energy filter time constant" />
+ </RegisterInfo>
+ <RegisterInfo index="0x320" name="Time constant for attack in ADC ALC">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:8" field="ALC_ALPHA_ATK_HI[7:0]" default="10" desc="MSB field of ALC attack time constant" />
+ <Bits range="7:0" field="ALC_ALPHA_ATK_LO[7:0]" default="10100100" desc="LSB field of ALC attack time constant" />
+ </RegisterInfo>
+ <RegisterInfo index="0x324" name="Time constant for decay in ADC ALC">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:8" field="ALC_ALPHA_DEC_HI[7:0]" default="0" desc="MSB field of ALC decay time constant" />
+ <Bits range="7:0" field="ALC_ALPHA_DEC_LO[7:0]" default="10001000" desc="LSB field of ALC decay time constant" />
+ </RegisterInfo>
+ <RegisterInfo index="0x328" name="Threshold value for Noise Gate in ADC path">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:8" field="T_NG_HI[7:0]" default="10110000" desc="MSB field of NGthreshold dB value" />
+ <Bits range="7:0" field="T_NG_LO[7:0]" default="1000110" desc="LSB field of NGthreshold dB value" />
+ </RegisterInfo>
+ <RegisterInfo index="0x32c" name="Mix coefficient for left contribution to left output mix">
+ <Bits range="31:24" field="ADC_LMIXL[7:0]" default="1000000" desc="Mix coefficient for left contribution to left output mix" />
+ <Bits range="23:16" field="ADC_RMIXL[7:0]" default="1000000" desc="Mix coefficient for right contribution to left output mix" />
+ <Bits range="15:8" field="ADC_LMIXR[7:0]" default="1000000" desc="Mix coefficient for left contribution to right output mix" />
+ <Bits range="7:0" field="ADC_RMIXR[7:0]" default="1000000" desc="Mix coefficient for right contribution to right output mix" />
+ </RegisterInfo>
+ <RegisterInfo index="0x330" name="AEC parameter to control LMS adaptation step size">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:0" field="AEC_MU[15:0]" default="10000000000" desc="Parameter u. Smaller values yields lower residual mean square error." />
+ </RegisterInfo>
+ <RegisterInfo index="0x334" name="AEC parameter to control alpha energy filter">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:0" field="AEC_LAM[15:0]" default="10000000" desc="Parameter lamba. Smaller values yields smoother energy estimates" />
+ </RegisterInfo>
+ <RegisterInfo index="0x338" name="AEC parameter to control xcorr coef calculation">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:0" field="AEC_BETA[15:0]" default="11111100000000" desc="Parameter beta. Larger value yields better results." />
+ </RegisterInfo>
+ <RegisterInfo index="0x33c" name="AEC parameter to err_th to control double talk detection">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:0" field="AEC_ERR_TH[15:0]" default="100001" desc="MSB field of parameter err_th" />
+ </RegisterInfo>
+ <RegisterInfo index="0x340" name="Lamda parameter for WNR filter">
+ <Bits range="31:8" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="7:0" field="WNR_LAM[7:0]" default="1110000" desc="Equation: =DEC2HEX(MIN(ROUND((VALUE*2^7),0),2^7-1)) VALUE Range: [0.5 1[" />
+ </RegisterInfo>
+ <RegisterInfo index="0x344" name="Sound Source Localization parameter mu">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:8" field="MU_SSL[7:0]" default="100" desc="Sound Source Localization parameter mu" />
+ <Bits range="7:0" field="PHI_SSL[7:0]" default="1111111" desc="Sound Source Localization parameter phi for energy filter" />
+ </RegisterInfo>
+ <RegisterInfo index="0x348" name="AMIC to AMIC_DMIC in-Mix">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:8" field="D1AIN1_2INMIX[7:0]" default="1000000" type="Gain" desc="MIC1 Gain for ADC path in-mix">
+ <Capbility value="0x0" decibel="Mute" />
+ <Capbility value="0x1" decibel="-42.14" />
+ <Capbility value="0x2" decibel="-36.12" />
+ <Capbility value="0x3" decibel="-32.6" />
+ <Capbility value="0x4" decibel="-30.1" />
+ <Capbility value="0x5" decibel="-28.16" />
+ <Capbility value="0x6" decibel="-26.58" />
+ <Capbility value="0x7" decibel="-25.24" />
+ <Capbility value="0x8" decibel="-24.08" />
+ <Capbility value="0x9" decibel="-23.06" />
+ <Capbility value="0xA" decibel="-22.14" />
+ <Capbility value="0xB" decibel="-21.32" />
+ <Capbility value="0xC" decibel="-20.56" />
+ <Capbility value="0xD" decibel="-19.87" />
+ <Capbility value="0xE" decibel="-19.22" />
+ <Capbility value="0xF" decibel="-18.62" />
+ <Capbility value="0x10" decibel="-18.06" />
+ <Capbility value="0x11" decibel="-17.54" />
+ <Capbility value="0x12" decibel="-17.04" />
+ <Capbility value="0x13" decibel="-16.57" />
+ <Capbility value="0x14" decibel="-16.12" />
+ <Capbility value="0x15" decibel="-15.7" />
+ <Capbility value="0x16" decibel="-15.3" />
+ <Capbility value="0x17" decibel="-14.91" />
+ <Capbility value="0x18" decibel="-14.54" />
+ <Capbility value="0x19" decibel="-14.19" />
+ <Capbility value="0x1A" decibel="-13.84" />
+ <Capbility value="0x1B" decibel="-13.52" />
+ <Capbility value="0x1C" decibel="-13.2" />
+ <Capbility value="0x1D" decibel="-12.9" />
+ <Capbility value="0x1E" decibel="-12.6" />
+ <Capbility value="0x1F" decibel="-12.32" />
+ <Capbility value="0x20" decibel="-12.04" />
+ <Capbility value="0x21" decibel="-11.77" />
+ <Capbility value="0x22" decibel="-11.51" />
+ <Capbility value="0x23" decibel="-11.26" />
+ <Capbility value="0x24" decibel="-11.02" />
+ <Capbility value="0x25" decibel="-10.78" />
+ <Capbility value="0x26" decibel="-10.55" />
+ <Capbility value="0x27" decibel="-10.32" />
+ <Capbility value="0x28" decibel="-10.1" />
+ <Capbility value="0x29" decibel="-9.89" />
+ <Capbility value="0x2A" decibel="-9.68" />
+ <Capbility value="0x2B" decibel="-9.47" />
+ <Capbility value="0x2C" decibel="-9.28" />
+ <Capbility value="0x2D" decibel="-9.08" />
+ <Capbility value="0x2E" decibel="-8.89" />
+ <Capbility value="0x2F" decibel="-8.7" />
+ <Capbility value="0x30" decibel="-8.52" />
+ <Capbility value="0x31" decibel="-8.34" />
+ <Capbility value="0x32" decibel="-8.16" />
+ <Capbility value="0x33" decibel="-7.99" />
+ <Capbility value="0x34" decibel="-7.82" />
+ <Capbility value="0x35" decibel="-7.66" />
+ <Capbility value="0x36" decibel="-7.5" />
+ <Capbility value="0x37" decibel="-7.34" />
+ <Capbility value="0x38" decibel="-7.18" />
+ <Capbility value="0x39" decibel="-7.03" />
+ <Capbility value="0x3A" decibel="-6.88" />
+ <Capbility value="0x3B" decibel="-6.73" />
+ <Capbility value="0x3C" decibel="-6.58" />
+ <Capbility value="0x3D" decibel="-6.44" />
+ <Capbility value="0x3E" decibel="-6.3" />
+ <Capbility value="0x3F" decibel="-6.16" />
+ <Capbility value="0x40" decibel="-6.02" />
+ <Capbility value="0x41" decibel="-5.89" />
+ <Capbility value="0x42" decibel="-5.75" />
+ <Capbility value="0x43" decibel="-5.62" />
+ <Capbility value="0x44" decibel="-5.49" />
+ <Capbility value="0x45" decibel="-5.37" />
+ <Capbility value="0x46" decibel="-5.24" />
+ <Capbility value="0x47" decibel="-5.12" />
+ <Capbility value="0x48" decibel="-5" />
+ <Capbility value="0x49" decibel="-4.88" />
+ <Capbility value="0x4A" decibel="-4.76" />
+ <Capbility value="0x4B" decibel="-4.64" />
+ <Capbility value="0x4C" decibel="-4.53" />
+ <Capbility value="0x4D" decibel="-4.41" />
+ <Capbility value="0x4E" decibel="-4.3" />
+ <Capbility value="0x4F" decibel="-4.19" />
+ <Capbility value="0x50" decibel="-4.08" />
+ <Capbility value="0x51" decibel="-3.97" />
+ <Capbility value="0x52" decibel="-3.87" />
+ <Capbility value="0x53" decibel="-3.76" />
+ <Capbility value="0x54" decibel="-3.66" />
+ <Capbility value="0x55" decibel="-3.56" />
+ <Capbility value="0x56" decibel="-3.45" />
+ <Capbility value="0x57" decibel="-3.35" />
+ <Capbility value="0x58" decibel="-3.25" />
+ <Capbility value="0x59" decibel="-3.16" />
+ <Capbility value="0x5A" decibel="-3.06" />
+ <Capbility value="0x5B" decibel="-2.96" />
+ <Capbility value="0x5C" decibel="-2.87" />
+ <Capbility value="0x5D" decibel="-2.77" />
+ <Capbility value="0x5E" decibel="-2.68" />
+ <Capbility value="0x5F" decibel="-2.59" />
+ <Capbility value="0x60" decibel="-2.5" />
+ <Capbility value="0x61" decibel="-2.41" />
+ <Capbility value="0x62" decibel="-2.32" />
+ <Capbility value="0x63" decibel="-2.23" />
+ <Capbility value="0x64" decibel="-2.14" />
+ <Capbility value="0x65" decibel="-2.06" />
+ <Capbility value="0x66" decibel="-1.97" />
+ <Capbility value="0x67" decibel="-1.89" />
+ <Capbility value="0x68" decibel="-1.8" />
+ <Capbility value="0x69" decibel="-1.72" />
+ <Capbility value="0x6A" decibel="-1.64" />
+ <Capbility value="0x6B" decibel="-1.56" />
+ <Capbility value="0x6C" decibel="-1.48" />
+ <Capbility value="0x6D" decibel="-1.4" />
+ <Capbility value="0x6E" decibel="-1.32" />
+ <Capbility value="0x6F" decibel="-1.24" />
+ <Capbility value="0x70" decibel="-1.16" />
+ <Capbility value="0x71" decibel="-1.08" />
+ <Capbility value="0x72" decibel="-1.01" />
+ <Capbility value="0x73" decibel="-0.93" />
+ <Capbility value="0x74" decibel="-0.86" />
+ <Capbility value="0x75" decibel="-0.78" />
+ <Capbility value="0x76" decibel="-0.71" />
+ <Capbility value="0x77" decibel="-0.63" />
+ <Capbility value="0x78" decibel="-0.56" />
+ <Capbility value="0x79" decibel="-0.49" />
+ <Capbility value="0x7A" decibel="-0.42" />
+ <Capbility value="0x7B" decibel="-0.35" />
+ <Capbility value="0x7C" decibel="-0.28" />
+ <Capbility value="0x7D" decibel="-0.21" />
+ <Capbility value="0x7E" decibel="-0.14" />
+ <Capbility value="0x7F" decibel="-0.07" />
+ <Capbility value="0x80" decibel="0" />
+ </Bits>
+ <Bits range="7:0" field="D1AIN2_2INMIX[7:0]" default="1000000" type="Gain" desc="MIC2 Gain for ADC path in-mix">
+ <Capbility value="0x0" decibel="Mute" />
+ <Capbility value="0x1" decibel="-42.14" />
+ <Capbility value="0x2" decibel="-36.12" />
+ <Capbility value="0x3" decibel="-32.6" />
+ <Capbility value="0x4" decibel="-30.1" />
+ <Capbility value="0x5" decibel="-28.16" />
+ <Capbility value="0x6" decibel="-26.58" />
+ <Capbility value="0x7" decibel="-25.24" />
+ <Capbility value="0x8" decibel="-24.08" />
+ <Capbility value="0x9" decibel="-23.06" />
+ <Capbility value="0xA" decibel="-22.14" />
+ <Capbility value="0xB" decibel="-21.32" />
+ <Capbility value="0xC" decibel="-20.56" />
+ <Capbility value="0xD" decibel="-19.87" />
+ <Capbility value="0xE" decibel="-19.22" />
+ <Capbility value="0xF" decibel="-18.62" />
+ <Capbility value="0x10" decibel="-18.06" />
+ <Capbility value="0x11" decibel="-17.54" />
+ <Capbility value="0x12" decibel="-17.04" />
+ <Capbility value="0x13" decibel="-16.57" />
+ <Capbility value="0x14" decibel="-16.12" />
+ <Capbility value="0x15" decibel="-15.7" />
+ <Capbility value="0x16" decibel="-15.3" />
+ <Capbility value="0x17" decibel="-14.91" />
+ <Capbility value="0x18" decibel="-14.54" />
+ <Capbility value="0x19" decibel="-14.19" />
+ <Capbility value="0x1A" decibel="-13.84" />
+ <Capbility value="0x1B" decibel="-13.52" />
+ <Capbility value="0x1C" decibel="-13.2" />
+ <Capbility value="0x1D" decibel="-12.9" />
+ <Capbility value="0x1E" decibel="-12.6" />
+ <Capbility value="0x1F" decibel="-12.32" />
+ <Capbility value="0x20" decibel="-12.04" />
+ <Capbility value="0x21" decibel="-11.77" />
+ <Capbility value="0x22" decibel="-11.51" />
+ <Capbility value="0x23" decibel="-11.26" />
+ <Capbility value="0x24" decibel="-11.02" />
+ <Capbility value="0x25" decibel="-10.78" />
+ <Capbility value="0x26" decibel="-10.55" />
+ <Capbility value="0x27" decibel="-10.32" />
+ <Capbility value="0x28" decibel="-10.1" />
+ <Capbility value="0x29" decibel="-9.89" />
+ <Capbility value="0x2A" decibel="-9.68" />
+ <Capbility value="0x2B" decibel="-9.47" />
+ <Capbility value="0x2C" decibel="-9.28" />
+ <Capbility value="0x2D" decibel="-9.08" />
+ <Capbility value="0x2E" decibel="-8.89" />
+ <Capbility value="0x2F" decibel="-8.7" />
+ <Capbility value="0x30" decibel="-8.52" />
+ <Capbility value="0x31" decibel="-8.34" />
+ <Capbility value="0x32" decibel="-8.16" />
+ <Capbility value="0x33" decibel="-7.99" />
+ <Capbility value="0x34" decibel="-7.82" />
+ <Capbility value="0x35" decibel="-7.66" />
+ <Capbility value="0x36" decibel="-7.5" />
+ <Capbility value="0x37" decibel="-7.34" />
+ <Capbility value="0x38" decibel="-7.18" />
+ <Capbility value="0x39" decibel="-7.03" />
+ <Capbility value="0x3A" decibel="-6.88" />
+ <Capbility value="0x3B" decibel="-6.73" />
+ <Capbility value="0x3C" decibel="-6.58" />
+ <Capbility value="0x3D" decibel="-6.44" />
+ <Capbility value="0x3E" decibel="-6.3" />
+ <Capbility value="0x3F" decibel="-6.16" />
+ <Capbility value="0x40" decibel="-6.02" />
+ <Capbility value="0x41" decibel="-5.89" />
+ <Capbility value="0x42" decibel="-5.75" />
+ <Capbility value="0x43" decibel="-5.62" />
+ <Capbility value="0x44" decibel="-5.49" />
+ <Capbility value="0x45" decibel="-5.37" />
+ <Capbility value="0x46" decibel="-5.24" />
+ <Capbility value="0x47" decibel="-5.12" />
+ <Capbility value="0x48" decibel="-5" />
+ <Capbility value="0x49" decibel="-4.88" />
+ <Capbility value="0x4A" decibel="-4.76" />
+ <Capbility value="0x4B" decibel="-4.64" />
+ <Capbility value="0x4C" decibel="-4.53" />
+ <Capbility value="0x4D" decibel="-4.41" />
+ <Capbility value="0x4E" decibel="-4.3" />
+ <Capbility value="0x4F" decibel="-4.19" />
+ <Capbility value="0x50" decibel="-4.08" />
+ <Capbility value="0x51" decibel="-3.97" />
+ <Capbility value="0x52" decibel="-3.87" />
+ <Capbility value="0x53" decibel="-3.76" />
+ <Capbility value="0x54" decibel="-3.66" />
+ <Capbility value="0x55" decibel="-3.56" />
+ <Capbility value="0x56" decibel="-3.45" />
+ <Capbility value="0x57" decibel="-3.35" />
+ <Capbility value="0x58" decibel="-3.25" />
+ <Capbility value="0x59" decibel="-3.16" />
+ <Capbility value="0x5A" decibel="-3.06" />
+ <Capbility value="0x5B" decibel="-2.96" />
+ <Capbility value="0x5C" decibel="-2.87" />
+ <Capbility value="0x5D" decibel="-2.77" />
+ <Capbility value="0x5E" decibel="-2.68" />
+ <Capbility value="0x5F" decibel="-2.59" />
+ <Capbility value="0x60" decibel="-2.5" />
+ <Capbility value="0x61" decibel="-2.41" />
+ <Capbility value="0x62" decibel="-2.32" />
+ <Capbility value="0x63" decibel="-2.23" />
+ <Capbility value="0x64" decibel="-2.14" />
+ <Capbility value="0x65" decibel="-2.06" />
+ <Capbility value="0x66" decibel="-1.97" />
+ <Capbility value="0x67" decibel="-1.89" />
+ <Capbility value="0x68" decibel="-1.8" />
+ <Capbility value="0x69" decibel="-1.72" />
+ <Capbility value="0x6A" decibel="-1.64" />
+ <Capbility value="0x6B" decibel="-1.56" />
+ <Capbility value="0x6C" decibel="-1.48" />
+ <Capbility value="0x6D" decibel="-1.4" />
+ <Capbility value="0x6E" decibel="-1.32" />
+ <Capbility value="0x6F" decibel="-1.24" />
+ <Capbility value="0x70" decibel="-1.16" />
+ <Capbility value="0x71" decibel="-1.08" />
+ <Capbility value="0x72" decibel="-1.01" />
+ <Capbility value="0x73" decibel="-0.93" />
+ <Capbility value="0x74" decibel="-0.86" />
+ <Capbility value="0x75" decibel="-0.78" />
+ <Capbility value="0x76" decibel="-0.71" />
+ <Capbility value="0x77" decibel="-0.63" />
+ <Capbility value="0x78" decibel="-0.56" />
+ <Capbility value="0x79" decibel="-0.49" />
+ <Capbility value="0x7A" decibel="-0.42" />
+ <Capbility value="0x7B" decibel="-0.35" />
+ <Capbility value="0x7C" decibel="-0.28" />
+ <Capbility value="0x7D" decibel="-0.21" />
+ <Capbility value="0x7E" decibel="-0.14" />
+ <Capbility value="0x7F" decibel="-0.07" />
+ <Capbility value="0x80" decibel="0" />
+ </Bits>
+ </RegisterInfo>
+ <RegisterInfo index="0x34c" name="BF parameters">
+ <Bits range="31:24" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="23:16" field="BF_SHIFTBOUND[7:0]" default="101010" desc="bf_shiftbound" />
+ <Bits range="15:8" field="BF_LOOPGAIN[7:0]" default="1000" desc="bf_loopgain" />
+ <Bits range="7:0" field="BF_CONTROL[7:0]" default="0" desc="bf_control" />
+ </RegisterInfo>
+ <RegisterInfo index="0x350" name="BF parameters">
+ <Bits range="31:24" field="BF_NCAF_GAIN[7:0]" default="100000" desc="bf_ncaf_gain" />
+ <Bits range="23:16" field="BF_NETA[7:0]" default="1111110" desc="bf_neta" />
+ <Bits range="15:8" field="BF_K[7:0]" default="10100" desc="bf_K" />
+ <Bits range="7:0" field="BF_ACCUM_ADJUST[7:0]" default="0" desc="bf_accum_adjust" />
+ </RegisterInfo>
+ <RegisterInfo index="0x354" name="Dummy register for DSP1A RAML and RAMR">
+ <Bits range="31:24" field="DSP1A_L_DUMMY1[7:0]" default="0" desc="Dummy register for DSP1A RAML" />
+ <Bits range="23:16" field="DSP1A_L_DUMMY2[7:0]" default="0" desc="Dummy register for DSP1A RAML" />
+ <Bits range="15:8" field="DSP1A_R_DUMMY1[7:0]" default="0" desc="Dummy register for DSP1A RAMR" />
+ <Bits range="7:0" field="DSP1A_R_DUMMY2[7:0]" default="0" desc="Dummy register for DSP1A RAMR" />
+ </RegisterInfo>
+ <RegisterInfo index="0x358" name="Dummy register for DSP1A RAMC1">
+ <Bits range="31:24" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="23:16" field="DSP1A_C1_DUMMY1[7:0]" default="0" desc="Dummy register for DSP1A RAMC1" />
+ <Bits range="15:8" field="DSP1A_C1_DUMMY2[7:0]" default="0" desc="Dummy register for DSP1A RAMC1" />
+ <Bits range="7:0" field="DSP1A_C1_DUMMY3[7:0]" default="0" desc="Dummy register for DSP1A RAMC1" />
+ </RegisterInfo>
+ <RegisterInfo index="0x35c" name="Dummy register for DSP1A RAMC2">
+ <Bits range="31:24" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="23:16" field="DSP1A_C2_DUMMY1[7:0]" default="0" desc="Dummy register for DSP1A RAMC2" />
+ <Bits range="15:8" field="DSP1A_C2_DUMMY2[7:0]" default="0" desc="Dummy register for DSP1A RAMC2" />
+ <Bits range="7:0" field="DSP1A_C2_DUMMY3[7:0]" default="0" desc="Dummy register for DSP1A RAMC2" />
+ </RegisterInfo>
+ <RegisterInfo index="0x400" name="Select data test point to observe on test ports">
+ <Bits range="31:8" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="7" field="DIG_TEST_MUX_EN" default="0" desc="Write 1 to enable digital test mux operation" />
+ <Bits range="6" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="5:0" field="TEST_MUX_DATA_SELECT[5:0]" default="0" desc="select data point to observe" />
+ </RegisterInfo>
+ <RegisterInfo index="0x404" name="Select loopback mode">
+ <Bits range="31:5" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="4" field="LOOPBACK_A2D" default="0" desc="loopback_a2d" />
+ <Bits range="3" field="LOOPBACK_I2S" default="0" desc="loopback_i2s" />
+ <Bits range="2" field="I2S_INT_LOOPBACK" default="0" desc="i2s_int_loopback" />
+ <Bits range="1" field="DIG_INT_LOOPBACK" default="0" desc="dig_int_loopback" />
+ <Bits range="0" field="I2S_EXT_LOOPBACK" default="0" desc="i2s_ext_loopback" />
+ </RegisterInfo>
+ <RegisterInfo index="0x408" name="Delay number in number of samples">
+ <Bits range="31:16" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="15:8" field="DELAY_BUFFER_LEN[7:0]" default="0" desc="delay buffer length" />
+ <Bits range="7:4" field="LDELAY_BUF_SEL[3:0]" default="0" desc="Source signal for left delay buffer" />
+ <Bits range="3:0" field="RDELAY_BUF_SEL[3:0]" default="0" desc="Source signal for right delay buffer" />
+ </RegisterInfo>
+ <RegisterInfo index="0x40c" name="DAC speakerphone/earphone controls and miscellaneous ">
+ <Bits range="31:3" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="2" field="APPLY_CHANGES" default="0" type="Force" desc="apply_changes" />
+ <Bits range="1:0" field="RSVD" default="0" desc="Reserved" />
+ </RegisterInfo>
+ <RegisterInfo index="0x410" name="DSP1 information">
+ <Bits range="31:28" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="27:24" field="D1_PLATFORM_ID" default="0" desc="user platform information, eden/helan2" />
+ <Bits range="23:20" field="D1_MAP_HW_ID" default="0" desc="MAP hw revision" />
+ <Bits range="19:16" field="D1_DSP_ID" default="0" desc="which DSP inside MAP we are pointing to" />
+ <Bits range="15:8" field="D1_FW_MAJOR_REV" default="0" desc="major revision is when new features are added" />
+ <Bits range="7:0" field="D1_FW_MINOR_REV" default="0" desc="minor revision is when we resolve bugs and issues with existing features" />
+ </RegisterInfo>
+ <RegisterInfo index="0x414" name="DSP2 information">
+ <Bits range="31:28" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="27:24" field="D2_PLATFORM_ID" default="0" desc="user platform information, eden/helan2" />
+ <Bits range="23:20" field="D2_MAP_HW_ID" default="0" desc="MAP hw revision" />
+ <Bits range="19:16" field="D2_DSP_ID" default="0" desc="which DSP inside MAP we are pointing to" />
+ <Bits range="15:8" field="D2_FW_MAJOR_REV" default="0" desc="major revision is when new features are added" />
+ <Bits range="7:0" field="D2_FW_MINOR_REV" default="0" desc="minor revision is when we resolve bugs and issues with existing features" />
+ </RegisterInfo>
+ <RegisterInfo index="0x418" name="DSP1A information">
+ <Bits range="31:28" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="27:24" field="D1A_PLATFORM_ID" default="0" desc="user platform information, eden/helan2" />
+ <Bits range="23:20" field="D1A_MAP_HW_ID" default="0" desc="MAP hw revision" />
+ <Bits range="19:16" field="D1A_DSP_ID" default="0" desc="which DSP inside MAP we are pointing to" />
+ <Bits range="15:8" field="D1A_FW_MAJOR_REV" default="0" desc="major revision is when new features are added" />
+ <Bits range="7:0" field="D1A_FW_MINOR_REV" default="0" desc="minor revision is when we resolve bugs and issues with existing features" />
+ </RegisterInfo>
+ <RegisterInfo index="0x41c" name="MAP BT mode(WB/NB)">
+ <Bits range="31:8" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="7:0" field="MAP_BT_WORK_MODE" default="0" desc="1 to enable WB mode, 0 to use NB mode" />
+ </RegisterInfo>
+ <RegisterInfo index="0x420" name="DSP output devices(SPKR/HS/EP) switch">
+ <Bits range="31:2" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="1" field="DOUT_HS_EP_EN" default="0" desc="1 to enable headset/earphone, 0 to disable headset/earphone" />
+ <Bits range="0" field="DOUT_SPKR_EN" default="0" desc="1 to enable speaker, 0 to disable speaker" />
+ </RegisterInfo>
+ <RegisterInfo index="0x424" name="I2S3 BT PCM audio downlink switch">
+ <Bits range="31:1" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="0" field="I2S3_BT_DL" default="0" desc="1 to connect BT PCM audio downlink path, 0 to prevent I2S5 DAI from connecting to AUX DAI" />
+ </RegisterInfo>
+ <RegisterInfo index="0x428" name="I2S3 function select">
+ <Bits range="31:1" field="RSVD" default="0" desc="Reserved" />
+ <Bits range="0" field="I2S3_FUNC_SEL" default="0" desc="0 to enable FM audio, 1 to enable BT(HFP) audio" />
+ </RegisterInfo>
+ </Component>
+ <Component identifier="MODEM">
+ <!-- Digital gain in modem for nb -->
+ <RegisterInfo index="0x00" name="Digital Gain for NB in Modem">
+ <Bits range="7:0" field="DIGITAL_GAIN_NB" default="00101110" type="Gain" desc="Increase/Decrease voice stream volume">
+ <Capbility value="0x01" decibel="-36" />
+ <Capbility value="0x02" decibel="-35" />
+ <Capbility value="0x03" decibel="-34" />
+ <Capbility value="0x04" decibel="-33" />
+ <Capbility value="0x05" decibel="-32" />
+ <Capbility value="0x06" decibel="-31" />
+ <Capbility value="0x07" decibel="-30" />
+ <Capbility value="0x08" decibel="-29" />
+ <Capbility value="0x09" decibel="-28" />
+ <Capbility value="0x0A" decibel="-27" />
+ <Capbility value="0x0B" decibel="-26" />
+ <Capbility value="0x0C" decibel="-25" />
+ <Capbility value="0x0D" decibel="-24" />
+ <Capbility value="0x0E" decibel="-23" />
+ <Capbility value="0x0F" decibel="-22" />
+ <Capbility value="0x10" decibel="-21" />
+ <Capbility value="0x11" decibel="-20" />
+ <Capbility value="0x12" decibel="-19" />
+ <Capbility value="0x13" decibel="-18" />
+ <Capbility value="0x14" decibel="-17" />
+ <Capbility value="0x15" decibel="-16" />
+ <Capbility value="0x16" decibel="-15" />
+ <Capbility value="0x17" decibel="-14" />
+ <Capbility value="0x18" decibel="-13" />
+ <Capbility value="0x19" decibel="-12" />
+ <Capbility value="0x1A" decibel="-11" />
+ <Capbility value="0x1B" decibel="-10" />
+ <Capbility value="0x1C" decibel="-9" />
+ <Capbility value="0x1D" decibel="-8" />
+ <Capbility value="0x1E" decibel="-7" />
+ <Capbility value="0x1F" decibel="-6" />
+ <Capbility value="0x20" decibel="-5" />
+ <Capbility value="0x21" decibel="-4" />
+ <Capbility value="0x22" decibel="-3" />
+ <Capbility value="0x23" decibel="-2" />
+ <Capbility value="0x24" decibel="-1" />
+ <Capbility value="0x25" decibel="0" />
+ <Capbility value="0x26" decibel="1" />
+ <Capbility value="0x27" decibel="2" />
+ <Capbility value="0x28" decibel="3" />
+ <Capbility value="0x29" decibel="4" />
+ <Capbility value="0x2A" decibel="5" />
+ <Capbility value="0x2B" decibel="6" />
+ <Capbility value="0x2C" decibel="7" />
+ <Capbility value="0x2D" decibel="8" />
+ <Capbility value="0x2E" decibel="9" />
+ <Capbility value="0x2F" decibel="10" />
+ <Capbility value="0x30" decibel="11" />
+ <Capbility value="0x31" decibel="12" />
+ </Bits>
+ </RegisterInfo>
+ <!-- Digital gain in modem for wb -->
+ <RegisterInfo index="0x00" name="Digital Gain WB in Modem">
+ <Bits range="7:0" field="DIGITAL_GAIN_WB" default="00101110" type="Gain" desc="Increase/Decrease voice stream volume">
+ <Capbility value="0x01" decibel="-36" />
+ <Capbility value="0x02" decibel="-35" />
+ <Capbility value="0x03" decibel="-34" />
+ <Capbility value="0x04" decibel="-33" />
+ <Capbility value="0x05" decibel="-32" />
+ <Capbility value="0x06" decibel="-31" />
+ <Capbility value="0x07" decibel="-30" />
+ <Capbility value="0x08" decibel="-29" />
+ <Capbility value="0x09" decibel="-28" />
+ <Capbility value="0x0A" decibel="-27" />
+ <Capbility value="0x0B" decibel="-26" />
+ <Capbility value="0x0C" decibel="-25" />
+ <Capbility value="0x0D" decibel="-24" />
+ <Capbility value="0x0E" decibel="-23" />
+ <Capbility value="0x0F" decibel="-22" />
+ <Capbility value="0x10" decibel="-21" />
+ <Capbility value="0x11" decibel="-20" />
+ <Capbility value="0x12" decibel="-19" />
+ <Capbility value="0x13" decibel="-18" />
+ <Capbility value="0x14" decibel="-17" />
+ <Capbility value="0x15" decibel="-16" />
+ <Capbility value="0x16" decibel="-15" />
+ <Capbility value="0x17" decibel="-14" />
+ <Capbility value="0x18" decibel="-13" />
+ <Capbility value="0x19" decibel="-12" />
+ <Capbility value="0x1A" decibel="-11" />
+ <Capbility value="0x1B" decibel="-10" />
+ <Capbility value="0x1C" decibel="-9" />
+ <Capbility value="0x1D" decibel="-8" />
+ <Capbility value="0x1E" decibel="-7" />
+ <Capbility value="0x1F" decibel="-6" />
+ <Capbility value="0x20" decibel="-5" />
+ <Capbility value="0x21" decibel="-4" />
+ <Capbility value="0x22" decibel="-3" />
+ <Capbility value="0x23" decibel="-2" />
+ <Capbility value="0x24" decibel="-1" />
+ <Capbility value="0x25" decibel="0" />
+ <Capbility value="0x26" decibel="1" />
+ <Capbility value="0x27" decibel="2" />
+ <Capbility value="0x28" decibel="3" />
+ <Capbility value="0x29" decibel="4" />
+ <Capbility value="0x2A" decibel="5" />
+ <Capbility value="0x2B" decibel="6" />
+ <Capbility value="0x2C" decibel="7" />
+ <Capbility value="0x2D" decibel="8" />
+ <Capbility value="0x2E" decibel="9" />
+ <Capbility value="0x2F" decibel="10" />
+ <Capbility value="0x30" decibel="11" />
+ <Capbility value="0x31" decibel="12" />
+ </Bits>
+ </RegisterInfo>
+ <!-- Digital gain in modem for extra nb -->
+ <RegisterInfo index="0x00" name="Digital Gain for extra NB in Modem">
+ <Bits range="7:0" field="DIGITAL_GAIN_EXTRA" default="00101110" type="Gain" desc="Increase/Decrease voice stream volume">
+ <Capbility value="0x01" decibel="-36" />
+ <Capbility value="0x02" decibel="-35" />
+ <Capbility value="0x03" decibel="-34" />
+ <Capbility value="0x04" decibel="-33" />
+ <Capbility value="0x05" decibel="-32" />
+ <Capbility value="0x06" decibel="-31" />
+ <Capbility value="0x07" decibel="-30" />
+ <Capbility value="0x08" decibel="-29" />
+ <Capbility value="0x09" decibel="-28" />
+ <Capbility value="0x0A" decibel="-27" />
+ <Capbility value="0x0B" decibel="-26" />
+ <Capbility value="0x0C" decibel="-25" />
+ <Capbility value="0x0D" decibel="-24" />
+ <Capbility value="0x0E" decibel="-23" />
+ <Capbility value="0x0F" decibel="-22" />
+ <Capbility value="0x10" decibel="-21" />
+ <Capbility value="0x11" decibel="-20" />
+ <Capbility value="0x12" decibel="-19" />
+ <Capbility value="0x13" decibel="-18" />
+ <Capbility value="0x14" decibel="-17" />
+ <Capbility value="0x15" decibel="-16" />
+ <Capbility value="0x16" decibel="-15" />
+ <Capbility value="0x17" decibel="-14" />
+ <Capbility value="0x18" decibel="-13" />
+ <Capbility value="0x19" decibel="-12" />
+ <Capbility value="0x1A" decibel="-11" />
+ <Capbility value="0x1B" decibel="-10" />
+ <Capbility value="0x1C" decibel="-9" />
+ <Capbility value="0x1D" decibel="-8" />
+ <Capbility value="0x1E" decibel="-7" />
+ <Capbility value="0x1F" decibel="-6" />
+ <Capbility value="0x20" decibel="-5" />
+ <Capbility value="0x21" decibel="-4" />
+ <Capbility value="0x22" decibel="-3" />
+ <Capbility value="0x23" decibel="-2" />
+ <Capbility value="0x24" decibel="-1" />
+ <Capbility value="0x25" decibel="0" />
+ <Capbility value="0x26" decibel="1" />
+ <Capbility value="0x27" decibel="2" />
+ <Capbility value="0x28" decibel="3" />
+ <Capbility value="0x29" decibel="4" />
+ <Capbility value="0x2A" decibel="5" />
+ <Capbility value="0x2B" decibel="6" />
+ <Capbility value="0x2C" decibel="7" />
+ <Capbility value="0x2D" decibel="8" />
+ <Capbility value="0x2E" decibel="9" />
+ <Capbility value="0x2F" decibel="10" />
+ <Capbility value="0x30" decibel="11" />
+ <Capbility value="0x31" decibel="12" />
+ </Bits>
+ </RegisterInfo>
+ <!-- Digital gain in modem for extra Wb -->
+ <RegisterInfo index="0x00" name="Digital Gain for extra WB in Modem">
+ <Bits range="7:0" field="DIGITAL_GAIN_EXTRA_WB" default="00101110" type="Gain" desc="Increase/Decrease voice stream volume">
+ <Capbility value="0x01" decibel="-36" />
+ <Capbility value="0x02" decibel="-35" />
+ <Capbility value="0x03" decibel="-34" />
+ <Capbility value="0x04" decibel="-33" />
+ <Capbility value="0x05" decibel="-32" />
+ <Capbility value="0x06" decibel="-31" />
+ <Capbility value="0x07" decibel="-30" />
+ <Capbility value="0x08" decibel="-29" />
+ <Capbility value="0x09" decibel="-28" />
+ <Capbility value="0x0A" decibel="-27" />
+ <Capbility value="0x0B" decibel="-26" />
+ <Capbility value="0x0C" decibel="-25" />
+ <Capbility value="0x0D" decibel="-24" />
+ <Capbility value="0x0E" decibel="-23" />
+ <Capbility value="0x0F" decibel="-22" />
+ <Capbility value="0x10" decibel="-21" />
+ <Capbility value="0x11" decibel="-20" />
+ <Capbility value="0x12" decibel="-19" />
+ <Capbility value="0x13" decibel="-18" />
+ <Capbility value="0x14" decibel="-17" />
+ <Capbility value="0x15" decibel="-16" />
+ <Capbility value="0x16" decibel="-15" />
+ <Capbility value="0x17" decibel="-14" />
+ <Capbility value="0x18" decibel="-13" />
+ <Capbility value="0x19" decibel="-12" />
+ <Capbility value="0x1A" decibel="-11" />
+ <Capbility value="0x1B" decibel="-10" />
+ <Capbility value="0x1C" decibel="-9" />
+ <Capbility value="0x1D" decibel="-8" />
+ <Capbility value="0x1E" decibel="-7" />
+ <Capbility value="0x1F" decibel="-6" />
+ <Capbility value="0x20" decibel="-5" />
+ <Capbility value="0x21" decibel="-4" />
+ <Capbility value="0x22" decibel="-3" />
+ <Capbility value="0x23" decibel="-2" />
+ <Capbility value="0x24" decibel="-1" />
+ <Capbility value="0x25" decibel="0" />
+ <Capbility value="0x26" decibel="1" />
+ <Capbility value="0x27" decibel="2" />
+ <Capbility value="0x28" decibel="3" />
+ <Capbility value="0x29" decibel="4" />
+ <Capbility value="0x2A" decibel="5" />
+ <Capbility value="0x2B" decibel="6" />
+ <Capbility value="0x2C" decibel="7" />
+ <Capbility value="0x2D" decibel="8" />
+ <Capbility value="0x2E" decibel="9" />
+ <Capbility value="0x2F" decibel="10" />
+ <Capbility value="0x30" decibel="11" />
+ <Capbility value="0x31" decibel="12" />
+ </Bits>
+ </RegisterInfo>
+ </Component>
+</MarvellAudioBasicElements>
diff --git a/peripheral/audio/audio_xml/apu/map-lite/audio_path_config_apu.xml b/peripheral/audio/audio_xml/apu/map-lite/audio_path_config_apu.xml
new file mode 100644
index 0000000..f091c0c
--- /dev/null
+++ b/peripheral/audio/audio_xml/apu/map-lite/audio_path_config_apu.xml
@@ -0,0 +1,683 @@
+<!-- Copyright (C) 2005. Marvell International Ltd -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<?xml version="1.0"?>
+<MarvellAudioPathConfiguration>
+ <AudioPath identifier="HiFi1Playback">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x100 0x1000 -->
+ <Register field="DSP1_DAC_D1IN4_MIX_ENABLE" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x194 0x00 -->
+ <Register field="D1IN4_2INMIX[7:0]" value="0"/>
+ <!-- Register 0x100 0x000 -->
+ <Register field="DSP1_DAC_D1IN4_MIX_ENABLE" value="0"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="HiFi1PlaybackST">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x100 0x3000 -->
+ <Register field="DSP1_DAC_D1IN4_MIX_ENABLE" value="1"/>
+ <Register field="DSP1_DAC_TXRX_MIX_ENABLE" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x194 0x00 -->
+ <Register field="D1IN4_2INMIX[7:0]" value="0"/>
+ <!-- Register 0x100 0x0000 -->
+ <Register field="DSP1_DAC_D1IN4_MIX_ENABLE" value="0"/>
+ <Register field="DSP1_DAC_TXRX_MIX_ENABLE" value="0"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="VoicePlayback">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x34 0x0808 -->
+ <Register field="D1IN2_RIGHT_MUXSEL" value="1"/>
+ <!-- Register 0x100 0x400 -->
+ <Register field="DSP1_DAC_D1IN2_MIX_ENABLE" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x194 0x00 -->
+ <Register field="D1IN2_2INMIX[7:0]" value="0"/>
+ <!-- Register 0x34 0x0000 -->
+ <Register field="D1IN2_RIGHT_MUXSEL" value="0"/>
+ <!-- Register 0x100 0x000 -->
+ <Register field="DSP1_DAC_D1IN2_MIX_ENABLE" value="0"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="VoicePlaybackST">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x34 0x0808 -->
+ <Register field="D1IN2_RIGHT_MUXSEL" value="1"/>
+ <!-- Register 0x100 0x2400 -->
+ <Register field="DSP1_DAC_D1IN2_MIX_ENABLE" value="1"/>
+ <Register field="DSP1_DAC_TXRX_MIX_ENABLE" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x194 0x00 -->
+ <Register field="D1IN2_2INMIX[7:0]" value="0"/>
+ <!-- Register 0x34 0x0000 -->
+ <Register field="D1IN2_RIGHT_MUXSEL" value="0"/>
+ <!-- Register 0x100 0x000 -->
+ <Register field="DSP1_DAC_D1IN2_MIX_ENABLE" value="0"/>
+ <Register field="DSP1_DAC_TXRX_MIX_ENABLE" value="0"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="HfpPlayback">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x34 0x0808 -->
+ <Register field="D1IN3_RIGHT_MUXSEL" value="1"/>
+ <!-- Register 0x100 0x0800 -->
+ <Register field="DSP1_DAC_D1IN3_MIX_ENABLE" value="1"/>
+ <!-- Register 0x428 0x01 -->
+ <Register field="I2S3_FUNC_SEL" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x194 0x00 -->
+ <Register field="D1IN3_2INMIX[7:0]" value="0"/>
+ <!-- Register 0x34 0x0000 -->
+ <Register field="D1IN2_RIGHT_MUXSEL" value="0"/>
+ <!-- Register 0x100 0x000 -->
+ <Register field="DSP1_DAC_D1IN3_MIX_ENABLE" value="0"/>
+ <!-- Register 0x428 0x00 -->
+ <Register field="I2S3_FUNC_SEL" value="0"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="HfpRecord">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x304 0x03 -->
+ <Register field="EN_ADC_LEFT" value="1"/>
+ <Register field="EN_ADC_RIGHT" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x304 0x00 -->
+ <Register field="EN_ADC_LEFT" value="0"/>
+ <Register field="EN_ADC_RIGHT" value="0"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="FMPlaybackI2S">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x100 0x0800 -->
+ <Register field="DSP1_DAC_D1IN3_MIX_ENABLE" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x194 0x00 -->
+ <Register field="D1IN3_2INMIX[7:0]" value="0"/>
+ <!-- Register 0x100 0x000 -->
+ <Register field="DSP1_DAC_D1IN3_MIX_ENABLE" value="0"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="FMI2SRecord">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x2c 0x3 -->
+ <Register field="AIN4_SEL[3:0]" value="11"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x2c 0x0 -->
+ <Register field="AIN4_SEL[3:0]" value="0"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+
+ <AudioPath identifier="ToSpeaker">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x100 0x100 -->
+ <Register field="DSP1_DAC_OUT_MIX_ENABLE" value="1"/>
+ <!-- Register 0x104 0x03 -->
+ <Register field="DSP1_EN_DAC_LEFT" value="1"/>
+ <Register field="DSP1_EN_DAC_RIGHT" value="1"/>
+ <!-- Register 0x2c 0x000000 -->
+ <Register field="OUT1_SEL[2:0]" value="0"/>
+ <!-- Register 0x420 0x01 -->
+ <Register field="DOUT_SPKR_EN" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x100 0x00 -->
+ <Register field="DSP1_DAC_VOLUME_UPDATE" value="0"/>
+ <!-- Register 0x108 0x000000 -->
+ <Register field="DSP1_DAC_LEFT_VOL[7:0]" value="0"/>
+ <Register field="DSP1_DAC_RIGHT_VOL[7:0]" value="0"/>
+ <!-- Register 0x100 0x10 -->
+ <Register field="DSP1_DAC_VOLUME_UPDATE" value="1"/>
+ <!-- Register 0x2c 0x380000 -->
+ <Register field="OUT1_SEL[2:0]" value="111"/>
+ <!-- Register 0x104 0x00 -->
+ <Register field="DSP1_EN_DAC_LEFT" value="0"/>
+ <Register field="DSP1_EN_DAC_RIGHT" value="0"/>
+ <!-- Register 0x420 0x00 -->
+ <Register field="DOUT_SPKR_EN" value="0"/>
+ <!-- Register 0x100 0x000 -->
+ <Register field="DSP1_DAC_OUT_MIX_ENABLE" value="0"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="ToStereoSpeaker">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x104 0x03 -->
+ <Register field="DSP1_EN_DAC_LEFT" value="1"/>
+ <Register field="DSP1_EN_DAC_RIGHT" value="1"/>
+ <!-- Register 0x2c 0x000000 -->
+ <Register field="OUT1_SEL[2:0]" value="0"/>
+ <!-- Register 0x420 0x01 -->
+ <Register field="DOUT_SPKR_EN" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x100 0x00 -->
+ <Register field="DSP1_DAC_VOLUME_UPDATE" value="0"/>
+ <!-- Register 0x108 0x000000 -->
+ <Register field="DSP1_DAC_LEFT_VOL[7:0]" value="0"/>
+ <Register field="DSP1_DAC_RIGHT_VOL[7:0]" value="0"/>
+ <!-- Register 0x100 0x10 -->
+ <Register field="DSP1_DAC_VOLUME_UPDATE" value="1"/>
+ <!-- Register 0x2c 0x380000 -->
+ <Register field="OUT1_SEL[2:0]" value="111"/>
+ <!-- Register 0x104 0x00 -->
+ <Register field="DSP1_EN_DAC_LEFT" value="0"/>
+ <Register field="DSP1_EN_DAC_RIGHT" value="0"/>
+ <!-- Register 0x420 0x00 -->
+ <Register field="DOUT_SPKR_EN" value="0"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="ToHeadphone">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x104 0x03 -->
+ <Register field="DSP1_EN_DAC_LEFT" value="1"/>
+ <Register field="DSP1_EN_DAC_RIGHT" value="1"/>
+ <!-- Register 0x2c 0x000000 -->
+ <Register field="OUT1_SEL[2:0]" value="0"/>
+ <!-- Register 0x420 0x02 -->
+ <Register field="DOUT_HS_EP_EN" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x100 0x00 -->
+ <Register field="DSP1_DAC_VOLUME_UPDATE" value="0"/>
+ <!-- Register 0x108 0x000000 -->
+ <Register field="DSP1_DAC_LEFT_VOL[7:0]" value="0"/>
+ <Register field="DSP1_DAC_RIGHT_VOL[7:0]" value="0"/>
+ <!-- Register 0x100 0x10 -->
+ <Register field="DSP1_DAC_VOLUME_UPDATE" value="1"/>
+ <!-- Register 0x2c 0x380000 -->
+ <Register field="OUT1_SEL[2:0]" value="111"/>
+ <!-- Register 0x104 0x00 -->
+ <Register field="DSP1_EN_DAC_LEFT" value="0"/>
+ <Register field="DSP1_EN_DAC_RIGHT" value="0"/>
+ <!-- Register 0x420 0x00 -->
+ <Register field="DOUT_HS_EP_EN" value="0"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="ToEarpiece">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x104 0x03 -->
+ <Register field="DSP1_EN_DAC_LEFT" value="1"/>
+ <Register field="DSP1_EN_DAC_RIGHT" value="1"/>
+ <!-- Register 0x2c 0x000000 -->
+ <Register field="OUT1_SEL[2:0]" value="0"/>
+ <!-- Register 0x420 0x02 -->
+ <Register field="DOUT_HS_EP_EN" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x100 0x00 -->
+ <Register field="DSP1_DAC_VOLUME_UPDATE" value="0"/>
+ <!-- Register 0x108 0x000000 -->
+ <Register field="DSP1_DAC_LEFT_VOL[7:0]" value="0"/>
+ <Register field="DSP1_DAC_RIGHT_VOL[7:0]" value="0"/>
+ <!-- Register 0x100 0x10 -->
+ <Register field="DSP1_DAC_VOLUME_UPDATE" value="1"/>
+ <!-- Register 0x2c 0x380000 -->
+ <Register field="OUT1_SEL[2:0]" value="111"/>
+ <!-- Register 0x104 0x00 -->
+ <Register field="DSP1_EN_DAC_LEFT" value="0"/>
+ <Register field="DSP1_EN_DAC_RIGHT" value="0"/>
+ <!-- Register 0x420 0x00 -->
+ <Register field="DOUT_HS_EP_EN" value="0"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="ToBTNB">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x2c 0x70 -->
+ <Register field="AIN3_SEL[3:0]" value="0111"/>
+ <!-- Register 0x104 0x03 -->
+ <Register field="DSP1_EN_DAC_LEFT" value="1"/>
+ <Register field="DSP1_EN_DAC_RIGHT" value="1"/>
+ <!-- Register 0x424 0x01 -->
+ <Register field="I2S3_BT_DL" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x100 0x00 -->
+ <Register field="DSP1_DAC_VOLUME_UPDATE" value="0"/>
+ <!-- Register 0x108 0x000000 -->
+ <Register field="DSP1_DAC_LEFT_VOL[7:0]" value="0"/>
+ <Register field="DSP1_DAC_RIGHT_VOL[7:0]" value="0"/>
+ <!-- Register 0x100 0x10 -->
+ <Register field="DSP1_DAC_VOLUME_UPDATE" value="1"/>
+ <!-- Register 0x2c 0x00 -->
+ <Register field="AIN3_SEL[3:0]" value="0"/>
+ <!-- Register 0x104 0x00 -->
+ <Register field="DSP1_EN_DAC_LEFT" value="0"/>
+ <Register field="DSP1_EN_DAC_RIGHT" value="0"/>
+ <!-- Register 0x424 0x00 -->
+ <Register field="I2S3_BT_DL" value="0"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="ToBTWB">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x2c 0x70 -->
+ <Register field="AIN3_SEL[3:0]" value="0111"/>
+ <!-- Register 0x41c 0x01 -->
+ <Register field="MAP_BT_WORK_MODE" value="1"/>
+ <!-- Register 0x104 0x03 -->
+ <Register field="DSP1_EN_DAC_LEFT" value="1"/>
+ <Register field="DSP1_EN_DAC_RIGHT" value="1"/>
+ <!-- Register 0x424 0x01 -->
+ <Register field="I2S3_BT_DL" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x100 0x00 -->
+ <Register field="DSP1_DAC_VOLUME_UPDATE" value="0"/>
+ <!-- Register 0x108 0x000000 -->
+ <Register field="DSP1_DAC_LEFT_VOL[7:0]" value="0"/>
+ <Register field="DSP1_DAC_RIGHT_VOL[7:0]" value="0"/>
+ <!-- Register 0x100 0x10 -->
+ <Register field="DSP1_DAC_VOLUME_UPDATE" value="1"/>
+ <!-- Register 0x2c 0x00 -->
+ <Register field="AIN3_SEL[3:0]" value="0"/>
+ <!-- Register 0x41c 0x00 -->
+ <Register field="MAP_BT_WORK_MODE" value="0"/>
+ <!-- Register 0x104 0x00 -->
+ <Register field="DSP1_EN_DAC_LEFT" value="0"/>
+ <Register field="DSP1_EN_DAC_RIGHT" value="0"/>
+ <!-- Register 0x424 0x00 -->
+ <Register field="I2S3_BT_DL" value="0"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="FromMicIn1">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x300 0x400 -->
+ <Register field="ADC_IN1_MIX_ENABLE" value="1"/>
+ <!-- Register 0x304 0x0C -->
+ <Register field="ADC_RIGHT_MUXSEL" value="1"/>
+ <Register field="ADC_LEFT_MUXSEL" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x300 0x00 -->
+ <Register field="ADC_VOLUME_UPDATE" value="0"/>
+ <!-- Register 0x308 0x000000 -->
+ <Register field="ADC_LEFT_VOL[7:0]" value="0"/>
+ <Register field="ADC_RIGHT_VOL[7:0]" value="0"/>
+ <!-- Register 0x300 0x10 -->
+ <Register field="ADC_VOLUME_UPDATE" value="1"/>
+ <!-- Register 0x348 0x0000 -->
+ <Register field="D1AIN1_2INMIX[7:0]" value="0"/>
+ <!-- Register 0x304 0x00 -->
+ <Register field="ADC_RIGHT_MUXSEL" value="0"/>
+ <Register field="ADC_LEFT_MUXSEL" value="0"/>
+ <!-- Register 0x300 0x000 -->
+ <Register field="ADC_IN1_MIX_ENABLE" value="0"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="FromMicIn2">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x300 0x2000 -->
+ <Register field="ADC_IN2_MIX_ENABLE" value="1"/>
+ <!-- Register 0x304 0x0C -->
+ <Register field="ADC_RIGHT_MUXSEL" value="1"/>
+ <Register field="ADC_LEFT_MUXSEL" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x300 0x00 -->
+ <Register field="ADC_VOLUME_UPDATE" value="0"/>
+ <!-- Register 0x308 0x000000 -->
+ <Register field="ADC_LEFT_VOL[7:0]" value="0"/>
+ <Register field="ADC_RIGHT_VOL[7:0]" value="0"/>
+ <!-- Register 0x300 0x10 -->
+ <Register field="ADC_VOLUME_UPDATE" value="1"/>
+ <!-- Register 0x348 0x00 -->
+ <Register field="D1AIN2_2INMIX[7:0]" value="0"/>
+ <!-- Register 0x304 0x00 -->
+ <Register field="ADC_RIGHT_MUXSEL" value="0"/>
+ <Register field="ADC_LEFT_MUXSEL" value="0"/>
+ <!-- Register 0x300 0x000 -->
+ <Register field="ADC_IN2_MIX_ENABLE" value="0"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="FromBTMicNB">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x2c 0x70 -->
+ <Register field="AIN3_SEL[3:0]" value="0111"/>
+ <!-- Register 0x30 0x180000 -->
+ <Register field="D1AIN1_SEL[2:0]" value="11"/>
+ <!-- Register 0x300 0x400 -->
+ <Register field="ADC_IN1_MIX_ENABLE" value="1"/>
+ <!-- Register 0x304 0x04 -->
+ <Register field="ADC_RIGHT_MUXSEL" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x300 0x00 -->
+ <Register field="ADC_VOLUME_UPDATE" value="0"/>
+ <!-- Register 0x308 0x000000 -->
+ <Register field="ADC_LEFT_VOL[7:0]" value="0"/>
+ <Register field="ADC_RIGHT_VOL[7:0]" value="0"/>
+ <!-- Register 0x300 0x10 -->
+ <Register field="ADC_VOLUME_UPDATE" value="1"/>
+ <!-- Register 0x348 0x0000 -->
+ <Register field="D1AIN1_2INMIX[7:0]" value="0"/>
+ <!-- Register 0x30 0x000000 -->
+ <Register field="D1AIN1_SEL[2:0]" value="000"/>
+ <!-- Register 0x2c 0x00 -->
+ <Register field="AIN3_SEL[3:0]" value="0000"/>
+ <!-- Register 0x300 0x000 -->
+ <Register field="ADC_IN1_MIX_ENABLE" value="0"/>
+ <!-- Register 0x304 0x00 -->
+ <Register field="ADC_RIGHT_MUXSEL" value="0"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="FromBTMicWB">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x30 0x180000 -->
+ <Register field="D1AIN1_SEL[2:0]" value="11"/>
+ <!-- Register 0x41c 0x01 -->
+ <Register field="MAP_BT_WORK_MODE" value="1"/>
+ <!-- Register 0x2c 0x70 -->
+ <Register field="AIN3_SEL[3:0]" value="0111"/>
+ <!-- Register 0x300 0x400 -->
+ <Register field="ADC_IN1_MIX_ENABLE" value="1"/>
+ <!-- Register 0x304 0x04 -->
+ <Register field="ADC_RIGHT_MUXSEL" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x300 0x00 -->
+ <Register field="ADC_VOLUME_UPDATE" value="0"/>
+ <!-- Register 0x308 0x000000 -->
+ <Register field="ADC_LEFT_VOL[7:0]" value="0"/>
+ <Register field="ADC_RIGHT_VOL[7:0]" value="0"/>
+ <!-- Register 0x300 0x10 -->
+ <Register field="ADC_VOLUME_UPDATE" value="1"/>
+ <!-- Register 0x348 0x0000 -->
+ <Register field="D1AIN1_2INMIX[7:0]" value="0"/>
+ <!-- Register 0x30 0x000000 -->
+ <Register field="D1AIN1_SEL[2:0]" value="000"/>
+ <!-- Register 0x41c 0x00 -->
+ <Register field="MAP_BT_WORK_MODE" value="0"/>
+ <!-- Register 0x2c 0x00 -->
+ <Register field="AIN3_SEL[3:0]" value="0000"/>
+ <!-- Register 0x300 0x000 -->
+ <Register field="ADC_IN1_MIX_ENABLE" value="0"/>
+ <!-- Register 0x304 0x00 -->
+ <Register field="ADC_RIGHT_MUXSEL" value="0"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="HiFi1Record">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x304 0x03 -->
+ <Register field="EN_ADC_LEFT" value="1"/>
+ <Register field="EN_ADC_RIGHT" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x304 0x00 -->
+ <Register field="EN_ADC_LEFT" value="0"/>
+ <Register field="EN_ADC_RIGHT" value="0"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+
+ <AudioPath identifier="VoiceRecord">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x304 0x03 -->
+ <Register field="EN_ADC_LEFT" value="1"/>
+ <Register field="EN_ADC_RIGHT" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x304 0x00 -->
+ <Register field="EN_ADC_LEFT" value="0"/>
+ <Register field="EN_ADC_RIGHT" value="0"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="HiFi1LoopBackRecordAout2">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x2c 0x2 -->
+ <Register field="AIN4_SEL[3:0]" value="10"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x2c 0x0 -->
+ <Register field="AIN4_SEL[3:0]" value="0"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="HiFi1LoopBackRecordAout3">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x2c 0x3 -->
+ <Register field="AIN4_SEL[3:0]" value="11"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x2c 0x0 -->
+ <Register field="AIN4_SEL[3:0]" value="0"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="HiFi1LoopBackRecordAout4">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x2c 0x4 -->
+ <Register field="AIN4_SEL[3:0]" value="100"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x2c 0x0 -->
+ <Register field="AIN4_SEL[3:0]" value="0"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="HiFi1LoopBackRecordD1out">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x2c 0x7 -->
+ <Register field="AIN4_SEL[3:0]" value="111"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x2c 0x0 -->
+ <Register field="AIN4_SEL[3:0]" value="0"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="HiFi1LoopBackRecordMicIn1">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x2c 0x5 -->
+ <Register field="AIN4_SEL[3:0]" value="101"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x2c 0x0 -->
+ <Register field="AIN4_SEL[3:0]" value="0"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="HiFi1LoopBackRecordMicIn2">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x2c 0x6 -->
+ <Register field="AIN4_SEL[3:0]" value="110"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x2c 0x0 -->
+ <Register field="AIN4_SEL[3:0]" value="0"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath alias="FromMicIn1" identifier="FromAMic1"/>
+ <AudioPath alias="FromMicIn1" identifier="FromAMic1(Speaker Mode)"/>
+ <AudioPath alias="FromMicIn1" identifier="FromAMic1(Headphone Mode)"/>
+ <AudioPath alias="FromMicIn1" identifier="FromAMic2"/>
+ <AudioPath alias="FromMicIn1" identifier="FromAMic2(Speaker Mode)"/>
+ <AudioPath alias="FromMicIn1" identifier="FromAMic2(Headphone Mode)"/>
+ <AudioPath alias="FromMicIn1" identifier="FromHsMic"/>
+ <AudioPath alias="FromMicIn1" identifier="FromDMic1"/>
+ <AudioPath alias="FromMicIn1" identifier="FromDMic2"/>
+ <AudioPath alias="FromMicIn1" identifier="FromDualDMic1"/>
+ <AudioPath alias="FromMicIn1" identifier="FromDualAMic"/>
+ <AudioPath alias="FromMicIn1" identifier="FromDualAMic(Speaker Mode)"/>
+ <AudioPath alias="FromMicIn1" identifier="FromDualAMic(Headphone Mode)"/>
+ <AudioPath alias="FromMicIn1" identifier="FromLoopbackSDM"/>
+ <AudioPath alias="FromMicIn1" identifier="FromLoopbackPDM"/>
+ <AudioPath alias="HiFi1Playback" identifier="VoipPlayback"/>
+ <AudioPath alias="HiFi1Record" identifier="VoipRecord"/>
+ <AudioPath alias="HiFi1Playback" identifier="VTPlayback"/>
+ <AudioPath alias="HiFi1Record" identifier="VTRecord"/>
+ <AudioPath alias="ToBTNB" identifier="ToBTNB(NREC Mode)"/>
+ <AudioPath alias="ToBTWB" identifier="ToBTWB(NREC Mode)"/>
+ <AudioPath alias="FromBTMicNB" identifier="FromBTMicNB(NREC Mode)"/>
+ <AudioPath alias="FromBTMicWB" identifier="FromBTMicWB(NREC Mode)"/>
+
+</MarvellAudioPathConfiguration>
diff --git a/peripheral/audio/audio_xml/codec/ibiza2plus/audio_basic_element_codec.xml b/peripheral/audio/audio_xml/codec/ibiza2plus/audio_basic_element_codec.xml
new file mode 100644
index 0000000..f5d8c7a
--- /dev/null
+++ b/peripheral/audio/audio_xml/codec/ibiza2plus/audio_basic_element_codec.xml
@@ -0,0 +1,1004 @@
+<!-- Copyright (C) 2005. Marvell International Ltd -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<?xml version="1.0" encoding="utf-8"?>
+
+<!-- -->
+<!-- Marvell Audio Element Device Description -->
+<!-- -->
+<!-- Device : 88PM818 -->
+<!-- Version : A0 -->
+<!-- Location : Pavia - Italy -->
+<!-- Author : Alberto Ressia -->
+<!-- email : aressia@marvell.com -->
+<!-- Date : 2/11/2014 -->
+<!-- Time : 16:43:58 -->
+<!-- Update by APSE-SH : 2/21/2014 -->
+<!-- -->
+
+<MarvellAudioBasicElements>
+<Version>2.0</Version>
+<AudioComponents>
+<AudioComponent>CODEC</AudioComponent>
+<AudioComponent>ELBA</AudioComponent>
+<AudioComponent>USTICA</AudioComponent>
+<AudioComponent>CLASSD_AMP</AudioComponent>
+<AudioComponent>BT</AudioComponent>
+<AudioComponent>FM</AudioComponent>
+<AudioComponent>GPIO_PORT</AudioComponent>
+<AudioComponent>DELAY</AudioComponent>
+<AudioComponent>MODEM</AudioComponent>
+<AudioComponent>SW</AudioComponent>
+<AudioComponent>CODEC</AudioComponent>
+<AudioComponent>PMIC</AudioComponent>
+<AudioComponent>APU</AudioComponent>
+</AudioComponents>
+<ControlProtocols>
+<Protocol>I2C</Protocol>
+<Protocol>HCI</Protocol>
+<Protocol>GPIO</Protocol>
+<Protocol>ACIPC</Protocol>
+<Protocol>SLEEP</Protocol>
+<Protocol>APB</Protocol>
+</ControlProtocols>
+<Operations>
+<Operation>ENABLE</Operation>
+<Operation>DISABLE</Operation>
+<Operation>MUTE</Operation>
+<Operation>SETVOLUME</Operation>
+<Operation>SWITCH</Operation>
+</Operations>
+<Component identifier="CODEC">
+<RegisterInfo index="0x00" name="Identification register">
+<Bits range="4:0" field="MI_ID" default="00000" desc="-"/>
+<Bits range="7:5" field="GEN_ID" default="000" desc="Generation ID Generation identification number of the Elba IC (typically a new version of IC)"/>
+</RegisterInfo>
+<RegisterInfo index="0x01" name="Main power up register">
+<Bits range="0" field="STBY_B" default="0" desc="Main power-up for all blocks. Setting to 1 an automatic power up sequence is starting, allowing power up of all necessary blocks (bandgap, ldos, curr.calibration, pll). For power-down, the opposite"/>
+</RegisterInfo>
+<RegisterInfo index="0x02" name="Interrupt management">
+<Bits range="0" field="INT_CLEARMODE" default="1" desc="Interrupt clear mode"/>
+<Bits range="1" field="INT_INV" default="0" desc="Interrupt signal polarity valid only if int_pullup=0"/>
+<Bits range="2" field="INT_MASKMODE" default="1" desc="Interrupt mask mode"/>
+</RegisterInfo>
+<RegisterInfo index="0x03" name="Interrupt register 1">
+<Bits range="0" field="HP1_SHRT" default="0" desc="Headphone 1 amplifier short interrupt (cleared on write 1)"/>
+<Bits range="1" field="HP2_SHRT" default="0" desc="Headphone 2 amplifier short interrupt (cleared on write 1)"/>
+<Bits range="2" field="MIC_CONFLICT" default="0" desc="Conflict due to microphone selection Check register 0x16"/>
+<Bits range="3" field="CLIP_FAULT" default="0" desc="Clipping Check register from 0x3A and 0x3B"/>
+<Bits range="4" field="LDO_OFF" default="0" desc="ldo p or charge pump is not ready any more"/>
+<Bits range="5" field="AUTO_MUTE" default="0" desc="Auto mute detected"/>
+<Bits range="6" field="RAW_PLL_FAULT" default="0" desc="Lock raw PLL"/>
+<Bits range="7" field="FINE_PLL_FAULT" default="0" desc="Lock fine PLL"/>
+</RegisterInfo>
+<RegisterInfo index="0x04" name="Interrupt register 2">
+<Bits range="0" field="SAI_INT" default="0" desc="Serial Audio Interface interupt"/>
+</RegisterInfo>
+<RegisterInfo index="0x05" name="Interrupt Mask register 1">
+<Bits range="0" field="HP1_SHRT_MASK" default="0" desc="Headphone 1 amplifier short interrupt mask"/>
+<Bits range="1" field="HP2_SHRT_MASK" default="0" desc="Headphone 2 amplifier short interrupt mask"/>
+<Bits range="2" field="MIC_CONFLICT_MASK" default="0" desc="Microphone conflict interrupt mask"/>
+<Bits range="3" field="CLIP_FAULT_MASK" default="0" desc="Clipping interrupt mask"/>
+<Bits range="4" field="LDO_OFF_MASK" default="0" desc="ldo p or charge pump interrupt mask"/>
+<Bits range="5" field="AUTO_MUTE_MASK" default="0" desc="Auto mute interrupt mask"/>
+<Bits range="6" field="RAW_PLL_FAULT_MASK" default="0" desc="Lock raw PLL interrupt mask"/>
+<Bits range="7" field="FINE_PLL_FAULT_MASK" default="0" desc="Lock fine PLL interrupt mask"/>
+</RegisterInfo>
+<RegisterInfo index="0x06" name="Interrupt Mask register 2">
+<Bits range="0" field="SAI_INT_MASK" default="0" desc="Serial Audio Interface interrupt mask"/>
+</RegisterInfo>
+<RegisterInfo index="0x07" name="Automatic sequence status register 1">
+<Bits range="0" field="SEQ_PU_READY" default="0" desc="High when power up sequencer is in ready mode"/>
+<Bits range="1" field="SEQ_PU_IDLE" default="1" desc="High when power up sequencer is in idle mode"/>
+<Bits range="2" field="SEQ_HP1_READY" default="0" desc="High when HP1 sequencer is in ready mode"/>
+<Bits range="3" field="SEQ_HP1_IDLE" default="1" desc="High when HP1 sequencer is in idle mode"/>
+<Bits range="4" field="SEQ_HP2_READY" default="0" desc="High when HP2 sequencer is in ready mode"/>
+<Bits range="5" field="SEQ_HP2_IDLE" default="1" desc="High when HP2 sequencer is in idle mode"/>
+<Bits range="6" field="SEQ_SDM_READY" default="0" desc="High when SDM sequencer is in ready mode"/>
+<Bits range="7" field="SEQ_SDM_IDLE" default="1" desc="High when SDM sequencer is in idle mode"/>
+</RegisterInfo>
+<RegisterInfo index="0x08" name="Automatic sequence status register 2">
+<Bits range="0" field="FC_READY" default="0" desc="High when rec filter fast charge is done"/>
+<Bits range="1" field="CP_READY" default="0" desc="High when charge pump is ready"/>
+<Bits range="2" field="SEQ_ADC1_READY" default="0" desc="High when ADC1 sequencer is in ready mode"/>
+<Bits range="3" field="SEQ_ADC1_IDLE" default="1" desc="High when ADC1 sequencer is in idle mode"/>
+<Bits range="4" field="SEQ_ADC2_READY" default="0" desc="High when ADC2 sequencer is in ready mode"/>
+<Bits range="5" field="SEQ_ADC2_IDLE" default="1" desc="High when ADC2 sequencer is in idle mode"/>
+<Bits range="6" field="SEQ_ANA_READY" default="0" desc="High when ana sequencer is in ready mode"/>
+<Bits range="7" field="SEQ_ANA_IDLE" default="1" desc="High when ana sequencer is in idle mode"/>
+</RegisterInfo>
+<RegisterInfo index="0x09" name="Automatic sequence status register 3">
+<Bits range="0" field="SEQ_HP1_EN" default="0" desc="High when sdm sequencer has enables hp1 path"/>
+<Bits range="1" field="SEQ_HP2_EN" default="0" desc="High when sdm sequencer has enables hp2 path"/>
+<Bits range="2" field="SEQ_EP_EN" default="0" desc="High when sdm sequencer has enables ep path"/>
+</RegisterInfo>
+<RegisterInfo index="0x0A" name="Short Protection register">
+<Bits range="0" field="HP_SHRT_AR_DIS" default="0" desc="HP short autorecovery machine disable"/>
+<Bits range="1" field="HP_SHRT_AR_FORCE_SIG_EN" default="1" desc="HP short autorecovery machine configurration"/>
+<Bits range="2" field="HP_SHORT_PROT_DIS" default="0" desc="Short protection on HP1 / HP2"/>
+<Bits range="3" field="HP_SHORT_TH" default="0" desc="HP short detection threshold"/>
+<Bits range="5:4" field="HP_SHTMSK_TIM" default="00" desc="Headphone 1 and 2 short detection mask duration after enable_d"/>
+</RegisterInfo>
+<RegisterInfo index="0x0B" name="Load / Ground detection register 1">
+<Bits range="0" field="HP1_RANGE_HZ" default="0" desc="Channel 1 load detection high impedance range. If low then the load detection range is up to 100 ohm, otherwise is above 100 ohm."/>
+<Bits range="1" field="HP2_RANGE_HZ" default="0" desc="Channel 2 load detection high impedance range. If low then the load detection range is up to 100 ohm, otherwise is above 100 ohm."/>
+<Bits range="2" field="HP1_GND_LDET_EN" default="0" desc="HP1 load detection + gruond detection enable"/>
+<Bits range="3" field="HP2_GND_LDET_EN" default="0" desc="HP2 load detection + gruond detection enable"/>
+<Bits range="5:4" field="DET_COMP_DEGLITCH" default="00" desc="Load detection comparator deglitch"/>
+</RegisterInfo>
+<RegisterInfo index="0x0C" name="Load / Ground detection register 2">
+<Bits range="3:0" field="HP1_DET_RESULT" default="00000000000000000000" desc="-"/>
+<Bits range="4" field="HP1_GROUND_DET_COMP" default="0" desc="Ground detection comparator output"/>
+<Bits range="5" field="HP1_DET_DONE" default="0" desc="-"/>
+</RegisterInfo>
+<RegisterInfo index="0x0D" name="Load / Ground detection register 3">
+<Bits range="7:0" field="HP1_DET_RESULT" default="0000000000000000" desc="-"/>
+</RegisterInfo>
+<RegisterInfo index="0x0E" name="Load / Ground detection register 4">
+<Bits range="7:0" field="HP1_DET_RESULT" default="00000000" desc="-"/>
+</RegisterInfo>
+<RegisterInfo index="0x0F" name="Load / Ground detection register 5">
+<Bits range="3:0" field="HP2_DET_RESULT" default="00000000000000000000" desc="-"/>
+<Bits range="4" field="HP2_GROUND_DET_COMP" default="0" desc="Ground detection comparator output"/>
+<Bits range="5" field="HP2_DET_DONE" default="0" desc="0 = not done 1 = done"/>
+</RegisterInfo>
+<RegisterInfo index="0x10" name="Load / Ground detection register 6">
+<Bits range="7:0" field="HP2_DET_RESULT" default="0000000000000000" desc="-"/>
+</RegisterInfo>
+<RegisterInfo index="0x11" name="Load / Ground detection register 7">
+<Bits range="7:0" field="HP2_DET_RESULT" default="00000000" desc="-"/>
+</RegisterInfo>
+<RegisterInfo index="0x20" name="ADCs Settings Register">
+<Bits range="3:0" field="MIC1_ANA_IN_SEL" default="0000" desc="Input selector for MICPGA1"/>
+<Bits range="7:4" field="MIC2_ANA_IN_SEL" default="0000" desc="Input selector for MICPGA2"/>
+</RegisterInfo>
+<RegisterInfo index="0x21" name="Analog microphone gain 1">
+<Bits range="5:0" field="MIC1_ANA_GAIN" default="001101" type="Gain" desc="MICPGA1 gain">
+<Capbility value="0x0" decibel="-0.05" />
+<Capbility value="0x1" decibel="+2.94" />
+<Capbility value="0x2" decibel="+6.02" />
+<Capbility value="0x3" decibel="+9.93" />
+<Capbility value="0x4" decibel="+10.98" />
+<Capbility value="0x5" decibel="+11.94" />
+<Capbility value="0x6" decibel="+12.96" />
+<Capbility value="0x7" decibel="+14.07" />
+<Capbility value="0x8" decibel="+15.07" />
+<Capbility value="0x9" decibel="+15.94" />
+<Capbility value="0xA" decibel="+17.11" />
+<Capbility value="0xB" decibel="+17.88" />
+<Capbility value="0xC" decibel="+18.99" />
+<Capbility value="0xD" decibel="+19.91" />
+<Capbility value="0xE" decibel="+19.93" />
+<Capbility value="0xF" decibel="+20.98" />
+<Capbility value="0x10" decibel="+21.94" />
+<Capbility value="0x11" decibel="+22.96" />
+<Capbility value="0x12" decibel="+24.07" />
+<Capbility value="0x13" decibel="+25.07" />
+<Capbility value="0x14" decibel="+25.94" />
+<Capbility value="0x15" decibel="+27.11" />
+<Capbility value="0x16" decibel="+27.88" />
+<Capbility value="0x17" decibel="+28.99" />
+<Capbility value="0x18" decibel="+29.91" />
+<Capbility value="0x19" decibel="+29.93" />
+<Capbility value="0x1A" decibel="+30.98" />
+<Capbility value="0x1B" decibel="+31.94" />
+<Capbility value="0x1C" decibel="+32.96" />
+<Capbility value="0x1D" decibel="+34.07" />
+<Capbility value="0x1E" decibel="+35.07" />
+<Capbility value="0x1F" decibel="+35.94" />
+<Capbility value="0x20" decibel="+37.11" />
+<Capbility value="0x21" decibel="+37.88" />
+<Capbility value="0x22" decibel="+38.99" />
+<Capbility value="0x23" decibel="+39.91" />
+<Capbility value="0x24" decibel="+39.91" />
+<Capbility value="0x25" decibel="+39.91" />
+<Capbility value="0x26" decibel="+39.91" />
+<Capbility value="0x27" decibel="+39.91" />
+<Capbility value="0x28" decibel="+39.91" />
+<Capbility value="0x29" decibel="+39.91" />
+<Capbility value="0x2A" decibel="+39.91" />
+<Capbility value="0x2B" decibel="+39.91" />
+<Capbility value="0x2C" decibel="+39.91" />
+<Capbility value="0x2D" decibel="+39.91" />
+<Capbility value="0x2E" decibel="+39.91" />
+<Capbility value="0x2F" decibel="+39.91" />
+</Bits>
+<Bits range="7:6" field="AMIC_DATA_TIM" default="00" desc="Waiting time in DWS for amic data"/>
+</RegisterInfo>
+<RegisterInfo index="0x22" name="Analog microphone gain 2">
+<Bits range="5:0" field="MIC2_ANA_GAIN" default="001101" type="Gain" desc="MICPGA2 gain">
+<Capbility value="0x0" decibel="-0.05" />
+<Capbility value="0x1" decibel="+2.94" />
+<Capbility value="0x2" decibel="+6.02" />
+<Capbility value="0x3" decibel="+9.93" />
+<Capbility value="0x4" decibel="+10.98" />
+<Capbility value="0x5" decibel="+11.94" />
+<Capbility value="0x6" decibel="+12.96" />
+<Capbility value="0x7" decibel="+14.07" />
+<Capbility value="0x8" decibel="+15.07" />
+<Capbility value="0x9" decibel="+15.94" />
+<Capbility value="0xA" decibel="+17.11" />
+<Capbility value="0xB" decibel="+17.88" />
+<Capbility value="0xC" decibel="+18.99" />
+<Capbility value="0xD" decibel="+19.91" />
+<Capbility value="0xE" decibel="+19.93" />
+<Capbility value="0xF" decibel="+20.98" />
+<Capbility value="0x10" decibel="+21.94" />
+<Capbility value="0x11" decibel="+22.96" />
+<Capbility value="0x12" decibel="+24.07" />
+<Capbility value="0x13" decibel="+25.07" />
+<Capbility value="0x14" decibel="+25.94" />
+<Capbility value="0x15" decibel="+27.11" />
+<Capbility value="0x16" decibel="+27.88" />
+<Capbility value="0x17" decibel="+28.99" />
+<Capbility value="0x18" decibel="+29.91" />
+<Capbility value="0x19" decibel="+29.93" />
+<Capbility value="0x1A" decibel="+30.98" />
+<Capbility value="0x1B" decibel="+31.94" />
+<Capbility value="0x1C" decibel="+32.96" />
+<Capbility value="0x1D" decibel="+34.07" />
+<Capbility value="0x1E" decibel="+35.07" />
+<Capbility value="0x1F" decibel="+35.94" />
+<Capbility value="0x20" decibel="+37.11" />
+<Capbility value="0x21" decibel="+37.88" />
+<Capbility value="0x22" decibel="+38.99" />
+<Capbility value="0x23" decibel="+39.91" />
+<Capbility value="0x24" decibel="+39.91" />
+<Capbility value="0x25" decibel="+39.91" />
+<Capbility value="0x26" decibel="+39.91" />
+<Capbility value="0x27" decibel="+39.91" />
+<Capbility value="0x28" decibel="+39.91" />
+<Capbility value="0x29" decibel="+39.91" />
+<Capbility value="0x2A" decibel="+39.91" />
+<Capbility value="0x2B" decibel="+39.91" />
+<Capbility value="0x2C" decibel="+39.91" />
+<Capbility value="0x2D" decibel="+39.91" />
+<Capbility value="0x2E" decibel="+39.91" />
+<Capbility value="0x2F" decibel="+39.91" />
+</Bits>
+<Bits range="7:6" field="DMIC_DATA_TIM" default="00" desc="Waiting time in DWS for dmic data"/>
+</RegisterInfo>
+<RegisterInfo index="0x23" name="DMIC settings">
+<Bits range="2:0" field="DMIC34_FREQ_SEL" default="000" desc="Digital microphone 3/4 expected frequency selector"/>
+<Bits range="3" field="DMIC34_R_B4_L" default="0" desc="Selectors of expected DMIC34 stereo data bit stream mixing order"/>
+<Bits range="6:4" field="DMIC12_FREQ_SEL" default="000" desc="Digital microphone 1/2 expected frequency selector"/>
+<Bits range="7" field="DMIC12_R_B4_L" default="0" desc="Selectors of expected DMIC12 stereo data bit stream mixing order"/>
+</RegisterInfo>
+<RegisterInfo index="0x24" name="Downsampler (DWS) settings 1">
+<Bits range="2:0" field="DWS1_IN_SEL" default="000" desc="Input selector for downsampling 1 channels"/>
+<Bits range="6:4" field="DWS2_IN_SEL" default="000" desc="Input selector for downsampling 2 channels"/>
+</RegisterInfo>
+<RegisterInfo index="0x25" name="Downsampler (DWS) settings 2">
+<Bits range="2:0" field="DWS3_IN_SEL" default="000" desc="Input selector for downsampling 3 channels"/>
+<Bits range="6:4" field="DWS4_IN_SEL" default="000" desc="Input selector for downsampling 4 channels"/>
+</RegisterInfo>
+<RegisterInfo index="0x26" name="Microphone conflict">
+<Bits range="0" field="MICDIG12_CONFLICT" default="0" desc="Returns 1 when trying to select for downsampling both DMIC12 and AMIC 1 which share the same pins. In this case related pins are set in power down"/>
+<Bits range="1" field="MICDIG34_CONFLICT" default="0" desc="Returns 1 when trying to select for downsampling both DMIC34 and AMIC 2 which share the same pins. In this case related pins are set in power down"/>
+</RegisterInfo>
+<RegisterInfo index="0x30" name="PDM Settings Register 1">
+<Bits range="0" field="PDM1_EN" default="0" desc="PDM1 data enable"/>
+<Bits range="2:1" field="PDM1_DIS_MODE" default="01" desc="PDM1 data disable mode (when pdm1_en = 0)"/>
+<Bits range="3" field="PDM2_EN" default="0" desc="PDM2 data enable"/>
+<Bits range="5:4" field="PDM2_DIS_MODE" default="01" desc="PDM2 data disable mode (when pdm2_en = 0)"/>
+<Bits range="7:6" field="PDM_PAD_MODE" default="00" desc="Selector for PDMCLK and PDMDAT status (HiZ or driving) and for PDMCLK activity 00 = pad in HiZ weak pull-down (default)"/>
+</RegisterInfo>
+<RegisterInfo index="0x31" name="PDM Settings Register 2">
+<Bits range="2:0" field="PDM_MODE_SEL" default="000" desc="PDM order and output bit stream frequency selector"/>
+<Bits range="3" field="PDM_RB4L" default="0" desc="Selectors of PDM stereo data bit stream mixing order"/>
+<Bits range="6:4" field="PDMCLK_DLY_SEL" default="011" desc="PDM clock buffer programmable delay (typical corner)"/>
+</RegisterInfo>
+<RegisterInfo index="0x32" name="PDM Settings Register 3">
+<Bits range="2:0" field="PDMDAT_DLY_SEL" default="000" desc="PDM data HiZ command programmable delay (typical corner)"/>
+<Bits range="6:4" field="PDMDAT_HIZ_DLY_SEL" default="000" desc="PDM data buffer programmable delay (typical corner)"/>
+</RegisterInfo>
+<RegisterInfo index="0x33" name="PDM control Register 1">
+<Bits range="0" field="PDM_CTRL_DIS1" default="1" desc="When high disables control pattern flow through PDM1 channel (enabled by default)"/>
+<Bits range="1" field="PDM_CTRL_DIS2" default="1" desc="When high disables control pattern flow through PDM2 channel (enabled by default)"/>
+<Bits range="2" field="PDM_CTRL_16BIT_EN" default="0" desc="Selects the number of bit for control patterns representation"/>
+<Bits range="3" field="PDM_CTRL_GO" default="0" desc="PDM control silence pattern activation This bit stays high during pattern repetitions. It is automatically reset at repetition number expiring. Autoreset is disabled when continuos repetition is selected. In this case repetitions can be stopped by manual"/>
+<Bits range="6:4" field="PDM_CTRL_REP" default="011" desc="PDM control pattern repetiton number"/>
+</RegisterInfo>
+<RegisterInfo index="0x34" name="PDM control Register 2">
+<Bits range="7:0" field="PDM_CTRL_PATT_MSB" default="00000000" desc="Selects the value of MSB bits of control pattern to repeatingly issue. This register is effective only when 16-bit control patterns are selected. Otherwise LSB only are issued"/>
+</RegisterInfo>
+<RegisterInfo index="0x35" name="PDM control Register 3">
+<Bits range="7:0" field="PDM_CTRL_PATT_LSB" default="00000000" desc="Selects the value of LSB bits of control pattern to repeatingly issue. When 8-bit control patterns are selected this register only is issued"/>
+</RegisterInfo>
+<RegisterInfo index="0x36" name="HP/EP Settings 1">
+<Bits range="0" field="HP1_HIZ" default="0" desc="Headphone 1 amplifier tristate command (automatically set in case of short detection)"/>
+<Bits range="1" field="HP2_HIZ" default="0" desc="Headphone 2 amplifier tristate command (automatically set in case of short detection)"/>
+<Bits range="6:2" field="SDM_CH_SEL" default="00000" desc="Field related to EP, HP1 and HP2."/>
+</RegisterInfo>
+<RegisterInfo index="0x37" name="-">
+<Bits range="0" field="HP1_SHRT_STATE" default="0" desc="Headphone 1 amplifier short detection"/>
+<Bits range="1" field="HP2_SHRT_STATE" default="0" desc="Headphone 2 amplifier short detection"/>
+</RegisterInfo>
+<RegisterInfo index="0x40" name="TDM Setting Register 1">
+<Bits range="2" field="TDM_DOUBLE_EDGE" default="0" desc="TDM single/double edge working mode"/>
+<Bits range="3" field="TDM_BCLK_POLARITY" default="0" desc="Bclk polarity: 0 sdi sampled at bclk rising edge and sdo transmitted at bclk falling edge(default) 1 sdi sampled at bclk falling edge and sdo transmitted at bclk rising edge"/>
+<Bits range="4" field="TDM_FSYN_POLARITY" default="0" desc="Serial audio interface polarity"/>
+<Bits range="5" field="TDM_MASTER" default="0" desc="Serial audio interface master/slave mode"/>
+<Bits range="6" field="TDM_DELAY_MODE" default="0" desc="Serial audio interface 1 delayed mode setting"/>
+<Bits range="7" field="TDM_WIRE_MODE" default="0" desc="TDM wire mode selection"/>
+</RegisterInfo>
+<RegisterInfo index="0x43" name="TDM Setting Register 4">
+<Bits range="6:0" field="TDM_FSYN_PULSE_WIDTH" default="0000000000" desc="[used only in master mode] Fsyn low duration in number of bclk (1024-1) . Note that it must be lower that the number of bclk inside one fsyn clock cycle. 10d0 = 1 bclk (default) 10d1 = 2 bclk ... 10d1023 = 1024 bclk"/>
+</RegisterInfo>
+<RegisterInfo index="0x44" name="TDM Setting Register 5">
+<Bits range="4:0" field="TDM_BCLK_RATE" default="0000000000000" desc="(used only in master mode) Set the bclk_freq = bclk_freq=(pll_clk_freq/(rfu_bclk_rate+1)) (default=0)"/>
+<Bits range="7:5" field="TDM_FSYN_PULSE_WIDTH" default="000" desc="[used only in master mode] Fsyn low duration in number of bclk (1024-1) . Note that it must be lower that the number of bclk inside one fsyn clock cycle. 10d0 = 1 bclk (default) 10d1 = 2 bclk ... 10d1023 = 1024 bclk"/>
+</RegisterInfo>
+<RegisterInfo index="0x45" name="TDM Setting Register 6">
+<Bits range="7:0" field="TDM_BCLK_RATE" default="00000000" desc="(used only in master mode) Set the bclk_freq = bclk_freq=(pll_clk_freq/(rfu_bclk_rate+1)) (default=0)"/>
+</RegisterInfo>
+<RegisterInfo index="0x46" name="TDM Setting Register 7">
+<Bits range="0" field="TDM_BCLK_DITH" default="0" desc="-"/>
+<Bits range="1" field="TDM_BCLK_DITH_MODE" default="0" desc="If rfu_bclk_dith=1, set the dithering mode"/>
+<Bits range="2" field="TDM_FSYN_DITH" default="0" desc="-"/>
+<Bits range="3" field="TDM_FSYN_DITH_MODE" default="0" desc="-"/>
+<Bits range="7:4" field="TDM_MAX_SLOT" default="0000" desc="[used only in master mode] Max number of slots that can be allocated on the bus (0-15). After the last slot, the bclk is stopped. Not used if set to 0"/>
+</RegisterInfo>
+<RegisterInfo index="0x47" name="TDM Setting Register 8">
+<Bits range="3:0" field="TDM_CH4O_SLOT_1" default="0000" desc="Serial audio interface first slot for channel 4 output"/>
+<Bits range="7:4" field="TDM_CH4O_SLOT_2" default="0000" desc="Serial audio interface second slot for channel 4 output"/>
+</RegisterInfo>
+<RegisterInfo index="0x48" name="TDM Setting Register 9">
+<Bits range="3:0" field="TDM_CH3O_SLOT_1" default="0000" desc="Serial audio interface first slot for channel 3 output"/>
+<Bits range="7:4" field="TDM_CH3O_SLOT_2" default="0000" desc="Serial audio interface second slot for channel 3 output"/>
+</RegisterInfo>
+<RegisterInfo index="0x49" name="TDM Setting Register 10">
+<Bits range="3:0" field="TDM_CH2O_SLOT_1" default="0000" desc="Serial audio interface first slot for channel 2 output"/>
+<Bits range="7:4" field="TDM_CH2O_SLOT_2" default="0000" desc="Serial audio interface second slot for channel 2 output"/>
+</RegisterInfo>
+<RegisterInfo index="0x4A" name="TDM Setting Register 11">
+<Bits range="3:0" field="TDM_CH1O_SLOT_1" default="0000" desc="Serial audio interface first slot for channel 1 output"/>
+<Bits range="7:4" field="TDM_CH1O_SLOT_2" default="0000" desc="Serial audio interface second slot for channel 1 output"/>
+</RegisterInfo>
+<RegisterInfo index="0x4B" name="TDM Setting Register 12">
+<Bits range="3:0" field="TDM_CH3I_SLOT" default="0000" desc="Serial audio interface slot for channel 3 input"/>
+<Bits range="7:4" field="TDM_CH4I_SLOT" default="0000" desc="Serial audio interface slot for channel 4 input"/>
+</RegisterInfo>
+<RegisterInfo index="0x4C" name="TDM Setting Register 13">
+<Bits range="3:0" field="TDM_CH1I_SLOT" default="0000" desc="Serial audio interface slot for channel 1 input"/>
+<Bits range="7:4" field="TDM_CH2I_SLOT" default="0000" desc="Serial audio interface slot for channel 2 input"/>
+</RegisterInfo>
+<RegisterInfo index="0x4D" name="TDM Setting Register 14">
+<Bits range="3:0" field="TDM_START_SLOT" default="0001" desc="Number of bclk between fsyn edge and the first slot (15-0) [For double edge configuration it cannot be 0] (default=1)"/>
+<Bits range="6:4" field="TDM_SLOT_SPACE" default="0" desc="Number of bclk between two slots (7-0) (default=0)"/>
+</RegisterInfo>
+<RegisterInfo index="0x4E" name="TDM Setting Register 15">
+<Bits range="1:0" field="TDM_SLOT_SIZE" default="00" desc="Serial audio interface slot size"/>
+<Bits range="3:2" field="TDM_FREQ_SEL" default="00" desc="TDM frequency"/>
+</RegisterInfo>
+<RegisterInfo index="0x4F" name="TDM Setting Register 16">
+<Bits range="1:0" field="TDM_CH1O_DL" default="00" desc="Channel 1 out data length"/>
+<Bits range="3:2" field="TDM_CH2O_DL" default="00" desc="Channel 2 out data length"/>
+<Bits range="5:4" field="TDM_CH3O_DL" default="00" desc="Channel 3 out data length"/>
+<Bits range="7:6" field="TDM_CH4O_DL" default="00" desc="Channel 4 out data length"/>
+</RegisterInfo>
+<RegisterInfo index="0x50" name="TDM Setting Register 17">
+<Bits range="1:0" field="TDM_CH1I_DL" default="00" desc="Channel 1 in data length"/>
+<Bits range="3:2" field="TDM_CH2I_DL" default="00" desc="Channel 2 in data length"/>
+<Bits range="5:4" field="TDM_CH3I_DL" default="00" desc="Channel 3 in data length"/>
+<Bits range="7:6" field="TDM_CH4I_DL" default="00" desc="Channel 4 in data length"/>
+</RegisterInfo>
+<RegisterInfo index="0x51" name="TDM interrupt">
+<Bits range="0" field="TDM_CKG_ERR" default="0" desc="Interupt = bclk period in 1 fsyn period insufficient to allocate all slots programmable"/>
+<Bits range="1" field="TDM_CKG_FSYN_PULSE_WIDTH_ERR" default="0" desc="Interrupt = the number of bclk cycles arent enough to give the desired fsyn pulse width"/>
+<Bits range="2" field="TDM_SLAVE_ERR" default="0" desc="Interupt = bclk period in 1 fsyn period insufficient to allocate all slots programmable"/>
+<Bits range="3" field="FIFO_UNDERFLOW" default="0" desc="-"/>
+<Bits range="4" field="FIFO_OVERFLOW" default="0" desc="-"/>
+</RegisterInfo>
+<RegisterInfo index="0x52" name="-">
+<Bits range="3:0" field="FIFO_AE_SIZE" default="0011" desc="Fifo almost empty size"/>
+<Bits range="7:4" field="FIFO_AF_SIZE" default="1100" desc="Fifo almost full size"/>
+</RegisterInfo>
+<RegisterInfo index="0x53" name="-">
+<Bits range="2:0" field="PLL_DIV_RATE" default="011" desc="-"/>
+<Bits range="3" field="FORCE_PLL_DIV_RATE" default="0" desc="-"/>
+</RegisterInfo>
+<RegisterInfo index="0x54" name="-">
+<Bits range="3:0" field="FIFO_NUM_SAMPLE" default="0000" desc="-"/>
+<Bits range="7:4" field="FIFO_NUM_SAMPLE_LEFT" default="0000" desc="-"/>
+</RegisterInfo>
+<RegisterInfo index="0x55" name="-">
+<Bits range="0" field="FIFO_EMPTY" default="1" desc="-"/>
+<Bits range="1" field="FIFO_FULL" default="0" desc="-"/>
+</RegisterInfo>
+<RegisterInfo index="0x56" name="-">
+<Bits range="0" field="APPLY_TDM_CONF" default="0" desc="Autoreset"/>
+<Bits range="1" field="APPLY_CKG_CONF" default="0" desc="Autoreset"/>
+</RegisterInfo>
+<RegisterInfo index="0x57" name="TDM Test 1">
+<Bits range="3:0" field="TDM_CHO_TEST" default="0000" desc=""/>
+<Bits range="4" field="TDM_CHO_TEST_EN" default="0" desc="No description"/>
+<Bits range="6:5" field="TDM_LOOP_TEST_EN" default="00" desc="No description"/>
+</RegisterInfo>
+<RegisterInfo index="0x58" name="TDM Test 1">
+<Bits range="7:0" field="TDM_CHO_TEST" default="00000000" desc=""/>
+</RegisterInfo>
+<RegisterInfo index="0x59" name="TDM Test 1">
+<Bits range="7:0" field="TDM_CHO_TEST" default="00000000" desc=""/>
+</RegisterInfo>
+<RegisterInfo index="0x60" name="Digital Block Enable Register">
+<Bits range="0" field="OVS_CH1_EN" default="0" desc="Oversampler block enable. It enables the SRCI and the PRC"/>
+<Bits range="1" field="OVS_CH2_EN" default="0" desc="Oversampler block enable. It enables the SRCI and the PRC"/>
+<Bits range="2" field="OVS_CH3_EN" default="0" desc="Oversampler block enable. It enables the SRCI and the PRC"/>
+<Bits range="3" field="OVS_CH4_EN" default="0" desc="Oversampler block enable. It enables the SRCI and the PRC"/>
+<Bits range="4" field="DWS_CH1_EN" default="0" desc="Downsampler block enable. It enables the SRCO as well."/>
+<Bits range="5" field="DWS_CH2_EN" default="0" desc="Downsampler block enable. It enables the SRCO as well."/>
+<Bits range="6" field="DWS_CH3_EN" default="0" desc="Downsampler block enable. It enables the SRCO as well."/>
+<Bits range="7" field="DWS_CH4_EN" default="0" desc="Downsampler block enable. It enables the SRCO as well."/>
+</RegisterInfo>
+<RegisterInfo index="0x61" name="Digital Block Enable Register">
+<Bits range="0" field="TDM_EN" default="0" desc="Serial Audio Interface"/>
+<Bits range="1" field="VOL_ZCDET_EN" default="0" desc="Enables ZC detection on output channel based volume ramp"/>
+</RegisterInfo>
+<RegisterInfo index="0x62" name="Volume channel">
+<Bits range="3:0" field="RAMP_TIME_SEL" default="0010" desc="Volume ramp step time selector (applied when ZC detection is disabled)"/>
+<Bits range="5:4" field="ZC_THRESH_PDM" default="01" desc="Selects the audio signal hysteretic double threshold to be used for ZC based volume ramp control. This selection applies to volume control units 3 and 4, that are corresponding to PDM 1 and PDM 2 channels"/>
+<Bits range="7:6" field="ZC_THRESH_SDM" default="01" desc="Selects the audio signal hysteretic double threshold to be used for ZC based volume ramp control. This selection applies to volume control units 1 and 2, that are corresponding to SDM 1 and SDM 2 channels"/>
+</RegisterInfo>
+<RegisterInfo index="0x63" name="zero-cross / automute parameters">
+<Bits range="1:0" field="AUTOMUTE_MODE_PDM" default="00" desc="Selects the automute operating mode. This selection applies to volume control units 3 and 4, that are corresponding to PDM 1 and PDM 2 channels"/>
+<Bits range="3:2" field="AUTOMUTE_MODE_SDM" default="00" desc="Selects the automute operating mode. This selection applies to volume control units 1 and 2, that are corresponding to SDM 1 and SDM 2 channels"/>
+<Bits range="5:4" field="AUTOMUTE_FILT_PDM" default="01" desc="Selects the time filter duration for automute to be issued. Signal under threshold condition is deglitched with the selected timing before automute being issued. Automute is released immediately as soon as audio signal returns above threshold. This select applies to volume control units 3 and 4, that are corresponding to PDM 1 and PDM 2 channels"/>
+<Bits range="7:6" field="AUTOMUTE_FILT_SDM" default="01" desc="Selects the time filter duration for automute to be issued. Signal under threshold condition is deglitched with the selected timing before automute being issued. Automute is released immediately as soon as audio signal returns above threshold. This select applies to volume control units 1 and 2, that are corresponding to SDM 1 and SDM 2 channels"/>
+</RegisterInfo>
+<RegisterInfo index="0x64" name="Volume selection on channel out 1 (sdm1)">
+<Bits range="7:0" field="VOL_SEL_1" default="00000000" type="Gain" desc="Volume selector on SDM 1 channel (target volume if volume ramp is selected)">
+<Capbility value="0x0" decibel="Mute" />
+<Capbility range="0x01~0xff" dbrange="-91.0~36.0" step="0.5" />
+</Bits>
+</RegisterInfo>
+<RegisterInfo index="0x65" name="Volume selection on channel out 2 (sdm2)">
+<Bits range="7:0" field="VOL_SEL_2" default="00000000" type="Gain" desc="Volume selector on SDM 2 channel (target volume if volume ramp is selected)">
+<Capbility value="0x0" decibel="Mute" />
+<Capbility range="0x01~0xff" dbrange="-91.0~36.0" step="0.5" />
+</Bits>
+</RegisterInfo>
+<RegisterInfo index="0x66" name="Volume selection on channel out 3 (pdm1)">
+<Bits range="7:0" field="VOL_SEL_3" default="00000000" type="Gain" desc="Volume selector on PDM 1 channel (target volume if volume ramp is selected)">
+<Capbility value="0x0" decibel="Mute" />
+<Capbility range="0x01~0xff" dbrange="-91.0~36.0" step="0.5" />
+</Bits>
+</RegisterInfo>
+<RegisterInfo index="0x67" name="Volume selection on channel out 4 (pdm2)">
+<Bits range="7:0" field="VOL_SEL_4" default="00000000" type="Gain" desc="Volume selector on PDM 2 channel (target volume if volume ramp is selected)">
+<Capbility value="0x0" decibel="Mute" />
+<Capbility range="0x01~0xff" dbrange="-91.0~36.0" step="0.5" />
+</Bits>
+</RegisterInfo>
+<RegisterInfo index="0x68" name="clip bits Register 1">
+<Bits range="0" field="VOL_CLIP_1" default="0" desc="vol1 clipping"/>
+<Bits range="1" field="VOL_CLIP_2" default="0" desc="vol2 clipping"/>
+<Bits range="2" field="VOL_CLIP_3" default="0" desc="vol3 clipping"/>
+<Bits range="3" field="VOL_CLIP_4" default="0" desc="vol4 clipping"/>
+</RegisterInfo>
+<RegisterInfo index="0x69" name="clip bits Register 2">
+<Bits range="0" field="OVS_SDM_CLIP_1" default="0" desc="sdm ch1 clipping"/>
+<Bits range="1" field="OVS_SDM_CLIP_2" default="0" desc="sdm ch2 clipping"/>
+<Bits range="2" field="OVS_PDM_CLIP_1" default="0" desc="pdm ch1 clipping"/>
+<Bits range="3" field="OVS_PDM_CLIP_2" default="0" desc="pdm ch2 clipping"/>
+<Bits range="4" field="DWS_CLIP_1" default="0" desc="dws ch1 clipping"/>
+<Bits range="5" field="DWS_CLIP_2" default="0" desc="dws ch2 clipping"/>
+<Bits range="6" field="DWS_CLIP_3" default="0" desc="dws ch3 clipping"/>
+<Bits range="7" field="DWS_CLIP_4" default="0" desc="dws ch4 clipping"/>
+</RegisterInfo>
+<RegisterInfo index="0x6A" name="DRE Register 1: basic configuration">
+<Bits range="2:0" field="DRE_RELEASE_TIME" default="100" desc="DRE release time selection"/>
+<Bits range="3" field="DRE_EN" default="1" desc="Enables DRE functionality"/>
+<Bits range="5:4" field="DRE_THRESHOLDS" default="01" desc="Thresholds for DRE input signal used to select the gain of DRE block"/>
+</RegisterInfo>
+<RegisterInfo index="0x6B" name="DRE Register 2: advanced configuration">
+<Bits range="4:0" field="DRE_ANA_COMP_ADDR" default="00000" type="Gain" desc="Address of compensation coefficient to be overwritten by value set in register 0x6C">
+<Capbility value="0x0" decibel="-21" />
+<Capbility value="0x1" decibel="-19" />
+<Capbility value="0x2" decibel="-17" />
+<Capbility value="0x3" decibel="-15" />
+<Capbility value="0x4" decibel="-13" />
+<Capbility value="0x5" decibel="-11" />
+<Capbility value="0x6" decibel="-9" />
+<Capbility value="0x7" decibel="-8" />
+<Capbility value="0x8" decibel="-7" />
+<Capbility value="0x9" decibel="-6" />
+<Capbility value="0xa" decibel="-5" />
+<Capbility value="0xb" decibel="-4" />
+<Capbility value="0xc" decibel="-3" />
+<Capbility value="0xd" decibel="-2" />
+<Capbility value="0xe" decibel="-1" />
+<Capbility value="0xf" decibel="0" />
+<Capbility value="0x10" decibel="-21" />
+<Capbility value="0x11" decibel="-19" />
+<Capbility value="0x12" decibel="-17" />
+<Capbility value="0x13" decibel="-15" />
+<Capbility value="0x14" decibel="-13" />
+<Capbility value="0x15" decibel="-11" />
+<Capbility value="0x16" decibel="-9" />
+<Capbility value="0x17" decibel="-8" />
+<Capbility value="0x18" decibel="-7" />
+<Capbility value="0x19" decibel="-6" />
+<Capbility value="0x1a" decibel="-5" />
+<Capbility value="0x1b" decibel="-4" />
+<Capbility value="0x1c" decibel="-3" />
+<Capbility value="0x1d" decibel="-2" />
+<Capbility value="0x1e" decibel="-1" />
+<Capbility value="0x1f" decibel="0" />
+</Bits>
+<Bits range="5" field="DRE_CH2_ANA_COMP_WE" default="0" desc="Analog compensation coefficients overwrite enable(DRE ch2)"/>
+<Bits range="6" field="DRE_CH1_ANA_COMP_WE" default="0" desc="Analog compensation coefficients overwrite enable(DRE ch1)"/>
+</RegisterInfo>
+<RegisterInfo index="0x6C" name="DRE Register 3: advanced configuration">
+<Bits range="3:0" field="DRE_ANA_COMP_VALUE" default="1000" type="Gain" desc="Correction applied to selected compensation coefficient.">
+<Capbility value="0x0" decibel="-0.8" />
+<Capbility value="0x1" decibel="-0.7" />
+<Capbility value="0x2" decibel="-0.6" />
+<Capbility value="0x3" decibel="-0.5" />
+<Capbility value="0x4" decibel="-0.4" />
+<Capbility value="0x5" decibel="-0.3" />
+<Capbility value="0x6" decibel="-0.2" />
+<Capbility value="0x7" decibel="-0.1" />
+<Capbility value="0x8" decibel="0" />
+<Capbility value="0x9" decibel="0.1" />
+<Capbility value="0xa" decibel="0.2" />
+<Capbility value="0xb" decibel="0.3" />
+<Capbility value="0xc" decibel="0.4" />
+<Capbility value="0xd" decibel="0.5" />
+<Capbility value="0xe" decibel="0.6" />
+<Capbility value="0xf" decibel="0.7" />
+</Bits>
+</RegisterInfo>
+<RegisterInfo index="0x6D" name="DRE Register 4: advanced configuration">
+<Bits range="4:0" field="DRE_OUT_DLY_SEL" default="11110" desc="Digital-to-analog delay selection for concurrent volume issuing in mixed digital/analog volume control mode."/>
+</RegisterInfo>
+<RegisterInfo index="0x70" name="Analog block enable">
+<Bits range="0" field="AUTO_SEQ_PU_DIS" default="0" desc="Disable for automatic device power up/down procedure"/>
+<Bits range="1" field="PLL_EN" default="0" desc="PLL enable"/>
+<Bits range="2" field="PLL_SELCKEXT" default="0" desc="PLL bypass (done in PLL analog macro)"/>
+<Bits range="3" field="LDO_P_EN" default="0" desc="Positive LDO (+1.65V) enable"/>
+<Bits range="4" field="REFGEN_EN_BG" default="0" desc="Bandgap enable"/>
+<Bits range="5" field="REFGEN_BG_CURR_REF_EN" default="0" desc="Reference group = clean BG/R current generator enable"/>
+<Bits range="7:6" field="REFGEN_FC_TIM" default="01" desc="Fast charge timing for adc"/>
+</RegisterInfo>
+<RegisterInfo index="0x71" name="Analog block status Register 1">
+<Bits range="0" field="CKG_LOCK_FINE" default="0" desc="PLL fine lock signal (0.25% precision)"/>
+<Bits range="1" field="CKG_LOCK_ROUGH" default="0" desc="PLL rough lock signal (2% precision)"/>
+<Bits range="2" field="AVDD18_GOOD" default="0" desc="1.8V supply status"/>
+<Bits range="3" field="LDO_P_RDY" default="0" desc="Positive LDO (+1.65V) status"/>
+</RegisterInfo>
+<RegisterInfo index="0x72" name="Pad/Analog block settings">
+<Bits range="3:0" field="PAD_COMP_CAL" default="0110" desc="pad configuration bit (default=0110)"/>
+<Bits range="5:4" field="PAD_SRC" default="01" desc="pad configuration bit Slew Rate Control:00=lowest"/>
+<Bits range="7" field="PLL_INV_CLK" default="0" desc="PLL reference clock inversion (default=0)"/>
+</RegisterInfo>
+<RegisterInfo index="0x73" name="Pad settings">
+<Bits range="4:0" field="PAD_ZP" default="01100" desc="pad configuration bit"/>
+</RegisterInfo>
+<RegisterInfo index="0x74" name="Pad settings">
+<Bits range="4:0" field="PAD_ZN" default="01100" desc="pad configuration bit"/>
+</RegisterInfo>
+<RegisterInfo index="0x75" name="SDM block enable">
+<Bits range="0" field="AUTO_SEQ_SDM_DIS" default="0" desc="Disable for automatic sdm power up/down procedure"/>
+<Bits range="1" field="AUTO_SEQ_ADC1_DIS" default="0" desc="Disable for automatic adc1 power up/down procedure"/>
+<Bits range="2" field="AUTO_SEQ_ADC2_DIS" default="0" desc="Disable for automatic adc2 power up/down procedure"/>
+<Bits range="3" field="SDM_AUTO_FADEIN_OUT_DIS" default="0" desc="Disable for automatic fade in/fade out when sdm1 /sdm2 channel is switched on"/>
+<Bits range="4" field="PDM_AUTO_FADEIN_OUT_DIS" default="0" desc="Disable for automatic fade in/fade out when pdm1/pdm2 channel is switched on"/>
+</RegisterInfo>
+<RegisterInfo index="0x76" name="SDM block enable">
+<Bits range="0" field="HP1_REC_EN" default="0" desc="Reconstruction filter 1 enable"/>
+<Bits range="1" field="HP2_REC_EN" default="0" desc="Reconstruction filter 2 enable"/>
+<Bits range="2" field="HP1_REC_FORCEZ" default="0" desc="Headphone 1 DAC force zero input"/>
+<Bits range="3" field="HP2_REC_FORCEZ" default="0" desc="Headphone 2 DAC force zero input"/>
+<Bits range="4" field="HP1_AMP_EN" default="0" desc="Headphone 1 amplifier enable"/>
+<Bits range="5" field="HP2_AMP_EN" default="0" desc="Headphone 2 amplifier enable"/>
+<Bits range="6" field="CP_EN" default="0" desc="Charge pump enable"/>
+<Bits range="7" field="REFCURR_EN_DAC" default="0" desc="DAC current generator enable"/>
+</RegisterInfo>
+<RegisterInfo index="0x77" name="Power Amplifier status">
+<Bits range="0" field="HP1_REC_ENDLY" default="0" desc="Reconstruction Filter 1, delayed enable signal"/>
+<Bits range="1" field="HP2_REC_ENDLY" default="0" desc="Reconstruction Filter 2, delayed enable signal"/>
+<Bits range="2" field="HP1_ENABLED" default="0" desc="Delayed headphone 1 amplifier enable signal"/>
+<Bits range="3" field="HP2_ENABLED" default="0" desc="Delayed headphone 2 amplifier enable signal"/>
+<Bits range="4" field="SDM1_VOL_MUTE" default="1" desc="sdm1 volume channel:"/>
+<Bits range="5" field="SDM2_VOL_MUTE" default="1" desc="sdm2 volume channel:"/>
+<Bits range="6" field="PDM1_VOL_MUTE" default="0" desc="pdm1 volume channel:"/>
+<Bits range="7" field="PDM2_VOL_MUTE" default="0" desc="pdm2volume channel:"/>
+</RegisterInfo>
+<RegisterInfo index="0x78" name="ADC block enable">
+<Bits range="0" field="ADC1_DATA_EN" default="0" desc="ADC 1 data enable (to dws) [manual procedure to switch on ADC1]"/>
+<Bits range="1" field="ADC1_CH_EN" default="0" desc="ADC 1 channel enable (clk and adc_pd released to adc) [manual procedure to switch on ADC1]"/>
+<Bits range="2" field="ADC2_DATA_EN" default="0" desc="ADC 1 data enable (to dws) [manual procedure to switch on ADC2]"/>
+<Bits range="3" field="ADC2_CH_EN" default="0" desc="ADC 1 channel enable (clk and adc_pd released to adc) [manual procedure to switch on ADC2]"/>
+<Bits range="4" field="ADC_REF_EN" default="0" desc="ADC reference enable (sd_pd and vcm_pdb and clk_pd released to adc and switch on Reference group clean BG/R ADC current generator enable) [manual procedure to switch on ADC]"/>
+<Bits range="5" field="TUN_EN" default="0" desc="ADCs calibration enable"/>
+<Bits range="6" field="ADC1_DC_SETT_EN" default="0" desc="ADC 1 dc restore procedure enable"/>
+<Bits range="7" field="ADC2_DC_SETT_EN" default="0" desc="ADC 2 dc restore procedure enable"/>
+</RegisterInfo>
+<RegisterInfo index="0x79" name="Clock settings">
+<Bits range="0" field="INVREC_CLK" default="0" desc="Selector of 6 MHz polarity for clock provided to reconstrunction filter DACs"/>
+<Bits range="1" field="INVCLK_12M_TO_6M" default="0" desc="Selector of 12 MHz internal clock active edge in cross domain paths from 12 MHz launching domain to 6 MHz capturing domain"/>
+<Bits range="2" field="INVCLK_6M_TO_12M" default="0" desc="Selector of 12 MHz internal clock active edge in cross domain paths from 6 MHz launching domain to 12 MHz capturing domain"/>
+<Bits range="3" field="INV_ADC12_CLK" default="0" desc="Selector of 6 MHz polarity for clock provided to ADC1 and ADC2"/>
+<Bits range="4" field="INVCLK_ADC12_TO_6M" default="0" desc="Selector of 6 MHz internal clock active edge in cross domain paths from ADC1 and ADC1 launching domain to 6MHz capturing domain"/>
+<Bits range="5" field="INVCP_CLK" default="0" desc="Enables LV charge pump clock invertion"/>
+<Bits range="6" field="PLL_ON_CPUMP" default="0" desc="Input source clock for charge pumps clock generation"/>
+</RegisterInfo>
+<RegisterInfo index="0x7A" name="Refgen setting">
+<Bits range="2:0" field="REFGEN_ICC_PROG" default="101" desc="101 (default)"/>
+<Bits range="3" field="LEAK_EN_1V2" default="0" desc="enables leakage current correction on REFCLEAN (1V2) pad"/>
+<Bits range="4" field="LEAK_EN_REFCCURR" default="0" desc="enables leakage current correction on REFCCURR pad"/>
+</RegisterInfo>
+<RegisterInfo index="0x7B" name="Charge Pump settings Register 1">
+<Bits range="1:0" field="CP_SOFT_START_TIME" default="01" desc="Soft start time selection for charge pump"/>
+<Bits range="3:2" field="CP_VOLTAGE" default="01" desc="Select the voltage output of charge pump (if forced)"/>
+<Bits range="4" field="CP_VOLTAGE_FORCE" default="0" desc="Force the output voltage of charge pump"/>
+<Bits range="7:5" field="CP_DEGLITCH" default="010" desc="Cp compl output deglitch time"/>
+</RegisterInfo>
+<RegisterInfo index="0x7C" name="Charge Pump settings Register 2">
+<Bits range="2:0" field="CP_CK_PROGL" default="011" desc="Charge pump low side clock programmability. the low side clock used is equal to 4.096MHz (or 6.144MHz) divided by:"/>
+<Bits range="3" field="CPCK_PHASE" default="1" desc="Phase selector for charge pump"/>
+<Bits range="6:4" field="CP_CK_PROGH" default="000" desc="Charge pump high side clock programmability. the high side clock used is equal to 4.096MHz (or 6.144MHz) divided by"/>
+<Bits range="7" field="CPCK_FREQ" default="0" desc="Frequency selector for charge pump"/>
+</RegisterInfo>
+<RegisterInfo index="0x7D" name="Charge Pump settings Register 2">
+<Bits range="1:0" field="CP_THR_SEL" default="01" desc="01 (default)"/>
+<Bits range="3:2" field="CP_ISEL" default="11" desc="11 (default)"/>
+<Bits range="5:4" field="CP_STEP_SIZE" default="00" desc="Ramp step duration"/>
+</RegisterInfo>
+<RegisterInfo index="0x7E" name="fll/spread spectrum settings Register 1">
+<Bits range="0" field="FLL_EN" default="0" desc="-"/>
+<Bits range="1" field="SSC_EN" default="0" desc="-"/>
+<Bits range="7:2" field="SSC_DIV_SET" default="010001" desc="32768 Hz clock prescaling factor for spread spectrum triangular frequency modulation wave step advance. (default=010001) Time step = (ssc_div_set + 1) * (1 / 32768 Hz). Modulation frequency = 32768 Hz / (4 * ssc_spread_set * (ssc_div_set +1))"/>
+</RegisterInfo>
+<RegisterInfo index="0x7F" name="fll/spread spectrum settings Register 2">
+<Bits range="6:0" field="SSC_MEAN_SET" default="1110001" desc="Spread spectrum triangular frequency modulation wave mean value selector. (Default=1110001) Mean frequency = (ssc_mean_set + 360) * 32768 Hz. ssc_mean_set is supposed to be treated as a signed 2s complement value"/>
+<Bits range="7" field="FLL_SATSEL" default="0" desc="-"/>
+</RegisterInfo>
+<RegisterInfo index="0x80" name="fll/spread spectrum settings Register 3">
+<Bits range="5:0" field="SSC_SPREAD_SET" default="010010" desc="Spread spectrum triangular frequency modulation wave amplitude selection. (default=010010) Modulation amplitude peak-to-peak = (2 * ssc_spread_set) * 32768 Hz"/>
+<Bits range="7:6" field="FLL_ANA_DEC" default="00" desc="-"/>
+</RegisterInfo>
+<RegisterInfo index="0x81" name="Fll stuatus">
+<Bits range="0" field="FLL_DIG_LOCK" default="0" desc="-"/>
+<Bits range="1" field="FLL_CKREADY" default="0" desc="-"/>
+</RegisterInfo>
+<RegisterInfo index="0x82" name="Auto Sequencer settings">
+<Bits range="0" field="MIX_VOL_DIS_2" default="0" desc="Mix volume (digital+analog) disable on sdm2"/>
+<Bits range="1" field="MIX_VOL_DIS_1" default="0" desc="Mix volume (digital+analog) disable on sdm1"/>
+<Bits range="3:2" field="HP_ENDLY_TIM" default="01" desc="Headphone 1 and 2 delay between on enable and doubled for enable enable_d 00 = 100us 01 = 200us(default) 10 = 3000us 11 = 400us"/>
+<Bits range="7:4" field="HP_CT" default="0101" desc="HP current coarse trimming (default=0101)"/>
+</RegisterInfo>
+<RegisterInfo index="0x83" name="Auto Sequencer settings">
+<Bits range="0" field="HP1_NOISE_SWITCH" default="0" desc="Headphone 1 amplifier noise switch, to improve noise in case of zero signal"/>
+<Bits range="1" field="HP2_NOISE_SWITCH" default="0" desc="Headphone 2 amplifier noise switch, to improve noise in case of zero signal"/>
+<Bits range="2" field="HP_DRV_COMP" default="1" desc="Enable for headphone class G stage amplitude response pre-compensation during oversampling elaboration"/>
+<Bits range="3" field="FORCE_HS_EP_SEL" default="0" desc="Bit to force hs/ep selection (see bit 7)"/>
+<Bits range="4" field="HS_EP_SEL" default="0" desc="Select between HP and EP outputs - valid only if force_hs_ep_sel is set"/>
+</RegisterInfo>
+<RegisterInfo index="0x84" name="Reconstruction Filter settings Register">
+<Bits range="3:0" field="REC_CURR" default="0101" desc="Reconstruction filters Buffer current programmability"/>
+<Bits range="4" field="HP1_REC_RZ" default="0" desc="Reconstruction Filter 1, Return to Zero enabling:"/>
+<Bits range="5" field="HP1_REC_RZDLY" default="0" desc="Reconstruction Filter 1, Return to Zero holding time:"/>
+<Bits range="6" field="HP2_REC_RZ" default="0" desc="Reconstruction Filter 2, Return to Zero enabling:"/>
+<Bits range="7" field="HP2_REC_RZDLY" default="0" desc="Reconstruction Filter 2, Return to Zero holding time:"/>
+</RegisterInfo>
+<RegisterInfo index="0x85" name="DWA settings">
+<Bits range="1:0" field="DWA2_MODE" default="01" desc="Selector for DWA operating mode. This selection applies to SDM 2 channel output If tst_dac = 0"/>
+<Bits range="2" field="DWA2_INV_SGN" default="0" desc="Inverts DAC input signal polarity positive to negative. Default 0"/>
+<Bits range="3" field="DWA1_INV_SGN" default="0" desc="Inverts DAC input signal polarity positive to negative. Default 0"/>
+<Bits range="5:4" field="DWA1_MODE" default="01" desc="Selector for DWA operating mode. This selection applies to SDM 1 channel output If tst_dac = 0"/>
+<Bits range="7:6" field="REC_ENDLY_TIM" default="00" desc="Reconstruction filters delay between enable and enable_d"/>
+</RegisterInfo>
+<RegisterInfo index="0x86" name="Volume output setting">
+<Bits range="7:0" field="VOL_OUT_DLY_SEL" default="00000000" desc="Digital-to-analog delay selection for concurrent volume issuing in mixed digital/analog volume control mode (SDM 1 and SDM 2 channels only)"/>
+</RegisterInfo>
+<RegisterInfo index="0x87" name="Automute settings">
+<Bits range="2:0" field="AM_THRESH_PDM" default="010" desc="Selects the audio signal hysteretic double threshold to be used both for automute feature. This selection applies to volume control units 1 and 2, that are corresponding to PDM 1 and PDM 2 channels"/>
+<Bits range="6:4" field="AM_THRESH_SDM" default="010" desc="Selects the audio signal hysteretic double threshold to be used both for automute feature. This selection applies to volume control units 1 and 2, that are corresponding to SDM 1 and SDM 2 channels"/>
+</RegisterInfo>
+<RegisterInfo index="0x88" name="Power Amplifier enable">
+<Bits range="0" field="AUTO_MUTE_SDM1" default="0" desc="sdm1 automute on"/>
+<Bits range="1" field="AUTO_MUTE_SDM2" default="0" desc="sdm2 automute on"/>
+<Bits range="2" field="AUTO_MUTE_PDM1" default="0" desc="pdm1 automute on"/>
+<Bits range="3" field="AUTO_MUTE_PDM2" default="0" desc="pdm2 automute on"/>
+</RegisterInfo>
+<RegisterInfo index="0x89" name="ADC Setting Register 1">
+<Bits range="1:0" field="ADC1_DC_RESTORE_TIM" default="10" desc="ADC 1 dc restore timng"/>
+<Bits range="3:2" field="ADC2_DC_RESTORE_TIM" default="10" desc="ADC 2 dc restore timng"/>
+<Bits range="6:4" field="ADC_F_OFFS_M" default="000" desc="Force the module used in the SC resistor in DC restored block (default=0)"/>
+</RegisterInfo>
+<RegisterInfo index="0x8A" name="ADC Setting Register 2">
+<Bits range="0" field="ADC_SCR_EN" default="1" desc="ADCs = randomizer enable"/>
+<Bits range="1" field="ADC_LTC_DEL" default="0" desc="ADCs = select length of the latch phase of the comparators"/>
+<Bits range="2" field="ADC_CLKOUT_INV" default="0" desc="Select between ZOH and RTZ clock ADCs Output Clock Polarity reversal"/>
+<Bits range="3" field="ADC12_DIV3" default="1" desc="ADCs power consumption"/>
+<Bits range="4" field="MIC_CLK_PD" default="1" desc="ADC2 and ADC1 = Power Down of the phase generator block"/>
+<Bits range="5" field="ADC_CHOPEN" default="1" desc="ADCs chopper enable"/>
+<Bits range="6" field="ADC_SEL_GNDSNS" default="0" desc="Selector between gnd and gndsns"/>
+<Bits range="7" field="ADC_OFF_GAIN_DIS" default="0" desc="Disable automatic procedure in DC restore block"/>
+</RegisterInfo>
+<RegisterInfo index="0x8B" name="ADC Setting Register 3">
+<Bits range="1:0" field="ADC_IS2D" default="00" desc="ADCs Single to Differential OPAMPs Current Control"/>
+<Bits range="3:2" field="ADC_ICOMP" default="00" desc="ADCs Comparator Preamplifier Current Control"/>
+<Bits range="5:4" field="ADC_ICINT2" default="01" desc="ADCs dc restored op-amp current control"/>
+<Bits range="7:6" field="ADC_ICINT1" default="00" desc="ADCs first/second integrator op-amp current control"/>
+</RegisterInfo>
+<RegisterInfo index="0x8C" name="ADC Setting Register 4">
+<Bits range="3:0" field="SD_TUN_I" default="0000" desc="Valid only if sd_tun_force=1b1. Calibration value forced to ADC"/>
+<Bits range="4" field="SD_TUN_FORCE" default="0" desc="Force to use external code for calibration"/>
+</RegisterInfo>
+<RegisterInfo index="0x8D" name="ADC Setting Register 5">
+<Bits range="3:0" field="SD_TUN_RO" default="0000" desc="Sigma delta tuning read output"/>
+</RegisterInfo>
+<RegisterInfo index="0x8E" name="Spare bits">
+<Bits range="6:0" field="SPARE_BITS" default="1000000" desc="spare_bits[6:0] = general purpose bits routed to digital top pins."/>
+</RegisterInfo>
+<RegisterInfo index="0x8F" name="HP Gains">
+<Bits range="3:0" field="HP1_GAIN" default="0000" type="Gain" desc="Headphone 1 amplifier gain setting (only when mixed volume is disabled)">
+<Capbility value="0x0" decibel="+3.2" />
+<Capbility value="0x1" decibel="+2.2" />
+<Capbility value="0x2" decibel="+1.2" />
+<Capbility value="0x3" decibel="+0.2" />
+<Capbility value="0x4" decibel="-0.8" />
+<Capbility value="0x5" decibel="-1.8" />
+<Capbility value="0x6" decibel="-2.8" />
+<Capbility value="0x7" decibel="-3.8" />
+<Capbility value="0x8" decibel="-4.8" />
+<Capbility value="0x9" decibel="-5.8" />
+<Capbility value="0xA" decibel="-6.8" />
+<Capbility value="0xB" decibel="-7.8" />
+<Capbility value="0xC" decibel="-8.8" />
+<Capbility value="0xD" decibel="-9.8" />
+<Capbility value="0xE" decibel="-10.8" />
+<Capbility value="0xF" decibel="-11.8" />
+</Bits>
+<Bits range="7:4" field="HP2_GAIN" default="0000" type="Gain" desc="Headphone 2 amplifier gain setting (only when mixed volume is disabled)">
+<Capbility value="0x0" decibel="+3.2" />
+<Capbility value="0x1" decibel="+2.2" />
+<Capbility value="0x2" decibel="+1.2" />
+<Capbility value="0x3" decibel="+0.2" />
+<Capbility value="0x4" decibel="-0.8" />
+<Capbility value="0x5" decibel="-1.8" />
+<Capbility value="0x6" decibel="-2.8" />
+<Capbility value="0x7" decibel="-3.8" />
+<Capbility value="0x8" decibel="-4.8" />
+<Capbility value="0x9" decibel="-5.8" />
+<Capbility value="0xA" decibel="-6.8" />
+<Capbility value="0xB" decibel="-7.8" />
+<Capbility value="0xC" decibel="-8.8" />
+<Capbility value="0xD" decibel="-9.8" />
+<Capbility value="0xE" decibel="-10.8" />
+<Capbility value="0xF" decibel="-11.8" />
+</Bits>
+</RegisterInfo>
+<RegisterInfo index="0x90" name="ADC Setting Register 6">
+<Bits range="1:0" field="ADC1_OFFCK_DIV" default="00" desc="Select the voltage output of charge pump (if forced)"/>
+<Bits range="2" field="ADC1_OFFCK_DIV_FORCE" default="0" desc="Force the clock of ADC1"/>
+<Bits range="5:4" field="ADC2_OFFCK_DIV" default="11" desc="Select the voltage output of charge pump (if forced)"/>
+<Bits range="6" field="ADC2_OFFCK_DIV_FORCE" default="0" desc="Force the clock of ADC2"/>
+</RegisterInfo>
+<RegisterInfo index="0xA0" name="Identification register (Test)">
+<Bits range="4:0" field="TST_MI_ID" default="00000" desc="-"/>
+<Bits range="7:5" field="TST_GEN_ID" default="000" desc="Generation ID Generation identification number of the Elba IC (typically a new version of IC)"/>
+</RegisterInfo>
+<RegisterInfo index="0xA1" name="Charge pump settings Register 1">
+<Bits range="1:0" field="CP_DRIVER_PROG" default="00" desc="Charge pump power switch drivers strength (FOR DEBUG ONLY) Number of drivers connected in parallel:"/>
+<Bits range="2" field="CP_BYP_MODE" default="0" desc="charge pump bypass mode."/>
+<Bits range="7:3" field="CP_TEST_SEL" default="00000" desc="charge pump number of parallel power switches when BYPASS_MODE signal is high. 00000 = 1 power switch module is enabled (default)"/>
+</RegisterInfo>
+<RegisterInfo index="0xA2" name="Charge pump / PLL settings Register">
+<Bits range="0" field="PLL_EN_STRONGER" default="0" desc="PLL gain (FOR DEBUG ONLY)"/>
+<Bits range="1" field="PLL_EN_TEST" default="0" desc="-"/>
+<Bits range="2" field="A2A_FORCEZ_DIS" default="0" desc="-"/>
+<Bits range="3" field="REC1_A2AEN" default="0" desc="-"/>
+<Bits range="4" field="REC2_A2AEN" default="0" desc="-"/>
+<Bits range="7" field="CP_SHORT_OUT" default="0" desc="charge pump short test"/>
+</RegisterInfo>
+<RegisterInfo index="0xA3" name="ADC settings Register 6">
+<Bits range="1:0" field="ADC12_CLK_DIV_EN" default="00" desc="ADC2 and ADC1 = Enable the Input Clock x2 divider"/>
+<Bits range="3:2" field="ADC_DISOVERLAP" default="00" desc="Sets the DISOVERLAP time between chop phases"/>
+<Bits range="4" field="ADC_CHOP_D" default="1" desc="Sets the delay of the chopping phase to the edge selected by ADC_CHOP_180"/>
+<Bits range="5" field="ADC1_TEST_EN" default="0" desc="ADC1 Test Enable:"/>
+<Bits range="6" field="ADC2_TEST_EN" default="0" desc="ADC2 Test Enable:"/>
+</RegisterInfo>
+<RegisterInfo index="0xA4" name="ADC spare bit">
+<Bits range="7:0" field="ADC_SPARE" default="00000000" desc="NOT USED"/>
+</RegisterInfo>
+<RegisterInfo index="0xA5" name="Pad settings">
+<Bits range="0" field="SDA_PU" default="0" desc="SDA pad pull-up enable"/>
+<Bits range="1" field="SDA_PD" default="0" desc="SDA pad pull-down enable"/>
+<Bits range="2" field="SCL_PU" default="0" desc="SCL pad pull-up enable"/>
+<Bits range="3" field="SCL_PD" default="0" desc="SCL pad pull-down enable"/>
+<Bits range="4" field="MIX_PAD_PU" default="0" desc="Mixed signal (DMICXX) pads pull-up enable"/>
+<Bits range="5" field="MIX_PAD_PD" default="0" desc="Mixed signal (DMICXX) pads pull-down enable"/>
+<Bits range="6" field="DIG_PAD_PU" default="0" desc="Digital pads pull-up enable"/>
+<Bits range="7" field="DIG_PAD_PD" default="0" desc="Digital pads pull-down enable"/>
+</RegisterInfo>
+<RegisterInfo index="0xA6" name="MIC bias setting">
+<Bits range="1:0" field="MSW_MIC12_SEL" default="01" desc="micvdd12 switch selector (valid only if force_msw_sel is 1):"/>
+<Bits range="3:2" field="MSW_MIC34_SEL" default="01" desc="micvdd34 switch selector (valid only if force_msw_sel is 1):"/>
+<Bits range="4" field="FORCE_MSW_SEL" default="0" desc="force mic switch selector (default=0)"/>
+</RegisterInfo>
+<RegisterInfo index="0xA7" name="Reference Group Settings Register 2">
+<Bits range="0" field="REFGEN_ATP_EN" default="0" desc="Reference group test enable."/>
+<Bits range="1" field="REFGEN_FC" default="0" desc="Reference group = fast charge enable"/>
+<Bits range="2" field="SEL_EXTCURR" default="1" desc="Reference current is coming from Pianosa"/>
+</RegisterInfo>
+<RegisterInfo index="0xA8" name="Reference Group Settings Register 2">
+<Bits range="0" field="REC1_TESTEN" default="0" desc="Test Enable:"/>
+<Bits range="1" field="REC2_TESTEN" default="0" desc="Test Enable:"/>
+<Bits range="2" field="BYPASS_PLL_BLK" default="0" desc="PLL bypass (done in digital domain)"/>
+<Bits range="3" field="PLL_LOCK_MASK" default="0" desc="PLL lock mask"/>
+</RegisterInfo>
+<RegisterInfo index="0xA9" name="Digital Test Mode Register 1">
+<Bits range="0" field="TST_DIG2DIG_MULTIBIT" default="0" desc="Enables the loop path redirecting SDM data streams on AUX1 and AUX2 inputs to allow following full digital path for audio signal: I2S + SRCI + VOL + OVS + SDM + DWA + INV DWA + DWS + SRCO + I2S The user must take care that the full path is enabled"/>
+<Bits range="1" field="TST_DIG2DIG_ONEBIT" default="0" desc="Enables the loop path redirecting PDM stereo bitstream on DMIC12 data input to allow following full digital path for audio signal: TDM + SRCI + VOL + OVS + PDM + MIX + DEMIX + DWS + SRCO + TDM The user must take care that the full path is enabled"/>
+<Bits range="2" field="FORCE_SEQ_ADC1_STATE_ADV" default="0" desc="It forces adc 1 power up/down sequencer to advance to next state while not being in idle or in ready mode (autoresetting bit)"/>
+<Bits range="3" field="FORCE_SEQ_ADC2_STATE_ADV" default="0" desc="It forces adc 2 power up/down sequencer to advance to next state while not being in idle or in ready mode (autoresetting bit)"/>
+<Bits range="4" field="FORCE_SEQ_ANA_STATE_ADV" default="0" desc="It forces ana (sdm) sequencer to advance to next state while not being in idle or in ready mode (autoresetting bit)"/>
+<Bits range="7" field="FORCE_SEQ_PU_STATE_ADV" default="0" desc="It forces device power up/down sequencer to advance to next state while not being in idle or in ready mode (autoresetting bit)"/>
+</RegisterInfo>
+<RegisterInfo index="0xAA" name="DAC / DWA Test Settings">
+<Bits range="6:0" field="TST_DATA" default="0000000" desc="Direct DWA data access when DWA test modes (code 11) are selected. Selects 2s complement data value to be transferred to DAC (-32 to +32). Together with tst_idx[4:0] allows for DAC direct access for test and software implementation of randomizing algorit"/>
+<Bits range="7" field="TST_DAC" default="0" desc="Allows reconstruction filter DAC test access. Together with dwa1_mode and dwa2_mode enables different shapes for the selected DAC test"/>
+</RegisterInfo>
+<RegisterInfo index="0xAB" name="DWA Test Settings">
+<Bits range="4:0" field="TST_IDX" default="00000" desc="Direct DWA index access when DWA test modes (code 11) are selected. Selects the first available position in data randomizing process. Together with tst_data[6:0] allows for DAC direct access for test and software implementation of randomizing algorithms"/>
+</RegisterInfo>
+<RegisterInfo index="0xAC" name="PDM/OVS/DWS Test Settings">
+<Bits range="2:0" field="TST_PDM_FOUT_SEL" default="000" desc="Selects PDM sampling frequency when tst_expand_pdm_mode bit is set"/>
+<Bits range="3" field="TST_EXPAND_PDM_MODE" default="0" desc="Allows for more selections of pdm modes beside those selectable through PDM_mode_sel register. When high, tst_pdm_ord_sel and tst_pdm_fout_sel registers can be used for PDM modulator mode configuration"/>
+<Bits range="5:4" field="TST_PDM_ORD_SEL" default="00" desc="Selects PDM modulator order when tst_expand_pdm_mode bit is set"/>
+</RegisterInfo>
+<RegisterInfo index="0xAD" name="Digital Test settings">
+<Bits range="0" field="FORCE6M_UNG" default="0" desc="force 6MHz ungated"/>
+<Bits range="1" field="FORCE12M_UNG" default="0" desc="force 12MHz ungated"/>
+<Bits range="2" field="FORCE24M_UNG" default="0" desc="force 24MHz ungated"/>
+<Bits range="3" field="TST_VOL_OUT_DLY_BYPASS" default="0" desc="Bypass analog volume delay"/>
+</RegisterInfo>
+<RegisterInfo index="0xAE" name="Digital Test Mode Register 2">
+<Bits range="3:0" field="AUTO_MUTE_TO_ANALOG" default="0000" desc="-"/>
+</RegisterInfo>
+<RegisterInfo index="0xAF" name="Digital Test Mode Register 3">
+<Bits range="7:0" field="DIG_TEST_SEL" default="00000000" desc="-"/>
+</RegisterInfo>
+<RegisterInfo index="0xB0" name="Test Setting">
+<Bits range="7:0" field="DIG_TEST_EN" default="00000000" desc="-"/>
+</RegisterInfo>
+<RegisterInfo index="0xB1" name="Sinusoidal Waveform Generator Register 1">
+<Bits range="6:0" field="TST_ATB" default="0000000" desc="-"/>
+<Bits range="7" field="SCAN_ENH" default="0" desc="-"/>
+</RegisterInfo>
+<RegisterInfo index="0xB2" name="Sinusoidal Waveform Generator Register 2">
+<Bits range="1:0" field="SIN1_CFG" default="00" desc="Sinusoidal waveform generator 1 configuration"/>
+<Bits range="3:2" field="SIN2_CFG" default="00" desc="Sinusoidal waveform generator 2 configuration"/>
+<Bits range="4" field="SIN1_PHA_MSB" default="0" desc="Sinusoidal waveform generator 1 phase (9 bit) MSB = pi/192 * pha Range = 0-383"/>
+<Bits range="5" field="SIN2_PHA_MSB" default="0" desc="Sinusoidal waveform generator 2 phase (9 bit) MSB = pi/192 * pha Range = 0-383"/>
+<Bits range="6" field="SIN1_EN" default="1" desc="Sinusoidal Generator 1 Enable:"/>
+<Bits range="7" field="SIN2_EN" default="0" desc="Sinusoidal Generator 2 Enable:"/>
+</RegisterInfo>
+<RegisterInfo index="0xB3" name="Sinusoidal Waveform Generator Register 3">
+<Bits range="3:0" field="SIN1_ATT" default="0000" desc="Sinusoidal waveform generator 1 attenuation = 2^(-att)"/>
+<Bits range="7:4" field="SIN2_ATT" default="0000" desc="Sinusoidal waveform generator 1 attenuation = 2^(-att)"/>
+</RegisterInfo>
+<RegisterInfo index="0xB4" name="Sinusoidal Waveform Generator Register 4">
+<Bits range="7:0" field="SIN1_FRE" default="00000000" desc="Sinusoidal waveform generator 1 frequency (8 bit) = 128e3/384 * (fre + 1) Range = 0-191"/>
+</RegisterInfo>
+<RegisterInfo index="0xB5" name="Sinusoidal Waveform Generator Register 5">
+<Bits range="7:0" field="SIN2_FRE" default="00000000" desc="Sinusoidal waveform generator 2 frequency (8 bit) = 128e3/384 * (fre + 1) Range = 0-191"/>
+</RegisterInfo>
+<RegisterInfo index="0xB6" name="Sinusoidal Waveform Generator Register 6">
+<Bits range="7:0" field="SIN1_PHA_LSB" default="00000000" desc="Sinusoidal waveform generator 1 phase (9 bit) LSBs = pi/192 * pha Range = 0-383"/>
+</RegisterInfo>
+<RegisterInfo index="0xB7" name="Sinusoidal Waveform Generator Register 7">
+<Bits range="7:0" field="SIN2_PHA_LSB" default="00000000" desc="Sinusoidal waveform generator 2 phase (9 bit) LSBs = pi/192 * pha Range = 0-383"/>
+</RegisterInfo>
+<RegisterInfo index="0xB8" name="Sinusoidal Waveform Generator Register 8">
+<Bits range="7:0" field="SIN1_OFS_MSB" default="00000000" desc="Sinusoidal waveform generator 1 offset (16-bit) MSBs"/>
+</RegisterInfo>
+<RegisterInfo index="0xB9" name="Sinusoidal Waveform Generator Register 9">
+<Bits range="7:0" field="SIN1_OFS_LSB" default="00000000" desc="Sinusoidal waveform generator 1 offset (16bit) LSBs"/>
+</RegisterInfo>
+<RegisterInfo index="0xBA" name="Sinusoidal Waveform Generator Register10">
+<Bits range="7:0" field="SIN2_OFS_MSB" default="00000000" desc="Sinusoidal waveform generator 1 offset (16-bit) MSBs"/>
+</RegisterInfo>
+<RegisterInfo index="0xBB" name="IO Test Settings Register Register 1">
+<Bits range="7:0" field="SIN2_OFS_LSB" default="00000000" desc="Sinusoidal waveform generator 1 offset (16bit) LSBs"/>
+</RegisterInfo>
+<RegisterInfo index="0xBC" name="IO Test Settings Register Register 2">
+<Bits range="2:0" field="IO_TST_WR_MSB" default="00000000000" desc="-"/>
+<Bits range="3" field="IO_TST_EN" default="0" desc="-"/>
+<Bits range="5:4" field="IO_TST_MODE" default="00" desc="-"/>
+</RegisterInfo>
+<RegisterInfo index="0xBD" name="IO Test Settings Register Register 5">
+<Bits range="7:0" field="IO_TST_WR_MID" default="00000000" desc="-"/>
+</RegisterInfo>
+<RegisterInfo index="0xBE" name="IO Test Settings Register Register 6">
+<Bits range="2:0" field="IO_TST_RD" default="00000000000" desc="-"/>
+</RegisterInfo>
+<RegisterInfo index="0xBF" name="FLL Settings Register 1">
+<Bits range="7:0" field="IO_TST_RD" default="00000000" desc="-"/>
+</RegisterInfo>
+<RegisterInfo index="0xC0" name="FLL Settings Register 2">
+<Bits range="0" field="FLL_TEST_EN" default="0" desc="FLL Test Enable:"/>
+<Bits range="1" field="FLL_ANA_INV" default="0" desc="UP/DOWN control."/>
+<Bits range="2" field="FLL_FREERUN" default="0" desc="VCO freerun signal"/>
+</RegisterInfo>
+<RegisterInfo index="0xC1" name="Digital test out">
+<Bits range="3:0" field="FLL_TRIM" default="1000" desc="Free-running frequency trimming"/>
+<Bits range="7:4" field="FLL_ICPSEL" default="0101" desc="FLL charge pump current set"/>
+</RegisterInfo>
+<RegisterInfo index="0xC2" name="Memory control">
+<Bits range="7:0" field="DIG_TST_OUT" default="00000000" desc="-"/>
+</RegisterInfo>
+<RegisterInfo index="0xC3" name="Memory control">
+<Bits range="0" field="DWS12_BIST_EN" default="0" desc="-"/>
+<Bits range="1" field="DWS34_BIST_EN" default="0" desc="-"/>
+<Bits range="2" field="OVS12_BIST_EN" default="0" desc="-"/>
+<Bits range="3" field="OVS34_BIST_EN" default="0" desc="-"/>
+</RegisterInfo>
+<RegisterInfo index="0xC4" name="Memory control">
+<Bits range="1:0" field="RAM_WTC" default="01" desc="-"/>
+<Bits range="3:2" field="RAM_RTC" default="00" desc="-"/>
+<Bits range="4" field="RAM_ROWCOLSWITCH" default="0" desc="-"/>
+</RegisterInfo>
+<RegisterInfo index="0xC5" name="-">
+<Bits range="0" field="RAM_FINISH" default="0" desc="1 ok = AND of the 7 ram_finish"/>
+<Bits range="1" field="RAM_BISTFAIL" default="0" desc="0 ok = OR of the 7 bistfail"/>
+<Bits range="2" field="RAM_ERRMAP" default="0" desc="0 ok = OR of the 7 errmap"/>
+<Bits range="3" field="DWS12_INIT_OK" default="0" desc="1 ok"/>
+<Bits range="4" field="DWS34_INIT_OK" default="0" desc="1 ok"/>
+<Bits range="5" field="OV12S_INIT_OK" default="0" desc="1 ok"/>
+<Bits range="6" field="OVS34_INIT_OK" default="0" desc="1 ok"/>
+</RegisterInfo>
+</Component>
+<Component identifier="PMIC">
+<RegisterInfo index="0x48" name="Class D Register 1">
+<Bits range="7:4" field="PDM_DDLY" default="0000" desc="This field introduces a programalbe delay in 1ns increments on the PDM_SDA data line before it is sampled internally by the selected PDM_CLK edge"/>
+<Bits range="3" field="RSVD" default="0" desc="Reserved"/>
+<Bits range="2" field="PONZA_LR_POL" default="0" desc="This field selects the sampling edge of the PDM_CLK used by the 88PM822 to sample the PDM_SDA stream."/>
+<Bits range="1" field="CLASSD_DIG_EN" default="0" desc="0 = disable audio class D, 1 = enable ponza class D."/>
+<Bits range="0" field="CLASSD_OC" default="0" desc="This field latches any over current event flagged by the class D amplifier, provided the CLASSD_EN field is set."/>
+</RegisterInfo>
+<RegisterInfo index="0x61" name="Class D Speaker Driver Register 1">
+<Bits range="7:6" field="RSVD" default="11" desc="Reserved"/>
+<Bits range="5:4" field="PWM_MODE" default="00" desc="PWM mode"/>
+<Bits range="3:2" field="DIG_GAIN" default="11" type="Gain" desc="Digital gain.">
+<Capbility value="0x00" decibel="0" />
+<Capbility value="0x01" decibel="0" />
+<Capbility value="0x02" decibel="3.52" />
+<Capbility value="0x03" decibel="6" />
+</Bits>
+<Bits range="1" field="SSC_EN" default="1" desc="Spr. Spec. control 1-enable 0-disable."/>
+<Bits range="0" field="RFU_MUTE" default="0" desc="This field have two choice play path and mute path."/>
+</RegisterInfo>
+<RegisterInfo index="0x62" name="Class D Speaker Driver Register 2">
+<Bits range="7" field="RSVD" default="0" desc="Reserved"/>
+<Bits range="6:5" field="ANA_GAIN" default="01" type="Gain" desc="Analog gain">
+<Capbility value="0x00" decibel="-3" />
+<Capbility value="0x01" decibel="0" />
+<Capbility value="0x02" decibel="3" />
+<Capbility value="0x03" decibel="6" />
+</Bits>
+<Bits range="4:2" field="AGC_RLS_TIME" default="100" desc="rls time."/>
+<Bits range="1" field="AGC_MSK_TIME" default="0" desc="msk time. default 20us"/>
+<Bits range="0" field="AGC_EN" default="0" desc="This field decide whether enable Automatic Gain Calibration."/>
+</RegisterInfo>
+<RegisterInfo index="0x63" name="Class D Speaker Driver Register 3">
+<Bits range="7:2" field="AGC_VOLUME" default="0" desc="AGC output volume (mixed DAC and AGC gain control)"/>
+<Bits range="1:0" field="RSVD" default="0" desc="Reserved"/>
+</RegisterInfo>
+</Component>
+</MarvellAudioBasicElements>
diff --git a/peripheral/audio/audio_xml/codec/ibiza2plus/audio_path_config_codec.xml b/peripheral/audio/audio_xml/codec/ibiza2plus/audio_path_config_codec.xml
new file mode 100644
index 0000000..a8f26cc
--- /dev/null
+++ b/peripheral/audio/audio_xml/codec/ibiza2plus/audio_path_config_codec.xml
@@ -0,0 +1,675 @@
+<!-- Copyright (C) 2005. Marvell International Ltd -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<?xml version="1.0" encoding="utf-8"?>
+
+<!-- -->
+<!-- Marvell Audio Path Description -->
+<!-- -->
+<!-- Device : 88PM818 -->
+<!-- Version : A0 -->
+<!-- Location : Pavia - Italy -->
+<!-- Author : Alberto Ressia -->
+<!-- email : aressia@marvell.com -->
+<!-- Date : 2/19/2014 -->
+<!-- Time : 17:01:35 -->
+<!-- Updated by APSE-SH : 2/21/2014 -->
+<!-- -->
+
+<MarvellAudioPathConfiguration>
+ <AudioPath identifier="Earpiece">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="I2C" identifier="CODEC">
+ <!-- Register 0x60 0x03 -->
+ <Register field="OVS_CH2_EN" value="1"/>
+ <Register field="OVS_CH1_EN" value="1"/>
+ <!-- Register 0x7B 0x59 -->
+ <Register field="CP_VOLTAGE_FORCE" value="1"/>
+ <Register field="CP_VOLTAGE" value="10"/>
+ <!-- Register 0x36 0x30 -->
+ <Register field="SDM_CH_SEL" value="01100"/>
+ <!-- Register 0x6A 0x0 -->
+ <Register field="DRE_EN" value="0"/>
+ <!-- Register 0x8E 0x39 -->
+ <Register field="SPARE_BITS" value="00111001"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE">
+ <AudioComponent control_protocol="I2C" identifier="CODEC">
+ <!-- Register 0x64 0x00 -->
+ <Register field="VOL_SEL_1" value="0"/>
+ <!-- Register 0x6A 0x1 -->
+ <Register field="DRE_EN" value="1"/>
+ <!-- Register 0x60 0x00 -->
+ <Register field="OVS_CH2_EN" value="0"/>
+ <Register field="OVS_CH1_EN" value="0"/>
+ <!-- Register 0x36 0x00 -->
+ <Register field="SDM_CH_SEL" value="0"/>
+ <!-- Register 0x7B 0x45 -->
+ <Register field="CP_VOLTAGE" value="01"/>
+ <Register field="CP_VOLTAGE_FORCE" value="0"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="Headphone">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="I2C" identifier="CODEC">
+ <!-- Register 0x60 0x03 -->
+ <Register field="OVS_CH2_EN" misc="stereo_headset" value="1"/>
+ <Register field="OVS_CH1_EN" misc="stereo_headset" value="1"/>
+ <Register field="OVS_CH2_EN" misc="mono_headset_l" value="1"/>
+ <Register field="OVS_CH1_EN" misc="mono_headset_l" value="0"/>
+ <Register field="OVS_CH2_EN" misc="mono_headset_r" value="0"/>
+ <Register field="OVS_CH1_EN" misc="mono_headset_r" value="1"/>
+ <!-- Register 0x7B 0x59 -->
+ <Register field="CP_VOLTAGE_FORCE" value="1"/>
+ <Register field="CP_VOLTAGE" value="10"/>
+ <!-- Register 0x36 0x6C -->
+ <Register field="SDM_CH_SEL" value="11011"/>
+ <!-- Register 0x8E 0x39 -->
+ <Register field="SPARE_BITS" value="00111001"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE">
+ <AudioComponent control_protocol="I2C" identifier="CODEC">
+ <!-- Register 0x64 0x00 -->
+ <Register field="VOL_SEL_1" value="0"/>
+ <!-- Register 0x65 0x00 -->
+ <Register field="VOL_SEL_2" value="0"/>
+ <!-- Register 0x60 0x00 -->
+ <Register field="OVS_CH2_EN" value="0"/>
+ <Register field="OVS_CH1_EN" value="0"/>
+ <!-- Register 0x36 0x00 -->
+ <Register field="SDM_CH_SEL" value="0"/>
+ <!-- Register 0x7B 0x45 -->
+ <Register field="CP_VOLTAGE" value="01"/>
+ <Register field="CP_VOLTAGE_FORCE" value="0"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="Speaker">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="I2C" identifier="CODEC">
+ <!-- Register 0x60 0x04 -->
+ <Register field="OVS_CH3_EN" value="1"/>
+ <!-- Register 0x32 0x64 -->
+ <Register field="PDMDAT_HIZ_DLY_SEL" value="011"/>
+ <Register field="PDMDAT_DLY_SEL" value="001"/>
+ <!-- Register 0x31 0x02 -->
+ <Register field="PDMCLK_DLY_SEL" value="000"/>
+ <Register field="PDM_MODE_SEL" value="010"/>
+ <!-- Register 0x30 0xC1 -->
+ <Register field="PDM_PAD_MODE" value="11"/>
+ <Register field="PDM1_DIS_MODE" value="00"/>
+ <Register field="PDM1_EN" value="1"/>
+ </AudioComponent>
+ <AudioComponent control_protocol="I2C" identifier="PMIC">
+ <!-- Register 0x48 0xf6 -->
+ <Register field="PDM_DDLY" value="0"/>
+ <Register field="PONZA_LR_POL" value="1"/>
+ <Register field="CLASSD_DIG_EN" value="1"/>
+ <Register field="CLASSD_OC" value="0"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE">
+ <AudioComponent control_protocol="I2C" identifier="PMIC">
+ <!-- Register 0x61 0x00 -->
+ <Register field="DIG_GAIN" value="0"/>
+ <!-- Register 0x62 0x00 -->
+ <Register field="ANA_GAIN" value="0"/>
+ <!-- Register 0x48 0x00 -->
+ <Register field="PDM_DDLY" value="0"/>
+ <Register field="PONZA_LR_POL" value="0"/>
+ <Register field="CLASSD_DIG_EN" value="0"/>
+ <Register field="CLASSD_OC" value="0"/>
+ </AudioComponent>
+ <AudioComponent control_protocol="I2C" identifier="CODEC">
+ <!-- Register 0x66 0x00 -->
+ <Register field="VOL_SEL_3" value="0"/>
+ <!-- Register 0x30 0x02 -->
+ <Register field="PDM_PAD_MODE" value="00"/>
+ <Register field="PDM1_DIS_MODE" value="01"/>
+ <Register field="PDM1_EN" value="0"/>
+ <!-- Register 0x31 0x70 -->
+ <Register field="PDMCLK_DLY_SEL" value="111"/>
+ <Register field="PDM_MODE_SEL" value="000"/>
+ <!-- Register 0x32 0x00 -->
+ <Register field="PDMDAT_HIZ_DLY_SEL" value="000"/>
+ <Register field="PDMDAT_DLY_SEL" value="000"/>
+ <!-- Register 0x60 0x00 -->
+ <Register field="OVS_CH3_EN" value="0"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="StereoSpeaker">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="I2C" identifier="CODEC">
+ <!-- Register 0x60 0x0C -->
+ <Register field="OVS_CH4_EN" value="1"/>
+ <Register field="OVS_CH3_EN" value="1"/>
+ <!-- Register 0x32 0x64 -->
+ <Register field="PDMDAT_HIZ_DLY_SEL" value="011"/>
+ <Register field="PDMDAT_DLY_SEL" value="001"/>
+ <!-- Register 0x31 0x22 -->
+ <Register field="PDMCLK_DLY_SEL" value="000"/>
+ <Register field="PDM_MODE_SEL" value="010"/>
+ <!-- Register 0x30 0xC9 -->
+ <Register field="PDM_PAD_MODE" value="11"/>
+ <Register field="PDM2_DIS_MODE" value="00"/>
+ <Register field="PDM2_EN" value="1"/>
+ <Register field="PDM1_DIS_MODE" value="00"/>
+ <Register field="PDM1_EN" value="1"/>
+ </AudioComponent>
+ <AudioComponent control_protocol="I2C" identifier="PMIC">
+ <!-- Register 0x48 0xf2 -->
+ <Register field="PDM_DDLY" value="0"/>
+ <Register field="PONZA_LR_POL" value="1"/>
+ <Register field="CLASSD_DIG_EN" value="1"/>
+ <Register field="CLASSD_OC" value="0"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE">
+ <AudioComponent control_protocol="I2C" identifier="PMIC">
+ <!-- Register 0x61 0x00 -->
+ <Register field="DIG_GAIN" value="0"/>
+ <!-- Register 0x62 0x00 -->
+ <Register field="ANA_GAIN" value="0"/>
+ <!-- Register 0x48 0x00 -->
+ <Register field="PDM_DDLY" value="0"/>
+ <Register field="PONZA_LR_POL" value="0"/>
+ <Register field="CLASSD_DIG_EN" value="0"/>
+ <Register field="CLASSD_OC" value="0"/>
+ </AudioComponent>
+ <AudioComponent control_protocol="I2C" identifier="CODEC">
+ <!-- Register 0x66 0x00 -->
+ <Register field="VOL_SEL_3" value="0"/>
+ <!-- Register 0x67 0x00 -->
+ <Register field="VOL_SEL_4" value="0"/>
+ <!-- Register 0x30 0x12 -->
+ <Register field="PDM_PAD_MODE" value="00"/>
+ <Register field="PDM2_DIS_MODE" value="01"/>
+ <Register field="PDM2_EN" value="0"/>
+ <Register field="PDM1_DIS_MODE" value="01"/>
+ <Register field="PDM1_EN" value="0"/>
+ <!-- Register 0x31 0x70 -->
+ <Register field="PDMCLK_DLY_SEL" value="111"/>
+ <Register field="PDM_MODE_SEL" value="000"/>
+ <!-- Register 0x32 0x00 -->
+ <Register field="PDMDAT_HIZ_DLY_SEL" value="000"/>
+ <Register field="PDMDAT_DLY_SEL" value="000"/>
+ <!-- Register 0x60 0x00 -->
+ <Register field="OVS_CH4_EN" value="0"/>
+ <Register field="OVS_CH3_EN" value="0"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="HsMic">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="I2C" identifier="CODEC">
+ <!-- Register 0x24 0x11 -->
+ <Register field="DWS2_IN_SEL" value="001"/>
+ <Register field="DWS1_IN_SEL" value="001"/>
+ <!-- Register 0x8A 0x20 -->
+ <Register field="ADC_OFF_GAIN_DIS" value="0"/>
+ <Register field="ADC_SEL_GNDSNS" value="0"/>
+ <Register field="ADC_CHOPEN" value="1"/>
+ <Register field="MIC_CLK_PD" value="0"/>
+ <Register field="ADC12_DIV3" value="0"/>
+ <Register field="ADC_CLKOUT_INV" value="0"/>
+ <Register field="ADC_LTC_DEL" value="0"/>
+ <Register field="ADC_SCR_EN" value="0"/>
+ <!-- Register 0x8B 0x54 -->
+ <Register field="ADC_ICINT1" value="10"/>
+ <Register field="ADC_ICINT2" value="10"/>
+ <Register field="ADC_ICOMP" value="10"/>
+ <Register field="ADC_IS2D" value="00"/>
+ <!-- Register 0x20 0x0A -->
+ <Register field="MIC1_ANA_IN_SEL" misc="dc_single_ended" value="1010"/>
+ <Register field="MIC1_ANA_IN_SEL" misc="ac_single_ended" value="1100"/>
+ <Register field="MIC1_ANA_IN_SEL" misc="ac_quasi_diff" value="1101"/>
+ <!-- Register 0x60 0x30 -->
+ <Register field="DWS_CH2_EN" value="1"/>
+ <Register field="DWS_CH1_EN" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE">
+ <AudioComponent control_protocol="I2C" identifier="CODEC">
+ <!-- Register 0x21 0x00 -->
+ <Register field="MIC1_ANA_GAIN" value="0"/>
+ <!-- Register 0x22 0x00 -->
+ <Register field="MIC2_ANA_GAIN" value="0"/>
+ <!-- Register 0x60 0x00 -->
+ <Register field="DWS_CH2_EN" value="0"/>
+ <Register field="DWS_CH1_EN" value="0"/>
+ <!-- Register 0x20 0x00 -->
+ <Register field="MIC1_ANA_IN_SEL" value="0"/>
+ <!-- Register 0x24 0x00 -->
+ <Register field="DWS2_IN_SEL" value="0"/>
+ <Register field="DWS1_IN_SEL" value="0"/>
+ <!-- Register 0x8A 0x39 -->
+ <Register field="ADC_OFF_GAIN_DIS" value="0"/>
+ <Register field="ADC_SEL_GNDSNS" value="0"/>
+ <Register field="ADC_CHOPEN" value="1"/>
+ <Register field="MIC_CLK_PD" value="1"/>
+ <Register field="ADC12_DIV3" value="1"/>
+ <Register field="ADC_CLKOUT_INV" value="0"/>
+ <Register field="ADC_LTC_DEL" value="0"/>
+ <Register field="ADC_SCR_EN" value="1"/>
+ <!-- Register 0x8B 0x10 -->
+ <Register field="ADC_ICINT1" value="00"/>
+ <Register field="ADC_ICINT2" value="01"/>
+ <Register field="ADC_ICOMP" value="00"/>
+ <Register field="ADC_IS2D" value="00"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="AMic1">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="I2C" identifier="CODEC">
+ <!-- Register 0x24 0x11 -->
+ <Register field="DWS2_IN_SEL" value="001"/>
+ <Register field="DWS1_IN_SEL" value="001"/>
+ <!-- Register 0x8A 0x20 -->
+ <Register field="ADC_OFF_GAIN_DIS" value="0"/>
+ <Register field="ADC_SEL_GNDSNS" value="0"/>
+ <Register field="ADC_CHOPEN" value="1"/>
+ <Register field="MIC_CLK_PD" value="0"/>
+ <Register field="ADC12_DIV3" value="0"/>
+ <Register field="ADC_CLKOUT_INV" value="0"/>
+ <Register field="ADC_LTC_DEL" value="0"/>
+ <Register field="ADC_SCR_EN" value="0"/>
+ <!-- Register 0x8B 0x54 -->
+ <Register field="ADC_ICINT1" value="10"/>
+ <Register field="ADC_ICINT2" value="10"/>
+ <Register field="ADC_ICOMP" value="10"/>
+ <Register field="ADC_IS2D" value="00"/>
+ <!-- Register 0x20 0x02 -->
+ <Register field="MIC1_ANA_IN_SEL" misc="dc_single_ended" value="0010"/>
+ <Register field="MIC1_ANA_IN_SEL" misc="ac_single_ended" value="0100"/>
+ <Register field="MIC1_ANA_IN_SEL" misc="ac_diff" value="1110"/>
+ <Register field="MIC1_ANA_IN_SEL" misc="ac_quasi_diff" value="1110"/>
+ <Register field="MIC1_ANA_IN_SEL" misc="dc_diff" value="1111"/>
+ <Register field="MIC1_ANA_IN_SEL" misc="dc_quasi_diff" value="1111"/>
+ <!-- Register 0x60 0x30 -->
+ <Register field="DWS_CH2_EN" value="1"/>
+ <Register field="DWS_CH1_EN" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE">
+ <AudioComponent control_protocol="I2C" identifier="CODEC">
+ <!-- Register 0x21 0x00 -->
+ <Register field="MIC1_ANA_GAIN" value="0"/>
+ <!-- Register 0x60 0x00 -->
+ <Register field="DWS_CH2_EN" value="0"/>
+ <Register field="DWS_CH1_EN" value="0"/>
+ <!-- Register 0x20 0x00 -->
+ <Register field="MIC1_ANA_IN_SEL" value="0"/>
+ <!-- Register 0x24 0x00 -->
+ <Register field="DWS2_IN_SEL" value="0"/>
+ <Register field="DWS1_IN_SEL" value="0"/>
+ <!-- Register 0x8A 0x39 -->
+ <Register field="ADC_OFF_GAIN_DIS" value="0"/>
+ <Register field="ADC_SEL_GNDSNS" value="0"/>
+ <Register field="ADC_CHOPEN" value="1"/>
+ <Register field="MIC_CLK_PD" value="1"/>
+ <Register field="ADC12_DIV3" value="1"/>
+ <Register field="ADC_CLKOUT_INV" value="0"/>
+ <Register field="ADC_LTC_DEL" value="0"/>
+ <Register field="ADC_SCR_EN" value="1"/>
+ <!-- Register 0x8B 0x10 -->
+ <Register field="ADC_ICINT1" value="00"/>
+ <Register field="ADC_ICINT2" value="01"/>
+ <Register field="ADC_ICOMP" value="00"/>
+ <Register field="ADC_IS2D" value="00"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="AMic2">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="I2C" identifier="CODEC">
+ <!-- Register 0x24 0x22 -->
+ <Register field="DWS2_IN_SEL" value="010"/>
+ <Register field="DWS1_IN_SEL" value="010"/>
+ <!-- Register 0x8A 0x20 -->
+ <Register field="ADC_OFF_GAIN_DIS" value="0"/>
+ <Register field="ADC_SEL_GNDSNS" value="0"/>
+ <Register field="ADC_CHOPEN" value="1"/>
+ <Register field="MIC_CLK_PD" value="0"/>
+ <Register field="ADC12_DIV3" value="0"/>
+ <Register field="ADC_CLKOUT_INV" value="0"/>
+ <Register field="ADC_LTC_DEL" value="0"/>
+ <Register field="ADC_SCR_EN" value="0"/>
+ <!-- Register 0x8B 0x54 -->
+ <Register field="ADC_ICINT1" value="10"/>
+ <Register field="ADC_ICINT2" value="10"/>
+ <Register field="ADC_ICOMP" value="10"/>
+ <Register field="ADC_IS2D" value="00"/>
+ <!-- Register 0x20 0x20 -->
+ <Register field="MIC2_ANA_IN_SEL" misc="dc_single_ended" value="0010"/>
+ <Register field="MIC2_ANA_IN_SEL" misc="ac_single_ended" value="0100"/>
+ <Register field="MIC2_ANA_IN_SEL" misc="ac_diff" value="1110"/>
+ <Register field="MIC2_ANA_IN_SEL" misc="ac_quasi_diff" value="1110"/>
+ <Register field="MIC2_ANA_IN_SEL" misc="dc_diff" value="1111"/>
+ <Register field="MIC2_ANA_IN_SEL" misc="dc_quasi_diff" value="1111"/>
+ <!-- Register 0x60 0x30 -->
+ <Register field="DWS_CH2_EN" value="1"/>
+ <Register field="DWS_CH1_EN" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE">
+ <AudioComponent control_protocol="I2C" identifier="CODEC">
+ <!-- Register 0x22 0x00 -->
+ <Register field="MIC2_ANA_GAIN" value="0"/>
+ <!-- Register 0x60 0x00 -->
+ <Register field="DWS_CH2_EN" value="0"/>
+ <Register field="DWS_CH1_EN" value="0"/>
+ <!-- Register 0x20 0x00 -->
+ <Register field="MIC2_ANA_IN_SEL" value="0"/>
+ <!-- Register 0x24 0x00 -->
+ <Register field="DWS2_IN_SEL" value="0"/>
+ <Register field="DWS1_IN_SEL" value="0"/>
+ <!-- Register 0x8A 0x39 -->
+ <Register field="ADC_OFF_GAIN_DIS" value="0"/>
+ <Register field="ADC_SEL_GNDSNS" value="0"/>
+ <Register field="ADC_CHOPEN" value="1"/>
+ <Register field="MIC_CLK_PD" value="1"/>
+ <Register field="ADC12_DIV3" value="1"/>
+ <Register field="ADC_CLKOUT_INV" value="0"/>
+ <Register field="ADC_LTC_DEL" value="0"/>
+ <Register field="ADC_SCR_EN" value="1"/>
+ <!-- Register 0x8B 0x10 -->
+ <Register field="ADC_ICINT1" value="00"/>
+ <Register field="ADC_ICINT2" value="01"/>
+ <Register field="ADC_ICOMP" value="00"/>
+ <Register field="ADC_IS2D" value="00"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="DualAMic">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="I2C" identifier="CODEC">
+ <!-- Register 0x24 0x21 -->
+ <Register field="DWS2_IN_SEL" value="010"/>
+ <Register field="DWS1_IN_SEL" value="001"/>
+ <!-- Register 0x8A 0x20 -->
+ <Register field="ADC_OFF_GAIN_DIS" value="0"/>
+ <Register field="ADC_SEL_GNDSNS" value="0"/>
+ <Register field="ADC_CHOPEN" value="1"/>
+ <Register field="MIC_CLK_PD" value="0"/>
+ <Register field="ADC12_DIV3" value="0"/>
+ <Register field="ADC_CLKOUT_INV" value="0"/>
+ <Register field="ADC_LTC_DEL" value="0"/>
+ <Register field="ADC_SCR_EN" value="0"/>
+ <!-- Register 0x8B 0x54 -->
+ <Register field="ADC_ICINT1" value="10"/>
+ <Register field="ADC_ICINT2" value="10"/>
+ <Register field="ADC_ICOMP" value="10"/>
+ <Register field="ADC_IS2D" value="00"/>
+ <!-- Register 0x20 0x22 -->
+ <Register field="MIC1_ANA_IN_SEL" misc="dc_single_ended" value="0010"/>
+ <Register field="MIC1_ANA_IN_SEL" misc="ac_single_ended" value="0100"/>
+ <Register field="MIC1_ANA_IN_SEL" misc="ac_diff" value="1110"/>
+ <Register field="MIC1_ANA_IN_SEL" misc="ac_quasi_diff" value="1110"/>
+ <Register field="MIC1_ANA_IN_SEL" misc="dc_diff" value="1111"/>
+ <Register field="MIC1_ANA_IN_SEL" misc="dc_quasi_diff" value="1111"/>
+ <Register field="MIC2_ANA_IN_SEL" misc="dc_single_ended" value="0010"/>
+ <Register field="MIC2_ANA_IN_SEL" misc="ac_single_ended" value="0100"/>
+ <Register field="MIC2_ANA_IN_SEL" misc="ac_diff" value="1110"/>
+ <Register field="MIC2_ANA_IN_SEL" misc="ac_quasi_diff" value="1110"/>
+ <Register field="MIC2_ANA_IN_SEL" misc="dc_diff" value="1111"/>
+ <Register field="MIC2_ANA_IN_SEL" misc="dc_quasi_diff" value="1111"/>
+ <!-- Register 0x60 0x30 -->
+ <Register field="DWS_CH2_EN" value="1"/>
+ <Register field="DWS_CH1_EN" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE">
+ <AudioComponent control_protocol="I2C" identifier="CODEC">
+ <!-- Register 0x21 0x00 -->
+ <Register field="MIC1_ANA_GAIN" value="0"/>
+ <!-- Register 0x22 0x00 -->
+ <Register field="MIC2_ANA_GAIN" value="0"/>
+ <!-- Register 0x60 0x00 -->
+ <Register field="DWS_CH2_EN" value="0"/>
+ <Register field="DWS_CH1_EN" value="0"/>
+ <!-- Register 0x20 0x00 -->
+ <Register field="MIC2_ANA_IN_SEL" value="0"/>
+ <Register field="MIC1_ANA_IN_SEL" value="0"/>
+ <!-- Register 0x24 0x00 -->
+ <Register field="DWS2_IN_SEL" value="0"/>
+ <Register field="DWS1_IN_SEL" value="0"/>
+ <!-- Register 0x8A 0x39 -->
+ <Register field="ADC_OFF_GAIN_DIS" value="0"/>
+ <Register field="ADC_SEL_GNDSNS" value="0"/>
+ <Register field="ADC_CHOPEN" value="1"/>
+ <Register field="MIC_CLK_PD" value="1"/>
+ <Register field="ADC12_DIV3" value="1"/>
+ <Register field="ADC_CLKOUT_INV" value="0"/>
+ <Register field="ADC_LTC_DEL" value="0"/>
+ <Register field="ADC_SCR_EN" value="1"/>
+ <!-- Register 0x8B 0x10 -->
+ <Register field="ADC_ICINT1" value="00"/>
+ <Register field="ADC_ICINT2" value="01"/>
+ <Register field="ADC_ICOMP" value="00"/>
+ <Register field="ADC_IS2D" value="00"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="DMic1">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="I2C" identifier="CODEC">
+ <!-- Register 0x23 0x30 -->
+ <Register field="DMIC12_FREQ_SEL" value="11"/>
+ <!-- Register 0x24 0x44 -->
+ <Register field="DWS2_IN_SEL" value="100"/>
+ <Register field="DWS1_IN_SEL" value="100"/>
+ <!-- Register 0x60 0x30 -->
+ <Register field="DWS_CH2_EN" value="1"/>
+ <Register field="DWS_CH1_EN" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE">
+ <AudioComponent control_protocol="I2C" identifier="CODEC">
+ <!-- Register 0x60 0x00 -->
+ <Register field="DWS_CH2_EN" value="0"/>
+ <Register field="DWS_CH1_EN" value="0"/>
+ <!-- Register 0x24 0x00 -->
+ <Register field="DWS2_IN_SEL" value="0"/>
+ <Register field="DWS1_IN_SEL" value="0"/>
+ <!-- Register 0x23 0x00 -->
+ <Register field="DMIC12_FREQ_SEL" value="0"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="DMic2">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="I2C" identifier="CODEC">
+ <!-- Register 0x23 0x30 -->
+ <Register field="DMIC12_FREQ_SEL" value="11"/>
+ <!-- Register 0x24 0x55 -->
+ <Register field="DWS2_IN_SEL" value="101"/>
+ <Register field="DWS1_IN_SEL" value="101"/>
+ <!-- Register 0x60 0x30 -->
+ <Register field="DWS_CH2_EN" value="1"/>
+ <Register field="DWS_CH1_EN" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE">
+ <AudioComponent control_protocol="I2C" identifier="CODEC">
+ <!-- Register 0x60 0x00 -->
+ <Register field="DWS_CH2_EN" value="0"/>
+ <Register field="DWS_CH1_EN" value="0"/>
+ <!-- Register 0x24 0x00 -->
+ <Register field="DWS2_IN_SEL" value="0"/>
+ <Register field="DWS1_IN_SEL" value="0"/>
+ <!-- Register 0x23 0x00 -->
+ <Register field="DMIC12_FREQ_SEL" value="0"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="DualDMic1">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="I2C" identifier="CODEC">
+ <!-- Register 0x23 0x30 -->
+ <Register field="DMIC12_FREQ_SEL" value="11"/>
+ <!-- Register 0x24 0x45 -->
+ <Register field="DWS2_IN_SEL" value="100"/>
+ <Register field="DWS1_IN_SEL" value="101"/>
+ <!-- Register 0x60 0x30 -->
+ <Register field="DWS_CH2_EN" value="1"/>
+ <Register field="DWS_CH1_EN" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE">
+ <AudioComponent control_protocol="I2C" identifier="CODEC">
+ <!-- Register 0x60 0x00 -->
+ <Register field="DWS_CH2_EN" value="0"/>
+ <Register field="DWS_CH1_EN" value="0"/>
+ <!-- Register 0x24 0x00 -->
+ <Register field="DWS2_IN_SEL" value="0"/>
+ <Register field="DWS1_IN_SEL" value="0"/>
+ <!-- Register 0x23 0x00 -->
+ <Register field="DMIC12_FREQ_SEL" value="0"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="LoopbackSDM">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="I2C" identifier="CODEC">
+ <!-- Register 0x70 0x40 -->
+ <Register field="AUTO_SEQ_PU_DIS" value="0"/>
+ <Register field="PLL_EN" value="0"/>
+ <Register field="PLL_SELCKEXT" value="0"/>
+ <Register field="LDO_P_EN" value="0"/>
+ <Register field="REFGEN_EN_BG" value="0"/>
+ <Register field="REFGEN_BG_CURR_REF_EN" value="0"/>
+ <Register field="REFGEN_FC_TIM" value="01"/>
+ <!-- Register 0xA9 0x01 -->
+ <Register field="TST_DIG2DIG_MULTIBIT" value="1"/>
+ <Register field="TST_DIG2DIG_ONEBIT" value="0"/>
+ <!-- Register 0x24 0x21 -->
+ <Register field="DWS2_IN_SEL" value="010"/>
+ <Register field="DWS1_IN_SEL" value="001"/>
+ <!-- Register 0x60 0x30 -->
+ <Register field="DWS_CH2_EN" value="1"/>
+ <Register field="DWS_CH1_EN" value="1"/>
+ <!-- Register 0x6A 0x0 -->
+ <Register field="DRE_EN" value="0"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE">
+ <AudioComponent control_protocol="I2C" identifier="CODEC">
+ <!-- Register 0x6A 0x1 -->
+ <Register field="DRE_EN" value="1"/>
+ <!-- Register 0x60 0x00 -->
+ <Register field="DWS_CH2_EN" value="0"/>
+ <Register field="DWS_CH1_EN" value="0"/>
+ <!-- Register 0x24 0x00 -->
+ <Register field="DWS2_IN_SEL" value="0"/>
+ <Register field="DWS1_IN_SEL" value="0"/>
+ <!-- Register 0x70 0x40 -->
+ <Register field="AUTO_SEQ_PU_DIS" value="0"/>
+ <Register field="PLL_EN" value="0"/>
+ <Register field="PLL_SELCKEXT" value="0"/>
+ <Register field="LDO_P_EN" value="0"/>
+ <Register field="REFGEN_EN_BG" value="0"/>
+ <Register field="REFGEN_BG_CURR_REF_EN" value="0"/>
+ <Register field="REFGEN_FC_TIM" value="01"/>
+ <!-- Register 0xA9 0x00 -->
+ <Register field="TST_DIG2DIG_MULTIBIT" value="0"/>
+ <Register field="TST_DIG2DIG_ONEBIT" value="0"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="LoopbackPDM">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="I2C" identifier="CODEC">
+ <!-- Register 0x70 0x40 -->
+ <Register field="AUTO_SEQ_PU_DIS" value="0"/>
+ <Register field="PLL_EN" value="0"/>
+ <Register field="PLL_SELCKEXT" value="0"/>
+ <Register field="LDO_P_EN" value="0"/>
+ <Register field="REFGEN_EN_BG" value="0"/>
+ <Register field="REFGEN_BG_CURR_REF_EN" value="0"/>
+ <Register field="REFGEN_FC_TIM" value="01"/>
+ <!-- Register 0xA9 0x02 -->
+ <Register field="TST_DIG2DIG_MULTIBIT" value="0"/>
+ <Register field="TST_DIG2DIG_ONEBIT" value="1"/>
+ <!-- Register 0x23 0x30 -->
+ <Register field="DMIC12_FREQ_SEL" value="000"/>
+ <!-- Register 0x24 0x45 -->
+ <Register field="DWS2_IN_SEL" value="100"/>
+ <Register field="DWS1_IN_SEL" value="101"/>
+ <!-- Register 0x60 0x30 -->
+ <Register field="DWS_CH2_EN" value="1"/>
+ <Register field="DWS_CH1_EN" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE">
+ <AudioComponent control_protocol="I2C" identifier="CODEC">
+ <!-- Register 0x60 0x00 -->
+ <Register field="DWS_CH2_EN" value="0"/>
+ <Register field="DWS_CH1_EN" value="0"/>
+ <!-- Register 0x24 0x00 -->
+ <Register field="DWS2_IN_SEL" value="0"/>
+ <Register field="DWS1_IN_SEL" value="0"/>
+ <!-- Register 0x23 0x00 -->
+ <Register field="DMIC12_FREQ_SEL" value="0"/>
+ <!-- Register 0x70 0x40 -->
+ <Register field="AUTO_SEQ_PU_DIS" value="0"/>
+ <Register field="PLL_EN" value="0"/>
+ <Register field="PLL_SELCKEXT" value="0"/>
+ <Register field="LDO_P_EN" value="0"/>
+ <Register field="REFGEN_EN_BG" value="0"/>
+ <Register field="REFGEN_BG_CURR_REF_EN" value="0"/>
+ <Register field="REFGEN_FC_TIM" value="01"/>
+ <!-- Register 0xA9 0x00 -->
+ <Register field="TST_DIG2DIG_MULTIBIT" value="0"/>
+ <Register field="TST_DIG2DIG_ONEBIT" value="0"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath alias="AMic1" identifier="AMic1(Speaker Mode)"/>
+ <AudioPath alias="AMic2" identifier="AMic2(Speaker Mode)"/>
+ <AudioPath alias="DualAMic" identifier="DualAMic(Speaker Mode)"/>
+ <AudioPath alias="AMic1" identifier="AMic1(Headphone Mode)"/>
+ <AudioPath alias="AMic2" identifier="AMic2(Headphone Mode)"/>
+ <AudioPath alias="DualAMic" identifier="DualAMic(Headphone Mode)"/>
+</MarvellAudioPathConfiguration>
diff --git a/peripheral/audio/audio_xml/iap140.mk b/peripheral/audio/audio_xml/iap140.mk
new file mode 100755
index 0000000..23f58f4
--- /dev/null
+++ b/peripheral/audio/audio_xml/iap140.mk
@@ -0,0 +1,35 @@
+# Copyright (C) 2015 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+XML_LOCAL_PATH := hardware/bsp/marvell/peripheral/audio/audio_xml
+XML_TARGET_PATH := system/etc
+
+define copy-path
+$(foreach file,$(subst \
+ $(XML_LOCAL_PATH)/$(1)/,,$(wildcard \
+ $(addprefix $(XML_LOCAL_PATH)/$(1)/,$(2)))), \
+ $(XML_LOCAL_PATH)/$(1)/$(file):$(XML_TARGET_PATH)/$(file))
+endef
+
+# APU #
+APU_DIR := apu/map-lite
+PRODUCT_COPY_FILES += $(call copy-path,$(APU_DIR),*)
+
+# CODEC #
+CODEC_DIR := codec/ibiza2plus
+PRODUCT_COPY_FILES += $(call copy-path,$(CODEC_DIR),*)
+
+# PLATFORM #
+PLATFORM_DIR := platform/ulc
+PRODUCT_COPY_FILES += $(call copy-path,$(PLATFORM_DIR),*)
diff --git a/peripheral/audio/audio_xml/platform/ulc/audio_gain_config.xml b/peripheral/audio/audio_xml/platform/ulc/audio_gain_config.xml
new file mode 100644
index 0000000..7d2e653
--- /dev/null
+++ b/peripheral/audio/audio_xml/platform/ulc/audio_gain_config.xml
@@ -0,0 +1,1067 @@
+
+<!-- Copyright (C) 2005. Marvell International Ltd -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<?xml version="1.0"?>
+<MarvellAudioGainConfiguration>
+ <AudioPath identifier="HiFi1PlaybackToSpeaker" component="PMIC">
+ <Gain name="DIG_GAIN">
+ <Value volume="100">0x03</Value>
+ </Gain>
+ <Gain name="ANA_GAIN">
+ <Value volume="100">0x03</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="HiFi1PlaybackToSpeaker" component="CODEC">
+ <Gain name="VOL_SEL_3">
+ <Value volume="100">0xb6</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="HiFi1PlaybackToSpeaker" component="APU">
+ <Gain name="D1IN4_2INMIX[7:0]">
+ <Value volume="100">0x80</Value>
+ </Gain>
+ <Gain name="DSP1_DAC_LEFT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ <Gain name="DSP1_DAC_RIGHT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="HiFi1PlaybackToStereoSpeaker" component="PMIC">
+ <Gain name="DIG_GAIN">
+ <Value volume="100">0x03</Value>
+ </Gain>
+ <Gain name="ANA_GAIN">
+ <Value volume="100">0x03</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="HiFi1PlaybackToStereoSpeaker" component="CODEC">
+ <Gain name="VOL_SEL_4">
+ <Value volume="100">0xb6</Value>
+ </Gain>
+ <Gain name="VOL_SEL_3">
+ <Value volume="100">0xb6</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="HiFi1PlaybackToStereoSpeaker" component="APU">
+ <Gain name="D1IN4_2INMIX[7:0]">
+ <Value volume="100">0x80</Value>
+ </Gain>
+ <Gain name="DSP1_DAC_LEFT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ <Gain name="DSP1_DAC_RIGHT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="HiFi1PlaybackToHeadphone" component="CODEC">
+ <Gain name="VOL_SEL_2">
+ <Value volume="100">0xb6</Value>
+ </Gain>
+ <Gain name="VOL_SEL_1">
+ <Value volume="100">0xb6</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="HiFi1PlaybackToHeadphone" component="APU">
+ <Gain name="D1IN4_2INMIX[7:0]">
+ <Value volume="100">0x80</Value>
+ </Gain>
+ <Gain name="DSP1_DAC_LEFT_VOL[7:0]">
+ <Value volume="100">0xeb</Value>
+ </Gain>
+ <Gain name="DSP1_DAC_RIGHT_VOL[7:0]">
+ <Value volume="100">0xeb</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="HiFi1PlaybackToSpeakerAndHeadphone" component="PMIC">
+ <Gain name="DIG_GAIN">
+ <Value volume="100">0x03</Value>
+ </Gain>
+ <Gain name="ANA_GAIN">
+ <Value volume="100">0x03</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="HiFi1PlaybackToSpeakerAndHeadphone" component="CODEC">
+ <Gain name="VOL_SEL_3">
+ <Value volume="100">0xb6</Value>
+ </Gain>
+ <Gain name="VOL_SEL_2">
+ <Value volume="100">0xb6</Value>
+ </Gain>
+ <Gain name="VOL_SEL_1">
+ <Value volume="100">0xb6</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="HiFi1PlaybackToSpeakerAndHeadphone" component="APU">
+ <Gain name="D1IN4_2INMIX[7:0]">
+ <Value volume="100">0x80</Value>
+ </Gain>
+ <Gain name="DSP1_DAC_LEFT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ <Gain name="DSP1_DAC_RIGHT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="HiFi1PlaybackToStereoSpeakerAndHeadphone" component="PMIC">
+ <Gain name="DIG_GAIN">
+ <Value volume="100">0x03</Value>
+ </Gain>
+ <Gain name="ANA_GAIN">
+ <Value volume="100">0x03</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="HiFi1PlaybackToStereoSpeakerAndHeadphone" component="CODEC">
+ <Gain name="VOL_SEL_4">
+ <Value volume="100">0xb6</Value>
+ </Gain>
+ <Gain name="VOL_SEL_3">
+ <Value volume="100">0xb6</Value>
+ </Gain>
+ <Gain name="VOL_SEL_2">
+ <Value volume="100">0xb6</Value>
+ </Gain>
+ <Gain name="VOL_SEL_1">
+ <Value volume="100">0xb6</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="HiFi1PlaybackToStereoSpeakerAndHeadphone" component="APU">
+ <Gain name="D1IN4_2INMIX[7:0]">
+ <Value volume="100">0x80</Value>
+ </Gain>
+ <Gain name="DSP1_DAC_LEFT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ <Gain name="DSP1_DAC_RIGHT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="HiFi1PlaybackToEarpiece" component="CODEC">
+ <Gain name="VOL_SEL_1">
+ <Value volume="100">0xb6</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="HiFi1PlaybackToEarpiece" component="APU">
+ <Gain name="D1IN4_2INMIX[7:0]">
+ <Value volume="100">0x80</Value>
+ </Gain>
+ <Gain name="DSP1_DAC_LEFT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ <Gain name="DSP1_DAC_RIGHT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="HiFi1PlaybackToBTNB" component="APU">
+ <Gain name="D1IN4_2INMIX[7:0]">
+ <Value volume="100">0x80</Value>
+ </Gain>
+ <Gain name="DSP1_DAC_LEFT_VOL[7:0]">
+ <Value volume="100">0xeb</Value>
+ </Gain>
+ <Gain name="DSP1_DAC_RIGHT_VOL[7:0]">
+ <Value volume="100">0xeb</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="HiFi1RecordFromAMic1" component="CODEC">
+ <Gain name="MIC1_ANA_GAIN">
+ <Value volume="100">0x16</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="HiFi1RecordFromAMic1" component="APU">
+ <Gain name="D1AIN1_2INMIX[7:0]" >
+ <Value volume="100">0x80</Value>
+ </Gain>
+ <Gain name="ADC_LEFT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ <Gain name="ADC_RIGHT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="HiFi1RecordFromAMic2" component="CODEC">
+ <Gain name="MIC2_ANA_GAIN">
+ <Value volume="100">0x16</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="HiFi1RecordFromAMic2" component="APU">
+ <Gain name="D1AIN1_2INMIX[7:0]" >
+ <Value volume="100">0x80</Value>
+ </Gain>
+ <Gain name="ADC_LEFT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ <Gain name="ADC_RIGHT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="HiFi1RecordFromDualAMic" component="CODEC">
+ <Gain name="MIC1_ANA_GAIN">
+ <Value volume="100">0x16</Value>
+ </Gain>
+ <Gain name="MIC2_ANA_GAIN">
+ <Value volume="100">0x16</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="HiFi1RecordFromDualAMic" component="APU">
+ <Gain name="D1AIN1_2INMIX[7:0]" >
+ <Value volume="100">0x80</Value>
+ </Gain>
+ <Gain name="ADC_LEFT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ <Gain name="ADC_RIGHT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="HiFi1RecordFromHsMic" component="CODEC">
+ <Gain name="MIC1_ANA_GAIN">
+ <Value volume="100">0x16</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="HiFi1RecordFromHsMic" component="APU">
+ <Gain name="D1AIN1_2INMIX[7:0]" >
+ <Value volume="100">0x80</Value>
+ </Gain>
+ <Gain name="ADC_LEFT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ <Gain name="ADC_RIGHT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="HiFi1RecordFromBTMicNB" component="APU">
+ <Gain name="D1AIN1_2INMIX[7:0]" >
+ <Value volume="100">0x80</Value>
+ </Gain>
+ <Gain name="ADC_LEFT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ <Gain name="ADC_RIGHT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="HiFi1RecordFromLoopbackSDM" component="APU">
+ <Gain name="D1AIN1_2INMIX[7:0]" >
+ <Value volume="100">0x80</Value>
+ </Gain>
+ <Gain name="ADC_LEFT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ <Gain name="ADC_RIGHT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="HiFi1RecordFromLoopbackPDM" component="APU">
+ <Gain name="D1AIN1_2INMIX[7:0]" >
+ <Value volume="100">0x80</Value>
+ </Gain>
+ <Gain name="ADC_LEFT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ <Gain name="ADC_RIGHT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="VoicePlaybackToSpeaker" component="MODEM">
+ <Gain name="DIGITAL_GAIN_NB">
+ <Value volume="0">0x20</Value>
+ <Value volume="20">0x22</Value>
+ <Value volume="40">0x24</Value>
+ <Value volume="60">0x26</Value>
+ <Value volume="80">0x28</Value>
+ <Value volume="100">0x2a</Value>
+ </Gain>
+ <Gain name="DIGITAL_GAIN_EXTRA">
+ <Value volume="0">0x23</Value>
+ <Value volume="20">0x25</Value>
+ <Value volume="40">0x27</Value>
+ <Value volume="60">0x29</Value>
+ <Value volume="80">0x2b</Value>
+ <Value volume="100">0x2d</Value>
+ </Gain>
+ <Gain name="DIGITAL_GAIN_WB">
+ <Value volume="0">0x20</Value>
+ <Value volume="20">0x22</Value>
+ <Value volume="40">0x24</Value>
+ <Value volume="60">0x26</Value>
+ <Value volume="80">0x28</Value>
+ <Value volume="100">0x2a</Value>
+ </Gain>
+ <Gain name="DIGITAL_GAIN_EXTRA_WB">
+ <Value volume="0">0x23</Value>
+ <Value volume="20">0x25</Value>
+ <Value volume="40">0x27</Value>
+ <Value volume="60">0x29</Value>
+ <Value volume="80">0x2b</Value>
+ <Value volume="100">0x2d</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="VoicePlaybackToSpeaker" component="PMIC">
+ <Gain name="DIG_GAIN">
+ <Value volume="100">0x03</Value>
+ </Gain>
+ <Gain name="ANA_GAIN">
+ <Value volume="100">0x03</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="VoicePlaybackToSpeaker" component="CODEC">
+ <Gain name="VOL_SEL_3">
+ <Value volume="100">0xb6</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="VoicePlaybackToSpeaker" component="APU">
+ <Gain name="D1IN2_2INMIX[7:0]">
+ <Value volume="100">0x80</Value>
+ </Gain>
+ <Gain name="DSP1_DAC_LEFT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ <Gain name="DSP1_DAC_RIGHT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="VoicePlaybackToStereoSpeaker" component="MODEM">
+ <Gain name="DIGITAL_GAIN_NB">
+ <Value volume="0">0x20</Value>
+ <Value volume="20">0x22</Value>
+ <Value volume="40">0x24</Value>
+ <Value volume="60">0x26</Value>
+ <Value volume="80">0x28</Value>
+ <Value volume="100">0x2a</Value>
+ </Gain>
+ <Gain name="DIGITAL_GAIN_EXTRA">
+ <Value volume="0">0x23</Value>
+ <Value volume="20">0x25</Value>
+ <Value volume="40">0x27</Value>
+ <Value volume="60">0x29</Value>
+ <Value volume="80">0x2b</Value>
+ <Value volume="100">0x2d</Value>
+ </Gain>
+ <Gain name="DIGITAL_GAIN_WB">
+ <Value volume="0">0x20</Value>
+ <Value volume="20">0x22</Value>
+ <Value volume="40">0x24</Value>
+ <Value volume="60">0x26</Value>
+ <Value volume="80">0x28</Value>
+ <Value volume="100">0x2a</Value>
+ </Gain>
+ <Gain name="DIGITAL_GAIN_EXTRA_WB">
+ <Value volume="0">0x23</Value>
+ <Value volume="20">0x25</Value>
+ <Value volume="40">0x27</Value>
+ <Value volume="60">0x29</Value>
+ <Value volume="80">0x2b</Value>
+ <Value volume="100">0x2d</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="VoicePlaybackToStereoSpeaker" component="PMIC">
+ <Gain name="DIG_GAIN">
+ <Value volume="100">0x03</Value>
+ </Gain>
+ <Gain name="ANA_GAIN">
+ <Value volume="100">0x03</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="VoicePlaybackToStereoSpeaker" component="CODEC">
+ <Gain name="VOL_SEL_4">
+ <Value volume="100">0xb6</Value>
+ </Gain>
+ <Gain name="VOL_SEL_3">
+ <Value volume="100">0xb6</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="VoicePlaybackToStereoSpeaker" component="APU">
+ <Gain name="D1IN2_2INMIX[7:0]">
+ <Value volume="100">0x80</Value>
+ </Gain>
+ <Gain name="DSP1_DAC_LEFT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ <Gain name="DSP1_DAC_RIGHT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="VoicePlaybackToHeadphone" component="MODEM">
+ <Gain name="DIGITAL_GAIN_NB">
+ <Value volume="0">0x16</Value>
+ <Value volume="20">0x1a</Value>
+ <Value volume="40">0x1e</Value>
+ <Value volume="60">0x22</Value>
+ <Value volume="80">0x25</Value>
+ <Value volume="100">0x2a</Value>
+ </Gain>
+ <Gain name="DIGITAL_GAIN_WB">
+ <Value volume="0">0x16</Value>
+ <Value volume="20">0x1a</Value>
+ <Value volume="40">0x1e</Value>
+ <Value volume="60">0x22</Value>
+ <Value volume="80">0x25</Value>
+ <Value volume="100">0x2a</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="VoicePlaybackToHeadphone" component="CODEC">
+ <Gain name="VOL_SEL_2">
+ <Value volume="100">0xb6</Value>
+ </Gain>
+ <Gain name="VOL_SEL_1">
+ <Value volume="100">0xb6</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="VoicePlaybackToHeadphone" component="APU">
+ <Gain name="D1IN2_2INMIX[7:0]">
+ <Value volume="100">0x80</Value>
+ </Gain>
+ <Gain name="DSP1_DAC_LEFT_VOL[7:0]">
+ <Value volume="100">0xeb</Value>
+ </Gain>
+ <Gain name="DSP1_DAC_RIGHT_VOL[7:0]">
+ <Value volume="100">0xeb</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="VoicePlaybackToTty" component="MODEM">
+ <Gain name="DIGITAL_GAIN_NB">
+ <Value volume="0">0x20</Value>
+ <Value volume="20">0x22</Value>
+ <Value volume="40">0x24</Value>
+ <Value volume="60">0x26</Value>
+ <Value volume="80">0x28</Value>
+ <Value volume="100">0x2a</Value>
+ </Gain>
+ <Gain name="DIGITAL_GAIN_WB">
+ <Value volume="0">0x20</Value>
+ <Value volume="20">0x22</Value>
+ <Value volume="40">0x24</Value>
+ <Value volume="60">0x26</Value>
+ <Value volume="80">0x28</Value>
+ <Value volume="100">0x2a</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="VoicePlaybackToTty" component="CODEC">
+ <Gain name="VOL_SEL_2">
+ <Value volume="100">0xb6</Value>
+ </Gain>
+ <Gain name="VOL_SEL_1">
+ <Value volume="100">0xb6</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="VoicePlaybackToTty" component="APU">
+ <Gain name="D1IN2_2INMIX[7:0]">
+ <Value volume="100">0x80</Value>
+ </Gain>
+ <Gain name="DSP1_DAC_LEFT_VOL[7:0]">
+ <Value volume="100">0xeb</Value>
+ </Gain>
+ <Gain name="DSP1_DAC_RIGHT_VOL[7:0]">
+ <Value volume="100">0xeb</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="VoicePlaybackToEarpiece" component="MODEM">
+ <Gain name="DIGITAL_GAIN_NB">
+ <Value volume="0">0x20</Value>
+ <Value volume="20">0x22</Value>
+ <Value volume="40">0x24</Value>
+ <Value volume="60">0x26</Value>
+ <Value volume="80">0x28</Value>
+ <Value volume="100">0x2a</Value>
+ </Gain>
+ <Gain name="DIGITAL_GAIN_EXTRA">
+ <Value volume="0">0x23</Value>
+ <Value volume="20">0x25</Value>
+ <Value volume="40">0x27</Value>
+ <Value volume="60">0x29</Value>
+ <Value volume="80">0x2b</Value>
+ <Value volume="100">0x2d</Value>
+ </Gain>
+ <Gain name="DIGITAL_GAIN_WB">
+ <Value volume="0">0x20</Value>
+ <Value volume="20">0x22</Value>
+ <Value volume="40">0x24</Value>
+ <Value volume="60">0x26</Value>
+ <Value volume="80">0x28</Value>
+ <Value volume="100">0x2a</Value>
+ </Gain>
+ <Gain name="DIGITAL_GAIN_EXTRA_WB">
+ <Value volume="0">0x23</Value>
+ <Value volume="20">0x25</Value>
+ <Value volume="40">0x27</Value>
+ <Value volume="60">0x29</Value>
+ <Value volume="80">0x2b</Value>
+ <Value volume="100">0x2d</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="VoicePlaybackToEarpiece" component="CODEC">
+ <Gain name="VOL_SEL_1">
+ <Value volume="100">0xb6</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="VoicePlaybackToEarpiece" component="APU">
+ <Gain name="D1IN2_2INMIX[7:0]">
+ <Value volume="100">0x80</Value>
+ </Gain>
+ <Gain name="DSP1_DAC_LEFT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ <Gain name="DSP1_DAC_RIGHT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="VoicePlaybackToBTNB" component="MODEM">
+ <Gain name="DIGITAL_GAIN_NB">
+ <Value volume="0">0x20</Value>
+ <Value volume="20">0x22</Value>
+ <Value volume="40">0x24</Value>
+ <Value volume="60">0x26</Value>
+ <Value volume="80">0x28</Value>
+ <Value volume="100">0x2a</Value>
+ </Gain>
+ <Gain name="DIGITAL_GAIN_WB">
+ <Value volume="0">0x20</Value>
+ <Value volume="20">0x22</Value>
+ <Value volume="40">0x24</Value>
+ <Value volume="60">0x26</Value>
+ <Value volume="80">0x28</Value>
+ <Value volume="100">0x2a</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="VoicePlaybackToBTNB" component="APU">
+ <Gain name="D1IN2_2INMIX[7:0]">
+ <Value volume="100">0x80</Value>
+ </Gain>
+ <Gain name="DSP1_DAC_LEFT_VOL[7:0]">
+ <Value volume="100">0xeb</Value>
+ </Gain>
+ <Gain name="DSP1_DAC_RIGHT_VOL[7:0]">
+ <Value volume="100">0xeb</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="VoiceRecordFromAMic1" component="MODEM">
+ <Gain name="DIGITAL_GAIN_NB">
+ <Value volume="100">0x2f</Value>
+ </Gain>
+ <Gain name="DIGITAL_GAIN_EXTRA">
+ <Value volume="100">0x2f</Value>
+ </Gain>
+ <Gain name="DIGITAL_GAIN_WB">
+ <Value volume="100">0x2f</Value>
+ </Gain>
+ <Gain name="DIGITAL_GAIN_EXTRA_WB">
+ <Value volume="100">0x2f</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="VoiceRecordFromAMic1" component="CODEC">
+ <Gain name="MIC1_ANA_GAIN">
+ <Value volume="100">0x2f</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="VoiceRecordFromAMic1" component="APU">
+ <Gain name="D1AIN1_2INMIX[7:0]" >
+ <Value volume="100">0x80</Value>
+ </Gain>
+ <Gain name="ADC_LEFT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ <Gain name="ADC_RIGHT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="VoiceRecordFromAMic2" component="MODEM">
+ <Gain name="DIGITAL_GAIN_NB">
+ <Value volume="100">0x2f</Value>
+ </Gain>
+ <Gain name="DIGITAL_GAIN_EXTRA">
+ <Value volume="100">0x2f</Value>
+ </Gain>
+ <Gain name="DIGITAL_GAIN_WB">
+ <Value volume="100">0x2f</Value>
+ </Gain>
+ <Gain name="DIGITAL_GAIN_EXTRA_WB">
+ <Value volume="100">0x2f</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="VoiceRecordFromAMic2" component="CODEC">
+ <Gain name="MIC2_ANA_GAIN">
+ <Value volume="100">0x16</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="VoiceRecordFromAMic2" component="APU">
+ <Gain name="D1AIN1_2INMIX[7:0]" >
+ <Value volume="100">0x80</Value>
+ </Gain>
+ <Gain name="ADC_LEFT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ <Gain name="ADC_RIGHT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="VoiceRecordFromDualAMic" component="MODEM">
+ <Gain name="DIGITAL_GAIN_NB">
+ <Value volume="100">0x2f</Value>
+ </Gain>
+ <Gain name="DIGITAL_GAIN_EXTRA">
+ <Value volume="100">0x2f</Value>
+ </Gain>
+ <Gain name="DIGITAL_GAIN_WB">
+ <Value volume="100">0x2f</Value>
+ </Gain>
+ <Gain name="DIGITAL_GAIN_EXTRA_WB">
+ <Value volume="100">0x2f</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="VoiceRecordFromDualAMic" component="CODEC">
+ <Gain name="MIC1_ANA_GAIN">
+ <Value volume="100">0x16</Value>
+ </Gain>
+ <Gain name="MIC2_ANA_GAIN">
+ <Value volume="100">0x16</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="VoiceRecordFromDualAMic" component="APU">
+ <Gain name="D1AIN1_2INMIX[7:0]" >
+ <Value volume="100">0x80</Value>
+ </Gain>
+ <Gain name="ADC_LEFT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ <Gain name="ADC_RIGHT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="VoiceRecordFromHsMic" component="MODEM">
+ <Gain name="DIGITAL_GAIN_NB">
+ <Value volume="100">0x2f</Value>
+ </Gain>
+ <Gain name="DIGITAL_GAIN_WB">
+ <Value volume="100">0x2f</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="VoiceRecordFromHsMic" component="CODEC">
+ <Gain name="MIC1_ANA_GAIN">
+ <Value volume="100">0x16</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="VoiceRecordFromHsMic" component="APU">
+ <Gain name="D1AIN1_2INMIX[7:0]" >
+ <Value volume="100">0x80</Value>
+ </Gain>
+ <Gain name="ADC_LEFT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ <Gain name="ADC_RIGHT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="VoiceRecordFromTty" component="MODEM">
+ <Gain name="DIGITAL_GAIN_NB">
+ <Value volume="100">0x2f</Value>
+ </Gain>
+ <Gain name="DIGITAL_GAIN_WB">
+ <Value volume="100">0x2f</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="VoiceRecordFromTty" component="CODEC">
+ <Gain name="MIC1_ANA_GAIN">
+ <Value volume="100">0x10</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="VoiceRecordFromTty" component="APU">
+ <Gain name="D1AIN1_2INMIX[7:0]" >
+ <Value volume="100">0x80</Value>
+ </Gain>
+ <Gain name="ADC_LEFT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ <Gain name="ADC_RIGHT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="VoiceRecordFromBTMicNB" component="MODEM">
+ <Gain name="DIGITAL_GAIN_NB">
+ <Value volume="100">0x2f</Value>
+ </Gain>
+ <Gain name="DIGITAL_GAIN_WB">
+ <Value volume="100">0x2f</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="VoiceRecordFromBTMicNB" component="APU">
+ <Gain name="D1AIN1_2INMIX[7:0]" >
+ <Value volume="100">0x80</Value>
+ </Gain>
+ <Gain name="ADC_LEFT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ <Gain name="ADC_RIGHT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="HfpPlaybackToSpeaker" component="PMIC">
+ <Gain name="DIG_GAIN">
+ <Value volume="100">0x03</Value>
+ </Gain>
+ <Gain name="ANA_GAIN">
+ <Value volume="100">0x03</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="HfpPlaybackToSpeaker" component="CODEC">
+ <Gain name="VOL_SEL_3">
+ <Value volume="100">0xb6</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="HfpPlaybackToSpeaker" component="APU">
+ <Gain name="D1IN3_2INMIX[7:0]">
+ <Value volume="0">0x00</Value>
+ <Value volume="6">0x01</Value>
+ <Value volume="13">0x02</Value>
+ <Value volume="20">0x03</Value>
+ <Value volume="26">0x04</Value>
+ <Value volume="33">0x06</Value>
+ <Value volume="40">0x09</Value>
+ <Value volume="46">0x0d</Value>
+ <Value volume="53">0x12</Value>
+ <Value volume="60">0x19</Value>
+ <Value volume="66">0x24</Value>
+ <Value volume="73">0x32</Value>
+ <Value volume="80">0x48</Value>
+ <Value volume="86">0x5a</Value>
+ <Value volume="93">0x72</Value>
+ <Value volume="100">0x80</Value>
+ </Gain>
+ <Gain name="DSP1_DAC_LEFT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ <Gain name="DSP1_DAC_RIGHT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="HfpRecordFromAMic2" component="CODEC">
+ <Gain name="MIC2_ANA_GAIN">
+ <Value volume="100">0x16</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="HfpRecordFromAMic2" component="APU">
+ <Gain name="D1AIN1_2INMIX[7:0]" >
+ <Value volume="100">0x80</Value>
+ </Gain>
+ <Gain name="ADC_LEFT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ <Gain name="ADC_RIGHT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="HfpRecordFromAMic1" component="CODEC">
+ <Gain name="MIC1_ANA_GAIN">
+ <Value volume="100">0x16</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="HfpRecordFromAMic1" component="APU">
+ <Gain name="D1AIN1_2INMIX[7:0]" >
+ <Value volume="100">0x80</Value>
+ </Gain>
+ <Gain name="ADC_LEFT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ <Gain name="ADC_RIGHT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="FMPlaybackI2SToSpeaker" component="PMIC">
+ <Gain name="DIG_GAIN">
+ <Value volume="100">0x03</Value>
+ </Gain>
+ <Gain name="ANA_GAIN">
+ <Value volume="100">0x03</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="FMPlaybackI2SToSpeaker" component="CODEC">
+ <Gain name="VOL_SEL_3">
+ <Value volume="100">0xb6</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="FMPlaybackI2SToSpeaker" component="APU">
+ <Gain name="D1IN3_2INMIX[7:0]">
+ <Value volume="0">0x00</Value>
+ <Value volume="6">0x01</Value>
+ <Value volume="13">0x02</Value>
+ <Value volume="20">0x03</Value>
+ <Value volume="26">0x04</Value>
+ <Value volume="33">0x06</Value>
+ <Value volume="40">0x09</Value>
+ <Value volume="46">0x0d</Value>
+ <Value volume="53">0x12</Value>
+ <Value volume="60">0x19</Value>
+ <Value volume="66">0x24</Value>
+ <Value volume="73">0x32</Value>
+ <Value volume="80">0x48</Value>
+ <Value volume="86">0x5a</Value>
+ <Value volume="93">0x72</Value>
+ <Value volume="100">0x80</Value>
+ </Gain>
+ <Gain name="DSP1_DAC_LEFT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ <Gain name="DSP1_DAC_RIGHT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="FMPlaybackI2SToStereoSpeaker" component="PMIC">
+ <Gain name="DIG_GAIN">
+ <Value volume="100">0x03</Value>
+ </Gain>
+ <Gain name="ANA_GAIN">
+ <Value volume="100">0x03</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="FMPlaybackI2SToStereoSpeaker" component="CODEC">
+ <Gain name="VOL_SEL_4">
+ <Value volume="100">0xb6</Value>
+ </Gain>
+ <Gain name="VOL_SEL_3">
+ <Value volume="100">0xb6</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="FMPlaybackI2SToStereoSpeaker" component="APU">
+ <Gain name="D1IN3_2INMIX[7:0]">
+ <Value volume="0">0x00</Value>
+ <Value volume="6">0x01</Value>
+ <Value volume="13">0x02</Value>
+ <Value volume="20">0x03</Value>
+ <Value volume="26">0x04</Value>
+ <Value volume="33">0x06</Value>
+ <Value volume="40">0x09</Value>
+ <Value volume="46">0x0d</Value>
+ <Value volume="53">0x12</Value>
+ <Value volume="60">0x19</Value>
+ <Value volume="66">0x24</Value>
+ <Value volume="73">0x32</Value>
+ <Value volume="80">0x48</Value>
+ <Value volume="86">0x5a</Value>
+ <Value volume="93">0x72</Value>
+ <Value volume="100">0x80</Value>
+ </Gain>
+ <Gain name="DSP1_DAC_LEFT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ <Gain name="DSP1_DAC_RIGHT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="FMPlaybackI2SToHeadphone" component="CODEC">
+ <Gain name="VOL_SEL_2">
+ <Value volume="100">0xb6</Value>
+ </Gain>
+ <Gain name="VOL_SEL_1">
+ <Value volume="100">0xb6</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="FMPlaybackI2SToHeadphone" component="APU">
+ <Gain name="D1IN3_2INMIX[7:0]">
+ <Value volume="0">0x00</Value>
+ <Value volume="6">0x01</Value>
+ <Value volume="13">0x02</Value>
+ <Value volume="20">0x03</Value>
+ <Value volume="26">0x04</Value>
+ <Value volume="33">0x06</Value>
+ <Value volume="40">0x09</Value>
+ <Value volume="46">0x0d</Value>
+ <Value volume="53">0x12</Value>
+ <Value volume="60">0x19</Value>
+ <Value volume="66">0x24</Value>
+ <Value volume="73">0x32</Value>
+ <Value volume="80">0x48</Value>
+ <Value volume="86">0x5a</Value>
+ <Value volume="93">0x72</Value>
+ <Value volume="100">0x80</Value>
+ </Gain>
+ <Gain name="DSP1_DAC_LEFT_VOL[7:0]">
+ <Value volume="100">0xeb</Value>
+ </Gain>
+ <Gain name="DSP1_DAC_RIGHT_VOL[7:0]">
+ <Value volume="100">0xeb</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="HiFi1RecognitionRecordFromDualAMic" component="CODEC">
+ <Gain name="MIC1_ANA_GAIN">
+ <Value volume="100">0x16</Value>
+ </Gain>
+ <Gain name="MIC2_ANA_GAIN">
+ <Value volume="100">0x16</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="HiFi1RecognitionRecordFromDualAMic" component="APU">
+ <Gain name="D1AIN1_2INMIX[7:0]" >
+ <Value volume="100">0x80</Value>
+ </Gain>
+ <Gain name="ADC_LEFT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ <Gain name="ADC_RIGHT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="VoipRecordFromDualAMic" component="CODEC">
+ <Gain name="MIC1_ANA_GAIN">
+ <Value volume="100">0x16</Value>
+ </Gain>
+ <Gain name="MIC2_ANA_GAIN">
+ <Value volume="100">0x16</Value>
+ </Gain>
+ </AudioPath>
+ <AudioPath identifier="VoipRecordFromDualAMic" component="APU">
+ <Gain name="D1AIN1_2INMIX[7:0]" >
+ <Value volume="100">0x80</Value>
+ </Gain>
+ <Gain name="ADC_LEFT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ <Gain name="ADC_RIGHT_VOL[7:0]">
+ <Value volume="100">0xff</Value>
+ </Gain>
+ </AudioPath>
+
+ <AudioPath alias="HiFi1PlaybackToSpeaker" identifier="VoipPlaybackToSpeaker" component="PMIC"/>
+ <AudioPath alias="HiFi1PlaybackToSpeaker" identifier="VoipPlaybackToSpeaker" component="CODEC"/>
+ <AudioPath alias="HiFi1PlaybackToSpeaker" identifier="VoipPlaybackToSpeaker" component="APU"/>
+ <AudioPath alias="HiFi1PlaybackToStereoSpeaker" identifier="VoipPlaybackToStereoSpeaker" component="PMIC"/>
+ <AudioPath alias="HiFi1PlaybackToStereoSpeaker" identifier="VoipPlaybackToStereoSpeaker" component="CODEC"/>
+ <AudioPath alias="HiFi1PlaybackToStereoSpeaker" identifier="VoipPlaybackToStereoSpeaker" component="APU"/>
+ <AudioPath alias="HiFi1PlaybackToHeadphone" identifier="VoipPlaybackToHeadphone" component="CODEC"/>
+ <AudioPath alias="HiFi1PlaybackToHeadphone" identifier="VoipPlaybackToHeadphone" component="APU"/>
+ <AudioPath alias="HiFi1PlaybackToEarpiece" identifier="VoipPlaybackToEarpiece" component="CODEC"/>
+ <AudioPath alias="HiFi1PlaybackToEarpiece" identifier="VoipPlaybackToEarpiece" component="APU"/>
+
+ <AudioPath alias="HiFi1RecordFromAMic1" identifier="VoipRecordFromAMic1" component="CODEC"/>
+ <AudioPath alias="HiFi1RecordFromAMic1" identifier="VoipRecordFromAMic1" component="APU"/>
+ <AudioPath alias="HiFi1RecordFromAMic1" identifier="VoipRecordFromAMic1(Speaker Mode)" component="CODEC"/>
+ <AudioPath alias="HiFi1RecordFromAMic1" identifier="VoipRecordFromAMic1(Speaker Mode)" component="APU"/>
+ <AudioPath alias="HiFi1RecordFromAMic1" identifier="VoipRecordFromAMic1(Headphone Mode)" component="CODEC"/>
+ <AudioPath alias="HiFi1RecordFromAMic1" identifier="VoipRecordFromAMic1(Headphone Mode)" component="APU"/>
+
+ <AudioPath alias="HiFi1RecordFromAMic2" identifier="VoipRecordFromAMic2" component="CODEC"/>
+ <AudioPath alias="HiFi1RecordFromAMic2" identifier="VoipRecordFromAMic2" component="APU"/>
+ <AudioPath alias="HiFi1RecordFromAMic2" identifier="VoipRecordFromAMic2(Speaker Mode)" component="CODEC"/>
+ <AudioPath alias="HiFi1RecordFromAMic2" identifier="VoipRecordFromAMic2(Speaker Mode)" component="APU"/>
+ <AudioPath alias="HiFi1RecordFromAMic2" identifier="VoipRecordFromAMic2(Headphone Mode)" component="CODEC"/>
+ <AudioPath alias="HiFi1RecordFromAMic2" identifier="VoipRecordFromAMic2(Headphone Mode)" component="APU"/>
+
+ <AudioPath alias="HiFi1RecordFromHsMic" identifier="VoipRecordFromHsMic" component="CODEC"/>
+ <AudioPath alias="HiFi1RecordFromHsMic" identifier="VoipRecordFromHsMic" component="APU"/>
+ <AudioPath alias="HiFi1PlaybackToBTNB" identifier="HiFi1PlaybackToBTNB(NREC Mode)" component="APU"/>
+ <AudioPath alias="HiFi1PlaybackToBTNB" identifier="HiFi1PlaybackToBTWB" component="APU"/>
+ <AudioPath alias="HiFi1PlaybackToBTNB" identifier="HiFi1PlaybackToBTWB(NREC Mode)" component="APU"/>
+ <AudioPath alias="HiFi1PlaybackToBTNB" identifier="VoipPlaybackToBTNB" component="APU"/>
+ <AudioPath alias="HiFi1PlaybackToBTNB" identifier="VoipPlaybackToBTNB(NREC Mode)" component="APU"/>
+ <AudioPath alias="HiFi1PlaybackToBTNB" identifier="VoipPlaybackToBTWB" component="APU"/>
+ <AudioPath alias="HiFi1PlaybackToBTNB" identifier="VoipPlaybackToBTWB(NREC Mode)" component="APU"/>
+ <AudioPath alias="HiFi1RecordFromBTMicNB" identifier="HiFi1RecordFromBTMicNB(NREC Mode)" component="APU"/>
+ <AudioPath alias="HiFi1RecordFromBTMicNB" identifier="HiFi1RecordFromBTMicWB" component="APU"/>
+ <AudioPath alias="HiFi1RecordFromBTMicNB" identifier="HiFi1RecordFromBTMicWB(NREC Mode)" component="APU"/>
+ <AudioPath alias="HiFi1RecordFromBTMicNB" identifier="VoipRecordFromBTMicNB" component="APU"/>
+ <AudioPath alias="HiFi1RecordFromBTMicNB" identifier="VoipRecordFromBTMicNB(NREC Mode)" component="APU"/>
+ <AudioPath alias="HiFi1RecordFromBTMicNB" identifier="VoipRecordFromBTMicWB" component="APU"/>
+ <AudioPath alias="HiFi1RecordFromBTMicNB" identifier="VoipRecordFromBTMicWB(NREC Mode)" component="APU"/>
+ <AudioPath alias="VoicePlaybackToBTNB" identifier="VoicePlaybackToBTNB(NREC Mode)" component="MODEM"/>
+ <AudioPath alias="VoicePlaybackToBTNB" identifier="VoicePlaybackToBTWB" component="MODEM"/>
+ <AudioPath alias="VoicePlaybackToBTNB" identifier="VoicePlaybackToBTWB(NREC Mode)" component="MODEM"/>
+ <AudioPath alias="VoicePlaybackToBTNB" identifier="VoicePlaybackToBTNB(NREC Mode)" component="APU"/>
+ <AudioPath alias="VoicePlaybackToBTNB" identifier="VoicePlaybackToBTWB" component="APU"/>
+ <AudioPath alias="VoicePlaybackToBTNB" identifier="VoicePlaybackToBTWB(NREC Mode)" component="APU"/>
+ <AudioPath alias="VoiceRecordFromBTMicNB" identifier="VoiceRecordFromBTMicNB(NREC Mode)" component="MODEM"/>
+ <AudioPath alias="VoiceRecordFromBTMicNB" identifier="VoiceRecordFromBTMicWB" component="MODEM"/>
+ <AudioPath alias="VoiceRecordFromBTMicNB" identifier="VoiceRecordFromBTMicWB(NREC Mode)" component="MODEM"/>
+ <AudioPath alias="VoiceRecordFromBTMicNB" identifier="VoiceRecordFromBTMicNB(NREC Mode)" component="APU"/>
+ <AudioPath alias="VoiceRecordFromBTMicNB" identifier="VoiceRecordFromBTMicWB" component="APU"/>
+ <AudioPath alias="VoiceRecordFromBTMicNB" identifier="VoiceRecordFromBTMicWB(NREC Mode)" component="APU"/>
+ <AudioPath alias="VoicePlaybackToSpeaker" identifier="VoicePlaybackToTtyHcoSpeaker" component="MODEM"/>
+ <AudioPath alias="VoicePlaybackToSpeaker" identifier="VoicePlaybackToTtyHcoSpeaker" component="CODEC"/>
+ <AudioPath alias="VoicePlaybackToSpeaker" identifier="VoicePlaybackToTtyHcoSpeaker" component="APU"/>
+ <AudioPath alias="VoicePlaybackToStereoSpeaker" identifier="VoicePlaybackToTtyHcoStereoSpeaker" component="MODEM"/>
+ <AudioPath alias="VoicePlaybackToStereoSpeaker" identifier="VoicePlaybackToTtyHcoStereoSpeaker" component="CODEC"/>
+ <AudioPath alias="VoicePlaybackToStereoSpeaker" identifier="VoicePlaybackToTtyHcoStereoSpeaker" component="APU"/>
+ <AudioPath alias="VoiceRecordFromAMic1" identifier="VoiceRecordFromTtyVcoAMic1" component="MODEM"/>
+ <AudioPath alias="VoiceRecordFromAMic1" identifier="VoiceRecordFromTtyVcoAMic1" component="CODEC"/>
+ <AudioPath alias="VoiceRecordFromAMic1" identifier="VoiceRecordFromTtyVcoAMic1" component="APU"/>
+ <AudioPath alias="VoiceRecordFromAMic2" identifier="VoiceRecordFromTtyVcoAMic2" component="MODEM"/>
+ <AudioPath alias="VoiceRecordFromAMic2" identifier="VoiceRecordFromTtyVcoAMic2" component="CODEC"/>
+ <AudioPath alias="VoiceRecordFromAMic2" identifier="VoiceRecordFromTtyVcoAMic2" component="APU"/>
+ <AudioPath alias="VoiceRecordFromDualAMic" identifier="VoiceRecordFromTtyVcoDualMic" component="MODEM"/>
+ <AudioPath alias="VoiceRecordFromDualAMic" identifier="VoiceRecordFromTtyVcoDualMic" component="CODEC"/>
+ <AudioPath alias="VoiceRecordFromDualAMic" identifier="VoiceRecordFromTtyVcoDualMic" component="APU"/>
+
+ <AudioPath alias="VoiceRecordFromAMic1" identifier="VoiceRecordFromAMic1(Speaker Mode)" component="MODEM"/>
+ <AudioPath alias="VoiceRecordFromAMic1" identifier="VoiceRecordFromAMic1(Speaker Mode)" component="CODEC"/>
+ <AudioPath alias="VoiceRecordFromAMic1" identifier="VoiceRecordFromAMic1(Speaker Mode)" component="APU"/>
+ <AudioPath alias="VoiceRecordFromAMic1" identifier="VoiceRecordFromAMic1(Headphone Mode)" component="MODEM"/>
+ <AudioPath alias="VoiceRecordFromAMic1" identifier="VoiceRecordFromAMic1(Headphone Mode)" component="CODEC"/>
+ <AudioPath alias="VoiceRecordFromAMic1" identifier="VoiceRecordFromAMic1(Headphone Mode)" component="APU"/>
+
+ <AudioPath alias="VoiceRecordFromAMic2" identifier="VoiceRecordFromAMic2(Speaker Mode)" component="MODEM"/>
+ <AudioPath alias="VoiceRecordFromAMic2" identifier="VoiceRecordFromAMic2(Speaker Mode)" component="CODEC"/>
+ <AudioPath alias="VoiceRecordFromAMic2" identifier="VoiceRecordFromAMic2(Speaker Mode)" component="APU"/>
+ <AudioPath alias="VoiceRecordFromAMic2" identifier="VoiceRecordFromAMic2(Headphone Mode)" component="MODEM"/>
+ <AudioPath alias="VoiceRecordFromAMic2" identifier="VoiceRecordFromAMic2(Headphone Mode)" component="CODEC"/>
+ <AudioPath alias="VoiceRecordFromAMic2" identifier="VoiceRecordFromAMic2(Headphone Mode)" component="APU"/>
+
+ <AudioPath alias="HiFi1RecordFromAMic1" identifier="HiFi1RecognitionRecordFromAMic1" component="CODEC"/>
+ <AudioPath alias="HiFi1RecordFromAMic1" identifier="HiFi1RecognitionRecordFromAMic1" component="APU"/>
+ <AudioPath alias="HiFi1RecordFromAMic2" identifier="HiFi1RecognitionRecordFromAMic2" component="CODEC"/>
+ <AudioPath alias="HiFi1RecordFromAMic2" identifier="HiFi1RecognitionRecordFromAMic2" component="APU"/>
+ <AudioPath alias="HiFi1RecordFromHsMic" identifier="HiFi1RecognitionRecordFromHsMic" component="CODEC"/>
+ <AudioPath alias="HiFi1RecordFromHsMic" identifier="HiFi1RecognitionRecordFromHsMic" component="APU"/>
+ <AudioPath alias="HiFi1RecordFromBTMicNB" identifier="HiFi1RecognitionRecordFromBTMicNB" component="APU"/>
+ <AudioPath alias="HiFi1RecordFromBTMicNB" identifier="HiFi1RecognitionRecordFromBTMicNB(NREC Mode)" component="APU"/>
+ <AudioPath alias="HiFi1RecordFromBTMicNB" identifier="HiFi1RecognitionRecordFromBTMicWB" component="APU"/>
+ <AudioPath alias="HiFi1RecordFromBTMicNB" identifier="HiFi1RecognitionRecordFromBTMicWB(NREC Mode)" component="APU"/>
+
+ <AudioPath alias="HiFi1PlaybackToSpeaker" identifier="VTPlaybackToSpeaker" component="PMIC"/>
+ <AudioPath alias="HiFi1PlaybackToSpeaker" identifier="VTPlaybackToSpeaker" component="CODEC"/>
+ <AudioPath alias="HiFi1PlaybackToSpeaker" identifier="VTPlaybackToSpeaker" component="APU"/>
+ <AudioPath alias="HiFi1PlaybackToStereoSpeaker" identifier="VTPlaybackToStereoSpeaker" component="PMIC"/>
+ <AudioPath alias="HiFi1PlaybackToStereoSpeaker" identifier="VTPlaybackToStereoSpeaker" component="CODEC"/>
+ <AudioPath alias="HiFi1PlaybackToStereoSpeaker" identifier="VTPlaybackToStereoSpeaker" component="APU"/>
+ <AudioPath alias="HiFi1PlaybackToHeadphone" identifier="VTPlaybackToHeadphone" component="CODEC"/>
+ <AudioPath alias="HiFi1PlaybackToHeadphone" identifier="VTPlaybackToHeadphone" component="APU"/>
+ <AudioPath alias="HiFi1PlaybackToEarpiece" identifier="VTPlaybackToEarpiece" component="CODEC"/>
+ <AudioPath alias="HiFi1PlaybackToEarpiece" identifier="VTPlaybackToEarpiece" component="APU"/>
+
+ <AudioPath alias="HiFi1RecordFromAMic1" identifier="VTRecordFromAMic1" component="CODEC"/>
+ <AudioPath alias="HiFi1RecordFromAMic1" identifier="VTRecordFromAMic1" component="APU"/>
+ <AudioPath alias="HiFi1RecordFromAMic1" identifier="VTRecordFromAMic1(Speaker Mode)" component="CODEC"/>
+ <AudioPath alias="HiFi1RecordFromAMic1" identifier="VTRecordFromAMic1(Speaker Mode)" component="APU"/>
+ <AudioPath alias="HiFi1RecordFromAMic1" identifier="VTRecordFromAMic1(Headphone Mode)" component="CODEC"/>
+ <AudioPath alias="HiFi1RecordFromAMic1" identifier="VTRecordFromAMic1(Headphone Mode)" component="APU"/>
+
+ <AudioPath alias="HiFi1RecordFromAMic2" identifier="VTRecordFromAMic2" component="CODEC"/>
+ <AudioPath alias="HiFi1RecordFromAMic2" identifier="VTRecordFromAMic2" component="APU"/>
+ <AudioPath alias="HiFi1RecordFromAMic2" identifier="VTRecordFromAMic2(Speaker Mode)" component="CODEC"/>
+ <AudioPath alias="HiFi1RecordFromAMic2" identifier="VTRecordFromAMic2(Speaker Mode)" component="APU"/>
+ <AudioPath alias="HiFi1RecordFromAMic2" identifier="VTRecordFromAMic2(Headphone Mode)" component="CODEC"/>
+ <AudioPath alias="HiFi1RecordFromAMic2" identifier="VTRecordFromAMic2(Headphone Mode)" component="APU"/>
+ <AudioPath alias="HiFi1RecordFromDualAMic" identifier="VTRecordFromDualAMic" component="CODEC"/>
+ <AudioPath alias="HiFi1RecordFromDualAMic" identifier="VTRecordFromDualAMic" component="APU"/>
+
+ <AudioPath alias="HiFi1RecordFromHsMic" identifier="VTRecordFromHsMic" component="CODEC"/>
+ <AudioPath alias="HiFi1RecordFromHsMic" identifier="VTRecordFromHsMic" component="APU"/>
+
+ <AudioPath alias="HiFi1PlaybackToBTNB" identifier="VTPlaybackToBTNB" component="APU"/>
+ <AudioPath alias="HiFi1PlaybackToBTNB" identifier="VTPlaybackToBTNB(NREC Mode)" component="APU"/>
+ <AudioPath alias="HiFi1PlaybackToBTNB" identifier="VTPlaybackToBTWB" component="APU"/>
+ <AudioPath alias="HiFi1PlaybackToBTNB" identifier="VTPlaybackToBTWB(NREC Mode)" component="APU"/>
+ <AudioPath alias="HiFi1RecordFromBTMicNB" identifier="VTRecordFromBTMicNB" component="APU"/>
+ <AudioPath alias="HiFi1RecordFromBTMicNB" identifier="VTRecordFromBTMicNB(NREC Mode)" component="APU"/>
+ <AudioPath alias="HiFi1RecordFromBTMicNB" identifier="VTRecordFromBTMicWB" component="APU"/>
+ <AudioPath alias="HiFi1RecordFromBTMicNB" identifier="VTRecordFromBTMicWB(NREC Mode)" component="APU"/>
+</MarvellAudioGainConfiguration>
diff --git a/peripheral/audio/audio_xml/platform/ulc/audio_virtualpath_config.xml b/peripheral/audio/audio_xml/platform/ulc/audio_virtualpath_config.xml
new file mode 100644
index 0000000..c66e7e9
--- /dev/null
+++ b/peripheral/audio/audio_xml/platform/ulc/audio_virtualpath_config.xml
@@ -0,0 +1,903 @@
+<!-- Copyright (C) 2005. Marvell International Ltd -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License. -->
+<!-- You may obtain a copy of the License at -->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0 -->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<?xml version="1.0"?>
+<MarvellAudioPathConfiguration>
+ <AudioPath identifier="HiFi1PlaybackToSpeaker">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="I2C" identifier="PMIC">
+ <!-- Register 0x61 0x0C -->
+ <Register field="DIG_GAIN" misc="shared"/>
+ <!-- Register 0x62 0x20 -->
+ <Register field="ANA_GAIN" misc="shared"/>
+ </AudioComponent>
+ <AudioComponent control_protocol="I2C" identifier="CODEC">
+ <!-- Register 0x66 0xb6 -->
+ <Register field="VOL_SEL_3" misc="shared"/>
+ </AudioComponent>
+ <AudioComponent control_protocol="SLEEP" identifier="DELAY">
+ <Delay value="5"/>
+ </AudioComponent>
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x100 0x00 -->
+ <Register field="DSP1_DAC_VOLUME_UPDATE" value="0"/>
+ <!-- Register 0x194 0x80 -->
+ <Register field="D1IN4_2INMIX[7:0]"/>
+ <!-- Register 0x108 0xebeb00 -->
+ <Register field="DSP1_DAC_LEFT_VOL[7:0]" misc="shared"/>
+ <Register field="DSP1_DAC_RIGHT_VOL[7:0]" misc="shared"/>
+ <!-- Register 0x100 0x10 -->
+ <Register field="DSP1_DAC_VOLUME_UPDATE" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE"/>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="HiFi1PlaybackToStereoSpeaker">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="I2C" identifier="PMIC">
+ <!-- Register 0x61 0x0C -->
+ <Register field="DIG_GAIN" misc="shared"/>
+ <!-- Register 0x62 0x20 -->
+ <Register field="ANA_GAIN" misc="shared"/>
+ </AudioComponent>
+ <AudioComponent control_protocol="I2C" identifier="CODEC">
+ <!-- Register 0x67 0xb6 -->
+ <Register field="VOL_SEL_4" misc="shared"/>
+ <!-- Register 0x66 0xb6 -->
+ <Register field="VOL_SEL_3" misc="shared"/>
+ </AudioComponent>
+ <AudioComponent control_protocol="SLEEP" identifier="DELAY">
+ <Delay value="5"/>
+ </AudioComponent>
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x100 0x00 -->
+ <Register field="DSP1_DAC_VOLUME_UPDATE" value="0"/>
+ <!-- Register 0x194 0x80 -->
+ <Register field="D1IN4_2INMIX[7:0]"/>
+ <!-- Register 0x108 0xebeb00 -->
+ <Register field="DSP1_DAC_LEFT_VOL[7:0]" misc="shared"/>
+ <Register field="DSP1_DAC_RIGHT_VOL[7:0]" misc="shared"/>
+ <!-- Register 0x100 0x10 -->
+ <Register field="DSP1_DAC_VOLUME_UPDATE" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE"/>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="HiFi1PlaybackToHeadphone">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="I2C" identifier="CODEC">
+ <!-- Register 0x65 0xb6 -->
+ <Register field="VOL_SEL_2" misc="shared"/>
+ <!-- Register 0x64 0xb6 -->
+ <Register field="VOL_SEL_1" misc="shared"/>
+ </AudioComponent>
+ <AudioComponent control_protocol="SLEEP" identifier="DELAY">
+ <Delay value="5"/>
+ </AudioComponent>
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x100 0x00 -->
+ <Register field="DSP1_DAC_VOLUME_UPDATE" value="0"/>
+ <!-- Register 0x194 0x80 -->
+ <Register field="D1IN4_2INMIX[7:0]"/>
+ <!-- Register 0x108 0xebeb00 -->
+ <Register field="DSP1_DAC_LEFT_VOL[7:0]" misc="shared"/>
+ <Register field="DSP1_DAC_RIGHT_VOL[7:0]" misc="shared"/>
+ <!-- Register 0x100 0x10 -->
+ <Register field="DSP1_DAC_VOLUME_UPDATE" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE"/>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="HiFi1PlaybackToSpeakerAndHeadphone">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="I2C" identifier="PMIC">
+ <!-- Register 0x61 0x0C -->
+ <Register field="DIG_GAIN" misc="shared"/>
+ <!-- Register 0x62 0x20 -->
+ <Register field="ANA_GAIN" misc="shared"/>
+ </AudioComponent>
+ <AudioComponent control_protocol="I2C" identifier="CODEC">
+ <!-- Register 0x66 0xb6 -->
+ <Register field="VOL_SEL_3" misc="shared"/>
+ <!-- Register 0x65 0xb6 -->
+ <Register field="VOL_SEL_2" misc="shared"/>
+ <!-- Register 0x64 0xb6 -->
+ <Register field="VOL_SEL_1" misc="shared"/>
+ </AudioComponent>
+ <AudioComponent control_protocol="SLEEP" identifier="DELAY">
+ <Delay value="5"/>
+ </AudioComponent>
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x100 0x00 -->
+ <Register field="DSP1_DAC_VOLUME_UPDATE" value="0"/>
+ <!-- Register 0x194 0x80 -->
+ <Register field="D1IN4_2INMIX[7:0]"/>
+ <!-- Register 0x108 0xebeb00 -->
+ <Register field="DSP1_DAC_LEFT_VOL[7:0]" misc="shared"/>
+ <Register field="DSP1_DAC_RIGHT_VOL[7:0]" misc="shared"/>
+ <!-- Register 0x100 0x10 -->
+ <Register field="DSP1_DAC_VOLUME_UPDATE" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE"/>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="HiFi1PlaybackToStereoSpeakerAndHeadphone">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="I2C" identifier="PMIC">
+ <!-- Register 0x61 0x0C -->
+ <Register field="DIG_GAIN" misc="shared"/>
+ <!-- Register 0x62 0x20 -->
+ <Register field="ANA_GAIN" misc="shared"/>
+ </AudioComponent>
+ <AudioComponent control_protocol="I2C" identifier="CODEC">
+ <!-- Register 0x67 0xb6 -->
+ <Register field="VOL_SEL_4" misc="shared"/>
+ <!-- Register 0x66 0xb6 -->
+ <Register field="VOL_SEL_3" misc="shared"/>
+ <!-- Register 0x65 0xb6 -->
+ <Register field="VOL_SEL_2" misc="shared"/>
+ <!-- Register 0x64 0xb6 -->
+ <Register field="VOL_SEL_1" misc="shared"/>
+ </AudioComponent>
+ <AudioComponent control_protocol="SLEEP" identifier="DELAY">
+ <Delay value="5"/>
+ </AudioComponent>
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x100 0x00 -->
+ <Register field="DSP1_DAC_VOLUME_UPDATE" value="0"/>
+ <!-- Register 0x194 0x80 -->
+ <Register field="D1IN4_2INMIX[7:0]"/>
+ <!-- Register 0x108 0xebeb00 -->
+ <Register field="DSP1_DAC_LEFT_VOL[7:0]" misc="shared"/>
+ <Register field="DSP1_DAC_RIGHT_VOL[7:0]" misc="shared"/>
+ <!-- Register 0x100 0x10 -->
+ <Register field="DSP1_DAC_VOLUME_UPDATE" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE"/>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="HiFi1PlaybackToEarpiece">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="I2C" identifier="CODEC">
+ <!-- Register 0x64 0xb6 -->
+ <Register field="VOL_SEL_1" misc="shared"/>
+ </AudioComponent>
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x100 0x00 -->
+ <Register field="DSP1_DAC_VOLUME_UPDATE" value="0"/>
+ <!-- Register 0x194 0x80 -->
+ <Register field="D1IN4_2INMIX[7:0]"/>
+ <!-- Register 0x108 0xebeb00 -->
+ <Register field="DSP1_DAC_LEFT_VOL[7:0]" misc="shared"/>
+ <Register field="DSP1_DAC_RIGHT_VOL[7:0]" misc="shared"/>
+ <!-- Register 0x100 0x10 -->
+ <Register field="DSP1_DAC_VOLUME_UPDATE" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE"/>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="HiFi1PlaybackToBTNB">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x100 0x00 -->
+ <Register field="DSP1_DAC_VOLUME_UPDATE" value="0"/>
+ <!-- Register 0x194 0x80 -->
+ <Register field="D1IN4_2INMIX[7:0]"/>
+ <!-- Register 0x108 0xebeb00 -->
+ <Register field="DSP1_DAC_LEFT_VOL[7:0]" misc="shared"/>
+ <Register field="DSP1_DAC_RIGHT_VOL[7:0]" misc="shared"/>
+ <!-- Register 0x100 0x10 -->
+ <Register field="DSP1_DAC_VOLUME_UPDATE" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE"/>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+
+ <AudioPath identifier="HiFi1RecordFromAMic1">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="I2C" identifier="CODEC">
+ <!-- Register 0x21 0x2f -->
+ <Register field="MIC1_ANA_GAIN"/>
+ </AudioComponent>
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x300 0x00 -->
+ <Register field="ADC_VOLUME_UPDATE" value="0"/>
+ <!-- Register 0x348 0x8000 -->
+ <Register field="D1AIN1_2INMIX[7:0]"/>
+ <!-- Register 0x308 0xebeb00 -->
+ <Register field="ADC_LEFT_VOL[7:0]"/>
+ <Register field="ADC_RIGHT_VOL[7:0]"/>
+ <!-- Register 0x300 0x10 -->
+ <Register field="ADC_VOLUME_UPDATE" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE"/>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="HiFi1RecordFromAMic2">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="I2C" identifier="CODEC">
+ <!-- Register 0x22 0x2f -->
+ <Register field="MIC2_ANA_GAIN"/>
+ </AudioComponent>
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x300 0x00 -->
+ <Register field="ADC_VOLUME_UPDATE" value="0"/>
+ <!-- Register 0x348 0x8000 -->
+ <Register field="D1AIN1_2INMIX[7:0]"/>
+ <!-- Register 0x308 0xebeb00 -->
+ <Register field="ADC_LEFT_VOL[7:0]"/>
+ <Register field="ADC_RIGHT_VOL[7:0]"/>
+ <!-- Register 0x300 0x10 -->
+ <Register field="ADC_VOLUME_UPDATE" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE"/>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="HiFi1RecordFromDualAMic">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="I2C" identifier="CODEC">
+ <!-- Register 0x21 0x16 -->
+ <Register field="MIC1_ANA_GAIN"/>
+ <!-- Register 0x22 0x16 -->
+ <Register field="MIC2_ANA_GAIN"/>
+ </AudioComponent>
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x300 0x00 -->
+ <Register field="ADC_VOLUME_UPDATE" value="0"/>
+ <!-- Register 0x348 0x8000 -->
+ <Register field="D1AIN1_2INMIX[7:0]"/>
+ <!-- Register 0x308 0xebeb00 -->
+ <Register field="ADC_LEFT_VOL[7:0]"/>
+ <Register field="ADC_RIGHT_VOL[7:0]"/>
+ <!-- Register 0x300 0x10 -->
+ <Register field="ADC_VOLUME_UPDATE" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE"/>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="HiFi1RecordFromHsMic">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="I2C" identifier="CODEC">
+ <!-- Register 0x21 0x16 -->
+ <Register field="MIC1_ANA_GAIN"/>
+ </AudioComponent>
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x300 0x00 -->
+ <Register field="ADC_VOLUME_UPDATE" value="0"/>
+ <!-- Register 0x348 0x8000 -->
+ <Register field="D1AIN1_2INMIX[7:0]"/>
+ <!-- Register 0x308 0xebeb00 -->
+ <Register field="ADC_LEFT_VOL[7:0]"/>
+ <Register field="ADC_RIGHT_VOL[7:0]"/>
+ <!-- Register 0x300 0x10 -->
+ <Register field="ADC_VOLUME_UPDATE" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE"/>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="HiFi1RecordFromBTMicNB">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x300 0x00 -->
+ <Register field="ADC_VOLUME_UPDATE" value="0"/>
+ <!-- Register 0x348 0x8000 -->
+ <Register field="D1AIN1_2INMIX[7:0]"/>
+ <!-- Register 0x308 0xebeb00 -->
+ <Register field="ADC_LEFT_VOL[7:0]"/>
+ <Register field="ADC_RIGHT_VOL[7:0]"/>
+ <!-- Register 0x300 0x10 -->
+ <Register field="ADC_VOLUME_UPDATE" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE"/>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="HiFi1RecordFromLoopbackSDM">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x348 0x8000 -->
+ <Register field="D1AIN1_2INMIX[7:0]"/>
+ <!-- Register 0x308 0xebeb00 -->
+ <Register field="ADC_LEFT_VOL[7:0]"/>
+ <Register field="ADC_RIGHT_VOL[7:0]"/>
+ <!-- Register 0x300 0x10 -->
+ <Register field="ADC_VOLUME_UPDATE" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE"/>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="HiFi1RecordFromLoopbackPDM">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x348 0x8000 -->
+ <Register field="D1AIN1_2INMIX[7:0]"/>
+ <!-- Register 0x308 0xebeb00 -->
+ <Register field="ADC_LEFT_VOL[7:0]"/>
+ <Register field="ADC_RIGHT_VOL[7:0]"/>
+ <!-- Register 0x300 0x10 -->
+ <Register field="ADC_VOLUME_UPDATE" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE"/>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="VoicePlaybackToSpeaker">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="I2C" identifier="MODEM">
+ <Register field="DIGITAL_GAIN_NB"/>
+ <Register field="DIGITAL_GAIN_EXTRA"/>
+ <Register field="DIGITAL_GAIN_WB"/>
+ <Register field="DIGITAL_GAIN_EXTRA_WB"/>
+ </AudioComponent>
+ <AudioComponent control_protocol="I2C" identifier="PMIC">
+ <!-- Register 0x61 0x0C -->
+ <Register field="DIG_GAIN" misc="shared"/>
+ <!-- Register 0x62 0x20 -->
+ <Register field="ANA_GAIN" misc="shared"/>
+ </AudioComponent>
+ <AudioComponent control_protocol="I2C" identifier="CODEC">
+ <!-- Register 0x66 0xb6 -->
+ <Register field="VOL_SEL_3" misc="shared"/>
+ </AudioComponent>
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x100 0x00 -->
+ <Register field="DSP1_DAC_VOLUME_UPDATE" value="0"/>
+ <!-- Register 0x194 0x8000 -->
+ <Register field="D1IN2_2INMIX[7:0]"/>
+ <!-- Register 0x108 0xebeb00 -->
+ <Register field="DSP1_DAC_LEFT_VOL[7:0]" misc="shared"/>
+ <Register field="DSP1_DAC_RIGHT_VOL[7:0]" misc="shared"/>
+ <!-- Register 0x100 0x10 -->
+ <Register field="DSP1_DAC_VOLUME_UPDATE" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE"/>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="VoicePlaybackToStereoSpeaker">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="I2C" identifier="MODEM">
+ <Register field="DIGITAL_GAIN_NB"/>
+ <Register field="DIGITAL_GAIN_EXTRA"/>
+ <Register field="DIGITAL_GAIN_WB"/>
+ <Register field="DIGITAL_GAIN_EXTRA_WB"/>
+ </AudioComponent>
+ <AudioComponent control_protocol="I2C" identifier="PMIC">
+ <!-- Register 0x61 0x0C -->
+ <Register field="DIG_GAIN" misc="shared"/>
+ <!-- Register 0x62 0x20 -->
+ <Register field="ANA_GAIN" misc="shared"/>
+ </AudioComponent>
+ <AudioComponent control_protocol="I2C" identifier="CODEC">
+ <!-- Register 0x67 0xb6 -->
+ <Register field="VOL_SEL_4" misc="shared"/>
+ <!-- Register 0x66 0xb6 -->
+ <Register field="VOL_SEL_3" misc="shared"/>
+ </AudioComponent>
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x100 0x00 -->
+ <Register field="DSP1_DAC_VOLUME_UPDATE" value="0"/>
+ <!-- Register 0x194 0x8000 -->
+ <Register field="D1IN2_2INMIX[7:0]"/>
+ <!-- Register 0x108 0xebeb00 -->
+ <Register field="DSP1_DAC_LEFT_VOL[7:0]" misc="shared"/>
+ <Register field="DSP1_DAC_RIGHT_VOL[7:0]" misc="shared"/>
+ <!-- Register 0x100 0x10 -->
+ <Register field="DSP1_DAC_VOLUME_UPDATE" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE"/>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="VoicePlaybackToHeadphone">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="I2C" identifier="MODEM">
+ <Register field="DIGITAL_GAIN_NB"/>
+ <Register field="DIGITAL_GAIN_WB"/>
+ </AudioComponent>
+ <AudioComponent control_protocol="I2C" identifier="CODEC">
+ <!-- Register 0x65 0xb6 -->
+ <Register field="VOL_SEL_2" misc="shared"/>
+ <!-- Register 0x64 0xb6 -->
+ <Register field="VOL_SEL_1" misc="shared"/>
+ </AudioComponent>
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x100 0x00 -->
+ <Register field="DSP1_DAC_VOLUME_UPDATE" value="0"/>
+ <!-- Register 0x194 0x8000 -->
+ <Register field="D1IN2_2INMIX[7:0]"/>
+ <!-- Register 0x108 0xebeb00 -->
+ <Register field="DSP1_DAC_LEFT_VOL[7:0]" misc="shared"/>
+ <Register field="DSP1_DAC_RIGHT_VOL[7:0]" misc="shared"/>
+ <!-- Register 0x100 0x10 -->
+ <Register field="DSP1_DAC_VOLUME_UPDATE" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE"/>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="VoicePlaybackToEarpiece">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="I2C" identifier="MODEM">
+ <Register field="DIGITAL_GAIN_NB"/>
+ <Register field="DIGITAL_GAIN_EXTRA"/>
+ <Register field="DIGITAL_GAIN_WB"/>
+ <Register field="DIGITAL_GAIN_EXTRA_WB"/>
+ </AudioComponent>
+ <AudioComponent control_protocol="I2C" identifier="CODEC">
+ <!-- Register 0x64 0xb6 -->
+ <Register field="VOL_SEL_1" misc="shared"/>
+ </AudioComponent>
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x100 0x00 -->
+ <Register field="DSP1_DAC_VOLUME_UPDATE" value="0"/>
+ <!-- Register 0x194 0x8000-->
+ <Register field="D1IN2_2INMIX[7:0]"/>
+ <!-- Register 0x108 0xebeb00 -->
+ <Register field="DSP1_DAC_LEFT_VOL[7:0]" misc="shared"/>
+ <Register field="DSP1_DAC_RIGHT_VOL[7:0]" misc="shared"/>
+ <!-- Register 0x100 0x10 -->
+ <Register field="DSP1_DAC_VOLUME_UPDATE" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE"/>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="VoicePlaybackToBTNB">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="I2C" identifier="MODEM">
+ <Register field="DIGITAL_GAIN_NB"/>
+ <Register field="DIGITAL_GAIN_WB"/>
+ </AudioComponent>
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x100 0x00 -->
+ <Register field="DSP1_DAC_VOLUME_UPDATE" value="0"/>
+ <!-- Register 0x194 0x8000 -->
+ <Register field="D1IN2_2INMIX[7:0]"/>
+ <!-- Register 0x108 0xebeb00 -->
+ <Register field="DSP1_DAC_LEFT_VOL[7:0]" misc="shared"/>
+ <Register field="DSP1_DAC_RIGHT_VOL[7:0]" misc="shared"/>
+ <!-- Register 0x100 0x10 -->
+ <Register field="DSP1_DAC_VOLUME_UPDATE" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE"/>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="VoiceRecordFromAMic1">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="I2C" identifier="MODEM">
+ <Register field="DIGITAL_GAIN_NB"/>
+ <Register field="DIGITAL_GAIN_EXTRA"/>
+ <Register field="DIGITAL_GAIN_WB"/>
+ <Register field="DIGITAL_GAIN_EXTRA_WB"/>
+ </AudioComponent>
+ <AudioComponent control_protocol="I2C" identifier="CODEC">
+ <!-- Register 0x21 0x2f -->
+ <Register field="MIC1_ANA_GAIN"/>
+ </AudioComponent>
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x300 0x00 -->
+ <Register field="ADC_VOLUME_UPDATE" value="0"/>
+ <!-- Register 0x348 0x8000 -->
+ <Register field="D1AIN1_2INMIX[7:0]"/>
+ <!-- Register 0x308 0xebeb00 -->
+ <Register field="ADC_LEFT_VOL[7:0]"/>
+ <Register field="ADC_RIGHT_VOL[7:0]"/>
+ <!-- Register 0x300 0x10 -->
+ <Register field="ADC_VOLUME_UPDATE" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE"/>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="VoiceRecordFromAMic2">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="I2C" identifier="MODEM">
+ <Register field="DIGITAL_GAIN_NB"/>
+ <Register field="DIGITAL_GAIN_EXTRA"/>
+ <Register field="DIGITAL_GAIN_WB"/>
+ <Register field="DIGITAL_GAIN_EXTRA_WB"/>
+ </AudioComponent>
+ <AudioComponent control_protocol="I2C" identifier="CODEC">
+ <!-- Register 0x22 0x2f -->
+ <Register field="MIC2_ANA_GAIN"/>
+ </AudioComponent>
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x300 0x00 -->
+ <Register field="ADC_VOLUME_UPDATE" value="0"/>
+ <!-- Register 0x348 0x8000 -->
+ <Register field="D1AIN1_2INMIX[7:0]"/>
+ <!-- Register 0x308 0xebeb00 -->
+ <Register field="ADC_LEFT_VOL[7:0]"/>
+ <Register field="ADC_RIGHT_VOL[7:0]"/>
+ <!-- Register 0x300 0x10 -->
+ <Register field="ADC_VOLUME_UPDATE" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE"/>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="VoiceRecordFromDualAMic">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="I2C" identifier="MODEM">
+ <Register field="DIGITAL_GAIN_NB"/>
+ <Register field="DIGITAL_GAIN_EXTRA"/>
+ <Register field="DIGITAL_GAIN_WB"/>
+ <Register field="DIGITAL_GAIN_EXTRA_WB"/>
+ </AudioComponent>
+ <AudioComponent control_protocol="I2C" identifier="CODEC">
+ <!-- Register 0x21 0x2f -->
+ <Register field="MIC1_ANA_GAIN"/>
+ <!-- Register 0x22 0x2f -->
+ <Register field="MIC2_ANA_GAIN"/>
+ </AudioComponent>
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x300 0x00 -->
+ <Register field="ADC_VOLUME_UPDATE" value="0"/>
+ <!-- Register 0x348 0x8000 -->
+ <Register field="D1AIN1_2INMIX[7:0]"/>
+ <!-- Register 0x308 0xebeb00 -->
+ <Register field="ADC_LEFT_VOL[7:0]"/>
+ <Register field="ADC_RIGHT_VOL[7:0]"/>
+ <!-- Register 0x300 0x10 -->
+ <Register field="ADC_VOLUME_UPDATE" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE"/>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="VoiceRecordFromHsMic">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="I2C" identifier="MODEM">
+ <Register field="DIGITAL_GAIN_NB"/>
+ <Register field="DIGITAL_GAIN_WB"/>
+ </AudioComponent>
+ <AudioComponent control_protocol="I2C" identifier="CODEC">
+ <!-- Register 0x21 0x2f -->
+ <Register field="MIC1_ANA_GAIN"/>
+ </AudioComponent>
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x300 0x00 -->
+ <Register field="ADC_VOLUME_UPDATE" value="0"/>
+ <!-- Register 0x348 0x8000 -->
+ <Register field="D1AIN1_2INMIX[7:0]"/>
+ <!-- Register 0x308 0xebeb00 -->
+ <Register field="ADC_LEFT_VOL[7:0]"/>
+ <Register field="ADC_RIGHT_VOL[7:0]"/>
+ <!-- Register 0x300 0x10 -->
+ <Register field="ADC_VOLUME_UPDATE" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE"/>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="VoiceRecordFromBTMicNB">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="I2C" identifier="MODEM">
+ <Register field="DIGITAL_GAIN_NB"/>
+ <Register field="DIGITAL_GAIN_WB"/>
+ </AudioComponent>
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x300 0x00 -->
+ <Register field="ADC_VOLUME_UPDATE" value="0"/>
+ <!-- Register 0x348 0x8000 -->
+ <Register field="D1AIN1_2INMIX[7:0]"/>
+ <!-- Register 0x308 0xebeb00 -->
+ <Register field="ADC_LEFT_VOL[7:0]"/>
+ <Register field="ADC_RIGHT_VOL[7:0]"/>
+ <!-- Register 0x300 0x10 -->
+ <Register field="ADC_VOLUME_UPDATE" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE"/>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="HfpPlaybackToSpeaker">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="I2C" identifier="PMIC">
+ <!-- Register 0x61 0x0C -->
+ <Register field="DIG_GAIN" misc="shared"/>
+ <!-- Register 0x62 0x20 -->
+ <Register field="ANA_GAIN" misc="shared"/>
+ </AudioComponent>
+ <AudioComponent control_protocol="I2C" identifier="CODEC">
+ <!-- Register 0x66 0xb6 -->
+ <Register field="VOL_SEL_3" misc="shared"/>
+ </AudioComponent>
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <Register field="DSP1_DAC_VOLUME_UPDATE" value="0"/>
+ <!-- Register 0x194 0x8000 -->
+ <Register field="D1IN3_2INMIX[7:0]" value="10000000"/>
+ <!-- Register 0x108 0xebeb00 -->
+ <Register field="DSP1_DAC_LEFT_VOL[7:0]" misc="shared"/>
+ <Register field="DSP1_DAC_RIGHT_VOL[7:0]" misc="shared"/>
+ <!-- Register 0x100 0x10 -->
+ <Register field="DSP1_DAC_VOLUME_UPDATE" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x194 0x800000 -->
+ <Register field="D1IN3_2INMIX[7:0]" value="0"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="SETVOLUME">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x194 0x800000 -->
+ <Register field="D1IN3_2INMIX[7:0]"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="HfpRecordFromAMic2">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="I2C" identifier="CODEC">
+ <!-- Register 0x22 0x2f -->
+ <Register field="MIC2_ANA_GAIN"/>
+ </AudioComponent>
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x300 0x10 -->
+ <Register field="ADC_VOLUME_UPDATE" value="0"/>
+ <!-- Register 0x348 0x8000 -->
+ <Register field="D1AIN1_2INMIX[7:0]"/>
+ <!-- Register 0x308 0xebeb00 -->
+ <Register field="ADC_LEFT_VOL[7:0]"/>
+ <Register field="ADC_RIGHT_VOL[7:0]"/>
+ <!-- Register 0x300 0x10 -->
+ <Register field="ADC_VOLUME_UPDATE" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE"/>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="HfpRecordFromAMic1">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="I2C" identifier="CODEC">
+ <!-- Register 0x21 0x2f -->
+ <Register field="MIC1_ANA_GAIN"/>
+ </AudioComponent>
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x300 0x10 -->
+ <Register field="ADC_VOLUME_UPDATE" value="0"/>
+ <!-- Register 0x348 0x8000 -->
+ <Register field="D1AIN1_2INMIX[7:0]"/>
+ <!-- Register 0x308 0xebeb00 -->
+ <Register field="ADC_LEFT_VOL[7:0]"/>
+ <Register field="ADC_RIGHT_VOL[7:0]"/>
+ <!-- Register 0x300 0x10 -->
+ <Register field="ADC_VOLUME_UPDATE" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE"/>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="FMPlaybackI2SToSpeaker">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="I2C" identifier="PMIC">
+ <!-- Register 0x61 0x0C -->
+ <Register field="DIG_GAIN" misc="shared"/>
+ <!-- Register 0x62 0x20 -->
+ <Register field="ANA_GAIN" misc="shared"/>
+ </AudioComponent>
+ <AudioComponent control_protocol="I2C" identifier="CODEC">
+ <!-- Register 0x66 0xb6 -->
+ <Register field="VOL_SEL_3" misc="shared"/>
+ </AudioComponent>
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x100 0x00 -->
+ <Register field="DSP1_DAC_VOLUME_UPDATE" value="0"/>
+ <!-- Register 0x194 0x800000 -->
+ <Register field="D1IN3_2INMIX[7:0]"/>
+ <!-- Register 0x108 0xebeb00 -->
+ <Register field="DSP1_DAC_LEFT_VOL[7:0]" misc="shared"/>
+ <Register field="DSP1_DAC_RIGHT_VOL[7:0]" misc="shared"/>
+ <!-- Register 0x100 0x10 -->
+ <Register field="DSP1_DAC_VOLUME_UPDATE" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE"/>
+ <Operation identifier="SETVOLUME">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x194 0x800000 -->
+ <Register field="D1IN3_2INMIX[7:0]"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="FMPlaybackI2SToStereoSpeaker">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="I2C" identifier="PMIC">
+ <!-- Register 0x61 0x0C -->
+ <Register field="DIG_GAIN" misc="shared"/>
+ <!-- Register 0x62 0x20 -->
+ <Register field="ANA_GAIN" misc="shared"/>
+ </AudioComponent>
+ <AudioComponent control_protocol="I2C" identifier="CODEC">
+ <!-- Register 0x67 0xb6 -->
+ <Register field="VOL_SEL_4" misc="shared"/>
+ <!-- Register 0x66 0xb6 -->
+ <Register field="VOL_SEL_3" misc="shared"/>
+ </AudioComponent>
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x100 0x00 -->
+ <Register field="DSP1_DAC_VOLUME_UPDATE" value="0"/>
+ <!-- Register 0x194 0x800000 -->
+ <Register field="D1IN3_2INMIX[7:0]"/>
+ <!-- Register 0x108 0xebeb00 -->
+ <Register field="DSP1_DAC_LEFT_VOL[7:0]" misc="shared"/>
+ <Register field="DSP1_DAC_RIGHT_VOL[7:0]" misc="shared"/>
+ <!-- Register 0x100 0x10 -->
+ <Register field="DSP1_DAC_VOLUME_UPDATE" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE"/>
+ <Operation identifier="SETVOLUME">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x194 0x800000 -->
+ <Register field="D1IN3_2INMIX[7:0]"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="FMPlaybackI2SToHeadphone">
+ <Operation identifier="ENABLE">
+ <AudioComponent control_protocol="I2C" identifier="CODEC">
+ <!-- Register 0x65 0xb6 -->
+ <Register field="VOL_SEL_2" misc="shared"/>
+ <!-- Register 0x64 0xb6 -->
+ <Register field="VOL_SEL_1" misc="shared"/>
+ </AudioComponent>
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x100 0x00 -->
+ <Register field="DSP1_DAC_VOLUME_UPDATE" value="0"/>
+ <!-- Register 0x194 0x800000 -->
+ <Register field="D1IN3_2INMIX[7:0]"/>
+ <!-- Register 0x108 0xebeb00 -->
+ <Register field="DSP1_DAC_LEFT_VOL[7:0]" misc="shared"/>
+ <Register field="DSP1_DAC_RIGHT_VOL[7:0]" misc="shared"/>
+ <!-- Register 0x100 0x10 -->
+ <Register field="DSP1_DAC_VOLUME_UPDATE" value="1"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="DISABLE"/>
+ <Operation identifier="SETVOLUME">
+ <AudioComponent control_protocol="APB" identifier="APU">
+ <!-- Register 0x194 0x800000 -->
+ <Register field="D1IN3_2INMIX[7:0]"/>
+ </AudioComponent>
+ </Operation>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+ <AudioPath identifier="FMI2SRecordFromFM">
+ <Operation identifier="ENABLE"/>
+ <Operation identifier="DISABLE"/>
+ <Operation identifier="SETVOLUME"/>
+ <Operation identifier="MUTE"/>
+ </AudioPath>
+
+ <AudioPath alias="HiFi1PlaybackToSpeaker" identifier="VoipPlaybackToSpeaker"/>
+ <AudioPath alias="HiFi1PlaybackToStereoSpeaker" identifier="VoipPlaybackToStereoSpeaker"/>
+ <AudioPath alias="HiFi1PlaybackToHeadphone" identifier="VoipPlaybackToHeadphone"/>
+ <AudioPath alias="HiFi1PlaybackToEarpiece" identifier="VoipPlaybackToEarpiece"/>
+ <AudioPath alias="HiFi1RecordFromAMic1" identifier="VoipRecordFromAMic1"/>
+ <AudioPath alias="HiFi1RecordFromAMic1" identifier="VoipRecordFromAMic1(Speaker Mode)"/>
+ <AudioPath alias="HiFi1RecordFromAMic1" identifier="VoipRecordFromAMic1(Headphone Mode)"/>
+ <AudioPath alias="HiFi1RecordFromAMic2" identifier="VoipRecordFromAMic2"/>
+ <AudioPath alias="HiFi1RecordFromAMic2" identifier="VoipRecordFromAMic2(Speaker Mode)"/>
+ <AudioPath alias="HiFi1RecordFromAMic2" identifier="VoipRecordFromAMic2(Headphone Mode)"/>
+ <AudioPath alias="HiFi1RecordFromHsMic" identifier="VoipRecordFromHsMic"/>
+ <AudioPath alias="HiFi1PlaybackToBTNB" identifier="HiFi1PlaybackToBTNB(NREC Mode)"/>
+ <AudioPath alias="HiFi1PlaybackToBTNB" identifier="HiFi1PlaybackToBTWB"/>
+ <AudioPath alias="HiFi1PlaybackToBTNB" identifier="HiFi1PlaybackToBTWB(NREC Mode)"/>
+ <AudioPath alias="HiFi1PlaybackToBTNB" identifier="VoipPlaybackToBTNB"/>
+ <AudioPath alias="HiFi1PlaybackToBTNB" identifier="VoipPlaybackToBTNB(NREC Mode)"/>
+ <AudioPath alias="HiFi1PlaybackToBTNB" identifier="VoipPlaybackToBTWB"/>
+ <AudioPath alias="HiFi1PlaybackToBTNB" identifier="VoipPlaybackToBTWB(NREC Mode)"/>
+ <AudioPath alias="HiFi1RecordFromBTMicNB" identifier="HiFi1RecordFromBTMicNB(NREC Mode)"/>
+ <AudioPath alias="HiFi1RecordFromBTMicNB" identifier="HiFi1RecordFromBTMicWB"/>
+ <AudioPath alias="HiFi1RecordFromBTMicNB" identifier="HiFi1RecordFromBTMicWB(NREC Mode)"/>
+ <AudioPath alias="HiFi1RecordFromBTMicNB" identifier="VoipRecordFromBTMicNB"/>
+ <AudioPath alias="HiFi1RecordFromBTMicNB" identifier="VoipRecordFromBTMicNB(NREC Mode)"/>
+ <AudioPath alias="HiFi1RecordFromBTMicNB" identifier="VoipRecordFromBTMicWB"/>
+ <AudioPath alias="HiFi1RecordFromBTMicNB" identifier="VoipRecordFromBTMicWB(NREC Mode)"/>
+ <AudioPath alias="VoicePlaybackToBTNB" identifier="VoicePlaybackToBTNB(NREC Mode)"/>
+ <AudioPath alias="VoicePlaybackToBTNB" identifier="VoicePlaybackToBTWB"/>
+ <AudioPath alias="VoicePlaybackToBTNB" identifier="VoicePlaybackToBTWB(NREC Mode)"/>
+ <AudioPath alias="VoiceRecordFromBTMicNB" identifier="VoiceRecordFromBTMicNB(NREC Mode)"/>
+ <AudioPath alias="VoiceRecordFromBTMicNB" identifier="VoiceRecordFromBTMicWB"/>
+ <AudioPath alias="VoiceRecordFromBTMicNB" identifier="VoiceRecordFromBTMicWB(NREC Mode)"/>
+ <AudioPath alias="VoicePlaybackToHeadphone" identifier="VoicePlaybackToTty"/>
+ <AudioPath alias="VoicePlaybackToSpeaker" identifier="VoicePlaybackToTtyHcoSpeaker"/>
+ <AudioPath alias="VoicePlaybackToStereoSpeaker" identifier="VoicePlaybackToTtyHcoStereoSpeaker"/>
+ <AudioPath alias="VoiceRecordFromHsMic" identifier="VoiceRecordFromTty"/>
+ <AudioPath alias="VoiceRecordFromAMic1" identifier="VoiceRecordFromTtyVcoAMic1"/>
+ <AudioPath alias="VoiceRecordFromAMic2" identifier="VoiceRecordFromTtyVcoAMic2"/>
+ <AudioPath alias="VoiceRecordFromDualAMic" identifier="VoiceRecordFromTtyVcoDualMic"/>
+
+ <AudioPath alias="HiFi1RecordFromAMic1" identifier="HiFi1RecognitionRecordFromAMic1"/>
+ <AudioPath alias="HiFi1RecordFromAMic2" identifier="HiFi1RecognitionRecordFromAMic2"/>
+ <AudioPath alias="HiFi1RecordFromHsMic" identifier="HiFi1RecognitionRecordFromHsMic"/>
+ <AudioPath alias="HiFi1RecordFromBTMicNB" identifier="HiFi1RecognitionRecordFromBTMicNB"/>
+ <AudioPath alias="HiFi1RecordFromBTMicNB" identifier="HiFi1RecognitionRecordFromBTMicNB(NREC Mode)"/>
+ <AudioPath alias="HiFi1RecordFromBTMicNB" identifier="HiFi1RecognitionRecordFromBTMicWB"/>
+ <AudioPath alias="HiFi1RecordFromBTMicNB" identifier="HiFi1RecognitionRecordFromBTMicWB(NREC Mode)"/>
+ <AudioPath alias="HiFi1RecordFromDualAMic" identifier="HiFi1RecognitionRecordFromDualAMic"/>
+ <AudioPath alias="HiFi1RecordFromDualAMic" identifier="VoipRecordFromDualAMic"/>
+
+ <AudioPath alias="VoiceRecordFromAMic1" identifier="VoiceRecordFromAMic1(Speaker Mode)"/>
+ <AudioPath alias="VoiceRecordFromAMic1" identifier="VoiceRecordFromAMic1(Headphone Mode)"/>
+ <AudioPath alias="VoiceRecordFromAMic2" identifier="VoiceRecordFromAMic2(Speaker Mode)"/>
+ <AudioPath alias="VoiceRecordFromAMic2" identifier="VoiceRecordFromAMic2(Headphone Mode)"/>
+
+ <AudioPath alias="HiFi1PlaybackToSpeaker" identifier="VTPlaybackToSpeaker"/>
+ <AudioPath alias="HiFi1PlaybackToStereoSpeaker" identifier="VTPlaybackToStereoSpeaker"/>
+ <AudioPath alias="HiFi1PlaybackToHeadphone" identifier="VTPlaybackToHeadphone"/>
+ <AudioPath alias="HiFi1PlaybackToEarpiece" identifier="VTPlaybackToEarpiece"/>
+ <AudioPath alias="HiFi1RecordFromAMic1" identifier="VTRecordFromAMic1"/>
+ <AudioPath alias="HiFi1RecordFromAMic1" identifier="VTRecordFromAMic1(Speaker Mode)"/>
+ <AudioPath alias="HiFi1RecordFromAMic1" identifier="VTRecordFromAMic1(Headphone Mode)"/>
+ <AudioPath alias="HiFi1RecordFromAMic2" identifier="VTRecordFromAMic2"/>
+ <AudioPath alias="HiFi1RecordFromAMic2" identifier="VTRecordFromAMic2(Speaker Mode)"/>
+ <AudioPath alias="HiFi1RecordFromAMic2" identifier="VTRecordFromAMic2(Headphone Mode)"/>
+ <AudioPath alias="HiFi1RecordFromHsMic" identifier="VTRecordFromHsMic"/>
+ <AudioPath alias="HiFi1PlaybackToBTNB" identifier="VTPlaybackToBTNB"/>
+ <AudioPath alias="HiFi1PlaybackToBTNB" identifier="VTPlaybackToBTNB(NREC Mode)"/>
+ <AudioPath alias="HiFi1PlaybackToBTNB" identifier="VTPlaybackToBTWB"/>
+ <AudioPath alias="HiFi1PlaybackToBTNB" identifier="VTPlaybackToBTWB(NREC Mode)"/>
+ <AudioPath alias="HiFi1RecordFromBTMicNB" identifier="VTRecordFromBTMicNB"/>
+ <AudioPath alias="HiFi1RecordFromBTMicNB" identifier="VTRecordFromBTMicNB(NREC Mode)"/>
+ <AudioPath alias="HiFi1RecordFromBTMicNB" identifier="VTRecordFromBTMicWB"/>
+ <AudioPath alias="HiFi1RecordFromBTMicNB" identifier="VTRecordFromBTMicWB(NREC Mode)"/>
+ <AudioPath alias="HiFi1RecordFromDualAMic" identifier="VTRecordFromDualAMic"/>
+
+</MarvellAudioPathConfiguration>
diff --git a/peripheral/audio/platform_audio_config.xml b/peripheral/audio/platform_audio_config.xml
new file mode 100644
index 0000000..189ac9f
--- /dev/null
+++ b/peripheral/audio/platform_audio_config.xml
@@ -0,0 +1,63 @@
+
+<!-- Copyright (C) 2005. Marvell International Ltd -->
+<!-- -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
+<!-- you may not use this file except in compliance with the License.-->
+<!-- You may obtain a copy of the License at-->
+<!-- -->
+<!-- http://www.apache.org/licenses/LICENSE-2.0-->
+<!-- -->
+<!-- Unless required by applicable law or agreed to in writing, software -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and -->
+<!-- limitations under the License. -->
+
+<MarvellPlatformAudioConfiguration>
+ <BoardDeviceList>
+ <Device connectivity="single_ended" coupling="dc">AMIC1</Device>
+ <Device connectivity="single_ended" coupling="dc">AMIC2</Device>
+ <Device connectivity="single_ended" coupling="dc">AMIC1_SPK_MODE</Device>
+ <Device connectivity="single_ended" coupling="dc">AMIC2_SPK_MODE</Device>
+ <Device connectivity="single_ended" coupling="dc">HSMIC</Device>
+ </BoardDeviceList>
+ <AndroidDevice identifier="AUDIO_DEVICE_IN_BUILTIN_MIC">
+ <!-- voice call with 3 mic -->
+ <Application identifier="VoiceCall">
+ <Device>AMIC1</Device>
+ </Application>
+ <!-- VoIP with dual mic -->
+ <Application identifier="VoIP">
+ <Device>AMIC1</Device>
+ </Application>
+ <Application identifier="VT">
+ <Device>AMIC1</Device>
+ </Application>
+ <Application identifier="HFP">
+ <Device>AMIC1</Device>
+ </Application>
+ <!-- default with single mic -->
+ <Application identifier="Default">
+ <Device>AMIC1</Device>
+ </Application>
+ </AndroidDevice>
+ <AndroidDevice identifier="AUDIO_DEVICE_IN_BACK_MIC">
+ <!-- default, only camcorder with with single mic -->
+ <Application identifier="VoiceCall">
+ <Device>AMIC1_SPK_MODE</Device>
+ </Application>
+ <Application identifier="VoIP">
+ <Device>AMIC1_SPK_MODE</Device>
+ </Application>
+ <Application identifier="VT">
+ <Device>AMIC1_SPK_MODE</Device>
+ </Application>
+ <Application identifier="HFP">
+ <Device>AMIC1</Device>
+ </Application>
+ <Application identifier="Default">
+ <Device>AMIC1</Device>
+ </Application>
+ </AndroidDevice>
+
+</MarvellPlatformAudioConfiguration>
diff --git a/soc/iap140/modules/audio_hal_module.mk b/soc/iap140/modules/audio_hal_module.mk
new file mode 100644
index 0000000..fa4aef0
--- /dev/null
+++ b/soc/iap140/modules/audio_hal_module.mk
@@ -0,0 +1,30 @@
+#
+# Copyright 2015 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+# audio modules
+PRODUCT_COPY_FILES += \
+ $(TOP)/vendor/bsp/marvell/device/abox/hal/audio/libacm.so:system/lib/libacm.so \
+ $(TOP)/vendor/bsp/marvell/device/abox/hal/audio/libxml2.so:system/lib/libxml2.so \
+ $(TOP)/vendor/bsp/marvell/device/abox/hal/audio/audio.primary.mrvl.so:system/lib/hw/audio.primary.mrvl.so
+
+PRODUCT_COPY_FILES += \
+ $(TOP)/hardware/bsp/marvell/peripheral/audio/audio_policy.conf:/system/etc/audio_policy.conf \
+ $(TOP)/hardware/bsp/marvell/peripheral/audio/platform_audio_config.xml:/system/etc/platform_audio_config.xml
+
+PRODUCT_PACKAGES += \
+ libaudioutils
+
+-include hardware/bsp/marvell/peripheral/audio/audio_xml/iap140.mk