1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
|
TARGET_USES_AOSP := true
TARGET_USES_AOSP_FOR_AUDIO := true
TARGET_USES_QCOM_BSP := false
ifeq ($(TARGET_USES_AOSP),true)
TARGET_ENABLE_QC_AV_ENHANCEMENTS := false
TARGET_DISABLE_DASH := true
TARGET_USES_QTIC := false
else
DEVICE_PACKAGE_OVERLAYS := device/qcom/sdm660_64/overlay
TARGET_ENABLE_QC_AV_ENHANCEMENTS := true
TARGET_USES_QTIC := true
endif
# Default vendor configuration.
ifeq ($(ENABLE_VENDOR_IMAGE),)
ENABLE_VENDOR_IMAGE := false
endif
# Disable QTIC until it's brought up in split system/vendor
# configuration to avoid compilation breakage.
ifeq ($(ENABLE_VENDOR_IMAGE), true)
TARGET_USES_QTIC := false
endif
TARGET_KERNEL_VERSION := 4.4
BOARD_FRP_PARTITION_NAME := frp
BOARD_HAVE_QCOM_FM := false
TARGET_USES_NQ_NFC := false
ifeq ($(TARGET_USES_NQ_NFC),true)
# Flag to enable and support NQ3XX chipsets
NQ3XX_PRESENT := true
endif
# enable the SVA in UI area
TARGET_USE_UI_SVA := true
#QTIC flag
-include $(QCPATH)/common/config/qtic-config.mk
# Video codec configuration files
ifeq ($(TARGET_ENABLE_QC_AV_ENHANCEMENTS), true)
PRODUCT_COPY_FILES += device/qcom/sdm660_64/media_profiles.xml:system/etc/media_profiles.xml \
device/qcom/sdm660_64/media_codecs.xml:system/etc/media_codecs.xml \
device/qcom/sdm660_64/media_codecs_performance.xml:system/etc/media_codecs_performance.xml
endif #TARGET_ENABLE_QC_AV_ENHANCEMENTS
# video seccomp policy files
PRODUCT_COPY_FILES += \
device/qcom/sdm660_64/seccomp/mediacodec-seccomp.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediacodec.policy \
device/qcom/sdm660_64/seccomp/mediaextractor-seccomp.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediaextractor.policy
PRODUCT_COPY_FILES += device/qcom/sdm660_64/whitelistedapps.xml:system/vendor/etc/whitelistedapps.xml \
device/qcom/sdm660_64/gamedwhitelist.xml:system/vendor/etc/gamedwhitelist.xml \
device/qcom/sdm660_64/appboosts.xml:system/vendor/etc/appboosts.xml
ifneq ($(TARGET_DISABLE_DASH), true)
PRODUCT_BOOT_JARS += qcmediaplayer
endif
# Power
PRODUCT_PACKAGES += \
android.hardware.power@1.0-service \
android.hardware.power@1.0-impl
$(call inherit-product, device/qcom/common/common64.mk)
PRODUCT_NAME := sdm660_64
PRODUCT_DEVICE := sdm660_64
PRODUCT_BRAND := Android
PRODUCT_MODEL := sdm660 for arm64
# default is nosdcard, S/W button enabled in resource
PRODUCT_CHARACTERISTICS := nosdcard
# When can normal compile this module, need module owner enable below commands
# font rendering engine feature switch
-include $(QCPATH)/common/config/rendering-engine.mk
ifneq (,$(strip $(wildcard $(PRODUCT_RENDERING_ENGINE_REVLIB))))
MULTI_LANG_ENGINE := REVERIE
# MULTI_LANG_ZAWGYI := REVERIE
endif
# Enable features in video HAL that can compile only on this platform
TARGET_USES_MEDIA_EXTENSIONS := false
# WLAN chipset
WLAN_CHIPSET := qca_cld3
#Android EGL implementation
PRODUCT_PACKAGES += libGLES_android
#PRODUCT_BOOT_JARS += tcmiface
#PRODUCT_BOOT_JARS += telephony-ext
PRODUCT_PACKAGES += telephony-ext
ifneq ($(strip $(QCPATH)),)
#PRODUCT_BOOT_JARS += WfdCommon
#Android oem shutdown hook
PRODUCT_BOOT_JARS += oem-services
endif
ifeq ($(strip $(BOARD_HAVE_QCOM_FM)),true)
PRODUCT_BOOT_JARS += qcom.fmradio
endif #BOARD_HAVE_QCOM_FM
# add vendor manifest file
PRODUCT_COPY_FILES += \
device/qcom/sdm660_64/vintf.xml:$(TARGET_COPY_OUT_VENDOR)/manifest.xml
# Audio configuration file
-include $(TOPDIR)hardware/qcom/audio/configs/sdm660/sdm660.mk
PRODUCT_PACKAGES += android.hardware.media.omx@1.0-impl
# Sensor HAL conf file
PRODUCT_COPY_FILES += \
device/qcom/sdm660_64/sensors/hals.conf:system/etc/sensors/hals.conf
# WLAN host driver
ifneq ($(WLAN_CHIPSET),)
PRODUCT_PACKAGES += $(WLAN_CHIPSET)_wlan.ko
endif
# WLAN driver configuration file
PRODUCT_COPY_FILES += \
device/qcom/sdm660_64/WCNSS_qcom_cfg.ini:system/etc/wifi/WCNSS_qcom_cfg.ini \
device/qcom/sdm660_64/wifi_concurrency_cfg.txt:system/etc/wifi/wifi_concurrency_cfg.txt
PRODUCT_PACKAGES += \
wpa_supplicant_overlay.conf \
p2p_supplicant_overlay.conf
#ANT+ stack
PRODUCT_PACKAGES += \
AntHalService \
libantradio \
antradio_app \
libvolumelistener
#Display/Graphics
PRODUCT_PACKAGES += \
android.hardware.graphics.allocator@2.0-impl \
android.hardware.graphics.allocator@2.0-service \
android.hardware.graphics.mapper@2.0-impl \
android.hardware.graphics.composer@2.1-impl \
android.hardware.graphics.composer@2.1-service \
android.hardware.memtrack@1.0-impl \
android.hardware.memtrack@1.0-service \
android.hardware.light@2.0-impl \
android.hardware.light@2.0-service \
android.hardware.configstore@1.0-service
# Camera configuration file. Shared by passthrough/binderized camera HAL
PRODUCT_PACKAGES += camera.device@3.2-impl
PRODUCT_PACKAGES += camera.device@1.0-impl
PRODUCT_PACKAGES += android.hardware.camera.provider@2.4-impl
# Enable binderized camera HAL
PRODUCT_PACKAGES += android.hardware.camera.provider@2.4-service
# Sensor features
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:system/etc/permissions/android.hardware.sensor.accelerometer.xml \
frameworks/native/data/etc/android.hardware.sensor.compass.xml:system/etc/permissions/android.hardware.sensor.compass.xml \
frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:system/etc/permissions/android.hardware.sensor.gyroscope.xml \
frameworks/native/data/etc/android.hardware.sensor.light.xml:system/etc/permissions/android.hardware.sensor.light.xml \
frameworks/native/data/etc/android.hardware.sensor.proximity.xml:system/etc/permissions/android.hardware.sensor.proximity.xml \
frameworks/native/data/etc/android.hardware.sensor.barometer.xml:system/etc/permissions/android.hardware.sensor.barometer.xml \
frameworks/native/data/etc/android.hardware.sensor.stepcounter.xml:system/etc/permissions/android.hardware.sensor.stepcounter.xml \
frameworks/native/data/etc/android.hardware.sensor.stepdetector.xml:system/etc/permissions/android.hardware.sensor.stepdetector.xml \
frameworks/native/data/etc/android.hardware.sensor.ambient_temperature.xml:system/etc/permissions/android.hardware.sensor.ambient_temperature.xml \
frameworks/native/data/etc/android.hardware.sensor.relative_humidity.xml:system/etc/permissions/android.hardware.sensor.relative_humidity.xml \
frameworks/native/data/etc/android.hardware.sensor.hifi_sensors.xml:system/etc/permissions/android.hardware.sensor.hifi_sensors.xml
# High performance VR feature
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.vr.high_performance.xml:system/etc/permissions/android.hardware.vr.high_performance.xml
# FBE support
PRODUCT_COPY_FILES += \
device/qcom/sdm660_64/init.qti.qseecomd.sh:system/bin/init.qti.qseecomd.sh
# MSM IRQ Balancer configuration file
PRODUCT_COPY_FILES += device/qcom/sdm660_64/msm_irqbalance.conf:system/vendor/etc/msm_irqbalance.conf
# dm-verity configuration
PRODUCT_SUPPORTS_VERITY := true
PRODUCT_SYSTEM_VERITY_PARTITION := /dev/block/bootdevice/by-name/system
ifeq ($(ENABLE_VENDOR_IMAGE), true)
PRODUCT_VENDOR_VERITY_PARTITION := /dev/block/bootdevice/by-name/vendor
endif
#for android_filesystem_config.h
PRODUCT_PACKAGES += \
fs_config_files
# Add the overlay path
#PRODUCT_PACKAGE_OVERLAYS := $(QCPATH)/qrdplus/Extension/res \
# $(QCPATH)/qrdplus/globalization/multi-language/res-overlay \
# $(PRODUCT_PACKAGE_OVERLAYS)
# Enable logdumpd service only for non-perf bootimage
ifeq ($(findstring perf,$(KERNEL_DEFCONFIG)),)
ifeq ($(TARGET_BUILD_VARIANT),user)
PRODUCT_DEFAULT_PROPERTY_OVERRIDES+= \
ro.logdumpd.enabled=0
else
PRODUCT_DEFAULT_PROPERTY_OVERRIDES+= \
ro.logdumpd.enabled=1
endif
else
PRODUCT_DEFAULT_PROPERTY_OVERRIDES+= \
ro.logdumpd.enabled=0
endif
#for wlan
PRODUCT_PACKAGES += \
wificond \
wifilogd
#A/B related packages
PRODUCT_PACKAGES += update_engine \
update_engine_client \
update_verifier \
bootctrl.sdm660 \
brillo_update_payload \
android.hardware.boot@1.0-impl \
android.hardware.boot@1.0-service
#Boot control HAL test app
PRODUCT_PACKAGES_DEBUG += bootctl
#Healthd packages
PRODUCT_PACKAGES += android.hardware.health@1.0-impl \
android.hardware.health@1.0-convert \
android.hardware.health@1.0-service \
libhealthd.msm
#FEATURE_OPENGLES_EXTENSION_PACK support string config file
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.opengles.aep.xml:system/etc/permissions/android.hardware.opengles.aep.xml
#Enable keymaster Impl HAL Compilation
PRODUCT_PACKAGES += android.hardware.keymaster@3.0-impl
|