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