• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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# Check vendor package version
21# If you need to make changes to the vendor partition,
22# please modify the source git project here:
23#   https://staging-git.codelinaro.org/linaro/linaro-aosp/aosp-linaro-vendor-package
24include $(LOCAL_PATH)/vendor-package-ver.mk
25ifneq (,$(wildcard $(LINARO_VENDOR_PATH)/hikey960/$(EXPECTED_LINARO_VENDOR_VERSION)/version.mk))
26  # Unfortunately inherit-product doesn't export build variables from the
27  # called make file to the caller, so we have to include it directly here.
28  include $(LINARO_VENDOR_PATH)/hikey960/$(EXPECTED_LINARO_VENDOR_VERSION)/version.mk
29  ifneq ($(TARGET_LINARO_VENDOR_VERSION), $(EXPECTED_LINARO_VENDOR_VERSION))
30    $(warning TARGET_LINARO_VENDOR_VERSION ($(TARGET_LINARO_VENDOR_VERSION)) does not match exiting the build ($(EXPECTED_LINARO_VENDOR_VERSION)).)
31    $(warning Please download and extract the new binaries by running the following script:)
32    $(warning    ./device/linaro/hikey/fetch-vendor-package.sh )
33  endif
34else
35  $(warning Missing Linaro Vendor Package!)
36  $(warning Please download and extract the vendor binaries by running the following script:)
37  $(warning    ./device/linaro/hikey/fetch-vendor-package.sh )
38endif
39
40ifneq (,$(filter $(TARGET_PRODUCT),hikey960_tv hikey_tv))
41# Setup TV Build
42USE_OEM_TV_APP := true
43$(call inherit-product, device/google/atv/products/atv_base.mk)
44PRODUCT_CHARACTERISTICS := tv
45PRODUCT_AAPT_PREF_CONFIG := tvdpi
46PRODUCT_IS_ATV := true
47else
48# Adjust the dalvik heap to be appropriate for a tablet.
49$(call inherit-product, frameworks/native/build/tablet-10in-xhdpi-2048-dalvik-heap.mk)
50$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base.mk)
51endif
52
53# Set vendor kernel path
54PRODUCT_VENDOR_KERNEL_HEADERS := device/linaro/hikey/kernel-headers
55
56PRODUCT_SHIPPING_API_LEVEL := 32
57PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS := false
58
59
60# Enable Scoped Storage related
61$(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk)
62
63# Set custom settings
64DEVICE_PACKAGE_OVERLAYS := device/linaro/hikey/overlay
65ifneq (,$(filter $(TARGET_PRODUCT),hikey960_tv hikey_tv))
66# Set TV Custom Settings
67DEVICE_PACKAGE_OVERLAYS += device/google/atv/overlay
68endif
69
70#avoid usb crash
71PRODUCT_PRODUCT_PROPERTIES += \
72	persist.adb.nonblocking_ffs=0 \
73	ro.adb.nonblocking_ffs=0 \
74
75
76#Force navkeys on
77PRODUCT_PROPERTY_OVERRIDES += qemu.hw.mainkeys=0
78
79# Add openssh support for remote debugging and job submission
80PRODUCT_PACKAGES += ssh sftp scp sshd ssh-keygen sshd_config start-ssh
81
82# Add wifi-related packages
83PRODUCT_PACKAGES += libwpa_client wpa_supplicant hostapd wificond
84PRODUCT_PROPERTY_OVERRIDES += wifi.interface=wlan0 \
85                              wifi.supplicant_scan_interval=15
86
87# Build and run only ART
88PRODUCT_RUNTIMES := runtime_libart_default
89
90# Build default bluetooth a2dp and usb audio HALs
91PRODUCT_PACKAGES += audio.bluetooth.default \
92		    audio.usb.default \
93		    audio.r_submix.default \
94		    tinyplay
95
96PRODUCT_PACKAGES += \
97    android.hardware.audio.service \
98    android.hardware.audio@7.0-impl \
99    android.hardware.audio.effect@7.0-impl \
100    android.hardware.soundtrigger@2.3-impl \
101    android.hardware.bluetooth.audio@2.0-impl
102
103# Bluetooth Audio AIDL HAL
104PRODUCT_PACKAGES += \
105    android.hardware.bluetooth.audio-impl \
106
107PRODUCT_COPY_FILES += \
108    frameworks/av/services/audiopolicy/config/bluetooth_audio_policy_configuration_7_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_audio_policy_configuration_7_0.xml \
109
110PRODUCT_PACKAGES += vndk_package
111
112# DRM HAL
113PRODUCT_PACKAGES += \
114    android.hardware.drm-service.clearkey \
115    android.hardware.drm-service.widevine
116
117# Graphics HAL
118PRODUCT_PACKAGES += \
119    android.hardware.graphics.allocator@2.0-impl \
120    android.hardware.graphics.allocator@2.0-service \
121    android.hardware.graphics.mapper@2.0-impl-2.1 \
122
123PRODUCT_PACKAGES += android.hardware.bluetooth-service.default
124
125#
126# Power HAL
127#
128PRODUCT_PACKAGES += \
129    android.hardware.power-service.example
130
131#
132# PowerStats HAL
133#
134PRODUCT_PACKAGES += \
135    android.hardware.power.stats-service.example
136
137
138# Software Gatekeeper HAL
139PRODUCT_PACKAGES += \
140    android.hardware.gatekeeper@1.0-service.software
141
142# Keymaster HAL
143PRODUCT_PACKAGES += \
144    android.hardware.keymaster@3.0-impl \
145    android.hardware.keymaster@3.0-service
146
147
148# Sensor HAL
149ifneq ($(TARGET_SENSOR_MEZZANINE),)
150TARGET_USES_NANOHUB_SENSORHAL := true
151NANOHUB_SENSORHAL_LID_STATE_ENABLED := true
152NANOHUB_SENSORHAL_SENSORLIST := $(LOCAL_PATH)/sensorhal/sensorlist_$(TARGET_SENSOR_MEZZANINE).cpp
153NANOHUB_SENSORHAL_DIRECT_REPORT_ENABLED := true
154NANOHUB_SENSORHAL_DYNAMIC_SENSOR_EXT_ENABLED := true
155
156PRODUCT_PACKAGES += \
157    context_hub.default \
158    android.hardware.sensors@1.0-service \
159    android.hardware.sensors@1.0-impl \
160    android.hardware.contexthub@1.0-service \
161    android.hardware.contexthub@1.0-impl
162
163# Nanohub tools
164PRODUCT_PACKAGES += stm32_flash nanoapp_cmd nanotool
165
166PRODUCT_COPY_FILES += \
167    device/linaro/hikey/init.common.nanohub.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.nanohub.rc
168
169# Copy sensors config file(s)
170PRODUCT_COPY_FILES += \
171    frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.accelerometer.xml \
172    frameworks/native/data/etc/android.hardware.sensor.ambient_temperature.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.ambient_temperature.xml \
173    frameworks/native/data/etc/android.hardware.sensor.barometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.barometer.xml \
174    frameworks/native/data/etc/android.hardware.sensor.compass.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.compass.xml \
175    frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.gyroscope.xml \
176    frameworks/native/data/etc/android.hardware.sensor.hifi_sensors.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.hifi_sensors.xml \
177    frameworks/native/data/etc/android.hardware.sensor.light.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.light.xml \
178    frameworks/native/data/etc/android.hardware.sensor.relative_humidity.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.relative_humidity.xml \
179    frameworks/native/data/etc/android.hardware.sensor.stepcounter.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepcounter.xml \
180    frameworks/native/data/etc/android.hardware.sensor.stepdetector.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepdetector.xml
181
182# Argonkey VL53L0X proximity driver is not available yet. So we are going to copy conf file for neonkey only
183ifeq ($(TARGET_SENSOR_MEZZANINE),neonkey)
184PRODUCT_COPY_FILES += \
185    frameworks/native/data/etc/android.hardware.sensor.proximity.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.proximity.xml
186endif
187
188# VR HAL
189PRODUCT_COPY_FILES += \
190    frameworks/native/services/vr/virtual_touchpad/idc/vr-virtual-touchpad-1.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/vr-virtual-touchpad-1.idc \
191    frameworks/native/data/etc/android.hardware.vr.high_performance.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vr.high_performance.xml \
192    frameworks/native/data/etc/android.hardware.vr.headtracking-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vr.headtracking.xml
193
194PRODUCT_PACKAGES += \
195    vr.default \
196    android.hardware.vr@1.0-service \
197    android.hardware.vr@1.0-impl
198
199endif
200
201
202ifneq (,$(filter $(TARGET_PRODUCT),hikey960_tv hikey_tv))
203# TV Specific Packages
204PRODUCT_PACKAGES += \
205    TvSettings \
206    LiveTv \
207    google-tv-pairing-protocol \
208    TvProvision \
209    LeanbackSampleApp \
210    TvSampleLeanbackLauncher \
211    TvProvider \
212    SettingsIntelligence \
213    tv_input.default \
214    com.android.media.tv.remoteprovider \
215    InputDevices
216PRODUCT_PROPERTY_OVERRIDES += ro.sf.lcd_density=260
217else
218
219# Use Launcher3QuickStep
220PRODUCT_PACKAGES += Launcher3QuickStep
221PRODUCT_PROPERTY_OVERRIDES += ro.sf.lcd_density=160
222endif
223
224# Copy hardware config file(s)
225PRODUCT_COPY_FILES +=  \
226        device/linaro/hikey/etc/permissions/android.hardware.screen.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.screen.xml \
227        device/linaro/hikey/etc/permissions/android.software.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.xml \
228        frameworks/native/data/etc/android.software.cts.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.cts.xml \
229        frameworks/native/data/etc/android.software.app_widgets.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.app_widgets.xml \
230        frameworks/native/data/etc/android.software.backup.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.backup.xml \
231        frameworks/native/data/etc/android.software.voice_recognizers.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.voice_recognizers.xml \
232        frameworks/native/data/etc/android.hardware.ethernet.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.ethernet.xml \
233        frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml \
234        frameworks/native/data/etc/android.hardware.usb.host.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.host.xml \
235        frameworks/native/data/etc/android.software.device_admin.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.device_admin.xml
236
237PRODUCT_COPY_FILES += \
238        frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml \
239        frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml \
240        frameworks/native/data/etc/android.hardware.bluetooth.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth.xml \
241        frameworks/native/data/etc/android.hardware.bluetooth_le.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth_le.xml \
242        device/linaro/hikey/wpa_supplicant.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant.conf \
243        $(LOCAL_PATH)/wpa_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant_overlay.conf \
244        $(LOCAL_PATH)/p2p_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/p2p_supplicant_overlay.conf
245
246# audio policy configuration
247USE_XML_AUDIO_POLICY_CONF := 1
248PRODUCT_COPY_FILES += \
249    device/linaro/hikey/audio/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \
250    frameworks/av/services/audiopolicy/config/a2dp_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_audio_policy_configuration.xml \
251    frameworks/av/services/audiopolicy/config/a2dp_in_audio_policy_configuration_7_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_in_audio_policy_configuration_7_0.xml \
252    frameworks/av/services/audiopolicy/config/bluetooth_audio_policy_configuration_7_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_audio_policy_configuration_7_0.xml \
253    frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \
254    frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usb_audio_policy_configuration.xml \
255    frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \
256    frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml
257
258# Copy media codecs config file
259PRODUCT_COPY_FILES += \
260        device/linaro/hikey/etc/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \
261        frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml
262
263PRODUCT_COPY_FILES += \
264    device/linaro/hikey/init.common.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.common.rc \
265
266# Health HAL
267PRODUCT_PACKAGES += com.google.cf.health
268
269# Thermal HAL
270PRODUCT_PACKAGES += com.android.hardware.thermal
271
272# TODO: disable this service once we implement system suspend
273PRODUCT_PACKAGES += \
274    suspend_blocker
275
276TARGET_PRODUCT_PROP := $(LOCAL_PATH)/product.prop
277