blob: 989ce7b76a906379797d94055bd94644c7843596 [file] [log] [blame]
Vishal Bhoje72c9202015-10-23 18:10:21 +01001#
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
John Stultzead7eed2019-06-19 23:02:25 +000017# Enable updating of APEXes
18$(call inherit-product, $(SRC_TARGET_DIR)/product/updatable_apex.mk)
19
John Stultzec36f2d2022-02-02 04:37:53 +000020# 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)).)
Amit Pundirb98d75c2022-07-26 15:01:04 +053031 $(warning Please download and extract the new binaries by running the following script:)
32 $(warning ./device/linaro/hikey/fetch-vendor-package.sh )
John Stultzec36f2d2022-02-02 04:37:53 +000033 endif
34else
35 $(warning Missing Linaro Vendor Package!)
Amit Pundirb98d75c2022-07-26 15:01:04 +053036 $(warning Please download and extract the vendor binaries by running the following script:)
37 $(warning ./device/linaro/hikey/fetch-vendor-package.sh )
John Stultzec36f2d2022-02-02 04:37:53 +000038endif
Cole Faust4bfb1c92022-03-07 11:43:55 -080039$(warning EXPECTED_LINARO_VENDOR_VERSION=$(EXPECTED_LINARO_VENDOR_VERSION))
John Stultzead7eed2019-06-19 23:02:25 +000040
Sahaj Sarup93980e02018-09-11 13:24:20 +000041ifneq (,$(filter $(TARGET_PRODUCT),hikey960_tv hikey_tv))
42# Setup TV Build
43USE_OEM_TV_APP := true
44$(call inherit-product, device/google/atv/products/atv_base.mk)
45PRODUCT_CHARACTERISTICS := tv
46PRODUCT_AAPT_PREF_CONFIG := tvdpi
47PRODUCT_IS_ATV := true
48else
Vishal Bhoje72c9202015-10-23 18:10:21 +010049# Adjust the dalvik heap to be appropriate for a tablet.
John Stultz58bae752018-10-18 13:13:24 -070050$(call inherit-product, frameworks/native/build/tablet-10in-xhdpi-2048-dalvik-heap.mk)
Robin Lee81bde6d2020-08-15 22:17:32 +020051$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base.mk)
Sahaj Sarup93980e02018-09-11 13:24:20 +000052endif
Vishal Bhoje72c9202015-10-23 18:10:21 +010053
Niranjan Yadla88a93e42017-08-29 15:22:40 -070054# Set vendor kernel path
55PRODUCT_VENDOR_KERNEL_HEADERS := device/linaro/hikey/kernel-headers
56
John Stultzaa4874d2021-07-08 02:00:45 +000057PRODUCT_SHIPPING_API_LEVEL := 31
John Stultz57251742019-05-15 19:16:24 +000058PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS := false
59
Yongqin Liu7271d392018-11-21 15:27:41 +080060
John Stultze9bbc982020-10-08 07:03:39 +000061# Enable Scoped Storage related
62$(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk)
63
Vishal Bhoje72c9202015-10-23 18:10:21 +010064# Set custom settings
65DEVICE_PACKAGE_OVERLAYS := device/linaro/hikey/overlay
Robin Lee22180b92021-01-25 19:23:54 +000066ifneq (,$(filter $(TARGET_PRODUCT),hikey960_tv hikey_tv))
67# Set TV Custom Settings
68DEVICE_PACKAGE_OVERLAYS += device/google/atv/overlay
69endif
Vishal Bhoje72c9202015-10-23 18:10:21 +010070
John Stultz2f5ac942019-05-16 00:28:46 +000071#avoid usb crash
72PRODUCT_PRODUCT_PROPERTIES += \
73 persist.adb.nonblocking_ffs=0 \
74 ro.adb.nonblocking_ffs=0 \
75
76
John Stultze113ecc2018-09-11 11:53:35 -070077#Force navkeys on
78PRODUCT_PROPERTY_OVERRIDES += qemu.hw.mainkeys=0
79
Vishal Bhoje72c9202015-10-23 18:10:21 +010080# Add openssh support for remote debugging and job submission
John Stultzd497f632017-05-30 23:51:33 -070081PRODUCT_PACKAGES += ssh sftp scp sshd ssh-keygen sshd_config start-ssh
Dmitry Shmidta95006a2016-03-16 13:23:30 -070082
83# Add wifi-related packages
David Su26822282019-01-16 16:41:30 -080084PRODUCT_PACKAGES += libwpa_client wpa_supplicant hostapd wificond
Dmitry Shmidta95006a2016-03-16 13:23:30 -070085PRODUCT_PROPERTY_OVERRIDES += wifi.interface=wlan0 \
86 wifi.supplicant_scan_interval=15
Vishal Bhoje72c9202015-10-23 18:10:21 +010087
88# Build and run only ART
89PRODUCT_RUNTIMES := runtime_libart_default
90
Amit Pundiraf628c22016-11-02 16:37:00 +080091# Build default bluetooth a2dp and usb audio HALs
92PRODUCT_PACKAGES += audio.a2dp.default \
Cheney Ni8b8c39c2019-03-18 14:11:30 +080093 audio.bluetooth.default \
John Stultz52ebc462016-06-03 11:37:21 -070094 audio.usb.default \
95 audio.r_submix.default \
96 tinyplay
Vishal Bhoje72c9202015-10-23 18:10:21 +010097
Mikhail Naganov692a6d72016-11-11 16:36:02 -080098PRODUCT_PACKAGES += \
John Stultz84b31d12021-07-07 23:40:21 +000099 android.hardware.audio.service \
100 android.hardware.audio@7.0-impl \
101 android.hardware.audio.effect@7.0-impl \
Yifan Honga4524e62021-10-08 15:21:04 -0700102 android.hardware.soundtrigger@2.3-impl \
Cheney Ni8b8c39c2019-03-18 14:11:30 +0800103 android.hardware.bluetooth.audio@2.0-impl
Mikhail Naganov692a6d72016-11-11 16:36:02 -0800104
John Stultz84b31d12021-07-07 23:40:21 +0000105
John Stultz3424dc32018-04-11 15:37:34 -0700106PRODUCT_PACKAGES += vndk_package
107
Jeff Tinkerbc86f722017-01-01 11:02:12 -0800108PRODUCT_PACKAGES += \
John Stultzf8119882021-07-08 01:44:13 +0000109 android.hardware.drm@1.3-service.clearkey \
110 android.hardware.drm@1.3-service.widevine \
Jeff Tinkerbc86f722017-01-01 11:02:12 -0800111
Chia-I Wu075e7772017-04-24 13:49:38 -0700112# Graphics HAL
113PRODUCT_PACKAGES += \
114 android.hardware.graphics.allocator@2.0-impl \
John Stultzd013ca82018-04-11 12:17:34 -0700115 android.hardware.graphics.allocator@2.0-service \
Chia-I Wu2b614442017-10-19 15:07:35 -0700116 android.hardware.graphics.composer@2.1-impl \
John Stultzd013ca82018-04-11 12:17:34 -0700117 android.hardware.graphics.composer@2.1-service \
John Stultz84b31d12021-07-07 23:40:21 +0000118 android.hardware.graphics.mapper@2.0-impl-2.1 \
Chia-I Wu075e7772017-04-24 13:49:38 -0700119
Harpreet \"Eli\" Sangha8744be72019-11-26 15:54:27 +0900120PRODUCT_PACKAGES += android.hardware.bluetooth@1.1-service.btlinux
John Stultzd497f632017-05-30 23:51:33 -0700121
John Stultzf8119882021-07-08 01:44:13 +0000122#
123# Power HAL
124#
John Stultzc1875b52018-11-20 16:15:20 -0800125PRODUCT_PACKAGES += \
John Stultzf8119882021-07-08 01:44:13 +0000126 android.hardware.power-service.example
127
128#
129# PowerStats HAL
130#
131PRODUCT_PACKAGES += \
132 android.hardware.power.stats-service.example
John Stultz7266c5f2016-06-09 14:18:57 -0700133
Hridya Valsarajua4fe7ca2016-12-02 16:02:28 -0800134
Janis Danisevskise46fc832019-06-27 10:14:32 -0700135# Software Gatekeeper HAL
136PRODUCT_PACKAGES += \
137 android.hardware.gatekeeper@1.0-service.software
138
Janis Danisevskisfa3896c2016-11-22 10:45:49 +0000139# Keymaster HAL
140PRODUCT_PACKAGES += \
John Stultzd013ca82018-04-11 12:17:34 -0700141 android.hardware.keymaster@3.0-impl \
142 android.hardware.keymaster@3.0-service
143
Janis Danisevskisfa3896c2016-11-22 10:45:49 +0000144
Ben Fennema52301e42017-10-17 12:24:04 -0700145# Sensor HAL
146ifneq ($(TARGET_SENSOR_MEZZANINE),)
147TARGET_USES_NANOHUB_SENSORHAL := true
148NANOHUB_SENSORHAL_LID_STATE_ENABLED := true
149NANOHUB_SENSORHAL_SENSORLIST := $(LOCAL_PATH)/sensorhal/sensorlist_$(TARGET_SENSOR_MEZZANINE).cpp
150NANOHUB_SENSORHAL_DIRECT_REPORT_ENABLED := true
151NANOHUB_SENSORHAL_DYNAMIC_SENSOR_EXT_ENABLED := true
152
153PRODUCT_PACKAGES += \
154 context_hub.default \
155 android.hardware.sensors@1.0-service \
156 android.hardware.sensors@1.0-impl \
157 android.hardware.contexthub@1.0-service \
Dmitry Shmidtee5f1b52018-01-19 09:28:08 -0800158 android.hardware.contexthub@1.0-impl
Ben Fennema52301e42017-10-17 12:24:04 -0700159
160# Nanohub tools
161PRODUCT_PACKAGES += stm32_flash nanoapp_cmd nanotool
162
163PRODUCT_COPY_FILES += \
164 device/linaro/hikey/init.common.nanohub.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.nanohub.rc
Denis Cioccab92f2ef2017-10-31 17:18:50 +0800165
166# Copy sensors config file(s)
167PRODUCT_COPY_FILES += \
John Stultz11ddf0b2018-04-11 12:25:32 -0700168 frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.accelerometer.xml \
169 frameworks/native/data/etc/android.hardware.sensor.ambient_temperature.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.ambient_temperature.xml \
170 frameworks/native/data/etc/android.hardware.sensor.barometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.barometer.xml \
171 frameworks/native/data/etc/android.hardware.sensor.compass.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.compass.xml \
172 frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.gyroscope.xml \
173 frameworks/native/data/etc/android.hardware.sensor.hifi_sensors.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.hifi_sensors.xml \
174 frameworks/native/data/etc/android.hardware.sensor.light.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.light.xml \
175 frameworks/native/data/etc/android.hardware.sensor.relative_humidity.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.relative_humidity.xml \
176 frameworks/native/data/etc/android.hardware.sensor.stepcounter.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepcounter.xml \
177 frameworks/native/data/etc/android.hardware.sensor.stepdetector.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepdetector.xml
Denis Cioccab92f2ef2017-10-31 17:18:50 +0800178
179# Argonkey VL53L0X proximity driver is not available yet. So we are going to copy conf file for neonkey only
180ifeq ($(TARGET_SENSOR_MEZZANINE),neonkey)
181PRODUCT_COPY_FILES += \
John Stultz11ddf0b2018-04-11 12:25:32 -0700182 frameworks/native/data/etc/android.hardware.sensor.proximity.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.proximity.xml
Denis Cioccab92f2ef2017-10-31 17:18:50 +0800183endif
Sahaj Sarup9a61afa2017-11-07 20:58:21 +0000184
185# VR HAL
186PRODUCT_COPY_FILES += \
187 frameworks/native/services/vr/virtual_touchpad/idc/vr-virtual-touchpad-1.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/vr-virtual-touchpad-1.idc \
188 frameworks/native/data/etc/android.hardware.vr.high_performance.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vr.high_performance.xml \
189 frameworks/native/data/etc/android.hardware.vr.headtracking-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vr.headtracking.xml
190
191PRODUCT_PACKAGES += \
192 vr.default \
193 android.hardware.vr@1.0-service \
194 android.hardware.vr@1.0-impl
195
Ben Fennema52301e42017-10-17 12:24:04 -0700196endif
197
Sahaj Sarup93980e02018-09-11 13:24:20 +0000198
199ifneq (,$(filter $(TARGET_PRODUCT),hikey960_tv hikey_tv))
200# TV Specific Packages
201PRODUCT_PACKAGES += \
202 TvSettings \
203 LiveTv \
204 google-tv-pairing-protocol \
205 TvProvision \
206 LeanbackSampleApp \
207 TvSampleLeanbackLauncher \
208 TvProvider \
209 SettingsIntelligence \
210 tv_input.default \
211 com.android.media.tv.remoteprovider \
212 InputDevices
213PRODUCT_PROPERTY_OVERRIDES += ro.sf.lcd_density=260
214else
215
Sunny Goyald8abea82018-05-29 16:18:14 -0700216# Use Launcher3QuickStep
217PRODUCT_PACKAGES += Launcher3QuickStep
Sahaj Sarup93980e02018-09-11 13:24:20 +0000218PRODUCT_PROPERTY_OVERRIDES += ro.sf.lcd_density=160
219endif
Sahaj Sarupaef8e3f2017-08-22 14:02:42 +0530220
Vishal Bhoje72c9202015-10-23 18:10:21 +0100221# Copy hardware config file(s)
222PRODUCT_COPY_FILES += \
John Stultz11ddf0b2018-04-11 12:25:32 -0700223 device/linaro/hikey/etc/permissions/android.hardware.screen.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.screen.xml \
Yongqin Liu5bd58a72018-12-28 15:14:02 +0800224 device/linaro/hikey/etc/permissions/android.software.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.xml \
John Stultz11ddf0b2018-04-11 12:25:32 -0700225 frameworks/native/data/etc/android.software.cts.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.cts.xml \
226 frameworks/native/data/etc/android.software.app_widgets.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.app_widgets.xml \
227 frameworks/native/data/etc/android.software.backup.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.backup.xml \
228 frameworks/native/data/etc/android.software.voice_recognizers.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.voice_recognizers.xml \
229 frameworks/native/data/etc/android.hardware.ethernet.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.ethernet.xml \
230 frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml \
231 frameworks/native/data/etc/android.hardware.usb.host.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.host.xml \
232 frameworks/native/data/etc/android.software.device_admin.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.device_admin.xml
Vishal Bhoje72c9202015-10-23 18:10:21 +0100233
Vishal Bhoje72c9202015-10-23 18:10:21 +0100234PRODUCT_COPY_FILES += \
John Stultz11ddf0b2018-04-11 12:25:32 -0700235 frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml \
236 frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml \
237 frameworks/native/data/etc/android.hardware.bluetooth.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth.xml \
238 frameworks/native/data/etc/android.hardware.bluetooth_le.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth_le.xml \
239 device/linaro/hikey/wpa_supplicant.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant.conf \
Dmitry Shmidt9dd7b9c2018-02-01 10:09:39 -0800240 $(LOCAL_PATH)/wpa_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant_overlay.conf \
241 $(LOCAL_PATH)/p2p_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/p2p_supplicant_overlay.conf
Eric Laurentc313d912017-04-20 11:45:21 -0700242
243# audio policy configuration
Andrew Lehmer866339e2019-05-14 21:17:08 +0000244USE_XML_AUDIO_POLICY_CONF := 1
Eric Laurentc313d912017-04-20 11:45:21 -0700245PRODUCT_COPY_FILES += \
246 device/linaro/hikey/audio/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \
Cheney Ni8b8c39c2019-03-18 14:11:30 +0800247 device/linaro/hikey/audio/audio_policy_configuration_bluetooth_legacy_hal.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration_bluetooth_legacy_hal.xml \
Eric Laurentc313d912017-04-20 11:45:21 -0700248 frameworks/av/services/audiopolicy/config/a2dp_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_audio_policy_configuration.xml \
Mikhail Naganovd5148dd2021-10-27 22:58:38 +0000249 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 \
250 frameworks/av/services/audiopolicy/config/bluetooth_audio_policy_configuration_7_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_audio_policy_configuration_7_0.xml \
Eric Laurentc313d912017-04-20 11:45:21 -0700251 frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \
252 frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usb_audio_policy_configuration.xml \
253 frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \
254 frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml
Vishal Bhoje72c9202015-10-23 18:10:21 +0100255
256# Copy media codecs config file
Eric Laurent3051d9e2016-06-10 14:37:37 -0700257PRODUCT_COPY_FILES += \
John Stultz11ddf0b2018-04-11 12:25:32 -0700258 device/linaro/hikey/etc/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \
259 frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml
John Stultz98e17f62018-04-11 15:33:22 -0700260
Colin Crossd6260342019-03-22 13:16:17 -0700261PRODUCT_COPY_FILES += \
262 device/linaro/hikey/init.common.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.common.rc \
263
John Stultzf8119882021-07-08 01:44:13 +0000264
Amit Pundir1d095262019-10-08 17:38:17 +0530265# Health
266PRODUCT_PACKAGES += \
John Stultzf8119882021-07-08 01:44:13 +0000267 android.hardware.health@2.1-impl-cuttlefish \
268 android.hardware.health@2.1-service
Yongqin Liu4b5a0f82021-08-18 17:42:32 +0800269
270# TODO: disable this service once we implement system suspend
271PRODUCT_PACKAGES += \
272 suspend_blocker
Yongqin Liu9efebb72022-06-07 00:08:29 +0800273
274TARGET_PRODUCT_PROP := $(LOCAL_PATH)/product.prop
Yongqin Liuc89f26e2022-06-07 00:14:35 +0800275BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := device/linaro/hikey/bluetooth