hal: Add open source HAL for Elliptic Ultrasound
Author: Balázs Triszka <balika011@gmail.com>
Date: Mon Feb 26 22:11:10 2018 +0100
msm8996: ultrasound: Initial open source hal for Elliptic Ultrasound
* Needed for proximity sensor on Xiaomi Mi MIX
Change-Id: Iaef2266bc1b853d7a9d1e2a906014c6c91019d5f
Signed-off-by: Balázs Triszka <balika011@gmail.com>
Author: Michael Bestas <mkbestas@lineageos.org>
Date: Sat Feb 10 00:28:00 2018 +0200
msm8996: ultrasound: Remove unused code
* Params ultrasound_set_manual_calibration and ultrasound_set_sensitivity
do not exist.
Change-Id: I0004949db19b6ab7d49f20e422984e06a970cfe9
Author: Demon Singur <demonsingur@gmail.com>
Date: Sat Apr 21 09:08:03 2018 +0000
msm8996: hal: Update ultrasound route hacks
Change-Id: If002503dfba0f005f73a4455d68bbcce9d2f617e
Change-Id: I798f5a8e4f25c4d192a95befd162b86495ccc178
diff --git a/hal/msm8974/platform.c b/hal/msm8974/platform.c
index daf6455..ff124eb 100644
--- a/hal/msm8974/platform.c
+++ b/hal/msm8974/platform.c
@@ -400,6 +400,9 @@
[USECASE_AUDIO_PLAYBACK_INTERACTIVE_STREAM8] =
{PLAYBACK_INTERACTIVE_STRM_DEVICE8, PLAYBACK_INTERACTIVE_STRM_DEVICE8},
[USECASE_AUDIO_EC_REF_LOOPBACK] = {-1, -1}, /* pcm id updated from platform info file */
+ [USECASE_AUDIO_ULTRASOUND_RX] = {ULTRASOUND_PCM_DEVICE, -1},
+ [USECASE_AUDIO_ULTRASOUND_TX] = {-1, ULTRASOUND_PCM_DEVICE},
+
};
/* Array to store sound devices */
@@ -473,6 +476,7 @@
[SND_DEVICE_OUT_SPEAKER_PROTECTED_VBAT_RAS] = "speaker-protected-vbat",
[SND_DEVICE_OUT_SPEAKER_AND_BT_SCO] = "speaker-and-bt-sco",
[SND_DEVICE_OUT_SPEAKER_AND_BT_SCO_WB] = "speaker-and-bt-sco-wb",
+ [SND_DEVICE_OUT_ULTRASOUND_HANDSET] = "ultrasound-handset",
/* Capture sound devices */
[SND_DEVICE_IN_HANDSET_MIC] = "handset-mic",
@@ -569,6 +573,7 @@
[SND_DEVICE_IN_INCALL_REC_TX] = "incall-rec-tx",
[SND_DEVICE_IN_INCALL_REC_RX_TX] = "incall-rec-rx-tx",
[SND_DEVICE_IN_EC_REF_LOOPBACK_QUAD] = "ec-ref-loopback-quad",
+ [SND_DEVICE_IN_ULTRASOUND_MIC] = "ultrasound-mic",
};
// Platform specific backend bit width table
@@ -976,6 +981,8 @@
{TO_NAME_INDEX(USECASE_AUDIO_A2DP_ABR_FEEDBACK)},
{TO_NAME_INDEX(USECASE_AUDIO_PLAYBACK_VOIP)},
{TO_NAME_INDEX(USECASE_AUDIO_RECORD_VOIP)},
+ {TO_NAME_INDEX(USECASE_AUDIO_ULTRASOUND_RX)},
+ {TO_NAME_INDEX(USECASE_AUDIO_ULTRASOUND_TX)},
};
#define NO_COLS 2
@@ -1198,7 +1205,11 @@
list_for_each(node, &adev->usecase_list) {
usecase = node_to_item(node, struct audio_usecase, list);
- if (usecase != NULL && usecase->type == PCM_PLAYBACK) {
+ if (usecase != NULL && usecase->type == PCM_PLAYBACK
+#ifdef ELLIPTIC_ULTRASOUND_ENABLED
+ && usecase->id != USECASE_AUDIO_ULTRASOUND_RX
+#endif
+ ) {
int new_snd_device[2] = {0};
int i, num_devices = 1;