• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#
2# Copyright (C) 2015 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# There are three modes for TLK components, controlled by SECURE_OS_BUILD:
18#
19# "SECURE_OS_BUILD = tlk" will build everything from source.
20# "SECURE_OS_BUILD = client_only" will build TLK client components from
21#                    source but use a prebuilt version of the secure OS.
22# "SECURE_OS_BUILD = false" will will use prebuilts for TLK and client
23#                    components.
24
25# By default build TLK from source if it is available, otherwise use
26# prebuilts.  To force using the prebuilt while having the source, set:
27# SECURE_OS_BUILD=false
28ifeq ($(wildcard vendor/nvidia/dragon-tlk/tlk),vendor/nvidia/dragon-tlk/tlk)
29    SECURE_OS_BUILD ?= tlk
30endif
31
32ifeq ($(TARGET_PREBUILT_KERNEL),)
33LOCAL_KERNEL := device/google/dragon-kernel/Image.fit
34else
35LOCAL_KERNEL := $(TARGET_PREBUILT_KERNEL)
36endif
37
38ifeq ($(TARGET_PRODUCT), ryu_kasan)
39LOCAL_FSTAB := $(LOCAL_PATH)/fstab.dragon.nocrypt
40else
41LOCAL_FSTAB := $(LOCAL_PATH)/fstab.dragon
42endif
43
44TARGET_RECOVERY_FSTAB = $(LOCAL_FSTAB)
45
46PRODUCT_COPY_FILES := \
47    $(LOCAL_KERNEL):kernel \
48    $(LOCAL_PATH)/dump_bq25892.sh:system/bin/dump_bq25892.sh \
49    $(LOCAL_PATH)/touchfwup.sh:system/bin/touchfwup.sh \
50    $(LOCAL_PATH)/init.dragon.rc:root/init.dragon.rc \
51    $(LOCAL_PATH)/init.dragon.usb.rc:root/init.dragon.usb.rc \
52    $(LOCAL_PATH)/init.recovery.dragon.rc:root/init.recovery.dragon.rc \
53    $(LOCAL_PATH)/init_regions.sh:system/bin/init_regions.sh \
54    $(LOCAL_PATH)/tune-thermal-gov.sh:system/bin/tune-thermal-gov.sh \
55    $(LOCAL_FSTAB):root/fstab.dragon \
56    $(LOCAL_PATH)/ueventd.dragon.rc:root/ueventd.dragon.rc \
57    $(LOCAL_PATH)/speakerdsp.ini:system/etc/cras/speakerdsp.ini \
58    $(LOCAL_PATH)/bcmdhd.cal:system/etc/wifi/bcmdhd.cal \
59    $(LOCAL_PATH)/com.nvidia.nvsi.xml:system/etc/permissions/com.nvidia.nvsi.xml
60
61PRODUCT_PACKAGES += \
62    android.hardware.wifi@1.0-service \
63    libwpa_client \
64    hostapd \
65    wificond \
66    wifilogd \
67    wpa_supplicant \
68    wpa_supplicant.conf \
69    fs_config_files \
70    crash_dispatcher \
71    crash_collector \
72    CrashReportProvider \
73    fwtool
74
75ifeq ($(TARGET_BUILD_VARIANT),eng)
76PRODUCT_PACKAGES += \
77    tinyplay \
78    tinycap \
79    tinymix
80endif
81
82PRODUCT_COPY_FILES += \
83    frameworks/native/data/etc/tablet_core_hardware.xml:system/etc/permissions/tablet_core_hardware.xml \
84    frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:system/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \
85    frameworks/native/data/etc/android.hardware.camera.autofocus.xml:system/etc/permissions/android.hardware.camera.autofocus.xml \
86    frameworks/native/data/etc/android.hardware.camera.front.xml:system/etc/permissions/android.hardware.camera.front.xml \
87    frameworks/native/data/etc/android.hardware.camera.full.xml:system/etc/permissions/android.hardware.camera.full.xml \
88    frameworks/native/data/etc/android.hardware.wifi.xml:system/etc/permissions/android.hardware.wifi.xml \
89    frameworks/native/data/etc/android.hardware.wifi.direct.xml:system/etc/permissions/android.hardware.wifi.direct.xml \
90    frameworks/native/data/etc/android.hardware.ethernet.xml:system/etc/permissions/android.hardware.ethernet.xml \
91    frameworks/native/data/etc/android.hardware.usb.accessory.xml:system/etc/permissions/android.hardware.usb.accessory.xml \
92    frameworks/native/data/etc/android.hardware.usb.host.xml:system/etc/permissions/android.hardware.usb.host.xml \
93    frameworks/native/data/etc/android.hardware.audio.low_latency.xml:system/etc/permissions/android.hardware.audio.low_latency.xml \
94    frameworks/native/data/etc/android.hardware.bluetooth.xml:system/etc/permissions/android.hardware.bluetooth.xml \
95    frameworks/native/data/etc/android.hardware.bluetooth_le.xml:system/etc/permissions/android.hardware.bluetooth_le.xml \
96    frameworks/native/data/etc/android.hardware.opengles.aep.xml:system/etc/permissions/android.hardware.opengles.aep.xml \
97    frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:system/etc/permissions/android.hardware.sensor.accelerometer.xml \
98    frameworks/native/data/etc/android.hardware.sensor.compass.xml:system/etc/permissions/android.hardware.sensor.compass.xml \
99    frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:system/etc/permissions/android.hardware.sensor.gyroscope.xml \
100    frameworks/native/data/etc/android.hardware.sensor.light.xml:system/etc/permissions/android.hardware.sensor.light.xml \
101    frameworks/native/data/etc/android.software.midi.xml:system/etc/permissions/android.software.midi.xml \
102    frameworks/native/data/etc/android.software.verified_boot.xml:system/etc/permissions/android.software.verified_boot.xml \
103    frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:system/etc/permissions/android.hardware.vulkan.level.xml \
104    frameworks/native/data/etc/android.hardware.vulkan.version-1_0_3.xml:system/etc/permissions/android.hardware.vulkan.version.xml
105
106PRODUCT_COPY_FILES += \
107    frameworks/av/services/audiopolicy/config/a2dp_audio_policy_configuration.xml:system/etc/a2dp_audio_policy_configuration.xml \
108    frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:system/etc/usb_audio_policy_configuration.xml \
109    frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:system/etc/r_submix_audio_policy_configuration.xml \
110    frameworks/av/services/audiopolicy/config/default_volume_tables.xml:system/etc/default_volume_tables.xml \
111    $(LOCAL_PATH)/audio_policy_configuration.xml:system/etc/audio_policy_configuration.xml \
112    $(LOCAL_PATH)/audio_policy_volumes_drc.xml:system/etc/audio_policy_volumes_drc.xml \
113    $(LOCAL_PATH)/mixer_paths_0.xml:system/etc/mixer_paths_0.xml
114
115PRODUCT_COPY_FILES += \
116    frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:system/etc/media_codecs_google_audio.xml \
117    frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:system/etc/media_codecs_google_video.xml \
118    $(LOCAL_PATH)/media_codecs.xml:system/etc/media_codecs.xml \
119    $(LOCAL_PATH)/media_codecs_performance.xml:system/etc/media_codecs_performance.xml \
120    $(LOCAL_PATH)/media_profiles.xml:system/etc/media_profiles.xml
121
122PRODUCT_COPY_FILES += \
123    $(LOCAL_PATH)/bluetooth/BCM4350C0_003.001.012.0364.0754.hcd:$(TARGET_COPY_OUT_VENDOR)/firmware/bcm4350c0.hcd \
124    $(LOCAL_PATH)/bluetooth/bt_vendor.conf:$(TARGET_COPY_OUT_SYSTEM)/etc/bluetooth/bt_vendor.conf
125
126# Bluetooth HAL
127PRODUCT_PACKAGES += \
128    libbt-vendor \
129    android.hardware.bluetooth@1.0-impl
130
131# Copy dsp firmware to the vendor parition so it is available when hotwording
132# starts
133PRODUCT_COPY_FILES += \
134    $(LOCAL_PATH)/rt5677_elf_vad:vendor/firmware/rt5677_elf_vad
135
136PRODUCT_COPY_FILES += \
137    $(LOCAL_PATH)/enctune.conf:system/etc/enctune.conf
138
139PRODUCT_COPY_FILES += \
140    device/google/dragon/audio_effects.conf:system/etc/audio_effects.conf
141
142# Vendor Interface Manifest
143PRODUCT_COPY_FILES += \
144    $(LOCAL_PATH)/manifest.xml:vendor/manifest.xml
145
146PRODUCT_AAPT_CONFIG := normal large xlarge hdpi xhdpi xxhdpi
147PRODUCT_AAPT_PREF_CONFIG := xhdpi
148
149PRODUCT_CHARACTERISTICS := tablet,nosdcard
150
151DEVICE_PACKAGE_OVERLAYS := \
152    $(LOCAL_PATH)/overlay
153
154PRODUCT_TAGS += dalvik.gc.type-precise
155
156PRODUCT_PACKAGES += \
157    librs_jni \
158    com.android.future.usb.accessory
159
160PRODUCT_PACKAGES += \
161    power.dragon \
162    sensors.dragon \
163    android.hardware.sensors@1.0-impl \
164    android.hardware.power@1.0-impl
165
166# Health HAL
167PRODUCT_PACKAGES += \
168    android.hardware.health@1.0-impl
169
170# Light HAL
171PRODUCT_PACKAGES += \
172    lights.dragon \
173    android.hardware.light@2.0-impl
174
175# Keymaster HAL
176PRODUCT_PACKAGES += \
177    android.hardware.keymaster@3.0-impl
178
179# Gatekeeper HAL
180PRODUCT_PACKAGES += \
181    android.hardware.gatekeeper@1.0-impl
182
183# Dumpstate HAL
184PRODUCT_PACKAGES += \
185    android.hardware.dumpstate@1.0-service.dragon
186
187# Gralloc HAL
188PRODUCT_PACKAGES += \
189    android.hardware.graphics.mapper@2.0-impl \
190    android.hardware.graphics.allocator@2.0-impl \
191    android.hardware.graphics.allocator@2.0-service
192
193#TODO(dgreid) is this right?
194PRODUCT_PROPERTY_OVERRIDES := \
195    wifi.interface=wlan0 \
196    ro.hwui.texture_cache_size=86 \
197    ro.hwui.layer_cache_size=56 \
198    ro.hwui.r_buffer_cache_size=8 \
199    ro.hwui.path_cache_size=40 \
200    ro.hwui.gradient_cache_size=1 \
201    ro.hwui.drop_shadow_cache_size=6 \
202    ro.hwui.texture_cache_flushrate=0.4 \
203    ro.hwui.text_small_cache_width=1024 \
204    ro.hwui.text_small_cache_height=1024 \
205    ro.hwui.text_large_cache_width=2048 \
206    ro.hwui.text_large_cache_height=1024 \
207    ro.hwui.disable_scissor_opt=true
208
209# The default locale should be determined from VPD, not from build.prop.
210PRODUCT_SYSTEM_PROPERTY_BLACKLIST := \
211    ro.product.locale
212
213# OEM Unlock reporting
214PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
215    ro.oem_unlock_supported=1
216
217# setup dalvik vm configs.
218$(call inherit-product, frameworks/native/build/tablet-10in-xhdpi-2048-dalvik-heap.mk)
219
220# set default USB configuration
221PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
222    ro.adb.secure=1 \
223    ro.sf.lcd_density=320 \
224    ro.opengles.version=196610
225
226# for audio
227#TODO(dgreid) do we need libnvvisualizer?
228PRODUCT_PACKAGES += \
229    audio.primary.dragon \
230    sound_trigger.primary.dragon \
231    audio.a2dp.default \
232    audio.usb.default \
233    audio.r_submix.default
234
235PRODUCT_PACKAGES += \
236    android.hardware.audio@2.0-impl \
237    android.hardware.audio.effect@2.0-impl \
238    android.hardware.broadcastradio@1.0-impl \
239    android.hardware.soundtrigger@2.0-impl
240
241PRODUCT_PACKAGES += \
242    android.hardware.drm@1.0-impl
243
244PRODUCT_PACKAGES += \
245    android.hardware.graphics.composer@2.1-impl
246
247PRODUCT_PROPERTY_OVERRIDES += \
248    ro.audio.monitorRotation=true \
249    ro.frp.pst=/dev/block/platform/700b0600.sdhci/by-name/PST
250
251# Default OMX service to non-Treble
252PRODUCT_PROPERTY_OVERRIDES += \
253    persist.media.treble_omx=false
254
255# ro.product.first_api_level indicates the first api level the device has commercially launched on.
256PRODUCT_PROPERTY_OVERRIDES += \
257    ro.product.first_api_level=23
258
259# for keyboard key mappings
260PRODUCT_PACKAGES += \
261    DragonKeyboard
262
263# Vibrator HAL
264PRODUCT_PACKAGES += \
265    android.hardware.vibrator@1.0-impl
266
267# Allows healthd to boot directly from charger mode rather than initiating a reboot.
268PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
269    ro.enable_boot_charger_mode=1
270
271# TODO(dgreid) - Add back verity dependencies like flounder has.
272
273$(call inherit-product, build/target/product/vboot.mk)
274$(call inherit-product, build/target/product/verity.mk)
275# including verity.mk automatically enabled boot signer which conflicts with
276# vboot
277PRODUCT_SUPPORTS_BOOT_SIGNER := false
278PRODUCT_SUPPORTS_VERITY_FEC := false
279PRODUCT_SYSTEM_VERITY_PARTITION := /dev/block/platform/700b0600.sdhci/by-name/APP
280PRODUCT_VENDOR_VERITY_PARTITION := /dev/block/platform/700b0600.sdhci/by-name/VNR
281
282# The following group is necessary to support building the NVIDIA vendor
283# HALs and prebuilts.
284BOARD_SUPPORT_NVOICE := true
285BOARD_SUPPORT_NVAUDIOFX :=true
286BOARD_USES_LIBDRM := true
287NVRM_GPU_SUPPORT_NOUVEAU := 1
288NV_GPU_USE_SYNC_FD := 1
289USE_DRM_HWCOMPOSER := 1
290
291PRODUCT_PROPERTY_OVERRIDES += \
292    ro.hardware.vulkan=tegra
293
294$(call inherit-product-if-exists, hardware/nvidia/tegra132/tegra132.mk)
295$(call inherit-product-if-exists, vendor/google_devices/dragon/device-vendor.mk)
296$(call inherit-product-if-exists, hardware/broadcom/wlan/bcmdhd/config/config-bcm.mk)
297
298ENABLE_LIBDRM := true
299BOARD_GPU_DRIVERS := tegra
300USE_XML_AUDIO_POLICY_CONF := 1
301PRODUCT_PACKAGES += \
302    f54test \
303    hwcomposer.drm \
304    libdrm \
305    rmi4update \
306    rmihidtool
307
308# Vendor seccomp policy files for media components:
309PRODUCT_COPY_FILES += \
310    device/google/dragon/seccomp_policy/mediacodec.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediacodec.policy
311
312$(call inherit-product-if-exists, vendor/nvidia/dragon/dragon-vendor.mk)
313