Baseline update from LYNQ_SDK_ASR_T108_V05.03.01.00(kernel build error.)

Change-Id: I56fc72cd096e82c589920026553170e5cb9692eb
diff --git a/marvell/services/audio/libacm/acm/src/acm_aph.c b/marvell/services/audio/libacm/acm/src/acm_aph.c
old mode 100644
new mode 100755
index a947a74..dfa6b5f
--- a/marvell/services/audio/libacm/acm/src/acm_aph.c
+++ b/marvell/services/audio/libacm/acm/src/acm_aph.c
@@ -63,6 +63,12 @@
 //NAU8810 is connected
 #include "acm_nau8810.h"
 static BOOL acm_codec_connected = TRUE;
+#elif defined(CODEC_ES8311)
+#include "acm_es8311.h"
+static BOOL acm_codec_connected = TRUE;
+#elif defined(CODEC_TLV320AIC3X)
+#include "acm_tlv320aic3x.h"
+static BOOL acm_codec_connected = TRUE;
 #elif defined(CODEC_ALC5616)
 //ALC5616 is connected
 #include "acm_alc5616.h"
@@ -215,7 +221,7 @@
     return NULL;
 }
 
-#if  !defined(CODEC_PM805) && !defined(CODEC_PM812) && !defined(CODEC_NAU8810) && !defined(CODEC_ALC5616)
+#if  !defined(CODEC_PM805) && !defined(CODEC_PM812) && !defined(CODEC_NAU8810) && !defined(CODEC_ALC5616)&&!defined(CODEC_TLV320AIC3X)&& !defined(CODEC_ES8311)
 static ACMAPH_VolumeComponent *_get_APHVolumeTable(APH_PATH_ID path_id, ACMAPH_VolumeComponent *pTable, unsigned char max) {
     int i = 0;
 
@@ -438,6 +444,11 @@
             else
                 RegisterList[i].Value = CODEC_NAU8810_VOICE_NB;
         }
+#elif defined(CODEC_ES8311)
+        /* es8311 customer codec always as slave and fix 256fs , we have config it in enable path */
+#elif defined(CODEC_TLV320AIC3X)
+ 
+
 #elif defined(CODEC_ALC5616)
         if( RegisterList[i].Address == CODEC_ALC5616_VOICE_REG70){
             LOGI(APHAudioPathEnable, "%s/L%d: modem PCM is %s", __FUNCTION__, __LINE__, modem_is_master?"master":"slave");
@@ -460,6 +471,12 @@
         component_handler->ACH_Handle(&param);
     }
 
+#if defined(CODEC_ES8311)
+    LOGE(APHAudioPathDisable, "%s wil enable audio pa\n", __FUNCTION__);
+
+    system("echo 1 > /sys/bus/i2c/devices/0-0018/opa_gpio_op");
+#endif
+
     return ACM_RC_OK;
 }
 
@@ -501,6 +518,12 @@
         ////path_status_table[path_id].value = 0;       // Save volume even after disabled
         path_status_table[path_id].mute = 0;
     }
+#if defined(CODEC_ES8311)
+
+    LOGE(APHAudioPathDisable, "%s will disable audio ap! \n", __FUNCTION__);
+    system("echo 0 > /sys/bus/i2c/devices/0-0018/opa_gpio_op");
+
+#endif
 
     size = pTable->RegisterNum;
     RegisterList = pTable->RegisterList;
@@ -830,7 +853,7 @@
     unsigned int i;
     unsigned char index_volume = 0;
 
-#if  defined(CODEC_PM805) || defined(CODEC_PM812) || defined(CODEC_NAU8810) || defined(CODEC_ALC5616)
+#if  defined(CODEC_PM805) || defined(CODEC_PM812) || defined(CODEC_NAU8810) || defined(CODEC_ALC5616) || defined(CODEC_TLV320AIC3X)|| defined(CODEC_ES8311)
     AC_IPC_Package  package;
     ACMCodec_GainT buffer;
     AUDIO_PROFILE_ID cur_Profile_id = HIFI_HANDSET;
