Merge "hal: add entry for shima QRD device"
diff --git a/configs/lahaina/lahaina.mk b/configs/lahaina/lahaina.mk
index 8d9bf2c..a8466fc 100644
--- a/configs/lahaina/lahaina.mk
+++ b/configs/lahaina/lahaina.mk
@@ -103,6 +103,9 @@
 PRODUCT_PACKAGES += $(AUDIO_WRAPPER)
 PRODUCT_PACKAGES += $(AUDIO_HAL_TEST_APPS)
 PRODUCT_PACKAGES += ftm_test_config_lahaina-qrd-snd-card
+PRODUCT_PACKAGES += ftm_test_config_lahaina-shimaidp-snd-card
+PRODUCT_PACKAGES += ftm_test_config_lahaina-shimaidps-snd-card
+PRODUCT_PACKAGES += ftm_test_config_lahaina-shimaqrd-snd-card
 PRODUCT_PACKAGES += audioadsprpcd
 PRODUCT_PACKAGES += vendor.qti.audio-adsprpc-service.rc
 
diff --git a/hal/msm8974/hw_info.c b/hal/msm8974/hw_info.c
index d8d6215..bee414b 100644
--- a/hal/msm8974/hw_info.c
+++ b/hal/msm8974/hw_info.c
@@ -598,6 +598,16 @@
     } else if (!strncmp(snd_card_name, "lahaina-cdp-snd-card",
                  sizeof("lahaina-cdp-snd-card"))) {
         strlcpy(hw_info->name, "lahaina", sizeof(hw_info->name));
+    } else if (!strncmp(snd_card_name, "lahaina-shimaidp-snd-card",
+                 sizeof("lahaina-shimaidp-snd-card"))) {
+        strlcpy(hw_info->name, "shima", sizeof(hw_info->name));
+    } else if (!strncmp(snd_card_name, "lahaina-shimaidps-snd-card",
+                 sizeof("lahaina-shimaidps-snd-card"))) {
+        strlcpy(hw_info->name, "shima", sizeof(hw_info->name));
+    } else if (!strncmp(snd_card_name, "lahaina-shimaqrd-snd-card",
+                 sizeof("lahaina-shimaqrd-snd-card"))) {
+        strlcpy(hw_info->name, "shima", sizeof(hw_info->name));
+        hw_info->is_stereo_spkr = false;
     } else {
         ALOGW("%s: Not a lahaina device", __func__);
     }
@@ -929,7 +939,7 @@
                || strstr(snd_card_name, "atoll") || strstr(snd_card_name, "bengal")) {
         ALOGV("KONA - variant soundcard");
         update_hardware_info_kona(hw_info, snd_card_name);
-    } else if(strstr(snd_card_name, "lahaina")) {
+    } else if(strstr(snd_card_name, "lahaina") || strstr(snd_card_name, "shima")) {
         ALOGV("LAHAINA - variant soundcard");
         update_hardware_info_lahaina(hw_info, snd_card_name);
     } else if(strstr(snd_card_name, "holi")) {
diff --git a/hal/msm8974/platform.c b/hal/msm8974/platform.c
index 8bd2bbf..a8f6b16 100644
--- a/hal/msm8974/platform.c
+++ b/hal/msm8974/platform.c
@@ -71,6 +71,8 @@
 #define PLATFORM_INFO_XML_PATH_I2S_NAME "audio_platform_info_extcodec.xml"
 #define PLATFORM_INFO_XML_PATH_WSA_NAME  "audio_platform_info_wsa.xml"
 #define PLATFORM_INFO_XML_PATH_TDM_NAME  "audio_platform_info_tdm.xml"
+#define PLATFORM_INFO_XML_PATH_SHIMA_IDP "audio_platform_info_shimaidp.xml"
+#define PLATFORM_INFO_XML_PATH_SHIMA_QRD "audio_platform_info_shimaqrd.xml"
 
 #include <linux/msm_audio.h>
 #if defined (PLATFORM_MSM8998) || (PLATFORM_SDM845) || (PLATFORM_SDM710) || \
@@ -1795,6 +1797,12 @@
                    sizeof("lahaina-cdp-snd-card")) ||
          !strncmp(snd_card_name, "kona-mtp-snd-card",
                    sizeof("kona-mtp-snd-card")) ||
+         !strncmp(snd_card_name, "lahaina-shimaidp-snd-card",
+                   sizeof("lahaina-shimaidp-snd-card")) ||
+         !strncmp(snd_card_name, "lahaina-shimaidps-snd-card",
+                   sizeof("lahaina-shimaidps-snd-card")) ||
+         !strncmp(snd_card_name, "lahaina-shimaqrd-snd-card",
+                   sizeof("lahaina-shimaqrd-snd-card")) ||
          !strncmp(snd_card_name, "kona-qrd-snd-card",
                    sizeof("kona-qrd-snd-card")) ||
          !strncmp(snd_card_name, "lito-mtp-snd-card",
@@ -3409,11 +3417,20 @@
                sizeof("qcs405-tdm-snd-card"))) {
         platform_info_init(get_xml_file_path(PLATFORM_INFO_XML_PATH_TDM_NAME),
             my_data, PLATFORM);
+    } else if (!strncmp(snd_card_name, "lahaina-shimaidp-snd-card",
+               sizeof("lahaina-shimaidp-snd-card")) ||
+               !strncmp(snd_card_name, "lahaina-shimaidps-snd-card",
+               sizeof("lahaina-shimaidps-snd-card"))) {
+        platform_info_init(get_xml_file_path(PLATFORM_INFO_XML_PATH_SHIMA_IDP),
+            my_data, PLATFORM);
+    } else if (!strncmp(snd_card_name, "lahaina-shimaqrd-snd-card",
+               sizeof("lahaina-shimaqrd-snd-card"))) {
+        platform_info_init(get_xml_file_path(PLATFORM_INFO_XML_PATH_SHIMA_QRD),
+            my_data, PLATFORM);
     } else if (my_data->is_internal_codec) {
         platform_info_init(get_xml_file_path(PLATFORM_INFO_XML_PATH_INTCODEC_NAME),
             my_data, PLATFORM);
-    }
-    else {
+    } else {
         // Try to load pixel or default
         audio_extn_utils_get_platform_info(snd_card_name, platform_info_file);
         platform_info_init(platform_info_file, my_data, PLATFORM);
@@ -3741,6 +3758,7 @@
         //TODO:: make generic interfaceface to check Slimbus/I2S/CDC_DMA
         if (!strncmp(snd_card_name, "sm6150", strlen("sm6150")) ||
             !strncmp(snd_card_name, "kona", strlen("kona")) ||
+            !strncmp(snd_card_name, "shima", strlen("shima")) ||
             !strncmp(snd_card_name, "lahaina", strlen("lahaina")) ||
             !strncmp(snd_card_name, "lito", strlen("lito")) ||
             !strncmp(snd_card_name, "atoll", strlen("atoll")) ||