1# 2# Copyright (C) 2011 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 21ifneq (,$(filter $(TARGET_PRODUCT),hikey960_tv hikey_tv)) 22# Setup TV Build 23USE_OEM_TV_APP := true 24$(call inherit-product, device/google/atv/products/atv_base.mk) 25PRODUCT_CHARACTERISTICS := tv 26PRODUCT_AAPT_PREF_CONFIG := tvdpi 27PRODUCT_IS_ATV := true 28else 29# Adjust the dalvik heap to be appropriate for a tablet. 30$(call inherit-product, frameworks/native/build/tablet-10in-xhdpi-2048-dalvik-heap.mk) 31endif 32 33# Set vendor kernel path 34PRODUCT_VENDOR_KERNEL_HEADERS := device/linaro/hikey/kernel-headers 35 36PRODUCT_SHIPPING_API_LEVEL := 29 37PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS := false 38 39 40# Set custom settings 41DEVICE_PACKAGE_OVERLAYS := device/linaro/hikey/overlay 42ifneq (,$(filter $(TARGET_PRODUCT),hikey960_tv hikey_tv)) 43# Set TV Custom Settings 44DEVICE_PACKAGE_OVERLAYS += device/google/atv/overlay 45endif 46 47#avoid usb crash 48PRODUCT_PRODUCT_PROPERTIES += \ 49 persist.adb.nonblocking_ffs=0 \ 50 ro.adb.nonblocking_ffs=0 \ 51 52 53#Force navkeys on 54PRODUCT_PROPERTY_OVERRIDES += qemu.hw.mainkeys=0 55 56# Add openssh support for remote debugging and job submission 57PRODUCT_PACKAGES += ssh sftp scp sshd ssh-keygen sshd_config start-ssh 58 59# Add wifi-related packages 60PRODUCT_PACKAGES += libwpa_client wpa_supplicant hostapd wificond 61PRODUCT_PROPERTY_OVERRIDES += wifi.interface=wlan0 \ 62 wifi.supplicant_scan_interval=15 63 64# Build and run only ART 65PRODUCT_RUNTIMES := runtime_libart_default 66 67# Build default bluetooth a2dp and usb audio HALs 68PRODUCT_PACKAGES += audio.a2dp.default \ 69 audio.bluetooth.default \ 70 audio.usb.default \ 71 audio.r_submix.default \ 72 tinyplay 73 74PRODUCT_PACKAGES += \ 75 android.hardware.audio@4.0-impl:32 \ 76 android.hardware.audio.effect@4.0-impl:32 \ 77 android.hardware.audio@2.0-service \ 78 android.hardware.soundtrigger@2.0-impl \ 79 android.hardware.bluetooth.audio@2.0-impl 80 81PRODUCT_PACKAGES += vndk_package 82 83PRODUCT_PACKAGES += \ 84 android.hardware.drm@1.0-impl \ 85 android.hardware.drm@1.0-service 86 87# Graphics HAL 88PRODUCT_PACKAGES += \ 89 android.hardware.graphics.allocator@2.0-impl \ 90 android.hardware.graphics.allocator@2.0-service \ 91 android.hardware.graphics.composer@2.1-impl \ 92 android.hardware.graphics.composer@2.1-service \ 93 android.hardware.graphics.mapper@2.0-impl 94 95# Memtrack 96PRODUCT_PACKAGES += memtrack.default \ 97 android.hardware.memtrack@1.0-service \ 98 android.hardware.memtrack@1.0-impl 99 100ifeq ($(HIKEY_USE_LEGACY_TI_BLUETOOTH), true) 101PRODUCT_PACKAGES += android.hardware.bluetooth@1.0-service.hikey uim 102else 103PRODUCT_PACKAGES += android.hardware.bluetooth@1.1-service.btlinux 104endif 105 106# PowerHAL 107PRODUCT_PACKAGES += \ 108 android.hardware.power@1.1-impl \ 109 android.hardware.power@1.1-service.hikey-common 110 111#GNSS HAL 112PRODUCT_PACKAGES += \ 113 android.hardware.gnss@1.0-impl 114 115# Software Gatekeeper HAL 116PRODUCT_PACKAGES += \ 117 android.hardware.gatekeeper@1.0-service.software 118 119# Keymaster HAL 120PRODUCT_PACKAGES += \ 121 android.hardware.keymaster@3.0-impl \ 122 android.hardware.keymaster@3.0-service 123 124 125# Sensor HAL 126ifneq ($(TARGET_SENSOR_MEZZANINE),) 127TARGET_USES_NANOHUB_SENSORHAL := true 128NANOHUB_SENSORHAL_LID_STATE_ENABLED := true 129NANOHUB_SENSORHAL_SENSORLIST := $(LOCAL_PATH)/sensorhal/sensorlist_$(TARGET_SENSOR_MEZZANINE).cpp 130NANOHUB_SENSORHAL_DIRECT_REPORT_ENABLED := true 131NANOHUB_SENSORHAL_DYNAMIC_SENSOR_EXT_ENABLED := true 132 133PRODUCT_PACKAGES += \ 134 context_hub.default \ 135 android.hardware.sensors@1.0-service \ 136 android.hardware.sensors@1.0-impl \ 137 android.hardware.contexthub@1.0-service \ 138 android.hardware.contexthub@1.0-impl 139 140# Nanohub tools 141PRODUCT_PACKAGES += stm32_flash nanoapp_cmd nanotool 142 143PRODUCT_COPY_FILES += \ 144 device/linaro/hikey/init.common.nanohub.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.nanohub.rc 145 146# Copy sensors config file(s) 147PRODUCT_COPY_FILES += \ 148 frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.accelerometer.xml \ 149 frameworks/native/data/etc/android.hardware.sensor.ambient_temperature.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.ambient_temperature.xml \ 150 frameworks/native/data/etc/android.hardware.sensor.barometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.barometer.xml \ 151 frameworks/native/data/etc/android.hardware.sensor.compass.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.compass.xml \ 152 frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.gyroscope.xml \ 153 frameworks/native/data/etc/android.hardware.sensor.hifi_sensors.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.hifi_sensors.xml \ 154 frameworks/native/data/etc/android.hardware.sensor.light.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.light.xml \ 155 frameworks/native/data/etc/android.hardware.sensor.relative_humidity.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.relative_humidity.xml \ 156 frameworks/native/data/etc/android.hardware.sensor.stepcounter.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepcounter.xml \ 157 frameworks/native/data/etc/android.hardware.sensor.stepdetector.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepdetector.xml 158 159# Argonkey VL53L0X proximity driver is not available yet. So we are going to copy conf file for neonkey only 160ifeq ($(TARGET_SENSOR_MEZZANINE),neonkey) 161PRODUCT_COPY_FILES += \ 162 frameworks/native/data/etc/android.hardware.sensor.proximity.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.proximity.xml 163endif 164 165# VR HAL 166PRODUCT_COPY_FILES += \ 167 frameworks/native/services/vr/virtual_touchpad/idc/vr-virtual-touchpad-1.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/vr-virtual-touchpad-1.idc \ 168 frameworks/native/data/etc/android.hardware.vr.high_performance.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vr.high_performance.xml \ 169 frameworks/native/data/etc/android.hardware.vr.headtracking-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vr.headtracking.xml 170 171PRODUCT_PACKAGES += \ 172 vr.default \ 173 android.hardware.vr@1.0-service \ 174 android.hardware.vr@1.0-impl 175 176endif 177 178 179ifneq (,$(filter $(TARGET_PRODUCT),hikey960_tv hikey_tv)) 180# TV Specific Packages 181PRODUCT_PACKAGES += \ 182 TvSettings \ 183 LiveTv \ 184 google-tv-pairing-protocol \ 185 TvProvision \ 186 LeanbackSampleApp \ 187 TvSampleLeanbackLauncher \ 188 TvProvider \ 189 SettingsIntelligence \ 190 tv_input.default \ 191 com.android.media.tv.remoteprovider \ 192 InputDevices 193PRODUCT_PROPERTY_OVERRIDES += ro.sf.lcd_density=260 194else 195 196# Use Launcher3QuickStep 197PRODUCT_PACKAGES += Launcher3QuickStep 198PRODUCT_PROPERTY_OVERRIDES += ro.sf.lcd_density=160 199endif 200 201# Copy hardware config file(s) 202PRODUCT_COPY_FILES += \ 203 device/linaro/hikey/etc/permissions/android.hardware.screen.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.screen.xml \ 204 device/linaro/hikey/etc/permissions/android.software.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.xml \ 205 frameworks/native/data/etc/android.software.cts.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.cts.xml \ 206 frameworks/native/data/etc/android.software.app_widgets.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.app_widgets.xml \ 207 frameworks/native/data/etc/android.software.backup.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.backup.xml \ 208 frameworks/native/data/etc/android.software.voice_recognizers.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.voice_recognizers.xml \ 209 frameworks/native/data/etc/android.hardware.ethernet.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.ethernet.xml \ 210 frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml \ 211 frameworks/native/data/etc/android.hardware.usb.host.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.host.xml \ 212 frameworks/native/data/etc/android.software.device_admin.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.device_admin.xml 213 214# Include BT modules 215$(call inherit-product, device/linaro/hikey/wpan/ti-wpan-products.mk) 216 217PRODUCT_COPY_FILES += \ 218 frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml \ 219 frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml \ 220 frameworks/native/data/etc/android.hardware.bluetooth.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth.xml \ 221 frameworks/native/data/etc/android.hardware.bluetooth_le.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth_le.xml \ 222 device/linaro/hikey/wpa_supplicant.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant.conf \ 223 $(LOCAL_PATH)/wpa_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant_overlay.conf \ 224 $(LOCAL_PATH)/p2p_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/p2p_supplicant_overlay.conf 225 226# audio policy configuration 227USE_XML_AUDIO_POLICY_CONF := 1 228PRODUCT_COPY_FILES += \ 229 device/linaro/hikey/audio/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \ 230 device/linaro/hikey/audio/audio_policy_configuration_bluetooth_legacy_hal.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration_bluetooth_legacy_hal.xml \ 231 frameworks/av/services/audiopolicy/config/a2dp_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_audio_policy_configuration.xml \ 232 frameworks/av/services/audiopolicy/config/a2dp_in_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_in_audio_policy_configuration.xml \ 233 frameworks/av/services/audiopolicy/config/bluetooth_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_audio_policy_configuration.xml \ 234 frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \ 235 frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usb_audio_policy_configuration.xml \ 236 frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \ 237 frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml 238 239# Copy media codecs config file 240PRODUCT_COPY_FILES += \ 241 device/linaro/hikey/etc/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \ 242 frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml 243 244PRODUCT_COPY_FILES += \ 245 device/linaro/hikey/init.common.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.common.rc \ 246 247PRODUCT_PACKAGES += \ 248 android.hardware.renderscript@1.0.vndk-sp\ 249 android.hardware.graphics.composer@2.1.vndk-sp\ 250 android.hardware.graphics.allocator@2.0.vndk-sp\ 251 android.hardware.graphics.mapper@2.0.vndk-sp\ 252 android.hardware.graphics.common@1.0.vndk-sp\ 253 libvndksupport.vndk-sp\ 254 libbinder.vndk-sp\ 255 libhwbinder.vndk-sp\ 256 libbase.vndk-sp\ 257 libfmq.vndk-sp\ 258 libcutils.vndk-sp\ 259 libhardware.vndk-sp\ 260 libhidlbase.vndk-sp\ 261 libhidltransport.vndk-sp\ 262 libui.vndk-sp\ 263 libutils.vndk-sp\ 264 libc++.vndk-sp\ 265 libRS_internal.vndk-sp\ 266 libRSDriver.vndk-sp\ 267 libRSCpuRef.vndk-sp\ 268 libbcinfo.vndk-sp\ 269 libblas.vndk-sp\ 270 libft2.vndk-sp\ 271 libpng.vndk-sp\ 272 libcompiler_rt.vndk-sp\ 273 libbacktrace.vndk-sp\ 274 libunwind.vndk-sp\ 275 libunwindstack.vndk-sp\ 276 liblzma.vndk-sp\ 277 libion.vndk-sp\ 278 279# Health 280PRODUCT_PACKAGES += \ 281 android.hardware.health@2.0-service \ 282 android.hardware.health@2.0-impl 283