hal: add support to compile audio hal for qcs405
Add platform and configure.ac changes to support audio hal
for qcs405 targets.
Change-Id: Ifa2c610420ef2e92729ef0dcd6eea09ae8c5cc70
diff --git a/configure.ac b/configure.ac
index d6775b2..d92c8bb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -85,6 +85,10 @@
AC_SUBST([TARGET_PLATFORM], ["msm8974"])
TARGET_CFLAGS=" -DPLATFORM_QCS605"
fi
+if (test x$TARGET_SUPPORT = xqcs40x); then
+ AC_SUBST([TARGET_PLATFORM], ["msm8974"])
+ TARGET_CFLAGS=" -DPLATFORM_QCS405"
+fi
AC_SUBST([TARGET_CFLAGS])
diff --git a/hal/audio_extn/hfp.c b/hal/audio_extn/hfp.c
index 97a2ad4..9a41e08 100644
--- a/hal/audio_extn/hfp.c
+++ b/hal/audio_extn/hfp.c
@@ -55,7 +55,7 @@
#define HFP_RX_VOLUME "SEC AUXPCM LOOPBACK Volume"
#elif defined PLATFORM_MSM8996
#define HFP_RX_VOLUME "PRI AUXPCM LOOPBACK Volume"
-#elif defined (PLATFORM_MSM8998) || defined (PLATFORM_MSMFALCON) || defined (PLATFORM_SDM845) || defined (PLATFORM_SDM670) || defined (PLATFORM_QCS605) || defined (PLATFORM_MSMNILE)
+#elif defined (PLATFORM_MSM8998) || defined (PLATFORM_MSMFALCON) || defined (PLATFORM_SDM845) || defined (PLATFORM_SDM670) || defined (PLATFORM_QCS605) || defined (PLATFORM_MSMNILE) || defined (PLATFORM_QCS405)
#define HFP_RX_VOLUME "SLIMBUS_7 LOOPBACK Volume"
#else
#define HFP_RX_VOLUME "Internal HFP RX Volume"
diff --git a/hal/msm8974/hw_info.c b/hal/msm8974/hw_info.c
index 7afc21a..6997500 100644
--- a/hal/msm8974/hw_info.c
+++ b/hal/msm8974/hw_info.c
@@ -542,6 +542,9 @@
if (!strncmp(snd_card_name, "sdm660-snd-card",
sizeof("sdm660-snd-card")))
strlcpy(hw_info->name, "sdm660", sizeof(hw_info->name));
+ if (!strncmp(snd_card_name, "qcs405-sku1-snd-card",
+ sizeof("qcs405-sku1-snd-card")))
+ strlcpy(hw_info->name, "qcs405", sizeof(hw_info->name));
if (!strncmp(snd_card_name, "qcs605-lc-snd-card",
sizeof("qcs605-lc-snd-card")))
strlcpy(hw_info->name, "qcs605-lc", sizeof(hw_info->name));
@@ -600,7 +603,8 @@
} else if(strstr(snd_card_name, "sdm845")) {
ALOGV("SDM845 - variant soundcard");
update_hardware_info_sdm845(hw_info, snd_card_name);
- } else if (strstr(snd_card_name, "sdm660") || strstr(snd_card_name, "sdm670") || strstr(snd_card_name, "qcs605-lc")) {
+ } else if (strstr(snd_card_name, "sdm660") || strstr(snd_card_name, "sdm670") ||
+ strstr(snd_card_name, "qcs605-lc") || strstr(snd_card_name, "qcs405")) {
ALOGV("Bear - variant soundcard");
update_hardware_info_bear(hw_info, snd_card_name);
} else if (strstr(snd_card_name, "sdx")) {
diff --git a/hal/msm8974/platform.c b/hal/msm8974/platform.c
index 8795950..7c950e5 100755
--- a/hal/msm8974/platform.c
+++ b/hal/msm8974/platform.c
@@ -77,7 +77,7 @@
#endif
#include <linux/msm_audio.h>
-#if defined (PLATFORM_MSM8998) || (PLATFORM_SDM845) || (PLATFORM_SDM670) || defined (PLATFORM_QCS605) || defined (PLATFORM_MSMNILE)
+#if defined (PLATFORM_MSM8998) || (PLATFORM_SDM845) || (PLATFORM_SDM670) || defined (PLATFORM_QCS605) || defined (PLATFORM_MSMNILE) || defined (PLATFORM_QCS405)
#include <sound/devdep_params.h>
#endif
@@ -2408,11 +2408,22 @@
strdup("INT0_MI2S_RX SampleRate");
} else {
+ if (!strncmp(snd_card_name, "qcs405", strlen("qcs405"))) {
+ my_data->current_backend_cfg[DEFAULT_CODEC_BACKEND].bitwidth_mixer_ctl =
+ strdup("WSA_CDC_DMA_RX_0 Format");
+ my_data->current_backend_cfg[DEFAULT_CODEC_BACKEND].samplerate_mixer_ctl =
+ strdup("WSA_CDC_DMA_RX_0 SampleRate");
- my_data->current_backend_cfg[DEFAULT_CODEC_TX_BACKEND].bitwidth_mixer_ctl =
- strdup("SLIM_0_TX Format");
- my_data->current_backend_cfg[DEFAULT_CODEC_TX_BACKEND].samplerate_mixer_ctl =
- strdup("SLIM_0_TX SampleRate");
+ my_data->current_backend_cfg[DEFAULT_CODEC_TX_BACKEND].bitwidth_mixer_ctl =
+ strdup("VA_CDC_DMA_TX_0 Format");
+ my_data->current_backend_cfg[DEFAULT_CODEC_TX_BACKEND].samplerate_mixer_ctl =
+ strdup("VA_CDC_DMA_TX_0 SampleRate");
+ } else {
+ my_data->current_backend_cfg[DEFAULT_CODEC_TX_BACKEND].bitwidth_mixer_ctl =
+ strdup("SLIM_0_TX Format");
+ my_data->current_backend_cfg[DEFAULT_CODEC_TX_BACKEND].samplerate_mixer_ctl =
+ strdup("SLIM_0_TX SampleRate");
+ }
my_data->current_backend_cfg[HEADPHONE_BACKEND].bitwidth_mixer_ctl =
strdup("SLIM_6_RX Format");
my_data->current_backend_cfg[HEADPHONE_BACKEND].samplerate_mixer_ctl =
@@ -7913,7 +7924,7 @@
return sample_rate;
}
-#if defined (PLATFORM_MSM8998) || (PLATFORM_SDM845) || (PLATFORM_SDM670) || defined (PLATFORM_QCS605) || defined (PLATFORM_MSMNILE)
+#if defined (PLATFORM_MSM8998) || (PLATFORM_SDM845) || (PLATFORM_SDM670) || defined (PLATFORM_QCS605) || defined (PLATFORM_MSMNILE) || defined (PLATFORM_QCS405)
int platform_get_mmap_data_fd(void *platform, int fe_dev, int dir, int *fd,
uint32_t *size)
{
diff --git a/hal/msm8974/platform.h b/hal/msm8974/platform.h
index 04f25de..e0aa58d 100644
--- a/hal/msm8974/platform.h
+++ b/hal/msm8974/platform.h
@@ -371,11 +371,11 @@
#define PLAYBACK_OFFLOAD_DEVICE 9
// Direct_PCM
-#if defined (PLATFORM_MSM8994) || defined (PLATFORM_MSM8996) || defined (PLATFORM_APQ8084) || defined (PLATFORM_MSM8998) || defined (PLATFORM_SDM845) || defined (PLATFORM_SDM670) ||defined (PLATFORM_QCS605) ||defined (PLATFORM_SDX24) || defined (PLATFORM_MSMNILE)
+#if defined (PLATFORM_MSM8994) || defined (PLATFORM_MSM8996) || defined (PLATFORM_APQ8084) || defined (PLATFORM_MSM8998) || defined (PLATFORM_SDM845) || defined (PLATFORM_SDM670) ||defined (PLATFORM_QCS605) ||defined (PLATFORM_SDX24) || defined (PLATFORM_MSMNILE) || defined (PLATFORM_QCS405)
#define PLAYBACK_OFFLOAD_DEVICE2 17
#endif
-#if defined (PLATFORM_APQ8084) || defined (PLATFORM_MSM8996) || defined (PLATFORM_MSM8998) || defined (PLATFORM_SDM845) || defined (PLATFORM_SDM670) || defined(PLATFORM_QCS605) || defined (PLATFORM_SDX24) || defined (PLATFORM_MSMNILE)
+#if defined (PLATFORM_APQ8084) || defined (PLATFORM_MSM8996) || defined (PLATFORM_MSM8998) || defined (PLATFORM_SDM845) || defined (PLATFORM_SDM670) || defined(PLATFORM_QCS605) || defined (PLATFORM_SDX24) || defined (PLATFORM_MSMNILE) || defined (PLATFORM_QCS405)
#define PLAYBACK_OFFLOAD_DEVICE3 18
#define PLAYBACK_OFFLOAD_DEVICE4 34
#define PLAYBACK_OFFLOAD_DEVICE5 35
@@ -500,7 +500,7 @@
#define FM_RX_VOLUME "PRI MI2S LOOPBACK Volume"
#elif PLATFORM_MSM8996
#define FM_RX_VOLUME "Tert MI2S LOOPBACK Volume"
-#elif defined (PLATFORM_MSM8998) || defined (PLATFORM_SDM845) || defined (PLATFORM_MSMFALCON) || defined (PLATFORM_SDM670) || defined (PLATFORM_QCS605) || defined (PLATFORM_MSMNILE)
+#elif defined (PLATFORM_MSM8998) || defined (PLATFORM_SDM845) || defined (PLATFORM_MSMFALCON) || defined (PLATFORM_SDM670) || defined (PLATFORM_QCS605) || defined (PLATFORM_MSMNILE) || defined (PLATFORM_QCS405)
#define FM_RX_VOLUME "SLIMBUS_8 LOOPBACK Volume"
#else
#define FM_RX_VOLUME "Internal FM RX Volume"