• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
17TARGET_KERNEL_DIR ?= device/google/shusky-kernel
18TARGET_BOARD_KERNEL_HEADERS := device/google/shusky-kernel/kernel-headers
19
20LOCAL_PATH := device/google/shusky
21
22ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
23    USE_UWBFIELDTESTQM := true
24endif
25
26$(call inherit-product-if-exists, vendor/google_devices/shusky/prebuilts/device-vendor-husky.mk)
27$(call inherit-product-if-exists, vendor/google_devices/zuma/prebuilts/device-vendor.mk)
28$(call inherit-product-if-exists, vendor/google_devices/zuma/proprietary/device-vendor.mk)
29$(call inherit-product-if-exists, vendor/google_devices/shusky/proprietary/husky/device-vendor-husky.mk)
30$(call inherit-product-if-exists, vendor/google_devices/husky/proprietary/device-vendor.mk)
31$(call inherit-product-if-exists, vendor/qorvo/uwb/qm35-hal/Device.mk)
32$(call inherit-product-if-exists, vendor/google_devices/shusky/proprietary/WallpapersHusky.mk)
33
34# display
35DEVICE_PACKAGE_OVERLAYS += device/google/shusky/husky/overlay
36PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.ignore_hdr_camera_layers=true
37
38PRODUCT_COPY_FILES += \
39	device/google/shusky/husky/display_colordata_dev_cal0.pb:$(TARGET_COPY_OUT_VENDOR)/etc/display_colordata_dev_cal0.pb \
40    device/google/shusky/husky/display_golden_google-hk3_cal0.pb:$(TARGET_COPY_OUT_VENDOR)/etc/display_golden_google-hk3_cal0.pb
41
42include device/google/shusky/audio/husky/audio-tables.mk
43include device/google/zuma/device-shipping-common.mk
44include hardware/google/pixel/vibrator/cs40l26/device.mk
45include device/google/gs-common/bcmbt/bluetooth.mk
46include device/google/gs-common/touch/stm/stm20.mk
47include device/google/gs-common/touch/gti/gti.mk
48include device/google/gs-common/touch/touchinspector/touchinspector.mk
49
50# go/lyric-soong-variables
51$(call soong_config_set,lyric,camera_hardware,husky)
52$(call soong_config_set,lyric,tuning_product,husky)
53$(call soong_config_set,google3a_config,target_device,husky)
54
55# Init files
56PRODUCT_COPY_FILES += \
57	device/google/shusky/conf/init.husky.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.husky.rc
58
59# Recovery files
60PRODUCT_COPY_FILES += \
61        device/google/shusky/conf/init.recovery.device.rc:$(TARGET_COPY_OUT_RECOVERY)/root/init.recovery.husky.rc
62
63# MIPI Coex Configs
64PRODUCT_COPY_FILES += \
65        device/google/shusky/husky/radio/husky_camera_front_dbr_coex_table.csv:$(TARGET_COPY_OUT_VENDOR)/etc/modem/camera_front_dbr_coex_table.csv \
66        device/google/shusky/husky/radio/husky_camera_front_mipi_coex_table.csv:$(TARGET_COPY_OUT_VENDOR)/etc/modem/camera_front_mipi_coex_table.csv \
67        device/google/shusky/husky/radio/husky_camera_rear_tele_mipi_coex_table.csv:$(TARGET_COPY_OUT_VENDOR)/etc/modem/camera_rear_tele_mipi_coex_table.csv \
68        device/google/shusky/husky/radio/husky_display_primary_mipi_coex_table.csv:$(TARGET_COPY_OUT_VENDOR)/etc/modem/display_primary_mipi_coex_table.csv
69
70# Camera
71PRODUCT_COPY_FILES += \
72	device/google/shusky/media_profiles_husky.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_V1_0.xml
73
74# NFC
75PRODUCT_COPY_FILES += \
76	frameworks/native/data/etc/android.hardware.nfc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.xml \
77	frameworks/native/data/etc/android.hardware.nfc.hce.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hce.xml \
78	frameworks/native/data/etc/android.hardware.nfc.hcef.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hcef.xml \
79	frameworks/native/data/etc/com.nxp.mifare.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/com.nxp.mifare.xml \
80	frameworks/native/data/etc/android.hardware.nfc.ese.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.ese.xml \
81	device/google/shusky/nfc/libnfc-hal-st.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libnfc-hal-st.conf \
82	device/google/shusky/nfc/libnfc-nci.conf:$(TARGET_COPY_OUT_PRODUCT)/etc/libnfc-nci.conf
83
84PRODUCT_PACKAGES += \
85	NfcNci \
86	Tag \
87	android.hardware.nfc-service.st
88
89# SecureElement
90PRODUCT_PACKAGES += \
91	android.hardware.secure_element-service.thales
92
93PRODUCT_COPY_FILES += \
94	frameworks/native/data/etc/android.hardware.se.omapi.ese.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.ese.xml \
95	frameworks/native/data/etc/android.hardware.se.omapi.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.uicc.xml \
96	device/google/shusky/nfc/libse-gto-hal.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libse-gto-hal.conf
97
98# Bluetooth HAL
99PRODUCT_COPY_FILES += \
100	device/google/shusky/bluetooth/bt_vendor_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth/bt_vendor_overlay.conf
101PRODUCT_PROPERTY_OVERRIDES += \
102    ro.bluetooth.a2dp_offload.supported=true \
103    persist.bluetooth.a2dp_offload.disabled=false \
104    persist.bluetooth.a2dp_offload.cap=sbc-aac-aptx-aptxhd-ldac-opus
105
106# Bluetooth Tx power caps
107PRODUCT_COPY_FILES += \
108    $(LOCAL_PATH)/bluetooth/bluetooth_power_limits_husky.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits.csv \
109    $(LOCAL_PATH)/bluetooth/bluetooth_power_limits_husky_CA.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_CA.csv \
110    $(LOCAL_PATH)/bluetooth/bluetooth_power_limits_husky_EU.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_EU.csv \
111    $(LOCAL_PATH)/bluetooth/bluetooth_power_limits_husky_JP.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_JP.csv \
112    $(LOCAL_PATH)/bluetooth/bluetooth_power_limits_husky_US.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_US.csv \
113    $(LOCAL_PATH)/bluetooth/bluetooth_power_limits_husky_GC3VE_EU.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_GC3VE_EU.csv
114
115# POF
116PRODUCT_PRODUCT_PROPERTIES += \
117    ro.bluetooth.finder.supported=true
118
119# Spatial Audio
120PRODUCT_PACKAGES += \
121	libspatialaudio
122
123# declare use of spatial audio
124PRODUCT_PROPERTY_OVERRIDES += \
125       ro.audio.spatializer_enabled=true
126
127# Audio CCA property
128PRODUCT_PROPERTY_OVERRIDES += \
129	persist.vendor.audio.cca.enabled=false
130
131# DCK properties based on target
132PRODUCT_PROPERTY_OVERRIDES += \
133    ro.gms.dck.eligible_wcc=3 \
134    ro.gms.dck.se_capability=1
135
136# Bluetooth hci_inject test tool
137PRODUCT_PACKAGES_DEBUG += \
138    hci_inject
139
140# Bluetooth OPUS codec
141PRODUCT_PRODUCT_PROPERTIES += \
142    persist.bluetooth.opus.enabled=true
143
144# Bluetooth SAR test tool
145PRODUCT_PACKAGES_DEBUG += \
146    sar_test
147
148# Bluetooth EWP test tool
149PRODUCT_PACKAGES_DEBUG += \
150    ewp_tool
151
152# Bluetooth AAC VBR
153PRODUCT_PRODUCT_PROPERTIES += \
154    persist.bluetooth.a2dp_aac.vbr_supported=true
155
156# Override BQR mask to enable LE Audio Choppy report, remove BTRT logging
157ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
158PRODUCT_PRODUCT_PROPERTIES += \
159    persist.bluetooth.bqr.event_mask=295006 \
160    persist.bluetooth.bqr.vnd_quality_mask=29 \
161    persist.bluetooth.bqr.vnd_trace_mask=0 \
162    persist.bluetooth.vendor.btsnoop=true
163else
164PRODUCT_PRODUCT_PROPERTIES += \
165    persist.bluetooth.bqr.event_mask=295006 \
166    persist.bluetooth.bqr.vnd_quality_mask=16 \
167    persist.bluetooth.bqr.vnd_trace_mask=0 \
168    persist.bluetooth.vendor.btsnoop=false
169endif
170
171# Spatial Audio
172PRODUCT_PACKAGES += \
173	libspatialaudio \
174	librondo
175
176# Bluetooth Super Wide Band
177PRODUCT_PRODUCT_PROPERTIES += \
178	bluetooth.hfp.swb.supported=true
179
180# Bluetooth LE Audio
181PRODUCT_PRODUCT_PROPERTIES += \
182	ro.bluetooth.leaudio_switcher.supported=true \
183	bluetooth.profile.bap.unicast.client.enabled=true \
184	bluetooth.profile.csip.set_coordinator.enabled=true \
185	bluetooth.profile.hap.client.enabled=true \
186	bluetooth.profile.mcp.server.enabled=true \
187	bluetooth.profile.ccp.server.enabled=true \
188	bluetooth.profile.vcp.controller.enabled=true
189
190# Bluetooth LE Audio enable hardware offloading
191PRODUCT_PRODUCT_PROPERTIES += \
192	ro.bluetooth.leaudio_offload.supported=true \
193	persist.bluetooth.leaudio_offload.disabled=false
194
195# Bluetooth LE Auido offload capabilities setting
196PRODUCT_COPY_FILES += \
197	device/google/shusky/bluetooth/le_audio_codec_capabilities.xml:$(TARGET_COPY_OUT_VENDOR)/etc/le_audio_codec_capabilities.xml
198
199# Bluetooth LE Audio CIS handover to SCO
200# Set the property only for the controller couldn't support CIS/SCO simultaneously. More detailed in b/242908683.
201PRODUCT_PRODUCT_PROPERTIES += \
202	persist.bluetooth.leaudio.notify.idle.during.call=true
203
204# Not support LE Audio dual mic SWB call based on the current launch strategy
205PRODUCT_PRODUCT_PROPERTIES += \
206    bluetooth.leaudio.dual_bidirection_swb.supported=false
207
208# Support One-Handed mode
209PRODUCT_PRODUCT_PROPERTIES += \
210    ro.support_one_handed_mode=true
211
212# Keymaster HAL
213#LOCAL_KEYMASTER_PRODUCT_PACKAGE ?= android.hardware.keymaster@4.1-service
214
215# Gatekeeper HAL
216#LOCAL_GATEKEEPER_PRODUCT_PACKAGE ?= android.hardware.gatekeeper@1.0-service.software
217
218
219# Gatekeeper
220# PRODUCT_PACKAGES += \
221# 	android.hardware.gatekeeper@1.0-service.software
222
223# Keymint replaces Keymaster
224# PRODUCT_PACKAGES += \
225# 	android.hardware.security.keymint-service
226
227# Keymaster
228#PRODUCT_PACKAGES += \
229#	android.hardware.keymaster@4.0-impl \
230#	android.hardware.keymaster@4.0-service
231
232#PRODUCT_PACKAGES += android.hardware.keymaster@4.0-service.remote
233#PRODUCT_PACKAGES += android.hardware.keymaster@4.1-service.remote
234#LOCAL_KEYMASTER_PRODUCT_PACKAGE := android.hardware.keymaster@4.1-service
235#LOCAL_KEYMASTER_PRODUCT_PACKAGE ?= android.hardware.keymaster@4.1-service
236
237# PRODUCT_PROPERTY_OVERRIDES += \
238# 	ro.hardware.keystore_desede=true \
239# 	ro.hardware.keystore=software \
240# 	ro.hardware.gatekeeper=software
241
242# PowerStats HAL
243PRODUCT_SOONG_NAMESPACES += \
244    device/google/shusky/powerstats/husky \
245    device/google/shusky
246
247# WiFi Overlay
248PRODUCT_PACKAGES += \
249	UwbOverlayHK3 \
250	WifiOverlay2023 \
251	PixelWifiOverlay2023
252
253# Trusty liboemcrypto.so
254PRODUCT_SOONG_NAMESPACES += vendor/google_devices/shusky/prebuilts
255
256# Location
257# SDK build system
258include device/google/gs-common/gps/brcm/device.mk
259
260PRODUCT_COPY_FILES += \
261       device/google/shusky/location/gps.cer:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/gps.cer
262
263ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
264        PRODUCT_COPY_FILES += \
265            device/google/shusky/location/lhd.conf:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/lhd.conf \
266            device/google/shusky/location/scd.conf:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/scd.conf \
267            device/google/shusky/location/gps.xml.hk3:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/gps.xml
268else
269        PRODUCT_COPY_FILES += \
270            device/google/shusky/location/lhd_user.conf:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/lhd.conf \
271            device/google/shusky/location/scd_user.conf:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/scd.conf \
272            device/google/shusky/location/gps_user.xml.hk3:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/gps.xml
273endif
274
275# Set zram size
276PRODUCT_VENDOR_PROPERTIES += \
277	vendor.zram.size=50p \
278	persist.device_config.configuration.disable_rescue_party=true
279
280# Fingerprint HAL
281GOODIX_CONFIG_BUILD_VERSION := g7_trusty
282include device/google/gs101/fingerprint/udfps_common.mk
283ifeq ($(filter factory%, $(TARGET_PRODUCT)),)
284include device/google/gs101/fingerprint/udfps_shipping.mk
285else
286include device/google/gs101/fingerprint/udfps_factory.mk
287endif
288
289PRODUCT_VENDOR_PROPERTIES += \
290    persist.vendor.udfps.als_feed_forward_supported=true \
291    persist.vendor.udfps.lhbm_controlled_in_hal_supported=true
292
293# Fingerprint exposure compensation
294PRODUCT_VENDOR_PROPERTIES += \
295    persist.vendor.udfps.auto_exposure_compensation_supported=true
296
297# Camera Vendor property
298PRODUCT_VENDOR_PROPERTIES += \
299    persist.vendor.camera.front_720P_always_binning=true
300
301# Media Performance Class 14
302PRODUCT_PRODUCT_PROPERTIES += ro.odm.build.media_performance_class=33
303
304# config of display brightness dimming
305PRODUCT_DEFAULT_PROPERTY_OVERRIDES += vendor.display.0.brightness.dimming.usage?=1
306PRODUCT_VENDOR_PROPERTIES += \
307    vendor.primarydisplay.op.hs_hz=120 \
308    vendor.primarydisplay.op.ns_hz=60 \
309    vendor.primarydisplay.op.ns_min_dbv=1172
310
311# kernel idle timer for display driver
312PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.support_kernel_idle_timer=true
313
314# lhbm peak brightness delay: decided by kernel
315PRODUCT_DEFAULT_PROPERTY_OVERRIDES += vendor.primarydisplay.lhbm.frames_to_reach_peak_brightness=0
316
317# Display LBE
318PRODUCT_DEFAULT_PROPERTY_OVERRIDES += vendor.display.lbe.supported=1
319
320# blocking zone for min idle refresh rate
321PRODUCT_VENDOR_PROPERTIES += \
322    vendor.primarydisplay.min_idle_refresh_rate.default=1 \
323    vendor.primarydisplay.min_idle_refresh_rate.blocking_zone=10 \
324    vendor.primarydisplay.min_idle_refresh_rate.blocking_zone_dbv=492
325
326# Display ACL
327PRODUCT_DEFAULT_PROPERTY_OVERRIDES += vendor.display.0.brightness.acl.default=0
328
329# display color data
330PRODUCT_COPY_FILES += \
331	device/google/shusky/husky/panel_config_google-hk3_cal0.pb:$(TARGET_COPY_OUT_VENDOR)/etc/panel_config_google-hk3_cal0.pb
332
333# Vibrator HAL
334ACTUATOR_MODEL := luxshare_ict_081545
335ADAPTIVE_HAPTICS_FEATURE := adaptive_haptics_v1
336PRODUCT_VENDOR_PROPERTIES += \
337    ro.vendor.vibrator.hal.chirp.enabled=0 \
338    ro.vendor.vibrator.hal.device.mass=0.222 \
339    ro.vendor.vibrator.hal.loc.coeff=2.8 \
340    persist.vendor.vibrator.hal.context.enable=false \
341    persist.vendor.vibrator.hal.context.scale=60 \
342    persist.vendor.vibrator.hal.context.fade=true \
343    persist.vendor.vibrator.hal.context.cooldowntime=1600 \
344    persist.vendor.vibrator.hal.context.settlingtime=5000 \
345    ro.vendor.vibrator.hal.dbc.enable=true \
346    ro.vendor.vibrator.hal.dbc.envrelcoef=8353728 \
347    ro.vendor.vibrator.hal.dbc.riseheadroom=1909602 \
348    ro.vendor.vibrator.hal.dbc.fallheadroom=1909602 \
349    ro.vendor.vibrator.hal.dbc.txlvlthreshfs=2516583 \
350    ro.vendor.vibrator.hal.dbc.txlvlholdoffms=0 \
351    ro.vendor.vibrator.hal.pm.activetimeout=5
352
353# Increment the SVN for any official public releases
354PRODUCT_VENDOR_PROPERTIES += \
355    ro.vendor.build.svn=11
356
357# WLC userdebug specific
358ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
359    PRODUCT_COPY_FILES += \
360        device/google/zuma/init.hardware.wlc.rc.userdebug:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.wlc.rc
361endif
362
363# Setup Wizard device-specific settings
364PRODUCT_PRODUCT_PROPERTIES += \
365    setupwizard.feature.enable_quick_start_flow=true \
366
367# Quick Start device-specific settings
368PRODUCT_PRODUCT_PROPERTIES += \
369    ro.quick_start.oem_id=00e0 \
370    ro.quick_start.device_id=husky
371
372# PKVM Memory Reclaim
373PRODUCT_VENDOR_PROPERTIES += \
374    hypervisor.memory_reclaim.supported=1
375
376# P23 Devices no longer need rlsservice
377PRODUCT_VENDOR_PROPERTIES += \
378    persist.vendor.camera.rls_supported=false
379
380# Settings Overlay
381PRODUCT_PACKAGES += \
382    SettingsHuskyOverlay
383
384# Display RRS default Config
385PRODUCT_DEFAULT_PROPERTY_OVERRIDES += persist.vendor.display.primary.boot_config=1008x2244@120
386# TODO: b/250788756 - the property will be phased out after HWC loads user-preferred mode
387PRODUCT_DEFAULT_PROPERTY_OVERRIDES += vendor.display.preferred_mode=1008x2244@120
388
389# Window Extensions
390$(call inherit-product, $(SRC_TARGET_DIR)/product/window_extensions.mk)
391
392# Disable Settings large-screen optimization enabled by Window Extensions
393PRODUCT_SYSTEM_PROPERTIES += \
394    persist.settings.large_screen_opt.enabled=false
395
396# Keyboard height ratio and bottom padding in dp for portrait mode
397PRODUCT_PRODUCT_PROPERTIES += \
398         ro.com.google.ime.kb_pad_port_b=10.4 \
399         ro.com.google.ime.height_ratio=1.0
400
401# Enable camera exif model/make reporting
402PRODUCT_VENDOR_PROPERTIES += \
403    persist.vendor.camera.exif_reveal_make_model=true
404
405# Enable DeviceAsWebcam support
406PRODUCT_VENDOR_PROPERTIES += \
407    ro.usb.uvc.enabled=true
408
409# DisplayPort should be disabled by default (b/300167292)
410PRODUCT_VENDOR_PROPERTIES += \
411       persist.vendor.usb.displayport.enabled=0
412