1# 2# Copyright (C) 2021 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_BLUEJAY_VERSION) 21# Keeps flexibility for kasan and ufs builds 22TARGET_KERNEL_DIR ?= $(RELEASE_KERNEL_BLUEJAY_DIR) 23TARGET_BOARD_KERNEL_HEADERS ?= $(RELEASE_KERNEL_BLUEJAY_DIR)/kernel-headers 24 25$(call inherit-product-if-exists, vendor/google_devices/bluejay/prebuilts/device-vendor-bluejay.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/bluejay/proprietary/device-vendor.mk) 29$(call inherit-product-if-exists, vendor/google_devices/bluejay/proprietary/bluejay/device-vendor-bluejay.mk) 30$(call inherit-product-if-exists, vendor/google_devices/bluejay/proprietary/WallpapersBluejay.mk) 31 32DEVICE_PACKAGE_OVERLAYS += device/google/bluejay/bluejay/overlay 33 34include device/google/gs101/fingerprint/extension/fingerprint.extension.mk 35include device/google/bluejay-sepolicy/bluejay-sepolicy.mk 36include device/google/bluejay/audio/bluejay/audio-tables.mk 37include device/google/gs101/device-shipping-common.mk 38include device/google/gs101/telephony/pktrouter.mk 39include hardware/google/pixel/vibrator/cs40l26/device.mk 40include device/google/gs-common/bcmbt/bluetooth.mk 41include device/google/gs-common/touch/stm/stm11.mk 42 43# Fingerprint HAL 44GOODIX_CONFIG_BUILD_VERSION := g7_trusty 45$(call inherit-product-if-exists, vendor/goodix/udfps/configuration/udfps_common.mk) 46ifeq ($(filter factory%, $(TARGET_PRODUCT)),) 47$(call inherit-product-if-exists, vendor/goodix/udfps/configuration/udfps_shipping.mk) 48else 49$(call inherit-product-if-exists, vendor/goodix/udfps/configuration/udfps_factory.mk) 50endif 51 52# go/lyric-soong-variables 53$(call soong_config_set,lyric,camera_hardware,bluejay) 54$(call soong_config_set,lyric,tuning_product,bluejay) 55$(call soong_config_set,google3a_config,target_device,bluejay) 56 57# Init files 58PRODUCT_COPY_FILES += \ 59 device/google/bluejay/conf/init.blueport.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.blueport.rc \ 60 device/google/bluejay/conf/init.bluejay.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.bluejay.rc 61 62# Recovery files 63PRODUCT_COPY_FILES += \ 64 device/google/gs101/conf/init.recovery.device.rc:$(TARGET_COPY_OUT_RECOVERY)/root/init.recovery.bluejay.rc 65 66# insmod files 67PRODUCT_COPY_FILES += \ 68 device/google/bluejay/init.insmod.bluejay.cfg:$(TARGET_COPY_OUT_VENDOR)/etc/init.insmod.bluejay.cfg 69 70# Thermal Config 71PRODUCT_COPY_FILES += \ 72 device/google/bluejay/thermal_info_config_bluejay.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config.json \ 73 device/google/bluejay/thermal_info_config_charge_bluejay.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config_charge.json 74 75# Power HAL config 76PRODUCT_COPY_FILES += \ 77 device/google/bluejay/powerhint.json:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.json 78 79# Camera 80PRODUCT_COPY_FILES += \ 81 device/google/bluejay/media_profiles_bluejay.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_V1_0.xml 82 83PRODUCT_PROPERTY_OVERRIDES += \ 84 persist.vendor.camera.extended_launch_boost=1 \ 85 persist.vendor.camera.raise_buf_allocation_priority=1 \ 86 persist.vendor.camera.fixed_fps_range_boost=1 87 88# Display Config 89PRODUCT_COPY_FILES += \ 90 device/google/bluejay/display_colordata_dev_cal0.pb:$(TARGET_COPY_OUT_VENDOR)/etc/display_colordata_dev_cal0.pb \ 91 device/google/bluejay/display_golden_cal0.pb:$(TARGET_COPY_OUT_VENDOR)/etc/display_golden_cal0.pb 92 93# Media Performance Class 12 94PRODUCT_PROPERTY_OVERRIDES += ro.odm.build.media_performance_class=31 95 96# NFC 97PRODUCT_COPY_FILES += \ 98 frameworks/native/data/etc/android.hardware.nfc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.xml \ 99 frameworks/native/data/etc/android.hardware.nfc.hce.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hce.xml \ 100 frameworks/native/data/etc/android.hardware.nfc.hcef.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hcef.xml \ 101 frameworks/native/data/etc/com.nxp.mifare.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/com.nxp.mifare.xml \ 102 frameworks/native/data/etc/android.hardware.nfc.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.uicc.xml \ 103 frameworks/native/data/etc/android.hardware.nfc.ese.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.ese.xml \ 104 device/google/bluejay/nfc/libnfc-hal-st.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libnfc-hal-st.conf \ 105 device/google/bluejay/nfc/libnfc-hal-st-GB17L.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libnfc-hal-st-GB17L.conf \ 106 device/google/bluejay/nfc/libnfc-nci.conf:$(TARGET_COPY_OUT_PRODUCT)/etc/libnfc-nci.conf 107 108PRODUCT_PACKAGES += \ 109 $(RELEASE_PACKAGE_NFC_STACK) \ 110 Tag \ 111 android.hardware.nfc-service.st \ 112 NfcOverlayBluejay 113 114# SecureElement 115PRODUCT_PACKAGES += \ 116 android.hardware.secure_element@1.2-service-gto 117 118PRODUCT_COPY_FILES += \ 119 frameworks/native/data/etc/android.hardware.se.omapi.ese.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.ese.xml \ 120 frameworks/native/data/etc/android.hardware.se.omapi.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.uicc.xml \ 121 device/google/bluejay/nfc/libse-gto-hal.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libse-gto-hal.conf 122 123DEVICE_MANIFEST_FILE += \ 124 device/google/bluejay/nfc/manifest_se_bluejay.xml 125 126# PowerStats HAL 127PRODUCT_SOONG_NAMESPACES += \ 128 device/google/bluejay/powerstats/bluejay \ 129 device/google/bluejay 130 131# Increment the SVN for any official public releases 132ifdef RELEASE_SVN_BLUEJAY 133TARGET_SVN ?= $(RELEASE_SVN_BLUEJAY) 134else 135# Set this for older releases that don't use build flag 136TARGET_SVN ?= 64 137endif 138 139PRODUCT_VENDOR_PROPERTIES += \ 140 ro.vendor.build.svn=$(TARGET_SVN) 141 142# DCK properties based on target 143PRODUCT_PROPERTY_OVERRIDES += \ 144 ro.gms.dck.eligible_wcc=2 \ 145 ro.gms.dck.se_capability=1 146 147# Trusty liboemcrypto.so 148PRODUCT_SOONG_NAMESPACES += vendor/google_devices/bluejay/prebuilts 149 150# Display 151PRODUCT_DEFAULT_PROPERTY_OVERRIDES += vendor.display.lbe.supported=1 152PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.set_idle_timer_ms=0 153 154# Bluetooth Hal Extension test tools 155PRODUCT_PACKAGES_DEBUG += \ 156 sar_test \ 157 hci_inject 158 159# Config of primary display frames to reach LHBM peak brightness 160PRODUCT_DEFAULT_PROPERTY_OVERRIDES += vendor.primarydisplay.lhbm.frames_to_reach_peak_brightness=2 161 162# Bluetooth Tx power caps for bluejay 163PRODUCT_COPY_FILES += \ 164 device/google/bluejay/bluetooth_power_limits.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits.csv \ 165 device/google/bluejay/bluetooth_power_limits_GB17L_JP.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_JP.csv \ 166 device/google/bluejay/bluetooth_power_limits_GX7AS_CA.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_CA.csv \ 167 device/google/bluejay/bluetooth_power_limits_GB62Z_US.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_GB62Z_US.csv \ 168 device/google/bluejay/bluetooth_power_limits_GX7AS_US.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_GX7AS_US.csv \ 169 device/google/bluejay/bluetooth_power_limits_G1AZG_EU.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_G1AZG_EU.csv \ 170 device/google/bluejay/bluetooth_power_limits_GB62Z_EU.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_GB62Z_EU.csv 171 172# Bluetooth 173PRODUCT_PRODUCT_PROPERTIES += \ 174 persist.bluetooth.a2dp_aac.vbr_supported=true \ 175 persist.bluetooth.firmware.selection=BCM.hcd \ 176 bluetooth.server.automatic_turn_on=true 177 178# Set zram size 179PRODUCT_VENDOR_PROPERTIES += \ 180 vendor.zram.size=3g 181 182# Enable camera 1080P 60FPS binning mode 183PRODUCT_VENDOR_PROPERTIES += \ 184 persist.vendor.camera.1080P_60fps_binning=true 185 186# Enable camera exif model/make reporting 187PRODUCT_VENDOR_PROPERTIES += \ 188 persist.vendor.camera.exif_reveal_make_model=true 189 190# Disable rear light sensor probing explicitly 191PRODUCT_VENDOR_PROPERTIES += \ 192 persist.vendor.camera.rls_supported=false 193 194# Fingerprint antispoof property 195PRODUCT_PRODUCT_PROPERTIES +=\ 196 persist.vendor.fingerprint.disable.fake.override=none 197 198# Fingerprint als feed forward 199PRODUCT_VENDOR_PROPERTIES += \ 200 persist.vendor.udfps.als_feed_forward_supported=true \ 201 persist.vendor.udfps.lhbm_controlled_in_hal_supported=true 202 203# Fingerprint MAX auth latency 204PRODUCT_VENDOR_PROPERTIES += \ 205 vendor.gf.debug.timer.threshold=1,400,400,400,600,600,600 206 207# Hide cutout overlays 208PRODUCT_PACKAGES += \ 209 NoCutoutOverlay \ 210 AvoidAppsInCutoutOverlay 211 212# SKU specific RROs 213PRODUCT_PACKAGES += \ 214 SettingsOverlayGB17L \ 215 SettingsOverlayG1AZG \ 216 SettingsOverlayGB62Z \ 217 SettingsOverlayGX7AS 218 219# Set support hide display cutout feature 220PRODUCT_PRODUCT_PROPERTIES += \ 221 ro.support_hide_display_cutout=true 222 223# Set support one-handed mode 224PRODUCT_PRODUCT_PROPERTIES += \ 225 ro.support_one_handed_mode=true 226 227# GPS xml 228ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) 229 PRODUCT_COPY_FILES += \ 230 device/google/bluejay/gps.xml.b3:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/gps.xml 231else 232 PRODUCT_COPY_FILES += \ 233 device/google/bluejay/gps_user.xml.b3:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/gps.xml 234endif 235 236# This device is shipped with 32 (Android S V2) 237PRODUCT_SHIPPING_API_LEVEL := 32 238 239# Vibrator HAL 240$(call soong_config_set,haptics,kernel_ver,v$(subst .,_,$(TARGET_LINUX_KERNEL_VERSION))) 241ADAPTIVE_HAPTICS_FEATURE := adaptive_haptics_v1 242PRODUCT_VENDOR_PROPERTIES += \ 243 ro.vendor.vibrator.hal.supported_primitives=243 \ 244 ro.vendor.vibrator.hal.f0.comp.enabled=0 \ 245 ro.vendor.vibrator.hal.redc.comp.enabled=0 \ 246 persist.vendor.vibrator.hal.context.enable=false \ 247 persist.vendor.vibrator.hal.context.scale=40 \ 248 persist.vendor.vibrator.hal.context.fade=true \ 249 persist.vendor.vibrator.hal.context.cooldowntime=1600 \ 250 persist.vendor.vibrator.hal.context.settlingtime=5000 251 252# Device features 253PRODUCT_COPY_FILES += \ 254 frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml 255 256# Keyboard bottom padding in dp for portrait mode and height ratio 257PRODUCT_PRODUCT_PROPERTIES += \ 258 ro.com.google.ime.kb_pad_port_b=6.4 \ 259 260PRODUCT_PRODUCT_PROPERTIES ?= \ 261 ro.com.google.ime.height_ratio=1.05 262 263# UFS: the script is used to select the corresponding firmware to run FFU. 264PRODUCT_PACKAGES += ufs_firmware_update.sh 265 266# Enable DeviceAsWebcam support 267PRODUCT_VENDOR_PROPERTIES += \ 268 ro.usb.uvc.enabled=true 269 270# Quick Start device-specific settings 271PRODUCT_PRODUCT_PROPERTIES += \ 272 ro.quick_start.oem_id=00e0 \ 273 ro.quick_start.device_id=bluejay 274 275# Disable AVF Remote Attestation 276PRODUCT_AVF_REMOTE_ATTESTATION_DISABLED := true 277