summaryrefslogtreecommitdiffstats
path: root/yamaha-mc1n2-audio/device
diff options
context:
space:
mode:
authorAndrew Dodd <atd7@cornell.edu>2012-11-10 14:23:08 -0500
committercodeworkx <codeworkx@cyanogenmod.org>2012-12-02 15:33:50 +0100
commitcdc1a96ac05f2eb3e2fea69aa90a18ae3d5696cd (patch)
tree45b05501c3321d44b4a6e48c39f06d000911e41f /yamaha-mc1n2-audio/device
parentfd9472ca4bff6c415a1bdfc95a56e64efee5ccf7 (diff)
downloaddevice_samsung_galaxys2-common-cdc1a96ac05f2eb3e2fea69aa90a18ae3d5696cd.zip
device_samsung_galaxys2-common-cdc1a96ac05f2eb3e2fea69aa90a18ae3d5696cd.tar.gz
device_samsung_galaxys2-common-cdc1a96ac05f2eb3e2fea69aa90a18ae3d5696cd.tar.bz2
mc1n2: Opensource audio HAL from Replicant
Thanks to Paul Kocialkowski of the Replicant project for this work. Original sources: https://gitorious.org/replicant/hardware_tinyalsa-audio http://git.paulk.fr/gitweb/?p=yamaha-mc1n2-audio.git;a=summary Change-Id: Ia3d89c67d64decb56e3d6518c5f382d38e5a1fa9
Diffstat (limited to 'yamaha-mc1n2-audio/device')
-rw-r--r--yamaha-mc1n2-audio/device/galaxys2.c860
1 files changed, 860 insertions, 0 deletions
diff --git a/yamaha-mc1n2-audio/device/galaxys2.c b/yamaha-mc1n2-audio/device/galaxys2.c
new file mode 100644
index 0000000..9bd2c43
--- /dev/null
+++ b/yamaha-mc1n2-audio/device/galaxys2.c
@@ -0,0 +1,860 @@
+/*
+ * Copyright (C) 2012 Paul Kocialkowski <contact@paulk.fr>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+
+#define LOG_TAG "Yamaha-MC1N2-Audio"
+#include <cutils/log.h>
+
+#include <yamaha-mc1n2-audio.h>
+
+struct yamaha_mc1n2_audio_params_init galaxys2_params_init = {
+ .ae_info = {
+ .bOnOff = 0x00,
+ .abBex = { 0x00 },
+ .abWide = { 0x00 },
+ .abDrc = { 0x00 },
+ .abEq5 = { 0x00 },
+ .abEq3 = { 0x00 },
+ },
+
+ .path_info = {
+ .asHpOut[0].abSrcOnOff[0] = MCDRV_SRC0_MIC3_OFF | MCDRV_SRC0_MIC2_OFF | MCDRV_SRC0_MIC1_OFF,
+ .asHpOut[0].abSrcOnOff[1] = MCDRV_SRC1_LINE1_M_OFF | MCDRV_SRC1_LINE1_R_OFF | MCDRV_SRC1_LINE1_L_OFF,
+ .asHpOut[0].abSrcOnOff[2] = MCDRV_SRC2_LINE2_M_OFF | MCDRV_SRC2_LINE2_R_OFF | MCDRV_SRC2_LINE2_L_OFF,
+ .asHpOut[0].abSrcOnOff[3] = MCDRV_SRC3_DIR2_DIRECT_OFF | MCDRV_SRC3_DIR2_OFF | MCDRV_SRC3_DIR1_OFF | MCDRV_SRC3_DIR0_OFF,
+ .asHpOut[0].abSrcOnOff[4] = MCDRV_SRC4_ADC1_OFF | MCDRV_SRC4_ADC0_OFF | MCDRV_SRC4_PDM_OFF | MCDRV_SRC4_DTMF_OFF,
+ .asHpOut[0].abSrcOnOff[5] = MCDRV_SRC5_DAC_M_OFF | MCDRV_SRC5_DAC_R_OFF | MCDRV_SRC5_DAC_L_OFF,
+ .asHpOut[0].abSrcOnOff[6] = MCDRV_SRC6_CDSP_DIRECT_OFF | MCDRV_SRC6_CDSP_OFF | MCDRV_SRC6_AE_OFF | MCDRV_SRC6_MIX_OFF,
+ .asHpOut[1].abSrcOnOff[0] = MCDRV_SRC0_MIC3_OFF | MCDRV_SRC0_MIC2_OFF | MCDRV_SRC0_MIC1_OFF,
+ .asHpOut[1].abSrcOnOff[1] = MCDRV_SRC1_LINE1_M_OFF | MCDRV_SRC1_LINE1_R_OFF | MCDRV_SRC1_LINE1_L_OFF,
+ .asHpOut[1].abSrcOnOff[2] = MCDRV_SRC2_LINE2_M_OFF | MCDRV_SRC2_LINE2_R_OFF | MCDRV_SRC2_LINE2_L_OFF,
+ .asHpOut[1].abSrcOnOff[3] = MCDRV_SRC3_DIR2_DIRECT_OFF | MCDRV_SRC3_DIR2_OFF | MCDRV_SRC3_DIR1_OFF | MCDRV_SRC3_DIR0_OFF,
+ .asHpOut[1].abSrcOnOff[4] = MCDRV_SRC4_ADC1_OFF | MCDRV_SRC4_ADC0_OFF | MCDRV_SRC4_PDM_OFF | MCDRV_SRC4_DTMF_OFF,
+ .asHpOut[1].abSrcOnOff[5] = MCDRV_SRC5_DAC_M_OFF | MCDRV_SRC5_DAC_R_OFF | MCDRV_SRC5_DAC_L_OFF,
+ .asHpOut[1].abSrcOnOff[6] = MCDRV_SRC6_CDSP_DIRECT_OFF | MCDRV_SRC6_CDSP_OFF | MCDRV_SRC6_AE_OFF | MCDRV_SRC6_MIX_OFF,
+
+ .asSpOut[0].abSrcOnOff[0] = MCDRV_SRC0_MIC3_OFF | MCDRV_SRC0_MIC2_OFF | MCDRV_SRC0_MIC1_OFF,
+ .asSpOut[0].abSrcOnOff[1] = MCDRV_SRC1_LINE1_M_OFF | MCDRV_SRC1_LINE1_R_OFF | MCDRV_SRC1_LINE1_L_OFF,
+ .asSpOut[0].abSrcOnOff[2] = MCDRV_SRC2_LINE2_M_OFF | MCDRV_SRC2_LINE2_R_OFF | MCDRV_SRC2_LINE2_L_OFF,
+ .asSpOut[0].abSrcOnOff[3] = MCDRV_SRC3_DIR2_DIRECT_OFF | MCDRV_SRC3_DIR2_OFF | MCDRV_SRC3_DIR1_OFF | MCDRV_SRC3_DIR0_OFF,
+ .asSpOut[0].abSrcOnOff[4] = MCDRV_SRC4_ADC1_OFF | MCDRV_SRC4_ADC0_OFF | MCDRV_SRC4_PDM_OFF | MCDRV_SRC4_DTMF_OFF,
+ .asSpOut[0].abSrcOnOff[5] = MCDRV_SRC5_DAC_M_OFF | MCDRV_SRC5_DAC_R_OFF | MCDRV_SRC5_DAC_L_OFF,
+ .asSpOut[0].abSrcOnOff[6] = MCDRV_SRC6_CDSP_DIRECT_OFF | MCDRV_SRC6_CDSP_OFF | MCDRV_SRC6_AE_OFF | MCDRV_SRC6_MIX_OFF,
+ .asSpOut[1].abSrcOnOff[0] = MCDRV_SRC0_MIC3_OFF | MCDRV_SRC0_MIC2_OFF | MCDRV_SRC0_MIC1_OFF,
+ .asSpOut[1].abSrcOnOff[1] = MCDRV_SRC1_LINE1_M_OFF | MCDRV_SRC1_LINE1_R_OFF | MCDRV_SRC1_LINE1_L_OFF,
+ .asSpOut[1].abSrcOnOff[2] = MCDRV_SRC2_LINE2_M_OFF | MCDRV_SRC2_LINE2_R_OFF | MCDRV_SRC2_LINE2_L_OFF,
+ .asSpOut[1].abSrcOnOff[3] = MCDRV_SRC3_DIR2_DIRECT_OFF | MCDRV_SRC3_DIR2_OFF | MCDRV_SRC3_DIR1_OFF | MCDRV_SRC3_DIR0_OFF,
+ .asSpOut[1].abSrcOnOff[4] = MCDRV_SRC4_ADC1_OFF | MCDRV_SRC4_ADC0_OFF | MCDRV_SRC4_PDM_OFF | MCDRV_SRC4_DTMF_OFF,
+ .asSpOut[1].abSrcOnOff[5] = MCDRV_SRC5_DAC_M_OFF | MCDRV_SRC5_DAC_R_OFF | MCDRV_SRC5_DAC_L_OFF,
+ .asSpOut[1].abSrcOnOff[6] = MCDRV_SRC6_CDSP_DIRECT_OFF | MCDRV_SRC6_CDSP_OFF | MCDRV_SRC6_AE_OFF | MCDRV_SRC6_MIX_OFF,
+
+ .asRcOut[0].abSrcOnOff[0] = MCDRV_SRC0_MIC3_OFF | MCDRV_SRC0_MIC2_OFF | MCDRV_SRC0_MIC1_OFF,
+ .asRcOut[0].abSrcOnOff[1] = MCDRV_SRC1_LINE1_M_OFF | MCDRV_SRC1_LINE1_R_OFF | MCDRV_SRC1_LINE1_L_OFF,
+ .asRcOut[0].abSrcOnOff[2] = MCDRV_SRC2_LINE2_M_OFF | MCDRV_SRC2_LINE2_R_OFF | MCDRV_SRC2_LINE2_L_OFF,
+ .asRcOut[0].abSrcOnOff[3] = MCDRV_SRC3_DIR2_DIRECT_OFF | MCDRV_SRC3_DIR2_OFF | MCDRV_SRC3_DIR1_OFF | MCDRV_SRC3_DIR0_OFF,
+ .asRcOut[0].abSrcOnOff[4] = MCDRV_SRC4_ADC1_OFF | MCDRV_SRC4_ADC0_OFF | MCDRV_SRC4_PDM_OFF | MCDRV_SRC4_DTMF_OFF,
+ .asRcOut[0].abSrcOnOff[5] = MCDRV_SRC5_DAC_M_OFF | MCDRV_SRC5_DAC_R_OFF | MCDRV_SRC5_DAC_L_OFF,
+ .asRcOut[0].abSrcOnOff[6] = MCDRV_SRC6_CDSP_DIRECT_OFF | MCDRV_SRC6_CDSP_OFF | MCDRV_SRC6_AE_OFF | MCDRV_SRC6_MIX_OFF,
+
+ .asLout1[0].abSrcOnOff[0] = MCDRV_SRC0_MIC3_OFF | MCDRV_SRC0_MIC2_OFF | MCDRV_SRC0_MIC1_OFF,
+ .asLout1[0].abSrcOnOff[1] = MCDRV_SRC1_LINE1_M_OFF | MCDRV_SRC1_LINE1_R_OFF | MCDRV_SRC1_LINE1_L_OFF,
+ .asLout1[0].abSrcOnOff[2] = MCDRV_SRC2_LINE2_M_OFF | MCDRV_SRC2_LINE2_R_OFF | MCDRV_SRC2_LINE2_L_OFF,
+ .asLout1[0].abSrcOnOff[3] = MCDRV_SRC3_DIR2_DIRECT_OFF | MCDRV_SRC3_DIR2_OFF | MCDRV_SRC3_DIR1_OFF | MCDRV_SRC3_DIR0_OFF,
+ .asLout1[0].abSrcOnOff[4] = MCDRV_SRC4_ADC1_OFF | MCDRV_SRC4_ADC0_OFF | MCDRV_SRC4_PDM_OFF | MCDRV_SRC4_DTMF_OFF,
+ .asLout1[0].abSrcOnOff[5] = MCDRV_SRC5_DAC_M_OFF | MCDRV_SRC5_DAC_R_OFF | MCDRV_SRC5_DAC_L_OFF,
+ .asLout1[0].abSrcOnOff[6] = MCDRV_SRC6_CDSP_DIRECT_OFF | MCDRV_SRC6_CDSP_OFF | MCDRV_SRC6_AE_OFF | MCDRV_SRC6_MIX_OFF,
+ .asLout1[1].abSrcOnOff[0] = MCDRV_SRC0_MIC3_OFF | MCDRV_SRC0_MIC2_OFF | MCDRV_SRC0_MIC1_OFF,
+ .asLout1[1].abSrcOnOff[1] = MCDRV_SRC1_LINE1_M_OFF | MCDRV_SRC1_LINE1_R_OFF | MCDRV_SRC1_LINE1_L_OFF,
+ .asLout1[1].abSrcOnOff[2] = MCDRV_SRC2_LINE2_M_OFF | MCDRV_SRC2_LINE2_R_OFF | MCDRV_SRC2_LINE2_L_OFF,
+ .asLout1[1].abSrcOnOff[3] = MCDRV_SRC3_DIR2_DIRECT_OFF | MCDRV_SRC3_DIR2_OFF | MCDRV_SRC3_DIR1_OFF | MCDRV_SRC3_DIR0_OFF,
+ .asLout1[1].abSrcOnOff[4] = MCDRV_SRC4_ADC1_OFF | MCDRV_SRC4_ADC0_OFF | MCDRV_SRC4_PDM_OFF | MCDRV_SRC4_DTMF_OFF,
+ .asLout1[1].abSrcOnOff[5] = MCDRV_SRC5_DAC_M_OFF | MCDRV_SRC5_DAC_R_OFF | MCDRV_SRC5_DAC_L_OFF,
+ .asLout1[1].abSrcOnOff[6] = MCDRV_SRC6_CDSP_DIRECT_OFF | MCDRV_SRC6_CDSP_OFF | MCDRV_SRC6_AE_OFF | MCDRV_SRC6_MIX_OFF,
+
+ .asLout2[0].abSrcOnOff[0] = MCDRV_SRC0_MIC3_OFF | MCDRV_SRC0_MIC2_OFF | MCDRV_SRC0_MIC1_OFF,
+ .asLout2[0].abSrcOnOff[1] = MCDRV_SRC1_LINE1_M_OFF | MCDRV_SRC1_LINE1_R_OFF | MCDRV_SRC1_LINE1_L_OFF,
+ .asLout2[0].abSrcOnOff[2] = MCDRV_SRC2_LINE2_M_OFF | MCDRV_SRC2_LINE2_R_OFF | MCDRV_SRC2_LINE2_L_OFF,
+ .asLout2[0].abSrcOnOff[3] = MCDRV_SRC3_DIR2_DIRECT_OFF | MCDRV_SRC3_DIR2_OFF | MCDRV_SRC3_DIR1_OFF | MCDRV_SRC3_DIR0_OFF,
+ .asLout2[0].abSrcOnOff[4] = MCDRV_SRC4_ADC1_OFF | MCDRV_SRC4_ADC0_OFF | MCDRV_SRC4_PDM_OFF | MCDRV_SRC4_DTMF_OFF,
+ .asLout2[0].abSrcOnOff[5] = MCDRV_SRC5_DAC_M_OFF | MCDRV_SRC5_DAC_R_OFF | MCDRV_SRC5_DAC_L_OFF,
+ .asLout2[0].abSrcOnOff[6] = MCDRV_SRC6_CDSP_DIRECT_OFF | MCDRV_SRC6_CDSP_OFF | MCDRV_SRC6_AE_OFF | MCDRV_SRC6_MIX_OFF,
+ .asLout2[1].abSrcOnOff[0] = MCDRV_SRC0_MIC3_OFF | MCDRV_SRC0_MIC2_OFF | MCDRV_SRC0_MIC1_OFF,
+ .asLout2[1].abSrcOnOff[1] = MCDRV_SRC1_LINE1_M_OFF | MCDRV_SRC1_LINE1_R_OFF | MCDRV_SRC1_LINE1_L_OFF,
+ .asLout2[1].abSrcOnOff[2] = MCDRV_SRC2_LINE2_M_OFF | MCDRV_SRC2_LINE2_R_OFF | MCDRV_SRC2_LINE2_L_OFF,
+ .asLout2[1].abSrcOnOff[3] = MCDRV_SRC3_DIR2_DIRECT_OFF | MCDRV_SRC3_DIR2_OFF | MCDRV_SRC3_DIR1_OFF | MCDRV_SRC3_DIR0_OFF,
+ .asLout2[1].abSrcOnOff[4] = MCDRV_SRC4_ADC1_OFF | MCDRV_SRC4_ADC0_OFF | MCDRV_SRC4_PDM_OFF | MCDRV_SRC4_DTMF_OFF,
+ .asLout2[1].abSrcOnOff[5] = MCDRV_SRC5_DAC_M_OFF | MCDRV_SRC5_DAC_R_OFF | MCDRV_SRC5_DAC_L_OFF,
+ .asLout2[1].abSrcOnOff[6] = MCDRV_SRC6_CDSP_DIRECT_OFF | MCDRV_SRC6_CDSP_OFF | MCDRV_SRC6_AE_OFF | MCDRV_SRC6_MIX_OFF,
+
+ .asPeak[0].abSrcOnOff[0] = MCDRV_SRC0_MIC3_OFF | MCDRV_SRC0_MIC2_OFF | MCDRV_SRC0_MIC1_OFF,
+ .asPeak[0].abSrcOnOff[1] = MCDRV_SRC1_LINE1_M_OFF | MCDRV_SRC1_LINE1_R_OFF | MCDRV_SRC1_LINE1_L_OFF,
+ .asPeak[0].abSrcOnOff[2] = MCDRV_SRC2_LINE2_M_OFF | MCDRV_SRC2_LINE2_R_OFF | MCDRV_SRC2_LINE2_L_OFF,
+ .asPeak[0].abSrcOnOff[3] = MCDRV_SRC3_DIR2_DIRECT_OFF | MCDRV_SRC3_DIR2_OFF | MCDRV_SRC3_DIR1_OFF | MCDRV_SRC3_DIR0_OFF,
+ .asPeak[0].abSrcOnOff[4] = MCDRV_SRC4_ADC1_OFF | MCDRV_SRC4_ADC0_OFF | MCDRV_SRC4_PDM_OFF | MCDRV_SRC4_DTMF_OFF,
+ .asPeak[0].abSrcOnOff[5] = MCDRV_SRC5_DAC_M_OFF | MCDRV_SRC5_DAC_R_OFF | MCDRV_SRC5_DAC_L_OFF,
+ .asPeak[0].abSrcOnOff[6] = MCDRV_SRC6_CDSP_DIRECT_OFF | MCDRV_SRC6_CDSP_OFF | MCDRV_SRC6_AE_OFF | MCDRV_SRC6_MIX_OFF,
+
+ .asDit0[0].abSrcOnOff = { 0x00 },
+
+ .asDit1[0].abSrcOnOff[0] = MCDRV_SRC0_MIC3_OFF | MCDRV_SRC0_MIC2_OFF | MCDRV_SRC0_MIC1_OFF,
+ .asDit1[0].abSrcOnOff[1] = MCDRV_SRC1_LINE1_M_OFF | MCDRV_SRC1_LINE1_R_OFF | MCDRV_SRC1_LINE1_L_OFF,
+ .asDit1[0].abSrcOnOff[2] = MCDRV_SRC2_LINE2_M_OFF | MCDRV_SRC2_LINE2_R_OFF | MCDRV_SRC2_LINE2_L_OFF,
+ .asDit1[0].abSrcOnOff[3] = MCDRV_SRC3_DIR2_DIRECT_OFF | MCDRV_SRC3_DIR2_OFF | MCDRV_SRC3_DIR1_OFF | MCDRV_SRC3_DIR0_OFF,
+ .asDit1[0].abSrcOnOff[4] = MCDRV_SRC4_ADC1_OFF | MCDRV_SRC4_ADC0_OFF | MCDRV_SRC4_PDM_OFF | MCDRV_SRC4_DTMF_OFF,
+ .asDit1[0].abSrcOnOff[5] = MCDRV_SRC5_DAC_M_OFF | MCDRV_SRC5_DAC_R_OFF | MCDRV_SRC5_DAC_L_OFF,
+ .asDit1[0].abSrcOnOff[6] = MCDRV_SRC6_CDSP_DIRECT_OFF | MCDRV_SRC6_CDSP_OFF | MCDRV_SRC6_AE_OFF | MCDRV_SRC6_MIX_OFF,
+
+ .asDit2[0].abSrcOnOff[0] = MCDRV_SRC0_MIC3_OFF | MCDRV_SRC0_MIC2_OFF | MCDRV_SRC0_MIC1_OFF,
+ .asDit2[0].abSrcOnOff[1] = MCDRV_SRC1_LINE1_M_OFF | MCDRV_SRC1_LINE1_R_OFF | MCDRV_SRC1_LINE1_L_OFF,
+ .asDit2[0].abSrcOnOff[2] = MCDRV_SRC2_LINE2_M_OFF | MCDRV_SRC2_LINE2_R_OFF | MCDRV_SRC2_LINE2_L_OFF,
+ .asDit2[0].abSrcOnOff[3] = MCDRV_SRC3_DIR2_DIRECT_OFF | MCDRV_SRC3_DIR2_OFF | MCDRV_SRC3_DIR1_OFF | MCDRV_SRC3_DIR0_OFF,
+ .asDit2[0].abSrcOnOff[4] = MCDRV_SRC4_ADC1_OFF | MCDRV_SRC4_ADC0_OFF | MCDRV_SRC4_PDM_OFF | MCDRV_SRC4_DTMF_OFF,
+ .asDit2[0].abSrcOnOff[5] = MCDRV_SRC5_DAC_M_OFF | MCDRV_SRC5_DAC_R_OFF | MCDRV_SRC5_DAC_L_OFF,
+ .asDit2[0].abSrcOnOff[6] = MCDRV_SRC6_CDSP_DIRECT_OFF | MCDRV_SRC6_CDSP_OFF | MCDRV_SRC6_AE_OFF | MCDRV_SRC6_MIX_OFF,
+
+ .asDac[0].abSrcOnOff[0] = MCDRV_SRC0_MIC3_OFF | MCDRV_SRC0_MIC2_OFF | MCDRV_SRC0_MIC1_OFF,
+ .asDac[0].abSrcOnOff[1] = MCDRV_SRC1_LINE1_M_OFF | MCDRV_SRC1_LINE1_R_OFF | MCDRV_SRC1_LINE1_L_OFF,
+ .asDac[0].abSrcOnOff[2] = MCDRV_SRC2_LINE2_M_OFF | MCDRV_SRC2_LINE2_R_OFF | MCDRV_SRC2_LINE2_L_OFF,
+ .asDac[0].abSrcOnOff[3] = MCDRV_SRC3_DIR2_DIRECT_OFF | MCDRV_SRC3_DIR2_OFF | MCDRV_SRC3_DIR1_OFF | MCDRV_SRC3_DIR0_OFF,
+ .asDac[0].abSrcOnOff[4] = MCDRV_SRC4_ADC1_OFF | MCDRV_SRC4_ADC0_OFF | MCDRV_SRC4_PDM_OFF | MCDRV_SRC4_DTMF_OFF,
+ .asDac[0].abSrcOnOff[5] = MCDRV_SRC5_DAC_M_OFF | MCDRV_SRC5_DAC_R_OFF | MCDRV_SRC5_DAC_L_OFF,
+ .asDac[0].abSrcOnOff[6] = MCDRV_SRC6_CDSP_DIRECT_OFF | MCDRV_SRC6_CDSP_OFF | MCDRV_SRC6_AE_OFF | MCDRV_SRC6_MIX_OFF,
+ .asDac[1].abSrcOnOff[0] = MCDRV_SRC0_MIC3_OFF | MCDRV_SRC0_MIC2_OFF | MCDRV_SRC0_MIC1_OFF,
+ .asDac[1].abSrcOnOff[1] = MCDRV_SRC1_LINE1_M_OFF | MCDRV_SRC1_LINE1_R_OFF | MCDRV_SRC1_LINE1_L_OFF,
+ .asDac[1].abSrcOnOff[2] = MCDRV_SRC2_LINE2_M_OFF | MCDRV_SRC2_LINE2_R_OFF | MCDRV_SRC2_LINE2_L_OFF,
+ .asDac[1].abSrcOnOff[3] = MCDRV_SRC3_DIR2_DIRECT_OFF | MCDRV_SRC3_DIR2_OFF | MCDRV_SRC3_DIR1_OFF | MCDRV_SRC3_DIR0_OFF,
+ .asDac[1].abSrcOnOff[4] = MCDRV_SRC4_ADC1_OFF | MCDRV_SRC4_ADC0_OFF | MCDRV_SRC4_PDM_OFF | MCDRV_SRC4_DTMF_OFF,
+ .asDac[1].abSrcOnOff[5] = MCDRV_SRC5_DAC_M_OFF | MCDRV_SRC5_DAC_R_OFF | MCDRV_SRC5_DAC_L_OFF,
+ .asDac[1].abSrcOnOff[6] = MCDRV_SRC6_CDSP_DIRECT_OFF | MCDRV_SRC6_CDSP_OFF | MCDRV_SRC6_AE_OFF | MCDRV_SRC6_MIX_OFF,
+
+ .asAe[0].abSrcOnOff[0] = MCDRV_SRC0_MIC3_OFF | MCDRV_SRC0_MIC2_OFF | MCDRV_SRC0_MIC1_OFF,
+ .asAe[0].abSrcOnOff[1] = MCDRV_SRC1_LINE1_M_OFF | MCDRV_SRC1_LINE1_R_OFF | MCDRV_SRC1_LINE1_L_OFF,
+ .asAe[0].abSrcOnOff[2] = MCDRV_SRC2_LINE2_M_OFF | MCDRV_SRC2_LINE2_R_OFF | MCDRV_SRC2_LINE2_L_OFF,
+ .asAe[0].abSrcOnOff[3] = MCDRV_SRC3_DIR2_DIRECT_OFF | MCDRV_SRC3_DIR2_OFF | MCDRV_SRC3_DIR1_OFF | MCDRV_SRC3_DIR0_OFF,
+ .asAe[0].abSrcOnOff[4] = MCDRV_SRC4_ADC1_OFF | MCDRV_SRC4_ADC0_OFF | MCDRV_SRC4_PDM_OFF | MCDRV_SRC4_DTMF_OFF,
+ .asAe[0].abSrcOnOff[5] = MCDRV_SRC5_DAC_M_OFF | MCDRV_SRC5_DAC_R_OFF | MCDRV_SRC5_DAC_L_OFF,
+ .asAe[0].abSrcOnOff[6] = MCDRV_SRC6_CDSP_DIRECT_OFF | MCDRV_SRC6_CDSP_OFF | MCDRV_SRC6_AE_OFF | MCDRV_SRC6_MIX_OFF,
+
+ .asCdsp[0].abSrcOnOff[0] = MCDRV_SRC0_MIC3_OFF | MCDRV_SRC0_MIC2_OFF | MCDRV_SRC0_MIC1_OFF,
+ .asCdsp[0].abSrcOnOff[1] = MCDRV_SRC1_LINE1_M_OFF | MCDRV_SRC1_LINE1_R_OFF | MCDRV_SRC1_LINE1_L_OFF,
+ .asCdsp[0].abSrcOnOff[2] = MCDRV_SRC2_LINE2_M_OFF | MCDRV_SRC2_LINE2_R_OFF | MCDRV_SRC2_LINE2_L_OFF,
+ .asCdsp[0].abSrcOnOff[3] = MCDRV_SRC3_DIR2_DIRECT_OFF | MCDRV_SRC3_DIR2_OFF | MCDRV_SRC3_DIR1_OFF | MCDRV_SRC3_DIR0_OFF,
+ .asCdsp[0].abSrcOnOff[4] = MCDRV_SRC4_ADC1_OFF | MCDRV_SRC4_ADC0_OFF | MCDRV_SRC4_PDM_OFF | MCDRV_SRC4_DTMF_OFF,
+ .asCdsp[0].abSrcOnOff[5] = MCDRV_SRC5_DAC_M_OFF | MCDRV_SRC5_DAC_R_OFF | MCDRV_SRC5_DAC_L_OFF,
+ .asCdsp[0].abSrcOnOff[6] = MCDRV_SRC6_CDSP_DIRECT_OFF | MCDRV_SRC6_CDSP_OFF | MCDRV_SRC6_AE_OFF | MCDRV_SRC6_MIX_OFF,
+ .asCdsp[1].abSrcOnOff[0] = MCDRV_SRC0_MIC3_OFF | MCDRV_SRC0_MIC2_OFF | MCDRV_SRC0_MIC1_OFF,
+ .asCdsp[1].abSrcOnOff[1] = MCDRV_SRC1_LINE1_M_OFF | MCDRV_SRC1_LINE1_R_OFF | MCDRV_SRC1_LINE1_L_OFF,
+ .asCdsp[1].abSrcOnOff[2] = MCDRV_SRC2_LINE2_M_OFF | MCDRV_SRC2_LINE2_R_OFF | MCDRV_SRC2_LINE2_L_OFF,
+ .asCdsp[1].abSrcOnOff[3] = MCDRV_SRC3_DIR2_DIRECT_OFF | MCDRV_SRC3_DIR2_OFF | MCDRV_SRC3_DIR1_OFF | MCDRV_SRC3_DIR0_OFF,
+ .asCdsp[1].abSrcOnOff[4] = MCDRV_SRC4_ADC1_OFF | MCDRV_SRC4_ADC0_OFF | MCDRV_SRC4_PDM_OFF | MCDRV_SRC4_DTMF_OFF,
+ .asCdsp[1].abSrcOnOff[5] = MCDRV_SRC5_DAC_M_OFF | MCDRV_SRC5_DAC_R_OFF | MCDRV_SRC5_DAC_L_OFF,
+ .asCdsp[1].abSrcOnOff[6] = MCDRV_SRC6_CDSP_DIRECT_OFF | MCDRV_SRC6_CDSP_OFF | MCDRV_SRC6_AE_OFF | MCDRV_SRC6_MIX_OFF,
+ .asCdsp[2].abSrcOnOff = { 0x00 },
+ .asCdsp[3].abSrcOnOff = { 0x00 },
+
+ .asAdc0[0].abSrcOnOff[0] = MCDRV_SRC0_MIC3_OFF | MCDRV_SRC0_MIC2_OFF | MCDRV_SRC0_MIC1_OFF,
+ .asAdc0[0].abSrcOnOff[1] = MCDRV_SRC1_LINE1_M_OFF | MCDRV_SRC1_LINE1_R_OFF | MCDRV_SRC1_LINE1_L_OFF,
+ .asAdc0[0].abSrcOnOff[2] = MCDRV_SRC2_LINE2_M_OFF | MCDRV_SRC2_LINE2_R_OFF | MCDRV_SRC2_LINE2_L_OFF,
+ .asAdc0[0].abSrcOnOff[3] = MCDRV_SRC3_DIR2_DIRECT_OFF | MCDRV_SRC3_DIR2_OFF | MCDRV_SRC3_DIR1_OFF | MCDRV_SRC3_DIR0_OFF,
+ .asAdc0[0].abSrcOnOff[4] = MCDRV_SRC4_ADC1_OFF | MCDRV_SRC4_ADC0_OFF | MCDRV_SRC4_PDM_OFF | MCDRV_SRC4_DTMF_OFF,
+ .asAdc0[0].abSrcOnOff[5] = MCDRV_SRC5_DAC_M_OFF | MCDRV_SRC5_DAC_R_OFF | MCDRV_SRC5_DAC_L_OFF,
+ .asAdc0[0].abSrcOnOff[6] = MCDRV_SRC6_CDSP_DIRECT_OFF | MCDRV_SRC6_CDSP_OFF | MCDRV_SRC6_AE_OFF | MCDRV_SRC6_MIX_OFF,
+ .asAdc0[1].abSrcOnOff[0] = MCDRV_SRC0_MIC3_OFF | MCDRV_SRC0_MIC2_OFF | MCDRV_SRC0_MIC1_OFF,
+ .asAdc0[1].abSrcOnOff[1] = MCDRV_SRC1_LINE1_M_OFF | MCDRV_SRC1_LINE1_R_OFF | MCDRV_SRC1_LINE1_L_OFF,
+ .asAdc0[1].abSrcOnOff[2] = MCDRV_SRC2_LINE2_M_OFF | MCDRV_SRC2_LINE2_R_OFF | MCDRV_SRC2_LINE2_L_OFF,
+ .asAdc0[1].abSrcOnOff[3] = MCDRV_SRC3_DIR2_DIRECT_OFF | MCDRV_SRC3_DIR2_OFF | MCDRV_SRC3_DIR1_OFF | MCDRV_SRC3_DIR0_OFF,
+ .asAdc0[1].abSrcOnOff[4] = MCDRV_SRC4_ADC1_OFF | MCDRV_SRC4_ADC0_OFF | MCDRV_SRC4_PDM_OFF | MCDRV_SRC4_DTMF_OFF,
+ .asAdc0[1].abSrcOnOff[5] = MCDRV_SRC5_DAC_M_OFF | MCDRV_SRC5_DAC_R_OFF | MCDRV_SRC5_DAC_L_OFF,
+ .asAdc0[1].abSrcOnOff[6] = MCDRV_SRC6_CDSP_DIRECT_OFF | MCDRV_SRC6_CDSP_OFF | MCDRV_SRC6_AE_OFF | MCDRV_SRC6_MIX_OFF,
+
+ .asAdc1[0].abSrcOnOff[0] = MCDRV_SRC0_MIC3_OFF | MCDRV_SRC0_MIC2_OFF | MCDRV_SRC0_MIC1_OFF,
+ .asAdc1[0].abSrcOnOff[1] = MCDRV_SRC1_LINE1_M_OFF | MCDRV_SRC1_LINE1_R_OFF | MCDRV_SRC1_LINE1_L_OFF,
+ .asAdc1[0].abSrcOnOff[2] = MCDRV_SRC2_LINE2_M_OFF | MCDRV_SRC2_LINE2_R_OFF | MCDRV_SRC2_LINE2_L_OFF,
+ .asAdc1[0].abSrcOnOff[3] = MCDRV_SRC3_DIR2_DIRECT_OFF | MCDRV_SRC3_DIR2_OFF | MCDRV_SRC3_DIR1_OFF | MCDRV_SRC3_DIR0_OFF,
+ .asAdc1[0].abSrcOnOff[4] = MCDRV_SRC4_ADC1_OFF | MCDRV_SRC4_ADC0_OFF | MCDRV_SRC4_PDM_OFF | MCDRV_SRC4_DTMF_OFF,
+ .asAdc1[0].abSrcOnOff[5] = MCDRV_SRC5_DAC_M_OFF | MCDRV_SRC5_DAC_R_OFF | MCDRV_SRC5_DAC_L_OFF,
+ .asAdc1[0].abSrcOnOff[6] = MCDRV_SRC6_CDSP_DIRECT_OFF | MCDRV_SRC6_CDSP_OFF | MCDRV_SRC6_AE_OFF | MCDRV_SRC6_MIX_OFF,
+
+ .asMix[0].abSrcOnOff[0] = MCDRV_SRC0_MIC3_OFF | MCDRV_SRC0_MIC2_OFF | MCDRV_SRC0_MIC1_OFF,
+ .asMix[0].abSrcOnOff[1] = MCDRV_SRC1_LINE1_M_OFF | MCDRV_SRC1_LINE1_R_OFF | MCDRV_SRC1_LINE1_L_OFF,
+ .asMix[0].abSrcOnOff[2] = MCDRV_SRC2_LINE2_M_OFF | MCDRV_SRC2_LINE2_R_OFF | MCDRV_SRC2_LINE2_L_OFF,
+ .asMix[0].abSrcOnOff[3] = MCDRV_SRC3_DIR2_DIRECT_OFF | MCDRV_SRC3_DIR2_OFF | MCDRV_SRC3_DIR1_OFF | MCDRV_SRC3_DIR0_OFF,
+ .asMix[0].abSrcOnOff[4] = MCDRV_SRC4_ADC1_OFF | MCDRV_SRC4_ADC0_OFF | MCDRV_SRC4_PDM_OFF | MCDRV_SRC4_DTMF_OFF,
+ .asMix[0].abSrcOnOff[5] = MCDRV_SRC5_DAC_M_OFF | MCDRV_SRC5_DAC_R_OFF | MCDRV_SRC5_DAC_L_OFF,
+ .asMix[0].abSrcOnOff[6] = MCDRV_SRC6_CDSP_DIRECT_OFF | MCDRV_SRC6_CDSP_OFF | MCDRV_SRC6_AE_OFF | MCDRV_SRC6_MIX_OFF,
+
+ .asBias[0].abSrcOnOff[0] = MCDRV_SRC0_MIC3_OFF | MCDRV_SRC0_MIC2_OFF | MCDRV_SRC0_MIC1_OFF,
+ .asBias[0].abSrcOnOff[1] = MCDRV_SRC1_LINE1_M_OFF | MCDRV_SRC1_LINE1_R_OFF | MCDRV_SRC1_LINE1_L_OFF,
+ .asBias[0].abSrcOnOff[2] = MCDRV_SRC2_LINE2_M_OFF | MCDRV_SRC2_LINE2_R_OFF | MCDRV_SRC2_LINE2_L_OFF,
+ .asBias[0].abSrcOnOff[3] = MCDRV_SRC3_DIR2_DIRECT_OFF | MCDRV_SRC3_DIR2_OFF | MCDRV_SRC3_DIR1_OFF | MCDRV_SRC3_DIR0_OFF,
+ .asBias[0].abSrcOnOff[4] = MCDRV_SRC4_ADC1_OFF | MCDRV_SRC4_ADC0_OFF | MCDRV_SRC4_PDM_OFF | MCDRV_SRC4_DTMF_OFF,
+ .asBias[0].abSrcOnOff[5] = MCDRV_SRC5_DAC_M_OFF | MCDRV_SRC5_DAC_R_OFF | MCDRV_SRC5_DAC_L_OFF,
+ .asBias[0].abSrcOnOff[6] = MCDRV_SRC6_CDSP_DIRECT_OFF | MCDRV_SRC6_CDSP_OFF | MCDRV_SRC6_AE_OFF | MCDRV_SRC6_MIX_OFF,
+ },
+
+ .dac_info = {
+ .bMasterSwap = MCDRV_DSWAP_OFF,
+ .bVoiceSwap = MCDRV_DSWAP_OFF,
+ .bDcCut = MCDRV_DCCUT_ON,
+ },
+
+ .adc_info = {
+ .bAgcAdjust = MCDRV_AGCADJ_0,
+ .bAgcOn = MCDRV_AGC_OFF,
+ .bMono = MCDRV_ADC_STEREO,
+ },
+
+ .sp_info = {
+ .bSwap = MCDRV_SPSWAP_OFF,
+ },
+
+ .pdm_info = {
+ .bClk = MCDRV_PDM_CLK_64,
+ .bAgcAdjust = MCDRV_AGCADJ_0,
+ .bAgcOn = MCDRV_AGC_OFF,
+ .bPdmEdge = MCDRV_PDMEDGE_LH,
+ .bPdmWait = MCDRV_PDMWAIT_10,
+ .bPdmSel = MCDRV_PDMSEL_L1R2,
+ .bMono = MCDRV_PDM_STEREO,
+ },
+
+ .dng_info = {
+ .abOnOff[MCDRV_DNG_ITEM_HP] = MCDRV_DNG_ON,
+ .abThreshold[MCDRV_DNG_ITEM_HP] = MCDRV_DNG_THRES_60,
+ .abHold[MCDRV_DNG_ITEM_HP] = MCDRV_DNG_HOLD_500,
+ .abAttack[MCDRV_DNG_ITEM_HP] = MCDRV_DNG_ATTACK_100,
+ .abRelease[MCDRV_DNG_ITEM_HP] = MCDRV_DNG_RELEASE_940,
+ .abTarget[MCDRV_DNG_ITEM_HP] = MCDRV_DNG_TARGET_MUTE,
+
+ .abOnOff[MCDRV_DNG_ITEM_SP] = MCDRV_DNG_ON,
+ .abThreshold[MCDRV_DNG_ITEM_SP] = MCDRV_DNG_THRES_60,
+ .abHold[MCDRV_DNG_ITEM_SP] = MCDRV_DNG_HOLD_500,
+ .abAttack[MCDRV_DNG_ITEM_SP] = MCDRV_DNG_ATTACK_100,
+ .abRelease[MCDRV_DNG_ITEM_SP] = MCDRV_DNG_RELEASE_940,
+ .abTarget[MCDRV_DNG_ITEM_SP] = MCDRV_DNG_TARGET_MUTE,
+
+ .abOnOff[MCDRV_DNG_ITEM_RC] = MCDRV_DNG_ON,
+ .abThreshold[MCDRV_DNG_ITEM_RC] = MCDRV_DNG_THRES_60,
+ .abHold[MCDRV_DNG_ITEM_RC] = MCDRV_DNG_HOLD_500,
+ .abAttack[MCDRV_DNG_ITEM_RC] = MCDRV_DNG_ATTACK_100,
+ .abRelease[MCDRV_DNG_ITEM_RC] = MCDRV_DNG_RELEASE_940,
+ .abTarget[MCDRV_DNG_ITEM_RC] = MCDRV_DNG_TARGET_MUTE,
+ },
+
+ .syseq_info = {
+ .bOnOff = MCDRV_SYSEQ_OFF,
+ .abParam = {
+ 0x10, 0xc4, 0x50, 0x12, 0xc4,
+ 0x40, 0x02, 0xa9, 0x60, 0xed,
+ 0x3b, 0xc0, 0xfc, 0x92, 0x40
+ },
+ },
+};
+
+struct yamaha_mc1n2_audio_params_route galaxys2_params_routes[] = {
+ {
+ .device = AUDIO_DEVICE_OUT_EARPIECE,
+ .direction = YAMAHA_MC1N2_AUDIO_DIRECTION_OUTPUT,
+
+ .ae_info = {
+ .bOnOff = 0,
+ .abBex = { 0 },
+ .abWide = { 0 },
+ .abDrc = { 0 },
+ .abEq5 = { 0 },
+ .abEq3 = { 0 },
+ },
+
+ .path_info.asHpOut[0].abSrcOnOff = { 0 },
+ .path_info.asHpOut[1].abSrcOnOff = { 0 },
+ .path_info.asSpOut[0].abSrcOnOff = { 0 },
+ .path_info.asSpOut[1].abSrcOnOff = { 0 },
+ .path_info.asRcOut[0].abSrcOnOff = { 0 },
+ .path_info.asLout1[0].abSrcOnOff = { 0 },
+ .path_info.asLout1[1].abSrcOnOff = { 0 },
+ .path_info.asLout2[0].abSrcOnOff = { 0 },
+ .path_info.asLout2[1].abSrcOnOff = { 0 },
+ .path_info.asPeak[0].abSrcOnOff = { 0 },
+ .path_info.asDit0[0].abSrcOnOff = { 0 },
+ .path_info.asDit1[0].abSrcOnOff = { 0 },
+ .path_info.asDit2[0].abSrcOnOff = { 0 },
+ .path_info.asDac[0].abSrcOnOff = { 0 },
+ .path_info.asDac[1].abSrcOnOff = { 0 },
+ .path_info.asAe[0].abSrcOnOff = { 0 },
+ .path_info.asCdsp[0].abSrcOnOff = { 0 },
+ .path_info.asCdsp[1].abSrcOnOff = { 0 },
+ .path_info.asCdsp[2].abSrcOnOff = { 0 },
+ .path_info.asCdsp[3].abSrcOnOff = { 0 },
+ .path_info.asAdc0[0].abSrcOnOff = { 0 },
+ .path_info.asAdc0[1].abSrcOnOff = { 0 },
+ .path_info.asAdc1[0].abSrcOnOff = { 0 },
+ .path_info.asMix[0].abSrcOnOff = { 0 },
+ .path_info.asBias[0].abSrcOnOff = { 0 },
+
+ .path_info.asRcOut[0].abSrcOnOff[5] = MCDRV_SRC5_DAC_R_ON | MCDRV_SRC5_DAC_L_ON,
+ .path_info.asDac[0].abSrcOnOff[6] = MCDRV_SRC6_MIX_ON,
+ .path_info.asMix[0].abSrcOnOff[3] = MCDRV_SRC3_DIR0_ON,
+
+ .dac_info = {
+ .bMasterSwap = 0,
+ .bVoiceSwap = 0,
+ .bDcCut = 0,
+ },
+ },
+ {
+ .device = AUDIO_DEVICE_OUT_SPEAKER,
+ .direction = YAMAHA_MC1N2_AUDIO_DIRECTION_OUTPUT,
+
+ .ae_info = {
+ .bOnOff = 0,
+ .abBex = { 0 },
+ .abWide = { 0 },
+ .abDrc = { 0 },
+ .abEq5 = { 0 },
+ .abEq3 = { 0 },
+ },
+
+ .path_info.asHpOut[0].abSrcOnOff = { 0 },
+ .path_info.asHpOut[1].abSrcOnOff = { 0 },
+ .path_info.asSpOut[0].abSrcOnOff = { 0 },
+ .path_info.asSpOut[1].abSrcOnOff = { 0 },
+ .path_info.asRcOut[0].abSrcOnOff = { 0 },
+ .path_info.asLout1[0].abSrcOnOff = { 0 },
+ .path_info.asLout1[1].abSrcOnOff = { 0 },
+ .path_info.asLout2[0].abSrcOnOff = { 0 },
+ .path_info.asLout2[1].abSrcOnOff = { 0 },
+ .path_info.asPeak[0].abSrcOnOff = { 0 },
+ .path_info.asDit0[0].abSrcOnOff = { 0 },
+ .path_info.asDit1[0].abSrcOnOff = { 0 },
+ .path_info.asDit2[0].abSrcOnOff = { 0 },
+ .path_info.asDac[0].abSrcOnOff = { 0 },
+ .path_info.asDac[1].abSrcOnOff = { 0 },
+ .path_info.asAe[0].abSrcOnOff = { 0 },
+ .path_info.asCdsp[0].abSrcOnOff = { 0 },
+ .path_info.asCdsp[1].abSrcOnOff = { 0 },
+ .path_info.asCdsp[2].abSrcOnOff = { 0 },
+ .path_info.asCdsp[3].abSrcOnOff = { 0 },
+ .path_info.asAdc0[0].abSrcOnOff = { 0 },
+ .path_info.asAdc0[1].abSrcOnOff = { 0 },
+ .path_info.asAdc1[0].abSrcOnOff = { 0 },
+ .path_info.asMix[0].abSrcOnOff = { 0 },
+ .path_info.asBias[0].abSrcOnOff = { 0 },
+
+ .path_info.asSpOut[0].abSrcOnOff[5] = MCDRV_SRC5_DAC_M_ON,
+ .path_info.asDac[0].abSrcOnOff[6] = MCDRV_SRC6_MIX_ON,
+ .path_info.asMix[0].abSrcOnOff[3] = MCDRV_SRC3_DIR0_ON,
+
+ .dac_info = {
+ .bMasterSwap = 0,
+ .bVoiceSwap = 0,
+ .bDcCut = 0,
+ },
+ },
+ {
+ .device = AUDIO_DEVICE_OUT_WIRED_HEADPHONE,
+ .direction = YAMAHA_MC1N2_AUDIO_DIRECTION_OUTPUT,
+
+ .ae_info = {
+ .bOnOff = 0x00,
+ .abBex = { 0x00 },
+ .abWide = { 0x00 },
+ .abDrc = { 0x00 },
+ .abEq5 = { 0x00 },
+ .abEq3 = { 0x00 },
+ },
+
+ .path_info.asHpOut[0].abSrcOnOff = { 0 },
+ .path_info.asHpOut[1].abSrcOnOff = { 0 },
+ .path_info.asSpOut[0].abSrcOnOff = { 0 },
+ .path_info.asSpOut[1].abSrcOnOff = { 0 },
+ .path_info.asRcOut[0].abSrcOnOff = { 0 },
+ .path_info.asLout1[0].abSrcOnOff = { 0 },
+ .path_info.asLout1[1].abSrcOnOff = { 0 },
+ .path_info.asLout2[0].abSrcOnOff = { 0 },
+ .path_info.asLout2[1].abSrcOnOff = { 0 },
+ .path_info.asPeak[0].abSrcOnOff = { 0 },
+ .path_info.asDit0[0].abSrcOnOff = { 0 },
+ .path_info.asDit1[0].abSrcOnOff = { 0 },
+ .path_info.asDit2[0].abSrcOnOff = { 0 },
+ .path_info.asDac[0].abSrcOnOff = { 0 },
+ .path_info.asDac[1].abSrcOnOff = { 0 },
+ .path_info.asAe[0].abSrcOnOff = { 0 },
+ .path_info.asCdsp[0].abSrcOnOff = { 0 },
+ .path_info.asCdsp[1].abSrcOnOff = { 0 },
+ .path_info.asCdsp[2].abSrcOnOff = { 0 },
+ .path_info.asCdsp[3].abSrcOnOff = { 0 },
+ .path_info.asAdc0[0].abSrcOnOff = { 0 },
+ .path_info.asAdc0[1].abSrcOnOff = { 0 },
+ .path_info.asAdc1[0].abSrcOnOff = { 0 },
+ .path_info.asMix[0].abSrcOnOff = { 0 },
+ .path_info.asBias[0].abSrcOnOff = { 0 },
+
+ .path_info.asHpOut[0].abSrcOnOff[5] = MCDRV_SRC5_DAC_L_ON,
+ .path_info.asHpOut[1].abSrcOnOff[5] = MCDRV_SRC5_DAC_R_ON,
+ .path_info.asDac[0].abSrcOnOff[6] = MCDRV_SRC6_MIX_ON,
+ .path_info.asMix[0].abSrcOnOff[3] = MCDRV_SRC3_DIR0_ON,
+
+ .dac_info = {
+ .bMasterSwap = 0,
+ .bVoiceSwap = 0,
+ .bDcCut = 0,
+ },
+ },
+ {
+ .device = AUDIO_DEVICE_OUT_WIRED_HEADSET,
+ .direction = YAMAHA_MC1N2_AUDIO_DIRECTION_OUTPUT,
+
+ .ae_info = {
+ .bOnOff = 0x00,
+ .abBex = { 0x00 },
+ .abWide = { 0x00 },
+ .abDrc = { 0x00 },
+ .abEq5 = { 0x00 },
+ .abEq3 = { 0x00 },
+ },
+
+ .path_info.asHpOut[0].abSrcOnOff = { 0 },
+ .path_info.asHpOut[1].abSrcOnOff = { 0 },
+ .path_info.asSpOut[0].abSrcOnOff = { 0 },
+ .path_info.asSpOut[1].abSrcOnOff = { 0 },
+ .path_info.asRcOut[0].abSrcOnOff = { 0 },
+ .path_info.asLout1[0].abSrcOnOff = { 0 },
+ .path_info.asLout1[1].abSrcOnOff = { 0 },
+ .path_info.asLout2[0].abSrcOnOff = { 0 },
+ .path_info.asLout2[1].abSrcOnOff = { 0 },
+ .path_info.asPeak[0].abSrcOnOff = { 0 },
+ .path_info.asDit0[0].abSrcOnOff = { 0 },
+ .path_info.asDit1[0].abSrcOnOff = { 0 },
+ .path_info.asDit2[0].abSrcOnOff = { 0 },
+ .path_info.asDac[0].abSrcOnOff = { 0 },
+ .path_info.asDac[1].abSrcOnOff = { 0 },
+ .path_info.asAe[0].abSrcOnOff = { 0 },
+ .path_info.asCdsp[0].abSrcOnOff = { 0 },
+ .path_info.asCdsp[1].abSrcOnOff = { 0 },
+ .path_info.asCdsp[2].abSrcOnOff = { 0 },
+ .path_info.asCdsp[3].abSrcOnOff = { 0 },
+ .path_info.asAdc0[0].abSrcOnOff = { 0 },
+ .path_info.asAdc0[1].abSrcOnOff = { 0 },
+ .path_info.asAdc1[0].abSrcOnOff = { 0 },
+ .path_info.asMix[0].abSrcOnOff = { 0 },
+ .path_info.asBias[0].abSrcOnOff = { 0 },
+
+ .path_info.asHpOut[0].abSrcOnOff[5] = MCDRV_SRC5_DAC_L_ON,
+ .path_info.asHpOut[1].abSrcOnOff[5] = MCDRV_SRC5_DAC_R_ON,
+ .path_info.asDac[0].abSrcOnOff[6] = MCDRV_SRC6_MIX_ON,
+ .path_info.asMix[0].abSrcOnOff[3] = MCDRV_SRC3_DIR0_ON,
+
+ .dac_info = {
+ .bMasterSwap = 0,
+ .bVoiceSwap = 0,
+ .bDcCut = 0,
+ },
+ },
+ {
+ .device = AUDIO_DEVICE_IN_BUILTIN_MIC,
+ .direction = YAMAHA_MC1N2_AUDIO_DIRECTION_INPUT,
+
+ .ae_info = {
+ .bOnOff = 0x00,
+ .abBex = { 0x00 },
+ .abWide = { 0x00 },
+ .abDrc = { 0x00 },
+ .abEq5 = { 0x00 },
+ .abEq3 = { 0x00 },
+ },
+
+ .path_info.asHpOut[0].abSrcOnOff = { 0 },
+ .path_info.asHpOut[1].abSrcOnOff = { 0 },
+ .path_info.asSpOut[0].abSrcOnOff = { 0 },
+ .path_info.asSpOut[1].abSrcOnOff = { 0 },
+ .path_info.asRcOut[0].abSrcOnOff = { 0 },
+ .path_info.asLout1[0].abSrcOnOff = { 0 },
+ .path_info.asLout1[1].abSrcOnOff = { 0 },
+ .path_info.asLout2[0].abSrcOnOff = { 0 },
+ .path_info.asLout2[1].abSrcOnOff = { 0 },
+ .path_info.asPeak[0].abSrcOnOff = { 0 },
+ .path_info.asDit0[0].abSrcOnOff = { 0 },
+ .path_info.asDit1[0].abSrcOnOff = { 0 },
+ .path_info.asDit2[0].abSrcOnOff = { 0 },
+ .path_info.asDac[0].abSrcOnOff = { 0 },
+ .path_info.asDac[1].abSrcOnOff = { 0 },
+ .path_info.asAe[0].abSrcOnOff = { 0 },
+ .path_info.asCdsp[0].abSrcOnOff = { 0 },
+ .path_info.asCdsp[1].abSrcOnOff = { 0 },
+ .path_info.asCdsp[2].abSrcOnOff = { 0 },
+ .path_info.asCdsp[3].abSrcOnOff = { 0 },
+ .path_info.asAdc0[0].abSrcOnOff = { 0 },
+ .path_info.asAdc0[1].abSrcOnOff = { 0 },
+ .path_info.asAdc1[0].abSrcOnOff = { 0 },
+ .path_info.asMix[0].abSrcOnOff = { 0 },
+ .path_info.asBias[0].abSrcOnOff = { 0 },
+
+ .path_info.asDit0[0].abSrcOnOff[0] = MCDRV_SRC0_MIC3_OFF | MCDRV_SRC0_MIC2_OFF | MCDRV_SRC0_MIC1_OFF,
+ .path_info.asDit0[0].abSrcOnOff[1] = MCDRV_SRC1_LINE1_M_OFF | MCDRV_SRC1_LINE1_R_OFF | MCDRV_SRC1_LINE1_L_OFF,
+ .path_info.asDit0[0].abSrcOnOff[2] = MCDRV_SRC2_LINE2_M_OFF | MCDRV_SRC2_LINE2_R_OFF | MCDRV_SRC2_LINE2_L_OFF,
+ .path_info.asDit0[0].abSrcOnOff[3] = MCDRV_SRC3_DIR2_DIRECT_OFF | MCDRV_SRC3_DIR2_OFF | MCDRV_SRC3_DIR1_OFF | MCDRV_SRC3_DIR0_OFF,
+ .path_info.asDit0[0].abSrcOnOff[4] = MCDRV_SRC4_ADC1_OFF | MCDRV_SRC4_ADC0_ON | MCDRV_SRC4_PDM_OFF | MCDRV_SRC4_DTMF_OFF,
+ .path_info.asDit0[0].abSrcOnOff[5] = MCDRV_SRC5_DAC_M_OFF | MCDRV_SRC5_DAC_R_OFF | MCDRV_SRC5_DAC_L_OFF,
+ .path_info.asDit0[0].abSrcOnOff[6] = MCDRV_SRC6_CDSP_DIRECT_OFF | MCDRV_SRC6_CDSP_OFF | MCDRV_SRC6_AE_OFF | MCDRV_SRC6_MIX_OFF,
+ .path_info.asAdc0[0].abSrcOnOff[0] = MCDRV_SRC0_MIC1_ON,
+ .path_info.asAdc0[1].abSrcOnOff[0] = MCDRV_SRC0_MIC1_ON,
+
+ .dac_info = {
+ .bMasterSwap = 0,
+ .bVoiceSwap = 0,
+ .bDcCut = 0,
+ },
+ },
+ {
+ .device = AUDIO_DEVICE_IN_WIRED_HEADSET,
+ .direction = YAMAHA_MC1N2_AUDIO_DIRECTION_INPUT,
+
+ .ae_info = {
+ .bOnOff = 0x00,
+ .abBex = { 0x00 },
+ .abWide = { 0x00 },
+ .abDrc = { 0x00 },
+ .abEq5 = { 0x00 },
+ .abEq3 = { 0x00 },
+ },
+
+ .path_info.asHpOut[0].abSrcOnOff = { 0 },
+ .path_info.asHpOut[1].abSrcOnOff = { 0 },
+ .path_info.asSpOut[0].abSrcOnOff = { 0 },
+ .path_info.asSpOut[1].abSrcOnOff = { 0 },
+ .path_info.asRcOut[0].abSrcOnOff = { 0 },
+ .path_info.asLout1[0].abSrcOnOff = { 0 },
+ .path_info.asLout1[1].abSrcOnOff = { 0 },
+ .path_info.asLout2[0].abSrcOnOff = { 0 },
+ .path_info.asLout2[1].abSrcOnOff = { 0 },
+ .path_info.asPeak[0].abSrcOnOff = { 0 },
+ .path_info.asDit0[0].abSrcOnOff = { 0 },
+ .path_info.asDit1[0].abSrcOnOff = { 0 },
+ .path_info.asDit2[0].abSrcOnOff = { 0 },
+ .path_info.asDac[0].abSrcOnOff = { 0 },
+ .path_info.asDac[1].abSrcOnOff = { 0 },
+ .path_info.asAe[0].abSrcOnOff = { 0 },
+ .path_info.asCdsp[0].abSrcOnOff = { 0 },
+ .path_info.asCdsp[1].abSrcOnOff = { 0 },
+ .path_info.asCdsp[2].abSrcOnOff = { 0 },
+ .path_info.asCdsp[3].abSrcOnOff = { 0 },
+ .path_info.asAdc0[0].abSrcOnOff = { 0 },
+ .path_info.asAdc0[1].abSrcOnOff = { 0 },
+ .path_info.asAdc1[0].abSrcOnOff = { 0 },
+ .path_info.asMix[0].abSrcOnOff = { 0 },
+ .path_info.asBias[0].abSrcOnOff = { 0 },
+
+ .path_info.asDit0[0].abSrcOnOff[0] = MCDRV_SRC0_MIC3_OFF | MCDRV_SRC0_MIC2_OFF | MCDRV_SRC0_MIC1_OFF,
+ .path_info.asDit0[0].abSrcOnOff[1] = MCDRV_SRC1_LINE1_M_OFF | MCDRV_SRC1_LINE1_R_OFF | MCDRV_SRC1_LINE1_L_OFF,
+ .path_info.asDit0[0].abSrcOnOff[2] = MCDRV_SRC2_LINE2_M_OFF | MCDRV_SRC2_LINE2_R_OFF | MCDRV_SRC2_LINE2_L_OFF,
+ .path_info.asDit0[0].abSrcOnOff[3] = MCDRV_SRC3_DIR2_DIRECT_OFF | MCDRV_SRC3_DIR2_OFF | MCDRV_SRC3_DIR1_OFF | MCDRV_SRC3_DIR0_OFF,
+ .path_info.asDit0[0].abSrcOnOff[4] = MCDRV_SRC4_ADC1_OFF | MCDRV_SRC4_ADC0_ON | MCDRV_SRC4_PDM_OFF | MCDRV_SRC4_DTMF_OFF,
+ .path_info.asDit0[0].abSrcOnOff[5] = MCDRV_SRC5_DAC_M_OFF | MCDRV_SRC5_DAC_R_OFF | MCDRV_SRC5_DAC_L_OFF,
+ .path_info.asDit0[0].abSrcOnOff[6] = MCDRV_SRC6_CDSP_DIRECT_OFF | MCDRV_SRC6_CDSP_OFF | MCDRV_SRC6_AE_OFF | MCDRV_SRC6_MIX_OFF,
+ .path_info.asAdc0[0].abSrcOnOff[0] = MCDRV_SRC0_MIC2_ON,
+ .path_info.asAdc0[1].abSrcOnOff[0] = MCDRV_SRC0_MIC2_ON,
+
+ .dac_info = {
+ .bMasterSwap = 0,
+ .bVoiceSwap = 0,
+ .bDcCut = 0,
+ },
+ },
+ {
+ .device = AUDIO_DEVICE_OUT_EARPIECE,
+ .direction = YAMAHA_MC1N2_AUDIO_DIRECTION_MODEM,
+
+ .ae_info = {
+ .bOnOff = 0,
+ .abBex = { 0 },
+ .abWide = { 0 },
+ .abDrc = { 0 },
+ .abEq5 = { 0 },
+ .abEq3 = { 0 },
+ },
+
+ .path_info.asHpOut[0].abSrcOnOff = { 0 },
+ .path_info.asHpOut[1].abSrcOnOff = { 0 },
+ .path_info.asSpOut[0].abSrcOnOff = { 0 },
+ .path_info.asSpOut[1].abSrcOnOff = { 0 },
+ .path_info.asRcOut[0].abSrcOnOff = { 0 },
+ .path_info.asLout1[0].abSrcOnOff = { 0 },
+ .path_info.asLout1[1].abSrcOnOff = { 0 },
+ .path_info.asLout2[0].abSrcOnOff = { 0 },
+ .path_info.asLout2[1].abSrcOnOff = { 0 },
+ .path_info.asPeak[0].abSrcOnOff = { 0 },
+ .path_info.asDit0[0].abSrcOnOff = { 0 },
+ .path_info.asDit1[0].abSrcOnOff = { 0 },
+ .path_info.asDit2[0].abSrcOnOff = { 0 },
+ .path_info.asDac[0].abSrcOnOff = { 0 },
+ .path_info.asDac[1].abSrcOnOff = { 0 },
+ .path_info.asAe[0].abSrcOnOff = { 0 },
+ .path_info.asCdsp[0].abSrcOnOff = { 0 },
+ .path_info.asCdsp[1].abSrcOnOff = { 0 },
+ .path_info.asCdsp[2].abSrcOnOff = { 0 },
+ .path_info.asCdsp[3].abSrcOnOff = { 0 },
+ .path_info.asAdc0[0].abSrcOnOff = { 0 },
+ .path_info.asAdc0[1].abSrcOnOff = { 0 },
+ .path_info.asAdc1[0].abSrcOnOff = { 0 },
+ .path_info.asMix[0].abSrcOnOff = { 0 },
+ .path_info.asBias[0].abSrcOnOff = { 0 },
+
+ .path_info.asRcOut[0].abSrcOnOff[5] = MCDRV_SRC5_DAC_R_ON | MCDRV_SRC5_DAC_L_ON,
+ .path_info.asDit1[0].abSrcOnOff[4] = MCDRV_SRC4_ADC0_ON,
+ .path_info.asDac[0].abSrcOnOff[6] = MCDRV_SRC6_MIX_ON,
+ .path_info.asAdc0[0].abSrcOnOff[0] = MCDRV_SRC0_MIC1_ON,
+ .path_info.asAdc0[1].abSrcOnOff[0] = MCDRV_SRC0_MIC3_ON,
+ .path_info.asMix[0].abSrcOnOff[3] = MCDRV_SRC3_DIR1_ON,
+
+ .dac_info = {
+ .bMasterSwap = 0,
+ .bVoiceSwap = 0,
+ .bDcCut = 0,
+ },
+ },
+ {
+ .device = AUDIO_DEVICE_OUT_WIRED_HEADPHONE,
+ .direction = YAMAHA_MC1N2_AUDIO_DIRECTION_MODEM,
+
+ .ae_info = {
+ .bOnOff = 0x00,
+ .abBex = { 0x00 },
+ .abWide = { 0x00 },
+ .abDrc = { 0x00 },
+ .abEq5 = { 0x00 },
+ .abEq3 = { 0x00 },
+ },
+
+ .path_info.asHpOut[0].abSrcOnOff = { 0 },
+ .path_info.asHpOut[1].abSrcOnOff = { 0 },
+ .path_info.asSpOut[0].abSrcOnOff = { 0 },
+ .path_info.asSpOut[1].abSrcOnOff = { 0 },
+ .path_info.asRcOut[0].abSrcOnOff = { 0 },
+ .path_info.asLout1[0].abSrcOnOff = { 0 },
+ .path_info.asLout1[1].abSrcOnOff = { 0 },
+ .path_info.asLout2[0].abSrcOnOff = { 0 },
+ .path_info.asLout2[1].abSrcOnOff = { 0 },
+ .path_info.asPeak[0].abSrcOnOff = { 0 },
+ .path_info.asDit0[0].abSrcOnOff = { 0 },
+ .path_info.asDit1[0].abSrcOnOff = { 0 },
+ .path_info.asDit2[0].abSrcOnOff = { 0 },
+ .path_info.asDac[0].abSrcOnOff = { 0 },
+ .path_info.asDac[1].abSrcOnOff = { 0 },
+ .path_info.asAe[0].abSrcOnOff = { 0 },
+ .path_info.asCdsp[0].abSrcOnOff = { 0 },
+ .path_info.asCdsp[1].abSrcOnOff = { 0 },
+ .path_info.asCdsp[2].abSrcOnOff = { 0 },
+ .path_info.asCdsp[3].abSrcOnOff = { 0 },
+ .path_info.asAdc0[0].abSrcOnOff = { 0 },
+ .path_info.asAdc0[1].abSrcOnOff = { 0 },
+ .path_info.asAdc1[0].abSrcOnOff = { 0 },
+ .path_info.asMix[0].abSrcOnOff = { 0 },
+ .path_info.asBias[0].abSrcOnOff = { 0 },
+
+ .path_info.asHpOut[0].abSrcOnOff[5] = MCDRV_SRC5_DAC_L_ON,
+ .path_info.asHpOut[1].abSrcOnOff[5] = MCDRV_SRC5_DAC_R_ON,
+ .path_info.asDit1[0].abSrcOnOff[4] = MCDRV_SRC4_ADC0_ON,
+ .path_info.asDac[0].abSrcOnOff[6] = MCDRV_SRC6_MIX_ON,
+ .path_info.asAdc0[0].abSrcOnOff[0] = MCDRV_SRC0_MIC1_ON,
+ .path_info.asAdc0[1].abSrcOnOff[0] = MCDRV_SRC0_MIC1_ON,
+ .path_info.asMix[0].abSrcOnOff[3] = MCDRV_SRC3_DIR1_ON,
+
+ .dac_info = {
+ .bMasterSwap = 0,
+ .bVoiceSwap = 0,
+ .bDcCut = 0,
+ },
+ },
+ {
+ .device = AUDIO_DEVICE_OUT_WIRED_HEADSET,
+ .direction = YAMAHA_MC1N2_AUDIO_DIRECTION_MODEM,
+
+ .ae_info = {
+ .bOnOff = 0x00,
+ .abBex = { 0x00 },
+ .abWide = { 0x00 },
+ .abDrc = { 0x00 },
+ .abEq5 = { 0x00 },
+ .abEq3 = { 0x00 },
+ },
+
+ .path_info.asHpOut[0].abSrcOnOff = { 0 },
+ .path_info.asHpOut[1].abSrcOnOff = { 0 },
+ .path_info.asSpOut[0].abSrcOnOff = { 0 },
+ .path_info.asSpOut[1].abSrcOnOff = { 0 },
+ .path_info.asRcOut[0].abSrcOnOff = { 0 },
+ .path_info.asLout1[0].abSrcOnOff = { 0 },
+ .path_info.asLout1[1].abSrcOnOff = { 0 },
+ .path_info.asLout2[0].abSrcOnOff = { 0 },
+ .path_info.asLout2[1].abSrcOnOff = { 0 },
+ .path_info.asPeak[0].abSrcOnOff = { 0 },
+ .path_info.asDit0[0].abSrcOnOff = { 0 },
+ .path_info.asDit1[0].abSrcOnOff = { 0 },
+ .path_info.asDit2[0].abSrcOnOff = { 0 },
+ .path_info.asDac[0].abSrcOnOff = { 0 },
+ .path_info.asDac[1].abSrcOnOff = { 0 },
+ .path_info.asAe[0].abSrcOnOff = { 0 },
+ .path_info.asCdsp[0].abSrcOnOff = { 0 },
+ .path_info.asCdsp[1].abSrcOnOff = { 0 },
+ .path_info.asCdsp[2].abSrcOnOff = { 0 },
+ .path_info.asCdsp[3].abSrcOnOff = { 0 },
+ .path_info.asAdc0[0].abSrcOnOff = { 0 },
+ .path_info.asAdc0[1].abSrcOnOff = { 0 },
+ .path_info.asAdc1[0].abSrcOnOff = { 0 },
+ .path_info.asMix[0].abSrcOnOff = { 0 },
+ .path_info.asBias[0].abSrcOnOff = { 0 },
+
+ .path_info.asHpOut[0].abSrcOnOff[5] = MCDRV_SRC5_DAC_L_ON,
+ .path_info.asHpOut[1].abSrcOnOff[5] = MCDRV_SRC5_DAC_R_ON,
+ .path_info.asDit1[0].abSrcOnOff[4] = MCDRV_SRC4_ADC0_ON,
+ .path_info.asDac[0].abSrcOnOff[6] = MCDRV_SRC6_MIX_ON,
+ .path_info.asAdc0[0].abSrcOnOff[0] = MCDRV_SRC0_MIC2_ON,
+ .path_info.asAdc0[1].abSrcOnOff[0] = MCDRV_SRC0_MIC2_ON,
+ .path_info.asMix[0].abSrcOnOff[3] = MCDRV_SRC3_DIR1_ON,
+
+ .dac_info = {
+ .bMasterSwap = 0,
+ .bVoiceSwap = 0,
+ .bDcCut = 0,
+ },
+ },
+ {
+ .device = AUDIO_DEVICE_OUT_SPEAKER,
+ .direction = YAMAHA_MC1N2_AUDIO_DIRECTION_MODEM,
+
+ .ae_info = {
+ .bOnOff = 0x00,
+ .abBex = { 0x00 },
+ .abWide = { 0x00 },
+ .abDrc = { 0x00 },
+ .abEq5 = { 0x00 },
+ .abEq3 = { 0x00 },
+ },
+
+ .path_info.asHpOut[0].abSrcOnOff = { 0 },
+ .path_info.asHpOut[1].abSrcOnOff = { 0 },
+ .path_info.asSpOut[0].abSrcOnOff = { 0 },
+ .path_info.asSpOut[1].abSrcOnOff = { 0 },
+ .path_info.asRcOut[0].abSrcOnOff = { 0 },
+ .path_info.asLout1[0].abSrcOnOff = { 0 },
+ .path_info.asLout1[1].abSrcOnOff = { 0 },
+ .path_info.asLout2[0].abSrcOnOff = { 0 },
+ .path_info.asLout2[1].abSrcOnOff = { 0 },
+ .path_info.asPeak[0].abSrcOnOff = { 0 },
+ .path_info.asDit0[0].abSrcOnOff = { 0 },
+ .path_info.asDit1[0].abSrcOnOff = { 0 },
+ .path_info.asDit2[0].abSrcOnOff = { 0 },
+ .path_info.asDac[0].abSrcOnOff = { 0 },
+ .path_info.asDac[1].abSrcOnOff = { 0 },
+ .path_info.asAe[0].abSrcOnOff = { 0 },
+ .path_info.asCdsp[0].abSrcOnOff = { 0 },
+ .path_info.asCdsp[1].abSrcOnOff = { 0 },
+ .path_info.asCdsp[2].abSrcOnOff = { 0 },
+ .path_info.asCdsp[3].abSrcOnOff = { 0 },
+ .path_info.asAdc0[0].abSrcOnOff = { 0 },
+ .path_info.asAdc0[1].abSrcOnOff = { 0 },
+ .path_info.asAdc1[0].abSrcOnOff = { 0 },
+ .path_info.asMix[0].abSrcOnOff = { 0 },
+ .path_info.asBias[0].abSrcOnOff = { 0 },
+
+ .path_info.asSpOut[0].abSrcOnOff[5] = MCDRV_SRC5_DAC_M_ON,
+ .path_info.asDac[0].abSrcOnOff[6] = MCDRV_SRC6_MIX_ON,
+ .path_info.asDit1[0].abSrcOnOff[4] = MCDRV_SRC4_ADC0_ON,
+ .path_info.asDac[0].abSrcOnOff[6] = MCDRV_SRC6_MIX_ON,
+ .path_info.asAdc0[0].abSrcOnOff[0] = MCDRV_SRC0_MIC3_ON,
+ .path_info.asAdc0[1].abSrcOnOff[0] = MCDRV_SRC0_MIC3_ON,
+ .path_info.asMix[0].abSrcOnOff[3] = MCDRV_SRC3_DIR1_ON,
+
+ .dac_info = {
+ .bMasterSwap = 0,
+ .bVoiceSwap = 0,
+ .bDcCut = 0,
+ },
+ },
+ {
+ .device = AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET,
+ .direction = YAMAHA_MC1N2_AUDIO_DIRECTION_MODEM,
+
+ .ae_info = {
+ .bOnOff = 0x00,
+ .abBex = { 0x00 },
+ .abWide = { 0x00 },
+ .abDrc = { 0x00 },
+ .abEq5 = { 0x00 },
+ .abEq3 = { 0x00 },
+ },
+
+ .path_info.asHpOut[0].abSrcOnOff = { 0 },
+ .path_info.asHpOut[1].abSrcOnOff = { 0 },
+ .path_info.asSpOut[0].abSrcOnOff = { 0 },
+ .path_info.asSpOut[1].abSrcOnOff = { 0 },
+ .path_info.asRcOut[0].abSrcOnOff = { 0 },
+ .path_info.asLout1[0].abSrcOnOff = { 0 },
+ .path_info.asLout1[1].abSrcOnOff = { 0 },
+ .path_info.asLout2[0].abSrcOnOff = { 0 },
+ .path_info.asLout2[1].abSrcOnOff = { 0 },
+ .path_info.asPeak[0].abSrcOnOff = { 0 },
+ .path_info.asDit0[0].abSrcOnOff = { 0 },
+ .path_info.asDit1[0].abSrcOnOff = { 0 },
+ .path_info.asDit2[0].abSrcOnOff = { 0 },
+ .path_info.asDac[0].abSrcOnOff = { 0 },
+ .path_info.asDac[1].abSrcOnOff = { 0 },
+ .path_info.asAe[0].abSrcOnOff = { 0 },
+ .path_info.asCdsp[0].abSrcOnOff = { 0 },
+ .path_info.asCdsp[1].abSrcOnOff = { 0 },
+ .path_info.asCdsp[2].abSrcOnOff = { 0 },
+ .path_info.asCdsp[3].abSrcOnOff = { 0 },
+ .path_info.asAdc0[0].abSrcOnOff = { 0 },
+ .path_info.asAdc0[1].abSrcOnOff = { 0 },
+ .path_info.asAdc1[0].abSrcOnOff = { 0 },
+ .path_info.asMix[0].abSrcOnOff = { 0 },
+ .path_info.asBias[0].abSrcOnOff = { 0 },
+
+ .path_info.asDit1[0].abSrcOnOff[3] = MCDRV_SRC3_DIR2_ON,
+ .path_info.asDit2[0].abSrcOnOff[6] = MCDRV_SRC6_MIX_ON,
+ .path_info.asMix[0].abSrcOnOff[3] = MCDRV_SRC3_DIR1_ON,
+
+ .dac_info = {
+ .bMasterSwap = 0,
+ .bVoiceSwap = 0,
+ .bDcCut = 0,
+ },
+ },
+};
+
+struct yamaha_mc1n2_audio_device_ops galaxys2_ops = {
+ .hw_node = "/dev/snd/hwC0D0",
+ .hw_fd = -1,
+ .params = {
+ .init = &galaxys2_params_init,
+ .routes = &galaxys2_params_routes,
+ .routes_count = sizeof(galaxys2_params_routes) /
+ sizeof(struct yamaha_mc1n2_audio_params_route),
+ },
+};
+
+struct yamaha_mc1n2_audio_pdata galaxys2_pdata = {
+ .name = "galaxys2",
+ .ops = &galaxys2_ops,
+};