• 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
17PRODUCT_RELEASE_CONFIG_MAPS += $(wildcard vendor/google_devices/release/phones/pixel_2024_midyear/release_config_map.textproto)
18
19ifdef RELEASE_KERNEL_AKITA_VERSION
20TARGET_LINUX_KERNEL_VERSION := $(RELEASE_KERNEL_AKITA_VERSION)
21endif
22
23ifdef RELEASE_KERNEL_AKITA_DIR
24# Keeps flexibility for kasan and ufs builds
25TARGET_KERNEL_DIR ?= $(RELEASE_KERNEL_AKITA_DIR)
26TARGET_BOARD_KERNEL_HEADERS ?= $(RELEASE_KERNEL_AKITA_DIR)/kernel-headers
27else
28TARGET_KERNEL_DIR ?= device/google/akita-kernels/5.15/trunk
29TARGET_BOARD_KERNEL_HEADERS ?= device/google/akita-kernels/5.15/trunk/kernel-headers
30endif
31
32$(call inherit-product-if-exists, vendor/google_devices/akita/prebuilts/device-vendor-akita.mk)
33$(call inherit-product-if-exists, vendor/google_devices/zuma/prebuilts/device-vendor.mk)
34$(call inherit-product-if-exists, vendor/google_devices/zuma/proprietary/device-vendor.mk)
35$(call inherit-product-if-exists, vendor/google_devices/akita/proprietary/akita/device-vendor-akita.mk)
36$(call inherit-product-if-exists, vendor/google_devices/akita/proprietary/device-vendor.mk)
37$(call inherit-product-if-exists, vendor/google_devices/akita/proprietary/WallpapersAkita.mk)
38
39DEVICE_PACKAGE_OVERLAYS += device/google/akita/akita/overlay
40
41include device/google/akita/audio/akita/audio-tables.mk
42include device/google/zuma/device-shipping-common.mk
43include hardware/google/pixel/vibrator/cs40l26/device.mk
44include device/google/gs-common/bcmbt/bluetooth.mk
45include device/google/gs-common/touch/gti/gti.mk
46include device/google/gs-common/modem/radio_ext/radio_ext.mk
47
48# go/lyric-soong-variables
49$(call soong_config_set,lyric,camera_hardware,akita)
50$(call soong_config_set,lyric,tuning_product,akita)
51$(call soong_config_set,google3a_config,target_device,akita)
52
53# Init files
54PRODUCT_COPY_FILES += \
55	device/google/akita/conf/init.akita.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.akita.rc
56
57# Recovery files
58PRODUCT_COPY_FILES += \
59        device/google/akita/conf/init.recovery.device.rc:$(TARGET_COPY_OUT_RECOVERY)/root/init.recovery.akita.rc
60
61# Display
62PRODUCT_COPY_FILES += \
63	device/google/akita/akita/display_colordata_dev_cal0.pb:$(TARGET_COPY_OUT_VENDOR)/etc/display_colordata_dev_cal0.pb \
64	device/google/akita/akita/display_golden_google-ak3b_cal0.pb:$(TARGET_COPY_OUT_VENDOR)/etc/display_golden_google-ak3b_cal0.pb \
65	device/google/akita/display_golden_external_display_cal2.pb:$(TARGET_COPY_OUT_VENDOR)/etc/display_golden_external_display_cal2.pb
66
67# Display brightness curve
68PRODUCT_COPY_FILES += \
69	device/google/akita/akita/panel_config_google-ak3b_cal0.pb:$(TARGET_COPY_OUT_VENDOR)/etc/panel_config_google-ak3b_cal0.pb
70
71PRODUCT_VENDOR_PROPERTIES += \
72    vendor.primarydisplay.op.hs_hz=120 \
73    vendor.primarydisplay.op.ns_hz=60 \
74    vendor.primarydisplay.op.peak_refresh_rate=60
75
76# lhbm peak brightness delay: decided by kernel
77PRODUCT_DEFAULT_PROPERTY_OVERRIDES += vendor.primarydisplay.lhbm.frames_to_reach_peak_brightness=0
78
79PRODUCT_SOONG_NAMESPACES += device/google/akita/radio/coex
80
81# Coex Configs
82PRODUCT_PACKAGES += \
83        display_primary_mipi_coex_table \
84        display_primary_ssc_coex_table
85
86PRODUCT_PROPERTY_OVERRIDES += \
87	persist.vendor.camera.adjust_backend_min_freq_for_1p_front_video_1080p_30fps=1 \
88	persist.vendor.camera.adjust_backend_min_freq_for_video_120fps=1 \
89	persist.vendor.camera.adjust_cam_uclamp_min_for_1p_rear_video_60fps=1 \
90	persist.vendor.camera.extended_launch_boost=1 \
91	persist.vendor.camera.optimized_tnr_freq=1 \
92	vendor.camera.debug.enable_software_post_sharpen_node=false \
93	vendor.camera.allow_sensor_binning_aspect_ratio_to_override_itp_output=false \
94	vendor.camera.debug.enable_blending_node=false
95
96# Enable front camera always binning for 720P or smaller resolution
97PRODUCT_VENDOR_PROPERTIES += \
98    persist.vendor.camera.front_720P_always_binning=true
99
100# Enable camera exif model/make reporting
101PRODUCT_VENDOR_PROPERTIES += \
102    persist.vendor.camera.exif_reveal_make_model=true
103
104# Media Performance Class 13
105PRODUCT_PROPERTY_OVERRIDES += ro.odm.build.media_performance_class=33
106
107# NFC
108PRODUCT_COPY_FILES += \
109	frameworks/native/data/etc/android.hardware.nfc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.xml \
110	frameworks/native/data/etc/android.hardware.nfc.hce.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hce.xml \
111	frameworks/native/data/etc/android.hardware.nfc.hcef.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hcef.xml \
112	frameworks/native/data/etc/com.nxp.mifare.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/com.nxp.mifare.xml \
113	frameworks/native/data/etc/android.hardware.nfc.ese.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.ese.xml \
114	device/google/akita/nfc/libnfc-hal-st.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libnfc-hal-st.conf \
115	device/google/akita/nfc/libnfc-nci.conf:$(TARGET_COPY_OUT_PRODUCT)/etc/libnfc-nci.conf
116
117PRODUCT_PACKAGES += \
118	$(RELEASE_PACKAGE_NFC_STACK) \
119	Tag \
120	android.hardware.nfc-service.st \
121	NfcOverlayAkita
122
123# SecureElement
124PRODUCT_PACKAGES += \
125	android.hardware.secure_element-service.thales
126
127PRODUCT_COPY_FILES += \
128	frameworks/native/data/etc/android.hardware.se.omapi.ese.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.ese.xml \
129	frameworks/native/data/etc/android.hardware.se.omapi.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.uicc.xml \
130	device/google/akita/nfc/libse-gto-hal.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libse-gto-hal.conf
131
132# Thermal Config
133PRODUCT_COPY_FILES += \
134	device/google/akita/thermal_info_config_akita.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config.json \
135	device/google/akita/thermal_info_config_charge_akita.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config_charge.json \
136	device/google/akita/thermal_info_config_proto.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config_proto.json \
137	device/google/akita/thermal_info_config_charge_proto.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config_charge_proto.json
138
139# Power HAL config
140PRODUCT_COPY_FILES += \
141	device/google/akita/powerhint-akita.json:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.json
142
143# Bluetooth HAL
144PRODUCT_COPY_FILES += \
145	device/google/akita/bluetooth/bt_vendor_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth/bt_vendor_overlay.conf
146PRODUCT_PROPERTY_OVERRIDES += \
147    ro.bluetooth.a2dp_offload.supported=true \
148    persist.bluetooth.a2dp_offload.disabled=false \
149    persist.bluetooth.a2dp_offload.cap=sbc-aac-aptx-aptxhd-ldac
150
151# Bluetooth Tx power caps
152PRODUCT_COPY_FILES += \
153    device/google/akita/bluetooth/bluetooth_power_limits_AK3.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits.csv \
154    device/google/akita/bluetooth/bluetooth_power_limits_AK3_G6GPR_CA.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_G6GPR_CA.csv \
155    device/google/akita/bluetooth/bluetooth_power_limits_AK3_G6GPR_EU.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_G6GPR_EU.csv \
156    device/google/akita/bluetooth/bluetooth_power_limits_AK3_G6GPR_US.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_G6GPR_US.csv \
157    device/google/akita/bluetooth/bluetooth_power_limits_AK3_G8HHN_EU.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_G8HHN_EU.csv \
158    device/google/akita/bluetooth/bluetooth_power_limits_AK3_G8HHN_US.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_G8HHN_US.csv \
159    device/google/akita/bluetooth/bluetooth_power_limits_AK3_G576D_CA.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_G576D_CA.csv \
160    device/google/akita/bluetooth/bluetooth_power_limits_AK3_G576D_EU.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_G576D_EU.csv \
161    device/google/akita/bluetooth/bluetooth_power_limits_AK3_G576D_JP.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_G576D_JP.csv \
162    device/google/akita/bluetooth/bluetooth_power_limits_AK3_G576D_US.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_G576D_US.csv \
163    device/google/akita/bluetooth/bluetooth_power_limits_AK3_GKV4X_CA.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_GKV4X_CA.csv \
164    device/google/akita/bluetooth/bluetooth_power_limits_AK3_GKV4X_EU.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_GKV4X_EU.csv \
165    device/google/akita/bluetooth/bluetooth_power_limits_AK3_GKV4X_US.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_GKV4X_US.csv
166
167# POF
168PRODUCT_PRODUCT_PROPERTIES += \
169    ro.bluetooth.finder.supported=true
170
171# DCK properties based on target
172PRODUCT_PROPERTY_OVERRIDES += \
173    ro.gms.dck.eligible_wcc=2 \
174    ro.gms.dck.se_capability=1
175
176# Bluetooth hci_inject test tool
177PRODUCT_PACKAGES_DEBUG += \
178    hci_inject
179
180# Bluetooth SAR test tool
181PRODUCT_PACKAGES_DEBUG += \
182    sar_test
183
184# Bluetooth EWP test tool
185PRODUCT_PACKAGES_DEBUG += \
186    ewp_tool
187
188# Bluetooth AAC VBR
189PRODUCT_PRODUCT_PROPERTIES += \
190    persist.bluetooth.a2dp_aac.vbr_supported=true
191
192# Bluetooth Super Wide Band
193PRODUCT_PRODUCT_PROPERTIES += \
194    bluetooth.hfp.swb.supported=true
195
196# Bluetooth LE Audio
197PRODUCT_PRODUCT_PROPERTIES += \
198    ro.bluetooth.leaudio_switcher.supported=true \
199    bluetooth.profile.bap.unicast.client.enabled=true \
200    bluetooth.profile.csip.set_coordinator.enabled=true \
201    bluetooth.profile.hap.client.enabled=true \
202    bluetooth.profile.mcp.server.enabled=true \
203    bluetooth.profile.ccp.server.enabled=true \
204    bluetooth.profile.vcp.controller.enabled=true
205
206# Bluetooth LE Audio enable hardware offloading
207PRODUCT_PRODUCT_PROPERTIES += \
208    ro.bluetooth.leaudio_offload.supported=true \
209    persist.bluetooth.leaudio_offload.disabled=false
210
211# Include Bluetooth soong namespace
212PRODUCT_SOONG_NAMESPACES += \
213    device/google/akita/bluetooth
214
215# Bluetooth LE Auido offload capabilities setting
216PRODUCT_PACKAGES += \
217    le_audio_codec_capabilities.xml
218
219# LE Audio Lunch Config for Phase 1 (LE audio toggle hidden by default)
220PRODUCT_PRODUCT_PROPERTIES += \
221    persist.bluetooth.leaudio.toggle_visible=true
222
223# LE Audio use classic connection by default
224PRODUCT_PRODUCT_PROPERTIES += \
225    ro.bluetooth.leaudio.le_audio_connection_by_default=true
226
227# Bluetooth LE Audio CIS handover to SCO
228# Set the property only for the controller couldn't support CIS/SCO simultaneously. More detailed in b/242908683.
229PRODUCT_PRODUCT_PROPERTIES += \
230    persist.bluetooth.leaudio.notify.idle.during.call=true
231
232# Bluetooth LE Audio enable dual mic SWB call
233PRODUCT_PRODUCT_PROPERTIES += \
234    bluetooth.leaudio.dual_bidirection_swb.supported=true
235
236# LE Audio Unicast Allowlist
237PRODUCT_PRODUCT_PROPERTIES += \
238    persist.bluetooth.leaudio.allow_list=SM-R510
239
240# Support LE & Classic concurrent encryption (b/330704060)
241PRODUCT_PRODUCT_PROPERTIES += \
242    bluetooth.ble.allow_enc_with_bredr=true
243
244# Enable one-handed mode
245PRODUCT_PRODUCT_PROPERTIES += \
246    ro.support_one_handed_mode=true
247
248# Override BQR mask to enable LE Audio Choppy report, remove BTRT logging
249ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
250PRODUCT_PRODUCT_PROPERTIES += \
251    persist.bluetooth.bqr.event_mask=295006 \
252    persist.bluetooth.bqr.vnd_quality_mask=29 \
253    persist.bluetooth.bqr.vnd_trace_mask=0 \
254    persist.bluetooth.vendor.btsnoop=true
255else
256PRODUCT_PRODUCT_PROPERTIES += \
257    persist.bluetooth.bqr.event_mask=295006 \
258    persist.bluetooth.bqr.vnd_quality_mask=16 \
259    persist.bluetooth.bqr.vnd_trace_mask=0 \
260    persist.bluetooth.vendor.btsnoop=false
261endif
262
263# Enable Bluetooth AutoOn feature
264PRODUCT_PRODUCT_PROPERTIES += \
265    bluetooth.server.automatic_turn_on=true
266
267# Spatial Audio
268PRODUCT_PACKAGES += \
269	libspatialaudio \
270	librondo
271
272# Sound Dose
273PRODUCT_PACKAGES += \
274	android.hardware.audio.sounddose-vendor-impl \
275	audio_sounddose_aoc \
276
277# Audio CCA property
278PRODUCT_PROPERTY_OVERRIDES += \
279	persist.vendor.audio.cca.enabled=false
280
281# Settings Overlay
282PRODUCT_PACKAGES += \
283    SettingsAkitaOverlay
284
285# Keymaster HAL
286#LOCAL_KEYMASTER_PRODUCT_PACKAGE ?= android.hardware.keymaster@4.1-service
287
288# Gatekeeper HAL
289#LOCAL_GATEKEEPER_PRODUCT_PACKAGE ?= android.hardware.gatekeeper@1.0-service.software
290
291
292# Gatekeeper
293# PRODUCT_PACKAGES += \
294# 	android.hardware.gatekeeper@1.0-service.software
295
296# Keymint replaces Keymaster
297# PRODUCT_PACKAGES += \
298# 	android.hardware.security.keymint-service
299
300# Keymaster
301#PRODUCT_PACKAGES += \
302#	android.hardware.keymaster@4.0-impl \
303#	android.hardware.keymaster@4.0-service
304
305#PRODUCT_PACKAGES += android.hardware.keymaster@4.0-service.remote
306#PRODUCT_PACKAGES += android.hardware.keymaster@4.1-service.remote
307#LOCAL_KEYMASTER_PRODUCT_PACKAGE := android.hardware.keymaster@4.1-service
308#LOCAL_KEYMASTER_PRODUCT_PACKAGE ?= android.hardware.keymaster@4.1-service
309
310# PRODUCT_PROPERTY_OVERRIDES += \
311# 	ro.hardware.keystore_desede=true \
312# 	ro.hardware.keystore=software \
313# 	ro.hardware.gatekeeper=software
314
315# PowerStats HAL
316PRODUCT_SOONG_NAMESPACES += \
317    device/google/akita/powerstats/akita
318
319# WiFi Overlay
320PRODUCT_PACKAGES += \
321	WifiOverlay2024Mid
322
323# Trusty liboemcrypto.so
324PRODUCT_SOONG_NAMESPACES += vendor/google_devices/akita/prebuilts
325
326# include GNSSD
327include device/google/akita/location/gnssd/device-gnss.mk
328
329# Set zram size
330PRODUCT_VENDOR_PROPERTIES += \
331	vendor.zram.size=50p \
332	persist.device_config.configuration.disable_rescue_party=true
333
334# Increase thread priority for nodes stop
335PRODUCT_VENDOR_PROPERTIES += \
336	persist.vendor.camera.increase_thread_priority_nodes_stop=true
337
338# Fingerprint HAL
339GOODIX_CONFIG_BUILD_VERSION := g7_trusty
340$(call inherit-product-if-exists, vendor/goodix/udfps/configuration/udfps_common.mk)
341ifeq ($(filter factory%, $(TARGET_PRODUCT)),)
342$(call inherit-product-if-exists, vendor/goodix/udfps/configuration/udfps_shipping.mk)
343else
344$(call inherit-product-if-exists, vendor/goodix/udfps/configuration/udfps_factory.mk)
345endif
346
347# Display
348PRODUCT_DEFAULT_PROPERTY_OVERRIDES += vendor.display.lbe.supported=1
349PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.set_idle_timer_ms=1500
350
351PRODUCT_VENDOR_PROPERTIES += \
352    persist.vendor.udfps.als_feed_forward_supported=true \
353    persist.vendor.udfps.lhbm_controlled_in_hal_supported=true
354
355# Fingerprint exposure compensation
356PRODUCT_VENDOR_PROPERTIES += \
357    persist.vendor.udfps.auto_exposure_compensation_supported=true
358
359# Fingerprint Auth Filter
360ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
361PRODUCT_VENDOR_PROPERTIES += \
362    persist.vendor.udfps.auth_filter.log_all_coverages=true \
363    persist.vendor.udfps.auth_filter.data_collection_enabled=false
364endif
365
366# OIS with system imu
367PRODUCT_VENDOR_PROPERTIES += \
368    persist.vendor.camera.ois_with_system_imu=true
369
370# Vibrator HAL
371$(call soong_config_set,haptics,kernel_ver,v$(subst .,_,$(TARGET_LINUX_KERNEL_VERSION)))
372ADAPTIVE_HAPTICS_FEATURE := adaptive_haptics_v1
373PRODUCT_VENDOR_PROPERTIES += \
374    ro.vendor.vibrator.hal.supported_primitives=243 \
375    ro.vendor.vibrator.hal.f0.comp.enabled=1 \
376    ro.vendor.vibrator.hal.redc.comp.enabled=0 \
377	persist.vendor.vibrator.hal.context.enable=false \
378	persist.vendor.vibrator.hal.context.scale=40 \
379	persist.vendor.vibrator.hal.context.fade=true \
380	persist.vendor.vibrator.hal.context.cooldowntime=1600 \
381	persist.vendor.vibrator.hal.context.settlingtime=5000
382
383# Increment the SVN for any official public releases
384ifdef RELEASE_SVN_AKITA
385TARGET_SVN ?= $(RELEASE_SVN_AKITA)
386else
387# Set this for older releases that don't use build flag
388TARGET_SVN ?= 18
389endif
390
391PRODUCT_VENDOR_PROPERTIES += \
392    ro.vendor.build.svn=$(TARGET_SVN)
393
394# Keyboard height ratio and bottom padding in dp for portrait mode
395PRODUCT_PRODUCT_PROPERTIES += \
396          ro.com.google.ime.kb_pad_port_b=4.19 \
397          ro.com.google.ime.height_ratio=1.1
398
399# Enable DeviceAsWebcam support
400PRODUCT_VENDOR_PROPERTIES += \
401    ro.usb.uvc.enabled=true
402
403# Window Extensions
404$(call inherit-product, $(SRC_TARGET_DIR)/product/window_extensions.mk)
405
406# Disable Settings large-screen optimization enabled by Window Extensions
407PRODUCT_SYSTEM_PROPERTIES += \
408    persist.settings.large_screen_opt.enabled=false
409
410# ETM
411ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
412$(call inherit-product-if-exists, device/google/common/etm/device-userdebug-modules.mk)
413endif
414