Add device lynx
based on panther 0e0ae4dd4045e00dd50826d5c411351d47949d92 No-Typo-Check: based on above commit Bug: 202250383 Change-Id: I7dbcba9fc0644cf8e547c59b14a544701adc484b
This commit is contained in:
parent
e5cb57636a
commit
2aa4ba2268
31
Android.bp
Normal file
31
Android.bp
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
//
|
||||||
|
// Copyright (C) 2021 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.
|
||||||
|
|
||||||
|
package {
|
||||||
|
default_applicable_licenses: ["device_google_lynx_license"],
|
||||||
|
}
|
||||||
|
|
||||||
|
// Added automatically by a large-scale-change
|
||||||
|
// See: http://go/android-license-faq
|
||||||
|
license {
|
||||||
|
name: "device_google_lynx_license",
|
||||||
|
visibility: [":__subpackages__"],
|
||||||
|
license_kinds: [
|
||||||
|
"SPDX-license-identifier-Apache-2.0",
|
||||||
|
],
|
||||||
|
license_text: [
|
||||||
|
"NOTICE",
|
||||||
|
],
|
||||||
|
}
|
30
Android.mk
Normal file
30
Android.mk
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
#
|
||||||
|
# Copyright (C) 2021 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.
|
||||||
|
#
|
||||||
|
|
||||||
|
# WARNING: Everything listed here will be built on ALL platforms,
|
||||||
|
# including x86, the universal, and the SDK. Modules must be uniquely
|
||||||
|
# named (liblights.panda), and must build everywhere, or limit themselves
|
||||||
|
# to only building on ARM if they include assembly. Individual makefiles
|
||||||
|
# are responsible for having their own logic, for fine-grained control.
|
||||||
|
|
||||||
|
LOCAL_PATH := $(call my-dir)
|
||||||
|
|
||||||
|
# if some modules are built directly from this directory (not subdirectories),
|
||||||
|
# their rules should be written here.
|
||||||
|
|
||||||
|
ifneq (,$(filter $(TARGET_DEVICE),lynx))
|
||||||
|
include $(call all-makefiles-under,$(LOCAL_PATH))
|
||||||
|
endif
|
22
AndroidProducts.mk
Normal file
22
AndroidProducts.mk
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
#
|
||||||
|
# Copyright (C) 2021 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.
|
||||||
|
#
|
||||||
|
|
||||||
|
PRODUCT_MAKEFILES := \
|
||||||
|
$(LOCAL_DIR)/aosp_lynx.mk \
|
||||||
|
$(LOCAL_DIR)/factory_lynx.mk
|
||||||
|
|
||||||
|
COMMON_LUNCH_CHOICES := \
|
||||||
|
aosp_lynx-userdebug
|
190
NOTICE
Normal file
190
NOTICE
Normal file
@ -0,0 +1,190 @@
|
|||||||
|
|
||||||
|
Copyright (c) 2014, 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.
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
|
||||||
|
Apache License
|
||||||
|
Version 2.0, January 2004
|
||||||
|
http://www.apache.org/licenses/
|
||||||
|
|
||||||
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||||
|
|
||||||
|
1. Definitions.
|
||||||
|
|
||||||
|
"License" shall mean the terms and conditions for use, reproduction,
|
||||||
|
and distribution as defined by Sections 1 through 9 of this document.
|
||||||
|
|
||||||
|
"Licensor" shall mean the copyright owner or entity authorized by
|
||||||
|
the copyright owner that is granting the License.
|
||||||
|
|
||||||
|
"Legal Entity" shall mean the union of the acting entity and all
|
||||||
|
other entities that control, are controlled by, or are under common
|
||||||
|
control with that entity. For the purposes of this definition,
|
||||||
|
"control" means (i) the power, direct or indirect, to cause the
|
||||||
|
direction or management of such entity, whether by contract or
|
||||||
|
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||||
|
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||||
|
|
||||||
|
"You" (or "Your") shall mean an individual or Legal Entity
|
||||||
|
exercising permissions granted by this License.
|
||||||
|
|
||||||
|
"Source" form shall mean the preferred form for making modifications,
|
||||||
|
including but not limited to software source code, documentation
|
||||||
|
source, and configuration files.
|
||||||
|
|
||||||
|
"Object" form shall mean any form resulting from mechanical
|
||||||
|
transformation or translation of a Source form, including but
|
||||||
|
not limited to compiled object code, generated documentation,
|
||||||
|
and conversions to other media types.
|
||||||
|
|
||||||
|
"Work" shall mean the work of authorship, whether in Source or
|
||||||
|
Object form, made available under the License, as indicated by a
|
||||||
|
copyright notice that is included in or attached to the work
|
||||||
|
(an example is provided in the Appendix below).
|
||||||
|
|
||||||
|
"Derivative Works" shall mean any work, whether in Source or Object
|
||||||
|
form, that is based on (or derived from) the Work and for which the
|
||||||
|
editorial revisions, annotations, elaborations, or other modifications
|
||||||
|
represent, as a whole, an original work of authorship. For the purposes
|
||||||
|
of this License, Derivative Works shall not include works that remain
|
||||||
|
separable from, or merely link (or bind by name) to the interfaces of,
|
||||||
|
the Work and Derivative Works thereof.
|
||||||
|
|
||||||
|
"Contribution" shall mean any work of authorship, including
|
||||||
|
the original version of the Work and any modifications or additions
|
||||||
|
to that Work or Derivative Works thereof, that is intentionally
|
||||||
|
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||||
|
or by an individual or Legal Entity authorized to submit on behalf of
|
||||||
|
the copyright owner. For the purposes of this definition, "submitted"
|
||||||
|
means any form of electronic, verbal, or written communication sent
|
||||||
|
to the Licensor or its representatives, including but not limited to
|
||||||
|
communication on electronic mailing lists, source code control systems,
|
||||||
|
and issue tracking systems that are managed by, or on behalf of, the
|
||||||
|
Licensor for the purpose of discussing and improving the Work, but
|
||||||
|
excluding communication that is conspicuously marked or otherwise
|
||||||
|
designated in writing by the copyright owner as "Not a Contribution."
|
||||||
|
|
||||||
|
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||||
|
on behalf of whom a Contribution has been received by Licensor and
|
||||||
|
subsequently incorporated within the Work.
|
||||||
|
|
||||||
|
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
copyright license to reproduce, prepare Derivative Works of,
|
||||||
|
publicly display, publicly perform, sublicense, and distribute the
|
||||||
|
Work and such Derivative Works in Source or Object form.
|
||||||
|
|
||||||
|
3. Grant of Patent License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
(except as stated in this section) patent license to make, have made,
|
||||||
|
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||||
|
where such license applies only to those patent claims licensable
|
||||||
|
by such Contributor that are necessarily infringed by their
|
||||||
|
Contribution(s) alone or by combination of their Contribution(s)
|
||||||
|
with the Work to which such Contribution(s) was submitted. If You
|
||||||
|
institute patent litigation against any entity (including a
|
||||||
|
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||||
|
or a Contribution incorporated within the Work constitutes direct
|
||||||
|
or contributory patent infringement, then any patent licenses
|
||||||
|
granted to You under this License for that Work shall terminate
|
||||||
|
as of the date such litigation is filed.
|
||||||
|
|
||||||
|
4. Redistribution. You may reproduce and distribute copies of the
|
||||||
|
Work or Derivative Works thereof in any medium, with or without
|
||||||
|
modifications, and in Source or Object form, provided that You
|
||||||
|
meet the following conditions:
|
||||||
|
|
||||||
|
(a) You must give any other recipients of the Work or
|
||||||
|
Derivative Works a copy of this License; and
|
||||||
|
|
||||||
|
(b) You must cause any modified files to carry prominent notices
|
||||||
|
stating that You changed the files; and
|
||||||
|
|
||||||
|
(c) You must retain, in the Source form of any Derivative Works
|
||||||
|
that You distribute, all copyright, patent, trademark, and
|
||||||
|
attribution notices from the Source form of the Work,
|
||||||
|
excluding those notices that do not pertain to any part of
|
||||||
|
the Derivative Works; and
|
||||||
|
|
||||||
|
(d) If the Work includes a "NOTICE" text file as part of its
|
||||||
|
distribution, then any Derivative Works that You distribute must
|
||||||
|
include a readable copy of the attribution notices contained
|
||||||
|
within such NOTICE file, excluding those notices that do not
|
||||||
|
pertain to any part of the Derivative Works, in at least one
|
||||||
|
of the following places: within a NOTICE text file distributed
|
||||||
|
as part of the Derivative Works; within the Source form or
|
||||||
|
documentation, if provided along with the Derivative Works; or,
|
||||||
|
within a display generated by the Derivative Works, if and
|
||||||
|
wherever such third-party notices normally appear. The contents
|
||||||
|
of the NOTICE file are for informational purposes only and
|
||||||
|
do not modify the License. You may add Your own attribution
|
||||||
|
notices within Derivative Works that You distribute, alongside
|
||||||
|
or as an addendum to the NOTICE text from the Work, provided
|
||||||
|
that such additional attribution notices cannot be construed
|
||||||
|
as modifying the License.
|
||||||
|
|
||||||
|
You may add Your own copyright statement to Your modifications and
|
||||||
|
may provide additional or different license terms and conditions
|
||||||
|
for use, reproduction, or distribution of Your modifications, or
|
||||||
|
for any such Derivative Works as a whole, provided Your use,
|
||||||
|
reproduction, and distribution of the Work otherwise complies with
|
||||||
|
the conditions stated in this License.
|
||||||
|
|
||||||
|
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||||
|
any Contribution intentionally submitted for inclusion in the Work
|
||||||
|
by You to the Licensor shall be under the terms and conditions of
|
||||||
|
this License, without any additional terms or conditions.
|
||||||
|
Notwithstanding the above, nothing herein shall supersede or modify
|
||||||
|
the terms of any separate license agreement you may have executed
|
||||||
|
with Licensor regarding such Contributions.
|
||||||
|
|
||||||
|
6. Trademarks. This License does not grant permission to use the trade
|
||||||
|
names, trademarks, service marks, or product names of the Licensor,
|
||||||
|
except as required for reasonable and customary use in describing the
|
||||||
|
origin of the Work and reproducing the content of the NOTICE file.
|
||||||
|
|
||||||
|
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||||
|
agreed to in writing, Licensor provides the Work (and each
|
||||||
|
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||||
|
implied, including, without limitation, any warranties or conditions
|
||||||
|
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||||
|
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||||
|
appropriateness of using or redistributing the Work and assume any
|
||||||
|
risks associated with Your exercise of permissions under this License.
|
||||||
|
|
||||||
|
8. Limitation of Liability. In no event and under no legal theory,
|
||||||
|
whether in tort (including negligence), contract, or otherwise,
|
||||||
|
unless required by applicable law (such as deliberate and grossly
|
||||||
|
negligent acts) or agreed to in writing, shall any Contributor be
|
||||||
|
liable to You for damages, including any direct, indirect, special,
|
||||||
|
incidental, or consequential damages of any character arising as a
|
||||||
|
result of this License or out of the use or inability to use the
|
||||||
|
Work (including but not limited to damages for loss of goodwill,
|
||||||
|
work stoppage, computer failure or malfunction, or any and all
|
||||||
|
other commercial damages or losses), even if such Contributor
|
||||||
|
has been advised of the possibility of such damages.
|
||||||
|
|
||||||
|
9. Accepting Warranty or Additional Liability. While redistributing
|
||||||
|
the Work or Derivative Works thereof, You may choose to offer,
|
||||||
|
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||||
|
or other liability obligations and/or rights consistent with this
|
||||||
|
License. However, in accepting such obligations, You may act only
|
||||||
|
on Your own behalf and on Your sole responsibility, not on behalf
|
||||||
|
of any other Contributor, and only if You agree to indemnify,
|
||||||
|
defend, and hold each Contributor harmless for any liability
|
||||||
|
incurred by, or claims asserted against, such Contributor by reason
|
||||||
|
of your accepting any such warranty or additional liability.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
34
aosp_lynx.mk
Normal file
34
aosp_lynx.mk
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
#
|
||||||
|
# Copyright 2021 The Android Open-Source Project
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
#
|
||||||
|
|
||||||
|
TARGET_LINUX_KERNEL_VERSION := 5.10
|
||||||
|
|
||||||
|
DEVICE_USES_NO_TRUSTY := true
|
||||||
|
USE_SWIFTSHADER := true
|
||||||
|
BOARD_USES_SWIFTSHADER := true
|
||||||
|
BOARD_WITHOUT_RADIO := true
|
||||||
|
|
||||||
|
$(call inherit-product, device/google/gs201/aosp_common.mk)
|
||||||
|
$(call inherit-product, device/google/lynx/device-lynx.mk)
|
||||||
|
|
||||||
|
PRODUCT_NAME := aosp_lynx
|
||||||
|
PRODUCT_DEVICE := lynx
|
||||||
|
PRODUCT_MODEL := AOSP on Lynx
|
||||||
|
PRODUCT_BRAND := Android
|
||||||
|
PRODUCT_MANUFACTURER := Google
|
||||||
|
|
||||||
|
DEVICE_MANIFEST_FILE := \
|
||||||
|
device/google/lynx/manifest.xml
|
62
audio/lynx/audio-tables.mk
Normal file
62
audio/lynx/audio-tables.mk
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
#
|
||||||
|
# Copyright (C) 2021 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.
|
||||||
|
#
|
||||||
|
|
||||||
|
AUDIO_TABLE_FOLDER := lynx
|
||||||
|
|
||||||
|
# Platform Configuration for AudioHAL / SoundTriggerHAL
|
||||||
|
PRODUCT_COPY_FILES += \
|
||||||
|
device/google/lynx/audio/$(AUDIO_TABLE_FOLDER)/config/audio_policy_configuration_bluetooth_legacy_hal.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration_bluetooth_legacy_hal.xml \
|
||||||
|
device/google/lynx/audio/$(AUDIO_TABLE_FOLDER)/config/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \
|
||||||
|
device/google/lynx/audio/$(AUDIO_TABLE_FOLDER)/config/audio_policy_configuration_a2dp_offload_disabled.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration_a2dp_offload_disabled.xml \
|
||||||
|
device/google/lynx/audio/$(AUDIO_TABLE_FOLDER)/config/audio_platform_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_configuration.xml \
|
||||||
|
device/google/lynx/audio/$(AUDIO_TABLE_FOLDER)/config/sound_trigger_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_configuration.xml
|
||||||
|
|
||||||
|
# AudioEffectHAL Configuration
|
||||||
|
PRODUCT_COPY_FILES += \
|
||||||
|
device/google/lynx/audio/$(AUDIO_TABLE_FOLDER)/config/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml
|
||||||
|
|
||||||
|
# Mixer Path Configuration for AudioHAL
|
||||||
|
PRODUCT_COPY_FILES += \
|
||||||
|
device/google/lynx/audio/$(AUDIO_TABLE_FOLDER)/config/mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths.xml
|
||||||
|
|
||||||
|
# Speaker firmware files
|
||||||
|
SPK_FIRMWARE_PATH := $(AUDIO_TABLE_FOLDER)/cs35l41/fw
|
||||||
|
SPK_FIRMWARE_FULL_PATH := device/google/lynx/audio/$(SPK_FIRMWARE_PATH)
|
||||||
|
|
||||||
|
PRODUCT_COPY_FILES += $(call copy-files,$(wildcard $(SPK_FIRMWARE_FULL_PATH)/*),$(TARGET_COPY_OUT_VENDOR)/firmware)
|
||||||
|
|
||||||
|
# Audio tuning
|
||||||
|
PRODUCT_COPY_FILES += \
|
||||||
|
device/google/lynx/audio/$(AUDIO_TABLE_FOLDER)/tuning/bluenote/recording.gatf:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/recording.gatf \
|
||||||
|
device/google/lynx/audio/$(AUDIO_TABLE_FOLDER)/tuning/fortemedia/BLUETOOTH.dat:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/BLUETOOTH.dat \
|
||||||
|
device/google/lynx/audio/$(AUDIO_TABLE_FOLDER)/tuning/fortemedia/HANDSFREE.dat:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/HANDSFREE.dat \
|
||||||
|
device/google/lynx/audio/$(AUDIO_TABLE_FOLDER)/tuning/fortemedia/HANDSET.dat:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/HANDSET.dat \
|
||||||
|
device/google/lynx/audio/$(AUDIO_TABLE_FOLDER)/tuning/fortemedia/HEADSET.dat:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/HEADSET.dat \
|
||||||
|
device/google/lynx/audio/$(AUDIO_TABLE_FOLDER)/tuning/waves/waves_config.ini:$(TARGET_COPY_OUT_VENDOR)/etc/waves_config.ini \
|
||||||
|
device/google/lynx/audio/$(AUDIO_TABLE_FOLDER)/tuning/waves/waves_preset.mps:$(TARGET_COPY_OUT_VENDOR)/etc/waves_preset.mps
|
||||||
|
|
||||||
|
# userdebug specific
|
||||||
|
ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
|
||||||
|
PRODUCT_COPY_FILES += \
|
||||||
|
device/google/lynx/audio/$(AUDIO_TABLE_FOLDER)/tuning/fortemedia/BLUETOOTH.mods:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/BLUETOOTH.mods \
|
||||||
|
device/google/lynx/audio/$(AUDIO_TABLE_FOLDER)/tuning/fortemedia/HANDSFREE.mods:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/HANDSFREE.mods \
|
||||||
|
device/google/lynx/audio/$(AUDIO_TABLE_FOLDER)/tuning/fortemedia/HANDSET.mods:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/HANDSET.mods \
|
||||||
|
device/google/lynx/audio/$(AUDIO_TABLE_FOLDER)/tuning/fortemedia/HEADSET.mods:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/HEADSET.mods
|
||||||
|
|
||||||
|
# Mixer Path Configuration for Audio Speaker Calibration Tool crus_sp_cal
|
||||||
|
PRODUCT_COPY_FILES += \
|
||||||
|
device/google/lynx/audio/$(AUDIO_TABLE_FOLDER)/cs35l41/crus_sp_cal_mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/crus_sp_cal_mixer_paths.xml
|
||||||
|
endif
|
63
audio/lynx/config/audio_effects.xml
Normal file
63
audio/lynx/config/audio_effects.xml
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<audio_effects_conf version="2.0" xmlns="http://schemas.android.com/audio/audio_effects_conf/v2_0">
|
||||||
|
<libraries>
|
||||||
|
<library name="bundle" path="libbundlewrapper.so"/>
|
||||||
|
<library name="reverb" path="libreverbwrapper.so"/>
|
||||||
|
<library name="visualizer_sw" path="libvisualizer.so"/>
|
||||||
|
<library name="downmix" path="libdownmix.so"/>
|
||||||
|
<library name="dynamics_processing" path="libdynproc.so"/>
|
||||||
|
<library name="loudness_enhancer" path="libldnhncr.so"/>
|
||||||
|
<library name="proxy" path="libeffectproxy.so"/>
|
||||||
|
<library name="offload_effect" path="liboffloadeffect.so"/>
|
||||||
|
<library name="haptic_generator" path="libhapticgenerator.so"/>
|
||||||
|
</libraries>
|
||||||
|
<effects>
|
||||||
|
<effectProxy name="bassboost" library="proxy" uuid="2f0871a2-c93c-4824-9664-42eb2909f2ef">
|
||||||
|
<libsw library="bundle" uuid="8631f300-72e2-11df-b57e-0002a5d5c51b"/>
|
||||||
|
<libhw library="offload_effect" uuid="c7e3b29d-e797-4cf9-9912-17c1956510cc"/>
|
||||||
|
</effectProxy>
|
||||||
|
<effectProxy name="virtualizer" library="proxy" uuid="626499c6-647e-455e-8c45-2d106e23c755">
|
||||||
|
<libsw library="bundle" uuid="1d4033c0-8557-11df-9f2d-0002a5d5c51b"/>
|
||||||
|
<libhw library="offload_effect" uuid="f8f88a03-fdf8-4554-8e60-77fbf8f2d3b0"/>
|
||||||
|
</effectProxy>
|
||||||
|
<effectProxy name="equalizer" library="proxy" uuid="49004f03-3391-4c44-97dd-a043d526ea7d">
|
||||||
|
<libsw library="bundle" uuid="ce772f20-847d-11df-bb17-0002a5d5c51b"/>
|
||||||
|
<libhw library="offload_effect" uuid="50deaa30-4a83-4b1f-bfe3-dec6d605ede0"/>
|
||||||
|
</effectProxy>
|
||||||
|
<effect name="volume" library="bundle" uuid="119341a0-8469-11df-81f9-0002a5d5c51b"/>
|
||||||
|
<effectProxy name="reverb_env_aux" library="proxy" uuid="b8154738-a0a1-4fc0-bb79-c845a3197739">
|
||||||
|
<libsw library="reverb" uuid="4a387fc0-8ab3-11df-8bad-0002a5d5c51b"/>
|
||||||
|
<libhw library="offload_effect" uuid="0c84bcd9-bce4-441b-ba9e-51f80897c949"/>
|
||||||
|
</effectProxy>
|
||||||
|
<effectProxy name="reverb_env_ins" library="proxy" uuid="ba0f19fe-8790-4831-a58b-1f3299dd0bae">
|
||||||
|
<libsw library="reverb" uuid="c7a511a0-a3bb-11df-860e-0002a5d5c51b"/>
|
||||||
|
<libhw library="offload_effect" uuid="86d1877a-127f-4bdc-9665-c958903ad7b2"/>
|
||||||
|
</effectProxy>
|
||||||
|
<effectProxy name="reverb_pre_aux" library="proxy" uuid="80974a8b-b3be-4c21-8c0b-b392a54e13bc">
|
||||||
|
<libsw library="reverb" uuid="f29a1400-a3bb-11df-8ddc-0002a5d5c51b"/>
|
||||||
|
<libhw library="offload_effect" uuid="4f90220c-9742-4467-a9d7-122f85c01195"/>
|
||||||
|
</effectProxy>
|
||||||
|
<effectProxy name="reverb_pre_ins" library="proxy" uuid="c02d7dce-ca56-4aea-8c83-bbb53e5600e8">
|
||||||
|
<libsw library="reverb" uuid="172cdf00-a3bc-11df-a72f-0002a5d5c51b"/>
|
||||||
|
<libhw library="offload_effect" uuid="a2cf6b45-360b-49f3-94d7-fdb9837f89e8"/>
|
||||||
|
</effectProxy>
|
||||||
|
<effectProxy name="visualizer" library="proxy" uuid="b27271d9-64d6-413c-b316-80005ad09008">
|
||||||
|
<libsw library="visualizer_sw" uuid="d069d9e0-8329-11df-9168-0002a5d5c51b"/>
|
||||||
|
<libhw library="offload_effect" uuid="99fb2ecb-3426-4a0e-8082-1a1da5604b7d"/>
|
||||||
|
</effectProxy>
|
||||||
|
<effect name="downmix" library="downmix" uuid="93f04452-e4fe-41cc-91f9-e475b6d1d69f"/>
|
||||||
|
<effect name="loudness_enhancer" library="loudness_enhancer" uuid="fa415329-2034-4bea-b5dc-5b381c8d1e2c"/>
|
||||||
|
<effect name="aec" library="offload_effect" uuid="28c28780-ec8b-48b6-8590-8c84557d797d"/>
|
||||||
|
<effect name="ns" library="offload_effect" uuid="62ff2836-d050-43c3-9c2d-94a73dad2c64"/>
|
||||||
|
<effect name="haptic_generator" library="haptic_generator" uuid="97c4acd1-8b82-4f2f-832e-c2fe5d7a9931"/>
|
||||||
|
<effect name="dynamics_processing" library="dynamics_processing" uuid="e0e6539b-1781-7261-676f-6d7573696340"/>
|
||||||
|
</effects>
|
||||||
|
<postprocess>
|
||||||
|
</postprocess>
|
||||||
|
<preprocess>
|
||||||
|
<stream type="voice_communication">
|
||||||
|
<apply effect="aec"/>
|
||||||
|
<apply effect="ns"/>
|
||||||
|
</stream>
|
||||||
|
</preprocess>
|
||||||
|
</audio_effects_conf>
|
291
audio/lynx/config/audio_platform_configuration.xml
Normal file
291
audio/lynx/config/audio_platform_configuration.xml
Normal file
@ -0,0 +1,291 @@
|
|||||||
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
|
<!-- Copyright (c) 2019, 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, -->
|
||||||
|
<!-- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
|
||||||
|
<!-- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -->
|
||||||
|
<audio_platform_configuration>
|
||||||
|
<hw_intf>
|
||||||
|
<intf id="BE_HW_RX_INTF_0" name="TDM_RX_0" min_bit="24" min_chan="2" min_rate="48000" block_id="16"/>
|
||||||
|
<intf id="BE_HW_RX_INTF_1" name="TDM_RX_1" min_bit="24" min_chan="2" min_rate="48000" block_id="17"/>
|
||||||
|
<intf id="BE_HW_RX_INTF_2" name="USB_RX" min_bit="24" min_chan="2" min_rate="48000" block_id="20"/>
|
||||||
|
<intf id="BE_HW_RX_INTF_3" name="I2S_RX_0" min_bit="24" min_chan="2" min_rate="48000" block_id="18"/>
|
||||||
|
<!--intf id="BE_HW_RX_INTF_2" name="USB_RX" min_bit="24" min_chan="2" min_rate="48000" ctrl_config="USB device" ctrl_rate="Sample Rate" ctrl_bit="Bit Width" ctrl_chan="Channel"/-->
|
||||||
|
<!--intf id="BE_HW_RX_INTF_3" name="BT_RX"/-->
|
||||||
|
<intf id="BE_VIRTUAL_VOICE_RX_TUNING" block_id="19"/>
|
||||||
|
<intf id="BE_VIRTUAL_VOICE_TX_TUNING" block_id="19"/>
|
||||||
|
<intf id="BE_HW_TX_INTF_0" block_id="134,128"/>
|
||||||
|
</hw_intf>
|
||||||
|
|
||||||
|
<product_lists>
|
||||||
|
<product name="Blackbird">
|
||||||
|
<id value="18d1:5033"/>
|
||||||
|
</product>
|
||||||
|
<product name="Condor">
|
||||||
|
<id value="18d1:5034"/>
|
||||||
|
</product>
|
||||||
|
<product name="Condor_Sprint">
|
||||||
|
<id value="18d1:5038"/>
|
||||||
|
</product>
|
||||||
|
<product name="Condor_Sprint2">
|
||||||
|
<id value="18d1:5036"/>
|
||||||
|
</product>
|
||||||
|
</product_lists>
|
||||||
|
|
||||||
|
<!-- The microphone capability is fake data -->
|
||||||
|
<microphone_characteristics>
|
||||||
|
<microphone device_id="builtin_mic_1" type="AUDIO_DEVICE_IN_BUILTIN_MIC" address="bottom" location="AUDIO_MICROPHONE_LOCATION_MAINBODY"
|
||||||
|
group="0" index_in_the_group="0" directionality="AUDIO_MICROPHONE_DIRECTIONALITY_OMNI" num_frequency_responses="93"
|
||||||
|
frequencies="100.00 106.00 112.00 118.00 125.00 132.00 140.00 150.00 160.00 170.00 180.00 190.00 200.00 212.00 224.00 236.00 250.00 265.00 280.00 300.00 315.00 335.00 355.00 375.00 400.00 425.00 450.00 475.00 500.00 530.00 560.00 600.00 630.00 670.00 710.00 750.00 800.00 850.00 900.00 950.00 1000.00 1060.00 1120.00 1180.00 1250.00 1320.00 1400.00 1500.00 1600.00 1700.00 1800.00 1900.00 2000.00 2120.00 2240.00 2360.00 2500.00 2650.00 2800.00 3000.00 3150.00 3350.00 3550.00 3750.00 4000.00 4250.00 4500.00 4750.00 5000.00 5300.00 5600.00 6000.00 6300.00 6700.00 7100.00 7500.00 8000.00 8500.00 9000.00 9500.00 10000.00 10600.00 11200.00 11800.00 12500.00 13200.00 14000.00 15000.00 16000.00 17000.00 18000.00 19000.00 20000.00"
|
||||||
|
responses="-0.78 -0.71 -0.64 -0.60 -0.55 -0.50 -0.47 -0.42 -0.39 -0.36 -0.34 -0.33 -0.32 -0.29 -0.28 -0.28 -0.27 -0.25 -0.25 -0.24 -0.23 -0.23 -0.22 -0.22 -0.19 -0.17 -0.15 -0.15 -0.14 -0.14 -0.12 -0.11 -0.10 -0.10 -0.08 -0.07 -0.07 -0.04 -0.03 -0.01 0.00 0.04 0.06 0.07 0.08 0.13 0.09 0.14 0.19 0.23 0.28 0.29 0.31 0.37 0.88 0.86 0.77 0.78 0.84 0.86 1.05 1.12 1.18 1.25 1.43 1.66 1.83 2.02 2.23 2.59 2.84 3.35 4.01 6.82 6.62 6.42 7.30 8.23 7.54 12.68 13.76 18.69 19.68 20.90 23.70 25.10 21.65 16.18 18.84 25.44 23.48 23.22 24.89"
|
||||||
|
sensitivity="-37.0" max_spl="132.5" min_spl="28.5" orientation="0.0 0.0 1.0" geometric_location="0.0269 0.0058 0.0079" />
|
||||||
|
<microphone device_id="builtin_mic_2" type="AUDIO_DEVICE_IN_BACK_MIC" address="back" location="AUDIO_MICROPHONE_LOCATION_MAINBODY"
|
||||||
|
group="0" index_in_the_group="1" directionality="AUDIO_MICROPHONE_DIRECTIONALITY_OMNI" num_frequency_responses="92"
|
||||||
|
frequencies="106.00 112.00 118.00 125.00 132.00 140.00 150.00 160.00 170.00 180.00 190.00 200.00 212.00 224.00 236.00 250.00 265.00 280.00 300.00 315.00 335.00 355.00 375.00 400.00 425.00 450.00 475.00 500.00 530.00 560.00 600.00 630.00 670.00 710.00 750.00 800.00 850.00 900.00 950.00 1000.00 1060.00 1120.00 1180.00 1250.00 1320.00 1400.00 1500.00 1600.00 1700.00 1800.00 1900.00 2000.00 2120.00 2240.00 2360.00 2500.00 2650.00 2800.00 3000.00 3150.00 3350.00 3550.00 3750.00 4000.00 4250.00 4500.00 4750.00 5000.00 5300.00 5600.00 6000.00 6300.00 6700.00 7100.00 7500.00 8000.00 8500.00 9000.00 9500.00 10000.00 10600.00 11200.00 11800.00 12500.00 13200.00 14000.00 15000.00 16000.00 17000.00 18000.00 19000.00 20000.00"
|
||||||
|
responses="-0.75 -0.74 -0.69 -0.65 -0.62 -0.61 -0.56 -0.53 -0.50 -0.47 -0.43 -0.40 -0.37 -0.36 -0.33 -0.30 -0.28 -0.25 -0.24 -0.24 -0.24 -0.25 -0.24 -0.12 -0.10 -0.08 -0.09 -0.07 -0.07 -0.06 -0.06 -0.06 -0.05 -0.04 -0.05 -0.04 -0.01 0.02 0.02 0.00 0.02 0.03 0.07 0.10 0.10 0.13 0.01 0.01 0.10 0.11 0.19 0.24 0.38 0.46 0.26 0.27 0.43 0.76 0.75 1.09 1.09 0.94 1.06 1.21 1.47 1.45 1.36 2.07 2.85 2.90 3.85 4.65 5.84 5.46 6.15 7.50 8.30 10.62 12.70 16.65 20.95 25.41 26.32 20.20 16.60 11.24 7.85 7.62 20.19 7.32 2.87 5.18"
|
||||||
|
sensitivity="-37.0" max_spl="132.5" min_spl="28.5" orientation="0.0 1.0 0.0" geometric_location="0.0546 0.1456 0.00415" />
|
||||||
|
<microphone device_id="builtin_mic_3" type="AUDIO_DEVICE_IN_BUILTIN_MIC" address="top" location="AUDIO_MICROPHONE_LOCATION_MAINBODY"
|
||||||
|
group="0" index_in_the_group="2" directionality="AUDIO_MICROPHONE_DIRECTIONALITY_OMNI" num_frequency_responses="92"
|
||||||
|
frequencies="100.00 106.00 112.00 118.00 125.00 132.00 140.00 150.00 160.00 170.00 180.00 190.00 200.00 212.00 224.00 236.00 250.00 265.00 280.00 300.00 315.00 335.00 355.00 375.00 400.00 425.00 450.00 475.00 500.00 530.00 560.00 600.00 630.00 670.00 710.00 750.00 800.00 850.00 900.00 950.00 1000.00 1060.00 1120.00 1180.00 1250.00 1320.00 1400.00 1500.00 1600.00 1700.00 1800.00 1900.00 2000.00 2120.00 2240.00 2360.00 2500.00 2650.00 2800.00 3000.00 3150.00 3350.00 3550.00 3750.00 4000.00 4250.00 4500.00 4750.00 5000.00 5300.00 5600.00 6000.00 6300.00 6700.00 7100.00 7500.00 8000.00 8500.00 9000.00 9500.00 10000.00 10600.00 11200.00 11800.00 12500.00 13200.00 14000.00 15000.00 16000.00 17000.00 18000.00 19000.00"
|
||||||
|
responses="-9.24 -9.31 -9.39 -9.45 -9.46 -9.47 -9.50 -9.52 -9.51 -9.52 -9.51 -9.50 -9.49 -9.47 -9.48 -9.49 -9.48 -9.50 -9.51 -9.53 -9.55 -9.59 -9.63 -9.67 -9.58 -9.57 -9.65 -9.68 -9.71 -9.75 -9.79 -9.84 -9.87 -9.87 -9.90 -9.90 -9.91 -9.97 -10.01 -10.05 -9.85 -9.93 -9.94 -9.98 -10.04 -10.12 -10.28 -10.25 -10.01 -9.86 -9.81 -9.82 -9.61 -9.46 -8.27 -8.42 -8.98 -8.99 -8.82 -9.21 -8.92 -8.97 -9.30 -9.44 -9.52 -9.28 -9.09 -8.81 -7.02 -5.72 -5.30 -7.26 -8.39 -12.28 -8.23 -6.99 -5.52 -4.87 -3.82 -6.09 0.00 -2.15 -0.26 1.48 5.22 10.92 6.41 9.55 12.96 3.35 22.00 19.75"
|
||||||
|
sensitivity="-37.0" max_spl="132.5" min_spl="28.5" orientation="0.0 0.0 1.0" geometric_location="0.0274 0.14065 0.0079" />
|
||||||
|
</microphone_characteristics>
|
||||||
|
|
||||||
|
<!-- The microphone mapping of backend device is fake data -->
|
||||||
|
<input_backend_cfg_mic_mapping>
|
||||||
|
<backend_cfg in_cfg="IN_CAMCORDER_LANDSCAPE_BE_CFG">
|
||||||
|
<mic_info mic_device_id="builtin_mic_1"
|
||||||
|
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||||
|
<mic_info mic_device_id="builtin_mic_2"
|
||||||
|
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||||
|
<mic_info mic_device_id="builtin_mic_3"
|
||||||
|
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||||
|
</backend_cfg>
|
||||||
|
<backend_cfg in_cfg="IN_CAMCORDER_INVERT_LANDSCAPE_BE_CFG">
|
||||||
|
<mic_info mic_device_id="builtin_mic_1"
|
||||||
|
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||||
|
<mic_info mic_device_id="builtin_mic_2"
|
||||||
|
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||||
|
<mic_info mic_device_id="builtin_mic_3"
|
||||||
|
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||||
|
</backend_cfg>
|
||||||
|
<backend_cfg in_cfg="IN_CAMCORDER_PORTRAIT_BE_CFG">
|
||||||
|
<mic_info mic_device_id="builtin_mic_1"
|
||||||
|
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||||
|
<mic_info mic_device_id="builtin_mic_2"
|
||||||
|
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||||
|
<mic_info mic_device_id="builtin_mic_3"
|
||||||
|
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||||
|
</backend_cfg>
|
||||||
|
<backend_cfg in_cfg="IN_CAMCORDER_SELFIE_LANDSCAPE_BE_CFG">
|
||||||
|
<mic_info mic_device_id="builtin_mic_1"
|
||||||
|
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||||
|
<mic_info mic_device_id="builtin_mic_2"
|
||||||
|
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||||
|
<mic_info mic_device_id="builtin_mic_3"
|
||||||
|
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||||
|
</backend_cfg>
|
||||||
|
<backend_cfg in_cfg="IN_CAMCORDER_SELFIE_INVERT_LANDSCAPE_BE_CFG">
|
||||||
|
<mic_info mic_device_id="builtin_mic_1"
|
||||||
|
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||||
|
<mic_info mic_device_id="builtin_mic_2"
|
||||||
|
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||||
|
<mic_info mic_device_id="builtin_mic_3"
|
||||||
|
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||||
|
</backend_cfg>
|
||||||
|
<backend_cfg in_cfg="IN_CAMCORDER_SELFIE_PORTRAIT_BE_CFG">
|
||||||
|
<mic_info mic_device_id="builtin_mic_1"
|
||||||
|
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||||
|
<mic_info mic_device_id="builtin_mic_2"
|
||||||
|
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||||
|
<mic_info mic_device_id="builtin_mic_3"
|
||||||
|
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||||
|
</backend_cfg>
|
||||||
|
<backend_cfg in_cfg="IN_HANDSET_MIC_BE_CFG">
|
||||||
|
<mic_info mic_device_id="builtin_mic_1"
|
||||||
|
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||||
|
</backend_cfg>
|
||||||
|
<backend_cfg in_cfg="IN_VOICECALL_HANDSET_MIC_BE_CFG">
|
||||||
|
<mic_info mic_device_id="builtin_mic_1"
|
||||||
|
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||||
|
<mic_info mic_device_id="builtin_mic_2"
|
||||||
|
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||||
|
</backend_cfg>
|
||||||
|
<backend_cfg in_cfg="IN_VOICECALL_SPEAKER_MIC_BE_CFG">
|
||||||
|
<mic_info mic_device_id="builtin_mic_1"
|
||||||
|
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||||
|
<mic_info mic_device_id="builtin_mic_2"
|
||||||
|
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||||
|
<mic_info mic_device_id="builtin_mic_3"
|
||||||
|
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||||
|
</backend_cfg>
|
||||||
|
<backend_cfg in_cfg="IN_USB_TTY_VCO_MIC_BE_CFG">
|
||||||
|
<mic_info mic_device_id="builtin_mic_1"
|
||||||
|
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||||
|
<mic_info mic_device_id="builtin_mic_2"
|
||||||
|
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||||
|
<mic_info mic_device_id="builtin_mic_3"
|
||||||
|
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||||
|
</backend_cfg>
|
||||||
|
<backend_cfg in_cfg="IN_VOICE_RECOGN_MIC_BE_CFG">
|
||||||
|
<mic_info mic_device_id="builtin_mic_1"
|
||||||
|
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT"/>
|
||||||
|
</backend_cfg>
|
||||||
|
<backend_cfg in_cfg="IN_UNPROCESSED_MIC_BE_CFG">
|
||||||
|
<mic_info mic_device_id="builtin_mic_1"
|
||||||
|
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT"/>
|
||||||
|
</backend_cfg>
|
||||||
|
<backend_cfg in_cfg="IN_UNPROCESSED_DUAL_MIC_BE_CFG">
|
||||||
|
<mic_info mic_device_id="builtin_mic_1"
|
||||||
|
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED"/>
|
||||||
|
<mic_info mic_device_id="builtin_mic_2"
|
||||||
|
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT"/>
|
||||||
|
</backend_cfg>
|
||||||
|
<backend_cfg in_cfg="IN_UNPROCESSED_TRIPLE_MIC_BE_CFG">
|
||||||
|
<mic_info mic_device_id="builtin_mic_1"
|
||||||
|
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED"/>
|
||||||
|
<mic_info mic_device_id="builtin_mic_2"
|
||||||
|
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED"/>
|
||||||
|
<mic_info mic_device_id="builtin_mic_3"
|
||||||
|
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT"/>
|
||||||
|
</backend_cfg>
|
||||||
|
</input_backend_cfg_mic_mapping>
|
||||||
|
|
||||||
|
<usecase_attr>
|
||||||
|
<!-- for output with AUDIO_OUTPUT_FLAG_RAW, 32 periods * 64 frames(around 1.3ms) * 2ch * 4(s32) = 16384 bytes -->
|
||||||
|
<usecase id="UC_RAW_PLAYBACK" dev1="23" dyn_path="true" dsp_vol="false" mmap="true" period="64" period_num="32"/>
|
||||||
|
<!-- for output with AUDIO_OUTPUT_FLAG_PRIMARY|AUDIO_OUTPUT_FLAG_FAST, 4 * 10ms buffer -->
|
||||||
|
<usecase id="UC_LOW_LATENCY_PLAYBACK" dev1="1" dyn_path="true" dsp_vol="false" mmap="false" period="10" period_num="4"/>
|
||||||
|
<!-- for output with AUDIO_OUTPUT_FLAG_MMAP_NOIRQ, 80 periods * 48 frames/period(=1ms w/ 48k sample rate) * 4 bytes/frame = 15360 bytes -->
|
||||||
|
<usecase id="UC_MMAP_PLAYBACK" dev1="0" dyn_path="true" dsp_vol="false" mmap="true" period="1" period_num="80"/>
|
||||||
|
<!-- for output with AUDIO_OUTPUT_FLAG_DEEP_BUFFER, 4 * 20ms buffer -->
|
||||||
|
<usecase id="UC_DEEP_BUFFER_PLAYBACK" dev1="5" dyn_path="true" dsp_vol="false" mmap="false" period="20" period_num="4"/>
|
||||||
|
<!-- dev1: voice-call downlink dev2: voice-clal uplink -->
|
||||||
|
<usecase id="UC_VOICE_CALL" dev1="4" dev2="11"/>
|
||||||
|
<!-- for output with AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD, 4 * 128KB buffer -->
|
||||||
|
<usecase id="UC_COMPRESSED_OFFLOAD_PLAYBACK" dev1="6" dyn_path="true" dsp_vol="true" mmap="false" period="131072" period_num="4" pre_proc_id="14"/>
|
||||||
|
<!-- dev1: audio dev2: haptic -->
|
||||||
|
<usecase id="UC_HAPTIC_AUDIO" dev1="2" dev2="7" period="10" period_num="4"/>
|
||||||
|
<!-- for VOIP output, 4 * 10ms buffer -->
|
||||||
|
<usecase id="UC_VOIP_PLAYBACK" dev1="16" dyn_path="true" dsp_vol="true" mmap="false" period="10" period_num="4"/>
|
||||||
|
<!-- for input -->
|
||||||
|
<usecase id="UC_AUDIO_RECORD" dev1="8" dyn_path="true" dsp_vol="false" mmap="false" period="20" period_num="4"/>
|
||||||
|
<usecase id="UC_HOSTLESS_UL" dev1="15"/>
|
||||||
|
<!-- for VOIP input, 4 * 10ms buffer -->
|
||||||
|
<usecase id="UC_VOIP_RECORD" dev1="17" dyn_path="true" dsp_vol="false" mmap="false" period="10" period_num="4"/>
|
||||||
|
<!-- for input wit AUDIO_INPUT_FLAG_FAST 480 periods * 1ms buffer, 16-bit, 2ch, buffer size 92160 bytes-->
|
||||||
|
<usecase id="UC_LOW_LATENCY_AUDIO_RECORD" dev1="10" dyn_path="true" dsp_vol="false" mmap="true" period="1" period_num="480"/>
|
||||||
|
<!-- for input wit AUDIO_INPUT_FLAG_MMAP_NOIRQ 240 periods * 1ms buffer, 32-bit,2 ch, buffer size 92160 bytes -->
|
||||||
|
<usecase id="UC_MMAP_RECORD" dev1="9" dyn_path="true" dsp_vol="false" mmap="true" period="1" period_num="240"/>
|
||||||
|
<!-- for hifi -->
|
||||||
|
<usecase id="UC_HIFI_PLAYBACK" dev1="25"/>
|
||||||
|
<usecase id="UC_HIFI_RECORD" dev1="26"/>
|
||||||
|
</usecase_attr>
|
||||||
|
|
||||||
|
<dsp_latency>
|
||||||
|
<usecase id="UC_LOW_LATENCY_PLAYBACK" type="playback">
|
||||||
|
<be_cfg be_id="OUT_SPEAKER_BE_CFG" latency="20000"/>
|
||||||
|
<be_cfg be_id="OUT_USB_HEADSET_BE_CFG" latency="10000"/>
|
||||||
|
<be_cfg be_id="OUT_USB_HEADPHONE_BE_CFG" latency="10000"/>
|
||||||
|
<be_cfg be_id="OUT_A2DP_BE_CFG" latency="10000"/>
|
||||||
|
</usecase>
|
||||||
|
|
||||||
|
<usecase id="UC_DEEP_BUFFER_PLAYBACK" type="playback">
|
||||||
|
<be_cfg be_id="OUT_SPEAKER_BE_CFG" latency="70000"/>
|
||||||
|
<be_cfg be_id="OUT_USB_HEADSET_BE_CFG" latency="70000"/>
|
||||||
|
<be_cfg be_id="OUT_USB_HEADPHONE_BE_CFG" latency="70000"/>
|
||||||
|
<be_cfg be_id="OUT_A2DP_BE_CFG" latency="180000"/>
|
||||||
|
</usecase>
|
||||||
|
|
||||||
|
<usecase id="UC_AUDIO_RECORD" type="capture">
|
||||||
|
<be_cfg be_id="IN_CAMCORDER_LANDSCAPE_BE_CFG" latency="160000"/>
|
||||||
|
<be_cfg be_id="IN_CAMCORDER_INVERT_LANDSCAPE_BE_CFG" latency="160000"/>
|
||||||
|
<be_cfg be_id="IN_CAMCORDER_PORTRAIT_BE_CFG" latency="160000"/>
|
||||||
|
<be_cfg be_id="IN_CAMCORDER_SELFIE_LANDSCAPE_BE_CFG" latency="160000"/>
|
||||||
|
<be_cfg be_id="IN_CAMCORDER_SELFIE_INVERT_LANDSCAPE_BE_CFG" latency="160000"/>
|
||||||
|
<be_cfg be_id="IN_CAMCORDER_SELFIE_PORTRAIT_BE_CFG" latency="160000"/>
|
||||||
|
<be_cfg be_id="IN_BTSCO_MIC_BE_CFG" latency="40000"/>
|
||||||
|
<be_cfg be_id="IN_BTSCO_MIC_NREC_BE_CFG" latency="40000"/>
|
||||||
|
<be_cfg be_id="IN_BTSCO_MIC_WB_BE_CFG" latency="40000"/>
|
||||||
|
<be_cfg be_id="IN_BTSCO_MIC_WB_NREC_BE_CFG" latency="40000"/>
|
||||||
|
</usecase>
|
||||||
|
</dsp_latency>
|
||||||
|
|
||||||
|
<soundcard_name name="google,aoc-snd-card" />
|
||||||
|
|
||||||
|
<cfg_attr>
|
||||||
|
<cfg id="OUT_SPEAKER_BE_CFG" intf_name="TDM_RX_0" mux="HW_MUX_GP_0" tuning_id="2"/>
|
||||||
|
<cfg id="OUT_HAC_HANDSET_BE_CFG" intf_name="TDM_RX_1" mux="HW_MUX_GP_1" be_path="hac-handset"/>
|
||||||
|
<cfg id="OUT_USB_HEADSET_BE_CFG">
|
||||||
|
<override product="Blackbird" tuning_id="22"/>
|
||||||
|
<override product="Condor" tuning_id="33"/>
|
||||||
|
</cfg>
|
||||||
|
<cfg id="OUT_USB_TTY_FULL_BE_CFG" be_path="usb-headphone" codec_path="usb-headphone"/>
|
||||||
|
<cfg id="OUT_USB_TTY_VCO_BE_CFG" be_path="usb-headphone" codec_path="usb-headphone"/>
|
||||||
|
<cfg id="OUT_USB_TTY_HCO_BE_CFG" be_path="NULL" codec_path="voice-speaker"/>
|
||||||
|
<cfg id="IN_USB_TTY_FULL_MIC_BE_CFG" be_path="usb-headset-mic" codec_path="usb-headset-mic" mux="HW_MUX_GP_0"/>
|
||||||
|
<cfg id="IN_USB_TTY_VCO_MIC_BE_CFG" be_path="NULL" codec_path="voice-speaker-mic"/>
|
||||||
|
<cfg id="IN_USB_TTY_HCO_MIC_BE_CFG" be_path="usb-headset-mic" codec_path="usb-headset-mic" mux="HW_MUX_GP_0"/>
|
||||||
|
<cfg id="IN_SPK_VI_BE_CFG" codec_path="NULL" be_path="spk-vi"/>
|
||||||
|
<cfg id="IN_CAMCORDER_LANDSCAPE_BE_CFG" tuning_id="70"/>
|
||||||
|
<cfg id="IN_CAMCORDER_INVERT_LANDSCAPE_BE_CFG" tuning_id="71"/>
|
||||||
|
<cfg id="IN_CAMCORDER_PORTRAIT_BE_CFG" tuning_id="72"/>
|
||||||
|
<cfg id="IN_CAMCORDER_SELFIE_LANDSCAPE_BE_CFG" tuning_id="73"/>
|
||||||
|
<cfg id="IN_CAMCORDER_SELFIE_INVERT_LANDSCAPE_BE_CFG" tuning_id="74"/>
|
||||||
|
<cfg id="IN_CAMCORDER_SELFIE_PORTRAIT_BE_CFG" tuning_id="75"/>
|
||||||
|
<cfg id="IN_CAMCORDER_MIC_BE_CFG" tuning_id="70"/>
|
||||||
|
<cfg id="IN_CAMCORDER_TRIPLE_MIC_BE_CFG" tuning_id="70"/>
|
||||||
|
<cfg id="IN_BTSCO_MIC_BE_CFG" mux="HW_MUX_GP_0"/>
|
||||||
|
<cfg id="IN_BTSCO_MIC_NREC_BE_CFG" mux="HW_MUX_GP_0"/>
|
||||||
|
<cfg id="IN_BTSCO_MIC_WB_BE_CFG" mux="HW_MUX_GP_0"/>
|
||||||
|
<cfg id="IN_BTSCO_MIC_WB_NREC_BE_CFG" mux="HW_MUX_GP_0"/>
|
||||||
|
<cfg id="IN_VOICE_RECOGN_USB_HEADSET_MIC_BE_CFG" mux="HW_MUX_GP_0"/>
|
||||||
|
<cfg id="IN_USB_HEADSET_MIC_BE_CFG" mux="HW_MUX_GP_0"/>
|
||||||
|
<cfg id="IN_VOICECALL_USB_HEADSET_MIC_BE_CFG" mux="HW_MUX_GP_0"/>
|
||||||
|
<cfg id="IN_UNPROCESSED_USB_HEADSET_MIC_BE_CFG" mux="HW_MUX_GP_0"/>
|
||||||
|
</cfg_attr>
|
||||||
|
|
||||||
|
<xlate_id>
|
||||||
|
<item component="TUNING_COMPONENT_WAVES" id="2"/>
|
||||||
|
<item component="TUNING_COMPONENT_FORTEMEDIA" id="3"/>
|
||||||
|
<item component="TUNING_COMPONENT_CAMCORDER" id="6"/>
|
||||||
|
</xlate_id>
|
||||||
|
|
||||||
|
<voip_db_mapping>
|
||||||
|
<voip_path id="VOIP_RX_USB" value="0.01,0.02,0.04,0.1,0.21,0.47,1.0"/>
|
||||||
|
</voip_db_mapping>
|
||||||
|
|
||||||
|
<device_handle>
|
||||||
|
<handler libname="audio_bt_aoc.so"/>
|
||||||
|
<handler libname="audio_usb_aoc.so" argu="MaxSamplingRate=96000,UnsupportedFormat=S24_LE"/>
|
||||||
|
</device_handle>
|
||||||
|
|
||||||
|
<external_module>
|
||||||
|
<module libname="audio_spk_35l41.so"/>
|
||||||
|
<!--module libname="audio_waves_aoc.so" argu="Sink=SPK:1"/-->
|
||||||
|
<!--module libname="audio_fortemedia_aoc.so"/-->
|
||||||
|
<module libname="liboffloadeffect.so"/>
|
||||||
|
<module libname="audio_amcs_ext.so"/>
|
||||||
|
<module libname="audio_bluenote_aoc.so"/>
|
||||||
|
</external_module>
|
||||||
|
</audio_platform_configuration>
|
255
audio/lynx/config/audio_policy_configuration.xml
Normal file
255
audio/lynx/config/audio_policy_configuration.xml
Normal file
@ -0,0 +1,255 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<!-- Copyright (C) 2020 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.
|
||||||
|
-->
|
||||||
|
<audioPolicyConfiguration version="7.0" xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||||
|
<globalConfiguration speaker_drc_enabled="false" call_screen_mode_supported="true" />
|
||||||
|
<modules>
|
||||||
|
<!-- Primary Audio HAL -->
|
||||||
|
<module name="primary" halVersion="2.0">
|
||||||
|
<attachedDevices>
|
||||||
|
<item>Speaker</item>
|
||||||
|
<item>Speaker Safe</item>
|
||||||
|
<item>Earpiece</item>
|
||||||
|
<item>Built-In Mic</item>
|
||||||
|
<item>Built-In Back Mic</item>
|
||||||
|
<!--item>Telephony Tx</item-->
|
||||||
|
<!--item>Voice Call And Telephony Rx</item-->
|
||||||
|
<!--item>Echo Ref In</item-->
|
||||||
|
</attachedDevices>
|
||||||
|
<defaultOutputDevice>Speaker</defaultOutputDevice>
|
||||||
|
<mixPorts>
|
||||||
|
<mixPort name="primary output" role="source" flags="AUDIO_OUTPUT_FLAG_PRIMARY AUDIO_OUTPUT_FLAG_FAST">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||||
|
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||||
|
</mixPort>
|
||||||
|
<mixPort name="deep buffer" role="source" flags="AUDIO_OUTPUT_FLAG_DEEP_BUFFER">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
|
||||||
|
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||||
|
</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 16000 24000 32000 44100 48000"
|
||||||
|
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
|
||||||
|
<profile name="" format="AUDIO_FORMAT_AAC_LC"
|
||||||
|
samplingRates="8000 16000 24000 32000 44100 48000"
|
||||||
|
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
|
||||||
|
<profile name="" format="AUDIO_FORMAT_AAC_HE_V1"
|
||||||
|
samplingRates="8000 16000 24000 32000 44100 48000"
|
||||||
|
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
|
||||||
|
<profile name="" format="AUDIO_FORMAT_AAC_HE_V2"
|
||||||
|
samplingRates="8000 16000 24000 32000 44100 48000"
|
||||||
|
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
|
||||||
|
</mixPort-->
|
||||||
|
<!--mixPort name="haptic" role="source">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||||
|
samplingRates="48000"
|
||||||
|
channelMasks="AUDIO_CHANNEL_OUT_STEREO_HAPTIC_A" />
|
||||||
|
</mixPort-->
|
||||||
|
<!--mixPort name="raw" role="source" flags="AUDIO_OUTPUT_FLAG_RAW AUDIO_OUTPUT_FLAG_FAST">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_32_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="incall playback" role="source"
|
||||||
|
flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||||
|
samplingRates="48000"
|
||||||
|
channelMasks="AUDIO_CHANNEL_OUT_STEREO" />
|
||||||
|
</mixPort-->
|
||||||
|
<!--mixPort name="voice call tx" role="source">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||||
|
samplingRates="48000"
|
||||||
|
channelMasks="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="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||||
|
</mixPort-->
|
||||||
|
<mixPort name="primary input" role="sink">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||||
|
samplingRates="48000"
|
||||||
|
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_INDEX_MASK_3"/>
|
||||||
|
</mixPort>
|
||||||
|
<mixPort name="hotword input" role="sink" flags="AUDIO_INPUT_FLAG_HW_HOTWORD" maxActiveCount="0" >
|
||||||
|
<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"/>
|
||||||
|
</mixPort>
|
||||||
|
<!--mixPort name="incall capture" role="sink">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||||
|
samplingRates="48000"
|
||||||
|
channelMasks="AUDIO_CHANNEL_IN_MONO"/>
|
||||||
|
</mixPort-->
|
||||||
|
<!--mixPort name="voice call rx" role="sink">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||||
|
samplingRates="48000"
|
||||||
|
channelMasks="AUDIO_CHANNEL_IN_MONO"/>
|
||||||
|
</mixPort-->
|
||||||
|
<!--mixPort name="voip_tx" role="sink"
|
||||||
|
flags="AUDIO_INPUT_FLAG_VOIP_TX">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||||
|
samplingRates="48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
|
||||||
|
</mixPort-->
|
||||||
|
<!--mixPort name="fast input" role="sink" flags="AUDIO_INPUT_FLAG_RAW AUDIO_INPUT_FLAG_FAST">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||||
|
samplingRates="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_32_BIT"
|
||||||
|
samplingRates="48000"
|
||||||
|
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
|
||||||
|
</mixPort-->
|
||||||
|
<!--mixPort name="hifi_playback" role="source" /-->
|
||||||
|
<!--mixPort name="hifi_input" role="sink" /-->
|
||||||
|
<!--mixPort name="echo_ref_input" role="sink">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
|
||||||
|
samplingRates="48000"
|
||||||
|
channelMasks="AUDIO_CHANNEL_IN_STEREO"/>
|
||||||
|
</mixPort-->
|
||||||
|
</mixPorts>
|
||||||
|
<devicePorts>
|
||||||
|
<!-- Output devices declaration, i.e. Sink DEVICE PORT -->
|
||||||
|
<devicePort tagName="Earpiece" type="AUDIO_DEVICE_OUT_EARPIECE" role="sink">
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="Speaker" type="AUDIO_DEVICE_OUT_SPEAKER" role="sink">
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="Speaker Safe" type="AUDIO_DEVICE_OUT_SPEAKER_SAFE" role="sink">
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="Wired Headset" type="AUDIO_DEVICE_OUT_WIRED_HEADSET" role="sink">
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="Wired Headphones" type="AUDIO_DEVICE_OUT_WIRED_HEADPHONE" role="sink">
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="BT SCO" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO" role="sink">
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="BT SCO Headset" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET" role="sink">
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="BT SCO Car Kit" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT" role="sink">
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="USB Device Out" type="AUDIO_DEVICE_OUT_USB_DEVICE" role="sink">
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="USB Headset Out" type="AUDIO_DEVICE_OUT_USB_HEADSET" role="sink">
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="Aux Digital" type="AUDIO_DEVICE_OUT_AUX_DIGITAL" role="sink">
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="Telephony Tx" type="AUDIO_DEVICE_OUT_TELEPHONY_TX" role="sink">
|
||||||
|
</devicePort>
|
||||||
|
<!-- Input devices declaration, i.e. Source DEVICE PORT -->
|
||||||
|
<devicePort tagName="Built-In Mic" type="AUDIO_DEVICE_IN_BUILTIN_MIC" role="source">
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="Built-In Back Mic" type="AUDIO_DEVICE_IN_BACK_MIC" role="source">
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="Wired Headset Mic" type="AUDIO_DEVICE_IN_WIRED_HEADSET" role="source">
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="BT SCO Headset Mic" type="AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET" role="source">
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="BT A2DP Out" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP" role="sink"
|
||||||
|
encodedFormats="AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||||
|
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="BT A2DP Headphones" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES" role="sink"
|
||||||
|
encodedFormats="AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||||
|
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="BT A2DP Speaker" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER" role="sink"
|
||||||
|
encodedFormats="AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||||
|
samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||||
|
</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>
|
||||||
|
<!-- AUDIO_DEVICE_IN_VOICE_CALL and AUDIO_DEVICE_IN_TELEPHONY_RX are in the same value -->
|
||||||
|
<devicePort tagName="Voice Call And Telephony Rx" type="AUDIO_DEVICE_IN_VOICE_CALL" role="source">
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="Echo Ref In" type="AUDIO_DEVICE_IN_ECHO_REFERENCE" role="source">
|
||||||
|
</devicePort>
|
||||||
|
</devicePorts>
|
||||||
|
<!-- route declaration, i.e. list all available sources for a given sink -->
|
||||||
|
<routes>
|
||||||
|
<route type="mix" sink="Speaker"
|
||||||
|
sources="primary output,deep buffer"/>
|
||||||
|
<route type="mix" sink="Speaker Safe"
|
||||||
|
sources="primary output,deep buffer"/>
|
||||||
|
<route type="mix" sink="Earpiece"
|
||||||
|
sources="primary output,deep buffer"/>
|
||||||
|
<route type="mix" sink="BT A2DP Out"
|
||||||
|
sources="primary output,deep buffer"/>
|
||||||
|
<route type="mix" sink="BT A2DP Headphones"
|
||||||
|
sources="primary output,deep buffer"/>
|
||||||
|
<route type="mix" sink="BT A2DP Speaker"
|
||||||
|
sources="primary output,deep buffer"/>
|
||||||
|
<route type="mix" sink="USB Device Out"
|
||||||
|
sources="primary output,deep buffer"/>
|
||||||
|
<route type="mix" sink="USB Headset Out"
|
||||||
|
sources="primary output,deep buffer"/>
|
||||||
|
<route type="mix" sink="BT SCO"
|
||||||
|
sources="primary output,deep buffer"/>
|
||||||
|
<route type="mix" sink="BT SCO Headset"
|
||||||
|
sources="primary output,deep buffer"/>
|
||||||
|
<route type="mix" sink="BT SCO Car Kit"
|
||||||
|
sources="primary output,deep buffer"/>
|
||||||
|
<!--route type="mix" sink="Telephony Tx" sources="incall playback,voice call tx" /-->
|
||||||
|
<route type="mix" sink="primary input"
|
||||||
|
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
|
||||||
|
<route type="mix" sink="hotword input"
|
||||||
|
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
|
||||||
|
<!--route type="mix" sink="incall capture" sources="Voice Call And Telephony Rx" /-->
|
||||||
|
<!--route type="mix" sink="voice call rx" sources="Voice Call And Telephony Rx" /-->
|
||||||
|
<!--route type="mix" sink="voip_tx"
|
||||||
|
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/-->
|
||||||
|
<!--route type="mix" sink="fast input"
|
||||||
|
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In"/-->
|
||||||
|
<!--route type="mix" sink="mmap_no_irq_in"
|
||||||
|
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In"/-->
|
||||||
|
<!--route type="mix" sink="hifi_input" sources="USB Device In,USB Headset In" /-->
|
||||||
|
<!--route type="mix" sink="echo_ref_input" sources="Echo Ref In"/-->
|
||||||
|
</routes>
|
||||||
|
</module>
|
||||||
|
<!-- Bluetooth Audio HAL -->
|
||||||
|
<xi:include href="bluetooth_audio_policy_configuration_7_0.xml"/>
|
||||||
|
<!-- Usb Audio HAL -->
|
||||||
|
<module name="usbv2" 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="r_submix_audio_policy_configuration.xml"/>
|
||||||
|
</modules>
|
||||||
|
<!-- End of Modules section -->
|
||||||
|
<!-- Volume section -->
|
||||||
|
<xi:include href="audio_policy_volumes.xml"/>
|
||||||
|
<xi:include href="default_volume_tables.xml"/>
|
||||||
|
<!-- End of Volume section -->
|
||||||
|
</audioPolicyConfiguration>
|
@ -0,0 +1,234 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<!-- Copyright (C) 2020 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.
|
||||||
|
-->
|
||||||
|
<audioPolicyConfiguration version="7.0" xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||||
|
<globalConfiguration speaker_drc_enabled="false" call_screen_mode_supported="true" />
|
||||||
|
<modules>
|
||||||
|
<!-- Primary Audio HAL -->
|
||||||
|
<module name="primary" halVersion="2.0">
|
||||||
|
<attachedDevices>
|
||||||
|
<item>Speaker</item>
|
||||||
|
<item>Speaker Safe</item>
|
||||||
|
<item>Earpiece</item>
|
||||||
|
<item>Built-In Mic</item>
|
||||||
|
<item>Built-In Back Mic</item>
|
||||||
|
<!--item>Telephony Tx</item-->
|
||||||
|
<!--item>Voice Call And Telephony Rx</item-->
|
||||||
|
<!--item>Echo Ref In</item-->
|
||||||
|
</attachedDevices>
|
||||||
|
<defaultOutputDevice>Speaker</defaultOutputDevice>
|
||||||
|
<mixPorts>
|
||||||
|
<mixPort name="primary output" role="source" flags="AUDIO_OUTPUT_FLAG_PRIMARY AUDIO_OUTPUT_FLAG_FAST">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||||
|
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||||
|
</mixPort>
|
||||||
|
<mixPort name="deep buffer" role="source" flags="AUDIO_OUTPUT_FLAG_DEEP_BUFFER">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
|
||||||
|
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||||
|
</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 16000 24000 32000 44100 48000"
|
||||||
|
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
|
||||||
|
<profile name="" format="AUDIO_FORMAT_AAC_LC"
|
||||||
|
samplingRates="8000 16000 24000 32000 44100 48000"
|
||||||
|
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
|
||||||
|
<profile name="" format="AUDIO_FORMAT_AAC_HE_V1"
|
||||||
|
samplingRates="8000 16000 24000 32000 44100 48000"
|
||||||
|
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
|
||||||
|
<profile name="" format="AUDIO_FORMAT_AAC_HE_V2"
|
||||||
|
samplingRates="8000 16000 24000 32000 44100 48000"
|
||||||
|
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
|
||||||
|
</mixPort-->
|
||||||
|
<!--mixPort name="haptic" role="source">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||||
|
samplingRates="48000"
|
||||||
|
channelMasks="AUDIO_CHANNEL_OUT_STEREO_HAPTIC_A" />
|
||||||
|
</mixPort-->
|
||||||
|
<!--mixPort name="raw" role="source" flags="AUDIO_OUTPUT_FLAG_RAW AUDIO_OUTPUT_FLAG_FAST">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_32_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="incall playback" role="source"
|
||||||
|
flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||||
|
samplingRates="48000"
|
||||||
|
channelMasks="AUDIO_CHANNEL_OUT_STEREO" />
|
||||||
|
</mixPort-->
|
||||||
|
<!--mixPort name="voice call tx" role="source">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||||
|
samplingRates="48000"
|
||||||
|
channelMasks="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="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||||
|
</mixPort-->
|
||||||
|
<mixPort name="primary input" role="sink">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||||
|
samplingRates="48000"
|
||||||
|
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_INDEX_MASK_3"/>
|
||||||
|
</mixPort>
|
||||||
|
<mixPort name="hotword input" role="sink" flags="AUDIO_INPUT_FLAG_HW_HOTWORD" maxActiveCount="0" >
|
||||||
|
<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"/>
|
||||||
|
</mixPort>
|
||||||
|
<!--mixPort name="incall capture" role="sink">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||||
|
samplingRates="48000"
|
||||||
|
channelMasks="AUDIO_CHANNEL_IN_MONO"/>
|
||||||
|
</mixPort-->
|
||||||
|
<!--mixPort name="voice call rx" role="sink">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||||
|
samplingRates="48000"
|
||||||
|
channelMasks="AUDIO_CHANNEL_IN_MONO"/>
|
||||||
|
</mixPort-->
|
||||||
|
<!--mixPort name="voip_tx" role="sink"
|
||||||
|
flags="AUDIO_INPUT_FLAG_VOIP_TX">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||||
|
samplingRates="48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
|
||||||
|
</mixPort-->
|
||||||
|
<!--mixPort name="fast input" role="sink" flags="AUDIO_INPUT_FLAG_RAW AUDIO_INPUT_FLAG_FAST">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||||
|
samplingRates="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_32_BIT"
|
||||||
|
samplingRates="48000"
|
||||||
|
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
|
||||||
|
</mixPort-->
|
||||||
|
<!--mixPort name="hifi_playback" role="source" /-->
|
||||||
|
<!--mixPort name="hifi_input" role="sink" /-->
|
||||||
|
<!--mixPort name="echo_ref_input" role="sink">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
|
||||||
|
samplingRates="48000"
|
||||||
|
channelMasks="AUDIO_CHANNEL_IN_STEREO"/>
|
||||||
|
</mixPort-->
|
||||||
|
</mixPorts>
|
||||||
|
<devicePorts>
|
||||||
|
<!-- Output devices declaration, i.e. Sink DEVICE PORT -->
|
||||||
|
<devicePort tagName="Earpiece" type="AUDIO_DEVICE_OUT_EARPIECE" role="sink">
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="Speaker" type="AUDIO_DEVICE_OUT_SPEAKER" role="sink">
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="Speaker Safe" type="AUDIO_DEVICE_OUT_SPEAKER_SAFE" role="sink">
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="Wired Headset" type="AUDIO_DEVICE_OUT_WIRED_HEADSET" role="sink">
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="Wired Headphones" type="AUDIO_DEVICE_OUT_WIRED_HEADPHONE" role="sink">
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="BT SCO" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO" role="sink">
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="BT SCO Headset" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET" role="sink">
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="BT SCO Car Kit" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT" role="sink">
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="USB Device Out" type="AUDIO_DEVICE_OUT_USB_DEVICE" role="sink">
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="USB Headset Out" type="AUDIO_DEVICE_OUT_USB_HEADSET" role="sink">
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="Aux Digital" type="AUDIO_DEVICE_OUT_AUX_DIGITAL" role="sink">
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="Telephony Tx" type="AUDIO_DEVICE_OUT_TELEPHONY_TX" role="sink">
|
||||||
|
</devicePort>
|
||||||
|
<!-- Input devices declaration, i.e. Source DEVICE PORT -->
|
||||||
|
<devicePort tagName="Built-In Mic" type="AUDIO_DEVICE_IN_BUILTIN_MIC" role="source">
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="Built-In Back Mic" type="AUDIO_DEVICE_IN_BACK_MIC" role="source">
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="Wired Headset Mic" type="AUDIO_DEVICE_IN_WIRED_HEADSET" role="source">
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="BT SCO Headset Mic" type="AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET" role="source">
|
||||||
|
</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>
|
||||||
|
<!-- AUDIO_DEVICE_IN_VOICE_CALL and AUDIO_DEVICE_IN_TELEPHONY_RX are in the same value -->
|
||||||
|
<devicePort tagName="Voice Call And Telephony Rx" type="AUDIO_DEVICE_IN_VOICE_CALL" role="source">
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="Echo Ref In" type="AUDIO_DEVICE_IN_ECHO_REFERENCE" role="source">
|
||||||
|
</devicePort>
|
||||||
|
</devicePorts>
|
||||||
|
<!-- route declaration, i.e. list all available sources for a given sink -->
|
||||||
|
<routes>
|
||||||
|
<route type="mix" sink="Speaker"
|
||||||
|
sources="primary output,deep buffer"/>
|
||||||
|
<route type="mix" sink="Speaker Safe"
|
||||||
|
sources="primary output,deep buffer"/>
|
||||||
|
<route type="mix" sink="Earpiece"
|
||||||
|
sources="primary output,deep buffer"/>
|
||||||
|
<route type="mix" sink="USB Device Out"
|
||||||
|
sources="primary output,deep buffer"/>
|
||||||
|
<route type="mix" sink="USB Headset Out"
|
||||||
|
sources="primary output,deep buffer"/>
|
||||||
|
<route type="mix" sink="BT SCO"
|
||||||
|
sources="primary output,deep buffer"/>
|
||||||
|
<route type="mix" sink="BT SCO Headset"
|
||||||
|
sources="primary output,deep buffer"/>
|
||||||
|
<route type="mix" sink="BT SCO Car Kit"
|
||||||
|
sources="primary output,deep buffer"/>
|
||||||
|
<!--route type="mix" sink="Telephony Tx" sources="incall playback,voice call tx" /-->
|
||||||
|
<route type="mix" sink="primary input"
|
||||||
|
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
|
||||||
|
<route type="mix" sink="hotword input"
|
||||||
|
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
|
||||||
|
<!--route type="mix" sink="incall capture" sources="Voice Call And Telephony Rx" /-->
|
||||||
|
<!--route type="mix" sink="voice call rx" sources="Voice Call And Telephony Rx" /-->
|
||||||
|
<!--route type="mix" sink="voip_tx"
|
||||||
|
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/-->
|
||||||
|
<!--route type="mix" sink="fast input"
|
||||||
|
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In"/-->
|
||||||
|
<!--route type="mix" sink="mmap_no_irq_in"
|
||||||
|
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In"/-->
|
||||||
|
<!--route type="mix" sink="hifi_input" sources="USB Device In,USB Headset In" /-->
|
||||||
|
<!--route type="mix" sink="echo_ref_input" sources="Echo Ref In"/-->
|
||||||
|
</routes>
|
||||||
|
</module>
|
||||||
|
<!-- Bluetooth Audio HAL -->
|
||||||
|
<xi:include href="bluetooth_audio_policy_configuration_7_0.xml"/>
|
||||||
|
<!-- Usb Audio HAL -->
|
||||||
|
<module name="usbv2" 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="r_submix_audio_policy_configuration.xml"/>
|
||||||
|
</modules>
|
||||||
|
<!-- End of Modules section -->
|
||||||
|
<!-- Volume section -->
|
||||||
|
<xi:include href="audio_policy_volumes.xml"/>
|
||||||
|
<xi:include href="default_volume_tables.xml"/>
|
||||||
|
<!-- End of Volume section -->
|
||||||
|
</audioPolicyConfiguration>
|
@ -0,0 +1,234 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<!-- Copyright (C) 2020 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.
|
||||||
|
-->
|
||||||
|
<audioPolicyConfiguration version="7.0" xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||||
|
<globalConfiguration speaker_drc_enabled="false" call_screen_mode_supported="true" />
|
||||||
|
<modules>
|
||||||
|
<!-- Primary Audio HAL -->
|
||||||
|
<module name="primary" halVersion="2.0">
|
||||||
|
<attachedDevices>
|
||||||
|
<item>Speaker</item>
|
||||||
|
<item>Speaker Safe</item>
|
||||||
|
<item>Earpiece</item>
|
||||||
|
<item>Built-In Mic</item>
|
||||||
|
<item>Built-In Back Mic</item>
|
||||||
|
<!--item>Telephony Tx</item-->
|
||||||
|
<!--item>Voice Call And Telephony Rx</item-->
|
||||||
|
<!--item>Echo Ref In</item-->
|
||||||
|
</attachedDevices>
|
||||||
|
<defaultOutputDevice>Speaker</defaultOutputDevice>
|
||||||
|
<mixPorts>
|
||||||
|
<mixPort name="primary output" role="source" flags="AUDIO_OUTPUT_FLAG_PRIMARY AUDIO_OUTPUT_FLAG_FAST">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||||
|
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||||
|
</mixPort>
|
||||||
|
<mixPort name="deep buffer" role="source" flags="AUDIO_OUTPUT_FLAG_DEEP_BUFFER">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
|
||||||
|
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||||
|
</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 16000 24000 32000 44100 48000"
|
||||||
|
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
|
||||||
|
<profile name="" format="AUDIO_FORMAT_AAC_LC"
|
||||||
|
samplingRates="8000 16000 24000 32000 44100 48000"
|
||||||
|
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
|
||||||
|
<profile name="" format="AUDIO_FORMAT_AAC_HE_V1"
|
||||||
|
samplingRates="8000 16000 24000 32000 44100 48000"
|
||||||
|
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
|
||||||
|
<profile name="" format="AUDIO_FORMAT_AAC_HE_V2"
|
||||||
|
samplingRates="8000 16000 24000 32000 44100 48000"
|
||||||
|
channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
|
||||||
|
</mixPort-->
|
||||||
|
<!--mixPort name="haptic" role="source">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||||
|
samplingRates="48000"
|
||||||
|
channelMasks="AUDIO_CHANNEL_OUT_STEREO_HAPTIC_A" />
|
||||||
|
</mixPort-->
|
||||||
|
<!--mixPort name="raw" role="source" flags="AUDIO_OUTPUT_FLAG_RAW AUDIO_OUTPUT_FLAG_FAST">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_32_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="incall playback" role="source"
|
||||||
|
flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||||
|
samplingRates="48000"
|
||||||
|
channelMasks="AUDIO_CHANNEL_OUT_STEREO" />
|
||||||
|
</mixPort-->
|
||||||
|
<!--mixPort name="voice call tx" role="source">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||||
|
samplingRates="48000"
|
||||||
|
channelMasks="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="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||||
|
</mixPort-->
|
||||||
|
<mixPort name="primary input" role="sink">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||||
|
samplingRates="48000"
|
||||||
|
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_INDEX_MASK_3"/>
|
||||||
|
</mixPort>
|
||||||
|
<mixPort name="hotword input" role="sink" flags="AUDIO_INPUT_FLAG_HW_HOTWORD" maxActiveCount="0" >
|
||||||
|
<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"/>
|
||||||
|
</mixPort>
|
||||||
|
<!--mixPort name="incall capture" role="sink">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||||
|
samplingRates="48000"
|
||||||
|
channelMasks="AUDIO_CHANNEL_IN_MONO"/>
|
||||||
|
</mixPort-->
|
||||||
|
<!--mixPort name="voice call rx" role="sink">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||||
|
samplingRates="48000"
|
||||||
|
channelMasks="AUDIO_CHANNEL_IN_MONO"/>
|
||||||
|
</mixPort-->
|
||||||
|
<!--mixPort name="voip_tx" role="sink"
|
||||||
|
flags="AUDIO_INPUT_FLAG_VOIP_TX">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||||
|
samplingRates="48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
|
||||||
|
</mixPort-->
|
||||||
|
<!--mixPort name="fast input" role="sink" flags="AUDIO_INPUT_FLAG_RAW AUDIO_INPUT_FLAG_FAST">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||||
|
samplingRates="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_32_BIT"
|
||||||
|
samplingRates="48000"
|
||||||
|
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
|
||||||
|
</mixPort-->
|
||||||
|
<!--mixPort name="hifi_playback" role="source" /-->
|
||||||
|
<!--mixPort name="hifi_input" role="sink" /-->
|
||||||
|
<!--mixPort name="echo_ref_input" role="sink">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
|
||||||
|
samplingRates="48000"
|
||||||
|
channelMasks="AUDIO_CHANNEL_IN_STEREO"/>
|
||||||
|
</mixPort-->
|
||||||
|
</mixPorts>
|
||||||
|
<devicePorts>
|
||||||
|
<!-- Output devices declaration, i.e. Sink DEVICE PORT -->
|
||||||
|
<devicePort tagName="Earpiece" type="AUDIO_DEVICE_OUT_EARPIECE" role="sink">
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="Speaker" type="AUDIO_DEVICE_OUT_SPEAKER" role="sink">
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="Speaker Safe" type="AUDIO_DEVICE_OUT_SPEAKER_SAFE" role="sink">
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="Wired Headset" type="AUDIO_DEVICE_OUT_WIRED_HEADSET" role="sink">
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="Wired Headphones" type="AUDIO_DEVICE_OUT_WIRED_HEADPHONE" role="sink">
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="BT SCO" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO" role="sink">
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="BT SCO Headset" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET" role="sink">
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="BT SCO Car Kit" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT" role="sink">
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="USB Device Out" type="AUDIO_DEVICE_OUT_USB_DEVICE" role="sink">
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="USB Headset Out" type="AUDIO_DEVICE_OUT_USB_HEADSET" role="sink">
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="Aux Digital" type="AUDIO_DEVICE_OUT_AUX_DIGITAL" role="sink">
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="Telephony Tx" type="AUDIO_DEVICE_OUT_TELEPHONY_TX" role="sink">
|
||||||
|
</devicePort>
|
||||||
|
<!-- Input devices declaration, i.e. Source DEVICE PORT -->
|
||||||
|
<devicePort tagName="Built-In Mic" type="AUDIO_DEVICE_IN_BUILTIN_MIC" role="source">
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="Built-In Back Mic" type="AUDIO_DEVICE_IN_BACK_MIC" role="source">
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="Wired Headset Mic" type="AUDIO_DEVICE_IN_WIRED_HEADSET" role="source">
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="BT SCO Headset Mic" type="AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET" role="source">
|
||||||
|
</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>
|
||||||
|
<!-- AUDIO_DEVICE_IN_VOICE_CALL and AUDIO_DEVICE_IN_TELEPHONY_RX are in the same value -->
|
||||||
|
<devicePort tagName="Voice Call And Telephony Rx" type="AUDIO_DEVICE_IN_VOICE_CALL" role="source">
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="Echo Ref In" type="AUDIO_DEVICE_IN_ECHO_REFERENCE" role="source">
|
||||||
|
</devicePort>
|
||||||
|
</devicePorts>
|
||||||
|
<!-- route declaration, i.e. list all available sources for a given sink -->
|
||||||
|
<routes>
|
||||||
|
<route type="mix" sink="Speaker"
|
||||||
|
sources="primary output,deep buffer"/>
|
||||||
|
<route type="mix" sink="Speaker Safe"
|
||||||
|
sources="primary output,deep buffer"/>
|
||||||
|
<route type="mix" sink="Earpiece"
|
||||||
|
sources="primary output,deep buffer"/>
|
||||||
|
<route type="mix" sink="USB Device Out"
|
||||||
|
sources="primary output,deep buffer"/>
|
||||||
|
<route type="mix" sink="USB Headset Out"
|
||||||
|
sources="primary output,deep buffer"/>
|
||||||
|
<route type="mix" sink="BT SCO"
|
||||||
|
sources="primary output,deep buffer"/>
|
||||||
|
<route type="mix" sink="BT SCO Headset"
|
||||||
|
sources="primary output,deep buffer"/>
|
||||||
|
<route type="mix" sink="BT SCO Car Kit"
|
||||||
|
sources="primary output,deep buffer"/>
|
||||||
|
<!--route type="mix" sink="Telephony Tx" sources="incall playback,voice call tx" /-->
|
||||||
|
<route type="mix" sink="primary input"
|
||||||
|
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
|
||||||
|
<route type="mix" sink="hotword input"
|
||||||
|
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
|
||||||
|
<!--route type="mix" sink="incall capture" sources="Voice Call And Telephony Rx" /-->
|
||||||
|
<!--route type="mix" sink="voice call rx" sources="Voice Call And Telephony Rx" /-->
|
||||||
|
<!--route type="mix" sink="voip_tx"
|
||||||
|
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/-->
|
||||||
|
<!--route type="mix" sink="fast input"
|
||||||
|
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In"/-->
|
||||||
|
<!--route type="mix" sink="mmap_no_irq_in"
|
||||||
|
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In"/-->
|
||||||
|
<!--route type="mix" sink="hifi_input" sources="USB Device In,USB Headset In" /-->
|
||||||
|
<!--route type="mix" sink="echo_ref_input" sources="Echo Ref In"/-->
|
||||||
|
</routes>
|
||||||
|
</module>
|
||||||
|
<!-- A2dp Audio HAL -->
|
||||||
|
<xi:include href="a2dp_audio_policy_configuration_7_0.xml"/>
|
||||||
|
<!-- Usb Audio HAL -->
|
||||||
|
<module name="usbv2" 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="r_submix_audio_policy_configuration.xml"/>
|
||||||
|
</modules>
|
||||||
|
<!-- End of Modules section -->
|
||||||
|
<!-- Volume section -->
|
||||||
|
<xi:include href="audio_policy_volumes.xml"/>
|
||||||
|
<xi:include href="default_volume_tables.xml"/>
|
||||||
|
<!-- End of Volume section -->
|
||||||
|
</audioPolicyConfiguration>
|
794
audio/lynx/config/mixer_paths.xml
Normal file
794
audio/lynx/config/mixer_paths.xml
Normal file
@ -0,0 +1,794 @@
|
|||||||
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
|
<!-- Copyright (c) 2019, 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, -->
|
||||||
|
<!-- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
|
||||||
|
<!-- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -->
|
||||||
|
<mixer>
|
||||||
|
<!-- Initial default value of ALSA command -->
|
||||||
|
<!-- PCM timeout -->
|
||||||
|
<ctl name="PCM Stream Wait Time in MSec" value="100"/>
|
||||||
|
<ctl name="Voice PCM Stream Wait Time in MSec" value="500"/>
|
||||||
|
|
||||||
|
<!-- TDM 0 setting -->
|
||||||
|
<ctl name="TDM_0_RX Chan" value="Four"/>
|
||||||
|
<ctl name="TDM_0_RX Format" value="S32_LE"/>
|
||||||
|
<ctl name="TDM_0_TX Chan" value="Four"/>
|
||||||
|
<ctl name="TDM_0_TX Format" value="S32_LE"/>
|
||||||
|
|
||||||
|
<!-- Haptic setting -->
|
||||||
|
<ctl name="HAPTIC_RX Format" value="S32_LE"/>
|
||||||
|
<ctl name="HAPTIC_RX SlotFmt" value="S32_LE"/>
|
||||||
|
<ctl name="HAPTIC_RX Chan" value="Four"/>
|
||||||
|
<ctl name="HAPTIC_RX nSlot" value="Four"/>
|
||||||
|
<ctl name="RX Slots" id="0" value="2"/>
|
||||||
|
<ctl name="RX Slots" id="1" value="3"/>
|
||||||
|
|
||||||
|
<!-- Cirrus Booster Amp TDM slot assignment-->
|
||||||
|
<!-- RX slot -->
|
||||||
|
<ctl name="ASPRX1 Slot Position" value="0"/>
|
||||||
|
<ctl name="ASPRX2 Slot Position" value="1"/>
|
||||||
|
<ctl name="R ASPRX1 Slot Position" value="1"/>
|
||||||
|
<ctl name="R ASPRX2 Slot Position" value="0"/>
|
||||||
|
<!-- TX slot -->
|
||||||
|
<ctl name="ASPTX1 Slot Position" value="0"/>
|
||||||
|
<ctl name="R ASPTX1 Slot Position" value="1"/>
|
||||||
|
<ctl name="ASPTX2 Slot Position" value="2"/>
|
||||||
|
<ctl name="R ASPTX2 Slot Position" value="3"/>
|
||||||
|
<ctl name="ASPTX3 Slot Position" value="4"/>
|
||||||
|
<ctl name="R ASPTX3 Slot Position" value="5"/>
|
||||||
|
<ctl name="ASPTX4 Slot Position" value="6"/>
|
||||||
|
<ctl name="R ASPTX4 Slot Position" value="7"/>
|
||||||
|
|
||||||
|
<!-- Cirrus Booster Amp DRE and VBST config-->
|
||||||
|
<ctl name="VBSTMON Output Switch" value="1"/>
|
||||||
|
<ctl name="R VBSTMON Output Switch" value="1"/>
|
||||||
|
<ctl name="DRE DRE Switch" value="1"/>
|
||||||
|
<ctl name="R DRE DRE Switch" value="1"/>
|
||||||
|
|
||||||
|
<!-- Cirrus Booster Amp Output Gain -->
|
||||||
|
<ctl name="AMP PCM Gain" value="17"/>
|
||||||
|
<ctl name="R AMP PCM Gain" value="17"/>
|
||||||
|
<ctl name="Digital PCM Volume" value="817"/>
|
||||||
|
<ctl name="R Digital PCM Volume" value="817"/>
|
||||||
|
|
||||||
|
<!-- Cirrus Booster Amp Power -->
|
||||||
|
<ctl name="Main AMP Enable Switch" value="0"/>
|
||||||
|
<ctl name="R Main AMP Enable Switch" value="0"/>
|
||||||
|
|
||||||
|
<!-- Cirrus Booster mode -->
|
||||||
|
<ctl name="PCM Source" value="DSP"/>
|
||||||
|
<ctl name="R PCM Source" value="DSP"/>
|
||||||
|
<ctl name="DSP1 Firmware" value="Protection"/>
|
||||||
|
<ctl name="R DSP1 Firmware" value="Protection"/>
|
||||||
|
<ctl name="DSP RX1 Source" value="ASPRX1"/>
|
||||||
|
<ctl name="DSP RX2 Source" value="ASPRX1"/>
|
||||||
|
<ctl name="R DSP RX1 Source" value="ASPRX1"/>
|
||||||
|
<ctl name="R DSP RX2 Source" value="ASPRX1"/>
|
||||||
|
<ctl name="Boost Peak Current Limit" value="3.50A"/>
|
||||||
|
<ctl name="R Boost Peak Current Limit" value="3.50A"/>
|
||||||
|
|
||||||
|
<!-- Cirrus ASP TX source -->
|
||||||
|
<ctl name="ASP TX1 Source" value="VMON" />
|
||||||
|
<ctl name="R ASP TX1 Source" value="VMON" />
|
||||||
|
<ctl name="ASP TX2 Source" value="IMON" />
|
||||||
|
<ctl name="R ASP TX2 Source" value="IMON" />
|
||||||
|
<ctl name="ASP TX3 Source" value="Zero" />
|
||||||
|
<ctl name="R ASP TX3 Source" value="Zero" />
|
||||||
|
<ctl name="ASP TX4 Source" value="Zero" />
|
||||||
|
<ctl name="R ASP TX4 Source" value="Zero" />
|
||||||
|
|
||||||
|
<!-- default EP volume -->
|
||||||
|
<ctl name="PCM Playback Switch" value="1"/>
|
||||||
|
<ctl name="PCM Playback Volume" value="10"/>
|
||||||
|
|
||||||
|
<!-- audio RX route initial/default value -->
|
||||||
|
<ctl name="TDM_0_RX Mixer EP1" value="0"/>
|
||||||
|
<ctl name="TDM_0_RX Mixer EP2" value="0"/>
|
||||||
|
<ctl name="TDM_0_RX Mixer EP3" value="0"/>
|
||||||
|
<ctl name="TDM_0_RX Mixer EP4" value="0"/>
|
||||||
|
<ctl name="TDM_0_RX Mixer EP5" value="0"/>
|
||||||
|
<ctl name="TDM_0_RX Mixer EP6" value="0"/>
|
||||||
|
<ctl name="TDM_0_RX Mixer EP7" value="0"/>
|
||||||
|
<ctl name="TDM_0_RX Mixer EP8" value="0"/>
|
||||||
|
<ctl name="TDM_0_RX Mixer NoHost1" value="0"/>
|
||||||
|
<ctl name="TDM_0_RX Mixer VOIP" value="0"/>
|
||||||
|
<ctl name="TDM_0_RX Mixer RAW" value="0"/>
|
||||||
|
|
||||||
|
<ctl name="TDM_1_RX Mixer EP1" value="0"/>
|
||||||
|
<ctl name="TDM_1_RX Mixer EP2" value="0"/>
|
||||||
|
<ctl name="TDM_1_RX Mixer EP3" value="0"/>
|
||||||
|
<ctl name="TDM_1_RX Mixer EP4" value="0"/>
|
||||||
|
<ctl name="TDM_1_RX Mixer EP5" value="0"/>
|
||||||
|
<ctl name="TDM_1_RX Mixer EP6" value="0"/>
|
||||||
|
<ctl name="TDM_1_RX Mixer EP7" value="0"/>
|
||||||
|
<ctl name="TDM_1_RX Mixer EP8" value="0"/>
|
||||||
|
<ctl name="TDM_1_RX Mixer NoHost1" value="0"/>
|
||||||
|
|
||||||
|
<ctl name="USB_RX Mixer EP1" value="0"/>
|
||||||
|
<ctl name="USB_RX Mixer EP2" value="0"/>
|
||||||
|
<ctl name="USB_RX Mixer EP3" value="0"/>
|
||||||
|
<ctl name="USB_RX Mixer EP4" value="0"/>
|
||||||
|
<ctl name="USB_RX Mixer EP5" value="0"/>
|
||||||
|
<ctl name="USB_RX Mixer EP6" value="0"/>
|
||||||
|
<ctl name="USB_RX Mixer EP7" value="0"/>
|
||||||
|
<ctl name="USB_RX Mixer NoHost1" value="0"/>
|
||||||
|
<ctl name="USB_RX Mixer VOIP" value="0"/>
|
||||||
|
<ctl name="USB_RX Mixer HIFI" value="0"/>
|
||||||
|
<ctl name="USB_RX Mixer RAW" value="0"/>
|
||||||
|
|
||||||
|
<ctl name="BT_RX Mixer EP1" value="0"/>
|
||||||
|
<ctl name="BT_RX Mixer EP2" value="0"/>
|
||||||
|
<ctl name="BT_RX Mixer EP3" value="0"/>
|
||||||
|
<ctl name="BT_RX Mixer EP4" value="0"/>
|
||||||
|
<ctl name="BT_RX Mixer EP5" value="0"/>
|
||||||
|
<ctl name="BT_RX Mixer EP6" value="0"/>
|
||||||
|
<ctl name="BT_RX Mixer EP7" value="0"/>
|
||||||
|
<ctl name="BT_RX Mixer NoHost1" value="0"/>
|
||||||
|
<ctl name="BT_RX Mixer VOIP" value="0"/>
|
||||||
|
|
||||||
|
<ctl name="INCALL_RX Mixer EP1" value="0"/>
|
||||||
|
<ctl name="INCALL_RX Mixer EP2" value="0"/>
|
||||||
|
<ctl name="INCALL_RX Mixer EP3" value="0"/>
|
||||||
|
<ctl name="INCALL_RX Mixer EP4" value="0"/>
|
||||||
|
<ctl name="INCALL_RX Mixer EP5" value="0"/>
|
||||||
|
<ctl name="INCALL_RX Mixer EP6" value="0"/>
|
||||||
|
<ctl name="INCALL_RX Mixer EP7" value="0"/>
|
||||||
|
<ctl name="INCALL_RX Mixer NoHost1" value="0"/>
|
||||||
|
|
||||||
|
<ctl name="SINK_IDS" id="0" value="-1"/>
|
||||||
|
<ctl name="SINK_IDS" id="1" value="-1"/>
|
||||||
|
|
||||||
|
<!-- audio TX route initial/default value -->
|
||||||
|
<ctl name="EP1 TX Mixer TDM_0_TX" value="0"/>
|
||||||
|
<ctl name="EP2 TX Mixer TDM_0_TX" value="0"/>
|
||||||
|
<ctl name="EP3 TX Mixer TDM_0_TX" value="0"/>
|
||||||
|
<ctl name="EP4 TX Mixer TDM_0_TX" value="0"/>
|
||||||
|
<ctl name="EP5 TX Mixer TDM_0_TX" value="0"/>
|
||||||
|
<ctl name="EP6 TX Mixer TDM_0_TX" value="0"/>
|
||||||
|
<ctl name="NoHost1 TX Mixer TDM_0_TX" value="0"/>
|
||||||
|
|
||||||
|
<ctl name="EP1 TX Mixer TDM_1_TX" value="0"/>
|
||||||
|
<ctl name="EP2 TX Mixer TDM_1_TX" value="0"/>
|
||||||
|
<ctl name="EP3 TX Mixer TDM_1_TX" value="0"/>
|
||||||
|
<ctl name="EP4 TX Mixer TDM_1_TX" value="0"/>
|
||||||
|
<ctl name="EP5 TX Mixer TDM_1_TX" value="0"/>
|
||||||
|
<ctl name="EP6 TX Mixer TDM_1_TX" value="0"/>
|
||||||
|
<ctl name="NoHost1 TX Mixer TDM_1_TX" value="0"/>
|
||||||
|
|
||||||
|
<ctl name="EP1 TX Mixer INTERNAL_MIC_TX" value="0"/>
|
||||||
|
<ctl name="EP2 TX Mixer INTERNAL_MIC_TX" value="0"/>
|
||||||
|
<ctl name="EP3 TX Mixer INTERNAL_MIC_TX" value="0"/>
|
||||||
|
<ctl name="EP4 TX Mixer INTERNAL_MIC_TX" value="0"/>
|
||||||
|
<ctl name="EP5 TX Mixer INTERNAL_MIC_TX" value="0"/>
|
||||||
|
<ctl name="EP6 TX Mixer INTERNAL_MIC_TX" value="0"/>
|
||||||
|
<ctl name="NoHost1 TX Mixer INTERNAL_MIC_TX" value="0"/>
|
||||||
|
<ctl name="VOIP TX Mixer INTERNAL_MIC_TX" value="0"/>
|
||||||
|
|
||||||
|
<ctl name="EP1 TX Mixer BT_TX" value="0"/>
|
||||||
|
<ctl name="EP2 TX Mixer BT_TX" value="0"/>
|
||||||
|
<ctl name="EP3 TX Mixer BT_TX" value="0"/>
|
||||||
|
<ctl name="EP4 TX Mixer BT_TX" value="0"/>
|
||||||
|
<ctl name="EP5 TX Mixer BT_TX" value="0"/>
|
||||||
|
<ctl name="EP6 TX Mixer BT_TX" value="0"/>
|
||||||
|
<ctl name="NoHost1 TX Mixer BT_TX" value="0"/>
|
||||||
|
<ctl name="VOIP TX Mixer BT_TX" value="0"/>
|
||||||
|
|
||||||
|
<ctl name="EP1 TX Mixer USB_TX" value="0"/>
|
||||||
|
<ctl name="EP2 TX Mixer USB_TX" value="0"/>
|
||||||
|
<ctl name="EP3 TX Mixer USB_TX" value="0"/>
|
||||||
|
<ctl name="EP4 TX Mixer USB_TX" value="0"/>
|
||||||
|
<ctl name="EP5 TX Mixer USB_TX" value="0"/>
|
||||||
|
<ctl name="EP6 TX Mixer USB_TX" value="0"/>
|
||||||
|
<ctl name="NoHost1 TX Mixer USB_TX" value="0"/>
|
||||||
|
<ctl name="VOIP TX Mixer USB_TX" value="0"/>
|
||||||
|
|
||||||
|
<ctl name="EP1 TX Mixer INCALL_TX" value="0"/>
|
||||||
|
<ctl name="EP2 TX Mixer INCALL_TX" value="0"/>
|
||||||
|
<ctl name="EP3 TX Mixer INCALL_TX" value="0"/>
|
||||||
|
<ctl name="EP4 TX Mixer INCALL_TX" value="0"/>
|
||||||
|
<ctl name="EP5 TX Mixer INCALL_TX" value="0"/>
|
||||||
|
<ctl name="EP6 TX Mixer INCALL_TX" value="0"/>
|
||||||
|
<ctl name="NoHost1 TX Mixer INCALL_TX" value="0"/>
|
||||||
|
|
||||||
|
<ctl name="EP4 TX Mixer I2S_2_TX" value="0"/>
|
||||||
|
|
||||||
|
<!-- AoC Mic setting -->
|
||||||
|
<ctl name="MIC DC Blocker" value="1" />
|
||||||
|
<ctl name="MIC HW Gain At High Power Mode (cB)" value="0" />
|
||||||
|
<ctl name="MIC Record Soft Gain (dB)" value="-40"/>
|
||||||
|
|
||||||
|
<!-- USB setting v2 -->
|
||||||
|
<ctl name="USB Bus ID v2" value="2"/>
|
||||||
|
<ctl name="USB Dev ID v2" value="2"/>
|
||||||
|
<ctl name="USB Playback EP ID v2" value="1"/>
|
||||||
|
<ctl name="USB Playback FORMAT v2" value="0"/>
|
||||||
|
<ctl name="USB Playback SR v2" value="48000"/>
|
||||||
|
<ctl name="USB Playback CH v2" value="2"/>
|
||||||
|
<ctl name="USB Playback BW v2" value="24"/>
|
||||||
|
<ctl name="USB Capture EP ID v2" value="1"/>
|
||||||
|
<ctl name="USB Capture FORMAT v2" value="0"/>
|
||||||
|
<ctl name="USB Capture SR v2" value="48000"/>
|
||||||
|
<ctl name="USB Capture CH v2" value="1"/>
|
||||||
|
<ctl name="USB Capture BW v2" value="16"/>
|
||||||
|
|
||||||
|
<ctl name="AoC Modem Downlink ASRC Mode" value="ASP_ON"/>
|
||||||
|
<ctl name="Voice Call Mic Source" value="Builtin_MIC"/>
|
||||||
|
<ctl name="Mic Spatial Module Enable" value="0"/>
|
||||||
|
|
||||||
|
<!-- audio PDM mic default state -->
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="-1"/>
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="-1"/>
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="-1"/>
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1"/>
|
||||||
|
<ctl name="Audio Capture Mic Source" value="Builtin_MIC"/>
|
||||||
|
|
||||||
|
<!-- sidetone controls -->
|
||||||
|
<ctl name="Sidetone Enable" value="0"/>
|
||||||
|
<ctl name="Sidetone Volume" value="-96"/>
|
||||||
|
<ctl name="Sidetone Selected Mic" value="0"/>
|
||||||
|
<ctl name="Sidetone EQ Stage Number" value="1"/>
|
||||||
|
<!-- IEEE 754, value is in float -->
|
||||||
|
<ctl name="Sidetone Biquad0" id="0" value="0"/>
|
||||||
|
<ctl name="Sidetone Biquad0" id="1" value="0"/>
|
||||||
|
<ctl name="Sidetone Biquad0" id="2" value="0"/>
|
||||||
|
<ctl name="Sidetone Biquad0" id="3" value="0"/>
|
||||||
|
<ctl name="Sidetone Biquad0" id="4" value="0"/>
|
||||||
|
<ctl name="Sidetone Biquad0" id="5" value="0"/>
|
||||||
|
<ctl name="Sidetone Biquad1" id="0" value="0"/>
|
||||||
|
<ctl name="Sidetone Biquad1" id="1" value="0"/>
|
||||||
|
<ctl name="Sidetone Biquad1" id="2" value="0"/>
|
||||||
|
<ctl name="Sidetone Biquad1" id="3" value="0"/>
|
||||||
|
<ctl name="Sidetone Biquad1" id="4" value="0"/>
|
||||||
|
<ctl name="Sidetone Biquad1" id="5" value="0"/>
|
||||||
|
<ctl name="Sidetone Biquad2" id="0" value="0"/>
|
||||||
|
<ctl name="Sidetone Biquad2" id="1" value="0"/>
|
||||||
|
<ctl name="Sidetone Biquad2" id="2" value="0"/>
|
||||||
|
<ctl name="Sidetone Biquad2" id="3" value="0"/>
|
||||||
|
<ctl name="Sidetone Biquad2" id="4" value="0"/>
|
||||||
|
<ctl name="Sidetone Biquad2" id="5" value="0"/>
|
||||||
|
<ctl name="Sidetone Biquad3" id="0" value="0"/>
|
||||||
|
<ctl name="Sidetone Biquad3" id="1" value="0"/>
|
||||||
|
<ctl name="Sidetone Biquad3" id="2" value="0"/>
|
||||||
|
<ctl name="Sidetone Biquad3" id="3" value="0"/>
|
||||||
|
<ctl name="Sidetone Biquad3" id="4" value="0"/>
|
||||||
|
<ctl name="Sidetone Biquad3" id="5" value="0"/>
|
||||||
|
<ctl name="Sidetone Biquad4" id="0" value="0"/>
|
||||||
|
<ctl name="Sidetone Biquad4" id="1" value="0"/>
|
||||||
|
<ctl name="Sidetone Biquad4" id="2" value="0"/>
|
||||||
|
<ctl name="Sidetone Biquad4" id="3" value="0"/>
|
||||||
|
<ctl name="Sidetone Biquad4" id="4" value="0"/>
|
||||||
|
<ctl name="Sidetone Biquad4" id="5" value="0"/>
|
||||||
|
|
||||||
|
<ctl name="Incall Capture Stream0" value="Off"/>
|
||||||
|
<ctl name="Incall Capture Stream1" value="Off"/>
|
||||||
|
<ctl name="Incall Capture Stream2" value="Off"/>
|
||||||
|
|
||||||
|
<!-- These two controls control the muting function of mics and sinks during the voice call. -->
|
||||||
|
<!-- They would be enabled by HAL. -->
|
||||||
|
<ctl name="Incall Sink Mute" value="0"/>
|
||||||
|
<ctl name="Incall Mic Mute" value="0"/>
|
||||||
|
|
||||||
|
<!-- Decoder Reference Enable is controlled in aoc_control -->
|
||||||
|
<ctl name="Decoder Reference Enable" value="0"/>
|
||||||
|
<ctl name="LVM Enable" value="0"/>
|
||||||
|
|
||||||
|
<!-- sidetone dynamic control -->
|
||||||
|
<path name="sidetone-for handset">
|
||||||
|
<!-- 1065353216 = 0x3f800000 = 1.0 -->
|
||||||
|
<ctl name="Sidetone Biquad0" id="0" value="1065353216"/>
|
||||||
|
<ctl name="Sidetone Biquad0" id="1" value="1065353216"/>
|
||||||
|
<ctl name="Sidetone Biquad0" id="2" value="0"/>
|
||||||
|
<ctl name="Sidetone Biquad0" id="3" value="0"/>
|
||||||
|
<ctl name="Sidetone Biquad0" id="4" value="0"/>
|
||||||
|
<ctl name="Sidetone Biquad0" id="5" value="0"/>
|
||||||
|
<ctl name="Sidetone Biquad1" id="0" value="1065353216"/>
|
||||||
|
<ctl name="Sidetone Biquad1" id="1" value="1065353216"/>
|
||||||
|
<ctl name="Sidetone Biquad1" id="2" value="0"/>
|
||||||
|
<ctl name="Sidetone Biquad1" id="3" value="0"/>
|
||||||
|
<ctl name="Sidetone Biquad1" id="4" value="0"/>
|
||||||
|
<ctl name="Sidetone Biquad1" id="5" value="0"/>
|
||||||
|
<ctl name="Sidetone Biquad2" id="0" value="1065353216"/>
|
||||||
|
<ctl name="Sidetone Biquad2" id="1" value="1065353216"/>
|
||||||
|
<ctl name="Sidetone Biquad2" id="2" value="0"/>
|
||||||
|
<ctl name="Sidetone Biquad2" id="3" value="0"/>
|
||||||
|
<ctl name="Sidetone Biquad2" id="4" value="0"/>
|
||||||
|
<ctl name="Sidetone Biquad2" id="5" value="0"/>
|
||||||
|
<ctl name="Sidetone Biquad3" id="0" value="1065353216"/>
|
||||||
|
<ctl name="Sidetone Biquad3" id="1" value="1065353216"/>
|
||||||
|
<ctl name="Sidetone Biquad3" id="2" value="0"/>
|
||||||
|
<ctl name="Sidetone Biquad3" id="3" value="0"/>
|
||||||
|
<ctl name="Sidetone Biquad3" id="4" value="0"/>
|
||||||
|
<ctl name="Sidetone Biquad3" id="5" value="0"/>
|
||||||
|
<ctl name="Sidetone Biquad4" id="0" value="1065353216"/>
|
||||||
|
<ctl name="Sidetone Biquad4" id="1" value="1065353216"/>
|
||||||
|
<ctl name="Sidetone Biquad4" id="2" value="0"/>
|
||||||
|
<ctl name="Sidetone Biquad4" id="3" value="0"/>
|
||||||
|
<ctl name="Sidetone Biquad4" id="4" value="0"/>
|
||||||
|
<ctl name="Sidetone Biquad4" id="5" value="0"/>
|
||||||
|
<ctl name="Sidetone EQ Stage Number" value="5"/>
|
||||||
|
<ctl name="Sidetone Volume" value="-90"/>
|
||||||
|
<ctl name="Sidetone Enable" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<!-- audio playback dynamic route -->
|
||||||
|
<path name="deep-buffer-playbackP">
|
||||||
|
<ctl name="TDM_0_RX Mixer EP6" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="deep-buffer-playbackP hac-handset">
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="deep-buffer-playbackP bt">
|
||||||
|
<ctl name="BT_RX Mixer EP6" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="deep-buffer-playbackP usb-headphone">
|
||||||
|
<ctl name="USB_RX Mixer EP6" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="deep-buffer-playbackP hearing-aid">
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="low-latency-playbackP">
|
||||||
|
<ctl name="TDM_0_RX Mixer EP2" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="low-latency-playbackP hac-handset">
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="low-latency-playbackP bt">
|
||||||
|
<ctl name="BT_RX Mixer EP2" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="low-latency-playbackP usb-headphone">
|
||||||
|
<ctl name="USB_RX Mixer EP2" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="low-latency-playbackP hearing-aid">
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="raw-playbackP">
|
||||||
|
<ctl name="TDM_0_RX Mixer RAW" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="raw-playbackP hac-handset">
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="raw-playbackP usb-headphone">
|
||||||
|
<ctl name="USB_RX Mixer RAW" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="raw-playbackP hearing-aid">
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="mmap-playbackP">
|
||||||
|
<ctl name="TDM_0_RX Mixer EP1" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="mmap-playbackP hac-handset">
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="mmap-playbackP usb-headphone">
|
||||||
|
<ctl name="USB_RX Mixer EP1" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="mmap-playbackP hearing-aid">
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="compress-offload-playback">
|
||||||
|
<ctl name="LVM Enable" value="1" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="compress-offload-playbackP">
|
||||||
|
<path name="compress-offload-playback" />
|
||||||
|
<ctl name="TDM_0_RX Mixer EP7" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="compress-offload-playbackP hac-handset">
|
||||||
|
<path name="compress-offload-playback" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="compress-offload-playbackP bt">
|
||||||
|
<path name="compress-offload-playback" />
|
||||||
|
<ctl name="BT_RX Mixer EP7" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="compress-offload-playbackP usb-headphone">
|
||||||
|
<path name="compress-offload-playback" />
|
||||||
|
<ctl name="USB_RX Mixer EP7" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="compress-offload-playbackP hearing-aid">
|
||||||
|
<path name="compress-offload-playback" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="voip-playbackP">
|
||||||
|
<ctl name="TDM_0_RX Mixer VOIP" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="voip-playbackP hac-handset">
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="voip-playbackP bt">
|
||||||
|
<ctl name="BT_RX Mixer VOIP" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="voip-playbackP usb-headphone">
|
||||||
|
<ctl name="USB_RX Mixer VOIP" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="voip-playbackP hearing-aid">
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="haptic-audioP">
|
||||||
|
<ctl name="TDM_0_RX Mixer EP3" value="1"/>
|
||||||
|
<ctl name="TDM_0_RX Mixer EP8" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="haptic-audioP hac-handset">
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="haptic-audioP bt">
|
||||||
|
<ctl name="BT_RX Mixer EP3" value="1"/>
|
||||||
|
<ctl name="TDM_0_RX Mixer EP8" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="haptic-audioP usb-headphone">
|
||||||
|
<ctl name="USB_RX Mixer EP3" value="1"/>
|
||||||
|
<ctl name="TDM_0_RX Mixer EP8" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="hifi-playbackP">
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="hifi-playbackP usb-headphone">
|
||||||
|
<ctl name="USB_RX Mixer HIFI" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="hifi-recordC">
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="hifi-recordC usb-headset-mic">
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<!-- audio capture dynamic route -->
|
||||||
|
<path name="audio-recordC">
|
||||||
|
<ctl name="EP1 TX Mixer INTERNAL_MIC_TX" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="audio-recordC usb-headset-mic">
|
||||||
|
<ctl name="EP1 TX Mixer USB_TX" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="audio-recordC bt-mic">
|
||||||
|
<ctl name="EP1 TX Mixer BT_TX" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="voip-recordC">
|
||||||
|
<ctl name="VOIP TX Mixer INTERNAL_MIC_TX" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="voip-recordC usb-headset-mic">
|
||||||
|
<ctl name="VOIP TX Mixer USB_TX" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="voip-recordC bt-mic">
|
||||||
|
<ctl name="VOIP TX Mixer BT_TX" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<!-- voice-call dynamic route -->
|
||||||
|
<path name="voice-callP">
|
||||||
|
<ctl name="TDM_0_RX Mixer EP5" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="voice-callP bt">
|
||||||
|
<ctl name="BT_RX Mixer EP5" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="voice-callP usb-headphone">
|
||||||
|
<ctl name="USB_RX Mixer EP5" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="voice-callP hearing-aid">
|
||||||
|
<ctl name="INCALL_RX Mixer EP5" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="voice-callP call-screen">
|
||||||
|
<ctl name="INCALL_RX Mixer EP5" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="voice-callC">
|
||||||
|
<ctl name="EP4 TX Mixer INTERNAL_MIC_TX" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="voice-callC usb-headset-mic">
|
||||||
|
<ctl name="AoC Modem Downlink ASRC Mode" value="ASP_OFF"/>
|
||||||
|
<ctl name="EP4 TX Mixer USB_TX" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="voice-callC bt-mic">
|
||||||
|
<ctl name="EP4 TX Mixer BT_TX" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="voice-callC hearing-aid">
|
||||||
|
<ctl name="EP4 TX Mixer INCALL_TX" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="voice-callC call-screen">
|
||||||
|
<ctl name="EP4 TX Mixer INCALL_TX" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="hostless-ulC spk-vi">
|
||||||
|
<ctl name="NoHost1 TX Mixer TDM_0_TX" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="telephony-rx-captureC">
|
||||||
|
<ctl name="Incall Capture Stream0" value="DL"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="incall-capture1C uplink">
|
||||||
|
<ctl name="Incall Capture Stream1" value="UL"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="incall-capture1C downlink">
|
||||||
|
<ctl name="Incall Capture Stream1" value="DL"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="incall-capture1C call">
|
||||||
|
<ctl name="Incall Capture Stream1" value="UL_DL"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="incall-capture2C uplink">
|
||||||
|
<ctl name="Incall Capture Stream2" value="UL"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="incall-capture2C downlink">
|
||||||
|
<ctl name="Incall Capture Stream2" value="DL"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="incall-capture2C call">
|
||||||
|
<ctl name="Incall Capture Stream2" value="UL_DL"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="low-latency-recordC">
|
||||||
|
<ctl name="EP3 TX Mixer INTERNAL_MIC_TX" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="low-latency-recordC usb-headset-mic">
|
||||||
|
<ctl name="EP3 TX Mixer USB_TX" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="mmap-recordC">
|
||||||
|
<ctl name="EP2 TX Mixer INTERNAL_MIC_TX" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="mmap-recordC usb-headset-mic">
|
||||||
|
<ctl name="EP2 TX Mixer USB_TX" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<!-- codec setting -->>
|
||||||
|
<!-- Rx device -->
|
||||||
|
<path name="handset">
|
||||||
|
<ctl name="PCM Source" value="ASP"/>
|
||||||
|
<ctl name="AMP PCM Gain" value="6"/>
|
||||||
|
<ctl name="Main AMP Enable Switch" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="voice-handset">
|
||||||
|
<ctl name="Boost Peak Current Limit" value="3.50A"/>
|
||||||
|
<ctl name="PCM Source" value="ASP"/>
|
||||||
|
<ctl name="AMP PCM Gain" value="6"/>
|
||||||
|
<ctl name="Main AMP Enable Switch" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="voice-hac">
|
||||||
|
<path name="voice-handset"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="voice-hac-handset">
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="speaker">
|
||||||
|
<ctl name="Boost Peak Current Limit" value="1.70A"/>
|
||||||
|
<ctl name="R Boost Peak Current Limit" value="1.90A"/>
|
||||||
|
<ctl name="Main AMP Enable Switch" value="1"/>
|
||||||
|
<ctl name="R Main AMP Enable Switch" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="voice-speaker">
|
||||||
|
<ctl name="R Boost Peak Current Limit" value="3.50A"/>
|
||||||
|
<ctl name="ASPTX1 Slot Position" value="1"/>
|
||||||
|
<ctl name="R ASPTX1 Slot Position" value="0"/>
|
||||||
|
<ctl name="R DSP RX2 Source" value="ASPRX2"/>
|
||||||
|
<ctl name="R Main AMP Enable Switch" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="speaker-safe">
|
||||||
|
<ctl name="R Boost Peak Current Limit" value="3.50A"/>
|
||||||
|
<ctl name="R Main AMP Enable Switch" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="usb-tty-full">
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="usb-tty-hco">
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="usb-tty-vco">
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<!-- Tx device -->
|
||||||
|
<path name="handset-mic">
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="0"/>
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="2"/>
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="3"/>
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1"/>
|
||||||
|
<ctl name="MIC DC Blocker" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="handset-mic-post">
|
||||||
|
<ctl name="MIC Record Soft Gain (dB)" value="22"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="voice-handset-mic">
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="0"/>
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="2"/>
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="3"/>
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1"/>
|
||||||
|
<ctl name="MIC DC Blocker" value="1"/>
|
||||||
|
<ctl name="MIC HW Gain At High Power Mode (cB)" value="130"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="voice-handset-mic-post">
|
||||||
|
<ctl name="MIC Record Soft Gain (dB)" value="0"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="speaker-mic">
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="0"/>
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="2"/>
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="3"/>
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1"/>
|
||||||
|
<ctl name="MIC DC Blocker" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="speaker-mic-post">
|
||||||
|
<ctl name="MIC Record Soft Gain (dB)" value="0"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="voice-speaker-mic">
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="0"/>
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="2"/>
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="3"/>
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1"/>
|
||||||
|
<ctl name="MIC DC Blocker" value="1"/>
|
||||||
|
<ctl name="MIC HW Gain At High Power Mode (cB)" value="130"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="voice-speaker-mic-post">
|
||||||
|
<ctl name="MIC Record Soft Gain (dB)" value="0"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="camcorder-mic">
|
||||||
|
<!--ctl name="Mic Spatial Module Enable" value="1"/-->
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="0"/>
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="2"/>
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="3"/>
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1"/>
|
||||||
|
<ctl name="MIC DC Blocker" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="camcorder-mic-post">
|
||||||
|
<ctl name="MIC Record Soft Gain (dB)" value="22"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="voice-recog-mic">
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="0"/>
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="2"/>
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="3"/>
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1"/>
|
||||||
|
<ctl name="MIC DC Blocker" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="voice-recog-mic-post">
|
||||||
|
<ctl name="MIC Record Soft Gain (dB)" value="22"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="unprocessed-mic">
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="0"/>
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="2"/>
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="3"/>
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1"/>
|
||||||
|
<ctl name="MIC DC Blocker" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="unprocessed-mic-post">
|
||||||
|
<ctl name="MIC Record Soft Gain (dB)" value="5"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="unprocessed-dual-mic">
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="0"/>
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="2"/>
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="3"/>
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1"/>
|
||||||
|
<ctl name="MIC DC Blocker" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="unprocessed-dual-mic-post">
|
||||||
|
<ctl name="MIC Record Soft Gain (dB)" value="5"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="unprocessed-triple-mic">
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="0"/>
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="2"/>
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="3"/>
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1"/>
|
||||||
|
<ctl name="MIC DC Blocker" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="unprocessed-triple-mic-post">
|
||||||
|
<ctl name="MIC Record Soft Gain (dB)" value="5"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="bt-mic">
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="0"/>
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="2"/>
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="3"/>
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1"/>
|
||||||
|
<ctl name="Audio Capture Mic Source" value="BT_MIC"/>
|
||||||
|
<ctl name="Voice Call Mic Source" value="BT_MIC"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="bt-mic-post">
|
||||||
|
<ctl name="MIC Record Soft Gain (dB)" value="0"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="usb-headset-mic">
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="0"/>
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="2"/>
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="3"/>
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1"/>
|
||||||
|
<ctl name="Audio Capture Mic Source" value="USB_MIC"/>
|
||||||
|
<ctl name="Voice Call Mic Source" value="USB_MIC"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="usb-headset-mic-post">
|
||||||
|
<ctl name="MIC Record Soft Gain (dB)" value="0"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<!-- cs35l41 specific path to load firmware in cs35l41.c -->
|
||||||
|
<path name="cs35l41-load-protection-firmware-start">
|
||||||
|
<!-- Enable it after get the protection firmware -->
|
||||||
|
<ctl name="DSP Booted" value="0" />
|
||||||
|
<ctl name="R DSP Booted" value="0" />
|
||||||
|
<ctl name="DSP1 Preload Switch" value="0" />
|
||||||
|
<ctl name="R DSP1 Preload Switch" value="0" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="cs35l41-load-protection-firmware-end">
|
||||||
|
<!-- Enable it after get the protection firmware -->
|
||||||
|
<ctl name="DSP1 Preload Switch" value="1" />
|
||||||
|
<ctl name="R DSP1 Preload Switch" value="1" />
|
||||||
|
</path>
|
||||||
|
<!-- cs35l41 specific path to load firmware in cs35l41.c end-->
|
||||||
|
</mixer>
|
381
audio/lynx/config/mixer_paths_factory.xml
Normal file
381
audio/lynx/config/mixer_paths_factory.xml
Normal file
@ -0,0 +1,381 @@
|
|||||||
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
|
<mixer>
|
||||||
|
<ctl name="TDM_0_RX Mixer EP3" value="0" />
|
||||||
|
<ctl name="TDM_0_RX Mixer EP6" value="0" />
|
||||||
|
<ctl name="I2S_0_RX Mixer EP3" value="0" />
|
||||||
|
<ctl name="Main AMP Enable Switch" value="0" />
|
||||||
|
<ctl name="R Main AMP Enable Switch" value="0" />
|
||||||
|
<ctl name="MIC HW Gain At Lower Power Mode (cB)" value="-160" />
|
||||||
|
<ctl name="MIC HW Gain At High Power Mode (cB)" value="0" />
|
||||||
|
<ctl name="MIC Record Soft Gain (dB)" value="0"/>
|
||||||
|
|
||||||
|
<ctl name="EP1 TX Mixer TDM_0_TX" value="0" />
|
||||||
|
<ctl name="DEFAULT_MIC_ID" value="0" />
|
||||||
|
<ctl name="MIC0" value="0" />
|
||||||
|
<ctl name="MIC1" value="0" />
|
||||||
|
<ctl name="MIC2" value="0" />
|
||||||
|
<ctl name="MIC3" value="0" />
|
||||||
|
<ctl name="AoC Speaker Mixer ASP Mode" value="ASP_ON" />
|
||||||
|
|
||||||
|
<ctl name="TDM_0_RX Sample Rate" value="SR_48K" />
|
||||||
|
<ctl name="TDM_0_TX Sample Rate" value="SR_48K" />
|
||||||
|
<ctl name="TDM_0_RX Mixer US" value="0" />
|
||||||
|
<ctl name="US Record Enable" value="0" />
|
||||||
|
|
||||||
|
<path name="mfg-playback">
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="deep-buffer-playback speaker">
|
||||||
|
<ctl name="AoC Speaker Mixer ASP Mode" value="ASP_BYPASS" />
|
||||||
|
<ctl name="TDM_0_RX Mixer EP6" value="1" />
|
||||||
|
<path name="mfg-playback" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="deep-buffer-playback headphones">
|
||||||
|
<ctl name="I2S_0_RX Mixer EP6" value="1" />
|
||||||
|
<path name="mfg-playback" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="mfg-record">
|
||||||
|
<ctl name="EP1 TX Mixer TDM_0_TX" value="1" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="us-mfg-record">
|
||||||
|
<ctl name="US Record Enable" value="1" />
|
||||||
|
<ctl name="EP1 TX Mixer TDM_0_TX" value="1" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="mic1-status">
|
||||||
|
<ctl name="MIC0" value="1" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="mic2-status">
|
||||||
|
<ctl name="MIC1" value="1" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="mic3-status">
|
||||||
|
<ctl name="MIC2" value="1" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="mic4-status">
|
||||||
|
<ctl name="MIC3" value="0" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="mic1-gain">
|
||||||
|
<ctl name="MIC HW Gain At Lower Power Mode (cB)" />
|
||||||
|
<ctl name="MIC HW Gain At High Power Mode (cB)" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="mic2-gain">
|
||||||
|
<ctl name="MIC HW Gain At Lower Power Mode (cB)" />
|
||||||
|
<ctl name="MIC HW Gain At High Power Mode (cB)" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="mic3-gain">
|
||||||
|
<ctl name="MIC HW Gain At Lower Power Mode (cB)" />
|
||||||
|
<ctl name="MIC HW Gain At High Power Mode (cB)" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="mic4-gain">
|
||||||
|
<ctl name="MIC HW Gain At Lower Power Mode (cB)" />
|
||||||
|
<ctl name="MIC HW Gain At High Power Mode (cB)" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="mic1-sw-gain">
|
||||||
|
<ctl name="MIC Record Soft Gain (dB)" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="mic2-sw-gain">
|
||||||
|
<ctl name="MIC Record Soft Gain (dB)" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="mic3-sw-gain">
|
||||||
|
<ctl name="MIC Record Soft Gain (dB)" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="mic4-sw-gain">
|
||||||
|
<ctl name="MIC Record Soft Gain (dB)" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="usb-capture-gain">
|
||||||
|
<ctl name="Headset Capture Volume" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="mic1-only">
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="0" />
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="-1" />
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="-1" />
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1" />
|
||||||
|
<ctl name="MIC0" value="1" />
|
||||||
|
<ctl name="MIC Record Soft Gain (dB)" value="0" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="mic2-only">
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="3" />
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="-1" />
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="-1" />
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1" />
|
||||||
|
<ctl name="MIC1" value="1" />
|
||||||
|
<ctl name="MIC Record Soft Gain (dB)" value="0" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="mic3-only">
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="2" />
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="-1" />
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="-1" />
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1" />
|
||||||
|
<ctl name="MIC2" value="1" />
|
||||||
|
<ctl name="MIC Record Soft Gain (dB)" value="0" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="mic4-only">
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="3" />
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="-1" />
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="-1" />
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1" />
|
||||||
|
<ctl name="MIC3" value="0" />
|
||||||
|
<ctl name="MIC Record Soft Gain (dB)" value="0" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="mic-all">
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="0" />
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="2" />
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="3" />
|
||||||
|
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1" />
|
||||||
|
<ctl name="MIC0" value="1" />
|
||||||
|
<ctl name="MIC1" value="1" />
|
||||||
|
<ctl name="MIC2" value="1" />
|
||||||
|
<ctl name="MIC3" value="0" />
|
||||||
|
<ctl name="MIC Record Soft Gain (dB)" value="0" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="amp_iv-only">
|
||||||
|
<ctl name="R ASPTX1 Slot Position" value="2" />
|
||||||
|
<ctl name="R ASPTX2 Slot Position" value="3" />
|
||||||
|
<ctl name="R ASPTX3 Slot Position" value="6" />
|
||||||
|
<ctl name="R ASPTX4 Slot Position" value="7" />
|
||||||
|
<ctl name="ASPTX1 Slot Position" value="0" />
|
||||||
|
<ctl name="ASPTX2 Slot Position" value="1" />
|
||||||
|
<ctl name="ASPTX3 Slot Position" value="4" />
|
||||||
|
<ctl name="ASPTX4 Slot Position" value="5" />
|
||||||
|
<ctl name="R ASP TX1 Source" value="VMON" />
|
||||||
|
<ctl name="R ASP TX2 Source" value="ASPRX1" />
|
||||||
|
<ctl name="R ASP TX3 Source" value="Zero" />
|
||||||
|
<ctl name="R ASP TX4 Source" value="Zero" />
|
||||||
|
<ctl name="ASP TX1 Source" value="VMON" />
|
||||||
|
<ctl name="ASP TX2 Source" value="ASPRX1" />
|
||||||
|
<ctl name="ASP TX3 Source" value="Zero" />
|
||||||
|
<ctl name="ASP TX4 Source" value="Zero" />
|
||||||
|
<ctl name="NoHost1 TX Mixer TDM_0_TX" value="1" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="amp_iv1-only">
|
||||||
|
<ctl name="R ASPTX1 Slot Position" value="4" />
|
||||||
|
<ctl name="R ASPTX2 Slot Position" value="5" />
|
||||||
|
<ctl name="R ASPTX3 Slot Position" value="6" />
|
||||||
|
<ctl name="R ASPTX4 Slot Position" value="7" />
|
||||||
|
<ctl name="ASPTX1 Slot Position" value="0" />
|
||||||
|
<ctl name="ASPTX2 Slot Position" value="1" />
|
||||||
|
<ctl name="ASPTX3 Slot Position" value="2" />
|
||||||
|
<ctl name="ASPTX4 Slot Position" value="3" />
|
||||||
|
<ctl name="R ASP TX1 Source" value="Zero" />
|
||||||
|
<ctl name="R ASP TX2 Source" value="Zero" />
|
||||||
|
<ctl name="R ASP TX3 Source" value="Zero" />
|
||||||
|
<ctl name="R ASP TX4 Source" value="Zero" />
|
||||||
|
<ctl name="ASP TX1 Source" value="VMON" />
|
||||||
|
<ctl name="ASP TX2 Source" value="IMON" />
|
||||||
|
<ctl name="ASP TX3 Source" value="VPMON" />
|
||||||
|
<ctl name="ASP TX4 Source" value="ASPRX1" />
|
||||||
|
<ctl name="NoHost1 TX Mixer TDM_0_TX" value="1" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="amp_iv2-only">
|
||||||
|
<ctl name="R ASPTX1 Slot Position" value="0" />
|
||||||
|
<ctl name="R ASPTX2 Slot Position" value="1" />
|
||||||
|
<ctl name="R ASPTX3 Slot Position" value="2" />
|
||||||
|
<ctl name="R ASPTX4 Slot Position" value="3" />
|
||||||
|
<ctl name="ASPTX1 Slot Position" value="4" />
|
||||||
|
<ctl name="ASPTX2 Slot Position" value="5" />
|
||||||
|
<ctl name="ASPTX3 Slot Position" value="6" />
|
||||||
|
<ctl name="ASPTX4 Slot Position" value="7" />
|
||||||
|
<ctl name="R ASP TX1 Source" value="VMON" />
|
||||||
|
<ctl name="R ASP TX2 Source" value="IMON" />
|
||||||
|
<ctl name="R ASP TX3 Source" value="VPMON" />
|
||||||
|
<ctl name="R ASP TX4 Source" value="ASPRX1" />
|
||||||
|
<ctl name="ASP TX1 Source" value="Zero" />
|
||||||
|
<ctl name="ASP TX2 Source" value="Zero" />
|
||||||
|
<ctl name="ASP TX3 Source" value="Zero" />
|
||||||
|
<ctl name="ASP TX4 Source" value="Zero" />
|
||||||
|
<ctl name="NoHost1 TX Mixer TDM_0_TX" value="1" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="us-amp_iv-only">
|
||||||
|
<ctl name="TDM_0_RX Sample Rate" value="SR_96K" />
|
||||||
|
<ctl name="TDM_0_TX Sample Rate" value="SR_96K" />
|
||||||
|
<path name="amp_iv-only" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="us-amp_iv1-only">
|
||||||
|
<ctl name="TDM_0_RX Sample Rate" value="SR_96K" />
|
||||||
|
<ctl name="TDM_0_TX Sample Rate" value="SR_96K" />
|
||||||
|
<path name="amp_iv1-only" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="us-amp_iv2-only">
|
||||||
|
<ctl name="TDM_0_RX Sample Rate" value="SR_96K" />
|
||||||
|
<ctl name="TDM_0_TX Sample Rate" value="SR_96K" />
|
||||||
|
<path name="amp_iv2-only" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="speaker1-status">
|
||||||
|
<ctl name="Main AMP Enable Switch" value="1" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="speaker2-status">
|
||||||
|
<ctl name="R Main AMP Enable Switch" value="1" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="speaker1-gain">
|
||||||
|
<ctl name="AMP PCM Gain" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="speaker2-gain">
|
||||||
|
<ctl name="R AMP PCM Gain" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="usb-playback-gain">
|
||||||
|
<ctl name="Headset Playback Volume" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="mfg-playback speaker">
|
||||||
|
<ctl name="AoC Speaker Mixer ASP Mode" value="ASP_BYPASS" />
|
||||||
|
<ctl name="TDM_0_RX Mixer EP3" value="1" />
|
||||||
|
<ctl name="ASPRX1 Slot Position" value="0" />
|
||||||
|
<ctl name="R ASPRX1 Slot Position" value="1" />
|
||||||
|
<ctl name="SINK_IDS" id="0" value="0" />
|
||||||
|
<ctl name="SINK_IDS" id="1" value="-1" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="mfg-playback headphones">
|
||||||
|
<ctl name="I2S_0_RX Chan" value="Two" />
|
||||||
|
<ctl name="I2S_0_RX Format" value="S32_LE" />
|
||||||
|
<ctl name="I2S_0_RX Mixer EP3" value="1" />
|
||||||
|
<ctl name="SINK_IDS" id="0" value="1" />
|
||||||
|
<ctl name="SINK_IDS" id="1" value="-1" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="mfg-playback usb-headphones">
|
||||||
|
<ctl name="USB Dev ID v2" value="2" />
|
||||||
|
<ctl name="USB Playback EP ID v2" value="1" />
|
||||||
|
<ctl name="USB Playback FORMAT v2" value="6" />
|
||||||
|
<ctl name="USB Playback SR v2" value="48000" />
|
||||||
|
<ctl name="USB Playback CH v2" value="2" />
|
||||||
|
<ctl name="USB Playback BW v2" value="16" />
|
||||||
|
<ctl name="USB Config To AoC v2" value="1" />
|
||||||
|
<ctl name="USB_RX Mixer EP3" value="1" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="us-mfg-playback speaker">
|
||||||
|
<ctl name="TDM_0_RX Sample Rate" value="SR_96K" />
|
||||||
|
<ctl name="TDM_0_TX Sample Rate" value="SR_96K" />
|
||||||
|
<ctl name="TDM_0_RX Mixer US" value="1" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="speaker1-only">
|
||||||
|
<ctl name="Main AMP Enable Switch" value="1" />
|
||||||
|
<path name="mfg-playback speaker" />
|
||||||
|
<ctl name="AMP PCM Gain" value="17" />
|
||||||
|
<ctl name="PCM Source" value="ASP" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="speaker2-only">
|
||||||
|
<ctl name="R Main AMP Enable Switch" value="1" />
|
||||||
|
<path name="mfg-playback speaker" />
|
||||||
|
<ctl name="R AMP PCM Gain" value="17" />
|
||||||
|
<ctl name="R PCM Source" value="ASP" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="us-speaker1-only">
|
||||||
|
<path name="us-mfg-playback speaker" />
|
||||||
|
<ctl name="PCM Source" value="ASP" />
|
||||||
|
<ctl name="Main AMP Enable Switch" value="1" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="us-speaker2-only">
|
||||||
|
<path name="us-mfg-playback speaker" />
|
||||||
|
<ctl name="R PCM Source" value="ASP" />
|
||||||
|
<ctl name="R Main AMP Enable Switch" value="1" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="headphones">
|
||||||
|
<ctl name="DAC1 MIXL DAC1 Switch" value="1" />
|
||||||
|
<ctl name="DAC1 MIXR DAC1 Switch" value="1" />
|
||||||
|
<ctl name="Stereo1 DAC MIXL DAC L1 Switch" value="1" />
|
||||||
|
<ctl name="Stereo1 DAC MIXR DAC R1 Switch" value="1" />
|
||||||
|
<ctl name="DAC L1 Source" value="Stereo1 DAC Mixer" />
|
||||||
|
<ctl name="DAC R1 Source" value="Stereo1 DAC Mixer" />
|
||||||
|
<ctl name="HPOL Playback Switch" value="1" />
|
||||||
|
<ctl name="HPOR Playback Switch" value="1" />
|
||||||
|
<path name="mfg-playback headphones" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="speaker-all">
|
||||||
|
<ctl name="Main AMP Enable Switch" value="1" />
|
||||||
|
<ctl name="PCM Source" value="ASP" />
|
||||||
|
<ctl name="R Main AMP Enable Switch" value="1" />
|
||||||
|
<ctl name="R PCM Source" value="ASP" />
|
||||||
|
<path name="mfg-playback speaker" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="us-speaker-all">
|
||||||
|
<path name="us-mfg-playback speaker" />
|
||||||
|
<ctl name="PCM Source" value="ASP" />
|
||||||
|
<ctl name="Main AMP Enable Switch" value="1" />
|
||||||
|
<ctl name="R PCM Source" value="ASP" />
|
||||||
|
<ctl name="R Main AMP Enable Switch" value="1" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="loopback-mic-speaker">
|
||||||
|
<ctl name="EP1 TX Mixer TDM_0_TX" value="1" />
|
||||||
|
<ctl name="SINK_IDS" id="0" value="0" />
|
||||||
|
<ctl name="SINK_IDS" id="1" value="-1" />
|
||||||
|
<path name="mfg-playback" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="loopback-mic-headphones">
|
||||||
|
<ctl name="EP1 TX Mixer TDM_0_TX" value="1" />
|
||||||
|
<ctl name="SINK_IDS" id="0" value="1" />
|
||||||
|
<ctl name="SINK_IDS" id="1" value="-1" />
|
||||||
|
<path name="mfg-playback" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="loopback-mic-usb-headphones">
|
||||||
|
<ctl name="MIC HW Gain At Lower Power Mode (cB)" value="-160" />
|
||||||
|
<ctl name="MIC HW Gain At High Power Mode (cB)" value="0" />
|
||||||
|
<ctl name="TDM_0_TX Format" value="S32_LE" />
|
||||||
|
<ctl name="TDM_0_TX Chan" value="One" />
|
||||||
|
<ctl name="EP1 TX Mixer TDM_0_TX" value="1" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="loopback-usb-mic-speaker">
|
||||||
|
<ctl name="USB Capture FORMAT v2" value="1" />
|
||||||
|
<ctl name="MIC Record Soft Gain (dB)" value="0" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="loopback-usb-mic-usb-headphone">
|
||||||
|
<ctl name="USB Capture FORMAT v2" value="1" />
|
||||||
|
<ctl name="MIC Record Soft Gain (dB)" value="0" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<pcm_id name="loopback-mic1" value="EP1 capture (*)"/>
|
||||||
|
<pcm_id name="loopback-mic2" value="EP1 capture (*)"/>
|
||||||
|
<pcm_id name="loopback-mic3" value="EP1 capture (*)"/>
|
||||||
|
<pcm_id name="loopback-mic4" value="EP1 capture (*)"/>
|
||||||
|
<pcm_id name="loopback-speaker1" value="EP3 playback (*)"/>
|
||||||
|
<pcm_id name="loopback-speaker2" value="EP3 playback (*)"/>
|
||||||
|
<pcm_id name="loopback-speaker3" value="EP3 playback (*)"/>
|
||||||
|
<pcm_id name="loopback-headphones" value="EP3 playback (*)"/>
|
||||||
|
<pcm_id name="loopback-usb-headphones" value="EP3 playback (*)"/>
|
||||||
|
<pcm_id name="loopback-usb-mic" value="EP1 capture (*)"/>
|
||||||
|
<pcm_id name="loopback-amp_iv" value="nohost1 capture (*)"/>
|
||||||
|
</mixer>
|
33
audio/lynx/config/sound_trigger_configuration.xml
Normal file
33
audio/lynx/config/sound_trigger_configuration.xml
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
|
<!-- 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, -->
|
||||||
|
<!-- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
|
||||||
|
<!-- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -->
|
||||||
|
<sound_trigger_hal_configuration>
|
||||||
|
<supported_model>
|
||||||
|
<model name="CLIENT_HOTWORD" uuid="7038ddc8-30f2-11e6-b0ac-40a8f03d3f15" model_type="keyphrase" bargein="true"/>
|
||||||
|
<model name="CLIENT_AMBIENT_MUSIC" uuid="9f6ad62a-1f0b-11e7-87c5-40a8f03d3f15" model_type="generic" bargein="false"/>
|
||||||
|
<model name="CLIENT_AMBIENT_MUSIC_BREAK" uuid="12caddb1-acdb-4dce-8cb0-2e95a2313aee" model_type="generic" bargein="false"/>
|
||||||
|
</supported_model>
|
||||||
|
</sound_trigger_hal_configuration>
|
307
audio/lynx/cs35l41/crus_sp_cal_mixer_paths.xml
Normal file
307
audio/lynx/cs35l41/crus_sp_cal_mixer_paths.xml
Normal file
@ -0,0 +1,307 @@
|
|||||||
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
|
<!-- Copyright (c) 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: -->
|
||||||
|
<!-- * 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, -->
|
||||||
|
<!-- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
|
||||||
|
<!-- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -->
|
||||||
|
<mixer>
|
||||||
|
<!-- Initial Values -->
|
||||||
|
<!-- Preload Stage -->
|
||||||
|
<ctl name="Main AMP Enable Switch" value="0" />
|
||||||
|
<ctl name="DSP1 Preload Switch" value="0" />
|
||||||
|
<ctl name="R Main AMP Enable Switch" value="0" />
|
||||||
|
<ctl name="R DSP1 Preload Switch" value="0" />
|
||||||
|
<!-- Clock-trigger Stage -->
|
||||||
|
<ctl name="SINK_IDS" id="0" value="-1"/>
|
||||||
|
<ctl name="SINK_IDS" id="1" value="-1"/>
|
||||||
|
<ctl name="PCM Playback Volume" value="10"/>
|
||||||
|
<ctl name="TDM_0_RX Mixer EP6" value="0"/>
|
||||||
|
|
||||||
|
<!-- Preparation Stage -->
|
||||||
|
<path name="crus-switch-fw-prepare">
|
||||||
|
<ctl name="DRE DRE Switch" value="1" />
|
||||||
|
<ctl name="VBSTMON Output Switch" value="1" />
|
||||||
|
<ctl name="DSP Booted" value="0" />
|
||||||
|
<ctl name="DSP1 Preload Switch" value="0" />
|
||||||
|
<ctl name="R DRE DRE Switch" value="1" />
|
||||||
|
<ctl name="R VBSTMON Output Switch" value="1" />
|
||||||
|
<ctl name="R DSP Booted" value="0" />
|
||||||
|
<ctl name="R DSP1 Preload Switch" value="0" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<!-- Preload Stage -->
|
||||||
|
<path name="crus-fw-preload">
|
||||||
|
<ctl name="DSP1 Preload Switch" value="1" />
|
||||||
|
<ctl name="R DSP1 Preload Switch" value="1" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<!-- Firmware-switching Stage -->
|
||||||
|
<path name="crus-switch-fw-Calibration">
|
||||||
|
<ctl name="AMP PCM Gain" value="17" />
|
||||||
|
<ctl name="Digital PCM Volume" value="817" />
|
||||||
|
<ctl name="PCM Source" value="DSP" />
|
||||||
|
<ctl name="DSP1 Firmware" value="Calibration" />
|
||||||
|
<ctl name="R AMP PCM Gain" value="17" />
|
||||||
|
<ctl name="R Digital PCM Volume" value="817" />
|
||||||
|
<ctl name="R PCM Source" value="DSP" />
|
||||||
|
<ctl name="R DSP1 Firmware" value="Calibration" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="crus-switch-fw-Diagnostic">
|
||||||
|
<ctl name="AMP PCM Gain" value="17" />
|
||||||
|
<ctl name="Digital PCM Volume" value="817" />
|
||||||
|
<ctl name="PCM Source" value="DSP" />
|
||||||
|
<ctl name="DSP1 Firmware" value="Diagnostic" />
|
||||||
|
<ctl name="R AMP PCM Gain" value="17" />
|
||||||
|
<ctl name="R Digital PCM Volume" value="817" />
|
||||||
|
<ctl name="R PCM Source" value="DSP" />
|
||||||
|
<ctl name="R DSP1 Firmware" value="Diagnostic" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="crus-switch-fw-Protection">
|
||||||
|
<ctl name="PCM Source" value="DSP" />
|
||||||
|
<ctl name="DSP1 Firmware" value="Protection" />
|
||||||
|
<ctl name="R PCM Source" value="DSP" />
|
||||||
|
<ctl name="R DSP1 Firmware" value="Protection" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<!-- DSP-initialization Stage -->
|
||||||
|
<path name="crus-dsp-pre-calibration-amp1">
|
||||||
|
<ctl name="Main AMP Enable Switch" value="1" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="crus-dsp-pre-calibration-amp2">
|
||||||
|
<ctl name="R Main AMP Enable Switch" value="1" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="crus-dsp-pre-calibration">
|
||||||
|
<path name="crus-dsp-pre-calibration-amp1" />
|
||||||
|
<path name="crus-dsp-pre-calibration-amp2" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="crus-dsp-pre-diagnostic-amp1">
|
||||||
|
<ctl name="Main AMP Enable Switch" value="1" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="crus-dsp-pre-diagnostic-amp2">
|
||||||
|
<ctl name="R Main AMP Enable Switch" value="1" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="crus-dsp-pre-diagnostic">
|
||||||
|
<path name="crus-dsp-pre-diagnostic-amp1" />
|
||||||
|
<path name="crus-dsp-pre-diagnostic-amp2" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="crus-dsp-pre-protection">
|
||||||
|
<ctl name="Main AMP Enable Switch" value="1" />
|
||||||
|
<ctl name="R Main AMP Enable Switch" value="1" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<!-- Clock-trigger Stage -->
|
||||||
|
<path name="platform-controls">
|
||||||
|
<ctl name="PCM Playback Volume" value="1000"/>
|
||||||
|
<ctl name="SINK_IDS" id="0" value="0"/>
|
||||||
|
<ctl name="SINK_IDS" id="1" value="-1"/>
|
||||||
|
<ctl name="TDM_0_RX Mixer EP6" value="1"/>
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<!-- Post loaded firmware -->
|
||||||
|
<path name="crus-dsp-post-loading-fw">
|
||||||
|
<ctl name="Main AMP Enable Switch" value="0" />
|
||||||
|
<ctl name="R Main AMP Enable Switch" value="0" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<!-- Value & Information Fetch Stage -->
|
||||||
|
<path name="platform-values">
|
||||||
|
<ctl name="TDM_0_RX Format" />
|
||||||
|
<ctl name="TDM_0_RX Chan" />
|
||||||
|
<ctl name="TDM_0_RX Sample Rate" />
|
||||||
|
<ctl name="PCM Playback Volume" />
|
||||||
|
<ctl name="TDM_0_RX Mixer EP6" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="cs35l41-values">
|
||||||
|
<ctl name="DRE DRE Switch" />
|
||||||
|
<ctl name="R DRE DRE Switch" />
|
||||||
|
<ctl name="VBSTMON Output Switch" />
|
||||||
|
<ctl name="R VBSTMON Output Switch" />
|
||||||
|
<ctl name="AMP PCM Gain" />
|
||||||
|
<ctl name="R AMP PCM Gain" />
|
||||||
|
<ctl name="Digital PCM Volume" />
|
||||||
|
<ctl name="R Digital PCM Volume" />
|
||||||
|
<ctl name="PCM Source" />
|
||||||
|
<ctl name="R PCM Source" />
|
||||||
|
<ctl name="DSP Booted" />
|
||||||
|
<ctl name="R DSP Booted" />
|
||||||
|
<ctl name="Main AMP Enable Switch" />
|
||||||
|
<ctl name="R Main AMP Enable Switch" />
|
||||||
|
<ctl name="DSP1 Preload Switch" />
|
||||||
|
<ctl name="R DSP1 Preload Switch" />
|
||||||
|
<ctl name="DSP1 Firmware" />
|
||||||
|
<ctl name="R DSP1 Firmware" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Note that the order of controls does matter because
|
||||||
|
it should be matched to the structure defined in
|
||||||
|
sp_cal_common.h -->
|
||||||
|
<!--
|
||||||
|
struct calibration_data {
|
||||||
|
unsigned int cal_r;
|
||||||
|
unsigned int cal_status;
|
||||||
|
unsigned int cal_checksum;
|
||||||
|
unsigned int cal_ambient;
|
||||||
|
unsigned int amp_pcm_gain;
|
||||||
|
unsigned int digital_pcm_gain;
|
||||||
|
};
|
||||||
|
-->
|
||||||
|
<path name="cs35l41-dsp-amp1-calibration-values">
|
||||||
|
<ctl name="DSP1 Calibration cd CAL_R" />
|
||||||
|
<ctl name="DSP1 Calibration cd CAL_STATUS" />
|
||||||
|
<ctl name="DSP1 Calibration cd CAL_CHECKSUM" />
|
||||||
|
<ctl name="DSP1 Calibration cd CAL_AMBIENT" />
|
||||||
|
<ctl name="AMP PCM Gain" />
|
||||||
|
<ctl name="Digital PCM Volume" />
|
||||||
|
|
||||||
|
<!-- Only for debug print -->
|
||||||
|
<ctl name="DSP1 Calibration cd CAL_SET_STATUS" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="cs35l41-dsp-amp2-calibration-values">
|
||||||
|
<ctl name="R DSP1 Calibration cd CAL_R" />
|
||||||
|
<ctl name="R DSP1 Calibration cd CAL_STATUS" />
|
||||||
|
<ctl name="R DSP1 Calibration cd CAL_CHECKSUM" />
|
||||||
|
<ctl name="R DSP1 Calibration cd CAL_AMBIENT" />
|
||||||
|
<ctl name="R AMP PCM Gain" />
|
||||||
|
<ctl name="R Digital PCM Volume" />
|
||||||
|
|
||||||
|
<!-- Only for debug print -->
|
||||||
|
<ctl name="R DSP1 Calibration cd CAL_SET_STATUS" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
struct diagnostic_data {
|
||||||
|
struct calibration_data calibration_data;
|
||||||
|
unsigned int z_low_diff;
|
||||||
|
unsigned int diag_f0;
|
||||||
|
unsigned int diag_f0_status;
|
||||||
|
};
|
||||||
|
-->
|
||||||
|
<path name="cs35l41-dsp-amp1-diagnostic-values">
|
||||||
|
<!-- struct calibration_data START -->
|
||||||
|
<ctl name="DSP1 Diagnostic cd CAL_R" />
|
||||||
|
<ctl name="DSP1 Diagnostic cd CAL_STATUS" />
|
||||||
|
<ctl name="DSP1 Diagnostic cd CAL_CHECKSUM" />
|
||||||
|
<ctl name="DSP1 Diagnostic cd CAL_AMBIENT" />
|
||||||
|
<ctl name="AMP PCM Gain" />
|
||||||
|
<ctl name="Digital PCM Volume" />
|
||||||
|
<!-- struct calibration_data END -->
|
||||||
|
<ctl name="DSP1 Diagnostic cd DIAG_Z_LOW_DIFF" />
|
||||||
|
<ctl name="DSP1 Diagnostic cd DIAG_F0" />
|
||||||
|
<ctl name="DSP1 Diagnostic cd DIAG_F0_STATUS" />
|
||||||
|
|
||||||
|
<!-- Only for debug print -->
|
||||||
|
<ctl name="DSP1 Diagnostic cd CAL_SET_STATUS" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="cs35l41-dsp-amp2-diagnostic-values">
|
||||||
|
<!-- struct calibration_data START -->
|
||||||
|
<ctl name="R DSP1 Diagnostic cd CAL_R" />
|
||||||
|
<ctl name="R DSP1 Diagnostic cd CAL_STATUS" />
|
||||||
|
<ctl name="R DSP1 Diagnostic cd CAL_CHECKSUM" />
|
||||||
|
<ctl name="R DSP1 Diagnostic cd CAL_AMBIENT" />
|
||||||
|
<ctl name="R AMP PCM Gain" />
|
||||||
|
<ctl name="R Digital PCM Volume" />
|
||||||
|
<!-- struct calibration_data END -->
|
||||||
|
<ctl name="R DSP1 Diagnostic cd DIAG_Z_LOW_DIFF" />
|
||||||
|
<ctl name="R DSP1 Diagnostic cd DIAG_F0" />
|
||||||
|
<ctl name="R DSP1 Diagnostic cd DIAG_F0_STATUS" />
|
||||||
|
|
||||||
|
<!-- Only for debug print -->
|
||||||
|
<ctl name="R DSP1 Diagnostic cd CAL_SET_STATUS" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="cs35l41-dsp-amp1-protection-values">
|
||||||
|
<!-- struct calibration_data START -->
|
||||||
|
<ctl name="DSP1 Protection cd CAL_R" />
|
||||||
|
<ctl name="DSP1 Protection cd CAL_STATUS" />
|
||||||
|
<ctl name="DSP1 Protection cd CAL_CHECKSUM" />
|
||||||
|
<ctl name="DSP1 Protection cd CAL_AMBIENT" />
|
||||||
|
|
||||||
|
<!-- These controls are unrelated so we can simply
|
||||||
|
skip them
|
||||||
|
<ctl name="AMP PCM Gain" />
|
||||||
|
<ctl name="Digital PCM Volume" />
|
||||||
|
-->
|
||||||
|
<!-- struct calibration_data END -->
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="cs35l41-dsp-amp2-protection-values">
|
||||||
|
<!-- struct calibration_data START -->
|
||||||
|
<ctl name="R DSP1 Protection cd CAL_R" />
|
||||||
|
<ctl name="R DSP1 Protection cd CAL_STATUS" />
|
||||||
|
<ctl name="R DSP1 Protection cd CAL_CHECKSUM" />
|
||||||
|
<ctl name="R DSP1 Protection cd CAL_AMBIENT" />
|
||||||
|
|
||||||
|
<!-- These controls are unrelated so we can simply
|
||||||
|
skip them
|
||||||
|
<ctl name="R AMP PCM Gain" />
|
||||||
|
<ctl name="R Digital PCM Volume" />
|
||||||
|
-->
|
||||||
|
<!-- struct calibration_data END -->
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="cs35l41-dsp-amp1-calibration-completion">
|
||||||
|
<ctl name="DSP1 Calibration cd CAL_STATUS" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="cs35l41-dsp-amp2-calibration-completion">
|
||||||
|
<ctl name="R DSP1 Calibration cd CAL_STATUS" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="cs35l41-dsp-amp1-protection-completion">
|
||||||
|
<ctl name="DSP1 Protection cd CAL_SET_STATUS" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="cs35l41-dsp-amp2-protection-completion">
|
||||||
|
<ctl name="R DSP1 Protection cd CAL_SET_STATUS" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="cs35l41-dsp-amp1-diagnostic-completion">
|
||||||
|
<ctl name="DSP1 Diagnostic cd CAL_STATUS" />
|
||||||
|
<ctl name="DSP1 Diagnostic cd DIAG_F0_STATUS" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="cs35l41-dsp-amp2-diagnostic-completion">
|
||||||
|
<ctl name="R DSP1 Diagnostic cd CAL_STATUS" />
|
||||||
|
<ctl name="R DSP1 Diagnostic cd DIAG_F0_STATUS" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="cs35l41-dsp-amp1-enable-status">
|
||||||
|
<ctl name="Main AMP Enable Switch" />
|
||||||
|
</path>
|
||||||
|
|
||||||
|
<path name="cs35l41-dsp-amp2-enable-status">
|
||||||
|
<ctl name="R Main AMP Enable Switch" />
|
||||||
|
</path>
|
||||||
|
</mixer>
|
BIN
audio/lynx/cs35l41/fw/R-cs35l41-dsp1-spk-cali.bin
Normal file
BIN
audio/lynx/cs35l41/fw/R-cs35l41-dsp1-spk-cali.bin
Normal file
Binary file not shown.
BIN
audio/lynx/cs35l41/fw/R-cs35l41-dsp1-spk-diag.bin
Normal file
BIN
audio/lynx/cs35l41/fw/R-cs35l41-dsp1-spk-diag.bin
Normal file
Binary file not shown.
BIN
audio/lynx/cs35l41/fw/R-cs35l41-dsp1-spk-prot.bin
Normal file
BIN
audio/lynx/cs35l41/fw/R-cs35l41-dsp1-spk-prot.bin
Normal file
Binary file not shown.
BIN
audio/lynx/cs35l41/fw/cs35l41-dsp1-spk-cali.bin
Normal file
BIN
audio/lynx/cs35l41/fw/cs35l41-dsp1-spk-cali.bin
Normal file
Binary file not shown.
BIN
audio/lynx/cs35l41/fw/cs35l41-dsp1-spk-cali.wmfw
Normal file
BIN
audio/lynx/cs35l41/fw/cs35l41-dsp1-spk-cali.wmfw
Normal file
Binary file not shown.
BIN
audio/lynx/cs35l41/fw/cs35l41-dsp1-spk-diag.bin
Normal file
BIN
audio/lynx/cs35l41/fw/cs35l41-dsp1-spk-diag.bin
Normal file
Binary file not shown.
BIN
audio/lynx/cs35l41/fw/cs35l41-dsp1-spk-diag.wmfw
Normal file
BIN
audio/lynx/cs35l41/fw/cs35l41-dsp1-spk-diag.wmfw
Normal file
Binary file not shown.
BIN
audio/lynx/cs35l41/fw/cs35l41-dsp1-spk-prot.bin
Normal file
BIN
audio/lynx/cs35l41/fw/cs35l41-dsp1-spk-prot.bin
Normal file
Binary file not shown.
BIN
audio/lynx/cs35l41/fw/cs35l41-dsp1-spk-prot.wmfw
Normal file
BIN
audio/lynx/cs35l41/fw/cs35l41-dsp1-spk-prot.wmfw
Normal file
Binary file not shown.
22
audio/lynx/factory-audio-tables.mk
Normal file
22
audio/lynx/factory-audio-tables.mk
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
#
|
||||||
|
# Copyright (C) 2021 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.
|
||||||
|
#
|
||||||
|
|
||||||
|
AUDIO_FACTORY_TABLE_FOLDER := lynx
|
||||||
|
|
||||||
|
# Mixer Path Configuration for Audio Factory
|
||||||
|
PRODUCT_COPY_FILES += \
|
||||||
|
device/google/lynx/audio/$(AUDIO_FACTORY_TABLE_FOLDER)/config/mixer_paths_factory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_factory.xml
|
||||||
|
|
298
audio/lynx/tuning/bluenote/exported.xml
Normal file
298
audio/lynx/tuning/bluenote/exported.xml
Normal file
File diff suppressed because one or more lines are too long
BIN
audio/lynx/tuning/bluenote/recording.gatf
Normal file
BIN
audio/lynx/tuning/bluenote/recording.gatf
Normal file
Binary file not shown.
284
audio/lynx/tuning/bluenote/template.xml
Normal file
284
audio/lynx/tuning/bluenote/template.xml
Normal file
@ -0,0 +1,284 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<template>
|
||||||
|
<modules>
|
||||||
|
<module id="2" name="Waves">
|
||||||
|
<param id="0" max="3" name="opMode_" type="uint32"/>
|
||||||
|
</module>
|
||||||
|
<module id="3" name="Forte">
|
||||||
|
<param id="0" max="3" name="opMode_" type="uint32"/>
|
||||||
|
</module>
|
||||||
|
<module id="5" name="Auto Gain Control">
|
||||||
|
<param default="0" id="0" max="3" name="opMode_" type="uint32"/>
|
||||||
|
<param default="48000" id="1" name="fs_" type="uint32"/>
|
||||||
|
<param default="1" id="2" name="numCh_" type="uint32"/>
|
||||||
|
<param default="1" id="3" name="chMask_" type="uint32"/>
|
||||||
|
<param id="16" name="GainApplied" type="float"/>
|
||||||
|
<param id="17" name="idealRMS" type="float"/>
|
||||||
|
<param id="18" name="noiseGate" type="float"/>
|
||||||
|
<param id="19" name="minGain" type="float"/>
|
||||||
|
<param id="20" name="maxGain" type="float"/>
|
||||||
|
<param id="21" name="longGainAtRt" type="uint32"/>
|
||||||
|
<param id="22" name="GainAtRt" type="uint32"/>
|
||||||
|
<param id="23" name="rmsTav" type="uint32"/>
|
||||||
|
</module>
|
||||||
|
<module id="6" name="Surround Record">
|
||||||
|
<param default="0" id="0" max="3" name="opMode_" type="uint32"/>
|
||||||
|
<param default="48000" id="1" name="fs_" type="uint32"/>
|
||||||
|
<param default="3" id="2" name="numCh_" type="uint32"/>
|
||||||
|
<param default="7" id="3" name="chMask_" type="uint32"/>
|
||||||
|
<param id="16" max="1" min="0" name="alpha" type="float"/>
|
||||||
|
<param complex="true" id="17" name="ch0_profileL" size="1024" type="float"/>
|
||||||
|
<param complex="true" id="18" name="ch1_profileL" size="1024" type="float"/>
|
||||||
|
<param complex="true" id="19" name="ch2_profileL" size="1024" type="float"/>
|
||||||
|
<param complex="true" id="20" name="ch0_profileR" size="1024" type="float"/>
|
||||||
|
<param complex="true" id="21" name="ch1_profileR" size="1024" type="float"/>
|
||||||
|
<param complex="true" id="22" name="ch2_profileR" size="1024" type="float"/>
|
||||||
|
<param complex="true" id="23" name="ch0_profileAZ" size="1024" type="float"/>
|
||||||
|
<param complex="true" id="24" name="ch1_profileAZ" size="1024" type="float"/>
|
||||||
|
<param complex="true" id="25" name="ch2_profileAZ" size="1024" type="float"/>
|
||||||
|
<struct id="26">
|
||||||
|
<param default="1" name="ch_gain" type="float"/>
|
||||||
|
<param default="1" name="zoom_gain" type="float"/>
|
||||||
|
</struct>
|
||||||
|
<param default="0" id="27" name="ch0_assignFrom" type="int32"/>
|
||||||
|
<param default="1" id="28" name="ch1_assignFrom" type="int32"/>
|
||||||
|
<param default="2" id="29" name="ch2_assignFrom" type="int32"/>
|
||||||
|
</module>
|
||||||
|
<module id="7" name="Multi Channel IIR 2">
|
||||||
|
<param default="0" id="0" max="3" name="opMode_" type="uint32"/>
|
||||||
|
<param default="48000" id="1" name="fs_" type="uint32"/>
|
||||||
|
<param default="3" id="2" name="numCh_" type="uint32"/>
|
||||||
|
<param default="1" id="3" name="chMask_" type="uint32"/>
|
||||||
|
<param default="3" id="16" max="3" min="1" name="numOfChannel" type="uint32"/>
|
||||||
|
<param id="17" name="coeff" size="300" type="float"/>
|
||||||
|
<struct id="18">
|
||||||
|
<param max="18" min="-96" name="gain" size="60" type="float"/>
|
||||||
|
<param max="24000" min="0" name="frequency" size="60" type="uint32"/>
|
||||||
|
<param max="200" min="0" name="qfactor" size="60" type="float"/>
|
||||||
|
<param default="4" name="type" size="60" type="int32"/>
|
||||||
|
</struct>
|
||||||
|
</module>
|
||||||
|
<module id="8" name="Multi Band DRC">
|
||||||
|
<param default="0" id="0" max="3" name="opMode_" type="uint32"/>
|
||||||
|
<param default="48000" id="1" name="fs_" type="uint32"/>
|
||||||
|
<param default="2" id="2" name="numCh_" type="uint32"/>
|
||||||
|
<param default="3" id="3" name="chMask_" type="uint32"/>
|
||||||
|
<struct id="16">
|
||||||
|
<param default="1" max="3" min="1" name="numBand" type="uint32"/>
|
||||||
|
<param name="IIR_LowPass1" size="5" type="float"/>
|
||||||
|
<param name="IIR_HighPass1" size="5" type="float"/>
|
||||||
|
<param name="IIR_LowPass2" size="5" type="float"/>
|
||||||
|
<param name="IIR_HighPass2" size="5" type="float"/>
|
||||||
|
</struct>
|
||||||
|
<struct id="17">
|
||||||
|
<param max="20" min="0" name="band0_delay_ms" type="float"/>
|
||||||
|
<param default="5" max="20" min="0" minInclusive="false" name="band0_rms_ms" type="float"/>
|
||||||
|
<param max="30" min="0" name="band0_gain_dB" type="float"/>
|
||||||
|
<param max="30" min="-30" name="band0_Min_Gain_dB" type="float"/>
|
||||||
|
<param default="1" max="3" min="1" name="band0_numOfKnee" type="uint32"/>
|
||||||
|
<param name="band0_threadhold_dB" size="3" type="float"/>
|
||||||
|
<param name="band0_compressRatio" size="4" type="float"/>
|
||||||
|
<param name="band0_kneeWidth" size="3" type="float"/>
|
||||||
|
<param name="band0_attackTime_ms" size="4" type="float"/>
|
||||||
|
<param name="band0_releaseTime_ms" size="4" type="float"/>
|
||||||
|
<param name="band0_hysteresis" size="4" type="float"/>
|
||||||
|
<param max="20" min="0" name="band1_delay_ms" type="float"/>
|
||||||
|
<param default="5" max="20" min="0" minInclusive="false" name="band1_rms_ms" type="float"/>
|
||||||
|
<param max="30" min="0" name="band1_gain_dB" type="float"/>
|
||||||
|
<param max="30" min="-30" name="band1_Min_Gain_dB" type="float"/>
|
||||||
|
<param default="1" max="3" min="1" name="band1_numOfKnee" type="uint32"/>
|
||||||
|
<param name="band1_threadhold_dB" size="3" type="float"/>
|
||||||
|
<param name="band1_compressRatio" size="4" type="float"/>
|
||||||
|
<param name="band1_kneeWidth" size="3" type="float"/>
|
||||||
|
<param name="band1_attackTime_ms" size="4" type="float"/>
|
||||||
|
<param name="band1_releaseTime_ms" size="4" type="float"/>
|
||||||
|
<param name="band1_hysteresis" size="4" type="float"/>
|
||||||
|
<param max="20" min="0" name="band2_delay_ms" type="float"/>
|
||||||
|
<param default="5" max="20" min="0" minInclusive="false" name="band2_rms_ms" type="float"/>
|
||||||
|
<param max="30" min="0" name="band2_gain_dB" type="float"/>
|
||||||
|
<param max="30" min="-30" name="band2_Min_Gain_dB" type="float"/>
|
||||||
|
<param default="1" max="3" min="1" name="band2_numOfKnee" type="uint32"/>
|
||||||
|
<param name="band2_threadhold_dB" size="3" type="float"/>
|
||||||
|
<param name="band2_compressRatio" size="4" type="float"/>
|
||||||
|
<param name="band2_kneeWidth" size="3" type="float"/>
|
||||||
|
<param name="band2_attackTime_ms" size="4" type="float"/>
|
||||||
|
<param name="band2_releaseTime_ms" size="4" type="float"/>
|
||||||
|
<param name="band2_hysteresis" size="4" type="float"/>
|
||||||
|
</struct>
|
||||||
|
<struct id="18">
|
||||||
|
<param max="30" min="-30" name="limiter_gain_dB" type="float"/>
|
||||||
|
<param max="0" min="-30" name="limiter_threadhold_dB" type="float"/>
|
||||||
|
<param max="100" min="0" name="limiter_attackTime_ms" type="float"/>
|
||||||
|
<param max="100" min="0" name="limiter_releaseTime_ms" type="float"/>
|
||||||
|
</struct>
|
||||||
|
<struct id="19">
|
||||||
|
<param name="frequency0" type="uint32"/>
|
||||||
|
<param name="frequency1" type="uint32"/>
|
||||||
|
</struct>
|
||||||
|
</module>
|
||||||
|
<module id="11" name="Stationary Noise Suppression">
|
||||||
|
<param default="0" id="0" max="3" name="opMode_" type="uint32"/>
|
||||||
|
<param default="48000" id="1" name="fs_" type="uint32"/>
|
||||||
|
<param default="2" id="2" name="numCh_" type="uint32"/>
|
||||||
|
<param default="3" id="3" name="chMask_" type="uint32"/>
|
||||||
|
<param default="1" id="16" name="strength level" type="uint32"/>
|
||||||
|
<param id="17" name="POWER_TIME_SMOOTH" type="float"/>
|
||||||
|
<param id="18" name="RMS_TIME_SMOOTH" type="float"/>
|
||||||
|
<param id="19" name="LOWER_BAND_THRESHOLD" size="129" type="float"/>
|
||||||
|
<param id="20" name="UPPER_BAND_THRESHOLD" size="3" type="float"/>
|
||||||
|
<param id="21" name="ATTACK_TIME" type="float"/>
|
||||||
|
<param id="22" name="RELEASE_TIME" type="float"/>
|
||||||
|
</module>
|
||||||
|
<module id="14" name="Linear Gain">
|
||||||
|
<param default="0" id="0" max="3" name="opMode_" type="uint32"/>
|
||||||
|
<param default="48000" id="1" name="fs_" type="uint32"/>
|
||||||
|
<param default="1" id="2" name="numCh_" type="uint32"/>
|
||||||
|
<param default="1" id="3" name="chMask_" type="uint32"/>
|
||||||
|
<param id="16" name="Simple_gain" type="float"/>
|
||||||
|
</module>
|
||||||
|
<module id="17" name="Wind Noise Reduction">
|
||||||
|
<param default="0" id="0" max="3" name="opMode_" type="uint32"/>
|
||||||
|
<param default="48000" id="1" name="fs_" type="uint32"/>
|
||||||
|
<param default="2" id="2" name="numCh_" type="uint32"/>
|
||||||
|
<param default="3" id="3" name="chMask_" type="uint32"/>
|
||||||
|
<param default="450" id="16" name="DECISION_SMOOTHING_FACTOR" type="int32"/>
|
||||||
|
<param default="50" id="17" name="DECISION_ATTACK_SMOOTHING_FACTOR" type="int32"/>
|
||||||
|
<param default="50" id="18" name="DECISION_RELEASE_HIGH_SMOOTHING_FACTOR" type="int32"/>
|
||||||
|
<param default="50" id="19" name="DECISION_RELEASE_LOW_SMOOTHING_FACTOR" type="int32"/>
|
||||||
|
<param default="700" id="20" name="DECISION_RELEASE_THRESHOLD" type="int32"/>
|
||||||
|
<param default="0" id="21" name="DECISION_RANGE_OFFSET_FACTOR" type="int32"/>
|
||||||
|
<param default="1000" id="22" name="DECISION_RANGE_SLOPE_FACTOR" type="int32"/>
|
||||||
|
<param default="450" id="23" name="DECISION_GAIN_SMOOTHING_FACTOR" type="int32"/>
|
||||||
|
<param default="27" id="24" name="DECISION_DB_RANGE" type="int32"/>
|
||||||
|
<param default="1000" id="25" name="MASTER_REDUCTION_FACTOR" type="int32"/>
|
||||||
|
<param default="15" id="26" name="KEEP_NUM_OF_PREV_DECISIONS" type="int32"/>
|
||||||
|
<param default="1000" id="27" name="DEC_PRE_GAIN" type="int32"/>
|
||||||
|
<param default="16000" id="28" name="SUP_PRE_GAIN" type="int32"/>
|
||||||
|
<param default="2" id="29" name="COHERENCE_ENABLE" type="int32"/>
|
||||||
|
<param default="1" id="30" name="COHERENCE_START_BIN" type="int32"/>
|
||||||
|
<param default="10" id="31" name="COHERENCE_END_BIN" type="int32"/>
|
||||||
|
<param default="300" id="32" name="COHERENCE_THRESHOLD" type="int32"/>
|
||||||
|
<param default="990" id="33" name="COHERENCE_FORGETTING_FACTOR" type="int32"/>
|
||||||
|
<param default="0" id="34" name="DB_SCALING_FACTOR" type="int32"/>
|
||||||
|
<param default="9" id="35" name="SEP_LAYER" type="int32"/>
|
||||||
|
<param default="1" id="36" name="SP_GAIN_ENABLE" type="int32"/>
|
||||||
|
<param default="15" id="37" name="SP_GAIN_MAX_BIN" type="int32"/>
|
||||||
|
<param default="500" id="38" name="SP_GAIN_MIN" type="int32"/>
|
||||||
|
<param default="200" id="39" name="SP_GAIN_TH_MIN" type="int32"/>
|
||||||
|
<param default="450" id="40" name="SP_GAIN_TH_MAX" type="int32"/>
|
||||||
|
<param default="800" id="41" name="SP_GAIN_SMOOTH" type="int32"/>
|
||||||
|
<param default="3" id="42" name="SP_GAIN_FREQ_SMOOTH" type="int32"/>
|
||||||
|
<param default="300" id="43" name="MASTER_MAX_SUP_SMOOTHING_FACTOR" type="int32"/>
|
||||||
|
<param default="1" id="44" name="GAIN_FREQ_SMOOTH" type="int32"/>
|
||||||
|
<param default="2" id="45" name="GMIN_CURVE_TYPE" type="int32"/>
|
||||||
|
<param default="55" id="46" name="GMIN_LINEAR_SPLIT_MID_POINT_BINR" type="int32"/>
|
||||||
|
<param default="330" id="47" name="GMIN_LINEAR_SPLIT_MID_POINT_VAL" type="int32"/>
|
||||||
|
<param default="1000" id="48" name="SP_OVERSUB_RATIO" type="int32"/>
|
||||||
|
<param default="16" id="49" name="WIND_ENERGY_EST_COMPENSATION_GAIN" type="int32"/>
|
||||||
|
<param default="2000" id="50" name="WIND_ENERGY_CURVE_SLOPE" type="int32"/>
|
||||||
|
<param default="300" id="51" name="WIND_ENERGY_CURVE_OFFSET" type="int32"/>
|
||||||
|
<param default="16000" id="52" name="WIND_ENERGY_CURVE_MIN" type="int32"/>
|
||||||
|
<param default="16000" id="53" name="WIND_ENERGY_CURVE_MAX" type="int32"/>
|
||||||
|
<param default="900" id="54" name="WIND_ENERGY_SMOOTHING" type="int32"/>
|
||||||
|
<param default="144" id="55" name="WIND_ENERGY_NORM_DENOM" type="int32"/>
|
||||||
|
<param default="600" id="56" name="WIND_ENERGY_CURVE_SCALED_TH_MIN" type="int32"/>
|
||||||
|
<param default="900" id="57" name="WIND_ENERGY_CURVE_SCALED_TH_MAX" type="int32"/>
|
||||||
|
<param default="1" id="58" name="ENABLE_ML_COMBI_WIND_ENERGY" type="int32"/>
|
||||||
|
<param default="1" id="59" name="ENABLE_SP_COMBI_WIND_ENERGY" type="int32"/>
|
||||||
|
<param default="1" id="60" name="ENALBE_SP_COMBI_OVERSUBTRACTION" type="int32"/>
|
||||||
|
<param default="1" id="61" name="ENABLE_PRIORI_SNR" type="int32"/>
|
||||||
|
<param default="1000" id="62" name="PRIORI_SNR_ML_TUNING" type="int32"/>
|
||||||
|
<param default="15" id="63" name="DEC_PREV_NUM" type="int32"/>
|
||||||
|
<param default="1" id="64" name="SSC_ENABLE" type="int32"/>
|
||||||
|
<param default="930" id="65" name="SSC_SOFT_SMOOTHING_FACTOR" type="int32"/>
|
||||||
|
<param default="1600" id="66" name="SSC_OVERDRIVE" type="int32"/>
|
||||||
|
<param default="3" id="67" name="SSC_MIN_FREQ" type="int32"/>
|
||||||
|
<param default="130" id="68" name="SSC_MAX_FREQ" type="int32"/>
|
||||||
|
<param default="700" id="69" name="SSC_PSD_SMOOTHING_FACTOR" type="int32"/>
|
||||||
|
<param default="12" id="70" name="SSC_SOFT_DECISION_MIN_FREQ" type="int32"/>
|
||||||
|
<param default="450" id="71" name="SSC_SOFT_DECISION_MAX_FREQ" type="int32"/>
|
||||||
|
<param default="5" id="72" name="SSC_KEEP_SAVED_PROB_SMOOTH_SIZE" type="int32"/>
|
||||||
|
<param default="1000" id="73" name="GAIN_BOOSTING_COST" type="int32"/>
|
||||||
|
</module>
|
||||||
|
<module id="18" name="Multi Channel IIR 1">
|
||||||
|
<param default="0" id="0" max="3" name="opMode_" type="uint32"/>
|
||||||
|
<param default="48000" id="1" name="fs_" type="uint32"/>
|
||||||
|
<param default="2" id="2" name="numCh_" type="uint32"/>
|
||||||
|
<param default="3" id="3" name="chMask_" type="uint32"/>
|
||||||
|
<param default="3" id="16" max="3" min="1" name="numOfChannel" type="uint32"/>
|
||||||
|
<param id="17" name="coeff" size="300" type="float"/>
|
||||||
|
<struct id="18">
|
||||||
|
<param max="18" min="-96" name="gain" size="60" type="float"/>
|
||||||
|
<param max="24000" min="0" name="frequency" size="60" type="uint32"/>
|
||||||
|
<param max="200" min="0" name="qfactor" size="60" type="float"/>
|
||||||
|
<param default="4" name="type" size="60" type="int32"/>
|
||||||
|
</struct>
|
||||||
|
</module>
|
||||||
|
<module id="32" name="Single Band DRC">
|
||||||
|
<param default="1" id="0" max="3" name="opMode_" type="uint32"/>
|
||||||
|
<param default="48000" id="1" name="fs_" type="uint32"/>
|
||||||
|
<param default="2" id="2" name="numCh_" type="uint32"/>
|
||||||
|
<param default="3" id="3" name="chMask_" type="uint32"/>
|
||||||
|
<struct id="16">
|
||||||
|
<param max="20" min="0" name="delay_ms" type="float"/>
|
||||||
|
<param default="5" max="20" min="0" minInclusive="false" name="rms_ms" type="float"/>
|
||||||
|
<param max="30" min="0" name="gain_dB" type="float"/>
|
||||||
|
<param max="30" min="-30" name="Min_Gain_dB" type="float"/>
|
||||||
|
<param default="1" max="3" min="1" name="numOfKnee" type="uint32"/>
|
||||||
|
<param name="threadhold_dB" size="3" type="float"/>
|
||||||
|
<param name="compressRatio" size="4" type="float"/>
|
||||||
|
<param name="kneeWidth" size="3" type="float"/>
|
||||||
|
<param name="attackTime_ms" size="4" type="float"/>
|
||||||
|
<param name="releaseTime_ms" size="4" type="float"/>
|
||||||
|
<param name="hysteresis" size="4" type="float"/>
|
||||||
|
</struct>
|
||||||
|
<struct id="17">
|
||||||
|
<param max="30" min="-30" name="limiter_gain_dB" type="float"/>
|
||||||
|
<param max="0" min="-30" name="limiter_threadhold_dB" type="float"/>
|
||||||
|
<param max="100" min="0" name="limiter_attackTime_ms" type="uint32"/>
|
||||||
|
<param max="100" min="0" name="limiter_releaseTime_ms" type="uint32"/>
|
||||||
|
</struct>
|
||||||
|
</module>
|
||||||
|
<module id="10000" name="Eraser">
|
||||||
|
<param id="275" name="eraser_pre_gain" type="uint32"/>
|
||||||
|
<param id="277" name="eraser_post_gain" type="uint32"/>
|
||||||
|
<param id="279" name="non_eraser_gain" type="uint32"/>
|
||||||
|
</module>
|
||||||
|
<module id="10001" name="Cleaner">
|
||||||
|
<param id="299" name="cleaner_post_gain" type="uint32"/>
|
||||||
|
</module>
|
||||||
|
<module id="10002" name="CHRE">
|
||||||
|
<param id="297" name="chre_gain" type="uint32"/>
|
||||||
|
</module>
|
||||||
|
</modules>
|
||||||
|
<signalflows>
|
||||||
|
<signalflow id="1" name="Spatial Audio">
|
||||||
|
<block id="128">
|
||||||
|
<moduleRef id="18"/>
|
||||||
|
<moduleRef id="17"/>
|
||||||
|
</block>
|
||||||
|
<block id="134">
|
||||||
|
<moduleRef id="14"/>
|
||||||
|
<moduleRef id="11"/>
|
||||||
|
<moduleRef id="6"/>
|
||||||
|
<moduleRef id="7"/>
|
||||||
|
<moduleRef id="5"/>
|
||||||
|
<moduleRef id="8"/>
|
||||||
|
</block>
|
||||||
|
</signalflow>
|
||||||
|
<signalflow id="2" name="General Mic Recording">
|
||||||
|
<block id="137">
|
||||||
|
<moduleRef id="14"/>
|
||||||
|
<moduleRef id="7"/>
|
||||||
|
<moduleRef id="32"/>
|
||||||
|
</block>
|
||||||
|
</signalflow>
|
||||||
|
<signalflow id="1000" name="Smart Feature">
|
||||||
|
<block id="0">
|
||||||
|
<moduleRef id="10000"/>
|
||||||
|
<moduleRef id="10001"/>
|
||||||
|
<moduleRef id="10002"/>
|
||||||
|
</block>
|
||||||
|
</signalflow>
|
||||||
|
</signalflows>
|
||||||
|
</template>
|
1284
audio/lynx/tuning/bluenote/tuning_constraints_combination.xml
Normal file
1284
audio/lynx/tuning/bluenote/tuning_constraints_combination.xml
Normal file
File diff suppressed because it is too large
Load Diff
BIN
audio/lynx/tuning/fortemedia/BLUETOOTH.dat
Normal file
BIN
audio/lynx/tuning/fortemedia/BLUETOOTH.dat
Normal file
Binary file not shown.
36818
audio/lynx/tuning/fortemedia/BLUETOOTH.mods
Normal file
36818
audio/lynx/tuning/fortemedia/BLUETOOTH.mods
Normal file
File diff suppressed because it is too large
Load Diff
BIN
audio/lynx/tuning/fortemedia/HANDSET.dat
Normal file
BIN
audio/lynx/tuning/fortemedia/HANDSET.dat
Normal file
Binary file not shown.
33312
audio/lynx/tuning/fortemedia/HANDSET.mods
Normal file
33312
audio/lynx/tuning/fortemedia/HANDSET.mods
Normal file
File diff suppressed because it is too large
Load Diff
BIN
audio/lynx/tuning/fortemedia/HANDSFREE.dat
Normal file
BIN
audio/lynx/tuning/fortemedia/HANDSFREE.dat
Normal file
Binary file not shown.
12276
audio/lynx/tuning/fortemedia/HANDSFREE.mods
Normal file
12276
audio/lynx/tuning/fortemedia/HANDSFREE.mods
Normal file
File diff suppressed because it is too large
Load Diff
BIN
audio/lynx/tuning/fortemedia/HEADSET.dat
Normal file
BIN
audio/lynx/tuning/fortemedia/HEADSET.dat
Normal file
Binary file not shown.
56101
audio/lynx/tuning/fortemedia/HEADSET.mods
Normal file
56101
audio/lynx/tuning/fortemedia/HEADSET.mods
Normal file
File diff suppressed because it is too large
Load Diff
58
audio/lynx/tuning/waves/waves_config.ini
Normal file
58
audio/lynx/tuning/waves/waves_config.ini
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
########################################################################################################
|
||||||
|
# (Optional) The supported features list for platform vendors to query from.
|
||||||
|
# Platform vendors should call maxxaudio_qdsp_is_feature_supported with a string to query from the list.
|
||||||
|
# This config has no effect in the MaxxAudioQdspHalController. It's only meaningful for platform vendors.
|
||||||
|
# Putting any value other than 1 would be equivalent to not supported.
|
||||||
|
########################################################################################################
|
||||||
|
[HAL_SUPPORTED_FEATURES]
|
||||||
|
CUSTOM_ACTION_256=1
|
||||||
|
|
||||||
|
########################################################################################################
|
||||||
|
# This defined the options of supported sample rates.
|
||||||
|
# This can be configured by Waves or platform vendor.
|
||||||
|
########################################################################################################
|
||||||
|
[HAL_SUPPORTED_SAMPLE_RATES]
|
||||||
|
SR_COMMON = 48000
|
||||||
|
|
||||||
|
########################################################################################################
|
||||||
|
# (Optional) The subtypes that applies to different angles(0, 90, 180, 270). Can be empty if not applicable.
|
||||||
|
# This can be configured by Waves or platform vendor.
|
||||||
|
########################################################################################################
|
||||||
|
[HAL_ORIENTATION_SUBTYPES]
|
||||||
|
OST_SPEAKER = 0:12,90:13,180:12,270:0|13
|
||||||
|
|
||||||
|
########################################################################################################
|
||||||
|
# This defines available preset configurations.
|
||||||
|
# This should be configured by Waves only unless platform vendor is familiar with MPS structure.
|
||||||
|
########################################################################################################
|
||||||
|
[HAL_SUPPORTED_PRESETS]
|
||||||
|
SPEAKER_MUSIC = OM:1,SM:2,OST:OST_SPEAKER
|
||||||
|
SPEAKER_SAFE_MUSIC = OM:10,SM:2,OST:OST_SPEAKER
|
||||||
|
SPEAKER_SAFE_CALL = OM:10,SM:2,OST:OST_SPEAKER
|
||||||
|
HEADSET_MUSIC = OM:2,SM:2
|
||||||
|
|
||||||
|
########################################################################################################
|
||||||
|
# This defines available CONTROL configurations. Only define the CONTROL if you need it.
|
||||||
|
# The numbers could vary from device to device.
|
||||||
|
# This can be configured by Waves or platform vendor.
|
||||||
|
########################################################################################################
|
||||||
|
[HAL_SUPPORTED_CONTROLS]
|
||||||
|
SPEAKER_INSTANCE = INSTANCE:1,DEV:0,SR:SR_COMMON,PRESET:SPEAKER_MUSIC|SPEAKER_SAFE_MUSIC|SPEAKER_SAFE_CALL
|
||||||
|
A2DP_INSTANCE = INSTANCE:2,DEV:0,SR:SR_COMMON,PRESET:HEADSET_MUSIC
|
||||||
|
USB_HEADPHONE_INSTANCE = INSTANCE:4,DEV:0,SR:SR_COMMON,PRESET:HEADSET_MUSIC
|
||||||
|
|
||||||
|
[COEFS_CONVERTER_SETTING]
|
||||||
|
AlgFxPath=/vendor/lib/libAlgFx_HiFi3z.so
|
||||||
|
AlgFxPath64=/vendor/lib64/libAlgFx_HiFi3z.so
|
||||||
|
# do not modify the following if not necessary
|
||||||
|
#AudioFormatType=0
|
||||||
|
#AudioFormatChannels=2
|
||||||
|
#AudioFormatSampleRate=48000
|
||||||
|
#AudioFormatBitsPerSample=32
|
||||||
|
#AudioFormatSampleSize=4
|
||||||
|
#AudioFormatIncrement=8
|
||||||
|
|
||||||
|
[CUSTOM_ACTION_256]
|
||||||
|
CASE_1=PRIORITY:0,NUMBERS:2:0|1,PRESET:SPEAKER_MUSIC
|
||||||
|
CASE_2=PRIORITY:1,NUMBERS:1|2|4194304:2|3|4,PRESET:SPEAKER_SAFE_CALL
|
||||||
|
CASE_3=PRIORITY:2,NUMBERS:1|4194304:0|1,PRESET:SPEAKER_SAFE_MUSIC
|
BIN
audio/lynx/tuning/waves/waves_preset.mps
Normal file
BIN
audio/lynx/tuning/waves/waves_preset.mps
Normal file
Binary file not shown.
4
bluetooth/bt_vendor_overlay.conf
Normal file
4
bluetooth/bt_vendor_overlay.conf
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
# This is BTBCM HAL overlay configuration file.
|
||||||
|
|
||||||
|
# Uart port name
|
||||||
|
UartPort = /dev/ttySAC18
|
1
board-info.txt
Normal file
1
board-info.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
require board=lynx
|
39
conf/init.lynx.rc
Normal file
39
conf/init.lynx.rc
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
# Lynx specific init.rc
|
||||||
|
import /vendor/etc/init/hw/init.gs201.rc
|
||||||
|
|
||||||
|
on init
|
||||||
|
# NFC streset tool name
|
||||||
|
setprop persist.vendor.nfc.streset libstreset21
|
||||||
|
setprop persist.vendor.se.streset libstreset21
|
||||||
|
|
||||||
|
# When ro.build.flavor=factory_lynx-userdebug, add vendor/bin/factory to default path
|
||||||
|
on init && property:ro.build.flavor=factory_lynx-userdebug
|
||||||
|
export PATH /product/bin:/apex/com.android.runtime/bin:/apex/com.android.art/bin:/system_ext/bin:/system/bin:/system/xbin:/odm/bin:/vendor/bin:/vendor/xbin:/vendor/bin/factory
|
||||||
|
|
||||||
|
on early-boot
|
||||||
|
# Wait for insmod_sh to finish all common modules
|
||||||
|
wait_for_prop vendor.common.modules.ready 1
|
||||||
|
start insmod_sh_lynx
|
||||||
|
|
||||||
|
service insmod_sh_lynx /vendor/bin/init.insmod.sh /vendor/etc/init.insmod.lynx.cfg
|
||||||
|
class main
|
||||||
|
user root
|
||||||
|
group root system
|
||||||
|
disabled
|
||||||
|
oneshot
|
||||||
|
|
||||||
|
on boot && property:ro.build.flavor=factory_lynx-userdebug
|
||||||
|
# FTM log folder
|
||||||
|
mkdir /data/ftmlog 0775 system system
|
||||||
|
|
||||||
|
# Audio test folder
|
||||||
|
mkdir /data/AudioTest 0775 system system
|
||||||
|
|
||||||
|
on property:vendor.mfgapi.touchpanel.permission=1
|
||||||
|
chmod 0600 /sys/devices/virtual/sec/tsp/cmd
|
||||||
|
chown system system /sys/devices/virtual/sec/tsp/cmd
|
||||||
|
|
||||||
|
# Fingerprint
|
||||||
|
on post-fs-data
|
||||||
|
chown system system /dev/goodix_fp
|
||||||
|
exec_background - system shell -- /vendor/bin/trusty_apploader /vendor/firmware/g7.app
|
9
conf/init.recovery.device.rc
Normal file
9
conf/init.recovery.device.rc
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
import /init.recovery.${ro.board.platform}.rc
|
||||||
|
|
||||||
|
# DELETE ME USB BRINGUP b/188672439. Delete the following two lines after
|
||||||
|
# USB is brought up completely.
|
||||||
|
on property:sys.usb.state=fastboot
|
||||||
|
write /sys/devices/platform/11210000.usb/dwc3_exynos_otg_b_sess 1
|
||||||
|
|
||||||
|
on property:sys.usb.state=adb
|
||||||
|
write /sys/devices/platform/11210000.usb/dwc3_exynos_otg_b_sess 1
|
135
device-lynx.mk
Normal file
135
device-lynx.mk
Normal file
@ -0,0 +1,135 @@
|
|||||||
|
#
|
||||||
|
# Copyright (C) 2021 The Android Open-Source Project
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
#
|
||||||
|
|
||||||
|
TARGET_KERNEL_DIR ?= device/google/lynx-kernel
|
||||||
|
TARGET_BOARD_KERNEL_HEADERS := device/google/lynx-kernel/kernel-headers
|
||||||
|
|
||||||
|
$(call inherit-product-if-exists, vendor/google_devices/lynx/prebuilts/device-vendor-lynx.mk)
|
||||||
|
$(call inherit-product-if-exists, vendor/google_devices/gs201/prebuilts/device-vendor.mk)
|
||||||
|
$(call inherit-product-if-exists, vendor/google_devices/gs201/proprietary/device-vendor.mk)
|
||||||
|
$(call inherit-product-if-exists, vendor/google_devices/lynx/proprietary/lynx/device-vendor-lynx.mk)
|
||||||
|
|
||||||
|
include device/google/gs201/device-shipping-common.mk
|
||||||
|
include device/google/lynx/audio/lynx/audio-tables.mk
|
||||||
|
include hardware/google/pixel/vibrator/cs40l26/device.mk
|
||||||
|
include device/google/gs101/bluetooth/bluetooth.mk
|
||||||
|
|
||||||
|
# Init files
|
||||||
|
PRODUCT_COPY_FILES += \
|
||||||
|
device/google/lynx/conf/init.lynx.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.lynx.rc
|
||||||
|
|
||||||
|
# Recovery files
|
||||||
|
PRODUCT_COPY_FILES += \
|
||||||
|
device/google/lynx/conf/init.recovery.device.rc:$(TARGET_COPY_OUT_RECOVERY)/root/init.recovery.lynx.rc
|
||||||
|
|
||||||
|
# insmod files
|
||||||
|
PRODUCT_COPY_FILES += \
|
||||||
|
device/google/lynx/init.insmod.lynx.cfg:$(TARGET_COPY_OUT_VENDOR)/etc/init.insmod.lynx.cfg
|
||||||
|
|
||||||
|
# Camera
|
||||||
|
PRODUCT_COPY_FILES += \
|
||||||
|
device/google/lynx/media_profiles_lynx.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_V1_0.xml
|
||||||
|
|
||||||
|
# NFC
|
||||||
|
PRODUCT_COPY_FILES += \
|
||||||
|
frameworks/native/data/etc/android.hardware.nfc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.xml \
|
||||||
|
frameworks/native/data/etc/android.hardware.nfc.hce.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hce.xml \
|
||||||
|
frameworks/native/data/etc/android.hardware.nfc.hcef.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hcef.xml \
|
||||||
|
frameworks/native/data/etc/com.nxp.mifare.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/com.nxp.mifare.xml \
|
||||||
|
frameworks/native/data/etc/android.hardware.nfc.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.uicc.xml \
|
||||||
|
frameworks/native/data/etc/android.hardware.nfc.ese.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.ese.xml \
|
||||||
|
device/google/lynx/nfc/libnfc-hal-st.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libnfc-hal-st.conf \
|
||||||
|
device/google/lynx/nfc/libnfc-nci-lynx.conf:$(TARGET_COPY_OUT_PRODUCT)/etc/libnfc-nci.conf
|
||||||
|
|
||||||
|
PRODUCT_PACKAGES += \
|
||||||
|
NfcNci \
|
||||||
|
Tag \
|
||||||
|
android.hardware.nfc@1.2-service.st
|
||||||
|
|
||||||
|
# SecureElement
|
||||||
|
PRODUCT_PACKAGES += \
|
||||||
|
android.hardware.secure_element@1.2-service-gto \
|
||||||
|
android.hardware.secure_element@1.2-service-gto-ese2
|
||||||
|
|
||||||
|
PRODUCT_COPY_FILES += \
|
||||||
|
frameworks/native/data/etc/android.hardware.se.omapi.ese.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.ese.xml \
|
||||||
|
frameworks/native/data/etc/android.hardware.se.omapi.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.uicc.xml \
|
||||||
|
device/google/lynx/nfc/libse-gto-hal.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libse-gto-hal.conf \
|
||||||
|
device/google/lynx/nfc/libse-gto-hal2.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libse-gto-hal2.conf
|
||||||
|
|
||||||
|
DEVICE_MANIFEST_FILE += \
|
||||||
|
device/google/lynx/nfc/manifest_nfc.xml \
|
||||||
|
device/google/lynx/nfc/manifest_se.xml
|
||||||
|
|
||||||
|
# Thermal Config
|
||||||
|
PRODUCT_COPY_FILES += \
|
||||||
|
device/google/lynx/thermal_info_config_lynx.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config.json
|
||||||
|
|
||||||
|
# Bluetooth HAL
|
||||||
|
PRODUCT_SOONG_NAMESPACES += \
|
||||||
|
vendor/broadcom/bluetooth
|
||||||
|
PRODUCT_PACKAGES += \
|
||||||
|
android.hardware.bluetooth@1.1-service.bcmbtlinux \
|
||||||
|
bt_vendor.conf
|
||||||
|
PRODUCT_COPY_FILES += \
|
||||||
|
device/google/lynx/bluetooth/bt_vendor_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth/bt_vendor_overlay.conf
|
||||||
|
|
||||||
|
# Keymaster HAL
|
||||||
|
#LOCAL_KEYMASTER_PRODUCT_PACKAGE ?= android.hardware.keymaster@4.1-service
|
||||||
|
|
||||||
|
# Gatekeeper HAL
|
||||||
|
#LOCAL_GATEKEEPER_PRODUCT_PACKAGE ?= android.hardware.gatekeeper@1.0-service.software
|
||||||
|
|
||||||
|
|
||||||
|
# Gatekeeper
|
||||||
|
# PRODUCT_PACKAGES += \
|
||||||
|
# android.hardware.gatekeeper@1.0-service.software
|
||||||
|
|
||||||
|
# Keymint replaces Keymaster
|
||||||
|
# PRODUCT_PACKAGES += \
|
||||||
|
# android.hardware.security.keymint-service
|
||||||
|
|
||||||
|
# Keymaster
|
||||||
|
#PRODUCT_PACKAGES += \
|
||||||
|
# android.hardware.keymaster@4.0-impl \
|
||||||
|
# android.hardware.keymaster@4.0-service
|
||||||
|
|
||||||
|
#PRODUCT_PACKAGES += android.hardware.keymaster@4.0-service.remote
|
||||||
|
#PRODUCT_PACKAGES += android.hardware.keymaster@4.1-service.remote
|
||||||
|
#LOCAL_KEYMASTER_PRODUCT_PACKAGE := android.hardware.keymaster@4.1-service
|
||||||
|
#LOCAL_KEYMASTER_PRODUCT_PACKAGE ?= android.hardware.keymaster@4.1-service
|
||||||
|
|
||||||
|
# PRODUCT_PROPERTY_OVERRIDES += \
|
||||||
|
# ro.hardware.keystore_desede=true \
|
||||||
|
# ro.hardware.keystore=software \
|
||||||
|
# ro.hardware.gatekeeper=software
|
||||||
|
|
||||||
|
# default BDADDR for EVB only
|
||||||
|
PRODUCT_PROPERTY_OVERRIDES += \
|
||||||
|
ro.vendor.bluetooth.evb_bdaddr="22:22:22:33:44:55"
|
||||||
|
|
||||||
|
# Fingerprint HAL
|
||||||
|
GOODIX_CONFIG_BUILD_VERSION := g7_trusty
|
||||||
|
include device/google/gs101/fingerprint/udfps_common.mk
|
||||||
|
ifeq ($(filter factory%, $(TARGET_PRODUCT)),)
|
||||||
|
include device/google/gs101/fingerprint/udfps_shipping.mk
|
||||||
|
else
|
||||||
|
include device/google/gs101/fingerprint/udfps_factory.mk
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Vibrator HAL
|
||||||
|
PRODUCT_VENDOR_PROPERTIES += \
|
||||||
|
ro.vendor.vibrator.hal.long.frequency.shift=15
|
34
factory_lynx.mk
Normal file
34
factory_lynx.mk
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
#
|
||||||
|
# Copyright 2021 The Android Open-Source Project
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
#
|
||||||
|
|
||||||
|
TARGET_LINUX_KERNEL_VERSION := 5.10
|
||||||
|
|
||||||
|
$(call inherit-product, device/google/gs201/factory_common.mk)
|
||||||
|
$(call inherit-product, device/google/lynx/device-lynx.mk)
|
||||||
|
include device/google/lynx/audio/lynx/factory-audio-tables.mk
|
||||||
|
|
||||||
|
PRODUCT_NAME := factory_lynx
|
||||||
|
PRODUCT_DEVICE := lynx
|
||||||
|
PRODUCT_MODEL := Factory build on Lynx
|
||||||
|
PRODUCT_BRAND := Android
|
||||||
|
PRODUCT_MANUFACTURER := Google
|
||||||
|
|
||||||
|
# default BDADDR for EVB only
|
||||||
|
PRODUCT_PROPERTY_OVERRIDES += \
|
||||||
|
ro.vendor.bluetooth.evb_bdaddr="22:22:22:33:44:55"
|
||||||
|
|
||||||
|
# Factory binaries of camera
|
||||||
|
PRODUCT_PACKAGES += fatp_c10p10_wide_hat_tool
|
16
init.insmod.lynx.cfg
Normal file
16
init.insmod.lynx.cfg
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
##########################################################
|
||||||
|
# init.insmod.lynx.cfg #
|
||||||
|
# This file contains lynx specific kernel modules #
|
||||||
|
# to load at init time by init.insmod.sh script #
|
||||||
|
##########################################################
|
||||||
|
|
||||||
|
# Load device specific kernel modules
|
||||||
|
# Modules here will be loaded *after* all common modules
|
||||||
|
modprobe|bcmdhd4389.ko
|
||||||
|
modprobe|snd-soc-cs35l41-spi.ko
|
||||||
|
modprobe|ftm5.ko
|
||||||
|
modprobe|sec_touch.ko
|
||||||
|
modprobe|input-cs40l26-i2c.ko
|
||||||
|
|
||||||
|
# All device specific modules loaded
|
||||||
|
setprop|vendor.device.modules.ready
|
24
lynx/BoardConfig.mk
Normal file
24
lynx/BoardConfig.mk
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
#
|
||||||
|
# Copyright (C) 2021 The Android Open-Source Project
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
#
|
||||||
|
TARGET_BOARD_INFO_FILE := device/google/lynx/board-info.txt
|
||||||
|
TARGET_BOOTLOADER_BOARD_NAME := lynx
|
||||||
|
TARGET_SCREEN_DENSITY := 420
|
||||||
|
BOARD_USES_GENERIC_AUDIO := true
|
||||||
|
USES_DEVICE_GOOGLE_LYNX := true
|
||||||
|
|
||||||
|
include device/google/gs201/BoardConfig-common.mk
|
||||||
|
-include vendor/google_devices/gs201/prebuilts/BoardConfigVendor.mk
|
||||||
|
include device/google/lynx-sepolicy/lynx-sepolicy.mk
|
189
manifest.xml
Normal file
189
manifest.xml
Normal file
@ -0,0 +1,189 @@
|
|||||||
|
<manifest version="1.0" type="device" target-level="5">
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>android.hardware.audio</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<version>7.0</version>
|
||||||
|
<interface>
|
||||||
|
<name>IDevicesFactory</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>android.hardware.audio.effect</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<version>7.0</version>
|
||||||
|
<interface>
|
||||||
|
<name>IEffectsFactory</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>android.hardware.soundtrigger</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<version>2.3</version>
|
||||||
|
<interface>
|
||||||
|
<name>ISoundTriggerHw</name>
|
||||||
|
<instance>default</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.graphics.allocator</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<version>4.0</version>
|
||||||
|
<interface>
|
||||||
|
<name>IAllocator</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>android.hardware.graphics.mapper</name>
|
||||||
|
<transport arch="32+64">passthrough</transport>
|
||||||
|
<version>4.0</version>
|
||||||
|
<interface>
|
||||||
|
<name>IMapper</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>android.hardware.graphics.composer</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<version>2.4</version>
|
||||||
|
<interface>
|
||||||
|
<name>IComposer</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>android.hardware.renderscript</name>
|
||||||
|
<transport arch="32+64">passthrough</transport>
|
||||||
|
<version>1.0</version>
|
||||||
|
<interface>
|
||||||
|
<name>IDevice</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
</hal>
|
||||||
|
<hal format = "hidl">
|
||||||
|
<name>android.hardware.dumpstate</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<version>1.1</version>
|
||||||
|
<interface>
|
||||||
|
<name>IDumpstateDevice</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>android.hardware.bluetooth</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<version>1.1</version>
|
||||||
|
<interface>
|
||||||
|
<name>IBluetoothHci</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>android.hardware.bluetooth.audio</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<version>2.1</version>
|
||||||
|
<interface>
|
||||||
|
<name>IBluetoothAudioProvidersFactory</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>android.hardware.boot</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<fqname>@1.2::IBootControl/default</fqname>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>android.hardware.neuralnetworks</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<version>1.2</version>
|
||||||
|
<interface>
|
||||||
|
<name>IDevice</name>
|
||||||
|
<instance>armnn</instance>
|
||||||
|
</interface>
|
||||||
|
<fqname>@1.2::IDevice/armnn</fqname>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>android.hardware.neuralnetworks</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<fqname>@1.3::IDevice/google-edgetpu</fqname>
|
||||||
|
</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.health</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<version>2.1</version>
|
||||||
|
<interface>
|
||||||
|
<name>IHealth</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>hardware.google.bluetooth.bt_channel_avoidance</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<version>1.0</version>
|
||||||
|
<interface>
|
||||||
|
<name>IBTChannelAvoidance</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>hardware.google.bluetooth.sar</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<version>1.1</version>
|
||||||
|
<interface>
|
||||||
|
<name>IBluetoothSar</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>hardware.google.bluetooth.ccc</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<version>1.0</version>
|
||||||
|
<interface>
|
||||||
|
<name>IBluetoothCcc</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>vendor.google.google_battery</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<version>1.1</version>
|
||||||
|
<interface>
|
||||||
|
<name>IGoogleBattery</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>vendor.google.whitechapel.audio.audioext</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<version>2.0</version>
|
||||||
|
<interface>
|
||||||
|
<name>IAudioExt</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
</hal>
|
||||||
|
<kernel target-level="6"/>
|
||||||
|
</manifest>
|
1611
media_profiles_lynx.xml
Normal file
1611
media_profiles_lynx.xml
Normal file
File diff suppressed because it is too large
Load Diff
152
nfc/libnfc-hal-st-disable.conf
Normal file
152
nfc/libnfc-hal-st-disable.conf
Normal file
@ -0,0 +1,152 @@
|
|||||||
|
########################### Start of libnf-hal-st_aosp.conf ###########################
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
###############################################################################
|
||||||
|
# ST HAL trace log level
|
||||||
|
STNFC_HAL_LOGLEVEL=4
|
||||||
|
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"
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Dev Node used for ST HAL
|
||||||
|
ST_NFC_DEV_NODE="/dev/st_no_such_device"
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# 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"
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# White list to be set at startup.
|
||||||
|
DEVICE_HOST_WHITE_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=0x86
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
#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="/st54j_fw.bin"
|
||||||
|
STNFC_FW_CONF_NAME="/st54j_conf.bin"
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# 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=0x86
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# 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=0x00
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Configure the NFCEEIDs of offhost UICC.
|
||||||
|
# UICC 0x81 (UICC_1), 0x85 (UICC_2)
|
||||||
|
OFFHOST_ROUTE_UICC={81}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Configure the NFCEEIDs of offhost eSEs.
|
||||||
|
# eSE 0x82 (eSE), 0x86 (eUICC/SPI-SE)
|
||||||
|
OFFHOST_ROUTE_ESE={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, 0a, 03,
|
||||||
|
a1, 01, 1e,
|
||||||
|
a2, 01, 19,
|
||||||
|
80, 01, 01
|
||||||
|
}
|
||||||
|
|
||||||
|
|
154
nfc/libnfc-hal-st.conf
Normal file
154
nfc/libnfc-hal-st.conf
Normal file
@ -0,0 +1,154 @@
|
|||||||
|
########################### Start of libnf-hal-st_aosp.conf ###########################
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
###############################################################################
|
||||||
|
# ST HAL trace log level
|
||||||
|
STNFC_HAL_LOGLEVEL=1
|
||||||
|
NFC_DEBUG_ENABLED=0
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# 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"
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# White list to be set at startup.
|
||||||
|
DEVICE_HOST_WHITE_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=0x86
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
#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="/st54j_fw.bin"
|
||||||
|
STNFC_FW_CONF_NAME="/st54j_conf.bin"
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# 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=0x86
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# 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=0x00
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Configure the NFCEEIDs of offhost UICC.
|
||||||
|
# UICC 0x81 (UICC_1), 0x85 (UICC_2)
|
||||||
|
OFFHOST_ROUTE_UICC={81}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Configure the NFCEEIDs of offhost eSEs.
|
||||||
|
# eSE 0x82 (eSE), 0x86 (eUICC/SPI-SE)
|
||||||
|
OFFHOST_ROUTE_ESE={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
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Configure the HAL Clock control
|
||||||
|
# enable 0x01
|
||||||
|
# disable 0x00 default value
|
||||||
|
STNFC_CONTROL_CLK=0x01
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# Core configuration settings
|
||||||
|
CORE_CONF_PROP={ 20, 02, 0a, 03,
|
||||||
|
a1, 01, 1e,
|
||||||
|
a2, 01, 19,
|
||||||
|
80, 01, 01
|
||||||
|
}
|
||||||
|
|
||||||
|
|
121
nfc/libnfc-nci-cheetah.conf
Normal file
121
nfc/libnfc-nci-cheetah.conf
Normal file
@ -0,0 +1,121 @@
|
|||||||
|
###############################################################################
|
||||||
|
# Application options
|
||||||
|
NFC_DEBUG_ENABLED=0
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# File used for NFA storage
|
||||||
|
NFA_STORAGE="/data/nfc"
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Force UICC to only listen to the following technology(s).
|
||||||
|
# The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h.
|
||||||
|
# Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_B | NFA_TECHNOLOGY_MASK_F
|
||||||
|
UICC_LISTEN_TECH_MASK=0x00
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Set HOST default listen to the following technology(s).
|
||||||
|
# The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h.
|
||||||
|
# Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_F
|
||||||
|
# 0x07 = A + B + F
|
||||||
|
HOST_LISTEN_TECH_MASK=0x07
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# AID for Empty Select command
|
||||||
|
# If specified, this AID will be substituted when an Empty SELECT command is
|
||||||
|
# detected. The first byte is the length of the AID. Maximum length is 16.
|
||||||
|
AID_FOR_EMPTY_SELECT={08:A0:00:00:01:51:00:00:00}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# When screen is turned off, specify the desired power state of the controller.
|
||||||
|
# 0: power-off-sleep state; DEFAULT
|
||||||
|
# 1: full-power state
|
||||||
|
# 2: screen-off card-emulation (CE4/CE3/CE1 modes are used)
|
||||||
|
SCREEN_OFF_POWER_STATE=1
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Force tag polling for the following technology(s).
|
||||||
|
# The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h.
|
||||||
|
# Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_B |
|
||||||
|
# NFA_TECHNOLOGY_MASK_F | NFA_TECHNOLOGY_MASK_ISO15693 |
|
||||||
|
# NFA_TECHNOLOGY_MASK_B_PRIME | NFA_TECHNOLOGY_MASK_KOVIO |
|
||||||
|
# NFA_TECHNOLOGY_MASK_ACTIVE
|
||||||
|
#
|
||||||
|
# Notable bits:
|
||||||
|
# NFA_TECHNOLOGY_MASK_A 0x01 /* NFC Technology A */
|
||||||
|
# NFA_TECHNOLOGY_MASK_B 0x02 /* NFC Technology B */
|
||||||
|
# NFA_TECHNOLOGY_MASK_F 0x04 /* NFC Technology F */
|
||||||
|
# NFA_TECHNOLOGY_MASK_ISO15693 0x08 /* Proprietary Technology */
|
||||||
|
# NFA_TECHNOLOGY_MASK_KOVIO 0x20 /* Proprietary Technology */
|
||||||
|
# NFA_TECHNOLOGY_MASK_ACTIVE 0x40 /* NFC Technology Active */
|
||||||
|
POLLING_TECH_MASK=0x2F
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Force P2P to only listen for the following technology(s).
|
||||||
|
# The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h.
|
||||||
|
# Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_F |
|
||||||
|
# NFA_TECHNOLOGY_MASK_ACTIVE
|
||||||
|
#
|
||||||
|
# Notable bits:
|
||||||
|
# NFA_TECHNOLOGY_MASK_A 0x01 /* NFC Technology A */
|
||||||
|
# NFA_TECHNOLOGY_MASK_F 0x04 /* NFC Technology F */
|
||||||
|
# NFA_TECHNOLOGY_MASK_ACTIVE 0x40 /* NFC Technology Active */
|
||||||
|
P2P_LISTEN_TECH_MASK=0x00
|
||||||
|
|
||||||
|
PRESERVE_STORAGE=0x01
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Override the stack default for NFA_EE_MAX_EE_SUPPORTED set in nfc_target.h.
|
||||||
|
# The value is set to 3 by default as it assumes we will discover 0xF2,
|
||||||
|
# 0xF3, and 0xF4. If a platform will exclude and SE, this value can be reduced
|
||||||
|
# so that the stack will not wait any longer than necessary.
|
||||||
|
# Maximum EE supported number
|
||||||
|
# NXP PN547C2 0x02
|
||||||
|
# NXP PN65T 0x03
|
||||||
|
# NXP PN548C2 0x02
|
||||||
|
# NXP PN66T 0x03
|
||||||
|
NFA_MAX_EE_SUPPORTED=0x01
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# AID_MATCHING constants
|
||||||
|
# AID_MATCHING_EXACT_ONLY 0x00
|
||||||
|
# AID_MATCHING_EXACT_OR_PREFIX 0x01
|
||||||
|
# AID_MATCHING_PREFIX_ONLY 0x02
|
||||||
|
# AID_MATCHING_EXACT_OR_SUBSET_OR_PREFIX 0x03
|
||||||
|
AID_MATCHING_MODE=0x03
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
#Set the default Felica T3T System Code :
|
||||||
|
#This settings will be used when application does not set this parameter
|
||||||
|
DEFAULT_SYS_CODE={FE:FE}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Value of NIC parameter NFCC_COFNIG_CONTROL
|
||||||
|
# 0x00 NFCC is not allowed to manage RF configuration
|
||||||
|
# 0x01 NFCC is allowed to manage RF configuration
|
||||||
|
NFCC_CONFIG_CONTROL=0x01
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
#Set if the AID routing should be blocked for the power modes not supported.
|
||||||
|
NFA_AID_BLOCK_ROUTE=1
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
#Set the OffHost AID supported power state:
|
||||||
|
OFFHOST_AID_ROUTE_PWR_STATE=0x3B
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Mifare Tag implementation
|
||||||
|
# 0: General implementation
|
||||||
|
# 1: Legacy implementation
|
||||||
|
LEGACY_MIFARE_READER=0
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Nfc recovery implementation
|
||||||
|
# 0: Crash Nfc Service
|
||||||
|
# 1: Toggle Nfc state
|
||||||
|
RECOVERY_OPTION=1
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# NFCEE Power Supply and Communication Link Control Configuration
|
||||||
|
# Set when SetAlwaysOn enabled
|
||||||
|
# Default 0x00 when SetAlways on disabled
|
||||||
|
ALWAYS_ON_SET_EE_POWER_AND_LINK_CONF=0x03
|
121
nfc/libnfc-nci-lynx.conf
Normal file
121
nfc/libnfc-nci-lynx.conf
Normal file
@ -0,0 +1,121 @@
|
|||||||
|
###############################################################################
|
||||||
|
# Application options
|
||||||
|
NFC_DEBUG_ENABLED=0
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# File used for NFA storage
|
||||||
|
NFA_STORAGE="/data/nfc"
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Force UICC to only listen to the following technology(s).
|
||||||
|
# The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h.
|
||||||
|
# Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_B | NFA_TECHNOLOGY_MASK_F
|
||||||
|
UICC_LISTEN_TECH_MASK=0x00
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Set HOST default listen to the following technology(s).
|
||||||
|
# The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h.
|
||||||
|
# Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_F
|
||||||
|
# 0x07 = A + B + F
|
||||||
|
HOST_LISTEN_TECH_MASK=0x07
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# AID for Empty Select command
|
||||||
|
# If specified, this AID will be substituted when an Empty SELECT command is
|
||||||
|
# detected. The first byte is the length of the AID. Maximum length is 16.
|
||||||
|
AID_FOR_EMPTY_SELECT={08:A0:00:00:01:51:00:00:00}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# When screen is turned off, specify the desired power state of the controller.
|
||||||
|
# 0: power-off-sleep state; DEFAULT
|
||||||
|
# 1: full-power state
|
||||||
|
# 2: screen-off card-emulation (CE4/CE3/CE1 modes are used)
|
||||||
|
SCREEN_OFF_POWER_STATE=1
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Force tag polling for the following technology(s).
|
||||||
|
# The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h.
|
||||||
|
# Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_B |
|
||||||
|
# NFA_TECHNOLOGY_MASK_F | NFA_TECHNOLOGY_MASK_ISO15693 |
|
||||||
|
# NFA_TECHNOLOGY_MASK_B_PRIME | NFA_TECHNOLOGY_MASK_KOVIO |
|
||||||
|
# NFA_TECHNOLOGY_MASK_ACTIVE
|
||||||
|
#
|
||||||
|
# Notable bits:
|
||||||
|
# NFA_TECHNOLOGY_MASK_A 0x01 /* NFC Technology A */
|
||||||
|
# NFA_TECHNOLOGY_MASK_B 0x02 /* NFC Technology B */
|
||||||
|
# NFA_TECHNOLOGY_MASK_F 0x04 /* NFC Technology F */
|
||||||
|
# NFA_TECHNOLOGY_MASK_ISO15693 0x08 /* Proprietary Technology */
|
||||||
|
# NFA_TECHNOLOGY_MASK_KOVIO 0x20 /* Proprietary Technology */
|
||||||
|
# NFA_TECHNOLOGY_MASK_ACTIVE 0x40 /* NFC Technology Active */
|
||||||
|
POLLING_TECH_MASK=0x2F
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Force P2P to only listen for the following technology(s).
|
||||||
|
# The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h.
|
||||||
|
# Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_F |
|
||||||
|
# NFA_TECHNOLOGY_MASK_ACTIVE
|
||||||
|
#
|
||||||
|
# Notable bits:
|
||||||
|
# NFA_TECHNOLOGY_MASK_A 0x01 /* NFC Technology A */
|
||||||
|
# NFA_TECHNOLOGY_MASK_F 0x04 /* NFC Technology F */
|
||||||
|
# NFA_TECHNOLOGY_MASK_ACTIVE 0x40 /* NFC Technology Active */
|
||||||
|
P2P_LISTEN_TECH_MASK=0x00
|
||||||
|
|
||||||
|
PRESERVE_STORAGE=0x01
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Override the stack default for NFA_EE_MAX_EE_SUPPORTED set in nfc_target.h.
|
||||||
|
# The value is set to 3 by default as it assumes we will discover 0xF2,
|
||||||
|
# 0xF3, and 0xF4. If a platform will exclude and SE, this value can be reduced
|
||||||
|
# so that the stack will not wait any longer than necessary.
|
||||||
|
# Maximum EE supported number
|
||||||
|
# NXP PN547C2 0x02
|
||||||
|
# NXP PN65T 0x03
|
||||||
|
# NXP PN548C2 0x02
|
||||||
|
# NXP PN66T 0x03
|
||||||
|
NFA_MAX_EE_SUPPORTED=0x01
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# AID_MATCHING constants
|
||||||
|
# AID_MATCHING_EXACT_ONLY 0x00
|
||||||
|
# AID_MATCHING_EXACT_OR_PREFIX 0x01
|
||||||
|
# AID_MATCHING_PREFIX_ONLY 0x02
|
||||||
|
# AID_MATCHING_EXACT_OR_SUBSET_OR_PREFIX 0x03
|
||||||
|
AID_MATCHING_MODE=0x03
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
#Set the default Felica T3T System Code :
|
||||||
|
#This settings will be used when application does not set this parameter
|
||||||
|
DEFAULT_SYS_CODE={FE:FE}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Value of NIC parameter NFCC_COFNIG_CONTROL
|
||||||
|
# 0x00 NFCC is not allowed to manage RF configuration
|
||||||
|
# 0x01 NFCC is allowed to manage RF configuration
|
||||||
|
NFCC_CONFIG_CONTROL=0x01
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
#Set if the AID routing should be blocked for the power modes not supported.
|
||||||
|
NFA_AID_BLOCK_ROUTE=1
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
#Set the OffHost AID supported power state:
|
||||||
|
OFFHOST_AID_ROUTE_PWR_STATE=0x3B
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Mifare Tag implementation
|
||||||
|
# 0: General implementation
|
||||||
|
# 1: Legacy implementation
|
||||||
|
LEGACY_MIFARE_READER=0
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Nfc recovery implementation
|
||||||
|
# 0: Crash Nfc Service
|
||||||
|
# 1: Toggle Nfc state
|
||||||
|
RECOVERY_OPTION=1
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# NFCEE Power Supply and Communication Link Control Configuration
|
||||||
|
# Set when SetAlwaysOn enabled
|
||||||
|
# Default 0x00 when SetAlways on disabled
|
||||||
|
ALWAYS_ON_SET_EE_POWER_AND_LINK_CONF=0x00
|
121
nfc/libnfc-nci.conf
Normal file
121
nfc/libnfc-nci.conf
Normal file
@ -0,0 +1,121 @@
|
|||||||
|
###############################################################################
|
||||||
|
# Application options
|
||||||
|
NFC_DEBUG_ENABLED=0
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# File used for NFA storage
|
||||||
|
NFA_STORAGE="/data/nfc"
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Force UICC to only listen to the following technology(s).
|
||||||
|
# The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h.
|
||||||
|
# Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_B | NFA_TECHNOLOGY_MASK_F
|
||||||
|
UICC_LISTEN_TECH_MASK=0x07
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Set HOST default listen to the following technology(s).
|
||||||
|
# The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h.
|
||||||
|
# Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_F
|
||||||
|
# 0x07 = A + B + F
|
||||||
|
HOST_LISTEN_TECH_MASK=0x07
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# AID for Empty Select command
|
||||||
|
# If specified, this AID will be substituted when an Empty SELECT command is
|
||||||
|
# detected. The first byte is the length of the AID. Maximum length is 16.
|
||||||
|
AID_FOR_EMPTY_SELECT={08:A0:00:00:01:51:00:00:00}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# When screen is turned off, specify the desired power state of the controller.
|
||||||
|
# 0: power-off-sleep state; DEFAULT
|
||||||
|
# 1: full-power state
|
||||||
|
# 2: screen-off card-emulation (CE4/CE3/CE1 modes are used)
|
||||||
|
SCREEN_OFF_POWER_STATE=1
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Force tag polling for the following technology(s).
|
||||||
|
# The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h.
|
||||||
|
# Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_B |
|
||||||
|
# NFA_TECHNOLOGY_MASK_F | NFA_TECHNOLOGY_MASK_ISO15693 |
|
||||||
|
# NFA_TECHNOLOGY_MASK_B_PRIME | NFA_TECHNOLOGY_MASK_KOVIO |
|
||||||
|
# NFA_TECHNOLOGY_MASK_ACTIVE
|
||||||
|
#
|
||||||
|
# Notable bits:
|
||||||
|
# NFA_TECHNOLOGY_MASK_A 0x01 /* NFC Technology A */
|
||||||
|
# NFA_TECHNOLOGY_MASK_B 0x02 /* NFC Technology B */
|
||||||
|
# NFA_TECHNOLOGY_MASK_F 0x04 /* NFC Technology F */
|
||||||
|
# NFA_TECHNOLOGY_MASK_ISO15693 0x08 /* Proprietary Technology */
|
||||||
|
# NFA_TECHNOLOGY_MASK_KOVIO 0x20 /* Proprietary Technology */
|
||||||
|
# NFA_TECHNOLOGY_MASK_ACTIVE 0x40 /* NFC Technology Active */
|
||||||
|
POLLING_TECH_MASK=0x2F
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Force P2P to only listen for the following technology(s).
|
||||||
|
# The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h.
|
||||||
|
# Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_F |
|
||||||
|
# NFA_TECHNOLOGY_MASK_ACTIVE
|
||||||
|
#
|
||||||
|
# Notable bits:
|
||||||
|
# NFA_TECHNOLOGY_MASK_A 0x01 /* NFC Technology A */
|
||||||
|
# NFA_TECHNOLOGY_MASK_F 0x04 /* NFC Technology F */
|
||||||
|
# NFA_TECHNOLOGY_MASK_ACTIVE 0x40 /* NFC Technology Active */
|
||||||
|
P2P_LISTEN_TECH_MASK=0x00
|
||||||
|
|
||||||
|
PRESERVE_STORAGE=0x01
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Override the stack default for NFA_EE_MAX_EE_SUPPORTED set in nfc_target.h.
|
||||||
|
# The value is set to 3 by default as it assumes we will discover 0xF2,
|
||||||
|
# 0xF3, and 0xF4. If a platform will exclude and SE, this value can be reduced
|
||||||
|
# so that the stack will not wait any longer than necessary.
|
||||||
|
# Maximum EE supported number
|
||||||
|
# NXP PN547C2 0x02
|
||||||
|
# NXP PN65T 0x03
|
||||||
|
# NXP PN548C2 0x02
|
||||||
|
# NXP PN66T 0x03
|
||||||
|
NFA_MAX_EE_SUPPORTED=0x02
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# AID_MATCHING constants
|
||||||
|
# AID_MATCHING_EXACT_ONLY 0x00
|
||||||
|
# AID_MATCHING_EXACT_OR_PREFIX 0x01
|
||||||
|
# AID_MATCHING_PREFIX_ONLY 0x02
|
||||||
|
# AID_MATCHING_EXACT_OR_SUBSET_OR_PREFIX 0x03
|
||||||
|
AID_MATCHING_MODE=0x03
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
#Set the default Felica T3T System Code :
|
||||||
|
#This settings will be used when application does not set this parameter
|
||||||
|
DEFAULT_SYS_CODE={FE:FE}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Value of NIC parameter NFCC_COFNIG_CONTROL
|
||||||
|
# 0x00 NFCC is not allowed to manage RF configuration
|
||||||
|
# 0x01 NFCC is allowed to manage RF configuration
|
||||||
|
NFCC_CONFIG_CONTROL=0x01
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
#Set if the AID routing should be blocked for the power modes not supported.
|
||||||
|
NFA_AID_BLOCK_ROUTE=1
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
#Set the OffHost AID supported power state:
|
||||||
|
OFFHOST_AID_ROUTE_PWR_STATE=0x3B
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Mifare Tag implementation
|
||||||
|
# 0: General implementation
|
||||||
|
# 1: Legacy implementation
|
||||||
|
LEGACY_MIFARE_READER=0
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Nfc recovery implementation
|
||||||
|
# 0: Crash Nfc Service
|
||||||
|
# 1: Toggle Nfc state
|
||||||
|
RECOVERY_OPTION=1
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# NFCEE Power Supply and Communication Link Control Configuration
|
||||||
|
# Set when SetAlwaysOn enabled
|
||||||
|
# Default 0x00 when SetAlways on disabled
|
||||||
|
ALWAYS_ON_SET_EE_POWER_AND_LINK_CONF=0x03
|
2
nfc/libse-gto-hal.conf
Normal file
2
nfc/libse-gto-hal.conf
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
#Gemalto SPI devnode
|
||||||
|
GTO_DEV=/dev/st54spi;
|
2
nfc/libse-gto-hal2.conf
Normal file
2
nfc/libse-gto-hal2.conf
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
#Gemalto SPI devnode
|
||||||
|
GTO_DEV=/dev/st33spi;
|
11
nfc/manifest_nfc.xml
Normal file
11
nfc/manifest_nfc.xml
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<manifest version="1.0" type="device">
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>android.hardware.nfc</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<version>1.2</version>
|
||||||
|
<interface>
|
||||||
|
<name>INfc</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
</hal>
|
||||||
|
</manifest>
|
8
nfc/manifest_se.xml
Normal file
8
nfc/manifest_se.xml
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
<manifest version="1.0" type="device">
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>android.hardware.secure_element</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<fqname>@1.2::ISecureElement/eSE1</fqname>
|
||||||
|
<fqname>@1.2::ISecureElement/eSE2</fqname>
|
||||||
|
</hal>
|
||||||
|
</manifest>
|
42
powerstats/Android.bp
Normal file
42
powerstats/Android.bp
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
// Copyright (C) 2021 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.
|
||||||
|
|
||||||
|
soong_namespace {
|
||||||
|
imports: [
|
||||||
|
"hardware/google/pixel",
|
||||||
|
"device/google/gs201",
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
package {
|
||||||
|
// See: http://go/android-license-faq
|
||||||
|
// A large-scale-change added 'default_applicable_licenses' to import
|
||||||
|
// all of the 'license_kinds' from "device_google_lynx_license"
|
||||||
|
// to get the below license kinds:
|
||||||
|
// SPDX-license-identifier-Apache-2.0
|
||||||
|
default_applicable_licenses: ["device_google_lynx_license"],
|
||||||
|
}
|
||||||
|
|
||||||
|
cc_binary {
|
||||||
|
name: "android.hardware.power.stats-service.pixel",
|
||||||
|
defaults: ["powerstats_pixel_binary_defaults"],
|
||||||
|
|
||||||
|
srcs: [
|
||||||
|
"*.cpp",
|
||||||
|
],
|
||||||
|
|
||||||
|
shared_libs: [
|
||||||
|
"android.hardware.power.stats-impl.gs201",
|
||||||
|
],
|
||||||
|
}
|
77
powerstats/service.cpp
Normal file
77
powerstats/service.cpp
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2021 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define LOG_TAG "android.hardware.power.stats-service.pixel"
|
||||||
|
|
||||||
|
#include <dataproviders/DisplayStateResidencyDataProvider.h>
|
||||||
|
#include <dataproviders/PowerStatsEnergyConsumer.h>
|
||||||
|
#include <Gs201CommonDataProviders.h>
|
||||||
|
#include <PowerStatsAidl.h>
|
||||||
|
|
||||||
|
#include <android-base/logging.h>
|
||||||
|
#include <android-base/properties.h>
|
||||||
|
#include <android/binder_manager.h>
|
||||||
|
#include <android/binder_process.h>
|
||||||
|
#include <log/log.h>
|
||||||
|
|
||||||
|
using aidl::android::hardware::power::stats::DisplayStateResidencyDataProvider;
|
||||||
|
using aidl::android::hardware::power::stats::EnergyConsumerType;
|
||||||
|
using aidl::android::hardware::power::stats::PowerStatsEnergyConsumer;
|
||||||
|
|
||||||
|
void addDisplay(std::shared_ptr<PowerStats> p) {
|
||||||
|
// Add display residency stats
|
||||||
|
std::vector<std::string> states = {
|
||||||
|
"Off",
|
||||||
|
"LP: 1080x2340@30",
|
||||||
|
"On: 1080x2340@60",
|
||||||
|
"On: 1080x2340@90",
|
||||||
|
"HBM: 1080x2340@60",
|
||||||
|
"HBM: 1080x2340@90"};
|
||||||
|
|
||||||
|
p->addStateResidencyDataProvider(std::make_unique<DisplayStateResidencyDataProvider>("Display",
|
||||||
|
"/sys/class/backlight/panel0-backlight/state",
|
||||||
|
states));
|
||||||
|
|
||||||
|
// Add display energy consumer
|
||||||
|
/*
|
||||||
|
* TODO(b/167216667): Add correct display power model here. Must read from display rail
|
||||||
|
* and include proper coefficients for display states.
|
||||||
|
*/
|
||||||
|
p->addEnergyConsumer(PowerStatsEnergyConsumer::createMeterAndEntityConsumer(p,
|
||||||
|
EnergyConsumerType::DISPLAY, "display", {"PPVAR_VSYS_PWR_DISP"}, "Display",
|
||||||
|
{{"LP: 1080x2340@30", 1},
|
||||||
|
{"On: 1080x2340@60", 2},
|
||||||
|
{"On: 1080x2340@90", 3}}));
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
LOG(INFO) << "Pixel PowerStats HAL AIDL Service is starting.";
|
||||||
|
|
||||||
|
// single thread
|
||||||
|
ABinderProcess_setThreadPoolMaxThreadCount(0);
|
||||||
|
|
||||||
|
std::shared_ptr<PowerStats> p = ndk::SharedRefBase::make<PowerStats>();
|
||||||
|
|
||||||
|
addGs201CommonDataProviders(p);
|
||||||
|
addDisplay(p);
|
||||||
|
|
||||||
|
const std::string instance = std::string() + PowerStats::descriptor + "/default";
|
||||||
|
binder_status_t status = AServiceManager_addService(p->asBinder().get(), instance.c_str());
|
||||||
|
LOG_ALWAYS_FATAL_IF(status != STATUS_OK);
|
||||||
|
|
||||||
|
ABinderProcess_joinThreadPool();
|
||||||
|
return EXIT_FAILURE; // should not reach
|
||||||
|
}
|
30
sensors/Android.mk
Normal file
30
sensors/Android.mk
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
# 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.
|
||||||
|
|
||||||
|
LOCAL_PATH := $(call my-dir)
|
||||||
|
|
||||||
|
# HAL module implemenation stored in
|
||||||
|
# hw/<SENSORS_HARDWARE_MODULE_ID>.<ro.hardware>.so
|
||||||
|
include $(CLEAR_VARS)
|
||||||
|
|
||||||
|
LOCAL_MODULE_RELATIVE_PATH := hw
|
||||||
|
LOCAL_SHARED_LIBRARIES := liblog libcutils libhardware
|
||||||
|
LOCAL_SRC_FILES := sensors_dummy.c
|
||||||
|
LOCAL_MODULE := sensors.lynx
|
||||||
|
LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
|
||||||
|
LOCAL_LICENSE_CONDITIONS := notice
|
||||||
|
LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../NOTICE
|
||||||
|
LOCAL_PROPRIETARY_MODULE := true
|
||||||
|
|
||||||
|
include $(BUILD_SHARED_LIBRARY)
|
409
sensors/sensors_dummy.c
Normal file
409
sensors/sensors_dummy.c
Normal file
@ -0,0 +1,409 @@
|
|||||||
|
/*
|
||||||
|
* 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* this implements a sensors hardware library for the Android emulator.
|
||||||
|
* the following code should be built as a shared library that will be
|
||||||
|
* placed into /system/lib/hw/sensors.goldfish.so
|
||||||
|
*
|
||||||
|
* it will be loaded by the code in hardware/libhardware/hardware.c
|
||||||
|
* which is itself called from com_android_server_SensorService.cpp
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define SENSORS_SERVICE_NAME "sensors"
|
||||||
|
|
||||||
|
#define LOG_TAG "Dummy_Sensors"
|
||||||
|
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <fcntl.h>
|
||||||
|
#include <errno.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <log/log.h>
|
||||||
|
#include <cutils/sockets.h>
|
||||||
|
#include <hardware/sensors.h>
|
||||||
|
#include <pthread.h>
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
#define D(...) ALOGD(__VA_ARGS__)
|
||||||
|
#else
|
||||||
|
#define D(...) ((void)0)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define E(...) ALOGE(__VA_ARGS__)
|
||||||
|
|
||||||
|
/** SENSOR IDS AND NAMES
|
||||||
|
**/
|
||||||
|
|
||||||
|
#define MAX_NUM_SENSORS 8
|
||||||
|
|
||||||
|
#define SUPPORTED_SENSORS ((1<<MAX_NUM_SENSORS)-1)
|
||||||
|
|
||||||
|
#define ID_BASE SENSORS_HANDLE_BASE
|
||||||
|
#define ID_ACCELERATION (ID_BASE+0)
|
||||||
|
#define ID_MAGNETIC_FIELD (ID_BASE+1)
|
||||||
|
#define ID_ORIENTATION (ID_BASE+2)
|
||||||
|
#define ID_TEMPERATURE (ID_BASE+3)
|
||||||
|
#define ID_PROXIMITY (ID_BASE+4)
|
||||||
|
#define ID_LIGHT (ID_BASE+5)
|
||||||
|
#define ID_PRESSURE (ID_BASE+6)
|
||||||
|
#define ID_HUMIDITY (ID_BASE+7)
|
||||||
|
|
||||||
|
#define SENSORS_ACCELERATION (1 << ID_ACCELERATION)
|
||||||
|
#define SENSORS_MAGNETIC_FIELD (1 << ID_MAGNETIC_FIELD)
|
||||||
|
#define SENSORS_ORIENTATION (1 << ID_ORIENTATION)
|
||||||
|
#define SENSORS_TEMPERATURE (1 << ID_TEMPERATURE)
|
||||||
|
#define SENSORS_PROXIMITY (1 << ID_PROXIMITY)
|
||||||
|
#define SENSORS_LIGHT (1 << ID_LIGHT)
|
||||||
|
#define SENSORS_PRESSURE (1 << ID_PRESSURE)
|
||||||
|
#define SENSORS_HUMIDITY (1 << ID_HUMIDITY)
|
||||||
|
|
||||||
|
#define ID_CHECK(x) ((unsigned)((x) - ID_BASE) < MAX_NUM_SENSORS)
|
||||||
|
|
||||||
|
#define SENSORS_LIST \
|
||||||
|
SENSOR_(ACCELERATION,"acceleration") \
|
||||||
|
SENSOR_(MAGNETIC_FIELD,"magnetic-field") \
|
||||||
|
SENSOR_(ORIENTATION,"orientation") \
|
||||||
|
SENSOR_(TEMPERATURE,"temperature") \
|
||||||
|
SENSOR_(PROXIMITY,"proximity") \
|
||||||
|
SENSOR_(LIGHT, "light") \
|
||||||
|
SENSOR_(PRESSURE, "pressure") \
|
||||||
|
SENSOR_(HUMIDITY, "humidity")
|
||||||
|
|
||||||
|
static const struct {
|
||||||
|
const char* name;
|
||||||
|
int id; } _sensorIds[MAX_NUM_SENSORS] =
|
||||||
|
{
|
||||||
|
#define SENSOR_(x,y) { y, ID_##x },
|
||||||
|
SENSORS_LIST
|
||||||
|
#undef SENSOR_
|
||||||
|
};
|
||||||
|
|
||||||
|
static const char*
|
||||||
|
_sensorIdToName( int id )
|
||||||
|
{
|
||||||
|
int nn;
|
||||||
|
for (nn = 0; nn < MAX_NUM_SENSORS; nn++)
|
||||||
|
if (id == _sensorIds[nn].id)
|
||||||
|
return _sensorIds[nn].name;
|
||||||
|
return "<UNKNOWN>";
|
||||||
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
_sensorIdFromName( const char* name )
|
||||||
|
{
|
||||||
|
int nn;
|
||||||
|
|
||||||
|
if (name == NULL)
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
for (nn = 0; nn < MAX_NUM_SENSORS; nn++)
|
||||||
|
if (!strcmp(name, _sensorIds[nn].name))
|
||||||
|
return _sensorIds[nn].id;
|
||||||
|
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* return the current time in nanoseconds */
|
||||||
|
static int64_t now_ns(void) {
|
||||||
|
struct timespec ts;
|
||||||
|
clock_gettime(CLOCK_MONOTONIC, &ts);
|
||||||
|
return (int64_t)ts.tv_sec * 1000000000 + ts.tv_nsec;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** SENSORS POLL DEVICE
|
||||||
|
**
|
||||||
|
** This one is used to read sensor data from the hardware.
|
||||||
|
** We implement this by simply reading the data from the
|
||||||
|
** emulator through the QEMUD channel.
|
||||||
|
**/
|
||||||
|
|
||||||
|
typedef struct SensorDevice {
|
||||||
|
struct sensors_poll_device_1 device;
|
||||||
|
sensors_event_t sensors[MAX_NUM_SENSORS];
|
||||||
|
uint32_t pendingSensors;
|
||||||
|
int64_t timeStart;
|
||||||
|
int64_t timeOffset;
|
||||||
|
uint32_t active_sensors;
|
||||||
|
int fd;
|
||||||
|
pthread_mutex_t lock;
|
||||||
|
} SensorDevice;
|
||||||
|
|
||||||
|
/* Grab the file descriptor to the emulator's sensors service pipe.
|
||||||
|
* This function returns a file descriptor on success, or -errno on
|
||||||
|
* failure, and assumes the SensorDevice instance's lock is held.
|
||||||
|
*
|
||||||
|
* This is needed because set_delay(), poll() and activate() can be called
|
||||||
|
* from different threads, and poll() is blocking.
|
||||||
|
*
|
||||||
|
* 1) On a first thread, de-activate() all sensors first, then call poll(),
|
||||||
|
* which results in the thread blocking.
|
||||||
|
*
|
||||||
|
* 2) On a second thread, slightly later, call set_delay() then activate()
|
||||||
|
* to enable the acceleration sensor.
|
||||||
|
*
|
||||||
|
* The system expects this to unblock the first thread which will receive
|
||||||
|
* new sensor events after the activate() call in 2).
|
||||||
|
*
|
||||||
|
* This cannot work if both threads don't use the same connection.
|
||||||
|
*
|
||||||
|
* TODO(digit): This protocol is brittle, implement another control channel
|
||||||
|
* for set_delay()/activate()/batch() when supporting HAL 1.3
|
||||||
|
*/
|
||||||
|
static int sensor_device_get_fd_locked(SensorDevice* dev) {
|
||||||
|
/* Create connection to service on first call */
|
||||||
|
if (dev->fd < 0) {
|
||||||
|
int ret = -errno;
|
||||||
|
E("%s: Could not open connection to service: %s", __FUNCTION__,
|
||||||
|
strerror(-ret));
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
return dev->fd;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Pick up one pending sensor event. On success, this returns the sensor
|
||||||
|
* id, and sets |*event| accordingly. On failure, i.e. if there are no
|
||||||
|
* pending events, return -EINVAL.
|
||||||
|
*
|
||||||
|
* Note: The device's lock must be acquired.
|
||||||
|
*/
|
||||||
|
static int sensor_device_pick_pending_event_locked(SensorDevice* d,
|
||||||
|
sensors_event_t* event)
|
||||||
|
{
|
||||||
|
uint32_t mask = SUPPORTED_SENSORS & d->pendingSensors;
|
||||||
|
|
||||||
|
if (mask) {
|
||||||
|
uint32_t i = 31 - __builtin_clz(mask);
|
||||||
|
|
||||||
|
pthread_mutex_lock(&d->lock);
|
||||||
|
d->pendingSensors &= ~(1U << i);
|
||||||
|
*event = d->sensors[i];
|
||||||
|
event->sensor = i;
|
||||||
|
event->version = sizeof(*event);
|
||||||
|
pthread_mutex_unlock(&d->lock);
|
||||||
|
D("%s: %d [%f, %f, %f]", __FUNCTION__,
|
||||||
|
i,
|
||||||
|
event->data[0],
|
||||||
|
event->data[1],
|
||||||
|
event->data[2]);
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
E("No sensor to return!!! pendingSensors=0x%08x", d->pendingSensors);
|
||||||
|
// we may end-up in a busy loop, slow things down, just in case.
|
||||||
|
usleep(1000);
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int sensor_device_close(struct hw_device_t* dev0)
|
||||||
|
{
|
||||||
|
SensorDevice* dev = (void*)dev0;
|
||||||
|
// Assume that there are no other threads blocked on poll()
|
||||||
|
if (dev->fd >= 0) {
|
||||||
|
close(dev->fd);
|
||||||
|
dev->fd = -1;
|
||||||
|
}
|
||||||
|
pthread_mutex_destroy(&dev->lock);
|
||||||
|
free(dev);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Return an array of sensor data. This function blocks until there is sensor
|
||||||
|
* related events to report. On success, it will write the events into the
|
||||||
|
* |data| array, which contains |count| items. The function returns the number
|
||||||
|
* of events written into the array, which shall never be greater than |count|.
|
||||||
|
* On error, return -errno code.
|
||||||
|
*
|
||||||
|
* Note that according to the sensor HAL [1], it shall never return 0!
|
||||||
|
*
|
||||||
|
* [1] http://source.android.com/devices/sensors/hal-interface.html
|
||||||
|
*/
|
||||||
|
static int sensor_device_poll(struct sensors_poll_device_t *dev0,
|
||||||
|
sensors_event_t* data, int count)
|
||||||
|
{
|
||||||
|
return -EIO;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int sensor_device_activate(struct sensors_poll_device_t *dev0,
|
||||||
|
int handle,
|
||||||
|
int enabled)
|
||||||
|
{
|
||||||
|
SensorDevice* dev = (void*)dev0;
|
||||||
|
|
||||||
|
D("%s: handle=%s (%d) enabled=%d", __FUNCTION__,
|
||||||
|
_sensorIdToName(handle), handle, enabled);
|
||||||
|
|
||||||
|
/* Sanity check */
|
||||||
|
if (!ID_CHECK(handle)) {
|
||||||
|
E("%s: bad handle ID", __FUNCTION__);
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Exit early if sensor is already enabled/disabled. */
|
||||||
|
uint32_t mask = (1U << handle);
|
||||||
|
uint32_t sensors = enabled ? mask : 0;
|
||||||
|
|
||||||
|
pthread_mutex_lock(&dev->lock);
|
||||||
|
|
||||||
|
uint32_t active = dev->active_sensors;
|
||||||
|
uint32_t new_sensors = (active & ~mask) | (sensors & mask);
|
||||||
|
uint32_t changed = active ^ new_sensors;
|
||||||
|
|
||||||
|
if (changed)
|
||||||
|
dev->active_sensors = new_sensors;
|
||||||
|
|
||||||
|
pthread_mutex_unlock(&dev->lock);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int sensor_device_default_flush(
|
||||||
|
struct sensors_poll_device_1* dev0,
|
||||||
|
int handle) {
|
||||||
|
|
||||||
|
SensorDevice* dev = (void*)dev0;
|
||||||
|
|
||||||
|
D("%s: handle=%s (%d)", __FUNCTION__,
|
||||||
|
_sensorIdToName(handle), handle);
|
||||||
|
|
||||||
|
/* Sanity check */
|
||||||
|
if (!ID_CHECK(handle)) {
|
||||||
|
E("%s: bad handle ID", __FUNCTION__);
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
|
||||||
|
pthread_mutex_lock(&dev->lock);
|
||||||
|
dev->sensors[handle].version = META_DATA_VERSION;
|
||||||
|
dev->sensors[handle].type = SENSOR_TYPE_META_DATA;
|
||||||
|
dev->sensors[handle].sensor = 0;
|
||||||
|
dev->sensors[handle].timestamp = 0;
|
||||||
|
dev->sensors[handle].meta_data.what = META_DATA_FLUSH_COMPLETE;
|
||||||
|
dev->pendingSensors |= (1U << handle);
|
||||||
|
pthread_mutex_unlock(&dev->lock);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int sensor_device_set_delay(struct sensors_poll_device_t *dev0,
|
||||||
|
int handle __unused,
|
||||||
|
int64_t ns)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int sensor_device_default_batch(
|
||||||
|
struct sensors_poll_device_1* dev,
|
||||||
|
int sensor_handle,
|
||||||
|
int flags,
|
||||||
|
int64_t sampling_period_ns,
|
||||||
|
int64_t max_report_latency_ns) {
|
||||||
|
return sensor_device_set_delay(dev, sensor_handle, sampling_period_ns);
|
||||||
|
}
|
||||||
|
|
||||||
|
/** MODULE REGISTRATION SUPPORT
|
||||||
|
**
|
||||||
|
** This is required so that hardware/libhardware/hardware.c
|
||||||
|
** will dlopen() this library appropriately.
|
||||||
|
**/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* the following is the list of all supported sensors.
|
||||||
|
* this table is used to build sSensorList declared below
|
||||||
|
* according to which hardware sensors are reported as
|
||||||
|
* available from the emulator (see get_sensors_list below)
|
||||||
|
*
|
||||||
|
* note: numerical values for maxRange/resolution/power for
|
||||||
|
* all sensors but light, pressure and humidity were
|
||||||
|
* taken from the reference AK8976A implementation
|
||||||
|
*/
|
||||||
|
static const struct sensor_t sSensorListInit[] = {
|
||||||
|
{ .name = "Accelerometer",
|
||||||
|
.vendor = "The Android Open Source Project",
|
||||||
|
.version = 1,
|
||||||
|
.handle = ID_ACCELERATION,
|
||||||
|
.type = SENSOR_TYPE_ACCELEROMETER,
|
||||||
|
.maxRange = 2.8f,
|
||||||
|
.resolution = 1.0f/4032.0f,
|
||||||
|
.power = 3.0f,
|
||||||
|
.minDelay = 10000,
|
||||||
|
.maxDelay = 60 * 1000 * 1000,
|
||||||
|
.fifoReservedEventCount = 0,
|
||||||
|
.fifoMaxEventCount = 0,
|
||||||
|
.stringType = 0,
|
||||||
|
.requiredPermission = 0,
|
||||||
|
.flags = SENSOR_FLAG_CONTINUOUS_MODE,
|
||||||
|
.reserved = {}
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct sensor_t sSensorList[1];
|
||||||
|
|
||||||
|
static int sensors__get_sensors_list(struct sensors_module_t* module __unused,
|
||||||
|
struct sensor_t const** list)
|
||||||
|
{
|
||||||
|
*list = sSensorList;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
open_sensors(const struct hw_module_t* module,
|
||||||
|
const char* name,
|
||||||
|
struct hw_device_t* *device)
|
||||||
|
{
|
||||||
|
int status = -EINVAL;
|
||||||
|
|
||||||
|
D("%s: name=%s", __FUNCTION__, name);
|
||||||
|
|
||||||
|
if (!strcmp(name, SENSORS_HARDWARE_POLL)) {
|
||||||
|
SensorDevice *dev = malloc(sizeof(*dev));
|
||||||
|
|
||||||
|
memset(dev, 0, sizeof(*dev));
|
||||||
|
|
||||||
|
dev->device.common.tag = HARDWARE_DEVICE_TAG;
|
||||||
|
dev->device.common.version = SENSORS_DEVICE_API_VERSION_1_3;
|
||||||
|
dev->device.common.module = (struct hw_module_t*) module;
|
||||||
|
dev->device.common.close = sensor_device_close;
|
||||||
|
dev->device.poll = sensor_device_poll;
|
||||||
|
dev->device.activate = sensor_device_activate;
|
||||||
|
dev->device.setDelay = sensor_device_set_delay;
|
||||||
|
|
||||||
|
// Version 1.3-specific functions
|
||||||
|
dev->device.batch = sensor_device_default_batch;
|
||||||
|
dev->device.flush = sensor_device_default_flush;
|
||||||
|
|
||||||
|
dev->fd = -1;
|
||||||
|
pthread_mutex_init(&dev->lock, NULL);
|
||||||
|
|
||||||
|
*device = &dev->device.common;
|
||||||
|
status = 0;
|
||||||
|
}
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static struct hw_module_methods_t sensors_module_methods = {
|
||||||
|
.open = open_sensors
|
||||||
|
};
|
||||||
|
|
||||||
|
struct sensors_module_t HAL_MODULE_INFO_SYM = {
|
||||||
|
.common = {
|
||||||
|
.tag = HARDWARE_MODULE_TAG,
|
||||||
|
.version_major = 1,
|
||||||
|
.version_minor = 0,
|
||||||
|
.id = SENSORS_HARDWARE_MODULE_ID,
|
||||||
|
.name = "Dummy SENSORS Module",
|
||||||
|
.author = "The Android Open Source Project",
|
||||||
|
.methods = &sensors_module_methods,
|
||||||
|
},
|
||||||
|
.get_sensors_list = sensors__get_sensors_list
|
||||||
|
};
|
409
thermal_info_config_lynx.json
Normal file
409
thermal_info_config_lynx.json
Normal file
@ -0,0 +1,409 @@
|
|||||||
|
{
|
||||||
|
"Sensors":[
|
||||||
|
{
|
||||||
|
"Name":"battery",
|
||||||
|
"Type":"BATTERY",
|
||||||
|
"HotThreshold":[
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"60.0"
|
||||||
|
],
|
||||||
|
"VrThreshold":"NAN",
|
||||||
|
"Multiplier":0.001
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"LITTLE",
|
||||||
|
"Type":"CPU",
|
||||||
|
"HotThreshold":[
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
115.0
|
||||||
|
],
|
||||||
|
"VrThreshold":"NAN",
|
||||||
|
"Multiplier":0.001
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"MID",
|
||||||
|
"Type":"CPU",
|
||||||
|
"HotThreshold":[
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
115.0
|
||||||
|
],
|
||||||
|
"VrThreshold":"NAN",
|
||||||
|
"Multiplier":0.001
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"G3D",
|
||||||
|
"Type":"GPU",
|
||||||
|
"HotThreshold":[
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
115.0
|
||||||
|
],
|
||||||
|
"VrThreshold":"NAN",
|
||||||
|
"Multiplier":0.001
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"battery_cycle",
|
||||||
|
"Type":"BCL_VOLTAGE",
|
||||||
|
"HotThreshold":[
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN"
|
||||||
|
],
|
||||||
|
"VrThreshold":"NAN",
|
||||||
|
"Multiplier":1,
|
||||||
|
"Monitor":false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"critical-battery-cell",
|
||||||
|
"Type":"BCL_VOLTAGE",
|
||||||
|
"VirtualSensor":true,
|
||||||
|
"Formula":"COUNT_THRESHOLD",
|
||||||
|
"TriggerSensor": "vdroop1",
|
||||||
|
"Combination":[
|
||||||
|
"battery",
|
||||||
|
"battery_cycle",
|
||||||
|
"vdroop1"
|
||||||
|
],
|
||||||
|
"Coefficient":[
|
||||||
|
"-10000",
|
||||||
|
"400",
|
||||||
|
"1150"
|
||||||
|
],
|
||||||
|
"HotThreshold":[
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
3.00,
|
||||||
|
"NAN"
|
||||||
|
],
|
||||||
|
"VrThreshold":"NAN",
|
||||||
|
"Multiplier":1,
|
||||||
|
"Monitor":true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"FLASH_LED_REDUCE",
|
||||||
|
"Type":"UNKNOWN",
|
||||||
|
"VirtualSensor":true,
|
||||||
|
"Formula":"COUNT_THRESHOLD",
|
||||||
|
"TriggerSensor": "vdroop1",
|
||||||
|
"Combination":[
|
||||||
|
"battery",
|
||||||
|
"battery_cycle",
|
||||||
|
"vdroop1"
|
||||||
|
],
|
||||||
|
"Coefficient":[
|
||||||
|
"-10000",
|
||||||
|
"400",
|
||||||
|
"1150"
|
||||||
|
],
|
||||||
|
"HotThreshold":[
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
3.00,
|
||||||
|
"NAN",
|
||||||
|
"NAN"
|
||||||
|
],
|
||||||
|
"VrThreshold":"NAN",
|
||||||
|
"Multiplier":1,
|
||||||
|
"Monitor":true,
|
||||||
|
"SendPowerHint":true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"soc",
|
||||||
|
"Type":"BCL_PERCENTAGE",
|
||||||
|
"HotThreshold":[
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
90,
|
||||||
|
93,
|
||||||
|
96,
|
||||||
|
"NAN"
|
||||||
|
],
|
||||||
|
"VrThreshold":"NAN",
|
||||||
|
"Multiplier":1,
|
||||||
|
"Monitor":true,
|
||||||
|
"PollingDelay":300000,
|
||||||
|
"PassiveDelay":5000,
|
||||||
|
"BindedCdevInfo": [
|
||||||
|
{
|
||||||
|
"CdevRequest": "thermal-cpufreq-2",
|
||||||
|
"LimitInfo": [0, 0, 0, 7, 7, 10, 10]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"vdroop1",
|
||||||
|
"Type":"BCL_VOLTAGE",
|
||||||
|
"HotThreshold":[
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
1150,
|
||||||
|
"NAN",
|
||||||
|
"NAN"
|
||||||
|
],
|
||||||
|
"VrThreshold":"NAN",
|
||||||
|
"Multiplier":1,
|
||||||
|
"Monitor":true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"vdroop2",
|
||||||
|
"Type":"BCL_VOLTAGE",
|
||||||
|
"HotThreshold":[
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
1350,
|
||||||
|
"NAN",
|
||||||
|
"NAN"
|
||||||
|
],
|
||||||
|
"VrThreshold":"NAN",
|
||||||
|
"Multiplier":1,
|
||||||
|
"Monitor":true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"smpl_gm",
|
||||||
|
"Type":"BCL_VOLTAGE",
|
||||||
|
"HotThreshold":[
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
1400,
|
||||||
|
"NAN",
|
||||||
|
"NAN"
|
||||||
|
],
|
||||||
|
"VrThreshold":"NAN",
|
||||||
|
"Multiplier":1,
|
||||||
|
"Monitor":true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"ocp_cpu1",
|
||||||
|
"Type":"BCL_CURRENT",
|
||||||
|
"HotThreshold":[
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
7000,
|
||||||
|
"NAN",
|
||||||
|
"NAN"
|
||||||
|
],
|
||||||
|
"VrThreshold":"NAN",
|
||||||
|
"Multiplier":1,
|
||||||
|
"Monitor":true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"ocp_cpu2",
|
||||||
|
"Type":"BCL_CURRENT",
|
||||||
|
"HotThreshold":[
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
12000,
|
||||||
|
"NAN",
|
||||||
|
"NAN"
|
||||||
|
],
|
||||||
|
"VrThreshold":"NAN",
|
||||||
|
"Multiplier":1,
|
||||||
|
"Monitor":true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"ocp_tpu",
|
||||||
|
"Type":"BCL_CURRENT",
|
||||||
|
"HotThreshold":[
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
10500,
|
||||||
|
"NAN",
|
||||||
|
"NAN"
|
||||||
|
],
|
||||||
|
"VrThreshold":"NAN",
|
||||||
|
"Multiplier":1,
|
||||||
|
"Monitor":true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"ocp_gpu",
|
||||||
|
"Type":"BCL_CURRENT",
|
||||||
|
"HotThreshold":[
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
12000,
|
||||||
|
"NAN",
|
||||||
|
"NAN"
|
||||||
|
],
|
||||||
|
"VrThreshold":"NAN",
|
||||||
|
"Multiplier":1,
|
||||||
|
"Monitor":true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"soft_ocp_cpu2",
|
||||||
|
"Type":"BCL_CURRENT",
|
||||||
|
"HotThreshold":[
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
9000,
|
||||||
|
"NAN",
|
||||||
|
"NAN"
|
||||||
|
],
|
||||||
|
"VrThreshold":"NAN",
|
||||||
|
"Multiplier":1,
|
||||||
|
"Monitor":true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"soft_ocp_cpu1",
|
||||||
|
"Type":"BCL_CURRENT",
|
||||||
|
"HotThreshold":[
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
7000,
|
||||||
|
"NAN",
|
||||||
|
"NAN"
|
||||||
|
],
|
||||||
|
"VrThreshold":"NAN",
|
||||||
|
"Multiplier":1,
|
||||||
|
"Monitor":true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"soft_ocp_tpu",
|
||||||
|
"Type":"BCL_CURRENT",
|
||||||
|
"HotThreshold":[
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
8500,
|
||||||
|
"NAN",
|
||||||
|
"NAN"
|
||||||
|
],
|
||||||
|
"VrThreshold":"NAN",
|
||||||
|
"Multiplier":1,
|
||||||
|
"Monitor":true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"soft_ocp_gpu",
|
||||||
|
"Type":"BCL_CURRENT",
|
||||||
|
"HotThreshold":[
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
9000,
|
||||||
|
"NAN",
|
||||||
|
"NAN"
|
||||||
|
],
|
||||||
|
"VrThreshold":"NAN",
|
||||||
|
"Multiplier":1,
|
||||||
|
"Monitor":true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"TPU",
|
||||||
|
"Type":"NPU",
|
||||||
|
"HotThreshold":[
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
"NAN",
|
||||||
|
115.0
|
||||||
|
],
|
||||||
|
"VrThreshold":"NAN",
|
||||||
|
"Multiplier":0.001
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"CoolingDevices":[
|
||||||
|
{
|
||||||
|
"Name":"thermal-cpufreq-0",
|
||||||
|
"Type":"CPU",
|
||||||
|
"WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-0/user_vote",
|
||||||
|
"State2Power":["1100", "1050", "1000", "950", "900", "850", "800", "750", "700", "650", "600"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"thermal-cpufreq-1",
|
||||||
|
"Type":"CPU",
|
||||||
|
"WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-1/user_vote",
|
||||||
|
"State2Power":["1400", "1350", "1300", "1250", "1200", "1150", "1100", "1050", "1000", "950", "900", "850", "800", "750"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"thermal-cpufreq-2",
|
||||||
|
"Type":"CPU",
|
||||||
|
"WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-2/user_vote",
|
||||||
|
"State2Power":["1450", "1400", "1350", "1300", "1250", "1200", "1150", "1100", "1050", "1000", "950", "900", "850", "800", "750"]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"PowerRails":[
|
||||||
|
{
|
||||||
|
"Name":"PPVAR_VSYS_PWR_DISP"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"VSYS_PWR_MODEM"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"S2M_VDD_CPUCL2",
|
||||||
|
"PowerSampleDelay":14000,
|
||||||
|
"PowerSampleCount":5
|
||||||
|
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"S3M_VDD_CPUCL1",
|
||||||
|
"PowerSampleDelay":14000,
|
||||||
|
"PowerSampleCount":5
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"S4M_VDD_CPUCL0",
|
||||||
|
"PowerSampleDelay":14000,
|
||||||
|
"PowerSampleCount":5
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"S5M_VDD_INT"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"S1M_VDD_MIF"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name":"S2S_VDD_G3D",
|
||||||
|
"PowerSampleDelay":14000,
|
||||||
|
"PowerSampleCount":5
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user