blob: 9eb2332cf65230013af6512f47f05642b818fa54 [file] [log] [blame]
#
# Copyright (C) 2021-2024 The LineageOS Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Get non-open-source specific aspects
$(call inherit-product, vendor/samsung/exynos9820-common/exynos9820-common-vendor.mk)
# Enable project quotas and casefolding for emulated storage without sdcardfs
$(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk)
# Soong namespaces
$(call inherit-product, hardware/samsung_slsi-linaro/config/config.mk)
# Audio
PRODUCT_PACKAGES += \
android.hardware.audio.effect@7.0-impl:32 \
android.hardware.audio@7.1-impl:32 \
android.hardware.audio.service \
android.hardware.bluetooth.audio-impl \
android.hardware.soundtrigger@2.3-impl \
audio.bluetooth.default \
audio.primary.exynos9820 \
audio.r_submix.default \
audio.usb.default \
libaudioroute \
libtinyalsa \
libtinycompress \
sound_trigger.primary.dummy
PRODUCT_PACKAGES += \
SamsungDAP
PRODUCT_COPY_FILES += \
frameworks/av/services/audiopolicy/config/bluetooth_audio_policy_configuration_7_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_audio_policy_configuration_7_0.xml \
frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \
frameworks/av/services/audiopolicy/enginedefault/config/example/phone/audio_policy_engine_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_engine_configuration.xml \
frameworks/av/services/audiopolicy/enginedefault/config/example/phone/audio_policy_engine_default_stream_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_engine_default_stream_volumes.xml \
frameworks/av/services/audiopolicy/enginedefault/config/example/phone/audio_policy_engine_product_strategies.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_engine_product_strategies.xml \
frameworks/av/services/audiopolicy/enginedefault/config/example/phone/audio_policy_engine_stream_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_engine_stream_volumes.xml \
$(COMMON_PATH)/configs/audio/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml \
$(COMMON_PATH)/configs/audio/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \
$(COMMON_PATH)/configs/audio/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml
TARGET_EXCLUDES_AUDIOFX := true
# Bluetooth
PRODUCT_PACKAGES += \
android.hardware.bluetooth@1.0-impl:64 \
android.hardware.bluetooth@1.0-service \
libbt-vendor:64
# Camera
PRODUCT_PACKAGES += \
android.hardware.camera.provider@2.5-service_64.samsung \
libsensorndkbridge
PRODUCT_PACKAGES += \
libhwjpeg
# Charger
PRODUCT_PACKAGES += \
charger_res_images_vendor
# ConfigStore
PRODUCT_PACKAGES += \
disable_configstore
# Display
PRODUCT_PACKAGES += \
android.hardware.graphics.allocator@2.0-impl:64 \
android.hardware.graphics.allocator@2.0-service \
android.hardware.graphics.mapper@2.0-impl-2.1
PRODUCT_PACKAGES += \
android.hardware.composer.hwc3-service.slsi \
gralloc.exynos9820 \
libion
# Doze
PRODUCT_PACKAGES += \
SamsungDoze
# Dynamic Partitions
PRODUCT_USE_DYNAMIC_PARTITIONS := true
# DRM
PRODUCT_PACKAGES += \
android.hardware.drm@1.4.vendor:32 \
android.hardware.drm-service.clearkey
# fastbootd
PRODUCT_PACKAGES += \
fastbootd
# FastCharge
PRODUCT_PACKAGES += \
vendor.lineage.fastcharge@1.0-service.samsung
# Fingerprint
PRODUCT_PACKAGES += \
android.hardware.biometrics.fingerprint-service.samsung
# Gatekeeper
PRODUCT_PACKAGES += \
android.hardware.gatekeeper@1.0-impl:64 \
android.hardware.gatekeeper@1.0-service
# GNSS
PRODUCT_PACKAGES += \
android.frameworks.sensorservice@1.0.vendor:64 \
android.hardware.gnss@2.1.vendor:64
# Graphics
# Device uses high-density artwork where available
PRODUCT_AAPT_CONFIG := normal
PRODUCT_AAPT_PREF_CONFIG := 400dpi
PRODUCT_AAPT_PREBUILT_DPI := xxxhdpi xxhdpi xhdpi hdpi
# Health
PRODUCT_PACKAGES += \
android.hardware.health-service.samsung \
android.hardware.health-service.samsung-recovery
# HIDL
PRODUCT_PACKAGES += \
libhidltransport \
libhidltransport.vendor \
libhwbinder \
libhwbinder.vendor
# init
PRODUCT_COPY_FILES += \
$(COMMON_PATH)/configs/init/init.exynos9820.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.exynos9820.rc \
$(COMMON_PATH)/configs/init/init.exynos9820.usb.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.exynos9820.usb.rc \
$(COMMON_PATH)/configs/init/init.recovery.exynos9820.rc:$(TARGET_COPY_OUT_RECOVERY)/root/init.recovery.exynos9820.rc \
$(COMMON_PATH)/configs/init/init.recovery.exynos9820.rc:$(TARGET_COPY_OUT_RECOVERY)/root/init.recovery.exynos9825.rc \
$(COMMON_PATH)/configs/init/init.samsung.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.samsung.rc \
$(COMMON_PATH)/configs/init/ueventd.rc:$(TARGET_COPY_OUT_VENDOR)/etc/ueventd.rc
ifeq ($(TARGET_HAVE_FOD),true)
PRODUCT_COPY_FILES += \
$(COMMON_PATH)/configs/init/init.udfps.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.udfps.rc
endif
# Kernel
PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS := true
PRODUCT_SET_DEBUGFS_RESTRICTIONS := true
# Keylayout
PRODUCT_COPY_FILES += \
$(COMMON_PATH)/configs/idc/sec_e-pen.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/sec_e-pen.idc \
$(COMMON_PATH)/configs/keylayout/gpio_keys.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/gpio_keys.kl
# Keymaster
PRODUCT_PACKAGES += \
android.hardware.keymaster@4.0-service.samsung \
libkeymaster4_1support.vendor:64
PRODUCT_PACKAGES += \
libcrypto-tm \
libshim_crypto:64 \
libssl-tm
# Lineage Health
PRODUCT_PACKAGES += \
vendor.lineage.health-service.default
# Livedisplay
PRODUCT_PACKAGES += \
vendor.lineage.livedisplay@2.0-service.samsung-exynos
# Media
PRODUCT_COPY_FILES += \
frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml \
frameworks/av/media/libstagefright/data/media_codecs_google_telephony.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_telephony.xml \
frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video.xml
# Memtrack
PRODUCT_PACKAGES += \
android.hardware.memtrack-service.samsung-mali
# NFC
PRODUCT_PACKAGES += \
android.hardware.nfc@1.2-service.samsung \
com.android.nfc_extras \
NfcNci \
Tag
# OMX
PRODUCT_PACKAGES += \
libstagefrighthw \
libExynosOMX_Core \
libExynosOMX_Resourcemanager \
libOMX.Exynos.AVC.Decoder \
libOMX.Exynos.AVC.Encoder \
libOMX.Exynos.AVC.WFD.Encoder \
libOMX.Exynos.HEVC.Decoder \
libOMX.Exynos.HEVC.Encoder \
libOMX.Exynos.HEVC.WFD.Encoder \
libOMX.Exynos.MPEG4.Decoder \
libOMX.Exynos.MPEG4.Encoder \
libOMX.Exynos.VP8.Decoder \
libOMX.Exynos.VP8.Encoder \
libOMX.Exynos.VP9.Decoder \
libOMX.Exynos.VP9.Encoder \
libOMX.Exynos.WMV.Decoder
# Overlays
DEVICE_PACKAGE_OVERLAYS += $(COMMON_PATH)/overlay
PRODUCT_ENFORCE_RRO_TARGETS := *
# Permissions
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.audio.low_latency.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.low_latency.xml \
frameworks/native/data/etc/android.hardware.audio.pro.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.pro.xml \
frameworks/native/data/etc/android.hardware.bluetooth.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth.xml \
frameworks/native/data/etc/android.hardware.bluetooth_le.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth_le.xml \
frameworks/native/data/etc/android.hardware.camera.ar.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.ar.xml \
frameworks/native/data/etc/android.hardware.camera.autofocus.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.autofocus.xml \
frameworks/native/data/etc/android.hardware.camera.flash-autofocus.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.flash-autofocus.xml \
frameworks/native/data/etc/android.hardware.camera.front.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.front.xml \
frameworks/native/data/etc/android.hardware.camera.full.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.full.xml \
frameworks/native/data/etc/android.hardware.camera.raw.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.raw.xml \
frameworks/native/data/etc/android.hardware.camera.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.xml \
frameworks/native/data/etc/android.hardware.fingerprint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.fingerprint.xml \
frameworks/native/data/etc/android.hardware.nfc.ese.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.ese.xml \
frameworks/native/data/etc/android.hardware.nfc.hce.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hce.xml \
frameworks/native/data/etc/android.hardware.nfc.hcef.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hcef.xml \
frameworks/native/data/etc/android.hardware.nfc.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.uicc.xml \
frameworks/native/data/etc/android.hardware.nfc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.xml \
frameworks/native/data/etc/android.hardware.location.gps.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.location.gps.xml \
frameworks/native/data/etc/android.hardware.opengles.aep.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.opengles.aep.xml \
frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.accelerometer.xml \
frameworks/native/data/etc/android.hardware.sensor.barometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.barometer.xml \
frameworks/native/data/etc/android.hardware.sensor.compass.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.compass.xml \
frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.gyroscope.xml \
frameworks/native/data/etc/android.hardware.sensor.hifi_sensors.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.hifi_sensors.xml \
frameworks/native/data/etc/android.hardware.sensor.light.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.light.xml \
frameworks/native/data/etc/android.hardware.sensor.proximity.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.proximity.xml \
frameworks/native/data/etc/android.hardware.sensor.stepcounter.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepcounter.xml \
frameworks/native/data/etc/android.hardware.sensor.stepdetector.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepdetector.xml \
frameworks/native/data/etc/android.hardware.telephony.gsm.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.gsm.xml \
frameworks/native/data/etc/android.hardware.telephony.ims.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.ims.xml \
frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \
frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml \
frameworks/native/data/etc/android.hardware.usb.host.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.host.xml \
frameworks/native/data/etc/android.hardware.vulkan.compute-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.compute.xml \
frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.level.xml \
frameworks/native/data/etc/android.hardware.vulkan.version-1_1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version.xml \
frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml \
frameworks/native/data/etc/android.hardware.wifi.passpoint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.passpoint.xml \
frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml \
frameworks/native/data/etc/android.software.app_widgets.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.app_widgets.xml \
frameworks/native/data/etc/android.software.device_id_attestation.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.device_id_attestation.xml \
frameworks/native/data/etc/android.software.freeform_window_management.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.freeform_window_management.xml \
frameworks/native/data/etc/android.software.ipsec_tunnels.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.ipsec_tunnels.xml \
frameworks/native/data/etc/android.software.midi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.midi.xml \
frameworks/native/data/etc/android.software.opengles.deqp.level-2020-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.opengles.deqp.level.xml \
frameworks/native/data/etc/android.software.picture_in_picture.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.picture_in_picture.xml \
frameworks/native/data/etc/android.software.sip.voip.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.sip.voip.xml \
frameworks/native/data/etc/android.software.vulkan.deqp.level-2020-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml \
frameworks/native/data/etc/com.android.nfc_extras.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/com.android.nfc_extras.xml \
frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml
# Power
PRODUCT_PACKAGES += \
android.hardware.power-service.pixel-libperfmgr
PRODUCT_COPY_FILES += \
$(COMMON_PATH)/configs/power/powerhint.json:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.json
# Protobuf
PRODUCT_PACKAGES += \
libprotobuf-cpp-full-3.9.1-vendorcompat
# Public Libraries
PRODUCT_COPY_FILES += \
$(COMMON_PATH)/configs/linker/public.libraries.txt:$(TARGET_COPY_OUT_VENDOR)/etc/public.libraries.txt
# RIL
PRODUCT_PACKAGES += \
android.hardware.radio@1.2.vendor:64 \
android.hardware.radio.config-V1-ndk.vendor:64 \
android.hardware.radio.data-V1-ndk.vendor:64 \
android.hardware.radio.messaging-V1-ndk.vendor:64 \
android.hardware.radio.modem-V1-ndk.vendor:64 \
android.hardware.radio.network-V1-ndk.vendor:64 \
android.hardware.radio.sim-V1-ndk.vendor:64 \
android.hardware.radio.voice-V1-ndk.vendor:64 \
libnetutils.vendor:64 \
libsqlite.vendor:64
PRODUCT_PACKAGES += \
libdsms_vendor:64
PRODUCT_PACKAGES += \
secril_config_svc \
sehradiomanager
PRODUCT_COPY_FILES += \
$(COMMON_PATH)/configs/ril/sehradiomanager.conf:$(TARGET_COPY_OUT_VENDOR)/etc/sehradiomanager.conf
# Sensors
PRODUCT_PACKAGES += \
android.hardware.contexthub@1.0.vendor:64 \
android.hardware.sensors-service.samsung-multihal
# Shims
PRODUCT_PACKAGES += \
libshim_oemcrypto \
libshim_sensorndkbridge
# Soong Namespaces
PRODUCT_SOONG_NAMESPACES += \
$(COMMON_PATH) \
hardware/google/interfaces \
hardware/google/pixel \
hardware/samsung
# S Pen
ifeq ($(TARGET_HAVE_SPEN),true)
PRODUCT_PACKAGES += \
SPenActions
PRODUCT_PACKAGES += \
vendor.samsung.hardware.spen-service.davinci
endif
# Thermal
PRODUCT_PACKAGES += \
android.hardware.thermal-service.samsung \
thermal_symlinks.samsung
PRODUCT_COPY_FILES += \
$(COMMON_PATH)/configs/thermal/thermal_info_config.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config.json
# Touch HAL
PRODUCT_PACKAGES += \
vendor.lineage.touch@1.0-service.samsung
# USB
PRODUCT_PACKAGES += \
android.hardware.usb-service.samsung \
android.hardware.usb.gadget-service.samsung
# Vibrator
PRODUCT_PACKAGES += \
android.hardware.vibrator-service.samsung
# WiFi
PRODUCT_PACKAGES += \
WifiOverlay \
android.hardware.wifi-service \
hostapd \
wpa_supplicant \
wpa_supplicant.conf
ifeq ($(findstring BOARD_WLAN_BCMDHD_SAE, $(shell cat external/wpa_supplicant_8/wpa_supplicant/Android.mk)),)
$(warning wpa_supplicant does not support BOARD_WLAN_BCMDHD_SAE, WPA3 will not work!)
$(warning Please include the BCMDHD SAE authentication offload patch in your build.)
PRODUCT_PACKAGES += \
WifiOverlayNoSAE
endif
PRODUCT_COPY_FILES += \
$(COMMON_PATH)/configs/wifi/wpa_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant_overlay.conf