Compare commits
343 commits
lineage-19
...
lineage-22
Author | SHA1 | Date | |
---|---|---|---|
41a4583106 | |||
6dfa4f8d34 | |||
eb15871769 | |||
6926918ff4 | |||
a50d4522e5 | |||
fe6ea00b68 | |||
3db65c9ea2 | |||
|
c3f110a620 | ||
|
ce21efc124 | ||
|
04dbb0a4b7 | ||
|
038c148153 | ||
|
3a3d3af33f | ||
|
02d95c71e9 | ||
|
12f74ba4a3 | ||
|
46c0a47f0f | ||
|
610a175646 | ||
|
c046b4f19d | ||
|
6f6627e73e | ||
|
8ce167833a | ||
|
a0aa46e5d8 | ||
|
1408ace291 | ||
|
29faac8c00 | ||
|
5641b0442f | ||
|
bf711e18a8 | ||
|
020dc6a61d | ||
|
6d84147ff1 | ||
|
96029cfecb | ||
|
2e429556a1 | ||
|
6384736719 | ||
|
035a3a74c2 | ||
|
c2a9564491 | ||
|
e49fea649d | ||
|
aa2560cffb | ||
|
00bfc3b725 | ||
|
a84d257640 | ||
|
f1051e96cc | ||
|
49f47b2936 | ||
|
00821c77cc | ||
|
aa3aceda39 | ||
|
dcc2c3fa37 | ||
|
9acfd5598e | ||
|
f2c8225ae9 | ||
|
6c2484f942 | ||
|
3298af0f05 | ||
|
a4a325f15e | ||
|
a27d857000 | ||
|
72f32ab5a3 | ||
|
8dfb14cd39 | ||
|
2a9c6383cb | ||
|
4d4f07bd89 | ||
|
53611738e8 | ||
|
8671c7c353 | ||
|
01ae51cb94 | ||
|
04882b6545 | ||
|
24f2a2590b | ||
|
97fb165d39 | ||
|
384d8c5c98 | ||
|
09e4c842fe | ||
|
ffb04a39b7 | ||
|
1b16f3e1e0 | ||
|
fd4cc1741a | ||
|
be01fa8dac | ||
|
0448188c4a | ||
|
5a857c85a8 | ||
|
c2ccc8596f | ||
|
fecfefb74f | ||
|
0c0fec03a1 | ||
|
7ad0fea5b9 | ||
|
262f219c38 | ||
|
02a84ee9f9 | ||
|
2d65dd72e0 | ||
|
ebce0090de | ||
|
5eb0d72622 | ||
|
2d0542b13b | ||
|
9695808593 | ||
|
08ccefecf0 | ||
|
485ca14a4a | ||
|
1a345a987a | ||
|
460360443d | ||
|
eab870359c | ||
|
6266fbca9d | ||
|
7c01cafcf5 | ||
|
867f02e976 | ||
|
d8c0f9c89c | ||
|
d500d4719c | ||
|
4e9ab622b7 | ||
|
e58b63bb92 | ||
|
3ab8caec3e | ||
|
83e230b3de | ||
|
594e8e1c20 | ||
|
171d01a1c7 | ||
|
b3b7493eec | ||
|
6c1e0528b6 | ||
|
c05da9de89 | ||
|
73149b58ae | ||
|
4e436a30f3 | ||
|
29f5285274 | ||
|
ce340bbc57 | ||
|
fa9d414d86 | ||
|
0c8d606929 | ||
|
04739e0390 | ||
|
1e9e2a9ea6 | ||
|
4867d5e3ee | ||
|
ec768a0c76 | ||
|
9f85aa4e46 | ||
|
d18f03ed8a | ||
|
4315cd23c7 | ||
|
1a1d988411 | ||
|
952a90ce17 | ||
|
c55f76d555 | ||
|
2a4dfa5de9 | ||
|
e2db1ff35b | ||
|
dd72fc6451 | ||
|
c747af4dc8 | ||
|
d62372d358 | ||
|
6509c10017 | ||
|
da8871005f | ||
|
e14a490f4a | ||
|
f77ae41e15 | ||
|
d8c4a9a0e5 | ||
|
55045b7e42 | ||
|
3a3034953e | ||
|
9fd9918f3d | ||
|
2c57242638 | ||
|
3ee0c84ab0 | ||
|
bb9e49c038 | ||
|
871f99d6c7 | ||
|
7620c53bcf | ||
|
e9f6f8d910 | ||
|
b84af64fcc | ||
|
5f2f434c6f | ||
|
0b9a253868 | ||
|
4c5783bf01 | ||
|
bb1d8db952 | ||
|
a998c0b181 | ||
|
77cc831c25 | ||
|
57906249ee | ||
|
adef2d52a3 | ||
|
2558113d92 | ||
|
509171b097 | ||
|
f8c1356f3b | ||
|
7de03cce19 | ||
|
cef33f952e | ||
|
29bd1b8cd2 | ||
|
dcb1867a5a | ||
|
b85828b4cf | ||
|
9865abc0e6 | ||
|
330a07a092 | ||
|
d71c9fb394 | ||
|
0d96dca686 | ||
|
fa5ed0b1cf | ||
|
a9cc222504 | ||
|
1e0021ccc9 | ||
|
44a6bcdd3e | ||
|
ff6a34afe0 | ||
|
9725e4fb45 | ||
|
91c1031176 | ||
|
e336fb6479 | ||
|
22e113fbe0 | ||
|
6b0f0ee9b0 | ||
|
a12f90ad4c | ||
|
110bdcd8a7 | ||
|
f0cfa62f3c | ||
|
c10df7143d | ||
|
95308b94a9 | ||
|
1e3ebd5caf | ||
|
81395d416b | ||
|
337b36a0e5 | ||
|
8f9be60336 | ||
|
2b3dc1628c | ||
|
c1ddc5cef0 | ||
|
493e5f4182 | ||
|
709c6daead | ||
|
6efca624f0 | ||
|
4b962b3b6f | ||
|
284502d40e | ||
|
d009011248 | ||
|
a51cd13aa3 | ||
|
b71b6fbcfc | ||
|
16981a495a | ||
|
7e05eef029 | ||
|
f8e7669aa3 | ||
|
41e3a9e8c3 | ||
|
43624b572c | ||
|
482cb4efbe | ||
|
5de9562561 | ||
|
dec9804d47 | ||
|
0426db17b2 | ||
|
b4fb0c355e | ||
|
76d62af9ed | ||
|
127623e395 | ||
|
af5d195b69 | ||
|
acd79ebf24 | ||
|
e79aee3bbf | ||
|
fd732c0a74 | ||
|
c426c6bd4b | ||
|
7a8ba5de0c | ||
|
e95c402869 | ||
|
9a431a2322 | ||
|
3bae34ec95 | ||
|
6ee40466e6 | ||
|
2a0087a04c | ||
|
4831b7afb9 | ||
|
08cc2b73e0 | ||
|
d500a981a2 | ||
|
29eeb7cafd | ||
|
2cd76d66b2 | ||
|
5bedce0348 | ||
|
535982b6d4 | ||
|
fd763c826c | ||
|
92081d81fd | ||
|
2852296ff8 | ||
|
dbb445de25 | ||
|
053210fbd1 | ||
|
30669050a8 | ||
|
f6ad7132cd | ||
|
8cc553454c | ||
|
4fe805701c | ||
|
7a5ee8c328 | ||
|
b7798f1084 | ||
|
7f8e345483 | ||
|
59fb32fef9 | ||
|
859d381258 | ||
|
b9d9126ad0 | ||
|
4292f08385 | ||
|
0a5706caf6 | ||
|
adaa58d2ca | ||
|
5d02516f7a | ||
|
da0d89af57 | ||
|
cd0b7722b2 | ||
|
44e20470d2 | ||
|
51d6e79867 | ||
|
6f00df6960 | ||
|
b80212bdfc | ||
|
b59ef5ea4a | ||
|
fdd6de8d14 | ||
|
64700b2cd1 | ||
|
cfed861db7 | ||
|
f5ba6792a2 | ||
|
c948487909 | ||
|
5f56fa086c | ||
|
ad5ad0568b | ||
|
9da020832f | ||
|
d4135351bf | ||
|
93f3520fc8 | ||
|
211108ed5e | ||
|
0edc4e9c42 | ||
|
f651152569 | ||
|
6db1973e9a | ||
|
cfbc0ffd45 | ||
|
28bd6e8beb | ||
|
8a48076979 | ||
|
612812765a | ||
|
e57cbb4e30 | ||
|
6dba679fe2 | ||
|
e34cc81234 | ||
|
433a1d18eb | ||
|
edd6ad958f | ||
|
5a3e4cce50 | ||
|
f4b1c659d9 | ||
|
e141fe303f | ||
|
4060e892f5 | ||
|
dd92adce89 | ||
|
70b87d266d | ||
|
97c072f261 | ||
|
fddc7ebf3b | ||
|
312af2154e | ||
|
7ddab57b20 | ||
|
7ddea65881 | ||
|
83c6461ee7 | ||
|
4a51b5df89 | ||
|
1e9df7a732 | ||
|
6cf14d3057 | ||
|
835ab39661 | ||
|
0a16cb3286 | ||
|
fa0473e516 | ||
|
61cd2f935a | ||
|
94795728d8 | ||
|
7d1a1c52a7 | ||
|
0988c92cb4 | ||
|
e7b7c5a976 | ||
|
8e8185245e | ||
|
8c02147eeb | ||
|
48c9c3d2b2 | ||
|
8f6bbb0444 | ||
|
57d7ef06b4 | ||
|
7d88bbcf44 | ||
|
2157b4f312 | ||
|
426a9e28f5 | ||
|
89c8af1e55 | ||
|
73bd7212e4 | ||
|
45d6b0b943 | ||
|
13c31dcd58 | ||
|
b2de3cc369 | ||
|
0225f34c01 | ||
|
5a36ce2a00 | ||
|
ca1f276b3d | ||
|
165f9ed5ec | ||
|
51993dba27 | ||
|
54eee440db | ||
|
cf7ca4e244 | ||
|
eb6ffeace8 | ||
|
edf1762796 | ||
|
22fa99ecf3 | ||
|
7919db86e7 | ||
|
a438632768 | ||
|
6d68cf9ffa | ||
|
380b359fd0 | ||
|
7a78cdb010 | ||
|
3250dfc3de | ||
|
7bc48ae239 | ||
|
8d724e7675 | ||
|
ee67669b42 | ||
|
028a88312d | ||
|
c23823da98 | ||
|
90a2a607e6 | ||
|
09f5250dc9 | ||
|
1357bcf66f | ||
|
a99a36b875 | ||
|
4f1bc6a399 | ||
|
ae5da56035 | ||
|
76847dfb0f | ||
|
ef5d44adaf | ||
|
b4cde8f64f | ||
|
bc48b8ea85 | ||
|
bbcb64a0ce | ||
|
7ac8b2e584 | ||
|
03b3625313 | ||
|
af2cf817e7 | ||
|
a8fffbcca3 | ||
|
273c9562ff | ||
|
c6a5802e47 | ||
|
51ba5a3de2 | ||
|
234c55f48c | ||
|
6d5dddd02a | ||
|
3deb110867 | ||
|
5ba23790d0 | ||
|
b9667921a4 | ||
|
34a40e275c | ||
|
5dc7536c35 | ||
|
fd363c65df | ||
|
8170122ba9 | ||
|
b0d5291408 |
197 changed files with 11459 additions and 21879 deletions
21
Android.bp
21
Android.bp
|
@ -1,3 +1,22 @@
|
|||
//
|
||||
// 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/qcom-caf/bootctrl"],
|
||||
}
|
||||
|
||||
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",
|
||||
}
|
||||
|
|
96
Android.mk
96
Android.mk
|
@ -1,99 +1,9 @@
|
|||
#
|
||||
# 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.
|
||||
#
|
||||
# Copyright (C) 2021-2024 The LineageOS Project
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
# Copyright (C) 2019-Current A-Team Digital Solutions
|
||||
|
||||
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
|
|
@ -13,11 +13,6 @@
|
|||
# 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)/lineage_dre.mk
|
||||
|
||||
COMMON_LUNCH_CHOICES := \
|
||||
lineage_dre-user \
|
||||
lineage_dre-userdebug \
|
||||
lineage_dre-eng
|
||||
$(LOCAL_DIR)/bliss_dre.mk
|
||||
|
|
134
BoardConfig.mk
134
BoardConfig.mk
|
@ -1,23 +1,6 @@
|
|||
#
|
||||
# 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
|
||||
# Copyright (C) 2021-2024 The LineageOS Project
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
# Copyright (C) 2019-Current A-Team Digital Solutions
|
||||
|
||||
DEVICE_PATH := device/oneplus/dre
|
||||
|
||||
|
@ -55,13 +38,11 @@ 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
|
||||
|
@ -69,6 +50,7 @@ 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
|
||||
|
@ -78,39 +60,32 @@ 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
|
||||
|
||||
# Health
|
||||
TARGET_HEALTH_CHARGING_CONTROL_CHARGING_PATH := /sys/class/oplus_chg/battery/mmi_charging_enable
|
||||
|
||||
# HIDL
|
||||
DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE := \
|
||||
$(DEVICE_PATH)/device_framework_matrix.xml \
|
||||
hardware/oplus/vintf/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_MATRIX_FILE := hardware/qcom-caf/common/compatibility_matrix.xml
|
||||
DEVICE_MANIFEST_FILE := $(DEVICE_PATH)/manifest.xml
|
||||
ODM_MANIFEST_FILES := $(DEVICE_PATH)/manifest_odm.xml
|
||||
|
||||
# Init
|
||||
TARGET_INIT_VENDOR_LIB := //$(DEVICE_PATH):libinit_oplus
|
||||
|
||||
# Kernel
|
||||
BOARD_BOOT_HEADER_VERSION := 3
|
||||
|
@ -127,45 +102,35 @@ BOARD_KERNEL_CMDLINE := \
|
|||
service_locator.enable=1 \
|
||||
swiotlb=0 \
|
||||
iptable_raw.raw_before_defrag=1 \
|
||||
ip6table_raw.raw_before_defrag=1 \
|
||||
video=vfb:640x400,bpp=32,memsize=3072000
|
||||
ip6table_raw.raw_before_defrag=1
|
||||
BOARD_KERNEL_IMAGE_NAME := Image
|
||||
BOARD_KERNEL_PAGESIZE := 4096
|
||||
BOARD_KERNEL_SEPARATED_DTBO := true
|
||||
BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOT_HEADER_VERSION)
|
||||
TARGET_KERNEL_ADDITIONAL_FLAGS := \
|
||||
DTC_EXT=$(shell pwd)/prebuilts/misc/linux-x86/dtc/dtc \
|
||||
LLVM=1
|
||||
BOARD_RAMDISK_USE_LZ4 := true
|
||||
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
|
||||
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_ODMIMAGE_FILE_SYSTEM_TYPE := erofs
|
||||
BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE := ext4
|
||||
BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE := ext4
|
||||
BOARD_SYSTEMIMAGE_FILE_SYSTEM_TYPE := ext4
|
||||
BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
|
||||
BOARD_VENDOR_DLKMIMAGE_FILE_SYSTEM_TYPE := ext4
|
||||
BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := erofs
|
||||
BOARD_VENDOR_DLKMIMAGE_FILE_SYSTEM_TYPE := erofs
|
||||
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
|
||||
|
@ -186,52 +151,71 @@ TARGET_TAP_TO_WAKE_NODE := "/proc/touchpanel/double_tap_enable"
|
|||
|
||||
# Properties
|
||||
TARGET_ODM_PROP += $(DEVICE_PATH)/odm.prop
|
||||
TARGET_SYSTEM_PROP += $(DEVICE_PATH)/system.prop
|
||||
TARGET_PRODUCT_PROP += $(DEVICE_PATH)/product.prop
|
||||
TARGET_SYSTEM_EXT_PROP += $(DEVICE_PATH)/system_ext.prop
|
||||
TARGET_VENDOR_PROP += $(DEVICE_PATH)/vendor.prop
|
||||
|
||||
# Recovery
|
||||
BOARD_INCLUDE_DTB_IN_BOOTIMG := true
|
||||
BOARD_USES_RECOVERY_AS_BOOT := true
|
||||
TARGET_RECOVERY_FSTAB := $(DEVICE_PATH)/rootdir/etc/fstab.qcom
|
||||
BOARD_MOVE_RECOVERY_RESOURCES_TO_VENDOR_BOOT := true
|
||||
TARGET_RECOVERY_FSTAB := $(DEVICE_PATH)/init/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 patch level
|
||||
VENDOR_SECURITY_PATCH := 2022-03-01
|
||||
# Security
|
||||
BOOT_SECURITY_PATCH := 2024-10-05
|
||||
VENDOR_SECURITY_PATCH := $(BOOT_SECURITY_PATCH)
|
||||
|
||||
# SEPolicy
|
||||
include device/qcom/sepolicy_vndr/SEPolicy.mk
|
||||
include hardware/oplus/sepolicy/qti/SEPolicy.mk
|
||||
|
||||
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 += --flags 2
|
||||
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_VBMETA_SYSTEM := system system_ext product
|
||||
BOARD_AVB_VBMETA_SYSTEM_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
|
||||
BOARD_AVB_VBMETA_SYSTEM_ALGORITHM := SHA256_RSA2048
|
||||
BOARD_AVB_VBMETA_SYSTEM_KEY_PATH := external/avb/test/data/testkey_rsa4096.pem
|
||||
BOARD_AVB_VBMETA_SYSTEM_ALGORITHM := SHA256_RSA4096
|
||||
BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
|
||||
BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX_LOCATION := 1
|
||||
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
|
||||
|
||||
# Wi-Fi
|
||||
BOARD_WLAN_DEVICE := qcwcn
|
||||
BOARD_HOSTAPD_DRIVER := NL80211
|
||||
BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE)
|
||||
BOARD_WPA_SUPPLICANT_DRIVER := NL80211
|
||||
BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE)
|
||||
WIFI_DRIVER_DEFAULT := qca_cld3
|
||||
BOARD_WPA_SUPPLICANT_DRIVER := $(BOARD_HOSTAPD_DRIVER)
|
||||
BOARD_WPA_SUPPLICANT_PRIVATE_LIB := $(BOARD_HOSTAPD_PRIVATE_LIB)
|
||||
BOARD_WPA_SUPPLICANT_PRIVATE_LIB_EVENT := "ON"
|
||||
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
|
||||
|
|
|
@ -1,166 +0,0 @@
|
|||
# List of profiles for the output device session where stream is routed.
|
||||
# A stream opened with the inputs attributes which match the "flags" and
|
||||
# "formats" as specified in the profile is routed to a device at
|
||||
# sample rate specified under "sampling_rates" and bit width under
|
||||
# "bit_width" and the topology extracted from the acdb data against
|
||||
# the "app_type".
|
||||
#
|
||||
# the flags and formats are specified using the strings corresponding to
|
||||
# enums in audio.h and audio_policy.h. They are concatenated with "|"
|
||||
# without space or "\n".
|
||||
# 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_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
|
||||
sampling_rates 48000
|
||||
bit_width 16
|
||||
app_type 69943
|
||||
}
|
||||
voip_rx {
|
||||
flags AUDIO_OUTPUT_FLAG_VOIP_RX|AUDIO_OUTPUT_FLAG_DIRECT
|
||||
formats AUDIO_FORMAT_PCM_16_BIT
|
||||
sampling_rates 8000|16000|32000|48000
|
||||
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_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
|
||||
sampling_rates 44100|48000|88200|96000|176400|192000
|
||||
bit_width 16
|
||||
app_type 69936
|
||||
}
|
||||
direct_pcm_24 {
|
||||
flags AUDIO_OUTPUT_FLAG_DIRECT
|
||||
formats AUDIO_FORMAT_PCM_24_BIT_PACKED|AUDIO_FORMAT_PCM_8_24_BIT|AUDIO_FORMAT_PCM_32_BIT
|
||||
sampling_rates 44100|48000|88200|96000|176400|192000|352800|384000
|
||||
bit_width 24
|
||||
app_type 69940
|
||||
}
|
||||
direct_pcm_32 {
|
||||
flags AUDIO_OUTPUT_FLAG_DIRECT
|
||||
formats AUDIO_FORMAT_PCM_32_BIT
|
||||
sampling_rates 44100|48000|88200|96000|176400|192000|352800|384000
|
||||
bit_width 32
|
||||
app_type 69942
|
||||
}
|
||||
compress_passthrough {
|
||||
flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING|AUDIO_OUTPUT_FLAG_COMPRESS_PASSTHROUGH
|
||||
formats AUDIO_FORMAT_DTS|AUDIO_FORMAT_DTS_HD|AUDIO_FORMAT_DSD
|
||||
sampling_rates 32000|44100|48000|88200|96000|176400|192000|352800
|
||||
bit_width 16
|
||||
app_type 69941
|
||||
}
|
||||
compress_offload_16 {
|
||||
flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING
|
||||
formats AUDIO_FORMAT_MP3|AUDIO_FORMAT_PCM_16_BIT_OFFLOAD|AUDIO_FORMAT_PCM_24_BIT_OFFLOAD|AUDIO_FORMAT_FLAC|AUDIO_FORMAT_ALAC|AUDIO_FORMAT_APE|AUDIO_FORMAT_AAC_LC|AUDIO_FORMAT_AAC_HE_V1|AUDIO_FORMAT_AAC_HE_V2|AUDIO_FORMAT_WMA|AUDIO_FORMAT_WMA_PRO|AUDIO_FORMAT_VORBIS|AUDIO_FORMAT_AAC_ADTS_LC|AUDIO_FORMAT_AAC_ADTS_HE_V1|AUDIO_FORMAT_AAC_ADTS_HE_V2|AUDIO_FORMAT_AAC_LATM_LC|AUDIO_FORMAT_AAC_LATM_HE_V1|AUDIO_FORMAT_AAC_LATM_HE_V2
|
||||
sampling_rates 44100|48000|88200|96000|176400|192000
|
||||
bit_width 16
|
||||
app_type 69936
|
||||
}
|
||||
compress_offload_24 {
|
||||
flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING
|
||||
formats AUDIO_FORMAT_MP3|AUDIO_FORMAT_PCM_24_BIT_OFFLOAD|AUDIO_FORMAT_FLAC|AUDIO_FORMAT_ALAC|AUDIO_FORMAT_APE|AUDIO_FORMAT_AAC_LC|AUDIO_FORMAT_AAC_HE_V1|AUDIO_FORMAT_AAC_HE_V2|AUDIO_FORMAT_WMA_PRO|AUDIO_FORMAT_AAC_ADTS_LC|AUDIO_FORMAT_AAC_ADTS_HE_V1|AUDIO_FORMAT_AAC_ADTS_HE_V2|AUDIO_FORMAT_AAC_LATM_LC|AUDIO_FORMAT_AAC_LATM_HE_V1|AUDIO_FORMAT_AAC_LATM_HE_V2
|
||||
sampling_rates 44100|48000|88200|96000|176400|192000
|
||||
bit_width 24
|
||||
app_type 69940
|
||||
}
|
||||
}
|
||||
|
||||
inputs {
|
||||
record_16bit {
|
||||
formats AUDIO_FORMAT_PCM_16_BIT
|
||||
sampling_rates 8000|16000|32000|44100|48000|88200|96000|176400|192000
|
||||
bit_width 16
|
||||
app_type 69938
|
||||
}
|
||||
record_24bit {
|
||||
formats AUDIO_FORMAT_PCM_24_BIT_PACKED|AUDIO_FORMAT_PCM_24_BIT
|
||||
sampling_rates 44100|48000|88200|96000|176400|192000
|
||||
bit_width 24
|
||||
app_type 69948
|
||||
}
|
||||
record_32bit {
|
||||
formats AUDIO_FORMAT_PCM_32_BIT|AUDIO_FORMAT_PCM_FLOAT
|
||||
sampling_rates 44100|48000|88200|96000|176400|192000
|
||||
bit_width 32
|
||||
app_type 69949
|
||||
}
|
||||
record_compress_16 {
|
||||
flags AUDIO_INPUT_FLAG_COMPRESS
|
||||
formats AUDIO_FORMAT_PCM_16_BIT
|
||||
sampling_rates 8000|16000|32000|44100|48000|88200|96000|176400|192000
|
||||
bit_width 16
|
||||
app_type 69938
|
||||
}
|
||||
record_compress_24 {
|
||||
flags AUDIO_INPUT_FLAG_COMPRESS
|
||||
formats AUDIO_FORMAT_PCM_24_BIT_PACKED|AUDIO_FORMAT_PCM_24_BIT
|
||||
sampling_rates 44100|48000|88200|96000|176400|192000
|
||||
bit_width 24
|
||||
app_type 69948
|
||||
}
|
||||
record_compress_32 {
|
||||
flags AUDIO_INPUT_FLAG_COMPRESS
|
||||
formats AUDIO_FORMAT_PCM_32_BIT|AUDIO_FORMAT_PCM_FLOAT
|
||||
sampling_rates 44100|48000|88200|96000|176400|192000
|
||||
bit_width 32
|
||||
app_type 69949
|
||||
}
|
||||
voip_tx {
|
||||
flags AUDIO_INPUT_FLAG_VOIP_TX
|
||||
formats AUDIO_FORMAT_PCM_16_BIT
|
||||
sampling_rates 8000|16000|32000|48000
|
||||
bit_width 16
|
||||
app_type 69946
|
||||
}
|
||||
low_latency_voip_tx {
|
||||
flags AUDIO_INPUT_FLAG_FAST|AUDIO_INPUT_FLAG_VOIP_TX
|
||||
formats AUDIO_FORMAT_PCM_16_BIT
|
||||
sampling_rates 48000
|
||||
bit_width 16
|
||||
app_type
|
||||
}
|
||||
}
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!-- Copyright (c) 2014, 2016-2020, The Linux Foundation. All rights reserved. -->
|
||||
<!-- Copyright (c) 2014, 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 -->
|
||||
|
@ -82,8 +82,11 @@
|
|||
<usecase name="USECASE_AUDIO_SPKR_CALIB_TX" type="in" id="33"/>
|
||||
<usecase name="USECASE_AUDIO_PLAYBACK_AFE_PROXY" type="out" id="5"/>
|
||||
<usecase name="USECASE_AUDIO_RECORD_AFE_PROXY" type="in" id="6"/>
|
||||
<usecase name="USECASE_AUDIO_RECORD_AFE_PROXY2" type="in" id="42"/>
|
||||
<!--#Isha.Padiyar@MULTIMEDIA.AUDIODRIVER.HAL, 2022/09/22, Add for hearing-aid support-->
|
||||
<usecase name="USECASE_AUDIO_RECORD_AFE_PROXY2" type="in" id="41"/>
|
||||
<!--#Isha.Padiyar@MULTIMEDIA.AUDIODRIVER.HAL, 2022/09/22, Add for hearing-aid support-->
|
||||
<usecase name="USECASE_AUDIO_RECORD_LOW_LATENCY" type="in" id="13" />
|
||||
<usecase name="USECASE_AUDIO_RECORD_VOIP_LOW_LATENCY" type="in" id="13" />
|
||||
<usecase name="USECASE_AUDIO_PLAYBACK_ULL" type="out" id="13" />
|
||||
<usecase name="USECASE_AUDIO_PLAYBACK_SILENCE" type="out" id="23" />
|
||||
<usecase name="USECASE_AUDIO_PLAYBACK_VOIP" type="out" id="12" />
|
||||
|
@ -92,16 +95,20 @@
|
|||
<usecase name="USECASE_AUDIO_HFP_SCO_WB" type="in" id="12" />
|
||||
<usecase name="USECASE_AUDIO_PLAYBACK_MMAP" type="out" id="29" />
|
||||
<usecase name="USECASE_AUDIO_RECORD_MMAP" type="in" id="29" />
|
||||
<!-- chenchen@MM.audio, 2021/03/05, fix USECASE_AUDIO_A2DP_ABR_FEEDBACK wrong pmc id start -->
|
||||
<usecase name="USECASE_AUDIO_A2DP_ABR_FEEDBACK" type="in" id="35" />
|
||||
<usecase name="USECASE_AUDIO_A2DP_ABR_FEEDBACK" type="out" id="35" />
|
||||
<!-- chenchen@MM.audio, 2021/03/05, fix USECASE_AUDIO_A2DP_ABR_FEEDBACK wrong pmc id end -->
|
||||
<usecase name="USECASE_INCALL_MUSIC_UPLINK" type="out" id="23" />
|
||||
<usecase name="USECASE_INCALL_MUSIC_UPLINK2" type="out" id="23" />
|
||||
<usecase name="USECASE_AUDIO_RECORD_COMPRESS2" type="in" id="36" />
|
||||
<usecase name="USECASE_INCALL_REC_UPLINK" type="in" id="23" />
|
||||
<usecase name="USECASE_INCALL_REC_DOWNLINK" type="in" id="23" />
|
||||
<usecase name="USECASE_INCALL_REC_UPLINK_AND_DOWNLINK" type="in" id="23" />
|
||||
<!--Jianfeng.Qiu@MULTIMEDIA.AUDIODRIVER.OPLUS_FEATURE_KTV, 2017/04/05, Add for ktv loopback-->
|
||||
<usecase name="USECASE_AUDIO_OPLUS_KTV" type="in" id="33" />
|
||||
<usecase name="USECASE_AUDIO_OPLUS_KTV" type="out" id="33" />
|
||||
<usecase name="USECASE_AUDIO_OPLUS_KTV_USB_HS" type="in" id="33" />
|
||||
<usecase name="USECASE_AUDIO_OPLUS_KTV_USB_HS" type="out" id="33" />
|
||||
<!--Jianfeng.Qiu@MULTIMEDIA.AUDIODRIVER.OPLUS_FEATURE_KTV, 2017/04/05, Add for ktv loopback end-->
|
||||
</pcm_ids>
|
||||
<config_params>
|
||||
<!-- In the below value string, the value indicates default mono -->
|
||||
|
@ -109,16 +116,33 @@
|
|||
<param key="mono_speaker" value="right"/>
|
||||
<param key="true_32_bit" value="true"/>
|
||||
<param key="hifi_filter" value="false"/>
|
||||
<!-- chenchen@MM.audio, 2020/12/28, fix speaker big noise issue start -->
|
||||
<!-- param key="native_audio_mode" value="multiple_mix_dsp"/-->
|
||||
<param key="native_audio_mode" value="false"/>
|
||||
<!-- chenchen@MM.audio, 2020/12/28, fix speaker big noise issue end -->
|
||||
<param key="hfp_pcm_dev_id" value="39"/>
|
||||
<param key="input_mic_max_count" value="4"/>
|
||||
<!-- In the below value string, the value indicates whether the -->
|
||||
<!-- target does not supports speaker and headphone working on -->
|
||||
<!-- different fractional and integer sampling rate -->
|
||||
<param key="spkr_hph_single_be_native_concurrency" value="true"/>
|
||||
<!--#Le.li@PSW.MM.AudioDriver.HAL, 2020/10/11, Add for audio conifg begin -->
|
||||
<!--Vincent.chen@MULTIMEDIA.AUDIODRIVER.HAL, 2022/01/10, change mic count to 2 for N200 from R -->
|
||||
<!-- <param key="oppo_mic_count" value="1"/> -->
|
||||
<param key="oplus_mic_count" value="2"/>
|
||||
<!--Vincent.chen@MULTIMEDIA.AUDIODRIVER.HAL, 2022/01/10, change mic count to 2 for N200 from R end-->
|
||||
<param key="oppo_speaker_id" value="1"/>
|
||||
<param key="oppo_multi_record" value="false"/>
|
||||
<!--#Le.li@PSW.MM.AudioDriver.HAL, 2020/10/11, Add for audio conifg config end -->
|
||||
<!--#Juqiang.Geng@MULTIMEDIA.AUDIODRIVER.HAL.OPLUS_FEATURE_AP_LVIMFS, 2020/08/24, Add for AP LVIMFS-->
|
||||
<param key="record_use_ap_lvimfs" value="enable"/>
|
||||
<!--#Juqiang.Geng@MULTIMEDIA.AUDIODRIVER.HAL, 2020/08/24, Add for AP LVIMFS end-->
|
||||
<!--#Nan.Zhong@MULTIMEDIA.AUDIODRIVER.HAL, 2020/11/13, Add for tty mode-->
|
||||
<param key="oplus_tty_support" value="0"/>
|
||||
<!--#Nan.Zhong@MULTIMEDIA.AUDIODRIVER.HAL, 2020/11/13, Add for tty mode end-->
|
||||
<!--#Le.LI@MULTIMEDIA.AUDIODRIVER.HAL, 2020/11/20, Add for smartPa eng support-->
|
||||
<param key="emsmartcalibratesupport" value="0"/>
|
||||
<!--#Le.LI@MULTIMEDIA.AUDIODRIVER.HAL, 2020/11/20, Add for smartPa eng support end-->
|
||||
<!--Run.Zhang@MULTIMEDIA.AUDIODRIVER.FEATURE, 2021/04/09 , Add for headphone volume match to impedance -->
|
||||
<param key="enable_hp_impedance_match" value="true"/>
|
||||
<param key="hp_impedance_match_threshold" value="65"/>
|
||||
<!--Run.Zhang@MULTIMEDIA.AUDIODRIVER.FEATURE, 2021/04/09 , Add for headphone volume match to impedance end-->
|
||||
<!--chenshuyun@MULTIMEDIA.AUDIODRIVER.HAL, 2022/01/21, Add for camcorder switch mic -->
|
||||
<param key="camcorder_switch_mic" value="true"/>
|
||||
<!--chenshuyun@MULTIMEDIA.AUDIODRIVER.HAL, 2022/01/21, Add for camcorder switch mic end -->
|
||||
</config_params>
|
||||
<gain_db_to_level_mapping>
|
||||
<gain_level_map db="-59" level="5"/>
|
||||
|
@ -128,12 +152,7 @@
|
|||
<gain_level_map db="0" level="1"/>
|
||||
</gain_db_to_level_mapping>
|
||||
<acdb_ids>
|
||||
<!-- chenchen@MM.audio, 2020/11/24, modify speaker acdb id from 14 to 15 start -->
|
||||
<device name="SND_DEVICE_OUT_SPEAKER" acdb_id="15"/>
|
||||
<!-- chenchen@MM.audio, 2020/11/24, modify speaker acdb id from 14 to 15 end -->
|
||||
<!-- chenchen@MM.Audio, 2021/03/08, Add for dummy dev START -->
|
||||
<device name="SND_DEVICE_OUT_DUMMY" acdb_id="15"/>
|
||||
<!-- chenchen@MM.Audio, 2021/03/08, Add for dummy dev END -->
|
||||
<device name="SND_DEVICE_OUT_SPEAKER_REVERSE" acdb_id="15"/>
|
||||
<device name="SND_DEVICE_OUT_SPEAKER_PROTECTED" acdb_id="124"/>
|
||||
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_PROTECTED" acdb_id="101"/>
|
||||
|
@ -157,16 +176,60 @@
|
|||
<device name="SND_DEVICE_IN_HANDSET_GENERIC_QMIC" acdb_id="191"/>
|
||||
<device name="SND_DEVICE_IN_VOICE_HEARING_AID" acdb_id="11"/>
|
||||
<device name="SND_DEVICE_OUT_VOICE_HANDSET_TMUS" acdb_id="7"/>
|
||||
<!--Vincent.chen@MULTIMEDIA.AUDIODRIVER.HAL, 2021/11/10, add for HAC-->
|
||||
<device name="SND_DEVICE_IN_VOICE_DMIC_TMUS" acdb_id="41"/>
|
||||
<!-- chenchen@MM.audio, 2021/01/23, modify handset-mic to dual mic start -->
|
||||
<device name="SND_DEVICE_OUT_VOICE_HAC_HANDSET" acdb_id="103"/>
|
||||
<device name="SND_DEVICE_IN_VOICE_HAC_HANDSET_DMIC" acdb_id="105"/>
|
||||
<!--Vincent.chen@MULTIMEDIA.AUDIODRIVER.HAL, 2021/11/10, add for HAC end-->
|
||||
<!--#Le.li@PSW.MM.AudioDriver.HAL, 2020/10/11, Add for oplus FTM config begin -->
|
||||
<device name="SND_DEVICE_OUT_VOICE_HANDSET" acdb_id="7"/>
|
||||
<device name="SND_DEVICE_IN_UNPROCESSED_USB_HEADSET_MIC" acdb_id="133"/>
|
||||
<device name="SND_DEVICE_OUT_MMI_SPEAKER_PLAYBACK" acdb_id="99"/>
|
||||
<device name="SND_DEVICE_OUT_MMI_LEFT_SPEAKER_PLAYBACK" acdb_id="124"/>
|
||||
<device name="SND_DEVICE_OUT_MMI_RECEIVER_PLAYBACK" acdb_id="30"/>
|
||||
<device name="SND_DEVICE_OUT_ENGINNER_RECIVER_TEST" acdb_id="30"/>
|
||||
<device name="SND_DEVICE_IN_MAIN_MIC_RECORD" acdb_id="104"/>
|
||||
<device name="SND_DEVICE_IN_SEC_MIC_RECORD" acdb_id="104"/>
|
||||
<device name="SND_DEVICE_IN_ANC_MIC_RECORD" acdb_id="104"/>
|
||||
<device name="SND_DEVICE_IN_MMI_MIC_RECORD" acdb_id="144"/>
|
||||
<device name="SND_DEVICE_IN_MMI_ANC_MIC_RECORD" acdb_id="144"/>
|
||||
<device name="SND_DEVICE_OUT_VOICE_SPEAKER" acdb_id="14"/>
|
||||
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_STEREO" acdb_id="14"/>
|
||||
<!--Vincent.chen@MULTIMEDIA.AUDIODRIVER.HAL, 2022/01/10, change voice headset headphone id to 10 sync R -->
|
||||
<!--<device name="SND_DEVICE_OUT_VOICE_HEADPHONES" acdb_id="9"/>
|
||||
<device name="SND_DEVICE_OUT_VOICE_HEADSET" acdb_id="9"/> -->
|
||||
<device name="SND_DEVICE_OUT_VOICE_HEADPHONES" acdb_id="10"/>
|
||||
<device name="SND_DEVICE_OUT_VOICE_HEADSET" acdb_id="10"/>
|
||||
<!--Vincent.chen@MULTIMEDIA.AUDIODRIVER.HAL, 2022/01/10, change voice headset headphone id to 10 sync R -->
|
||||
<device name="SND_DEVICE_IN_HEADSET_MIC" acdb_id="23"/>
|
||||
<device name="SND_DEVICE_IN_CAMCORDER_MIC" acdb_id="46"/>
|
||||
<!--#Le.li@PSW.MM.AudioDriver.HAL, 2020/10/11, Add for oplus FTM config end -->
|
||||
<device name="SND_DEVICE_OUT_DUMMY" acdb_id="15"/>
|
||||
<device name="SND_DEVICE_IN_HANDSET_MIC_HEARING_TEST" acdb_id="91"/>
|
||||
<!--chenshuyun@MULTIMEDIA.AUDIODRIVER.HAL, 2022/01/21, Add for camcorder switch mic -->
|
||||
<device name="SND_DEVICE_IN_HANDSET_DMIC_STEREO_SWITCH" acdb_id="34"/>
|
||||
<!--chenshuyun@MULTIMEDIA.AUDIODRIVER.HAL, 2022/01/21, Add for camcorder switch mic end-->
|
||||
<device name="SND_DEVICE_IN_HANDSET_MIC" acdb_id="34"/>
|
||||
<!-- chenchen@MM.audio, 2021/01/23, modify handset-mic to dual mic end -->
|
||||
<!-- chenchen@MM.audio, 2021/01/23, modify ok google voice search mic id to 109 start -->
|
||||
<device name="SND_DEVICE_IN_VOICE_REC_DMIC_FLUENCE" acdb_id="109"/>
|
||||
<!-- chenchen@MM.audio, 2021/01/23, modify ok google voice search mic id to 109 end -->
|
||||
<!-- chenchen@MM.Audio, 2020/01/28, instagram camcorder device force using acdb id 34 start -->
|
||||
<device name="SND_DEVICE_IN_CAMCORDER_LANDSCAPE" acdb_id="34"/>
|
||||
<!-- chenchen@MM.Audio, 2020/01/28,instagram camcorder device force using acdb id 34 end -->
|
||||
<device name="SND_DEVICE_IN_SPEAKER_MIC" acdb_id="35"/>
|
||||
<device name="SND_DEVICE_IN_VOICE_SPEAKER_MIC" acdb_id="43"/>
|
||||
<device name="SND_DEVICE_IN_HANDSET_TMIC" acdb_id="41"/>
|
||||
<device name="SND_DEVICE_IN_VOICE_SPEAKER_TMIC" acdb_id="43"/>
|
||||
<device name="SND_DEVICE_IN_HANDSET_MIC_AEC" acdb_id="108"/>
|
||||
<device name="SND_DEVICE_IN_HANDSET_MIC_NS" acdb_id="108"/>
|
||||
<device name="SND_DEVICE_IN_SPEAKER_MIC_AEC" acdb_id="114"/>
|
||||
<device name="SND_DEVICE_IN_SPEAKER_MIC_NS" acdb_id="114"/>
|
||||
<device name="SND_DEVICE_IN_HANDSET_DMIC_AEC" acdb_id="111"/>
|
||||
<device name="SND_DEVICE_IN_HANDSET_DMIC_NS" acdb_id="111"/>
|
||||
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC" acdb_id="117"/>
|
||||
<device name="SND_DEVICE_IN_SPEAKER_DMIC_NS" acdb_id="117"/>
|
||||
<device name="SND_DEVICE_IN_HANDSET_TMIC_AEC" acdb_id="156"/>
|
||||
<device name="SND_DEVICE_IN_HANDSET_TMIC_NS" acdb_id="156"/>
|
||||
<device name="SND_DEVICE_IN_SPEAKER_TMIC_AEC" acdb_id="160"/>
|
||||
<device name="SND_DEVICE_IN_SPEAKER_TMIC_NS" acdb_id="160"/>
|
||||
<!--Jianfeng.Qiu@MULTIMEDIA.AUDIODRIVER.OPLUS_FEATURE_KTV, 2017/04/05, Add for ktv loopback-->
|
||||
<device name="SND_DEVICE_IN_HEADSET_MIC_KTV" acdb_id="98"/>
|
||||
<device name="SND_DEVICE_IN_USB_HEADSET_MIC_KTV" acdb_id="98"/>
|
||||
<!--Jianfeng.Qiu@MULTIMEDIA.AUDIODRIVER.OPLUS_FEATURE_KTV, 2017/04/05, Add for ktv loopback end-->
|
||||
</acdb_ids>
|
||||
<backend_names>
|
||||
<device name="SND_DEVICE_OUT_HEADPHONES" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
|
||||
|
@ -198,6 +261,9 @@
|
|||
<device name="SND_DEVICE_OUT_SPEAKER_AND_HEADPHONES_EXTERNAL_1" interface="RX_CDC_DMA_RX_1-and-RX_CDC_DMA_RX_0"/>
|
||||
<device name="SND_DEVICE_OUT_SPEAKER_AND_HEADPHONES_EXTERNAL_2" interface="RX_CDC_DMA_RX_1-and-RX_CDC_DMA_RX_0"/>
|
||||
<device name="SND_DEVICE_OUT_VOICE_HANDSET" backend="handset" interface="RX_CDC_DMA_RX_0"/>
|
||||
<!--Vincent.chen@MULTIMEDIA.AUDIODRIVER.HAL, 2021/11/10, add for HAC-->
|
||||
<device name="SND_DEVICE_OUT_VOICE_HAC_HANDSET" backend="handset" interface="RX_CDC_DMA_RX_0"/>
|
||||
<!--Vincent.chen@MULTIMEDIA.AUDIODRIVER.HAL, 2021/11/10, add for HAC end-->
|
||||
<device name="SND_DEVICE_OUT_VOICE_HANDSET_TMUS" backend="handset" interface="RX_CDC_DMA_RX_0"/>
|
||||
<device name="SND_DEVICE_IN_HANDSET_GENERIC_QMIC" interface="TX_CDC_DMA_TX_3"/>
|
||||
<device name="SND_DEVICE_OUT_VOICE_SPEAKER" interface="RX_CDC_DMA_RX_1"/>
|
||||
|
@ -242,6 +308,9 @@
|
|||
<device name="SND_DEVICE_IN_HANDSET_DMIC_AEC_NS" interface="TX_CDC_DMA_TX_3"/>
|
||||
<device name="SND_DEVICE_IN_HANDSET_DMIC_AEC_NS_SB" interface="TX_CDC_DMA_TX_3"/>
|
||||
<device name="SND_DEVICE_IN_HANDSET_DMIC_STEREO" interface="TX_CDC_DMA_TX_3"/>
|
||||
<!--chenshuyun@MULTIMEDIA.AUDIODRIVER.HAL, 2022/01/21, Add for camcorder switch mic -->
|
||||
<device name="SND_DEVICE_IN_HANDSET_DMIC_STEREO_SWITCH" interface="TX_CDC_DMA_TX_3"/>
|
||||
<!--chenshuyun@MULTIMEDIA.AUDIODRIVER.HAL, 2022/01/21, Add for camcorder switch mic end-->
|
||||
<device name="SND_DEVICE_IN_SPEAKER_MIC" interface="TX_CDC_DMA_TX_3"/>
|
||||
<device name="SND_DEVICE_IN_SPEAKER_MIC_SB" interface="TX_CDC_DMA_TX_3"/>
|
||||
<device name="SND_DEVICE_IN_SPEAKER_MIC_AEC" interface="TX_CDC_DMA_TX_3"/>
|
||||
|
@ -280,6 +349,9 @@
|
|||
<device name="SND_DEVICE_IN_BT_SCO_MIC_WB_NREC" interface="SLIMBUS_7_TX"/>
|
||||
<device name="SND_DEVICE_IN_CAMCORDER_MIC" interface="TX_CDC_DMA_TX_3"/>
|
||||
<device name="SND_DEVICE_IN_VOICE_DMIC" interface="TX_CDC_DMA_TX_3"/>
|
||||
<!--Vincent.chen@MULTIMEDIA@MULTIMEDIA.AUDIODRIVER.HAL, 2021/11/10, add for HAC-->
|
||||
<device name="SND_DEVICE_IN_VOICE_HAC_HANDSET_DMIC" interface="TX_CDC_DMA_TX_3"/>
|
||||
<!--Vincent.chen@MULTIMEDIA.AUDIODRIVER.HAL, 2021/11/10, add for HAC end-->
|
||||
<device name="SND_DEVICE_IN_VOICE_DMIC_SB" interface="TX_CDC_DMA_TX_3"/>
|
||||
<device name="SND_DEVICE_IN_VOICE_SPEAKER_DMIC" interface="TX_CDC_DMA_TX_3"/>
|
||||
<device name="SND_DEVICE_IN_VOICE_SPEAKER_DMIC_SB" interface="TX_CDC_DMA_TX_3"/>
|
||||
|
@ -326,12 +398,25 @@
|
|||
<device name="SND_DEVICE_OUT_SPEAKER_AND_BT_SCO_WB" backend="speaker-and-bt-sco-wb" interface="RX_CDC_DMA_RX_1-and-SLIMBUS_7_RX"/>
|
||||
<device name="SND_DEVICE_OUT_SPEAKER_AND_BT_SCO_SWB" backend="speaker-and-bt-sco-swb" interface="RX_CDC_DMA_RX_1-and-SLIMBUS_7_RX"/>
|
||||
<device name="SND_DEVICE_OUT_HEADPHONES_DSD" backend="headphones-dsd" interface="RX_CDC_DMA_RX_5"/>
|
||||
<!-- zhangyu@MM.Audio 2021/02/03, add backedn to solve QACT not realtime show. -->
|
||||
<device name="SND_DEVICE_IN_HANDSET_MIC_REC_KARAOKE" interface="TX_CDC_DMA_TX_3"/>
|
||||
<!-- zhangyu@MM.Audio 2021/02/03, add backedn to solve QACT not realtime show.end -->
|
||||
<!-- chenchen@MM.Audio, 2021/03/08, Add for dummy dev START -->
|
||||
<device name="SND_DEVICE_OUT_DUMMY" backend="dummy" interface="RT_PROXY_DAI_001_RX"/>
|
||||
<!-- chenchen@MM.Audio, 2021/03/08, Add for dummy dev END -->
|
||||
<!--#Le.li@PSW.MM.AudioDriver.HAL, 2020/10/11, Add for oplus FTM config begin -->
|
||||
<device name="SND_DEVICE_OUT_MMI_RECEIVER_PLAYBACK" backend="handset" interface="RX_CDC_DMA_RX_0"/>
|
||||
<device name="SND_DEVICE_OUT_ENGINNER_RECIVER_TEST" backend="handset" interface="RX_CDC_DMA_RX_0"/>
|
||||
<device name="SND_DEVICE_OUT_MMI_SPEAKER_PLAYBACK" interface="RX_CDC_DMA_RX_1"/>
|
||||
<device name="SND_DEVICE_OUT_MMI_LEFT_SPEAKER_PLAYBACK" interface="RX_CDC_DMA_RX_1"/>
|
||||
<device name="SND_DEVICE_IN_MAIN_MIC_RECORD" interface="TX_CDC_DMA_TX_3"/>
|
||||
<device name="SND_DEVICE_IN_SEC_MIC_RECORD" interface="TX_CDC_DMA_TX_3"/>
|
||||
<device name="SND_DEVICE_IN_ANC_MIC_RECORD" interface="TX_CDC_DMA_TX_3"/>
|
||||
<device name="SND_DEVICE_IN_MMI_MIC_RECORD" interface="TX_CDC_DMA_TX_3"/>
|
||||
<device name="SND_DEVICE_IN_MMI_ANC_MIC_RECORD" interface="TX_CDC_DMA_TX_3"/>
|
||||
<device name="SND_DEVICE_IN_HANDSET_MIC_HEARING_TEST" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
|
||||
<!--#Le.li@PSW.MM.AudioDriver.HAL, 2020/10/11, Add for oplus FTM config end -->
|
||||
<!--Jianfeng.Qiu@MULTIMEDIA.AUDIODRIVER.OPLUS_FEATURE_KTV, 2017/04/05, Add for ktv loopback-->
|
||||
<device name="SND_DEVICE_IN_HEADSET_MIC_KTV" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
|
||||
<device name="SND_DEVICE_IN_USB_HEADSET_MIC_KTV" backend="usb-headset-mic" interface="USB_AUDIO_TX"/>
|
||||
<!--Jianfeng.Qiu@MULTIMEDIA.AUDIODRIVER.OPLUS_FEATURE_KTV, 2017/04/05, Add for ktv loopback end-->
|
||||
<!-- Kaijia.Lin@PSW.MM.AudioDriver.HAL, 2019/10/12, Add for dummy dev START -->
|
||||
<device name="SND_DEVICE_OUT_DUMMY" backend="dummy" interface="AFE_PCM_RX"/>
|
||||
<!-- Kaijia.Lin@PSW.MM.AudioDriver.HAL, 2019/10/12, Add for dummy dev END -->
|
||||
</backend_names>
|
||||
<!-- below values are for ref purpose to OEM, doesn't contain actual hardware info on MTP -->
|
||||
<microphone_characteristics>
|
||||
|
@ -385,8 +470,6 @@
|
|||
<snd_dev in_snd_device="SND_DEVICE_IN_VOICE_DMIC">
|
||||
<mic_info mic_device_id="builtin_mic_1"
|
||||
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||
<mic_info mic_device_id="builtin_mic_2"
|
||||
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||
</snd_dev>
|
||||
<snd_dev in_snd_device="SND_DEVICE_IN_VOICE_DMIC_TMUS">
|
||||
<mic_info mic_device_id="builtin_mic_1"
|
||||
|
@ -494,3 +577,4 @@
|
|||
</input_snd_device>
|
||||
</snd_devices>
|
||||
</audio_platform_info>
|
||||
|
452
audio/audio_policy_configuration.xml
Normal file
452
audio/audio_policy_configuration.xml
Normal file
|
@ -0,0 +1,452 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<!-- Copyright (c) 2016-2021, The Linux Foundation. All rights reserved
|
||||
Not a Contribution.
|
||||
-->
|
||||
<!-- Copyright (C) 2015 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.
|
||||
-->
|
||||
|
||||
<!--
|
||||
Changes from Qualcomm Innovation Center are provided under the following license:
|
||||
|
||||
Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted (subject to the limitations in the
|
||||
disclaimer below) 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 Qualcomm Innovation Center, Inc. nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
|
||||
GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
|
||||
HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
|
||||
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
IN NO EVENT SHALL THE COPYRIGHT HOLDER 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.
|
||||
-->
|
||||
|
||||
<audioPolicyConfiguration version="1.0" xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<!-- version section contains a “version” tag in the form “major.minor” e.g version=”1.0” -->
|
||||
|
||||
<!-- Global configuration Decalaration -->
|
||||
<globalConfiguration speaker_drc_enabled="true" call_screen_mode_supported="true"/>
|
||||
|
||||
|
||||
<!-- Modules section:
|
||||
There is one section per audio HW module present on the platform.
|
||||
Each module section will contains two mandatory tags for audio HAL “halVersion” and “name”.
|
||||
The module names are the same as in current .conf file:
|
||||
“primary”, “A2DP”, “remote_submix”, “USB”
|
||||
Each module will contain the following sections:
|
||||
“devicePorts”: a list of device descriptors for all input and output devices accessible via this
|
||||
module.
|
||||
This contains both permanently attached devices and removable devices.
|
||||
“mixPorts”: listing all output and input streams exposed by the audio HAL
|
||||
“routes”: list of possible connections between input and output devices or between stream and
|
||||
devices.
|
||||
"route": is defined by an attribute:
|
||||
-"type": <mux|mix> means all sources are mutual exclusive (mux) or can be mixed (mix)
|
||||
-"sink": the sink involved in this route
|
||||
-"sources": all the sources than can be connected to the sink via vis route
|
||||
“attachedDevices”: permanently attached devices.
|
||||
The attachedDevices section is a list of devices names. The names correspond to device names
|
||||
defined in <devicePorts> section.
|
||||
“defaultOutputDevice”: device to be used by default when no policy rule applies
|
||||
-->
|
||||
<modules>
|
||||
<!-- Primary Audio HAL -->
|
||||
<module name="primary" halVersion="2.0">
|
||||
<attachedDevices>
|
||||
<item>Earpiece</item>
|
||||
<item>Speaker</item>
|
||||
<item>Telephony Tx</item>
|
||||
<item>Built-In Mic</item>
|
||||
<item>Built-In Back Mic</item>
|
||||
<item>FM Tuner</item>
|
||||
<item>Telephony Rx</item>
|
||||
</attachedDevices>
|
||||
<defaultOutputDevice>Speaker</defaultOutputDevice>
|
||||
<mixPorts>
|
||||
<mixPort name="primary output" role="source" flags="AUDIO_OUTPUT_FLAG_FAST|AUDIO_OUTPUT_FLAG_PRIMARY">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="haptics output" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO_HAPTIC_A"/>
|
||||
</mixPort>
|
||||
<mixPort name="deep_buffer" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_DEEP_BUFFER">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="mmap_no_irq_out" role="source" flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_MMAP_NOIRQ">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="hifi_playback" role="source" />
|
||||
<mixPort name="compress_passthrough" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING">
|
||||
</mixPort>
|
||||
<mixPort name="direct_pcm" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_DIRECT">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000,352800,384000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000,352800,384000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000,352800,384000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
</mixPort>
|
||||
<mixPort name="compressed_offload" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING">
|
||||
<profile name="" format="AUDIO_FORMAT_MP3"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_FLAC"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_ALAC"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_APE"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_AAC_LC"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_AAC_HE_V1"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_AAC_HE_V2"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_DTS"
|
||||
samplingRates="32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_DTS_HD"
|
||||
samplingRates="32000,44100,48000,64000,88200,96000,128000,176400,192000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_WMA"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_WMA_PRO"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_AAC_ADTS_LC"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_AAC_ADTS_HE_V1"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_AAC_ADTS_HE_V2"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
</mixPort>
|
||||
<mixPort name="voice_tx" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="voip_rx" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_VOIP_RX">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000,32000,48000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
|
||||
</mixPort>
|
||||
<mixPort name="incall_music_uplink" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000,48000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
|
||||
<mixPort name="primary input" role="sink" maxOpenCount="2" maxActiveCount="2">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
|
||||
</mixPort>
|
||||
<mixPort name="fast input" role="sink"
|
||||
flags="AUDIO_INPUT_FLAG_FAST">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
|
||||
</mixPort>
|
||||
<mixPort name="quad mic" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000"
|
||||
channelMasks="AUDIO_CHANNEL_INDEX_MASK_4"/>
|
||||
</mixPort>
|
||||
<mixPort name="voip_tx" role="sink"
|
||||
flags="AUDIO_INPUT_FLAG_VOIP_TX">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000,32000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
|
||||
</mixPort>
|
||||
<mixPort name="usb_surround_sound" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,88200,96000,176400,192000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4,AUDIO_CHANNEL_IN_5POINT1,AUDIO_CHANNEL_INDEX_MASK_6,AUDIO_CHANNEL_IN_7POINT1,AUDIO_CHANNEL_INDEX_MASK_8"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,88200,96000,176400,192000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_5POINT1,AUDIO_CHANNEL_INDEX_MASK_6,AUDIO_CHANNEL_IN_7POINT1,AUDIO_CHANNEL_INDEX_MASK_8"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,88200,96000,176400,192000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_INDEX_MASK_2,AUDIO_CHANNEL_IN_5POINT1,AUDIO_CHANNEL_INDEX_MASK_6,AUDIO_CHANNEL_IN_7POINT1,AUDIO_CHANNEL_INDEX_MASK_8"/>
|
||||
</mixPort>
|
||||
<mixPort name="record_24" role="sink" maxOpenCount="2" maxActiveCount="2">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,96000,192000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,96000,192000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,96000,192000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4"/>
|
||||
</mixPort>
|
||||
<mixPort name="voice_rx" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="mmap_no_irq_in" role="sink" flags="AUDIO_INPUT_FLAG_MMAP_NOIRQ">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3"/>
|
||||
</mixPort>
|
||||
<mixPort name="hifi_input" role="sink" />
|
||||
</mixPorts>
|
||||
|
||||
<devicePorts>
|
||||
<!-- Output devices declaration, i.e. Sink DEVICE PORT -->
|
||||
<devicePort tagName="Earpiece" type="AUDIO_DEVICE_OUT_EARPIECE" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="Speaker" role="sink" type="AUDIO_DEVICE_OUT_SPEAKER" address="">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="Wired Headset" type="AUDIO_DEVICE_OUT_WIRED_HEADSET" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="Wired Headphones" type="AUDIO_DEVICE_OUT_WIRED_HEADPHONE" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="Line" type="AUDIO_DEVICE_OUT_LINE" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="BT SCO" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="BT SCO Headset" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="BT SCO Car Kit" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="Telephony Tx" type="AUDIO_DEVICE_OUT_TELEPHONY_TX" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="HDMI" type="AUDIO_DEVICE_OUT_AUX_DIGITAL" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,128000,176400,192000"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="Proxy" type="AUDIO_DEVICE_OUT_PROXY" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,128000,176400,192000"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="FM" type="AUDIO_DEVICE_OUT_FM" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="BT A2DP Out" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP" role="sink"
|
||||
encodedFormats="AUDIO_FORMAT_SBC AUDIO_FORMAT_AAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_LDAC AUDIO_FORMAT_CELT AUDIO_FORMAT_APTX_ADAPTIVE AUDIO_FORMAT_APTX_TWSP">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="BT A2DP Headphones" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES" role="sink"
|
||||
encodedFormats="AUDIO_FORMAT_SBC AUDIO_FORMAT_AAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_LDAC AUDIO_FORMAT_CELT AUDIO_FORMAT_APTX_ADAPTIVE AUDIO_FORMAT_APTX_TWSP">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="BT A2DP Speaker" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER" role="sink"
|
||||
encodedFormats="AUDIO_FORMAT_SBC AUDIO_FORMAT_AAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_LDAC AUDIO_FORMAT_CELT AUDIO_FORMAT_APTX_ADAPTIVE AUDIO_FORMAT_APTX_TWSP">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="USB Device Out" type="AUDIO_DEVICE_OUT_USB_DEVICE" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100,48000,64000,88200,96000,128000,176400,192000"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="USB Headset Out" type="AUDIO_DEVICE_OUT_USB_HEADSET" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100,48000,64000,88200,96000,128000,176400,192000"/>
|
||||
</devicePort>
|
||||
|
||||
<!-- Input devices declaration, i.e. Source DEVICE PORT -->
|
||||
<devicePort tagName="Built-In Mic" type="AUDIO_DEVICE_IN_BUILTIN_MIC" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="Built-In Back Mic" type="AUDIO_DEVICE_IN_BACK_MIC" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="FM Tuner" type="AUDIO_DEVICE_IN_FM_TUNER" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="Wired Headset Mic" type="AUDIO_DEVICE_IN_WIRED_HEADSET" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="BT SCO Headset Mic" type="AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="Telephony Rx" type="AUDIO_DEVICE_IN_TELEPHONY_RX" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="USB Device In" type="AUDIO_DEVICE_IN_USB_DEVICE" role="source">
|
||||
</devicePort>
|
||||
<devicePort tagName="USB Headset In" type="AUDIO_DEVICE_IN_USB_HEADSET" role="source">
|
||||
</devicePort>
|
||||
|
||||
</devicePorts>
|
||||
<!-- route declaration, i.e. list all available sources for a given sink -->
|
||||
<routes>
|
||||
<route type="mix" sink="Earpiece"
|
||||
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output"/>
|
||||
<route type="mix" sink="Speaker"
|
||||
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output"/>
|
||||
<route type="mix" sink="Wired Headset"
|
||||
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output"/>
|
||||
<route type="mix" sink="Wired Headphones"
|
||||
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output"/>
|
||||
<route type="mix" sink="Line"
|
||||
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output"/>
|
||||
<route type="mix" sink="HDMI"
|
||||
sources="primary output,deep_buffer,direct_pcm,compressed_offload,compress_passthrough,voip_rx"/>
|
||||
<route type="mix" sink="Proxy"
|
||||
sources="primary output,deep_buffer,direct_pcm,compressed_offload"/>
|
||||
<route type="mix" sink="FM"
|
||||
sources="primary output"/>
|
||||
<route type="mix" sink="BT SCO"
|
||||
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
|
||||
<route type="mix" sink="BT SCO Headset"
|
||||
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
|
||||
<route type="mix" sink="BT SCO Car Kit"
|
||||
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
|
||||
<route type="mix" sink="USB Device Out"
|
||||
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,hifi_playback"/>
|
||||
<route type="mix" sink="USB Headset Out"
|
||||
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,hifi_playback"/>
|
||||
<route type="mix" sink="Telephony Tx"
|
||||
sources="voice_tx,incall_music_uplink"/>
|
||||
<route type="mix" sink="voice_rx"
|
||||
sources="Telephony Rx"/>
|
||||
<route type="mix" sink="primary input"
|
||||
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic,FM Tuner,Telephony Rx"/>
|
||||
<route type="mix" sink="usb_surround_sound"
|
||||
sources="USB Device In,USB Headset In"/>
|
||||
<route type="mix" sink="fast input"
|
||||
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In,Wired Headset Mic"/>
|
||||
<route type="mix" sink="quad mic"
|
||||
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In,Wired Headset Mic"/>
|
||||
<route type="mix" sink="voip_tx"
|
||||
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In,Wired Headset Mic"/>
|
||||
<route type="mix" sink="record_24"
|
||||
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic"/>
|
||||
<route type="mix" sink="mmap_no_irq_in"
|
||||
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,USB Device In,USB Headset In"/>
|
||||
<route type="mix" sink="BT A2DP Out"
|
||||
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
|
||||
<route type="mix" sink="BT A2DP Headphones"
|
||||
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
|
||||
<route type="mix" sink="BT A2DP Speaker"
|
||||
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
|
||||
<route type="mix" sink="hifi_input" sources="USB Device In,USB Headset In" />
|
||||
</routes>
|
||||
|
||||
</module>
|
||||
|
||||
<!-- Usb Audio HAL -->
|
||||
<module name="usb" halVersion="2.0">
|
||||
<mixPorts>
|
||||
<mixPort name="usb_accessory output" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
</mixPorts>
|
||||
<devicePorts>
|
||||
<devicePort tagName="USB Host Out" type="AUDIO_DEVICE_OUT_USB_ACCESSORY" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
</devicePorts>
|
||||
<routes>
|
||||
<route type="mix" sink="USB Host Out"
|
||||
sources="usb_accessory output"/>
|
||||
</routes>
|
||||
</module>
|
||||
|
||||
<!-- Remote Submix Audio HAL -->
|
||||
<xi:include href="/vendor/etc/r_submix_audio_policy_configuration.xml"/>
|
||||
|
||||
<!-- Bluetooth Audio HAL for hearing aid -->
|
||||
<xi:include href="/vendor/etc/bluetooth_hearing_aid_audio_policy_configuration.xml"/>
|
||||
|
||||
</modules>
|
||||
<!-- End of Modules section -->
|
||||
|
||||
<!-- Volume section -->
|
||||
|
||||
<xi:include href="/vendor/etc/audio_policy_volumes.xml"/>
|
||||
<xi:include href="/vendor/etc/default_volume_tables.xml"/>
|
||||
|
||||
<!-- End of Volume section -->
|
||||
|
||||
</audioPolicyConfiguration>
|
431
audio/audio_policy_configuration_a2dp_offload_disabled.xml
Normal file
431
audio/audio_policy_configuration_a2dp_offload_disabled.xml
Normal file
|
@ -0,0 +1,431 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<!-- Copyright (c) 2016-2021, The Linux Foundation. All rights reserved
|
||||
Not a Contribution.
|
||||
-->
|
||||
<!-- Copyright (C) 2015 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.
|
||||
-->
|
||||
|
||||
<!--
|
||||
Changes from Qualcomm Innovation Center are provided under the following license:
|
||||
|
||||
Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted (subject to the limitations in the
|
||||
disclaimer below) 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 Qualcomm Innovation Center, Inc. nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
|
||||
GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
|
||||
HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
|
||||
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
IN NO EVENT SHALL THE COPYRIGHT HOLDER 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.
|
||||
-->
|
||||
|
||||
<audioPolicyConfiguration version="1.0" xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<!-- version section contains a “version” tag in the form “major.minor” e.g version=”1.0” -->
|
||||
|
||||
<!-- Global configuration Decalaration -->
|
||||
<globalConfiguration speaker_drc_enabled="true" call_screen_mode_supported="true"/>
|
||||
|
||||
|
||||
<!-- Modules section:
|
||||
There is one section per audio HW module present on the platform.
|
||||
Each module section will contains two mandatory tags for audio HAL “halVersion” and “name”.
|
||||
The module names are the same as in current .conf file:
|
||||
“primary”, “A2DP”, “remote_submix”, “USB”
|
||||
Each module will contain the following sections:
|
||||
“devicePorts”: a list of device descriptors for all input and output devices accessible via this
|
||||
module.
|
||||
This contains both permanently attached devices and removable devices.
|
||||
“mixPorts”: listing all output and input streams exposed by the audio HAL
|
||||
“routes”: list of possible connections between input and output devices or between stream and
|
||||
devices.
|
||||
"route": is defined by an attribute:
|
||||
-"type": <mux|mix> means all sources are mutual exclusive (mux) or can be mixed (mix)
|
||||
-"sink": the sink involved in this route
|
||||
-"sources": all the sources than can be connected to the sink via vis route
|
||||
“attachedDevices”: permanently attached devices.
|
||||
The attachedDevices section is a list of devices names. The names correspond to device names
|
||||
defined in <devicePorts> section.
|
||||
“defaultOutputDevice”: device to be used by default when no policy rule applies
|
||||
-->
|
||||
<modules>
|
||||
<!-- Primary Audio HAL -->
|
||||
<module name="primary" halVersion="2.0">
|
||||
<attachedDevices>
|
||||
<item>Earpiece</item>
|
||||
<item>Speaker</item>
|
||||
<item>Telephony Tx</item>
|
||||
<item>Built-In Mic</item>
|
||||
<item>Built-In Back Mic</item>
|
||||
<item>FM Tuner</item>
|
||||
<item>Telephony Rx</item>
|
||||
</attachedDevices>
|
||||
<defaultOutputDevice>Speaker</defaultOutputDevice>
|
||||
<mixPorts>
|
||||
<mixPort name="primary output" role="source" flags="AUDIO_OUTPUT_FLAG_FAST|AUDIO_OUTPUT_FLAG_PRIMARY">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="haptics output" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO_HAPTIC_A"/>
|
||||
</mixPort>
|
||||
<mixPort name="deep_buffer" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_DEEP_BUFFER">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="mmap_no_irq_out" role="source" flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_MMAP_NOIRQ">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="hifi_playback" role="source" />
|
||||
<mixPort name="compress_passthrough" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING">
|
||||
</mixPort>
|
||||
<mixPort name="direct_pcm" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_DIRECT">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000,352800,384000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000,352800,384000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000,352800,384000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
</mixPort>
|
||||
<mixPort name="compressed_offload" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING">
|
||||
<profile name="" format="AUDIO_FORMAT_MP3"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_FLAC"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_ALAC"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_APE"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_AAC_LC"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_AAC_HE_V1"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_AAC_HE_V2"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_DTS"
|
||||
samplingRates="32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_DTS_HD"
|
||||
samplingRates="32000,44100,48000,64000,88200,96000,128000,176400,192000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_WMA"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_WMA_PRO"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||
<profile name="" format="AUDIO_FORMAT_AAC_ADTS_LC"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_AAC_ADTS_HE_V1"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_AAC_ADTS_HE_V2"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
</mixPort>
|
||||
<mixPort name="voice_tx" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="voip_rx" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_VOIP_RX">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000,32000,48000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
|
||||
</mixPort>
|
||||
<mixPort name="incall_music_uplink" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000,48000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
|
||||
<mixPort name="primary input" role="sink" maxOpenCount="2" maxActiveCount="2">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
|
||||
</mixPort>
|
||||
<mixPort name="fast input" role="sink"
|
||||
flags="AUDIO_INPUT_FLAG_FAST">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
|
||||
</mixPort>
|
||||
<mixPort name="quad mic" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000"
|
||||
channelMasks="AUDIO_CHANNEL_INDEX_MASK_4"/>
|
||||
</mixPort>
|
||||
<mixPort name="voip_tx" role="sink"
|
||||
flags="AUDIO_INPUT_FLAG_VOIP_TX">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000,32000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
|
||||
</mixPort>
|
||||
<mixPort name="usb_surround_sound" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,88200,96000,176400,192000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4,AUDIO_CHANNEL_IN_5POINT1,AUDIO_CHANNEL_INDEX_MASK_6,AUDIO_CHANNEL_IN_7POINT1,AUDIO_CHANNEL_INDEX_MASK_8"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,88200,96000,176400,192000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_5POINT1,AUDIO_CHANNEL_INDEX_MASK_6,AUDIO_CHANNEL_IN_7POINT1,AUDIO_CHANNEL_INDEX_MASK_8"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,88200,96000,176400,192000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_INDEX_MASK_2,AUDIO_CHANNEL_IN_5POINT1,AUDIO_CHANNEL_INDEX_MASK_6,AUDIO_CHANNEL_IN_7POINT1,AUDIO_CHANNEL_INDEX_MASK_8"/>
|
||||
</mixPort>
|
||||
<mixPort name="record_24" role="sink" maxOpenCount="2" maxActiveCount="2">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,96000,192000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,96000,192000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,96000,192000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4"/>
|
||||
</mixPort>
|
||||
<mixPort name="voice_rx" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="mmap_no_irq_in" role="sink" flags="AUDIO_INPUT_FLAG_MMAP_NOIRQ">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3"/>
|
||||
</mixPort>
|
||||
<mixPort name="hifi_input" role="sink" />
|
||||
</mixPorts>
|
||||
|
||||
<devicePorts>
|
||||
<!-- Output devices declaration, i.e. Sink DEVICE PORT -->
|
||||
<devicePort tagName="Earpiece" type="AUDIO_DEVICE_OUT_EARPIECE" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="Speaker" role="sink" type="AUDIO_DEVICE_OUT_SPEAKER" address="">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="Wired Headset" type="AUDIO_DEVICE_OUT_WIRED_HEADSET" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="Wired Headphones" type="AUDIO_DEVICE_OUT_WIRED_HEADPHONE" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="Line" type="AUDIO_DEVICE_OUT_LINE" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="BT SCO" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="BT SCO Headset" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="BT SCO Car Kit" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="Telephony Tx" type="AUDIO_DEVICE_OUT_TELEPHONY_TX" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="HDMI" type="AUDIO_DEVICE_OUT_AUX_DIGITAL" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,128000,176400,192000"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="Proxy" type="AUDIO_DEVICE_OUT_PROXY" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,128000,176400,192000"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="FM" type="AUDIO_DEVICE_OUT_FM" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="USB Device Out" type="AUDIO_DEVICE_OUT_USB_DEVICE" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100,48000,64000,88200,96000,128000,176400,192000"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="USB Headset Out" type="AUDIO_DEVICE_OUT_USB_HEADSET" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100,48000,64000,88200,96000,128000,176400,192000"/>
|
||||
</devicePort>
|
||||
|
||||
<!-- Input devices declaration, i.e. Source DEVICE PORT -->
|
||||
<devicePort tagName="Built-In Mic" type="AUDIO_DEVICE_IN_BUILTIN_MIC" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="Built-In Back Mic" type="AUDIO_DEVICE_IN_BACK_MIC" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="FM Tuner" type="AUDIO_DEVICE_IN_FM_TUNER" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="Wired Headset Mic" type="AUDIO_DEVICE_IN_WIRED_HEADSET" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="BT SCO Headset Mic" type="AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="Telephony Rx" type="AUDIO_DEVICE_IN_TELEPHONY_RX" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="USB Device In" type="AUDIO_DEVICE_IN_USB_DEVICE" role="source">
|
||||
</devicePort>
|
||||
<devicePort tagName="USB Headset In" type="AUDIO_DEVICE_IN_USB_HEADSET" role="source">
|
||||
</devicePort>
|
||||
|
||||
</devicePorts>
|
||||
<!-- route declaration, i.e. list all available sources for a given sink -->
|
||||
<routes>
|
||||
<route type="mix" sink="Earpiece"
|
||||
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output"/>
|
||||
<route type="mix" sink="Speaker"
|
||||
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output"/>
|
||||
<route type="mix" sink="Wired Headset"
|
||||
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output"/>
|
||||
<route type="mix" sink="Wired Headphones"
|
||||
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output"/>
|
||||
<route type="mix" sink="Line"
|
||||
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output"/>
|
||||
<route type="mix" sink="HDMI"
|
||||
sources="primary output,deep_buffer,direct_pcm,compressed_offload,compress_passthrough,voip_rx"/>
|
||||
<route type="mix" sink="Proxy"
|
||||
sources="primary output,deep_buffer,direct_pcm,compressed_offload"/>
|
||||
<route type="mix" sink="FM"
|
||||
sources="primary output"/>
|
||||
<route type="mix" sink="BT SCO"
|
||||
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
|
||||
<route type="mix" sink="BT SCO Headset"
|
||||
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
|
||||
<route type="mix" sink="BT SCO Car Kit"
|
||||
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
|
||||
<route type="mix" sink="USB Device Out"
|
||||
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,hifi_playback"/>
|
||||
<route type="mix" sink="USB Headset Out"
|
||||
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,hifi_playback"/>
|
||||
<route type="mix" sink="Telephony Tx"
|
||||
sources="voice_tx,incall_music_uplink"/>
|
||||
<route type="mix" sink="voice_rx"
|
||||
sources="Telephony Rx"/>
|
||||
<route type="mix" sink="primary input"
|
||||
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic,FM Tuner,Telephony Rx"/>
|
||||
<route type="mix" sink="usb_surround_sound"
|
||||
sources="USB Device In,USB Headset In"/>
|
||||
<route type="mix" sink="fast input"
|
||||
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In,Wired Headset Mic"/>
|
||||
<route type="mix" sink="quad mic"
|
||||
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In,Wired Headset Mic"/>
|
||||
<route type="mix" sink="voip_tx"
|
||||
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In,Wired Headset Mic"/>
|
||||
<route type="mix" sink="record_24"
|
||||
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic"/>
|
||||
<route type="mix" sink="mmap_no_irq_in"
|
||||
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,USB Device In,USB Headset In"/>
|
||||
<route type="mix" sink="hifi_input" sources="USB Device In,USB Headset In" />
|
||||
</routes>
|
||||
|
||||
</module>
|
||||
|
||||
<!-- Usb Audio HAL -->
|
||||
<module name="usb" halVersion="2.0">
|
||||
<mixPorts>
|
||||
<mixPort name="usb_accessory output" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
</mixPorts>
|
||||
<devicePorts>
|
||||
<devicePort tagName="USB Host Out" type="AUDIO_DEVICE_OUT_USB_ACCESSORY" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
</devicePorts>
|
||||
<routes>
|
||||
<route type="mix" sink="USB Host Out"
|
||||
sources="usb_accessory output"/>
|
||||
</routes>
|
||||
</module>
|
||||
|
||||
<!-- Remote Submix Audio HAL -->
|
||||
<xi:include href="/vendor/etc/r_submix_audio_policy_configuration.xml"/>
|
||||
|
||||
<!-- Bluetooth Audio HAL -->
|
||||
<xi:include href="/vendor/etc/bluetooth_audio_policy_configuration.xml"/>
|
||||
|
||||
</modules>
|
||||
<!-- End of Modules section -->
|
||||
|
||||
<!-- Volume section -->
|
||||
|
||||
<xi:include href="/vendor/etc/audio_policy_volumes.xml"/>
|
||||
<xi:include href="/vendor/etc/default_volume_tables.xml"/>
|
||||
|
||||
<!-- End of Volume section -->
|
||||
|
||||
</audioPolicyConfiguration>
|
38
audio/bluetooth_hearing_aid_audio_policy_configuration.xml
Normal file
38
audio/bluetooth_hearing_aid_audio_policy_configuration.xml
Normal file
|
@ -0,0 +1,38 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Copyright (c) 2020 The Linux Foundation. All rights reserved.
|
||||
Not a contribution.
|
||||
-->
|
||||
<!-- 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.
|
||||
-->
|
||||
|
||||
<!-- Bluetooth Audio HAL Audio Policy Configuration file -->
|
||||
<module name="bluetooth" halVersion="2.0">
|
||||
<mixPorts>
|
||||
<!-- Hearing AIDs Audio Ports -->
|
||||
<mixPort name="hearing aid output" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="24000,16000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
</mixPorts>
|
||||
<devicePorts>
|
||||
<!-- Hearing AIDs Audio Ports -->
|
||||
<devicePort tagName="BT Hearing Aid Out" type="AUDIO_DEVICE_OUT_HEARING_AID" role="sink"/>
|
||||
</devicePorts>
|
||||
<routes>
|
||||
<route type="mix" sink="BT Hearing Aid Out"
|
||||
sources="hearing aid output"/>
|
||||
</routes>
|
||||
</module>
|
File diff suppressed because it is too large
Load diff
|
@ -56,6 +56,12 @@
|
|||
<ctl name="VA_AIF1_CAP Mixer DEC7" value="0" />
|
||||
<ctl name="VA DEC0 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DEC1 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DEC2 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DEC3 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DEC4 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DEC5 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DEC6 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DEC7 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DMIC MUX0" value="ZERO" />
|
||||
<ctl name="VA DMIC MUX1" value="ZERO" />
|
||||
<ctl name="VA DMIC MUX2" value="ZERO" />
|
||||
|
@ -72,11 +78,14 @@
|
|||
<ctl name="VA SMIC MUX5" value="ZERO" />
|
||||
<ctl name="VA SMIC MUX6" value="ZERO" />
|
||||
<ctl name="VA SMIC MUX7" value="ZERO" />
|
||||
<ctl name="AUDIO_REF_EC_UL1 MUX" value="None"/>
|
||||
<ctl name="EC Reference Channels" value="Zero"/>
|
||||
<ctl name="EC Reference Bit Format" value="0"/>
|
||||
<ctl name="EC Reference SampleRate" value="0"/>
|
||||
<ctl name="ADC2_MIXER Switch" value="0" />
|
||||
<ctl name="ADC2 MUX" value="ZERO" />
|
||||
<ctl name="LPI Enable" value="0" />
|
||||
<ctl name="ADC2 Volume" value="12" />
|
||||
<ctl name="VA_DEC0 MODE" value="ADC_DEFAULT" />
|
||||
<ctl name="ADC2_BCS Disable" value="0" />
|
||||
|
||||
|
@ -241,17 +250,13 @@
|
|||
</path>
|
||||
|
||||
<path name="listen-ape-handset-mic">
|
||||
<!-- chenchen@MM.audio, 2020/12/31, integrate for ok google hotword start -->
|
||||
<!--ctl name="VA_AIF1_CAP Mixer DEC0" value="1" />
|
||||
<ctl name="VA DEC0 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DMIC MUX0" value="DMIC2" /-->
|
||||
<ctl name="VA_CDC_DMA_TX_0 Channels" value="One" />
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC0" value="1" />
|
||||
<ctl name="VA DEC0 MUX" value="SWR_MIC" />
|
||||
<ctl name="VA SMIC MUX0" value="SWR_MIC0" />
|
||||
<ctl name="ADC1 ChMap" value="SWRM_TX1_CH1" />
|
||||
<ctl name="ADC1_MIXER Switch" value="1" />
|
||||
<!-- chenchen@MM.audio, 2020/12/31, integrate for ok google hotword end -->
|
||||
<ctl name="VA SMIC MUX0" value="SWR_MIC4" />
|
||||
<ctl name="ADC2 ChMap" value="SWRM_TX2_CH1" />
|
||||
<ctl name="ADC2_MIXER Switch" value="1" />
|
||||
<ctl name="ADC2 MUX" value="INP3" />
|
||||
</path>
|
||||
|
||||
<path name="listen-ape-handset-mic-preproc">
|
||||
|
@ -262,10 +267,44 @@
|
|||
<ctl name="VA_CDC_DMA_TX_0 Channels" value="Two" />
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC0" value="1" />
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC1" value="1" />
|
||||
<ctl name="VA DEC0 MUX" value="SWR_MIC" />
|
||||
<ctl name="VA SMIC MUX0" value="SWR_MIC4" />
|
||||
<ctl name="ADC2 ChMap" value="SWRM_TX2_CH1" />
|
||||
<ctl name="ADC2_MIXER Switch" value="1" />
|
||||
<ctl name="ADC2 MUX" value="INP3" />
|
||||
<ctl name="VA DEC1 MUX" value="SWR_MIC" />
|
||||
<ctl name="VA SMIC MUX1" value="SWR_MIC0" />
|
||||
<ctl name="ADC1 ChMap" value="SWRM_TX1_CH1" />
|
||||
<ctl name="ADC1_MIXER Switch" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="listen-ape-handset-tmic">
|
||||
<ctl name="VA_CDC_DMA_TX_0 Channels" value="Three" />
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC0" value="1" />
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC1" value="1" />
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC2" value="1" />
|
||||
<ctl name="VA DEC0 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DEC1 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DEC2 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DMIC MUX0" value="DMIC1" />
|
||||
<ctl name="VA DMIC MUX1" value="DMIC2" />
|
||||
<ctl name="VA DMIC MUX2" value="DMIC5" />
|
||||
</path>
|
||||
|
||||
<path name="listen-ape-handset-qmic">
|
||||
<ctl name="VA_CDC_DMA_TX_0 Channels" value="Four" />
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC0" value="1" />
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC1" value="1" />
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC2" value="1" />
|
||||
<ctl name="VA_AIF1_CAP Mixer DEC3" value="1" />
|
||||
<ctl name="VA DEC0 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DEC1 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DEC2 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DEC3 MUX" value="MSM_DMIC" />
|
||||
<ctl name="VA DMIC MUX0" value="DMIC1" />
|
||||
<ctl name="VA DMIC MUX1" value="DMIC2" />
|
||||
<ctl name="VA DMIC MUX2" value="DMIC3" />
|
||||
<ctl name="VA DMIC MUX3" value="DMIC5" />
|
||||
</path>
|
||||
|
||||
<path name="listen-ape-headset-mic">
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
#
|
||||
# Copyright (C) 2021-2022 The LineageOS Project
|
||||
#
|
||||
# Copyright (C) 2021-2023 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
|
||||
|
@ -12,19 +10,20 @@
|
|||
# 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.
|
||||
#
|
||||
# Copyright (C) 2019-Current A-Team Digital Solutions
|
||||
|
||||
# Inherit from those products. Most specific first.
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
|
||||
TARGET_SUPPORTS_OMX_SERVICE := false
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base_telephony.mk)
|
||||
|
||||
# Inherit from dre device
|
||||
$(call inherit-product, device/oneplus/dre/device.mk)
|
||||
|
||||
# Inherit some common Lineage stuff.
|
||||
$(call inherit-product, vendor/lineage/config/common_full_phone.mk)
|
||||
# Inherit some common Bliss stuff.
|
||||
$(call inherit-product, vendor/bliss/config/common_full_phone.mk)
|
||||
|
||||
PRODUCT_NAME := lineage_dre
|
||||
PRODUCT_NAME := bliss_dre
|
||||
PRODUCT_DEVICE := dre
|
||||
PRODUCT_MANUFACTURER := OnePlus
|
||||
PRODUCT_BRAND := OnePlus
|
||||
|
@ -33,8 +32,9 @@ PRODUCT_MODEL := DE2117
|
|||
PRODUCT_GMS_CLIENTID_BASE := android-oneplus
|
||||
|
||||
PRODUCT_BUILD_PROP_OVERRIDES += \
|
||||
PRIVATE_BUILD_DESC="OnePlusN200-user 11 release-keys" \
|
||||
TARGET_DEVICE=OnePlusN200 \
|
||||
TARGET_PRODUCT=OnePlusN200
|
||||
|
||||
BUILD_FINGERPRINT := OnePlus/OnePlusN200/OnePlusN200:11/RKQ1.201217.002/2203021418:user/release-keys
|
||||
BuildDesc="OnePlusN200-user 12 SKQ1.210216.001 R.1a8c53e-1-16457e release-keys" \
|
||||
BuildFingerprint=OnePlus/OnePlusN200/OnePlusN200:12/SKQ1.210216.001/R.1a8c53e-1-16457e:user/release-keys \
|
||||
DeviceName=OnePlusN200 \
|
||||
DeviceProduct=OnePlusN200 \
|
||||
SystemDevice=OnePlusN200 \
|
||||
SystemName=OnePlusN200
|
14
blob-patches/init-post-boot-blair.patch
Normal file
14
blob-patches/init-post-boot-blair.patch
Normal file
|
@ -0,0 +1,14 @@
|
|||
--- 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}
|
||||
|
14
blob-patches/init-post-boot-holi.patch
Normal file
14
blob-patches/init-post-boot-holi.patch
Normal file
|
@ -0,0 +1,14 @@
|
|||
--- 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}
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
/*
|
||||
* 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
|
1
board-info.txt
Normal file
1
board-info.txt
Normal file
|
@ -0,0 +1 @@
|
|||
require board=holi|OnePlusN200
|
|
@ -1,28 +0,0 @@
|
|||
//
|
||||
// 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"],
|
||||
}
|
|
@ -1,109 +0,0 @@
|
|||
<!-- Copyright (c) 2017, 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.
|
||||
-->
|
||||
<compatibility-matrix version="2.0" type="device">
|
||||
<hal format="hidl" optional="false">
|
||||
<name>android.frameworks.schedulerservice</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>ISchedulingPolicyService</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="false">
|
||||
<name>android.frameworks.sensorservice</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>ISensorManager</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="false">
|
||||
<name>android.hidl.allocator</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IAllocator</name>
|
||||
<instance>ashmem</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="false">
|
||||
<name>android.hidl.manager</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IServiceManager</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="false">
|
||||
<name>android.hidl.memory</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IMapper</name>
|
||||
<instance>ashmem</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="false">
|
||||
<name>android.hidl.token</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>ITokenManager</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="false">
|
||||
<name>android.system.wifi.keystore</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IKeystore</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>vendor.qti.hardware.qccsyshal</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IQccsyshal</name>
|
||||
<instance>qccsyshal</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>vendor.qti.hardware.sigma_miracast</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>Isigma_miracast</name>
|
||||
<instance>sigmahal</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>vendor.qti.hardware.wifi.keystore</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IKeystoreExt</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
</compatibility-matrix>
|
|
@ -25,6 +25,12 @@ value:2908
|
|||
[AID_VENDOR_QTR]
|
||||
value:2909
|
||||
|
||||
[AID_VENDOR_LAUNCHER]
|
||||
value:2988
|
||||
|
||||
[AID_VENDOR_SAURES]
|
||||
value:2989
|
||||
|
||||
[bt_firmware/]
|
||||
mode: 0771
|
||||
user: AID_SYSTEM
|
||||
|
|
|
@ -1,6 +0,0 @@
|
|||
<apn carrier="Sprint LTE internet" mcc="310" mnc="120" apn="x.ispsn" type="default,mms,supl,hipri,dun" mmsc="http://mms.sprintpcs.com/servlets/mms" protocol="IPV4V6" roaming_protocol="IPV4V6" bearer="14" />
|
||||
<apn carrier="Sprint EHRPD internet" mcc="310" mnc="120" apn="x.ispsn" type="default,mms,supl,hipri" mmsc="http://mms.sprintpcs.com/servlets/mms" protocol="IPV4V6" roaming_protocol="IPV4V6" bearer="13" />
|
||||
<apn carrier="Sprint internet" mcc="310" mnc="120" apn="x.ispsn" type="mms,supl,hipri" mmsc="http://mms.sprintpcs.com/servlets/mms" protocol="IPV4V6" roaming_protocol="IPV4V6" />
|
||||
<apn carrier="Sprint CdmaNai" mcc="312" mnc="530" apn="x.ispsn" type="default,mms,supl,hipri,dun" mmsc="http://mms.sprintpcs.com/servlets/mms" protocol="IPV4V6" roaming_protocol="IPV4V6" bearer="14" />
|
||||
<apn carrier="Sprint 312530 EHRPD internet" mcc="312" mnc="530" apn="x.ispsn" type="default,mms,supl,hipri" mmsc="http://mms.sprintpcs.com/servlets/mms" protocol="IPV4V6" roaming_protocol="IPV4V6" bearer="13" />
|
||||
<apn carrier="Sprint 312530 internet" mcc="312" mnc="530" apn="x.ispsn" type="mms,supl,hipri" mmsc="http://mms.sprintpcs.com/servlets/mms" protocol="IPV4V6" roaming_protocol="IPV4V6" />
|
|
@ -1,24 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!-- Copyright (C) 2015-2020 The Linux Foundation. All rights reserved.
|
||||
Not a contribution.
|
||||
Copyright (C) 2012 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.
|
||||
-->
|
||||
<Included>
|
||||
<Decoders>
|
||||
<MediaCodec name="OMX.google.opus.decoder" type="audio/opus" update="true" rank="100"/>
|
||||
<MediaCodec name="OMX.google.raw.decoder" type="audio/raw" update="true" rank="1"/>
|
||||
<!-- SimpleOMXComponet based software decoder-->
|
||||
</Decoders>
|
||||
</Included>
|
|
@ -1,867 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright 2013 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.
|
||||
-->
|
||||
<!DOCTYPE MediaSettings [
|
||||
<!ELEMENT MediaSettings (CamcorderProfiles,
|
||||
EncoderOutputFileFormat+,
|
||||
VideoEncoderCap+,
|
||||
AudioEncoderCap+,
|
||||
VideoDecoderCap,
|
||||
AudioDecoderCap)>
|
||||
<!ELEMENT CamcorderProfiles (EncoderProfile+, ImageEncoding+, ImageDecoding, Camera)>
|
||||
<!ELEMENT EncoderProfile (Video, Audio)>
|
||||
<!ATTLIST EncoderProfile quality (high|low) #REQUIRED>
|
||||
<!ATTLIST EncoderProfile fileFormat (mp4|3gp) #REQUIRED>
|
||||
<!ATTLIST EncoderProfile duration (30|60) #REQUIRED>
|
||||
<!ATTLIST EncoderProfile cameraId (0|1|2|3|4|5) #REQUIRED>
|
||||
<!ELEMENT Video EMPTY>
|
||||
<!ATTLIST Video codec (h264|h263|m4v) #REQUIRED>
|
||||
<!ATTLIST Video bitRate CDATA #REQUIRED>
|
||||
<!ATTLIST Video width CDATA #REQUIRED>
|
||||
<!ATTLIST Video height CDATA #REQUIRED>
|
||||
<!ATTLIST Video frameRate CDATA #REQUIRED>
|
||||
<!ELEMENT Audio EMPTY>
|
||||
<!ATTLIST Audio codec (amrnb|amrwb|aac) #REQUIRED>
|
||||
<!ATTLIST Audio bitRate CDATA #REQUIRED>
|
||||
<!ATTLIST Audio sampleRate CDATA #REQUIRED>
|
||||
<!ATTLIST Audio channels (1|2) #REQUIRED>
|
||||
<!ELEMENT ImageEncoding EMPTY>
|
||||
<!ATTLIST ImageEncoding quality (90|80|70|60|50|40) #REQUIRED>
|
||||
<!ELEMENT ImageDecoding EMPTY>
|
||||
<!ATTLIST ImageDecoding memCap CDATA #REQUIRED>
|
||||
<!ELEMENT Camera EMPTY>
|
||||
<!ELEMENT EncoderOutputFileFormat EMPTY>
|
||||
<!ATTLIST EncoderOutputFileFormat name (mp4|3gp) #REQUIRED>
|
||||
<!ELEMENT VideoEncoderCap EMPTY>
|
||||
<!ATTLIST VideoEncoderCap name (h264|h263|m4v|wmv) #REQUIRED>
|
||||
<!ATTLIST VideoEncoderCap enabled (true|false) #REQUIRED>
|
||||
<!ATTLIST VideoEncoderCap minBitRate CDATA #REQUIRED>
|
||||
<!ATTLIST VideoEncoderCap maxBitRate CDATA #REQUIRED>
|
||||
<!ATTLIST VideoEncoderCap minFrameWidth CDATA #REQUIRED>
|
||||
<!ATTLIST VideoEncoderCap maxFrameWidth CDATA #REQUIRED>
|
||||
<!ATTLIST VideoEncoderCap minFrameHeight CDATA #REQUIRED>
|
||||
<!ATTLIST VideoEncoderCap maxFrameHeight CDATA #REQUIRED>
|
||||
<!ATTLIST VideoEncoderCap minFrameRate CDATA #REQUIRED>
|
||||
<!ATTLIST VideoEncoderCap maxFrameRate CDATA #REQUIRED>
|
||||
<!ELEMENT AudioEncoderCap EMPTY>
|
||||
<!ATTLIST AudioEncoderCap name (amrnb|amrwb|aac|wma) #REQUIRED>
|
||||
<!ATTLIST AudioEncoderCap enabled (true|false) #REQUIRED>
|
||||
<!ATTLIST AudioEncoderCap minBitRate CDATA #REQUIRED>
|
||||
<!ATTLIST AudioEncoderCap maxBitRate CDATA #REQUIRED>
|
||||
<!ATTLIST AudioEncoderCap minSampleRate CDATA #REQUIRED>
|
||||
<!ATTLIST AudioEncoderCap maxSampleRate CDATA #REQUIRED>
|
||||
<!ATTLIST AudioEncoderCap minChannels (1|2) #REQUIRED>
|
||||
<!ATTLIST AudioEncoderCap maxChannels (1|2) #REQUIRED>
|
||||
<!ELEMENT VideoDecoderCap EMPTY>
|
||||
<!ATTLIST VideoDecoderCap name (wmv) #REQUIRED>
|
||||
<!ATTLIST VideoDecoderCap enabled (true|false) #REQUIRED>
|
||||
<!ELEMENT AudioDecoderCap EMPTY>
|
||||
<!ATTLIST AudioDecoderCap name (wma) #REQUIRED>
|
||||
<!ATTLIST AudioDecoderCap enabled (true|false) #REQUIRED>
|
||||
]>
|
||||
<!--
|
||||
This file is used to declare the multimedia profiles and capabilities
|
||||
on an android-powered device.
|
||||
-->
|
||||
<MediaSettings>
|
||||
<!-- Each camcorder profile defines a set of predefined configuration parameters -->
|
||||
<CamcorderProfiles cameraId="0">
|
||||
|
||||
<EncoderProfile quality="qvga" fileFormat="3gp" duration="60">
|
||||
<Video codec="h264"
|
||||
bitRate="128000"
|
||||
width="320"
|
||||
height="240"
|
||||
frameRate="30" />
|
||||
<Audio codec="amrnb"
|
||||
bitRate="12200"
|
||||
sampleRate="8000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="cif" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="1200000"
|
||||
width="352"
|
||||
height="288"
|
||||
frameRate="30" />
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="480p" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="6000000"
|
||||
width="720"
|
||||
height="480"
|
||||
frameRate="30" />
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="720p" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="12000000"
|
||||
width="1280"
|
||||
height="720"
|
||||
frameRate="30" />
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="1080p" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="17000000"
|
||||
width="1920"
|
||||
height="1080"
|
||||
frameRate="30" />
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="192000"
|
||||
width="176"
|
||||
height="144"
|
||||
frameRate="30" />
|
||||
<!-- audio setting is ignored -->
|
||||
<Audio codec="amrnb"
|
||||
bitRate="12200"
|
||||
sampleRate="8000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="1200000"
|
||||
width="352"
|
||||
height="288"
|
||||
frameRate="30" />
|
||||
<!-- audio setting is ignored -->
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="6000000"
|
||||
width="720"
|
||||
height="480"
|
||||
frameRate="30" />
|
||||
<!-- audio setting is ignored -->
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="12000000"
|
||||
width="1280"
|
||||
height="720"
|
||||
frameRate="30" />
|
||||
<!-- audio setting is ignored -->
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="17000000"
|
||||
width="1920"
|
||||
height="1080"
|
||||
frameRate="30" />
|
||||
<!-- audio setting is ignored -->
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<ImageEncoding quality="95" />
|
||||
<ImageEncoding quality="80" />
|
||||
<ImageEncoding quality="70" />
|
||||
<ImageDecoding memCap="20000000" />
|
||||
|
||||
</CamcorderProfiles>
|
||||
|
||||
<CamcorderProfiles cameraId="1">
|
||||
|
||||
<EncoderProfile quality="qvga" fileFormat="3gp" duration="60">
|
||||
<Video codec="h264"
|
||||
bitRate="128000"
|
||||
width="320"
|
||||
height="240"
|
||||
frameRate="30" />
|
||||
<Audio codec="amrnb"
|
||||
bitRate="12200"
|
||||
sampleRate="8000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="cif" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="1200000"
|
||||
width="352"
|
||||
height="288"
|
||||
frameRate="30" />
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="480p" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="6000000"
|
||||
width="720"
|
||||
height="480"
|
||||
frameRate="30" />
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="720p" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="12000000"
|
||||
width="1280"
|
||||
height="720"
|
||||
frameRate="30" />
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="192000"
|
||||
width="176"
|
||||
height="144"
|
||||
frameRate="30" />
|
||||
<!-- audio setting is ignored -->
|
||||
<Audio codec="amrnb"
|
||||
bitRate="12200"
|
||||
sampleRate="8000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="1200000"
|
||||
width="352"
|
||||
height="288"
|
||||
frameRate="30" />
|
||||
<!-- audio setting is ignored -->
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="6000000"
|
||||
width="720"
|
||||
height="480"
|
||||
frameRate="30" />
|
||||
<!-- audio setting is ignored -->
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="12000000"
|
||||
width="1280"
|
||||
height="720"
|
||||
frameRate="30" />
|
||||
<!-- audio setting is ignored -->
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<ImageEncoding quality="95" />
|
||||
<ImageEncoding quality="80" />
|
||||
<ImageEncoding quality="70" />
|
||||
<ImageDecoding memCap="20000000" />
|
||||
|
||||
</CamcorderProfiles>
|
||||
<CamcorderProfiles cameraId="2">
|
||||
|
||||
<EncoderProfile quality="qvga" fileFormat="3gp" duration="60">
|
||||
<Video codec="h264"
|
||||
bitRate="128000"
|
||||
width="320"
|
||||
height="240"
|
||||
frameRate="30" />
|
||||
<Audio codec="amrnb"
|
||||
bitRate="12200"
|
||||
sampleRate="8000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="cif" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="1200000"
|
||||
width="352"
|
||||
height="288"
|
||||
frameRate="30" />
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="480p" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="6000000"
|
||||
width="720"
|
||||
height="480"
|
||||
frameRate="30" />
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="720p" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="12000000"
|
||||
width="1280"
|
||||
height="720"
|
||||
frameRate="30" />
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="1080p" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="17000000"
|
||||
width="1920"
|
||||
height="1080"
|
||||
frameRate="30" />
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="192000"
|
||||
width="176"
|
||||
height="144"
|
||||
frameRate="30" />
|
||||
<!-- audio setting is ignored -->
|
||||
<Audio codec="amrnb"
|
||||
bitRate="12200"
|
||||
sampleRate="8000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="1200000"
|
||||
width="352"
|
||||
height="288"
|
||||
frameRate="30" />
|
||||
<!-- audio setting is ignored -->
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="6000000"
|
||||
width="720"
|
||||
height="480"
|
||||
frameRate="30" />
|
||||
<!-- audio setting is ignored -->
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="12000000"
|
||||
width="1280"
|
||||
height="720"
|
||||
frameRate="30" />
|
||||
<!-- audio setting is ignored -->
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="17000000"
|
||||
width="1920"
|
||||
height="1080"
|
||||
frameRate="30" />
|
||||
<!-- audio setting is ignored -->
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<ImageEncoding quality="95" />
|
||||
<ImageEncoding quality="80" />
|
||||
<ImageEncoding quality="70" />
|
||||
<ImageDecoding memCap="20000000" />
|
||||
|
||||
</CamcorderProfiles>
|
||||
|
||||
<CamcorderProfiles cameraId="3">
|
||||
|
||||
<EncoderProfile quality="qvga" fileFormat="3gp" duration="60">
|
||||
<Video codec="h264"
|
||||
bitRate="128000"
|
||||
width="320"
|
||||
height="240"
|
||||
frameRate="30" />
|
||||
<Audio codec="amrnb"
|
||||
bitRate="12200"
|
||||
sampleRate="8000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="cif" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="1200000"
|
||||
width="352"
|
||||
height="288"
|
||||
frameRate="30" />
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="480p" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="6000000"
|
||||
width="720"
|
||||
height="480"
|
||||
frameRate="30" />
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="720p" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="12000000"
|
||||
width="1280"
|
||||
height="720"
|
||||
frameRate="30" />
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="192000"
|
||||
width="176"
|
||||
height="144"
|
||||
frameRate="30" />
|
||||
<!-- audio setting is ignored -->
|
||||
<Audio codec="amrnb"
|
||||
bitRate="12200"
|
||||
sampleRate="8000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="1200000"
|
||||
width="352"
|
||||
height="288"
|
||||
frameRate="30" />
|
||||
<!-- audio setting is ignored -->
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="6000000"
|
||||
width="720"
|
||||
height="480"
|
||||
frameRate="30" />
|
||||
<!-- audio setting is ignored -->
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="12000000"
|
||||
width="1280"
|
||||
height="720"
|
||||
frameRate="30" />
|
||||
<!-- audio setting is ignored -->
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<ImageEncoding quality="95" />
|
||||
<ImageEncoding quality="80" />
|
||||
<ImageEncoding quality="70" />
|
||||
<ImageDecoding memCap="20000000" />
|
||||
|
||||
</CamcorderProfiles>
|
||||
<CamcorderProfiles cameraId="4">
|
||||
|
||||
<EncoderProfile quality="qvga" fileFormat="3gp" duration="60">
|
||||
<Video codec="h264"
|
||||
bitRate="128000"
|
||||
width="320"
|
||||
height="240"
|
||||
frameRate="30" />
|
||||
<Audio codec="amrnb"
|
||||
bitRate="12200"
|
||||
sampleRate="8000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="cif" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="1200000"
|
||||
width="352"
|
||||
height="288"
|
||||
frameRate="30" />
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="480p" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="6000000"
|
||||
width="720"
|
||||
height="480"
|
||||
frameRate="30" />
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="720p" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="12000000"
|
||||
width="1280"
|
||||
height="720"
|
||||
frameRate="30" />
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="1080p" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="17000000"
|
||||
width="1920"
|
||||
height="1080"
|
||||
frameRate="30" />
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="192000"
|
||||
width="176"
|
||||
height="144"
|
||||
frameRate="30" />
|
||||
<!-- audio setting is ignored -->
|
||||
<Audio codec="amrnb"
|
||||
bitRate="12200"
|
||||
sampleRate="8000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="1200000"
|
||||
width="352"
|
||||
height="288"
|
||||
frameRate="30" />
|
||||
<!-- audio setting is ignored -->
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="6000000"
|
||||
width="720"
|
||||
height="480"
|
||||
frameRate="30" />
|
||||
<!-- audio setting is ignored -->
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="12000000"
|
||||
width="1280"
|
||||
height="720"
|
||||
frameRate="30" />
|
||||
<!-- audio setting is ignored -->
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="17000000"
|
||||
width="1920"
|
||||
height="1080"
|
||||
frameRate="30" />
|
||||
<!-- audio setting is ignored -->
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<ImageEncoding quality="95" />
|
||||
<ImageEncoding quality="80" />
|
||||
<ImageEncoding quality="70" />
|
||||
<ImageDecoding memCap="20000000" />
|
||||
|
||||
</CamcorderProfiles>
|
||||
|
||||
<CamcorderProfiles cameraId="5">
|
||||
|
||||
<EncoderProfile quality="qvga" fileFormat="3gp" duration="60">
|
||||
<Video codec="h264"
|
||||
bitRate="128000"
|
||||
width="320"
|
||||
height="240"
|
||||
frameRate="30" />
|
||||
<Audio codec="amrnb"
|
||||
bitRate="12200"
|
||||
sampleRate="8000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="cif" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="1200000"
|
||||
width="352"
|
||||
height="288"
|
||||
frameRate="30" />
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="480p" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="6000000"
|
||||
width="720"
|
||||
height="480"
|
||||
frameRate="30" />
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="720p" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="12000000"
|
||||
width="1280"
|
||||
height="720"
|
||||
frameRate="30" />
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="192000"
|
||||
width="176"
|
||||
height="144"
|
||||
frameRate="30" />
|
||||
<!-- audio setting is ignored -->
|
||||
<Audio codec="amrnb"
|
||||
bitRate="12200"
|
||||
sampleRate="8000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="1200000"
|
||||
width="352"
|
||||
height="288"
|
||||
frameRate="30" />
|
||||
<!-- audio setting is ignored -->
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="6000000"
|
||||
width="720"
|
||||
height="480"
|
||||
frameRate="30" />
|
||||
<!-- audio setting is ignored -->
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="12000000"
|
||||
width="1280"
|
||||
height="720"
|
||||
frameRate="30" />
|
||||
<!-- audio setting is ignored -->
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<ImageEncoding quality="95" />
|
||||
<ImageEncoding quality="80" />
|
||||
<ImageEncoding quality="70" />
|
||||
<ImageDecoding memCap="20000000" />
|
||||
|
||||
</CamcorderProfiles>
|
||||
|
||||
<EncoderOutputFileFormat name="3gp" />
|
||||
<EncoderOutputFileFormat name="mp4" />
|
||||
|
||||
<!--
|
||||
If a codec is not enabled, it is invisible to the applications
|
||||
In other words, the applications won't be able to use the codec
|
||||
or query the capabilities of the codec at all if it is disabled
|
||||
-->
|
||||
<VideoEncoderCap name="h264" enabled="true"
|
||||
minBitRate="64000" maxBitRate="40000000"
|
||||
minFrameWidth="176" maxFrameWidth="1920"
|
||||
minFrameHeight="144" maxFrameHeight="1080"
|
||||
minFrameRate="15" maxFrameRate="30" />
|
||||
|
||||
<VideoEncoderCap name="h263" enabled="true"
|
||||
minBitRate="64000" maxBitRate="2000000"
|
||||
minFrameWidth="176" maxFrameWidth="800"
|
||||
minFrameHeight="144" maxFrameHeight="480"
|
||||
minFrameRate="15" maxFrameRate="30" />
|
||||
|
||||
<VideoEncoderCap name="m4v" enabled="true"
|
||||
minBitRate="64000" maxBitRate="40000000"
|
||||
minFrameWidth="176" maxFrameWidth="1920"
|
||||
minFrameHeight="144" maxFrameHeight="1080"
|
||||
minFrameRate="15" maxFrameRate="30" />
|
||||
|
||||
<AudioEncoderCap name="aac" enabled="true"
|
||||
minBitRate="758" maxBitRate="288000"
|
||||
minSampleRate="8000" maxSampleRate="48000"
|
||||
minChannels="1" maxChannels="2" />
|
||||
|
||||
<AudioEncoderCap name="heaac" enabled="true"
|
||||
minBitRate="8000" maxBitRate="64000"
|
||||
minSampleRate="16000" maxSampleRate="48000"
|
||||
minChannels="1" maxChannels="2" />
|
||||
|
||||
<AudioEncoderCap name="aaceld" enabled="true"
|
||||
minBitRate="16000" maxBitRate="192000"
|
||||
minSampleRate="16000" maxSampleRate="48000"
|
||||
minChannels="1" maxChannels="2" />
|
||||
|
||||
<AudioEncoderCap name="amrwb" enabled="true"
|
||||
minBitRate="6600" maxBitRate="23050"
|
||||
minSampleRate="16000" maxSampleRate="16000"
|
||||
minChannels="1" maxChannels="1" />
|
||||
|
||||
<AudioEncoderCap name="amrnb" enabled="true"
|
||||
minBitRate="5525" maxBitRate="12200"
|
||||
minSampleRate="8000" maxSampleRate="8000"
|
||||
minChannels="1" maxChannels="1" />
|
||||
|
||||
<!--
|
||||
FIXME:
|
||||
We do not check decoder capabilities at present
|
||||
At present, we only check whether windows media is visible
|
||||
for TEST applications. For other applications, we do
|
||||
not perform any checks at all.
|
||||
-->
|
||||
<VideoDecoderCap name="wmv" enabled="false"/>
|
||||
<AudioDecoderCap name="wma" enabled="false"/>
|
||||
</MediaSettings>
|
|
@ -1,511 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (c) 2020 Qualcomm Technologies, Inc.
|
||||
All Rights Reserved.
|
||||
Confidential and Proprietary - Qualcomm Technologies, Inc.
|
||||
|
||||
Not a contribution.
|
||||
|
||||
Copyright (C) 2012-2019 The Linux Foundation. All rights reserved.
|
||||
Copyright (C) 2010 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.
|
||||
-->
|
||||
<!DOCTYPE MediaSettings [
|
||||
<!ELEMENT MediaSettings (CamcorderProfiles,
|
||||
EncoderOutputFileFormat+,
|
||||
VideoEncoderCap+,
|
||||
AudioEncoderCap+,
|
||||
VideoDecoderCap,
|
||||
AudioDecoderCap)>
|
||||
<!ELEMENT CamcorderProfiles (EncoderProfile+, ImageEncoding+, ImageDecoding, Camera)>
|
||||
<!ELEMENT EncoderProfile (Video, Audio)>
|
||||
<!ATTLIST EncoderProfile quality (high|low) #REQUIRED>
|
||||
<!ATTLIST EncoderProfile fileFormat (mp4|3gp) #REQUIRED>
|
||||
<!ATTLIST EncoderProfile duration (30|60) #REQUIRED>
|
||||
<!ATTLIST EncoderProfile cameraId (0|1|2|3) #REQUIRED>
|
||||
<!ELEMENT Video EMPTY>
|
||||
<!ATTLIST Video codec (h264|h263|m4v) #REQUIRED>
|
||||
<!ATTLIST Video bitRate CDATA #REQUIRED>
|
||||
<!ATTLIST Video width CDATA #REQUIRED>
|
||||
<!ATTLIST Video height CDATA #REQUIRED>
|
||||
<!ATTLIST Video frameRate CDATA #REQUIRED>
|
||||
<!ELEMENT Audio EMPTY>
|
||||
<!ATTLIST Audio codec (amrnb|amrwb|aac|lpcm) #REQUIRED>
|
||||
<!ATTLIST Audio bitRate CDATA #REQUIRED>
|
||||
<!ATTLIST Audio sampleRate CDATA #REQUIRED>
|
||||
<!ATTLIST Audio channels (1|2|6) #REQUIRED>
|
||||
<!ELEMENT ImageEncoding EMPTY>
|
||||
<!ATTLIST ImageEncoding quality (90|80|70|60|50|40) #REQUIRED>
|
||||
<!ELEMENT ImageDecoding EMPTY>
|
||||
<!ATTLIST ImageDecoding memCap CDATA #REQUIRED>
|
||||
<!ELEMENT Camera EMPTY>
|
||||
<!ELEMENT EncoderOutputFileFormat EMPTY>
|
||||
<!ATTLIST EncoderOutputFileFormat name (mp4|3gp) #REQUIRED>
|
||||
<!ELEMENT VideoEncoderCap EMPTY>
|
||||
<!ATTLIST VideoEncoderCap name (hevc|h264|h263|m4v|wmv) #REQUIRED>
|
||||
<!ATTLIST VideoEncoderCap enabled (true|false) #REQUIRED>
|
||||
<!ATTLIST VideoEncoderCap minBitRate CDATA #REQUIRED>
|
||||
<!ATTLIST VideoEncoderCap maxBitRate CDATA #REQUIRED>
|
||||
<!ATTLIST VideoEncoderCap minFrameWidth CDATA #REQUIRED>
|
||||
<!ATTLIST VideoEncoderCap maxFrameWidth CDATA #REQUIRED>
|
||||
<!ATTLIST VideoEncoderCap minFrameHeight CDATA #REQUIRED>
|
||||
<!ATTLIST VideoEncoderCap maxFrameHeight CDATA #REQUIRED>
|
||||
<!ATTLIST VideoEncoderCap minFrameRate CDATA #REQUIRED>
|
||||
<!ATTLIST VideoEncoderCap maxFrameRate CDATA #REQUIRED>
|
||||
<!ATTLIST VideoEncoderCap maxHFRFrameWidth CDATA #REQUIRED>
|
||||
<!ATTLIST VideoEncoderCap maxHFRFrameHeight CDATA #REQUIRED>
|
||||
<!ATTLIST VideoEncoderCap maxHFRMode CDATA #REQUIRED>
|
||||
<!ELEMENT AudioEncoderCap EMPTY>
|
||||
<!ATTLIST AudioEncoderCap name (amrnb|amrwb|aac|wma|lpcm) #REQUIRED>
|
||||
<!ATTLIST AudioEncoderCap enabled (true|false) #REQUIRED>
|
||||
<!ATTLIST AudioEncoderCap minBitRate CDATA #REQUIRED>
|
||||
<!ATTLIST AudioEncoderCap maxBitRate CDATA #REQUIRED>
|
||||
<!ATTLIST AudioEncoderCap minSampleRate CDATA #REQUIRED>
|
||||
<!ATTLIST AudioEncoderCap maxSampleRate CDATA #REQUIRED>
|
||||
<!ATTLIST AudioEncoderCap minChannels (1|2|6) #REQUIRED>
|
||||
<!ATTLIST AudioEncoderCap maxChannels (1|2|6) #REQUIRED>
|
||||
<!ELEMENT VideoDecoderCap EMPTY>
|
||||
<!ATTLIST VideoDecoderCap name (wmv) #REQUIRED>
|
||||
<!ATTLIST VideoDecoderCap enabled (true|false) #REQUIRED>
|
||||
<!ELEMENT AudioDecoderCap EMPTY>
|
||||
<!ATTLIST AudioDecoderCap name (wma) #REQUIRED>
|
||||
<!ATTLIST AudioDecoderCap enabled (true|false) #REQUIRED>
|
||||
<!ELEMENT VideoEditorCap EMPTY>
|
||||
<!ATTLIST VideoEditorCap maxInputFrameWidth CDATA #REQUIRED>
|
||||
<!ATTLIST VideoEditorCap maxInputFrameHeight CDATA #REQUIRED>
|
||||
<!ATTLIST VideoEditorCap maxOutputFrameWidth CDATA #REQUIRED>
|
||||
<!ATTLIST VideoEditorCap maxOutputFrameHeight CDATA #REQUIRED>
|
||||
<!ATTLIST VideoEditorCap maxPrefetchYUVFrames CDATA #REQUIRED>
|
||||
<!ELEMENT ExportVideoProfile EMPTY>
|
||||
<!ATTLIST ExportVideoProfile name (h264|h263|m4v) #REQUIRED>
|
||||
<!ATTLIST ExportVideoProfile profile CDATA #REQUIRED>
|
||||
<!ATTLIST ExportVideoProfile level CDATA #REQUIRED>
|
||||
]>
|
||||
<!--
|
||||
This file is used to declare the multimedia profiles and capabilities
|
||||
on an android-powered device.
|
||||
-->
|
||||
<MediaSettings>
|
||||
<!-- Each camcorder profile defines a set of predefined configuration parameters -->
|
||||
<!-- Back Camera -->
|
||||
<CamcorderProfiles cameraId="0">
|
||||
|
||||
<!-- low: 176 x 144 30fps -->
|
||||
<EncoderProfile quality="low" fileFormat="3gp" duration="60">
|
||||
<Video codec="h264"
|
||||
bitRate="128000"
|
||||
width="176"
|
||||
height="144"
|
||||
frameRate="30" />
|
||||
<Audio codec="amrnb"
|
||||
bitRate="12200"
|
||||
sampleRate="8000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<!-- high: 1920 x 1080 30fps -->
|
||||
<EncoderProfile quality="high" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="20000000"
|
||||
width="1920"
|
||||
height="1080"
|
||||
frameRate="30" />
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<!-- qcif: 176 x 144 30fps -->
|
||||
<EncoderProfile quality="qcif" fileFormat="3gp" duration="60">
|
||||
<Video codec="h264"
|
||||
bitRate="128000"
|
||||
width="176"
|
||||
height="144"
|
||||
frameRate="30" />
|
||||
<Audio codec="amrnb"
|
||||
bitRate="12200"
|
||||
sampleRate="8000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<!-- qvga: 320 x 240 30fps -->
|
||||
<EncoderProfile quality="qvga" fileFormat="mp4" duration="60">
|
||||
<Video codec="h264"
|
||||
bitRate="512000"
|
||||
width="320"
|
||||
height="240"
|
||||
frameRate="30" />
|
||||
<Audio codec="aac"
|
||||
bitRate="156000"
|
||||
sampleRate="48000"
|
||||
channels="2" />
|
||||
</EncoderProfile>
|
||||
|
||||
<!-- cif: 352 x 288 30fps -->
|
||||
<EncoderProfile quality="cif" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="1200000"
|
||||
width="352"
|
||||
height="288"
|
||||
frameRate="30" />
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<!-- 480p: 720 x 480 30fps -->
|
||||
<EncoderProfile quality="480p" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="2000000"
|
||||
width="720"
|
||||
height="480"
|
||||
frameRate="30" />
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<!-- 720p: 1280 x 720 60fps -->
|
||||
<EncoderProfile quality="720p" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="14000000"
|
||||
width="1280"
|
||||
height="720"
|
||||
frameRate="30" />
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<!-- 1080p: 1920 x 1080 30fps -->
|
||||
<EncoderProfile quality="1080p" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="20000000"
|
||||
width="1920"
|
||||
height="1080"
|
||||
frameRate="30" />
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<!-- timelapse_qcif: 176 x 144 30fps -->
|
||||
<EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="192000"
|
||||
width="176"
|
||||
height="144"
|
||||
frameRate="30" />
|
||||
<!-- audio setting is ignored -->
|
||||
<Audio codec="amrnb"
|
||||
bitRate="12200"
|
||||
sampleRate="8000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<!-- timelapse_cif: 352 x 288 30fps -->
|
||||
<EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="720000"
|
||||
width="352"
|
||||
height="288"
|
||||
frameRate="30" />
|
||||
<!-- audio setting is ignored -->
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<!-- timelapse_480p: 640 x 480 30fps -->
|
||||
<EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="2000000"
|
||||
width="640"
|
||||
height="480"
|
||||
frameRate="30" />
|
||||
<!-- audio setting is ignored -->
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<!-- timelapse_720p: 1280 x 720 30fps -->
|
||||
<EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="12000000"
|
||||
width="1280"
|
||||
height="720"
|
||||
frameRate="30" />
|
||||
<!-- audio setting is ignored -->
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<!-- timelapse_1080p: 1920 x 1080 30fps -->
|
||||
<EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="17000000"
|
||||
width="1920"
|
||||
height="1080"
|
||||
frameRate="30" />
|
||||
<!-- audio setting is ignored -->
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
|
||||
<ImageEncoding quality="95" />
|
||||
<ImageEncoding quality="80" />
|
||||
<ImageEncoding quality="70" />
|
||||
<ImageDecoding memCap="20000000" />
|
||||
</CamcorderProfiles>
|
||||
|
||||
<!-- Front Camera -->
|
||||
<CamcorderProfiles cameraId="1">
|
||||
|
||||
<!-- low: 176 x 144 30fps -->
|
||||
<EncoderProfile quality="low" fileFormat="3gp" duration="60">
|
||||
<Video codec="h264"
|
||||
bitRate="128000"
|
||||
width="176"
|
||||
height="144"
|
||||
frameRate="30" />
|
||||
<Audio codec="amrnb"
|
||||
bitRate="12200"
|
||||
sampleRate="8000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<!-- high: 1920 x 1080 30fps -->
|
||||
<EncoderProfile quality="high" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="20000000"
|
||||
width="1920"
|
||||
height="1080"
|
||||
frameRate="30" />
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<!-- qcif: 176 x 144 30fps -->
|
||||
<EncoderProfile quality="qcif" fileFormat="3gp" duration="60">
|
||||
<Video codec="h264"
|
||||
bitRate="128000"
|
||||
width="176"
|
||||
height="144"
|
||||
frameRate="30" />
|
||||
<Audio codec="amrnb"
|
||||
bitRate="12200"
|
||||
sampleRate="8000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<!-- qvga: 320 x 240 30fps -->
|
||||
<EncoderProfile quality="qvga" fileFormat="mp4" duration="60">
|
||||
<Video codec="h264"
|
||||
bitRate="512000"
|
||||
width="320"
|
||||
height="240"
|
||||
frameRate="30" />
|
||||
<Audio codec="aac"
|
||||
bitRate="156000"
|
||||
sampleRate="48000"
|
||||
channels="2" />
|
||||
</EncoderProfile>
|
||||
|
||||
<!-- cif: 352 x 288 30fps -->
|
||||
<EncoderProfile quality="cif" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="720000"
|
||||
width="352"
|
||||
height="288"
|
||||
frameRate="30" />
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<!-- 480p: 720 x 480 30fps -->
|
||||
<EncoderProfile quality="480p" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="2000000"
|
||||
width="720"
|
||||
height="480"
|
||||
frameRate="30" />
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<!-- 720p: 1280 x 720 30fps -->
|
||||
<EncoderProfile quality="720p" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="12000000"
|
||||
width="1280"
|
||||
height="720"
|
||||
frameRate="30" />
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<!-- 1080p: 1920 x 1080 30fps -->
|
||||
<EncoderProfile quality="1080p" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="20000000"
|
||||
width="1920"
|
||||
height="1080"
|
||||
frameRate="30" />
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<!-- timelapse_qcif: 176 x 144 30fps -->
|
||||
<EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="192000"
|
||||
width="176"
|
||||
height="144"
|
||||
frameRate="30" />
|
||||
<!-- audio setting is ignored -->
|
||||
<Audio codec="amrnb"
|
||||
bitRate="12200"
|
||||
sampleRate="8000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<!-- timelapse_cif: 352 x 288 30fps -->
|
||||
<EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="1200000"
|
||||
width="352"
|
||||
height="288"
|
||||
frameRate="30" />
|
||||
<!-- audio setting is ignored -->
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<!-- timelapse_480p: 720 x 480 30fps -->
|
||||
<EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="5000000"
|
||||
width="720"
|
||||
height="480"
|
||||
frameRate="30" />
|
||||
<!-- audio setting is ignored -->
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<!-- timelapse_720p: 1280 x 720 30fps -->
|
||||
<EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="8000000"
|
||||
width="1280"
|
||||
height="720"
|
||||
frameRate="30" />
|
||||
<!-- audio setting is ignored -->
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<ImageEncoding quality="95" />
|
||||
<ImageEncoding quality="80" />
|
||||
<ImageEncoding quality="70" />
|
||||
<ImageDecoding memCap="20000000" />
|
||||
</CamcorderProfiles>
|
||||
|
||||
|
||||
|
||||
|
||||
<EncoderOutputFileFormat name="3gp" />
|
||||
<EncoderOutputFileFormat name="mp4" />
|
||||
|
||||
<!--
|
||||
If a codec is not enabled, it is invisible to the applications
|
||||
In other words, the applications won't be able to use the codec
|
||||
or query the capabilities of the codec at all if it is disabled
|
||||
-->
|
||||
<VideoEncoderCap name="hevc" enabled="true"
|
||||
minBitRate="64000" maxBitRate="60000000"
|
||||
minFrameWidth="176" maxFrameWidth="1920"
|
||||
minFrameHeight="144" maxFrameHeight="1080"
|
||||
minFrameRate="15" maxFrameRate="30" />
|
||||
|
||||
<VideoEncoderCap name="h264" enabled="true"
|
||||
minBitRate="64000" maxBitRate="60000000"
|
||||
minFrameWidth="176" maxFrameWidth="1920"
|
||||
minFrameHeight="144" maxFrameHeight="1080"
|
||||
minFrameRate="15" maxFrameRate="30" />
|
||||
|
||||
<AudioEncoderCap name="aac" enabled="true"
|
||||
minBitRate="758" maxBitRate="288000"
|
||||
minSampleRate="8000" maxSampleRate="48000"
|
||||
minChannels="1" maxChannels="2" />
|
||||
|
||||
<AudioEncoderCap name="heaac" enabled="true"
|
||||
minBitRate="8000" maxBitRate="64000"
|
||||
minSampleRate="16000" maxSampleRate="48000"
|
||||
minChannels="1" maxChannels="2" />
|
||||
|
||||
<AudioEncoderCap name="aaceld" enabled="true"
|
||||
minBitRate="16000" maxBitRate="192000"
|
||||
minSampleRate="16000" maxSampleRate="48000"
|
||||
minChannels="1" maxChannels="2" />
|
||||
|
||||
<AudioEncoderCap name="amrwb" enabled="true"
|
||||
minBitRate="6600" maxBitRate="23050"
|
||||
minSampleRate="16000" maxSampleRate="16000"
|
||||
minChannels="1" maxChannels="1" />
|
||||
|
||||
<AudioEncoderCap name="amrnb" enabled="true"
|
||||
minBitRate="5525" maxBitRate="12200"
|
||||
minSampleRate="8000" maxSampleRate="8000"
|
||||
minChannels="1" maxChannels="1" />
|
||||
|
||||
<!--
|
||||
FIXME:
|
||||
We do not check decoder capabilities at present
|
||||
At present, we only check whether windows media is visible
|
||||
for TEST applications. For other applications, we do
|
||||
not perform any checks at all.
|
||||
-->
|
||||
<VideoDecoderCap name="wmv" enabled="false"/>
|
||||
<AudioDecoderCap name="wma" enabled="false"/>
|
||||
</MediaSettings>
|
|
@ -1,32 +0,0 @@
|
|||
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
|
566
configs/task_profiles.json
Normal file
566
configs/task_profiles.json
Normal file
|
@ -0,0 +1,566 @@
|
|||
{
|
||||
"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" ]
|
||||
}
|
||||
]
|
||||
}
|
499
device.mk
499
device.mk
|
@ -1,56 +1,17 @@
|
|||
#
|
||||
# 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.
|
||||
#
|
||||
# Copyright (C) 2021-2025 The LineageOS Project
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
# Copyright (C) 2019-Current A-Team Digital Solutions
|
||||
|
||||
# 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 := *
|
||||
# Add common definitions for Qualcomm
|
||||
$(call inherit-product, hardware/qcom-caf/common/common.mk)
|
||||
|
||||
# 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 \
|
||||
|
@ -60,7 +21,7 @@ AB_OTA_POSTINSTALL_CONFIG += \
|
|||
AB_OTA_POSTINSTALL_CONFIG += \
|
||||
RUN_POSTINSTALL_vendor=true \
|
||||
POSTINSTALL_PATH_vendor=bin/checkpoint_gc \
|
||||
FILESYSTEM_TYPE_vendor=ext4 \
|
||||
FILESYSTEM_TYPE_vendor=erofs \
|
||||
POSTINSTALL_OPTIONAL_vendor=true
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
|
@ -69,71 +30,54 @@ PRODUCT_PACKAGES += \
|
|||
|
||||
# ANT+
|
||||
PRODUCT_PACKAGES += \
|
||||
AntHalService-Soong \
|
||||
com.dsi.ant@1.0.vendor
|
||||
|
||||
# Atrace
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.atrace@1.0-service
|
||||
AntHalService-Soong
|
||||
|
||||
# Audio
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.audio@6.0-impl \
|
||||
android.hardware.audio.effect@6.0-impl \
|
||||
android.hardware.audio.service \
|
||||
android.hardware.bluetooth.audio@2.0-impl \
|
||||
android.hardware.bluetooth.audio-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.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_io_policy.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_io_policy.conf \
|
||||
$(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_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)/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 \
|
||||
$(AUDIO_HAL_DIR)/configs/holi/sound_trigger_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_platform_info.xml \
|
||||
$(LOCAL_PATH)/audio/audio_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info.xml \
|
||||
$(LOCAL_PATH)/audio/audio_policy_configuration_a2dp_offload_disabled.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/audio_policy_configuration.xml \
|
||||
$(LOCAL_PATH)/audio/bluetooth_hearing_aid_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_hearing_aid_audio_policy_configuration.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 \
|
||||
|
@ -143,20 +87,9 @@ PRODUCT_COPY_FILES += \
|
|||
|
||||
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
|
||||
|
@ -167,20 +100,13 @@ TARGET_SCREEN_WIDTH := 1080
|
|||
|
||||
# Boot control
|
||||
PRODUCT_PACKAGES += \
|
||||
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
|
||||
android.hardware.boot-service.qti \
|
||||
android.hardware.boot-service.qti.recovery
|
||||
|
||||
# Camera
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.camera.provider@2.4-impl \
|
||||
android.hardware.camera.provider@2.4-service_64 \
|
||||
vendor.qti.hardware.camera.postproc@1.0.vendor
|
||||
android.hardware.camera.provider@2.4-service_64
|
||||
|
||||
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 \
|
||||
|
@ -188,90 +114,55 @@ 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
|
||||
|
||||
# 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
|
||||
# Dalvik
|
||||
$(call inherit-product, frameworks/native/build/phone-xhdpi-4096-dalvik-heap.mk)
|
||||
|
||||
# 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
|
||||
# DebugFS
|
||||
PRODUCT_SET_DEBUGFS_RESTRICTIONS := true
|
||||
|
||||
# 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.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
|
||||
vendor.qti.hardware.memtrack-service
|
||||
|
||||
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
|
||||
|
||||
# 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 \
|
||||
qcom.fmradio
|
||||
|
||||
# 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 \
|
||||
|
@ -279,187 +170,113 @@ 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@2.1-impl \
|
||||
android.hardware.health@2.1-service
|
||||
android.hardware.health-service.qti
|
||||
|
||||
# HIDL
|
||||
PRODUCT_PACKAGES += \
|
||||
libhidltransport.vendor \
|
||||
libhwbinder.vendor
|
||||
|
||||
# HotwordEnrollement app permissions
|
||||
# Hotword enrollment
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/configs/privapp-permissions-hotword.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/permissions/privapp-permissions-hotword.xml
|
||||
|
||||
# Init
|
||||
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
|
||||
|
||||
# IPACM
|
||||
PRODUCT_PACKAGES += \
|
||||
ipacm \
|
||||
IPACM_cfg.xml \
|
||||
libipanat \
|
||||
liboffloadhal
|
||||
IPACM_cfg.xml
|
||||
|
||||
# Keymaster
|
||||
# Kernel
|
||||
PRODUCT_ENABLE_UFFD_GC := true
|
||||
|
||||
# Lineage Health
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.keymaster@4.1.vendor
|
||||
vendor.lineage.health-service.default
|
||||
|
||||
# LiveDisplay
|
||||
PRODUCT_PACKAGES += \
|
||||
vendor.lineage.livedisplay@2.1-service.oneplus
|
||||
vendor.lineage.livedisplay@2.1-service.oplus
|
||||
|
||||
$(call soong_config_set,OPLUS_LINEAGE_LIVEDISPLAY_HAL,ENABLE_SE,false)
|
||||
|
||||
# Media
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(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
|
||||
|
||||
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
|
||||
$(LOCAL_PATH)/media/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \
|
||||
$(LOCAL_PATH)/media/media_codecs_blair.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_blair.xml \
|
||||
$(LOCAL_PATH)/media/media_codecs_blair_lite.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_blair_lite.xml \
|
||||
$(LOCAL_PATH)/media/media_codecs_holi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_holi.xml \
|
||||
$(LOCAL_PATH)/media/media_codecs_performance.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance.xml \
|
||||
$(LOCAL_PATH)/media/media_codecs_performance_blair.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_blair.xml \
|
||||
$(LOCAL_PATH)/media/media_codecs_performance_blair_lite.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_blair_lite.xml \
|
||||
$(LOCAL_PATH)/media/media_codecs_performance_holi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_holi.xml \
|
||||
$(LOCAL_PATH)/media/media_profiles_holi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_vendor.xml
|
||||
|
||||
# NFC
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.nfc@1.2-service.st \
|
||||
android.hardware.secure_element@1.2.vendor \
|
||||
android.hardware.nfc-service.st \
|
||||
com.android.nfc_extras \
|
||||
nfc_nci.st21nfc.default \
|
||||
SecureElement \
|
||||
Tag
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/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
|
||||
|
||||
# OMX
|
||||
PRODUCT_PACKAGES += \
|
||||
libOmxAacEnc \
|
||||
libOmxAmrEnc \
|
||||
libOmxCore \
|
||||
libOmxEvrcEnc \
|
||||
libOmxG711Enc \
|
||||
libOmxQcelp13Enc \
|
||||
libstagefrighthw
|
||||
# Overlays
|
||||
$(call inherit-product, hardware/oplus/overlay/generic/generic.mk)
|
||||
$(call inherit-product, hardware/oplus/overlay/qssi/qssi.mk)
|
||||
|
||||
# OnePlus
|
||||
PRODUCT_PACKAGES += \
|
||||
oneplus-fwk
|
||||
DEVICE_PACKAGE_OVERLAYS += \
|
||||
$(LOCAL_PATH)/overlay-lineage
|
||||
|
||||
PRODUCT_BOOT_JARS += \
|
||||
oneplus-fwk
|
||||
PRODUCT_ENFORCE_RRO_TARGETS := *
|
||||
PRODUCT_PACKAGES += \
|
||||
CarrierConfigResCommon \
|
||||
FrameworksResTarget \
|
||||
OPlusFrameworksResTarget \
|
||||
OPlusSettingsProviderResTarget \
|
||||
OPlusSettingsResTarget \
|
||||
OPlusSystemUIResTarget \
|
||||
WifiResTarget
|
||||
|
||||
# Partitions
|
||||
PRODUCT_PACKAGES += \
|
||||
vendor_bt_firmware_mountpoint \
|
||||
vendor_dsp_mountpoint \
|
||||
vendor_firmware_mnt_mountpoint
|
||||
|
||||
PRODUCT_USE_DYNAMIC_PARTITIONS := true
|
||||
|
||||
# Perf
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/configs/task_profiles.json:$(TARGET_COPY_OUT_VENDOR)/etc/task_profiles.json
|
||||
|
||||
# Power
|
||||
PRODUCT_PACKAGES += \
|
||||
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
|
||||
android.hardware.power-service-qti
|
||||
|
||||
# QMI
|
||||
# QTI fwk-detect
|
||||
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
|
||||
libvndfwk_detect_jni.qti.vendor # Needed by CNE app
|
||||
|
||||
# Sensors
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.sensors@2.0-service.multihal \
|
||||
libsensorndkbridge
|
||||
|
||||
# Needed for sensors.ssc.so
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.audio@4.0.vendor
|
||||
android.hardware.sensors-service.multihal \
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.accelerometer.xml \
|
||||
|
@ -472,21 +289,39 @@ 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/oneplus
|
||||
hardware/oplus
|
||||
|
||||
# Storage
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk)
|
||||
|
||||
# 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
|
||||
|
||||
|
@ -499,13 +334,15 @@ 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@2.0-service.qti
|
||||
android.hardware.thermal-service.qti
|
||||
|
||||
# Touch
|
||||
PRODUCT_PACKAGES += \
|
||||
vendor.lineage.touch@1.0-service.oneplus
|
||||
vendor.lineage.touch@1.0-service.oplus
|
||||
|
||||
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
|
||||
|
@ -521,7 +358,10 @@ PRODUCT_PACKAGES_DEBUG += \
|
|||
|
||||
# USB
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.usb@1.3-service-qti
|
||||
android.hardware.usb-service.qti
|
||||
|
||||
PRODUCT_SOONG_NAMESPACES += \
|
||||
vendor/qcom/opensource/usb/etc
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml \
|
||||
|
@ -531,10 +371,6 @@ 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
|
||||
|
@ -546,35 +382,28 @@ PRODUCT_PACKAGES += \
|
|||
PRODUCT_COPY_FILES += \
|
||||
vendor/qcom/opensource/vibrator/excluded-input-devices.xml:$(TARGET_COPY_OUT_VENDOR)/etc/excluded-input-devices.xml
|
||||
|
||||
# Wi-Fi
|
||||
# WiFi
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.wifi@1.0-service \
|
||||
android.hardware.wifi-service \
|
||||
hostapd \
|
||||
libwpa_client \
|
||||
libwifi-hal-ctrl \
|
||||
libwifi-hal-qcom \
|
||||
wifi-mac-generator-dre \
|
||||
WifiResCommon \
|
||||
wpa_supplicant \
|
||||
wpa_supplicant.conf
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(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.aware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.aware.xml \
|
||||
frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml \
|
||||
frameworks/native/data/etc/android.hardware.wifi.passpoint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.passpoint.xml \
|
||||
frameworks/native/data/etc/android.hardware.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
|
||||
|
||||
# Wi-Fi Display
|
||||
# WiFi firmware symlinks
|
||||
PRODUCT_PACKAGES += \
|
||||
libnl \
|
||||
libwfdaac_vendor
|
||||
firmware_wlan_mac.bin_symlink \
|
||||
firmware_WCNSS_qcom_cfg.ini_symlink
|
||||
|
||||
PRODUCT_BOOT_JARS += \
|
||||
WfdCommon
|
||||
|
||||
PRODUCT_BUILD_SUPER_PARTITION := false
|
||||
PRODUCT_USE_DYNAMIC_PARTITIONS := true
|
||||
# Get non-open-source specific aspects
|
||||
$(call inherit-product, vendor/oneplus/dre/dre-vendor.mk)
|
||||
|
|
|
@ -1,218 +0,0 @@
|
|||
<compatibility-matrix version="2.0" type="framework">
|
||||
<hal format="aidl" optional="true">
|
||||
<name>vendor.aac.hardware.richtap.vibrator</name>
|
||||
<interface>
|
||||
<name>IRichtapVibrator</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>vendor.dolby.hardware.dms</name>
|
||||
<version>2.0</version>
|
||||
<interface>
|
||||
<name>IDms</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>vendor.goodix3626.hardware.biometrics.fingerprint</name>
|
||||
<version>2.1</version>
|
||||
<interface>
|
||||
<name>IGoodixFingerprintDaemon</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>vendor.nxp.eventprocessor</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>INxpEseEvtProcessor</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>vendor.nxp.hardware.nfc</name>
|
||||
<version>1.0-1</version>
|
||||
<version>2.0</version>
|
||||
<interface>
|
||||
<name>INqNfc</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>vendor.nxp.nxpese</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>INxpEse</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>vendor.nxp.nxpnfc</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>INxpNfc</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>vendor.nxp.nxpnfclegacy</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>INxpNfcLegacy</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="false">
|
||||
<name>vendor.oneplus.engnative.engineer</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IEngineer</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="false">
|
||||
<name>vendor.oneplus.faceunlock.hal</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IFaceUnlockNativeService</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="false">
|
||||
<name>vendor.oneplus.fingerprint.extension</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IVendorFingerprintExtensions</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>vendor.oneplus.hardware.CameraMDMHIDL</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IOnePlusCameraMDM</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>vendor.oneplus.hardware.camera</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IOnePlusCameraProvider</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>vendor.oneplus.hardware.cwb</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>ICwbService</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="false">
|
||||
<name>vendor.oneplus.hardware.display</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IOneplusDisplay</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="false">
|
||||
<name>vendor.oneplus.hardware.drmkey</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IOneplusDrmKey</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>vendor.oneplus.hardware.hdcpkey</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IOneplusHdcpKey</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>vendor.oneplus.hardware.hypnus</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IHypnusUtil</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="false">
|
||||
<name>vendor.oneplus.hardware.ifaa</name>
|
||||
<version>2.0</version>
|
||||
<interface>
|
||||
<name>IOneplusIfaa</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>vendor.oneplus.hardware.lmvibrator</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>ILinearMotorVibrator</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>vendor.oneplus.hardware.motorcontrol</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IOPMotorControl</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="false">
|
||||
<name>vendor.oneplus.hardware.param</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IOneplusParam</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="false">
|
||||
<name>vendor.oneplus.hardware.rpmb</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IOneplusRpmb</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="false">
|
||||
<name>vendor.oneplus.hardware.wifi</name>
|
||||
<version>1.1</version>
|
||||
<interface>
|
||||
<name>IOneplusWifi</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>vendor.pixelworks.hardware.display</name>
|
||||
<version>1.1</version>
|
||||
<interface>
|
||||
<name>IIris</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>vendor.pixelworks.hardware.feature</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IIrisFeature</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>vendor.rongcard.hardware.eid</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IEidDevice</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
</compatibility-matrix>
|
117
extract-files.py
Executable file
117
extract-files.py
Executable file
|
@ -0,0 +1,117 @@
|
|||
#!/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/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/bin/wfdservice': blob_fixup()
|
||||
.add_needed('libwfdservice_shim.so'),
|
||||
'system_ext/lib/libwfdmmsrc_system.so': blob_fixup()
|
||||
.add_needed('libgui_shim.so'),
|
||||
'system_ext/lib/libwfdservice.so': blob_fixup()
|
||||
.replace_needed('android.media.audio.common.types-V2-cpp.so', 'android.media.audio.common.types-V4-cpp.so'),
|
||||
'system_ext/lib64/libwfdnative.so': blob_fixup()
|
||||
.replace_needed('android.hidl.base@1.0.so', 'libhidlbase.so')
|
||||
.add_needed('libbinder_shim.so')
|
||||
.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_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/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/com.qti.chi.override.so': blob_fixup()
|
||||
.add_needed('libcamera_metadata_shim.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()
|
|
@ -1,72 +0,0 @@
|
|||
#!/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"
|
60
gps/flp.conf
60
gps/flp.conf
|
@ -1,60 +0,0 @@
|
|||
###################################
|
||||
##### 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
|
|
@ -1,134 +0,0 @@
|
|||
###################################
|
||||
##### 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
|
391
gps/gps.conf
391
gps/gps.conf
|
@ -1,391 +0,0 @@
|
|||
# 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
|
277
gps/izat.conf
277
gps/izat.conf
|
@ -1,277 +0,0 @@
|
|||
#########################################
|
||||
# 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
|
|
@ -1,27 +0,0 @@
|
|||
#*====*====*====*====*====*====*====*====*====*====*====*====*====*====*====*
|
||||
#
|
||||
# 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
|
||||
|
179
gps/sap.conf
179
gps/sap.conf
|
@ -1,179 +0,0 @@
|
|||
################################
|
||||
# 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
|
|
@ -1,78 +0,0 @@
|
|||
#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
|
|
@ -1,41 +0,0 @@
|
|||
//
|
||||
// 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: ["."],
|
||||
}
|
File diff suppressed because it is too large
Load diff
|
@ -1,193 +0,0 @@
|
|||
/*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
#ifndef __GPT_UTILS_H__
|
||||
#define __GPT_UTILS_H__
|
||||
#include <vector>
|
||||
#include <string>
|
||||
#include <map>
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
#include <unistd.h>
|
||||
#include <stdlib.h>
|
||||
/******************************************************************************
|
||||
* GPT HEADER DEFINES
|
||||
******************************************************************************/
|
||||
#define GPT_SIGNATURE "EFI PART"
|
||||
#define HEADER_SIZE_OFFSET 12
|
||||
#define HEADER_CRC_OFFSET 16
|
||||
#define PRIMARY_HEADER_OFFSET 24
|
||||
#define BACKUP_HEADER_OFFSET 32
|
||||
#define FIRST_USABLE_LBA_OFFSET 40
|
||||
#define LAST_USABLE_LBA_OFFSET 48
|
||||
#define PENTRIES_OFFSET 72
|
||||
#define PARTITION_COUNT_OFFSET 80
|
||||
#define PENTRY_SIZE_OFFSET 84
|
||||
#define PARTITION_CRC_OFFSET 88
|
||||
|
||||
#define TYPE_GUID_OFFSET 0
|
||||
#define TYPE_GUID_SIZE 16
|
||||
#define PTN_ENTRY_SIZE 128
|
||||
#define UNIQUE_GUID_OFFSET 16
|
||||
#define FIRST_LBA_OFFSET 32
|
||||
#define LAST_LBA_OFFSET 40
|
||||
#define ATTRIBUTE_FLAG_OFFSET 48
|
||||
#define PARTITION_NAME_OFFSET 56
|
||||
#define MAX_GPT_NAME_SIZE 72
|
||||
|
||||
/******************************************************************************
|
||||
* AB RELATED DEFINES
|
||||
******************************************************************************/
|
||||
//Bit 48 onwords in the attribute field are the ones where we are allowed to
|
||||
//store our AB attributes.
|
||||
#define AB_FLAG_OFFSET (ATTRIBUTE_FLAG_OFFSET + 6)
|
||||
#define GPT_DISK_INIT_MAGIC 0xABCD
|
||||
#define AB_PARTITION_ATTR_SLOT_ACTIVE (0x1<<2)
|
||||
#define AB_PARTITION_ATTR_BOOT_SUCCESSFUL (0x1<<6)
|
||||
#define AB_PARTITION_ATTR_UNBOOTABLE (0x1<<7)
|
||||
#define AB_SLOT_ACTIVE_VAL 0x3F
|
||||
#define AB_SLOT_INACTIVE_VAL 0x0
|
||||
#define AB_SLOT_ACTIVE 1
|
||||
#define AB_SLOT_INACTIVE 0
|
||||
#define AB_SLOT_A_SUFFIX "_a"
|
||||
#define AB_SLOT_B_SUFFIX "_b"
|
||||
#define PTN_XBL "xbl"
|
||||
#define PTN_XBL_CFG "xbl_config"
|
||||
#define PTN_SWAP_LIST PTN_XBL, PTN_XBL_CFG, "sbl1", "rpm", "tz", "aboot", "abl", "hyp", "lksecapp", "keymaster", "cmnlib", "cmnlib32", "cmnlib64", "pmic", "apdp", "devcfg", "hosd", "keystore", "msadp", "mdtp", "mdtpsecapp", "dsp", "aop", "qupfw", "vbmeta", "dtbo", "imagefv", "ImageFv", "multiimgoem", "multiimgqti", "uefisecapp", "vm-bootsys", "shrm", "cpucp"
|
||||
#define AB_PTN_LIST PTN_SWAP_LIST, "boot", "vendor_boot", "system", "vendor", "odm", "modem", "bluetooth"
|
||||
#define BOOT_DEV_DIR "/dev/block/bootdevice/by-name"
|
||||
|
||||
/******************************************************************************
|
||||
* HELPER MACROS
|
||||
******************************************************************************/
|
||||
#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
|
||||
/******************************************************************************
|
||||
* TYPES
|
||||
******************************************************************************/
|
||||
enum boot_update_stage {
|
||||
UPDATE_MAIN = 1,
|
||||
UPDATE_BACKUP,
|
||||
UPDATE_FINALIZE
|
||||
};
|
||||
|
||||
enum gpt_instance {
|
||||
PRIMARY_GPT = 0,
|
||||
SECONDARY_GPT
|
||||
};
|
||||
|
||||
enum boot_chain {
|
||||
NORMAL_BOOT = 0,
|
||||
BACKUP_BOOT
|
||||
};
|
||||
|
||||
struct gpt_disk {
|
||||
//GPT primary header
|
||||
uint8_t *hdr;
|
||||
//primary header crc
|
||||
uint32_t hdr_crc;
|
||||
//GPT backup header
|
||||
uint8_t *hdr_bak;
|
||||
//backup header crc
|
||||
uint32_t hdr_bak_crc;
|
||||
//Partition entries array
|
||||
uint8_t *pentry_arr;
|
||||
//Partition entries array for backup table
|
||||
uint8_t *pentry_arr_bak;
|
||||
//Size of the pentry array
|
||||
uint32_t pentry_arr_size;
|
||||
//Size of each element in the pentry array
|
||||
uint32_t pentry_size;
|
||||
//CRC of the partition entry array
|
||||
uint32_t pentry_arr_crc;
|
||||
//CRC of the backup partition entry array
|
||||
uint32_t pentry_arr_bak_crc;
|
||||
//Path to block dev representing the disk
|
||||
char devpath[PATH_MAX];
|
||||
//Block size of disk
|
||||
uint32_t block_size;
|
||||
uint32_t is_initialized;
|
||||
};
|
||||
|
||||
/******************************************************************************
|
||||
* FUNCTION PROTOTYPES
|
||||
******************************************************************************/
|
||||
int prepare_boot_update(enum boot_update_stage stage);
|
||||
//GPT disk methods
|
||||
struct gpt_disk* gpt_disk_alloc();
|
||||
//Free previously allocated gpt_disk struct
|
||||
void gpt_disk_free(struct gpt_disk *disk);
|
||||
//Get the details of the disk holding the partition whose name
|
||||
//is passed in via dev
|
||||
int gpt_disk_get_disk_info(const char *dev, struct gpt_disk *disk);
|
||||
|
||||
//Get pointer to partition entry from a allocated gpt_disk structure
|
||||
uint8_t* gpt_disk_get_pentry(struct gpt_disk *disk,
|
||||
const char *partname,
|
||||
enum gpt_instance instance);
|
||||
|
||||
//Update the crc fields of the modified disk structure
|
||||
int gpt_disk_update_crc(struct gpt_disk *disk);
|
||||
|
||||
//Write the contents of struct gpt_disk back to the actual disk
|
||||
int gpt_disk_commit(struct gpt_disk *disk);
|
||||
|
||||
//Return if the current device is UFS based or not
|
||||
int gpt_utils_is_ufs_device();
|
||||
|
||||
//Swtich betwieen using either the primary or the backup
|
||||
//boot LUN for boot. This is required since UFS boot partitions
|
||||
//cannot have a backup GPT which is what we use for failsafe
|
||||
//updates of the other 'critical' partitions. This function will
|
||||
//not be invoked for emmc targets and on UFS targets is only required
|
||||
//to be invoked for XBL.
|
||||
//
|
||||
//The algorithm to do this is as follows:
|
||||
//- Find the real block device(eg: /dev/block/sdb) that corresponds
|
||||
// to the /dev/block/bootdevice/by-name/xbl(bak) symlink
|
||||
//
|
||||
//- Once we have the block device 'node' name(sdb in the above example)
|
||||
// use this node to to locate the scsi generic device that represents
|
||||
// it by checking the file /sys/block/sdb/device/scsi_generic/sgY
|
||||
//
|
||||
//- Once we locate sgY we call the query ioctl on /dev/sgy to switch
|
||||
//the boot lun to either LUNA or LUNB
|
||||
int gpt_utils_set_xbl_boot_partition(enum boot_chain chain);
|
||||
|
||||
//Given a vector of partition names as a input and a reference to a map,
|
||||
//populate the map to indicate which physical disk each of the partitions
|
||||
//sits on. The key in the map is the path to the block device where the
|
||||
//partiton lies and the value is a vector of strings indicating which of
|
||||
//the passed in partiton names sits on that device.
|
||||
int gpt_utils_get_partition_map(std::vector<std::string>& partition_list,
|
||||
std::map<std::string,std::vector<std::string>>& partition_map);
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif /* __GPT_UTILS_H__ */
|
|
@ -1,255 +0,0 @@
|
|||
/*
|
||||
* Copyright (c) 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 LOG_TAG "recovery_ufs"
|
||||
|
||||
#include "recovery-ufs-bsg.h"
|
||||
|
||||
#ifndef _BSG_FRAMEWORK_KERNEL_HEADERS
|
||||
#ifndef _GENERIC_KERNEL_HEADERS
|
||||
#include <scsi/ufs/ioctl.h>
|
||||
#include <scsi/ufs/ufs.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
//Size of the buffer that needs to be passed to the UFS ioctl
|
||||
#define UFS_ATTR_DATA_SIZE 32
|
||||
|
||||
#ifdef _BSG_FRAMEWORK_KERNEL_HEADERS
|
||||
static int get_ufs_bsg_dev(void)
|
||||
{
|
||||
DIR *dir;
|
||||
struct dirent *ent;
|
||||
int ret = -ENODEV;
|
||||
|
||||
if ((dir = opendir ("/dev")) != NULL) {
|
||||
/* read all the files and directories within directory */
|
||||
while ((ent = readdir(dir)) != NULL) {
|
||||
if (!strcmp(ent->d_name, "ufs-bsg") ||
|
||||
!strcmp(ent->d_name, "ufs-bsg0")) {
|
||||
snprintf(ufs_bsg_dev, FNAME_SZ, "/dev/%s", ent->d_name);
|
||||
ret = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (ret)
|
||||
ALOGE("could not find the ufs-bsg dev\n");
|
||||
closedir (dir);
|
||||
} else {
|
||||
/* could not open directory */
|
||||
ALOGE("could not open /dev (error no: %d)\n", errno);
|
||||
ret = -EINVAL;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int ufs_bsg_dev_open(void)
|
||||
{
|
||||
int ret;
|
||||
if (!fd_ufs_bsg) {
|
||||
fd_ufs_bsg = open(ufs_bsg_dev, O_RDWR);
|
||||
ret = errno;
|
||||
if (fd_ufs_bsg < 0) {
|
||||
ALOGE("Unable to open %s (error no: %d)",
|
||||
ufs_bsg_dev, errno);
|
||||
fd_ufs_bsg = 0;
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void ufs_bsg_dev_close(void)
|
||||
{
|
||||
if (fd_ufs_bsg) {
|
||||
close(fd_ufs_bsg);
|
||||
fd_ufs_bsg = 0;
|
||||
}
|
||||
}
|
||||
|
||||
static int ufs_bsg_ioctl(int fd, struct ufs_bsg_request *req,
|
||||
struct ufs_bsg_reply *rsp, __u8 *buf, __u32 buf_len,
|
||||
enum bsg_ioctl_dir dir)
|
||||
{
|
||||
int ret;
|
||||
struct sg_io_v4 sg_io{};
|
||||
|
||||
sg_io.guard = 'Q';
|
||||
sg_io.protocol = BSG_PROTOCOL_SCSI;
|
||||
sg_io.subprotocol = BSG_SUB_PROTOCOL_SCSI_TRANSPORT;
|
||||
sg_io.request_len = sizeof(*req);
|
||||
sg_io.request = (__u64)req;
|
||||
sg_io.response = (__u64)rsp;
|
||||
sg_io.max_response_len = sizeof(*rsp);
|
||||
if (dir == BSG_IOCTL_DIR_FROM_DEV) {
|
||||
sg_io.din_xfer_len = buf_len;
|
||||
sg_io.din_xferp = (__u64)(buf);
|
||||
} else {
|
||||
sg_io.dout_xfer_len = buf_len;
|
||||
sg_io.dout_xferp = (__u64)(buf);
|
||||
}
|
||||
|
||||
ret = ioctl(fd, SG_IO, &sg_io);
|
||||
if (ret)
|
||||
ALOGE("%s: Error from sg_io ioctl (return value: %d, error no: %d, reply result from LLD: %d\n)",
|
||||
__func__, ret, errno, rsp->result);
|
||||
|
||||
if (sg_io.info || rsp->result) {
|
||||
ALOGE("%s: Error from sg_io info (check sg info: device_status: 0x%x, transport_status: 0x%x, driver_status: 0x%x, reply result from LLD: %d\n)",
|
||||
__func__, sg_io.device_status, sg_io.transport_status,
|
||||
sg_io.driver_status, rsp->result);
|
||||
ret = -EAGAIN;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static void compose_ufs_bsg_query_req(struct ufs_bsg_request *req, __u8 func,
|
||||
__u8 opcode, __u8 idn, __u8 index, __u8 sel,
|
||||
__u16 length)
|
||||
{
|
||||
struct utp_upiu_header *hdr = &req->upiu_req.header;
|
||||
struct utp_upiu_query *qr = &req->upiu_req.qr;
|
||||
|
||||
req->msgcode = UTP_UPIU_QUERY_REQ;
|
||||
hdr->dword_0 = DWORD(UTP_UPIU_QUERY_REQ, 0, 0, 0);
|
||||
hdr->dword_1 = DWORD(0, func, 0, 0);
|
||||
hdr->dword_2 = DWORD(0, 0, length >> 8, (__u8)length);
|
||||
qr->opcode = opcode;
|
||||
qr->idn = idn;
|
||||
qr->index = index;
|
||||
qr->selector = sel;
|
||||
qr->length = htobe16(length);
|
||||
}
|
||||
|
||||
|
||||
static int ufs_query_attr(int fd, __u32 value,
|
||||
__u8 func, __u8 opcode, __u8 idn,
|
||||
__u8 index, __u8 sel)
|
||||
{
|
||||
struct ufs_bsg_request req{};
|
||||
struct ufs_bsg_reply rsp{};
|
||||
enum bsg_ioctl_dir dir = BSG_IOCTL_DIR_FROM_DEV;
|
||||
int ret = 0;
|
||||
|
||||
if (opcode == QUERY_REQ_OP_WRITE_DESC || opcode == QUERY_REQ_OP_WRITE_ATTR)
|
||||
dir = BSG_IOCTL_DIR_TO_DEV;
|
||||
|
||||
req.upiu_req.qr.value = htobe32(value);
|
||||
|
||||
compose_ufs_bsg_query_req(&req, func, opcode, idn, index, sel, 0);
|
||||
|
||||
ret = ufs_bsg_ioctl(fd, &req, &rsp, 0, 0, dir);
|
||||
if (ret)
|
||||
ALOGE("%s: Error from ufs_bsg_ioctl (return value: %d, error no: %d\n)",
|
||||
__func__, ret, errno);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int32_t set_boot_lun(char *sg_dev __unused,uint8_t lun_id)
|
||||
{
|
||||
int32_t ret;
|
||||
__u32 boot_lun_id = lun_id;
|
||||
|
||||
ret = get_ufs_bsg_dev();
|
||||
if (ret)
|
||||
return ret;
|
||||
ALOGV("Found the ufs bsg dev: %s\n", ufs_bsg_dev);
|
||||
|
||||
ret = ufs_bsg_dev_open();
|
||||
if (ret)
|
||||
return ret;
|
||||
ALOGV("Opened ufs bsg dev: %s\n", ufs_bsg_dev);
|
||||
|
||||
ret = ufs_query_attr(fd_ufs_bsg, boot_lun_id, QUERY_REQ_FUNC_STD_WRITE,
|
||||
QUERY_REQ_OP_WRITE_ATTR, QUERY_ATTR_IDN_BOOT_LU_EN, 0, 0);
|
||||
if (ret) {
|
||||
ALOGE("Error requesting ufs attr idn %d via query ioctl (return value: %d, error no: %d)",
|
||||
QUERY_ATTR_IDN_BOOT_LU_EN, ret, errno);
|
||||
goto out;
|
||||
}
|
||||
out:
|
||||
ufs_bsg_dev_close();
|
||||
return ret;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef _BSG_FRAMEWORK_KERNEL_HEADERS
|
||||
int32_t set_boot_lun(char *sg_dev, uint8_t boot_lun_id)
|
||||
{
|
||||
#ifndef _GENERIC_KERNEL_HEADERS
|
||||
int fd = -1;
|
||||
int rc;
|
||||
struct ufs_ioctl_query_data *data = NULL;
|
||||
size_t ioctl_data_size = sizeof(struct ufs_ioctl_query_data) + UFS_ATTR_DATA_SIZE;
|
||||
|
||||
data = (struct ufs_ioctl_query_data*)malloc(ioctl_data_size);
|
||||
if (!data) {
|
||||
fprintf(stderr, "%s: Failed to alloc query data struct\n",
|
||||
__func__);
|
||||
goto error;
|
||||
}
|
||||
memset(data, 0, ioctl_data_size);
|
||||
data->opcode = UPIU_QUERY_OPCODE_WRITE_ATTR;
|
||||
data->idn = QUERY_ATTR_IDN_BOOT_LU_EN;
|
||||
data->buf_size = UFS_ATTR_DATA_SIZE;
|
||||
data->buffer[0] = boot_lun_id;
|
||||
fd = open(sg_dev, O_RDWR);
|
||||
if (fd < 0) {
|
||||
fprintf(stderr, "%s: Failed to open %s(%s)\n",
|
||||
__func__,
|
||||
sg_dev,
|
||||
strerror(errno));
|
||||
goto error;
|
||||
}
|
||||
rc = ioctl(fd, UFS_IOCTL_QUERY, data);
|
||||
if (rc) {
|
||||
fprintf(stderr, "%s: UFS query ioctl failed(%s)\n",
|
||||
__func__,
|
||||
strerror(errno));
|
||||
goto error;
|
||||
}
|
||||
close(fd);
|
||||
free(data);
|
||||
return 0;
|
||||
error:
|
||||
if (fd >= 0)
|
||||
close(fd);
|
||||
if (data)
|
||||
free(data);
|
||||
return -1;
|
||||
#else
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
|
@ -1,131 +0,0 @@
|
|||
#ifndef __RECOVERY_UFS_BSG_H__
|
||||
#define __RECOVERY_UFS_BSG_H__
|
||||
|
||||
/*
|
||||
* Copyright (c) 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.
|
||||
*/
|
||||
|
||||
|
||||
#include <linux/bsg.h>
|
||||
#include <scsi/scsi_bsg_ufs.h>
|
||||
#include <endian.h>
|
||||
#include <dirent.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <sys/ioctl.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <unistd.h>
|
||||
#include <fcntl.h>
|
||||
#include <errno.h>
|
||||
|
||||
#ifdef ANDROID
|
||||
#include "cutils/log.h"
|
||||
#endif
|
||||
|
||||
#ifdef OE
|
||||
#include <syslog.h>
|
||||
#define LOGI(...) syslog(LOG_NOTICE, "INFO:" __VA_ARGS__)
|
||||
#define LOGV(...) syslog(LOG_NOTICE,"VERB:" __VA_ARGS__)
|
||||
#define LOGD(...) syslog(LOG_DEBUG,"DBG:" __VA_ARGS__)
|
||||
#define LOGE(...) syslog(LOG_ERR,"ERR:" __VA_ARGS__)
|
||||
#define LOGW(...) syslog(LOG_WARNING,"WRN:" __VA_ARGS__)
|
||||
#define strlcat(d,s,l) snprintf(d+strlen(d),l,"%s",s)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#define FNAME_SZ 64
|
||||
|
||||
#define SG_IO 0x2285
|
||||
|
||||
#define DWORD(b3, b2, b1, b0) htobe32((b3 << 24) | (b2 << 16) |\
|
||||
(b1 << 8) | b0)
|
||||
|
||||
/* UFS BSG device nodes */
|
||||
char ufs_bsg_dev[FNAME_SZ] = "/dev/ufs-bsg";
|
||||
|
||||
int fd_ufs_bsg;
|
||||
|
||||
int32_t set_ufs_lun(uint8_t lun_id);
|
||||
|
||||
#ifdef _BSG_FRAMEWORK_KERNEL_HEADERS
|
||||
/* UPIU Transaction Codes */
|
||||
enum {
|
||||
UTP_UPIU_NOP_OUT = 0x00,
|
||||
UTP_UPIU_COMMAND = 0x01,
|
||||
UTP_UPIU_DATA_OUT = 0x02,
|
||||
UTP_UPIU_TASK_REQ = 0x04,
|
||||
UTP_UPIU_QUERY_REQ = 0x16,
|
||||
};
|
||||
|
||||
/* UPIU Query Function field */
|
||||
enum {
|
||||
QUERY_REQ_FUNC_STD_READ = 0x01,
|
||||
QUERY_REQ_FUNC_STD_WRITE = 0x81,
|
||||
};
|
||||
|
||||
enum query_req_opcode {
|
||||
QUERY_REQ_OP_READ_DESC = 0x1,
|
||||
QUERY_REQ_OP_WRITE_DESC = 0x2,
|
||||
QUERY_REQ_OP_READ_ATTR = 0x3,
|
||||
QUERY_REQ_OP_WRITE_ATTR = 0x4,
|
||||
QUERY_REQ_OP_READ_FLAG = 0x5,
|
||||
QUERY_REQ_OP_SET_FLAG = 0x6,
|
||||
QUERY_REQ_OP_CLEAR_FLAG = 0x7,
|
||||
QUERY_REQ_OP_TOGGLE_FLAG = 0x8,
|
||||
};
|
||||
|
||||
enum query_desc_idn {
|
||||
QUERY_DESC_IDN_DEVICE = 0x0,
|
||||
QUERY_DESC_IDN_UNIT = 0x2,
|
||||
QUERY_DESC_IDN_GEOMETRY = 0x7,
|
||||
};
|
||||
|
||||
enum query_desc_size {
|
||||
QUERY_DESC_SIZE_DEVICE = 0x40,
|
||||
QUERY_DESC_SIZE_GEOMETRY = 0x48,
|
||||
QUERY_DESC_SIZE_UNIT = 0x23,
|
||||
};
|
||||
|
||||
enum bsg_ioctl_dir {
|
||||
BSG_IOCTL_DIR_TO_DEV,
|
||||
BSG_IOCTL_DIR_FROM_DEV,
|
||||
};
|
||||
|
||||
enum query_attr_idn {
|
||||
QUERY_ATTR_IDN_BOOT_LU_EN = 0x00,
|
||||
QUERY_ATTR_IDN_RESERVED = 0x01,
|
||||
QUERY_ATTR_IDN_POWER_MODE = 0x02,
|
||||
QUERY_ATTR_IDN_ACTIVE_ICC_LVL = 0x03,
|
||||
};
|
||||
#endif /* _BSG_FRAMEWORK_KERNEL_HEADERS */
|
||||
|
||||
#endif /* __RECOVERY_UFS_BSG_H__ */
|
|
@ -1,97 +0,0 @@
|
|||
/*-
|
||||
* COPYRIGHT (C) 1986 Gary S. Brown. You may use this program, or
|
||||
* code or tables extracted from it, as desired without restriction.
|
||||
*/
|
||||
|
||||
/*
|
||||
* First, the polynomial itself and its table of feedback terms. The
|
||||
* polynomial is
|
||||
* X^32+X^26+X^23+X^22+X^16+X^12+X^11+X^10+X^8+X^7+X^5+X^4+X^2+X^1+X^0
|
||||
*
|
||||
* Note that we take it "backwards" and put the highest-order term in
|
||||
* the lowest-order bit. The X^32 term is "implied"; the LSB is the
|
||||
* X^31 term, etc. The X^0 term (usually shown as "+1") results in
|
||||
* the MSB being 1
|
||||
*
|
||||
* Note that the usual hardware shift register implementation, which
|
||||
* is what we're using (we're merely optimizing it by doing eight-bit
|
||||
* chunks at a time) shifts bits into the lowest-order term. In our
|
||||
* implementation, that means shifting towards the right. Why do we
|
||||
* do it this way? Because the calculated CRC must be transmitted in
|
||||
* order from highest-order term to lowest-order term. UARTs transmit
|
||||
* characters in order from LSB to MSB. By storing the CRC this way
|
||||
* we hand it to the UART in the order low-byte to high-byte; the UART
|
||||
* sends each low-bit to hight-bit; and the result is transmission bit
|
||||
* by bit from highest- to lowest-order term without requiring any bit
|
||||
* shuffling on our part. Reception works similarly
|
||||
*
|
||||
* The feedback terms table consists of 256, 32-bit entries. Notes
|
||||
*
|
||||
* The table can be generated at runtime if desired; code to do so
|
||||
* is shown later. It might not be obvious, but the feedback
|
||||
* terms simply represent the results of eight shift/xor opera
|
||||
* tions for all combinations of data and CRC register values
|
||||
*
|
||||
* The values must be right-shifted by eight bits by the "updcrc
|
||||
* logic; the shift must be unsigned (bring in zeroes). On some
|
||||
* hardware you could probably optimize the shift in assembler by
|
||||
* using byte-swap instructions
|
||||
* polynomial $edb88320
|
||||
*
|
||||
*
|
||||
* CRC32 code derived from work by Gary S. Brown.
|
||||
*/
|
||||
|
||||
/* Code taken from FreeBSD 8 */
|
||||
#include <stdint.h>
|
||||
#include <stdio.h>
|
||||
|
||||
static uint32_t crc32_tab[] = {
|
||||
0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419, 0x706af48f, 0xe963a535, 0x9e6495a3,
|
||||
0x0edb8832, 0x79dcb8a4, 0xe0d5e91e, 0x97d2d988, 0x09b64c2b, 0x7eb17cbd, 0xe7b82d07, 0x90bf1d91,
|
||||
0x1db71064, 0x6ab020f2, 0xf3b97148, 0x84be41de, 0x1adad47d, 0x6ddde4eb, 0xf4d4b551, 0x83d385c7,
|
||||
0x136c9856, 0x646ba8c0, 0xfd62f97a, 0x8a65c9ec, 0x14015c4f, 0x63066cd9, 0xfa0f3d63, 0x8d080df5,
|
||||
0x3b6e20c8, 0x4c69105e, 0xd56041e4, 0xa2677172, 0x3c03e4d1, 0x4b04d447, 0xd20d85fd, 0xa50ab56b,
|
||||
0x35b5a8fa, 0x42b2986c, 0xdbbbc9d6, 0xacbcf940, 0x32d86ce3, 0x45df5c75, 0xdcd60dcf, 0xabd13d59,
|
||||
0x26d930ac, 0x51de003a, 0xc8d75180, 0xbfd06116, 0x21b4f4b5, 0x56b3c423, 0xcfba9599, 0xb8bda50f,
|
||||
0x2802b89e, 0x5f058808, 0xc60cd9b2, 0xb10be924, 0x2f6f7c87, 0x58684c11, 0xc1611dab, 0xb6662d3d,
|
||||
0x76dc4190, 0x01db7106, 0x98d220bc, 0xefd5102a, 0x71b18589, 0x06b6b51f, 0x9fbfe4a5, 0xe8b8d433,
|
||||
0x7807c9a2, 0x0f00f934, 0x9609a88e, 0xe10e9818, 0x7f6a0dbb, 0x086d3d2d, 0x91646c97, 0xe6635c01,
|
||||
0x6b6b51f4, 0x1c6c6162, 0x856530d8, 0xf262004e, 0x6c0695ed, 0x1b01a57b, 0x8208f4c1, 0xf50fc457,
|
||||
0x65b0d9c6, 0x12b7e950, 0x8bbeb8ea, 0xfcb9887c, 0x62dd1ddf, 0x15da2d49, 0x8cd37cf3, 0xfbd44c65,
|
||||
0x4db26158, 0x3ab551ce, 0xa3bc0074, 0xd4bb30e2, 0x4adfa541, 0x3dd895d7, 0xa4d1c46d, 0xd3d6f4fb,
|
||||
0x4369e96a, 0x346ed9fc, 0xad678846, 0xda60b8d0, 0x44042d73, 0x33031de5, 0xaa0a4c5f, 0xdd0d7cc9,
|
||||
0x5005713c, 0x270241aa, 0xbe0b1010, 0xc90c2086, 0x5768b525, 0x206f85b3, 0xb966d409, 0xce61e49f,
|
||||
0x5edef90e, 0x29d9c998, 0xb0d09822, 0xc7d7a8b4, 0x59b33d17, 0x2eb40d81, 0xb7bd5c3b, 0xc0ba6cad,
|
||||
0xedb88320, 0x9abfb3b6, 0x03b6e20c, 0x74b1d29a, 0xead54739, 0x9dd277af, 0x04db2615, 0x73dc1683,
|
||||
0xe3630b12, 0x94643b84, 0x0d6d6a3e, 0x7a6a5aa8, 0xe40ecf0b, 0x9309ff9d, 0x0a00ae27, 0x7d079eb1,
|
||||
0xf00f9344, 0x8708a3d2, 0x1e01f268, 0x6906c2fe, 0xf762575d, 0x806567cb, 0x196c3671, 0x6e6b06e7,
|
||||
0xfed41b76, 0x89d32be0, 0x10da7a5a, 0x67dd4acc, 0xf9b9df6f, 0x8ebeeff9, 0x17b7be43, 0x60b08ed5,
|
||||
0xd6d6a3e8, 0xa1d1937e, 0x38d8c2c4, 0x4fdff252, 0xd1bb67f1, 0xa6bc5767, 0x3fb506dd, 0x48b2364b,
|
||||
0xd80d2bda, 0xaf0a1b4c, 0x36034af6, 0x41047a60, 0xdf60efc3, 0xa867df55, 0x316e8eef, 0x4669be79,
|
||||
0xcb61b38c, 0xbc66831a, 0x256fd2a0, 0x5268e236, 0xcc0c7795, 0xbb0b4703, 0x220216b9, 0x5505262f,
|
||||
0xc5ba3bbe, 0xb2bd0b28, 0x2bb45a92, 0x5cb36a04, 0xc2d7ffa7, 0xb5d0cf31, 0x2cd99e8b, 0x5bdeae1d,
|
||||
0x9b64c2b0, 0xec63f226, 0x756aa39c, 0x026d930a, 0x9c0906a9, 0xeb0e363f, 0x72076785, 0x05005713,
|
||||
0x95bf4a82, 0xe2b87a14, 0x7bb12bae, 0x0cb61b38, 0x92d28e9b, 0xe5d5be0d, 0x7cdcefb7, 0x0bdbdf21,
|
||||
0x86d3d2d4, 0xf1d4e242, 0x68ddb3f8, 0x1fda836e, 0x81be16cd, 0xf6b9265b, 0x6fb077e1, 0x18b74777,
|
||||
0x88085ae6, 0xff0f6a70, 0x66063bca, 0x11010b5c, 0x8f659eff, 0xf862ae69, 0x616bffd3, 0x166ccf45,
|
||||
0xa00ae278, 0xd70dd2ee, 0x4e048354, 0x3903b3c2, 0xa7672661, 0xd06016f7, 0x4969474d, 0x3e6e77db,
|
||||
0xaed16a4a, 0xd9d65adc, 0x40df0b66, 0x37d83bf0, 0xa9bcae53, 0xdebb9ec5, 0x47b2cf7f, 0x30b5ffe9,
|
||||
0xbdbdf21c, 0xcabac28a, 0x53b39330, 0x24b4a3a6, 0xbad03605, 0xcdd70693, 0x54de5729, 0x23d967bf,
|
||||
0xb3667a2e, 0xc4614ab8, 0x5d681b02, 0x2a6f2b94, 0xb40bbe37, 0xc30c8ea1, 0x5a05df1b, 0x2d02ef8d};
|
||||
|
||||
/*
|
||||
* A function that calculates the CRC-32 based on the table above is
|
||||
* given below for documentation purposes. An equivalent implementation
|
||||
* of this function that's actually used in the kernel can be found
|
||||
* in sys/libkern.h, where it can be inlined.
|
||||
*/
|
||||
|
||||
uint32_t sparse_crc32(uint32_t crc_in, const void* buf, size_t size) {
|
||||
const uint8_t* p = reinterpret_cast<const uint8_t*>(buf);
|
||||
uint32_t crc;
|
||||
|
||||
crc = crc_in ^ ~0U;
|
||||
while (size--) crc = crc32_tab[(crc ^ *p++) & 0xFF] ^ (crc >> 8);
|
||||
return crc ^ ~0U;
|
||||
}
|
|
@ -1,24 +0,0 @@
|
|||
/*
|
||||
* Copyright (C) 2010 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.
|
||||
*/
|
||||
|
||||
#ifndef _LIBSPARSE_SPARSE_CRC32_H_
|
||||
#define _LIBSPARSE_SPARSE_CRC32_H_
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
uint32_t sparse_crc32(uint32_t crc, const void* buf, size_t size);
|
||||
|
||||
#endif
|
78
init/Android.bp
Normal file
78
init/Android.bp
Normal file
|
@ -0,0 +1,78 @@
|
|||
//
|
||||
// Copyright (C) 2022 The LineageOS Project
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
//
|
||||
|
||||
cc_library_static {
|
||||
name: "libinit_oplus",
|
||||
recovery_available: true,
|
||||
shared_libs: ["libbase"],
|
||||
srcs: ["init_oplus.cpp"],
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "fstab.qcom",
|
||||
src: "fstab.qcom",
|
||||
vendor: true,
|
||||
vendor_ramdisk_available: true,
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "init.oplus.rc",
|
||||
src: "init.oplus.rc",
|
||||
sub_dir: "init",
|
||||
device_specific: true,
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "init.qcom.rc",
|
||||
src: "init.qcom.rc",
|
||||
sub_dir: "init/hw",
|
||||
vendor: true,
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "init.qcom.recovery.rc",
|
||||
src: "init.qcom.recovery.rc",
|
||||
sub_dir: "init",
|
||||
recovery: true,
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "init.target.rc",
|
||||
src: "init.target.rc",
|
||||
sub_dir: "init/hw",
|
||||
vendor: true,
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "ueventd.oplus.rc",
|
||||
filename: "ueventd.rc",
|
||||
src: "ueventd.oplus.rc",
|
||||
device_specific: true,
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "ueventd.qcom.rc",
|
||||
filename: "ueventd.rc",
|
||||
src: "ueventd.qcom.rc",
|
||||
vendor: true,
|
||||
}
|
||||
|
||||
sh_binary {
|
||||
name: "init.class_main.sh",
|
||||
src: "init.class_main.sh",
|
||||
vendor: true,
|
||||
}
|
||||
|
||||
sh_binary {
|
||||
name: "init.qcom.early_boot.sh",
|
||||
src: "init.qcom.early_boot.sh",
|
||||
vendor: true,
|
||||
}
|
||||
|
||||
sh_binary {
|
||||
name: "init.qcom.sh",
|
||||
src: "init.qcom.sh",
|
||||
vendor: true,
|
||||
}
|
|
@ -38,15 +38,14 @@
|
|||
system /system ext4 ro,barrier=1,discard wait,slotselect,avb=vbmeta_system,logical,first_stage_mount,avb_keys=/avb/q-gsi.avbpubkey:/avb/r-gsi.avbpubkey:/avb/s-gsi.avbpubkey
|
||||
system_ext /system_ext ext4 ro,barrier=1,discard wait,slotselect,avb=vbmeta_system,logical,first_stage_mount
|
||||
product /product ext4 ro,barrier=1,discard wait,slotselect,avb=vbmeta_system,logical,first_stage_mount
|
||||
vendor /vendor ext4 ro,barrier=1,discard wait,slotselect,avb,logical,first_stage_mount
|
||||
vendor_dlkm /vendor_dlkm ext4 ro,barrier=1,discard wait,slotselect,avb,logical,first_stage_mount
|
||||
odm /odm ext4 ro,barrier=1,discard wait,slotselect,avb,logical,first_stage_mount
|
||||
/dev/block/bootdevice/by-name/opluslog /mnt/vendor/op2 ext4 noatime,nosuid,nodev,barrier=1,data=ordered wait,check
|
||||
/dev/block/by-name/metadata /metadata ext4 noatime,nosuid,nodev,discard wait,check,formattable,first_stage_mount
|
||||
vendor /vendor erofs ro wait,slotselect,avb,logical,first_stage_mount
|
||||
vendor_dlkm /vendor_dlkm erofs ro wait,slotselect,avb,logical,first_stage_mount
|
||||
odm /odm erofs ro wait,slotselect,avb,logical,first_stage_mount
|
||||
/dev/block/by-name/metadata /metadata ext4 noatime,nosuid,nodev,discard,data=journal,commit=1 wait,check,formattable,first_stage_mount
|
||||
/dev/block/bootdevice/by-name/persist /mnt/vendor/persist ext4 noatime,nosuid,nodev,barrier=1 wait
|
||||
/dev/block/bootdevice/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,inlinecrypt,reserve_root=32768,resgid=1065,fsync_mode=nobarrier latemount,wait,check,formattable,fileencryption=aes-256-xts:aes-256-cts:v2+inlinecrypt_optimized+wrappedkey_v0,keydirectory=/metadata/vold/metadata_encryption,metadata_encryption=aes-256-xts:wrappedkey_v0,quota,reservedsize=128M,checkpoint=fs
|
||||
/dev/block/bootdevice/by-name/misc /misc emmc defaults defaults
|
||||
/devices/platform/soc/4784000.sdhci/mmc_host* /storage/sdcard1 vfat nosuid,nodev wait,voldmanaged=sdcard1:auto
|
||||
/devices/platform/soc/4784000.sdhci/mmc_host* /storage/sdcard1 auto nosuid,nodev wait,voldmanaged=sdcard1:auto
|
||||
/devices/platform/soc/*.ssusb/*.dwc3/xhci-hcd.*.auto* /storage/usbotg vfat nosuid,nodev wait,voldmanaged=usbotg:auto
|
||||
/dev/block/bootdevice/by-name/modem /vendor/firmware_mnt vfat ro,shortname=lower,uid=1000,gid=1000,dmask=227,fmask=337,context=u:object_r:firmware_file:s0 wait,slotselect
|
||||
/dev/block/bootdevice/by-name/dsp /vendor/dsp ext4 ro,nosuid,nodev,barrier=1 wait,slotselect
|
111
init/init.oplus.rc
Normal file
111
init/init.oplus.rc
Normal file
|
@ -0,0 +1,111 @@
|
|||
#
|
||||
# Copyright (C) 2022 The LineageOS Project
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
on fs
|
||||
# Update touchpanel firmware in case we ship newer firmware in /odm
|
||||
write /proc/touchpanel/tp_fw_update 0
|
||||
|
||||
on early-boot
|
||||
# SSR
|
||||
write /sys/bus/msm_subsys/devices/subsys0/restart_level RELATED
|
||||
write /sys/bus/msm_subsys/devices/subsys1/restart_level RELATED
|
||||
write /sys/bus/msm_subsys/devices/subsys2/restart_level RELATED
|
||||
write /sys/bus/msm_subsys/devices/subsys3/restart_level RELATED
|
||||
write /sys/bus/msm_subsys/devices/subsys4/restart_level RELATED
|
||||
write /sys/bus/msm_subsys/devices/subsys5/restart_level RELATED
|
||||
write /sys/bus/msm_subsys/devices/subsys6/restart_level RELATED
|
||||
write /sys/bus/msm_subsys/devices/subsys7/restart_level RELATED
|
||||
write /sys/bus/msm_subsys/devices/subsys8/restart_level RELATED
|
||||
write /sys/bus/msm_subsys/devices/subsys9/restart_level RELATED
|
||||
write /sys/bus/msm_subsys/devices/subsys10/restart_level RELATED
|
||||
write /sys/bus/msm_subsys/devices/subsys11/restart_level RELATED
|
||||
|
||||
on boot
|
||||
# Display
|
||||
chown system system /dev/oplus_display
|
||||
chown system system /sys/kernel/oplus_display/dimlayer_bl_en
|
||||
chown system system /sys/kernel/oplus_display/dynamic_osc_clock
|
||||
chown system system /sys/kernel/oplus_display/hbm
|
||||
chown system system /sys/kernel/oplus_display/notify_fppress
|
||||
chown system system /sys/kernel/oplus_display/panel_serial_number
|
||||
|
||||
# Sensors
|
||||
chown system system /sys/devices/platform/soc/soc:sensor_fb/adsp_notify
|
||||
|
||||
on property:ro.boot.prjname=*
|
||||
# Display
|
||||
setprop ro.separate.soft ${ro.boot.prjname}
|
||||
|
||||
on property:sys.boot_completed=1
|
||||
# Display
|
||||
copy /vendor/etc/Oppo_QC_LTM_Commercial_SM8250_2020_01_15.pfm /mnt/vendor/persist/data/pfm/licenses/1000-1000-no-exp-1186717196.pfm
|
||||
chmod 0600 /mnt/vendor/persist/data/pfm/licenses/1000-1000-no-exp-1186717196.pfm
|
||||
chown system system /mnt/vendor/persist/data/pfm/licenses/1000-1000-no-exp-1186717196.pfm
|
||||
|
||||
on property:vendor.post_boot.parsed=1
|
||||
# IRQ Tuning
|
||||
# IRQ 243: msm_drm
|
||||
# IRQ 240: kgsl_3d0_irq
|
||||
write /proc/irq/243/smp_affinity_list 2
|
||||
write /proc/irq/240/smp_affinity_list 1
|
||||
|
||||
on property:sys.usb.config=adb && property:sys.usb.configfs=1
|
||||
write /config/usb_gadget/g1/idVendor 0x22D9
|
||||
write /config/usb_gadget/g1/idProduct 0x2769
|
||||
|
||||
on property:sys.usb.config=mass_storage && property:sys.usb.configfs=1
|
||||
write /config/usb_gadget/g1/idVendor 0x22D9
|
||||
write /config/usb_gadget/g1/idProduct 0x2768
|
||||
|
||||
on property:sys.usb.config=mtp && property:sys.usb.configfs=1
|
||||
write /config/usb_gadget/g1/idVendor 0x22D9
|
||||
write /config/usb_gadget/g1/idProduct 0x2764
|
||||
|
||||
on property:sys.usb.config=mtp,adb && property:sys.usb.configfs=1
|
||||
write /config/usb_gadget/g1/idVendor 0x22D9
|
||||
write /config/usb_gadget/g1/idProduct 0x2765
|
||||
|
||||
on property:sys.usb.config=ptp && property:sys.usb.configfs=1
|
||||
write /config/usb_gadget/g1/idVendor 0x22D9
|
||||
write /config/usb_gadget/g1/idProduct 0x2771
|
||||
|
||||
on property:sys.usb.config=ptp,adb && property:sys.usb.configfs=1
|
||||
write /config/usb_gadget/g1/idVendor 0x22D9
|
||||
write /config/usb_gadget/g1/idProduct 0x2772
|
||||
|
||||
on property:sys.usb.config=rndis,none && property:sys.usb.configfs=1
|
||||
write /config/usb_gadget/g1/idVendor 0x22D9
|
||||
write /config/usb_gadget/g1/idProduct 0x276A
|
||||
|
||||
on property:sys.usb.config=rndis,serial_cdev,diag && property:sys.usb.configfs=1
|
||||
write /config/usb_gadget/g1/idVendor 0x22D9
|
||||
write /config/usb_gadget/g1/idProduct 0x2783
|
||||
|
||||
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,adb && property:sys.usb.configfs=1
|
||||
write /config/usb_gadget/g1/idVendor 0x22D9
|
||||
write /config/usb_gadget/g1/idProduct 0x276C
|
||||
|
||||
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,diag_mdm,adb && property:sys.usb.configfs=1
|
||||
write /config/usb_gadget/g1/idVendor 0x22D9
|
||||
write /config/usb_gadget/g1/idProduct 0x276E
|
||||
|
||||
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=mass_storage,adb && property:sys.usb.configfs=1
|
||||
write /config/usb_gadget/g1/idVendor 0x22D9
|
||||
write /config/usb_gadget/g1/idProduct 0x2767
|
||||
|
||||
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=rndis,diag,adb && property:sys.usb.configfs=1
|
||||
write /config/usb_gadget/g1/idVendor 0x22D9
|
||||
write /config/usb_gadget/g1/idProduct 0x2775
|
||||
|
||||
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=rndis,none,adb && property:sys.usb.configfs=1
|
||||
write /config/usb_gadget/g1/idVendor 0x22D9
|
||||
write /config/usb_gadget/g1/idProduct 0x2766
|
||||
|
||||
service oplus_sensor_fb /odm/bin/oplus_sensor_fb
|
||||
user system
|
||||
group system
|
||||
class late_start
|
||||
oneshot
|
|
@ -1,6 +1,6 @@
|
|||
#! /vendor/bin/sh
|
||||
|
||||
# Copyright (c) 2012-2013,2016,2018-2020 The Linux Foundation. All rights reserved.
|
||||
# Copyright (c) 2012-2013,2016,2018-2021 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:
|
||||
|
@ -255,6 +255,9 @@ case "$target" in
|
|||
# 196610 is decimal for 0x30002 to report version 3.2
|
||||
case "$soc_hwid" in
|
||||
294|295|296|297|298|313|353|354|363|364)
|
||||
# Disable adsprpcd_sensorspd daemon
|
||||
setprop vendor.fastrpc.disable.adsprpcd_sensorspd.daemon 1
|
||||
|
||||
setprop vendor.opengles.version 196610
|
||||
if [ $soc_hwid = 354 ]
|
||||
then
|
||||
|
@ -267,6 +270,8 @@ case "$target" in
|
|||
setprop vendor.opengles.version 196608
|
||||
setprop persist.graphics.vulkan.disable true
|
||||
setprop vendor.gralloc.disable_ahardware_buffer 1
|
||||
# Disable adsprpcd_sensorspd daemon
|
||||
setprop vendor.fastrpc.disable.adsprpcd_sensorspd.daemon 1
|
||||
;;
|
||||
*)
|
||||
setprop vendor.opengles.version 196608
|
||||
|
@ -365,9 +370,7 @@ case "$target" in
|
|||
setprop vendor.display.enhance_idle_time 1
|
||||
setprop vendor.netflix.bsp_rev ""
|
||||
;;
|
||||
*)
|
||||
# default case is for bengal
|
||||
setprop vendor.netflix.bsp_rev "Q6115-31409-1"
|
||||
518)
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
|
@ -420,15 +423,23 @@ case "$target" in
|
|||
setprop vendor.media.target_variant "_holi"
|
||||
;;
|
||||
esac
|
||||
case "$target" in
|
||||
"msm8937")
|
||||
case "$soc_hwid" in
|
||||
386|354|353|303)
|
||||
# enable qrtr-ns service for kernel 4.14 or above
|
||||
KernelVersionStr=`cat /proc/sys/kernel/osrelease`
|
||||
KernelVersionS=${KernelVersionStr:2:2}
|
||||
KernelVersionA=${KernelVersionStr:0:1}
|
||||
KernelVersionB=${KernelVersionS%.*}
|
||||
|
||||
baseband=`getprop ro.baseband`
|
||||
#enable atfwd daemon all targets except sda, apq, qcs
|
||||
case "$baseband" in
|
||||
"apq" | "sda" | "qcs" )
|
||||
setprop persist.vendor.radio.atfwd.start false;;
|
||||
*)
|
||||
setprop persist.vendor.radio.atfwd.start true;;
|
||||
esac
|
||||
if [ $KernelVersionA -ge 4 ] && [ $KernelVersionB -ge 14 ]; then
|
||||
setprop init.svc.vendor.qrtrns.enable 1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
|
||||
#set default lcd density
|
||||
#Since lcd density has read only
|
||||
|
@ -473,6 +484,14 @@ case "$product" in
|
|||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
case "$product" in
|
||||
"msmnile_gvmgh")
|
||||
setprop vendor.display.lcd_density 160
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
# Setup display nodes & permissions
|
||||
# HDMI can be fb1 or fb2
|
||||
# Loop through the sysfs nodes and determine
|
|
@ -25,21 +25,11 @@
|
|||
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
#ifdef VENDOR_EDIT
|
||||
import /vendor/etc/init/hw/init.oem.rc
|
||||
import /vendor/etc/init/hw/init.oem.debug.rc
|
||||
#endif VENDOR_EDIT
|
||||
|
||||
#ifdef VENDOR_EDIT
|
||||
import /vendor/etc/init/hw/init.oem.entry.rc
|
||||
#endif VENDOR_EDIT
|
||||
|
||||
import /vendor/etc/init/hw/init.qti.ufs.rc
|
||||
import /vendor/etc/init/hw/init.qcom.usb.rc
|
||||
import /vendor/etc/init/hw/init.qcom.test.rc
|
||||
import /vendor/etc/init/hw/init.target.rc
|
||||
import /vendor/etc/init/hw/init.qcom.factory.rc
|
||||
import /vendor/etc/init/hw/init.oem.rc
|
||||
|
||||
on early-init
|
||||
mount debugfs debugfs /sys/kernel/debug
|
||||
|
@ -85,14 +75,15 @@ on init
|
|||
write /sys/fs/cgroup/memory/bg/memory.swappiness 140
|
||||
write /sys/fs/cgroup/memory/bg/memory.move_charge_at_immigrate 1
|
||||
chown root system /sys/fs/cgroup/memory/bg/tasks
|
||||
write /sys/kernel/icnss/wpss_boot 1
|
||||
chmod 0660 /sys/fs/cgroup/memory/bg/tasks
|
||||
|
||||
on post-fs
|
||||
chmod 0755 /sys/kernel/debug/tracing
|
||||
|
||||
on early-boot
|
||||
# set RLIMIT_MEMLOCK to 64MB
|
||||
setrlimit 8 67108864 67108864
|
||||
# set RLIMIT_MEMLOCK to 64KB
|
||||
setrlimit 8 65536 65536
|
||||
# Allow subsystem (modem etc) debugging
|
||||
write /sys/kernel/boot_adsp/boot 1
|
||||
write /sys/kernel/boot_cdsp/boot 1
|
||||
|
@ -186,19 +177,13 @@ on boot
|
|||
# an ack packet comes out of order
|
||||
write /proc/sys/net/netfilter/nf_conntrack_tcp_be_liberal 1
|
||||
|
||||
# Set the console loglevel to < KERN_WARN
|
||||
# Set the default message loglevel to KERN_INFO
|
||||
write /proc/sys/kernel/printk "4 6 1 7"
|
||||
|
||||
# Allow access for CCID command/response timeout configuration
|
||||
chown system system /sys/module/ccid_bridge/parameters/bulk_msg_timeout
|
||||
|
||||
# bond0 used by FST Manager
|
||||
chown wifi wifi /sys/class/net/bond0/bonding/queue_id
|
||||
|
||||
# Allow access to emmc rawdump block partition and dload sysfs node
|
||||
chown root system /dev/block/bootdevice/by-name/rawdump
|
||||
chmod 0660 /dev/block/bootdevice/by-name/rawdump
|
||||
# Allow access to emmc dload sysfs node
|
||||
chown root system /sys/kernel/dload/emmc_dload
|
||||
chmod 0660 /sys/kernel/dload/emmc_dload
|
||||
chown root system /dev/block/bootdevice/by-name/ramdump
|
||||
|
@ -221,10 +206,6 @@ on boot
|
|||
chown system system /sys/class/sensors/apds9930-proximity/enable
|
||||
chown system system /sys/class/sensors/apds9930-proximity/poll_delay
|
||||
|
||||
# Allow access to fpc fingerprint device attributes
|
||||
chmod 0666 /sys/bus/platform/devices/soc/soc:fpc1020/wakeup_enable
|
||||
chown system system /sys/bus/platform/devices/soc/soc:fpc1020/wakeup_enable
|
||||
|
||||
# Create directory used for display
|
||||
# for backward compatibility
|
||||
mkdir /persist/display 0770 system graphics
|
||||
|
@ -240,24 +221,6 @@ on boot
|
|||
# limit discard size to 128MB in order to avoid long IO latency
|
||||
write /sys/block/sda/queue/discard_max_bytes 134217728
|
||||
|
||||
# bin.zhong@ASTI, 2019/08/06, Add for OMM
|
||||
chmod 0750 /dev/memcg
|
||||
chown system system /dev/memplus
|
||||
|
||||
# allen.lv@ASTI, 2019/10/12, Add for Virtual Memory Defragment
|
||||
chmod 0660 /dev/fragment_monitor
|
||||
chown system system /dev/fragment_monitor
|
||||
|
||||
#QDSS
|
||||
chown root oem_2902 /sys/devices/platform/soc/8048000.tmc/coresight-tmc-etr/block_size
|
||||
chmod 660 /sys/devices/platform/soc/8048000.tmc/coresight-tmc-etr/block_size
|
||||
|
||||
#enable coresight for diag_mdlog_system over qdss
|
||||
write /sys/bus/coresight/devices/coresight-tmc-etr/buffer_size 0x2000000
|
||||
write /sys/bus/coresight/devices/coresight-tmc-etr/enable_sink 1
|
||||
write /sys/bus/coresight/devices/coresight-stm/enable_source 1
|
||||
write /sys/bus/coresight/devices/coresight-stm/hwevent_enable 0
|
||||
|
||||
# msm specific files that need to be created on /data
|
||||
on post-fs-data
|
||||
mkdir /data/vendor/misc 01771 system system
|
||||
|
@ -352,6 +315,7 @@ on post-fs-data
|
|||
mkdir /dev/socket/location 0770 gps gps
|
||||
mkdir /dev/socket/location/mq 0770 gps gps
|
||||
mkdir /dev/socket/location/xtra 0770 gps gps
|
||||
mkdir /dev/socket/location/dgnss 0770 gps gps
|
||||
|
||||
#Create directories for wifihal services
|
||||
mkdir /dev/socket/wifihal 0770 wifi wifi
|
||||
|
@ -487,7 +451,7 @@ on property:persist.sys.pil_proxy_timeout=*
|
|||
on property:persist.vendor.ssr.restart_level=*
|
||||
start vendor.ssr_setup
|
||||
|
||||
on property:persist.vendor.ssr.enable_ramdumps=1 && property:ro.boot.mode=normal
|
||||
on property:persist.vendor.ssr.enable_ramdumps=1
|
||||
write /sys/module/subsystem_restart/parameters/enable_ramdumps 1
|
||||
mkdir /data/vendor/ramdump_ssr 770 system system
|
||||
start vendor.ss_ramdump
|
||||
|
@ -514,12 +478,6 @@ on property:sys.boot_completed=1
|
|||
#Reinit lmkd to reconfigure lmkd properties
|
||||
setprop lmkd.reinit 1
|
||||
|
||||
on property:persist.vendor.radio.atfwd.start=false
|
||||
stop vendor.atfwd
|
||||
|
||||
on property:vendor.radio.atfwd.start=false
|
||||
stop vendor.atfwd
|
||||
|
||||
# corefile limit
|
||||
on property:persist.debug.trace=1
|
||||
mkdir /data/core 0777 root root
|
||||
|
@ -567,6 +525,21 @@ service qmiproxy /system/bin/qmiproxy
|
|||
group radio diag
|
||||
disabled
|
||||
|
||||
service vendor.wigig_supplicant /vendor/bin/hw/wpa_supplicant \
|
||||
-iwigig0 -Dnl80211 -c/data/vendor/wifi/wigig_supplicant.conf \
|
||||
-m/data/vendor/wifi/wigig_p2p_supplicant.conf \
|
||||
-O/data/vendor/wifi/wigig_sockets -dd \
|
||||
-e/data/vendor/wifi/wigig_entropy.bin -g@android:wigig/wpa_wigig0 \
|
||||
-S wigigsvc
|
||||
# we will start as root and wpa_supplicant will switch to user wifi
|
||||
# after setting up the capabilities required for WEXT
|
||||
# user wifi
|
||||
# group wifi inet keystore
|
||||
class main
|
||||
socket wigig/wpa_wigig0 dgram 660 wifi wifi
|
||||
disabled
|
||||
oneshot
|
||||
|
||||
# Data Migration
|
||||
service vendor.move_wifi_data /system/bin/move_wifi_data.sh
|
||||
class main
|
||||
|
@ -712,13 +685,6 @@ service qcom-post-boot /vendor/bin/init.qcom.post_boot.sh
|
|||
disabled
|
||||
oneshot
|
||||
|
||||
#service qti-testscripts /system/bin/sh /product/etc/init.qcom.testscripts.sh
|
||||
# class late_start
|
||||
# user root
|
||||
# disabled
|
||||
# oneshot
|
||||
# seclabel u:r:qti-testscripts:s0
|
||||
|
||||
service wifi-sdio-on /vendor/bin/init.qcom.sdio.sh
|
||||
class late_start
|
||||
group wifi inet
|
||||
|
@ -733,7 +699,6 @@ service wifi-crda /vendor/bin/init.crda.sh
|
|||
|
||||
on property:sys.boot_completed=1
|
||||
start qcom-post-boot
|
||||
start qti-testscripts
|
||||
|
||||
on property:ro.vendor.ril.mbn_copy_completed=1
|
||||
write /data/vendor/radio/copy_complete 1
|
||||
|
@ -743,11 +708,6 @@ service qvop-daemon /vendor/bin/qvop-daemon
|
|||
user system
|
||||
group system drmrpc
|
||||
|
||||
service vendor.atfwd /vendor/bin/ATFWD-daemon
|
||||
class late_start
|
||||
user system
|
||||
group system radio
|
||||
|
||||
service hostapd_fst /vendor/bin/hw/hostapd -dd -g /data/vendor/wifi/hostapd/global
|
||||
class main
|
||||
capabilities NET_ADMIN NET_RAW
|
||||
|
@ -781,48 +741,20 @@ service profiler_daemon /system/bin/profiler_daemon
|
|||
group root
|
||||
disabled
|
||||
|
||||
service charger /system/bin/charger
|
||||
class charger
|
||||
user system
|
||||
group system graphics input
|
||||
capabilities SYS_BOOT
|
||||
seclabel u:r:charger:s0
|
||||
|
||||
service vendor.ssr_diag /system/vendor/bin/ssr_diag
|
||||
class late_start
|
||||
user system
|
||||
group system
|
||||
disabled
|
||||
|
||||
# VENDOR_EDIT BruceChenYC, 2020/06/09, need to add -c to clean mask before start command
|
||||
service diag_mdlog_start /system/vendor/bin/diag_mdlog -q 2 -j 1 -c -u -d -i
|
||||
class late_start
|
||||
user shell
|
||||
group system oem_2901 oem_2902 sdcard_rw sdcard_r media_rw
|
||||
disabled
|
||||
oneshot
|
||||
|
||||
service diag_mdlog_stop /system/vendor/bin/diag_mdlog -k
|
||||
service diag_mdlog_start /system/vendor/bin/diag_mdlog
|
||||
class late_start
|
||||
user shell
|
||||
group system oem_2901 sdcard_rw sdcard_r media_rw
|
||||
disabled
|
||||
oneshot
|
||||
|
||||
# VENDOR_EDIT JamesChang, 2020/02/22, KBA-180917030333
|
||||
# VENDOR_EDIT BruceChenYC, 2020/06/09, need to add -c to clean mask before start command
|
||||
# VENDOR_EDIT BruceChenYC, 2020/07/01, In 8350R Kernel 5.4 delete Diag driver Need to use /system/vendor/bin/diag_mdlog.
|
||||
#service diag_mdlog_system_start /system/bin/diag_mdlog_system -c -u
|
||||
service diag_mdlog_system_start /system/vendor/bin/diag_mdlog -q 2 -j 1 -c -u -d -i
|
||||
class late_start
|
||||
user shell
|
||||
group system oem_2901 oem_2902 sdcard_rw sdcard_r media_rw
|
||||
disabled
|
||||
oneshot
|
||||
|
||||
# VENDOR_EDIT BruceChenYC, 2020/07/01, In 8350R Kernel 5.4 delete Diag driver Need to use /system/vendor/bin/diag_mdlog.
|
||||
#service diag_mdlog_system_stop /system/bin/diag_mdlog_system -k
|
||||
service diag_mdlog_system_stop /system/vendor/bin/diag_mdlog -k
|
||||
service diag_mdlog_stop /system/vendor/bin/diag_mdlog -k
|
||||
class late_start
|
||||
user shell
|
||||
group system oem_2901 sdcard_rw sdcard_r media_rw
|
||||
|
@ -887,7 +819,7 @@ service esepmdaemon /system/vendor/bin/esepmdaemon
|
|||
user system
|
||||
group nfc
|
||||
|
||||
on charger
|
||||
on property:init.svc.vendor.charger=running
|
||||
setprop persist.sys.usb.config mass_storage
|
||||
start qcom-post-boot
|
||||
|
||||
|
@ -957,5 +889,5 @@ service vendor.audio-hal /vendor/bin/hw/android.hardware.audio.service
|
|||
group audio camera drmrpc inet media mediadrm net_bt net_bt_admin net_bw_acct oem_2901 wakelock
|
||||
capabilities BLOCK_SUSPEND
|
||||
ioprio rt 4
|
||||
writepid /dev/cpuset/foreground/tasks /dev/stune/foreground/tasks
|
||||
task_profiles ProcessCapacityHigh HighPerformance
|
||||
onrestart restart audioserver
|
34
rootdir/bin/init.qti.kernel.sh → init/init.qcom.recovery.rc
Executable file → Normal file
34
rootdir/bin/init.qti.kernel.sh → init/init.qcom.recovery.rc
Executable file → Normal file
|
@ -1,10 +1,4 @@
|
|||
#! /vendor/bin/sh
|
||||
#=============================================================================
|
||||
# Copyright (c) 2019-2020 Qualcomm Technologies, Inc.
|
||||
# All Rights Reserved.
|
||||
# Confidential and Proprietary - Qualcomm Technologies, Inc.
|
||||
#
|
||||
# Copyright (c) 2009-2012, 2014-2019, The Linux Foundation. All rights reserved.
|
||||
# Copyright (c) 2017-2018,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:
|
||||
|
@ -29,20 +23,16 @@
|
|||
# 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.
|
||||
#=============================================================================
|
||||
#
|
||||
|
||||
verify_pasr_support()
|
||||
{
|
||||
if [ -d /sys/kernel/mem-offline ]; then
|
||||
setprop vendor.pasr.enabled true
|
||||
fi
|
||||
}
|
||||
on init
|
||||
write /sys/class/backlight/panel0-backlight/brightness 200
|
||||
setprop sys.usb.configfs 1
|
||||
|
||||
start_msm_irqbalance()
|
||||
{
|
||||
if [ -f /vendor/bin/msm_irqbalance ]; then
|
||||
start vendor.msm_irqbalance
|
||||
fi
|
||||
}
|
||||
start_msm_irqbalance
|
||||
verify_pasr_support
|
||||
on property:ro.boot.usbcontroller=*
|
||||
setprop sys.usb.controller ${ro.boot.usbcontroller}
|
||||
write /sys/class/udc/${ro.boot.usbcontroller}/device/../mode peripheral
|
||||
|
||||
on fs
|
||||
wait /dev/block/platform/soc/${ro.boot.bootdevice}
|
||||
symlink /dev/block/platform/soc/${ro.boot.bootdevice} /dev/block/bootdevice
|
|
@ -1,5 +1,6 @@
|
|||
|
||||
# Copyright (c) 2019-2020, The Linux Foundation. All rights reserved.
|
||||
# Copyright (c) 2022, Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are
|
||||
|
@ -29,12 +30,12 @@
|
|||
#
|
||||
|
||||
import /vendor/etc/init/hw/init.qti.kernel.rc
|
||||
# kevin@system, 2020/09/03, add carrier rc
|
||||
import /vendor/etc/init/hw/init.oem.carrier.rc
|
||||
|
||||
on early-init
|
||||
exec u:r:vendor_modprobe:s0 -- /vendor/bin/vendor_modprobe.sh
|
||||
exec u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d /vendor/lib/modules q6_pdr_dlkm q6_notifier_dlkm snd_event_dlkm apr_dlkm adsp_loader_dlkm q6_dlkm native_dlkm pinctrl_lpi_dlkm swr_dlkm platform_dlkm stub_dlkm wcd_core_dlkm wsa881x_analog_dlkm bolero_cdc_dlkm va_macro_dlkm rx_macro_dlkm tx_macro_dlkm bt_fm_slim wcd938x_dlkm wcd938x_slave_dlkm wcd937x_dlkm wcd937x_slave_dlkm machine_dlkm radio-i2c-rtc6226-qca mmc_core mmc_block sdhci sdhci-pltfm sdhci-msm cdsprm sia81xx_dlkm aw87xxx_dlkm
|
||||
exec u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d /vendor/lib/modules q6_pdr_dlkm q6_notifier_dlkm snd_event_dlkm apr_dlkm adsp_loader_dlkm q6_dlkm native_dlkm pinctrl_lpi_dlkm swr_dlkm platform_dlkm stub_dlkm wcd_core_dlkm wsa881x_analog_dlkm bolero_cdc_dlkm va_macro_dlkm rx_macro_dlkm tx_macro_dlkm bt_fm_slim wcd938x_dlkm wcd938x_slave_dlkm wcd937x_dlkm wcd937x_slave_dlkm machine_dlkm radio-i2c-rtc6226-qca cdsprm
|
||||
exec u:r:vendor_qti_init_shell:s0 -- /vendor/bin/init.qti.early_init.sh
|
||||
setprop ro.soc.model ${ro.vendor.qti.soc_model}
|
||||
wait /sys/devices/soc0/soc_id
|
||||
|
||||
on init
|
||||
|
@ -58,9 +59,6 @@ on init
|
|||
chmod 0664 /dev/cpuctl/background/tasks
|
||||
chmod 0664 /dev/cpuctl/top-app/tasks
|
||||
chmod 0664 /dev/cpuctl/rt/tasks
|
||||
#NFC
|
||||
#chmod 0660 /dev/st21nfc
|
||||
#chown nfc nfc /dev/st21nfc
|
||||
write /dev/cpuctl/foreground/cpu.rt_runtime_us 950000
|
||||
write /dev/cpuctl/background/cpu.rt_runtime_us 950000
|
||||
write /dev/cpuctl/top-app/cpu.rt_runtime_us 950000
|
||||
|
@ -75,30 +73,19 @@ on early-fs
|
|||
|
||||
on fs
|
||||
start hwservicemanager
|
||||
#ifdef VENDOR_EDIT
|
||||
mkdir /mnt/vendor/op2 0660 system system
|
||||
#endif /* VENDOR_EDIT */
|
||||
mount_all --early
|
||||
#ifdef VENDOR_EDIT
|
||||
wait /mnt/vendor/op2
|
||||
chown system system /mnt/vendor/op2
|
||||
#endif /* VENDOR_EDIT */
|
||||
chown root system /mnt/vendor/persist
|
||||
chmod 0771 /mnt/vendor/persist
|
||||
restorecon_recursive /mnt/vendor/persist
|
||||
mkdir /mnt/vendor/persist/data 0700 system system
|
||||
mkdir /mnt/vendor/my_cota 0660 system system
|
||||
mkdir /mnt/vendor/persist/wlan 0700 system system
|
||||
chmod 0700 /mnt/vendor/persist/wlan
|
||||
|
||||
on post-fs
|
||||
# set RLIMIT_MEMLOCK to 64MB
|
||||
setrlimit 8 67108864 67108864
|
||||
write /dev/ipa 1
|
||||
mkdir /mnt/vendor/op2/recovery 0770 root system
|
||||
|
||||
on late-fs
|
||||
wait_for_prop hwservicemanager.ready true
|
||||
#exec_start wait_for_keymaster
|
||||
start console
|
||||
mount_all --late
|
||||
|
||||
on post-fs-data
|
||||
|
@ -109,14 +96,6 @@ on early-boot
|
|||
|
||||
on boot
|
||||
write /dev/cpuset/audio-app/cpus 1-2
|
||||
# Add a cpuset for the camera daemon
|
||||
# We want all cores for camera
|
||||
mkdir /dev/cpuset/camera-daemon
|
||||
write /dev/cpuset/camera-daemon/cpus 0-7
|
||||
write /dev/cpuset/camera-daemon/mems 0
|
||||
chown cameraserver cameraserver /dev/cpuset/camera-daemon
|
||||
chown cameraserver cameraserver /dev/cpuset/camera-daemon/tasks
|
||||
chmod 0660 /dev/cpuset/camera-daemon/tasks
|
||||
#USB controller configuration
|
||||
setprop vendor.usb.rndis.func.name "gsi"
|
||||
setprop vendor.usb.rmnet.func.name "gsi"
|
||||
|
@ -124,21 +103,11 @@ on boot
|
|||
setprop vendor.usb.dpl.inst.name "dpl"
|
||||
setprop vendor.usb.qdss.inst.name "qdss_mdm"
|
||||
setprop vendor.usb.controller 4e00000.dwc3
|
||||
# v-takey.zheng@SYSTEM, 2020/06/03 Add for oemlogkit camera log
|
||||
chmod 0666 /sys/module/cam_debug_util/parameters/debug_mdl
|
||||
|
||||
#ifdef VENDOR_EDIT
|
||||
# Fengfeng.XU@PERFORMANCE, 2020/07/30, Optimize the boot time and run the boot animation on the small core
|
||||
on boot
|
||||
write /dev/cpuset/top-app/cpus 0-7
|
||||
write /dev/cpuset/foreground/cpus 0-7
|
||||
write /dev/cpuset/foreground/boost/cpus 0-7
|
||||
write /dev/cpuset/system-background/cpus 0-7
|
||||
write /dev/cpuset/background/cpus 0-3
|
||||
#endif /* VENDOR_EDIT */
|
||||
#Load WLAN driver
|
||||
exec_background u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d /vendor/lib/modules/ qca_cld3_wlan
|
||||
|
||||
on property:vendor.display.lcd_density=560
|
||||
setprop dalvik.vm.heapgrowthlimit 384m
|
||||
setprop dalvik.vm.heapgrowthlimit 256m
|
||||
|
||||
on property:vendor.display.lcd_density=640
|
||||
setprop dalvik.vm.heapgrowthlimit 512m
|
||||
|
@ -146,29 +115,7 @@ on property:vendor.display.lcd_density=640
|
|||
on boot && property:persist.vendor.usb.controller.default=*
|
||||
setprop vendor.usb.controller ${persist.vendor.usb.controller.default}
|
||||
|
||||
on property:vendor.usb.controller=*
|
||||
setprop sys.usb.controller ${vendor.usb.controller}
|
||||
|
||||
on charger
|
||||
mount_all /vendor/etc/charger_fstab.qti --early
|
||||
write /sys/kernel/boot_adsp/boot 1
|
||||
#restart charger after ADSP is out of reset
|
||||
restart charger
|
||||
start qcom-post-boot
|
||||
write /sys/devices/system/cpu/cpufreq/policy0/scaling_governor schedutil
|
||||
write /sys/devices/system/cpu/cpufreq/policy6/scaling_governor schedutil
|
||||
write /sys/devices/system/cpu/cpufreq/policy0/scaling_max_freq 1324800
|
||||
|
||||
write /sys/devices/system/cpu/cpu1/online 0
|
||||
write /sys/devices/system/cpu/cpu2/online 0
|
||||
write /sys/devices/system/cpu/cpu3/online 0
|
||||
write /sys/devices/system/cpu/cpu4/online 0
|
||||
write /sys/devices/system/cpu/cpu5/online 0
|
||||
write /sys/devices/system/cpu/cpu6/online 0
|
||||
write /sys/devices/system/cpu/cpu7/online 0
|
||||
write /sys/module/lpm_levels/parameters/sleep_disabled 0
|
||||
stop oemlogkit
|
||||
|
||||
on property:init.svc.vendor.charger=running
|
||||
start vendor.power_off_alarm
|
||||
setprop sys.usb.controller 4e00000.dwc3
|
||||
setprop sys.usb.configfs 1
|
||||
|
@ -208,14 +155,11 @@ on property:sys.shutdown.requested=*
|
|||
stop vendor.per_proxy
|
||||
|
||||
on property:vold.decrypt=trigger_restart_framework
|
||||
#on property:vold.decrypt=trigger_restart_framework
|
||||
# start vendor.cnss_diag
|
||||
#endif /* VENDOR_EDIT */
|
||||
start vendor.cnss_diag
|
||||
|
||||
service vendor.cnss_diag /system/vendor/bin/cnss_diag -q -f -t HELIUM
|
||||
class main
|
||||
user system
|
||||
group system wifi inet sdcard_rw media_rw diag
|
||||
disabled
|
||||
oneshot
|
||||
|
80
init/init_oplus.cpp
Normal file
80
init/init_oplus.cpp
Normal file
|
@ -0,0 +1,80 @@
|
|||
/*
|
||||
* Copyright (C) 2022 The LineageOS Project
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#include <android-base/logging.h>
|
||||
#include <android-base/properties.h>
|
||||
|
||||
#define _REALLY_INCLUDE_SYS__SYSTEM_PROPERTIES_H_
|
||||
#include <sys/_system_properties.h>
|
||||
|
||||
using android::base::GetProperty;
|
||||
|
||||
constexpr const char* BUILD_DESCRIPTION = "OnePlusN200TMO-user 12 SKQ1.210216.001 R.1a8c53b_1-164cb1 release-keys";
|
||||
constexpr const char* BUILD_FINGERPRINT = "OnePlus/OnePlusN200TMO/OnePlusN200TMO:12/SKQ1.210216.001/R.1a8c53b_1-164cb1:user/release-keys";
|
||||
|
||||
constexpr const char* RO_PROP_SOURCES[] = {
|
||||
nullptr,
|
||||
"bootimage.",
|
||||
"odm.",
|
||||
"odm_dlkm.",
|
||||
"product.",
|
||||
"system.",
|
||||
"system_dlkm.",
|
||||
"system_ext.",
|
||||
"vendor.",
|
||||
"vendor_dlkm.",
|
||||
};
|
||||
|
||||
/*
|
||||
* SetProperty does not allow updating read only properties and as a result
|
||||
* does not work for our use case. Write "OverrideProperty" to do practically
|
||||
* the same thing as "SetProperty" without this restriction.
|
||||
*/
|
||||
void OverrideProperty(const char* name, const char* value) {
|
||||
size_t valuelen = strlen(value);
|
||||
|
||||
prop_info* pi = (prop_info*)__system_property_find(name);
|
||||
if (pi != nullptr) {
|
||||
__system_property_update(pi, value, valuelen);
|
||||
} else {
|
||||
__system_property_add(name, strlen(name), value, valuelen);
|
||||
}
|
||||
}
|
||||
|
||||
void OverrideCarrierProperties() {
|
||||
const auto ro_prop_override = [](const char* source, const char* prop, const char* value,
|
||||
bool product) {
|
||||
std::string prop_name = "ro.";
|
||||
|
||||
if (product) prop_name += "product.";
|
||||
if (source != nullptr) prop_name += source;
|
||||
if (!product) prop_name += "build.";
|
||||
prop_name += prop;
|
||||
|
||||
OverrideProperty(prop_name.c_str(), value);
|
||||
};
|
||||
|
||||
for (const auto& source : RO_PROP_SOURCES) {
|
||||
ro_prop_override(source, "model", "DE2118", true);
|
||||
ro_prop_override(source, "device", "OnePlusN200TMO", true);
|
||||
ro_prop_override(source, "fingerprint", BUILD_FINGERPRINT, false);
|
||||
}
|
||||
ro_prop_override(nullptr, "product", "OnePlusN200TMO", false);
|
||||
ro_prop_override(nullptr, "description", BUILD_DESCRIPTION, false);
|
||||
}
|
||||
|
||||
/*
|
||||
* Only for read-only properties. Properties that can be wrote to more
|
||||
* than once should be set in a typical init script (e.g. init.oplus.hw.rc)
|
||||
* after the original property has been set.
|
||||
*/
|
||||
void vendor_load_properties() {
|
||||
//auto device = GetProperty("ro.product.product.device", "");
|
||||
auto prj_codename = GetProperty("ro.boot.project_codename", "");
|
||||
|
||||
// T-Mobile (dre8t) or Metro by T-Mobile (dre8m)
|
||||
if (prj_codename != "dre9")
|
||||
OverrideCarrierProperties();
|
||||
}
|
17
init/ueventd.oplus.rc
Normal file
17
init/ueventd.oplus.rc
Normal file
|
@ -0,0 +1,17 @@
|
|||
#
|
||||
# Copyright (C) 2022-2023 The LineageOS Project
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
# Charger
|
||||
/sys/class/oplus_chg/* mmi_charging_enable 0660 system system
|
||||
|
||||
# NFC
|
||||
/dev/st21nfc 0660 nfc nfc
|
||||
|
||||
# Reserve
|
||||
/dev/block/bootdevice/by-name/oplusreserve1 0660 root system
|
||||
|
||||
# WiFi
|
||||
firmware_directories /odm/etc/wifi/
|
|
@ -28,12 +28,7 @@
|
|||
# Firmware directory Path
|
||||
# Below macro will be read by uevent and path will
|
||||
# be added to search path for firmware loading
|
||||
# ifndef VENDOR_EDIT
|
||||
# Richy.li@CONNECTIVITY, 2020/08/20, [8350] Wifi one point cal
|
||||
#firmware_directories /vendor/firmware_mnt/image/
|
||||
# else
|
||||
firmware_directories /mnt/vendor/persist/copy/ /vendor/firmware_mnt/image/
|
||||
# endif /* VENDOR_EDIT *
|
||||
firmware_directories /vendor/firmware_mnt/image/
|
||||
|
||||
# the DIAG device node is not world writable/readable.
|
||||
/dev/diag 0660 system oem_2901
|
||||
|
@ -64,6 +59,7 @@ firmware_directories /mnt/vendor/persist/copy/ /vendor/firmware_mnt/image/
|
|||
/dev/ipa_adpl 0660 system oem_2905
|
||||
/dev/synx_device 0660 root camera
|
||||
/dev/hab 0666 system system
|
||||
/dev/hgsl 0666 system system
|
||||
/dev/iio:device* 0664 system system
|
||||
|
||||
#permissions for UFS RPMB BSG device node
|
||||
|
@ -76,6 +72,7 @@ firmware_directories /mnt/vendor/persist/copy/ /vendor/firmware_mnt/image/
|
|||
/dev/smd2 0660 bluetooth bluetooth
|
||||
/dev/smd3 0660 bluetooth bluetooth
|
||||
/dev/btpower 0660 bluetooth system
|
||||
/dev/btfmslim 0660 bluetooth system
|
||||
|
||||
#permissions for pta
|
||||
/dev/pta 0660 system system
|
||||
|
@ -166,15 +163,6 @@ firmware_directories /mnt/vendor/persist/copy/ /vendor/firmware_mnt/image/
|
|||
/dev/system_health_monitor 0644 radio system
|
||||
/dev/mdss_rotator 0664 system system
|
||||
|
||||
#ifdef VENDOR_EDIT
|
||||
#Revise the permissions for Param
|
||||
/dev/block/by-name/param 0660 root system
|
||||
#endif VENDOR_EDIT
|
||||
|
||||
# narci.gu@SYSTEM, 2020/12/08, add for serial number writing by wifi adb
|
||||
/dev/block/sde72 0600 system system
|
||||
/dev/block/bootdevice/by-name/reserve1 0600 system system
|
||||
|
||||
#QDSS
|
||||
/dev/byte-cntr 0660 system oem_2902
|
||||
/dev/mhi_qdss 0660 system oem_2902
|
||||
|
@ -186,7 +174,11 @@ firmware_directories /mnt/vendor/persist/copy/ /vendor/firmware_mnt/image/
|
|||
|
||||
#qvr
|
||||
/dev/qvr_external_sensor_ioctl 0660 system system
|
||||
/sys/kernel/qvr_external_sensor/fd 0660 system system
|
||||
/dev/bus/usb/* 0660 root usb
|
||||
/dev/hidraw* 0660 root usb
|
||||
|
||||
#rawdump
|
||||
/dev/block/platform/soc/*/by-name/rawdump 0660 root system
|
||||
|
||||
# wlan
|
||||
/dev/wcnss_wlan 0660 system system
|
||||
|
@ -195,6 +187,7 @@ firmware_directories /mnt/vendor/persist/copy/ /vendor/firmware_mnt/image/
|
|||
/sys/devices/soc/a000000.qcom,wcnss-wlan/net/p2p0/queues/rx-* rps_cpus 0660 system system
|
||||
/sys/devices/platform/soc/*.qcom,icnss/net/wlan*/queues/rx-* rps_cpus 0660 system system
|
||||
/sys/devices/platform/soc/1c00000.qcom,pcie/pci0000:00/0000:00:00.0/0000:01:00.0/net/wlan*/queues/rx-* rps_cpus 0660 system system
|
||||
/sys/devices/platform/soc/17a10040.qcom,wcn6750/net/wlan*/queues/rx-* rps_cpus 0660 system system
|
||||
/dev/spidev0.0 0660 system audio
|
||||
/dev/i2c-7 0660 system audio
|
||||
/dev/msm_camera/* 0660 system camera
|
||||
|
@ -205,7 +198,6 @@ firmware_directories /mnt/vendor/persist/copy/ /vendor/firmware_mnt/image/
|
|||
/dev/msm_vidc_dec_sec 0660 system audio
|
||||
/dev/msm_vidc_enc 0660 system audio
|
||||
/dev/msm_rotator 0660 system system
|
||||
/dev/hw_random 0600 root root
|
||||
/dev/sdsprpc-smd 0660 system system
|
||||
|
||||
#permissions for audio
|
||||
|
@ -250,6 +242,7 @@ firmware_directories /mnt/vendor/persist/copy/ /vendor/firmware_mnt/image/
|
|||
/dev/avtimer 0660 system audio
|
||||
/dev/spidev2.0 0660 system audio
|
||||
/dev/spidev22.0 0660 system audio
|
||||
/dev/spidev10.0 0660 system audio
|
||||
|
||||
# DVB devices
|
||||
/dev/dvb/adapter0/demux* 0440 media media
|
||||
|
@ -322,9 +315,6 @@ firmware_directories /mnt/vendor/persist/copy/ /vendor/firmware_mnt/image/
|
|||
/sys/bus/pci/drivers/wil6210* 0000:01:00.0/net/wigig0/gro_flush_timeout 0660 system system
|
||||
/sys/devices/virtual/net/bond0 queues/rx-0/rps_cpus 0660 system system
|
||||
|
||||
#NFC
|
||||
/dev/st21nfc 0660 nfc nfc
|
||||
|
||||
#nfc permissions
|
||||
/dev/nfc-nci 0660 nfc nfc
|
||||
/dev/nq-nci 0660 nfc nfc
|
||||
|
@ -397,6 +387,9 @@ firmware_directories /mnt/vendor/persist/copy/ /vendor/firmware_mnt/image/
|
|||
|
||||
/sys/devices/virtual/hdcp/msm_hdcp min_level_change 0664 system graphics
|
||||
|
||||
#KGSL
|
||||
/sys/class/kgsl/kgsl-3d0 perfcounter 0660 root shell
|
||||
|
||||
# sys-fs display
|
||||
/sys/class/graphics/fb* hpd 0664 system graphics
|
||||
/sys/class/graphics/fb* res_info 0664 system graphics
|
||||
|
@ -426,7 +419,6 @@ firmware_directories /mnt/vendor/persist/copy/ /vendor/firmware_mnt/image/
|
|||
/sys/class/graphics/fb0 modes 0664 system graphics
|
||||
/sys/class/graphics/fb0 mode 0664 system graphics
|
||||
/sys/class/graphics/fb0 msm_cmd_autorefresh_en 0664 system graphics
|
||||
*/
|
||||
|
||||
/sys/devices/platform/soc/ae00000.qcom,mdss_mdp power/control 0664 system graphics
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
[
|
||||
{
|
||||
"repository": "android_hardware_oneplus",
|
||||
"target_path": "hardware/oneplus"
|
||||
"repository": "android_hardware_oplus",
|
||||
"target_path": "hardware/oplus"
|
||||
},
|
||||
{
|
||||
"repository": "android_kernel_oneplus_sm4350",
|
||||
|
|
221
manifest.xml
221
manifest.xml
|
@ -1,5 +1,4 @@
|
|||
<manifest version="2.0" type="device" target-level="5">
|
||||
<kernel target-level="5"/>
|
||||
<manifest version="2.0" type="device" target-level="6">
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.audio</name>
|
||||
<transport>hwbinder</transport>
|
||||
|
@ -27,15 +26,6 @@
|
|||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.bluetooth.audio</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>2.0</version>
|
||||
<interface>
|
||||
<name>IBluetoothAudioProvidersFactory</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.camera.provider</name>
|
||||
<transport>hwbinder</transport>
|
||||
|
@ -69,52 +59,11 @@
|
|||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.media.c2</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IComponentStore</name>
|
||||
<instance>default</instance>
|
||||
<instance>software</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.media.omx</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IOmx</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
<interface>
|
||||
<name>IOmxStore</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.memtrack</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IMemtrack</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.nfc</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.2</version>
|
||||
<interface>
|
||||
<name>INfc</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.radio</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@1.2::ISap/slot1</fqname>
|
||||
<fqname>@1.5::IRadio/slot1</fqname>
|
||||
<fqname>@1.2::ISap/slot1</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.radio.config</name>
|
||||
|
@ -146,7 +95,7 @@
|
|||
<hal format="hidl">
|
||||
<name>android.hardware.tetheroffload.control</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<version>1.1</version>
|
||||
<interface>
|
||||
<name>IOffloadControl</name>
|
||||
<instance>default</instance>
|
||||
|
@ -188,123 +137,6 @@
|
|||
<instance>com.qualcomm.qti.uceservice</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.goodix3626.hardware.biometrics.fingerprint</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>2.1</version>
|
||||
<interface>
|
||||
<name>IGoodixFingerprintDaemon</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.oneplus.engnative.engineer</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IEngineer</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.oneplus.faceunlock.hal</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IFaceUnlockNativeService</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.oneplus.fingerprint.extension</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IVendorFingerprintExtensions</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.oneplus.hardware.CameraMDMHIDL</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IOnePlusCameraMDM</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.oneplus.hardware.camera</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IOnePlusCameraProvider</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.oneplus.hardware.display</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IOneplusDisplay</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.oneplus.hardware.drmkey</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IOneplusDrmKey</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.oneplus.hardware.hypnus</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IHypnusUtil</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.oneplus.hardware.ifaa</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>2.0</version>
|
||||
<interface>
|
||||
<name>IOneplusIfaa</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.oneplus.hardware.param</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IOneplusParam</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.oneplus.hardware.rpmb</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IOneplusRpmb</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.oneplus.hardware.wifi</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.1</version>
|
||||
<interface>
|
||||
<name>IOneplusWifi</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.qti.data.factory</name>
|
||||
<transport>hwbinder</transport>
|
||||
|
@ -314,15 +146,6 @@
|
|||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.qti.esepowermanager</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.1</version>
|
||||
<interface>
|
||||
<name>IEsePowerManager</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.qti.hardware.alarm</name>
|
||||
<transport>hwbinder</transport>
|
||||
|
@ -394,8 +217,8 @@
|
|||
<name>IDataConnection</name>
|
||||
<instance>slot1</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.qti.hardware.data.iwlan</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
|
@ -449,6 +272,15 @@
|
|||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.qti.hardware.mwqemadapter</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IMwqemAdapter</name>
|
||||
<instance>MwqemAdapter</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.qti.hardware.perf</name>
|
||||
<transport>hwbinder</transport>
|
||||
|
@ -501,7 +333,7 @@
|
|||
<hal format="hidl">
|
||||
<name>vendor.qti.hardware.radio.ims</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.6</version>
|
||||
<version>1.7</version>
|
||||
<interface>
|
||||
<name>IImsRadio</name>
|
||||
<instance>imsradio0</instance>
|
||||
|
@ -516,15 +348,6 @@
|
|||
<instance>deviceinfo</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.qti.hardware.radio.lpa</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.1</version>
|
||||
<interface>
|
||||
<name>IUimLpa</name>
|
||||
<instance>UimLpa0</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.qti.hardware.radio.qcrilhook</name>
|
||||
<transport>hwbinder</transport>
|
||||
|
@ -546,7 +369,7 @@
|
|||
<hal format="hidl">
|
||||
<name>vendor.qti.hardware.radio.qtiradio</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>2.5</version>
|
||||
<version>2.7</version>
|
||||
<interface>
|
||||
<name>IQtiRadio</name>
|
||||
<instance>slot1</instance>
|
||||
|
@ -649,6 +472,7 @@
|
|||
<name>vendor.qti.ims.factory</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.1</version>
|
||||
<version>2.2</version>
|
||||
<interface>
|
||||
<name>IImsFactory</name>
|
||||
<instance>default</instance>
|
||||
|
@ -672,14 +496,5 @@
|
|||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.rongcard.hardware.eid</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IEidDevice</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
<fqname>@1.0::IEidDevice/default</fqname>
|
||||
</hal>
|
||||
<kernel target-level="5"/>
|
||||
</manifest>
|
||||
|
|
15
manifest_odm.xml
Normal file
15
manifest_odm.xml
Normal file
|
@ -0,0 +1,15 @@
|
|||
<manifest version="2.0" type="device">
|
||||
<hal format="hidl" override="true">
|
||||
<name>vendor.lineage.touch</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IHighTouchPollingRate</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
<interface>
|
||||
<name>ITouchscreenGesture</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
</manifest>
|
300
media/media_codecs.xml
Normal file
300
media/media_codecs.xml
Normal file
|
@ -0,0 +1,300 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!--
|
||||
Copyright (c) 2018-2021 Qualcomm Technologies, Inc.
|
||||
All Rights Reserved.
|
||||
Confidential and Proprietary - Qualcomm Technologies, Inc.
|
||||
|
||||
Not a Contribution.
|
||||
|
||||
Copyright (C) 2012-2018 The Linux Foundation. All rights reserved.
|
||||
Copyright (C) 2012-2013 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.
|
||||
-->
|
||||
|
||||
<!--
|
||||
"performance-point"
|
||||
Vendor-guaranteed performance advertised to the applications
|
||||
<Limit name="performance-point-widthxheight" value="fps" />
|
||||
|
||||
-For each of the resolutions, the advertised fps is the max supported,
|
||||
with HW-friendly color format and considering video-only.
|
||||
-Performance for any intermediate resolution will be that of the
|
||||
next-higher-advertised-resolution.
|
||||
|
||||
standard sizes: 480p/576p (SD), 720p (HD), 1080p (FHD), 2160p (UHD)
|
||||
standard frame rates: 24, 25, 30, 48+, 50, 60, 100*, 120*, 200*, 240* fps
|
||||
* HD+ only
|
||||
+ SD only
|
||||
- All supported standard performance points are listed (unless they are
|
||||
covered by another listed standard performance point)
|
||||
- Non-standard performance points are listed along with all the standard
|
||||
performance points covered by them.
|
||||
-->
|
||||
|
||||
<!--
|
||||
Lahaina Non-Secure decoder capabilities
|
||||
(MB is defined as 16x16)
|
||||
_______________________________________________________
|
||||
| Codec | W H fps Mbps MB/s |
|
||||
|_____________|_______________________________________|
|
||||
| h264 | 3840 2176 60 100 1958400 |
|
||||
| | 4096 2176 48 100 |
|
||||
| hevc | 3840 2176 60 100 1958400 |
|
||||
| | 4096 2176 48 100 |
|
||||
| vp9 | 3840 2176 60 100 1958400 |
|
||||
| | 4096 2176 48 100 |
|
||||
| mpeg2 | 1920 1088 30 40 244800 |
|
||||
|_____________|_______________________________________|
|
||||
|
||||
Lahaina Secure decoder capabilities
|
||||
(MB is defined as 16x16)
|
||||
__________________________________________________
|
||||
| Codec | W H fps Mbps MB/s |
|
||||
|__________|_____________________________________|
|
||||
| h264 | 3840 2176 60 40 1958400 |
|
||||
| | 4096 2176 48 40 |
|
||||
| vp9 | 3840 2176 60 40 1958400 |
|
||||
| | 4096 2176 48 40 |
|
||||
| hevc | 3840 2176 60 40 1958400 |
|
||||
| | 4096 2176 48 40 |
|
||||
|__________|_____________________________________|
|
||||
|
||||
Lahaina Non-Secure encoder capabilities (Secure not supported)
|
||||
(MB is defined as 16x16)
|
||||
__________________________________________________
|
||||
| Codec | W H fps Mbps MB/s |
|
||||
|__________|_____________________________________|
|
||||
| h264 | 3840 2176 60 100 1958400 |
|
||||
| | 4096 2176 48 100 |
|
||||
| hevc | 3840 2176 60 100 1958400 |
|
||||
| | 4096 2176 48 100 |
|
||||
|__________|_____________________________________|
|
||||
-->
|
||||
|
||||
<MediaCodecs>
|
||||
<Settings>
|
||||
<Domain name="telephony" enabled="true" />
|
||||
<Setting name="max-video-encoder-input-buffers" value="11" />
|
||||
</Settings>
|
||||
<Decoders>
|
||||
<!-- C2 decoders -->
|
||||
<MediaCodec name="c2.qti.avc.decoder" type="video/avc">
|
||||
<Alias name="OMX.qcom.video.decoder.avc"/>
|
||||
<Limit name="size" min="96x96" max="4096x2176" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="block-count" range="36-34816" />
|
||||
<Limit name="blocks-per-second" range="36-1958400" />
|
||||
<Limit name="bitrate" range="1-100000000" />
|
||||
<Limit name="frame-rate" range="1-480" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Limit name="performance-point-4096x2304" value="30" />
|
||||
<Limit name="performance-point-3840x2160" value="60" />
|
||||
<Limit name="performance-point-1920x1080" value="240" />
|
||||
<Limit name="performance-point-1280x720" value="480" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.avc.decoder.low_latency" type="video/avc">
|
||||
<Alias name="OMX.qcom.video.decoder.avc.low_latency"/>
|
||||
<Limit name="size" min="96x96" max="4096x2176" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="block-count" range="36-34816" />
|
||||
<Limit name="blocks-per-second" range="36-1958400" />
|
||||
<Limit name="bitrate" range="1-100000000" />
|
||||
<Limit name="frame-rate" range="1-480" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="low-latency" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="performance-point-4096x2304" value="30" />
|
||||
<Limit name="performance-point-3840x2160" value="60" />
|
||||
<Limit name="performance-point-1920x1080" value="240" />
|
||||
<Limit name="performance-point-1280x720" value="480" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.avc.decoder.secure" type="video/avc" >
|
||||
<Alias name="OMX.qcom.video.decoder.avc.secure"/>
|
||||
<Limit name="size" min="96x96" max="4096x2176" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="block-count" range="36-34816" />
|
||||
<Limit name="blocks-per-second" min="36" max="1958400" />
|
||||
<Limit name="bitrate" range="1-40000000" />
|
||||
<Limit name="frame-rate" range="1-60" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="secure-playback" required="true" />
|
||||
<Feature name="low-latency" />
|
||||
<Limit name="concurrent-instances" max="3" />
|
||||
<Limit name="performance-point-4096x2304" value="30" />
|
||||
<Limit name="performance-point-3840x2160" value="60" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.hevc.decoder" type="video/hevc" >
|
||||
<Alias name="OMX.qcom.video.decoder.hevc"/>
|
||||
<Limit name="size" min="96x96" max="4096x2176" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="block-count" range="36-34816" />
|
||||
<Limit name="blocks-per-second" min="36" max="1958400" />
|
||||
<Limit name="bitrate" range="1-100000000" />
|
||||
<Limit name="frame-rate" range="1-480" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="performance-point-4096x2304" value="30" />
|
||||
<Limit name="performance-point-3840x2160" value="60" />
|
||||
<Limit name="performance-point-1920x1080" value="240" />
|
||||
<Limit name="performance-point-1280x720" value="480" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.hevc.decoder.low_latency" type="video/hevc" >
|
||||
<Alias name="OMX.qcom.video.decoder.hevc.low_latency"/>
|
||||
<Limit name="size" min="96x96" max="4096x2176" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="block-count" range="36-34816" />
|
||||
<Limit name="blocks-per-second" min="36" max="1958400" />
|
||||
<Limit name="bitrate" range="1-100000000" />
|
||||
<Limit name="frame-rate" range="1-480" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="low-latency" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="performance-point-4096x2304" value="30" />
|
||||
<Limit name="performance-point-3840x2160" value="60" />
|
||||
<Limit name="performance-point-1920x1080" value="240" />
|
||||
<Limit name="performance-point-1280x720" value="480" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.hevc.decoder.secure" type="video/hevc" >
|
||||
<Alias name="OMX.qcom.video.decoder.hevc.secure"/>
|
||||
<Limit name="size" min="96x96" max="4096x2176" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="block-count" range="36-34816" />
|
||||
<Limit name="blocks-per-second" min="36" max="1958400" />
|
||||
<Limit name="bitrate" range="1-40000000" />
|
||||
<Limit name="frame-rate" range="1-60" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="secure-playback" required="true" />
|
||||
<Feature name="low-latency" />
|
||||
<Limit name="concurrent-instances" max="3" />
|
||||
<Limit name="performance-point-4096x2304" value="30" />
|
||||
<Limit name="performance-point-3840x2160" value="60" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.vp9.decoder" type="video/x-vnd.on2.vp9" >
|
||||
<Alias name="OMX.qcom.video.decoder.vp9"/>
|
||||
<Limit name="size" min="96x96" max="4096x2176" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="block-count" range="36-34816" />
|
||||
<Limit name="blocks-per-second" min="36" max="1958400" />
|
||||
<Limit name="bitrate" range="1-100000000" />
|
||||
<Limit name="frame-rate" range="1-60" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Limit name="concurrent-instances" max="3" />
|
||||
<Limit name="performance-point-4096x2304" value="30" />
|
||||
<Limit name="performance-point-3840x2160" value="60" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.vp9.decoder.secure" type="video/x-vnd.on2.vp9" >
|
||||
<Alias name="OMX.qcom.video.decoder.vp9.secure"/>
|
||||
<Limit name="size" min="96x96" max="4096x2176" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="block-count" range="36-34816" />
|
||||
<Limit name="blocks-per-second" min="36" max="1958400" />
|
||||
<Limit name="bitrate" range="1-40000000" />
|
||||
<Limit name="frame-rate" range="1-60" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="secure-playback" required="true" />
|
||||
<Limit name="concurrent-instances" max="3" />
|
||||
<Limit name="performance-point-4096x2304" value="30" />
|
||||
<Limit name="performance-point-3840x2160" value="60" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.mpeg2.decoder" type="video/mpeg2" >
|
||||
<Alias name="OMX.qcom.video.decoder.mpeg2"/>
|
||||
<Limit name="size" min="96x96" max="1920x1088" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="block-count" range="36-8160" />
|
||||
<Limit name="blocks-per-second" min="36" max="244800" />
|
||||
<Limit name="bitrate" range="1-40000000" />
|
||||
<Limit name="frame-rate" range="1-30" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="performance-point-1920x1080" value="30" />
|
||||
</MediaCodec>
|
||||
</Decoders>
|
||||
<Encoders>
|
||||
<!-- C2 encoders -->
|
||||
<MediaCodec name="c2.qti.avc.encoder" type="video/avc">
|
||||
<Alias name="OMX.qcom.video.encoder.avc"/>
|
||||
<Limit name="size" min="128x128" max="4096x2176" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" min="64" max="1958400" />
|
||||
<Limit name="block-count" range="64-34816" />
|
||||
<Limit name="bitrate" range="1-100000000" />
|
||||
<Limit name="frame-rate" range="1-480" />
|
||||
<Limit name="complexity" range="0-100" default="100" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Feature name="bitrate-modes" value="VBR,CBR" />
|
||||
<Limit name="performance-point-4096x2304" value="30" />
|
||||
<Limit name="performance-point-3840x2160" value="60" />
|
||||
<Limit name="performance-point-1920x1080" value="240" />
|
||||
<Limit name="performance-point-1280x720" value="480" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.hevc.encoder" type="video/hevc">
|
||||
<Alias name="OMX.qcom.video.encoder.hevc"/>
|
||||
<Limit name="size" min="128x128" max="4096x2176" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" min="64" max="1958400" />
|
||||
<Limit name="block-count" range="64-34816" />
|
||||
<Limit name="bitrate" range="1-100000000" />
|
||||
<Limit name="frame-rate" range="1-480" />
|
||||
<Limit name="complexity" range="0-100" default="100" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Feature name="bitrate-modes" value="VBR,CBR" />
|
||||
<Limit name="performance-point-4096x2304" value="30" />
|
||||
<Limit name="performance-point-3840x2160" value="60" />
|
||||
<Limit name="performance-point-1920x1080" value="240" />
|
||||
<Limit name="performance-point-1280x720" value="480" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.hevc.encoder.cq" type="video/hevc">
|
||||
<Alias name="OMX.qcom.video.encoder.hevc.cq"/>
|
||||
<Limit name="size" min="128x128" max="512x512" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" min="64" max="20480" />
|
||||
<Limit name="bitrate" range="1-160000000" />
|
||||
<Limit name="frame-rate" range="1-20" />
|
||||
<Limit name="complexity" range="0-100" default="100" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="quality" range="0-100" default="80" />
|
||||
<Feature name="bitrate-modes" value="CQ" />
|
||||
<Limit name="performance-point-512x512" value="2025" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.heic.encoder" type="image/vnd.android.heic">
|
||||
<Alias name="OMX.qcom.video.encoder.heic"/>
|
||||
<Limit name="size" min="512x512" max="16384x16384" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" min="64" max="3916800" />
|
||||
<Limit name="bitrate" range="1-160000000" />
|
||||
<Limit name="frame-rate" range="1-20" />
|
||||
<Limit name="complexity" range="0-100" default="100" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="quality" range="0-100" default="80" />
|
||||
<Feature name="bitrate-modes" value="CQ" />
|
||||
<Limit name="performance-point-16384x8192" value="3" />
|
||||
<Limit name="performance-point-1920x1080" value="6" />
|
||||
</MediaCodec>
|
||||
</Encoders>
|
||||
</MediaCodecs>
|
312
media/media_codecs_blair.xml
Normal file
312
media/media_codecs_blair.xml
Normal file
|
@ -0,0 +1,312 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!--
|
||||
Copyright (c) 2018-2021 Qualcomm Technologies, Inc.
|
||||
All Rights Reserved.
|
||||
Confidential and Proprietary - Qualcomm Technologies, Inc.
|
||||
|
||||
Not a Contribution.
|
||||
|
||||
Copyright (C) 2012-2018 The Linux Foundation. All rights reserved.
|
||||
Copyright (C) 2012-2013 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.
|
||||
-->
|
||||
|
||||
<!--
|
||||
"performance-point"
|
||||
Vendor-guaranteed performance advertised to the applications
|
||||
<Limit name="performance-point-widthxheight" value="fps" />
|
||||
|
||||
-For each of the resolutions, the advertised fps is the max supported,
|
||||
with HW-friendly color format and considering video-only.
|
||||
-Performance for any intermediate resolution will be that of the
|
||||
next-higher-advertised-resolution.
|
||||
|
||||
standard sizes: 480p/576p (SD), 720p (HD), 1080p (FHD), 2160p (UHD)
|
||||
standard frame rates: 24, 25, 30, 48+, 50, 60, 100*, 120*, 200*, 240* fps
|
||||
* HD+ only
|
||||
+ SD only
|
||||
- All supported standard performance points are listed (unless they are
|
||||
covered by another listed standard performance point)
|
||||
- Non-standard performance points are listed along with all the standard
|
||||
performance points covered by them.
|
||||
-->
|
||||
|
||||
<!--
|
||||
Holi Non-Secure decoder capabilities
|
||||
(MB is defined as 16x16)
|
||||
|
||||
_______________________________________________________
|
||||
| Codec | W H fps Mbps MB/s |
|
||||
|_____________|_________________________________________|
|
||||
| h264 | 1920 1088 60 60 489600 |
|
||||
| hevc | 1920 1080 60 60 489600 |
|
||||
| vp9 | 1920 1088 60 60 489600 |
|
||||
|_____________|_________________________________________|
|
||||
|
||||
Secure decoder capabilities
|
||||
(MB is defined as 16x16)
|
||||
|
||||
_____________________________________________________
|
||||
| Codec | W H fps Mbps MB/s |
|
||||
|__________|_________________________________________|
|
||||
| h264 | 1920 1088 60 35 489600 |
|
||||
| vp9 | 1920 1088 60 35 489600 |
|
||||
| hevc | 1920 1088 60 35 489600 |
|
||||
|__________|_________________________________________|
|
||||
|
||||
|
||||
Non-Secure encoder capabilities (Secure not supported)
|
||||
(MB is defined as 16x16)
|
||||
|
||||
______________________________________________________
|
||||
| Codec | W H fps Mbps MB/s |
|
||||
|__________|_________________________________________|
|
||||
| h264 | 1920 1088 60 60 489600 |
|
||||
| hevc | 1920 1088 60 60 489600 |
|
||||
|__________|_________________________________________|
|
||||
-->
|
||||
|
||||
<MediaCodecs>
|
||||
<Settings>
|
||||
<Domain name="telephony" enabled="true" />
|
||||
<Setting name="max-video-encoder-input-buffers" value="11" />
|
||||
</Settings>
|
||||
<Settings>
|
||||
<Variant name="slow-cpu" enabled="true" />
|
||||
</Settings>
|
||||
<Decoders>
|
||||
<!-- C2 decoders -->
|
||||
<MediaCodec name="c2.qti.avc.decoder" type="video/avc">
|
||||
<Alias name="OMX.qcom.video.decoder.avc"/>
|
||||
<Limit name="size" min="96x96" max="1920x1088" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" range="36-489600" />
|
||||
<Limit name="bitrate" range="1-60000000" />
|
||||
<Limit name="frame-rate" range="1-120" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="performance-point-1920x1080" value="60" />
|
||||
<Limit name="performance-point-1280x720" value="120" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.avc.decoder.low_latency" type="video/avc">
|
||||
<Alias name="OMX.qcom.video.decoder.avc.low_latency"/>
|
||||
<Limit name="size" min="96x96" max="1920x1088" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" range="36-489600" />
|
||||
<Limit name="bitrate" range="1-60000000" />
|
||||
<Limit name="frame-rate" range="1-120" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
<Feature name="low-latency" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="performance-point-1920x1080" value="60" />
|
||||
<Limit name="performance-point-1280x720" value="120" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.avc.decoder.secure" type="video/avc" >
|
||||
<Alias name="OMX.qcom.video.decoder.avc.secure"/>
|
||||
<Limit name="size" min="96x96" max="1920x1088" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" min="36" max="489600" />
|
||||
<Limit name="bitrate" range="1-35000000" />
|
||||
<Limit name="frame-rate" range="1-60" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
<Feature name="low-latency" />
|
||||
<Feature name="secure-playback" required="true" />
|
||||
<Limit name="concurrent-instances" max="3" />
|
||||
<Limit name="concurrent-instances" max="3" />
|
||||
<Limit name="performance-point-1920x1080" value="30" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.hevc.decoder" type="video/hevc" >
|
||||
<Alias name="OMX.qcom.video.decoder.hevc"/>
|
||||
<Limit name="size" min="96x96" max="1920x1088" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" min="36" max="489600" />
|
||||
<Limit name="bitrate" range="1-60000000" />
|
||||
<Limit name="frame-rate" range="1-120" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="performance-point-1920x1080" value="60" />
|
||||
<Limit name="performance-point-1280x720" value="120" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.hevc.decoder.low_latency" type="video/hevc" >
|
||||
<Alias name="OMX.qcom.video.decoder.hevc.low_latency"/>
|
||||
<Limit name="size" min="96x96" max="1920x1088" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" min="36" max="489600" />
|
||||
<Limit name="bitrate" range="1-60000000" />
|
||||
<Limit name="frame-rate" range="1-120" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
<Feature name="low-latency" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="performance-point-1920x1080" value="60" />
|
||||
<Limit name="performance-point-1280x720" value="120" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.hevc.decoder.secure" type="video/hevc" >
|
||||
<Alias name="OMX.qcom.video.decoder.hevc.secure"/>
|
||||
<Limit name="size" min="96x96" max="1920x1088" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" min="36" max="489600" />
|
||||
<Limit name="bitrate" range="1-35000000" />
|
||||
<Limit name="frame-rate" range="1-60" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
<Feature name="low-latency" />
|
||||
<Feature name="secure-playback" required="true" />
|
||||
<Limit name="concurrent-instances" max="3" />
|
||||
<Limit name="performance-point-1920x1080" value="30" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.vp9.decoder" type="video/x-vnd.on2.vp9" >
|
||||
<Alias name="OMX.qcom.video.decoder.vp9"/>
|
||||
<Limit name="size" min="96x96" max="1920x1088" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" min="36" max="489600" />
|
||||
<Limit name="bitrate" range="1-60000000" />
|
||||
<Limit name="frame-rate" range="1-60" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
<Limit name="concurrent-instances" max="3" />
|
||||
<Limit name="performance-point-1920x1080" value="60" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.vp9.decoder.secure" type="video/x-vnd.on2.vp9" >
|
||||
<Alias name="OMX.qcom.video.decoder.vp9.secure"/>
|
||||
<Limit name="size" min="96x96" max="1920x1088" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" min="36" max="489600" />
|
||||
<Limit name="bitrate" range="1-35000000" />
|
||||
<Limit name="frame-rate" range="1-60" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
<Feature name="secure-playback" required="true" />
|
||||
<Limit name="concurrent-instances" max="3" />
|
||||
<Limit name="performance-point-1920x1080" value="30" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.av1.decoder" type="video/av01" update="true" variant="slow-cpu">
|
||||
<Limit name="size" min="96x96" max="1920x1080" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" min="24" max="2073600" />
|
||||
<Limit name="bitrate" range="1-120000000" />
|
||||
<Limit name="frame-rate" range="1-60" />
|
||||
<Feature name="adaptive-playback" />
|
||||
</MediaCodec>
|
||||
</Decoders>
|
||||
<Encoders>
|
||||
<!-- C2 encoders -->
|
||||
<MediaCodec name="c2.qti.avc.encoder" type="video/avc">
|
||||
<Alias name="OMX.qcom.video.encoder.avc"/>
|
||||
<Limit name="size" min="128x128" max="1920x1088" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" min="64" max="489600" />
|
||||
<Limit name="bitrate" range="1-60000000" />
|
||||
<Limit name="frame-rate" range="1-120" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Feature name="intra-refresh" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
<Feature name="bitrate-modes" value="VBR,CBR" />
|
||||
<Limit name="performance-point-1920x1080" value="60" />
|
||||
<Limit name="performance-point-1280x720" value="120" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.hevc.encoder" type="video/hevc">
|
||||
<Alias name="OMX.qcom.video.encoder.hevc"/>
|
||||
<Limit name="size" min="128x128" max="1920x1088" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" min="64" max="489600" />
|
||||
<Limit name="bitrate" range="1-60000000" />
|
||||
<Limit name="frame-rate" range="1-120" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Feature name="bitrate-modes" value="VBR,CBR" />
|
||||
<Feature name="intra-refresh" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
<Limit name="performance-point-1920x1080" value="60" />
|
||||
<Limit name="performance-point-1280x720" value="120" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.hevc.encoder.cq" type="video/hevc">
|
||||
<Alias name="OMX.qcom.video.encoder.hevc.cq"/>
|
||||
<Limit name="size" min="128x128" max="512x512" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" min="64" max="786432" />
|
||||
<Limit name="bitrate" range="1-60000000" />
|
||||
<Limit name="frame-rate" range="1-120" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="quality" range="0-100" default="80" />
|
||||
<Feature name="bitrate-modes" value="CQ" />
|
||||
<Limit name="performance-point-512x512" value="3825" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.heic.encoder" type="image/vnd.android.heic">
|
||||
<Alias name="OMX.qcom.video.encoder.heic"/>
|
||||
<Limit name="size" min="512x512" max="8192x8192" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" min="64" max="786432" />
|
||||
<Limit name="bitrate" range="1-60000000" />
|
||||
<Limit name="frame-rate" range="1-20" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="quality" range="0-100" default="80" />
|
||||
<Feature name="bitrate-modes" value="CQ" />
|
||||
<Limit name="performance-point-8192x4320" value="3" />
|
||||
<Limit name="performance-point-1920x1080" value="6" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.hevc.encoder" type="video/hevc" update="true" variant="slow-cpu">
|
||||
<!-- profiles and levels: ProfileMain : MainTierLevel51 -->
|
||||
<Limit name="size" min="2x2" max="512x512" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="8x8" />
|
||||
<Limit name="block-count" range="1-4096" /> <!-- max 512x512 -->
|
||||
<Limit name="blocks-per-second" range="1-122880" />
|
||||
<Limit name="frame-rate" range="1-120" />
|
||||
<Limit name="bitrate" range="1-10000000" />
|
||||
<Limit name="complexity" range="0-10" default="0" />
|
||||
<Limit name="quality" range="0-100" default="80" />
|
||||
<Feature name="bitrate-modes" value="VBR,CBR,CQ" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.vp9.encoder" type="video/x-vnd.on2.vp9" update="true" variant="slow-cpu">
|
||||
<!-- profiles and levels: ProfileMain : Level_Version0-3 -->
|
||||
<Limit name="size" min="2x2" max="2048x2048" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<!-- 2016 devices can encode at about 8fps at this block count -->
|
||||
<Limit name="block-count" range="1-3600" /> <!-- max 1280x720 -->
|
||||
<Limit name="bitrate" range="1-40000000" />
|
||||
<Feature name="bitrate-modes" value="VBR,CBR" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.av1.encoder" type="video/av01" update="true" variant="slow-cpu">
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="size" min="2x2" max="720x720" />
|
||||
<Limit name="block-count" range="1-1350" /> <!-- max 720x480 -->
|
||||
<Limit name="bitrate" range="1-5000000" />
|
||||
<Limit name="quality" range="0-100" default="80" />
|
||||
<Limit name="complexity" range="0-5" default="0" />
|
||||
<Feature name="bitrate-modes" value="VBR,CBR,CQ" />
|
||||
<Attribute name="software-codec" />
|
||||
</MediaCodec>
|
||||
</Encoders>
|
||||
</MediaCodecs>
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!--
|
||||
Copyright (c) 2018-2020 Qualcomm Technologies, Inc.
|
||||
Copyright (c) 2018-2022 Qualcomm Technologies, Inc.
|
||||
All Rights Reserved.
|
||||
Confidential and Proprietary - Qualcomm Technologies, Inc.
|
||||
|
||||
|
@ -78,10 +78,8 @@
|
|||
-->
|
||||
|
||||
<MediaCodecs>
|
||||
<Include href="media_codecs_google_audio.xml" />
|
||||
<Include href="media_codecs_vendor_audio.xml" />
|
||||
<Include href="media_codecs_google_telephony.xml" />
|
||||
<Settings>
|
||||
<Domain name="telephony" enabled="true" />
|
||||
<Setting name="max-video-encoder-input-buffers" value="11" />
|
||||
</Settings>
|
||||
<Settings>
|
||||
|
@ -99,6 +97,7 @@
|
|||
<Limit name="frame-rate" range="1-120" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="performance-point-1920x1080" value="60" />
|
||||
<Limit name="performance-point-1280x720" value="120" />
|
||||
|
@ -113,6 +112,8 @@
|
|||
<Limit name="frame-rate" range="1-120" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
<Feature name="low-latency" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="performance-point-1920x1080" value="60" />
|
||||
<Limit name="performance-point-1280x720" value="120" />
|
||||
|
@ -126,6 +127,8 @@
|
|||
<Limit name="bitrate" range="1-35000000" />
|
||||
<Limit name="frame-rate" range="1-60" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
<Feature name="low-latency" />
|
||||
<Feature name="secure-playback" required="true" />
|
||||
<Limit name="concurrent-instances" max="3" />
|
||||
<Limit name="concurrent-instances" max="3" />
|
||||
|
@ -140,6 +143,7 @@
|
|||
<Limit name="bitrate" range="1-60000000" />
|
||||
<Limit name="frame-rate" range="1-120" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="performance-point-1920x1080" value="60" />
|
||||
<Limit name="performance-point-1280x720" value="120" />
|
||||
|
@ -153,6 +157,8 @@
|
|||
<Limit name="bitrate" range="1-60000000" />
|
||||
<Limit name="frame-rate" range="1-120" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
<Feature name="low-latency" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="performance-point-1920x1080" value="60" />
|
||||
<Limit name="performance-point-1280x720" value="120" />
|
||||
|
@ -166,6 +172,8 @@
|
|||
<Limit name="bitrate" range="1-35000000" />
|
||||
<Limit name="frame-rate" range="1-60" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
<Feature name="low-latency" />
|
||||
<Feature name="secure-playback" required="true" />
|
||||
<Limit name="concurrent-instances" max="3" />
|
||||
<Limit name="performance-point-1920x1080" value="30" />
|
||||
|
@ -179,6 +187,7 @@
|
|||
<Limit name="bitrate" range="1-60000000" />
|
||||
<Limit name="frame-rate" range="1-60" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
<Limit name="concurrent-instances" max="3" />
|
||||
<Limit name="performance-point-1920x1080" value="60" />
|
||||
</MediaCodec>
|
||||
|
@ -191,6 +200,7 @@
|
|||
<Limit name="bitrate" range="1-35000000" />
|
||||
<Limit name="frame-rate" range="1-60" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
<Feature name="secure-playback" required="true" />
|
||||
<Limit name="concurrent-instances" max="3" />
|
||||
<Limit name="performance-point-1920x1080" value="30" />
|
||||
|
@ -216,6 +226,9 @@
|
|||
<Limit name="bitrate" range="1-60000000" />
|
||||
<Limit name="frame-rate" range="1-120" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Feature name="intra-refresh" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
<Feature name="bitrate-modes" value="VBR,CBR" />
|
||||
<Limit name="performance-point-1920x1080" value="60" />
|
||||
<Limit name="performance-point-1280x720" value="120" />
|
||||
</MediaCodec>
|
||||
|
@ -229,6 +242,8 @@
|
|||
<Limit name="frame-rate" range="1-120" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Feature name="bitrate-modes" value="VBR,CBR" />
|
||||
<Feature name="intra-refresh" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
<Limit name="performance-point-1920x1080" value="60" />
|
||||
<Limit name="performance-point-1280x720" value="120" />
|
||||
</MediaCodec>
|
||||
|
@ -283,5 +298,4 @@
|
|||
<Feature name="bitrate-modes" value="VBR,CBR" />
|
||||
</MediaCodec>
|
||||
</Encoders>
|
||||
<Include href="media_codecs_google_c2.xml" />
|
||||
</MediaCodecs>
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!--
|
||||
Copyright (c) 2018-2020 Qualcomm Technologies, Inc.
|
||||
Copyright (c) 2018-2021 Qualcomm Technologies, Inc.
|
||||
All Rights Reserved.
|
||||
Confidential and Proprietary - Qualcomm Technologies, Inc.
|
||||
|
||||
|
@ -78,10 +78,8 @@
|
|||
-->
|
||||
|
||||
<MediaCodecs>
|
||||
<Include href="media_codecs_google_audio.xml" />
|
||||
<Include href="media_codecs_vendor_audio.xml" />
|
||||
<Include href="media_codecs_google_telephony.xml" />
|
||||
<Settings>
|
||||
<Domain name="telephony" enabled="true" />
|
||||
<Setting name="max-video-encoder-input-buffers" value="11" />
|
||||
</Settings>
|
||||
<Settings>
|
||||
|
@ -99,6 +97,7 @@
|
|||
<Limit name="frame-rate" range="1-120" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="performance-point-1920x1080" value="60" />
|
||||
<Limit name="performance-point-1280x720" value="120" />
|
||||
|
@ -113,6 +112,7 @@
|
|||
<Limit name="frame-rate" range="1-120" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
<Feature name="low-latency" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="performance-point-1920x1080" value="60" />
|
||||
|
@ -127,6 +127,7 @@
|
|||
<Limit name="bitrate" range="1-35000000" />
|
||||
<Limit name="frame-rate" range="1-60" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
<Feature name="low-latency" />
|
||||
<Feature name="secure-playback" required="true" />
|
||||
<Limit name="concurrent-instances" max="3" />
|
||||
|
@ -142,6 +143,7 @@
|
|||
<Limit name="bitrate" range="1-60000000" />
|
||||
<Limit name="frame-rate" range="1-120" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="performance-point-1920x1080" value="60" />
|
||||
<Limit name="performance-point-1280x720" value="120" />
|
||||
|
@ -155,6 +157,7 @@
|
|||
<Limit name="bitrate" range="1-60000000" />
|
||||
<Limit name="frame-rate" range="1-120" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
<Feature name="low-latency" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="performance-point-1920x1080" value="60" />
|
||||
|
@ -169,6 +172,7 @@
|
|||
<Limit name="bitrate" range="1-35000000" />
|
||||
<Limit name="frame-rate" range="1-60" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
<Feature name="low-latency" />
|
||||
<Feature name="secure-playback" required="true" />
|
||||
<Limit name="concurrent-instances" max="3" />
|
||||
|
@ -183,6 +187,7 @@
|
|||
<Limit name="bitrate" range="1-60000000" />
|
||||
<Limit name="frame-rate" range="1-60" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
<Limit name="concurrent-instances" max="3" />
|
||||
<Limit name="performance-point-1920x1080" value="60" />
|
||||
</MediaCodec>
|
||||
|
@ -195,6 +200,7 @@
|
|||
<Limit name="bitrate" range="1-35000000" />
|
||||
<Limit name="frame-rate" range="1-60" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
<Feature name="secure-playback" required="true" />
|
||||
<Limit name="concurrent-instances" max="3" />
|
||||
<Limit name="performance-point-1920x1080" value="30" />
|
||||
|
@ -220,6 +226,9 @@
|
|||
<Limit name="bitrate" range="1-60000000" />
|
||||
<Limit name="frame-rate" range="1-120" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Feature name="intra-refresh" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
<Feature name="bitrate-modes" value="VBR,CBR" />
|
||||
<Limit name="performance-point-1920x1080" value="60" />
|
||||
<Limit name="performance-point-1280x720" value="120" />
|
||||
</MediaCodec>
|
||||
|
@ -233,6 +242,8 @@
|
|||
<Limit name="frame-rate" range="1-120" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Feature name="bitrate-modes" value="VBR,CBR" />
|
||||
<Feature name="intra-refresh" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
<Limit name="performance-point-1920x1080" value="60" />
|
||||
<Limit name="performance-point-1280x720" value="120" />
|
||||
</MediaCodec>
|
||||
|
@ -287,5 +298,4 @@
|
|||
<Feature name="bitrate-modes" value="VBR,CBR" />
|
||||
</MediaCodec>
|
||||
</Encoders>
|
||||
<Include href="media_codecs_google_c2.xml" />
|
||||
</MediaCodecs>
|
168
media/media_codecs_performance.xml
Normal file
168
media/media_codecs_performance.xml
Normal file
|
@ -0,0 +1,168 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!--
|
||||
Copyright (c) 2018-2020 Qualcomm Technologies, Inc.
|
||||
All Rights Reserved.
|
||||
Confidential and Proprietary - Qualcomm Technologies, Inc.
|
||||
|
||||
Not a Contribution.
|
||||
|
||||
Copyright (C) 2012-2017 The Linux Foundation. All rights reserved.
|
||||
Copyright (C) 2012-2013 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.
|
||||
-->
|
||||
|
||||
<MediaCodecs>
|
||||
<Decoders>
|
||||
<!-- C2 HW decoders -->
|
||||
<MediaCodec name="c2.qti.avc.decoder" type="video/avc" update="true">
|
||||
<Limit name="measured-frame-rate-320x240" range="280-397" />
|
||||
<Limit name="measured-frame-rate-720x480" range="450-1700" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="250-950" />
|
||||
<Limit name="measured-frame-rate-1920x1088" range="120-500" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.avc.decoder.low_latency" type="video/avc" update="true">
|
||||
<Limit name="measured-frame-rate-320x240" range="380-2000" />
|
||||
<Limit name="measured-frame-rate-720x480" range="380-2000" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="253-950" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="120-410" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.hevc.decoder" type="video/hevc" update="true">
|
||||
<Limit name="measured-frame-rate-352x288" range="465-1900" />
|
||||
<Limit name="measured-frame-rate-720x480" range="370-1550" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="188-397" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="260-1200" />
|
||||
<Limit name="measured-frame-rate-3840x2160" range="67-505" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.hevc.decoder.low_latency" type="video/hevc" update="true">
|
||||
<Limit name="measured-frame-rate-352x288" range="390-1850" />
|
||||
<Limit name="measured-frame-rate-640x360" range="243-397" />
|
||||
<Limit name="measured-frame-rate-720x480" range="380-1700" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="315-1920" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="220-800" />
|
||||
<Limit name="measured-frame-rate-3840x2160" range="67-240" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
|
||||
<Limit name="measured-frame-rate-320x180" range="415-1700" />
|
||||
<Limit name="measured-frame-rate-640x360" range="265-1600" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="142-450" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="130-450" />
|
||||
<Limit name="measured-frame-rate-3840x2160" range="39-255" />
|
||||
</MediaCodec>
|
||||
<!-- TODO: add C2 mpeg2 decoder performance data -->
|
||||
|
||||
<!-- C2 SW codecs -->
|
||||
<MediaCodec name="c2.android.avc.decoder" type="video/avc" update="true">
|
||||
<!-- measured 98%:153-414 med:193/192 FLAKY(mn=61.7 < 96 - 414 < mx=423.7) -->
|
||||
<Limit name="measured-frame-rate-320x240" range="211-600" /> <!-- N=266 v98%=1.6 -->
|
||||
<Limit name="measured-frame-rate-720x480" range="57-405" /> <!-- N=266 v98%=1.5 -->
|
||||
<Limit name="measured-frame-rate-1280x720" range="17-98" /> <!-- N=236 v98%=1.5 (-PD1A.180712.003) -->
|
||||
<Limit name="measured-frame-rate-1920x1080" range="20-28" /> <!-- N=272 v98%=1.4 -->
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.hevc.decoder" type="video/hevc" update="true">
|
||||
<Limit name="measured-frame-rate-352x288" range="220-950" /> <!-- N=270 v98%=1.6 -->
|
||||
<!-- measured 98%:77-220 med:165/169 FLAKY(mn=74.9 < 75 - 338) -->
|
||||
<Limit name="measured-frame-rate-640x360" range="120-830" /> <!-- TWEAKED N=269 v98%=1.7 -->
|
||||
<!-- measured 98%:85-223 med:194/186 FLAKY(mn=80.8 < 85 - 372) -->
|
||||
<Limit name="measured-frame-rate-720x480" range="129-563" /> <!-- TWEAKED N=270 v98%=1.6 -->
|
||||
<Limit name="measured-frame-rate-1280x720" range="41-200" /> <!-- N=270 v98%=1.4 -->
|
||||
<Limit name="measured-frame-rate-1920x1080" range="25-100" /> <!-- N=230 v98%=1.2 (-PD1A.180706.000) -->
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
|
||||
<!-- measured 98%:191-657 med:617/613 FLAKY(mn=183.9 < 191 - 1226) -->
|
||||
<Limit name="measured-frame-rate-320x180" range="550-1850" /> <!-- TWEAKED N=270 v98%=1.9 (-PD1A.180717.001) -->
|
||||
<Limit name="measured-frame-rate-640x360" range="250-800" /> <!-- N=230 v98%=1.3 -->
|
||||
<!-- measured 98%:35-54 med:36/36 N=64 -->
|
||||
<Limit name="measured-frame-rate-1280x720" range="59-360" /> <!-- v98%=1.2 (PD1A.180706.000-) -->
|
||||
<Limit name="measured-frame-rate-1920x1080" range="23-113" /> <!-- N=270 v98%=1.3 (-PD1A.180717.001) -->
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
|
||||
<!-- measured 98%:173-698 med:670/668 FLAKY(mn=161.4 < 162 - 1336) variance:2.0 -->
|
||||
<Limit name="measured-frame-rate-320x180" range="488-1500" /> <!-- TWEAKED N=228 -->
|
||||
<Limit name="measured-frame-rate-640x360" range="265-900" /> <!-- N=272 v98%=1.9 (-PD1A.180717.001) -->
|
||||
<Limit name="measured-frame-rate-1280x720" range="95-400" /> <!-- N=270 v98%=1.3 (-PD1A.180717.001) -->
|
||||
<Limit name="measured-frame-rate-1920x1080" range="50-215" /> <!-- N=230 v98%=1.2 -->
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.h263.decoder" type="video/3gpp" update="true">
|
||||
<!-- measured 98%:151-1143 med:437/432 FLAKY(111 - 972 < mx=1146.8) variance:2.8 -->
|
||||
<Limit name="measured-frame-rate-176x144" range="800-2600" /> <!-- N=270 -->
|
||||
<Limit name="measured-frame-rate-352x288" range="620-1900" /> <!-- N=270 -->
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.mpeg4.decoder" type="video/mp4v-es" update="true">
|
||||
<!-- measured 90%:149-1332 med:379/360 FLAKY(109 - 958 < mx=1400.6) RG.VARIANCE:2.1 -->
|
||||
<Limit name="measured-frame-rate-176x144" range="865-2800" /> <!-- N=272 v90%=3.0 -->
|
||||
</MediaCodec>
|
||||
</Decoders>
|
||||
|
||||
<Encoders>
|
||||
<!-- C2 HW encoders -->
|
||||
<MediaCodec name="c2.qti.avc.encoder" type="video/avc" update="true">
|
||||
<Limit name="measured-frame-rate-320x240" range="200-600" />
|
||||
<Limit name="measured-frame-rate-720x480" range="64-140" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="26-56" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="20-44" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.hevc.encoder" type="video/hevc" update="true">
|
||||
<Limit name="measured-frame-rate-320x240" range="480-535" />
|
||||
<Limit name="measured-frame-rate-720x480" range="165-210" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="35-250" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="17-37" />
|
||||
<Limit name="measured-frame-rate-3840x2160" range="11-25" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.hevc.encoder.cq" type="video/hevc" update="true">
|
||||
<Limit name="measured-frame-rate-320x240" range="340-400" />
|
||||
</MediaCodec>
|
||||
|
||||
<!-- C2 SW encoders -->
|
||||
<MediaCodec name="c2.android.h263.encoder" type="video/3gpp" update="true">
|
||||
<!-- measured 95%:144-637 med:343/343 FLAKY(mn=40.8 < 144 - 808 < mx=916.6) variance:2.1 -->
|
||||
<Limit name="measured-frame-rate-176x144" range="287-459" /> <!-- TWEAKED N=224 -->
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.avc.encoder" type="video/avc" update="true">
|
||||
<!-- measured 90%:42-420 med:146/160 FLAKY(mn=39.0 < 42 - 368 < mx=569.5) RG.VARIANCE:2.2 -->
|
||||
<Limit name="measured-frame-rate-320x240" range="140-980" /> <!-- SHOULDN'T HAVE TWEAKED N=266 v90%=3.2 -->
|
||||
<!-- measured 98%:29-166 med:66/63 FLAKY(24 - 166 < mx=166.5) variance:2.4 -->
|
||||
<Limit name="measured-frame-rate-720x480" range="47-83" /> <!-- N=262 -->
|
||||
<!-- measured 98%:11-68 med:30/30 FLAKY(mn=10.5 < 11 - 68 < mx=82.1) variance:2.5 -->
|
||||
<Limit name="measured-frame-rate-1280x720" range="30-200" /> <!-- TWEAKED N=236 -->
|
||||
<!-- measured 98%:10-38 med:18/18 FLAKY(mn=5.2 < 9 - 38 < mx=38.8) -->
|
||||
<Limit name="measured-frame-rate-1920x1080" range="20-80" /> <!-- N=288 v98%=2.0 -->
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.mpeg4.encoder" type="video/mp4v-es" update="true">
|
||||
<!-- measured 90%:29-451 med:208/206 FLAKY(mn=19.2 < 47 - 412 < mx=888.9) RG.VARIANCE:2.5 -->
|
||||
<Limit name="measured-frame-rate-176x144" range="203-445" /> <!-- SHOULDN'T HAVE TWEAKED N=220 v90%=4.0 -->
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
|
||||
<!-- measured 90%:6-36 med:30/29 FLAKY(mn=0.0 < 7 - 58) variance:2.5 -->
|
||||
<Limit name="measured-frame-rate-320x180" range="299-429" /> <!-- SHOULDN'T HAVE TWEAKED N=214 -->
|
||||
<!-- measured 98%:3-24 med:12/12 FLAKY(mn=2.8 < 3 - 24 < mx=26.6) variance:2.8 -->
|
||||
<Limit name="measured-frame-rate-640x360" range="75-350" /> <!-- N=220 -->
|
||||
<!-- measured 98%:3-11 med:6/6 FLAKY(mn=0.0 < 3 - 12) -->
|
||||
<Limit name="measured-frame-rate-1280x720" range="24-85" /> <!-- N=202 v98%=2.0 -->
|
||||
<!-- measured 98%:3-7 med:5/5 FLAKY(mn=0.0 < 2 - 10 < mx=11.2) -->
|
||||
<Limit name="measured-frame-rate-1920x1080" range="10-115" /> <!-- N=212 v98%=1.5 -->
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.vp9.encoder" type="video/x-vnd.on2.vp9" update="true">
|
||||
<!-- measured 93%:99-156 med:109/109 N=24 -->
|
||||
<Limit name="measured-frame-rate-320x180" range="109-109" /> <!-- v93%=1.3 -->
|
||||
<!-- measured 95%:54-67 med:61/61 N=36 -->
|
||||
<Limit name="measured-frame-rate-640x360" range="61-61" /> <!-- v95%=1.1 -->
|
||||
<!-- measured 95%:16-26 med:20/20 N=32 -->
|
||||
<Limit name="measured-frame-rate-1280x720" range="20-20" /> <!-- v95%=1.3 -->
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.hevc.encoder" type="video/hevc" update="true">
|
||||
<Limit name="measured-frame-rate-320x240" range="38-47" />
|
||||
<Limit name="measured-frame-rate-720x480" range="8-15" />
|
||||
</MediaCodec>
|
||||
</Encoders>
|
||||
</MediaCodecs>
|
207
media/media_codecs_performance_blair.xml
Normal file
207
media/media_codecs_performance_blair.xml
Normal file
|
@ -0,0 +1,207 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!--
|
||||
Copyright (c) 2018-2021 Qualcomm Technologies, Inc.
|
||||
All Rights Reserved.
|
||||
Confidential and Proprietary - Qualcomm Technologies, Inc.
|
||||
|
||||
Not a Contribution.
|
||||
|
||||
Copyright (C) 2012-2017 The Linux Foundation. All rights reserved.
|
||||
Copyright (C) 2012-2013 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.
|
||||
-->
|
||||
|
||||
<MediaCodecs>
|
||||
<Encoders>
|
||||
<MediaCodec name="c2.qti.avc.encoder" type="video/avc" update="true">
|
||||
<Limit name="measured-frame-rate-320x240" range="238-238" />
|
||||
<Limit name="measured-frame-rate-720x480" range="123-123" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="50-50" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="13-20" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.hevc.encoder" type="video/hevc" update="true">
|
||||
<Limit name="measured-frame-rate-320x240" range="226-226" />
|
||||
<Limit name="measured-frame-rate-720x480" range="121-121" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="49-49" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="12-17" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.avc.encoder" type="video/avc" update="true">
|
||||
<Limit name="measured-frame-rate-320x240" range="124-176" />
|
||||
<Limit name="measured-frame-rate-720x480" range="126-178" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="35-50" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="19-28" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.hevc.encoder" type="video/hevc" update="true">
|
||||
<!-- #ifndef OPLUS_BUG_COMPATIBILITY -->
|
||||
<!-- Xiang.Yang@MM.MediaServer.Record, 2022/7/26, -->
|
||||
<!-- Modify for CtsMediaTestCases -->
|
||||
<!--
|
||||
<Limit name="measured-frame-rate-320x240" range="17-24" />
|
||||
-->
|
||||
<!-- #else //OPLUS_BUG_COMPATIBILITY -->
|
||||
<Limit name="measured-frame-rate-320x240" range="17-29" />
|
||||
<!-- #endif //OPLUS_BUG_COMPATIBILITY -->
|
||||
<Limit name="measured-frame-rate-720x480" range="7-10" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="3-6" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="2-3" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.h263.encoder" type="video/3gpp" update="true">
|
||||
<Limit name="measured-frame-rate-176x144" range="256-349" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.mpeg4.encoder" type="video/mp4v-es" update="true">
|
||||
<Limit name="measured-frame-rate-176x144" range="250-377" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
|
||||
<Limit name="measured-frame-rate-320x180" range="85-119" />
|
||||
<Limit name="measured-frame-rate-640x360" range="94-133" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="21-30" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="10-15" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.hevc.encoder.cq" type="video/hevc" update="true">
|
||||
<Limit name="measured-frame-rate-320x240" range="190-300"/>
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.vp9.encoder" type="video/x-vnd.on2.vp9" update="true">
|
||||
<!-- measured 93%:99-156 med:109/109 N=24 -->
|
||||
<Limit name="measured-frame-rate-320x180" range="109-109" /> <!-- v93%=1.3 -->
|
||||
<!-- measured 95%:54-67 med:61/61 N=36 -->
|
||||
<Limit name="measured-frame-rate-640x360" range="61-61" /> <!-- v95%=1.1 -->
|
||||
<!-- measured 95%:16-26 med:20/20 N=32 -->
|
||||
<Limit name="measured-frame-rate-1280x720" range="20-20" /> <!-- v95%=1.3 -->
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.av1.encoder" type="video/av01" update="true">
|
||||
<!-- MANUALLY ADJUSTED -->
|
||||
<Limit name="measured-frame-rate-320x240" range="84-130" />
|
||||
<!-- MANUALLY ADJUSTED -->
|
||||
<Limit name="measured-frame-rate-720x480" range="20-43" />
|
||||
<!-- MANUALLY ADJUSTED -->
|
||||
<Limit name="measured-frame-rate-1280x720" range="8-21" />
|
||||
</MediaCodec>
|
||||
</Encoders>
|
||||
<Decoders>
|
||||
<MediaCodec name="c2.qti.avc.decoder" type="video/avc" update="true">
|
||||
<Limit name="measured-frame-rate-320x240" range="480-510" />
|
||||
<Limit name="measured-frame-rate-720x480" range="460-490" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="350-400" />
|
||||
<Limit name="measured-frame-rate-1920x1088" range="180-190" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.avc.decoder.low_latency" type="video/avc" update="true">
|
||||
<Limit name="measured-frame-rate-320x240" range="320-517" />
|
||||
<Limit name="measured-frame-rate-720x480" range="101-221" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="200-420" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="76-167" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.hevc.decoder" type="video/hevc" update="true">
|
||||
<Limit name="measured-frame-rate-352x288" range="510-530" />
|
||||
<Limit name="measured-frame-rate-720x480" range="465-620" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="200-390" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="210-230" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.hevc.decoder.low_latency" type="video/hevc" update="true">
|
||||
<Limit name="measured-frame-rate-352x288" range="273-562" />
|
||||
<Limit name="measured-frame-rate-720x480" range="440-600" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="215-425" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="118-259" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
|
||||
<Limit name="measured-frame-rate-320x240" range="377-377" />
|
||||
<Limit name="measured-frame-rate-640x360" range="323-323" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="262-262" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="220-220" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.avc.decoder" type="video/avc" update="true">
|
||||
<Limit name="measured-frame-rate-320x240" range="101-223" />
|
||||
<Limit name="measured-frame-rate-720x480" range="42-59" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="17-37" />
|
||||
<!-- #ifndef OPLUS_BUG_COMPATIBILITY -->
|
||||
<!-- Xiang.Yang@MM.MediaServer.Record, 2022/7/26, -->
|
||||
<!-- Modify for CtsMediaTestCases -->
|
||||
<!--
|
||||
<Limit name="measured-frame-rate-1920x1080" range="8-12" />
|
||||
-->
|
||||
<!-- #else //OPLUS_BUG_COMPATIBILITY -->
|
||||
<Limit name="measured-frame-rate-1920x1080" range="11-23" />
|
||||
<!-- #endif //OPLUS_BUG_COMPATIBILITY -->
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.hevc.decoder" type="video/hevc" update="true">
|
||||
<!-- #ifndef OPLUS_BUG_COMPATIBILITY -->
|
||||
<!-- Bingwang.Yang@MM.MediaServer.MULTMEDIASERVER, 2022/10/10, -->
|
||||
<!-- Modify for CtsMediaTestCases -->
|
||||
<!--
|
||||
<Limit name="measured-frame-rate-352x288" range="82-232" />
|
||||
<Limit name="measured-frame-rate-640x360" range="57-114" />
|
||||
-->
|
||||
<!-- #else //OPLUS_BUG_COMPATIBILITY -->
|
||||
<Limit name="measured-frame-rate-352x288" range="102-232" />
|
||||
<Limit name="measured-frame-rate-640x360" range="57-154" />
|
||||
<!-- #endif //OPLUS_BUG_COMPATIBILITY -->
|
||||
<!-- #ifndef OPLUS_BUG_COMPATIBILITY -->
|
||||
<!-- Xiang.Yang@MM.MediaServer.Record, 2022/1/7, -->
|
||||
<!-- Modify for CtsMediaTestCases -->
|
||||
<!--
|
||||
<Limit name="measured-frame-rate-720x480" range="69-99" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="35-51" />
|
||||
-->
|
||||
<!-- #else //OPLUS_BUG_COMPATIBILITY -->
|
||||
<Limit name="measured-frame-rate-720x480" range="69-141" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="35-71" />
|
||||
<!-- #endif //OPLUS_BUG_COMPATIBILITY -->
|
||||
<Limit name="measured-frame-rate-1920x1080" range="20-29" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.h263.decoder" type="video/3gpp" update="true">
|
||||
<Limit name="measured-frame-rate-176x144" range="376-524" />
|
||||
<Limit name="measured-frame-rate-352x288" range="310-415" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.mpeg4.decoder" type="video/mp4v-es" update="true">
|
||||
<Limit name="measured-frame-rate-176x144" range="406-543" />
|
||||
<!-- Modify for CtsMediaDecoderTestCase VideoDecoderPerfTesT -->
|
||||
<Limit name="measured-frame-rate-480x360" range="580-600" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="380-400" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
|
||||
<Limit name="measured-frame-rate-320x180" range="570-665" />
|
||||
<Limit name="measured-frame-rate-640x360" range="267-378" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="75-107" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="30-43" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
|
||||
<Limit name="measured-frame-rate-320x180" range="182-360" />
|
||||
<Limit name="measured-frame-rate-640x360" range="85-200" />
|
||||
<!-- #ifndef OPLUS_BUG_COMPATIBILITY -->
|
||||
<!-- Zongjian.Wu@MM.MediaServer.Record, 2021/11/8, -->
|
||||
<!-- Modify for CtsMediaTestCases -->
|
||||
<!--
|
||||
<Limit name="measured-frame-rate-1280x720" range="35-49" />
|
||||
-->
|
||||
<!-- #else //OPLUS_BUG_COMPATIBILITY -->
|
||||
<Limit name="measured-frame-rate-1280x720" range="35-91" />
|
||||
<!-- #endif //OPLUS_BUG_COMPATIBILITY -->
|
||||
<Limit name="measured-frame-rate-1920x1080" range="23-33" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.av1.decoder" type="video/av01" update="true">
|
||||
<Limit name="measured-frame-rate-352x288" range="114-250" />
|
||||
<Limit name="measured-frame-rate-640x360" range="89-195" />
|
||||
<Limit name="measured-frame-rate-720x480" range="57-125" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="52-115" />
|
||||
</MediaCodec>
|
||||
<!-- #ifndef OPLUS_BUG_COMPATIBILITY -->
|
||||
<!-- HuXiang@MULTIMEDIA.MEDIASERVER.PLAYER.7342822, 2024/06/17, -->
|
||||
<MediaCodec name="c2.android.av1-dav1d.decoder" type="video/av01" update="true">
|
||||
<Limit name="measured-frame-rate-352x288" range="165-363" />
|
||||
<Limit name="measured-frame-rate-640x360" range="107-235" />
|
||||
<Limit name="measured-frame-rate-720x480" range="93-210" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="37-82" />
|
||||
</MediaCodec>
|
||||
<!-- #endif -->
|
||||
</Decoders>
|
||||
</MediaCodecs>
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!--
|
||||
Copyright (c) 2018-2020 Qualcomm Technologies, Inc.
|
||||
Copyright (c) 2018-2022 Qualcomm Technologies, Inc.
|
||||
All Rights Reserved.
|
||||
Confidential and Proprietary - Qualcomm Technologies, Inc.
|
||||
|
||||
|
@ -38,7 +38,7 @@
|
|||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.avc.encoder" type="video/avc" update="true">
|
||||
<Limit name="measured-frame-rate-320x240" range="124-176" />
|
||||
<Limit name="measured-frame-rate-720x480" range="53-76" />
|
||||
<Limit name="measured-frame-rate-720x480" range="126-178" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="35-50" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="19-28" />
|
||||
</MediaCodec>
|
||||
|
@ -56,7 +56,7 @@
|
|||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
|
||||
<Limit name="measured-frame-rate-320x180" range="85-119" />
|
||||
<Limit name="measured-frame-rate-640x360" range="41-65" />
|
||||
<Limit name="measured-frame-rate-640x360" range="94-133" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="21-30" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="10-15" />
|
||||
</MediaCodec>
|
||||
|
@ -72,20 +72,19 @@
|
|||
<Limit name="measured-frame-rate-1920x1088" range="180-190" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.avc.decoder.low_latency" type="video/avc" update="true">
|
||||
<Limit name="measured-frame-rate-320x240" range="192-207" />
|
||||
<Limit name="measured-frame-rate-320x240" range="320-517" />
|
||||
<Limit name="measured-frame-rate-720x480" range="101-221" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="200-420" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="76-167" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.hevc.decoder" type="video/hevc" update="true">
|
||||
<Limit name="measured-frame-rate-352x288" range="510-530" />
|
||||
<Limit name="measured-frame-rate-640x360" range="465-620" />
|
||||
<Limit name="measured-frame-rate-720x480" range="465-620" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="200-390" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="210-230" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.hevc.decoder.low_latency" type="video/hevc" update="true">
|
||||
<Limit name="measured-frame-rate-352x288" range="800-850" />
|
||||
<Limit name="measured-frame-rate-352x288" range="273-562" />
|
||||
<Limit name="measured-frame-rate-720x480" range="440-600" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="215-425" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="118-259" />
|
||||
|
@ -97,7 +96,7 @@
|
|||
<Limit name="measured-frame-rate-1920x1080" range="220-220" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.avc.decoder" type="video/avc" update="true">
|
||||
<Limit name="measured-frame-rate-320x240" range="63-165" />
|
||||
<Limit name="measured-frame-rate-320x240" range="318-326" />
|
||||
<Limit name="measured-frame-rate-720x480" range="42-59" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="17-24" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="8-12" />
|
||||
|
@ -111,20 +110,23 @@
|
|||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.h263.decoder" type="video/3gpp" update="true">
|
||||
<Limit name="measured-frame-rate-176x144" range="376-524" />
|
||||
<Limit name="measured-frame-rate-352x288" range="310-415" />
|
||||
<Limit name="measured-frame-rate-352x288" range="920-1035" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.mpeg4.decoder" type="video/mp4v-es" update="true">
|
||||
<Limit name="measured-frame-rate-176x144" range="406-543" />
|
||||
<Limit name="measured-frame-rate-480x360" range="700-1100" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="300-600" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
|
||||
<Limit name="measured-frame-rate-320x180" range="570-665" />
|
||||
<Limit name="measured-frame-rate-640x360" range="133-184" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="15-22" />
|
||||
<Limit name="measured-frame-rate-640x360" range="267-378" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="75-107" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="30-43" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
|
||||
<Limit name="measured-frame-rate-320x180" range="182-360" />
|
||||
<Limit name="measured-frame-rate-320x180" range="810-865" />
|
||||
<Limit name="measured-frame-rate-640x360" range="85-200" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="35-49" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="152-160" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="23-33" />
|
||||
</MediaCodec>
|
||||
</Decoders>
|
|
@ -56,7 +56,7 @@
|
|||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
|
||||
<Limit name="measured-frame-rate-320x180" range="85-119" />
|
||||
<Limit name="measured-frame-rate-640x360" range="41-65" />
|
||||
<Limit name="measured-frame-rate-640x360" range="84-117" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="21-30" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="10-15" />
|
||||
</MediaCodec>
|
||||
|
@ -72,22 +72,23 @@
|
|||
<Limit name="measured-frame-rate-1920x1088" range="180-190" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.avc.decoder.low_latency" type="video/avc" update="true">
|
||||
<Limit name="measured-frame-rate-320x240" range="192-207" />
|
||||
<Limit name="measured-frame-rate-320x240" range="290-619" />
|
||||
<Limit name="measured-frame-rate-720x480" range="101-221" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="200-420" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="76-167" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.hevc.decoder" type="video/hevc" update="true">
|
||||
<Limit name="measured-frame-rate-352x288" range="510-530" />
|
||||
<Limit name="measured-frame-rate-640x360" range="465-620" />
|
||||
<!-- #ifdef OPLUS_BUG_COMPATIBILITY-->
|
||||
<!-- LiuGuanbiao@MULTMEDIASERVER.PLAYER.793175, 2020/12/30, Modify for CTS test-->
|
||||
<Limit name="measured-frame-rate-640x360" range="240-1160" />
|
||||
<!-- #endif OPLUS_BUG_COMPATIBILITY-->
|
||||
<Limit name="measured-frame-rate-720x480" range="465-620" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="200-390" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="210-230" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.hevc.decoder.low_latency" type="video/hevc" update="true">
|
||||
<!-- chenchen@MM.audio, 2021/03/16, Change range from 800 to 200 start-->
|
||||
<Limit name="measured-frame-rate-352x288" range="200-850" />
|
||||
<!-- chenchen@MM.audio, 2021/03/16, Change range from 800 to 200 end-->
|
||||
<Limit name="measured-frame-rate-352x288" range="750-850" />
|
||||
<Limit name="measured-frame-rate-720x480" range="440-600" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="215-425" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="118-259" />
|
||||
|
@ -96,7 +97,7 @@
|
|||
<Limit name="measured-frame-rate-320x240" range="377-377" />
|
||||
<Limit name="measured-frame-rate-640x360" range="323-323" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="262-262" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="220-220" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="50-100" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.avc.decoder" type="video/avc" update="true">
|
||||
<Limit name="measured-frame-rate-320x240" range="63-165" />
|
||||
|
@ -107,8 +108,17 @@
|
|||
<MediaCodec name="c2.android.hevc.decoder" type="video/hevc" update="true">
|
||||
<Limit name="measured-frame-rate-352x288" range="67-232" />
|
||||
<Limit name="measured-frame-rate-640x360" range="57-89" />
|
||||
<!-- #ifndef OPLUS_BUG_COMPATIBILITY -->
|
||||
<!-- Xiang.Hu@MM.MediaServer.MULTMEDIASERVER, 2022/1/11, -->
|
||||
<!-- Modify for CtsMediaTestCases -->
|
||||
<!--
|
||||
<Limit name="measured-frame-rate-720x480" range="69-99" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="35-51" />
|
||||
-->
|
||||
<!-- #else //OPLUS_BUG_COMPATIBILITY -->
|
||||
<Limit name="measured-frame-rate-720x480" range="69-141" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="35-71" />
|
||||
<!-- #endif //OPLUS_BUG_COMPATIBILITY -->
|
||||
<Limit name="measured-frame-rate-1920x1080" range="20-29" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.h263.decoder" type="video/3gpp" update="true">
|
||||
|
@ -117,10 +127,13 @@
|
|||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.mpeg4.decoder" type="video/mp4v-es" update="true">
|
||||
<Limit name="measured-frame-rate-176x144" range="406-543" />
|
||||
<Limit name="measured-frame-rate-480x360" range="500-600" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="300-400" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
|
||||
<Limit name="measured-frame-rate-320x180" range="570-665" />
|
||||
<Limit name="measured-frame-rate-640x360" range="133-184" />
|
||||
<Limit name="measured-frame-rate-640x360" range="211-328" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="60-85" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="15-22" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
|
63
modules.load
63
modules.load
|
@ -1,46 +1,33 @@
|
|||
sia81xx_dlkm.ko
|
||||
va_macro_dlkm.ko
|
||||
rdbg.ko
|
||||
wsa881x_analog_dlkm.ko
|
||||
bootloader_log.ko
|
||||
native_dlkm.ko
|
||||
swr_ctrl_dlkm.ko
|
||||
sim_holder_detect.ko
|
||||
adsp_loader_dlkm.ko
|
||||
wcd938x_dlkm.ko
|
||||
snd_event_dlkm.ko
|
||||
swr_dlkm.ko
|
||||
q6_dlkm.ko
|
||||
gf_spi_driver.ko
|
||||
machine_dlkm.ko
|
||||
camera.ko
|
||||
wcd937x_dlkm.ko
|
||||
project_info.ko
|
||||
wcd938x_slave_dlkm.ko
|
||||
wcd_core_dlkm.ko
|
||||
platform_dlkm.ko
|
||||
st21nfc.ko
|
||||
op_rf_cable_monitor.ko
|
||||
tri_key.ko
|
||||
aw8697.ko
|
||||
op_cmdline.ko
|
||||
tx_macro_dlkm.ko
|
||||
q6_notifier_dlkm.ko
|
||||
mbhc_dlkm.ko
|
||||
btpower.ko
|
||||
apr_dlkm.ko
|
||||
wcd9xxx_dlkm.ko
|
||||
rx_macro_dlkm.ko
|
||||
fpc1020_platform_tee.ko
|
||||
bt_fm_slim.ko
|
||||
native_dlkm.ko
|
||||
wcd937x_slave_dlkm.ko
|
||||
btpower.ko
|
||||
q6_pdr_dlkm.ko
|
||||
aw87xxx_dlkm.ko
|
||||
bolero_cdc_dlkm.ko
|
||||
oem_aboard.ko
|
||||
va_macro_dlkm.ko
|
||||
q6_notifier_dlkm.ko
|
||||
apr_dlkm.ko
|
||||
snd_event_dlkm.ko
|
||||
machine_dlkm.ko
|
||||
wcd938x_dlkm.ko
|
||||
wcd_core_dlkm.ko
|
||||
wcd937x_dlkm.ko
|
||||
adsp_loader_dlkm.ko
|
||||
q6_dlkm.ko
|
||||
sia81xx_dlkm.ko
|
||||
mbhc_dlkm.ko
|
||||
swr_ctrl_dlkm.ko
|
||||
rdbg.ko
|
||||
camera.ko
|
||||
pinctrl_lpi_dlkm.ko
|
||||
rx_macro_dlkm.ko
|
||||
wcd938x_slave_dlkm.ko
|
||||
wcd9xxx_dlkm.ko
|
||||
tx_macro_dlkm.ko
|
||||
bt_fm_slim.ko
|
||||
wsa881x_analog_dlkm.ko
|
||||
bolero_cdc_dlkm.ko
|
||||
stub_dlkm.ko
|
||||
fingerprint_detect.ko
|
||||
platform_dlkm.ko
|
||||
wlan.ko
|
||||
rmnet_core.ko
|
||||
rmnet_ctl.ko
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
fingerprint_detect.ko
|
||||
gf_spi_driver.ko
|
||||
op_cmdline.ko
|
||||
project_info.ko
|
156
nfc/libnfc-hal-st.conf
Normal file
156
nfc/libnfc-hal-st.conf
Normal file
|
@ -0,0 +1,156 @@
|
|||
########################### 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
|
||||
}
|
29
odm.prop
29
odm.prop
|
@ -1,2 +1,31 @@
|
|||
# Audio
|
||||
persist.vendor.audio.fluence.voicerec=true
|
||||
persist.vendor.audio_hal.dsp_bit_width_enforce_mode=24
|
||||
persist.vendor.audio.spv4.enable=false
|
||||
persist.vendor.audio.vbat.enabled=false
|
||||
ro.config.media_vol_steps=30
|
||||
ro.config.vc_call_vol_steps=9
|
||||
ro.vendor.audio.sdk.fluencetype=fluence
|
||||
ro.vendor.qti.va_odm.support=1
|
||||
|
||||
# Bluetooth
|
||||
persist.vendor.bluetooth.modem_nv_support=true
|
||||
|
||||
# Display
|
||||
vendor.display.primary_mixer_stages=9
|
||||
|
||||
# Media
|
||||
ro.odm.build.media_performance_class=30
|
||||
vendor.media.vpp.enable=0
|
||||
vendor.media.vpp.osie.enable=0
|
||||
vendor.media.vpp.sr.enable=0
|
||||
|
||||
# Radio
|
||||
persist.vendor.radio.force_on_dc=true
|
||||
persist.vendor.radio.stack_id_1=1
|
||||
ro.sys.reserve.integrate=true
|
||||
ro.vendor.oplus.radio.project=2
|
||||
ro.vendor.oplus.radio.sar_regionmark=FCC
|
||||
|
||||
# SVN
|
||||
ro.build.version.svn=34
|
||||
|
|
12
overlay-lineage/hardware/oplus/doze/res/values/config.xml
Normal file
12
overlay-lineage/hardware/oplus/doze/res/values/config.xml
Normal file
|
@ -0,0 +1,12 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2021-2022 The LineageOS Project
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
-->
|
||||
<resources>
|
||||
<!-- Sensor types -->
|
||||
<string name="pickup_sensor_type">android.sensor.tilt_detector</string>
|
||||
|
||||
<!-- Sensor trigger values -->
|
||||
<item name="pickup_sensor_value" format="float" type="dimen">0.0</item>
|
||||
</resources>
|
|
@ -2,54 +2,14 @@
|
|||
<!--
|
||||
Copyright (C) 2015-2016 The CyanogenMod Project
|
||||
2017-2021 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.
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
-->
|
||||
<resources>
|
||||
<!-- Default value for proximity check on screen wake
|
||||
NOTE ! - Enable for devices that have a fast response proximity sensor (ideally < 300ms)-->
|
||||
<bool name="config_proximityCheckOnWake">true</bool>
|
||||
<integer name="config_proximityCheckTimeout">100</integer>
|
||||
<bool name="config_proximityCheckOnWakeEnabledByDefault">true</bool>
|
||||
|
||||
<!-- Hardware keys present on the device, stored as a bit field.
|
||||
This integer should equal the sum of the corresponding value for each
|
||||
of the following keys present:
|
||||
1 - Home
|
||||
2 - Back
|
||||
4 - Menu
|
||||
8 - Assistant (search)
|
||||
16 - App switch
|
||||
32 - Camera
|
||||
64 - Volume rocker
|
||||
For example, a device with Home, Back and Menu keys would set this
|
||||
config to 7. -->
|
||||
<integer name="config_deviceHardwareKeys">64</integer>
|
||||
|
||||
<!-- Hardware keys present on the device with the ability to wake, stored as a bit field.
|
||||
This integer should equal the sum of the corresponding value for each
|
||||
of the following keys present:
|
||||
1 - Home
|
||||
2 - Back
|
||||
4 - Menu
|
||||
8 - Assistant (search)
|
||||
16 - App switch
|
||||
32 - Camera
|
||||
64 - Volume rocker
|
||||
For example, a device with Home, Back and Menu keys would set this
|
||||
config to 7. -->
|
||||
<integer name="config_deviceHardwareWakeKeys">64</integer>
|
||||
|
||||
<!-- Whether device has screen with higher aspect ratio -->
|
||||
<bool name="config_haveHigherAspectRatioScreen">true</bool>
|
||||
|
||||
|
@ -59,5 +19,5 @@
|
|||
<item>restart_recovery</item>
|
||||
<item>restart_bootloader</item>
|
||||
<item>restart_fastboot</item>
|
||||
</string-array>
|
||||
</string-array>
|
||||
</resources>
|
||||
|
|
|
@ -2,18 +2,7 @@
|
|||
<!--
|
||||
Copyright (C) 2014-2015 The CyanogenMod Project
|
||||
2019-2021 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.
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
-->
|
||||
<resources>
|
||||
<!-- Default for LineageSettings.Secure.VOLUME_PANEL_ON_LEFT -->
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
SPDX-FileCopyrightText: 2022 The LineageOS Project
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
-->
|
||||
<resources>
|
||||
<!-- Enable auxiliary cameras selector. -->
|
||||
<bool name="config_enableAuxCameras">true</bool>
|
||||
|
||||
<!-- List of ID of auxiliary cameras that must be ignored by the app. -->
|
||||
<string-array name="config_ignoredAuxCameraIds">
|
||||
<item>4</item>
|
||||
</string-array>
|
||||
</resources>
|
|
@ -1,18 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2016 The CyanogenMod 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.
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
-->
|
||||
<resources>
|
||||
<bool name="call_recording_enabled">true</bool>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2021 The LineageOS Project
|
||||
Copyright (C) 2020-2024 The LineageOS Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License"
|
||||
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
|
||||
|
||||
|
@ -15,6 +15,6 @@
|
|||
limitations under the License.
|
||||
-->
|
||||
<resources>
|
||||
<!-- Sensor types -->
|
||||
<string name="pickup_sensor_type">oneplus.sensor.op_motion_detect</string>
|
||||
<!-- Show battery cycle count -->
|
||||
<bool name="config_show_battery_cycle_count" translatable="false">true</bool>
|
||||
</resources>
|
10
overlay/CarrierConfigResCommon/Android.bp
Normal file
10
overlay/CarrierConfigResCommon/Android.bp
Normal file
|
@ -0,0 +1,10 @@
|
|||
//
|
||||
// Copyright (C) 2022 The LineageOS Project
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
//
|
||||
|
||||
runtime_resource_overlay {
|
||||
name: "CarrierConfigResCommon",
|
||||
aaptflags: ["--keep-raw-values"],
|
||||
product_specific: true,
|
||||
}
|
13
overlay/CarrierConfigResCommon/AndroidManifest.xml
Normal file
13
overlay/CarrierConfigResCommon/AndroidManifest.xml
Normal file
|
@ -0,0 +1,13 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2022 The LineageOS Project
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
-->
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.android.carrierconfig.overlay.common">
|
||||
|
||||
<overlay
|
||||
android:isStatic="true"
|
||||
android:priority="200"
|
||||
android:targetPackage="com.android.carrierconfig" />
|
||||
</manifest>
|
5395
overlay/CarrierConfigResCommon/res/xml/vendor.xml
Normal file
5395
overlay/CarrierConfigResCommon/res/xml/vendor.xml
Normal file
File diff suppressed because it is too large
Load diff
9
overlay/FrameworksResTarget/Android.bp
Normal file
9
overlay/FrameworksResTarget/Android.bp
Normal file
|
@ -0,0 +1,9 @@
|
|||
//
|
||||
// Copyright (C) 2022 The LineageOS Project
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
//
|
||||
|
||||
runtime_resource_overlay {
|
||||
name: "FrameworksResTarget",
|
||||
vendor: true,
|
||||
}
|
13
overlay/FrameworksResTarget/AndroidManifest.xml
Normal file
13
overlay/FrameworksResTarget/AndroidManifest.xml
Normal file
|
@ -0,0 +1,13 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2022 The LineageOS Project
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
-->
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="android.overlay.target">
|
||||
|
||||
<overlay
|
||||
android:isStatic="true"
|
||||
android:priority="250"
|
||||
android:targetPackage="android" />
|
||||
</manifest>
|
69
overlay/FrameworksResTarget/res/values/config.xml
Normal file
69
overlay/FrameworksResTarget/res/values/config.xml
Normal file
|
@ -0,0 +1,69 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2022 The Linux Foundation
|
||||
SPDX-License-Identifier: BSD-3-Clause
|
||||
-->
|
||||
<resources>
|
||||
|
||||
<!-- Control whether the always on display mode is available. This should only be enabled on
|
||||
devices where the display has been tuned to be power efficient in DOZE and/or DOZE_SUSPEND
|
||||
states. -->
|
||||
<bool name="config_dozeAlwaysOnDisplayAvailable">true</bool>
|
||||
|
||||
<!-- Whether a software navigation bar should be shown. NOTE: in the future this may be
|
||||
autodetected from the Configuration. -->
|
||||
<bool name="config_showNavigationBar">true</bool>
|
||||
|
||||
<!-- When true use the linux /dev/input/event subsystem to detect the switch changes
|
||||
on the headphone/microphone jack. When false use the older uevent framework. -->
|
||||
<bool name="config_useDevInputEventForAudioJack">true</bool>
|
||||
|
||||
<!-- Telephony qualified networks service package name to bind to by default. -->
|
||||
<string name="config_qualified_networks_service_package" translatable="false">vendor.qti.iwlan</string>
|
||||
|
||||
<!-- IWLAN data service package name to bind to by default. If none is specified in an overlay, an
|
||||
empty string is passed in -->
|
||||
<string name="config_wlan_data_service_package" translatable="false">vendor.qti.iwlan</string>
|
||||
|
||||
<!-- IWLAN network service package name to bind to by default. If none is specified in an overlay, an
|
||||
empty string is passed in -->
|
||||
<string name="config_wlan_network_service_package" translatable="false">vendor.qti.iwlan</string>
|
||||
|
||||
<!-- Default files to pin via Pinner Service -->
|
||||
<string-array name="config_defaultPinnerServiceFiles">
|
||||
<item>/system/framework/arm64/boot-framework.oat</item>
|
||||
<item>/system/framework/arm/boot-framework.oat</item>
|
||||
<item>/apex/com.android.art/javalib/arm64/boot-core-libart.oat</item>
|
||||
<item>/apex/com.android.art/javalib/arm/boot-core-libart.oat</item>
|
||||
<item>/apex/com.android.art/javalib/arm64/boot-okhttp.oat</item>
|
||||
<item>/apex/com.android.art/javalib/arm/boot-okhttp.oat</item>
|
||||
<item>/apex/com.android.art/javalib/arm64/boot.vdex</item>
|
||||
<item>/apex/com.android.art/javalib/arm/boot.vdex</item>
|
||||
<item>/apex/com.android.art/javalib/arm64/boot-core-libart.vdex</item>
|
||||
<item>/apex/com.android.art/javalib/arm/boot-core-libart.vdex</item>
|
||||
<item>/apex/com.android.art/javalib/arm64/boot-core-libart.art</item>
|
||||
<item>/apex/com.android.art/javalib/arm/boot-core-libart.art</item>
|
||||
<item>/system/framework/framework-res.apk</item>
|
||||
<item>/system/lib64/libhwui.so</item>
|
||||
<item>/system/lib/libhwui.so</item>
|
||||
<item>/system/framework/boot-framework.vdex</item>
|
||||
<item>/system/framework/oat/arm64/services.vdex</item>
|
||||
<item>/system/framework/oat/arm64/services.odex</item>
|
||||
<item>/apex/com.android.art/javalib/arm64/boot.oat</item>
|
||||
<item>/apex/com.android.art/javalib/arm/boot.oat</item>
|
||||
<item>/system/framework/telephony-common.jar</item>
|
||||
<item>/system/framework/arm64/boot-telephony-common.art</item>
|
||||
<item>/system/lib64/libsurfaceflinger.so</item>
|
||||
<item>/apex/com.android.art/javalib/core-oj.jar</item>
|
||||
<item>/apex/com.android.art/javalib/core-libart.jar</item>
|
||||
</string-array>
|
||||
|
||||
<!-- List of biometric sensors on the device, in decreasing strength. Consumed by AuthService
|
||||
when registering authenticators with BiometricService. Format must be ID:Modality:Strength,
|
||||
where: IDs are unique per device, Modality as defined in BiometricAuthenticator.java,
|
||||
and Strength as defined in Authenticators.java -->
|
||||
<string-array name="config_biometric_sensors" translatable="false">
|
||||
<item>0:2:15</item> <!-- ID0:Fingerprint:Strong -->
|
||||
</string-array>
|
||||
|
||||
</resources>
|
9
overlay/OPlusFrameworksResTarget/Android.bp
Normal file
9
overlay/OPlusFrameworksResTarget/Android.bp
Normal file
|
@ -0,0 +1,9 @@
|
|||
//
|
||||
// Copyright (C) 2022 The LineageOS Project
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
//
|
||||
|
||||
runtime_resource_overlay {
|
||||
name: "OPlusFrameworksResTarget",
|
||||
device_specific: true,
|
||||
}
|
13
overlay/OPlusFrameworksResTarget/AndroidManifest.xml
Normal file
13
overlay/OPlusFrameworksResTarget/AndroidManifest.xml
Normal file
|
@ -0,0 +1,13 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2022 The LineageOS Project
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
-->
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="android.overlay.oplus">
|
||||
|
||||
<overlay
|
||||
android:isStatic="true"
|
||||
android:priority="300"
|
||||
android:targetPackage="android" />
|
||||
</manifest>
|
|
@ -0,0 +1,14 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2022 The LineageOS Project
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
-->
|
||||
<resources>
|
||||
|
||||
<!-- MMS user agent string -->
|
||||
<string name="config_mms_user_agent" translatable="false">odopg1917</string>
|
||||
|
||||
<!-- MMS user agent prolfile url -->
|
||||
<string name="config_mms_user_agent_profile_url" translatable="false">http://uaprof.vtext.com/oneplus/odopg1917/odopg1917.xml</string>
|
||||
|
||||
</resources>
|
|
@ -0,0 +1,14 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2022 The LineageOS Project
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
-->
|
||||
<resources>
|
||||
|
||||
<!-- MMS user agent string -->
|
||||
<string name="config_mms_user_agent" translatable="false">odopg1917</string>
|
||||
|
||||
<!-- MMS user agent prolfile url -->
|
||||
<string name="config_mms_user_agent_profile_url" translatable="false">http://uaprof.vtext.com/oneplus/odopg1917/odopg1917.xml</string>
|
||||
|
||||
</resources>
|
|
@ -0,0 +1,14 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2022 The LineageOS Project
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
-->
|
||||
<resources>
|
||||
|
||||
<!-- MMS user agent string -->
|
||||
<string name="config_mms_user_agent" translatable="false">odopg1917</string>
|
||||
|
||||
<!-- MMS user agent prolfile url -->
|
||||
<string name="config_mms_user_agent_profile_url" translatable="false">http://uaprof.vtext.com/oneplus/odopg1917/odopg1917.xml</string>
|
||||
|
||||
</resources>
|
|
@ -0,0 +1,14 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2022 The LineageOS Project
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
-->
|
||||
<resources>
|
||||
|
||||
<!-- MMS user agent string -->
|
||||
<string name="config_mms_user_agent" translatable="false">odopg1917</string>
|
||||
|
||||
<!-- MMS user agent prolfile url -->
|
||||
<string name="config_mms_user_agent_profile_url" translatable="false">http://uaprof.vtext.com/oneplus/odopg1917/odopg1917.xml</string>
|
||||
|
||||
</resources>
|
|
@ -0,0 +1,14 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2022 The LineageOS Project
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
-->
|
||||
<resources>
|
||||
|
||||
<!-- MMS user agent string -->
|
||||
<string name="config_mms_user_agent" translatable="false">odopg1917</string>
|
||||
|
||||
<!-- MMS user agent prolfile url -->
|
||||
<string name="config_mms_user_agent_profile_url" translatable="false">http://uaprof.vtext.com/oneplus/odopg1917/odopg1917.xml</string>
|
||||
|
||||
</resources>
|
|
@ -1,22 +1,10 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2009 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.
|
||||
<!--
|
||||
Copyright (C) 2022 The LineageOS Project
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
-->
|
||||
<resources>
|
||||
|
||||
<!-- These resources are around just to allow their values to be customized
|
||||
for different hardware and product builds. Do not translate. -->
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||
<!-- Flag indicating whether the we should enable the automatic brightness in Settings.
|
||||
Software implementation will be used if config_hardware_auto_brightness_available is not set -->
|
||||
<bool name="config_automatic_brightness_available">true</bool>
|
||||
|
@ -377,89 +365,20 @@
|
|||
-->
|
||||
<bool name="config_fillMainBuiltInDisplayCutout">true</bool>
|
||||
|
||||
<!-- If this is true, the screen will come on when you unplug usb/power/whatever. -->
|
||||
<bool name="config_unplugTurnsOnScreen">true</bool>
|
||||
|
||||
<!-- Boolean indicating if restoring network selection should be skipped -->
|
||||
<!-- The restoring is handled by modem if it is true-->
|
||||
<bool translatable="false" name="skip_restoring_network_selection">true</bool>
|
||||
|
||||
<!-- Set to true to add links to Cell Broadcast app from Settings and MMS app. -->
|
||||
<bool name="config_cellBroadcastAppLinks">true</bool>
|
||||
|
||||
<!-- MMS user agent string -->
|
||||
<string name="config_mms_user_agent" translatable="false">Android-Mms/2.0</string>
|
||||
|
||||
<!-- MMS user agent prolfile url -->
|
||||
<string name="config_mms_user_agent_profile_url" translatable="false"
|
||||
>http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
|
||||
|
||||
<!-- This string array should be overridden by the device to present a list of network
|
||||
attributes. This is used by the connectivity manager to decide which networks can coexist
|
||||
based on the hardware -->
|
||||
<!-- An Array of "[Connection name],[ConnectivityManager.TYPE_xxxx],
|
||||
[associated radio-type],[priority],[restoral-timer(ms)],[dependencyMet] -->
|
||||
<!-- the 5th element "resore-time" indicates the number of milliseconds to delay
|
||||
before automatically restore the default connection. Set -1 if the connection
|
||||
does not require auto-restore. -->
|
||||
<!-- the 6th element indicates boot-time dependency-met value. -->
|
||||
<string-array translatable="false" name="networkAttributes">
|
||||
<item>wifi,1,1,1,-1,true</item>
|
||||
<item>mobile,0,0,0,-1,true</item>
|
||||
<item>mobile_mms,2,0,4,60000,true</item>
|
||||
<item>mobile_supl,3,0,2,60000,true</item>
|
||||
<item>mobile_dun,4,0,2,60000,true</item>
|
||||
<item>mobile_hipri,5,0,3,60000,true</item>
|
||||
<item>mobile_fota,10,0,2,60000,true</item>
|
||||
<item>mobile_ims,11,0,2,60000,true</item>
|
||||
<item>mobile_cbs,12,0,2,60000,true</item>
|
||||
<item>bluetooth,7,7,2,-1,true</item>
|
||||
<item>mobile_emergency,15,0,5,-1,true</item>
|
||||
<item>ethernet,9,9,9,-1,true</item>
|
||||
</string-array>
|
||||
|
||||
<!-- This string array should be overridden by the device to present a list of radio
|
||||
attributes. This is used by the connectivity manager to decide which networks can coexist
|
||||
based on the hardware -->
|
||||
<!-- An Array of "[ConnectivityManager connectionType],
|
||||
[# simultaneous connection types]" -->
|
||||
<string-array translatable="false" name="radioAttributes">
|
||||
<item>"1,1"</item>
|
||||
<item>"0,1"</item>
|
||||
<item>"7,1"</item>
|
||||
</string-array>
|
||||
|
||||
<!-- Whether WiFi display is supported by this device.
|
||||
There are many prerequisites for this feature to work correctly.
|
||||
Here are a few of them:
|
||||
* The WiFi radio must support WiFi P2P.
|
||||
* The WiFi radio must support concurrent connections to the WiFi display and
|
||||
to an access point.
|
||||
* The Audio Flinger audio_policy.conf file must specify a rule for the "r_submix"
|
||||
remote submix module. This module is used to record and stream system
|
||||
audio output to the WiFi display encoder in the media server.
|
||||
* The remote submix module "audio.r_submix.default" must be installed on the device.
|
||||
* The device must be provisioned with HDCP keys (for protected content).
|
||||
-->
|
||||
<bool name="config_enableWifiDisplay">true</bool>
|
||||
|
||||
<!-- Set to true if the wifi display supports compositing content stored
|
||||
in gralloc protected buffers. For this to be true, there must exist
|
||||
a protected hardware path for surface flinger to composite and send
|
||||
protected buffers to the wifi display video encoder.
|
||||
If this flag is false, we advise applications not to use protected
|
||||
buffers (if possible) when presenting content to a wifi display because
|
||||
the content may be blanked.
|
||||
This flag controls whether the {@link Display#FLAG_SUPPORTS_PROTECTED_BUFFERS}
|
||||
flag is set for wifi displays.
|
||||
-->
|
||||
<bool name="config_wifiDisplaySupportsProtectedBuffers">true</bool>
|
||||
|
||||
<!-- Indicate whether closing the lid causes the device to go to sleep and opening
|
||||
it causes the device to wake up.
|
||||
The default is false. -->
|
||||
<bool name="config_lidControlsSleep">true</bool>
|
||||
|
||||
<!-- True if camera app should be pinned via Pinner Service -->
|
||||
<bool name="config_pinnerCameraApp">true</bool>
|
||||
|
||||
<!-- True if home app should be pinned via Pinner Service -->
|
||||
<bool name="config_pinnerHomeApp">true</bool>
|
||||
|
||||
<!-- Indicate whether to allow the device to suspend when the screen is off
|
||||
due to the proximity sensor. This resource should only be set to true
|
||||
if the sensor HAL correctly handles the proximity sensor as a wake-up source.
|
||||
|
@ -467,47 +386,11 @@
|
|||
The default is false. -->
|
||||
<bool name="config_suspendWhenScreenOffDueToProximity">true</bool>
|
||||
|
||||
<!-- ComponentName of a dream to show whenever the system would otherwise have
|
||||
gone to sleep. When the PowerManager is asked to go to sleep, it will instead
|
||||
try to start this dream if possible. The dream should typically call startDozing()
|
||||
to put the display into a low power state and allow the application processor
|
||||
to be suspended. When the dream ends, the system will go to sleep as usual.
|
||||
Specify the component name or an empty string if none.
|
||||
<!-- Whether device supports double tap to wake -->
|
||||
<bool name="config_supportDoubleTapWake">true</bool>
|
||||
|
||||
Note that doze dreams are not subject to the same start conditions as ordinary dreams.
|
||||
Doze dreams will run whenever the power manager is in a dozing state. -->
|
||||
<string name="config_dozeComponent">com.android.systemui/com.android.systemui.doze.DozeService</string>
|
||||
|
||||
<!-- If true, the doze component is not started until after the screen has been
|
||||
turned off and the screen off animation has been performed. -->
|
||||
<bool name="config_dozeAfterScreenOffByDefault">true</bool>
|
||||
|
||||
<!-- Whether the always on display mode is available. -->
|
||||
<bool name="config_dozeAlwaysOnDisplayAvailable">true</bool>
|
||||
|
||||
<!-- Control whether the always on display mode is enabled by default. This value will be used
|
||||
during initialization when the setting is still null. -->
|
||||
<bool name="config_dozeAlwaysOnEnabled">false</bool>
|
||||
|
||||
<!-- Power Management: Specifies whether to decouple the auto-suspend state of the
|
||||
device from the display on/off state.
|
||||
|
||||
When false, autosuspend_disable() will be called before the display is turned on
|
||||
and autosuspend_enable() will be called after the display is turned off.
|
||||
This mode provides best compatibility for devices using legacy power management
|
||||
features such as early suspend / late resume.
|
||||
|
||||
When true, autosuspend_display() and autosuspend_enable() will be called
|
||||
independently of whether the display is being turned on or off. This mode
|
||||
enables the power manager to suspend the application processor while the
|
||||
display is on.
|
||||
|
||||
This resource should be set to "true" when a doze component has been specified
|
||||
to maximize power savings but not all devices support it.
|
||||
|
||||
Refer to autosuspend.h for details.
|
||||
-->
|
||||
<bool name="config_powerDecoupleAutoSuspendModeFromDisplay">true</bool>
|
||||
<!-- True if the device supports Sustained Performance Mode-->
|
||||
<bool name="config_sustainedPerformanceModeSupported">true</bool>
|
||||
|
||||
<!-- Power Management: Specifies whether to decouple the interactive state of the
|
||||
device from the display on/off state.
|
||||
|
@ -522,82 +405,17 @@
|
|||
to maximize power savings but not all devices support it.
|
||||
Refer to power.h for details.
|
||||
-->
|
||||
<bool name="config_powerDecoupleInteractiveModeFromDisplay">true</bool>
|
||||
<bool name="config_powerDecoupleInteractiveModeFromDisplay">false</bool>
|
||||
|
||||
<!-- Screen brightness used to dim the screen while dozing in a very low power state.
|
||||
May be less than the minimum allowed brightness setting
|
||||
that can be set by the user. -->
|
||||
<integer name="config_screenBrightnessDoze">17</integer>
|
||||
|
||||
<!-- Configure mobile tcp buffer sizes in the form:
|
||||
rat-name:rmem_min,rmem_def,rmem_max,wmem_min,wmem_def,wmem_max
|
||||
If no value is found for the rat-name in use, the system default will be applied.
|
||||
-->
|
||||
<string-array name="config_mobile_tcp_buffers">
|
||||
<item>5gnr:2097152,6291456,16777216,512000,2097152,8388608</item>
|
||||
<item>lte:2097152,4194304,8388608,262144,524288,1048576</item>
|
||||
<item>lte_ca:4096,6291456,12582912,4096,1048576,2097152</item>
|
||||
<item>umts:4094,87380,1220608,4096,16384,1220608</item>
|
||||
<item>hspa:4094,87380,1220608,4096,16384,1220608</item>
|
||||
<item>hsupa:4094,87380,1220608,4096,16384,1220608</item>
|
||||
<item>hsdpa:4094,87380,1220608,4096,16384,1220608</item>
|
||||
<item>hspap:4094,87380,1220608,4096,16384,1220608</item>
|
||||
<item>edge:4093,26280,35040,4096,16384,35040</item>
|
||||
<item>gprs:4092,8760,11680,4096,8760,11680</item>
|
||||
<item>evdo:4094,87380,524288,4096,16384,262144</item>
|
||||
</string-array>
|
||||
|
||||
<!-- Flag specifying whether VoLTE is available on device -->
|
||||
<bool name="config_device_volte_available">true</bool>
|
||||
|
||||
<!-- Flag specifying whether VT is available on device -->
|
||||
<bool name="config_device_vt_available">true</bool>
|
||||
|
||||
<!-- Flag specifying whether WFC over IMS is available on device -->
|
||||
<bool name="config_device_wfc_ims_available">true</bool>
|
||||
|
||||
<!-- IWLAN data service package name to bind to by default. If none is specified in an overlay, an
|
||||
empty string is passed in -->
|
||||
<string name="config_wlan_data_service_package">vendor.qti.iwlan</string>
|
||||
|
||||
<!-- IWLAN network service package name to bind to by default. If none is specified in an overlay, an
|
||||
empty string is passed in -->
|
||||
<string name="config_wlan_network_service_package">vendor.qti.iwlan</string>
|
||||
|
||||
<!-- Telephony qualified networks service package name to bind to by default. -->
|
||||
<string name="config_qualified_networks_service_package">vendor.qti.iwlan</string>
|
||||
|
||||
<!-- Flag specifying whether or not IMS will use the ImsResolver dynamically -->
|
||||
<bool name="config_dynamic_bind_ims">true</bool>
|
||||
|
||||
<!-- Config determines whether to update phone object when voice registration
|
||||
state changes. Voice radio tech change will always trigger an update of
|
||||
phone object irrespective of this config -->
|
||||
<bool name="config_switch_phone_on_voice_reg_state_change">false</bool>
|
||||
|
||||
<!-- Boolean indicating if current platform supports BLE peripheral mode -->
|
||||
<bool name="config_bluetooth_le_peripheral_mode_supported">true</bool>
|
||||
|
||||
<!-- Boolean indicating if current platform supports HFP inband ringing -->
|
||||
<bool name="config_bluetooth_hfp_inband_ringing_support">true</bool>
|
||||
|
||||
<!-- Flag indicating if the speed up audio on mt call code should be executed -->
|
||||
<bool name="config_speed_up_audio_on_mt_calls">true</bool>
|
||||
|
||||
<!-- Shutdown if the battery temperature exceeds (this value * 0.1) Celsius. -->
|
||||
<integer name="config_shutdownBatteryTemperature">680</integer>
|
||||
|
||||
<!-- Average Current for bluetooth controller when idle. 0 by default-->
|
||||
<integer translatable="false" name="config_bluetooth_idle_cur_ma">6</integer>
|
||||
|
||||
<!-- Average Current for bluetooth controller when receiving. 0 by default-->
|
||||
<integer translatable="false" name="config_bluetooth_rx_cur_ma">28</integer>
|
||||
|
||||
<!-- Average Current for bluetooth controller when transmitting. 0 by default-->
|
||||
<integer translatable="false" name="config_bluetooth_tx_cur_ma">36</integer>
|
||||
|
||||
<!-- Operating volatage for bluetooth controller. 0 by default-->
|
||||
<integer translatable="false" name="config_bluetooth_operating_voltage_mv">3700</integer>
|
||||
<!-- The default refresh rate for a given device. Change this value to set a higher default
|
||||
refresh rate. If the hardware composer on the device supports display modes with a higher
|
||||
refresh rate than the default value specified here, the framework may use those higher
|
||||
refresh rate modes if an app chooses one by setting preferredDisplayModeId or calling
|
||||
setFrameRate().
|
||||
If a non-zero value is set for config_defaultPeakRefreshRate, then
|
||||
config_defaultRefreshRate may be set to 0, in which case the value set for
|
||||
config_defaultPeakRefreshRate will act as the default frame rate. -->
|
||||
<integer name="config_defaultRefreshRate">0</integer>
|
||||
|
||||
<!-- Vibrator pattern for feedback about a long screen/key press -->
|
||||
<integer-array name="config_longPressVibePattern">
|
||||
|
@ -611,60 +429,13 @@
|
|||
<item>80</item>
|
||||
</integer-array>
|
||||
|
||||
<!-- Vibrator pattern for a very short but reliable vibration for soft keyboard tap -->
|
||||
<integer-array name="config_keyboardTapVibePattern">
|
||||
<item>80</item>
|
||||
<!-- Indicate available ColorDisplayManager.COLOR_MODE_xxx. -->
|
||||
<integer-array name="config_availableColorModes">
|
||||
<item>0</item> <!-- COLOR_MODE_NATURAL -->
|
||||
<item>1</item> <!-- COLOR_MODE_BOOSTED -->
|
||||
<item>2</item> <!-- COLOR_MODE_SATURATED -->
|
||||
</integer-array>
|
||||
|
||||
<!-- Default list of files pinned by the Pinner Service -->
|
||||
<string-array translatable="false" name="config_defaultPinnerServiceFiles">
|
||||
<item>"/system/framework/framework.jar"</item>
|
||||
<item>"/system/framework/services.jar"</item>
|
||||
<item>"/apex/com.android.art/javalib/core-oj.jar"</item>
|
||||
<item>"/apex/com.android.art/javalib/core-libart.jar"</item>
|
||||
<item>"/apex/com.android.media/javalib/updatable-media.jar"</item>
|
||||
<item>"/system_ext/priv-app/SystemUI/SystemUI.apk"</item>
|
||||
<item>"/system/bin/surfaceflinger"</item>
|
||||
</string-array>
|
||||
|
||||
<!-- Should the pinner service pin the Camera application? -->
|
||||
<bool name="config_pinnerCameraApp">true</bool>
|
||||
|
||||
<!-- Should the pinner service pin the Home application? -->
|
||||
<bool name="config_pinnerHomeApp">true</bool>
|
||||
|
||||
<!-- Whether a software navigation bar should be shown. NOTE: in the future this may be
|
||||
autodetected from the Configuration. -->
|
||||
<bool name="config_showNavigationBar">true</bool>
|
||||
|
||||
<!-- When true use the linux /dev/input/event subsystem to detect the switch changes
|
||||
on the headphone/microphone jack. When false use the older uevent framework. -->
|
||||
<bool name="config_useDevInputEventForAudioJack">true</bool>
|
||||
|
||||
<!-- Is the device capable of hot swapping an ICC Card -->
|
||||
<bool name="config_hotswapCapable">true</bool>
|
||||
|
||||
<!-- Whether the Unprocessed audio source supports the required frequency range and level -->
|
||||
<bool name="config_supportAudioSourceUnprocessed">true</bool>
|
||||
|
||||
<!-- True if the device supports Sustained Performance Mode-->
|
||||
<bool name="config_sustainedPerformanceModeSupported">true</bool>
|
||||
|
||||
<!-- Whether device supports double tap to wake -->
|
||||
<bool name="config_supportDoubleTapWake">true</bool>
|
||||
|
||||
<!-- Boolean indicating whether the HWC setColorTransform function can be performed efficiently
|
||||
in hardware. -->
|
||||
<bool name="config_setColorTransformAccelerated">true</bool>
|
||||
|
||||
<!-- List of biometric sensors on the device, in decreasing strength. Consumed by AuthService
|
||||
when registering authenticators with BiometricService. Format must be ID:Modality:Strength,
|
||||
where: IDs are unique per device, Modality as defined in BiometricAuthenticator.java,
|
||||
and Strength as defined in Authenticators.java -->
|
||||
<string-array name="config_biometric_sensors" translatable="false" >
|
||||
<item>0:2:15</item> <!-- ID0:Fingerprint:Strong -->
|
||||
</string-array>
|
||||
|
||||
<!-- Indicates whether device has a power button fingerprint sensor. -->
|
||||
<bool name="config_is_powerbutton_fps" translatable="false">true</bool>
|
||||
|
||||
|
@ -682,19 +453,65 @@
|
|||
<item>115</item>
|
||||
</array>
|
||||
|
||||
<!-- The default refresh rate for a given device. Change this value to set a higher default
|
||||
refresh rate. If the hardware composer on the device supports display modes with a higher
|
||||
refresh rate than the default value specified here, the framework may use those higher
|
||||
refresh rate modes if an app chooses one by setting preferredDisplayModeId or calling
|
||||
setFrameRate().
|
||||
If a non-zero value is set for config_defaultPeakRefreshRate, then
|
||||
config_defaultRefreshRate may be set to 0, in which case the value set for
|
||||
config_defaultPeakRefreshRate will act as the default frame rate. -->
|
||||
<integer name="config_defaultRefreshRate">0</integer>
|
||||
<!-- Default list of files pinned by the Pinner Service -->
|
||||
<string-array translatable="false" name="config_defaultPinnerServiceFiles">
|
||||
<item>"/system/framework/framework.jar"</item>
|
||||
<item>"/system/framework/services.jar"</item>
|
||||
<item>"/apex/com.android.art/javalib/core-oj.jar"</item>
|
||||
<item>"/apex/com.android.art/javalib/core-libart.jar"</item>
|
||||
<item>"/system_ext/priv-app/SystemUI/SystemUI.apk"</item>
|
||||
<item>"/system/bin/surfaceflinger"</item>
|
||||
<item>"/vendor/lib64/libcamxexternalformatutils.so"</item>
|
||||
<item>"/vendor/lib64/libipebpsstriping.so"</item>
|
||||
<item>"/vendor/lib64/libCB.so"</item>
|
||||
<item>"/vendor/lib64/libgsl.so"</item>
|
||||
</string-array>
|
||||
|
||||
<!-- Control whether the always on display mode is enabled by default. This value will be used
|
||||
during initialization when the setting is still null. -->
|
||||
<bool name="config_dozeAlwaysOnEnabled">false</bool>
|
||||
|
||||
<!-- Flag specifying whether WFC over IMS should be available for carrier: independent of
|
||||
carrier provisioning. If false: hard disabled. If true: then depends on carrier
|
||||
provisioning, availability etc -->
|
||||
<bool name="config_carrier_wfc_ims_available">true</bool>
|
||||
|
||||
<!-- Whether the new Auto Selection Network UI should be shown -->
|
||||
<bool name="config_enableNewAutoSelectNetworkUI">true</bool>
|
||||
|
||||
<!-- An array of device capabilities defined by GSMA SGP.22 v2.0.
|
||||
The first item is the capability name that the device supports. The second item is the
|
||||
major version. The minor and revision versions are default to 0s.
|
||||
The device capabilities and their definition in the spec are:
|
||||
gsm : gsmSupportedRelease
|
||||
utran : utranSupportedRelease
|
||||
cdma1x : cdma2000onexSupportedRelease
|
||||
hrpd : cdma2000hrpdSupportedRelease
|
||||
ehrpd : cdma2000ehrpdSupportedRelease
|
||||
eutran : eutranSupportedRelease
|
||||
nfc : contactlessSupportedRelease
|
||||
crl : rspCrlSupportedVersion
|
||||
nrepc : nrEpcSupportedRelease
|
||||
nr5gc : nr5gcSupportedRelease
|
||||
eutran5gc : eutran5gcSupportedRelease
|
||||
-->
|
||||
<string-array name="config_telephonyEuiccDeviceCapabilities">
|
||||
<item>gsm,11</item>
|
||||
<item>utran,11</item>
|
||||
<item>cdma1x,1</item>
|
||||
<item>hrpd,3</item>
|
||||
<item>ehrpd,12</item>
|
||||
<item>eutran,11</item>
|
||||
<item>nfc,1</item>
|
||||
</string-array>
|
||||
|
||||
<!-- Safe headphone volume index. When music stream volume is below this index
|
||||
the SPL on headphone output is compliant to EN 60950 requirements for portable music
|
||||
players. -->
|
||||
<integer name="config_safe_media_volume_index">18</integer>
|
||||
|
||||
<!-- Safe USB headset gain. This value is used to ensure that the SPL on the USB
|
||||
headset output is compliant to EN 60950 requirements for portable music players. -->
|
||||
<integer name="config_safe_media_volume_usb_mB">-1650</integer>
|
||||
|
||||
<!-- The default peak refresh rate for a given device. Change this value if you want to prevent
|
||||
the framework from using higher refresh rates, even if display modes with higher refresh
|
||||
rates are available from hardware composer. Only has an effect if the value is
|
||||
non-zero. -->
|
||||
<integer name="config_defaultPeakRefreshRate">90</integer>
|
||||
</resources>
|
|
@ -37,7 +37,7 @@
|
|||
<item name="modem.controller.voltage">800
|
||||
</item>
|
||||
<array name="cpu.clusters.cores">
|
||||
<value>4</value>
|
||||
<value>6</value>
|
||||
<value>2</value>
|
||||
</array>
|
||||
<array name="cpu.core_speeds.cluster0">
|
9
overlay/OPlusSettingsProviderResTarget/Android.bp
Normal file
9
overlay/OPlusSettingsProviderResTarget/Android.bp
Normal file
|
@ -0,0 +1,9 @@
|
|||
//
|
||||
// Copyright (C) 2022 The LineageOS Project
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
//
|
||||
|
||||
runtime_resource_overlay {
|
||||
name: "OPlusSettingsProviderResTarget",
|
||||
device_specific: true,
|
||||
}
|
13
overlay/OPlusSettingsProviderResTarget/AndroidManifest.xml
Normal file
13
overlay/OPlusSettingsProviderResTarget/AndroidManifest.xml
Normal file
|
@ -0,0 +1,13 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2022 The LineageOS Project
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
-->
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.android.providers.settings.overlay.oplus.target">
|
||||
|
||||
<overlay
|
||||
android:isStatic="true"
|
||||
android:priority="350"
|
||||
android:targetPackage="com.android.providers.settings" />
|
||||
</manifest>
|
|
@ -0,0 +1,11 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2022 The LineageOS Project
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
-->
|
||||
<resources>
|
||||
|
||||
<!-- Default for Settings.Global.DEVICE_NAME $1=MODEL-->
|
||||
<string name="def_device_name_simple" translatable="false">OnePlus Nord N200</string>
|
||||
|
||||
</resources>
|
9
overlay/OPlusSettingsResTarget/Android.bp
Normal file
9
overlay/OPlusSettingsResTarget/Android.bp
Normal file
|
@ -0,0 +1,9 @@
|
|||
//
|
||||
// Copyright (C) 2022 The LineageOS Project
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
//
|
||||
|
||||
runtime_resource_overlay {
|
||||
name: "OPlusSettingsResTarget",
|
||||
device_specific: true,
|
||||
}
|
13
overlay/OPlusSettingsResTarget/AndroidManifest.xml
Normal file
13
overlay/OPlusSettingsResTarget/AndroidManifest.xml
Normal file
|
@ -0,0 +1,13 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2022 The LineageOS Project
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
-->
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.android.settings.overlay.oplus">
|
||||
|
||||
<overlay
|
||||
android:isStatic="true"
|
||||
android:priority="300"
|
||||
android:targetPackage="com.android.settings" />
|
||||
</manifest>
|
14
overlay/OPlusSettingsResTarget/res/values/config.xml
Normal file
14
overlay/OPlusSettingsResTarget/res/values/config.xml
Normal file
|
@ -0,0 +1,14 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2022 The LineageOS Project
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
-->
|
||||
<resources>
|
||||
|
||||
<!-- Max network scan search time in seconds -->
|
||||
<integer name="config_network_scan_helper_max_search_time_sec">254</integer>
|
||||
|
||||
<!-- Whether to show Smooth Display feature in Settings Options -->
|
||||
<bool name="config_show_smooth_display">true</bool>
|
||||
|
||||
</resources>
|
9
overlay/OPlusSystemUIResTarget/Android.bp
Normal file
9
overlay/OPlusSystemUIResTarget/Android.bp
Normal file
|
@ -0,0 +1,9 @@
|
|||
//
|
||||
// Copyright (C) 2022 The LineageOS Project
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
//
|
||||
|
||||
runtime_resource_overlay {
|
||||
name: "OPlusSystemUIResTarget",
|
||||
device_specific: true,
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue