Import Qualcomm board configurations

Moved from vendor/lineage, this now centralizes everything related
with configurations specific to Qualcomm boards.

Change-Id: I25beb9fb2105bcccb3f272eba45b6cca01659615
diff --git a/BoardConfigQcom.mk b/BoardConfigQcom.mk
new file mode 100644
index 0000000..0e9a285
--- /dev/null
+++ b/BoardConfigQcom.mk
@@ -0,0 +1,225 @@
+include hardware/qcom-caf/common/qcom_boards.mk
+
+# Platform names
+KONA := kona #SM8250
+LITO := lito #SM7250
+BENGAL := bengal #SM6115
+MSMNILE := msmnile #SM8150
+MSMSTEPPE := sm6150
+TRINKET := trinket #SM6125
+ATOLL := atoll #SM6250
+LAHAINA := lahaina #SM8350
+HOLI := holi #SM4350
+TARO := taro #SM8450
+PARROT := parrot #SM6450
+KALAMA := kalama #SM8550
+
+UM_3_18_FAMILY := msm8996
+UM_4_4_FAMILY := msm8998
+UM_4_9_FAMILY := sdm845 sdm710
+UM_4_14_FAMILY := $(MSMNILE) $(MSMSTEPPE) $(TRINKET) $(ATOLL)
+UM_4_19_FAMILY := $(KONA) $(LITO) $(BENGAL)
+UM_5_4_FAMILY := $(LAHAINA) $(HOLI)
+UM_5_10_FAMILY := $(TARO) $(PARROT)
+UM_5_15_FAMILY := $(KALAMA)
+
+ifeq (,$(TARGET_ENFORCES_QSSI))
+UM_3_18_FAMILY += msm8937 msm8953
+UM_4_4_FAMILY += sdm660
+else
+UM_4_9_LEGACY_FAMILY := msm8937 msm8953
+UM_4_19_LEGACY_FAMILY := sdm660
+endif
+
+UM_PLATFORMS := \
+    $(UM_3_18_FAMILY) \
+    $(UM_4_9_LEGACY_FAMILY) \
+    $(UM_4_4_FAMILY) \
+    $(UM_4_19_LEGACY_FAMILY) \
+    $(UM_4_9_FAMILY) \
+    $(UM_4_14_FAMILY) \
+    $(UM_4_19_FAMILY) \
+    $(UM_5_4_FAMILY) \
+    $(UM_5_10_FAMILY) \
+    $(UM_5_15_FAMILY)
+
+LEGACY_UM_PLATFORMS := \
+    msm8937 msm8953 msm8996 \
+    msm8998 sdm660 \
+    $(UM_4_9_FAMILY) \
+    $(UM_4_14_FAMILY) \
+    $(UM_4_19_FAMILY) \
+    $(UM_5_4_FAMILY)
+
+QSSI_SUPPORTED_PLATFORMS := \
+    $(UM_4_9_LEGACY_FAMILY) \
+    $(UM_4_19_LEGACY_FAMILY) \
+    $(UM_4_9_FAMILY) \
+    $(UM_4_14_FAMILY) \
+    $(UM_4_19_FAMILY) \
+    $(UM_5_4_FAMILY) \
+    $(UM_5_10_FAMILY) \
+    $(UM_5_15_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 \
+    displayconfig_enabled \
+    udfps \
+    default \
+    var1 \
+    var2 \
+    var3
+
+# 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_displayconfig_enabled ?= false
+SOONG_CONFIG_qtidisplay_udfps ?= false
+SOONG_CONFIG_qtidisplay_default ?= true
+SOONG_CONFIG_qtidisplay_var1 ?= false
+SOONG_CONFIG_qtidisplay_var2 ?= false
+SOONG_CONFIG_qtidisplay_var3 ?= false
+
+# Add rmnetctl to soong config namespaces
+SOONG_CONFIG_NAMESPACES += rmnetctl
+
+# Add supported variables to rmnetctl config
+SOONG_CONFIG_rmnetctl += \
+    old_rmnet_data
+
+# Set default values for rmnetctl config
+SOONG_CONFIG_rmnetctl_old_rmnet_data ?= false
+
+# Tell HALs that we're compiling an AOSP build with an in-line kernel
+TARGET_COMPILE_WITH_MSM_KERNEL := true
+
+# Enable media extensions
+TARGET_USES_MEDIA_EXTENSIONS := true
+
+# Allow building audio encoders
+TARGET_USES_QCOM_MM_AUDIO := true
+
+# Enable color metadata
+TARGET_USES_COLOR_METADATA := true
+
+# Enable DRM PP driver on UM platforms that support it
+ifneq ($(filter $(UM_4_9_FAMILY) $(UM_4_14_FAMILY) $(UM_4_19_FAMILY) $(UM_5_4_FAMILY) $(UM_5_10_FAMILY) $(UM_5_15_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) $(UM_5_10_FAMILY) $(UM_5_15_FAMILY),$(TARGET_BOARD_PLATFORM)),)
+    SOONG_CONFIG_qtidisplay_gralloc4 := true
+endif
+
+# Select AR variant of A-HAL dependencies
+ifneq ($(filter $(UM_5_10_FAMILY) $(UM_5_15_FAMILY),$(TARGET_BOARD_PLATFORM)),)
+    TARGET_USES_QCOM_AUDIO_AR ?= true
+endif
+
+# Enable displayconfig on every UM platform
+ifeq ($(filter $(UM_PLATFORMS),$(TARGET_BOARD_PLATFORM)),)
+    SOONG_CONFIG_qtidisplay_displayconfig_enabled := true
+endif
+
+TARGET_ADDITIONAL_GRALLOC_10_USAGE_BITS ?= 0
+
+# Mark GRALLOC_USAGE_EXTERNAL_DISP as valid gralloc bit
+TARGET_ADDITIONAL_GRALLOC_10_USAGE_BITS += | (1 << 13)
+
+# Mark GRALLOC_USAGE_PRIVATE_WFD as valid gralloc bit
+TARGET_ADDITIONAL_GRALLOC_10_USAGE_BITS += | (1 << 21)
+
+# Mark GRALLOC_USAGE_PRIVATE_HEIF_VIDEO as valid gralloc bit on UM platforms that support it
+ifneq ($(filter $(UM_4_9_FAMILY) $(UM_4_14_FAMILY) $(UM_4_19_FAMILY) $(UM_5_4_FAMILY) $(UM_5_10_FAMILY) $(UM_5_15_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)
+
+# Opt-in for old rmnet_data driver
+ifeq ($(filter $(UM_5_15_FAMILY),$(TARGET_BOARD_PLATFORM)),)
+    SOONG_CONFIG_rmnetctl_old_rmnet_data := true
+endif
+
+# Use full QTI gralloc struct for GKI 2.0 targets
+ifneq ($(filter $(UM_5_10_FAMILY) $(UM_5_15_FAMILY),$(TARGET_BOARD_PLATFORM)),)
+    TARGET_GRALLOC_HANDLE_HAS_CUSTOM_CONTENT_MD_RESERVED_SIZE ?= true
+    TARGET_GRALLOC_HANDLE_HAS_RESERVED_SIZE ?= true
+endif
+
+ifneq ($(filter $(UM_3_18_FAMILY),$(TARGET_BOARD_PLATFORM)),)
+    MSM_VIDC_TARGET_LIST := $(UM_3_18_FAMILY)
+    QCOM_HARDWARE_VARIANT := msm8996
+else ifneq ($(filter $(UM_4_9_LEGACY_FAMILY),$(TARGET_BOARD_PLATFORM)),)
+    MSM_VIDC_TARGET_LIST := $(UM_4_9_LEGACY_FAMILY)
+    QCOM_HARDWARE_VARIANT := msm8953
+else ifneq ($(filter $(UM_4_4_FAMILY),$(TARGET_BOARD_PLATFORM)),)
+    MSM_VIDC_TARGET_LIST := $(UM_4_4_FAMILY)
+    QCOM_HARDWARE_VARIANT := msm8998
+else ifneq ($(filter $(UM_4_19_LEGACY_FAMILY),$(TARGET_BOARD_PLATFORM)),)
+    MSM_VIDC_TARGET_LIST := $(UM_4_19_LEGACY_FAMILY)
+    QCOM_HARDWARE_VARIANT := sdm660
+else ifneq ($(filter $(UM_4_9_FAMILY),$(TARGET_BOARD_PLATFORM)),)
+    MSM_VIDC_TARGET_LIST := $(UM_4_9_FAMILY)
+    QCOM_HARDWARE_VARIANT := sdm845
+else ifneq ($(filter $(UM_4_14_FAMILY),$(TARGET_BOARD_PLATFORM)),)
+    MSM_VIDC_TARGET_LIST := $(UM_4_14_FAMILY)
+    QCOM_HARDWARE_VARIANT := sm8150
+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)),)
+    QCOM_HARDWARE_VARIANT := sm8350
+else ifneq ($(filter $(UM_5_10_FAMILY),$(TARGET_BOARD_PLATFORM)),)
+    QCOM_HARDWARE_VARIANT := sm8450
+else ifneq ($(filter $(UM_5_15_FAMILY),$(TARGET_BOARD_PLATFORM)),)
+    QCOM_HARDWARE_VARIANT := sm8550
+else
+    MSM_VIDC_TARGET_LIST := $(TARGET_BOARD_PLATFORM)
+    QCOM_HARDWARE_VARIANT := $(TARGET_BOARD_PLATFORM)
+endif
+
+# Allow a device to opt-out hardset of PRODUCT_SOONG_NAMESPACES
+QCOM_SOONG_NAMESPACE ?= hardware/qcom-caf/$(QCOM_HARDWARE_VARIANT)
+PRODUCT_SOONG_NAMESPACES += $(QCOM_SOONG_NAMESPACE)
+
+# Add display-commonsys to PRODUCT_SOONG_NAMESPACES for QSSI supported platforms
+ifneq ($(filter $(QSSI_SUPPORTED_PLATFORMS),$(TARGET_BOARD_PLATFORM)),)
+PRODUCT_SOONG_NAMESPACES += \
+    vendor/qcom/opensource/commonsys/display \
+    vendor/qcom/opensource/commonsys-intf/display
+
+ifeq ($(filter $(UM_5_10_FAMILY) $(UM_5_15_FAMILY),$(TARGET_BOARD_PLATFORM)),)
+PRODUCT_SOONG_NAMESPACES += \
+    vendor/qcom/opensource/display
+endif
+
+endif
+
+# Add data-ipa-cfg-mgr to PRODUCT_SOONG_NAMESPACES if needed
+ifneq ($(USE_DEVICE_SPECIFIC_DATA_IPA_CFG_MGR),true)
+    ifneq ($(filter $(LEGACY_UM_PLATFORMS),$(TARGET_BOARD_PLATFORM)),)
+        PRODUCT_SOONG_NAMESPACES += vendor/qcom/opensource/data-ipa-cfg-mgr-legacy-um
+    else
+        PRODUCT_SOONG_NAMESPACES += vendor/qcom/opensource/data-ipa-cfg-mgr
+    endif
+endif
+
+# Add dataservices to PRODUCT_SOONG_NAMESPACES if needed
+ifneq ($(USE_DEVICE_SPECIFIC_DATASERVICES),true)
+    PRODUCT_SOONG_NAMESPACES += vendor/qcom/opensource/dataservices
+endif
diff --git a/qcom_boards.mk b/qcom_boards.mk
new file mode 100644
index 0000000..33b6ecb
--- /dev/null
+++ b/qcom_boards.mk
@@ -0,0 +1,40 @@
+# Board platforms lists to be used for
+# TARGET_BOARD_PLATFORM specific featurization
+
+# Platform name variables - used in makefiles everywhere
+KONA := kona #SM8250
+LITO := lito #SM7250
+BENGAL := bengal #SM6115
+MSMNILE := msmnile #SM8150
+MSMSTEPPE := sm6150
+TRINKET := trinket #SM6125
+ATOLL := atoll #SM6250
+LAHAINA := lahaina #SM8350
+HOLI := holi #SM4350
+TARO := taro #SM8450
+PARROT := parrot #SM6450
+KALAMA := kalama #SM8550
+
+# UM Family
+QCOM_BOARD_PLATFORMS += msm8937
+QCOM_BOARD_PLATFORMS += msm8953
+QCOM_BOARD_PLATFORMS += msm8996
+
+QCOM_BOARD_PLATFORMS += msm8998
+QCOM_BOARD_PLATFORMS += sdm660
+
+QCOM_BOARD_PLATFORMS += sdm710
+QCOM_BOARD_PLATFORMS += sdm845
+
+QCOM_BOARD_PLATFORMS += $(KONA)
+QCOM_BOARD_PLATFORMS += $(LITO)
+QCOM_BOARD_PLATFORMS += $(BENGAL)
+QCOM_BOARD_PLATFORMS += $(TRINKET)
+QCOM_BOARD_PLATFORMS += $(MSMSTEPPE)
+QCOM_BOARD_PLATFORMS += $(MSMNILE)
+QCOM_BOARD_PLATFORMS += $(ATOLL)
+QCOM_BOARD_PLATFORMS += $(LAHAINA)
+QCOM_BOARD_PLATFORMS += $(HOLI)
+QCOM_BOARD_PLATFORMS += $(TARO)
+QCOM_BOARD_PLATFORMS += $(PARROT)
+QCOM_BOARD_PLATFORMS += $(KALAMA)