# # Copyright (C) 2011 The Android Open-Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # TARGET_BOARD_PLATFORM := gs101 ifneq (,$(filter %_64,$(TARGET_PRODUCT))) LOCAL_64ONLY := _64 endif AB_OTA_POSTINSTALL_CONFIG += \ RUN_POSTINSTALL_system=true \ POSTINSTALL_PATH_system=system/bin/otapreopt_script \ FILESYSTEM_TYPE_system=ext4 \ POSTINSTALL_OPTIONAL_system=true # Set Vendor SPL to match platform VENDOR_SECURITY_PATCH = $(PLATFORM_SECURITY_PATCH) PRODUCT_SOONG_NAMESPACES += \ hardware/google/av \ hardware/google/gchips \ hardware/google/graphics/common \ hardware/google/graphics/gs101 \ hardware/google/interfaces \ hardware/google/pixel \ device/google/gs101 \ vendor/google/whitechapel/tools \ vendor/arm/mali/valhall \ vendor/arm/mali/valhall/cl \ vendor/arm/mali/valhall/libmali \ vendor/arm/mali/valhall/cinstr/production/gpu-hwc-reader \ vendor/broadcom/bluetooth \ vendor/google/camera \ vendor/google/interfaces \ vendor/google_devices/common/proprietary/confirmatioui_hal \ vendor/google_nos/host/android \ vendor/google_nos/test/system-test-harness DEVICE_USES_EXYNOS_GRALLOC_VERSION := 3 ifeq ($(TARGET_PREBUILT_KERNEL),) LOCAL_KERNEL := $(TARGET_KERNEL_DIR)/Image.lz4 else LOCAL_KERNEL := $(TARGET_PREBUILT_KERNEL) endif # OEM Unlock reporting PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ ro.oem_unlock_supported=1 ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) #Set IKE logs to verbose for WFC PRODUCT_PROPERTY_OVERRIDES += log.tag.IKE=VERBOSE endif ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) # b/36703476: Set default log size to 1M PRODUCT_PROPERTY_OVERRIDES += \ ro.logd.size=1M # b/114766334: persist all logs by default rotating on 30 files of 1MiB PRODUCT_PROPERTY_OVERRIDES += \ logd.logpersistd=logcatd \ logd.logpersistd.size=30 endif # From system.property PRODUCT_PROPERTY_OVERRIDES += \ ro.arch=gs101 \ persist.demo.hdmirotationlock=false \ dev.usbsetting.embedded=on \ ro.debug_level=0x494d \ ro.telephony.default_network=27 \ persist.vendor.ril.use.iccid_to_plmn=1 \ persist.vendor.ril.emergencynumber.mode=5 #rild.libpath=/system/lib64/libsec-ril.so \ #rild.libargs=-d /dev/umts_ipc0 # SIT-RIL Logging setting PRODUCT_PROPERTY_OVERRIDES += \ persist.vendor.ril.log_mask=3 \ persist.vendor.ril.log.base_dir=/data/vendor/radio/sit-ril \ persist.vendor.ril.log.chunk_size=5242880 \ persist.vendor.ril.log.num_file=3 # Enable reboot free DSDS PRODUCT_PRODUCT_PROPERTIES += \ persist.radio.reboot_on_modem_change=false # Carrier configuration default location PRODUCT_PROPERTY_OVERRIDES += \ persist.vendor.radio.config.carrier_config_dir=/mnt/vendor/modem_img/images/default/confpack # GPU profiling PRODUCT_PRODUCT_PROPERTIES += graphics.gpu.profiler.support=true PRODUCT_PACKAGES += \ android.hardware.neuralnetworks@1.2-service-armnn PRODUCT_PROPERTY_OVERRIDES += \ telephony.active_modems.max_count=2 USE_LASSEN_OEMHOOK := true # Use for GRIL USES_LASSEN_MODEM := true ifeq (,$(filter aosp_%,$(TARGET_PRODUCT))) # Audio client implementation for RIL USES_GAUDIO := true endif # This should be the same value as BOARD_USES_SWIFTSHADER in BoardConfig.mk USE_SWIFTSHADER := false ifeq ($(USE_SWIFTSHADER),true) PRODUCT_PROPERTY_OVERRIDES += \ ro.hardware.egl = swiftshader else PRODUCT_PROPERTY_OVERRIDES += \ ro.hardware.egl = mali endif # Device Manifest, Device Compatibility Matrix for Treble ifeq ($(DEVICE_USES_EXYNOS_GRALLOC_VERSION), 4) DEVICE_MANIFEST_FILE := \ device/google/gs101/manifest$(LOCAL_64ONLY).xml else DEVICE_MANIFEST_FILE := \ device/google/gs101/manifest$(LOCAL_64ONLY)-gralloc3.xml endif ifneq (,$(filter aosp_%,$(TARGET_PRODUCT))) DEVICE_MANIFEST_FILE += \ device/google/gs101/manifest_media_aosp.xml PRODUCT_COPY_FILES += \ device/google/gs101/media_codecs_aosp_c2.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_c2.xml else DEVICE_MANIFEST_FILE += \ device/google/gs101/manifest_media.xml PRODUCT_COPY_FILES += \ device/google/gs101/media_codecs_bo_c2.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_c2.xml \ device/google/gs101/media_codecs_aosp_c2.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_aosp_c2.xml endif DEVICE_MATRIX_FILE := \ device/google/gs101/compatibility_matrix.xml DEVICE_PACKAGE_OVERLAYS += device/google/gs101/overlay # This will be updated to 31 (Android S) for shipping PRODUCT_SHIPPING_API_LEVEL := 30 # Do not enforce the kernel requirement temporarily since it is not ready # Eventually this configuration should be removed PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS := false # Enforce the Product interface PRODUCT_PRODUCT_VNDK_VERSION := current PRODUCT_ENFORCE_PRODUCT_PARTITION_INTERFACE := true # Init files PRODUCT_COPY_FILES += \ $(LOCAL_KERNEL):kernel \ device/google/gs101/conf/init.gs101.usb.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.gs101.usb.rc \ device/google/gs101/conf/ueventd.gs101.rc:$(TARGET_COPY_OUT_VENDOR)/ueventd.rc PRODUCT_COPY_FILES += \ device/google/gs101/conf/init.gs101.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.gs101.rc ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) PRODUCT_COPY_FILES += \ device/google/gs101/conf/init.debug.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.debug.rc endif # Init files for /system_ext PRODUCT_COPY_FILES += \ device/google/gs101/conf/init.system_ext.rc:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/init/init.system_ext.rc # Native libraries needed for applications under /system_ext PRODUCT_COPY_FILES += \ device/google/gs101/public.libraries-google.txt:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/public.libraries-google.txt # If AoC Daemon is not present on this build, load firmware at boot via rc ifeq ($(wildcard vendor/google/whitechapel/aoc/aocd),) PRODUCT_COPY_FILES += \ device/google/gs101/conf/init.aoc.nodaemon.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.aoc.rc else PRODUCT_COPY_FILES += \ device/google/gs101/conf/init.aoc.daemon.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.aoc.rc endif # Recovery files PRODUCT_COPY_FILES += \ device/google/gs101/conf/init.recovery.device.rc:$(TARGET_COPY_OUT_RECOVERY)/root/init.recovery.gs101.rc # Fstab files PRODUCT_COPY_FILES += \ device/google/gs101/conf/fstab.gs101:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.gs101 \ device/google/gs101/conf/fstab.gs101:$(TARGET_COPY_OUT_RECOVERY)/root/first_stage_ramdisk/fstab.gs101 \ device/google/gs101/conf/fstab.persist:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.persist \ device/google/gs101/conf/fstab.gs101:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/first_stage_ramdisk/fstab.gs101 # Shell scripts PRODUCT_COPY_FILES += \ device/google/gs101/init.insmod.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.insmod.sh \ device/google/gs101/init.ramoops.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.ramoops.sh # insmod files PRODUCT_COPY_FILES += \ device/google/gs101/init.insmod.gs101.cfg:$(TARGET_COPY_OUT_VENDOR)/etc/init.insmod.gs101.cfg # For creating dtbo image PRODUCT_HOST_PACKAGES += \ mkdtimg PRODUCT_PACKAGES += \ messaging # Contexthub HAL PRODUCT_PACKAGES += \ android.hardware.contexthub@1.2-service.small_fragments # CHRE tools ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) PRODUCT_PACKAGES += \ chre_power_test_client \ chre_test_client endif PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.hardware.context_hub.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.context_hub.xml # Enable the CHRE Daemon CHRE_USF_DAEMON_ENABLED := true PRODUCT_PACKAGES += \ chre \ preloaded_nanoapps.json # Filesystem management tools PRODUCT_PACKAGES += \ linker.vendor_ramdisk \ tune2fs.vendor_ramdisk \ resize2fs.vendor_ramdisk # Userdata Checkpointing OTA GC PRODUCT_PACKAGES += \ checkpoint_gc # CP Logging properties PRODUCT_PROPERTY_OVERRIDES += \ ro.vendor.sys.modem.logging.loc = /data/vendor/slog \ persist.vendor.sys.silentlog.tcp = "On" \ ro.vendor.cbd.modem_removable = "1" \ ro.vendor.cbd.modem_type = "s5100sit" \ persist.vendor.sys.modem.logging.br_num=5 # Enable silent CP crash handling PRODUCT_PROPERTY_OVERRIDES += \ persist.vendor.ril.crash_handling_mode=1 # Add support dual SIM mode PRODUCT_PROPERTY_OVERRIDES += \ persist.vendor.radio.multisim_switch_support=true # RPMB TA PRODUCT_PACKAGES += \ tlrpmb # Touch firmware #PRODUCT_COPY_FILES += \ device/google/gs101/firmware/touch/s6sy761.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/s6sy761.fw # Sensors PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.accelerometer.xml \ frameworks/native/data/etc/android.hardware.sensor.barometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.barometer.xml \ frameworks/native/data/etc/android.hardware.sensor.compass.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.compass.xml \ frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.gyroscope.xml \ frameworks/native/data/etc/android.hardware.sensor.light.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.light.xml\ frameworks/native/data/etc/android.hardware.sensor.proximity.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.proximity.xml \ frameworks/native/data/etc/android.hardware.sensor.stepcounter.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepcounter.xml \ frameworks/native/data/etc/android.hardware.sensor.stepdetector.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepdetector.xml # Sensor HAL #TARGET_USES_NANOHUB_SENSORHAL := true #NANOHUB_SENSORHAL_SENSORLIST := device/google/gs101/sensorhal/sensorlist.cpp #PRODUCT_PACKAGES += \ context_hub.default \ android.hardware.sensors@1.0-impl \ android.hardware.sensors@1.0-service \ sensors.gs101 \ # sensor utilities #PRODUCT_PACKAGES += \ nanoapp_cmd # sensor utilities (only for userdebug and eng builds) ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) #PRODUCT_PACKAGES += \ nanotool \ sensortest endif #filter TARGET_BUILD_VARIANT # Cannot reference variables defined in BoardConfig.mk #ifeq ($(BOARD_USES_EXYNOS_SENSORS_DUMMY), true) # Set USF sensor HAL to 2.0. USF_SENSOR_HAL_2_0 := true ifeq ($(USF_SENSOR_HAL_2_0),true) # Add sensor HAL 2.0 product packages PRODUCT_PACKAGES += android.hardware.sensors@2.0-service.multihal else # Add sensor HAL 1.0 product packages. PRODUCT_PACKAGES += \ android.hardware.sensors@1.0-impl \ android.hardware.sensors@1.0-service \ sensors.gs101 endif #endif # USB HAL PRODUCT_PACKAGES += \ android.hardware.usb@1.3-service.gs101 OLDER_GADGET := false # MIDI feature PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.software.midi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.midi.xml # default usb debug functions ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) PRODUCT_PROPERTY_OVERRIDES += \ persist.vendor.usb.usbradio.config=dm endif # Power HAL PRODUCT_COPY_FILES += \ device/google/gs101/powerhint.json:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.json PRODUCT_COPY_FILES += \ device/google/gs101/task_profiles.json:$(TARGET_COPY_OUT_VENDOR)/etc/task_profiles.json PRODUCT_COPY_FILES += \ device/google/gs101/powerhint_a0.json:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint_a0.json PRODUCT_COPY_FILES += \ device/google/gs101/powerhint_a1.json:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint_a1.json -include hardware/google/pixel/power-libperfmgr/aidl/device.mk # PowerStats HAL PRODUCT_PACKAGES += \ android.hardware.power.stats-service.pixel # dumpstate HAL PRODUCT_PACKAGES += \ android.hardware.dumpstate@1.0-service.gs101 # AoC support PRODUCT_PACKAGES += \ aocd \ aocutil \ aoc_audio_cfg \ vp_util # AoC debug support ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) PRODUCT_PACKAGES += \ aocdump endif # # Audio HALs # # Audio Configurations USE_LEGACY_LOCAL_AUDIO_HAL := false USE_XML_AUDIO_POLICY_CONF := 1 # Enable AAudio MMAP/NOIRQ data path. PRODUCT_PROPERTY_OVERRIDES += aaudio.mmap_policy=2 PRODUCT_PROPERTY_OVERRIDES += aaudio.mmap_exclusive_policy=2 PRODUCT_PROPERTY_OVERRIDES += aaudio.hw_burst_min_usec=2000 # Calliope firmware overwrite #PRODUCT_COPY_FILES += \ device/google/gs101/firmware/calliope_dram.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/calliope_dram.bin \ device/google/gs101/firmware/calliope_sram.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/calliope_sram.bin \ device/google/gs101/firmware/calliope_dram_2.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/calliope_dram_2.bin \ device/google/gs101/firmware/calliope_sram_2.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/calliope_sram_2.bin \ device/google/gs101/firmware/calliope2.dt:$(TARGET_COPY_OUT_VENDOR)/firmware/calliope2.dt \ # Cannot reference variables defined in BoardConfig.mk, uncomment this if # BOARD_USE_OFFLOAD_AUDIO and BOARD_USE_OFFLOAD_EFFECT are true ## AudioEffectHAL library #PRODUCT_PACKAGES += \ # libexynospostprocbundle # Cannot reference variables defined in BoardConfig.mk, uncomment this if # BOARD_USE_SOUNDTRIGGER_HAL is true #PRODUCT_PACKAGES += \ # sound_trigger.primary.maran9820 # A-Box Service Daemon #PRODUCT_PACKAGES += main_abox # Libs PRODUCT_PACKAGES += \ com.android.future.usb.accessory # for now include gralloc here. should come from hardware/google_devices/exynos5 ifeq ($(DEVICE_USES_EXYNOS_GRALLOC_VERSION), 4) PRODUCT_PACKAGES += \ android.hardware.graphics.mapper@4.0-impl \ android.hardware.graphics.allocator@4.0-service \ android.hardware.graphics.allocator@4.0-impl else PRODUCT_PACKAGES += \ android.hardware.graphics.mapper@2.0-impl \ android.hardware.graphics.allocator@2.0-service \ android.hardware.graphics.allocator@2.0-impl \ gralloc.$(TARGET_BOARD_PLATFORM) endif # HIDL memtrack PRODUCT_PACKAGES += \ android.hardware.memtrack@1.0-impl \ android.hardware.memtrack@1.0-service PRODUCT_PACKAGES += \ memtrack.$(TARGET_BOARD_PLATFORM) \ libion_exynos \ libion PRODUCT_PACKAGES += \ libhwjpeg # Video Editor PRODUCT_PACKAGES += \ VideoEditorGoogle # WideVine modules PRODUCT_PACKAGES += \ android.hardware.drm@1.0-impl \ android.hardware.drm@1.0-service \ android.hardware.drm@1.3-service.clearkey \ android.hardware.drm@1.4-service.widevine \ liboemcrypto \ SOONG_CONFIG_NAMESPACES += lyric SOONG_CONFIG_lyric += \ soc \ feature \ SOONG_CONFIG_lyric_soc := gs101 SOONG_CONFIG_lyric_feature := true SOONG_CONFIG_NAMESPACES += google3a_config SOONG_CONFIG_google3a_config += \ soc \ gcam_awb \ ghawb_truetone \ SOONG_CONFIG_google3a_config_soc := gs101 SOONG_CONFIG_google3a_config_gcam_awb := true SOONG_CONFIG_google3a_config_ghawb_truetone := true SOONG_CONFIG_NAMESPACES += gch SOONG_CONFIG_gch += \ feature \ # Disable Legacy common hal modules for whi SOONG_CONFIG_gch_feature := use_lyric_hal # WiFi PRODUCT_PACKAGES += \ android.hardware.wifi@1.0-service \ wificond \ libwpa_client \ PixelWifiOverlayGs101 \ WifiOverlay \ PRODUCT_PACKAGES_DEBUG += \ sg_write_buffer \ f2fs_io \ check_f2fs \ f2fsstat \ f2fs.fibmap \ dump.f2fs # Storage health HAL PRODUCT_PACKAGES += \ android.hardware.health.storage-service.default # storage pixelstats -include hardware/google/pixel/pixelstats/device.mk # Enable project quotas and casefolding for emulated storage without sdcardfs $(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk) $(call inherit-product, $(SRC_TARGET_DIR)/product/virtual_ab_ota/launch_with_vendor_ramdisk.mk) # Enforce generic ramdisk allow list $(call inherit-product, $(SRC_TARGET_DIR)/product/generic_ramdisk.mk) # Titan-M ifeq (,$(filter true, $(BOARD_WITHOUT_DTLS))) include hardware/google/pixel/dauntless/dauntless.mk endif PRODUCT_PACKAGES_DEBUG += \ WvInstallKeybox # Copy Camera HFD Setfiles #PRODUCT_COPY_FILES += \ device/google/gs101/firmware/camera/libhfd/default_configuration.hfd.cfg.json:$(TARGET_COPY_OUT_VENDOR)/firmware/default_configuration.hfd.cfg.json \ device/google/gs101/firmware/camera/libhfd/pp_cfg.json:$(TARGET_COPY_OUT_VENDOR)/firmware/pp_cfg.json \ device/google/gs101/firmware/camera/libhfd/tracker_cfg.json:$(TARGET_COPY_OUT_VENDOR)/firmware/tracker_cfg.json \ device/google/gs101/firmware/camera/libhfd/WithLightFixNoBN.SDNNmodel:$(TARGET_COPY_OUT_VENDOR)/firmware/WithLightFixNoBN.SDNNmodel PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml \ frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml \ frameworks/native/data/etc/android.hardware.wifi.aware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.aware.xml \ frameworks/native/data/etc/android.hardware.wifi.passpoint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.passpoint.xml \ frameworks/native/data/etc/android.hardware.wifi.rtt.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.rtt.xml \ frameworks/native/data/etc/android.hardware.usb.host.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.host.xml \ frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.hardware.camera.flash-autofocus.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.flash-autofocus.xml \ frameworks/native/data/etc/android.hardware.camera.front.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.front.xml \ frameworks/native/data/etc/android.hardware.camera.concurrent.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.concurrent.xml \ frameworks/native/data/etc/android.hardware.camera.full.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.full.xml\ frameworks/native/data/etc/android.hardware.camera.raw.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.raw.xml\ #PRODUCT_COPY_FILES += \ frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml \ frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml \ frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml \ frameworks/native/data/etc/android.hardware.wifi.passpoint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.passpoint.xml \ frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \ frameworks/native/data/etc/android.hardware.usb.host.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.host.xml \ frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml \ frameworks/native/data/etc/android.hardware.audio.low_latency.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.low_latency.xml \ frameworks/native/data/etc/android.hardware.audio.pro.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.pro.xml \ PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.hardware.opengles.aep.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.opengles.aep.xml \ frameworks/native/data/etc/android.hardware.vulkan.version-1_1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version.xml \ frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.level.xml \ frameworks/native/data/etc/android.hardware.vulkan.compute-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.compute.xml \ frameworks/native/data/etc/android.software.vulkan.deqp.level-2021-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml \ frameworks/native/data/etc/android.software.opengles.deqp.level-2021-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.opengles.deqp.level.xml \ frameworks/native/data/etc/android.software.ipsec_tunnels.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.ipsec_tunnels.xml \ PRODUCT_PROPERTY_OVERRIDES += \ ro.opengles.version=196610 \ debug.slsi_platform=1 \ debug.hwc.winupdate=1 # HWUI TARGET_USES_VULKAN = true # hw composer HAL PRODUCT_PACKAGES += \ displaycolor_service \ libdisplaycolor \ hwcomposer.$(TARGET_BOARD_PLATFORM) PRODUCT_PROPERTY_OVERRIDES += \ debug.sf.disable_backpressure=0 \ debug.sf.enable_gl_backpressure=1 PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.use_phase_offsets_as_durations=1 PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.late.sf.duration=10500000 PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.late.app.duration=20500000 PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.early.sf.duration=16000000 PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.early.app.duration=16500000 PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.earlyGl.sf.duration=13500000 PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.earlyGl.app.duration=21000000 PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.set_idle_timer_ms=80 PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.set_touch_timer_ms=200 PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.set_display_power_timer_ms=1000 PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.use_content_detection_for_refresh_rate=true # Must align with HAL types Dataspace # The data space of wide color gamut composition preference is Dataspace::DISPLAY_P3 PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.wcg_composition_dataspace=143261696 # Display PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.has_wide_color_display=true PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.has_HDR_display=true PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.use_color_management=true PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.protected_contents=true # force to blend in P3 mode PRODUCT_PROPERTY_OVERRIDES += \ persist.sys.sf.native_mode=2 \ persist.sys.sf.color_mode=9 PRODUCT_COPY_FILES += \ device/google/gs101/display/display_adaptive_cal0.pb:$(TARGET_COPY_OUT_VENDOR)/etc/display_adaptive_cal0.pb PRODUCT_PROPERTY_OVERRIDES += debug.renderengine.backend=skiaglthreaded # limit DPP downscale ratio PRODUCT_DEFAULT_PROPERTY_OVERRIDES += vendor.hwc.dpp.downscale=2 # Cannot reference variables defined in BoardConfig.mk, uncomment this if # BOARD_USES_EXYNOS_DSS_FEATURE is true ## set the dss enable status setup #PRODUCT_PROPERTY_OVERRIDES += \ # ro.exynos.dss=1 # Cannot reference variables defined in BoardConfig.mk, uncomment this if # BOARD_USES_EXYNOS_AFBC_FEATURE is true # set the dss enable status setup PRODUCT_PROPERTY_OVERRIDES += \ ro.vendor.ddk.set.afbc=1 PRODUCT_CHARACTERISTICS := nosdcard # WPA SUPPLICANT PRODUCT_COPY_FILES += \ device/google/gs101/wifi/p2p_supplicant.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/p2p_supplicant.conf \ device/google/gs101/wifi/wpa_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant_overlay.conf HOSTAPD := hostapd HOSTAPD += hostapd_cli PRODUCT_PACKAGES += $(HOSTAPD) PRODUCT_PACKAGES += wpa_supplicant PRODUCT_PACKAGES += wpa_supplicant.conf WIFI_PRIV_CMD_UPDATE_MBO_CELL_STATUS := enabled ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) PRODUCT_PACKAGES += wpa_cli endif #################################### ## VIDEO #################################### SOONG_CONFIG_NAMESPACES += bigo SOONG_CONFIG_bigo += soc SOONG_CONFIG_bigo_soc := gs101 # MFC firmware PRODUCT_COPY_FILES += \ device/google/gs101/firmware/mfc_fw_v14.2.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/mfc_fw.bin # 1. Codec 2.0 # exynos service PRODUCT_SOONG_NAMESPACES += vendor/samsung_slsi/codec2 PRODUCT_COPY_FILES += \ device/google/gs101/media_codecs_performance_c2.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_c2.xml \ PRODUCT_PACKAGES += \ samsung.hardware.media.c2@1.0-service \ codec2.vendor.base.policy \ codec2.vendor.ext.policy \ libExynosC2ComponentStore \ libExynosC2H264Dec \ libExynosC2H264Enc \ libExynosC2HevcDec \ libExynosC2HevcEnc \ libExynosC2Mpeg4Dec \ libExynosC2Mpeg4Enc \ libExynosC2H263Dec \ libExynosC2H263Enc \ libExynosC2Vp8Dec \ libExynosC2Vp8Enc \ libExynosC2Vp9Dec \ libExynosC2Vp9Enc PRODUCT_PROPERTY_OVERRIDES += \ debug.c2.use_dmabufheaps=1 # 2. OpenMAX IL PRODUCT_COPY_FILES += \ device/google/gs101/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \ device/google/gs101/media_codecs_performance.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance.xml #################################### # Telephony #PRODUCT_COPY_FILES += \ frameworks/av/media/libstagefright/data/media_codecs_google_telephony.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_telephony.xml # CBD (CP booting deamon) CBD_USE_V2 := true CBD_PROTOCOL_SIT := true # setup dalvik vm configs. $(call inherit-product, frameworks/native/build/phone-xhdpi-2048-dalvik-heap.mk) PRODUCT_TAGS += dalvik.gc.type-precise # Exynos OpenVX framework PRODUCT_PACKAGES += \ libexynosvision ifeq ($(TARGET_USES_CL_KERNEL),true) PRODUCT_PACKAGES += \ libopenvx-opencl endif GPS_CHIPSET := 47765 PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.hardware.location.gps.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.location.gps.xml \ device/google/gs101/gnss/${GPS_CHIPSET}/config/gps.xml:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/gps.xml \ device/google/gs101/gnss/${GPS_CHIPSET}/config/lhd.conf:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/lhd.conf \ device/google/gs101/gnss/${GPS_CHIPSET}/config/scd.conf:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/scd.conf \ device/google/gs101/gnss/${GPS_CHIPSET}/config/gps.cer:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/gps.cer \ device/google/gs101/gnss/${GPS_CHIPSET}/firmware/SensorHub.patch:$(TARGET_COPY_OUT_VENDOR)/firmware/SensorHub.patch PRODUCT_SOONG_NAMESPACES += \ device/google/gs101/gnss/$(GPS_CHIPSET) PRODUCT_PACKAGES += \ android.hardware.gnss@2.1-impl-google \ gps.default \ flp.default \ gpsd \ lhd \ scd \ android.hardware.gnss@2.1-service-brcm PRODUCT_PACKAGES_DEBUG += \ init.gps_log.rc # Trusty (KM, GK, Storage) $(call inherit-product, system/core/trusty/trusty-storage.mk) $(call inherit-product, system/core/trusty/trusty-base.mk) # Trusty unit test tool PRODUCT_PACKAGES_DEBUG += trusty-ut-ctrl # Trusty ConfirmationUI HAL PRODUCT_PACKAGES += \ android.hardware.confirmationui@1.0-service.trusty.vendor # Trusty Secure DPU Daemon PRODUCT_PACKAGES += \ securedpud.slider PRODUCT_PACKAGES += \ android.hardware.graphics.composer@2.4-impl \ android.hardware.graphics.composer@2.4-service PRODUCT_PACKAGES += \ android.hardware.renderscript@1.0-impl # Storage: for factory reset protection feature PRODUCT_PROPERTY_OVERRIDES += \ ro.frp.pst=/dev/block/by-name/frp # RenderScript HAL PRODUCT_PACKAGES += \ android.hardware.renderscript@1.0-impl # Bluetooth HAL PRODUCT_PACKAGES += \ android.hardware.bluetooth@1.1-service.bcmbtlinux \ bt_vendor.conf PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.hardware.bluetooth.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth.xml \ frameworks/native/data/etc/android.hardware.bluetooth_le.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth_le.xml # System props to enable Bluetooth Quality Report (BQR) feature ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) PRODUCT_PRODUCT_PROPERTIES += \ persist.bluetooth.bqr.event_mask=262174 \ persist.bluetooth.bqr.min_interval_ms=500 else PRODUCT_PRODUCT_PROPERTIES += \ persist.bluetooth.bqr.event_mask=30 \ persist.bluetooth.bqr.min_interval_ms=500 endif #VNDK PRODUCT_PACKAGES += \ vndk-libs PRODUCT_ENFORCE_RRO_TARGETS := \ framework-res # Dynamic Partitions PRODUCT_USE_DYNAMIC_PARTITIONS := true # Use FUSE passthrough PRODUCT_PRODUCT_PROPERTIES += \ persist.sys.fuse.passthrough.enable=true # Use /product/etc/fstab.postinstall to mount system_other PRODUCT_PRODUCT_PROPERTIES += \ ro.postinstall.fstab.prefix=/product PRODUCT_COPY_FILES += \ device/google/gs101/conf/fstab.postinstall:$(TARGET_COPY_OUT_PRODUCT)/etc/fstab.postinstall # fastbootd PRODUCT_PACKAGES += \ android.hardware.fastboot@1.1-impl.pixel \ fastbootd #google iwlan PRODUCT_PACKAGES += \ Iwlan #Iwlan test app for userdebug/eng builds ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) PRODUCT_PACKAGES += \ IwlanTestApp endif #vendor directory packages ifeq (,$(filter %_64,$(TARGET_PRODUCT))) PRODUCT_PACKAGES += \ libGLES_mali32 \ libgpudataproducer32 \ libRSDriverArm32 \ libbccArm32 \ libmalicore32 \ libOpenCL32 endif PRODUCT_PACKAGES += \ libGLES_mali \ libgpudataproducer \ libRSDriverArm \ libbccArm \ libmalicore \ libOpenCL \ whitelist \ libstagefright_hdcp \ libskia_opt ifneq (,$(realpath $(TOPDIR)vendor/arm/mali/valhall/Android.bp)) # TODO: fix the prebuilts to properly define and install this target # rather than simply making a symlink PRODUCT_PACKAGES += \ vulkan.gs101 endif ifeq ($(USE_SWIFTSHADER),true) PRODUCT_PACKAGES += \ libGLESv1_CM_swiftshader \ libEGL_swiftshader \ libGLESv2_swiftshader endif #PRODUCT_PACKAGES += \ mfc_fw.bin \ calliope_sram.bin \ calliope_dram.bin \ calliope_iva.bin \ vts.bin # This will be called only if IMSService is building with source code for dev branches. $(call inherit-product-if-exists, vendor/samsung_slsi/telephony/shannon-ims/device-vendor.mk) PRODUCT_PACKAGES += ShannonIms $(call inherit-product-if-exists, vendor/samsung_slsi/telephony/shannon-iwlan/device-vendor.mk) $(call inherit-product-if-exists, vendor/samsung_slsi/telephony/packetrouter/device-vendor.mk) #RCS Test Messaging App PRODUCT_PACKAGES_DEBUG += \ TestRcsApp PRODUCT_PACKAGES += ShannonRcs # Boot Control HAL PRODUCT_PACKAGES += \ android.hardware.boot@1.2-impl-gs101 \ android.hardware.boot@1.2-service-gs101 # Exynos RIL and telephony # Multi SIM(DSDS) SIM_COUNT := 2 SUPPORT_MULTI_SIM := true # Support NR SUPPORT_NR := true # Using IRadio 1.6 USE_RADIO_HAL_1_6 := true #$(call inherit-product, vendor/google_devices/telephony/common/device-vendor.mk) #$(call inherit-product, vendor/google_devices/gs101/proprietary/device-vendor.mk) $(call inherit-product-if-exists, vendor/samsung_slsi/telephony/common/device-vendor.mk) ifeq (,$(filter %_64,$(TARGET_PRODUCT))) $(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk) else $(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit_only.mk) endif #$(call inherit-product, hardware/google_devices/exynos5/exynos5.mk) #$(call inherit-product-if-exists, hardware/google_devices/gs101/gs101.mk) #$(call inherit-product-if-exists, vendor/google_devices/common/exynos-vendor.mk) #$(call inherit-product-if-exists, hardware/broadcom/wlan/bcmdhd/firmware/bcm4375/device-bcm.mk) $(call inherit-product-if-exists, vendor/google/sensors/usf/android/usf_efw_product.mk) $(call inherit-product-if-exists, vendor/google/services/LyricCameraHAL/src/build/device-vendor.mk) $(call inherit-product-if-exists, vendor/google/camera/devices/whi/device-vendor.mk) PRODUCT_COPY_FILES += \ device/google/gs101/default-permissions.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/default-permissions/default-permissions.xml \ device/google/gs101/component-overrides.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sysconfig/component-overrides.xml \ frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml \ # modem_svc_sit daemon PRODUCT_PACKAGES += modem_svc_sit # modem logging binary/configs PRODUCT_PACKAGES += modem_logging_control PRODUCT_COPY_FILES += \ device/google/gs101/radio/gnss_blanking.csv:$(TARGET_COPY_OUT_VENDOR)/etc/modem/gnss_blanking.csv # ARM NN files ARM_COMPUTE_CL_ENABLE := 1 # Vibrator Diag PRODUCT_PACKAGES_DEBUG += \ diag-vibrator \ diag-vibrator-cs40l25a \ diag-vibrator-drv2624 \ $(NULL) # NFC PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.hardware.nfc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.xml \ frameworks/native/data/etc/android.hardware.nfc.hce.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hce.xml \ frameworks/native/data/etc/android.hardware.nfc.hcef.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hcef.xml \ frameworks/native/data/etc/com.nxp.mifare.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/com.nxp.mifare.xml \ frameworks/native/data/etc/android.hardware.nfc.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.uicc.xml \ frameworks/native/data/etc/android.hardware.nfc.ese.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.ese.xml PRODUCT_PACKAGES += \ NfcNci \ Tag \ android.hardware.nfc@1.2-service.st PRODUCT_COPY_FILES += \ device/google/gs101/nfc/libnfc-nci.conf:$(TARGET_COPY_OUT_PRODUCT)/etc/libnfc-nci.conf # SecureElement PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.hardware.se.omapi.ese.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.ese.xml \ frameworks/native/data/etc/android.hardware.se.omapi.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.uicc.xml PRODUCT_PACKAGES += \ android.hardware.health@2.1-impl-gs101 \ android.hardware.health@2.1-service # Audio # Audio HAL Server & Default Implementations PRODUCT_PACKAGES += \ android.hardware.audio@2.0-service \ android.hardware.audio@6.0-impl \ android.hardware.audio.effect@6.0-impl \ android.hardware.bluetooth.audio@2.0-impl \ android.hardware.soundtrigger@2.3-impl \ vendor.google.whitechapel.audio.audioext@2.0-impl #Audio HAL libraries PRODUCT_PACKAGES += \ audio.primary.$(TARGET_BOARD_PLATFORM) \ audio.platform.aoc \ sound_trigger.primary.$(TARGET_BOARD_PLATFORM) \ audio_bt_aoc \ audio_tunnel_aoc \ aoc_aud_ext \ libaoctuningdecoder \ libaoc_waves \ liboffloadeffect \ libdsp_aecns \ audio_waves_aoc \ audio_fortemedia_aoc \ audio_usb_aoc \ audio_spk_35l41 \ audio.usb.default \ audio.a2dp.default \ audio.bluetooth.default \ audio.r_submix.default #Audio Vendor libraries PRODUCT_PACKAGES += \ libfvsam_prm_parser \ libmahalcontroller \ libAlgFx_HiFi3z # AudioHAL Configurations PRODUCT_COPY_FILES += \ frameworks/av/services/audiopolicy/config/a2dp_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_audio_policy_configuration.xml \ frameworks/av/services/audiopolicy/config/bluetooth_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_audio_policy_configuration.xml \ frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \ frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usb_audio_policy_configuration.xml \ frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \ frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \ #Audio soong PRODUCT_SOONG_NAMESPACES += \ vendor/google/whitechapel/audio/hal \ vendor/google/whitechapel/audio/interfaces SOONG_CONFIG_NAMESPACES += aoc_audio_board SOONG_CONFIG_aoc_audio_board += \ platform SOONG_CONFIG_aoc_audio_board_platform := $(TARGET_BOARD_PLATFORM) # Audio properties PRODUCT_PROPERTY_OVERRIDES += \ ro.config.vc_call_vol_steps=7 \ ro.config.media_vol_steps=25 \ ro.audio.monitorRotation = true # vndservicemanager and vndservice no longer included in API 30+, however needed by vendor code. # See b/148807371 for reference PRODUCT_PACKAGES += vndservicemanager PRODUCT_PACKAGES += vndservice # TinyTools, debug tool and cs35l41 speaker calibration tool for Audio ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) PRODUCT_PACKAGES += \ tinyplay \ tinycap \ tinymix \ tinypcminfo \ tinyhostless \ cplay \ aoc_hal \ aoc_tuning_inft \ crus_sp_cal \ mahal_test \ ma_aoc_tuning_test endif PRODUCT_PACKAGES += \ google.hardware.media.c2@1.0-service \ libgc2_store \ libgc2_base \ libgc2_av1_dec \ libbo_av1 \ libgc2_cwl \ libgc2_utils # Start packet router PRODUCT_PROPERTY_OVERRIDES += vendor.pktrouter=1 # Thermal HAL include hardware/google/pixel/thermal/device.mk PRODUCT_PROPERTY_OVERRIDES += persist.vendor.enable.thermal.genl=true # TPU NN HAL PRODUCT_PACKAGES += \ android.hardware.neuralnetworks@1.3-service-darwinn # TPU logging service PRODUCT_PACKAGES += \ android.hardware.edgetpu.logging@service-edgetpu-logging # TPU HAL service PRODUCT_PACKAGES += \ vendor.google.edgetpu@1.0-service # TPU HAL client library PRODUCT_PACKAGES += \ libedgetpu_client.google # TPU HAL client library vendor variant PRODUCT_PACKAGES += \ libedgetpu_client.google.vendor # Connectivity Thermal Power Manager PRODUCT_PACKAGES += \ ConnectivityThermalPowerManager # A/B support PRODUCT_PACKAGES += \ otapreopt_script \ cppreopts.sh \ update_engine \ update_engine_sideload \ update_verifier # tetheroffload HAL PRODUCT_PACKAGES += \ vendor.samsung_slsi.hardware.tetheroffload@1.0-service # pKVM ifeq ($(TARGET_PKVM_ENABLED),true) $(call inherit-product, packages/modules/Virtualization/apex/product_packages.mk) endif # Enable watchdog timeout loop breaker. PRODUCT_PROPERTY_OVERRIDES += \ framework_watchdog.fatal_window.second=600 \ framework_watchdog.fatal_count=3 # Enable zygote critical window. PRODUCT_PROPERTY_OVERRIDES += \ zygote.critical_window.minute=10 # Project include hardware/google/pixel/common/pixel-common-device.mk