diff --git a/Android.bp b/Android.bp
index ad27f07..dfecee0 100644
--- a/Android.bp
+++ b/Android.bp
@@ -1,26 +1,3 @@
-//
-// Copyright (C) 2021-2024 The LineageOS Project
-// SPDX-License-Identifier: Apache-2.0
-// Copyright (C) 2019-Current A-Team Digital Solutions
-//
-
soong_namespace {
- imports: [
- "hardware/google/interfaces",
- "hardware/google/pixel"
- ],
-}
-
-install_symlink {
- name: "firmware_wlan_mac.bin_symlink",
- vendor: true,
- installed_location: "firmware/wlan/qca_cld/wlan_mac.bin",
- symlink_target: "/mnt/vendor/persist/wlan_mac.bin",
-}
-
-install_symlink {
- name: "firmware_WCNSS_qcom_cfg.ini_symlink",
- vendor: true,
- installed_location: "firmware/wlan/qca_cld/WCNSS_qcom_cfg.ini",
- symlink_target: "/odm/vendor/etc/wifi/WCNSS_qcom_cfg.ini",
+ imports: ["hardware/qcom-caf/bootctrl"],
}
diff --git a/Android.mk b/Android.mk
new file mode 100644
index 0000000..dbae463
--- /dev/null
+++ b/Android.mk
@@ -0,0 +1,99 @@
+#
+# Copyright (C) 2021-2022 The LineageOS 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.
+#
+
+LOCAL_PATH := $(call my-dir)
+
+ifeq ($(TARGET_DEVICE),dre)
+include $(call all-makefiles-under,$(LOCAL_PATH))
+
+include $(CLEAR_VARS)
+
+# A/B builds require us to create the mount points at compile time.
+# Just creating it for all cases since it does not hurt.
+FIRMWARE_MOUNT_POINT := $(TARGET_OUT_VENDOR)/firmware_mnt
+$(FIRMWARE_MOUNT_POINT): $(LOCAL_INSTALLED_MODULE)
+ @echo "Creating $(FIRMWARE_MOUNT_POINT)"
+ @mkdir -p $(TARGET_OUT_VENDOR)/firmware_mnt
+
+BT_FIRMWARE_MOUNT_POINT := $(TARGET_OUT_VENDOR)/bt_firmware
+$(BT_FIRMWARE_MOUNT_POINT): $(LOCAL_INSTALLED_MODULE)
+ @echo "Creating $(BT_FIRMWARE_MOUNT_POINT)"
+ @mkdir -p $(TARGET_OUT_VENDOR)/bt_firmware
+
+DSP_MOUNT_POINT := $(TARGET_OUT_VENDOR)/dsp
+$(DSP_MOUNT_POINT): $(LOCAL_INSTALLED_MODULE)
+ @echo "Creating $(DSP_MOUNT_POINT)"
+ @mkdir -p $(TARGET_OUT_VENDOR)/dsp
+
+ALL_DEFAULT_INSTALLED_MODULES += $(FIRMWARE_MOUNT_POINT) $(BT_FIRMWARE_MOUNT_POINT) $(DSP_MOUNT_POINT)
+
+RFS_MSM_ADSP_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/msm/adsp/
+$(RFS_MSM_ADSP_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
+ @echo "Creating RFS MSM ADSP folder structure: $@"
+ @rm -rf $@/*
+ @mkdir -p $(dir $@)/readonly/vendor
+ $(hide) ln -sf /data/vendor/tombstones/rfs/lpass $@/ramdumps
+ $(hide) ln -sf /mnt/vendor/persist/rfs/msm/adsp $@/readwrite
+ $(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared
+ $(hide) ln -sf /mnt/vendor/persist/hlos_rfs/shared $@/hlos
+ $(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware
+ $(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware
+
+RFS_MSM_CDSP_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/msm/cdsp/
+$(RFS_MSM_CDSP_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
+ @echo "Creating RFS MSM CDSP folder structure: $@"
+ @rm -rf $@/*
+ @mkdir -p $(dir $@)/readonly/vendor
+ $(hide) ln -sf /data/vendor/tombstones/rfs/cdsp $@/ramdumps
+ $(hide) ln -sf /mnt/vendor/persist/rfs/msm/cdsp $@/readwrite
+ $(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared
+ $(hide) ln -sf /mnt/vendor/persist/hlos_rfs/shared $@/hlos
+ $(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware
+ $(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware
+
+RFS_MSM_MPSS_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/msm/mpss/
+$(RFS_MSM_MPSS_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
+ @echo "Creating RFS MSM MPSS folder structure: $@"
+ @rm -rf $@/*
+ @mkdir -p $(dir $@)/readonly/vendor
+ $(hide) ln -sf /data/vendor/tombstones/rfs/modem $@/ramdumps
+ $(hide) ln -sf /mnt/vendor/persist/rfs/msm/mpss $@/readwrite
+ $(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared
+ $(hide) ln -sf /mnt/vendor/persist/hlos_rfs/shared $@/hlos
+ $(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware
+ $(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware
+
+RFS_MSM_SLPI_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/msm/slpi/
+$(RFS_MSM_SLPI_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
+ @echo "Creating RFS MSM SLPI folder structure: $@"
+ @rm -rf $@/*
+ @mkdir -p $(dir $@)/readonly/vendor
+ $(hide) ln -sf /data/vendor/tombstones/rfs/slpi $@/ramdumps
+ $(hide) ln -sf /mnt/vendor/persist/rfs/msm/slpi $@/readwrite
+ $(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared
+ $(hide) ln -sf /mnt/vendor/persist/hlos_rfs/shared $@/hlos
+ $(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware
+ $(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware
+
+WIFI_FIRMWARE_SYMLINKS := $(TARGET_OUT_VENDOR)/firmware/wlan/qca_cld
+$(WIFI_FIRMWARE_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
+ @echo "Creating wifi firmware symlinks: $@"
+ @mkdir -p $@
+ $(hide) ln -sf /mnt/vendor/persist/WCNSS_qcom_cfg.ini $@/WCNSS_qcom_cfg.ini
+ $(hide) ln -sf /mnt/vendor/persist/wlan_mac.bin $@/wlan_mac.bin
+
+ALL_DEFAULT_INSTALLED_MODULES += $(RFS_MSM_ADSP_SYMLINKS) $(RFS_MSM_CDSP_SYMLINKS) $(RFS_MSM_MPSS_SYMLINKS) $(RFS_MSM_SLPI_SYMLINKS) $(WIFI_FIRMWARE_SYMLINKS)
+endif
diff --git a/AndroidProducts.mk b/AndroidProducts.mk
index 5149227..5b67f85 100644
--- a/AndroidProducts.mk
+++ b/AndroidProducts.mk
@@ -13,6 +13,11 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
-# Copyright (C) 2019-Current A-Team Digital Solutions
+
PRODUCT_MAKEFILES := \
- $(LOCAL_DIR)/bliss_dre.mk
+ $(LOCAL_DIR)/lineage_dre.mk
+
+COMMON_LUNCH_CHOICES := \
+ lineage_dre-user \
+ lineage_dre-userdebug \
+ lineage_dre-eng
diff --git a/BoardConfig.mk b/BoardConfig.mk
index 300574b..adf47eb 100644
--- a/BoardConfig.mk
+++ b/BoardConfig.mk
@@ -1,6 +1,23 @@
-# Copyright (C) 2021-2024 The LineageOS Project
-# SPDX-License-Identifier: Apache-2.0
-# Copyright (C) 2019-Current A-Team Digital Solutions
+#
+# Copyright (C) 2021-2022 The LineageOS 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.
+#
+
+BUILD_BROKEN_DUP_RULES := true
+BUILD_BROKEN_ELF_PREBUILT_PRODUCT_COPY_FILES := true
+
+BOARD_VENDOR := oneplus
DEVICE_PATH := device/oneplus/dre
@@ -20,6 +37,9 @@ AB_OTA_PARTITIONS += \
vendor_boot \
vendor_dlkm
+# ANT+
+BOARD_ANT_WIRELESS_DEVICE := "qualcomm-hidl"
+
# Architecture
TARGET_ARCH := arm64
TARGET_ARCH_VARIANT := armv8-a
@@ -35,11 +55,13 @@ TARGET_2ND_CPU_ABI2 := armeabi
TARGET_2ND_CPU_VARIANT := generic
TARGET_2ND_CPU_VARIANT_RUNTIME := kryo385
-# Assert
-TARGET_OTA_ASSERT_DEVICE := OnePlusN200,OnePlusN200TMO,dre
-
# Audio
+AUDIO_FEATURE_ENABLED_AHAL_EXT := false
AUDIO_FEATURE_ENABLED_DLKM := true
+AUDIO_FEATURE_ENABLED_DS2_DOLBY_DAP := false
+AUDIO_FEATURE_ENABLED_DTS_EAGLE := false
+AUDIO_FEATURE_ENABLED_DYNAMIC_LOG := false
+AUDIO_FEATURE_ENABLED_EXT_AMPLIFIER := true
AUDIO_FEATURE_ENABLED_EXTENDED_COMPRESS_FORMAT := true
AUDIO_FEATURE_ENABLED_GEF_SUPPORT := true
AUDIO_FEATURE_ENABLED_GKI := true
@@ -47,7 +69,6 @@ AUDIO_FEATURE_ENABLED_HW_ACCELERATED_EFFECTS := false
AUDIO_FEATURE_ENABLED_INSTANCE_ID := true
AUDIO_FEATURE_ENABLED_PROXY_DEVICE := true
AUDIO_FEATURE_ENABLED_SSR := true
-AUDIO_FEATURE_ENABLED_SVA_MULTI_STAGE := true
BOARD_SUPPORTS_OPENSOURCE_STHAL := true
BOARD_SUPPORTS_SOUND_TRIGGER := true
BOARD_USES_ALSA_AUDIO := true
@@ -57,18 +78,40 @@ USE_CUSTOM_AUDIO_POLICY := 1
TARGET_BOOTLOADER_BOARD_NAME := holi
TARGET_NO_BOOTLOADER := true
+# Bluetooth
+BOARD_BLUETOOTH_BDROID_BUILDCFG_INLUDE_DIR := $(DEVICE_PATH)/bluetooth
+TARGET_USE_QTI_BT_STACK := true
+
# Camera
TARGET_USES_QTI_CAMERA_DEVICE := true
USE_DEVICE_SPECIFIC_CAMERA := true
# Display
-TARGET_GRALLOC_HANDLE_HAS_RESERVED_SIZE := true
-TARGET_HAS_WIDE_COLOR_DISPLAY := false
TARGET_SCREEN_DENSITY := 450
+TARGET_USES_COLOR_METADATA := true
+TARGET_USES_DISPLAY_RENDER_INTENTS := true
+TARGET_USES_DRM_PP := true
+TARGET_USES_GRALLOC4 := true
+TARGET_USES_HWC2 := true
+TARGET_USES_ION := true
+TARGET_USES_QCOM_DISPLAY_BSP := true
+TARGET_USES_QTI_MAPPER_2_0 := true
+TARGET_USES_QTI_MAPPER_EXTENSIONS_1_1 := true
+
+# DRM
+TARGET_ENABLE_MEDIADRM_64 := true
# Filesystem
TARGET_FS_CONFIG_GEN := $(DEVICE_PATH)/config.fs
+# HIDL
+DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE := \
+ $(DEVICE_PATH)/device_framework_matrix.xml \
+ hardware/qcom-caf/common/vendor_framework_compatibility_matrix.xml \
+ vendor/lineage/config/device_framework_matrix.xml
+DEVICE_MATRIX_FILE := $(DEVICE_PATH)/compatibility_matrix.xml
+DEVICE_MANIFEST_FILE := $(DEVICE_PATH)/manifest.xml
+
# Kernel
BOARD_BOOT_HEADER_VERSION := 3
BOARD_KERNEL_BASE := 0x00000000
@@ -84,35 +127,45 @@ BOARD_KERNEL_CMDLINE := \
service_locator.enable=1 \
swiotlb=0 \
iptable_raw.raw_before_defrag=1 \
- ip6table_raw.raw_before_defrag=1
+ ip6table_raw.raw_before_defrag=1 \
+ video=vfb:640x400,bpp=32,memsize=3072000
BOARD_KERNEL_IMAGE_NAME := Image
BOARD_KERNEL_PAGESIZE := 4096
BOARD_KERNEL_SEPARATED_DTBO := true
BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOT_HEADER_VERSION)
-BOARD_RAMDISK_USE_LZ4 := true
+TARGET_KERNEL_ADDITIONAL_FLAGS := \
+ DTC_EXT=$(shell pwd)/prebuilts/misc/linux-x86/dtc/dtc \
+ LLVM=1
TARGET_KERNEL_SOURCE := kernel/oneplus/sm4350
TARGET_KERNEL_CONFIG := vendor/holi-qgki_defconfig
-TARGET_KERNEL_NO_GCC := true
# Kernel modules
BOARD_VENDOR_KERNEL_MODULES_LOAD := $(strip $(shell cat $(DEVICE_PATH)/modules.load))
+BOARD_VENDOR_RAMDISK_RECOVERY_KERNEL_MODULES_LOAD := $(strip $(shell cat $(DEVICE_PATH)/modules.load.recovery))
+BOOT_KERNEL_MODULES := $(BOARD_VENDOR_RAMDISK_RECOVERY_KERNEL_MODULES_LOAD)
# Metadata
BOARD_USES_METADATA_PARTITION := true
# Partitions
-BOARD_PRODUCTIMAGE_MINIMAL_PARTITION_RESERVED_SIZE := false
--include vendor/lineage/config/BoardConfigReservedSize.mk
BOARD_BOOTIMAGE_PARTITION_SIZE := 100663296
BOARD_DTBOIMG_PARTITION_SIZE := 8388608
BOARD_USERDATAIMAGE_PARTITION_SIZE := 54429298688
BOARD_VENDOR_BOOTIMAGE_PARTITION_SIZE := 100663296
-BOARD_ODMIMAGE_FILE_SYSTEM_TYPE := erofs
+ifneq ($(WITH_GMS),true)
+BOARD_PRODUCTIMAGE_EXTFS_INODE_COUNT := -1
+BOARD_PRODUCTIMAGE_PARTITION_RESERVED_SIZE := 958769746
+BOARD_SYSTEMIMAGE_EXTFS_INODE_COUNT := -1
+BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE := 1441097161
+BOARD_SYSTEM_EXTIMAGE_EXTFS_INODE_COUNT := -1
+BOARD_SYSTEM_EXTIMAGE_PARTITION_RESERVED_SIZE := 92160000
+endif
+BOARD_ODMIMAGE_FILE_SYSTEM_TYPE := ext4
BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE := ext4
BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE := ext4
BOARD_SYSTEMIMAGE_FILE_SYSTEM_TYPE := ext4
-BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := erofs
-BOARD_VENDOR_DLKMIMAGE_FILE_SYSTEM_TYPE := erofs
+BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
+BOARD_VENDOR_DLKMIMAGE_FILE_SYSTEM_TYPE := ext4
BOARD_ONEPLUS_DYNAMIC_PARTITIONS_PARTITION_LIST := odm product system system_ext vendor vendor_dlkm
BOARD_ONEPLUS_DYNAMIC_PARTITIONS_SIZE := 5837979648
BOARD_SUPER_PARTITION_GROUPS := oneplus_dynamic_partitions
@@ -128,72 +181,57 @@ TARGET_COPY_OUT_VENDOR_DLKM := vendor_dlkm
BOARD_USES_QCOM_HARDWARE := true
TARGET_BOARD_PLATFORM := holi
+# Power
+TARGET_TAP_TO_WAKE_NODE := "/proc/touchpanel/double_tap_enable"
+
# Properties
TARGET_ODM_PROP += $(DEVICE_PATH)/odm.prop
-TARGET_PRODUCT_PROP += $(DEVICE_PATH)/product.prop
-TARGET_SYSTEM_EXT_PROP += $(DEVICE_PATH)/system_ext.prop
+TARGET_SYSTEM_PROP += $(DEVICE_PATH)/system.prop
TARGET_VENDOR_PROP += $(DEVICE_PATH)/vendor.prop
# Recovery
BOARD_INCLUDE_DTB_IN_BOOTIMG := true
-BOARD_MOVE_RECOVERY_RESOURCES_TO_VENDOR_BOOT := true
-TARGET_RECOVERY_FSTAB := $(DEVICE_PATH)/init/fstab.qcom
+BOARD_USES_RECOVERY_AS_BOOT := true
+TARGET_RECOVERY_FSTAB := $(DEVICE_PATH)/rootdir/etc/fstab.qcom
TARGET_RECOVERY_PIXEL_FORMAT := RGBX_8888
TARGET_USERIMAGES_USE_EXT4 := true
TARGET_USERIMAGES_USE_F2FS := true
# RIL
+CUSTOM_APNS_FILE := $(DEVICE_PATH)/configs/apns-conf.xml
ENABLE_VENDOR_RIL_SERVICE := true
-# Security
-BOOT_SECURITY_PATCH := $(PLATFORM_SECURITY_PATCH)
-VENDOR_SECURITY_PATCH := $(BOOT_SECURITY_PATCH)
+# Security patch level
+VENDOR_SECURITY_PATCH := 2022-03-01
# SEPolicy
include device/qcom/sepolicy_vndr/SEPolicy.mk
-include hardware/oplus/sepolicy/qti/SEPolicy.mk
-SYSTEM_EXT_PRIVATE_SEPOLICY_DIRS += $(DEVICE_PATH)/sepolicy/private
+
+BOARD_VENDOR_SEPOLICY_DIRS += $(DEVICE_PATH)/sepolicy/vendor
# Verified Boot
BOARD_AVB_ENABLE := true
BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --set_hashtree_disabled_flag
-BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --set_verification_disabled_flag
-
-BOARD_AVB_BOOT_KEY_PATH := external/avb/test/data/testkey_rsa4096.pem
-BOARD_AVB_BOOT_ALGORITHM := SHA256_RSA4096
-BOARD_AVB_BOOT_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
-BOARD_AVB_BOOT_ROLLBACK_INDEX_LOCATION := 4
-
-BOARD_AVB_DTBO_KEY_PATH := external/avb/test/data/testkey_rsa4096.pem
-BOARD_AVB_DTBO_ALGORITHM := SHA256_RSA4096
-BOARD_AVB_DTBO_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
-BOARD_AVB_DTBO_ROLLBACK_INDEX_LOCATION := 3
-
+BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --flags 2
BOARD_AVB_VBMETA_SYSTEM := system system_ext product
-BOARD_AVB_VBMETA_SYSTEM_KEY_PATH := external/avb/test/data/testkey_rsa4096.pem
-BOARD_AVB_VBMETA_SYSTEM_ALGORITHM := SHA256_RSA4096
+BOARD_AVB_VBMETA_SYSTEM_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
+BOARD_AVB_VBMETA_SYSTEM_ALGORITHM := SHA256_RSA2048
BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
-BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX_LOCATION := 2
-
-BOARD_AVB_VENDOR_BOOT_KEY_PATH := external/avb/test/data/testkey_rsa4096.pem
-BOARD_AVB_VENDOR_BOOT_ALGORITHM := SHA256_RSA4096
-BOARD_AVB_VENDOR_BOOT_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
-BOARD_AVB_VENDOR_BOOT_ROLLBACK_INDEX_LOCATION := 1
+BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX_LOCATION := 1
# Wi-Fi
BOARD_WLAN_DEVICE := qcwcn
BOARD_HOSTAPD_DRIVER := NL80211
BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE)
-BOARD_WPA_SUPPLICANT_DRIVER := $(BOARD_HOSTAPD_DRIVER)
-BOARD_WPA_SUPPLICANT_PRIVATE_LIB := $(BOARD_HOSTAPD_PRIVATE_LIB)
-BOARD_WPA_SUPPLICANT_PRIVATE_LIB_EVENT := "ON"
+BOARD_WPA_SUPPLICANT_DRIVER := NL80211
+BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE)
+WIFI_DRIVER_DEFAULT := qca_cld3
WIFI_DRIVER_STATE_CTRL_PARAM := "/dev/wlan"
WIFI_DRIVER_STATE_OFF := "OFF"
WIFI_DRIVER_STATE_ON := "ON"
-WIFI_HIDL_FEATURE_AWARE := true
WIFI_HIDL_FEATURE_DUAL_INTERFACE := true
WIFI_HIDL_UNIFIED_SUPPLICANT_SERVICE_RC_ENTRY := true
WPA_SUPPLICANT_VERSION := VER_0_8_X
# Include the proprietary files BoardConfig.
-include vendor/oneplus/dre/BoardConfigVendor.mk
+-include vendor/oneplus/dre/BoardConfigVendor.mk
diff --git a/LICENSE b/LICENSE
deleted file mode 100644
index 261eeb9..0000000
--- a/LICENSE
+++ /dev/null
@@ -1,201 +0,0 @@
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- 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.
diff --git a/configs/audio/audio_io_policy.conf b/audio/audio_io_policy.conf
similarity index 90%
rename from configs/audio/audio_io_policy.conf
rename to audio/audio_io_policy.conf
index b1169dd..337c70b 100644
--- a/configs/audio/audio_io_policy.conf
+++ b/audio/audio_io_policy.conf
@@ -11,21 +11,26 @@
# the flags and formats should match the ones in "audio_policy.conf"
outputs {
+#ifdef VENDOR_EDIT
+#if OP_FEATURE_MM_24BIT == 1
+#zhangyu@MM.Audio, 2021/01/28, Use 24bit to playback
default {
- flags AUDIO_OUTPUT_FLAG_PRIMARY
- formats AUDIO_FORMAT_PCM_16_BIT
- sampling_rates 48000
- bit_width 16
- app_type 69937
- }
-#Vincent.chen@MULTIMEDIA.AUDIODRIVER.HAL, 2022/03/09, Add for support 24bit playback
- default_24bit {
flags AUDIO_OUTPUT_FLAG_PRIMARY
formats AUDIO_FORMAT_PCM_24_BIT_PACKED
sampling_rates 48000
bit_width 24
app_type 69937
}
+#else
+# default {
+# flags AUDIO_OUTPUT_FLAG_PRIMARY
+# formats AUDIO_FORMAT_PCM_16_BIT
+# sampling_rates 48000
+# bit_width 16
+# app_type 69937
+# }
+#endif
+#endif
proaudio {
flags AUDIO_OUTPUT_FLAG_FAST|AUDIO_OUTPUT_FLAG_RAW
formats AUDIO_FORMAT_PCM_16_BIT
@@ -40,21 +45,26 @@ outputs {
bit_width 16
app_type 69946
}
+#ifdef VENDOR_EDIT
+#if OP_FEATURE_MM_24BIT == 1
+#zhangyu@MM.Audio, 2021/01/28, Use 24bit to playback
deep_buffer {
- flags AUDIO_OUTPUT_FLAG_DEEP_BUFFER
- formats AUDIO_FORMAT_PCM_16_BIT
- sampling_rates 48000
- bit_width 16
- app_type 69936
- }
-#Vincent.chen@MULTIMEDIA.AUDIODRIVER.HAL, 2022/03/09, Add for support 24bit playback
- deep_buffer_24bit {
flags AUDIO_OUTPUT_FLAG_DEEP_BUFFER
formats AUDIO_FORMAT_PCM_24_BIT_PACKED
sampling_rates 48000
bit_width 24
app_type 69936
}
+#else
+# deep_buffer {
+# flags AUDIO_OUTPUT_FLAG_DEEP_BUFFER
+# formats AUDIO_FORMAT_PCM_16_BIT
+# sampling_rates 48000
+# bit_width 16
+# app_type 69936
+# }
+#endif
+#endif
direct_pcm_16 {
flags AUDIO_OUTPUT_FLAG_DIRECT
formats AUDIO_FORMAT_PCM_16_BIT|AUDIO_FORMAT_PCM_24_BIT_PACKED|AUDIO_FORMAT_PCM_8_24_BIT|AUDIO_FORMAT_PCM_32_BIT
diff --git a/configs/audio/audio_platform_info.xml b/audio/audio_platform_info_intcodec.xml
similarity index 81%
rename from configs/audio/audio_platform_info.xml
rename to audio/audio_platform_info_intcodec.xml
index 9bfd743..b628fdf 100644
--- a/configs/audio/audio_platform_info.xml
+++ b/audio/audio_platform_info_intcodec.xml
@@ -1,5 +1,5 @@
-
+
@@ -82,11 +82,8 @@
-
-
-
+
-
@@ -95,20 +92,16 @@
+
+
-
-
-
-
-
-
@@ -116,33 +109,15 @@
-
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
@@ -153,7 +128,12 @@
+
+
+
+
+
@@ -177,60 +157,16 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
@@ -262,9 +198,6 @@
-
-
-
@@ -309,9 +242,6 @@
-
-
-
@@ -350,9 +280,6 @@
-
-
-
@@ -399,25 +326,12 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
@@ -471,6 +385,8 @@
+
-
diff --git a/configs/audio/mixer_paths.xml b/audio/mixer_paths.xml
similarity index 84%
rename from configs/audio/mixer_paths.xml
rename to audio/mixer_paths.xml
index ee9a34f..68508d8 100644
--- a/configs/audio/mixer_paths.xml
+++ b/audio/mixer_paths.xml
@@ -64,7 +64,6 @@
-
@@ -336,7 +335,6 @@
-
@@ -348,14 +346,6 @@
-
-
-
-
-
-
-
-
@@ -382,31 +372,33 @@
-
-
-
-
-
-
+
-
-
+
+
+
+
+
+
+
-
+
+
+
+
@@ -454,9 +446,6 @@
-
-
-
@@ -482,36 +471,9 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
@@ -564,34 +526,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -624,9 +558,11 @@
+
+
@@ -673,6 +609,7 @@
+
@@ -779,6 +716,7 @@
+
@@ -927,6 +865,7 @@
+
@@ -997,11 +936,6 @@
-
-
-
-
-
@@ -1018,9 +952,11 @@
+
+
@@ -1055,6 +991,7 @@
+
@@ -1164,9 +1101,11 @@
+
+
@@ -1185,6 +1124,7 @@
+
@@ -1295,9 +1235,11 @@
+
+
@@ -1316,6 +1258,7 @@
+
@@ -1425,9 +1368,11 @@
+
+
@@ -1446,6 +1391,7 @@
+
@@ -1555,9 +1501,11 @@
+
+
@@ -1576,6 +1524,7 @@
+
@@ -1685,9 +1634,11 @@
+
+
@@ -1706,6 +1657,7 @@
+
@@ -1815,9 +1767,11 @@
+
+
@@ -1836,6 +1790,7 @@
+
@@ -1945,9 +1900,11 @@
+
+
@@ -1966,6 +1923,7 @@
+
@@ -2075,9 +2033,11 @@
+
+
@@ -2096,6 +2056,7 @@
+
@@ -2214,6 +2175,7 @@
+
@@ -2238,6 +2200,7 @@
+
@@ -2262,6 +2225,7 @@
+
@@ -2280,12 +2244,17 @@
-
+
+
+
+
+
+
@@ -2559,6 +2528,7 @@
+
@@ -2586,10 +2556,12 @@
+
-
+
+
@@ -2617,6 +2589,7 @@
+
@@ -2685,6 +2658,7 @@
+
@@ -2746,10 +2720,6 @@
-
-
-
-
@@ -2763,6 +2733,7 @@
+
@@ -2812,8 +2783,7 @@
-
-
+
@@ -2828,37 +2798,17 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
@@ -2868,6 +2818,7 @@
+
@@ -2901,6 +2852,7 @@
+
@@ -2908,6 +2860,52 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2940,11 +2938,12 @@
-
-
-
-
-
+
+
+
+
+
+
@@ -2971,6 +2970,12 @@
+
+
+
+
+
+
@@ -2999,7 +3004,7 @@
-
+
@@ -3026,20 +3031,14 @@
-
+
-
+
-
-
+
+
@@ -3052,22 +3051,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -3086,10 +3070,6 @@
-
-
-
@@ -3112,6 +3092,7 @@
+
@@ -3144,49 +3125,10 @@
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -3194,12 +3136,6 @@
-
-
-
-
-
-
@@ -3212,12 +3148,10 @@
-
-
-
-
-
+
+
+
@@ -3249,43 +3183,11 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -3293,8 +3195,7 @@
-
-
+
@@ -3398,14 +3299,8 @@
-
-
+
+
@@ -3420,9 +3315,14 @@
-
+
+
+
+
+
+
@@ -3447,14 +3347,39 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
@@ -3467,33 +3392,16 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
@@ -3506,9 +3414,60 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -3521,89 +3480,116 @@
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -3696,14 +3682,20 @@
-
-
+
+
+
+
+
+
@@ -4021,6 +4013,7 @@
+
@@ -4105,6 +4098,7 @@
+
@@ -4393,269 +4387,4 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/configs/audio/sound_trigger_mixer_paths.xml b/audio/sound_trigger_mixer_paths.xml
similarity index 85%
rename from configs/audio/sound_trigger_mixer_paths.xml
rename to audio/sound_trigger_mixer_paths.xml
index 089ee7a..66f54b0 100644
--- a/configs/audio/sound_trigger_mixer_paths.xml
+++ b/audio/sound_trigger_mixer_paths.xml
@@ -56,12 +56,6 @@
-
-
-
-
-
-
@@ -78,14 +72,11 @@
-
-
-
@@ -250,13 +241,17 @@
+
+
-
-
-
-
+
+
+
+
@@ -267,44 +262,10 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/blob-patches/init-post-boot-blair.patch b/blob-patches/init-post-boot-blair.patch
deleted file mode 100644
index bb6bf61..0000000
--- a/blob-patches/init-post-boot-blair.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/init.kernel.post_boot-blair.sh
-+++ b/init.kernel.post_boot-blair.sh
-@@ -32,11 +32,6 @@
- #=============================================================================
-
- function configure_zram_parameters() {
-- # Moto yangbq2: Skip this if we are using zram from fstab.
-- using_zram_from_fstab=`getprop ro.boot.using_zram_from_fstab`
-- if [ "$using_zram_from_fstab" == "true" ]; then
-- return
-- fi
- MemTotalStr=`cat /proc/meminfo | grep MemTotal`
- MemTotal=${MemTotalStr:16:8}
-
diff --git a/blob-patches/init-post-boot-holi.patch b/blob-patches/init-post-boot-holi.patch
deleted file mode 100644
index bc9a319..0000000
--- a/blob-patches/init-post-boot-holi.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/init.kernel.post_boot-holi.sh
-+++ b/init.kernel.post_boot-holi.sh
-@@ -32,11 +32,6 @@
- #=============================================================================
-
- function configure_zram_parameters() {
-- # Moto yangbq2: Skip this if we are using zram from fstab.
-- using_zram_from_fstab=`getprop ro.boot.using_zram_from_fstab`
-- if [ "$using_zram_from_fstab" == "true" ]; then
-- return
-- fi
- MemTotalStr=`cat /proc/meminfo | grep MemTotal`
- MemTotal=${MemTotalStr:16:8}
-
diff --git a/bluetooth/bdroid_buildcfg.h b/bluetooth/bdroid_buildcfg.h
new file mode 100644
index 0000000..9b20406
--- /dev/null
+++ b/bluetooth/bdroid_buildcfg.h
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2013, The Linux Foundation. All rights reserved.
+ * Not a Contribution.
+ *
+ * Copyright (C) 2012 The Android Open Source Project
+ * Copyright (C) 2022 The LineageOS 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.
+ */
+
+#ifndef _BDROID_BUILDCFG_H
+#define _BDROID_BUILDCFG_H
+#define BTM_DEF_LOCAL_NAME "OnePlus Nord N200"
+// Disables read remote device feature
+#define MAX_ACL_CONNECTIONS 16
+#define MAX_L2CAP_CHANNELS 32
+#define BLE_VND_INCLUDED TRUE
+#define GATT_MAX_PHY_CHANNEL 10
+// skips conn update at conn completion
+#define BT_CLEAN_TURN_ON_DISABLED 1
+
+#define AVDT_NUM_SEPS 35
+#endif
\ No newline at end of file
diff --git a/board-info.txt b/board-info.txt
deleted file mode 100644
index 0fee1ba..0000000
--- a/board-info.txt
+++ /dev/null
@@ -1 +0,0 @@
-require board=holi|OnePlusN200
diff --git a/bootctrl/Android.bp b/bootctrl/Android.bp
new file mode 100644
index 0000000..0f412aa
--- /dev/null
+++ b/bootctrl/Android.bp
@@ -0,0 +1,28 @@
+//
+// Copyright (C) 2018 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.
+//
+
+cc_library {
+ name: "bootctrl.holi",
+ defaults: ["bootctrl_hal_defaults"],
+ static_libs: ["libgptutils.oneplus_holi"],
+}
+
+cc_library_shared {
+ name: "android.hardware.boot@1.1-impl-qti",
+ stem: "android.hardware.boot@1.0-impl-1.1-qti",
+ defaults: ["android.hardware.boot@1.1-impl-qti_defaults"],
+ static_libs: ["libgptutils.oneplus_holi"],
+}
diff --git a/compatibility_matrix.xml b/compatibility_matrix.xml
new file mode 100644
index 0000000..8c2c0bf
--- /dev/null
+++ b/compatibility_matrix.xml
@@ -0,0 +1,109 @@
+
+
+
+ android.frameworks.schedulerservice
+ 1.0
+
+ ISchedulingPolicyService
+ default
+
+
+
+ android.frameworks.sensorservice
+ 1.0
+
+ ISensorManager
+ default
+
+
+
+ android.hidl.allocator
+ 1.0
+
+ IAllocator
+ ashmem
+
+
+
+ android.hidl.manager
+ 1.0
+
+ IServiceManager
+ default
+
+
+
+ android.hidl.memory
+ 1.0
+
+ IMapper
+ ashmem
+
+
+
+ android.hidl.token
+ 1.0
+
+ ITokenManager
+ default
+
+
+
+ android.system.wifi.keystore
+ 1.0
+
+ IKeystore
+ default
+
+
+
+ vendor.qti.hardware.qccsyshal
+ 1.0
+
+ IQccsyshal
+ qccsyshal
+
+
+
+ vendor.qti.hardware.sigma_miracast
+ 1.0
+
+ Isigma_miracast
+ sigmahal
+
+
+
+ vendor.qti.hardware.wifi.keystore
+ 1.0
+
+ IKeystoreExt
+ default
+
+
+
diff --git a/config.fs b/config.fs
index 0b2da9d..084ddf9 100644
--- a/config.fs
+++ b/config.fs
@@ -25,12 +25,6 @@ value:2908
[AID_VENDOR_QTR]
value:2909
-[AID_VENDOR_LAUNCHER]
-value:2988
-
-[AID_VENDOR_SAURES]
-value:2989
-
[bt_firmware/]
mode: 0771
user: AID_SYSTEM
diff --git a/configs/apns-conf.xml b/configs/apns-conf.xml
new file mode 100644
index 0000000..ad5bd04
--- /dev/null
+++ b/configs/apns-conf.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/configs/audio/audio_policy_configuration.xml b/configs/audio/audio_policy_configuration.xml
deleted file mode 100644
index c04734a..0000000
--- a/configs/audio/audio_policy_configuration.xml
+++ /dev/null
@@ -1,448 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - Earpiece
- - Speaker
- - Telephony Tx
- - Built-In Mic
- - Built-In Back Mic
- - FM Tuner
- - Telephony Rx
-
- Speaker
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/configs/audio/audio_policy_configuration_a2dp_offload_disabled.xml b/configs/audio/audio_policy_configuration_a2dp_offload_disabled.xml
deleted file mode 100644
index 62b6633..0000000
--- a/configs/audio/audio_policy_configuration_a2dp_offload_disabled.xml
+++ /dev/null
@@ -1,427 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - Earpiece
- - Speaker
- - Telephony Tx
- - Built-In Mic
- - Built-In Back Mic
- - FM Tuner
- - Telephony Rx
-
- Speaker
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/configs/audio/bluetooth_hearing_aid_audio_policy_configuration.xml b/configs/audio/bluetooth_hearing_aid_audio_policy_configuration.xml
deleted file mode 100644
index eddd371..0000000
--- a/configs/audio/bluetooth_hearing_aid_audio_policy_configuration.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/configs/media_codecs_holi.xml b/configs/media_codecs_holi.xml
new file mode 100644
index 0000000..aad5cf5
--- /dev/null
+++ b/configs/media_codecs_holi.xml
@@ -0,0 +1,291 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/configs/media_codecs_holi_vendor.xml b/configs/media_codecs_holi_vendor.xml
new file mode 100644
index 0000000..229f30e
--- /dev/null
+++ b/configs/media_codecs_holi_vendor.xml
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/configs/media_codecs_performance_holi.xml b/configs/media_codecs_performance_holi.xml
new file mode 100644
index 0000000..f4cf7bf
--- /dev/null
+++ b/configs/media_codecs_performance_holi.xml
@@ -0,0 +1,133 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/configs/media_codecs_performance_holi_vendor.xml b/configs/media_codecs_performance_holi_vendor.xml
new file mode 100644
index 0000000..b95d481
--- /dev/null
+++ b/configs/media_codecs_performance_holi_vendor.xml
@@ -0,0 +1,131 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/configs/media_codecs_vendor_audio.xml b/configs/media_codecs_vendor_audio.xml
new file mode 100644
index 0000000..2164a65
--- /dev/null
+++ b/configs/media_codecs_vendor_audio.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
diff --git a/configs/media_profiles.xml b/configs/media_profiles.xml
new file mode 100644
index 0000000..66128d6
--- /dev/null
+++ b/configs/media_profiles.xml
@@ -0,0 +1,867 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/configs/media_profiles_V1_0.xml b/configs/media_profiles_V1_0.xml
new file mode 100644
index 0000000..dc4a051
--- /dev/null
+++ b/configs/media_profiles_V1_0.xml
@@ -0,0 +1,511 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/configs/media/media_profiles_holi.xml b/configs/media_profiles_holi.xml
similarity index 100%
rename from configs/media/media_profiles_holi.xml
rename to configs/media_profiles_holi.xml
diff --git a/configs/nfc/libnfc-hal-st.conf b/configs/nfc/libnfc-hal-st.conf
deleted file mode 100644
index ebd4224..0000000
--- a/configs/nfc/libnfc-hal-st.conf
+++ /dev/null
@@ -1,156 +0,0 @@
-########################### Start of libnfc-hal-st.conf ###########################
-
-###############################################################################
-###############################################################################
-# ST HAL trace log level
-#define STNFC_TRACE_LEVEL_NONE 0x00
-#define STNFC_TRACE_LEVEL_ERROR 0x01
-#define STNFC_TRACE_LEVEL_WARNING 0x02
-#define STNFC_TRACE_LEVEL_DEBUG 0x03
-#define STNFC_TRACE_LEVEL_VERBOSE 0x04
-#define STNFC_TRACE_FLAG_PRIVACY 0x10
-STNFC_HAL_LOGLEVEL=3
-
-NFC_DEBUG_ENABLED=1
-
-###############################################################################
-# Vendor specific mode to enable FW (RF & SWP) traces.
-STNFC_FW_DEBUG_ENABLED=0
-
-###############################################################################
-# File used for NFA storage
-NFA_STORAGE="/data/nfc"
-
-###############################################################################
-# Keep the nfa storage file.
-PRESERVE_STORAGE=1
-
-###############################################################################
-# In Switch OFF mode (phone switched-off), specify the desired CE mode to
-# the controller.
-# 0: No card-emulation; DEFAULT
-# 1: Switch-off card-emulation enabled
-CE_ON_SWITCH_OFF_STATE=1
-
-###############################################################################
-# Vendor specific mode to support the USB charging mode if VPSIO=1 in switch off.
-STNFC_USB_CHARGING_MODE=1
-
-###############################################################################
-# Vendor Specific Proprietary Protocol & Discovery Configuration
-# Set to 0xFF if unsupported
-# byte[0] NCI_PROTOCOL_18092_ACTIVE
-# byte[1] NCI_PROTOCOL_B_PRIME
-# byte[2] NCI_PROTOCOL_DUAL
-# byte[3] NCI_PROTOCOL_15693
-# byte[4] NCI_PROTOCOL_KOVIO
-# byte[5] NCI_PROTOCOL_MIFARE
-# byte[6] NCI_DISCOVERY_TYPE_POLL_KOVIO
-# byte[7] NCI_DISCOVERY_TYPE_POLL_B_PRIME
-# byte[8] NCI_DISCOVERY_TYPE_LISTEN_B_PRIME
-NFA_PROPRIETARY_CFG={05:FF:FF:06:8A:90:77:FF:FF}
-
-###############################################################################
-# Choose the presence-check algorithm for type-4 tag. If not defined,
-# the default value is 1.
-# 0 NFA_RW_PRES_CHK_DEFAULT; Let stack selects an algorithm
-# 1 NFA_RW_PRES_CHK_I_BLOCK; ISO-DEP protocol's empty I-block
-# 2 NFA_RW_PRES_CHK_RESET; Deactivate to Sleep, then re-activate
-# 3 NFA_RW_PRES_CHK_RB_CH0; Type-4 tag protocol's ReadBinary command on channel 0
-# 4 NFA_RW_PRES_CHK_RB_CH3; Type-4 tag protocol's ReadBinary command on channel 3
-# 5 NFA_RW_PRES_CHK_ISO_DEP_NAK; presence check command ISO-DEP NAK as per NCI2.0
-PRESENCE_CHECK_ALGORITHM=5
-
-###############################################################################
-# Name of the NCI HAL module to use
-# If unset, falls back to nfc_nci.bcm2079x
-NCI_HAL_MODULE="nfc_nci.st21nfc"
-
-###############################################################################
-# Allow list to be set at startup.
-DEVICE_HOST_ALLOW_LIST={02:C0}
-
-###############################################################################
-# BAIL OUT value for P2P
-# Implements algorithm for NFC-DEP protocol priority over ISO-DEP protocol.
-POLL_BAIL_OUT_MODE=1
-
-###############################################################################
-# Extended APDU length for ISO_DEP
-ISO_DEP_MAX_TRANSCEIVE=0xFEFF
-
-###############################################################################
-# Configure the NFC Extras to open and use a static pipe. If the value is
-# not set or set to 0, then the default is use a dynamic pipe based on a
-# destination gate (see NFA_HCI_DEFAULT_DEST_GATE). Note there is a value
-# for each EE (ESE/SIM)
-OFF_HOST_ESE_PIPE_ID=0x5E
-OFF_HOST_SIM_PIPE_ID=0x3E
-
-###############################################################################
-#Set the default Felica T3T System Code OffHost route Location :
-#This settings will be used when application does not set this parameter
-# host 0x00
-# eSE 0x82 (eSE), 0x86 (eUICC/SPI-SE)
-# UICC 0x81 (UICC_1), 0x85 (UICC_2)
-DEFAULT_SYS_CODE_ROUTE=0x81
-
-###############################################################################
-#Set the Felica T3T System Code supported power state:
-DEFAULT_SYS_CODE_PWR_STATE=0x3B
-
-###############################################################################
-# Path and Files used for FW update binaries storage
-STNFC_FW_PATH_STORAGE="/vendor/firmware/"
-# STNFC_FW_BIN_NAME="st21nfc_fw7.bin"
-STNFC_FW_CONF_NAME="/vendor/etc/libnfc-st21h_conf.txt"
-
-###############################################################################
-# Default off-host route for Felica.
-#This settings will be used when application does not set this parameter
-# host 0x00
-# eSE 0x82 (eSE), 0x86 (eUICC/SPI-SE)
-# UICC 0x81 (UICC_1), 0x85 (UICC_2)
-DEFAULT_NFCF_ROUTE=0x81
-
-###############################################################################
-# Configure the default off-host route.
-# used for technology A and B routing
-# eSE 0x82 (eSE), 0x86 (eUICC/SPI-SE)
-# UICC 0x81 (UICC_1), 0x85 (UICC_2)
-DEFAULT_OFFHOST_ROUTE=0x81
-
-###############################################################################
-# Configure the default AID route.
-# host 0x00
-# eSE 0x82 (eSE), 0x86 (eUICC/SPI-SE)
-# UICC 0x81 (UICC_1), 0x85 (UICC_2)
-DEFAULT_ROUTE=0x81
-
-###############################################################################
-# Configure the NFCEEIDs of offhost UICC.
-# UICC 0x81 (UICC_1), 0x85 (UICC_2)
-OFFHOST_ROUTE_UICC={81,83,85}
-
-###############################################################################
-# Configure the NFCEEIDs of offhost eSEs.
-# eSE 0x82 (eSE), 0x86 (eUICC/SPI-SE)
-OFFHOST_ROUTE_ESE={82,86}
-
-###############################################################################
-# Configure the list of NFCEE for the ISO-DEP routing.
-# host 0x00
-# eSE 0x82 (eSE), 0x86 (eUICC/SPI-SE)
-# UICC 0x81 (UICC_1), 0x85 (UICC_2)
-DEFAULT_ISODEP_ROUTE=0x81
-
-###############################################################################
-# Core configuration settings
-CORE_CONF_PROP={ 20, 02, 13, 06,
- a1, 01, 19,
- a2, 01, 15,
- 80, 01, 01,
- 08, 01, 01,
- 11, 01, 01,
- 19, 01, 01
-}
diff --git a/configs/perf/task_profiles.json b/configs/perf/task_profiles.json
deleted file mode 100644
index 0fc4bd5..0000000
--- a/configs/perf/task_profiles.json
+++ /dev/null
@@ -1,566 +0,0 @@
-{
- "Attributes": [
- {
- "Name": "LowCapacityCPUs",
- "Controller": "cpuset",
- "File": "background/cpus"
- },
- {
- "Name": "HighCapacityCPUs",
- "Controller": "cpuset",
- "File": "foreground/cpus"
- },
- {
- "Name": "MaxCapacityCPUs",
- "Controller": "cpuset",
- "File": "top-app/cpus"
- },
- {
- "Name": "AudioAppCapacityCPUs",
- "Controller": "cpuset",
- "File": "audio-app/cpus"
- },
-
- {
- "Name": "MemLimit",
- "Controller": "memory",
- "File": "memory.limit_in_bytes"
- },
- {
- "Name": "MemSoftLimit",
- "Controller": "memory",
- "File": "memory.soft_limit_in_bytes"
- },
- {
- "Name": "MemSwappiness",
- "Controller": "memory",
- "File": "memory.swappiness"
- },
- {
- "Name": "UClampMin",
- "Controller": "cpu",
- "File": "cpu.uclamp.min"
- },
- {
- "Name": "UClampMax",
- "Controller": "cpu",
- "File": "cpu.uclamp.max"
- }
- ],
-
- "Profiles": [
- {
- "Name": "HighEnergySaving",
- "Actions": [
- {
- "Name": "JoinCgroup",
- "Params":
- {
- "Controller": "cpu",
- "Path": "background"
- }
- }
- ]
- },
- {
- "Name": "NormalPerformance",
- "Actions": [
- {
- "Name": "JoinCgroup",
- "Params":
- {
- "Controller": "cpu",
- "Path": ""
- }
- }
- ]
- },
- {
- "Name": "HighPerformance",
- "Actions": [
- {
- "Name": "JoinCgroup",
- "Params":
- {
- "Controller": "cpu",
- "Path": "foreground"
- }
- }
- ]
- },
- {
- "Name": "MaxPerformance",
- "Actions": [
- {
- "Name": "JoinCgroup",
- "Params":
- {
- "Controller": "cpu",
- "Path": "top-app"
- }
- }
- ]
- },
- {
- "Name": "RealtimePerformance",
- "Actions": [
- {
- "Name": "JoinCgroup",
- "Params":
- {
- "Controller": "cpu",
- "Path": "rt"
- }
- }
- ]
- },
- {
- "Name": "AudioAppPerformance",
- "Actions" : [
- {
- "Name" : "JoinCgroup",
- "Params" :
- {
- "Controller": "cpu",
- "Path": "audio-app"
- }
- }
- ]
- },
-
- {
- "Name": "VrKernelCapacity",
- "Actions": [
- {
- "Name": "JoinCgroup",
- "Params":
- {
- "Controller": "cpuset",
- "Path": ""
- }
- }
- ]
- },
- {
- "Name": "VrServiceCapacityLow",
- "Actions": [
- {
- "Name": "JoinCgroup",
- "Params":
- {
- "Controller": "cpuset",
- "Path": "system/background"
- }
- }
- ]
- },
- {
- "Name": "VrServiceCapacityNormal",
- "Actions": [
- {
- "Name": "JoinCgroup",
- "Params":
- {
- "Controller": "cpuset",
- "Path": "system"
- }
- }
- ]
- },
- {
- "Name": "VrServiceCapacityHigh",
- "Actions": [
- {
- "Name": "JoinCgroup",
- "Params":
- {
- "Controller": "cpuset",
- "Path": "system/performance"
- }
- }
- ]
- },
- {
- "Name": "VrProcessCapacityLow",
- "Actions": [
- {
- "Name": "JoinCgroup",
- "Params":
- {
- "Controller": "cpuset",
- "Path": "application/background"
- }
- }
- ]
- },
- {
- "Name": "VrProcessCapacityNormal",
- "Actions": [
- {
- "Name": "JoinCgroup",
- "Params":
- {
- "Controller": "cpuset",
- "Path": "application"
- }
- }
- ]
- },
- {
- "Name": "VrProcessCapacityHigh",
- "Actions": [
- {
- "Name": "JoinCgroup",
- "Params":
- {
- "Controller": "cpuset",
- "Path": "application/performance"
- }
- }
- ]
- },
-
- {
- "Name": "ProcessCapacityLow",
- "Actions": [
- {
- "Name": "JoinCgroup",
- "Params":
- {
- "Controller": "cpuset",
- "Path": "background"
- }
- }
- ]
- },
- {
- "Name": "ProcessCapacityNormal",
- "Actions": [
- {
- "Name": "JoinCgroup",
- "Params":
- {
- "Controller": "cpuset",
- "Path": ""
- }
- }
- ]
- },
- {
- "Name": "ProcessCapacityHigh",
- "Actions": [
- {
- "Name": "JoinCgroup",
- "Params":
- {
- "Controller": "cpuset",
- "Path": "foreground"
- }
- }
- ]
- },
- {
- "Name": "ProcessCapacityMax",
- "Actions": [
- {
- "Name": "JoinCgroup",
- "Params":
- {
- "Controller": "cpuset",
- "Path": "top-app"
- }
- }
- ]
- },
-
- {
- "Name": "ServiceCapacityLow",
- "Actions": [
- {
- "Name": "JoinCgroup",
- "Params":
- {
- "Controller": "cpuset",
- "Path": "system-background"
- }
- }
- ]
- },
- {
- "Name": "ServiceCapacityRestricted",
- "Actions": [
- {
- "Name": "JoinCgroup",
- "Params":
- {
- "Controller": "cpuset",
- "Path": "restricted"
- }
- }
- ]
- },
-
- {
- "Name": "CameraServiceCapacity",
- "Actions": [
- {
- "Name": "JoinCgroup",
- "Params":
- {
- "Controller": "cpuset",
- "Path": "camera-daemon"
- }
- }
- ]
- },
- {
- "Name": "AudioAppCapacity",
- "Actions" : [
- {
- "Name" : "JoinCgroup",
- "Params" :
- {
- "Controller": "cpuset",
- "Path": "audio-app"
- }
- }
- ]
- },
-
- {
- "Name": "BlkIOForeground",
- "Actions" : [
- {
- "Name" : "JoinCgroup",
- "Params" :
- {
- "Controller": "blkio",
- "Path": ""
- }
- }
- ]
- },
- {
- "Name": "BlkIOBackground",
- "Actions" : [
- {
- "Name" : "JoinCgroup",
- "Params" :
- {
- "Controller": "blkio",
- "Path": "bg"
- }
- }
- ]
- },
-
- {
- "Name": "LowIoPriority",
- "Actions": [
- {
- "Name": "JoinCgroup",
- "Params":
- {
- "Controller": "blkio",
- "Path": "background"
- }
- }
- ]
- },
- {
- "Name": "NormalIoPriority",
- "Actions": [
- {
- "Name": "JoinCgroup",
- "Params":
- {
- "Controller": "blkio",
- "Path": ""
- }
- }
- ]
- },
- {
- "Name": "HighIoPriority",
- "Actions": [
- {
- "Name": "JoinCgroup",
- "Params":
- {
- "Controller": "blkio",
- "Path": ""
- }
- }
- ]
- },
- {
- "Name": "MaxIoPriority",
- "Actions": [
- {
- "Name": "JoinCgroup",
- "Params":
- {
- "Controller": "blkio",
- "Path": ""
- }
- }
- ]
- },
-
- {
- "Name": "TimerSlackHigh",
- "Actions": [
- {
- "Name": "SetTimerSlack",
- "Params":
- {
- "Slack": "5000000"
- }
- }
- ]
- },
- {
- "Name": "TimerSlackNormal",
- "Actions": [
- {
- "Name": "SetTimerSlack",
- "Params":
- {
- "Slack": "50000"
- }
- }
- ]
- },
-
- {
- "Name": "PerfBoost",
- "Actions": [
- {
- "Name": "SetClamps",
- "Params":
- {
- "Boost": "50%",
- "Clamp": "0"
- }
- }
- ]
- },
- {
- "Name": "PerfClamp",
- "Actions": [
- {
- "Name": "SetClamps",
- "Params":
- {
- "Boost": "0",
- "Clamp": "30%"
- }
- }
- ]
- },
-
- {
- "Name": "LowMemoryUsage",
- "Actions": [
- {
- "Name": "SetAttribute",
- "Params":
- {
- "Name": "MemSoftLimit",
- "Value": "16MB"
- }
- },
- {
- "Name": "SetAttribute",
- "Params":
- {
- "Name": "MemSwappiness",
- "Value": "150"
-
- }
- }
- ]
- },
- {
- "Name": "HighMemoryUsage",
- "Actions": [
- {
- "Name": "SetAttribute",
- "Params":
- {
- "Name": "MemSoftLimit",
- "Value": "512MB"
- }
- },
- {
- "Name": "SetAttribute",
- "Params":
- {
- "Name": "MemSwappiness",
- "Value": "100"
- }
- }
- ]
- },
- {
- "Name": "SystemMemoryProcess",
- "Actions": [
- {
- "Name": "JoinCgroup",
- "Params":
- {
- "Controller": "memory",
- "Path": "system"
- }
- }
- ]
- }
- ],
-
- "AggregateProfiles": [
- {
- "Name": "SCHED_SP_DEFAULT",
- "Profiles": [ "TimerSlackNormal" ]
- },
- {
- "Name": "SCHED_SP_BACKGROUND",
- "Profiles": [ "HighEnergySaving", "LowIoPriority", "TimerSlackHigh" ]
- },
- {
- "Name": "SCHED_SP_FOREGROUND",
- "Profiles": [ "HighPerformance", "HighIoPriority", "TimerSlackNormal" ]
- },
- {
- "Name": "SCHED_SP_TOP_APP",
- "Profiles": [ "MaxPerformance", "MaxIoPriority", "TimerSlackNormal" ]
- },
- {
- "Name": "SCHED_SP_RT_APP",
- "Profiles": [ "RealtimePerformance", "MaxIoPriority", "TimerSlackNormal" ]
- },
- {
- "Name": "CPUSET_SP_DEFAULT",
- "Profiles": [ "TimerSlackNormal" ]
- },
- {
- "Name": "CPUSET_SP_BACKGROUND",
- "Profiles": [ "HighEnergySaving", "ProcessCapacityLow", "LowIoPriority", "TimerSlackHigh" ]
- },
- {
- "Name": "CPUSET_SP_FOREGROUND",
- "Profiles": [ "HighPerformance", "ProcessCapacityHigh", "HighIoPriority", "TimerSlackNormal" ]
- },
- {
- "Name": "CPUSET_SP_TOP_APP",
- "Profiles": [ "MaxPerformance", "ProcessCapacityMax", "MaxIoPriority", "TimerSlackNormal" ]
- },
- {
- "Name": "CPUSET_SP_SYSTEM",
- "Profiles": [ "ServiceCapacityLow", "TimerSlackNormal" ]
- },
- {
- "Name": "CPUSET_SP_RESTRICTED",
- "Profiles": [ "ServiceCapacityRestricted", "TimerSlackNormal" ]
- }
- ]
-}
diff --git a/configs/powerhint.json b/configs/powerhint.json
deleted file mode 100644
index 9a79c05..0000000
--- a/configs/powerhint.json
+++ /dev/null
@@ -1,628 +0,0 @@
-{
- "Nodes": [
- {
- "Name": "CPULittleClusterMaxFreq",
- "Path": "/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq",
- "Values": [
- "9999999",
- "1708800",
- "576000",
- "300000"
- ],
- "DefaultIndex": 0,
- "ResetOnInit": true
- },
- {
- "Name": "CPULittleClusterMinFreq",
- "Path": "/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq",
- "Values": [
- "9999999",
- "1708800",
- "1324800",
- "576000",
- "300000"
- ],
- "DefaultIndex": 4,
- "ResetOnInit": true
- },
- {
- "Name": "CPULittleClusterUpRateLimit",
- "Path": "/sys/devices/system/cpu/cpu0/cpufreq/schedutil/up_rate_limit_us",
- "Values": [
- "500",
- "2000"
- ],
- "ResetOnInit": true
- },
- {
- "Name": "CPULittleClusterDownRateLimit",
- "Path": "/sys/devices/system/cpu/cpu0/cpufreq/schedutil/down_rate_limit_us",
- "Values": [
- "20000",
- "2000"
- ],
- "ResetOnInit": true
- },
- {
- "Name": "CPUBigClusterMaxFreq",
- "Path": "/sys/devices/system/cpu/cpu6/cpufreq/scaling_max_freq",
- "Values": [
- "9999999",
- "2035200",
- "1804800",
- "1651200",
- "1536000"
- ],
- "DefaultIndex": 0,
- "ResetOnInit": true
- },
- {
- "Name": "CPUBigClusterMinFreq",
- "Path": "/sys/devices/system/cpu/cpu6/cpufreq/scaling_min_freq",
- "Values": [
- "9999999",
- "1651200",
- "768000",
- "0"
- ],
- "DefaultIndex": 3,
- "ResetOnInit": true
- },
- {
- "Name": "CPUBigClusterUpRateLimit",
- "Path": "/sys/devices/system/cpu/cpu6/cpufreq/schedutil/up_rate_limit_us",
- "Values": [
- "500",
- "2000"
- ],
- "ResetOnInit": true
- },
- {
- "Name": "CPUBigClusterDownRateLimit",
- "Path": "/sys/devices/system/cpu/cpu6/cpufreq/schedutil/down_rate_limit_us",
- "Values": [
- "20000",
- "2000"
- ],
- "ResetOnInit": true
- },
- {
- "Name": "UclampTAMin",
- "Path": "/dev/cpuctl/top-app/cpu.uclamp.min",
- "Values": [
- "0",
- "50",
- "100"
- ],
- "DefaultIndex": 0,
- "ResetOnInit": true
- },
- {
- "Name": "UclampTALatency",
- "Path": "/dev/cpuctl/top-app/cpu.uclamp.latency_sensitive",
- "Values": [
- "1",
- "0"
- ],
- "ResetOnInit": true
- },
- {
- "Name": "UclampFgMin",
- "Path": "/dev/cpuctl/foreground/cpu.uclamp.min",
- "Values": [
- "0",
- "50",
- "100"
- ],
- "DefaultIndex": 0,
- "ResetOnInit": true
- },
- {
- "Name": "GPUMaxFreq",
- "Path": "/sys/class/kgsl/kgsl-3d0/max_pwrlevel",
- "Values": [
- "0",
- "1"
- ],
- "DefaultIndex": 0,
- "ResetOnInit": true
- },
- {
- "Name": "GPUMinFreq",
- "Path": "/sys/class/kgsl/kgsl-3d0/min_pwrlevel",
- "Values": [
- "0",
- "1",
- "2",
- "3",
- "4"
- ],
- "ResetOnInit": true
- },
- {
- "Name": "GPUForceRailOn",
- "Path": "/sys/class/kgsl/kgsl-3d0/force_rail_on",
- "Values": [
- "1",
- "0"
- ],
- "ResetOnInit": true
- },
- {
- "Name": "GPUForceClkOn",
- "Path": "/sys/class/kgsl/kgsl-3d0/force_clk_on",
- "Values": [
- "1",
- "0"
- ],
- "ResetOnInit": true
- },
- {
- "Name": "GPUIdleTimer",
- "Path": "/sys/class/kgsl/kgsl-3d0/idle_timer",
- "Values": [
- "10000",
- "80"
- ],
- "ResetOnInit": true
- },
- {
- "Name": "CPUBWHystTriggerCount",
- "Path": "/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/hyst_trigger_count",
- "Values": [
- "0",
- "3"
- ],
- "ResetOnInit": true
- },
- {
- "Name": "CPUBWHistMemory",
- "Path": "/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/hist_memory",
- "Values": [
- "0",
- "20"
- ],
- "ResetOnInit": true
- },
- {
- "Name": "CPUBWHystLength",
- "Path": "/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/hyst_length",
- "Values": [
- "0",
- "10"
- ],
- "ResetOnInit": true
- },
- {
- "Name": "CPUBWSampleMs",
- "Path": "/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/sample_ms",
- "Values": [
- "10",
- "4"
- ],
- "ResetOnInit": true
- },
- {
- "Name": "CPUBWMinFreq",
- "Path": "/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/min_freq",
- "Values": [
- "7980",
- "5161",
- "762"
- ],
- "ResetOnInit": true
- },
- {
- "Name": "L3LittleClusterMinFreq",
- "Path": "/sys/class/devfreq/fd90100.qcom,cpu0-cpu-l3-lat/min_freq",
- "Values": [
- "1459200000",
- "1171200000",
- "300000000"
- ],
- "ResetOnInit": true
- },
- {
- "Name": "L3BigClusterMinFreq",
- "Path": "/sys/class/devfreq/fd90100.qcom,cpu6-cpu-l3-lat/min_freq",
- "Values": [
- "1459200000",
- "1171200000",
- "300000000"
- ],
- "ResetOnInit": true
- },
- {
- "Name": "CPUDDRLatLittleMinFreq",
- "Path": "/sys/class/devfreq/soc:qcom,cpu0-cpu-ddr-lat/min_freq",
- "Values": [
- "7980",
- "3879",
- "762"
- ],
- "ResetOnInit": true
- },
- {
- "Name": "CPUDDRLatBigMinFreq",
- "Path": "/sys/class/devfreq/soc:qcom,cpu6-cpu-ddr-lat/min_freq",
- "Values": [
- "7980",
- "3879",
- "762"
- ],
- "ResetOnInit": true
- },
- {
- "Name": "CPUDDRLatfloorLittleMinFreq",
- "Path": "/sys/class/devfreq/soc:qcom,cpu0-cpu-ddr-latfloor/min_freq",
- "Values": [
- "7980",
- "3879",
- "762"
- ],
- "ResetOnInit": true
- },
- {
- "Name": "CPUDDRLatfloorBigMinFreq",
- "Path": "/sys/class/devfreq/soc:qcom,cpu6-cpu-ddr-latfloor/min_freq",
- "Values": [
- "7980",
- "3879",
- "762"
- ],
- "ResetOnInit": true
- },
- {
- "Name": "DoubleTapToWake",
- "Path": "/proc/touchpanel/double_tap_enable",
- "Values": [
- "1",
- "0"
- ]
- },
- {
- "Name": "PowerHALMainState",
- "Path": "vendor.powerhal.state",
- "Values": [
- "SUSTAINED_PERFORMANCE",
- ""
- ],
- "Type": "Property"
- },
- {
- "Name": "PowerHALRenderingState",
- "Path": "vendor.powerhal.rendering",
- "Values": [
- "EXPENSIVE_RENDERING",
- ""
- ],
- "Type": "Property"
- }
- ],
- "Actions": [
- {
- "PowerHint": "SUSTAINED_PERFORMANCE",
- "Node": "PowerHALMainState",
- "Duration": 0,
- "Value": "SUSTAINED_PERFORMANCE"
- },
- {
- "PowerHint": "SUSTAINED_PERFORMANCE",
- "Node": "CPUBigClusterMaxFreq",
- "Duration": 0,
- "Value": "1536000"
- },
- {
- "PowerHint": "SUSTAINED_PERFORMANCE",
- "Node": "CPULittleClusterMaxFreq",
- "Duration": 0,
- "Value": "1708800"
- },
- {
- "PowerHint": "SUSTAINED_PERFORMANCE",
- "Node": "GPUMaxFreq",
- "Duration": 0,
- "Value": "1"
- },
- {
- "PowerHint": "INTERACTION",
- "Node": "CPUBigClusterMinFreq",
- "Duration": 1000,
- "Value": "1651200"
- },
- {
- "PowerHint": "INTERACTION",
- "Node": "CPULittleClusterMinFreq",
- "Duration": 1000,
- "Value": "1708800"
- },
- {
- "PowerHint": "INTERACTION",
- "Node": "UclampTAMin",
- "Duration": 1000,
- "Value": "50"
- },
- {
- "PowerHint": "INTERACTION",
- "Node": "UclampTALatency",
- "Duration": 0,
- "Value": "1"
- },
- {
- "PowerHint": "INTERACTION",
- "Node": "UclampFgMin",
- "Duration": 1000,
- "Value": "50"
- },
- {
- "PowerHint": "INTERACTION",
- "Node": "GPUMinFreq",
- "Duration": 1000,
- "Value": "3"
- },
- {
- "PowerHint": "INTERACTION",
- "Node": "CPUBWHystTriggerCount",
- "Duration": 1000,
- "Value": "0"
- },
- {
- "PowerHint": "INTERACTION",
- "Node": "CPUBWHystLength",
- "Duration": 1000,
- "Value": "0"
- },
- {
- "PowerHint": "INTERACTION",
- "Node": "CPUBWHistMemory",
- "Duration": 1000,
- "Value": "0"
- },
- {
- "PowerHint": "INTERACTION",
- "Node": "CPUBWMinFreq",
- "Duration": 1000,
- "Value": "5161"
- },
- {
- "PowerHint": "INTERACTION",
- "Node": "CPUDDRLatLittleMinFreq",
- "Duration": 1000,
- "Value": "7980"
- },
- {
- "PowerHint": "INTERACTION",
- "Node": "CPUDDRLatBigMinFreq",
- "Duration": 1000,
- "Value": "7980"
- },
- {
- "PowerHint": "INTERACTION",
- "Node": "CPUDDRLatfloorLittleMinFreq",
- "Duration": 1000,
- "Value": "7980"
- },
- {
- "PowerHint": "INTERACTION",
- "Node": "CPUDDRLatfloorBigMinFreq",
- "Duration": 1000,
- "Value": "7980"
- },
- {
- "PowerHint": "INTERACTION",
- "Node": "L3LittleClusterMinFreq",
- "Duration": 1000,
- "Value": "1171200000"
- },
- {
- "PowerHint": "INTERACTION",
- "Node": "L3BigClusterMinFreq",
- "Duration": 1000,
- "Value": "1171200000"
- },
- {
- "PowerHint": "INTERACTIVE",
- "Node": "CPULittleClusterUpRateLimit",
- "Duration": 0,
- "Value": "500"
- },
- {
- "PowerHint": "INTERACTIVE",
- "Node": "CPULittleClusterDownRateLimit",
- "Duration": 0,
- "Value": "20000"
- },
- {
- "PowerHint": "INTERACTIVE",
- "Node": "CPUBigClusterUpRateLimit",
- "Duration": 0,
- "Value": "500"
- },
- {
- "PowerHint": "INTERACTIVE",
- "Node": "CPUBigClusterDownRateLimit",
- "Duration": 0,
- "Value": "20000"
- },
- {
- "PowerHint": "LAUNCH",
- "Node": "CPUBigClusterMaxFreq",
- "Duration": 3000,
- "Value": "9999999"
- },
- {
- "PowerHint": "LAUNCH",
- "Node": "CPUBigClusterMinFreq",
- "Duration": 3000,
- "Value": "9999999"
- },
- {
- "PowerHint": "LAUNCH",
- "Node": "CPULittleClusterMinFreq",
- "Duration": 3000,
- "Value": "9999999"
- },
- {
- "PowerHint": "LAUNCH",
- "Node": "UclampTAMin",
- "Duration": 3000,
- "Value": "100"
- },
- {
- "PowerHint": "LAUNCH",
- "Node": "UclampFgMin",
- "Duration": 3000,
- "Value": "100"
- },
- {
- "PowerHint": "LAUNCH",
- "Node": "CPUBWHystTriggerCount",
- "Duration": 3000,
- "Value": "0"
- },
- {
- "PowerHint": "LAUNCH",
- "Node": "CPUBWHystLength",
- "Duration": 3000,
- "Value": "0"
- },
- {
- "PowerHint": "LAUNCH",
- "Node": "CPUBWHistMemory",
- "Duration": 3000,
- "Value": "0"
- },
- {
- "PowerHint": "LAUNCH",
- "Node": "CPUBWMinFreq",
- "Duration": 3000,
- "Value": "7980"
- },
- {
- "PowerHint": "LAUNCH",
- "Node": "CPUDDRLatLittleMinFreq",
- "Duration": 3000,
- "Value": "7980"
- },
- {
- "PowerHint": "LAUNCH",
- "Node": "CPUDDRLatBigMinFreq",
- "Duration": 3000,
- "Value": "7980"
- },
- {
- "PowerHint": "LAUNCH",
- "Node": "CPUDDRLatfloorLittleMinFreq",
- "Duration": 3000,
- "Value": "7980"
- },
- {
- "PowerHint": "LAUNCH",
- "Node": "CPUDDRLatfloorBigMinFreq",
- "Duration": 3000,
- "Value": "7980"
- },
- {
- "PowerHint": "LAUNCH",
- "Node": "GPUForceClkOn",
- "Duration": 3000,
- "Value": "1"
- },
- {
- "PowerHint": "LAUNCH",
- "Node": "GPUForceRailOn",
- "Duration": 3000,
- "Value": "1"
- },
- {
- "PowerHint": "LAUNCH",
- "Node": "GPUIdleTimer",
- "Duration": 3000,
- "Value": "10000"
- },
- {
- "PowerHint": "LAUNCH",
- "Node": "L3LittleClusterMinFreq",
- "Duration": 3000,
- "Value": "1459200000"
- },
- {
- "PowerHint": "LAUNCH",
- "Node": "L3BigClusterMinFreq",
- "Duration": 3000,
- "Value": "1459200000"
- },
- {
- "PowerHint": "FIXED_PERFORMANCE",
- "Node": "CPUBigClusterMaxFreq",
- "Duration": 0,
- "Value": "9999999"
- },
- {
- "PowerHint": "FIXED_PERFORMANCE",
- "Node": "CPUBigClusterMinFreq",
- "Duration": 0,
- "Value": "9999999"
- },
- {
- "PowerHint": "FIXED_PERFORMANCE",
- "Node": "CPULittleClusterMaxFreq",
- "Duration": 0,
- "Value": "9999999"
- },
- {
- "PowerHint": "FIXED_PERFORMANCE",
- "Node": "CPULittleClusterMinFreq",
- "Duration": 0,
- "Value": "9999999"
- },
- {
- "PowerHint": "FIXED_PERFORMANCE",
- "Node": "GPUMaxFreq",
- "Duration": 0,
- "Value": "0"
- },
- {
- "PowerHint": "FIXED_PERFORMANCE",
- "Node": "GPUMinFreq",
- "Duration": 0,
- "Value": "0"
- },
- {
- "PowerHint": "EXPENSIVE_RENDERING",
- "Node": "PowerHALRenderingState",
- "Duration": 0,
- "Value": "EXPENSIVE_RENDERING"
- },
- {
- "PowerHint": "EXPENSIVE_RENDERING",
- "Node": "GPUMinFreq",
- "Duration": 0,
- "Value": "1"
- },
- {
- "PowerHint": "EXPENSIVE_RENDERING",
- "Node": "GPUMaxFreq",
- "Duration": 0,
- "Value": "0"
- },
- {
- "PowerHint": "EXPENSIVE_RENDERING",
- "Node": "CPULittleClusterMinFreq",
- "Duration": 0,
- "Value": "1708800"
- },
- {
- "PowerHint": "EXPENSIVE_RENDERING",
- "Node": "CPUBigClusterMinFreq",
- "Duration": 0,
- "Value": "1651200"
- },
- {
- "PowerHint": "DOUBLE_TAP_TO_WAKE",
- "Node": "DoubleTapToWake",
- "Duration": 0,
- "Value": "1"
- }
- ]
-}
diff --git a/configs/permissions/privapp-permissions-hotword.xml b/configs/privapp-permissions-hotword.xml
similarity index 100%
rename from configs/permissions/privapp-permissions-hotword.xml
rename to configs/privapp-permissions-hotword.xml
diff --git a/configs/public.libraries.txt b/configs/public.libraries.txt
new file mode 100644
index 0000000..aed894f
--- /dev/null
+++ b/configs/public.libraries.txt
@@ -0,0 +1,32 @@
+libAlgoInterface.so
+libAlgoProcess.so
+vendor.qti.hardware.camera.postproc@1.0.so
+libPolarrRender.so
+libapsexif.so
+libapsjpeg.so
+libmpbase.so
+libarcsoft_high_dynamic_range.so 64
+libarcsoft_low_light_hdr.so 64
+libarcsoft_hdr_couple_api.so 64
+libarcsoft_high_dynamic_range_couple.so 64
+libCOppLceTonemapAPI.so
+libVDSuperPhotoAPI.so
+libFaceBeautyCap.so
+libstface_fd_api.so
+libVDDualCameraBlurlessAPI.so 64
+libSNPE.so 64
+libc++_shared.so 64
+libstdc++.so
+libarcsoft_dualcam_bokeh_api.so 64
+libPlatformValidatorShared.so 64
+libcvface_api.so
+libsnpe_dsp_domains_v3.so 64
+libPolarrRender.so
+libXDocProcessSDK.so
+libqti-perfd-client.so
+libadsprpc.so
+libcdsprpc.so
+libsdsprpc.so
+libfastcvopt.so
+liblistensoundmodel2.so
+libOpenCL.so
diff --git a/device.mk b/device.mk
index 35514b5..88eadcc 100644
--- a/device.mk
+++ b/device.mk
@@ -1,17 +1,56 @@
-# Copyright (C) 2021-2025 The LineageOS Project
-# SPDX-License-Identifier: Apache-2.0
-# Copyright (C) 2019-Current A-Team Digital Solutions
+#
+# Copyright (C) 2021-2022 The LineageOS 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.
+#
-# Add common definitions for Qualcomm
-$(call inherit-product, hardware/qcom-caf/common/common.mk)
+# Enable project quotas and casefolding for emulated storage without sdcardfs
+$(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk)
+
+# Enable updating of APEXes
+$(call inherit-product, $(SRC_TARGET_DIR)/product/updatable_apex.mk)
+
+# Enable virtual A/B OTA
+$(call inherit-product, $(SRC_TARGET_DIR)/product/virtual_ab_ota.mk)
+
+# Include GSI keys
+$(call inherit-product, $(SRC_TARGET_DIR)/product/gsi_keys.mk)
+
+# Setup dalvik vm configs
+$(call inherit-product, frameworks/native/build/phone-xhdpi-4096-dalvik-heap.mk)
+
+# Get non-open-source specific aspects
+$(call inherit-product, vendor/oneplus/dre/dre-vendor.mk)
+
+# Set product shipping level
+PRODUCT_SHIPPING_API_LEVEL := 30
+
+# Additional native libraries
+PRODUCT_COPY_FILES += \
+ $(LOCAL_PATH)/configs/public.libraries.txt:$(TARGET_COPY_OUT_VENDOR)/etc/public.libraries.txt
+
+# Overlays
+DEVICE_PACKAGE_OVERLAYS += \
+ $(LOCAL_PATH)/overlay \
+ $(LOCAL_PATH)/overlay-lineage
+
+PRODUCT_ENFORCE_RRO_TARGETS := *
# AAPT
PRODUCT_AAPT_CONFIG := normal
PRODUCT_AAPT_PREF_CONFIG := xxhdpi
# A/B
-$(call inherit-product, $(SRC_TARGET_DIR)/product/virtual_ab_ota/launch_with_vendor_ramdisk.mk)
-
AB_OTA_POSTINSTALL_CONFIG += \
RUN_POSTINSTALL_system=true \
POSTINSTALL_PATH_system=system/bin/otapreopt_script \
@@ -21,74 +60,103 @@ AB_OTA_POSTINSTALL_CONFIG += \
AB_OTA_POSTINSTALL_CONFIG += \
RUN_POSTINSTALL_vendor=true \
POSTINSTALL_PATH_vendor=bin/checkpoint_gc \
- FILESYSTEM_TYPE_vendor=erofs \
+ FILESYSTEM_TYPE_vendor=ext4 \
POSTINSTALL_OPTIONAL_vendor=true
-AB_OTA_POSTINSTALL_CONFIG += \
- RUN_POSTINSTALL_odm=true \
- POSTINSTALL_PATH_odm=bin/xbl_config_arb_check \
- FILESYSTEM_TYPE_odm=erofs \
- POSTINSTALL_OPTIONAL_odm=false
-
PRODUCT_PACKAGES += \
checkpoint_gc \
- otapreopt_script \
- xbl_config_arb_check
+ otapreopt_script
+
+# ANT+
+PRODUCT_PACKAGES += \
+ AntHalService-Soong \
+ com.dsi.ant@1.0.vendor
+
+# Atrace
+PRODUCT_PACKAGES += \
+ android.hardware.atrace@1.0-service
# Audio
PRODUCT_PACKAGES += \
android.hardware.audio@6.0-impl \
android.hardware.audio.effect@6.0-impl \
android.hardware.audio.service \
- android.hardware.bluetooth.audio-impl \
+ android.hardware.bluetooth.audio@2.0-impl \
android.hardware.soundtrigger@2.3-impl \
+ audio.a2dp.default \
audio.bluetooth.default \
audio.primary.holi \
audio.r_submix.default \
audio.usb.default \
+ audio_amplifier.holi \
audioadsprpcd \
liba2dpoffload \
+ libaudiopreprocessing \
libbatterylistener \
+ libbundlewrapper \
+ libcirrusspkrprot \
libcomprcapture \
+ libdownmix \
+ libdynproc \
+ libeffectproxy \
libexthwplugin \
libhdmiedid \
libhfp \
+ libldnhncr \
libqcompostprocbundle \
libqcomvisualizer \
libqcomvoiceprocessing \
+ libreverbwrapper \
libsndmonitor \
libspkrprot \
libssrec \
+ libvisualizer \
libvolumelistener \
sound_trigger.primary.holi:32
+# SM8350 audio HAL has SM4350 configurations.
AUDIO_HAL_DIR := hardware/qcom-caf/sm8350/audio
PRODUCT_COPY_FILES += \
+ $(AUDIO_HAL_DIR)/configs/common/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \
+ $(AUDIO_HAL_DIR)/configs/common/bluetooth_qti_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_holi/bluetooth_qti_audio_policy_configuration.xml \
+ $(AUDIO_HAL_DIR)/configs/common/bluetooth_qti_hearing_aid_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_holi/bluetooth_qti_hearing_aid_audio_policy_configuration.xml \
$(AUDIO_HAL_DIR)/configs/holi/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml \
- $(AUDIO_HAL_DIR)/configs/holi/audio_platform_info_intcodec.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info_intcodec.xml \
+ $(AUDIO_HAL_DIR)/configs/holi/audio_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info.xml \
+ $(AUDIO_HAL_DIR)/configs/holi/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/audio_policy_configuration.xml \
$(AUDIO_HAL_DIR)/configs/holi/audio_tuning_mixer.txt:$(TARGET_COPY_OUT_VENDOR)/etc/audio_tuning_mixer.txt \
- $(AUDIO_HAL_DIR)/configs/holi/sound_trigger_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_platform_info.xml \
- $(LOCAL_PATH)/configs/audio/audio_io_policy.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_io_policy.conf \
- $(LOCAL_PATH)/configs/audio/audio_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info.xml \
- $(LOCAL_PATH)/configs/audio/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \
- $(LOCAL_PATH)/configs/audio/audio_policy_configuration_a2dp_offload_disabled.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/audio_policy_configuration.xml \
- $(LOCAL_PATH)/configs/audio/bluetooth_hearing_aid_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_hearing_aid_audio_policy_configuration.xml \
- $(LOCAL_PATH)/configs/audio/mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths.xml \
- $(LOCAL_PATH)/configs/audio/sound_trigger_mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths.xml
+ $(AUDIO_HAL_DIR)/configs/holi/sound_trigger_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_platform_info.xml \
+ $(LOCAL_PATH)/audio/audio_io_policy.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_io_policy.conf \
+ $(LOCAL_PATH)/audio/audio_platform_info_intcodec.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info_intcodec.xml \
+ $(LOCAL_PATH)/audio/mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths.xml \
+ $(LOCAL_PATH)/audio/sound_trigger_mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths.xml
PRODUCT_COPY_FILES += \
+ frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_holi/audio_policy_volumes.xml \
frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.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/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_holi/default_volume_tables.xml \
frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \
+ frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_holi/r_submix_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/audio/sku_holi/usb_audio_policy_configuration.xml \
frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usb_audio_policy_configuration.xml
PRODUCT_COPY_FILES += \
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 \
frameworks/native/data/etc/android.software.midi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.midi.xml
+# Authsecret
+PRODUCT_PACKAGES += \
+ android.hardware.authsecret@1.0.vendor
+
# Bluetooth
+PRODUCT_PACKAGES += \
+ android.hardware.bluetooth@1.0.vendor \
+ vendor.qti.hardware.bluetooth_audio@2.0.vendor \
+ vendor.qti.hardware.btconfigstore@1.0.vendor \
+ vendor.qti.hardware.btconfigstore@2.0.vendor
+
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
@@ -99,13 +167,20 @@ TARGET_SCREEN_WIDTH := 1080
# Boot control
PRODUCT_PACKAGES += \
- android.hardware.boot-service.qti \
- android.hardware.boot-service.qti.recovery
+ android.hardware.boot@1.1-impl-qti \
+ android.hardware.boot@1.1-impl-qti.recovery \
+ android.hardware.boot@1.1-service \
+ bootctrl.holi \
+ bootctrl.holi.recovery
+
+PRODUCT_PACKAGES_DEBUG += \
+ bootctl
# Camera
PRODUCT_PACKAGES += \
android.hardware.camera.provider@2.4-impl \
- android.hardware.camera.provider@2.4-service_64
+ android.hardware.camera.provider@2.4-service_64 \
+ vendor.qti.hardware.camera.postproc@1.0.vendor
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 \
@@ -113,55 +188,90 @@ PRODUCT_COPY_FILES += \
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
-# Dalvik
-$(call inherit-product, frameworks/native/build/phone-xhdpi-4096-dalvik-heap.mk)
+# Common init scripts
+PRODUCT_PACKAGES += \
+ charger_fstab.qti \
+ fstab.qcom \
+ ftm_power_config.sh \
+ init.class_main.sh \
+ init.cust.rc \
+ init.kernel.post_boot.sh \
+ init.oem.debug.rc \
+ init.oem.rc \
+ init.oem_ftm.rc \
+ init.oem_rf.rc \
+ init.qcom.class_core.sh \
+ init.qcom.early_boot.sh \
+ init.qcom.factory.rc \
+ init.qcom.post_boot.sh \
+ init.qcom.rc \
+ init.qcom.sh \
+ init.qcom.usb.rc \
+ init.qcom.usb.sh \
+ init.qti.chg_policy.sh \
+ init.qti.dcvs.sh \
+ init.qti.kernel.rc \
+ init.qti.kernel.sh \
+ init.qti.qcv.rc \
+ init.qti.qcv.sh \
+ init.stnfc.rc \
+ init.stnfc.sh \
+ init.recovery.qcom.rc \
+ init.target.rc \
+ init.uicc.rc \
+ ueventd.qcom.rc \
+ vendor.oem_ftm.rc \
+ vendor.oem_ftm_svc_disable.rc \
+ vendor_modprobe.sh
-# DebugFS
-PRODUCT_SET_DEBUGFS_RESTRICTIONS := true
+# Device ID Attestation
+PRODUCT_COPY_FILES += \
+ frameworks/native/data/etc/android.software.device_id_attestation.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.device_id_attestation.xml
# Display
PRODUCT_PACKAGES += \
+ android.hardware.graphics.common-V1-ndk_platform.vendor \
android.hardware.graphics.mapper@3.0-impl-qti-display \
android.hardware.graphics.mapper@4.0-impl-qti-display \
+ android.hardware.memtrack@1.0-impl \
+ android.hardware.memtrack@1.0-service \
init.qti.display_boot.sh \
+ libdisplayconfig.qti \
+ libdisplayconfig.qti.vendor \
+ libmemutils \
+ libqdMetaData \
+ libsdmcore \
+ libsdmutils \
+ libtinyxml \
+ memtrack.default \
+ vendor.display.config@1.0 \
+ vendor.display.config@1.0.vendor \
+ vendor.display.config@1.1.vendor \
+ vendor.display.config@1.2.vendor \
+ vendor.display.config@1.3.vendor \
+ vendor.display.config@1.4.vendor \
+ vendor.display.config@1.5.vendor \
+ vendor.display.config@1.6.vendor \
+ vendor.display.config@1.7.vendor \
+ vendor.display.config@1.8.vendor \
+ vendor.display.config@1.9.vendor \
+ vendor.display.config@1.10.vendor \
+ vendor.display.config@1.11.vendor \
+ vendor.display.config@1.12.vendor \
+ vendor.display.config@1.13.vendor \
+ vendor.display.config@1.14.vendor \
+ vendor.display.config@1.15.vendor \
+ vendor.display.config@2.0 \
+ vendor.display.config@2.0.vendor \
+ vendor.oneplus.hardware.display@1.0.vendor \
vendor.qti.hardware.display.allocator-service \
vendor.qti.hardware.display.composer-service \
- vendor.qti.hardware.memtrack-service
+ vendor.qti.hardware.display.mapper@1.0.vendor \
+ vendor.qti.hardware.display.mapper@1.1.vendor \
+ vendor.qti.hardware.display.mapper@2.0.vendor \
+ vendor.qti.hardware.display.mapper@3.0.vendor \
+ vendor.qti.hardware.display.mapper@4.0.vendor
-PRODUCT_COPY_FILES += \
- hardware/qcom-caf/sm8350/display/config/snapdragon_color_libs_config.xml:$(TARGET_COPY_OUT_VENDOR)/etc/snapdragon_color_libs_config.xml
-
-# Doze
-PRODUCT_PACKAGES += \
- OplusDoze \
- OplusDozeResTarget
-
-# DRM
-PRODUCT_PACKAGES += \
- android.hardware.drm-service.clearkey \
- wvmkiller
-
-# Fastboot
-PRODUCT_PACKAGES += \
- android.hardware.fastboot@1.1-impl.custom \
- fastbootd
-
-# Fingerprint
-PRODUCT_PACKAGES += \
- android.hardware.biometrics.fingerprint@2.3-service.oplus
-
-PRODUCT_COPY_FILES += \
- frameworks/native/data/etc/android.hardware.fingerprint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.fingerprint.xml
-
-# FM Radio
-PRODUCT_PACKAGES += \
- FM2
-
-# GPS
-PRODUCT_COPY_FILES += \
- frameworks/native/data/etc/android.hardware.location.gps.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.location.gps.xml
-
-# Graphics
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.compute-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.compute-0.xml \
@@ -169,113 +279,187 @@ PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.vulkan.version-1_1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version-1_1.xml \
frameworks/native/data/etc/android.software.vulkan.deqp.level-2020-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml
+# Doze
+PRODUCT_PACKAGES += \
+ OnePlusDoze
+
+# DRM
+PRODUCT_PACKAGES += \
+ android.hardware.drm@1.3.vendor \
+ android.hardware.drm@1.4-service.clearkey
+
+# fastbootd
+PRODUCT_PACKAGES += \
+ fastbootd
+
+# Fingerprint
+PRODUCT_PACKAGES += \
+ android.hardware.biometrics.fingerprint@2.1-service \
+ vendor.oneplus.fingerprint.extension@1.0.vendor
+
+PRODUCT_COPY_FILES += \
+ frameworks/native/data/etc/android.hardware.fingerprint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.fingerprint.xml
+
+# Gatekeeper
+PRODUCT_PACKAGES += \
+ android.hardware.gatekeeper@1.0.vendor
+
+# GPS
+PRODUCT_PACKAGES += \
+ android.hardware.gnss.measurement_corrections@1.1.vendor \
+ android.hardware.gnss.visibility_control@1.0.vendor \
+ android.hardware.gnss@2.1.vendor
+
+PRODUCT_COPY_FILES += \
+ $(LOCAL_PATH)/gps/flp.conf:$(TARGET_COPY_OUT_VENDOR)/etc/flp.conf \
+ $(LOCAL_PATH)/gps/gnss_antenna_info.conf:$(TARGET_COPY_OUT_VENDOR)/etc/gnss_antenna_info.conf \
+ $(LOCAL_PATH)/gps/gps.conf:$(TARGET_COPY_OUT_VENDOR)/etc/gps.conf \
+ $(LOCAL_PATH)/gps/izat.conf:$(TARGET_COPY_OUT_VENDOR)/etc/izat.conf \
+ $(LOCAL_PATH)/gps/lowi.conf:$(TARGET_COPY_OUT_VENDOR)/etc/lowi.conf \
+ $(LOCAL_PATH)/gps/sap.conf:$(TARGET_COPY_OUT_VENDOR)/etc/sap.conf \
+ $(LOCAL_PATH)/gps/xtwifi.conf:$(TARGET_COPY_OUT_VENDOR)/etc/xtwifi.conf
+
+PRODUCT_COPY_FILES += \
+ frameworks/native/data/etc/android.hardware.location.gps.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.location.gps.xml
+
# Health
PRODUCT_PACKAGES += \
- android.hardware.health-service.qti
+ android.hardware.health@2.1-impl \
+ android.hardware.health@2.1-service
-# Hotword enrollment
-PRODUCT_COPY_FILES += \
- $(LOCAL_PATH)/configs/permissions/privapp-permissions-hotword.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/permissions/privapp-permissions-hotword.xml
-
-# Init
+# HIDL
PRODUCT_PACKAGES += \
- fstab.qcom \
- fstab.qcom.vendor_ramdisk \
- init.class_main.sh \
- init.oplus.rc \
- init.qcom.early_boot.sh \
- init.qcom.rc \
- init.qcom.recovery.rc \
- init.qcom.sh \
- init.qcom.usb.rc \
- init.qcom.usb.sh \
- init.target.rc \
- ueventd.oplus.rc \
- ueventd.qcom.rc
+ libhidltransport.vendor \
+ libhwbinder.vendor
-$(call soong_config_set,libinit,vendor_init_lib,//$(LOCAL_PATH):libinit_oplus)
+# HotwordEnrollement app permissions
+PRODUCT_COPY_FILES += \
+ $(LOCAL_PATH)/configs/privapp-permissions-hotword.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/permissions/privapp-permissions-hotword.xml
# IPACM
PRODUCT_PACKAGES += \
ipacm \
- IPACM_cfg.xml
+ IPACM_cfg.xml \
+ libipanat \
+ liboffloadhal
-# Kernel
-PRODUCT_ENABLE_UFFD_GC := true
-
-# Lineage Health
+# Keymaster
PRODUCT_PACKAGES += \
- vendor.lineage.health-service.default
-
-$(call soong_config_set,lineage_health,charging_control_charging_path,/sys/class/oplus_chg/battery/mmi_charging_enable)
+ android.hardware.keymaster@4.1.vendor
# LiveDisplay
PRODUCT_PACKAGES += \
- vendor.lineage.livedisplay-service.oplus
-
-$(call soong_config_set_bool,OPLUS_LINEAGE_LIVEDISPLAY_HAL,ENABLE_SE,false)
+ vendor.lineage.livedisplay@2.1-service.oneplus
# Media
PRODUCT_COPY_FILES += \
- $(LOCAL_PATH)/configs/media/media_profiles_holi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_vendor.xml
+ $(LOCAL_PATH)/configs/media_codecs_holi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \
+ $(LOCAL_PATH)/configs/media_codecs_holi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_holi.xml \
+ $(LOCAL_PATH)/configs/media_codecs_holi_vendor.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_holi_vendor.xml \
+ $(LOCAL_PATH)/configs/media_codecs_performance_holi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance.xml \
+ $(LOCAL_PATH)/configs/media_codecs_performance_holi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_holi.xml \
+ $(LOCAL_PATH)/configs/media_codecs_performance_holi_vendor.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_holi_vendor.xml \
+ $(LOCAL_PATH)/configs/media_codecs_vendor_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_vendor_audio.xml \
+ $(LOCAL_PATH)/configs/media_profiles.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles.xml \
+ $(LOCAL_PATH)/configs/media_profiles_holi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_holi.xml \
+ $(LOCAL_PATH)/configs/media_profiles_holi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_vendor.xml \
+ $(LOCAL_PATH)/configs/media_profiles_V1_0.xml:$(TARGET_COPY_OUT_ODM)/etc/media_profiles_V1_0.xml
-$(call soong_config_set_bool,stagefright,target_disable_thumbnail_block_model,true)
+PRODUCT_COPY_FILES += \
+ frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml \
+ frameworks/av/media/libstagefright/data/media_codecs_google_c2.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_c2.xml \
+ frameworks/av/media/libstagefright/data/media_codecs_google_c2_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_c2_audio.xml \
+ frameworks/av/media/libstagefright/data/media_codecs_google_c2_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_c2_video.xml \
+ frameworks/av/media/libstagefright/data/media_codecs_google_telephony.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_telephony.xml \
+ frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video.xml \
+ frameworks/av/media/libstagefright/data/media_codecs_google_video_le.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video_le.xml
+
+
+PRODUCT_PACKAGES += \
+ libavservices_minijail \
+ libavservices_minijail.vendor \
+ libavservices_minijail_vendor \
+ libcodec2_hidl@1.0.vendor
+
+# Net
+PRODUCT_PACKAGES += \
+ android.system.net.netd@1.1.vendor \
+ netutils-wrapper-1.0
+
+# Neural Network
+PRODUCT_PACKAGES += \
+ android.hardware.neuralnetworks@1.3.vendor
# NFC
PRODUCT_PACKAGES += \
- android.hardware.nfc-service.st \
+ android.hardware.nfc@1.2-service.st \
+ android.hardware.secure_element@1.2.vendor \
com.android.nfc_extras \
nfc_nci.st21nfc.default \
+ SecureElement \
Tag
PRODUCT_COPY_FILES += \
- $(LOCAL_PATH)/configs/nfc/libnfc-hal-st.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libnfc-hal-st.conf \
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/android.hardware.nfc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.xml
-# Overlays
-$(call inherit-product, hardware/oplus/overlay/generic/generic.mk)
-$(call inherit-product, hardware/oplus/overlay/qssi/qssi.mk)
-
-DEVICE_PACKAGE_OVERLAYS += \
- $(LOCAL_PATH)/overlay-lineage
-
-PRODUCT_ENFORCE_RRO_TARGETS := *
+# OMX
PRODUCT_PACKAGES += \
- CarrierConfigResCommon \
- FrameworksResTarget \
- Launcher3ResTarget \
- NcmTetheringOverlay \
- OPlusFrameworksResTarget \
- OPlusSettingsProviderResTarget \
- OPlusSettingsResTarget \
- OPlusSystemUIResTarget \
- WifiResTarget
+ libOmxAacEnc \
+ libOmxAmrEnc \
+ libOmxCore \
+ libOmxEvrcEnc \
+ libOmxG711Enc \
+ libOmxQcelp13Enc \
+ libstagefrighthw
-# Partitions
+# OnePlus
PRODUCT_PACKAGES += \
- vendor_bt_firmware_mountpoint \
- vendor_dsp_mountpoint \
- vendor_firmware_mnt_mountpoint
+ oneplus-fwk
-PRODUCT_USE_DYNAMIC_PARTITIONS := true
-
-# Perf
-PRODUCT_COPY_FILES += \
- $(LOCAL_PATH)/configs/perf/task_profiles.json:$(TARGET_COPY_OUT_VENDOR)/etc/task_profiles.json
+PRODUCT_BOOT_JARS += \
+ oneplus-fwk
# Power
PRODUCT_PACKAGES += \
- android.hardware.power-service.lineage-libperfmgr \
- libqti-perfd-client
+ android.hardware.power-service-qti \
+ android.hardware.power@1.2.vendor \
+ vendor.qti.hardware.perf@2.0.vendor \
+ vendor.qti.hardware.perf@2.1.vendor \
+ vendor.qti.hardware.perf@2.2.vendor
-PRODUCT_COPY_FILES += \
- $(LOCAL_PATH)/configs/powerhint.json:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.json
+# QMI
+PRODUCT_PACKAGES += \
+ libjson \
+ libqti_vndfwk_detect \
+ libqti_vndfwk_detect.vendor \
+ libvndfwk_detect_jni.qti \
+ libvndfwk_detect_jni.qti.vendor
+
+# QTI service tracker
+PRODUCT_PACKAGES += \
+ vendor.qti.hardware.servicetracker@1.0.vendor \
+ vendor.qti.hardware.servicetracker@1.1.vendor \
+ vendor.qti.hardware.servicetracker@1.2.vendor
+
+# RIL
+PRODUCT_PACKAGES += \
+ android.hardware.radio@1.5.vendor \
+ android.hardware.radio.config@1.2.vendor \
+ android.hardware.radio.deprecated@1.0.vendor \
+ libprotobuf-cpp-full \
+ librmnetctl \
+ libxml2
# Sensors
PRODUCT_PACKAGES += \
- android.hardware.sensors-service.multihal \
+ android.hardware.sensors@2.0-service.multihal \
+ libsensorndkbridge
+
+# Needed for sensors.ssc.so
+PRODUCT_PACKAGES += \
+ android.hardware.audio@4.0.vendor
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.accelerometer.xml \
@@ -288,43 +472,21 @@ PRODUCT_COPY_FILES += \
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
-# Shipping API
-BOARD_SHIPPING_API_LEVEL := 30
-PRODUCT_SHIPPING_API_LEVEL := $(BOARD_SHIPPING_API_LEVEL)
-
# Soong namespaces
PRODUCT_SOONG_NAMESPACES += \
$(LOCAL_PATH) \
- hardware/google/interfaces \
- hardware/google/pixel \
- hardware/oplus \
- hardware/lineage/interfaces/power-libperfmgr \
- hardware/qcom-caf/common/libqti-perfd-client
-
-# Storage
-$(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk)
+ hardware/oneplus
# Telephony
PRODUCT_PACKAGES += \
- extphonelib \
- extphonelib-product \
- extphonelib.xml \
- extphonelib_product.xml \
ims-ext-common \
ims_ext_common.xml \
qti-telephony-hidl-wrapper \
- qti-telephony-hidl-wrapper-prd \
qti_telephony_hidl_wrapper.xml \
- qti_telephony_hidl_wrapper_prd.xml \
qti-telephony-utils \
- qti-telephony-utils-prd \
qti_telephony_utils.xml \
- qti_telephony_utils_prd.xml \
telephony-ext
-PRODUCT_PACKAGES += \
- qcrilNrDb_vendor
-
PRODUCT_BOOT_JARS += \
telephony-ext
@@ -337,15 +499,13 @@ PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.telephony.ims.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.ims.xml \
frameworks/native/data/etc/android.software.sip.voip.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.sip.voip.xml
-$(call inherit-product, hardware/oplus/oplus-fwk/oplus-fwk.mk)
-
# Thermal
PRODUCT_PACKAGES += \
- android.hardware.thermal-service.qti
+ android.hardware.thermal@2.0-service.qti
# Touch
PRODUCT_PACKAGES += \
- vendor.lineage.touch-service.oplus
+ vendor.lineage.touch@1.0-service.oneplus
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml
@@ -361,12 +521,7 @@ PRODUCT_PACKAGES_DEBUG += \
# USB
PRODUCT_PACKAGES += \
- android.hardware.usb-service.qti \
- android.hardware.usb.gadget-service.qti \
- oplus_usb_compositions.conf
-
-PRODUCT_SOONG_NAMESPACES += \
- vendor/qcom/opensource/usb/etc
+ android.hardware.usb@1.3-service-qti
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml \
@@ -376,6 +531,10 @@ PRODUCT_COPY_FILES += \
PRODUCT_PACKAGES += \
vndservicemanager
+# Vendor libstdc++
+PRODUCT_PACKAGES += \
+ libstdc++.vendor
+
# Verified Boot
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.software.verified_boot.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.verified_boot.xml
@@ -387,35 +546,35 @@ PRODUCT_PACKAGES += \
PRODUCT_COPY_FILES += \
vendor/qcom/opensource/vibrator/excluded-input-devices.xml:$(TARGET_COPY_OUT_VENDOR)/etc/excluded-input-devices.xml
-# VINTF
-DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE += \
- hardware/oplus/vintf/device_framework_matrix.xml \
- hardware/qcom-caf/common/vendor_framework_compatibility_matrix.xml
-DEVICE_MATRIX_FILE := hardware/qcom-caf/common/compatibility_matrix.xml
-DEVICE_MANIFEST_FILE := $(LOCAL_PATH)/vintf/manifest.xml
-
-# WiFi
+# Wi-Fi
PRODUCT_PACKAGES += \
- android.hardware.wifi-service \
+ android.hardware.wifi@1.0-service \
hostapd \
+ libwpa_client \
libwifi-hal-ctrl \
libwifi-hal-qcom \
+ wifi-mac-generator-dre \
+ WifiResCommon \
wpa_supplicant \
wpa_supplicant.conf
PRODUCT_COPY_FILES += \
- frameworks/native/data/etc/android.hardware.wifi.aware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.aware.xml \
+ $(LOCAL_PATH)/wifi/p2p_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/p2p_supplicant_overlay.conf \
+ $(LOCAL_PATH)/wifi/wpa_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant_overlay.conf
+
+PRODUCT_COPY_FILES += \
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.wifi.rtt.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.rtt.xml \
frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml \
- frameworks/native/data/etc/android.software.ipsec_tunnel_migration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.ipsec_tunnel_migration.xml \
frameworks/native/data/etc/android.software.ipsec_tunnels.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.ipsec_tunnels.xml
-# WiFi firmware symlinks
+# Wi-Fi Display
PRODUCT_PACKAGES += \
- firmware_wlan_mac.bin_symlink \
- firmware_WCNSS_qcom_cfg.ini_symlink
+ libnl \
+ libwfdaac_vendor
-# Get non-open-source specific aspects
-$(call inherit-product, vendor/oneplus/dre/dre-vendor.mk)
+PRODUCT_BOOT_JARS += \
+ WfdCommon
+
+PRODUCT_BUILD_SUPER_PARTITION := false
+PRODUCT_USE_DYNAMIC_PARTITIONS := true
diff --git a/device_framework_matrix.xml b/device_framework_matrix.xml
new file mode 100644
index 0000000..dcf935b
--- /dev/null
+++ b/device_framework_matrix.xml
@@ -0,0 +1,218 @@
+
+
+ vendor.aac.hardware.richtap.vibrator
+
+ IRichtapVibrator
+ default
+
+
+
+ vendor.dolby.hardware.dms
+ 2.0
+
+ IDms
+ default
+
+
+
+ vendor.goodix3626.hardware.biometrics.fingerprint
+ 2.1
+
+ IGoodixFingerprintDaemon
+ default
+
+
+
+ vendor.nxp.eventprocessor
+ 1.0
+
+ INxpEseEvtProcessor
+ default
+
+
+
+ vendor.nxp.hardware.nfc
+ 1.0-1
+ 2.0
+
+ INqNfc
+ default
+
+
+
+ vendor.nxp.nxpese
+ 1.0
+
+ INxpEse
+ default
+
+
+
+ vendor.nxp.nxpnfc
+ 1.0
+
+ INxpNfc
+ default
+
+
+
+ vendor.nxp.nxpnfclegacy
+ 1.0
+
+ INxpNfcLegacy
+ default
+
+
+
+ vendor.oneplus.engnative.engineer
+ 1.0
+
+ IEngineer
+ default
+
+
+
+ vendor.oneplus.faceunlock.hal
+ 1.0
+
+ IFaceUnlockNativeService
+ default
+
+
+
+ vendor.oneplus.fingerprint.extension
+ 1.0
+
+ IVendorFingerprintExtensions
+ default
+
+
+
+ vendor.oneplus.hardware.CameraMDMHIDL
+ 1.0
+
+ IOnePlusCameraMDM
+ default
+
+
+
+ vendor.oneplus.hardware.camera
+ 1.0
+
+ IOnePlusCameraProvider
+ default
+
+
+
+ vendor.oneplus.hardware.cwb
+ 1.0
+
+ ICwbService
+ default
+
+
+
+ vendor.oneplus.hardware.display
+ 1.0
+
+ IOneplusDisplay
+ default
+
+
+
+ vendor.oneplus.hardware.drmkey
+ 1.0
+
+ IOneplusDrmKey
+ default
+
+
+
+ vendor.oneplus.hardware.hdcpkey
+ 1.0
+
+ IOneplusHdcpKey
+ default
+
+
+
+ vendor.oneplus.hardware.hypnus
+ 1.0
+
+ IHypnusUtil
+ default
+
+
+
+ vendor.oneplus.hardware.ifaa
+ 2.0
+
+ IOneplusIfaa
+ default
+
+
+
+ vendor.oneplus.hardware.lmvibrator
+ 1.0
+
+ ILinearMotorVibrator
+ default
+
+
+
+ vendor.oneplus.hardware.motorcontrol
+ 1.0
+
+ IOPMotorControl
+ default
+
+
+
+ vendor.oneplus.hardware.param
+ 1.0
+
+ IOneplusParam
+ default
+
+
+
+ vendor.oneplus.hardware.rpmb
+ 1.0
+
+ IOneplusRpmb
+ default
+
+
+
+ vendor.oneplus.hardware.wifi
+ 1.1
+
+ IOneplusWifi
+ default
+
+
+
+ vendor.pixelworks.hardware.display
+ 1.1
+
+ IIris
+ default
+
+
+
+ vendor.pixelworks.hardware.feature
+ 1.0
+
+ IIrisFeature
+ default
+
+
+
+ vendor.rongcard.hardware.eid
+ 1.0
+
+ IEidDevice
+ default
+
+
+
diff --git a/extract-files.py b/extract-files.py
deleted file mode 100755
index d0b5d85..0000000
--- a/extract-files.py
+++ /dev/null
@@ -1,124 +0,0 @@
-#!/usr/bin/env -S PYTHONPATH=../../../tools/extract-utils python3
-#
-# SPDX-FileCopyrightText: 2024 The LineageOS Project
-# SPDX-License-Identifier: Apache-2.0
-#
-
-from extract_utils.fixups_blob import (
- blob_fixup,
- blob_fixups_user_type,
-)
-from extract_utils.fixups_lib import (
- lib_fixups,
- lib_fixups_user_type,
-)
-from extract_utils.main import (
- ExtractUtils,
- ExtractUtilsModule,
-)
-
-namespace_imports = [
- 'device/oneplus/dre',
- 'hardware/oplus',
- 'hardware/qcom-caf/common/libqti-perfd-client',
- 'hardware/qcom-caf/sm8350',
- 'hardware/qcom-caf/wlan',
- 'vendor/qcom/opensource/commonsys-intf/display',
- 'vendor/qcom/opensource/commonsys/display',
- 'vendor/qcom/opensource/dataservices',
- 'vendor/qcom/opensource/display',
-]
-
-
-def lib_fixup_vendor_suffix(lib: str, partition: str, *args, **kwargs):
- return f'{lib}_vendor' if partition in ['odm', 'vendor'] else None
-
-
-lib_fixups: lib_fixups_user_type = {
- **lib_fixups,
- (
- 'com.qualcomm.qti.dpm.api@1.0',
- 'libmmosal',
- 'vendor.qti.diaghal@1.0',
- 'vendor.qti.hardware.fm@1.0',
- 'vendor.qti.hardware.wifidisplaysession@1.0',
- 'vendor.qti.imsrtpservice@3.0',
- ): lib_fixup_vendor_suffix,
-}
-
-blob_fixups: blob_fixups_user_type = {
- 'odm/etc/init/android.hardware.drm@1.3-service.widevine.rc': blob_fixup()
- .regex_replace('writepid /dev/cpuset/foreground/tasks', 'task_profiles ProcessCapacityHigh'),
- ('odm/lib/liblvimfs_wrapper.so', 'odm/lib64/libCOppLceTonemapAPI.so', 'odm/lib64/libaps_frame_registration.so'): blob_fixup()
- .replace_needed('libstdc++.so', 'libstdc++_vendor.so'),
- 'odm/lib64/libarcsoft_portrait_super_night_raw.so': blob_fixup()
- .clear_symbol_version('remote_handle_close')
- .clear_symbol_version('remote_handle_invoke')
- .clear_symbol_version('remote_handle_open')
- .clear_symbol_version('remote_handle64_close')
- .clear_symbol_version('remote_handle64_invoke')
- .clear_symbol_version('remote_handle64_open')
- .clear_symbol_version('remote_register_buf_attr')
- .clear_symbol_version('remote_register_buf')
- .clear_symbol_version('rpcmem_alloc')
- .clear_symbol_version('rpcmem_free')
- .clear_symbol_version('rpcmem_to_fd'),
- 'odm/lib64/libOGLManager.so': blob_fixup()
- .clear_symbol_version('AHardwareBuffer_allocate')
- .clear_symbol_version('AHardwareBuffer_describe')
- .clear_symbol_version('AHardwareBuffer_lock')
- .clear_symbol_version('AHardwareBuffer_release')
- .clear_symbol_version('AHardwareBuffer_unlock'),
- ('odm/lib64/libwvhidl.so','odm/lib64/mediadrm/libwvdrmengine.so'): blob_fixup()
- .add_needed('libcrypto_shim.so'),
- 'product/etc/sysconfig/com.android.hotwordenrollment.common.util.xml': blob_fixup()
- .regex_replace('/my_product', '/product'),
- 'system_ext/lib64/libwfdnative.so': blob_fixup()
- .add_needed('libinput_shim.so'),
- 'vendor/bin/init.kernel.post_boot-blair.sh': blob_fixup()
- .patch_file('blob-patches/init-post-boot-blair.patch'),
- 'vendor/bin/init.kernel.post_boot-holi.sh': blob_fixup()
- .patch_file('blob-patches/init-post-boot-holi.patch'),
- 'vendor/etc/init/vendor.qti.media.c2@1.0-service.rc': blob_fixup()
- .regex_replace('writepid /dev/cpuset/foreground/tasks', 'task_profiles ProcessCapacityHigh'),
- ('vendor/etc/media_codecs.xml','vendor/etc/media_codecs_blair.xml','vendor/etc/media_codecs_blair_lite.xml','vendor/etc/media_codecs_holi.xml'): blob_fixup()
- .regex_replace('\n ', '')
- .regex_replace('\n ', '')
- .regex_replace('\n ', '')
- .regex_replace('\n ', '')
- .regex_replace('\n ', '')
- .regex_replace('\n ', '\n \n '),
- 'vendor/etc/media_holi/video_system_specs.json': blob_fixup()
- .regex_replace('"max_retry_alloc_output_timeout": 2000,', '"max_retry_alloc_output_timeout": 0,'),
- 'vendor/etc/libnfc-nci.conf': blob_fixup()
- .regex_replace('NFC_DEBUG_ENABLED=1', 'NFC_DEBUG_ENABLED=0'),
- 'vendor/etc/msm_irqbalance.conf': blob_fixup()
- .regex_replace('IGNORED_IRQ=19,21,38$', 'IGNORED_IRQ=19,21,38,209,218'),
- 'vendor/etc/public.libraries.txt': blob_fixup()
- .regex_replace('libqti-perfd-client.so\n', ''),
- 'vendor/etc/qdcm_calib_data_nt36672c_tm_fhd_plus_video_mode_dsi_panel.xml': blob_fixup()
- .regex_replace('FeatureType="2" Disable="false"', 'FeatureType="2" Disable="true"')
- .regex_replace('FeatureType="7" Disable="false"', 'FeatureType="7" Disable="true"')
- .regex_replace('FeatureType="8" Disable="false"', 'FeatureType="8" Disable="true"')
- .regex_replace('20121_v1_20201113', 'native')
- .regex_replace('SRGB', 'sRGB'),
- 'vendor/lib64/hw/camera.qcom.so': blob_fixup()
- .add_needed('libcamera_metadata_shim.so'),
- (
- 'vendor/lib64/libdpps.so',
- 'vendor/lib64/libsnapdragoncolor-manager.so',
- ): blob_fixup()
- .replace_needed('libtinyxml2.so', 'libtinyxml2-v34.so'),
-} # fmt: skip
-
-module = ExtractUtilsModule(
- 'dre',
- 'oneplus',
- blob_fixups=blob_fixups,
- lib_fixups=lib_fixups,
- namespace_imports=namespace_imports,
-)
-
-if __name__ == '__main__':
- utils = ExtractUtils.device(module)
- utils.run()
diff --git a/extract-files.sh b/extract-files.sh
new file mode 100755
index 0000000..e3a5452
--- /dev/null
+++ b/extract-files.sh
@@ -0,0 +1,72 @@
+#!/bin/bash
+#
+# Copyright (C) 2016 The CyanogenMod Project
+# Copyright (C) 2017-2022 The LineageOS Project
+#
+# SPDX-License-Identifier: Apache-2.0
+#
+
+set -e
+
+DEVICE=dre
+VENDOR=oneplus
+
+# Load extract_utils and do some sanity checks
+MY_DIR="${BASH_SOURCE%/*}"
+if [[ ! -d "${MY_DIR}" ]]; then MY_DIR="${PWD}"; fi
+
+ANDROID_ROOT="${MY_DIR}/../../.."
+
+HELPER="${ANDROID_ROOT}/tools/extract-utils/extract_utils.sh"
+if [ ! -f "${HELPER}" ]; then
+ echo "Unable to find helper script at ${HELPER}"
+ exit 1
+fi
+source "${HELPER}"
+
+# Default to sanitizing the vendor folder before extraction
+CLEAN_VENDOR=true
+
+KANG=
+SECTION=
+
+while [ "${#}" -gt 0 ]; do
+ case "${1}" in
+ -n | --no-cleanup )
+ CLEAN_VENDOR=false
+ ;;
+ -k | --kang )
+ KANG="--kang"
+ ;;
+ -s | --section )
+ SECTION="${2}"; shift
+ CLEAN_VENDOR=false
+ ;;
+ * )
+ SRC="${1}"
+ ;;
+ esac
+ shift
+done
+
+if [ -z "${SRC}" ]; then
+ SRC="adb"
+fi
+
+function blob_fixup() {
+ case "${1}" in
+ system_ext/lib64/libwfdnative.so)
+ sed -i "s/android.hidl.base@1.0.so/libhidlbase.so\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00/" "${2}"
+ ;;
+ vendor/lib64/hw/fingerprint.qcom.so)
+ sed -i "s/goodix\.3626/fingerprint/g" "${2}"
+ ;;
+ esac
+}
+
+# Initialize the helper
+setup_vendor "${DEVICE}" "${VENDOR}" "${ANDROID_ROOT}" false "${CLEAN_VENDOR}"
+
+extract "${MY_DIR}/proprietary-files.txt" "${SRC}" "${KANG}" --section "${SECTION}"
+
+"${MY_DIR}/setup-makefiles.sh"
diff --git a/gps/flp.conf b/gps/flp.conf
new file mode 100644
index 0000000..65d54d3
--- /dev/null
+++ b/gps/flp.conf
@@ -0,0 +1,60 @@
+###################################
+##### FLP settings #####
+###################################
+
+###################################
+# FLP BATCH SIZE
+###################################
+# The number of batched locations
+# requested to modem. The desired number
+# defined below may not be satisfied, as
+# the modem can only return the number
+# of batched locations that can be allocated,
+# which is limited by memory. The default
+# batch size defined as 20 as below.
+BATCH_SIZE=20
+
+###################################
+# FLP OUTDOOR TRIP BATCH SIZE
+###################################
+# The number of batched locations
+# requested to modem for outdoor
+# trip batching. The desired number
+# defined below may not be satisfied, as
+# the modem can only return the number
+# of batched locations that can be allocated,
+# which is limited by memory. The default
+# trip batch size defined as 600 as below.
+OUTDOOR_TRIP_BATCH_SIZE=600
+
+###################################
+# FLP BATCHING SESSION TIMEOUT
+###################################
+# Duration with which batch session timeout
+# happens in milliseconds. If not specified
+# or set to zero, batching session timeout
+# defaults to 20 seconds by the modem.
+# BATCH_SESSION_TIMEOUT=20000
+
+###################################
+# FLP BATCHING ACCURACY
+###################################
+# Set to one of the defined values below
+# to define the accuracy of batching.
+# If not specified, accuracy defaults
+# to LOW.
+# FLP BATCHING ACCURACY values:
+# Low accuracy = 0
+# Medium accuracy = 1
+# High accuracy = 2
+ACCURACY=1
+
+####################################
+# By default if network fixes are not sensor assisted
+# these fixes must be dropped. This parameter adds an exception
+# for targets where there is no PDR and we still want to
+# report out network fixes
+# 0: MUST NOT ALLOW NETWORK FIXES
+# 1: ALLOW NETWORK FIXES
+####################################
+ALLOW_NETWORK_FIXES = 0
diff --git a/gps/gnss_antenna_info.conf b/gps/gnss_antenna_info.conf
new file mode 100644
index 0000000..79a2aef
--- /dev/null
+++ b/gps/gnss_antenna_info.conf
@@ -0,0 +1,134 @@
+###################################
+##### ANTENNA INFORMATION #####
+###################################
+
+###################################
+# ANTENNA INFO VECTOR SIZE
+###################################
+# The number of antenna info
+# structures in the vector. Each
+# entry in this vector is a structure
+# with the following elements:
+#
+# - CARRIER_FREQUENCY
+# - PC_OFFSET
+# - PC_VARIATION_CORRECTION
+# - PC_VARIATION_CORRECTION_UNC
+# - SIGNAL_GAIN_CORRECTION
+# - SIGNAL_GAIN_CORRECTION_UNC
+#
+# Notes:
+# CARRIER_FREQUENCY
+# The carrier frequency in MHz.
+#
+# PC = PHASE CENTER
+# PC_OFFSET is a structure with six
+# elements: x, y, z and their associated uncertainties
+# Phase center offset (PCO) is defined with
+# respect to the origin of the Android sensor coordinate system, e.g.,
+# center of primary screen for mobiles
+#
+# PC_VARIATION_CORRECTION
+# 2D vectors representing the phase center variation (PCV) corrections,
+# in millimeters, at regularly spaced azimuthal angle (theta) and zenith angle
+# (phi). The PCV correction is added to the phase measurement to obtain the
+# corrected value.
+# The azimuthal angle, theta, is defined with respect to the X axis of the
+# Android sensor coordinate system, increasing toward the Y axis. The zenith
+# angle, phi, is defined with respect to the Z axis of the Android Sensor
+# coordinate system, increasing toward the X-Y plane.
+# Each row vector (outer vectors) represents a fixed theta. The first row
+# corresponds to a theta angle of 0 degrees. The last row corresponds to a
+# theta angle of (360 - deltaTheta) degrees, where deltaTheta is the regular
+# spacing between azimuthal angles, i.e., deltaTheta = 360 / (number of rows).
+# The columns (inner vectors) represent fixed zenith angles, beginning at 0
+# degrees and ending at 180 degrees. They are separated by deltaPhi, the regular
+# spacing between zenith angles, i.e., deltaPhi = 180 / (number of columns - 1).
+#
+# PC_VARIATION_CORRECTION_UNC
+# 2D vectors of 1-sigma uncertainty in millimeters associated with the PCV
+# correction values.
+#
+# SIGNAL_GAIN_CORRECTION
+# 2D vectors representing the signal gain corrections at regularly spaced
+# azimuthal angle (theta) and zenith angle (phi). The values are calculated or
+# measured at the antenna feed point without considering the radio and receiver
+# noise figure and path loss contribution, in dBi, i.e., decibel over isotropic
+# antenna with the same total power. The signal gain correction is added the
+# signal gain measurement to obtain the corrected value.
+# The azimuthal angle, theta, is defined with respect to the X axis of the
+# Android sensor coordinate system, increasing toward the Y axis. The zenith
+# angle, phi, is defined with respect to the Z axis of the Android Sensor
+# coordinate system, increasing toward the X-Y plane.
+# Each row vector (outer vectors) represents a fixed theta. The first row
+# corresponds to a theta angle of 0 degrees. The last row corresponds to a
+# theta angle of (360 - deltaTheta) degrees, where deltaTheta is the regular
+# spacing between azimuthal angles, i.e., deltaTheta = 360 / (number of rows).
+# The columns (inner vectors) represent fixed zenith angles, beginning at 0
+# degrees and ending at 180 degrees. They are separated by deltaPhi, the regular
+# spacing between zenith angles, i.e., deltaPhi = 180 / (number of columns - 1).
+#
+# SIGNAL_GAIN_CORRECTION_UNC
+# 2D vectors of 1-sigma uncertainty in dBi associated with the signal
+# gain correction values.
+#
+# The number of rows and columns could be the same for PC variation correction
+# and signal gain corrections, or could be different
+# If the former then NUMBER_OF_ROWS_ and NUMBER_OF_COLUMNS_ are specified once
+# only, if the latter then NUMBER_OF_ROWS_ and NUMBER_OF_COLUMNS_ represent
+# the number of rows/columns for PC variation correction and
+# NUMBER_OF_ROWS_SGC_ and NUMBER_OF_COLUMNS_SGC_ represent the number of
+# rows/columns for signal gain corrections
+
+ANTENNA_INFO_VECTOR_SIZE = 2
+
+CARRIER_FREQUENCY_0 = 1575.42
+
+PC_OFFSET_0 = 1.2 0.1 3.4 0.2 5.6 0.3
+
+NUMBER_OF_ROWS_0 = 3
+NUMBER_OF_COLUMNS_0 = 4
+
+PC_VARIATION_CORRECTION_0_ROW_0 = 11.22 33.44 55.66 77.88
+PC_VARIATION_CORRECTION_0_ROW_1 = 10.2 30.4 50.6 70.8
+PC_VARIATION_CORRECTION_0_ROW_2 = 12.2 34.4 56.6 78.8
+
+PC_VARIATION_CORRECTION_UNC_0_ROW_0 = 0.1 0.2 0.3 0.4
+PC_VARIATION_CORRECTION_UNC_0_ROW_1 = 1.1 1.2 1.3 1.4
+PC_VARIATION_CORRECTION_UNC_0_ROW_2 = 2.1 2.2 2.3 2.4
+
+SIGNAL_GAIN_CORRECTION_0_ROW_0 = 9.8 8.7 7.6 6.5
+SIGNAL_GAIN_CORRECTION_0_ROW_1 = 5.4 4.3 3.2 2.1
+SIGNAL_GAIN_CORRECTION_0_ROW_2 = 1.3 2.4 3.5 4.6
+
+SIGNAL_GAIN_CORRECTION_UNC_0_ROW_0 = 0.11 0.22 0.33 0.44
+SIGNAL_GAIN_CORRECTION_UNC_0_ROW_1 = 0.55 0.66 0.77 0.88
+SIGNAL_GAIN_CORRECTION_UNC_0_ROW_2 = 0.91 0.92 0.93 0.94
+
+
+CARRIER_FREQUENCY_1 = 1227.6
+
+PC_OFFSET_1 = 3.4 0.2 5.6 0.3 1.2 0.1
+
+NUMBER_OF_ROWS_1 = 4
+NUMBER_OF_COLUMNS_1 = 2
+NUMBER_OF_ROWS_SGC_1 = 3
+NUMBER_OF_COLUMNS_SGC_1 = 4
+
+PC_VARIATION_CORRECTION_1_ROW_0 = 55.66 77.88
+PC_VARIATION_CORRECTION_1_ROW_1 = 11.22 33.44
+PC_VARIATION_CORRECTION_1_ROW_2 = 56.6 78.8
+PC_VARIATION_CORRECTION_1_ROW_3 = 12.2 34.4
+
+PC_VARIATION_CORRECTION_UNC_1_ROW_0 = 0.3 0.4
+PC_VARIATION_CORRECTION_UNC_1_ROW_1 = 1.1 1.2
+PC_VARIATION_CORRECTION_UNC_1_ROW_2 = 2.1 2.2
+PC_VARIATION_CORRECTION_UNC_1_ROW_3 = 0.1 0.2
+
+SIGNAL_GAIN_CORRECTION_1_ROW_0 = 7.6 6.5 5.4 4.3
+SIGNAL_GAIN_CORRECTION_1_ROW_1 = 1.3 2.4 9.8 8.7
+SIGNAL_GAIN_CORRECTION_1_ROW_2 = 1.4 2.5 3.6 4.7
+
+SIGNAL_GAIN_CORRECTION_UNC_1_ROW_0 = 0.91 0.92 0.55 0.66
+SIGNAL_GAIN_CORRECTION_UNC_1_ROW_1 = 0.11 0.22 0.93 0.94
+SIGNAL_GAIN_CORRECTION_UNC_1_ROW_2 = 0.95 0.96 0.33 0.44
diff --git a/gps/gps.conf b/gps/gps.conf
new file mode 100644
index 0000000..c5e9dd1
--- /dev/null
+++ b/gps/gps.conf
@@ -0,0 +1,391 @@
+# Error Estimate
+# _SET = 1
+# _CLEAR = 0
+ERR_ESTIMATE=0
+
+#NTP server
+NTP_SERVER=time.xtracloud.net
+
+#XTRA CA path
+XTRA_CA_PATH=/usr/lib/ssl-1.1/certs
+
+# DEBUG LEVELS: 0 - none, 1 - Error, 2 - Warning, 3 - Info
+# 4 - Debug, 5 - Verbose
+# If DEBUG_LEVEL is commented, Android's logging levels will be used
+DEBUG_LEVEL = 2
+
+# Intermediate position report, 1=enable, 0=disable
+INTERMEDIATE_POS=0
+
+# supl version 2.0
+SUPL_VER=0x20000
+
+# Emergency SUPL, 1=enable, 0=disable
+#SUPL_ES=1
+
+#Choose PDN for Emergency SUPL
+#1 - Use emergency PDN
+#0 - Use regular SUPL PDN for Emergency SUPL
+#USE_EMERGENCY_PDN_FOR_EMERGENCY_SUPL=0
+
+#SUPL_MODE is a bit mask set in config.xml per carrier by default.
+#If it is uncommented here, this value will overwrite the value from
+#config.xml.
+#MSA=0X2
+#MSB=0X1
+SUPL_MODE=3
+
+# GPS Capabilities bit mask
+# SCHEDULING = 0x01
+# MSB = 0x02
+# MSA = 0x04
+# ON_DEMAND_TIME = 0x10
+# default = ON_DEMAND_TIME | MSA | MSB | SCHEDULING
+CAPABILITIES=0x17
+
+# Accuracy threshold for intermediate positions
+# less accurate positions are ignored, 0 for passing all positions
+# ACCURACY_THRES=5000
+
+################################
+##### AGPS server settings #####
+################################
+
+# FOR SUPL SUPPORT, set the following
+SUPL_HOST=supl.google.com
+SUPL_PORT=7275
+
+# FOR MO SUPL SUPPORT, set the following
+# MO_SUPL_HOST=supl.host.com or IP
+# MO_SUPL_PORT=1234
+
+# FOR C2K PDE SUPPORT, set the following
+# C2K_HOST=c2k.pde.com or IP
+# C2K_PORT=1234
+
+# Bitmask of slots that are available
+# for write/install to, where 1s indicate writable,
+# and the default value is 0 where no slots
+# are writable. For example, AGPS_CERT_WRITABLE_MASK
+# of b1000001010 makes 3 slots available
+# and the remaining 7 slots unwritable.
+#AGPS_CERT_WRITABLE_MASK=0
+
+####################################
+# LTE Positioning Profile Settings
+####################################
+# LPP_PROFILE is a bit mask
+# 0: Enable RRLP on LTE(Default)
+# 0x1: LPP User Plane
+# 0x2: LPP Control Plane
+# 0x4: LPP User Plane for NR5G
+# 0x8: LPP Control Plane for NR5G
+LPP_PROFILE = 3
+
+####################################
+#Datum Type
+####################################
+# 0: WGS-84
+# 1: PZ-90
+DATUM_TYPE = 0
+
+################################
+# EXTRA SETTINGS
+################################
+# NMEA provider (1=Modem Processor, 0=Application Processor)
+NMEA_PROVIDER=0
+
+################################
+# NMEA TAG BLOCK GROUPING
+################################
+# NMEA tag block grouping is only applicable to GSA
+# Default is disabled
+# 0 - disabled
+# 1 - enabled
+NMEA_TAG_BLOCK_GROUPING_ENABLED = 0
+
+# Customized NMEA GGA fix quality that can be used to tell
+# whether SENSOR contributed to the fix.
+#
+# When this configuration item is not enabled (set to any value that is not 1),
+# GGA fix quality conforms to NMEA standard spec as below:
+# PPP/DGNSS/SBAS correction fix w/ or w/o sensor: 2
+# RTK fixed fix w/ or w/o sensor: 4
+# RTK float fix w/ or w/o sensor: 5
+# SPE fix w/ or w/o sensor: 1
+# Sensor dead reckoning fix: 6
+#
+# When this configuration is enabled (set to 1), GGA fix quality
+# will be output as below:
+# PPP fix w/o sensor: 59, w/ sensor: 69
+# DGNSS/SBAS correction fix w/o sensor: 2, w/ sensor: 62
+# RTK fixed fix w/o sensor: 4, w/ sensor: 64
+# RTK float fix w/o sensor: 5, w/ sensor: 65,
+# SPE fix w/o sensor: 1, and w/ sensor: 61
+# Sensor dead reckoning fix: 6
+#
+# any value that is not 1 - disabled
+# 1 - enabled
+CUSTOM_NMEA_GGA_FIX_QUALITY_ENABLED = 0
+
+################################
+# NMEA Reporting Rate Config, valid only when NMEA_PROVIDER is set to "0"
+################################
+# NMEA Reporting Rate
+# Set it to "1HZ" for 1Hz NMEA Reporting
+# Set it to "NHZ" for NHz NMEA Reporting
+#Default : NHZ (overridden by position update rate if set to lower rates)
+NMEA_REPORT_RATE=NHZ
+
+# Mark if it is a SGLTE target (1=SGLTE, 0=nonSGLTE)
+SGLTE_TARGET=0
+
+##################################################
+# Select Positioning Protocol on A-GLONASS system
+##################################################
+# 0x1: RRC CPlane
+# 0x2: RRLP UPlane
+# 0x4: LLP Uplane
+A_GLONASS_POS_PROTOCOL_SELECT = 0
+
+##################################################
+# Select technology for LPPe Control Plane
+##################################################
+# 0x1: DBH for LPPe CP
+# 0x2: WLAN AP Measurements for LPPe CP
+# 0x4: SRN AP measurement for CP
+# 0x8: Sensor Barometer Measurement LPPe CP
+LPPE_CP_TECHNOLOGY = 0xb
+
+##################################################
+# Select technology for LPPe User Plane
+##################################################
+# 0x1: DBH for LPPe UP
+# 0x2: WLAN AP Measurements for LPPe UP
+# 0x4: SRN AP measurement for UP
+# 0x8: Sensor Barometer Measurement LPPe UP
+#LPPE_UP_TECHNOLOGY = 0
+
+##################################################
+# AGPS_CONFIG_INJECT
+##################################################
+# enable/disable injection of AGPS configurations:
+# SUPL_VER
+# SUPL_HOST
+# SUPL_PORT
+# MO_SUPL_HOST
+# MO_SUPL_PORT
+# C2K_HOST
+# C2K_PORT
+# LPP_PROFILE
+# A_GLONASS_POS_PROTOCOL_SELECT
+# 0: disable
+# 1: enable
+AGPS_CONFIG_INJECT = 1
+
+##################################################
+# GNSS settings for automotive use cases
+# Configurations in following section are
+# specific to automotive use cases, others
+# please do not change, keep the default values
+##################################################
+
+# AP Coarse Timestamp Uncertainty
+##################################################
+# default : 10
+# AP time stamp uncertainty, until GNSS receiver
+# is able to acquire better timing information
+AP_TIMESTAMP_UNCERTAINTY = 10
+
+#####################################
+# DR_SYNC Pulse Availability
+#####################################
+# 0 : DR_SYNC pulse not available (default)
+# 1 : DR_SYNC pulse available
+# This configuration enables the driver to make use
+# of PPS events generated by DR_SYNC pulse
+# Standard Linux PPS driver needs to be enabled
+DR_SYNC_ENABLED = 0
+
+#####################################
+# PPS Device name
+#####################################
+PPS_DEVICENAME = /dev/pps0
+
+#####################################
+# Ignore PPS at Startup and after long outage
+#####################################
+IGNORE_PPS_PULSE_COUNT = 1
+
+#####################################
+# Long GNSS RF outage in seconds
+#####################################
+GNSS_OUTAGE_DURATION = 10
+
+#####################################
+# AP Clock Accuracy
+#####################################
+# Quality of APPS processor clock (in PPM).
+# Value specified is used for calculation of
+# APPS time stamp uncertainty
+AP_CLOCK_PPM = 100
+
+#####################################
+# MAX ms difference to detect missing pulse
+#####################################
+# Specifies time threshold in ms to validate any missing PPS pulses
+MISSING_PULSE_TIME_DELTA = 900
+
+#####################################
+# Propagation time uncertainty
+#####################################
+# This settings enables time uncertainty propagation
+# logic incase of missing PPS pulse
+PROPAGATION_TIME_UNCERTAINTY = 1
+
+#######################################
+# APN / IP Type Configuration
+# APN and IP Type to use for setting
+# up WWAN call.
+# Use below values for IP Type:
+# v4 = 4
+# v6 = 6
+# v4v6 = 10
+#######################################
+# INTERNET_APN = abc.xyz
+# INTERNET_IP_TYPE = 4
+# SUPL_APN = abc.xyz
+# SUPL_IP_TYPE = 4
+
+#####################################
+# Modem type
+#####################################
+# This setting configures modem type
+# (external=0 or internal=1)
+# comment out the next line to vote
+# for the first modem in the list
+MODEM_TYPE = 1
+
+##################################################
+# CONSTRAINED TIME UNCERTAINTY MODE
+##################################################
+# 0 : disabled (default)
+# 1 : enabled
+# This setting enables GPS engine to keep its time
+# uncertainty below the specified constraint
+#CONSTRAINED_TIME_UNCERTAINTY_ENABLED = 0
+
+# If constrained time uncertainty mode is enabled,
+# this setting specifies the time uncertainty
+# threshold that gps engine need to maintain.
+# In unit of milli-seconds.
+# Default is 0.0 meaning that modem default value
+# of time uncertainty threshold will be used.
+#CONSTRAINED_TIME_UNCERTAINTY_THRESHOLD = 0.0
+
+# If constrained time uncertainty mode is enabled,
+# this setting specifies the power budget that
+# gps engine is allowed to spend to maintain the time
+# uncertainty.
+# Default is 0 meaning that GPS engine is not constained
+# by power budget and can spend as much power as needed.
+# In unit of 0.1 milli watt second.
+#CONSTRAINED_TIME_UNCERTAINTY_ENERGY_BUDGET = 0
+
+##################################################
+# POSITION ASSISTED CLOCK ESTIMATOR
+##################################################
+# 0 : disabled (default)
+# 1 : enabled
+# This setting enables GPS engine to estimate clock
+# bias and drift when the signal from at least 1
+# SV is available and the UE’s position is known by
+# other position engines.
+#POSITION_ASSISTED_CLOCK_ESTIMATOR_ENABLED = 0
+
+#####################################
+# proxyAppPackageName
+#####################################
+# This is a string that is sent to the framework
+# in nfwNotifyCb callback
+PROXY_APP_PACKAGE_NAME = com.oneplus.carrierlocation
+
+#####################################
+# CP_MTLR_ES
+#####################################
+# CP MTLR ES, 1=enable, 0=disable
+CP_MTLR_ES=0
+
+##################################################
+# GNSS_DEPLOYMENT
+##################################################
+# 0 : Enable QTI GNSS (default)
+# 1 : Enable QCSR SS5
+# 2 : Enable PDS API
+# This setting use to select between QTI GNSS,
+# QCSR SS5 hardware receiver, and PDS API.
+# By default QTI GNSS receiver is enabled.
+# GNSS_DEPLOYMENT = 0
+
+##################################################
+## LOG BUFFER CONFIGURATION
+##################################################
+#LOG_BUFFER_ENABLED, 1=enable, 0=disable
+#*_LEVEL_TIME_DEPTH, maximum time depth of level *
+#in log buffer, unit is second
+#*_LEVEL_MAX_CAPACITY, maximum numbers of level *
+#log print sentences in log buffer
+LOG_BUFFER_ENABLED = 0
+E_LEVEL_TIME_DEPTH = 600
+E_LEVEL_MAX_CAPACITY = 50
+W_LEVEL_TIME_DEPTH = 500
+W_LEVEL_MAX_CAPACITY = 100
+I_LEVEL_TIME_DEPTH = 400
+I_LEVEL_MAX_CAPACITY = 200
+D_LEVEL_TIME_DEPTH = 30
+D_LEVEL_MAX_CAPACITY = 300
+V_LEVEL_TIME_DEPTH = 200
+V_LEVEL_MAX_CAPACITY = 400
+
+##################################################
+# Allow buffer diag log packets when diag memory allocation
+# fails during boot up time.
+##################################################
+BUFFER_DIAG_LOGGING = 1
+
+#######################################
+# NTRIP CLIENT LIBRARY NAME
+#######################################
+# NTRIP_CLIENT_LIB_NAME =
+
+##################################################
+# Correction Data Framework settings
+# Default values:
+# CDFW_SOURCE_PRIORITY_1 = INTERNAL_1 RTCM
+# CDFW_INJECT_DATA_INTERVAL = 600000 //10 mins
+# CDFW_RTCM_MESSAGE_INTERVAL = 1000 //1 second
+#
+# If multiple sources coexist on a PL,
+# the prorioty sequence can be set by the integer number.
+# PRIORITY_1 is higher than PRIORITY_2, for example,
+# CDFW_SOURCE_PRIORITY_1 = INTERNAL_1 RTCM
+# CDFW_SOURCE_PRIORITY_2 = CV2X RTCM
+##################################################
+
+##################################################
+# RF LOSS
+# The loss in 0.1 dbHz from the C/N0 at the antenna port
+# These values must be configured by OEM if not
+# supported in QMI LOC message
+# There is one entry for each signal type
+##################################################
+RF_LOSS_GPS = 0
+RF_LOSS_GPS_L5 = 0
+RF_LOSS_GLO_LEFT = 0
+RF_LOSS_GLO_CENTER = 0
+RF_LOSS_GLO_RIGHT = 0
+RF_LOSS_BDS = 0
+RF_LOSS_BDS_B2A = 0
+RF_LOSS_GAL = 0
+RF_LOSS_GAL_E5 = 0
+RF_LOSS_NAVIC = 0
diff --git a/gps/izat.conf b/gps/izat.conf
new file mode 100644
index 0000000..e236d24
--- /dev/null
+++ b/gps/izat.conf
@@ -0,0 +1,277 @@
+#########################################
+# Log verbosity control for izat modules
+#########################################
+# OFF = 0, ERROR = 1, WARNING = 2, INFO = 3, DEBUG = 4, VERBOSE = 5
+IZAT_DEBUG_LEVEL = 2
+
+##################################################
+# Select WIFI Wait Timeout value in seconds for SUPL
+##################################################
+WIFI_WAIT_TIMEOUT_SELECT = 0
+
+##################################################
+# Time interval of injecting SRN scan data to modem
+# time in seconds.
+# Note: recommended value is between 1-5 sec
+##################################################
+LPPE_SRN_DATA_SCAN_INJECT_TIME=2
+
+################################
+# NLP Settings
+################################
+# NLP_MODE 1: OSNLP Only, 2: QNP Only, 3: Combo, 4: QNP preferred
+# For Automotive products, please use NLP_MODE = 4 only.
+# NLP_TOLERANCE_TIME_FIRST: Time in ms used in Combo mode
+# to determine how much Tolerance for first position
+# NLP_TOLERANCE_TIME_AFTER: Time in ms used in Combo mode
+# to determine how much Tolerance for positions after first
+# NLP_THRESHOLD: Sets how many failures needed before
+# switching preferred NLP in Combo mode
+# NLP_ACCURACY_MULTIPLE: Determines how far off the accuracy
+# must be, in multiples, between two NLP location reports to
+# be considered much worse accuracy. Used in switching logic
+# NLP COMBO MODE USES QNP WITH NO EULA CONSENT: Determines
+# whether or not to still send network location requests to
+# QNP when the EULA is not consented to by the user. QNP can
+# still return ZPP locations or injected locations even
+# without EULA consent, but the uncertainty can be high.
+# QNP preferred mode prefers QNP when there is EULA consent,
+# otherwise OSNLP is used.
+NLP_MODE = 1
+NLP_MODE_EMERGENCY = 2
+NLP_TOLERANCE_TIME_FIRST = 5000
+NLP_TOLERANCE_TIME_AFTER = 20000
+NLP_THRESHOLD = 3
+NLP_ACCURACY_MULTIPLE = 2
+NLP_COMBO_MODE_USES_QNP_WITH_NO_EULA_CONSENT = 1
+
+#########################################
+# NLP PACKAGE SETTINGS
+#########################################
+# OSNLP_PACKAGE: name of default NLP package
+OSNLP_PACKAGE = com.google.android.gms
+# REGION_OSNLP_PACKAGE:
+# This value will be used as alternative
+# for particular region where default NLP is not functional.
+#REGION_OSNLP_PACKAGE =
+
+###################################
+# GEOFENCE SERVICES
+###################################
+# If set to one of the defined values below, it will override
+# the responsiveness for geofence services, which implements
+# the Proximity Alert API. If not set to a value defined below,
+# which is default, it will not override the responsivness.
+# The geofence HAL API is unaffected by this value.
+# GEOFENCE_SERVICES_RESPONSIVENESS_OVERRIDE Values:
+# 1: LOW responsiveness
+# 2: MEDIUM responsiveness
+# 3: HIGH responsiveness
+GEOFENCE_SERVICES_RESPONSIVENESS_OVERRIDE = 0
+
+#####################################
+#GTP Opt-In app
+#####################################
+
+#GTP privacy policy version url
+#https support is required
+GTP_PRIVACY_VERSION_URL = https://info.izatcloud.net/privacy/version.html
+
+#GTP privacy policy version download retry interval
+#unit is second. default is 86400
+GTP_PRIVACY_RETRY_INTERVAL = 86400
+
+#####################################
+# IZAT PREMIUM FEATURE SETTINGS
+#####################################
+#Possible states of a feature:
+#DISABLED
+#BASIC
+#PREMIUM
+
+#GTP_MODE valid modes:
+# DISABLED
+# LEGACY_WWAN
+# SDK (WWAN not available for Modems before LocTech 10.0)
+# SDK_WIFI (WWAN provided by legacy Modem)
+GTP_MODE=DISABLED
+
+#GTP_WAA valid modes:
+# DISABLED
+# BASIC
+GTP_WAA=DISABLED
+
+#SAP valid modes:
+# DISABLED
+# BASIC
+# PREMIUM
+# PREMIUM_ENV_AIDING
+# MODEM_DEFAULT
+SAP=PREMIUM
+
+#FREE_WIFI_SCAN_INJECT valid modes:
+#DISABLED
+#BASIC
+FREE_WIFI_SCAN_INJECT=BASIC
+
+#SUPL_WIFI valid modes:
+#DISABLED
+#BASIC
+SUPL_WIFI=BASIC
+
+#WIFI_SUPPLICANT_INFO valid modes:
+#DISABLED
+#BASIC
+WIFI_SUPPLICANT_INFO=BASIC
+
+#####################################
+# Location process launcher settings
+#####################################
+
+# DO NOT MODIFY
+# Modifying below attributes without
+# caution can have serious implications.
+
+#Values for PROCESS_STATE:
+# ENABLED
+# DISABLED
+
+#Values for LOW_RAM_TARGETS:
+# ENABLED
+# DISABLED
+# Property to enable/disable processes for low ram targets. Uses ro.config.low_ram property
+# to identify low ram targets.
+
+#PROCESS_NAME
+# Name of the executable file.
+
+#FEATURE MASKS:
+# GTP-WIFI 0X03
+# GTP-MP-CELL 0xc00
+# GTP-WAA 0x100
+# SAP 0Xc0
+# ODCPI 0x1000
+# FREE_WIFI_SCAN_INJECT 0x2000
+# SUPL_WIFI 0x4000
+# WIFI_SUPPLICANT_INFO 0x8000
+
+#Values for PLATFORMS can be:
+#1. Any valid values obtained from ro.board.platform separated by single space. For example: msm8960 msm8226
+#2. 'all' or 'all exclude' -> for All platforms
+#3. 'all exclude XXXX' -> All platforms exclude XXXX. For example: all exclude msm8937
+
+#Values for SOC_IDS can be:
+#1. Any valid values obtained from soc_id node separated by single space. For example: 339 386 436
+## soc_id value can be obtained from any one of below node:
+## - /sys/devices/soc0/soc_id
+## - /sys/devices/system/soc/soc0/id
+#2. 'all' or 'all exclude' -> for All soc id's
+#3. 'all exclude XXXX' -> All soc id's exclude XXXX. For example: all exclude 339 386
+
+#Values for BASEBAND can be:
+#1. Any valid values obtained from ro.baseband separated by single space. For example: sglte sglte2
+#2. 'all' or 'all exclude' -> for all basebands
+#3. 'all exclude XXXX' -> All basebands exclude XXXX. For example: all exclude sglte
+PROCESS_NAME=lowi-server
+PROCESS_ARGUMENT=
+PROCESS_STATE=ENABLED
+PROCESS_GROUPS=gps wifi inet oem_2901
+PREMIUM_FEATURE=0
+IZAT_FEATURE_MASK=0xf303
+PLATFORMS=all
+SOC_IDS=all
+BASEBAND=all
+LOW_RAM_TARGETS=DISABLED
+HARDWARE_TYPE=all
+VENDOR_ENHANCED_PROCESS=0
+
+PROCESS_NAME=xtwifi-inet-agent
+PROCESS_ARGUMENT=
+PROCESS_STATE=ENABLED
+PROCESS_GROUPS=inet gps
+PREMIUM_FEATURE=1
+IZAT_FEATURE_MASK=0xc03
+PLATFORMS=all
+SOC_IDS=all exclude 386 436
+BASEBAND=all
+LOW_RAM_TARGETS=DISABLED
+HARDWARE_TYPE=all
+VENDOR_ENHANCED_PROCESS=1
+
+PROCESS_NAME=xtwifi-client
+PROCESS_ARGUMENT=
+PROCESS_STATE=ENABLED
+PROCESS_GROUPS=wifi inet gps system oem_2904
+PREMIUM_FEATURE=1
+IZAT_FEATURE_MASK=0xd03
+PLATFORMS=all
+SOC_IDS=all exclude 386 436
+BASEBAND=all
+LOW_RAM_TARGETS=DISABLED
+HARDWARE_TYPE=all
+VENDOR_ENHANCED_PROCESS=1
+
+PROCESS_NAME=slim_daemon
+PROCESS_ARGUMENT=
+PROCESS_STATE=DISABLED
+PROCESS_GROUPS=gps oem_2901 can plugdev diag sensors
+PREMIUM_FEATURE=1
+IZAT_FEATURE_MASK=0xf0
+PLATFORMS=all
+SOC_IDS=all exclude 386 436
+BASEBAND=all
+LOW_RAM_TARGETS=DISABLED
+HARDWARE_TYPE=all
+VENDOR_ENHANCED_PROCESS=1
+
+PROCESS_NAME=xtra-daemon
+PROCESS_ARGUMENT=
+PROCESS_STATE=ENABLED
+PROCESS_GROUPS=inet gps system
+PREMIUM_FEATURE=0
+IZAT_FEATURE_MASK=0
+PLATFORMS=all
+SOC_IDS=all
+BASEBAND=all
+LOW_RAM_TARGETS=ENABLED
+HARDWARE_TYPE=all
+VENDOR_ENHANCED_PROCESS=0
+
+########################################
+# Engine Service which host DRE module #
+# To enable DRE engine service, change #
+# PROCESS_STATE=ENABLED #
+########################################
+PROCESS_NAME=engine-service
+PROCESS_ARGUMENT=DRE-INT libloc_epDr.so
+PROCESS_STATE=DISABLED
+PROCESS_GROUPS=gps diag inet qwes oem_2901 system
+PREMIUM_FEATURE=0
+IZAT_FEATURE_MASK=0
+PLATFORMS=all
+SOC_IDS=all
+BASEBAND=all
+LOW_RAM_TARGETS=DISABLED
+HARDWARE_TYPE=all
+VENDOR_ENHANCED_PROCESS=1
+
+########################################
+# Engine Service which host PPE module #
+# To enable PPE engine service, change #
+# PROCESS_STATE=ENABLED #
+# and update process arugements #
+# with PPE library name #
+#PROCESS_ARGUMENT=PPE libepsimulator.so#
+########################################
+PROCESS_NAME=engine-service
+PROCESS_ARGUMENT=PPE libepsimulator.so
+PROCESS_STATE=DISABLED
+PROCESS_GROUPS=gps diag inet qwes oem_2901 system
+PREMIUM_FEATURE=0
+IZAT_FEATURE_MASK=0
+PLATFORMS=all
+SOC_IDS=all
+BASEBAND=all
+LOW_RAM_TARGETS=DISABLED
+HARDWARE_TYPE=all
+VENDOR_ENHANCED_PROCESS=1
diff --git a/gps/lowi.conf b/gps/lowi.conf
new file mode 100644
index 0000000..6d4de75
--- /dev/null
+++ b/gps/lowi.conf
@@ -0,0 +1,27 @@
+#*====*====*====*====*====*====*====*====*====*====*====*====*====*====*====*
+#
+# LOWI Config file - default
+#
+# GENERAL DESCRIPTION
+# This file contains the config params for LOWI
+#
+# Copyright (c) 2019 Qualcomm Technologies, Inc.
+# All Rights Reserved.
+# Confidential and Proprietary - Qualcomm Technologies, Inc.
+#
+# 2012-2013 Qualcomm Atheros, Inc.
+# All Rights Reserved.
+# Qualcomm Atheros Confidential and Proprietary.
+#
+# Export of this technology or software is regulated by the U.S. Government.
+# Diversion contrary to U.S. law prohibited.
+#=============================================================================*/
+
+# X86 ONLY - UBUNTU:
+# Copy this file in the same directory where the executable is
+
+# Log level
+# EL_LOG_OFF = 0, EL_ERROR = 1, EL_WARNING = 2, EL_INFO = 3, EL_DEBUG = 4, EL_VERBOSE = 5, EL_LOG_ALL = 100
+LOWI_LOG_LEVEL = 2
+LOWI_USE_LOWI_LP = 0
+
diff --git a/gps/sap.conf b/gps/sap.conf
new file mode 100644
index 0000000..e8d27b7
--- /dev/null
+++ b/gps/sap.conf
@@ -0,0 +1,179 @@
+################################
+# Sensor Settings
+################################
+#The following parameters are optional.
+#Internal defaults support MEMS sensors
+#native to most handset devices.
+#Device specific sensor characterization
+#for improved performance is possible as
+#described in SAP application notes.
+#GYRO_BIAS_RANDOM_WALK=
+#ACCEL_RANDOM_WALK_SPECTRAL_DENSITY=
+#ANGLE_RANDOM_WALK_SPECTRAL_DENSITY=
+#RATE_RANDOM_WALK_SPECTRAL_DENSITY=
+#VELOCITY_RANDOM_WALK_SPECTRAL_DENSITY=
+
+# DEBUG LEVELS: 0 - none, 1 - Error, 2 - Warning, 3 - Info
+# 4 - Debug, 5 - Verbose
+# If DEBUG_LEVEL is commented, Android's logging levels will be used
+DEBUG_LEVEL = 0
+# Sensor Sampling Rate Parameters for Low-Data Rate Filter (should be greater than 0)
+# used in loc_eng_reinit
+SENSOR_ACCEL_BATCHES_PER_SEC=2
+SENSOR_ACCEL_SAMPLES_PER_BATCH=5
+SENSOR_GYRO_BATCHES_PER_SEC=2
+SENSOR_GYRO_SAMPLES_PER_BATCH=5
+# Sensor Sampling Rate Parameters for High-Data Rate Filter (should be greater than 0)
+SENSOR_ACCEL_BATCHES_PER_SEC_HIGH=4
+SENSOR_ACCEL_SAMPLES_PER_BATCH_HIGH=25
+SENSOR_GYRO_BATCHES_PER_SEC_HIGH=4
+SENSOR_GYRO_SAMPLES_PER_BATCH_HIGH=25
+
+# Sensor Control Mode (0=AUTO, 1=FORCE_ON, 2=MODEM_DEFAULT)
+# used in loc_eng_reinit
+SENSOR_CONTROL_MODE=2
+
+# Bit mask used to define which sensor algorithms are used.
+# Setting each bit has the following definition:
+# 0x1 - DISABLE_INS_POSITIONING_FILTER
+# 0x0 - ENABLE_INS_POSITIONING_FILTER
+SENSOR_ALGORITHM_CONFIG_MASK=0x0
+
+#Vehicle Network Provider configuration
+
+#Service configuration strings
+#The number before colon in VN_X items defines version of the format of the rest of the string
+#VN_ACCEL_CFG=0:5
+#VN_GYRO_CFG=0:5.5
+#VN_ODOMETRY_CFG=0:2,4.5
+
+################################################
+# QDR3 configurations #
+################################################
+#VN_SPEED_CFG=1:131,5,8,1,2,3,1,1,9,2,14,2
+#VN_GEAR_CFG=1:422,20,4,0,4,1,9,0,1,2,3,4,5,6,7,8
+VN_SPEED_CFG=1:777,0,0,1,3,1,0.002778,0,40,8,32,8
+VN_GEAR_CFG=1:422,20,4,0,4,1,9,0,1,2,3,4,5,6,7,8
+
+################################################
+# QDR2-Gyro configurations #
+################################################
+#VN_GYRO_CFG=1:555,0,1,0,0,0,0,-6.5,6.6066,-6.5,-1.00,2,6.607,6.6068,0,0,16,0.0002,0,16,0.0002,0,16,0.0002
+#VN_SPEED_CFG=1:555,0,0,1,2,1,0.01,0,56,8,48,8
+#VN_GEAR_CFG=1:555,16,4,0,1,1,9,0,1,2,3,4,5,6,7,8
+
+################################################
+# QDR2-DWT configurations #
+################################################
+#VN_SPEED_CFG=1:555,22,1,2,1,1,1,0,8,8,23,1,2,0,1,0,8,8,23,1
+#VN_GEAR_CFG=1:555,12,4,16,14,16,8,1,2,3,4,5,6,7,8
+#VN_DWS_CFG=1:555,0,0,1,3,1,1,0,0,8,0,0,8,8,0,0,16,8,0,0,24,8,0,0
+#VN_GYRO_CFG=1:555,40,16,1.0,40,16,1.0,40,16,1.0
+
+#####################################################################################
+# VNW service batching configuration strings #
+# VNW provider will initialize default type as Time based batching #
+# Each service batch value is configured to be 100 #
+# VN_ACCEL_CFG_BATCH_VALUE will be treated as time in Ms if VN_CFG_BATCH_TYPE #
+# is set to time based batching #
+# VN_ACCEL_CFG_BATCH_VALUE will be treated as sample count if VN_CFG_BATCH_TYPE #
+# is set to count based batching #
+# Uncomment and update batch time /sample count as per selected batching type #
+#####################################################################################
+# Batching type
+# 1 - Time based (default)
+# 2 - Count based
+VN_CFG_BATCH_TYPE=1
+
+#Vehicle Accel batching value, it can either accept time in milli seconds or sample count
+#VN_ACCEL_CFG_BATCH_VALUE=100
+
+#Vehicle Gyro batching value, it can either accept time in milli seconds or sample count
+VN_GYRO_CFG_BATCH_VALUE=50
+
+#Vehicle Odo batching value, it can either accept time in milli seconds or sample count
+#VN_ODOMETRY_CFG_BATCH_VALUE=100
+
+#Vehicle Speed batching value, it can either accept time in milli seconds or sample count
+VN_SPEED_CFG_BATCH_VALUE=50
+
+#Vehicle Gear batching value, it can either accept time in milli seconds or sample count
+VN_GEAR_CFG_BATCH_VALUE=50
+
+#Vehicle DWS batching value, it can either accept time in milli seconds or sample count
+#VN_DWS_CFG_BATCH_VALUE=100
+####################################################################################
+
+#Procesors clock ratio: AP and CAN bus microcontroller
+################################################
+# QDR3 configurations #
+################################################
+VN_PROC_CLOCK_RATIO=1.0
+
+################################################
+# QDR2-DWT OR QDR2-Gyro configurations #
+################################################
+#VN_PROC_CLOCK_RATIO = 1.0
+
+# Time source used by Sensor HAL
+# Setting this value controls accuracy of location sensor services.
+# 0 - Unknown
+# 1 - CLOCK_BOOTTIME
+# 2 - CLOCK_MONOTONIC
+# 3 - CLOCK_REALTIME
+# 4 - CLOCK_BOOTTIME using Alarm timer interface
+NDK_PROVIDER_TIME_SOURCE=1
+
+# Sensor Batching Configuration
+# 0 - Time based
+# 1 - Fixed count based
+# 2 - Variable count based
+COUNT_BASED_BATCHING=1
+SYNC_ONCE=0
+
+# Vehicle Network Data optimization
+# Default value: 0
+# Value 0x40000 - Speed(bit 18 eSLIM_SERVICE_VEHICLE_SPEED)
+# Value 0x80000 - Speed(bit 19 eSLIM_SERVICE_VEHICLE_DWS)
+# Value 0x100000 - Speed(bit 20 eSLIM_SERVICE_VEHICLE_GEAR)
+VN_ENABLE_DATA_OPTIMIZATION=0x100000
+
+# Vehicle Network Data Routing time interval
+# This is applicable only if VN_ENABLE_DATA_OPTIMIZATION value is set
+# Default value: 5000 msec
+VN_DATA_ROUTING_TIME_INTERVAL_MSEC=3000
+
+#Sensor HAL Provider Configuration HAL Library name including path
+################################################
+# #
+# Configuration for BMI 160 Sensor #
+# #
+################################################
+#SENSOR_TYPE=2
+#SENSOR_HAL_LIB_PATH=/usr/lib/libbmi160sensors.so.1
+
+################################################
+# #
+# Configuration for ASM330 Sensor #
+# #
+################################################
+SENSOR_TYPE=1
+SENSOR_HAL_LIB_PATH=/usr/lib/libasm330sensors.so.1
+
+
+################################################
+# #
+# Configuration for IAM20680 Sensor #
+# #
+################################################
+#SENSOR_TYPE=3
+#SENSOR_HAL_LIB_PATH=/usr/lib/libiam20680sensors.so.1
+
+
+################################################
+# #
+# Configuration for SMI130 Sensor #
+# #
+################################################
+#SENSOR_TYPE=4
+#SENSOR_HAL_LIB_PATH=/usr/lib/libsmi130sensors.so.1
diff --git a/gps/xtwifi.conf b/gps/xtwifi.conf
new file mode 100644
index 0000000..5d7df9e
--- /dev/null
+++ b/gps/xtwifi.conf
@@ -0,0 +1,78 @@
+#GTP AP Project client core config file
+#
+#GENERAL DESCRIPTION
+#This is used by client core
+#
+#Copyright (c) 2012-2014 Qualcomm Atheros, Inc.
+#All Rights Reserved.
+#Qualcomm Atheros Confidential and Proprietary.
+#
+#Copyright (c) 2017 Qualcomm Technologies, Inc.
+#All Rights Reserved.
+#Confidential and Proprietary - Qualcomm Technologies, Inc.
+
+##############################################################################
+# non-IOT devices configuration items #
+# For non-IOT devices, configure below configuration items #
+# according to the app note: 80-NK218-1 and remove the configuration items #
+# in section of "IOT devices configuration items". #
+##############################################################################
+
+# ASN URI v2 to be used by some GTP AP modules that
+# need to run with ASN URI v2 protocol.
+XT_SERVER_ROOT_URL = https://gtp1.izatcloud.net:443/uds/v2
+
+# ASN URI v3 to be used by GTP AP modules that
+# can support ASN URI v3 protocol.
+XT_SERVER_ROOT_URL_V3 = https://gtp1.izatcloud.net:443/uds/v3
+
+# size, in bytes, of the cache on device
+SIZE_BYTE_TOTAL_CACHE = 5000000
+
+##############################################################################
+# IOT devices configuration items #
+# For IOT devices, configure below configuration items #
+# according to the app note and remove the configuration items in section of #
+# "non-IOT devices configuration items". #
+##############################################################################
+
+# ASN URI v3 to be used by GTP AP modules that
+# can support ASN URI v3 protocol.
+# XT_SERVER_ROOT_URL_V3 = https://gtpma1.izatcloud.net:443/uds/v3
+
+# 3: Wi-Fi APDB injection via Izat SDK. GTP server is not accessed
+# for any GTP requests, instead notification is sent to Izat SDK.
+# WiFi crowdsourcing module is disabled.
+# 4: Wi-Fi APDB injection via Izat SDK. GTP server is not accessed
+# for any GTP requests, instead notification is sent to Izat SDK.
+# WiFi crowdsourcing module is active, also accessed via Izat SDK.
+# GTP_AP_MODE = 4
+
+# 1: MP cell features relies on GTP AP for either download or upload
+# 0: MP cell features does not rely on GTP AP
+# GTP_AP_NEEDED_BY_MP_CELL = 1
+
+##############################################################################
+# Configuration items applicable to all devices #
+##############################################################################
+
+# Log verbosity control for most of the GTP WiFi system, including native and
+# Java componenets
+# OFF = 0, ERROR = 1, WARNING = 2, INFO = 3, DEBUG = 4, VERBOSE = 5, ALL = 100
+DEBUG_GLOBAL_LOG_LEVEL = 2
+
+# this is used at the server side to distinguish uploads from different maker/model
+# default "Qualcomm"
+OEM_ID_IN_REQUEST_TO_SERVER = "Qualcomm"
+
+# this is used at the server side to distinguish uploads from different maker/model
+# default "UNKNOWN"
+MODEL_ID_IN_REQUEST_TO_SERVER = "UNKNOWN"
+
+##############################################################################
+# Qualcomm Network Location Provider config #
+##############################################################################
+
+# Accuracy Threshold for NLP position. Position exceeds thsi threshold will be filtered out.
+# Default is 25000 meters.
+LARGE_ACCURACY_THRESHOLD_TO_FILTER_NLP_POSITION = 25000
diff --git a/gpt-utils/Android.bp b/gpt-utils/Android.bp
new file mode 100644
index 0000000..ca01f22
--- /dev/null
+++ b/gpt-utils/Android.bp
@@ -0,0 +1,41 @@
+//
+// Copyright (C) 2018 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.
+//
+
+
+cc_library {
+ name: "libgptutils.oneplus_holi",
+ vendor: true,
+ recovery_available: true,
+ shared_libs: [
+ "libcutils",
+ "liblog",
+ "libz",
+ ],
+ cflags: [
+ "-Wall",
+ "-Werror",
+ "-D_BSG_FRAMEWORK_KERNEL_HEADERS",
+ ],
+ srcs: [
+ "gpt-utils.cpp",
+ "recovery-ufs-bsg.cpp",
+ ],
+ owner: "qti",
+ header_libs: [
+ "generated_kernel_headers",
+ ],
+ export_include_dirs: ["."],
+}
diff --git a/gpt-utils/gpt-utils.cpp b/gpt-utils/gpt-utils.cpp
new file mode 100644
index 0000000..58fc93a
--- /dev/null
+++ b/gpt-utils/gpt-utils.cpp
@@ -0,0 +1,1519 @@
+/*
+ * Copyright (c) 2013,2016,2020 The Linux Foundation. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials provided
+ * with the distribution.
+ * * Neither the name of The Linux Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#define _LARGEFILE64_SOURCE /* enable lseek64() */
+
+/******************************************************************************
+ * INCLUDE SECTION
+ ******************************************************************************/
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include