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