1#
2# Copyright (C) 2020 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# Restrict the visibility of Android.bp files to improve build analysis time
18$(call inherit-product-if-exists, vendor/google/products/sources_pixel.mk)
19
20TARGET_LINUX_KERNEL_VERSION := $(RELEASE_KERNEL_ORIOLE_VERSION)
21# Keeps flexibility for kasan and ufs builds
22TARGET_KERNEL_DIR ?= $(RELEASE_KERNEL_ORIOLE_DIR)
23TARGET_BOARD_KERNEL_HEADERS ?= $(RELEASE_KERNEL_ORIOLE_DIR)/kernel-headers
24
25$(call inherit-product-if-exists, vendor/google_devices/raviole/prebuilts/device-vendor-oriole.mk)
26$(call inherit-product-if-exists, vendor/google_devices/gs101/prebuilts/device-vendor.mk)
27$(call inherit-product-if-exists, vendor/google_devices/gs101/proprietary/device-vendor.mk)
28$(call inherit-product-if-exists, vendor/google_devices/oriole/proprietary/device-vendor.mk)
29$(call inherit-product-if-exists, vendor/google_devices/raviole/proprietary/oriole/device-vendor-oriole.mk)
30$(call inherit-product-if-exists, vendor/google/camera/devices/raviole/oriole/device-vendor.mk)
31$(call inherit-product-if-exists, vendor/google_devices/raviole/proprietary/WallpapersOriole.mk)
32
33DEVICE_PACKAGE_OVERLAYS += device/google/raviole/oriole/overlay
34
35include device/google/raviole/audio/oriole/audio-tables.mk
36include device/google/gs101/device-shipping-common.mk
37include device/google/gs101/telephony/pktrouter.mk
38include hardware/google/pixel/vibrator/cs40l25/device.mk
39include device/google/gs-common/bcmbt/bluetooth.mk
40include device/google/gs-common/touch/stm/stm11.mk
41
42# Fingerprint HAL
43GOODIX_CONFIG_BUILD_VERSION := g6_trusty
44$(call inherit-product-if-exists, vendor/goodix/udfps/configuration/udfps_common.mk)
45ifeq ($(filter factory%, $(TARGET_PRODUCT)),)
46$(call inherit-product-if-exists, vendor/goodix/udfps/configuration/udfps_shipping.mk)
47else
48$(call inherit-product-if-exists, vendor/goodix/udfps/configuration/udfps_factory.mk)
49endif
50
51# go/lyric-soong-variables
52$(call soong_config_set,lyric,camera_hardware,oriole)
53$(call soong_config_set,lyric,tuning_product,oriole)
54$(call soong_config_set,google3a_config,target_device,oriole)
55
56# Init files
57PRODUCT_COPY_FILES += \
58	device/google/raviole/conf/init.raviole.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.raviole.rc \
59	device/google/raviole/conf/init.oriole.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.oriole.rc
60
61# Recovery files
62PRODUCT_COPY_FILES += \
63	device/google/gs101/conf/init.recovery.device.rc:$(TARGET_COPY_OUT_RECOVERY)/root/init.recovery.oriole.rc
64
65# insmod files
66PRODUCT_COPY_FILES += \
67	device/google/raviole/init.insmod.oriole.cfg:$(TARGET_COPY_OUT_VENDOR)/etc/init.insmod.oriole.cfg
68
69# Thermal Config
70PRODUCT_COPY_FILES += \
71	device/google/raviole/thermal_info_config_oriole.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config.json \
72	device/google/raviole/thermal_info_config_charge_oriole.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config_charge.json \
73	device/google/raviole/thermal_info_config_oriole_WHI_A.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config_WHI_A.json
74
75# Power HAL config
76PRODUCT_COPY_FILES += \
77	device/google/raviole/powerhint-oriole.json:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.json \
78	device/google/raviole/powerhint-oriole-mainline.json:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint-mainline.json \
79
80# Bluetooth sepolicy
81include device/google/gs101-sepolicy/oriole-sepolicy.mk
82
83# Bluetooth
84PRODUCT_PRODUCT_PROPERTIES += \
85    persist.bluetooth.a2dp_aac.vbr_supported=true \
86    persist.bluetooth.firmware.selection=BCM.hcd
87
88# Bluetooth Tx power caps for oriole
89PRODUCT_COPY_FILES += \
90    device/google/raviole/bluetooth_power_limits_oriole.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits.csv \
91    device/google/raviole/bluetooth_power_limits_oriole_jp.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_JP.csv \
92    device/google/raviole/bluetooth_power_limits_G9S9B_US.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_G9S9B_US.csv \
93    device/google/raviole/bluetooth_power_limits_GB7N6_US.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_GB7N6_US.csv \
94    device/google/raviole/bluetooth_power_limits_G9S9B_EU.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_G9S9B_EU.csv \
95    device/google/raviole/bluetooth_power_limits_GB7N6_EU.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_GB7N6_EU.csv
96
97
98# Bluetooth Hal Extension test tools
99PRODUCT_PACKAGES_DEBUG += \
100    sar_test \
101    hci_inject
102
103# userdebug specific
104ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
105# Bluetooth LE Audio Hardware offload
106PRODUCT_PRODUCT_PROPERTIES += \
107    ro.bluetooth.leaudio_offload.supported=true \
108    persist.bluetooth.leaudio_offload.disabled=true \
109    persist.bluetooth.le_audio_test=false
110endif
111
112# Bluetooth HAL
113PRODUCT_COPY_FILES += \
114	device/google/raviole/bluetooth/bt_vendor_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth/bt_vendor_overlay.conf
115
116# MIPI Coex Configs
117PRODUCT_COPY_FILES += \
118    device/google/raviole/radio/oriole_display_mipi_coex_table.csv:$(TARGET_COPY_OUT_VENDOR)/etc/modem/display_primary_mipi_coex_table.csv \
119    device/google/raviole/radio/oriole_camera_front_mipi_coex_table.csv:$(TARGET_COPY_OUT_VENDOR)/etc/modem/camera_front_mipi_coex_table.csv \
120    device/google/raviole/radio/oriole_camera_rear_wide_mipi_coex_table.csv:$(TARGET_COPY_OUT_VENDOR)/etc/modem/camera_rear_wide_mipi_coex_table.csv
121
122# Camera
123PRODUCT_COPY_FILES += \
124	device/google/raviole/media_profiles_oriole.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_V1_0.xml
125
126PRODUCT_PROPERTY_OVERRIDES += \
127    persist.vendor.camera.fixed_fps_range_boost=1
128
129# Display Config
130PRODUCT_COPY_FILES += \
131	device/google/raviole/oriole/display_golden_cal0.pb:$(TARGET_COPY_OUT_VENDOR)/etc/display_golden_cal0.pb \
132	device/google/raviole/oriole/display_colordata_dev_cal0.pb:$(TARGET_COPY_OUT_VENDOR)/etc/display_colordata_dev_cal0.pb
133
134# NFC
135PRODUCT_COPY_FILES += \
136	frameworks/native/data/etc/android.hardware.nfc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.xml \
137	frameworks/native/data/etc/android.hardware.nfc.hce.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hce.xml \
138	frameworks/native/data/etc/android.hardware.nfc.hcef.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hcef.xml \
139	frameworks/native/data/etc/com.nxp.mifare.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/com.nxp.mifare.xml \
140	frameworks/native/data/etc/android.hardware.nfc.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.uicc.xml \
141	frameworks/native/data/etc/android.hardware.nfc.ese.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.ese.xml \
142	device/google/raviole/nfc/libnfc-hal-st.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libnfc-hal-st.conf \
143	device/google/raviole/nfc/libnfc-nci.conf:$(TARGET_COPY_OUT_PRODUCT)/etc/libnfc-nci.conf
144
145PRODUCT_PACKAGES += \
146	$(RELEASE_PACKAGE_NFC_STACK) \
147	Tag \
148	android.hardware.nfc-service.st \
149	NfcOverlayOriole
150
151# SecureElement
152PRODUCT_PACKAGES += \
153	android.hardware.secure_element@1.2-service-gto \
154	android.hardware.secure_element@1.2-service-gto-ese2
155
156PRODUCT_COPY_FILES += \
157	frameworks/native/data/etc/android.hardware.se.omapi.ese.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.ese.xml \
158	frameworks/native/data/etc/android.hardware.se.omapi.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.uicc.xml \
159	device/google/raviole/nfc/libse-gto-hal.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libse-gto-hal.conf \
160	device/google/raviole/nfc/libse-gto-hal2.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libse-gto-hal2.conf
161
162DEVICE_MANIFEST_FILE += \
163	device/google/raviole/nfc/manifest_se.xml
164
165# Vibrator HAL
166PRODUCT_PRODUCT_PROPERTIES +=\
167    ro.vendor.vibrator.hal.long.frequency.shift=15 \
168    ro.vendor.vibrator.hal.device.mass=0.205 \
169    ro.vendor.vibrator.hal.loc.coeff=2.25 \
170    persist.vendor.vibrator.hal.chirp.enabled=0
171
172ACTUATOR_MODEL := luxshare_ict_081545
173
174# PowerStats HAL
175PRODUCT_SOONG_NAMESPACES += \
176    device/google/raviole/powerstats/oriole \
177    device/google/raviole
178
179# Keyboard bottom padding in dp for portrait mode
180PRODUCT_PRODUCT_PROPERTIES += ro.com.google.ime.kb_pad_port_b=10
181
182# Display
183PRODUCT_DEFAULT_PROPERTY_OVERRIDES += vendor.display.lbe.supported=1
184PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.set_idle_timer_ms=1500
185
186# Media Performance Class 12
187PRODUCT_PROPERTY_OVERRIDES += ro.odm.build.media_performance_class=31
188
189# userdebug specific
190ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
191    PRODUCT_COPY_FILES += \
192        device/google/gs101/init.hardware.wlc.rc.userdebug:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.wlc.rc
193endif
194
195# Increment the SVN for any official public releases
196ifdef RELEASE_SVN_ORIOLE
197TARGET_SVN ?= $(RELEASE_SVN_ORIOLE)
198else
199# Set this for older releases that don't use build flag
200TARGET_SVN ?= 85
201endif
202
203PRODUCT_VENDOR_PROPERTIES += \
204    ro.vendor.build.svn=$(TARGET_SVN)
205
206# Set support hide display cutout feature
207PRODUCT_PRODUCT_PROPERTIES += \
208    ro.support_hide_display_cutout=true
209
210# Hide cutout overlays
211PRODUCT_PACKAGES += \
212    NoCutoutOverlay \
213    AvoidAppsInCutoutOverlay
214
215# Android DeviceAsWebcam specific overlay
216PRODUCT_PACKAGES += \
217    DeviceAsWebcamOriole
218
219# SKU specific RROs
220PRODUCT_PACKAGES += \
221    SettingsOverlayGR1YH \
222    SettingsOverlayGB7N6 \
223    SettingsOverlayG9S9B
224
225# Fingerprint antispoof property
226PRODUCT_PRODUCT_PROPERTIES +=\
227    persist.vendor.fingerprint.disable.fake.override=none
228
229# Fingerprint HAL
230PRODUCT_VENDOR_PROPERTIES += \
231    persist.vendor.udfps.lhbm_controlled_in_hal_supported=true \
232    persist.vendor.udfps.als_feed_forward_supported=true
233
234
235# DCK properties based on target
236PRODUCT_PROPERTY_OVERRIDES += \
237    ro.gms.dck.eligible_wcc=2 \
238    ro.gms.dck.se_capability=1
239
240# Trusty liboemcrypto.so
241PRODUCT_SOONG_NAMESPACES += vendor/google_devices/raviole/prebuilts
242
243# Set support one-handed mode
244PRODUCT_PRODUCT_PROPERTIES += \
245    ro.support_one_handed_mode=true
246
247# Enable camera exif model/make reporting
248PRODUCT_VENDOR_PROPERTIES += \
249    persist.vendor.camera.exif_reveal_make_model=true
250
251# tetheroffload HAL
252PRODUCT_PACKAGES += \
253	vendor.samsung_slsi.hardware.tetheroffload@1.1-service
254
255# Override default distortion output gain according to UX experiments
256PRODUCT_PRODUCT_PROPERTIES += \
257    vendor.audio.hapticgenerator.distortion.output.gain=0.5
258
259# RKPD
260PRODUCT_PRODUCT_PROPERTIES += \
261    remote_provisioning.hostname=remoteprovisioning.googleapis.com \
262
263# Set zram size
264PRODUCT_VENDOR_PROPERTIES += \
265    vendor.zram.size=3g
266
267# This device is shipped with 31 (Android S)
268PRODUCT_SHIPPING_API_LEVEL := 31
269
270# declare use of spatial audio
271PRODUCT_PROPERTY_OVERRIDES += \
272    ro.audio.spatializer_enabled=true
273
274# optimize spatializer effect
275PRODUCT_PROPERTY_OVERRIDES += \
276    audio.spatializer.effect.util_clamp_min=300
277
278PRODUCT_PACKAGES += \
279	libspatialaudio
280
281# Device features
282PRODUCT_COPY_FILES += \
283    frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml
284
285# Bluetooth OPUS codec
286PRODUCT_PRODUCT_PROPERTIES += \
287    persist.bluetooth.opus.enabled=true
288
289# Location
290ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
291        PRODUCT_COPY_FILES += \
292		device/google/raviole/location/gps.xml.oriole:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/gps.xml
293else
294        PRODUCT_COPY_FILES += \
295		device/google/raviole/location/gps_user.xml.oriole:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/gps.xml
296endif
297
298# Enable DeviceAsWebcam support
299PRODUCT_VENDOR_PROPERTIES += \
300    ro.usb.uvc.enabled=true
301
302# Quick Start device-specific settings
303PRODUCT_PRODUCT_PROPERTIES += \
304    ro.quick_start.oem_id=00e0 \
305    ro.quick_start.device_id=oriole
306
307# Disable AVF Remote Attestation
308PRODUCT_AVF_REMOTE_ATTESTATION_DISABLED := true
309