panther: Regenerate vendor tree
Signed-off-by: HeroBuxx <me@herobuxx.me>
This commit is contained in:
2758 files changed
+106303
No files matched your search
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
+42
@@ -0,0 +1,42 @@
|
||||
#!/vendor/bin/sh
|
||||
path="/proc/focaltech_touch"
|
||||
|
||||
echo "------ Enable Force Touch Active ------"
|
||||
echo 21 > $path/force_active
|
||||
|
||||
echo "------ Touch Firmware Version ------"
|
||||
cat $path/FW_Version
|
||||
|
||||
echo "------ Touch INT PIN Test ------"
|
||||
cat $path/INT_PIN
|
||||
|
||||
echo "------ Get Raw Data - Panel_Differ ------"
|
||||
cat $path/selftest/Panel_Differ
|
||||
|
||||
echo "------ Get Raw Data - Raw ------"
|
||||
cat $path/selftest/Rawdata
|
||||
|
||||
echo "------ Get Raw Data - Baseline ------"
|
||||
cat $path/selftest/Baseline
|
||||
|
||||
echo "------ Get Raw Data - Noise ------"
|
||||
cat $path/selftest/Noise
|
||||
|
||||
echo "------ Get Raw Data - Uniformity ------"
|
||||
cat $path/selftest/Rawdata_Uniformity
|
||||
|
||||
echo "------ Get Scap_CB ------"
|
||||
cat $path/selftest/Scap_CB
|
||||
|
||||
echo "------ Get Scap_Rawdata ------"
|
||||
cat $path/selftest/Scap_Rawdata
|
||||
|
||||
echo "------ Get Short Test ------"
|
||||
cat $path/selftest/Short
|
||||
|
||||
echo "------ Get HeatMap(ms,ss) ------"
|
||||
cat $path/selftest/Strength
|
||||
|
||||
echo "------ Disable Force Touch Active ------"
|
||||
echo 20 > $path/force_active
|
||||
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
#!/vendor/bin/sh
|
||||
echo "Citadel VERSION\n"
|
||||
vendor/bin/hw/citadel_updater -lv
|
||||
echo "Citadel STATS\n"
|
||||
vendor/bin/hw/citadel_updater --stats
|
||||
echo "GSC DEBUG DUMP\n"
|
||||
vendor/bin/hw/citadel_updater -D
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
+48
@@ -0,0 +1,48 @@
|
||||
#!/vendor/bin/sh
|
||||
|
||||
echo 'Temperatures'
|
||||
for f in /sys/class/thermal/thermal* ; do
|
||||
echo `cat $f/type`: `cat $f/temp`
|
||||
done
|
||||
|
||||
echo 'Cooling Device Current State'
|
||||
for f in /sys/class/thermal/cooling* ; do
|
||||
echo `cat $f/type`: `cat $f/cur_state`
|
||||
done
|
||||
|
||||
echo 'Cooling Device User Vote State'
|
||||
for f in /sys/class/thermal/cooling* ; do
|
||||
if ! [ -r $f/user_vote ]; then continue; fi;
|
||||
echo `cat $f/type`: `cat $f/user_vote`
|
||||
done
|
||||
|
||||
echo 'Cooling Device Time in State'
|
||||
for f in /sys/class/thermal/cooling* ; do
|
||||
echo `cat $f/type`: `cat $f/stats/time_in_state_ms`
|
||||
done
|
||||
|
||||
echo 'Cooling Device Trans Table'
|
||||
for f in /sys/class/thermal/cooling* ; do
|
||||
echo `cat $f/type`: `cat $f/stats/trans_table`
|
||||
done
|
||||
|
||||
echo 'Cooling Device State2Power Table'
|
||||
for f in /sys/class/thermal/cooling* ; do
|
||||
if ! [ -r $f/state2power_table ]; then continue; fi;
|
||||
echo `cat $f/type`: `cat $f/state2power_table`
|
||||
done
|
||||
|
||||
echo 'TMU state:'
|
||||
cat /sys/module/gs_thermal/parameters/tmu_reg_dump_state
|
||||
echo 'TMU intpend:'
|
||||
cat /sys/module/gs_thermal/parameters/tmu_reg_dump_intpend
|
||||
echo 'TMU current temperature:'
|
||||
cat /sys/module/gs_thermal/parameters/tmu_reg_dump_current_temp
|
||||
echo 'TMU_TOP rise thresholds:'
|
||||
cat /sys/module/gs_thermal/parameters/tmu_top_reg_dump_rise_thres
|
||||
echo 'TMU_TOP fall thresholds:'
|
||||
cat /sys/module/gs_thermal/parameters/tmu_top_reg_dump_fall_thres
|
||||
echo 'TMU_SUB rise thresholds:'
|
||||
cat /sys/module/gs_thermal/parameters/tmu_sub_reg_dump_rise_thres
|
||||
echo 'TMU_SUB fall thresholds:'
|
||||
cat /sys/module/gs_thermal/parameters/tmu_sub_reg_dump_fall_thres
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
#!/vendor/bin/sh
|
||||
echo "--- Trusty TEE0 Logs ---"
|
||||
cat /dev/trusty-log0
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
Vendored
Executable
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Vendored
Executable
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
+6
@@ -0,0 +1,6 @@
|
||||
#!/vendor/bin/sh
|
||||
|
||||
max77759tcpc_path=/sys/devices/platform/10d60000.hsi2c/i2c-13/13-0025
|
||||
if [ -d $max77759tcpc_path ]; then
|
||||
echo 0 > $max77759tcpc_path/contaminant_detection;
|
||||
fi
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
+261
@@ -0,0 +1,261 @@
|
||||
#!/vendor/bin/sh
|
||||
#
|
||||
# Copyright 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.
|
||||
|
||||
# This script automates Dauntless firmware updates
|
||||
#
|
||||
# We use the name "dauntless" in the source for clarity, but keep "citadel" on
|
||||
# the target so we don't have to change all the factory scripts.
|
||||
|
||||
set -u
|
||||
|
||||
# There are multiple pre-production images, so we have to pick the right one
|
||||
FWDIR=/vendor/firmware/dauntless
|
||||
|
||||
# Update tool
|
||||
UPDATER=/vendor/bin/hw/citadel_updater
|
||||
|
||||
# Log messages to both logcat and the shell
|
||||
LOG_TAG=init_citadel
|
||||
|
||||
log_info() {
|
||||
log -p i -t "${LOG_TAG}" "$1"
|
||||
echo "$1" >&2
|
||||
}
|
||||
|
||||
log_error() {
|
||||
log -p e -t "${LOG_TAG}" "$1"
|
||||
echo "$1" >&2
|
||||
}
|
||||
|
||||
die() {
|
||||
log_error "fatal: $1"
|
||||
exit 1
|
||||
}
|
||||
|
||||
get_running_version() {
|
||||
# See what's running now
|
||||
log_info "Checking RW firmware version..."
|
||||
version=$(${UPDATER} -vv)
|
||||
status=$?
|
||||
if [[ $status -ne 0 ]] ; then
|
||||
log_error "Failed to get RW firmware version"
|
||||
return 1
|
||||
fi
|
||||
log_info "Running RW version: ${version}"
|
||||
echo "$version"
|
||||
}
|
||||
|
||||
log_ro_version() {
|
||||
log_info "Checking RO firmware version..."
|
||||
version=$(${UPDATER} -l | grep RO_)
|
||||
status=$?
|
||||
if [[ $status -ne 0 ]] ; then
|
||||
log_error "Failed to get RO firmware version"
|
||||
return 0
|
||||
fi
|
||||
log_info "${version}"
|
||||
}
|
||||
|
||||
find_image_file() {
|
||||
version="$1"
|
||||
|
||||
# There are several flavors of dauntless chips and they're all signed
|
||||
# differently. If we have multiple images to choose from, we'll try to pick
|
||||
# the image that matches the running firmware.
|
||||
|
||||
# The -vv option will try to identify the flavor. If it can, it will append
|
||||
# a /FLAVOR string to the version string.
|
||||
flavor=$(echo $version | cut -d/ -f3)
|
||||
# For node-locked images we have to let the chip tell us
|
||||
[[ -z "$flavor" ]] &&
|
||||
flavor=$(${UPDATER} -l | grep Chip | sed -e 's/^.*(//' -e 's/).*//')
|
||||
# Look for a matching image name
|
||||
[[ -n "$flavor" ]] && log_info "Flavor: $flavor" &&
|
||||
[[ -f "$FWDIR/$flavor.ec.bin" ]] &&
|
||||
fwbin="$FWDIR/$flavor.ec.bin"
|
||||
# Look for the default if no flavor known or image available
|
||||
[[ -z "${fwbin:-}" ]] && [[ -f "$FWDIR/ec.bin" ]] &&
|
||||
fwbin="$FWDIR/ec.bin"
|
||||
# Still nothing? That's not right
|
||||
if [[ -z "${fwbin:-}" ]]; then
|
||||
log_info "Couldn't find a firmware image to upload"
|
||||
return 1;
|
||||
fi
|
||||
log_info "Image file: $fwbin"
|
||||
echo "$fwbin"
|
||||
}
|
||||
|
||||
is_newer_ro() {
|
||||
fwbin="$1"
|
||||
|
||||
file_is_newer=$(${UPDATER} --is_newer_ro "$fwbin")
|
||||
status=$?
|
||||
if [[ $status -ne 0 ]] ; then
|
||||
log_error "Failed to compare running RO with file"
|
||||
return 1
|
||||
fi
|
||||
|
||||
log_info "Is RO in file newer: $file_is_newer"
|
||||
echo "$file_is_newer";
|
||||
}
|
||||
|
||||
is_newer_rw() {
|
||||
fwbin="$1"
|
||||
|
||||
file_is_newer=$(${UPDATER} --is_newer_rw "$fwbin")
|
||||
status=$?
|
||||
if [[ $status -ne 0 ]] ; then
|
||||
log_error "Failed to compare running RW with file"
|
||||
return 1
|
||||
fi
|
||||
|
||||
log_info "Is RW in file newer: $file_is_newer"
|
||||
echo "$file_is_newer";
|
||||
}
|
||||
|
||||
upload_fw() {
|
||||
which="$1"
|
||||
fwbin="$2"
|
||||
|
||||
# Try several times
|
||||
log_info "Uploading firmware..."
|
||||
${UPDATER} "$which" "${fwbin}" && echo "okay" && return 0
|
||||
|
||||
log_info "Trying again..."
|
||||
${UPDATER} "$which" "${fwbin}" && echo "okay" && return 0
|
||||
|
||||
log_info "Maybe a forced reset will help"
|
||||
${UPDATER} --force_reset || log_error "Couldn't force reset the chip"
|
||||
sleep 1
|
||||
|
||||
log_info "Trying once more..."
|
||||
${UPDATER} "$which" "${fwbin}" && echo "okay" && return 0
|
||||
|
||||
log_error "Nope. Couldn't upload the new firmware."
|
||||
return 1;
|
||||
}
|
||||
|
||||
# If cryptolib_RO is already provided by the current RO, or the new RW doesn't
|
||||
# reequire it, then it's safe to update RW.
|
||||
safe_to_update_rw() {
|
||||
fwbin=$1
|
||||
|
||||
# Get epoch.major.minor of the current RO image
|
||||
chip_ver=$(${UPDATER} -l | tr ':/' ' ' | egrep 'R[OW]_[AB].*\*')
|
||||
cur_ro_vers=$(echo "$chip_ver" | awk '/RO_/ {print $3}')
|
||||
|
||||
# RO 0.1.6 (evt) and RO 0.0.6 (proto11) contain RO_CRYPTO
|
||||
# Assume(!) that the minor number will just continue to increment
|
||||
minor=$(echo "$cur_ro_vers" | cut -d. -f3)
|
||||
|
||||
if [[ "$minor" -ge 6 ]] ; then
|
||||
log_info "RO version $cur_ro_vers contains cryptolib"
|
||||
echo "yes"
|
||||
return
|
||||
fi
|
||||
|
||||
# There's no RO crypto currently installed, but do we really need it?
|
||||
# Which RW image are we considering?
|
||||
cur_rw_slot=$(echo "$chip_ver" | awk '/RW_/ {print $1}')
|
||||
new_rw_slot=$(echo "$cur_rw_slot" | tr 'AB' 'BA')
|
||||
# Obtain the new RW version string from the provided image file.
|
||||
file_ver=$(${UPDATER} -f "$fwbin" | tr ':/' ' ')
|
||||
new_rw_vers=$(echo "$file_ver" | awk "/$new_rw_slot/ {print \$3}")
|
||||
|
||||
|
||||
# go/nor/50384 added -r, -l, or -w to the version string
|
||||
# -r means "needs RO_CRYPTO"
|
||||
if [[ "$new_rw_vers" == *-r ]] ; then
|
||||
log_info "New RW firmware $new_rw_vers requires RO cryptolib"
|
||||
echo "no"
|
||||
return
|
||||
fi
|
||||
|
||||
echo "yes"
|
||||
}
|
||||
|
||||
|
||||
# Let's do this
|
||||
log_info "Starting $0"
|
||||
|
||||
# What do we know?
|
||||
version=$(get_running_version) || die "No running version"
|
||||
fwbin=$(find_image_file "$version") || die "No image file"
|
||||
do_ro=$(is_newer_ro "$fwbin") || die "No RO comparsion"
|
||||
|
||||
# If there's a RO update available, try it first.
|
||||
if [[ "$do_ro" = "yes" ]]; then
|
||||
|
||||
log_info "Trying to update RO"
|
||||
|
||||
log_ro_version
|
||||
|
||||
# Upload should succeed
|
||||
upload_fw --ro "$fwbin" || die "RO upload failed"
|
||||
|
||||
# Enable might succeed with default (empty) password
|
||||
if ${UPDATER} --enable_ro '' ; then
|
||||
|
||||
# RO takes effect immediately and will reboot if RW changed too, so
|
||||
# give it some time to happen.
|
||||
sleep 2
|
||||
log_ro_version || die "Can't read version after update"
|
||||
|
||||
else
|
||||
# The user has a PIN/pattern/password set
|
||||
log_info "The primary user will have to enable the update"
|
||||
fi
|
||||
fi
|
||||
|
||||
# What do we know now?
|
||||
version=$(get_running_version) || die "No running version"
|
||||
fwbin=$(find_image_file "$version") || die "No image file"
|
||||
do_rw=$(is_newer_rw "$fwbin") || die "No RW comparsion"
|
||||
|
||||
# If there's a RW update available, try it next
|
||||
if [[ "$do_rw" = "yes" ]]; then
|
||||
|
||||
log_info "Trying to update RW"
|
||||
|
||||
# If the new RW requires cryptolib_RO and we don't have it, don't try
|
||||
safe=$(safe_to_update_rw "$fwbin")
|
||||
|
||||
if [[ "$safe" != "yes" ]]; then
|
||||
log_error "Cowardly refusing to update RW right now"
|
||||
else
|
||||
# Upload should succeed
|
||||
upload_fw --rw "$fwbin" || die "RW upload failed"
|
||||
|
||||
# Enable might succeed with default (empty) password
|
||||
if ${UPDATER} --enable_rw '' ; then
|
||||
|
||||
# We need to reboot manually for RW update
|
||||
log_info "RW update enabled, rebooting now"
|
||||
${UPDATER} --reboot || ${UPDATER} --force_reset || \
|
||||
log_error "can't reboot"
|
||||
|
||||
get_running_version || die "Can't read version after update"
|
||||
|
||||
else
|
||||
# The user has a PIN/pattern/password set
|
||||
log_info "The primary user will have to enable the update"
|
||||
fi
|
||||
|
||||
fi
|
||||
fi
|
||||
|
||||
log_info "All done"
|
||||
exit 0
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
+10
@@ -0,0 +1,10 @@
|
||||
#!/vendor/bin/sh
|
||||
|
||||
camera_irq_nums=$(grep "lwis" /proc/interrupts | awk '{ print(substr($1, 0, length($1) - 1)) }')
|
||||
|
||||
for irq_num in ${camera_irq_nums[@]};
|
||||
do
|
||||
chown system:system /proc/irq/${irq_num}/smp_affinity
|
||||
chown system:system /proc/irq/${irq_num}/smp_affinity_list
|
||||
done
|
||||
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
#!/vendor/bin/sh
|
||||
modules_dir=
|
||||
|
||||
for f in /vendor/lib/modules/*/modules.dep /vendor/lib/modules/modules.dep; do
|
||||
if [[ -f "$f" ]]; then
|
||||
modules_dir="$(dirname "$f")"
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if [[ -z "${modules_dir}" ]]; then
|
||||
echo "Unable to locate kernel modules directory" 2>&1
|
||||
exit 1
|
||||
fi
|
||||
|
||||
panel_drv=`getprop ro.boot.primary_panel_drv`
|
||||
if [[ -z "$panel_drv" ]]; then
|
||||
panel_drv="panel-samsung-emul"
|
||||
fi
|
||||
modprobe -d "${modules_dir}" exynos-drm.ko
|
||||
modprobe -d "${modules_dir}" $panel_drv.ko
|
||||
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
#! /vendor/bin/sh
|
||||
#
|
||||
# Copy /vendor/etc/database/ if needed for RIL
|
||||
#
|
||||
data_ecc_ver=$(cat /data/vendor/radio/database/ecc_version)
|
||||
if [ -z $data_ecc_ver ]; then
|
||||
data_ecc_ver=0
|
||||
fi
|
||||
vendor_ecc_ver=$(cat /vendor/etc/database/ecc_version)
|
||||
if [ -z $vendor_ecc_ver ]; then
|
||||
vendor_ecc_ver=0
|
||||
fi
|
||||
# Copy files from /vendor/etc/database/ to /data/vendor/radio/ when data_ecc_ver < vendor_ecc_ver
|
||||
if [ $data_ecc_ver -lt $vendor_ecc_ver ]; then
|
||||
mkdir -p /data/vendor/radio/database
|
||||
cp -R /vendor/etc/database/* /data/vendor/radio/database/
|
||||
chown -hR radio.radio /data/vendor/radio/databse/
|
||||
fi
|
||||
+111
@@ -0,0 +1,111 @@
|
||||
#!/vendor/bin/sh
|
||||
|
||||
###################################################################
|
||||
### init.insmod.cfg format: ###
|
||||
### ----------------------------------------------------------- ###
|
||||
### [insmod|setprop|enable|moprobe|rmmod|wait] [path|prop name] ###
|
||||
### ... ###
|
||||
###################################################################
|
||||
|
||||
modules_dir=
|
||||
system_modules_dir=
|
||||
vendor_modules_dir=
|
||||
|
||||
# This directory ONLY contains the 16k modules loaded in 16k mode
|
||||
# during the Second Boot Stage. This directory is not present in the
|
||||
# <device>_16k targets.
|
||||
mode_16k_modules_dir=/vendor/lib/modules/16k-mode
|
||||
pagesize=$(getconf PAGE_SIZE)
|
||||
|
||||
for dir in system vendor; do
|
||||
for f in /${dir}/lib/modules/*/modules.dep /${dir}/lib/modules/modules.dep; do
|
||||
if [[ -f "$f" ]]; then
|
||||
if [[ "${dir}" == "system" ]]; then
|
||||
system_modules_dir="$(dirname "$f")"
|
||||
else
|
||||
vendor_modules_dir="$(dirname "$f")"
|
||||
modules_dir=${vendor_modules_dir}
|
||||
fi
|
||||
break
|
||||
fi
|
||||
done
|
||||
done
|
||||
|
||||
if [[ -z "${system_modules_dir}" ]]; then
|
||||
echo "Unable to locate system kernel modules directory" 2>&1
|
||||
fi
|
||||
|
||||
if [[ -z "${vendor_modules_dir}" ]]; then
|
||||
echo "Unable to locate vendor kernel modules directory" 2>&1
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# imitates wait_for_file() in init
|
||||
wait_for_file()
|
||||
{
|
||||
filename="${1}"
|
||||
timeout="${2:-5}"
|
||||
|
||||
expiry=$(($(date "+%s")+timeout))
|
||||
while [[ ! -e "${filename}" ]] && [[ "$(date "+%s")" -le "${expiry}" ]]
|
||||
do
|
||||
sleep 0.01
|
||||
done
|
||||
}
|
||||
|
||||
if [ $# -eq 1 ]; then
|
||||
cfg_file=$1
|
||||
else
|
||||
# Set property even if there is no insmod config
|
||||
# to unblock early-boot trigger
|
||||
setprop vendor.common.modules.ready 1
|
||||
setprop vendor.device.modules.ready 1
|
||||
setprop vendor.all.modules.ready 1
|
||||
setprop vendor.all.devices.ready 1
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -f $cfg_file ]; then
|
||||
while IFS="|" read -r action arg
|
||||
do
|
||||
case $action in
|
||||
"insmod") insmod $arg ;;
|
||||
"setprop") setprop $arg 1 ;;
|
||||
"enable") echo 1 > $arg ;;
|
||||
"condinsmod")
|
||||
prop=$(echo $arg | cut -d '|' -f 1)
|
||||
module1=$(echo $arg | cut -d '|' -f 2)
|
||||
module2=$(echo $arg | cut -d '|' -f 3)
|
||||
value=$(getprop $prop)
|
||||
if [[ ${value} == "true" ]]; then
|
||||
insmod ${vendor_modules_dir}/${module1}
|
||||
else
|
||||
insmod ${vendor_modules_dir}/${module2}
|
||||
fi
|
||||
;;
|
||||
"modprobe")
|
||||
case ${arg} in
|
||||
"system -b *" | "system -b")
|
||||
modules_dir=${system_modules_dir}
|
||||
arg="-b --all=${system_modules_dir}/modules.load" ;;
|
||||
"system *" | "system")
|
||||
modules_dir=${system_modules_dir}
|
||||
arg="--all=${system_modules_dir}/modules.load" ;;
|
||||
"-b *" | "-b" | "vendor -b *" | "vendor -b")
|
||||
modules_dir=${vendor_modules_dir}
|
||||
arg="-b --all=${vendor_modules_dir}/modules.load" ;;
|
||||
"*" | "" | "vendor *" | "vendor")
|
||||
modules_dir=${vendor_modules_dir}
|
||||
arg="--all=${vendor_modules_dir}/modules.load" ;;
|
||||
esac
|
||||
if [[ "${pagesize}" == "16384" && -d "${mode_16k_modules_dir}" ]]; then
|
||||
insmod ${mode_16k_modules_dir}/$arg
|
||||
elif [[ -d "${modules_dir}" ]]; then
|
||||
modprobe -a -d "${modules_dir}" $arg
|
||||
fi
|
||||
;;
|
||||
"rmmod") rmmod $arg ;;
|
||||
"wait") wait_for_file $arg ;;
|
||||
esac
|
||||
done < $cfg_file
|
||||
fi
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
+29
@@ -0,0 +1,29 @@
|
||||
#!/vendor/bin/sh
|
||||
#
|
||||
# The script belongs to the feature of UFS FFU via OTA: go/p23-ffu-ota
|
||||
# Its purpose is to copy the corresponding firmware into partition for UFS FFU.
|
||||
|
||||
ufs_dev="/dev/sys/block/bootdevice"
|
||||
fw_dir="/vendor/firmware"
|
||||
blk_dev="/dev/block/by-name/fips"
|
||||
min_timestamp=$(date -d "2022-10-01" +%s)
|
||||
epoch_1y=$(date -u -d "1971-01-01" +%s)
|
||||
|
||||
vendor=$(cat ${ufs_dev}/vendor | tr -d "[:space:]")
|
||||
model=$(cat ${ufs_dev}/model | tr -d "[:space:]")
|
||||
rev=$(cat ${ufs_dev}/rev | tr -d "[:space:]")
|
||||
|
||||
file=$(find ${fw_dir} -name "*${vendor}${model}${rev}*" | head -n 1)
|
||||
lifec=$(cat ${ufs_dev}/health_descriptor/life_time_estimation_c | tr -d "[:space:]")
|
||||
[ ! "$lifec" ] && lifec=0xff
|
||||
|
||||
atime=$(ls -lu -d /data 2>&1 | awk '{print $6}')
|
||||
timestamp=$(date -d "$atime" +%s)
|
||||
(( $timestamp < $min_timestamp )) && timestamp=$min_timestamp
|
||||
now=$(date +%s)
|
||||
|
||||
if [ -n "$file" ] && (( $lifec < 0x0a )) && (( $timestamp + $epoch_1y >= $now )); then
|
||||
# The first 4KB block at fips partition has been occupied, and unused space begins from 4 KB
|
||||
# Refer to: go/pixel-mp-ffu-ota-1p
|
||||
dd if="$file" of=$blk_dev bs=4k seek=1
|
||||
fi
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
@@ -0,0 +1 @@
|
||||
/vendor/lib64/egl/libGLES_mali.so
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
+151
@@ -0,0 +1,151 @@
|
||||
{
|
||||
"version": "0.5",
|
||||
"modes": [
|
||||
{
|
||||
"name": "normal",
|
||||
"lux_map": [
|
||||
0,
|
||||
5000,
|
||||
10000,
|
||||
16000,
|
||||
18000,
|
||||
23000,
|
||||
28000,
|
||||
33000,
|
||||
39000,
|
||||
44000,
|
||||
49000,
|
||||
55000,
|
||||
65000,
|
||||
70000
|
||||
],
|
||||
"ambient_light_map": [
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
8,
|
||||
12,
|
||||
17,
|
||||
23,
|
||||
27,
|
||||
28,
|
||||
29,
|
||||
30,
|
||||
31,
|
||||
33,
|
||||
35
|
||||
],
|
||||
"strength_map": [
|
||||
0,
|
||||
64,
|
||||
100,
|
||||
100,
|
||||
100,
|
||||
100,
|
||||
100,
|
||||
100,
|
||||
100,
|
||||
100,
|
||||
100,
|
||||
100,
|
||||
100,
|
||||
100
|
||||
],
|
||||
"st_up_step": 4,
|
||||
"st_down_step": 1,
|
||||
"sub_setting": {
|
||||
"local_tone_gain": 128,
|
||||
"noise_suppression_gain": 128,
|
||||
"dither": 0,
|
||||
"plain_weight_1": 10,
|
||||
"plain_weight_2": 14,
|
||||
"color_transform_mode": 2,
|
||||
"preprocessing_enable": 1,
|
||||
"upgrade_on": 0,
|
||||
"TDR_max": 920,
|
||||
"TDR_min": 256,
|
||||
"backlight": 255,
|
||||
"dimming_step": 4,
|
||||
"scale_mode": 3,
|
||||
"threshold_1": 3,
|
||||
"threshold_2": 2,
|
||||
"threshold_3": 3,
|
||||
"gain_limit": 512,
|
||||
"lt_calc_ab_shift": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "hbm",
|
||||
"lux_map": [
|
||||
0,
|
||||
5000,
|
||||
10000,
|
||||
16000,
|
||||
18000,
|
||||
23000,
|
||||
28000,
|
||||
33000,
|
||||
39000,
|
||||
44000,
|
||||
49000,
|
||||
55000,
|
||||
65000,
|
||||
70000
|
||||
],
|
||||
"ambient_light_map": [
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
8,
|
||||
12,
|
||||
17,
|
||||
21,
|
||||
24,
|
||||
25,
|
||||
26,
|
||||
27,
|
||||
28,
|
||||
30,
|
||||
32
|
||||
],
|
||||
"strength_map": [
|
||||
0,
|
||||
64,
|
||||
100,
|
||||
100,
|
||||
100,
|
||||
100,
|
||||
100,
|
||||
100,
|
||||
100,
|
||||
100,
|
||||
100,
|
||||
100,
|
||||
100,
|
||||
100
|
||||
],
|
||||
"st_up_step": 4,
|
||||
"st_down_step": 1,
|
||||
"sub_setting": {
|
||||
"local_tone_gain": 128,
|
||||
"noise_suppression_gain": 128,
|
||||
"dither": 0,
|
||||
"plain_weight_1": 10,
|
||||
"plain_weight_2": 14,
|
||||
"color_transform_mode": 2,
|
||||
"preprocessing_enable": 1,
|
||||
"upgrade_on": 0,
|
||||
"TDR_max": 920,
|
||||
"TDR_min": 256,
|
||||
"backlight": 255,
|
||||
"dimming_step": 4,
|
||||
"scale_mode": 3,
|
||||
"threshold_1": 3,
|
||||
"threshold_2": 2,
|
||||
"threshold_3": 3,
|
||||
"gain_limit": 512,
|
||||
"lt_calc_ab_shift": 1
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
+68
@@ -0,0 +1,68 @@
|
||||
<?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_sw" 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"/>
|
||||
<library name="spatializer" path="libspatialaudio.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>
|
||||
<effectProxy name="dynamics_processing" library="proxy" uuid="dcf01474-8982-11ec-a8a3-0242ac120002">
|
||||
<libsw library="dynamics_processing_sw" uuid="e0e6539b-1781-7261-676f-6d7573696340"/>
|
||||
<libhw library="offload_effect" uuid="1bf15eb7-8f49-4fd8-8380-0767fd5680f3"/>
|
||||
</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="spatializer" library="spatializer" uuid="cc4677de-ff72-11eb-9a03-0242ac130003"/>
|
||||
</effects>
|
||||
<postprocess>
|
||||
</postprocess>
|
||||
<preprocess>
|
||||
<stream type="voice_communication">
|
||||
<apply effect="aec"/>
|
||||
<apply effect="ns"/>
|
||||
</stream>
|
||||
</preprocess>
|
||||
</audio_effects_conf>
|
||||
@@ -0,0 +1,319 @@
|
||||
<?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,137"/>
|
||||
<intf id="BE_VIRTUAL_CRYSTAL_CLEAR_AUDIO_TUNING" block_id="138"/>
|
||||
</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, 40 periods * 48 frames/period(=1ms w/ 48k sample rate) * 2ch *4(float) = 15360 bytes -->
|
||||
<usecase id="UC_MMAP_PLAYBACK" dev1="0" dyn_path="true" dsp_vol="false" mmap="true" period="1" period_num="40"/>
|
||||
<!-- 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 flag AUDIO_OUTPUT_SPATIALIZER -->
|
||||
<usecase id="UC_IMMERSIVE_PLAYBACK" dev1="30" dyn_path="true" dsp_vol="false" mmap="false" period="10" period_num="3"/>
|
||||
<!-- 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" pcm_ch="2"/>
|
||||
<!-- 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="20" period_num="2"/>
|
||||
<!-- 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" mmap="true" period="1" period_num="240"/>
|
||||
<!-- for hifi -->
|
||||
<usecase id="UC_HIFI_PLAYBACK" dev1="25" period="20" period_num="4"/>
|
||||
<usecase id="UC_HIFI_RECORD" dev1="26" period="20" period_num="4"/>
|
||||
</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="60000"/>
|
||||
<be_cfg be_id="OUT_USB_HEADPHONE_BE_CFG" latency="60000"/>
|
||||
<be_cfg be_id="OUT_A2DP_BE_CFG" latency="60000"/>
|
||||
<be_cfg be_id="OUT_BLE_BE_CFG" latency="60000"/>
|
||||
</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"/>
|
||||
<be_cfg be_id="OUT_BLE_BE_CFG" latency="80000"/>
|
||||
</usecase>
|
||||
|
||||
<usecase id="UC_COMPRESSED_OFFLOAD_PLAYBACK" type="playback">
|
||||
<be_cfg be_id="OUT_SPEAKER_BE_CFG" latency="40000"/>
|
||||
<be_cfg be_id="OUT_USB_HEADSET_BE_CFG" latency="40000"/>
|
||||
<be_cfg be_id="OUT_USB_HEADPHONE_BE_CFG" latency="40000"/>
|
||||
<be_cfg be_id="OUT_A2DP_BE_CFG" latency="70000"/>
|
||||
<be_cfg be_id="OUT_BLE_BE_CFG" latency="20000"/>
|
||||
</usecase>
|
||||
|
||||
<usecase id="UC_IMMERSIVE_PLAYBACK" type="playback">
|
||||
<be_cfg be_id="OUT_A2DP_BE_CFG" latency="100000"/>
|
||||
</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_CAMCORDER_MIC_BE_CFG" latency="160000"/>
|
||||
<be_cfg be_id="IN_CAMCORDER_TRIPLE_MIC_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" />
|
||||
<features>
|
||||
<feature name="ThermalThrottle=Type:SKIN,Name:VIRTUAL-SKIN"/>
|
||||
<feature name="BatteryThrottle=Type:BCL_VOLTAGE,Name:BCL_AUDIO_BAACL,Strategy:MediaSpeakerAndScreenOn"/>
|
||||
</features>
|
||||
|
||||
<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_HANDSET_MIC_BE_CFG" tuning_id="62"/>
|
||||
<cfg id="IN_HANDSET_DUAL_MIC_BE_CFG" tuning_id="63"/>
|
||||
<cfg id="IN_HANDSET_TRIPLE_MIC_BE_CFG" tuning_id="64"/>
|
||||
<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=192000,UnsupportedFormat=S24_LE,MaxCapPacketInterval=125,MaxCapSampleRate=192000,MaxCapBitWidth=32,MaxCapChannel=2,EnableHifi192kMultichannel=0"/>
|
||||
</device_handle>
|
||||
|
||||
<external_module>
|
||||
<module libname="audio_spk_35l41.so" argu="AcousticShockProtection"/>
|
||||
<module libname="audio_waves_aoc.so" argu="Sink=SPK:1"/>
|
||||
<module libname="audio_cca_aoc.so"/>
|
||||
<module libname="audio_fortemedia_aoc.so" argu="DL_CH=y VoIP_DLCHs=SPK:2,USB:2,BT:2 VoIP_Rate=32000 BOOST_USB_SWB_CLK=y SHARED_MODULE=1130578253"/>
|
||||
<module libname="liboffloadeffect.so"/>
|
||||
<module libname="audio_amcs_ext.so"/>
|
||||
<module libname="audio_bluenote_aoc.so"/>
|
||||
</external_module>
|
||||
</audio_platform_configuration>
|
||||
@@ -0,0 +1,268 @@
|
||||
<?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"
|
||||
recommendedMuteDurationMs="40">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
|
||||
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 AUDIO_OUTPUT_FLAG_GAPLESS_OFFLOAD">
|
||||
<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_FLOAT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="immersive_out" role="source" flags="AUDIO_OUTPUT_FLAG_SPATIALIZER">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_32_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" maxActiveCount="2" maxOpenCount="2">
|
||||
<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="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="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="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_OPUS 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_OPUS 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_OPUS 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 BLE Headset" type="AUDIO_DEVICE_OUT_BLE_HEADSET" role="sink"
|
||||
encodedFormats="AUDIO_FORMAT_LC3">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="BT BLE Speaker" type="AUDIO_DEVICE_OUT_BLE_SPEAKER" role="sink"
|
||||
encodedFormats="AUDIO_FORMAT_LC3">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="BLE Headset Mic" type="AUDIO_DEVICE_IN_BLE_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,haptic,raw,mmap_no_irq_out,voip_rx,compressed_offload"/>
|
||||
<route type="mix" sink="Speaker Safe"
|
||||
sources="primary output,deep buffer,haptic,raw,mmap_no_irq_out,voip_rx,compressed_offload"/>
|
||||
<route type="mix" sink="Earpiece"
|
||||
sources="primary output,deep buffer,haptic,raw,mmap_no_irq_out,voip_rx,compressed_offload"/>
|
||||
<route type="mix" sink="BT A2DP Out"
|
||||
sources="primary output,deep buffer,haptic,voip_rx,compressed_offload,raw,mmap_no_irq_out,immersive_out"/>
|
||||
<route type="mix" sink="BT A2DP Headphones"
|
||||
sources="primary output,deep buffer,haptic,voip_rx,compressed_offload,raw,mmap_no_irq_out,immersive_out"/>
|
||||
<route type="mix" sink="BT A2DP Speaker"
|
||||
sources="primary output,deep buffer,haptic,voip_rx,compressed_offload,raw,mmap_no_irq_out,immersive_out"/>
|
||||
<route type="mix" sink="BT BLE Headset"
|
||||
sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,raw,mmap_no_irq_out,immersive_out"/>
|
||||
<route type="mix" sink="BT BLE Speaker"
|
||||
sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,raw,mmap_no_irq_out,immersive_out"/>
|
||||
<route type="mix" sink="USB Device Out"
|
||||
sources="primary output,deep buffer,haptic,raw,mmap_no_irq_out,voip_rx,hifi_playback,compressed_offload,immersive_out"/>
|
||||
<route type="mix" sink="USB Headset Out"
|
||||
sources="primary output,deep buffer,haptic,raw,mmap_no_irq_out,voip_rx,hifi_playback,compressed_offload,immersive_out"/>
|
||||
<route type="mix" sink="BT SCO"
|
||||
sources="primary output,deep buffer,haptic,voip_rx,compressed_offload,raw,mmap_no_irq_out"/>
|
||||
<route type="mix" sink="BT SCO Headset"
|
||||
sources="primary output,deep buffer,haptic,voip_rx,compressed_offload,raw,mmap_no_irq_out"/>
|
||||
<route type="mix" sink="BT SCO Car Kit"
|
||||
sources="primary output,deep buffer,haptic,voip_rx,compressed_offload,raw,mmap_no_irq_out"/>
|
||||
<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,BLE 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,BLE 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,BLE Headset Mic"/>
|
||||
<route type="mix" sink="fast input"
|
||||
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic,BLE Headset Mic"/>
|
||||
<route type="mix" sink="mmap_no_irq_in"
|
||||
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic,BLE Headset Mic"/>
|
||||
<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,231 @@
|
||||
<?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"
|
||||
recommendedMuteDurationMs="40">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
|
||||
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_FLOAT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="immersive_out" role="source" flags="AUDIO_OUTPUT_FLAG_SPATIALIZER">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_32_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" maxActiveCount="2" maxOpenCount="2">
|
||||
<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="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="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="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,haptic,raw,mmap_no_irq_out,voip_rx,compressed_offload"/>
|
||||
<route type="mix" sink="Speaker Safe"
|
||||
sources="primary output,deep buffer,haptic,raw,mmap_no_irq_out,voip_rx,compressed_offload"/>
|
||||
<route type="mix" sink="Earpiece"
|
||||
sources="primary output,deep buffer,haptic,raw,mmap_no_irq_out,voip_rx,compressed_offload"/>
|
||||
<route type="mix" sink="USB Device Out"
|
||||
sources="primary output,deep buffer,haptic,raw,mmap_no_irq_out,voip_rx,hifi_playback,compressed_offload,immersive_out"/>
|
||||
<route type="mix" sink="USB Headset Out"
|
||||
sources="primary output,deep buffer,haptic,raw,mmap_no_irq_out,voip_rx,hifi_playback,compressed_offload,immersive_out"/>
|
||||
<route type="mix" sink="BT SCO"
|
||||
sources="primary output,deep buffer,haptic,voip_rx,compressed_offload,raw,mmap_no_irq_out"/>
|
||||
<route type="mix" sink="BT SCO Headset"
|
||||
sources="primary output,deep buffer,haptic,voip_rx,compressed_offload,raw,mmap_no_irq_out"/>
|
||||
<route type="mix" sink="BT SCO Car Kit"
|
||||
sources="primary output,deep buffer,haptic,voip_rx,compressed_offload,raw,mmap_no_irq_out"/>
|
||||
<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,BT SCO Headset Mic"/>
|
||||
<route type="mix" sink="mmap_no_irq_in"
|
||||
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
|
||||
<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,227 @@
|
||||
<?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"
|
||||
recommendedMuteDurationMs="40">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
|
||||
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_FLOAT"
|
||||
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" maxActiveCount="2" maxOpenCount="2">
|
||||
<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="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="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="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,haptic,raw,mmap_no_irq_out,voip_rx,compressed_offload"/>
|
||||
<route type="mix" sink="Speaker Safe"
|
||||
sources="primary output,deep buffer,haptic,raw,mmap_no_irq_out,voip_rx,compressed_offload"/>
|
||||
<route type="mix" sink="Earpiece"
|
||||
sources="primary output,deep buffer,haptic,raw,mmap_no_irq_out,voip_rx,compressed_offload"/>
|
||||
<route type="mix" sink="USB Device Out"
|
||||
sources="primary output,deep buffer,haptic,raw,mmap_no_irq_out,voip_rx,hifi_playback,compressed_offload"/>
|
||||
<route type="mix" sink="USB Headset Out"
|
||||
sources="primary output,deep buffer,haptic,raw,mmap_no_irq_out,voip_rx,hifi_playback,compressed_offload"/>
|
||||
<route type="mix" sink="BT SCO"
|
||||
sources="primary output,deep buffer,haptic,voip_rx,compressed_offload,raw,mmap_no_irq_out"/>
|
||||
<route type="mix" sink="BT SCO Headset"
|
||||
sources="primary output,deep buffer,haptic,voip_rx,compressed_offload,raw,mmap_no_irq_out"/>
|
||||
<route type="mix" sink="BT SCO Car Kit"
|
||||
sources="primary output,deep buffer,haptic,voip_rx,compressed_offload,raw,mmap_no_irq_out"/>
|
||||
<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,BT SCO Headset Mic"/>
|
||||
<route type="mix" sink="mmap_no_irq_in"
|
||||
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
|
||||
<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>
|
||||
@@ -0,0 +1,252 @@
|
||||
<?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"
|
||||
recommendedMuteDurationMs="40">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
|
||||
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_FLOAT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="immersive_out" role="source" flags="AUDIO_OUTPUT_FLAG_SPATIALIZER">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_32_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" maxActiveCount="2" maxOpenCount="2">
|
||||
<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="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="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="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_OPUS 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_OPUS 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_OPUS 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,haptic,raw,mmap_no_irq_out,voip_rx,compressed_offload"/>
|
||||
<route type="mix" sink="Speaker Safe"
|
||||
sources="primary output,deep buffer,haptic,raw,mmap_no_irq_out,voip_rx,compressed_offload"/>
|
||||
<route type="mix" sink="Earpiece"
|
||||
sources="primary output,deep buffer,haptic,raw,mmap_no_irq_out,voip_rx,compressed_offload"/>
|
||||
<route type="mix" sink="BT A2DP Out"
|
||||
sources="primary output,deep buffer,haptic,voip_rx,compressed_offload,raw,mmap_no_irq_out,immersive_out"/>
|
||||
<route type="mix" sink="BT A2DP Headphones"
|
||||
sources="primary output,deep buffer,haptic,voip_rx,compressed_offload,raw,mmap_no_irq_out,immersive_out"/>
|
||||
<route type="mix" sink="BT A2DP Speaker"
|
||||
sources="primary output,deep buffer,haptic,voip_rx,compressed_offload,raw,mmap_no_irq_out,immersive_out"/>
|
||||
<route type="mix" sink="USB Device Out"
|
||||
sources="primary output,deep buffer,haptic,raw,mmap_no_irq_out,voip_rx,hifi_playback,compressed_offload,immersive_out"/>
|
||||
<route type="mix" sink="USB Headset Out"
|
||||
sources="primary output,deep buffer,haptic,raw,mmap_no_irq_out,voip_rx,hifi_playback,compressed_offload,immersive_out"/>
|
||||
<route type="mix" sink="BT SCO"
|
||||
sources="primary output,deep buffer,haptic,voip_rx,compressed_offload,raw,mmap_no_irq_out"/>
|
||||
<route type="mix" sink="BT SCO Headset"
|
||||
sources="primary output,deep buffer,haptic,voip_rx,compressed_offload,raw,mmap_no_irq_out"/>
|
||||
<route type="mix" sink="BT SCO Car Kit"
|
||||
sources="primary output,deep buffer,haptic,voip_rx,compressed_offload,raw,mmap_no_irq_out"/>
|
||||
<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,BT SCO Headset Mic"/>
|
||||
<route type="mix" sink="mmap_no_irq_in"
|
||||
sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/>
|
||||
<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>
|
||||
+232
@@ -0,0 +1,232 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Copyright (C) 2015 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<!-- Volume section defines a volume curve for a given use case and device category.
|
||||
It contains a list of points of this curve expressing the attenuation in Millibels for a given
|
||||
volume index from 0 to 100.
|
||||
<volume stream=”AUDIO_STREAM_MUSIC” deviceCategory=””>
|
||||
<point>0,-9600</point>
|
||||
<point>100,0</point>
|
||||
</volume>
|
||||
-->
|
||||
|
||||
<volumes>
|
||||
<volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_HEADSET">
|
||||
<point>0,-4200</point>
|
||||
<point>33,-2800</point>
|
||||
<point>66,-1400</point>
|
||||
<point>100,0</point>
|
||||
</volume>
|
||||
<volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_SPEAKER">
|
||||
<point>0,-2400</point>
|
||||
<point>33,-1600</point>
|
||||
<point>66,-800</point>
|
||||
<point>100,0</point>
|
||||
</volume>
|
||||
<volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_EARPIECE">
|
||||
<point>0,-2400</point>
|
||||
<point>33,-1600</point>
|
||||
<point>66,-800</point>
|
||||
<point>100,0</point>
|
||||
</volume>
|
||||
<volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
|
||||
ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
|
||||
ref="DEFAULT_NON_MUTABLE_HEARING_AID_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_SYSTEM" deviceCategory="DEVICE_CATEGORY_HEADSET">
|
||||
<point>1,-3000</point>
|
||||
<point>33,-2600</point>
|
||||
<point>66,-2200</point>
|
||||
<point>100,-1800</point>
|
||||
</volume>
|
||||
<volume stream="AUDIO_STREAM_SYSTEM" deviceCategory="DEVICE_CATEGORY_SPEAKER">
|
||||
<point>1,-4700</point>
|
||||
<point>33,-3800</point>
|
||||
<point>66,-2300</point>
|
||||
<point>100,-1500</point>
|
||||
</volume>
|
||||
<volume stream="AUDIO_STREAM_SYSTEM" deviceCategory="DEVICE_CATEGORY_EARPIECE"
|
||||
ref="DEFAULT_SYSTEM_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_SYSTEM" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
|
||||
ref="DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_SYSTEM" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
|
||||
ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_RING" deviceCategory="DEVICE_CATEGORY_HEADSET"
|
||||
ref="DEFAULT_DEVICE_CATEGORY_HEADSET_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_RING" deviceCategory="DEVICE_CATEGORY_SPEAKER">
|
||||
<point>1,-3800</point>
|
||||
<point>33,-2400</point>
|
||||
<point>66,-1200</point>
|
||||
<point>100,0</point>
|
||||
</volume>
|
||||
<volume stream="AUDIO_STREAM_RING" deviceCategory="DEVICE_CATEGORY_EARPIECE"
|
||||
ref="DEFAULT_DEVICE_CATEGORY_EARPIECE_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_RING" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
|
||||
ref="DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_RING" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
|
||||
ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_MUSIC" deviceCategory="DEVICE_CATEGORY_HEADSET"
|
||||
ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_MUSIC" deviceCategory="DEVICE_CATEGORY_SPEAKER">
|
||||
<point>1,-6200</point>
|
||||
<point>20,-4700</point>
|
||||
<point>40,-3000</point>
|
||||
<point>60,-1700</point>
|
||||
<point>100,0</point>
|
||||
</volume>
|
||||
<volume stream="AUDIO_STREAM_MUSIC" deviceCategory="DEVICE_CATEGORY_EARPIECE"
|
||||
ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_MUSIC" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
|
||||
ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_MUSIC" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
|
||||
ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_ALARM" deviceCategory="DEVICE_CATEGORY_HEADSET"
|
||||
ref="DEFAULT_NON_MUTABLE_HEADSET_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_ALARM" deviceCategory="DEVICE_CATEGORY_SPEAKER">
|
||||
<point>0,-5200</point>
|
||||
<point>33,-2400</point>
|
||||
<point>66,-1150</point>
|
||||
<point>100,0</point>
|
||||
</volume>
|
||||
<volume stream="AUDIO_STREAM_ALARM" deviceCategory="DEVICE_CATEGORY_EARPIECE"
|
||||
ref="DEFAULT_NON_MUTABLE_EARPIECE_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_ALARM" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
|
||||
ref="DEFAULT_NON_MUTABLE_EXT_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_ALARM" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
|
||||
ref="DEFAULT_NON_MUTABLE_HEARING_AID_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_NOTIFICATION" deviceCategory="DEVICE_CATEGORY_HEADSET"
|
||||
ref="DEFAULT_DEVICE_CATEGORY_HEADSET_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_NOTIFICATION" deviceCategory="DEVICE_CATEGORY_SPEAKER">
|
||||
<point>1,-3800</point>
|
||||
<point>33,-2600</point>
|
||||
<point>66,-1400</point>
|
||||
<point>100,0</point>
|
||||
</volume>
|
||||
<volume stream="AUDIO_STREAM_NOTIFICATION" deviceCategory="DEVICE_CATEGORY_EARPIECE"
|
||||
ref="DEFAULT_DEVICE_CATEGORY_EARPIECE_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_NOTIFICATION" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
|
||||
ref="DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_NOTIFICATION" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
|
||||
ref="DEFAULT_DEVICE_CATEGORY_HEADSET_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_BLUETOOTH_SCO" deviceCategory="DEVICE_CATEGORY_HEADSET">
|
||||
<point>0,-4200</point>
|
||||
<point>33,-2800</point>
|
||||
<point>66,-1400</point>
|
||||
<point>100,0</point>
|
||||
</volume>
|
||||
<volume stream="AUDIO_STREAM_BLUETOOTH_SCO" deviceCategory="DEVICE_CATEGORY_SPEAKER">
|
||||
<point>0,-2400</point>
|
||||
<point>33,-1600</point>
|
||||
<point>66,-800</point>
|
||||
<point>100,0</point>
|
||||
</volume>
|
||||
<volume stream="AUDIO_STREAM_BLUETOOTH_SCO" deviceCategory="DEVICE_CATEGORY_EARPIECE">
|
||||
<point>0,-4200</point>
|
||||
<point>33,-2800</point>
|
||||
<point>66,-1400</point>
|
||||
<point>100,0</point>
|
||||
</volume>
|
||||
<volume stream="AUDIO_STREAM_BLUETOOTH_SCO" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
|
||||
ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_BLUETOOTH_SCO" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
|
||||
ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_ENFORCED_AUDIBLE" deviceCategory="DEVICE_CATEGORY_HEADSET">
|
||||
<point>1,-3000</point>
|
||||
<point>33,-2600</point>
|
||||
<point>66,-2200</point>
|
||||
<point>100,-1800</point>
|
||||
</volume>
|
||||
<volume stream="AUDIO_STREAM_ENFORCED_AUDIBLE" deviceCategory="DEVICE_CATEGORY_SPEAKER">
|
||||
<point>1,-4700</point>
|
||||
<point>33,-3800</point>
|
||||
<point>66,-2800</point>
|
||||
<point>100,-1800</point>
|
||||
</volume>
|
||||
<volume stream="AUDIO_STREAM_ENFORCED_AUDIBLE" deviceCategory="DEVICE_CATEGORY_EARPIECE"
|
||||
ref="DEFAULT_SYSTEM_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_ENFORCED_AUDIBLE" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
|
||||
ref="DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_ENFORCED_AUDIBLE" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
|
||||
ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_DTMF" deviceCategory="DEVICE_CATEGORY_HEADSET">
|
||||
<point>1,-3000</point>
|
||||
<point>33,-2600</point>
|
||||
<point>66,-2200</point>
|
||||
<point>100,-1800</point>
|
||||
</volume>
|
||||
<volume stream="AUDIO_STREAM_DTMF" deviceCategory="DEVICE_CATEGORY_SPEAKER">
|
||||
<point>1,-4800</point>
|
||||
<point>33,-3200</point>
|
||||
<point>66,-2200</point>
|
||||
<point>100,-1300</point>
|
||||
</volume>
|
||||
<volume stream="AUDIO_STREAM_DTMF" deviceCategory="DEVICE_CATEGORY_EARPIECE"
|
||||
ref="DEFAULT_SYSTEM_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_DTMF" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
|
||||
ref="DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_DTMF" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
|
||||
ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_TTS" deviceCategory="DEVICE_CATEGORY_HEADSET"
|
||||
ref="SILENT_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_TTS" deviceCategory="DEVICE_CATEGORY_SPEAKER"
|
||||
ref="FULL_SCALE_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_TTS" deviceCategory="DEVICE_CATEGORY_EARPIECE"
|
||||
ref="SILENT_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_TTS" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
|
||||
ref="SILENT_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_TTS" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
|
||||
ref="SILENT_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_ACCESSIBILITY" deviceCategory="DEVICE_CATEGORY_HEADSET"
|
||||
ref="DEFAULT_NON_MUTABLE_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_ACCESSIBILITY" deviceCategory="DEVICE_CATEGORY_SPEAKER"
|
||||
ref="DEFAULT_NON_MUTABLE_SPEAKER_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_ACCESSIBILITY" deviceCategory="DEVICE_CATEGORY_EARPIECE"
|
||||
ref="DEFAULT_NON_MUTABLE_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_ACCESSIBILITY" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
|
||||
ref="DEFAULT_NON_MUTABLE_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_ACCESSIBILITY" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
|
||||
ref="DEFAULT_NON_MUTABLE_HEARING_AID_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_ASSISTANT" deviceCategory="DEVICE_CATEGORY_HEADSET"
|
||||
ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_ASSISTANT" deviceCategory="DEVICE_CATEGORY_SPEAKER"
|
||||
ref="DEFAULT_DEVICE_CATEGORY_SPEAKER_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_ASSISTANT" deviceCategory="DEVICE_CATEGORY_EARPIECE"
|
||||
ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_ASSISTANT" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
|
||||
ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_ASSISTANT" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
|
||||
ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_REROUTING" deviceCategory="DEVICE_CATEGORY_HEADSET"
|
||||
ref="FULL_SCALE_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_REROUTING" deviceCategory="DEVICE_CATEGORY_SPEAKER"
|
||||
ref="FULL_SCALE_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_REROUTING" deviceCategory="DEVICE_CATEGORY_EARPIECE"
|
||||
ref="FULL_SCALE_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_REROUTING" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
|
||||
ref="FULL_SCALE_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_REROUTING" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
|
||||
ref="FULL_SCALE_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_PATCH" deviceCategory="DEVICE_CATEGORY_HEADSET"
|
||||
ref="FULL_SCALE_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_PATCH" deviceCategory="DEVICE_CATEGORY_SPEAKER"
|
||||
ref="FULL_SCALE_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_PATCH" deviceCategory="DEVICE_CATEGORY_EARPIECE"
|
||||
ref="FULL_SCALE_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_PATCH" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
|
||||
ref="FULL_SCALE_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_PATCH" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
|
||||
ref="FULL_SCALE_VOLUME_CURVE"/>
|
||||
</volumes>
|
||||
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
# Priority of uart type
|
||||
# HciUartSocket = 0
|
||||
# SerialUartPort = 1
|
||||
# SerialAocUartPort = 2
|
||||
# UserialInvalid = 3
|
||||
UserialTypePriority = 1
|
||||
|
||||
# Uart port name
|
||||
UartPort = /dev/ttySAC16
|
||||
|
||||
# <boolean> Enable check whether let aoc controls power pin
|
||||
AocPowerPinCtrlCheckEnable = false
|
||||
|
||||
# <boolean> Skipping command complete events for write_ram command
|
||||
FastDownloadDisable = false
|
||||
|
||||
# <boolean> Enable/Disable accelerated BT ON
|
||||
# false => Enable Accelerated BT ON
|
||||
# true => Disable Accelerated BT ON
|
||||
AccelBtDisable = false
|
||||
|
||||
# This is used to configure delay for BT_REG_ON during big hammer.
|
||||
# Value should be defined in msec.
|
||||
# 100 msec is mendatory delay. Per module tunning may be needed.
|
||||
BigHammerBtRegOnDelay = 100
|
||||
|
||||
# <string> The hardware support which offload capability
|
||||
BtOffloadCap = NONE
|
||||
|
||||
# <string> The BT Offload Trunk Flag Group Name
|
||||
BtOffloadTrunkGroup = Disabled
|
||||
@@ -0,0 +1,20 @@
|
||||
# This is BTBCM HAL overlay configuration file.
|
||||
|
||||
# Uart port name
|
||||
UartPort = /dev/ttySAC18
|
||||
|
||||
# Sar backOff high resolution support
|
||||
SarBackOffHighResolution = true
|
||||
|
||||
# Update BQR Event Mask property value
|
||||
BqrEventMaskValueUpdate = 262238
|
||||
|
||||
BtA2dpOffloadCap = sbc-aac-aptx-aptxhd-ldac-opus
|
||||
|
||||
BtOpusEnabled = true
|
||||
|
||||
# Silent recover unimplement type packet when no device connected
|
||||
SilentRecoverUnimplementedPacket = true
|
||||
|
||||
# Skip unimplemented type packets as a workaround (b/409428475)
|
||||
SkipUnimplementedPacket = true
|
||||
@@ -0,0 +1,75 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Bluetooth Audio HAL Audio Policy Configuration file -->
|
||||
<module name="bluetooth" halVersion="2.0">
|
||||
<mixPorts>
|
||||
<!-- A2DP Audio Ports -->
|
||||
<mixPort name="a2dp output" role="source" flags="AUDIO_OUTPUT_FLAG_SPATIALIZER"/>
|
||||
<!-- Hearing AIDs Audio Ports -->
|
||||
<mixPort name="hearing aid output" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="24000 16000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<!-- Le Audio Audio Ports -->
|
||||
<mixPort name="le audio broadcast output" role="source" />
|
||||
<mixPort name="le audio output" role="source" flags="AUDIO_OUTPUT_FLAG_SPATIALIZER">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100 48000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="le audio input" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000 16000 24000 32000 44100 48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED"
|
||||
samplingRates="8000 16000 24000 32000 44100 48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
|
||||
samplingRates="8000 16000 24000 32000 44100 48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
|
||||
</mixPort>
|
||||
</mixPorts>
|
||||
<devicePorts>
|
||||
<!-- A2DP Audio Ports -->
|
||||
<devicePort tagName="BT A2DP Out" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100 48000 88200 96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="BT A2DP Headphones" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100 48000 88200 96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="BT A2DP Speaker" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100 48000 88200 96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<!-- Hearing AIDs Audio Ports -->
|
||||
<devicePort tagName="BT Hearing Aid Out" type="AUDIO_DEVICE_OUT_HEARING_AID" role="sink"/>
|
||||
<!-- BLE Audio Ports -->
|
||||
<devicePort tagName="BLE Headset Out" type="AUDIO_DEVICE_OUT_BLE_HEADSET" role="sink"/>
|
||||
<devicePort tagName="BLE Speaker Out" type="AUDIO_DEVICE_OUT_BLE_SPEAKER" role="sink"/>
|
||||
<devicePort tagName="BLE Headset In" type="AUDIO_DEVICE_IN_BLE_HEADSET" role="source"/>
|
||||
<devicePort tagName="BLE Broadcast Out" type="AUDIO_DEVICE_OUT_BLE_BROADCAST" role="sink"/>
|
||||
</devicePorts>
|
||||
<routes>
|
||||
<route type="mix" sink="BT A2DP Out"
|
||||
sources="a2dp output"/>
|
||||
<route type="mix" sink="BT A2DP Headphones"
|
||||
sources="a2dp output"/>
|
||||
<route type="mix" sink="BT A2DP Speaker"
|
||||
sources="a2dp output"/>
|
||||
<route type="mix" sink="BT Hearing Aid Out"
|
||||
sources="hearing aid output"/>
|
||||
<route type="mix" sink="BLE Headset Out"
|
||||
sources="le audio output"/>
|
||||
<route type="mix" sink="le audio input"
|
||||
sources="BLE Headset In"/>
|
||||
<route type="mix" sink="BLE Speaker Out"
|
||||
sources="le audio output"/>
|
||||
<route type="mix" sink="BLE Broadcast Out"
|
||||
sources="le audio broadcast output"/>
|
||||
</routes>
|
||||
</module>
|
||||
Loaded 100 of 2758 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user