hal: add audio support for kona
Add audio support for kona.
Change-Id: Ib1eb05209ce3220e00fa15cddc5338b3f62871f9
diff --git a/Android.mk b/Android.mk
index 7c27fa4..7fb0864 100644
--- a/Android.mk
+++ b/Android.mk
@@ -1,4 +1,4 @@
-ifneq ($(filter mpq8092 msm8960 msm8226 msm8x26 msm8610 msm8974 msm8x74 apq8084 msm8916 msm8994 msm8992 msm8909 msm8996 msm8952 msm8937 thorium msm8953 msmgold msm8998 sdm660 sdm845 sdm710 apq8098_latv qcs605 msmnile $(MSMSTEPPE) $(TRINKET),$(TARGET_BOARD_PLATFORM)),)
+ifneq ($(filter mpq8092 msm8960 msm8226 msm8x26 msm8610 msm8974 msm8x74 apq8084 msm8916 msm8994 msm8992 msm8909 msm8996 msm8952 msm8937 thorium msm8953 msmgold msm8998 sdm660 sdm845 sdm710 apq8098_latv qcs605 msmnile $(MSMSTEPPE) $(TRINKET) kona,$(TARGET_BOARD_PLATFORM)),)
MY_LOCAL_PATH := $(call my-dir)
diff --git a/configs/kona/kona.mk b/configs/kona/kona.mk
index d06e248..93e4ca0 100644
--- a/configs/kona/kona.mk
+++ b/configs/kona/kona.mk
@@ -1,8 +1,8 @@
#BOARD_USES_GENERIC_AUDIO := true
#
#AUDIO_FEATURE_FLAGS
-BOARD_USES_ALSA_AUDIO := false
-TARGET_USES_AOSP_FOR_AUDIO := true
+BOARD_USES_ALSA_AUDIO := true
+TARGET_USES_AOSP_FOR_AUDIO := false
ifneq ($(TARGET_USES_AOSP_FOR_AUDIO), true)
USE_CUSTOM_AUDIO_POLICY := 1
diff --git a/hal/Android.mk b/hal/Android.mk
index febba73..c1bf398 100644
--- a/hal/Android.mk
+++ b/hal/Android.mk
@@ -8,7 +8,7 @@
AUDIO_PLATFORM := $(TARGET_BOARD_PLATFORM)
-ifneq ($(filter msm8974 msm8226 msm8610 apq8084 msm8994 msm8992 msm8996 msm8998 apq8098_latv sdm845 sdm710 qcs605 msmnile $(MSMSTEPPE) $(TRINKET),$(TARGET_BOARD_PLATFORM)),)
+ifneq ($(filter msm8974 msm8226 msm8610 apq8084 msm8994 msm8992 msm8996 msm8998 apq8098_latv sdm845 sdm710 qcs605 msmnile $(MSMSTEPPE) $(TRINKET) kona,$(TARGET_BOARD_PLATFORM)),)
# B-family platform uses msm8974 code base
AUDIO_PLATFORM = msm8974
MULTIPLE_HW_VARIANTS_ENABLED := true
@@ -51,6 +51,9 @@
ifneq ($(filter $(TRINKET) ,$(TARGET_BOARD_PLATFORM)),)
LOCAL_CFLAGS := -DPLATFORM_TRINKET
endif
+ifneq ($(filter kona,$(TARGET_BOARD_PLATFORM)),)
+ LOCAL_CFLAGS := -DPLATFORM_KONA
+endif
endif
ifneq ($(filter msm8916 msm8909 msm8952 msm8937 thorium msm8953 msmgold sdm660,$(TARGET_BOARD_PLATFORM)),)
diff --git a/hal/audio_extn/hfp.c b/hal/audio_extn/hfp.c
index 26ea72c..0c105d0 100644
--- a/hal/audio_extn/hfp.c
+++ b/hal/audio_extn/hfp.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved.
+/* Copyright (c) 2012-2019, The Linux Foundation. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
@@ -58,7 +58,11 @@
#define HFP_RX_VOLUME "PRI AUXPCM LOOPBACK Volume"
#elif defined PLATFORM_AUTO
#define HFP_RX_VOLUME "Playback 36 Volume"
-#elif defined (PLATFORM_MSM8998) || defined (PLATFORM_MSMFALCON) || defined (PLATFORM_SDM845) || defined (PLATFORM_SDM710) || defined (PLATFORM_QCS605) || defined (PLATFORM_MSMNILE) || defined (PLATFORM_MSMSTEPPE) || defined (PLATFORM_TRINKET)
+#elif defined (PLATFORM_MSM8998) || defined (PLATFORM_MSMFALCON) || \
+ defined (PLATFORM_SDM845) || defined (PLATFORM_SDM710) || \
+ defined (PLATFORM_QCS605) || defined (PLATFORM_MSMNILE) || \
+ defined (PLATFORM_MSMSTEPPE) || defined (PLATFORM_TRINKET) || \
+ defined (PLATFORM_KONA)
#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 264dfce..1ba94f0 100644
--- a/hal/msm8974/hw_info.c
+++ b/hal/msm8974/hw_info.c
@@ -505,6 +505,21 @@
}
}
+static void update_hardware_info_kona(struct hardware_info *hw_info,
+ const char *snd_card_name)
+{
+ if (!strncmp(snd_card_name, "kona-mtp-snd-card",
+ sizeof("kona-mtp-snd-card"))) {
+ strlcpy(hw_info->name, "kona", sizeof(hw_info->name));
+ } else if (!strncmp(snd_card_name, "kona-qrd-snd-card",
+ sizeof("kona-qrd-snd-card"))) {
+ strlcpy(hw_info->name, "kona", sizeof(hw_info->name));
+ hw_info->is_stereo_spkr = false;
+ } else {
+ ALOGW("%s: Not a kona 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__);
@@ -701,6 +716,9 @@
strstr(snd_card_name, "sa8155")) {
ALOGV("MSMNILE - variant soundcard");
update_hardware_info_msmnile(hw_info, snd_card_name);
+ } else if (strstr(snd_card_name, "kona")) {
+ ALOGV("KONA - variant soundcard");
+ update_hardware_info_kona(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 30b9d10..d9a0e3c 100644
--- a/hal/msm8974/platform.c
+++ b/hal/msm8974/platform.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013-2018, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2013-2019, The Linux Foundation. All rights reserved.
* Not a Contribution.
*
* Copyright (C) 2013 The Android Open Source Project
@@ -80,7 +80,10 @@
#endif
#include <linux/msm_audio.h>
-#if defined (PLATFORM_MSM8998) || (PLATFORM_SDM845) || (PLATFORM_SDM710) || defined (PLATFORM_QCS605) || defined (PLATFORM_MSMNILE) || defined (PLATFORM_MSMSTEPPE) || defined (PLATFORM_TRINKET)
+#if defined (PLATFORM_MSM8998) || (PLATFORM_SDM845) || (PLATFORM_SDM710) || \
+ defined (PLATFORM_QCS605) || defined (PLATFORM_MSMNILE) || \
+ defined (PLATFORM_MSMSTEPPE) || defined (PLATFORM_TRINKET) || \
+ defined (PLATFORM_KONA)
#include <sound/devdep_params.h>
#endif
@@ -1092,7 +1095,11 @@
!strncmp(snd_card_name, "sm6150-wcd9375-snd-card",
sizeof("sm6150-wcd9375-snd-card")) ||
!strncmp(snd_card_name, "sm6150-wcd9375qrd-snd-card",
- sizeof("sm6150-wcd9375qrd-snd-card"))) {
+ sizeof("sm6150-wcd9375qrd-snd-card")) ||
+ !strncmp(snd_card_name, "kona-mtp-snd-card",
+ sizeof("kona-mtp-snd-card")) ||
+ !strncmp(snd_card_name, "kona-qrd-snd-card",
+ sizeof("kona-qrd-snd-card"))) {
ALOGI("%s: snd_card_name: %s",__func__,snd_card_name);
my_data->is_internal_codec = true;
my_data->is_slimbus_interface = false;
@@ -2258,6 +2265,9 @@
else if (!strncmp(snd_card_name, "sm6150-wcd9375qrd-snd-card",
sizeof("sm6150-wcd9375qrd-snd-card")))
platform_info_init(PLATFORM_INFO_XML_PATH_QRD, my_data, PLATFORM);
+ else if (!strncmp(snd_card_name, "kona-qrd-snd-card",
+ sizeof("kona-qrd-snd-card")))
+ platform_info_init(PLATFORM_INFO_XML_PATH_QRD, my_data, PLATFORM);
else if (my_data->is_internal_codec)
platform_info_init(PLATFORM_INFO_XML_PATH_INTCODEC, my_data, PLATFORM);
else
@@ -2478,7 +2488,8 @@
if (!my_data->is_slimbus_interface) {
//TODO:: make generic interfaceface to check Slimbus/I2S/CDC_DMA
- if (!strncmp(snd_card_name, "sm6150", strlen("sm6150"))) {
+ if (!strncmp(snd_card_name, "sm6150", strlen("sm6150")) ||
+ !strncmp(snd_card_name, "kona", strlen("kona"))) {
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 =
@@ -8107,7 +8118,10 @@
return sample_rate;
}
-#if defined (PLATFORM_MSM8998) || (PLATFORM_SDM845) || (PLATFORM_SDM710) || defined (PLATFORM_QCS605) || defined (PLATFORM_MSMNILE) || defined (PLATFORM_MSMSTEPPE) || defined (PLATFORM_TRINKET)
+#if defined (PLATFORM_MSM8998) || (PLATFORM_SDM845) || (PLATFORM_SDM710) || \
+ defined (PLATFORM_QCS605) || defined (PLATFORM_MSMNILE) || \
+ defined (PLATFORM_MSMSTEPPE) || defined (PLATFORM_TRINKET) || \
+ defined (PLATFORM_KONA)
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 23953e6..06b6b27 100644
--- a/hal/msm8974/platform.h
+++ b/hal/msm8974/platform.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013-2018, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2013-2019, The Linux Foundation. All rights reserved.
* Not a Contribution.
*
* Copyright (C) 2013 The Android Open Source Project
@@ -386,11 +386,21 @@
#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_SDM710) ||defined (PLATFORM_QCS605) ||defined (PLATFORM_SDX24) || defined (PLATFORM_MSMNILE) || defined (PLATFORM_MSMSTEPPE) || defined (PLATFORM_TRINKET)
+#if defined (PLATFORM_MSM8994) || defined (PLATFORM_MSM8996) || \
+ defined (PLATFORM_APQ8084) || defined (PLATFORM_MSM8998) || \
+ defined (PLATFORM_SDM845) || defined (PLATFORM_SDM710) || \
+ defined (PLATFORM_QCS605) ||defined (PLATFORM_SDX24) || \
+ defined (PLATFORM_MSMNILE) || defined (PLATFORM_MSMSTEPPE) || \
+ defined (PLATFORM_TRINKET) || defined (PLATFORM_KONA)
#define PLAYBACK_OFFLOAD_DEVICE2 17
#endif
-#if defined (PLATFORM_APQ8084) || defined (PLATFORM_MSM8996) || defined (PLATFORM_MSM8998) || defined (PLATFORM_SDM845) || defined (PLATFORM_SDM710) || defined(PLATFORM_QCS605) || defined (PLATFORM_SDX24) || defined (PLATFORM_MSMNILE) || defined (PLATFORM_MSMSTEPPE) || defined (PLATFORM_TRINKET)
+#if defined (PLATFORM_APQ8084) || defined (PLATFORM_MSM8996) || \
+ defined (PLATFORM_MSM8998) || defined (PLATFORM_SDM845) || \
+ defined (PLATFORM_SDM710) || defined(PLATFORM_QCS605) || \
+ defined (PLATFORM_SDX24) || defined (PLATFORM_MSMNILE) || \
+ defined (PLATFORM_MSMSTEPPE) || defined (PLATFORM_TRINKET) || \
+ defined (PLATFORM_KONA)
#define PLAYBACK_OFFLOAD_DEVICE3 18
#define PLAYBACK_OFFLOAD_DEVICE4 34
#define PLAYBACK_OFFLOAD_DEVICE5 35
@@ -516,9 +526,12 @@
#define FM_RX_VOLUME "Quat MI2S FM RX Volume"
#elif PLATFORM_MSM8994
#define FM_RX_VOLUME "PRI MI2S LOOPBACK Volume"
-#elif PLATFORM_MSM8996
+#elif defined (PLATFORM_MSM8996) || defined (PLATFORM_KONA)
#define FM_RX_VOLUME "Tert MI2S LOOPBACK Volume"
-#elif defined (PLATFORM_MSM8998) || defined (PLATFORM_SDM845) || defined (PLATFORM_MSMFALCON) || defined (PLATFORM_SDM710) || defined (PLATFORM_QCS605) || defined (PLATFORM_MSMNILE) || defined (PLATFORM_MSMSTEPPE) || defined (PLATFORM_TRINKET)
+#elif defined (PLATFORM_MSM8998) || defined (PLATFORM_SDM845) || \
+ defined (PLATFORM_MSMFALCON) || defined (PLATFORM_SDM710) || \
+ defined (PLATFORM_QCS605) || defined (PLATFORM_MSMNILE) || \
+ defined (PLATFORM_MSMSTEPPE) || defined (PLATFORM_TRINKET)
#define FM_RX_VOLUME "SLIMBUS_8 LOOPBACK Volume"
#else
#define FM_RX_VOLUME "Internal FM RX Volume"
diff --git a/post_proc/Android.mk b/post_proc/Android.mk
index 9c90f3d..4d3ed87 100644
--- a/post_proc/Android.mk
+++ b/post_proc/Android.mk
@@ -131,7 +131,7 @@
################################################################################
-ifneq ($(filter msm8992 msm8994 msm8996 msm8998 sdm660 sdm845 apq8098_latv sdm710 msm8953 msm8937 qcs605 msmnile $(MSMSTEPPE) $(TRINKET),$(TARGET_BOARD_PLATFORM)),)
+ifneq ($(filter msm8992 msm8994 msm8996 msm8998 sdm660 sdm845 apq8098_latv sdm710 msm8953 msm8937 qcs605 msmnile $(MSMSTEPPE) $(TRINKET) kona,$(TARGET_BOARD_PLATFORM)),)
include $(CLEAR_VARS)
diff --git a/visualizer/Android.mk b/visualizer/Android.mk
index de6bc87..e90f57d 100644
--- a/visualizer/Android.mk
+++ b/visualizer/Android.mk
@@ -23,7 +23,7 @@
LOCAL_CFLAGS += -Wno-unused-variable -Wno-unused-parameter -Wno-gnu-designator -Wno-unused-value -Wno-typedef-redefinition
-ifneq ($(filter sdm660 sdm845 msm8998 apq8098_latv sdm710 qcs605 msmnile $(MSMSTEPPE) $(TRINKET),$(TARGET_BOARD_PLATFORM)),)
+ifneq ($(filter sdm660 sdm845 msm8998 apq8098_latv sdm710 qcs605 msmnile $(MSMSTEPPE) $(TRINKET) kona,$(TARGET_BOARD_PLATFORM)),)
LOCAL_CFLAGS += -DCAPTURE_DEVICE=7
endif