ASR_BASE

Change-Id: Icf3719cc0afe3eeb3edc7fa80a2eb5199ca9dda1
diff --git a/marvell/services/audio/libacm/acm/src/acm_alc5616.h b/marvell/services/audio/libacm/acm/src/acm_alc5616.h
new file mode 100644
index 0000000..65d9ad7
--- /dev/null
+++ b/marvell/services/audio/libacm/acm/src/acm_alc5616.h
@@ -0,0 +1,275 @@
+/*
+ * ASR Audio path definition of ALC5616 
+ *
+ * Copyright (C) 2018 ASR Microelectronic Ltd.
+ *
+ * Author: Chen wen<wenchen@asrmicro.com>
+ *
+ * This file contains proprietary information.
+ * No dissemination allowed without prior written permission from
+ * ASR Microelectronic Ltd.
+ *
+ * File Description:
+ *
+ * This file contains header for audio path definition of ALC5616 
+ */
+
+#ifndef ACM_ALC5616_H
+#define ACM_ALC5616_H
+
+#define CODEC_ALC5616_VOICE_REG70         0x70
+#define CODEC_ALC5616_VOICE_MASTER        0x0082   //bit15=0 master
+#define CODEC_ALC5616_VOICE_SLAVE         0x8082   //bit15=1 slave
+
+//////////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////////
+/////////////////////////APH_PATH_ID_HIFIPLAYTOEARPHONE//////////////////////////
+ACMAPH_Register ACM_HiFiPlayToEarphone_Disable[]={
+    {ALC5616, 0x70, 0x8000},                        {ALC5616, 0x63, 0x00C6},{ALC5616, 0x3D, 0x2000},{ALC5616, 0x61, 0x8000},
+    {ALC5616, 0x62, 0x0000},{ALC5616, 0x65, 0x0000},{ALC5616, 0x66, 0x0000},{ALC5616, 0x8E, 0x0000},{ALC5616, 0x8F, 0x1100},
+    {ALC5616, 0x2A, 0x5252},{ALC5616, 0x4F, 0x0279},{ALC5616, 0x52, 0x0279},{ALC5616, 0x53, 0xF000},{ALC5616, 0x03, 0xC8C8},
+    {ALC5616, 0x05, 0x0000}
+};
+ACMAPH_Register ACM_HiFiPlayToEarphone_Enable[]={
+    {ALC5616, 0x70, CODEC_ALC5616_VOICE_SLAVE},     {ALC5616, 0x63, 0xF8DE},{ALC5616, 0x3D, 0x3600},{ALC5616, 0x61, 0x9804},
+    {ALC5616, 0x62, 0x8800},{ALC5616, 0x65, 0xC800},{ALC5616, 0x66, 0x3000},{ALC5616, 0x8E, 0x0008},{ALC5616, 0x8F, 0x3100},
+    {ALC5616, 0x2A, 0x1250},{ALC5616, 0x4F, 0x0278},{ALC5616, 0x52, 0x0278},{ALC5616, 0x53, 0xC000},{ALC5616, 0x03, 0x0808},
+    {ALC5616, 0x05, 0x8000}
+};
+
+/////////////////////////APH_PATH_ID_HIFIPLAYTOSPKR//////////////////////////
+ACMAPH_Register ACM_HiFiPlayToSPKR_Disable[]={
+    {ALC5616, 0x70, 0x8000},                        {ALC5616, 0x63, 0x00C6},{ALC5616, 0x3D, 0x2000},{ALC5616, 0x61, 0x8000},
+    {ALC5616, 0x62, 0x0000},{ALC5616, 0x65, 0x0000},{ALC5616, 0x66, 0x0000},{ALC5616, 0x8E, 0x0000},{ALC5616, 0x8F, 0x1100},
+    {ALC5616, 0x2A, 0x5252},{ALC5616, 0x4F, 0x0279},{ALC5616, 0x52, 0x0279},{ALC5616, 0x53, 0xF000},{ALC5616, 0x03, 0xC8C8},
+    {ALC5616, 0x05, 0x0000}
+};
+ACMAPH_Register ACM_HiFiPlayToSPKR_Enable[]={
+    {ALC5616, 0x70, CODEC_ALC5616_VOICE_SLAVE},     {ALC5616, 0x63, 0xF8DE},{ALC5616, 0x3D, 0x3600},{ALC5616, 0x61, 0x9804},
+    {ALC5616, 0x62, 0x8800},{ALC5616, 0x65, 0xC800},{ALC5616, 0x66, 0x3000},{ALC5616, 0x8E, 0x0008},{ALC5616, 0x8F, 0x3100},
+    {ALC5616, 0x2A, 0x1250},{ALC5616, 0x4F, 0x0278},{ALC5616, 0x52, 0x0278},{ALC5616, 0x53, 0xC000},{ALC5616, 0x03, 0x0808},
+    {ALC5616, 0x05, 0x8000}
+};
+
+/////////////////////////APH_PATH_ID_HIFIPLAYTOHP//////////////////////////
+ACMAPH_Register ACM_HiFiPlayToHP_Disable[]={
+    {ALC5616, 0x70, 0x8000},                        {ALC5616, 0x63, 0x00C6},{ALC5616, 0x3D, 0x2000},{ALC5616, 0x61, 0x8000},
+    {ALC5616, 0x62, 0x0000},{ALC5616, 0x65, 0x0000},{ALC5616, 0x66, 0x0000},{ALC5616, 0x8E, 0x0000},{ALC5616, 0x8F, 0x1100},
+    {ALC5616, 0x2A, 0x5252},{ALC5616, 0x4F, 0x0279},{ALC5616, 0x52, 0x0279},{ALC5616, 0x45, 0x7000},{ALC5616, 0x02, 0xC8C8},
+    {ALC5616, 0x1E, 0x0000},{ALC5616, 0xD3, 0xB320}
+};
+ACMAPH_Register ACM_HiFiPlayToHP_Enable[]={
+    {ALC5616, 0x70, CODEC_ALC5616_VOICE_SLAVE},     {ALC5616, 0x63, 0xE8DE},{ALC5616, 0x3D, 0x3600},{ALC5616, 0x61, 0x9804},
+    {ALC5616, 0x62, 0x8800},{ALC5616, 0x65, 0xCC00},{ALC5616, 0x66, 0x0C00},{ALC5616, 0x8E, 0x001D},{ALC5616, 0x8F, 0x3100},
+    {ALC5616, 0x2A, 0x1250},{ALC5616, 0x4F, 0x0278},{ALC5616, 0x52, 0x0278},{ALC5616, 0x45, 0x5000},{ALC5616, 0x02, 0x0808},
+    {ALC5616, 0x1E, 0x8000},{ALC5616, 0xD3, 0x2A00}
+};
+
+/////////////////////////APH_PATH_ID_HIFIRECORDFROMMIC1//////////////////////////
+ACMAPH_Register ACM_HiFiRecordFromMic1_Disable[]={
+    {ALC5616, 0x70, 0x8000},                        {ALC5616, 0x63, 0x00C6},{ALC5616, 0x3D, 0x2000},{ALC5616, 0x61, 0x8000},
+    {ALC5616, 0x62, 0x0000},{ALC5616, 0x65, 0x0000},{ALC5616, 0x0D, 0x0000},{ALC5616, 0x3C, 0x006F},{ALC5616, 0x3E, 0x006F},
+    {ALC5616, 0x27, 0x7860},
+#if defined(TARGET_mmp_asr1901_KSTR901) && defined(CODEC_PCM_48KHz)
+    {ALC5616, 0x64, 0x0204}
+#else
+    {ALC5616, 0x64, 0x0004}
+#endif
+};
+ACMAPH_Register ACM_HiFiRecordFromMic1_Enable[]={
+    {ALC5616, 0x70, CODEC_ALC5616_VOICE_SLAVE},     {ALC5616, 0x63, 0xF8DE},{ALC5616, 0x3D, 0x3600},{ALC5616, 0x61, 0x9804},
+    {ALC5616, 0x62, 0x8800},{ALC5616, 0x65, 0xC800},{ALC5616, 0x0D, 0x0540},{ALC5616, 0x3C, 0x006B},{ALC5616, 0x3E, 0x006B},
+    {ALC5616, 0x27, 0x3860},
+#if defined(TARGET_mmp_asr1901_KSTR901) && defined(CODEC_PCM_48KHz)
+    {ALC5616, 0x64, 0x4A04}
+#else
+    {ALC5616, 0x64, 0x4804}
+#endif
+};
+ACMAPH_Register ACM_HiFiRecordFromMic1_Mute[]={
+    {ALC5616, 0x1C, 0xAFAF},
+};
+ACMAPH_Register ACM_HiFiRecordFromMic1_UnMute[]={
+    {ALC5616, 0x1C, 0x4141},
+};
+/////////////////////////APH_PATH_ID_HIFIRECORDFROMHSMIC//////////////////////////
+ACMAPH_Register ACM_HiFiRecordFromHsMic_Disable[]={
+    {ALC5616, 0x70, 0x8000},                        {ALC5616, 0x63, 0x00C6},{ALC5616, 0x3D, 0x2000},{ALC5616, 0x61, 0x8000},
+    {ALC5616, 0x62, 0x0000},{ALC5616, 0x65, 0x0000},{ALC5616, 0x0D, 0x0540},{ALC5616, 0x3C, 0x006F},{ALC5616, 0x3E, 0x006F},
+    {ALC5616, 0x27, 0x7860},
+#if defined(TARGET_mmp_asr1901_KSTR901) && defined(CODEC_PCM_48KHz)
+    {ALC5616, 0x64, 0x0204}
+#else
+    {ALC5616, 0x64, 0x0004}
+#endif
+};
+ACMAPH_Register ACM_HiFiRecordFromHsMic_Enable[]={
+    {ALC5616, 0x70, CODEC_ALC5616_VOICE_SLAVE},     {ALC5616, 0x63, 0xE8DE},{ALC5616, 0x3D, 0x3600},{ALC5616, 0x61, 0x9804},
+    {ALC5616, 0x62, 0x8800},{ALC5616, 0x65, 0xCC00},{ALC5616, 0x0D, 0x0000},{ALC5616, 0x3C, 0x006D},{ALC5616, 0x3E, 0x006D},
+    {ALC5616, 0x27, 0x3820},
+#if defined(TARGET_mmp_asr1901_KSTR901) && defined(CODEC_PCM_48KHz)
+    {ALC5616, 0x64, 0x8A24}
+#else
+    {ALC5616, 0x64, 0x8824}
+#endif
+};
+ACMAPH_Register ACM_HiFiRecordFromHsMic_Mute[]={
+    {ALC5616, 0x1C, 0xAFAF},
+};
+ACMAPH_Register ACM_HiFiRecordFromHsMic_UnMute[]={
+    {ALC5616, 0x1C, 0x4141},
+};
+//////////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////////
+/////////////////////////APH_PATH_ID_VOICEPLAYTOEARPHONE//////////////////////////
+
+ACMAPH_Register ACM_VoicePlayToEarphone_Disable[]={
+    {ALC5616, 0x70, 0x8000},                        {ALC5616, 0x63, 0x00C6},{ALC5616, 0x3D, 0x2000},{ALC5616, 0x61, 0x8000},
+    {ALC5616, 0x62, 0x0000},{ALC5616, 0x65, 0x0000},{ALC5616, 0x66, 0x0000},{ALC5616, 0x8E, 0x0000},{ALC5616, 0x8F, 0x1100},
+    {ALC5616, 0x2A, 0x5252},{ALC5616, 0x4F, 0x0279},{ALC5616, 0x52, 0x0279},{ALC5616, 0x53, 0xF000},{ALC5616, 0x03, 0xC8C8},
+    {ALC5616, 0x05, 0x0000}
+};
+ACMAPH_Register ACM_VoicePlayToEarphone_Enable[]={
+    {ALC5616, 0x70, CODEC_ALC5616_VOICE_SLAVE},     {ALC5616, 0x63, 0xF8DE},{ALC5616, 0x3D, 0x3600},{ALC5616, 0x61, 0x9804},
+    {ALC5616, 0x62, 0x8800},{ALC5616, 0x65, 0xC800},{ALC5616, 0x66, 0x3000},{ALC5616, 0x8E, 0x0008},{ALC5616, 0x8F, 0x3100},
+    {ALC5616, 0x2A, 0x1250},{ALC5616, 0x4F, 0x0278},{ALC5616, 0x52, 0x0278},{ALC5616, 0x53, 0xC000},{ALC5616, 0x03, 0x0808},
+    {ALC5616, 0x05, 0x8000}
+};
+
+/////////////////////////APH_PATH_ID_VOICEPLAYTOSPKR//////////////////////////
+ACMAPH_Register ACM_VoicePlayToSPKR_Disable[]={
+    {ALC5616, 0x70, 0x8000},                        {ALC5616, 0x63, 0x00C6},{ALC5616, 0x3D, 0x2000},{ALC5616, 0x61, 0x8000},
+    {ALC5616, 0x62, 0x0000},{ALC5616, 0x65, 0x0000},{ALC5616, 0x66, 0x0000},{ALC5616, 0x8E, 0x0000},{ALC5616, 0x8F, 0x1100},
+    {ALC5616, 0x2A, 0x5252},{ALC5616, 0x4F, 0x0279},{ALC5616, 0x52, 0x0279},{ALC5616, 0x53, 0xF000},{ALC5616, 0x03, 0xC8C8},
+    {ALC5616, 0x05, 0x0000}
+};
+ACMAPH_Register ACM_VoicePlayToSPKR_Enable[]={
+    {ALC5616, 0x70, CODEC_ALC5616_VOICE_SLAVE},     {ALC5616, 0x63, 0xF8DE},{ALC5616, 0x3D, 0x3600},{ALC5616, 0x61, 0x9804},
+    {ALC5616, 0x62, 0x8800},{ALC5616, 0x65, 0xC800},{ALC5616, 0x66, 0x3000},{ALC5616, 0x8E, 0x0008},{ALC5616, 0x8F, 0x3100},
+    {ALC5616, 0x2A, 0x1250},{ALC5616, 0x4F, 0x0278},{ALC5616, 0x52, 0x0278},{ALC5616, 0x53, 0xC000},{ALC5616, 0x03, 0x0808},
+    {ALC5616, 0x05, 0x8000}
+};
+
+/////////////////////////APH_PATH_ID_VOICEPLAYTOHP//////////////////////////
+ACMAPH_Register ACM_VoicePlayToHP_Disable[]={
+    {ALC5616, 0x70, 0x8000},                        {ALC5616, 0x63, 0x00C6},{ALC5616, 0x3D, 0x2000},{ALC5616, 0x61, 0x8000},
+    {ALC5616, 0x62, 0x0000},{ALC5616, 0x65, 0x0000},{ALC5616, 0x66, 0x0000},{ALC5616, 0x8E, 0x0000},{ALC5616, 0x8F, 0x1100},
+    {ALC5616, 0x2A, 0x5252},{ALC5616, 0x4F, 0x0279},{ALC5616, 0x52, 0x0279},{ALC5616, 0x45, 0x7000},{ALC5616, 0x02, 0xC8C8},
+    {ALC5616, 0x1E, 0x0000},{ALC5616, 0xD3, 0xB320}
+};
+ACMAPH_Register ACM_VoicePlayToHP_Enable[]={
+    {ALC5616, 0x70, CODEC_ALC5616_VOICE_SLAVE},     {ALC5616, 0x63, 0xE8DE},{ALC5616, 0x3D, 0x3600},{ALC5616, 0x61, 0x9804},
+    {ALC5616, 0x62, 0x8800},{ALC5616, 0x65, 0xCC00},{ALC5616, 0x66, 0x0C00},{ALC5616, 0x8E, 0x001D},{ALC5616, 0x8F, 0x3100},
+    {ALC5616, 0x2A, 0x1250},{ALC5616, 0x4F, 0x0278},{ALC5616, 0x52, 0x0278},{ALC5616, 0x45, 0x5000},{ALC5616, 0x02, 0x0808},
+    {ALC5616, 0x1E, 0x8000},{ALC5616, 0xD3, 0x2A00}
+};
+
+/////////////////////////APH_PATH_ID_VOICERECORDFROMMIC1//////////////////////////
+ACMAPH_Register ACM_VoiceRecordFromMic1_Disable[]={
+    {ALC5616, 0x70, 0x8000},                        {ALC5616, 0x63, 0x00C6},{ALC5616, 0x3D, 0x2000},{ALC5616, 0x61, 0x8000},
+    {ALC5616, 0x62, 0x0000},{ALC5616, 0x65, 0x0000},{ALC5616, 0x0D, 0x0000},{ALC5616, 0x3C, 0x006F},{ALC5616, 0x3E, 0x006F},
+    {ALC5616, 0x27, 0x7860},
+#if defined(TARGET_mmp_asr1901_KSTR901) && defined(CODEC_PCM_48KHz)
+    {ALC5616, 0x64, 0x0204}
+#else
+    {ALC5616, 0x64, 0x0004}
+#endif
+};
+ACMAPH_Register ACM_VoiceRecordFromMic1_Enable[]={
+    {ALC5616, 0x70, CODEC_ALC5616_VOICE_SLAVE},     {ALC5616, 0x63, 0xF8DE},{ALC5616, 0x3D, 0x3600},{ALC5616, 0x61, 0x9804},
+    {ALC5616, 0x62, 0x8800},{ALC5616, 0x65, 0xC800},{ALC5616, 0x0D, 0x0540},{ALC5616, 0x3C, 0x006B},{ALC5616, 0x3E, 0x006B},
+    {ALC5616, 0x27, 0x3860},
+#if defined(TARGET_mmp_asr1901_KSTR901) && defined(CODEC_PCM_48KHz)
+    {ALC5616, 0x64, 0x4A04}
+#else
+    {ALC5616, 0x64, 0x4804}
+#endif
+};
+ACMAPH_Register ACM_VoiceRecordFromMic1_Mute[]={
+    {ALC5616, 0x1C, 0xAFAF},
+};
+ACMAPH_Register ACM_VoiceRecordFromMic1_UnMute[]={
+    {ALC5616, 0x1C, 0x4141},
+};
+/////////////////////////APH_PATH_ID_VOICERECORDFROMHSMIC//////////////////////////
+ACMAPH_Register ACM_VoiceRecordFromHsMic_Disable[]={
+    {ALC5616, 0x70, 0x8000},                        {ALC5616, 0x63, 0x00C6},{ALC5616, 0x3D, 0x2000},{ALC5616, 0x61, 0x8000},
+    {ALC5616, 0x62, 0x0000},{ALC5616, 0x65, 0x0000},{ALC5616, 0x0D, 0x0540},{ALC5616, 0x3C, 0x006F},{ALC5616, 0x3E, 0x006F},
+    {ALC5616, 0x27, 0x7860},
+#if defined(TARGET_mmp_asr1901_KSTR901) && defined(CODEC_PCM_48KHz)
+    {ALC5616, 0x64, 0x0204}
+#else
+    {ALC5616, 0x64, 0x0004}
+#endif
+};
+ACMAPH_Register ACM_VoiceRecordFromHsMic_Enable[]={
+    {ALC5616, 0x70, CODEC_ALC5616_VOICE_SLAVE},     {ALC5616, 0x63, 0xE8DE},{ALC5616, 0x3D, 0x3600},{ALC5616, 0x61, 0x9804},
+    {ALC5616, 0x62, 0x8800},{ALC5616, 0x65, 0xCC00},{ALC5616, 0x0D, 0x0000},{ALC5616, 0x3C, 0x006D},{ALC5616, 0x3E, 0x006D},
+    {ALC5616, 0x27, 0x3820},
+#if defined(TARGET_mmp_asr1901_KSTR901) && defined(CODEC_PCM_48KHz)
+    {ALC5616, 0x64, 0x8A24}
+#else
+    {ALC5616, 0x64, 0x8824}
+#endif
+};
+ACMAPH_Register ACM_VoiceRecordFromHsMic_Mute[]={
+    {ALC5616, 0x1C, 0xAFAF},
+};
+ACMAPH_Register ACM_VoiceRecordFromHsMic_UnMute[]={
+    {ALC5616, 0x1C, 0x4141},
+};
+
+//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+static ACMAPH_Component ACM_Disable[APH_PATH_ID_CNT]={
+    {APH_PATH_ID_HIFIPLAYTOEARPHONE,    ACM_HiFiPlayToEarphone_Disable,     sizeof(ACM_HiFiPlayToEarphone_Disable)/sizeof(ACMAPH_Register)},
+    {APH_PATH_ID_HIFIPLAYTOSPKR,        ACM_HiFiPlayToSPKR_Disable,         sizeof(ACM_HiFiPlayToSPKR_Disable)/sizeof(ACMAPH_Register)},
+    {APH_PATH_ID_HIFIPLAYTOHP,          ACM_HiFiPlayToHP_Disable,           sizeof(ACM_HiFiPlayToHP_Disable)/sizeof(ACMAPH_Register)},
+    {APH_PATH_ID_HIFIRECORDFROMMIC1,    ACM_HiFiRecordFromMic1_Disable,     sizeof(ACM_HiFiRecordFromMic1_Disable)/sizeof(ACMAPH_Register)},
+    {APH_PATH_ID_HIFIRECORDFROMHSMIC,   ACM_HiFiRecordFromHsMic_Disable,    sizeof(ACM_HiFiRecordFromHsMic_Disable)/sizeof(ACMAPH_Register)},
+    {APH_PATH_ID_VOICEPLAYTOEARPHONE,   ACM_VoicePlayToEarphone_Disable,    sizeof(ACM_VoicePlayToEarphone_Disable)/sizeof(ACMAPH_Register)},
+    {APH_PATH_ID_VOICEPLAYTOSPKR,       ACM_VoicePlayToSPKR_Disable,        sizeof(ACM_VoicePlayToSPKR_Disable)/sizeof(ACMAPH_Register)},
+    {APH_PATH_ID_VOICEPLAYTOHP,         ACM_VoicePlayToHP_Disable,          sizeof(ACM_VoicePlayToHP_Disable)/sizeof(ACMAPH_Register)},
+    {APH_PATH_ID_VOICERECORDFROMMIC1,   ACM_VoiceRecordFromMic1_Disable,    sizeof(ACM_VoiceRecordFromMic1_Disable)/sizeof(ACMAPH_Register)},
+    {APH_PATH_ID_VOICERECORDFROMHSMIC,  ACM_VoiceRecordFromHsMic_Disable,   sizeof(ACM_VoiceRecordFromHsMic_Disable)/sizeof(ACMAPH_Register)},
+};
+
+static ACMAPH_Component ACM_Enable[APH_PATH_ID_CNT]={
+    {APH_PATH_ID_HIFIPLAYTOEARPHONE,    ACM_HiFiPlayToEarphone_Enable,      sizeof(ACM_HiFiPlayToEarphone_Enable)/sizeof(ACMAPH_Register)},
+    {APH_PATH_ID_HIFIPLAYTOSPKR,        ACM_HiFiPlayToSPKR_Enable,          sizeof(ACM_HiFiPlayToSPKR_Enable)/sizeof(ACMAPH_Register)},
+    {APH_PATH_ID_HIFIPLAYTOHP,          ACM_HiFiPlayToHP_Enable,            sizeof(ACM_HiFiPlayToHP_Enable)/sizeof(ACMAPH_Register)},
+    {APH_PATH_ID_HIFIRECORDFROMMIC1,    ACM_HiFiRecordFromMic1_Enable,      sizeof(ACM_HiFiRecordFromMic1_Enable)/sizeof(ACMAPH_Register)},
+    {APH_PATH_ID_HIFIRECORDFROMHSMIC,   ACM_HiFiRecordFromHsMic_Enable,     sizeof(ACM_HiFiRecordFromHsMic_Enable)/sizeof(ACMAPH_Register)},
+    {APH_PATH_ID_VOICEPLAYTOEARPHONE,   ACM_VoicePlayToEarphone_Enable,     sizeof(ACM_VoicePlayToEarphone_Enable)/sizeof(ACMAPH_Register)},
+    {APH_PATH_ID_VOICEPLAYTOSPKR,       ACM_VoicePlayToSPKR_Enable,         sizeof(ACM_VoicePlayToSPKR_Enable)/sizeof(ACMAPH_Register)},
+    {APH_PATH_ID_VOICEPLAYTOHP,         ACM_VoicePlayToHP_Enable,           sizeof(ACM_VoicePlayToHP_Enable)/sizeof(ACMAPH_Register)},
+    {APH_PATH_ID_VOICERECORDFROMMIC1,   ACM_VoiceRecordFromMic1_Enable,     sizeof(ACM_VoiceRecordFromMic1_Enable)/sizeof(ACMAPH_Register)},
+    {APH_PATH_ID_VOICERECORDFROMHSMIC,  ACM_VoiceRecordFromHsMic_Enable,    sizeof(ACM_VoiceRecordFromHsMic_Enable)/sizeof(ACMAPH_Register)},
+};
+
+static ACMAPH_Component ACM_Mute[APH_PATH_IN_CNT]={
+    {APH_PATH_ID_HIFIRECORDFROMMIC1,    ACM_HiFiRecordFromMic1_Mute,      sizeof(ACM_HiFiRecordFromMic1_Mute)/sizeof(ACMAPH_Register)},
+    {APH_PATH_ID_HIFIRECORDFROMHSMIC,   ACM_HiFiRecordFromHsMic_Mute,     sizeof(ACM_HiFiRecordFromHsMic_Mute)/sizeof(ACMAPH_Register)},
+    {APH_PATH_ID_VOICERECORDFROMMIC1,   ACM_VoiceRecordFromMic1_Mute,     sizeof(ACM_VoiceRecordFromMic1_Mute)/sizeof(ACMAPH_Register)},
+    {APH_PATH_ID_VOICERECORDFROMHSMIC,  ACM_VoiceRecordFromHsMic_Mute,    sizeof(ACM_VoiceRecordFromHsMic_Mute)/sizeof(ACMAPH_Register)},
+};
+static ACMAPH_Component ACM_UnMute[APH_PATH_IN_CNT]={
+    {APH_PATH_ID_HIFIRECORDFROMMIC1,    ACM_HiFiRecordFromMic1_UnMute,      sizeof(ACM_HiFiRecordFromMic1_UnMute)/sizeof(ACMAPH_Register)},
+    {APH_PATH_ID_HIFIRECORDFROMHSMIC,   ACM_HiFiRecordFromHsMic_UnMute,     sizeof(ACM_HiFiRecordFromHsMic_UnMute)/sizeof(ACMAPH_Register)},
+    {APH_PATH_ID_VOICERECORDFROMMIC1,   ACM_VoiceRecordFromMic1_UnMute,     sizeof(ACM_VoiceRecordFromMic1_UnMute)/sizeof(ACMAPH_Register)},
+    {APH_PATH_ID_VOICERECORDFROMHSMIC,  ACM_VoiceRecordFromHsMic_UnMute,    sizeof(ACM_VoiceRecordFromHsMic_UnMute)/sizeof(ACMAPH_Register)},
+};
+
+extern ACH_ComponentHandler ALC5616_handler;
+
+static APH_ACHComponent ACH_component_table[] = {
+    {ALC5616, &ALC5616_handler},
+};
+//Sorted as APH_AudioComponent
+static char APH_AudioComponent_Name[][16]= {
+    "ELBA",
+    "USTICA",
+    "DELAY",
+    "NAU8810",
+    "ALC5616"
+} ;
+#endif