Merge "hal: configure the path for flicker sensor" into pi-dev
am: 9c021b9497
Change-Id: I148a54b1aa22a67772b16721e45024de69a3dfec
diff --git a/hal/Android.mk b/hal/Android.mk
index 3dd408a..ac6ea74 100644
--- a/hal/Android.mk
+++ b/hal/Android.mk
@@ -132,6 +132,10 @@
LOCAL_CFLAGS += -DEXTERNAL_BT_SUPPORTED
endif
+ifeq ($(strip $(AUDIO_FEATURE_FLICKER_SENSOR_INPUT)),true)
+ LOCAL_CFLAGS += -DFLICKER_SENSOR_INPUT
+endif
+
ifeq ($(strip $(AUDIO_FEATURE_NO_AUDIO_OUT)),true)
LOCAL_CFLAGS += -DNO_AUDIO_OUT
endif
diff --git a/hal/msm8974/platform.c b/hal/msm8974/platform.c
index 66c72fb..8f1cba9 100644
--- a/hal/msm8974/platform.c
+++ b/hal/msm8974/platform.c
@@ -1312,6 +1312,44 @@
return 0;
}
+static void configure_flicker_sensor_input(struct mixer *mixer)
+{
+ struct mixer_ctl *ctl;
+ const char* ctl1 = "AIF3_CAP Mixer SLIM TX2";
+ int setting1 = 1;
+ const char* ctl2 = "CDC_IF TX2 MUX";
+ const char* setting2 = "DEC2";
+ const char* ctl3 = "SLIM_1_TX Channels";
+ const char* setting3 = "One";
+ const char* ctl4 = "ADC MUX2";
+ const char* setting4 = "AMIC";
+ const char* ctl5 = "AMIC MUX2";
+ const char* setting5 = "ADC1";
+ const char* ctl6 = "DEC2 Volume";
+ int setting6 = 84;
+ const char* ctl7 = "MultiMedia2 Mixer SLIM_1_TX";
+ int setting7 = 1;
+ const char* ctl8 = "SLIM_1_TX SampleRate";
+ const char* setting8 = "KHZ_8";
+
+ ctl = mixer_get_ctl_by_name(mixer, ctl1);
+ mixer_ctl_set_value(ctl, 0, setting1);
+ ctl = mixer_get_ctl_by_name(mixer, ctl2);
+ mixer_ctl_set_enum_by_string(ctl, setting2);
+ ctl = mixer_get_ctl_by_name(mixer, ctl3);
+ mixer_ctl_set_enum_by_string(ctl, setting3);
+ ctl = mixer_get_ctl_by_name(mixer, ctl4);
+ mixer_ctl_set_enum_by_string(ctl, setting4);
+ ctl = mixer_get_ctl_by_name(mixer, ctl5);
+ mixer_ctl_set_enum_by_string(ctl, setting5);
+ ctl = mixer_get_ctl_by_name(mixer, ctl6);
+ mixer_ctl_set_value(ctl, 0, setting6);
+ ctl = mixer_get_ctl_by_name(mixer, ctl7);
+ mixer_ctl_set_value(ctl, 0, setting7);
+ ctl = mixer_get_ctl_by_name(mixer, ctl8);
+ mixer_ctl_set_enum_by_string(ctl, setting8);
+}
+
void *platform_init(struct audio_device *adev)
{
char value[PROPERTY_VALUE_MAX];
@@ -1523,6 +1561,10 @@
ALOGV("%s: Could not find the symbol acdb_loader_send_gain_dep_cal from %s",
__func__, LIB_ACDB_LOADER);
+#if defined (FLICKER_SENSOR_INPUT)
+ configure_flicker_sensor_input(adev->mixer);
+#endif
+
#if defined (PLATFORM_MSM8994) || (PLATFORM_MSM8996) || (PLATFORM_MSM8998) || (PLATFORM_SDM845)
acdb_init_v2_cvd_t acdb_init_local;
acdb_init_local = (acdb_init_v2_cvd_t)dlsym(my_data->acdb_handle,