qcom: add lahaina platform

lahaina = Snapdragon 888

Signed-off-by: Aryan Sinha <sinha.aryan03@gmail.com>
Change-Id: Iaad90031451a9d1d3c8cbe8b61c1cf19717df4ee
diff --git a/build/core/vendor/qcom_boards.mk b/build/core/vendor/qcom_boards.mk
index 1ec2781..607f357 100644
--- a/build/core/vendor/qcom_boards.mk
+++ b/build/core/vendor/qcom_boards.mk
@@ -9,6 +9,7 @@
 MSMSTEPPE := sm6150
 TRINKET := trinket #SM6125
 ATOLL := atoll #SM6250
+LAHAINA ?= lahaina #SM8350
 
 # A Family
 QCOM_BOARD_PLATFORMS += msm7x27a
@@ -52,6 +53,7 @@
 QCOM_BOARD_PLATFORMS += $(MSMSTEPPE)
 QCOM_BOARD_PLATFORMS += $(MSMNILE)
 QCOM_BOARD_PLATFORMS += $(ATOLL)
+QCOM_BOARD_PLATFORMS += $(LAHAINA)
 
 # MSM7000 Family
 MSM7K_BOARD_PLATFORMS := msm7x30
diff --git a/config/BoardConfigQcom.mk b/config/BoardConfigQcom.mk
index 9c54ca5..d572235 100644
--- a/config/BoardConfigQcom.mk
+++ b/config/BoardConfigQcom.mk
@@ -6,6 +6,7 @@
 MSMSTEPPE := sm6150
 TRINKET := trinket #SM6125
 ATOLL := atoll #SM6250
+LAHAINA ?= lahaina #SM8350
 
 B_FAMILY := msm8226 msm8610 msm8974
 B64_FAMILY := msm8992 msm8994
@@ -15,11 +16,30 @@
 UM_4_9_FAMILY := sdm845 sdm710
 UM_4_14_FAMILY := $(MSMNILE) $(MSMSTEPPE) $(TRINKET) $(ATOLL)
 UM_4_19_FAMILY := $(KONA) $(LITO) $(BENGAL)
-UM_PLATFORMS := $(UM_3_18_FAMILY) $(UM_4_4_FAMILY) $(UM_4_9_FAMILY) $(UM_4_14_FAMILY) $(UM_4_19_FAMILY)
-QSSI_SUPPORTED_PLATFORMS := $(UM_4_9_FAMILY) $(UM_4_14_FAMILY) $(UM_4_19_FAMILY)
+UM_5_4_FAMILY := $(LAHAINA)
+UM_PLATFORMS := $(UM_3_18_FAMILY) $(UM_4_4_FAMILY) $(UM_4_9_FAMILY) $(UM_4_14_FAMILY) $(UM_4_19_FAMILY) $(UM_5_4_FAMILY)
+QSSI_SUPPORTED_PLATFORMS := $(UM_4_9_FAMILY) $(UM_4_14_FAMILY) $(UM_4_19_FAMILY) $(UM_5_4_FAMILY)
 
 BOARD_USES_ADRENO := true
 
+# Add qtidisplay to soong config namespaces
+SOONG_CONFIG_NAMESPACES += qtidisplay
+
+# Add supported variables to qtidisplay config
+SOONG_CONFIG_qtidisplay += \
+    drmpp \
+    headless \
+    llvmsa \
+    gralloc4 \
+    default
+
+# Set default values for qtidisplay config
+SOONG_CONFIG_qtidisplay_drmpp ?= false
+SOONG_CONFIG_qtidisplay_headless ?= false
+SOONG_CONFIG_qtidisplay_llvmsa ?= false
+SOONG_CONFIG_qtidisplay_gralloc4 ?= false
+SOONG_CONFIG_qtidisplay_default ?= true
+
 # UM platforms no longer need this set on O+
 ifneq ($(filter $(B_FAMILY) $(B64_FAMILY) $(BR_FAMILY),$(TARGET_BOARD_PLATFORM)),)
     TARGET_USES_QCOM_BSP := true
@@ -48,10 +68,16 @@
 endif
 
 # Enable DRM PP driver on UM platforms that support it
-ifneq ($(filter $(UM_4_9_FAMILY) $(UM_4_14_FAMILY) $(UM_4_19_FAMILY),$(TARGET_BOARD_PLATFORM)),)
+ifneq ($(filter $(UM_4_9_FAMILY) $(UM_4_14_FAMILY) $(UM_4_19_FAMILY) $(UM_5_4_FAMILY),$(TARGET_BOARD_PLATFORM)),)
+    SOONG_CONFIG_qtidisplay_drmpp := true
     TARGET_USES_DRM_PP := true
 endif
 
+# Enable Gralloc4 on UM platforms that support it
+ifneq ($(filter $(UM_5_4_FAMILY),$(TARGET_BOARD_PLATFORM)),)
+    SOONG_CONFIG_qtidisplay_gralloc4 := true
+endif
+
 # Mark GRALLOC_USAGE_HW_2D, GRALLOC_USAGE_EXTERNAL_DISP and GRALLOC_USAGE_PRIVATE_WFD as valid gralloc bits
 TARGET_ADDITIONAL_GRALLOC_10_USAGE_BITS ?= 0
 TARGET_ADDITIONAL_GRALLOC_10_USAGE_BITS += | (1 << 10)
@@ -59,12 +85,12 @@
 TARGET_ADDITIONAL_GRALLOC_10_USAGE_BITS += | (1 << 21)
 
 # Mark GRALLOC_USAGE_PRIVATE_HEIF_VIDEO as valid gralloc bits on UM platforms that support it
-ifneq ($(filter $(UM_4_9_FAMILY) $(UM_4_14_FAMILY) $(UM_4_19_FAMILY),$(TARGET_BOARD_PLATFORM)),)
+ifneq ($(filter $(UM_4_9_FAMILY) $(UM_4_14_FAMILY) $(UM_4_19_FAMILY) $(UM_5_4_FAMILY),$(TARGET_BOARD_PLATFORM)),)
     TARGET_ADDITIONAL_GRALLOC_10_USAGE_BITS += | (1 << 27)
 endif
 
 # List of targets that use master side content protection
-MASTER_SIDE_CP_TARGET_LIST := msm8996 $(UM_4_4_FAMILY) $(UM_4_9_FAMILY) $(UM_4_14_FAMILY) $(UM_4_19_FAMILY)
+MASTER_SIDE_CP_TARGET_LIST := msm8996 $(UM_4_4_FAMILY) $(UM_4_9_FAMILY) $(UM_4_14_FAMILY) $(UM_4_19_FAMILY) $(UM_5_4_FAMILY)
 
 ifneq ($(filter $(B_FAMILY),$(TARGET_BOARD_PLATFORM)),)
     MSM_VIDC_TARGET_LIST := $(B_FAMILY)
@@ -90,6 +116,9 @@
 else ifneq ($(filter $(UM_4_19_FAMILY),$(TARGET_BOARD_PLATFORM)),)
     MSM_VIDC_TARGET_LIST := $(UM_4_19_FAMILY)
     QCOM_HARDWARE_VARIANT := sm8250
+else ifneq ($(filter $(UM_5_4_FAMILY),$(TARGET_BOARD_PLATFORM)),)
+    MSM_VIDC_TARGET_LIST := $(UM_5_4_FAMILY)
+    QCOM_HARDWARE_VARIANT := sm8350
 else
     MSM_VIDC_TARGET_LIST := $(TARGET_BOARD_PLATFORM)
     QCOM_HARDWARE_VARIANT := $(TARGET_BOARD_PLATFORM)