blob: a87cb1c2d986a73139e7342a1314f8a470922afb [file] [log] [blame]
Peter Collingbournee8b96e32022-02-02 11:38:11 -08001#
2# Copyright (C) 2014 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# Enable updating of APEXes
18$(call inherit-product, $(SRC_TARGET_DIR)/product/updatable_apex.mk)
19
20# Device overlay
21DEVICE_PACKAGE_OVERLAYS := $(LOCAL_PATH)/overlay
22
23# Build and run only ART
24PRODUCT_RUNTIMES := runtime_libart_default
25
26PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS := false
27
28# Enable Scoped Storage related
29$(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk)
30
31# vndk
32PRODUCT_PACKAGES := vndk-sp
33
34# HACK: Avoid usb crash
35PRODUCT_PRODUCT_PROPERTIES := \
36 persist.adb.nonblocking_ffs=0 \
37 ro.adb.nonblocking_ffs=0
38
39# Display
40PRODUCT_PACKAGES += \
41 android.hardware.drm@1.3-service.clearkey \
42 android.hardware.drm@1.3-service.widevine \
43 libGLES_mesa \
44 libEGL_mesa \
45 libGLESv1_CM_mesa \
46 libGLESv2_mesa \
47 libgallium_dri \
48 libglapi
49
50PRODUCT_PROPERTY_OVERRIDES += \
51 ro.hardware.gralloc=minigbm_msm \
52 ro.hardware.hwcomposer=drm \
53 ro.opengles.version=196608 \
54 persist.demo.rotationlock=1
55
56# Vulkan
57PRODUCT_PACKAGES += \
58 vulkan.freedreno
59
60PRODUCT_COPY_FILES += \
61 frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.level.xml \
62 frameworks/native/data/etc/android.hardware.vulkan.version-1_1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version.xml \
63 frameworks/native/data/etc/android.software.vulkan.deqp.level-2021-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml \
64
65PRODUCT_VENDOR_PROPERTIES += \
66 ro.hardware.vulkan=freedreno
67
68# Will need to enable this after ANDROID_external_memory_android_hardware_buffer lands in mesa
69#TARGET_USES_VULKAN = true
70
71#
72# Hardware Composer HAL
73#
74PRODUCT_PACKAGES += \
75 hwcomposer.drm \
76 android.hardware.graphics.composer@2.3-impl \
77 android.hardware.graphics.composer@2.3-service
78
79#
80# Gralloc HAL
81#
82PRODUCT_PACKAGES += \
83 gralloc.minigbm_msm \
84 android.hardware.graphics.allocator@4.0-service.minigbm_msm \
85 android.hardware.graphics.mapper@4.0-impl.minigbm_msm
86
87
88# Use Launcher3QuickStep
89PRODUCT_PACKAGES += Launcher3QuickStep
90
91# Enable WiFi
92PRODUCT_PACKAGES += \
93 hostapd \
94 libwpa_client \
95 wpa_supplicant \
96 wpa_supplicant.conf \
97 wificond
98
99PRODUCT_PROPERTY_OVERRIDES += \
100 wifi.interface=wlan0 \
101 wifi.supplicant_scan_interval=15
102
103PRODUCT_COPY_FILES += \
104 frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml \
105 frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml \
106 $(LOCAL_PATH)/wpa_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant_overlay.conf \
107 $(LOCAL_PATH)/p2p_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/p2p_supplicant_overlay.conf
108
109# Enable BT
110PRODUCT_PACKAGES += \
111 android.hardware.bluetooth@1.1-service.btlinux
112
113PRODUCT_COPY_FILES += \
114 frameworks/native/data/etc/android.hardware.bluetooth.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth.xml \
115 frameworks/native/data/etc/android.hardware.bluetooth_le.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth_le.xml
116
117#
118# Power HAL
119#
120PRODUCT_PACKAGES += \
121 android.hardware.power-service.example
122
123#
124# PowerStats HAL
125#
126PRODUCT_PACKAGES += \
127 android.hardware.power.stats-service.example
128
129
130# Audio
131PRODUCT_PACKAGES += \
132 android.hardware.audio.service \
133 android.hardware.audio@7.0-impl \
134 android.hardware.audio.effect@7.0-impl \
135 android.hardware.soundtrigger@2.3-impl \
136 android.hardware.bluetooth.audio@2.0-impl
137
138# Build default bluetooth a2dp and usb audio HALs
139PRODUCT_PACKAGES += \
140 audio.a2dp.default \
141 audio.bluetooth.default \
142 audio.usb.default \
143 audio.r_submix.default
144
145# Build tinyalsa cli tools for debugging
146PRODUCT_PACKAGES += \
147 tinyplay \
148 tinycap \
149 tinymix \
150 tinypcminfo
151
152# audio policy configuration
153USE_XML_AUDIO_POLICY_CONF := 1
154PRODUCT_COPY_FILES += \
155 $(LOCAL_PATH)/etc/mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths.xml \
156 $(LOCAL_PATH)/etc/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \
157 $(LOCAL_PATH)/etc/audio_policy_configuration_bluetooth_legacy_hal.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration_bluetooth_legacy_hal.xml \
158 frameworks/av/services/audiopolicy/config/a2dp_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_audio_policy_configuration.xml \
159 frameworks/av/services/audiopolicy/config/a2dp_in_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_in_audio_policy_configuration.xml \
160 frameworks/av/services/audiopolicy/config/primary_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/primary_audio_policy_configuration.xml \
161 frameworks/av/services/audiopolicy/config/bluetooth_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_audio_policy_configuration.xml \
162 frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \
163 frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usb_audio_policy_configuration.xml \
164 frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \
165 frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml
166
167# Copy media codecs config file
168PRODUCT_COPY_FILES += \
169 $(LOCAL_PATH)/etc/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \
170 frameworks/av/media/libeffects/data/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml \
171 frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video.xml \
172 frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml
173
174PRODUCT_COPY_FILES += \
175 $(LOCAL_PATH)/seccomp_policy/mediaswcodec.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediacodec.policy \
176 $(LOCAL_PATH)/seccomp_policy/mediaswcodec.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediaswcodec.policy
177
178# Copy hardware config file(s)
179PRODUCT_COPY_FILES += \
180 device/linaro/dragonboard/etc/permissions/android.software.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.xml
181
182
183# External Web Cam support
184PRODUCT_PACKAGES += \
185 android.hardware.camera.provider@2.4-impl \
186 android.hardware.camera.provider@2.4-external-service
187
188PRODUCT_COPY_FILES += \
189 frameworks/native/data/etc/android.hardware.camera.front.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.front.xml \
190 $(LOCAL_PATH)/etc/media_profiles.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_V1_0.xml \
191 $(LOCAL_PATH)/etc/external_camera_config.xml:$(TARGET_COPY_OUT_VENDOR)/etc/external_camera_config.xml
192
193# Keymaster
194PRODUCT_PACKAGES += \
195 android.hardware.keymaster@3.0-impl \
196 android.hardware.keymaster@3.0-service
197
198# Gatekeeper
199PRODUCT_PACKAGES += \
200 android.hardware.gatekeeper@1.0-service.software
201
202# Health
203PRODUCT_PACKAGES += \
204 android.hardware.health@2.1-impl-cuttlefish \
205 android.hardware.health@2.1-service
206
207# TODO: disable this service once we implement system suspend
208PRODUCT_PACKAGES += \
209 suspend_blocker
210
211# mkbootimg host tool to build boot.img separately
212PRODUCT_HOST_PACKAGES := \
213 mkbootimg
214
215# Userspace vendor services for WiFi/Audio to work
216PRODUCT_PACKAGES += \
217 pd-mapper \
218 qrtr-ns \
219 qrtr-cfg \
220 qrtr-lookup \
221 rmtfs \
222 tqftpserv
223
224PRODUCT_COPY_FILES += \
225 $(LOCAL_PATH)/qcom/init.qcom.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.qcom.rc
226
227# Copy standard platform config files
228PRODUCT_COPY_FILES += \
229 $(LOCAL_PATH)/ueventd.common.rc:$(TARGET_COPY_OUT_VENDOR)/ueventd.rc \
230 frameworks/native/data/etc/android.software.cts.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.cts.xml \
231 frameworks/native/data/etc/android.software.app_widgets.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.app_widgets.xml \
232 frameworks/native/data/etc/android.software.backup.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.backup.xml \
233 frameworks/native/data/etc/android.software.voice_recognizers.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.voice_recognizers.xml \
234 frameworks/native/data/etc/android.hardware.ethernet.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.ethernet.xml \
235 frameworks/native/data/etc/android.software.print.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.print.xml \
236 frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml \
237 frameworks/native/data/etc/android.hardware.usb.host.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.host.xml \
238 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 \
239 frameworks/native/data/etc/android.software.device_admin.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.device_admin.xml
240
241DEVICE_MANIFEST_FILE := device/linaro/dragonboard/manifest.xml
242DEVICE_MATRIX_FILE := device/linaro/dragonboard/compatibility_matrix.xml
243
244$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
245$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base.mk)