1#
2# Copyright (C) 2018 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.kill_heaviest_task = true \
76	ro.lmk.kill_timeout_ms = 100 \
77	ro.lmk.use_minfree_levels = true \
78	ro.lmk.log_stats = true \
79
80# Modem logging file
81PRODUCT_COPY_FILES += \
82    device/google/coral/init.logging.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.$(PRODUCT_PLATFORM).logging.rc
83
84# Pixelstats broken mic detection
85PRODUCT_PROPERTY_OVERRIDES += vendor.audio.mic_break=true
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_smart_90_for_video=true
96PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.protected_contents=true
97PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.refresh_rate_switching=true
98
99# Must align with HAL types Dataspace
100# The data space of wide color gamut composition preference is Dataspace::DISPLAY_P3
101PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.wcg_composition_dataspace=143261696
102
103# MIDI feature
104PRODUCT_COPY_FILES += \
105    frameworks/native/data/etc/android.software.midi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.midi.xml
106
107# Audio low latency feature
108PRODUCT_COPY_FILES += \
109    frameworks/native/data/etc/android.hardware.audio.low_latency.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.low_latency.xml
110
111# Pro audio feature
112PRODUCT_COPY_FILES += \
113    frameworks/native/data/etc/android.hardware.audio.pro.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.pro.xml
114
115# Dmabuf dump tool for bug reports
116PRODUCT_PACKAGES += \
117    dmabuf_dump
118
119# Set thermal warm reset
120PRODUCT_PRODUCT_PROPERTIES += \
121    ro.thermal_warmreset = true \
122