hal: Add support for SDA845
Add support for SDA845 with an I2S configuration.
Change-Id: Ic0b087fff02fa65f289b836d4a9f6ebc7a9993a6
diff --git a/hal/msm8974/hw_info.c b/hal/msm8974/hw_info.c
index 4b70fb7..26c92ec 100644
--- a/hal/msm8974/hw_info.c
+++ b/hal/msm8974/hw_info.c
@@ -425,6 +425,20 @@
ALOGW("%s: Not a msmnile device", __func__);
}
+static void update_hardware_info_sda845(struct hardware_info *hw_info, const char *snd_card_name)
+{
+ if (!strncmp(snd_card_name, "sda845-tavil-i2s-snd-card", sizeof("sda845-tavil-i2s-snd-card"))) {
+ strlcpy(hw_info->type, " mtp", sizeof(hw_info->type));
+ strlcpy(hw_info->name, "sda845", sizeof(hw_info->name));
+ hw_info->snd_devices = NULL;
+ hw_info->num_snd_devices = 0;
+ hw_info->is_stereo_spkr = false;
+ strlcpy(hw_info->dev_extn, "", sizeof(hw_info->dev_extn));
+ } else {
+ ALOGW("%s: Not a sda845 device", __func__);
+ }
+}
+
static void update_hardware_info_sdx(struct hardware_info *hw_info __unused, const char *snd_card_name __unused)
{
ALOGW("%s: Not a sdx device", __func__);
@@ -592,6 +606,9 @@
} else if (strstr(snd_card_name, "pahu")) {
ALOGV("MSMNILE - variant soundcard");
update_hardware_info_msmnile(hw_info, snd_card_name);
+ } else if (strstr(snd_card_name, "sda845")) {
+ ALOGV("SDA845 - variant soundcard");
+ update_hardware_info_sda845(hw_info, snd_card_name);
} else {
ALOGE("%s: Unsupported target %s:",__func__, snd_card_name);
free(hw_info);
diff --git a/hal/msm8974/platform.c b/hal/msm8974/platform.c
index 10de9b6..b106ae7 100644
--- a/hal/msm8974/platform.c
+++ b/hal/msm8974/platform.c
@@ -1337,7 +1337,9 @@
!strncmp(snd_card_name, "apq8096-tasha-i2c-snd-card",
sizeof("apq8096-tasha-i2c-snd-card")) ||
!strncmp(snd_card_name, "sdx-tavil-i2s-snd-card",
- sizeof("sdx-tavil-i2s-snd-card"))){
+ sizeof("sdx-tavil-i2s-snd-card")) ||
+ !strncmp(snd_card_name, "sda845-tavil-i2s-snd-card",
+ sizeof("sda845-tavil-i2s-snd-card"))) {
plat_data->is_i2s_ext_modem = true;
}
ALOGV("%s, is_i2s_ext_modem:%d soundcard name is %s",__func__,
@@ -2299,8 +2301,10 @@
property_get("ro.baseband", baseband, "");
if ((!strncmp("apq8084", platform, sizeof("apq8084")) ||
!strncmp("msm8996", platform, sizeof("msm8996")) ||
- !strncmp("sdx", platform, sizeof("sdx"))) &&
- !strncmp("mdm", baseband, (sizeof("mdm")-1))) {
+ !strncmp("sdx", platform, sizeof("sdx")) ||
+ !strncmp("sdm845", platform, sizeof("sdm845"))) &&
+ ( !strncmp("mdm", baseband, (sizeof("mdm")-1)) ||
+ !strncmp("sdx", baseband, (sizeof("sdx")-1)))) {
my_data->csd = open_csd_client(my_data->is_i2s_ext_modem);
} else {
my_data->csd = NULL;