1#
2# Copyright (C) 2019 The Android Open-Source Project
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8#      http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16
17# define hardware platform
18PRODUCT_PLATFORM := sm8150
19
20# Enable updating of APEXes
21$(call inherit-product, $(SRC_TARGET_DIR)/product/updatable_apex.mk)
22
23include device/google/coral/device.mk
24
25# Set Vendor SPL to match platform
26VENDOR_SECURITY_PATCH = $(PLATFORM_SECURITY_PATCH)
27
28# Set boot SPL
29BOOT_SECURITY_PATCH = $(PLATFORM_SECURITY_PATCH)
30
31PRODUCT_PROPERTY_OVERRIDES += vendor.audio.adm.buffering.ms=3
32PRODUCT_PROPERTY_OVERRIDES += vendor.audio_hal.period_multiplier=2
33PRODUCT_PROPERTY_OVERRIDES += af.fast_track_multiplier=1
34PRODUCT_PROPERTY_OVERRIDES += vendor.audio.offload.buffer.size.kb=256
35
36# Enable AAudio MMAP/NOIRQ data path.
37# 1 is AAUDIO_POLICY_NEVER  means only use Legacy path.
38# 2 is AAUDIO_POLICY_AUTO   means try MMAP then fallback to Legacy path.
39# 3 is AAUDIO_POLICY_ALWAYS means only use MMAP path.
40PRODUCT_PROPERTY_OVERRIDES += aaudio.mmap_policy=2
41# 1 is AAUDIO_POLICY_NEVER  means only use SHARED mode
42# 2 is AAUDIO_POLICY_AUTO   means try EXCLUSIVE then fallback to SHARED mode.
43# 3 is AAUDIO_POLICY_ALWAYS means only use EXCLUSIVE mode.
44PRODUCT_PROPERTY_OVERRIDES += aaudio.mmap_exclusive_policy=2
45
46# Increase the apparent size of a hardware burst from 1 msec to 2 msec.
47# A "burst" is the number of frames processed at one time.
48# That is an increase from 48 to 96 frames at 48000 Hz.
49# The DSP will still be bursting at 48 frames but AAudio will think the burst is 96 frames.
50# A low number, like 48, might increase power consumption or stress the system.
51PRODUCT_PROPERTY_OVERRIDES += aaudio.hw_burst_min_usec=2000
52
53# A2DP offload enabled for compilation
54AUDIO_FEATURE_ENABLED_A2DP_OFFLOAD := true
55
56# A2DP offload supported
57PRODUCT_PROPERTY_OVERRIDES += \
58ro.bluetooth.a2dp_offload.supported=true
59
60# A2DP offload disabled (UI toggle property)
61PRODUCT_PROPERTY_OVERRIDES += \
62persist.bluetooth.a2dp_offload.disabled=false
63
64# A2DP offload DSP supported encoder list
65PRODUCT_PROPERTY_OVERRIDES += \
66persist.bluetooth.a2dp_offload.cap=sbc-aac-aptx-aptxhd-ldac
67
68# Enable AAC frame ctl for A2DP sinks
69PRODUCT_PROPERTY_OVERRIDES += \
70persist.vendor.bt.aac_frm_ctl.enabled=true
71
72# Set lmkd options
73PRODUCT_PRODUCT_PROPERTIES += \
74    ro.config.low_ram = false \
75    ro.lmk.log_stats = true \
76
77# Modem logging file
78PRODUCT_COPY_FILES += \
79    device/google/coral/init.logging.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.$(PRODUCT_PLATFORM).logging.rc
80
81# Pixelstats broken mic detection
82PRODUCT_PROPERTY_OVERRIDES += vendor.audio.mic_break=true
83
84# Enable APK Verity, which depends on fs-verity support in kernel.
85PRODUCT_PROPERTY_OVERRIDES += ro.apk_verity.mode=2
86
87PRODUCT_DEFAULT_PROPERTY_OVERRIDES += vendor.display.enable_kernel_idle_timer=true
88PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.use_color_management=true
89PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.has_wide_color_display=true
90PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.has_HDR_display=true
91PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.set_idle_timer_ms=80
92PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.set_touch_timer_ms=200
93PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.set_display_power_timer_ms=1000
94PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.support_kernel_idle_timer=true
95PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.use_content_detection_for_refresh_rate=true
96PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.protected_contents=true
97
98# Must align with HAL types Dataspace
99# The data space of wide color gamut composition preference is Dataspace::DISPLAY_P3
100PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.wcg_composition_dataspace=143261696
101
102# MIDI feature
103PRODUCT_COPY_FILES += \
104    frameworks/native/data/etc/android.software.midi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.midi.xml
105
106# Audio low latency feature
107PRODUCT_COPY_FILES += \
108    frameworks/native/data/etc/android.hardware.audio.low_latency.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.low_latency.xml
109
110# Pro audio feature
111PRODUCT_COPY_FILES += \
112    frameworks/native/data/etc/android.hardware.audio.pro.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.pro.xml
113
114# Dmabuf dump tool for bug reports
115PRODUCT_PACKAGES += \
116    dmabuf_dump
117
118# Set thermal warm reset
119PRODUCT_PRODUCT_PROPERTIES += \
120    ro.thermal_warmreset = true \
121
122PRODUCT_ENFORCE_PRODUCT_PARTITION_INTERFACE := true
123
124# Sepolicy for EVS
125BOARD_SEPOLICY_DIRS += packages/services/Car/evs/sepolicy
126