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