@@ -859,7 +882,7 @@
         return ACM_RC_INVALID_PATH;
     }
 
-#if  defined(CODEC_PM805) || defined(CODEC_PM812) || defined(CODEC_NAU8810) || defined(CODEC_ALC5616)
+#if  defined(CODEC_PM805) || defined(CODEC_PM812) || defined(CODEC_NAU8810) || defined(CODEC_TLV320AIC3X)|| defined(CODEC_ALC5616) || defined(CODEC_ES8311)
     if ((APH_PATH_ID_HIFIRECORDFROMMIC1 == path_id) || (APH_PATH_ID_HIFIRECORDFROMHSMIC == path_id)
             || (APH_PATH_ID_VOICERECORDFROMMIC1 == path_id) ||(APH_PATH_ID_VOICERECORDFROMHSMIC == path_id))
     {
@@ -926,7 +949,7 @@
 
 #endif
 
-#if  !defined(CODEC_PM805) && !defined(CODEC_PM812) && !defined(CODEC_NAU8810) && !defined(CODEC_ALC5616)
+#if  !defined(CODEC_PM805) && !defined(CODEC_PM812) && !defined(CODEC_NAU8810) && !defined(CODEC_TLV320AIC3X) && !defined(CODEC_ALC5616)&& !defined(CODEC_ES8311)
     pTable = _get_APHVolumeTable(path_id, ACM_Volume, APH_PATH_OUT_CNT);
     if(pTable == NULL){
         LOGE(APHAudioPathVolumeSet, "%s/L%d: Error pTable=%d", __FUNCTION__, __LINE__, pTable);
@@ -960,7 +983,7 @@
         return ACM_RC_INVALID_VOLUME_CHANGE;
     }
 
-#if  defined(CODEC_PM805) || defined(CODEC_PM812) || defined(CODEC_NAU8810) || defined(CODEC_ALC5616)
+#if  defined(CODEC_PM805) || defined(CODEC_PM812) || defined(CODEC_NAU8810) || defined(CODEC_TLV320AIC3X) || defined(CODEC_ALC5616) || defined(CODEC_ES8311)
 
     if (0xFFFF != buffer.Rx_CodecGain[index_volume].RegAddr_1)
     {
@@ -1111,7 +1134,7 @@
 
 ACM_ReturnCode APHGetMSAGain(const char *out_path, const char *path, unsigned char *volume, unsigned short id, signed short *gain, signed short *sidetone_gain) {
 
-#if  defined(CODEC_PM805) || defined(CODEC_PM812) || defined(CODEC_NAU8810) || defined(CODEC_ALC5616)
+#if  defined(CODEC_PM805) || defined(CODEC_PM812) || defined(CODEC_NAU8810)|| defined(CODEC_TLV320AIC3X) || defined(CODEC_ALC5616) || defined(CODEC_ES8311)
     int path_id = INVALID_PATH_ID;
     AC_IPC_Package  package;
     ACMCodec_GainT buffer;
@@ -1202,6 +1225,31 @@
 
 }
 
+
+#ifdef MBTK_AUDIO_GAIN_SAVE_SUPPORT
+ACM_ReturnCode MBTK_ACMSaveMSAGain(unsigned char *gain, int gain_num) {
+#if defined(CODEC_ES8311)
+    AC_IPC_Package  package;
+
+    memset(&package, 0x00, sizeof(AC_IPC_Package));
+
+    LOGI(APHGetMSAGain, "%s/L%d start.", __FUNCTION__, __LINE__);
+
+    package.type = AUDIO_NVM_SaveCalibrationData;
+    memcpy(&(package.body), gain, gain_num);
+    package.ptr = NULL;
+
+    NVM_Calibration_IPC(&package);
+
+    return ACM_RC_OK;
+
+#else
+    LOGI(APHGetMSAGain,"Not supported codec! APHSaveMSAGain!");
+    return ACM_RC_OK;
+#endif
+}
+#endif
+
 #ifdef PXA1826_AUDIO
 ACM_ReturnCode APHSetMSAGain(AC_Digital_Gain *gain) {
     VolumeCtlMsg volume_cmd;