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(¶m);
}
+#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;