Watch
1
0
Fork
You've already forked android_device_oneplus_dre
0

Compare commits

..
Author SHA1 Message Date
Chara
afa45e0fbc Revert "dre: Add Chaos Engineer Identifier"
This reverts commit 9925ce6005.
This commit is being reverted since it does not apply to BlissROM.
2026-07-31 18:10:31 -04:00
2fba01f094 Update bliss_dre.mk 2026-07-31 18:10:03 -04:00
4ed4a96e5f Update lineage_dre.mk 2026-07-31 18:10:03 -04:00
0e25253853 Update device.mk 2026-07-31 18:10:03 -04:00
a817a0d804 Update BoardConfig.mk 2026-07-31 18:10:03 -04:00
beda7f4d04 Update AndroidProducts.mk 2026-07-31 18:10:03 -04:00
be93eb3c09 Update Android.bp 2026-07-31 18:09:52 -04:00
Chara
9925ce6005 dre: Add Chaos Engineer Identifier 2026-07-28 01:30:46 -04:00
Chara
1eae904909 Merge remote-tracking branch 'lineage/lineage-23.2' into hershey 2026-06-29 17:36:39 -04:00
Bruno Martins
cae7be6e63 dre: De-blob oplus interfaces
Change-Id: I86c24df31b72a9058ba3f2430f5c1bb469c4fd0b
2026-06-16 16:20:15 -05:00
Chara
38bf2e0a6d dre: add SystemUI restart button
This implements c74ef26fe8

Thanks again, Nora!
2026-06-15 23:47:10 -04:00
Chara
98f1a55fe5 Add Apache-2.0 LICENSE file 2026-06-15 23:47:10 -04:00
Chara
14c2968d35 Add private sepolicy to BoardConfig.mk; make all SPLs match.
This commit references both b4e321e21d and c2c941216a

Add private sepolicy to BoardConfig.mk; make all SPLs match.

Like my previous commit, this should have been done a while ago.
2026-06-15 23:46:47 -04:00
Chara
661cf4be77 Reapply "Add com.android.bluetooth to seapp_contexts"
Add com.android.bluetooth to seapp_contexts
References 807b124de6

This reverts commit 66cd319bdde5532b8a6ca3f8f39bad7eb8b51440.
so I didn't add it to the BoardConfig.mk... whoopsie.
2026-06-15 23:45:46 -04:00
Chara
064c153395 Revert "Add com.android.bluetooth to seapp_contexts"
This reverts commit 10669c717fdaaf1f3050bc0b2d91ba006170c07b.
This didn't fix SHIT. So, we revert the sepolicy commit instead.
2026-06-15 23:45:46 -04:00
Chara
72394fb9d8 Add com.android.bluetooth to seapp_contexts 2026-06-15 23:45:46 -04:00
Nick Reuter
8f6be400cd dre: Update camera.qcom.so with libcamera_metadata_shim
Fixes: LineageOS/issues/android#10234

Change-Id: Ie97b9dee3b4bdf987f9f7dd430346aae791c724b
2026-05-12 15:37:15 +00:00
Shashank Sivakumar
dd579f73ed dre: Remove kernel config line from Manifest.xml
As part of google requirement change, the kernel config will be pulled
from the kernel-config location rather than the manifest_kalama.xml
file. This change was brought in by the following commit on the google
side - Ib57e8bd03046a07e3a86f21aaafe4aabc5e72710.

Change-Id: Id36132b69dfac5cb0e1b9181518b7077c1031ff6
2026-05-11 11:03:10 -05:00
Nolen Johnson
ef812cd8ea dre: Set FCM level to 7
Change-Id: I06019ee4824a630180c09c39915e1819bb7482af
2026-05-07 12:02:58 -05:00
OothecaPickle
6e513edb17 dre: Stop copying audio configs to sku variants
Change-Id: Ie66d895e782536ee8e757c4d03c676de28ae1dd0
2026-04-10 20:11:11 -05:00
OothecaPickle
e9f3e33af1 dre: Align audio with stock
Change-Id: I1c0342145ad887c8294af29d8e418afbdf2959d1
2026-04-10 20:10:40 -05:00
Nick Reuter
14bb832186 dre: Adapt powerhint values for holi
Change-Id: Id6bc73e539fededd3ccc6e6971e8e0ef3934687c
2026-03-14 12:25:11 -05:00
Vivekachooz
ad0c3a209b dre: powerhint: Sanitize powerhint
Change-Id: I2b30a4f01eeaee9eb38b193965f476693e01c1bd
2026-03-14 12:25:11 -05:00
Vivekachooz
b70f9c7b4a dre: powerhint: Re-tune powerhint for efficiency
Change-Id: Id0e30127864d8685a884ba0fe4139d62eeaaecea
2026-03-14 12:25:11 -05:00
DennySPB
1d0eb36cb2 dre: powerhint: Decrease launch boost to 3sec
* 5s is just too much long plus battery drainer

Change-Id: I7e037c45cd2296a8bbd67d6bd63c212c0ef2a805
2026-03-14 12:25:11 -05:00
daniml3
378c70a194 dre: powerhint: Set 1 second timeout for interaction boosts
* Having no timeout makes the boosts to be permanently triggered until
  some other hint overrides it, for example, making the minimum
  frequency to be stuck at 1248mhz

Signed-off-by: daniml3 <daniel@danielml.dev>
Change-Id: I5edb50f937d0ccede5bc3463572010b20d75fe78
2026-03-14 12:25:11 -05:00
Vivekachooz
468e08287c dre: powerhint: Boost cpus for EXPENSIVE_RENDERING
Change-Id: I4d1430e85c84f95d8a8e97d6d2f5e73fc58ae7e0
2026-03-14 12:25:11 -05:00
Vivekachooz
a2c6761ffc dre: powerhint: Boost little cluster to max upon interaction
Change-Id: Ia45821516a638f277f25373ec59acc001e590fe2
2026-03-14 12:25:11 -05:00
Vivekachooz
f33e67cb7a dre: powerhint: Use uclamp values as percentage
Change-Id: I0b3bd7714cfd234e6901c1e10fac87475dbc614c
2026-03-14 12:25:11 -05:00
Vivekachooz
c1e4b8ba34 dre: powerhint: Optimize for efficiency
Change-Id: Id8b224480a1d554035e7ee58cdbdc86b2a8c0eec
2026-03-14 12:25:11 -05:00
Vivekachooz
63f557e326 dre: powerhint: Enable L3 frequencies for interaction
Change-Id: Ic7b370030b60d2b68bd74fa8daa9ba83f74cdf1f
2026-03-14 12:25:11 -05:00
Vivekachooz
170fdfbe04 dre: powerhint: Enable GPUMinFreq for EXPENSIVE_RENDERING
Change-Id: Id3fefc6a492557d775a04377432d39034047dd56
2026-03-14 12:25:11 -05:00
Adithya R
5402b6597f dre: powerhint: Set screen-off schedutil ratelimits
Use a more power-friendly rate limit configuration (2ms up/down)
to reduce power consumption a bit when the screen is off.

Power results during screen off GPS usage, measured by
Alex Naidis <alex.naidis@paranoidandroid.co> on SDM845:

Before:
392mW
93.5mA

After:
378.5mW
90.2mA

Co-authored-by: Alex Naidis <alex.naidis@paranoidandroid.co>
Change-Id: I1ec50702847a196e2f9366f71b3a5b9465c9a596
Signed-off-by: Adithya R <gh0strider.2k18.reborn@gmail.com>
2026-03-14 12:25:11 -05:00
Edwin Moquete
e7084e8fcc dre: Disable display refresh rate override
This got enabled by default on U, and it causes apps like
Chrome and Youtube to set the refresh rate to 30FPS when
playing some videos.

Change-Id: I649bf03d550c2b9726c7957d15ed09e455d874ec
2026-03-14 12:25:11 -05:00
karthick111
86a9e0aaa3 dre: powerhint: Adjust min frequencies to lowest possible
Change-Id: I38ec27f5c25627b60577b54fd4e1e9a45a517825
2026-03-14 12:25:11 -05:00
karthick111
7a3a91f4e0 dre: powerhint: Set DISPLAY_INACTIVE hint for little cluster
Change-Id: I45df1015e39ba6bdacad9ce53f7157a5f7ba7dc8
2026-03-14 12:25:11 -05:00
Sugakesshaa
ee9be9bc9a dre: powerhint: Enable DT2W hint
Change-Id: Ice21261583d89e0bbc9b0cc099f1125b3c7bd0a4
2026-03-14 12:25:11 -05:00
Vivekachooz
fa8e233ac0 dre: powerhint: Enable CPUDDRLat boost
Change-Id: I5ed88740f92064cf5e7cdcdfb19e1b77eb891a35
2026-03-14 12:25:11 -05:00
Vivekachooz
39940de636 dre: powerhint: Tune powerhint
Change-Id: I8fe54e156b15b6d3a58d7f83cf33d1cf83ce2418
2026-03-14 12:25:11 -05:00
Chiawei Wang
645570d0cf dre: configs: use min_pwrlevel to configure GPU freq
Bug: 146334579
Bug: 146336388
Test: run pts -m PtsPerformanceTestCases -t com.google.android.perf.pts.PowerHALAPITest
Test: run pts -m PtsPerformanceTestCases -t com.google.android.perf.pts.PowerHintJsonVerifyTest
Change-Id: I18c0210463f29831cc94c629a98718406ebdf21b
2026-03-14 12:25:11 -05:00
Wilson Chan
aceb8fdd30 dre: configs: Add Flipendo powerhint
Bug: 153940282
Test: Manually check powerhint succeeds and check perf
Change-Id: Ia3482d3e3b69562aa7c0e5dd326037d1b3806930
2026-03-14 12:25:11 -05:00
Vivekachooz
d8cb90b4ba dre: configs: Enable FIXED_PERFORMANCE in powerhint
Change-Id: I30d519369162d577e419b1c0982a4ac1783fb3b7
2026-03-14 12:25:11 -05:00
Vivekachooz
32361ed7e7 dre: configs: Tune CPUBWMinFreq to a higher frequency
Change-Id: Iceb807b2175141576381fa9dd9a96c8845db3d3b
2026-03-14 12:25:11 -05:00
Vivekachooz
17daa0387c dre: configs: Rearrange powerhint
Change-Id: I77e792f4d453ce6c0b929cad7236be38e6ba475e
2026-03-14 12:25:11 -05:00
Subhajeet Muhuri
5b92da9eae dre: powerhint: Remove audio hints
Signed-off-by: Subhajeet Muhuri <subhajeet.muhuri@aosip.dev>
Change-Id: Ife1cb1e356e62283f3c4d353931458adaf84e975
2026-03-14 12:25:11 -05:00
Sugakesshaa
a5085b5080 dre: powerhint: Setup uclamp boosting
- Make use of uclamp boost for top-app and foreground
  hints based on newer pixels

Co-authored-by: Vivekachooz <vivekachooz@gmail.com>
Change-Id: I70c4262230841b3c7bf84b4165916a22312f829f
2026-03-14 12:25:11 -05:00
Subhajeet Muhuri
c689cef1e0 dre: powerhint: Drop PM QoS boosting
Change-Id: Idcedcc3f4ff1998b6fb59437a2517ee9e0bc75bb
Signed-off-by: Subhajeet Muhuri <subhajeet.muhuri@aosip.dev>
2026-03-14 12:25:11 -05:00
Vivekachooz
f0ac9ffd8a dre: Import and adapt powerhint from redfin
* From redfin-user-13-TQ3A.230901.001-10750268-release-keys

Change-Id: I923c1adf70d035c9def0032ccf29530ce92ebe66
2026-03-14 12:25:09 -05:00
Subhajeet Muhuri
599d267a2c dre: Include hardware/google/interfaces and hardware/google/pixel
* Required by power-libperfmgr

Change-Id: I4053938614be26c7066ea83d97955739f39b4144
2026-03-14 12:24:47 -05:00
Bruno Martins
599fc8c2c5 dre: Enable powerhint parsing after boot completion
Change-Id: Ie065f234bfd949264b962bae80e400a446f65b80
2026-03-14 12:24:47 -05:00
Bruno Martins
9cf9eb1e86 dre: Use common libqti-perfd-client and power-libperfmgr
Change-Id: I22d6b35c72629553817005deaefcae60abc72cfd
2026-03-14 12:24:47 -05:00
LuK1337
ddcc778840 dre: init: Drop I/O prefetcher
This depends on the already removed QTI perf stack.

Change-Id: Ibc5a9616d65e716b8f85184d7d85968e0280ee1d
2026-03-14 12:24:46 -05:00
Wei Wang
17dcd18408 dre: Remove QTI perfd
Bug: 69270928
Test: Build and boot device and test camera
Change-Id: I87b283206f462fb5c8ec9cdd303ae2934fe9bfc4
2026-03-14 12:24:46 -05:00
LuK1337
3e4875b2b9 dre: Remove fwk-detect lib from PRODUCT_PACKAGES
See: Iac75d83e6bc46c137c328a2365e6701c210bfe7a
Change-Id: I6b8571e81e59f438e34b76823f47ff024ec33dc6
2026-03-14 12:24:40 -05:00
LuK1337
b4bce048e3 dre: Add xbl_config_arb_check postinstall for /odm
Change-Id: I9e2f6e1063aa6414790a11b08321df4b0fe5b13b
2026-03-11 16:46:43 -05:00
quic_swarbu
24d5dabf08 dre: display: Disable the property debug.sf.enable_gl_backpressure
Change-Id: Ib328ee094d7c164b50007703ab7610661c2ec017
2026-02-21 18:34:52 -06:00
basamaryan
753363ba07 dre: Update work durations from kalama
Change-Id: Ida3f23e076b87a86ed2291a5b3aa1a6738990b12
2026-02-21 18:34:52 -06:00
tangrobin
ac5ca75997 dre: Use phase offsets as duration
In Android R, the SurfaceFlinger calculate phase offsets
based on duration. Adopt the new way of specifying
phase offsets to SurfaceFlinger.

Bug: 158464992
Test: scrolling, app launching/closing, playing video
Change-Id: Ia717f5c0075b6adaedaf20dd6be689737edc1415
2026-02-21 18:34:52 -06:00
basamaryan
c677fe604a dre: overlay-lineage: Disable blurs by default
Change-Id: Ia323bb8f66e3515bdf16ff3a14c919b8bd859eba
2026-02-21 18:34:52 -06:00
Penguin766
a160445e51 dre: overlay: Reduce blur radius
Change-Id: Id6339df82156099ca14da684f236931b3ecf51ce
Signed-off-by: Cyber Knight <cyberknight755@gmail.com>
2026-02-21 18:34:52 -06:00
me-cafebabe
aa1b1e94ee dre: overlay: Disable high performance transitions
Change-Id: I70c593a8efe1499f8e0917b4e80652b7f3d71198
2026-02-21 18:34:52 -06:00
Bruno Martins
ff2ea73ddf dre: Create standalone RRO for OplusDoze
Change-Id: Ic59cae6c8db3b0b051365692bf1edc5e6efee3c7
2026-02-21 18:34:52 -06:00
basamaryan
73379e9552 dre: Override kernel BPF version
Change-Id: I3c581f3120b6258b3b45020c5ba12f6bf5b0ee27
2026-01-01 23:15:54 -06:00
Michael Bestas
8f634d4565 dre: Patch some blobs to depend on libtinyxml2-v34.so
libtinyxml2 10.1.0 update which landed in BP4A contains ABI
incompatible changes which cause runtime crashes.

Change-Id: Icc67da5f754b0bb30dce6192b1e520fdf1349ac5
2026-01-01 23:14:26 -06:00
Michael Bestas
9d105c0013 dre: Remove machine learning blobs
* liblearningmodule loading is guarded under a debug prop
  in qti perf HAL and libmeters is a liblearningmodule dependency

Change-Id: I7497b7c286c3ab6a6aeea908cf38863b0c60d757
2026-01-01 23:14:26 -06:00
Michael Bestas
ede06c2b54 dre: Remove unused perf LM blobs
Change-Id: I26c06131581c1e4b7464fadb699c36889cfb80ad
2026-01-01 23:13:53 -06:00
Michael Bestas
868f3cd4d9 dre: overlay: Remove Dialer overlay
Call recording is now enabled by default

Change-Id: Ie454647046b9a2e4b2129e3f04352dd08073c744
2025-12-21 18:04:33 -06:00
Bruno Martins
e5ef064e48 dre: Remove implicit FM radio app deps
Change-Id: I96407b03f9039433c3ccf1dc269952510304f0ed
2025-12-01 20:33:18 -06:00
Yumi Yukimura
8de89057be dre: Update some soong config variables to bool type
Change-Id: Ice4a8e2cc6d756a743116b46299cf833a0e78c57
2025-11-30 19:25:45 -06:00
LuK1337
1a342961b8 dre: Shim WFD with libinput_shim
Change-Id: I5c64d4fb6608cf6134ee7647802d9befc26fc8fb
2025-11-30 19:25:45 -06:00
Michael Bestas
711d4717d6 dre: Migrate QTI power HAL to soong_config_set
Change-Id: Ib80c15ee523130011147d378f665592dae501ec2
2025-11-30 19:25:25 -06:00
Lucas Dupin
901ac6e06d dre: Enable blurs
Bug: 181092919
Test: manual; performance scripts
Change-Id: I5875a99167e80ddd5b79fc245f988d8a6ac167be
2025-12-01 00:10:43 +00:00
Georg Veichtlbauer
430c63c80e dre: overlay: Update deprecated screen power items
* screen.on -> screen.on.display0
* screen.full -> screen.full.display0

AOSP frameworks/base: 8ac63071a4e6da7e0740f5eb6c6753218efcfd3a

Change-Id: Iad50e6cb63368e2d71e6fa1dbb6997c0f95d321e
2025-11-22 14:14:13 -06:00
chandu078
e46d58ea61 dre: Move manifests to vintf directory
Change-Id: I2a82e3ae75a1293318efeea0519cfbe64eb4b364
2025-11-22 14:14:12 -06:00
Bruno Martins
eeb91793cd dre: Move and recategorize compat matrix and manifest flags
Qualcomm also sets these in (common) product makefiles.

Change-Id: I7139cba92454106fbca5f6105b966a43e70fe9d6
2025-11-22 14:14:12 -06:00
chandu078
23a17f915c dre: Restructure configuration files
Change-Id: Idf3e89ebd8646e6d6d9b1c2b1bb7b9f9ad656dda
2025-11-22 14:14:12 -06:00
kyasu
d762d6cd89 dre: Disable thumbnail_block_model of libstagefright
Change-Id: I86f92335af282d3de508150bbbcb3026993ec48c
2025-11-22 14:14:12 -06:00
Edgar Arriaga
5a2e089dda dre: overlay: Set default pin amount for home app
Bug: 288900050
Test: dumpsys pinner
Flag: EXEMPT refactor

Change-Id: Ieed912786ce51f420da9b0e96ea5d93c22244176
2025-11-22 14:14:12 -06:00
Nick Reuter
343f321014 dre: Update from OOS 11.C.37
Change-Id: Ib6d64c998e3a5b5a66b87474fc3c629b78e13588
2025-11-22 20:11:17 +00:00
LuK1337
6da6d2617e dre: Remove vendor/lineage device framework matrix inclusion
See: I78da6340f38b93fdc4c3694cb8f431f387d16c0d
Change-Id: I0b9f527de50ca02082be9b92375559f4893b2688
2025-09-29 15:04:04 -05:00
Albert Tang
f99788ebd0 dre: Drop Android.mk
Change-Id: Ia52d77b993f5923006271539d9c2827b9eee9aab
2025-09-29 15:04:04 -05:00
basamaryan
b798d183bc dre: Update WFD system blobs from dada OS2.0.217.0.WOCMIXM
Change-Id: I95dfb07cae97f3c8716a7cb6d87a7081de986748
2025-09-29 15:04:04 -05:00
LuK1337
5e23345444
dre: sepolicy: Migrate qcom_flash rules to hardware/oplus
Change-Id: Iba59cbf2ada217cac07f70d6dc4665a928f0591e
2025-08-22 09:33:26 +02:00
LuK1337
6b9a31bd74
dre: Migrate to AIDL LiveDisplay HAL
Change-Id: I4e8be836e94d442b40c63a1ac7dade3c9d9c784c
2025-08-16 13:56:18 +02:00
Nick Reuter
1e6566533f dre: Use extract-files to fixup media_codecs*.xml
Change-Id: Ie8f18d3a1f1ed04911e4e92bdf74c8a4831dec78
2025-08-09 12:33:14 -05:00
Jake Weinstein
fa11fe4088 dre: Use foreground cpuset/uclamp for gralloc
Makes sure rendering has enough capacity.

Change-Id: I7ad051248353485a8090bec578b2c4325ea06024
2025-08-09 12:33:14 -05:00
Vishalcj17
064df27169 dre: Switch hwcomposer to foreground CPU set
* Greatly affects the performance/latency of the display
   considering you have foreground set to 0-3, 5-6 cores on <SM8150
   whilst being power efficient.

 * This shows an improvement on HWUI graph and even jankbench.

Change-Id: I6438375d844e1b1f38872fb53bdfadfb644fc722
2025-08-09 12:33:14 -05:00
basamaryan
04f204df15 dre: Drop legacy ANT remnants
QSSI only has platform/external/ant-wireless/hidl since a while

Change-Id: Ibccfdc7e72efd3c9d3ff62bda3e729b99433a567
2025-08-09 12:33:14 -05:00
LuK1337
8d8fc5740a dre: Move 64-bit libmmparser_lite.so to "Media" section
Change-Id: Ic2a08519a2d9e9299d419b56479fa82ffc7ea664
2025-08-07 20:20:20 -05:00
Alexander Koskovich
cb994cbb45 dre: overlay: Do not show satellite category for Verizon
Change-Id: Ia959ed079646f04af7f779b29511fbac67861378
2025-06-09 15:38:13 -05:00
Alexander Koskovich
19e7b2ef54 dre: overlay: Disable world_mode_enabled_bool
Fixes preferred network type menu.

Change-Id: I58d4ee8089f1d78d4d606da7b7148599779d6b71
2025-06-09 15:38:13 -05:00
Andrey Sprynga
5b206cd4b1 Revert "dre: audio: Remove direct flag for VOIP RX"
This reverts commit a0aa46e5d8.

Reason for revert: Broke calls in some apps, WhatsApp for example.

Change-Id: I901e19e6042b6388b43ff2622bfa9e29f02a30cc
2025-06-09 15:38:13 -05:00
EcrosoftXiao
ed42e67cc5 dre: audio: Nuke unsupported haptics output configuration
* Fixes Pixel ringtones

Change-Id: Ib81fd4209be8201d13aeea485910169371f82582
Signed-off-by: Bartłomiej Rudecki <ejbtrd@gmail.com>
2025-06-09 15:38:13 -05:00
Tommy Webb
498813a008 dre: Don't try to play many-channel audio as is
This device doesn't have surround sound, as nice as that would be, so
stop pretending. Otherwise, we get weird behavior, like playing surround
sound audio at full volume regardless of the media volume or mute state.
Now, it plays properly.

Issue: calyxos#2075
Change-Id: Ic530906a9dacb2699e32f2ed91f38fab0dad1492
2025-06-09 15:38:13 -05:00
Michael Bestas
8667ff3a08 dre: Don't report unsupported A2DP offload codecs
Change-Id: I4a3094106507aac0afb847eb1d7bf5189349629e
2025-06-09 15:38:13 -05:00
Samyak Jain
865d3ff4d3 dre: configs: Remove 2 instance support for "primary input"
As FM app no longer uses app loopback,
2 instances of "primary input" is not needed

Change-Id: I7d5e941e916bdf221798ca89360e4751d4af322b
2025-06-09 15:38:13 -05:00
Chris Goldsworthy
f18f325a6d dre: init: Remove redundant mlock() limit setting
The per-process limit for the mlock() family of system calls only
needs to be set in one group of config files. Remove from here as it
is being set in init.qcom.rc .

Change-Id: Ia7d46800eabe2954e3e2618a38ff180c88fee348
2025-06-09 15:38:13 -05:00
LuK1337
1b3aa64045 dre: Switch to NCM USB tethering
Change-Id: I20b6b2b2e26a45d8b28c7483afc83ad4da4b8643
2025-06-09 15:38:13 -05:00
Bruno Martins
100d001f78 dre: init: Remove USB overriding rules
USB gadget HAL takes the place of the init-based configfs rules
for setting USB compositions.

Change-Id: Icceafaf6cd761220b9b80a5311e067c272f123c7
2025-06-09 15:38:13 -05:00
Yumi Yukimura
5c843d57c8 dre: Migrate to QTI USB Gadget AIDL HAL
Change-Id: I6adbca2fab9a3fe0477d17f9786166828b786710
2025-06-09 15:38:13 -05:00
Bruno Martins
26ced05f43 dre: Switch to Touch AIDL
Change-Id: I92a19fedb9ea482616c2e3d550e30b69d2a3a5c7
2025-05-13 21:24:21 +01:00
Bruno Martins
6faa3b87ca dre: Migrate Lineage Health to soong_config_set
Change-Id: I2eff39e83b9673aa2989d05de65c646241ba61da
2025-05-13 15:54:46 +00:00
Bruno Martins
c2e71b09e4 dre: Set vendor init lib via soong config
Change-Id: I8f7e6b987bee58dbf09ca9ad7cfd5a7e99e19c3b
2025-05-13 10:41:59 -05:00
Lorenzo Colitti
f6865713f2 dre: Delete dhcpcd init entries, since dhcpcd is no more.
Bug: 27192644
Change-Id: I1aa25190c07f027884421d91c1e93f214493382d
2025-04-12 09:33:33 -05:00
Ethan Chen
3be0a82348 dre: Remove wigig components
Change-Id: If730bffdf749f30ddf0dfeec8ce769848b19b17e
2025-04-12 09:33:33 -05:00
LuK1337
c3f110a620 dre: libwfdservice_shim_v1 -> libwfdservice_shim
Change-Id: Idf65dd61a2de80dfcbf72a8b75b6ca59234df573
2025-04-05 15:37:55 -05:00
Nick Reuter
ce21efc124 dre: sort blob_fixups
Change-Id: I81eee57646aad470b99b0ace0f5a92bdb22e0ead
2025-04-03 16:49:51 -05:00
LuK1337
04dbb0a4b7 dre: Add libwfdservice_shim_v1 for WFD
e69a5be2449122f90220151f9d01ace15221facf in system/hardware/interfaces
broke the ABI ;'(

Change-Id: I60691f2bab3f52fd9ade36ed6fcf6a2ef13a18c9
2025-04-03 16:49:38 -05:00
Anand S
038c148153 dre: Add migration to turn off persist.vendor.radio.poweron_opt
If this value 1 it breaks SMS receiving.

Change-Id: I7f56ecaac51abb6525c6022d92eac1c285ab0688
2025-03-29 14:23:14 -05:00
Arian
3a3d3af33f dre: Generate qcrilNr.db during build
Change-Id: I1f3425713b9b5b1cc7185bc94124b9f01efe3abb
2025-03-29 14:23:02 -05:00
Nick Reuter
02d95c71e9 dre: Add qcril_database files missed during blob update
Change-Id: Ic5280b9f4beac68273032268afb71d19ff3e0ed4
2025-03-25 16:22:40 -05:00
Michael Bestas
12f74ba4a3 dre: Enable ELF checks for libwpa_client dependent libs
Change-Id: I490df02b68da4b9a7088a239672a1dcace66d270
2025-03-25 16:22:31 -05:00
Albert Tang
46c0a47f0f dre: Import LVIMFS libs from DE2117_11.C.34
Change-Id: I69531f5056b1cf90b940f9dc09de53bf1134ae2f
2025-03-06 18:29:02 -08:00
Michael Bestas
610a175646 dre: Enable UFFD GC
Kernel has support for it now.

Change-Id: I3863ee71477f321fe47646571b857fdc39a1902b
2025-03-06 18:28:46 -08:00
Yan Yan
c046b4f19d dre: Add feature flag for IPSEC_TUNNEL_MIGRATION
This commit adds the IPSEC_TUNNEL_MIGRATION feature flag,
with XFRM_MIGRATE used as the implementation

Bug: 273379472
Test: build, flash and verify with "adb shell pm list features"
Test: atest IpSecManagerTunnelTest
Change-Id: Id2ee3e65183e32ea63f6251ba921e1e4c6b09ed0
2025-03-06 18:28:46 -08:00
Yumi Yukimura
6f6627e73e dre: manifest: Bump target-level to 6
Change-Id: I8d419d248f29b7d316a87d55e19ae7ff141e19a5
2025-03-06 18:28:46 -08:00
Tyler Wear
8ce167833a dre: tetheroffload: Version 1.1
Update tetheroffload to version 1.1.

Change-Id: I004e44e416a88a1b39a4c80366df9008722f096b
2025-03-06 18:28:46 -08:00
Kumar Anurag Singh
a0aa46e5d8 dre: audio: Remove direct flag for VOIP RX
Remove direct flag for VOIP RX.

Change-Id: I9ee6f300b7a891afd1ad06c063424509d16d271e
2025-03-06 18:28:46 -08:00
Albert Tang
1408ace291 dre: Swap to OSS audio_io_policy.conf
The 24-bit stuff from oplus is useless anyway.

Change-Id: I8a16002c1afe2c5c4d710b785ff376a7b0273399
2025-03-06 18:28:46 -08:00
LuK1337
29faac8c00 dre: Migrate to avbtool --set_verification_disabled_flag
Change-Id: Ib73f4d97a923b25e25848b24a3554cdd4de1a5ae
2025-03-06 18:28:46 -08:00
LuK1337
5641b0442f Revert "dre: Disable WiFi Aware & RTT for unsupported target"
This reverts commit 98080a2194cdf19a9fa8178a8bc2215cf9a66cad.

Test: run CtsVerifier tool
Change-Id: Ibe8c64d2ba95326594e3103c3cff4c03153e11b9
2025-03-06 18:28:46 -08:00
Albert Tang
bf711e18a8 dre: Drop duplicate audio_platform_info.xml
Change-Id: I02a4279ccec7351c146900f7dada512b29486189
2025-03-01 22:26:04 -08:00
Bruno Martins
020dc6a61d dre: Use aidl sensors multihal
Change-Id: I21da3da39e9726dca693d6bcbe42e93be861f7c7
2025-02-24 19:40:45 -08:00
Michael Bestas
6d84147ff1 dre: Remove unused media_codecs_c2_audio inclusion
Change-Id: Ia163033eb53d24faf74c09f301f227dea9f89a1a
2025-02-24 19:40:45 -08:00
Michael Bestas
96029cfecb fixup! dre: Remove software omx codec references
Change-Id: Ib96c6ff0a0ad7cd9769a008b2b0669effc62db7c
2025-02-24 19:40:45 -08:00
Michael Bestas
2e429556a1 dre: Import media_codecs*.xml from vendor
Change-Id: Ic874270d8bc50e854109556b663cffae22025324
2025-02-24 19:40:45 -08:00
LuK1337
6384736719 dre: Ship lvimfs params files
Change-Id: Iaa653c71094f0cbadcb50692de0a9296d1b006e9
2025-02-24 19:40:45 -08:00
Nick Reuter
035a3a74c2 dre: Copy audio configs to device tree
* audio_platform_info.xml is a copy of audio_platform_info_intcodec.xml
   as it is the closest in comparision to stock

Change-Id: I733f848dd221c21171413711e835f9e77ae70e13
2025-02-24 19:40:45 -08:00
Michael Bestas
c2a9564491 dre: Migrate mount point creation out of Android.mk
Change-Id: Id5986b8a740e45f864eecdd2bd82d9455f128d6b
2025-02-24 19:40:45 -08:00
LuK1337
e49fea649d dre: Reserve more space on /product
Change-Id: I25884eb89ea7d4cbe2b82504c21c83c8513095aa
2025-02-24 19:40:45 -08:00
Luofan Chen
aa2560cffb dre: Define TARGET_GRALLOC_HANDLE_HAS_RESERVED_SIZE
Otherwise the error happens:
```
qdgralloc: Invalid gralloc handle (at 0xb400007004aa1580): ver(12/12) ints(23/22) fds(2/2)
```

Change-Id: Ia62146e8e4bef1342dc964724bd0d088656ad4bc
2025-02-24 19:40:45 -08:00
Nick Reuter
00bfc3b725 dre: organize tree to match sm8350-common
Change-Id: Ia5a9a9a70d662c3fcfef9a30c8fa78acc734b59a
2025-02-24 19:40:45 -08:00
P.Adarsh Reddy
a84d257640 dre: Enforce android-S new launch debugfs restrictions
Change-Id: I78878e1c4177c07d66b13e5659d4360252c5f87b
2025-02-24 19:40:45 -08:00
SagarMakhar
f1051e96cc dre: Turn off persist.vendor.radio.poweron_opt
It's set to 1 in qcril_database migrations. Sed the property
to something else so it defaults to 0.

When the value is 1 it breaks SMS receiving without QTI telephony.

Change-Id: I7f56ecaac51abb6525c6022d92eac1c285ab0688
2025-02-24 19:40:07 -08:00
Albert Tang
49f47b2936 Revert "dre: Set saturated color mode as default"
Keep saturated mode around, in case we need it again.

This reverts commit aa3aceda39.

Change-Id: I0a0c874c9e8934c27ff0df4aaee44cf78aa61103
2025-02-15 12:06:06 -08:00
Albert Tang
00821c77cc dre: Fix sRGB mode in qdcm calibation data
qdcm_calib_data_default.xml has features 2, 7 and 8 disabled for sRGB.
Do the same thing for nt36672c to fix sRGB here.

Change-Id: Ieee41c8a224bf73ad92b5fdcbb2c5d3c4ee2f9ca
2025-02-15 12:05:09 -08:00
Albert Tang
aa3aceda39 dre: Set saturated color mode as default
All other color modes are borked from V QPR1 onwards.

Change-Id: I9e4137a24473f16f3e385cade1d61ef767535557
2025-02-11 10:53:10 -08:00
LuK1337
dcc2c3fa37 dre: Enable elfchecks for camera libs
Reference: I23190f0b83c9e28aa2624a7575544b0eaf5c83c8
Change-Id: I18b0b07bf3a435dd449106653e3ca458b4f07b69
2025-02-11 10:53:00 -08:00
dianlujitao
9acfd5598e dre: move to aidl bootctrl hal
Change-Id: I50fd09148097f0cda03c1a105340a3fd5f55ce8d
2025-02-11 10:52:47 -08:00
danascape
f2c8225ae9 dre: Drop atrace HAL
It is deprecated in Android 14.

Change-Id: I5af8056853058ad29be7debb5c5af5dea83d84a9
2025-02-06 14:39:23 -08:00
LuK1337
6c2484f942 dre: Move WfdCommon boot jar declaration to vendor
Change-Id: I8fa2c0f64692873b432cc252ec88b388a32023a1
2025-02-06 14:39:23 -08:00
Pawin Vongmasa
3298af0f05 dre: Move input surface to CCodec
Test: atest CtsMediaTestCases -- \
--module-arg CtsMediaTestCases:size:small
Bug: 131800183

Change-Id: I8783a7de4a4fdf7ff2eac6697c71f6592c9a9e06
2025-02-06 14:39:23 -08:00
Michael Bestas
a4a325f15e dre: Disable OMX service
Change-Id: I5381e098af64271f9d71c484262e1710e8fcacea
2025-02-02 10:40:55 -08:00
dianlujitao
a27d857000 dre: remove OMX
* OMX HW video codecs are no longer used after enabling Codec2
 * OMX HW audio codecs won't work without QCOM A/V enhancements, which
   we don't have on Lineage.

Change-Id: I65852151c8fb6387add5fc4402ba3f13c97b5f64
2025-02-02 10:40:55 -08:00
SebaUbuntu
72f32ab5a3 dre: overlay: Remove config_defaultPeakRefreshRate
* Our hwcomposer already correctly reports display modes

Change-Id: Ic84ee92914b0c50e6e4f1a64d5b729b8ee8c6985
2025-02-02 10:40:55 -08:00
LuK1337
8dfb14cd39 dre: Move network scan overlay to OPlusSettingsResTarget
Change-Id: I5a5a8feea72a74ffaefd598d5e80bec92783d2ea
2025-02-02 10:40:55 -08:00
Ashok Mutyala
2a9c6383cb dre: init: Mlock limited to 64 KB
In Android 14 and higher, the platform reduces the maximum
memory that can be locked using mlock() to 64 KB per process.
In previous versions, the limit was 64 MB per process.
The new restriction promotes better memory management
across apps and the system.

Test: CtsInitTestCases#MemLockLimit

Signed-off-by: Ashok Mutyala <quic_amutyala@quicinc.com>
Change-Id: I883bff0c1e4bd540a1fae9ab0ea35ebdf4da5255
2025-02-02 10:40:55 -08:00
Randall Huang
4d4f07bd89 dre: fstab: data=journal,commit=1 for /metadata
Since Ext4 doesn't implement "-o sync", it commits metadata at every 5 secs.
This may cause /metadata corruption.

Bug: 162883014
Change-Id: Icd38754bad1b1529d01165ea8c703c214d20bb4b
Signed-off-by: Randall Huang <huangrandall@google.com>
2025-02-02 10:40:55 -08:00
Nick Reuter
53611738e8 dre: use the default display flags
Change-Id: Id10513c5e250aa7e9d805b652e538d71fd4b92b8
2025-02-02 10:40:55 -08:00
Nick Reuter
8671c7c353 fixup! dre: do not manually build dependencies
Change-Id: I88b191c3b23b44a34b0d1841984e6d31079e60ed
2025-02-02 10:40:55 -08:00
PRANAY BHARGAV BHAVARAJU
01ae51cb94 dre: avoid setting permission for /dev/hw_random
Below patch from system/core is setting required access policy
for /dev/hw_random. And CTS test is updated accordingly

https://android-review.googlesource.com/c/platform/system/core/+/2229337
https://android-review.googlesource.com/c/platform/cts/+/2232052

Change-Id: I762dfa3b1e84dee6c49fc178b5b75cf1c134cfb7
2025-02-02 10:40:55 -08:00
Nick Reuter
04882b6545 dre: Address missing libbinder symbols in libwfdnative
_ZN7android6binder12atrace_beginEmPKc
_ZN7android6binder10atrace_endEm

Change-Id: I942d51721461dbbf9c8d0f2f32128529bb7480c3
2024-12-19 20:18:09 -08:00
Nick Reuter
24f2a2590b dre: Bump libwfdservice to android.media.audio.common.types-V4
Change-Id: I81060d8c73430a9598c676e18dc04e31a2f31c0c
2024-12-19 19:46:40 -08:00
LuK1337
97fb165d39 Revert "dre: Build 64-bit only libvndfwk_detect_jni.qti.vendor"
Before:
audio_hw_extn: spkr_prot_feature_init: Called with feature Enabled, vendor_enhanced_info 0x0

After:
audio_hw_extn: spkr_prot_feature_init: Called with feature Enabled, vendor_enhanced_info 0x3

This reverts commit ebce0090de.

Change-Id: Ie5c33eafc1e0be2eeda8e0a6bbbc3712e32986e9
2024-12-05 12:23:15 -08:00
Nick Reuter
384d8c5c98 dre: update kernel scripts from fogos U1UGS34.23-110-2-1
Change-Id: I6e008352da977617e1b21c8e7b9f80df58cfdfbf
2024-11-30 13:14:02 -08:00
Nick Reuter
09e4c842fe dre: switch to upstream sensors
Change-Id: I01783774fabda178aefa42c460c7650fc1ce5e70
2024-11-30 13:05:44 -08:00
Nick Reuter
ffb04a39b7 dre: cleanup Touchscreen firmware
Symlink the carrier variant to global as the binaries are identical

Change-Id: Id12c46fa6b491ead5018e257e7289631a79dc492
2024-11-30 12:59:08 -08:00
Nick Reuter
1b16f3e1e0 dre: update bluetooth from LE2125_14.0.0.720(EX01)
Change-Id: Iade950a471a5b49d2f2d96a61ee83437b2cb5ee6
2024-11-30 12:30:26 -08:00
LuK1337
fd4cc1741a dre: Build wvmkiller
Change-Id: I1505f82dfa92933f2a2fcf5f4b3c96ce4f17c4fb
2024-11-30 12:30:26 -08:00
Luofan Chen
be01fa8dac dre: Build composer service from source
Change-Id: Id9b5920e1be26e9d5417f8e0b2a9e0a295b6e47a
2024-11-30 12:23:55 -08:00
Manoj Basapathi
0448188c4a holi: enable single reg, update HALs.
- Enable IMS RCS single reg
- update ims factory HAL to 2.2
- update qtiradio HAL to 2.7

Change-Id: I641e71a34e36c3d56e0d196c9db98ba240f73788
2024-11-30 12:23:55 -08:00
Pengfei Xiao
5a857c85a8 IMS: Enable IImsRadio v1.7
This change is to enable IImsRadio v1.7

Change-Id: Ic63fd0f1b450174910a5b327547a6c471f119284
CRs-Fixed: 2983955
2024-11-30 12:23:55 -08:00
Susheel Nyamala
c2ccc8596f Uprev QtiRadio HAL to 2.6
Update QtiRadio HAL version to 2.6

Change-Id: Ifd5aafb27dadd912b3bc38c259330b56416ae951
CRs-Fixed: 2854788
2024-11-30 12:23:55 -08:00
Nick Reuter
fecfefb74f dre: update blobs from CPH2467_14.0.0.1320(EX01)
Pin device specific libs, and switch to CPH2467 as default

Change-Id: Ib8c9dd09a18dcd0851c4505187d7ddbdb4faf259
2024-11-30 12:23:12 -08:00
LuK1337
0c0fec03a1 dre: Add libsecureui_svcsock.so and its dependencies
QSEECOMD: : Init dlopen(libsecureui.so, RLTD_NOW) is failed.... dlopen
failed: library "libsecureui_svcsock.so" not found: needed by
/vendor/lib64/libsecureui.so in namespace (default)

QSEECOMD: : Init dlopen(libsecureui.so, RLTD_NOW) is failed.... dlopen
failed: library "vendor.qti.hardware.tui_comm@1.0.so" not found: needed
by /vendor/lib64/libsecureui_svcsock.so in namespace (default)

Change-Id: I4ca32e61d5186cdde898a11d462f49ec9e491503
2024-11-26 15:22:07 -08:00
Albert Tang
7ad0fea5b9 dre: livedisplay: Disable sunlight enhancement
Our panel does not support high brightness mode.

Change-Id: Id836295a231e6afca15ef71c15c5fb41f8029b8e
2024-11-26 15:22:07 -08:00
58 changed files with 3205 additions and 1992 deletions

View file

@ -1,9 +1,14 @@
//
// Copyright (C) 2021-2024 The LineageOS Project
// SPDX-License-Identifier: Apache-2.0
// Copyright (C) 2019-Current A-Team Digital Solutions
//
soong_namespace {
imports: [
"hardware/google/interfaces",
"hardware/google/pixel"
],
}
install_symlink {
@ -17,5 +22,5 @@ install_symlink {
name: "firmware_WCNSS_qcom_cfg.ini_symlink",
vendor: true,
installed_location: "firmware/wlan/qca_cld/WCNSS_qcom_cfg.ini",
symlink_target: "/odm/etc/wifi/WCNSS_qcom_cfg.ini",
symlink_target: "/odm/vendor/etc/wifi/WCNSS_qcom_cfg.ini",
}

View file

@ -1,33 +0,0 @@
#
# Copyright (C) 2021-2024 The LineageOS Project
#
# SPDX-License-Identifier: Apache-2.0
#
LOCAL_PATH := $(call my-dir)
ifeq ($(TARGET_DEVICE),dre)
include $(call all-makefiles-under,$(LOCAL_PATH))
include $(CLEAR_VARS)
# A/B builds require us to create the mount points at compile time.
# Just creating it for all cases since it does not hurt.
FIRMWARE_MOUNT_POINT := $(TARGET_OUT_VENDOR)/firmware_mnt
$(FIRMWARE_MOUNT_POINT): $(LOCAL_INSTALLED_MODULE)
@echo "Creating $(FIRMWARE_MOUNT_POINT)"
@mkdir -p $(TARGET_OUT_VENDOR)/firmware_mnt
BT_FIRMWARE_MOUNT_POINT := $(TARGET_OUT_VENDOR)/bt_firmware
$(BT_FIRMWARE_MOUNT_POINT): $(LOCAL_INSTALLED_MODULE)
@echo "Creating $(BT_FIRMWARE_MOUNT_POINT)"
@mkdir -p $(TARGET_OUT_VENDOR)/bt_firmware
DSP_MOUNT_POINT := $(TARGET_OUT_VENDOR)/dsp
$(DSP_MOUNT_POINT): $(LOCAL_INSTALLED_MODULE)
@echo "Creating $(DSP_MOUNT_POINT)"
@mkdir -p $(TARGET_OUT_VENDOR)/dsp
ALL_DEFAULT_INSTALLED_MODULES += $(FIRMWARE_MOUNT_POINT) $(BT_FIRMWARE_MOUNT_POINT) $(DSP_MOUNT_POINT)
endif

View file

@ -13,6 +13,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Copyright (C) 2019-Current A-Team Digital Solutions
PRODUCT_MAKEFILES := \
$(LOCAL_DIR)/lineage_dre.mk
$(LOCAL_DIR)/bliss_dre.mk

View file

@ -1,8 +1,6 @@
#
# Copyright (C) 2021-2024 The LineageOS Project
#
# SPDX-License-Identifier: Apache-2.0
#
# Copyright (C) 2019-Current A-Team Digital Solutions
DEVICE_PATH := device/oneplus/dre
@ -22,9 +20,6 @@ AB_OTA_PARTITIONS += \
vendor_boot \
vendor_dlkm
# ANT+
BOARD_ANT_WIRELESS_DEVICE := "qualcomm-hidl"
# Architecture
TARGET_ARCH := arm64
TARGET_ARCH_VARIANT := armv8-a
@ -67,35 +62,13 @@ TARGET_USES_QTI_CAMERA_DEVICE := true
USE_DEVICE_SPECIFIC_CAMERA := true
# Display
TARGET_GRALLOC_HANDLE_HAS_RESERVED_SIZE := true
TARGET_HAS_WIDE_COLOR_DISPLAY := false
TARGET_SCREEN_DENSITY := 450
TARGET_USES_COLOR_METADATA := true
TARGET_USES_DISPLAY_RENDER_INTENTS := true
TARGET_USES_DRM_PP := true
TARGET_USES_GRALLOC4 := true
TARGET_USES_HWC2 := true
TARGET_USES_ION := true
TARGET_USES_QCOM_DISPLAY_BSP := true
TARGET_USES_QTI_MAPPER_2_0 := true
TARGET_USES_QTI_MAPPER_EXTENSIONS_1_1 := true
# Filesystem
TARGET_FS_CONFIG_GEN := $(DEVICE_PATH)/config.fs
# Health
TARGET_HEALTH_CHARGING_CONTROL_CHARGING_PATH := /sys/class/oplus_chg/battery/mmi_charging_enable
# HIDL
DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE := \
hardware/oplus/vintf/device_framework_matrix.xml \
hardware/qcom-caf/common/vendor_framework_compatibility_matrix.xml \
vendor/lineage/config/device_framework_matrix.xml
DEVICE_MATRIX_FILE := hardware/qcom-caf/common/compatibility_matrix.xml
DEVICE_MANIFEST_FILE := $(DEVICE_PATH)/manifest.xml
ODM_MANIFEST_FILES := $(DEVICE_PATH)/manifest_odm.xml
# Init
TARGET_INIT_VENDOR_LIB := //$(DEVICE_PATH):libinit_oplus
# Kernel
BOARD_BOOT_HEADER_VERSION := 3
BOARD_KERNEL_BASE := 0x00000000
@ -128,6 +101,7 @@ BOARD_VENDOR_KERNEL_MODULES_LOAD := $(strip $(shell cat $(DEVICE_PATH)/modules.l
BOARD_USES_METADATA_PARTITION := true
# Partitions
BOARD_PRODUCTIMAGE_MINIMAL_PARTITION_RESERVED_SIZE := false
-include vendor/lineage/config/BoardConfigReservedSize.mk
BOARD_BOOTIMAGE_PARTITION_SIZE := 100663296
BOARD_DTBOIMG_PARTITION_SIZE := 8388608
@ -154,9 +128,6 @@ TARGET_COPY_OUT_VENDOR_DLKM := vendor_dlkm
BOARD_USES_QCOM_HARDWARE := true
TARGET_BOARD_PLATFORM := holi
# Power
TARGET_TAP_TO_WAKE_NODE := "/proc/touchpanel/double_tap_enable"
# Properties
TARGET_ODM_PROP += $(DEVICE_PATH)/odm.prop
TARGET_PRODUCT_PROP += $(DEVICE_PATH)/product.prop
@ -175,19 +146,18 @@ TARGET_USERIMAGES_USE_F2FS := true
ENABLE_VENDOR_RIL_SERVICE := true
# Security
BOOT_SECURITY_PATCH := 2024-10-05
BOOT_SECURITY_PATCH := $(PLATFORM_SECURITY_PATCH)
VENDOR_SECURITY_PATCH := $(BOOT_SECURITY_PATCH)
# SEPolicy
include device/qcom/sepolicy_vndr/SEPolicy.mk
include hardware/oplus/sepolicy/qti/SEPolicy.mk
BOARD_VENDOR_SEPOLICY_DIRS += $(DEVICE_PATH)/sepolicy/vendor
SYSTEM_EXT_PRIVATE_SEPOLICY_DIRS += $(DEVICE_PATH)/sepolicy/private
# Verified Boot
BOARD_AVB_ENABLE := true
BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --set_hashtree_disabled_flag
BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --flags 2
BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --set_verification_disabled_flag
BOARD_AVB_BOOT_KEY_PATH := external/avb/test/data/testkey_rsa4096.pem
BOARD_AVB_BOOT_ALGORITHM := SHA256_RSA4096
@ -220,6 +190,7 @@ BOARD_WPA_SUPPLICANT_PRIVATE_LIB_EVENT := "ON"
WIFI_DRIVER_STATE_CTRL_PARAM := "/dev/wlan"
WIFI_DRIVER_STATE_OFF := "OFF"
WIFI_DRIVER_STATE_ON := "ON"
WIFI_HIDL_FEATURE_AWARE := true
WIFI_HIDL_FEATURE_DUAL_INTERFACE := true
WIFI_HIDL_UNIFIED_SUPPLICANT_SERVICE_RC_ENTRY := true
WPA_SUPPLICANT_VERSION := VER_0_8_X

201
LICENSE Normal file
View file

@ -0,0 +1,201 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

View file

@ -1,6 +1,4 @@
#
# Copyright (C) 2021-2023 The LineageOS Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
@ -12,19 +10,20 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Copyright (C) 2019-Current A-Team Digital Solutions
# Inherit from those products. Most specific first.
$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
TARGET_SUPPORTS_OMX_SERVICE := false
$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base_telephony.mk)
# Inherit from dre device
$(call inherit-product, device/oneplus/dre/device.mk)
# Inherit some common Lineage stuff.
$(call inherit-product, vendor/lineage/config/common_full_phone.mk)
# Inherit some common Bliss stuff.
$(call inherit-product, vendor/bliss/config/common_full_phone.mk)
PRODUCT_NAME := lineage_dre
PRODUCT_NAME := bliss_dre
PRODUCT_DEVICE := dre
PRODUCT_MANUFACTURER := OnePlus
PRODUCT_BRAND := OnePlus
@ -33,8 +32,8 @@ PRODUCT_MODEL := DE2117
PRODUCT_GMS_CLIENTID_BASE := android-oneplus
PRODUCT_BUILD_PROP_OVERRIDES += \
BuildDesc="OnePlusN200-user 12 SKQ1.210216.001 R.1a8c53e-1-16457e release-keys" \
BuildFingerprint=OnePlus/OnePlusN200/OnePlusN200:12/SKQ1.210216.001/R.1a8c53e-1-16457e:user/release-keys \
BuildDesc="OnePlusN200-user 12 SKQ1.210216.001 R.205d809_1-735849 release-keys" \
BuildFingerprint=OnePlus/OnePlusN200/OnePlusN200:12/SKQ1.210216.001/R.205d809_1-735849:user/release-keys \
DeviceName=OnePlusN200 \
DeviceProduct=OnePlusN200 \
SystemDevice=OnePlusN200 \

View file

@ -0,0 +1,14 @@
--- a/init.kernel.post_boot-blair.sh
+++ b/init.kernel.post_boot-blair.sh
@@ -32,11 +32,6 @@
#=============================================================================
function configure_zram_parameters() {
- # Moto yangbq2: Skip this if we are using zram from fstab.
- using_zram_from_fstab=`getprop ro.boot.using_zram_from_fstab`
- if [ "$using_zram_from_fstab" == "true" ]; then
- return
- fi
MemTotalStr=`cat /proc/meminfo | grep MemTotal`
MemTotal=${MemTotalStr:16:8}

View file

@ -0,0 +1,14 @@
--- a/init.kernel.post_boot-holi.sh
+++ b/init.kernel.post_boot-holi.sh
@@ -32,11 +32,6 @@
#=============================================================================
function configure_zram_parameters() {
- # Moto yangbq2: Skip this if we are using zram from fstab.
- using_zram_from_fstab=`getprop ro.boot.using_zram_from_fstab`
- if [ "$using_zram_from_fstab" == "true" ]; then
- return
- fi
MemTotalStr=`cat /proc/meminfo | grep MemTotal`
MemTotal=${MemTotalStr:16:8}

View file

@ -1,40 +0,0 @@
--- a/smali/com/oplus/ims/impl/OplusPhoneStateTracker$2.smali
+++ b/smali/com/oplus/ims/impl/OplusPhoneStateTracker$2.smali
@@ -187,7 +187,7 @@
.line 154
:cond_0
- invoke-virtual {p1}, Landroid/telephony/ServiceState;->getRadioTechnology()I
+ invoke-virtual {p1}, Landroid/telephony/ServiceState;->getRilDataRadioTechnology()I
move-result v1
@@ -199,7 +199,7 @@
move-result-object v2
- invoke-virtual {v2}, Landroid/telephony/ServiceState;->getRadioTechnology()I
+ invoke-virtual {v2}, Landroid/telephony/ServiceState;->getRilDataRadioTechnology()I
move-result v2
--- a/smali/com/oplus/ims/impl/keyLog/OplusImsKeyLogHelper.smali
+++ b/smali/com/oplus/ims/impl/keyLog/OplusImsKeyLogHelper.smali
@@ -3685,7 +3685,7 @@
iget-object v0, p0, Lcom/oplus/ims/impl/keyLog/OplusImsKeyLogHelper;->mServiceState:Landroid/telephony/ServiceState;
.line 334
- invoke-virtual {v0}, Landroid/telephony/ServiceState;->getRadioTechnology()I
+ invoke-virtual {v0}, Landroid/telephony/ServiceState;->getRilDataRadioTechnology()I
move-result v0
@@ -3696,7 +3696,7 @@
iget-object v0, p0, Lcom/oplus/ims/impl/keyLog/OplusImsKeyLogHelper;->mServiceState:Landroid/telephony/ServiceState;
.line 335
- invoke-virtual {v0}, Landroid/telephony/ServiceState;->getRadioTechnology()I
+ invoke-virtual {v0}, Landroid/telephony/ServiceState;->getRilDataRadioTechnology()I
move-result v0

View file

@ -0,0 +1,581 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Copyright (c) 2014, 2016-2020, The Linux Foundation. All rights reserved. -->
<!-- -->
<!-- Redistribution and use in source and binary forms, with or without -->
<!-- modification, are permitted provided that the following conditions are -->
<!-- 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_info>
<bit_width_configs>
<device name="SND_DEVICE_OUT_SPEAKER" bit_width="24"/>
</bit_width_configs>
<interface_names>
<device name="AUDIO_DEVICE_IN_BUILTIN_MIC" interface="TX_CDC_DMA_TX_3" codec_type="internal"/>
<device name="AUDIO_DEVICE_IN_BACK_MIC" interface="TX_CDC_DMA_TX_3" codec_type="internal"/>
</interface_names>
<module_ids>
<aec>
<device name="SND_DEVICE_IN_SPEAKER_TMIC_AEC_NS" module_id="0x10F35" instance_id="0x0" param_id="0x10EAF" param_value="0x01"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS_BROADSIDE" module_id="0x10F34" instance_id="0x0" param_id="0x10EAF" param_value="0x01"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS" module_id="0x10F33" instance_id="0x0" param_id="0x10EAF" param_value="0x01"/>
<device name="SND_DEVICE_IN_SPEAKER_MIC_AEC_NS" module_id="0x10F31" instance_id="0x0" param_id="0x10EAF" param_value="0x01"/>
<device name="SND_DEVICE_IN_HANDSET_DMIC_AEC_NS" module_id="0x10F33" instance_id="0x0" param_id="0x10EAF" param_value="0x01"/>
<device name="SND_DEVICE_IN_HANDSET_MIC_AEC_NS" module_id="0x10F31" instance_id="0x0" param_id="0x10EAF" param_value="0x01"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS_SB" module_id="0x10F39" instance_id="0x8000" param_id="0x10EAF" param_value="0x01"/>
<device name="SND_DEVICE_IN_SPEAKER_MIC_AEC_NS_SB" module_id="0x10F38" instance_id="0x8000" param_id="0x10EAF" param_value="0x01"/>
<device name="SND_DEVICE_IN_HANDSET_DMIC_AEC_NS_SB" module_id="0x10F39" instance_id="0x8000" param_id="0x10EAF" param_value="0x01"/>
<device name="SND_DEVICE_IN_HANDSET_MIC_AEC_NS_SB" module_id="0x10F38" instance_id="0x8000" param_id="0x10EAF" param_value="0x01"/>
</aec>
<ns>
<device name="SND_DEVICE_IN_SPEAKER_TMIC_AEC_NS" module_id="0x10F35" instance_id="0x0" param_id="0x10EAF" param_value="0x02"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS_BROADSIDE" module_id="0x10F34" instance_id="0x0" param_id="0x10EAF" param_value="0x02"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS" module_id="0x10F33" instance_id="0x0" param_id="0x10EAF" param_value="0x02"/>
<device name="SND_DEVICE_IN_SPEAKER_MIC_AEC_NS" module_id="0x10F31" instance_id="0x0" param_id="0x10EAF" param_value="0x02"/>
<device name="SND_DEVICE_IN_HANDSET_DMIC_AEC_NS" module_id="0x10F33" instance_id="0x0" param_id="0x10EAF" param_value="0x02"/>
<device name="SND_DEVICE_IN_HANDSET_MIC_AEC_NS" module_id="0x10F31" instance_id="0x0" param_id="0x10EAF" param_value="0x02"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS_SB" module_id="0x10F39" instance_id="0x8000" param_id="0x10EAF" param_value="0x02"/>
<device name="SND_DEVICE_IN_SPEAKER_MIC_AEC_NS_SB" module_id="0x10F38" instance_id="0x8000" param_id="0x10EAF" param_value="0x02"/>
<device name="SND_DEVICE_IN_HANDSET_DMIC_AEC_NS_SB" module_id="0x10F39" instance_id="0x8000" param_id="0x10EAF" param_value="0x02"/>
<device name="SND_DEVICE_IN_HANDSET_MIC_AEC_NS_SB" module_id="0x10F38" instance_id="0x8000" param_id="0x10EAF" param_value="0x02"/>
</ns>
</module_ids>
<pcm_ids>
<usecase name="USECASE_AUDIO_PLAYBACK_LOW_LATENCY" type="out" id="9"/>
<usecase name="USECASE_AUDIO_PLAYBACK_OFFLOAD" type="out" id="7"/>
<usecase name="USECASE_AUDIO_PLAYBACK_OFFLOAD2" type="out" id="11"/>
<usecase name="USECASE_AUDIO_PLAYBACK_OFFLOAD3" type="out" id="43"/>
<usecase name="USECASE_AUDIO_PLAYBACK_OFFLOAD4" type="out" id="24"/>
<usecase name="USECASE_AUDIO_PLAYBACK_OFFLOAD5" type="out" id="25"/>
<usecase name="USECASE_AUDIO_PLAYBACK_OFFLOAD6" type="out" id="26"/>
<usecase name="USECASE_AUDIO_PLAYBACK_OFFLOAD7" type="out" id="27"/>
<usecase name="USECASE_AUDIO_PLAYBACK_OFFLOAD8" type="out" id="28"/>
<usecase name="USECASE_VOICEMMODE1_CALL" type="in" id="2"/>
<usecase name="USECASE_VOICEMMODE1_CALL" type="out" id="2"/>
<usecase name="USECASE_VOICEMMODE2_CALL" type="in" id="15"/>
<usecase name="USECASE_VOICEMMODE2_CALL" type="out" id="15"/>
<usecase name="USECASE_VOWLAN_CALL" type="in" id="-1"/>
<usecase name="USECASE_VOWLAN_CALL" type="out" id="-1"/>
<usecase name="USECASE_AUDIO_PLAYBACK_FM" type="out" id="30"/>
<usecase name="USECASE_AUDIO_PLAYBACK_FM" type="in" id="37"/>
<usecase name="USECASE_AUDIO_SPKR_CALIB_RX" type="out" id="30"/>
<usecase name="USECASE_AUDIO_SPKR_CALIB_TX" type="in" id="33"/>
<usecase name="USECASE_AUDIO_PLAYBACK_AFE_PROXY" type="out" id="5"/>
<usecase name="USECASE_AUDIO_RECORD_AFE_PROXY" type="in" id="6"/>
<!--#Isha.Padiyar@MULTIMEDIA.AUDIODRIVER.HAL, 2022/09/22, Add for hearing-aid support-->
<usecase name="USECASE_AUDIO_RECORD_AFE_PROXY2" type="in" id="41"/>
<!--#Isha.Padiyar@MULTIMEDIA.AUDIODRIVER.HAL, 2022/09/22, Add for hearing-aid support-->
<usecase name="USECASE_AUDIO_RECORD_LOW_LATENCY" type="in" id="13" />
<usecase name="USECASE_AUDIO_RECORD_VOIP_LOW_LATENCY" type="in" id="13" />
<usecase name="USECASE_AUDIO_PLAYBACK_ULL" type="out" id="13" />
<usecase name="USECASE_AUDIO_PLAYBACK_SILENCE" type="out" id="23" />
<usecase name="USECASE_AUDIO_PLAYBACK_VOIP" type="out" id="12" />
<usecase name="USECASE_AUDIO_RECORD_VOIP" type="in" id="12" />
<usecase name="USECASE_AUDIO_HFP_SCO" type="in" id="12" />
<usecase name="USECASE_AUDIO_HFP_SCO_WB" type="in" id="12" />
<usecase name="USECASE_AUDIO_PLAYBACK_MMAP" type="out" id="29" />
<usecase name="USECASE_AUDIO_RECORD_MMAP" type="in" id="29" />
<usecase name="USECASE_AUDIO_A2DP_ABR_FEEDBACK" type="in" id="35" />
<usecase name="USECASE_AUDIO_A2DP_ABR_FEEDBACK" type="out" id="35" />
<usecase name="USECASE_INCALL_MUSIC_UPLINK" type="out" id="23" />
<usecase name="USECASE_INCALL_MUSIC_UPLINK2" type="out" id="23" />
<usecase name="USECASE_AUDIO_RECORD_COMPRESS2" type="in" id="36" />
<usecase name="USECASE_INCALL_REC_UPLINK" type="in" id="23" />
<usecase name="USECASE_INCALL_REC_DOWNLINK" type="in" id="23" />
<usecase name="USECASE_INCALL_REC_UPLINK_AND_DOWNLINK" type="in" id="23" />
<!--Jianfeng.Qiu@MULTIMEDIA.AUDIODRIVER.OPLUS_FEATURE_KTV, 2017/04/05, Add for ktv loopback-->
<usecase name="USECASE_AUDIO_OPLUS_KTV" type="in" id="33" />
<usecase name="USECASE_AUDIO_OPLUS_KTV" type="out" id="33" />
<usecase name="USECASE_AUDIO_OPLUS_KTV_USB_HS" type="in" id="33" />
<usecase name="USECASE_AUDIO_OPLUS_KTV_USB_HS" type="out" id="33" />
<!--Jianfeng.Qiu@MULTIMEDIA.AUDIODRIVER.OPLUS_FEATURE_KTV, 2017/04/05, Add for ktv loopback end-->
</pcm_ids>
<config_params>
<!-- In the below value string, the value indicates default mono -->
<!-- speaker. It can be set to either left or right -->
<param key="mono_speaker" value="right"/>
<param key="true_32_bit" value="true"/>
<param key="hifi_filter" value="false"/>
<param key="native_audio_mode" value="multiple_mix_dsp"/>
<param key="hfp_pcm_dev_id" value="39"/>
<param key="input_mic_max_count" value="4"/>
<!--#Le.li@PSW.MM.AudioDriver.HAL, 2020/10/11, Add for audio conifg begin -->
<!--Vincent.chen@MULTIMEDIA.AUDIODRIVER.HAL, 2022/01/10, change mic count to 2 for N200 from R -->
<!-- <param key="oppo_mic_count" value="1"/> -->
<param key="oplus_mic_count" value="2"/>
<!--Vincent.chen@MULTIMEDIA.AUDIODRIVER.HAL, 2022/01/10, change mic count to 2 for N200 from R end-->
<param key="oppo_speaker_id" value="1"/>
<param key="oppo_multi_record" value="false"/>
<!--#Le.li@PSW.MM.AudioDriver.HAL, 2020/10/11, Add for audio conifg config end -->
<!--#Juqiang.Geng@MULTIMEDIA.AUDIODRIVER.HAL.OPLUS_FEATURE_AP_LVIMFS, 2020/08/24, Add for AP LVIMFS-->
<param key="record_use_ap_lvimfs" value="enable"/>
<!--#Juqiang.Geng@MULTIMEDIA.AUDIODRIVER.HAL, 2020/08/24, Add for AP LVIMFS end-->
<!--#Nan.Zhong@MULTIMEDIA.AUDIODRIVER.HAL, 2020/11/13, Add for tty mode-->
<param key="oplus_tty_support" value="0"/>
<!--#Nan.Zhong@MULTIMEDIA.AUDIODRIVER.HAL, 2020/11/13, Add for tty mode end-->
<!--#Le.LI@MULTIMEDIA.AUDIODRIVER.HAL, 2020/11/20, Add for smartPa eng support-->
<param key="emsmartcalibratesupport" value="0"/>
<!--#Le.LI@MULTIMEDIA.AUDIODRIVER.HAL, 2020/11/20, Add for smartPa eng support end-->
<!--Run.Zhang@MULTIMEDIA.AUDIODRIVER.FEATURE, 2021/04/09 , Add for headphone volume match to impedance -->
<param key="enable_hp_impedance_match" value="true"/>
<param key="hp_impedance_match_threshold" value="65"/>
<!--Run.Zhang@MULTIMEDIA.AUDIODRIVER.FEATURE, 2021/04/09 , Add for headphone volume match to impedance end-->
<!--chenshuyun@MULTIMEDIA.AUDIODRIVER.HAL, 2022/01/21, Add for camcorder switch mic -->
<param key="camcorder_switch_mic" value="true"/>
<!--chenshuyun@MULTIMEDIA.AUDIODRIVER.HAL, 2022/01/21, Add for camcorder switch mic end -->
<param key="spkr_hph_single_be_native_concurrency" value="true"/>
</config_params>
<gain_db_to_level_mapping>
<gain_level_map db="-59" level="5"/>
<gain_level_map db="-17.4" level="4"/>
<gain_level_map db="-13.8" level="3"/>
<gain_level_map db="-10.2" level="2"/>
<gain_level_map db="0" level="1"/>
</gain_db_to_level_mapping>
<acdb_ids>
<device name="SND_DEVICE_OUT_SPEAKER" acdb_id="15"/>
<device name="SND_DEVICE_OUT_SPEAKER_REVERSE" acdb_id="15"/>
<device name="SND_DEVICE_OUT_SPEAKER_PROTECTED" acdb_id="124"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_PROTECTED" acdb_id="101"/>
<device name="SND_DEVICE_OUT_SPEAKER_PROTECTED_VBAT" acdb_id="124"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_PROTECTED_VBAT" acdb_id="101"/>
<device name="SND_DEVICE_IN_CAPTURE_VI_FEEDBACK" acdb_id="102"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_2_PROTECTED" acdb_id="150"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_2_PROTECTED_VBAT" acdb_id="150"/>
<device name="SND_DEVICE_IN_CAPTURE_VI_FEEDBACK_MONO_1" acdb_id="151"/>
<device name="SND_DEVICE_IN_CAPTURE_VI_FEEDBACK_MONO_2" acdb_id="152"/>
<device name="SND_DEVICE_OUT_SPEAKER_EXTERNAL_1" acdb_id="14"/>
<device name="SND_DEVICE_OUT_SPEAKER_EXTERNAL_2" acdb_id="14"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_HEADPHONES_EXTERNAL_1" acdb_id="10"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_HEADPHONES_EXTERNAL_2" acdb_id="10"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_USB_HEADSET" acdb_id="45"/>
<device name="SND_DEVICE_IN_UNPROCESSED_MIC" acdb_id="143"/>
<device name="SND_DEVICE_IN_UNPROCESSED_STEREO_MIC" acdb_id="144"/>
<device name="SND_DEVICE_IN_UNPROCESSED_THREE_MIC" acdb_id="145"/>
<device name="SND_DEVICE_IN_UNPROCESSED_QUAD_MIC" acdb_id="146"/>
<device name="SND_DEVICE_IN_UNPROCESSED_HEADSET_MIC" acdb_id="147"/>
<device name="SND_DEVICE_IN_HANDSET_GENERIC_QMIC" acdb_id="191"/>
<device name="SND_DEVICE_IN_VOICE_HEARING_AID" acdb_id="11"/>
<device name="SND_DEVICE_OUT_VOICE_HANDSET_TMUS" acdb_id="7"/>
<!--Vincent.chen@MULTIMEDIA.AUDIODRIVER.HAL, 2021/11/10, add for HAC-->
<device name="SND_DEVICE_IN_VOICE_DMIC_TMUS" acdb_id="41"/>
<device name="SND_DEVICE_OUT_VOICE_HAC_HANDSET" acdb_id="103"/>
<device name="SND_DEVICE_IN_VOICE_HAC_HANDSET_DMIC" acdb_id="105"/>
<!--Vincent.chen@MULTIMEDIA.AUDIODRIVER.HAL, 2021/11/10, add for HAC end-->
<!--#Le.li@PSW.MM.AudioDriver.HAL, 2020/10/11, Add for oplus FTM config begin -->
<device name="SND_DEVICE_OUT_VOICE_HANDSET" acdb_id="7"/>
<device name="SND_DEVICE_IN_UNPROCESSED_USB_HEADSET_MIC" acdb_id="133"/>
<device name="SND_DEVICE_OUT_MMI_SPEAKER_PLAYBACK" acdb_id="99"/>
<device name="SND_DEVICE_OUT_MMI_LEFT_SPEAKER_PLAYBACK" acdb_id="124"/>
<device name="SND_DEVICE_OUT_MMI_RECEIVER_PLAYBACK" acdb_id="30"/>
<device name="SND_DEVICE_OUT_ENGINNER_RECIVER_TEST" acdb_id="30"/>
<device name="SND_DEVICE_IN_MAIN_MIC_RECORD" acdb_id="104"/>
<device name="SND_DEVICE_IN_SEC_MIC_RECORD" acdb_id="104"/>
<device name="SND_DEVICE_IN_ANC_MIC_RECORD" acdb_id="104"/>
<device name="SND_DEVICE_IN_MMI_MIC_RECORD" acdb_id="144"/>
<device name="SND_DEVICE_IN_MMI_ANC_MIC_RECORD" acdb_id="144"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER" acdb_id="14"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_STEREO" acdb_id="14"/>
<!--Vincent.chen@MULTIMEDIA.AUDIODRIVER.HAL, 2022/01/10, change voice headset headphone id to 10 sync R -->
<!--<device name="SND_DEVICE_OUT_VOICE_HEADPHONES" acdb_id="9"/>
<device name="SND_DEVICE_OUT_VOICE_HEADSET" acdb_id="9"/> -->
<device name="SND_DEVICE_OUT_VOICE_HEADPHONES" acdb_id="10"/>
<device name="SND_DEVICE_OUT_VOICE_HEADSET" acdb_id="10"/>
<!--Vincent.chen@MULTIMEDIA.AUDIODRIVER.HAL, 2022/01/10, change voice headset headphone id to 10 sync R -->
<device name="SND_DEVICE_IN_HEADSET_MIC" acdb_id="23"/>
<device name="SND_DEVICE_IN_CAMCORDER_MIC" acdb_id="46"/>
<!--#Le.li@PSW.MM.AudioDriver.HAL, 2020/10/11, Add for oplus FTM config end -->
<device name="SND_DEVICE_OUT_DUMMY" acdb_id="15"/>
<device name="SND_DEVICE_IN_HANDSET_MIC_HEARING_TEST" acdb_id="91"/>
<!--chenshuyun@MULTIMEDIA.AUDIODRIVER.HAL, 2022/01/21, Add for camcorder switch mic -->
<device name="SND_DEVICE_IN_HANDSET_DMIC_STEREO_SWITCH" acdb_id="34"/>
<!--chenshuyun@MULTIMEDIA.AUDIODRIVER.HAL, 2022/01/21, Add for camcorder switch mic end-->
<device name="SND_DEVICE_IN_HANDSET_MIC" acdb_id="34"/>
<device name="SND_DEVICE_IN_SPEAKER_MIC" acdb_id="35"/>
<device name="SND_DEVICE_IN_VOICE_SPEAKER_MIC" acdb_id="43"/>
<device name="SND_DEVICE_IN_HANDSET_TMIC" acdb_id="41"/>
<device name="SND_DEVICE_IN_VOICE_SPEAKER_TMIC" acdb_id="43"/>
<device name="SND_DEVICE_IN_HANDSET_MIC_AEC" acdb_id="108"/>
<device name="SND_DEVICE_IN_HANDSET_MIC_NS" acdb_id="108"/>
<device name="SND_DEVICE_IN_SPEAKER_MIC_AEC" acdb_id="114"/>
<device name="SND_DEVICE_IN_SPEAKER_MIC_NS" acdb_id="114"/>
<device name="SND_DEVICE_IN_HANDSET_DMIC_AEC" acdb_id="111"/>
<device name="SND_DEVICE_IN_HANDSET_DMIC_NS" acdb_id="111"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC" acdb_id="117"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_NS" acdb_id="117"/>
<device name="SND_DEVICE_IN_HANDSET_TMIC_AEC" acdb_id="156"/>
<device name="SND_DEVICE_IN_HANDSET_TMIC_NS" acdb_id="156"/>
<device name="SND_DEVICE_IN_SPEAKER_TMIC_AEC" acdb_id="160"/>
<device name="SND_DEVICE_IN_SPEAKER_TMIC_NS" acdb_id="160"/>
<!--Jianfeng.Qiu@MULTIMEDIA.AUDIODRIVER.OPLUS_FEATURE_KTV, 2017/04/05, Add for ktv loopback-->
<device name="SND_DEVICE_IN_HEADSET_MIC_KTV" acdb_id="98"/>
<device name="SND_DEVICE_IN_USB_HEADSET_MIC_KTV" acdb_id="98"/>
<!--Jianfeng.Qiu@MULTIMEDIA.AUDIODRIVER.OPLUS_FEATURE_KTV, 2017/04/05, Add for ktv loopback end-->
</acdb_ids>
<backend_names>
<device name="SND_DEVICE_OUT_HEADPHONES" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_HEADPHONES_HIFI_FILTER" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_HEADPHONES_44_1" backend="headphones-44.1" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_BT_SCO_WB" backend="bt-sco-wb" interface="SLIMBUS_7_RX"/>
<device name="SND_DEVICE_OUT_BT_SCO" backend="bt-sco" interface="SLIMBUS_7_RX"/>
<device name="SND_DEVICE_OUT_BT_A2DP" backend="bt-a2dp" interface="SLIMBUS_7_RX"/>
<device name="SND_DEVICE_OUT_LINE" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_ANC_HEADSET" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_HEADPHONES" backend="speaker-and-headphones" interface="RX_CDC_DMA_RX_1-and-RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_HEADPHONES_HIFI_FILTER" backend="speaker-and-headphones" interface="RX_CDC_DMA_RX_1-and-RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_LINE" backend="speaker-and-headphones" interface="RX_CDC_DMA_RX_1-and-RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_ANC_HEADSET" backend="speaker-and-headphones" interface="RX_CDC_DMA_RX_1-and-RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_HEADPHONES" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_HEADSET" backend="headset" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_ANC_HEADSET" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_LINE" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_TTY_FULL_HEADPHONES" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_TTY_FULL_HEADSET" backend="headset" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_TTY_VCO_HEADPHONES" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_TTY_VCO_HEADSET" backend="headset" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_HANDSET" backend="handset" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_SPEAKER" interface="RX_CDC_DMA_RX_1"/>
<device name="SND_DEVICE_OUT_SPEAKER_EXTERNAL_1" interface="RX_CDC_DMA_RX_1"/>
<device name="SND_DEVICE_OUT_SPEAKER_EXTERNAL_2" interface="RX_CDC_DMA_RX_1"/>
<device name="SND_DEVICE_OUT_SPEAKER_REVERSE" interface="RX_CDC_DMA_RX_1"/>
<device name="SND_DEVICE_OUT_SPEAKER_VBAT" interface="RX_CDC_DMA_RX_1"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_HEADPHONES_EXTERNAL_1" interface="RX_CDC_DMA_RX_1-and-RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_HEADPHONES_EXTERNAL_2" interface="RX_CDC_DMA_RX_1-and-RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_HANDSET" backend="handset" interface="RX_CDC_DMA_RX_0"/>
<!--Vincent.chen@MULTIMEDIA.AUDIODRIVER.HAL, 2021/11/10, add for HAC-->
<device name="SND_DEVICE_OUT_VOICE_HAC_HANDSET" backend="handset" interface="RX_CDC_DMA_RX_0"/>
<!--Vincent.chen@MULTIMEDIA.AUDIODRIVER.HAL, 2021/11/10, add for HAC end-->
<device name="SND_DEVICE_OUT_VOICE_HANDSET_TMUS" backend="handset" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_IN_HANDSET_GENERIC_QMIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER" interface="RX_CDC_DMA_RX_1"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_STEREO" interface="RX_CDC_DMA_RX_1"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_VBAT" interface="RX_CDC_DMA_RX_1"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_2" interface="RX_CDC_DMA_RX_1"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_2_VBAT" interface="RX_CDC_DMA_RX_1"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_HDMI" interface="RX_CDC_DMA_RX_1-and-HDMI"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_DISPLAY_PORT" interface="RX_CDC_DMA_RX_1-and-DISPLAY_PORT"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_BT_A2DP" interface="RX_CDC_DMA_RX_1-and-SLIMBUS_7_RX"/>
<device name="SND_DEVICE_OUT_VOICE_TTY_HCO_HANDSET" interface="RX_CDC_DMA_RX_1"/>
<device name="SND_DEVICE_OUT_ANC_FB_HEADSET" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_ANC_FB_HEADSET" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_ANC_HANDSET" interface="RX_CDC_DMA_RX_1"/>
<device name="SND_DEVICE_OUT_SPEAKER_PROTECTED" interface="RX_CDC_DMA_RX_1"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_PROTECTED" interface="RX_CDC_DMA_RX_1"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_2_PROTECTED" interface="RX_CDC_DMA_RX_1"/>
<device name="SND_DEVICE_OUT_SPEAKER_PROTECTED_VBAT" interface="RX_CDC_DMA_RX_1"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_PROTECTED_VBAT" interface="RX_CDC_DMA_RX_1"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_2_PROTECTED_VBAT" interface="RX_CDC_DMA_RX_1"/>
<device name="SND_DEVICE_OUT_SPEAKER_WSA" interface="RX_CDC_DMA_RX_1"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_WSA" interface="RX_CDC_DMA_RX_1"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_2_WSA" interface="RX_CDC_DMA_RX_1"/>
<device name="SND_DEVICE_IN_HANDSET_MIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_MIC_SB" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_MIC_EXTERNAL" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_MIC_AEC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_MIC_AEC_SB" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_MIC_NS" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_MIC_NS_SB" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_MIC_AEC_NS" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_MIC_AEC_NS_SB" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_MIC_NN" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_MIC_AEC_NN" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_MIC_NS_NN" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_MIC_AEC_NS_NN" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_DMIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_DMIC_AEC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_DMIC_AEC_SB" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_DMIC_NS" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_DMIC_NS_SB" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_DMIC_AEC_NS" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_DMIC_AEC_NS_SB" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_DMIC_STEREO" interface="TX_CDC_DMA_TX_3"/>
<!--chenshuyun@MULTIMEDIA.AUDIODRIVER.HAL, 2022/01/21, Add for camcorder switch mic -->
<device name="SND_DEVICE_IN_HANDSET_DMIC_STEREO_SWITCH" interface="TX_CDC_DMA_TX_3"/>
<!--chenshuyun@MULTIMEDIA.AUDIODRIVER.HAL, 2022/01/21, Add for camcorder switch mic end-->
<device name="SND_DEVICE_IN_SPEAKER_MIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_MIC_SB" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_MIC_AEC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_MIC_AEC_SB" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_MIC_NS" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_MIC_NS_SB" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_MIC_AEC_NS" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_MIC_AEC_NS_SB" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_MIC_NN" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_MIC_AEC_NN" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_MIC_NS_NN" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_MIC_AEC_NS_NN" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_SB" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_NS" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_NS_SB" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS_SB" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HEADSET_MIC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
<device name="SND_DEVICE_IN_HEADSET_MIC_FLUENCE" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
<device name="SND_DEVICE_IN_VOICE_SPEAKER_MIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_VOICE_HEADSET_MIC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
<device name="SND_DEVICE_IN_VOICE_TTY_FULL_HEADSET_MIC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
<device name="SND_DEVICE_IN_VOICE_TTY_HCO_HEADSET_MIC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
<device name="SND_DEVICE_IN_UNPROCESSED_HEADSET_MIC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
<device name="SND_DEVICE_IN_VOICE_REC_HEADSET_MIC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
<device name="SND_DEVICE_IN_HEADSET_MIC_AEC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
<device name="SND_DEVICE_IN_HEADSET_MIC_FLUENCE" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
<device name="SND_DEVICE_IN_VOICE_SPEAKER_MIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_VOICE_SPEAKER_MIC_SB" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HDMI_MIC" interface="HDMI"/>
<device name="SND_DEVICE_IN_BT_SCO_MIC" interface="SLIMBUS_7_TX"/>
<device name="SND_DEVICE_IN_BT_SCO_MIC_NREC" interface="SLIMBUS_7_TX"/>
<device name="SND_DEVICE_IN_BT_SCO_MIC_WB" interface="SLIMBUS_7_TX"/>
<device name="SND_DEVICE_IN_BT_SCO_MIC_WB_NREC" interface="SLIMBUS_7_TX"/>
<device name="SND_DEVICE_IN_CAMCORDER_MIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_VOICE_DMIC" interface="TX_CDC_DMA_TX_3"/>
<!--Vincent.chen@MULTIMEDIA@MULTIMEDIA.AUDIODRIVER.HAL, 2021/11/10, add for HAC-->
<device name="SND_DEVICE_IN_VOICE_HAC_HANDSET_DMIC" interface="TX_CDC_DMA_TX_3"/>
<!--Vincent.chen@MULTIMEDIA.AUDIODRIVER.HAL, 2021/11/10, add for HAC end-->
<device name="SND_DEVICE_IN_VOICE_DMIC_SB" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_VOICE_SPEAKER_DMIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_VOICE_SPEAKER_DMIC_SB" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_VOICE_SPEAKER_QMIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_VOICE_TTY_VCO_HANDSET_MIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_VOICE_REC_MIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_VOICE_REC_MIC_NS" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_VOICE_REC_DMIC_STEREO" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_VOICE_REC_DMIC_FLUENCE" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_AANC_HANDSET_MIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_QUAD_MIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_STEREO_DMIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_STEREO_DMIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_CAPTURE_VI_FEEDBACK" interface="WSA_CDC_DMA_TX_0"/>
<device name="SND_DEVICE_IN_CAPTURE_VI_FEEDBACK_MONO_1" interface="WSA_CDC_DMA_TX_0"/>
<device name="SND_DEVICE_IN_CAPTURE_VI_FEEDBACK_MONO_2" interface="WSA_CDC_DMA_TX_0"/>
<device name="SND_DEVICE_IN_VOICE_SPEAKER_DMIC_BROADSIDE" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_BROADSIDE" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_BROADSIDE" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_NS_BROADSIDE" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS_BROADSIDE" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_VOICE_FLUENCE_DMIC_AANC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_QMIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_QMIC_AEC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_QMIC_NS" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_QMIC_AEC_NS" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_THREE_MIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_VOICE_HEARING_AID" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_TMIC_FLUENCE_PRO" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_TMIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_TMIC_AEC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_TMIC_NS" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_TMIC_AEC_NS" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_VOICE_REC_TMIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_UNPROCESSED_MIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_UNPROCESSED_STEREO_MIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_UNPROCESSED_THREE_MIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_UNPROCESSED_QUAD_MIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_UNPROCESSED_HEADSET_MIC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
<device name="SND_DEVICE_IN_UNPROCESSED_HEADSET_MIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_AND_VOICE_HEADPHONES" backend="speaker-and-headphones" interface="RX_CDC_DMA_RX_1-and-RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_AND_VOICE_ANC_HEADSET" backend="speaker-and-headphones" interface="RX_CDC_DMA_RX_1-and-RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_BT_SCO" backend="speaker-and-bt-sco" interface="RX_CDC_DMA_RX_1-and-SLIMBUS_7_RX"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_BT_SCO_WB" backend="speaker-and-bt-sco-wb" interface="RX_CDC_DMA_RX_1-and-SLIMBUS_7_RX"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_BT_SCO_SWB" backend="speaker-and-bt-sco-swb" interface="RX_CDC_DMA_RX_1-and-SLIMBUS_7_RX"/>
<device name="SND_DEVICE_OUT_HEADPHONES_DSD" backend="headphones-dsd" interface="RX_CDC_DMA_RX_5"/>
<!--#Le.li@PSW.MM.AudioDriver.HAL, 2020/10/11, Add for oplus FTM config begin -->
<device name="SND_DEVICE_OUT_MMI_RECEIVER_PLAYBACK" backend="handset" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_ENGINNER_RECIVER_TEST" backend="handset" interface="RX_CDC_DMA_RX_0"/>
<device name="SND_DEVICE_OUT_MMI_SPEAKER_PLAYBACK" interface="RX_CDC_DMA_RX_1"/>
<device name="SND_DEVICE_OUT_MMI_LEFT_SPEAKER_PLAYBACK" interface="RX_CDC_DMA_RX_1"/>
<device name="SND_DEVICE_IN_MAIN_MIC_RECORD" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SEC_MIC_RECORD" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_ANC_MIC_RECORD" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_MMI_MIC_RECORD" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_MMI_ANC_MIC_RECORD" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_MIC_HEARING_TEST" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
<!--#Le.li@PSW.MM.AudioDriver.HAL, 2020/10/11, Add for oplus FTM config end -->
<!--Jianfeng.Qiu@MULTIMEDIA.AUDIODRIVER.OPLUS_FEATURE_KTV, 2017/04/05, Add for ktv loopback-->
<device name="SND_DEVICE_IN_HEADSET_MIC_KTV" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
<device name="SND_DEVICE_IN_USB_HEADSET_MIC_KTV" backend="usb-headset-mic" interface="USB_AUDIO_TX"/>
<!--Jianfeng.Qiu@MULTIMEDIA.AUDIODRIVER.OPLUS_FEATURE_KTV, 2017/04/05, Add for ktv loopback end-->
<!-- Kaijia.Lin@PSW.MM.AudioDriver.HAL, 2019/10/12, Add for dummy dev START -->
<device name="SND_DEVICE_OUT_DUMMY" backend="dummy" interface="AFE_PCM_RX"/>
<!-- Kaijia.Lin@PSW.MM.AudioDriver.HAL, 2019/10/12, Add for dummy dev END -->
</backend_names>
<!-- below values are for ref purpose to OEM, doesn't contain actual hardware info on MTP -->
<microphone_characteristics>
<microphone valid_mask="31" 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 valid_mask="31" 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 valid_mask="31" 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>
<snd_devices>
<input_snd_device>
<input_snd_device_mic_mapping>
<snd_dev in_snd_device="SND_DEVICE_IN_CAMCORDER_MIC">
<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"/>
</snd_dev>
<snd_dev in_snd_device="SND_DEVICE_IN_VOICE_REC_MIC_AEC_NS">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</snd_dev>
<snd_dev in_snd_device="SND_DEVICE_IN_VOICE_REC_MIC_AEC">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</snd_dev>
<snd_dev in_snd_device="SND_DEVICE_IN_VOICE_REC_MIC_NS">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</snd_dev>
<snd_dev in_snd_device="SND_DEVICE_IN_VOICE_REC_MIC">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</snd_dev>
<snd_dev in_snd_device="SND_DEVICE_IN_HANDSET_MIC">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</snd_dev>
<snd_dev in_snd_device="SND_DEVICE_IN_VOICE_DMIC">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</snd_dev>
<snd_dev in_snd_device="SND_DEVICE_IN_VOICE_DMIC_TMUS">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</snd_dev>
<snd_dev in_snd_device="SND_DEVICE_IN_VOICE_SPEAKER_DMIC">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_3"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</snd_dev>
<snd_dev in_snd_device="SND_DEVICE_IN_HANDSET_DMIC_AEC_NS">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</snd_dev>
<snd_dev in_snd_device="SND_DEVICE_IN_HANDSET_DMIC_AEC">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</snd_dev>
<snd_dev in_snd_device="SND_DEVICE_IN_HANDSET_DMIC_NS">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</snd_dev>
<snd_dev in_snd_device="SND_DEVICE_IN_HANDSET_DMIC">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</snd_dev>
<snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_3"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</snd_dev>
<snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_DMIC_AEC">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_3"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</snd_dev>
<snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_DMIC_NS">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_3"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</snd_dev>
<snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_MIC">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_3"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</snd_dev>
<snd_dev in_snd_device="SND_DEVICE_IN_UNPROCESSED_MIC">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT"/>
</snd_dev>
<snd_dev in_snd_device="SND_DEVICE_IN_UNPROCESSED_STEREO_MIC">
<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"/>
</snd_dev>
<snd_dev in_snd_device="SND_DEVICE_IN_UNPROCESSED_THREE_MIC">
<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"/>
</snd_dev>
<snd_dev in_snd_device="SND_DEVICE_IN_HANDSET_DMIC_STEREO">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED"/>
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</snd_dev>
<snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_DMIC_STEREO">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_3"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</snd_dev>
</input_snd_device_mic_mapping>
</input_snd_device>
</snd_devices>
</audio_platform_info>

View file

@ -99,10 +99,6 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="haptics output" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO_HAPTIC_A"/>
</mixPort>
<mixPort name="deep_buffer" role="source"
flags="AUDIO_OUTPUT_FLAG_DEEP_BUFFER">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
@ -120,16 +116,16 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
flags="AUDIO_OUTPUT_FLAG_DIRECT">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
<profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000,352800,384000"
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
<profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000,352800,384000"
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000,352800,384000"
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
channelMasks="AUDIO_CHANNEL_OUT_MONO,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">
@ -141,7 +137,7 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_ALAC"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
<profile name="" format="AUDIO_FORMAT_APE"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
@ -156,16 +152,16 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_DTS"
samplingRates="32000,44100,48000"
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1"/>
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
<profile name="" format="AUDIO_FORMAT_DTS_HD"
samplingRates="32000,44100,48000,64000,88200,96000,128000,176400,192000"
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
<profile name="" format="AUDIO_FORMAT_WMA"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
<profile name="" format="AUDIO_FORMAT_WMA_PRO"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
<profile name="" format="AUDIO_FORMAT_AAC_ADTS_LC"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
@ -192,7 +188,7 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="primary input" role="sink" maxOpenCount="2" maxActiveCount="2">
<mixPort name="primary input" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
@ -298,17 +294,17 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="BT A2DP Out" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP" role="sink"
encodedFormats="AUDIO_FORMAT_SBC AUDIO_FORMAT_AAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_LDAC AUDIO_FORMAT_CELT AUDIO_FORMAT_APTX_ADAPTIVE AUDIO_FORMAT_APTX_TWSP">
encodedFormats="AUDIO_FORMAT_SBC AUDIO_FORMAT_AAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_LDAC">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="BT A2DP Headphones" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES" role="sink"
encodedFormats="AUDIO_FORMAT_SBC AUDIO_FORMAT_AAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_LDAC AUDIO_FORMAT_CELT AUDIO_FORMAT_APTX_ADAPTIVE AUDIO_FORMAT_APTX_TWSP">
encodedFormats="AUDIO_FORMAT_SBC AUDIO_FORMAT_AAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_LDAC">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="BT A2DP Speaker" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER" role="sink"
encodedFormats="AUDIO_FORMAT_SBC AUDIO_FORMAT_AAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_LDAC AUDIO_FORMAT_CELT AUDIO_FORMAT_APTX_ADAPTIVE AUDIO_FORMAT_APTX_TWSP">
encodedFormats="AUDIO_FORMAT_SBC AUDIO_FORMAT_AAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_LDAC">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
@ -359,15 +355,15 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<!-- route declaration, i.e. list all available sources for a given sink -->
<routes>
<route type="mix" sink="Earpiece"
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output"/>
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out"/>
<route type="mix" sink="Speaker"
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output"/>
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out"/>
<route type="mix" sink="Wired Headset"
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output"/>
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out"/>
<route type="mix" sink="Wired Headphones"
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output"/>
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out"/>
<route type="mix" sink="Line"
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output"/>
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out"/>
<route type="mix" sink="HDMI"
sources="primary output,deep_buffer,direct_pcm,compressed_offload,compress_passthrough,voip_rx"/>
<route type="mix" sink="Proxy"

View file

@ -99,10 +99,6 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="haptics output" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO_HAPTIC_A"/>
</mixPort>
<mixPort name="deep_buffer" role="source"
flags="AUDIO_OUTPUT_FLAG_DEEP_BUFFER">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
@ -120,16 +116,16 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
flags="AUDIO_OUTPUT_FLAG_DIRECT">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
<profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000,352800,384000"
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
<profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000,352800,384000"
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
<profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000,352800,384000"
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
channelMasks="AUDIO_CHANNEL_OUT_MONO,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">
@ -141,7 +137,7 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_ALAC"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
<profile name="" format="AUDIO_FORMAT_APE"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
@ -156,16 +152,16 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_DTS"
samplingRates="32000,44100,48000"
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1"/>
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
<profile name="" format="AUDIO_FORMAT_DTS_HD"
samplingRates="32000,44100,48000,64000,88200,96000,128000,176400,192000"
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
<profile name="" format="AUDIO_FORMAT_WMA"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
<profile name="" format="AUDIO_FORMAT_WMA_PRO"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
<profile name="" format="AUDIO_FORMAT_AAC_ADTS_LC"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
@ -192,7 +188,7 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="primary input" role="sink" maxOpenCount="2" maxActiveCount="2">
<mixPort name="primary input" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
@ -344,15 +340,15 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<!-- route declaration, i.e. list all available sources for a given sink -->
<routes>
<route type="mix" sink="Earpiece"
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output"/>
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out"/>
<route type="mix" sink="Speaker"
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output"/>
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out"/>
<route type="mix" sink="Wired Headset"
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output"/>
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out"/>
<route type="mix" sink="Wired Headphones"
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output"/>
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out"/>
<route type="mix" sink="Line"
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output"/>
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out"/>
<route type="mix" sink="HDMI"
sources="primary output,deep_buffer,direct_pcm,compressed_offload,compress_passthrough,voip_rx"/>
<route type="mix" sink="Proxy"

View file

@ -0,0 +1,352 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--- Copyright (c) 2014-2020, The Linux Foundation. All rights reserved. -->
<!--- -->
<!--- Redistribution and use in source and binary forms, with or without -->
<!--- modification, are permitted provided that the following conditions are -->
<!--- met: -->
<!--- * Redistributions of source code must retain the above copyright -->
<!--- notice, this list of conditions and the following disclaimer. -->
<!--- * Redistributions in binary form must reproduce the above -->
<!--- copyright notice, this list of conditions and the following -->
<!--- disclaimer in the documentation and/or other materials provided -->
<!--- with the distribution. -->
<!--- * Neither the name of The Linux Foundation nor the names of its -->
<!--- contributors may be used to endorse or promote products derived -->
<!--- from this software without specific prior written permission. -->
<!--- -->
<!--- THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED -->
<!--- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -->
<!--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT -->
<!--- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS -->
<!--- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -->
<!--- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -->
<!--- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -->
<!--- BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -->
<!--- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -->
<!--- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
<!--- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -->
<mixer>
<!-- These are the initial mixer settings -->
<ctl name="LSM1 Mixer VA_CDC_DMA_TX_0" value="0" />
<ctl name="LSM2 Mixer VA_CDC_DMA_TX_0" value="0" />
<ctl name="LSM3 Mixer VA_CDC_DMA_TX_0" value="0" />
<ctl name="LSM4 Mixer VA_CDC_DMA_TX_0" value="0" />
<ctl name="LSM5 Mixer VA_CDC_DMA_TX_0" value="0" />
<ctl name="LSM6 Mixer VA_CDC_DMA_TX_0" value="0" />
<ctl name="LSM7 Mixer VA_CDC_DMA_TX_0" value="0" />
<ctl name="LSM8 Mixer VA_CDC_DMA_TX_0" value="0" />
<ctl name="LSM1 Port" value="None" />
<ctl name="LSM2 Port" value="None" />
<ctl name="LSM3 Port" value="None" />
<ctl name="LSM4 Port" value="None" />
<ctl name="LSM5 Port" value="None" />
<ctl name="LSM6 Port" value="None" />
<ctl name="LSM7 Port" value="None" />
<ctl name="LSM8 Port" value="None" />
<ctl name="VA_CDC_DMA_TX_0 Channels" value="One" />
<ctl name="VA_CDC_DMA_TX_0 SampleRate" value="KHZ_16" />
<ctl name="VA_AIF1_CAP Mixer DEC0" value="0" />
<ctl name="VA_AIF1_CAP Mixer DEC1" value="0" />
<ctl name="VA_AIF1_CAP Mixer DEC2" value="0" />
<ctl name="VA_AIF1_CAP Mixer DEC3" value="0" />
<ctl name="VA_AIF1_CAP Mixer DEC4" value="0" />
<ctl name="VA_AIF1_CAP Mixer DEC5" value="0" />
<ctl name="VA_AIF1_CAP Mixer DEC6" value="0" />
<ctl name="VA_AIF1_CAP Mixer DEC7" value="0" />
<ctl name="VA DEC0 MUX" value="MSM_DMIC" />
<ctl name="VA DEC1 MUX" value="MSM_DMIC" />
<ctl name="VA DEC2 MUX" value="MSM_DMIC" />
<ctl name="VA DEC3 MUX" value="MSM_DMIC" />
<ctl name="VA DEC4 MUX" value="MSM_DMIC" />
<ctl name="VA DEC5 MUX" value="MSM_DMIC" />
<ctl name="VA DEC6 MUX" value="MSM_DMIC" />
<ctl name="VA DEC7 MUX" value="MSM_DMIC" />
<ctl name="VA DMIC MUX0" value="ZERO" />
<ctl name="VA DMIC MUX1" value="ZERO" />
<ctl name="VA DMIC MUX2" value="ZERO" />
<ctl name="VA DMIC MUX3" value="ZERO" />
<ctl name="VA DMIC MUX4" value="ZERO" />
<ctl name="VA DMIC MUX5" value="ZERO" />
<ctl name="VA DMIC MUX6" value="ZERO" />
<ctl name="VA DMIC MUX7" value="ZERO" />
<ctl name="VA SMIC MUX0" value="ZERO" />
<ctl name="VA SMIC MUX1" value="ZERO" />
<ctl name="VA SMIC MUX2" value="ZERO" />
<ctl name="VA SMIC MUX3" value="ZERO" />
<ctl name="VA SMIC MUX4" value="ZERO" />
<ctl name="VA SMIC MUX5" value="ZERO" />
<ctl name="VA SMIC MUX6" value="ZERO" />
<ctl name="VA SMIC MUX7" value="ZERO" />
<ctl name="AUDIO_REF_EC_UL1 MUX" value="None"/>
<ctl name="EC Reference Channels" value="Zero"/>
<ctl name="EC Reference Bit Format" value="0"/>
<ctl name="EC Reference SampleRate" value="0"/>
<ctl name="ADC2_MIXER Switch" value="0" />
<ctl name="ADC2 MUX" value="ZERO" />
<ctl name="LPI Enable" value="0" />
<ctl name="ADC2 Volume" value="12" />
<ctl name="VA_DEC0 MODE" value="ADC_DEFAULT" />
<ctl name="ADC2_BCS Disable" value="0" />
<path name="listen-voice-wakeup-1">
<ctl name="LSM1 Mixer VA_CDC_DMA_TX_0" value="1" />
</path>
<path name="listen-voice-wakeup-2">
<ctl name="LSM2 Mixer VA_CDC_DMA_TX_0" value="1" />
</path>
<path name="listen-voice-wakeup-3">
<ctl name="LSM3 Mixer VA_CDC_DMA_TX_0" value="1" />
</path>
<path name="listen-voice-wakeup-4">
<ctl name="LSM4 Mixer VA_CDC_DMA_TX_0" value="1" />
</path>
<path name="listen-voice-wakeup-5">
<ctl name="LSM5 Mixer VA_CDC_DMA_TX_0" value="1" />
</path>
<path name="listen-voice-wakeup-6">
<ctl name="LSM6 Mixer VA_CDC_DMA_TX_0" value="1" />
</path>
<path name="listen-voice-wakeup-7">
<ctl name="LSM7 Mixer VA_CDC_DMA_TX_0" value="1" />
</path>
<path name="listen-voice-wakeup-8">
<ctl name="LSM8 Mixer VA_CDC_DMA_TX_0" value="1" />
</path>
<path name="listen-voice-wakeup-1 preproc">
<path name="listen-voice-wakeup-1" />
</path>
<path name="listen-voice-wakeup-2 preproc">
<path name="listen-voice-wakeup-2" />
</path>
<path name="listen-voice-wakeup-3 preproc">
<path name="listen-voice-wakeup-3" />
</path>
<path name="listen-voice-wakeup-4 preproc">
<path name="listen-voice-wakeup-4" />
</path>
<path name="listen-voice-wakeup-5 preproc">
<path name="listen-voice-wakeup-5" />
</path>
<path name="listen-voice-wakeup-6 preproc">
<path name="listen-voice-wakeup-6" />
</path>
<path name="listen-voice-wakeup-7 preproc">
<path name="listen-voice-wakeup-7" />
</path>
<path name="listen-voice-wakeup-8 preproc">
<path name="listen-voice-wakeup-8" />
</path>
<path name="listen-voice-wakeup-1 port">
<ctl name="LSM1 Port" value="VA_CDC_DMA_TX_0" />
<ctl name="LPI Enable" value="1" />
<ctl name="ADC2_BCS Disable" value="1" />
</path>
<path name="listen-voice-wakeup-2 port">
<ctl name="LSM2 Port" value="VA_CDC_DMA_TX_0" />
<ctl name="LPI Enable" value="1" />
<ctl name="ADC2_BCS Disable" value="1" />
</path>
<path name="listen-voice-wakeup-3 port">
<ctl name="LSM3 Port" value="VA_CDC_DMA_TX_0" />
<ctl name="LPI Enable" value="1" />
<ctl name="ADC2_BCS Disable" value="1" />
</path>
<path name="listen-voice-wakeup-4 port">
<ctl name="LSM4 Port" value="VA_CDC_DMA_TX_0" />
<ctl name="LPI Enable" value="1" />
<ctl name="ADC2_BCS Disable" value="1" />
</path>
<path name="listen-voice-wakeup-5 port">
<ctl name="LSM5 Port" value="VA_CDC_DMA_TX_0" />
<ctl name="LPI Enable" value="1" />
<ctl name="ADC2_BCS Disable" value="1" />
</path>
<path name="listen-voice-wakeup-6 port">
<ctl name="LSM6 Port" value="VA_CDC_DMA_TX_0" />
<ctl name="LPI Enable" value="1" />
<ctl name="ADC2_BCS Disable" value="1" />
</path>
<path name="listen-voice-wakeup-7 port">
<ctl name="LSM7 Port" value="VA_CDC_DMA_TX_0" />
<ctl name="LPI Enable" value="1" />
<ctl name="ADC2_BCS Disable" value="1" />
</path>
<path name="listen-voice-wakeup-8 port">
<ctl name="LSM8 Port" value="VA_CDC_DMA_TX_0" />
<ctl name="LPI Enable" value="1" />
<ctl name="ADC2_BCS Disable" value="1" />
</path>
<path name="listen-voice-wakeup-1 preproc port">
<ctl name="LSM1 Port" value="ADM_LSM_TX" />
<ctl name="LPI Enable" value="0" />
<ctl name="ADC2_BCS Disable" value="0" />
</path>
<path name="listen-voice-wakeup-2 preproc port">
<ctl name="LSM2 Port" value="ADM_LSM_TX" />
<ctl name="LPI Enable" value="0" />
<ctl name="ADC2_BCS Disable" value="0" />
</path>
<path name="listen-voice-wakeup-3 preproc port">
<ctl name="LSM3 Port" value="ADM_LSM_TX" />
<ctl name="LPI Enable" value="0" />
<ctl name="ADC2_BCS Disable" value="0" />
</path>
<path name="listen-voice-wakeup-4 preproc port">
<ctl name="LSM4 Port" value="ADM_LSM_TX" />
<ctl name="LPI Enable" value="0" />
<ctl name="ADC2_BCS Disable" value="0" />
</path>
<path name="listen-voice-wakeup-5 preproc port">
<ctl name="LSM5 Port" value="ADM_LSM_TX" />
<ctl name="LPI Enable" value="0" />
<ctl name="ADC2_BCS Disable" value="0" />
</path>
<path name="listen-voice-wakeup-6 preproc port">
<ctl name="LSM6 Port" value="ADM_LSM_TX" />
<ctl name="LPI Enable" value="0" />
<ctl name="ADC2_BCS Disable" value="0" />
</path>
<path name="listen-voice-wakeup-7 preproc port">
<ctl name="LSM7 Port" value="ADM_LSM_TX" />
<ctl name="LPI Enable" value="0" />
<ctl name="ADC2_BCS Disable" value="0" />
</path>
<path name="listen-voice-wakeup-8 preproc port">
<ctl name="LSM8 Port" value="ADM_LSM_TX" />
<ctl name="LPI Enable" value="0" />
<ctl name="ADC2_BCS Disable" value="0" />
</path>
<path name="listen-ape-handset-mic">
<ctl name="VA_CDC_DMA_TX_0 Channels" value="One" />
<ctl name="VA_AIF1_CAP Mixer DEC0" value="1" />
<ctl name="VA DEC0 MUX" value="SWR_MIC" />
<ctl name="VA SMIC MUX0" value="SWR_MIC4" />
<ctl name="ADC2 ChMap" value="SWRM_TX2_CH1" />
<ctl name="ADC2_MIXER Switch" value="1" />
<ctl name="ADC2 MUX" value="INP3" />
</path>
<path name="listen-ape-handset-mic-preproc">
<path name="listen-ape-handset-mic" />
</path>
<path name="listen-ape-handset-dmic">
<ctl name="VA_CDC_DMA_TX_0 Channels" value="Two" />
<ctl name="VA_AIF1_CAP Mixer DEC0" value="1" />
<ctl name="VA_AIF1_CAP Mixer DEC1" value="1" />
<ctl name="VA DEC0 MUX" value="SWR_MIC" />
<ctl name="VA SMIC MUX0" value="SWR_MIC4" />
<ctl name="ADC2 ChMap" value="SWRM_TX2_CH1" />
<ctl name="ADC2_MIXER Switch" value="1" />
<ctl name="ADC2 MUX" value="INP3" />
<ctl name="VA DEC1 MUX" value="SWR_MIC" />
<ctl name="VA SMIC MUX1" value="SWR_MIC0" />
<ctl name="ADC1 ChMap" value="SWRM_TX1_CH1" />
<ctl name="ADC1_MIXER Switch" value="1" />
</path>
<path name="listen-ape-handset-tmic">
<ctl name="VA_CDC_DMA_TX_0 Channels" value="Three" />
<ctl name="VA_AIF1_CAP Mixer DEC0" value="1" />
<ctl name="VA_AIF1_CAP Mixer DEC1" value="1" />
<ctl name="VA_AIF1_CAP Mixer DEC2" value="1" />
<ctl name="VA DEC0 MUX" value="MSM_DMIC" />
<ctl name="VA DEC1 MUX" value="MSM_DMIC" />
<ctl name="VA DEC2 MUX" value="MSM_DMIC" />
<ctl name="VA DMIC MUX0" value="DMIC1" />
<ctl name="VA DMIC MUX1" value="DMIC2" />
<ctl name="VA DMIC MUX2" value="DMIC5" />
</path>
<path name="listen-ape-handset-qmic">
<ctl name="VA_CDC_DMA_TX_0 Channels" value="Four" />
<ctl name="VA_AIF1_CAP Mixer DEC0" value="1" />
<ctl name="VA_AIF1_CAP Mixer DEC1" value="1" />
<ctl name="VA_AIF1_CAP Mixer DEC2" value="1" />
<ctl name="VA_AIF1_CAP Mixer DEC3" value="1" />
<ctl name="VA DEC0 MUX" value="MSM_DMIC" />
<ctl name="VA DEC1 MUX" value="MSM_DMIC" />
<ctl name="VA DEC2 MUX" value="MSM_DMIC" />
<ctl name="VA DEC3 MUX" value="MSM_DMIC" />
<ctl name="VA DMIC MUX0" value="DMIC1" />
<ctl name="VA DMIC MUX1" value="DMIC2" />
<ctl name="VA DMIC MUX2" value="DMIC3" />
<ctl name="VA DMIC MUX3" value="DMIC5" />
</path>
<path name="listen-ape-headset-mic">
<ctl name="VA_AIF1_CAP Mixer DEC0" value="1" />
<ctl name="VA DEC0 MUX" value="SWR_MIC" />
<ctl name="VA SMIC MUX0" value="SWR_MIC4" />
<ctl name="ADC2_MIXER Switch" value="1" />
<ctl name="ADC2 MUX" value="INP2" />
<ctl name="VA_DEC0 MODE" value="ADC_LOW_PWR" />
<ctl name="ADC2 ChMap" value="SWRM_TX2_CH1" />
</path>
<path name="echo-reference">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="RX_CDC_DMA_RX_1" />
<ctl name="EC Reference Channels" value="One"/>
<ctl name="EC Reference Bit Format" value="S16_LE"/>
<ctl name="EC Reference SampleRate" value="48000"/>
</path>
<path name="echo-reference handset">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="RX_CDC_DMA_RX_0" />
<ctl name="EC Reference Channels" value="One"/>
<ctl name="EC Reference Bit Format" value="S16_LE"/>
<ctl name="EC Reference SampleRate" value="48000"/>
</path>
<path name="echo-reference headphones">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="RX_CDC_DMA_RX_0" />
<ctl name="EC Reference Channels" value="Two"/>
<ctl name="EC Reference Bit Format" value="S16_LE"/>
<ctl name="EC Reference SampleRate" value="48000"/>
</path>
<path name="echo-reference headset">
<path name="echo-reference headphones" />
</path>
<path name="echo-reference a2dp">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_7_RX"/>
<ctl name="EC Reference Channels" value="Two"/>
<ctl name="EC Reference Bit Format" value="S16_LE"/>
<ctl name="EC Reference SampleRate" value="48000"/>
</path>
</mixer>

628
configs/powerhint.json Normal file
View file

@ -0,0 +1,628 @@
{
"Nodes": [
{
"Name": "CPULittleClusterMaxFreq",
"Path": "/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq",
"Values": [
"9999999",
"1708800",
"576000",
"300000"
],
"DefaultIndex": 0,
"ResetOnInit": true
},
{
"Name": "CPULittleClusterMinFreq",
"Path": "/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq",
"Values": [
"9999999",
"1708800",
"1324800",
"576000",
"300000"
],
"DefaultIndex": 4,
"ResetOnInit": true
},
{
"Name": "CPULittleClusterUpRateLimit",
"Path": "/sys/devices/system/cpu/cpu0/cpufreq/schedutil/up_rate_limit_us",
"Values": [
"500",
"2000"
],
"ResetOnInit": true
},
{
"Name": "CPULittleClusterDownRateLimit",
"Path": "/sys/devices/system/cpu/cpu0/cpufreq/schedutil/down_rate_limit_us",
"Values": [
"20000",
"2000"
],
"ResetOnInit": true
},
{
"Name": "CPUBigClusterMaxFreq",
"Path": "/sys/devices/system/cpu/cpu6/cpufreq/scaling_max_freq",
"Values": [
"9999999",
"2035200",
"1804800",
"1651200",
"1536000"
],
"DefaultIndex": 0,
"ResetOnInit": true
},
{
"Name": "CPUBigClusterMinFreq",
"Path": "/sys/devices/system/cpu/cpu6/cpufreq/scaling_min_freq",
"Values": [
"9999999",
"1651200",
"768000",
"0"
],
"DefaultIndex": 3,
"ResetOnInit": true
},
{
"Name": "CPUBigClusterUpRateLimit",
"Path": "/sys/devices/system/cpu/cpu6/cpufreq/schedutil/up_rate_limit_us",
"Values": [
"500",
"2000"
],
"ResetOnInit": true
},
{
"Name": "CPUBigClusterDownRateLimit",
"Path": "/sys/devices/system/cpu/cpu6/cpufreq/schedutil/down_rate_limit_us",
"Values": [
"20000",
"2000"
],
"ResetOnInit": true
},
{
"Name": "UclampTAMin",
"Path": "/dev/cpuctl/top-app/cpu.uclamp.min",
"Values": [
"0",
"50",
"100"
],
"DefaultIndex": 0,
"ResetOnInit": true
},
{
"Name": "UclampTALatency",
"Path": "/dev/cpuctl/top-app/cpu.uclamp.latency_sensitive",
"Values": [
"1",
"0"
],
"ResetOnInit": true
},
{
"Name": "UclampFgMin",
"Path": "/dev/cpuctl/foreground/cpu.uclamp.min",
"Values": [
"0",
"50",
"100"
],
"DefaultIndex": 0,
"ResetOnInit": true
},
{
"Name": "GPUMaxFreq",
"Path": "/sys/class/kgsl/kgsl-3d0/max_pwrlevel",
"Values": [
"0",
"1"
],
"DefaultIndex": 0,
"ResetOnInit": true
},
{
"Name": "GPUMinFreq",
"Path": "/sys/class/kgsl/kgsl-3d0/min_pwrlevel",
"Values": [
"0",
"1",
"2",
"3",
"4"
],
"ResetOnInit": true
},
{
"Name": "GPUForceRailOn",
"Path": "/sys/class/kgsl/kgsl-3d0/force_rail_on",
"Values": [
"1",
"0"
],
"ResetOnInit": true
},
{
"Name": "GPUForceClkOn",
"Path": "/sys/class/kgsl/kgsl-3d0/force_clk_on",
"Values": [
"1",
"0"
],
"ResetOnInit": true
},
{
"Name": "GPUIdleTimer",
"Path": "/sys/class/kgsl/kgsl-3d0/idle_timer",
"Values": [
"10000",
"80"
],
"ResetOnInit": true
},
{
"Name": "CPUBWHystTriggerCount",
"Path": "/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/hyst_trigger_count",
"Values": [
"0",
"3"
],
"ResetOnInit": true
},
{
"Name": "CPUBWHistMemory",
"Path": "/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/hist_memory",
"Values": [
"0",
"20"
],
"ResetOnInit": true
},
{
"Name": "CPUBWHystLength",
"Path": "/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/hyst_length",
"Values": [
"0",
"10"
],
"ResetOnInit": true
},
{
"Name": "CPUBWSampleMs",
"Path": "/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/sample_ms",
"Values": [
"10",
"4"
],
"ResetOnInit": true
},
{
"Name": "CPUBWMinFreq",
"Path": "/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/min_freq",
"Values": [
"7980",
"5161",
"762"
],
"ResetOnInit": true
},
{
"Name": "L3LittleClusterMinFreq",
"Path": "/sys/class/devfreq/fd90100.qcom,cpu0-cpu-l3-lat/min_freq",
"Values": [
"1459200000",
"1171200000",
"300000000"
],
"ResetOnInit": true
},
{
"Name": "L3BigClusterMinFreq",
"Path": "/sys/class/devfreq/fd90100.qcom,cpu6-cpu-l3-lat/min_freq",
"Values": [
"1459200000",
"1171200000",
"300000000"
],
"ResetOnInit": true
},
{
"Name": "CPUDDRLatLittleMinFreq",
"Path": "/sys/class/devfreq/soc:qcom,cpu0-cpu-ddr-lat/min_freq",
"Values": [
"7980",
"3879",
"762"
],
"ResetOnInit": true
},
{
"Name": "CPUDDRLatBigMinFreq",
"Path": "/sys/class/devfreq/soc:qcom,cpu6-cpu-ddr-lat/min_freq",
"Values": [
"7980",
"3879",
"762"
],
"ResetOnInit": true
},
{
"Name": "CPUDDRLatfloorLittleMinFreq",
"Path": "/sys/class/devfreq/soc:qcom,cpu0-cpu-ddr-latfloor/min_freq",
"Values": [
"7980",
"3879",
"762"
],
"ResetOnInit": true
},
{
"Name": "CPUDDRLatfloorBigMinFreq",
"Path": "/sys/class/devfreq/soc:qcom,cpu6-cpu-ddr-latfloor/min_freq",
"Values": [
"7980",
"3879",
"762"
],
"ResetOnInit": true
},
{
"Name": "DoubleTapToWake",
"Path": "/proc/touchpanel/double_tap_enable",
"Values": [
"1",
"0"
]
},
{
"Name": "PowerHALMainState",
"Path": "vendor.powerhal.state",
"Values": [
"SUSTAINED_PERFORMANCE",
""
],
"Type": "Property"
},
{
"Name": "PowerHALRenderingState",
"Path": "vendor.powerhal.rendering",
"Values": [
"EXPENSIVE_RENDERING",
""
],
"Type": "Property"
}
],
"Actions": [
{
"PowerHint": "SUSTAINED_PERFORMANCE",
"Node": "PowerHALMainState",
"Duration": 0,
"Value": "SUSTAINED_PERFORMANCE"
},
{
"PowerHint": "SUSTAINED_PERFORMANCE",
"Node": "CPUBigClusterMaxFreq",
"Duration": 0,
"Value": "1536000"
},
{
"PowerHint": "SUSTAINED_PERFORMANCE",
"Node": "CPULittleClusterMaxFreq",
"Duration": 0,
"Value": "1708800"
},
{
"PowerHint": "SUSTAINED_PERFORMANCE",
"Node": "GPUMaxFreq",
"Duration": 0,
"Value": "1"
},
{
"PowerHint": "INTERACTION",
"Node": "CPUBigClusterMinFreq",
"Duration": 1000,
"Value": "1651200"
},
{
"PowerHint": "INTERACTION",
"Node": "CPULittleClusterMinFreq",
"Duration": 1000,
"Value": "1708800"
},
{
"PowerHint": "INTERACTION",
"Node": "UclampTAMin",
"Duration": 1000,
"Value": "50"
},
{
"PowerHint": "INTERACTION",
"Node": "UclampTALatency",
"Duration": 0,
"Value": "1"
},
{
"PowerHint": "INTERACTION",
"Node": "UclampFgMin",
"Duration": 1000,
"Value": "50"
},
{
"PowerHint": "INTERACTION",
"Node": "GPUMinFreq",
"Duration": 1000,
"Value": "3"
},
{
"PowerHint": "INTERACTION",
"Node": "CPUBWHystTriggerCount",
"Duration": 1000,
"Value": "0"
},
{
"PowerHint": "INTERACTION",
"Node": "CPUBWHystLength",
"Duration": 1000,
"Value": "0"
},
{
"PowerHint": "INTERACTION",
"Node": "CPUBWHistMemory",
"Duration": 1000,
"Value": "0"
},
{
"PowerHint": "INTERACTION",
"Node": "CPUBWMinFreq",
"Duration": 1000,
"Value": "5161"
},
{
"PowerHint": "INTERACTION",
"Node": "CPUDDRLatLittleMinFreq",
"Duration": 1000,
"Value": "7980"
},
{
"PowerHint": "INTERACTION",
"Node": "CPUDDRLatBigMinFreq",
"Duration": 1000,
"Value": "7980"
},
{
"PowerHint": "INTERACTION",
"Node": "CPUDDRLatfloorLittleMinFreq",
"Duration": 1000,
"Value": "7980"
},
{
"PowerHint": "INTERACTION",
"Node": "CPUDDRLatfloorBigMinFreq",
"Duration": 1000,
"Value": "7980"
},
{
"PowerHint": "INTERACTION",
"Node": "L3LittleClusterMinFreq",
"Duration": 1000,
"Value": "1171200000"
},
{
"PowerHint": "INTERACTION",
"Node": "L3BigClusterMinFreq",
"Duration": 1000,
"Value": "1171200000"
},
{
"PowerHint": "INTERACTIVE",
"Node": "CPULittleClusterUpRateLimit",
"Duration": 0,
"Value": "500"
},
{
"PowerHint": "INTERACTIVE",
"Node": "CPULittleClusterDownRateLimit",
"Duration": 0,
"Value": "20000"
},
{
"PowerHint": "INTERACTIVE",
"Node": "CPUBigClusterUpRateLimit",
"Duration": 0,
"Value": "500"
},
{
"PowerHint": "INTERACTIVE",
"Node": "CPUBigClusterDownRateLimit",
"Duration": 0,
"Value": "20000"
},
{
"PowerHint": "LAUNCH",
"Node": "CPUBigClusterMaxFreq",
"Duration": 3000,
"Value": "9999999"
},
{
"PowerHint": "LAUNCH",
"Node": "CPUBigClusterMinFreq",
"Duration": 3000,
"Value": "9999999"
},
{
"PowerHint": "LAUNCH",
"Node": "CPULittleClusterMinFreq",
"Duration": 3000,
"Value": "9999999"
},
{
"PowerHint": "LAUNCH",
"Node": "UclampTAMin",
"Duration": 3000,
"Value": "100"
},
{
"PowerHint": "LAUNCH",
"Node": "UclampFgMin",
"Duration": 3000,
"Value": "100"
},
{
"PowerHint": "LAUNCH",
"Node": "CPUBWHystTriggerCount",
"Duration": 3000,
"Value": "0"
},
{
"PowerHint": "LAUNCH",
"Node": "CPUBWHystLength",
"Duration": 3000,
"Value": "0"
},
{
"PowerHint": "LAUNCH",
"Node": "CPUBWHistMemory",
"Duration": 3000,
"Value": "0"
},
{
"PowerHint": "LAUNCH",
"Node": "CPUBWMinFreq",
"Duration": 3000,
"Value": "7980"
},
{
"PowerHint": "LAUNCH",
"Node": "CPUDDRLatLittleMinFreq",
"Duration": 3000,
"Value": "7980"
},
{
"PowerHint": "LAUNCH",
"Node": "CPUDDRLatBigMinFreq",
"Duration": 3000,
"Value": "7980"
},
{
"PowerHint": "LAUNCH",
"Node": "CPUDDRLatfloorLittleMinFreq",
"Duration": 3000,
"Value": "7980"
},
{
"PowerHint": "LAUNCH",
"Node": "CPUDDRLatfloorBigMinFreq",
"Duration": 3000,
"Value": "7980"
},
{
"PowerHint": "LAUNCH",
"Node": "GPUForceClkOn",
"Duration": 3000,
"Value": "1"
},
{
"PowerHint": "LAUNCH",
"Node": "GPUForceRailOn",
"Duration": 3000,
"Value": "1"
},
{
"PowerHint": "LAUNCH",
"Node": "GPUIdleTimer",
"Duration": 3000,
"Value": "10000"
},
{
"PowerHint": "LAUNCH",
"Node": "L3LittleClusterMinFreq",
"Duration": 3000,
"Value": "1459200000"
},
{
"PowerHint": "LAUNCH",
"Node": "L3BigClusterMinFreq",
"Duration": 3000,
"Value": "1459200000"
},
{
"PowerHint": "FIXED_PERFORMANCE",
"Node": "CPUBigClusterMaxFreq",
"Duration": 0,
"Value": "9999999"
},
{
"PowerHint": "FIXED_PERFORMANCE",
"Node": "CPUBigClusterMinFreq",
"Duration": 0,
"Value": "9999999"
},
{
"PowerHint": "FIXED_PERFORMANCE",
"Node": "CPULittleClusterMaxFreq",
"Duration": 0,
"Value": "9999999"
},
{
"PowerHint": "FIXED_PERFORMANCE",
"Node": "CPULittleClusterMinFreq",
"Duration": 0,
"Value": "9999999"
},
{
"PowerHint": "FIXED_PERFORMANCE",
"Node": "GPUMaxFreq",
"Duration": 0,
"Value": "0"
},
{
"PowerHint": "FIXED_PERFORMANCE",
"Node": "GPUMinFreq",
"Duration": 0,
"Value": "0"
},
{
"PowerHint": "EXPENSIVE_RENDERING",
"Node": "PowerHALRenderingState",
"Duration": 0,
"Value": "EXPENSIVE_RENDERING"
},
{
"PowerHint": "EXPENSIVE_RENDERING",
"Node": "GPUMinFreq",
"Duration": 0,
"Value": "1"
},
{
"PowerHint": "EXPENSIVE_RENDERING",
"Node": "GPUMaxFreq",
"Duration": 0,
"Value": "0"
},
{
"PowerHint": "EXPENSIVE_RENDERING",
"Node": "CPULittleClusterMinFreq",
"Duration": 0,
"Value": "1708800"
},
{
"PowerHint": "EXPENSIVE_RENDERING",
"Node": "CPUBigClusterMinFreq",
"Duration": 0,
"Value": "1651200"
},
{
"PowerHint": "DOUBLE_TAP_TO_WAKE",
"Node": "DoubleTapToWake",
"Duration": 0,
"Value": "1"
}
]
}

246
device.mk
View file

@ -1,52 +1,17 @@
#
# Copyright (C) 2021-2023 The LineageOS Project
#
# Copyright (C) 2021-2025 The LineageOS Project
# SPDX-License-Identifier: Apache-2.0
#
# Enable project quotas and casefolding for emulated storage without sdcardfs
$(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk)
# Enable virtual A/B OTA with virtual ramdisk
$(call inherit-product, $(SRC_TARGET_DIR)/product/virtual_ab_ota/launch_with_vendor_ramdisk.mk)
# Copyright (C) 2019-Current A-Team Digital Solutions
# Add common definitions for Qualcomm
$(call inherit-product, hardware/qcom-caf/common/common.mk)
# Setup dalvik vm configs
$(call inherit-product, frameworks/native/build/phone-xhdpi-4096-dalvik-heap.mk)
# Get non-open-source specific aspects
$(call inherit-product, vendor/oneplus/dre/dre-vendor.mk)
# Set product shipping level
PRODUCT_SHIPPING_API_LEVEL := 30
# Set board API level
BOARD_SHIPPING_API_LEVEL := 30
# Overlays
$(call inherit-product, hardware/oplus/overlay/generic/generic.mk)
$(call inherit-product, hardware/oplus/overlay/qssi/qssi.mk)
DEVICE_PACKAGE_OVERLAYS += \
$(LOCAL_PATH)/overlay-lineage
PRODUCT_ENFORCE_RRO_TARGETS := *
PRODUCT_PACKAGES += \
CarrierConfigResCommon \
FrameworksResTarget \
OPlusFrameworksResTarget \
OPlusSettingsProviderResTarget \
OPlusSettingsResTarget \
OPlusSystemUIResTarget \
WifiResTarget
# AAPT
PRODUCT_AAPT_CONFIG := normal
PRODUCT_AAPT_PREF_CONFIG := xxhdpi
# A/B
$(call inherit-product, $(SRC_TARGET_DIR)/product/virtual_ab_ota/launch_with_vendor_ramdisk.mk)
AB_OTA_POSTINSTALL_CONFIG += \
RUN_POSTINSTALL_system=true \
POSTINSTALL_PATH_system=system/bin/otapreopt_script \
@ -59,17 +24,16 @@ AB_OTA_POSTINSTALL_CONFIG += \
FILESYSTEM_TYPE_vendor=erofs \
POSTINSTALL_OPTIONAL_vendor=true
AB_OTA_POSTINSTALL_CONFIG += \
RUN_POSTINSTALL_odm=true \
POSTINSTALL_PATH_odm=bin/xbl_config_arb_check \
FILESYSTEM_TYPE_odm=erofs \
POSTINSTALL_OPTIONAL_odm=false
PRODUCT_PACKAGES += \
checkpoint_gc \
otapreopt_script
# ANT+
PRODUCT_PACKAGES += \
AntHalService-Soong
# Atrace
PRODUCT_PACKAGES += \
android.hardware.atrace@1.0-service
otapreopt_script \
xbl_config_arb_check
# Audio
PRODUCT_PACKAGES += \
@ -98,31 +62,26 @@ PRODUCT_PACKAGES += \
libvolumelistener \
sound_trigger.primary.holi:32
# SM8350 audio HAL has SM4350 configurations.
AUDIO_HAL_DIR := hardware/qcom-caf/sm8350/audio
PRODUCT_COPY_FILES += \
$(AUDIO_HAL_DIR)/configs/common/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \
$(AUDIO_HAL_DIR)/configs/holi/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml \
$(AUDIO_HAL_DIR)/configs/holi/audio_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info.xml \
$(AUDIO_HAL_DIR)/configs/holi/audio_platform_info_intcodec.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info_intcodec.xml \
$(AUDIO_HAL_DIR)/configs/holi/audio_tuning_mixer.txt:$(TARGET_COPY_OUT_VENDOR)/etc/audio_tuning_mixer.txt \
$(AUDIO_HAL_DIR)/configs/holi/sound_trigger_mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths.xml \
$(AUDIO_HAL_DIR)/configs/holi/sound_trigger_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_platform_info.xml \
$(LOCAL_PATH)/audio/audio_io_policy.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_io_policy.conf \
$(LOCAL_PATH)/audio/audio_policy_configuration_a2dp_offload_disabled.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/audio_policy_configuration.xml \
$(LOCAL_PATH)/audio/bluetooth_hearing_aid_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_hearing_aid_audio_policy_configuration.xml \
$(LOCAL_PATH)/audio/mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths.xml
$(LOCAL_PATH)/configs/audio/audio_io_policy.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_io_policy.conf \
$(LOCAL_PATH)/configs/audio/audio_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info.xml \
$(LOCAL_PATH)/configs/audio/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \
$(LOCAL_PATH)/configs/audio/audio_policy_configuration_a2dp_offload_disabled.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/audio_policy_configuration.xml \
$(LOCAL_PATH)/configs/audio/bluetooth_hearing_aid_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_hearing_aid_audio_policy_configuration.xml \
$(LOCAL_PATH)/configs/audio/mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths.xml \
$(LOCAL_PATH)/configs/audio/sound_trigger_mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths.xml
PRODUCT_COPY_FILES += \
frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_holi/audio_policy_volumes.xml \
frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \
frameworks/av/services/audiopolicy/config/bluetooth_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_audio_policy_configuration.xml \
frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_holi/default_volume_tables.xml \
frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \
frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_holi/r_submix_audio_policy_configuration.xml \
frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \
frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_holi/usb_audio_policy_configuration.xml \
frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usb_audio_policy_configuration.xml
PRODUCT_COPY_FILES += \
@ -140,15 +99,13 @@ TARGET_SCREEN_WIDTH := 1080
# Boot control
PRODUCT_PACKAGES += \
android.hardware.boot@1.2-impl-qti \
android.hardware.boot@1.2-impl-qti.recovery \
android.hardware.boot@1.2-service
android.hardware.boot-service.qti \
android.hardware.boot-service.qti.recovery
# Camera
PRODUCT_PACKAGES += \
android.hardware.camera.provider@2.4-impl \
android.hardware.camera.provider@2.4-service_64 \
libcamera_metadata_shim
android.hardware.camera.provider@2.4-service_64
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.camera.flash-autofocus.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.flash-autofocus.xml \
@ -156,6 +113,12 @@ PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.camera.full.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.full.xml \
frameworks/native/data/etc/android.hardware.camera.raw.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.raw.xml
# Dalvik
$(call inherit-product, frameworks/native/build/phone-xhdpi-4096-dalvik-heap.mk)
# DebugFS
PRODUCT_SET_DEBUGFS_RESTRICTIONS := true
# Display
PRODUCT_PACKAGES += \
android.hardware.graphics.mapper@3.0-impl-qti-display \
@ -163,27 +126,22 @@ PRODUCT_PACKAGES += \
init.qti.display_boot.sh \
vendor.qti.hardware.display.allocator-service \
vendor.qti.hardware.display.composer-service \
vendor.qti.hardware.display.composer-service.rc \
vendor.qti.hardware.display.composer-service.xml \
vendor.qti.hardware.display.config-V5-ndk \
vendor.qti.hardware.memtrack-service
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.opengles.aep.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.opengles.aep.xml \
frameworks/native/data/etc/android.hardware.vulkan.compute-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.compute-0.xml \
frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.level-1.xml \
frameworks/native/data/etc/android.hardware.vulkan.version-1_1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version-1_1.xml \
frameworks/native/data/etc/android.software.vulkan.deqp.level-2020-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml
hardware/qcom-caf/sm8350/display/config/snapdragon_color_libs_config.xml:$(TARGET_COPY_OUT_VENDOR)/etc/snapdragon_color_libs_config.xml
# Doze
PRODUCT_PACKAGES += \
OplusDoze
OplusDoze \
OplusDozeResTarget
# DRM
PRODUCT_PACKAGES += \
android.hardware.drm-service.clearkey
android.hardware.drm-service.clearkey \
wvmkiller
# fastbootd
# Fastboot
PRODUCT_PACKAGES += \
android.hardware.fastboot@1.1-impl.custom \
fastbootd
@ -197,23 +155,27 @@ PRODUCT_COPY_FILES += \
# FM Radio
PRODUCT_PACKAGES += \
FM2 \
qcom.fmradio
FM2
# GPS
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/gps/gps.conf:$(TARGET_COPY_OUT_ODM)/etc/gps.conf
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.location.gps.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.location.gps.xml
# Graphics
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.opengles.aep.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.opengles.aep.xml \
frameworks/native/data/etc/android.hardware.vulkan.compute-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.compute-0.xml \
frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.level-1.xml \
frameworks/native/data/etc/android.hardware.vulkan.version-1_1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version-1_1.xml \
frameworks/native/data/etc/android.software.vulkan.deqp.level-2020-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml
# Health
PRODUCT_PACKAGES += \
android.hardware.health-service.qti
# HotwordEnrollement app permissions
# Hotword enrollment
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/privapp-permissions-hotword.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/permissions/privapp-permissions-hotword.xml
$(LOCAL_PATH)/configs/permissions/privapp-permissions-hotword.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/permissions/privapp-permissions-hotword.xml
# Init
PRODUCT_PACKAGES += \
@ -231,25 +193,33 @@ PRODUCT_PACKAGES += \
ueventd.oplus.rc \
ueventd.qcom.rc
$(call soong_config_set,libinit,vendor_init_lib,//$(LOCAL_PATH):libinit_oplus)
# IPACM
PRODUCT_PACKAGES += \
ipacm \
IPACM_cfg.xml
# Kernel
PRODUCT_ENABLE_UFFD_GC := false
PRODUCT_ENABLE_UFFD_GC := true
# Lineage Health
PRODUCT_PACKAGES += \
vendor.lineage.health-service.default
$(call soong_config_set,lineage_health,charging_control_charging_path,/sys/class/oplus_chg/battery/mmi_charging_enable)
# LiveDisplay
PRODUCT_PACKAGES += \
vendor.lineage.livedisplay@2.1-service.oplus
vendor.lineage.livedisplay-service.oplus
$(call soong_config_set_bool,OPLUS_LINEAGE_LIVEDISPLAY_HAL,ENABLE_SE,false)
# Media
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/media_profiles_holi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_vendor.xml
$(LOCAL_PATH)/configs/media/media_profiles_holi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_vendor.xml
$(call soong_config_set_bool,stagefright,target_disable_thumbnail_block_model,true)
# NFC
PRODUCT_PACKAGES += \
@ -259,36 +229,53 @@ PRODUCT_PACKAGES += \
Tag
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/nfc/libnfc-hal-st.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libnfc-hal-st.conf \
$(LOCAL_PATH)/configs/nfc/libnfc-hal-st.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libnfc-hal-st.conf \
frameworks/native/data/etc/android.hardware.nfc.hce.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hce.xml \
frameworks/native/data/etc/android.hardware.nfc.hcef.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hcef.xml \
frameworks/native/data/etc/android.hardware.nfc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.xml
# OMX
# Overlays
$(call inherit-product, hardware/oplus/overlay/generic/generic.mk)
$(call inherit-product, hardware/oplus/overlay/qssi/qssi.mk)
DEVICE_PACKAGE_OVERLAYS += \
$(LOCAL_PATH)/overlay-lineage
PRODUCT_ENFORCE_RRO_TARGETS := *
PRODUCT_PACKAGES += \
libOmxAacEnc \
libOmxAmrEnc \
libOmxCore \
libOmxEvrcEnc \
libOmxG711Enc \
libOmxQcelp13Enc \
libstagefrighthw
CarrierConfigResCommon \
FrameworksResTarget \
Launcher3ResTarget \
NcmTetheringOverlay \
OPlusFrameworksResTarget \
OPlusSettingsProviderResTarget \
OPlusSettingsResTarget \
OPlusSystemUIResTarget \
WifiResTarget
# Partitions
PRODUCT_PACKAGES += \
vendor_bt_firmware_mountpoint \
vendor_dsp_mountpoint \
vendor_firmware_mnt_mountpoint
PRODUCT_USE_DYNAMIC_PARTITIONS := true
# Perf
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/task_profiles.json:$(TARGET_COPY_OUT_VENDOR)/etc/task_profiles.json
$(LOCAL_PATH)/configs/perf/task_profiles.json:$(TARGET_COPY_OUT_VENDOR)/etc/task_profiles.json
# Power
PRODUCT_PACKAGES += \
android.hardware.power-service-qti
android.hardware.power-service.lineage-libperfmgr \
libqti-perfd-client
# QMI
PRODUCT_PACKAGES += \
libvndfwk_detect_jni.qti.vendor:64
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/powerhint.json:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.json
# Sensors
PRODUCT_PACKAGES += \
android.hardware.sensors@2.0-service.multihal \
android.hardware.sensors-service.multihal \
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.accelerometer.xml \
@ -301,10 +288,21 @@ PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.sensor.stepcounter.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepcounter.xml \
frameworks/native/data/etc/android.hardware.sensor.stepdetector.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepdetector.xml
# Shipping API
BOARD_SHIPPING_API_LEVEL := 30
PRODUCT_SHIPPING_API_LEVEL := $(BOARD_SHIPPING_API_LEVEL)
# Soong namespaces
PRODUCT_SOONG_NAMESPACES += \
$(LOCAL_PATH) \
hardware/oplus
hardware/google/interfaces \
hardware/google/pixel \
hardware/oplus \
hardware/lineage/interfaces/power-libperfmgr \
hardware/qcom-caf/common/libqti-perfd-client
# Storage
$(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk)
# Telephony
PRODUCT_PACKAGES += \
@ -324,6 +322,9 @@ PRODUCT_PACKAGES += \
qti_telephony_utils_prd.xml \
telephony-ext
PRODUCT_PACKAGES += \
qcrilNrDb_vendor
PRODUCT_BOOT_JARS += \
telephony-ext
@ -344,7 +345,7 @@ PRODUCT_PACKAGES += \
# Touch
PRODUCT_PACKAGES += \
vendor.lineage.touch@1.0-service.oplus
vendor.lineage.touch-service.oplus
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml
@ -360,23 +361,21 @@ PRODUCT_PACKAGES_DEBUG += \
# USB
PRODUCT_PACKAGES += \
android.hardware.usb-service.qti
android.hardware.usb-service.qti \
android.hardware.usb.gadget-service.qti \
oplus_usb_compositions.conf
PRODUCT_SOONG_NAMESPACES += \
vendor/qcom/opensource/usb/etc
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml \
frameworks/native/data/etc/android.hardware.usb.host.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.host.xml
PRODUCT_SOONG_NAMESPACES += \
vendor/qcom/opensource/usb/etc
# Vendor service manager
PRODUCT_PACKAGES += \
vndservicemanager
# Vendor libstdc++
PRODUCT_PACKAGES += \
libstdc++_vendor
# Verified Boot
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.software.verified_boot.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.verified_boot.xml
@ -388,34 +387,35 @@ PRODUCT_PACKAGES += \
PRODUCT_COPY_FILES += \
vendor/qcom/opensource/vibrator/excluded-input-devices.xml:$(TARGET_COPY_OUT_VENDOR)/etc/excluded-input-devices.xml
# VNDK
PRODUCT_PACKAGES += \
android.hardware.common-V1-ndk_platform.vendor
# VINTF
DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE += \
hardware/oplus/vintf/device_framework_matrix.xml \
hardware/qcom-caf/common/vendor_framework_compatibility_matrix.xml
DEVICE_MATRIX_FILE := hardware/qcom-caf/common/compatibility_matrix.xml
DEVICE_MANIFEST_FILE := $(LOCAL_PATH)/vintf/manifest.xml
# Wi-Fi
# WiFi
PRODUCT_PACKAGES += \
android.hardware.wifi-service \
android.hardware.wifi.hostapd@1.0.vendor \
hostapd \
libwpa_client \
libwifi-hal-ctrl \
libwifi-hal-qcom \
wpa_supplicant \
wpa_supplicant.conf
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.wifi.aware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.aware.xml \
frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml \
frameworks/native/data/etc/android.hardware.wifi.passpoint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.passpoint.xml \
frameworks/native/data/etc/android.hardware.wifi.rtt.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.rtt.xml \
frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml \
frameworks/native/data/etc/android.software.ipsec_tunnel_migration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.ipsec_tunnel_migration.xml \
frameworks/native/data/etc/android.software.ipsec_tunnels.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.ipsec_tunnels.xml
# Wi-Fi firmware symlinks
# WiFi firmware symlinks
PRODUCT_PACKAGES += \
firmware_wlan_mac.bin_symlink \
firmware_WCNSS_qcom_cfg.ini_symlink
# Wi-Fi Display
PRODUCT_BOOT_JARS += \
WfdCommon
PRODUCT_USE_DYNAMIC_PARTITIONS := true
# Get non-open-source specific aspects
$(call inherit-product, vendor/oneplus/dre/dre-vendor.mk)

View file

@ -9,7 +9,6 @@ from extract_utils.fixups_blob import (
blob_fixups_user_type,
)
from extract_utils.fixups_lib import (
lib_fixup_remove,
lib_fixups,
lib_fixups_user_type,
)
@ -21,6 +20,7 @@ from extract_utils.main import (
namespace_imports = [
'device/oneplus/dre',
'hardware/oplus',
'hardware/qcom-caf/common/libqti-perfd-client',
'hardware/qcom-caf/sm8350',
'hardware/qcom-caf/wlan',
'vendor/qcom/opensource/commonsys-intf/display',
@ -44,42 +44,71 @@ lib_fixups: lib_fixups_user_type = {
'vendor.qti.hardware.wifidisplaysession@1.0',
'vendor.qti.imsrtpservice@3.0',
): lib_fixup_vendor_suffix,
(
'libOmxCore',
'libwpa_client',
): lib_fixup_remove,
}
blob_fixups: blob_fixups_user_type = {
'odm/etc/init/android.hardware.drm@1.3-service.widevine.rc': blob_fixup()
.regex_replace('writepid /dev/cpuset/foreground/tasks', 'task_profiles ProcessCapacityHigh'),
('odm/lib64/libCOppLceTonemapAPI.so', 'odm/lib64/libaps_frame_registration.so'): blob_fixup()
('odm/lib/liblvimfs_wrapper.so', 'odm/lib64/libCOppLceTonemapAPI.so', 'odm/lib64/libaps_frame_registration.so'): blob_fixup()
.replace_needed('libstdc++.so', 'libstdc++_vendor.so'),
'odm/lib64/libarcsoft_portrait_super_night_raw.so': blob_fixup()
.clear_symbol_version('remote_handle_close')
.clear_symbol_version('remote_handle_invoke')
.clear_symbol_version('remote_handle_open')
.clear_symbol_version('remote_handle64_close')
.clear_symbol_version('remote_handle64_invoke')
.clear_symbol_version('remote_handle64_open')
.clear_symbol_version('remote_register_buf_attr')
.clear_symbol_version('remote_register_buf')
.clear_symbol_version('rpcmem_alloc')
.clear_symbol_version('rpcmem_free')
.clear_symbol_version('rpcmem_to_fd'),
'odm/lib64/libOGLManager.so': blob_fixup()
.clear_symbol_version('AHardwareBuffer_allocate')
.clear_symbol_version('AHardwareBuffer_describe')
.clear_symbol_version('AHardwareBuffer_lock')
.clear_symbol_version('AHardwareBuffer_release')
.clear_symbol_version('AHardwareBuffer_unlock'),
('odm/lib64/libwvhidl.so','odm/lib64/mediadrm/libwvdrmengine.so'): blob_fixup()
.add_needed('libcrypto_shim.so'),
'product/etc/sysconfig/com.android.hotwordenrollment.common.util.xml': blob_fixup()
.regex_replace('/my_product', '/product'),
'system_ext/framework/oplus-ims-ext.jar': blob_fixup()
.apktool_patch('blob-patches/oplus-ims-ext.patch', '-r'),
'system_ext/lib/libwfdmmsrc_system.so': blob_fixup()
.add_needed('libgui_shim.so'),
'system_ext/lib/libwfdservice.so': blob_fixup()
.replace_needed('android.media.audio.common.types-V2-cpp.so', 'android.media.audio.common.types-V3-cpp.so'),
'system_ext/lib64/libwfdnative.so': blob_fixup()
.replace_needed('android.hidl.base@1.0.so', 'libhidlbase.so')
.add_needed('libinput_shim.so'),
'vendor/etc/init/android.hardware.neuralnetworks@1.3-service-qti.rc': blob_fixup()
.regex_replace('writepid /dev/stune/nnapi-hal/tasks', 'task_profiles NNApiHALPerformance'),
'vendor/bin/init.kernel.post_boot-blair.sh': blob_fixup()
.patch_file('blob-patches/init-post-boot-blair.patch'),
'vendor/bin/init.kernel.post_boot-holi.sh': blob_fixup()
.patch_file('blob-patches/init-post-boot-holi.patch'),
'vendor/etc/init/vendor.qti.media.c2@1.0-service.rc': blob_fixup()
.regex_replace('writepid /dev/cpuset/foreground/tasks', 'task_profiles ProcessCapacityHigh'),
('vendor/etc/media_codecs.xml','vendor/etc/media_codecs_blair.xml','vendor/etc/media_codecs_blair_lite.xml','vendor/etc/media_codecs_holi.xml'): blob_fixup()
.regex_replace('\n <Include href="media_codecs_google_audio.xml" />', '')
.regex_replace('\n <Include href="media_codecs_vendor_audio.xml" />', '')
.regex_replace('\n <Include href="media_codecs_google_telephony.xml" />', '')
.regex_replace('\n <Include href="media_codecs_google_c2.xml" />', '')
.regex_replace('\n <Include href="media_codecs_c2_audio.xml" />', '')
.regex_replace('\n <Setting name="max-video-encoder-input-buffers" value="11" />', '\n <Domain name="telephony" enabled="true" />\n <Setting name="max-video-encoder-input-buffers" value="11" />'),
'vendor/etc/media_holi/video_system_specs.json': blob_fixup()
.regex_replace('"max_retry_alloc_output_timeout": 2000,', '"max_retry_alloc_output_timeout": 0,'),
'vendor/etc/libnfc-nci.conf': blob_fixup()
.regex_replace('NFC_DEBUG_ENABLED=1', 'NFC_DEBUG_ENABLED=0'),
('vendor/etc/media_codecs.xml', 'vendor/etc/media_codecs_holi.xml', 'vendor/etc/media_codecs_holi_vendor.xml'): blob_fixup()
.regex_replace('.*media_codecs_(google_audio|google_c2|google_telephony|vendor_audio).*\n', ''),
'vendor/etc/msm_irqbalance.conf': blob_fixup()
.regex_replace('IGNORED_IRQ=19,21,38$', 'IGNORED_IRQ=19,21,38,209,218'),
'vendor/lib64/hw/com.qti.chi.override.so': blob_fixup()
'vendor/etc/public.libraries.txt': blob_fixup()
.regex_replace('libqti-perfd-client.so\n', ''),
'vendor/etc/qdcm_calib_data_nt36672c_tm_fhd_plus_video_mode_dsi_panel.xml': blob_fixup()
.regex_replace('FeatureType="2" Disable="false"', 'FeatureType="2" Disable="true"')
.regex_replace('FeatureType="7" Disable="false"', 'FeatureType="7" Disable="true"')
.regex_replace('FeatureType="8" Disable="false"', 'FeatureType="8" Disable="true"')
.regex_replace('20121_v1_20201113', 'native')
.regex_replace('SRGB', 'sRGB'),
'vendor/lib64/hw/camera.qcom.so': blob_fixup()
.add_needed('libcamera_metadata_shim.so'),
(
'vendor/lib64/libdpps.so',
'vendor/lib64/libsnapdragoncolor-manager.so',
): blob_fixup()
.replace_needed('libtinyxml2.so', 'libtinyxml2-v34.so'),
} # fmt: skip
module = ExtractUtilsModule(

View file

@ -1,396 +0,0 @@
# Error Estimate
# _SET = 1
# _CLEAR = 0
ERR_ESTIMATE=0
#NTP server
NTP_SERVER=time.xtracloud.net
#XTRA CA path
XTRA_CA_PATH=/usr/lib/ssl-1.1/certs
# DEBUG LEVELS: 0 - none, 1 - Error, 2 - Warning, 3 - Info
# 4 - Debug, 5 - Verbose
# If DEBUG_LEVEL is commented, Android's logging levels will be used
#ifndef OPLUS_BUG_DEBUG
#LinHuaqiu@CONNECTIVITY.GPS.LOCATION.LOG.1065783, 2017/11/04, Add for gps log control
#DEBUG_LEVEL = 3
#else /* OPLUS_BUG_DEBUG */
DEBUG_LEVEL = 2
#endif /* OPLUS_BUG_DEBUG */
# Intermediate position report, 1=enable, 0=disable
INTERMEDIATE_POS=0
# supl version 1.0
SUPL_VER=0x10000
# Emergency SUPL, 1=enable, 0=disable
#SUPL_ES=1
#Choose PDN for Emergency SUPL
#1 - Use emergency PDN
#0 - Use regular SUPL PDN for Emergency SUPL
#USE_EMERGENCY_PDN_FOR_EMERGENCY_SUPL=0
#SUPL_MODE is a bit mask set in config.xml per carrier by default.
#If it is uncommented here, this value will overwrite the value from
#config.xml.
#MSA=0X2
#MSB=0X1
#SUPL_MODE=
# GPS Capabilities bit mask
# SCHEDULING = 0x01
# MSB = 0x02
# MSA = 0x04
# ON_DEMAND_TIME = 0x10
# default = ON_DEMAND_TIME | MSA | MSB | SCHEDULING
CAPABILITIES=0x17
# Accuracy threshold for intermediate positions
# less accurate positions are ignored, 0 for passing all positions
# ACCURACY_THRES=5000
################################
##### AGPS server settings #####
################################
# FOR SUPL SUPPORT, set the following
# SUPL_HOST=supl.host.com or IP
# SUPL_PORT=1234
# FOR MO SUPL SUPPORT, set the following
# MO_SUPL_HOST=supl.host.com or IP
# MO_SUPL_PORT=1234
# FOR C2K PDE SUPPORT, set the following
# C2K_HOST=c2k.pde.com or IP
# C2K_PORT=1234
# Bitmask of slots that are available
# for write/install to, where 1s indicate writable,
# and the default value is 0 where no slots
# are writable. For example, AGPS_CERT_WRITABLE_MASK
# of b1000001010 makes 3 slots available
# and the remaining 7 slots unwritable.
#AGPS_CERT_WRITABLE_MASK=0
####################################
# LTE Positioning Profile Settings
####################################
# LPP_PROFILE is a bit mask
# 0: Enable RRLP on LTE(Default)
# 0x1: LPP User Plane
# 0x2: LPP Control Plane
# 0x4: LPP User Plane for NR5G
# 0x8: LPP Control Plane for NR5G
LPP_PROFILE = 2
####################################
#Datum Type
####################################
# 0: WGS-84
# 1: PZ-90
DATUM_TYPE = 0
################################
# EXTRA SETTINGS
################################
# NMEA provider (1=Modem Processor, 0=Application Processor)
NMEA_PROVIDER=0
################################
# NMEA TAG BLOCK GROUPING
################################
# NMEA tag block grouping is only applicable to GSA
# Default is disabled
# 0 - disabled
# 1 - enabled
NMEA_TAG_BLOCK_GROUPING_ENABLED = 0
# Customized NMEA GGA fix quality that can be used to tell
# whether SENSOR contributed to the fix.
#
# When this configuration item is not enabled (set to any value that is not 1),
# GGA fix quality conforms to NMEA standard spec as below:
# PPP/DGNSS/SBAS correction fix w/ or w/o sensor: 2
# RTK fixed fix w/ or w/o sensor: 4
# RTK float fix w/ or w/o sensor: 5
# SPE fix w/ or w/o sensor: 1
# Sensor dead reckoning fix: 6
#
# When this configuration is enabled (set to 1), GGA fix quality
# will be output as below:
# PPP fix w/o sensor: 59, w/ sensor: 69
# DGNSS/SBAS correction fix w/o sensor: 2, w/ sensor: 62
# RTK fixed fix w/o sensor: 4, w/ sensor: 64
# RTK float fix w/o sensor: 5, w/ sensor: 65,
# SPE fix w/o sensor: 1, and w/ sensor: 61
# Sensor dead reckoning fix: 6
#
# any value that is not 1 - disabled
# 1 - enabled
CUSTOM_NMEA_GGA_FIX_QUALITY_ENABLED = 0
################################
# NMEA Reporting Rate Config, valid only when NMEA_PROVIDER is set to "0"
################################
# NMEA Reporting Rate
# Set it to "1HZ" for 1Hz NMEA Reporting
# Set it to "NHZ" for NHz NMEA Reporting
#Default : NHZ (overridden by position update rate if set to lower rates)
NMEA_REPORT_RATE=NHZ
# Mark if it is a SGLTE target (1=SGLTE, 0=nonSGLTE)
SGLTE_TARGET=0
##################################################
# Select Positioning Protocol on A-GLONASS system
##################################################
# 0x1: RRC CPlane
# 0x2: RRLP UPlane
# 0x4: LLP Uplane
A_GLONASS_POS_PROTOCOL_SELECT = 0
##################################################
# Select technology for LPPe Control Plane
##################################################
# 0x1: DBH for LPPe CP
# 0x2: WLAN AP Measurements for LPPe CP
# 0x4: SRN AP measurement for CP
# 0x8: Sensor Barometer Measurement LPPe CP
#LPPE_CP_TECHNOLOGY = 0
##################################################
# Select technology for LPPe User Plane
##################################################
# 0x1: DBH for LPPe UP
# 0x2: WLAN AP Measurements for LPPe UP
# 0x4: SRN AP measurement for UP
# 0x8: Sensor Barometer Measurement LPPe UP
#LPPE_UP_TECHNOLOGY = 0
##################################################
# AGPS_CONFIG_INJECT
##################################################
# enable/disable injection of AGPS configurations:
# SUPL_VER
# SUPL_HOST
# SUPL_PORT
# MO_SUPL_HOST
# MO_SUPL_PORT
# C2K_HOST
# C2K_PORT
# LPP_PROFILE
# A_GLONASS_POS_PROTOCOL_SELECT
# 0: disable
# 1: enable
AGPS_CONFIG_INJECT = 1
##################################################
# GNSS settings for automotive use cases
# Configurations in following section are
# specific to automotive use cases, others
# please do not change, keep the default values
##################################################
# AP Coarse Timestamp Uncertainty
##################################################
# default : 10
# AP time stamp uncertainty, until GNSS receiver
# is able to acquire better timing information
AP_TIMESTAMP_UNCERTAINTY = 10
#####################################
# DR_SYNC Pulse Availability
#####################################
# 0 : DR_SYNC pulse not available (default)
# 1 : DR_SYNC pulse available
# This configuration enables the driver to make use
# of PPS events generated by DR_SYNC pulse
# Standard Linux PPS driver needs to be enabled
DR_SYNC_ENABLED = 0
#####################################
# PPS Device name
#####################################
PPS_DEVICENAME = /dev/pps0
#####################################
# Ignore PPS at Startup and after long outage
#####################################
IGNORE_PPS_PULSE_COUNT = 1
#####################################
# Long GNSS RF outage in seconds
#####################################
GNSS_OUTAGE_DURATION = 10
#####################################
# AP Clock Accuracy
#####################################
# Quality of APPS processor clock (in PPM).
# Value specified is used for calculation of
# APPS time stamp uncertainty
AP_CLOCK_PPM = 100
#####################################
# MAX ms difference to detect missing pulse
#####################################
# Specifies time threshold in ms to validate any missing PPS pulses
MISSING_PULSE_TIME_DELTA = 900
#####################################
# Propagation time uncertainty
#####################################
# This settings enables time uncertainty propagation
# logic incase of missing PPS pulse
PROPAGATION_TIME_UNCERTAINTY = 1
#######################################
# APN / IP Type Configuration
# APN and IP Type to use for setting
# up WWAN call.
# Use below values for IP Type:
# v4 = 4
# v6 = 6
# v4v6 = 10
#######################################
# INTERNET_APN = abc.xyz
# INTERNET_IP_TYPE = 4
# SUPL_APN = abc.xyz
# SUPL_IP_TYPE = 4
#####################################
# Modem type
#####################################
# This setting configures modem type
# (external=0 or internal=1)
# comment out the next line to vote
# for the first modem in the list
MODEM_TYPE = 1
##################################################
# CONSTRAINED TIME UNCERTAINTY MODE
##################################################
# 0 : disabled (default)
# 1 : enabled
# This setting enables GPS engine to keep its time
# uncertainty below the specified constraint
#CONSTRAINED_TIME_UNCERTAINTY_ENABLED = 0
# If constrained time uncertainty mode is enabled,
# this setting specifies the time uncertainty
# threshold that gps engine need to maintain.
# In unit of milli-seconds.
# Default is 0.0 meaning that modem default value
# of time uncertainty threshold will be used.
#CONSTRAINED_TIME_UNCERTAINTY_THRESHOLD = 0.0
# If constrained time uncertainty mode is enabled,
# this setting specifies the power budget that
# gps engine is allowed to spend to maintain the time
# uncertainty.
# Default is 0 meaning that GPS engine is not constained
# by power budget and can spend as much power as needed.
# In unit of 0.1 milli watt second.
#CONSTRAINED_TIME_UNCERTAINTY_ENERGY_BUDGET = 0
##################################################
# POSITION ASSISTED CLOCK ESTIMATOR
##################################################
# 0 : disabled (default)
# 1 : enabled
# This setting enables GPS engine to estimate clock
# bias and drift when the signal from at least 1
# SV is available and the UEs position is known by
# other position engines.
#POSITION_ASSISTED_CLOCK_ESTIMATOR_ENABLED = 0
#####################################
# proxyAppPackageName
#####################################
# This is a string that is sent to the framework
# in nfwNotifyCb callback
PROXY_APP_PACKAGE_NAME = com.google.android.carrierlocation
#####################################
# CP_MTLR_ES
#####################################
# CP MTLR ES, 1=enable, 0=disable
CP_MTLR_ES=0
##################################################
# GNSS_DEPLOYMENT
##################################################
# 0 : Enable QTI GNSS (default)
# 1 : Enable QCSR SS5
# 2 : Enable PDS API
# This setting use to select between QTI GNSS,
# QCSR SS5 hardware receiver, and PDS API.
# By default QTI GNSS receiver is enabled.
# GNSS_DEPLOYMENT = 0
##################################################
## LOG BUFFER CONFIGURATION
##################################################
#LOG_BUFFER_ENABLED, 1=enable, 0=disable
#*_LEVEL_TIME_DEPTH, maximum time depth of level *
#in log buffer, unit is second
#*_LEVEL_MAX_CAPACITY, maximum numbers of level *
#log print sentences in log buffer
LOG_BUFFER_ENABLED = 0
E_LEVEL_TIME_DEPTH = 600
E_LEVEL_MAX_CAPACITY = 50
W_LEVEL_TIME_DEPTH = 500
W_LEVEL_MAX_CAPACITY = 100
I_LEVEL_TIME_DEPTH = 400
I_LEVEL_MAX_CAPACITY = 200
D_LEVEL_TIME_DEPTH = 30
D_LEVEL_MAX_CAPACITY = 300
V_LEVEL_TIME_DEPTH = 200
V_LEVEL_MAX_CAPACITY = 400
##################################################
# Allow buffer diag log packets when diag memory allocation
# fails during boot up time.
##################################################
BUFFER_DIAG_LOGGING = 1
#######################################
# NTRIP CLIENT LIBRARY NAME
#######################################
# NTRIP_CLIENT_LIB_NAME =
##################################################
# Correction Data Framework settings
# Default values:
# CDFW_SOURCE_PRIORITY_1 = INTERNAL_1 RTCM
# CDFW_INJECT_DATA_INTERVAL = 600000 //10 mins
# CDFW_RTCM_MESSAGE_INTERVAL = 1000 //1 second
#
# If multiple sources coexist on a PL,
# the prorioty sequence can be set by the integer number.
# PRIORITY_1 is higher than PRIORITY_2, for example,
# CDFW_SOURCE_PRIORITY_1 = INTERNAL_1 RTCM
# CDFW_SOURCE_PRIORITY_2 = CV2X RTCM
##################################################
##################################################
# RF LOSS
# The loss in 0.1 dbHz from the C/N0 at the antenna port
# These values must be configured by OEM if not
# supported in QMI LOC message
# There is one entry for each signal type
##################################################
RF_LOSS_GPS = 0
RF_LOSS_GPS_L5 = 0
RF_LOSS_GLO_LEFT = 0
RF_LOSS_GLO_CENTER = 0
RF_LOSS_GLO_RIGHT = 0
RF_LOSS_BDS = 0
RF_LOSS_BDS_B2A = 0
RF_LOSS_GAL = 0
RF_LOSS_GAL_E5 = 0
RF_LOSS_NAVIC = 0

View file

@ -41,7 +41,7 @@ product /product e
vendor /vendor erofs ro wait,slotselect,avb,logical,first_stage_mount
vendor_dlkm /vendor_dlkm erofs ro wait,slotselect,avb,logical,first_stage_mount
odm /odm erofs ro wait,slotselect,avb,logical,first_stage_mount
/dev/block/by-name/metadata /metadata ext4 noatime,nosuid,nodev,discard wait,check,formattable,first_stage_mount
/dev/block/by-name/metadata /metadata ext4 noatime,nosuid,nodev,discard,data=journal,commit=1 wait,check,formattable,first_stage_mount
/dev/block/bootdevice/by-name/persist /mnt/vendor/persist ext4 noatime,nosuid,nodev,barrier=1 wait
/dev/block/bootdevice/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,inlinecrypt,reserve_root=32768,resgid=1065,fsync_mode=nobarrier latemount,wait,check,formattable,fileencryption=aes-256-xts:aes-256-cts:v2+inlinecrypt_optimized+wrappedkey_v0,keydirectory=/metadata/vold/metadata_encryption,metadata_encryption=aes-256-xts:wrappedkey_v0,quota,reservedsize=128M,checkpoint=fs
/dev/block/bootdevice/by-name/misc /misc emmc defaults defaults

View file

@ -1,5 +1,5 @@
#
# Copyright (C) 2022 The LineageOS Project
# Copyright (C) 2022-2024 The LineageOS Project
#
# SPDX-License-Identifier: Apache-2.0
#
@ -44,6 +44,8 @@ on property:sys.boot_completed=1
copy /vendor/etc/Oppo_QC_LTM_Commercial_SM8250_2020_01_15.pfm /mnt/vendor/persist/data/pfm/licenses/1000-1000-no-exp-1186717196.pfm
chmod 0600 /mnt/vendor/persist/data/pfm/licenses/1000-1000-no-exp-1186717196.pfm
chown system system /mnt/vendor/persist/data/pfm/licenses/1000-1000-no-exp-1186717196.pfm
# Enable PowerHAL hint processing
setprop vendor.powerhal.init 1
on property:vendor.post_boot.parsed=1
# IRQ Tuning
@ -52,58 +54,6 @@ on property:vendor.post_boot.parsed=1
write /proc/irq/243/smp_affinity_list 2
write /proc/irq/240/smp_affinity_list 1
on property:sys.usb.config=adb && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idVendor 0x22D9
write /config/usb_gadget/g1/idProduct 0x2769
on property:sys.usb.config=mass_storage && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idVendor 0x22D9
write /config/usb_gadget/g1/idProduct 0x2768
on property:sys.usb.config=mtp && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idVendor 0x22D9
write /config/usb_gadget/g1/idProduct 0x2764
on property:sys.usb.config=mtp,adb && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idVendor 0x22D9
write /config/usb_gadget/g1/idProduct 0x2765
on property:sys.usb.config=ptp && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idVendor 0x22D9
write /config/usb_gadget/g1/idProduct 0x2771
on property:sys.usb.config=ptp,adb && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idVendor 0x22D9
write /config/usb_gadget/g1/idProduct 0x2772
on property:sys.usb.config=rndis,none && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idVendor 0x22D9
write /config/usb_gadget/g1/idProduct 0x276A
on property:sys.usb.config=rndis,serial_cdev,diag && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idVendor 0x22D9
write /config/usb_gadget/g1/idProduct 0x2783
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,adb && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idVendor 0x22D9
write /config/usb_gadget/g1/idProduct 0x276C
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,diag_mdm,adb && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idVendor 0x22D9
write /config/usb_gadget/g1/idProduct 0x276E
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=mass_storage,adb && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idVendor 0x22D9
write /config/usb_gadget/g1/idProduct 0x2767
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=rndis,diag,adb && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idVendor 0x22D9
write /config/usb_gadget/g1/idProduct 0x2775
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=rndis,none,adb && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idVendor 0x22D9
write /config/usb_gadget/g1/idProduct 0x2766
service oplus_sensor_fb /odm/bin/oplus_sensor_fb
user system
group system

View file

@ -61,8 +61,6 @@ on early-init
chown root system /dev/kmsg
chmod 0620 /dev/kmsg
# Load WIGIG platform driver
exec u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d /vendor/lib/modules msm_11ad_proxy
on init
@ -82,8 +80,8 @@ on post-fs
chmod 0755 /sys/kernel/debug/tracing
on early-boot
# set RLIMIT_MEMLOCK to 64MB
setrlimit 8 67108864 67108864
# set RLIMIT_MEMLOCK to 64KB
setrlimit 8 65536 65536
# Allow subsystem (modem etc) debugging
write /sys/kernel/boot_adsp/boot 1
write /sys/kernel/boot_cdsp/boot 1
@ -154,9 +152,6 @@ on boot
mkdir /mnt/vendor/persist/iar_db 0770 system system
mkdir /mnt/vendor/spunvm 0770 system system
#Create WIGIG socket area
mkdir /dev/socket/wigig 0770 wifi wifi
setprop wifi.interface wlan0
setprop ro.telephony.call_ring.multiple false
@ -231,12 +226,6 @@ on post-fs-data
# Create directory used by display clients
mkdir /data/vendor/display 0770 system graphics
# Change lm related dirs
mkdir /data/vendor/lm 0700 root root
# Create directory used by powermodule
mkdir /data/vendor/pwr 0700 root root
# Create directory used by media clients
mkdir /data/vendor/media 0770 mediacodec media
@ -264,13 +253,9 @@ on post-fs-data
mkdir /data/vendor/wifi/hostapd 0770 wifi wifi
mkdir /data/vendor/wifi/hostapd/ctrl 0770 wifi wifi
mkdir /data/vendor/wifi/wpa_supplicant 0770 wifi wifi
mkdir /data/vendor/wifi/wigig_hostapd 0770 wifi wifi
mkdir /data/vendor/wifi/wpa 0770 wifi wifi
mkdir /data/vendor/wifi/wpa/sockets 0770 wifi wifi
# Create the directories used by WiGig Sensing
mkdir /data/vendor/sensing 0770 system wifi
# Create the directories used by CnE subsystem
mkdir /data/vendor/connectivity 0771 radio radio
chown radio radio /data/vendor/connectivity
@ -333,16 +318,8 @@ on post-fs-data
mkdir /data/vendor/fm 0770 system system
chmod 0770 /data/vendor/fm
#Create PERFD deamon related dirs
mkdir /data/vendor/perfd 0770 root system
chmod 2770 /data/vendor/perfd
rm /data/vendor/perfd/default_values
mkdir /data/vendor/secure_element 0777 system system
#Create IOP deamon related dirs
mkdir /data/vendor/iop 0700 root system
# Mark the copy complete flag to not completed
write /data/vendor/radio/copy_complete 0
chown radio radio /data/vendor/radio/copy_complete
@ -394,13 +371,6 @@ service nqnfcinfo /system/vendor/bin/nqnfcinfo
user system
oneshot
service iop /system/vendor/bin/iop
class main
user root
group root
disabled
socket iop seqpacket 0666 root system
service qcomsysd /system/vendor/bin/qcom-system-daemon
class main
user root
@ -525,21 +495,6 @@ service qmiproxy /system/bin/qmiproxy
group radio diag
disabled
service vendor.wigig_supplicant /vendor/bin/hw/wpa_supplicant \
-iwigig0 -Dnl80211 -c/data/vendor/wifi/wigig_supplicant.conf \
-m/data/vendor/wifi/wigig_p2p_supplicant.conf \
-O/data/vendor/wifi/wigig_sockets -dd \
-e/data/vendor/wifi/wigig_entropy.bin -g@android:wigig/wpa_wigig0 \
-S wigigsvc
# we will start as root and wpa_supplicant will switch to user wifi
# after setting up the capabilities required for WEXT
# user wifi
# group wifi inet keystore
class main
socket wigig/wpa_wigig0 dgram 660 wifi wifi
disabled
oneshot
# Data Migration
service vendor.move_wifi_data /system/bin/move_wifi_data.sh
class main
@ -548,65 +503,6 @@ service vendor.move_wifi_data /system/bin/move_wifi_data.sh
disabled
oneshot
service wigignpt /vendor/bin/wigignpt
interface vendor.qti.hardware.wigig.netperftuner@1.0::INetPerfTuner default
class hal
socket wigig/wigignpt stream 660 system wifi
user system
group wifi
capabilities NET_ADMIN
disabled
on property:persist.vendor.wigig.npt.enable=1
start wigignpt
service vendor.sensingdaemon /vendor/bin/sensingdaemon
class hal
socket wigig/sensingdaemon stream 660 system wifi
user system
group wifi
disabled
service dhcpcd_wlan0 /system/bin/dhcpcd -ABKLG
class late_start
disabled
oneshot
service dhcpcd_bond0 /system/bin/dhcpcd -ABKLG
class late_start
disabled
oneshot
service dhcpcd_p2p /system/bin/dhcpcd -ABKLG
class late_start
disabled
oneshot
service dhcpcd_wigig0 /system/bin/dhcpcd -ABKLG
class late_start
disabled
oneshot
service iprenew_wlan0 /system/bin/dhcpcd -n
class late_start
disabled
oneshot
service iprenew_bond0 /system/bin/dhcpcd -n
class late_start
disabled
oneshot
service iprenew_p2p /system/bin/dhcpcd -n
class late_start
disabled
oneshot
service iprenew_wigig0 /system/bin/dhcpcd -n
class late_start
disabled
oneshot
service ptt_socket_app /system/vendor/bin/ptt_socket_app -d
class main
user wifi
@ -640,16 +536,6 @@ on property:sys.shutdown.requested=*
write /sys/kernel/shutdown_wlan/shutdown 1
stop cnss-daemon
service dhcpcd_bt-pan /system/bin/dhcpcd -BKLG
class late_start
disabled
oneshot
service iprenew_bt-pan /system/bin/dhcpcd -n
class late_start
disabled
oneshot
service ssgqmigd /vendor/bin/ssgqmigd
class late_start
user radio
@ -891,3 +777,22 @@ service vendor.audio-hal /vendor/bin/hw/android.hardware.audio.service
ioprio rt 4
task_profiles ProcessCapacityHigh HighPerformance
onrestart restart audioserver
service vendor.qti.hardware.display.composer /vendor/bin/hw/vendor.qti.hardware.display.composer-service
override
class hal animation
user system
group graphics drmrpc
capabilities SYS_NICE
onrestart restart surfaceflinger
socket pps stream 0660 system system
task_profiles ProcessCapacityHigh HighPerformance
service vendor.qti.hardware.display.allocator /vendor/bin/hw/vendor.qti.hardware.display.allocator-service
override
class hal animation
user system
group graphics drmrpc
capabilities SYS_NICE
onrestart restart surfaceflinger
task_profiles ProcessCapacityHigh HighPerformance

View file

@ -81,10 +81,6 @@ on fs
mkdir /mnt/vendor/persist/wlan 0700 system system
chmod 0700 /mnt/vendor/persist/wlan
on post-fs
# set RLIMIT_MEMLOCK to 64MB
setrlimit 8 67108864 67108864
on late-fs
mount_all --late

View file

@ -11,8 +11,8 @@
using android::base::GetProperty;
constexpr const char* BUILD_DESCRIPTION = "OnePlusN200TMO-user 12 SKQ1.210216.001 R.1a8c53b_1-164cb1 release-keys";
constexpr const char* BUILD_FINGERPRINT = "OnePlus/OnePlusN200TMO/OnePlusN200TMO:12/SKQ1.210216.001/R.1a8c53b_1-164cb1:user/release-keys";
constexpr const char* BUILD_DESCRIPTION = "OnePlusN200TMO-user 12 SKQ1.210216.001 R.205d7fc_1-735f72 release-keys";
constexpr const char* BUILD_FINGERPRINT = "OnePlus/OnePlusN200TMO/OnePlusN200TMO:12/SKQ1.210216.001/R.205d7fc_1-735f72:user/release-keys";
constexpr const char* RO_PROP_SOURCES[] = {
nullptr,

View file

@ -198,7 +198,6 @@ firmware_directories /vendor/firmware_mnt/image/
/dev/msm_vidc_dec_sec 0660 system audio
/dev/msm_vidc_enc 0660 system audio
/dev/msm_rotator 0660 system system
/dev/hw_random 0600 root root
/dev/sdsprpc-smd 0660 system system
#permissions for audio
@ -308,14 +307,6 @@ firmware_directories /vendor/firmware_mnt/image/
/sys/devices/soc/600000.qcom,pcie/pci0000:00/0000:00:00.0/0000:01:00.0/net/wlan0/queues/rx-* rps_cpus 0660 system system
/sys/devices/soc/600000.qcom,pcie/pci0000:00/0000:00:00.0/0000:01:00.0/net/p2p0/queues/rx-* rps_cpus 0660 system system
# wigig
/sys/bus/pci/drivers/wil6210* 0000:01:00.0/wil6210/fst_link_loss 0660 wifi wifi
/sys/bus/pci/drivers/wil6210* 0000:01:00.0/wil6210/thermal_throttling 0660 system system
/sys/bus/pci/drivers/wil6210* 0000:01:00.0/wil6210/snr_thresh 0660 wifi wifi
/sys/bus/pci/drivers/wil6210* 0000:01:00.0/net/wigig0/queues/rx-0/rps_cpus 0660 system system
/sys/bus/pci/drivers/wil6210* 0000:01:00.0/net/wigig0/gro_flush_timeout 0660 system system
/sys/devices/virtual/net/bond0 queues/rx-0/rps_cpus 0660 system system
#nfc permissions
/dev/nfc-nci 0660 nfc nfc
/dev/nq-nci 0660 nfc nfc

View file

@ -1,15 +0,0 @@
<manifest version="2.0" type="device">
<hal format="hidl" override="true">
<name>vendor.lineage.touch</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IHighTouchPollingRate</name>
<instance>default</instance>
</interface>
<interface>
<name>ITouchscreenGesture</name>
<instance>default</instance>
</interface>
</hal>
</manifest>

View file

@ -22,7 +22,6 @@ vendor.media.vpp.sr.enable=0
# Radio
persist.vendor.radio.force_on_dc=true
persist.vendor.radio.poweron_opt=1
persist.vendor.radio.stack_id_1=1
ro.sys.reserve.integrate=true
ro.vendor.oplus.radio.project=2

View file

@ -16,6 +16,7 @@
<!-- Defines the actions shown in advanced reboot submenu -->
<string-array name="config_restartActionsList">
<item>restart</item>
<item>restart_systemui</item>
<item>restart_recovery</item>
<item>restart_bootloader</item>
<item>restart_fastboot</item>

View file

@ -1,10 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2014-2015 The CyanogenMod Project
2019-2021 The LineageOS Project
SPDX-FileCopyrightText: 2014-2015 The CyanogenMod Project
SPDX-FileCopyrightText: The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources>
<!-- Default for LineageSettings.Secure.VOLUME_PANEL_ON_LEFT -->
<bool name="def_volume_panel_on_left">true</bool>
<!-- Default for Settings.Global.DISABLE_WINDOW_BLURS -->
<integer name="def_disable_window_blurs">1</integer>
</resources>

View file

@ -1,9 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (C) 2016 The CyanogenMod Project
SPDX-License-Identifier: Apache-2.0
-->
<resources>
<bool name="call_recording_enabled">true</bool>
<integer name="call_recording_audio_source">4</integer>
</resources>

View file

@ -3,6 +3,7 @@
<carrier_config>
<boolean name="apn_expand_bool" value="true" />
<boolean name="world_phone_bool" value="false" />
<boolean name="world_mode_enabled_bool" value="false" />
<boolean name="allow_adding_apns_bool" value="true" />
<boolean name="hide_preferred_network_type_bool" value="false" />
<boolean name="show_cdma_choices_bool" value="false" />
@ -2165,6 +2166,7 @@
<boolean name="carrier_allow_turnoff_ims_bool" value="false" />
<boolean name="use_sms_callback_mode_bool" value="true" />
<boolean name="editable_enhanced_4g_lte_bool" value="false" />
<boolean name="satellite_esos_supported_bool" value="false" />
</carrier_config>
<carrier_config device="kona" mcc="311" mnc="480">
<boolean name="show_rtt_visibility_setting_bool" value="true" />

View file

@ -5,12 +5,6 @@
-->
<resources>
<!-- Indicate available ColorDisplayManager.COLOR_MODE_xxx. -->
<integer-array name="config_availableColorModes">
<item>0</item> <!-- COLOR_MODE_NATURAL -->
<item>1</item> <!-- COLOR_MODE_BOOSTED -->
</integer-array>
<!-- Control whether the always on display mode is available. This should only be enabled on
devices where the display has been tuned to be power efficient in DOZE and/or DOZE_SUSPEND
states. -->
@ -69,7 +63,7 @@
where: IDs are unique per device, Modality as defined in BiometricAuthenticator.java,
and Strength as defined in Authenticators.java -->
<string-array name="config_biometric_sensors" translatable="false">
<item>0:2:15</item>
<item>0:2:15</item> <!-- ID0:Fingerprint:Strong -->
</string-array>
</resources>

View file

@ -0,0 +1,9 @@
//
// Copyright (C) 2022 The LineageOS Project
// SPDX-License-Identifier: Apache-2.0
//
runtime_resource_overlay {
name: "Launcher3ResTarget",
product_specific: true,
}

View file

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2022 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.launcher.overlay.oplus">
<overlay
android:isStatic="true"
android:priority="300"
android:targetPackage="com.android.launcher3" />
</manifest>

View file

@ -5,7 +5,7 @@
-->
<resources>
<!-- Max network scan search time in seconds -->
<integer name="config_network_scan_helper_max_search_time_sec">254</integer>
<integer name="max_depth_blur_radius">11</integer>
<dimen name="max_depth_blur_radius_enhanced">15dp</dimen>
</resources>

View file

@ -376,8 +376,8 @@
<!-- True if camera app should be pinned via Pinner Service -->
<bool name="config_pinnerCameraApp">true</bool>
<!-- True if home app should be pinned via Pinner Service -->
<bool name="config_pinnerHomeApp">true</bool>
<!-- Bytes that the PinnerService will pin for Home app -->
<integer name="config_pinnerHomePinBytes">6291456</integer>
<!-- Indicate whether to allow the device to suspend when the screen is off
due to the proximity sensor. This resource should only be set to true
@ -417,12 +417,6 @@
config_defaultPeakRefreshRate will act as the default frame rate. -->
<integer name="config_defaultRefreshRate">0</integer>
<!-- The default peak refresh rate for a given device. Change this value if you want to prevent
the framework from using higher refresh rates, even if display modes with higher refresh
rates are available from hardware composer. Only has an effect if the value is
non-zero. -->
<integer name="config_defaultPeakRefreshRate">90</integer>
<!-- Vibrator pattern for feedback about a long screen/key press -->
<integer-array name="config_longPressVibePattern">
<item>0</item>
@ -435,6 +429,13 @@
<item>80</item>
</integer-array>
<!-- Indicate available ColorDisplayManager.COLOR_MODE_xxx. -->
<integer-array name="config_availableColorModes">
<item>0</item> <!-- COLOR_MODE_NATURAL -->
<item>1</item> <!-- COLOR_MODE_BOOSTED -->
<item>2</item> <!-- COLOR_MODE_SATURATED -->
</integer-array>
<!-- Indicates whether device has a power button fingerprint sensor. -->
<bool name="config_is_powerbutton_fps" translatable="false">true</bool>
@ -513,4 +514,8 @@
headset output is compliant to EN 60950 requirements for portable music players. -->
<integer name="config_safe_media_volume_usb_mB">-1650</integer>
<!-- Whether WM DisplayContent supports high performance transitions
(lower-end devices may want to disable) -->
<bool name="config_deviceSupportsHighPerfTransitions">false</bool>
</resources>

View file

@ -2,8 +2,8 @@
<device name="Android">
<item name="none">0</item>
<item name="ambient on">35</item>
<item name="screen.on">100</item>
<item name="screen.full">330</item>
<item name="screen.on.display0">100</item>
<item name="screen.full.display0">330</item>
<item name="bluetooth.active">25.6</item>
<item name="bluetooth.on">1.7</item>
<item name="wifi.on">1.8</item>

View file

@ -5,6 +5,9 @@
-->
<resources>
<!-- Max network scan search time in seconds -->
<integer name="config_network_scan_helper_max_search_time_sec">254</integer>
<!-- Whether to show Smooth Display feature in Settings Options -->
<bool name="config_show_smooth_display">true</bool>

View file

@ -53,4 +53,7 @@
<!-- Location on the screen of the center of the physical power button. This is a reasonable
default that should be overridden by device-specific overlays. -->
<dimen name="physical_power_button_center_screen_location_y">930px</dimen>
<!-- Blur radius behind Notification Shade -->
<dimen name="max_shade_window_blur_radius">17dp</dimen>
</resources>

View file

@ -0,0 +1,9 @@
//
// SPDX-FileCopyrightText: The LineageOS Project
// SPDX-License-Identifier: Apache-2.0
//
runtime_resource_overlay {
name: "OplusDozeResTarget",
system_ext_specific: true,
}

View file

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
SPDX-FileCopyrightText: The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.lineageos.settings.doze.overlay">
<overlay android:targetPackage="org.lineageos.settings.doze"
android:isStatic="true"
android:priority="300" />
</manifest>

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2021-2022 The LineageOS Project
SPDX-FileCopyrightText: The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources>

View file

@ -5,5 +5,11 @@ audio.offload.min.duration.secs=30
audio.offload.video=true
ro.af.client_heap_size_kbyte=7168
# eBPF
ro.bpf.kver_override=5.10.239
# GMS
ro.opa.device_model_id=ga-oplus-skill-os121-211011
# IMS
persist.vendor.rcs.singlereg.feature=1

File diff suppressed because it is too large Load diff

37
qcril-database/Android.bp Normal file
View file

@ -0,0 +1,37 @@
//
// SPDX-FileCopyrightText: 2025 The LineageOS Project
// SPDX-License-Identifier: Apache-2.0
//
filegroup {
name: "rildb_config_sql_files",
srcs: [
"config/14.1_config.sql",
],
}
genrule {
name: "qcril_config_database",
enabled: true,
srcs: [
"//vendor/oneplus/dre:proprietary_rildb_other_sql_files",
"//vendor/oneplus/dre:proprietary_rildb_config_sql_files",
":rildb_config_sql_files",
],
tools: [
"generate_qcril_db",
],
cmd: "$(location generate_qcril_db) $(out) $(in)",
out: ["qcrilNr.db"],
}
prebuilt_etc {
name: "qcrilNrDb_vendor",
filename: "qcrilNr.db",
src: ":qcril_config_database",
relative_install_path: "qcril_database",
vendor: true,
required: [
"14.1_config.sql",
],
}

View file

@ -0,0 +1,8 @@
/*
Copyright (C) 2025 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
*/
CREATE TABLE IF NOT EXISTS qcril_properties_table (property TEXT PRIMARY KEY NOT NULL, def_val TEXT, value TEXT);
INSERT OR REPLACE INTO qcril_properties_table(property, def_val) VALUES('qcrildb_version',14.1);
UPDATE qcril_properties_table SET def_val="0" WHERE property="persist.vendor.radio.poweron_opt";

View file

@ -0,0 +1,11 @@
//
// SPDX-FileCopyrightText: 2025 The LineageOS Project
// SPDX-License-Identifier: Apache-2.0
//
prebuilt_etc {
name: "14.1_config.sql",
src: "14.1_config.sql",
relative_install_path: "qcril_database/upgrade/config",
vendor: true,
}

View file

@ -0,0 +1 @@
user=bluetooth seinfo=default name=com.android.bluetooth domain=bluetooth type=bluetooth_data_file levelFrom=all isPrivApp=true

View file

@ -1 +0,0 @@
type proc_flash_light_file, fs_type, proc_type;

View file

@ -1 +0,0 @@
genfscon proc /qcom_flash u:object_r:proc_flash_light_file:s0

View file

@ -1 +0,0 @@
allow hal_camera_default proc_flash_light_file:file rw_file_perms;

View file

@ -119,18 +119,20 @@ vendor.gatekeeper.disable_spu=true
# Graphics
debug.sf.disable_client_composition_cache=1
debug.sf.enable_gl_backpressure=1
debug.sf.high_fps_early_gl_phase_offset_ns=-2000000
debug.sf.high_fps_early_phase_offset_ns=-4000000
debug.sf.high_fps_late_app_phase_offset_ns=1000000
debug.sf.high_fps_late_sf_phase_offset_ns=-2000000
debug.sf.early.sf.duration=15666666
debug.sf.early.app.duration=13666666
debug.sf.earlyGl.app.duration=13666666
debug.sf.earlyGl.sf.duration=15666666
debug.sf.enable_gl_backpressure=0
debug.sf.latch_unsignaled=1
debug.sf.late.app.duration=13666666
debug.sf.late.sf.duration=15666666
debug.sf.use_phase_offsets_as_durations=1
ro.hardware.egl=adreno
ro.hardware.vulkan=adreno
ro.opengles.version=196610
ro.surface_flinger.enable_frame_rate_override=false
ro.surface_flinger.force_hwc_copy_for_virtual_displays=true
ro.surface_flinger.has_HDR_display=false
ro.surface_flinger.has_wide_color_display=false
ro.surface_flinger.max_frame_buffer_acquired_buffers=3
ro.surface_flinger.max_virtual_display_dimension=4096
ro.surface_flinger.protected_contents=true
@ -138,9 +140,8 @@ ro.surface_flinger.refresh_rate_switching=true
ro.surface_flinger.set_idle_timer_ms=80
ro.surface_flinger.set_touch_timer_ms=200
ro.surface_flinger.set_display_power_timer_ms=1000
ro.surface_flinger.use_color_management=false
ro.surface_flinger.use_content_detection_for_refresh_rate=true
ro.surface_flinger.wcg_composition_dataspace=143261696
ro.surface_flinger.supports_background_blur=1
vendor.gralloc.disable_ubwc=0
vendor.gralloc.secure_preview_buffer_format=420_sp
vendor.gralloc.secure_preview_only=1
@ -148,6 +149,9 @@ vendor.gralloc.secure_preview_only=1
# Incremental FS
ro.incremental.enable=yes
# Media
debug.stagefright.c2inputsurface=-1
# Perf
ro.vendor.extension_library=libqti-perfd-client.so
@ -176,7 +180,10 @@ vendor.usb.rmnet.func.name=gsi
vendor.usb.rmnet.inst.name=rmnet
vendor.usb.rndis.func.name=gsi
vendor.usb.use_ffs_mtp=1
vendor.usb.use_gadget_hal=0
vendor.usb.use_gadget_hal=1
# WiFi
wifi.aware.interface=wifi-aware0
# Zygote
zygote.critical_window.minute=10

View file

@ -1,4 +1,4 @@
<manifest version="2.0" type="device" target-level="5">
<manifest version="2.0" type="device" target-level="7">
<hal format="hidl">
<name>android.hardware.audio</name>
<transport>hwbinder</transport>
@ -59,19 +59,6 @@
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.media.omx</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IOmx</name>
<instance>default</instance>
</interface>
<interface>
<name>IOmxStore</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.radio</name>
<transport>hwbinder</transport>
@ -108,7 +95,7 @@
<hal format="hidl">
<name>android.hardware.tetheroffload.control</name>
<transport>hwbinder</transport>
<version>1.0</version>
<version>1.1</version>
<interface>
<name>IOffloadControl</name>
<instance>default</instance>
@ -294,15 +281,6 @@
<instance>MwqemAdapter</instance>
</interface>
</hal>
<hal format="hidl">
<name>vendor.qti.hardware.perf</name>
<transport>hwbinder</transport>
<version>2.2</version>
<interface>
<name>IPerf</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>vendor.qti.hardware.qccvndhal</name>
<transport>hwbinder</transport>
@ -346,7 +324,7 @@
<hal format="hidl">
<name>vendor.qti.hardware.radio.ims</name>
<transport>hwbinder</transport>
<version>1.6</version>
<version>1.7</version>
<interface>
<name>IImsRadio</name>
<instance>imsradio0</instance>
@ -382,7 +360,7 @@
<hal format="hidl">
<name>vendor.qti.hardware.radio.qtiradio</name>
<transport>hwbinder</transport>
<version>2.5</version>
<version>2.7</version>
<interface>
<name>IQtiRadio</name>
<instance>slot1</instance>
@ -485,6 +463,7 @@
<name>vendor.qti.ims.factory</name>
<transport>hwbinder</transport>
<version>1.1</version>
<version>2.2</version>
<interface>
<name>IImsFactory</name>
<instance>default</instance>
@ -499,14 +478,4 @@
<instance>imsrtpservice</instance>
</interface>
</hal>
<hal format="hidl">
<name>vendor.qti.qspmhal</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IQspmhal</name>
<instance>default</instance>
</interface>
</hal>
<kernel target-level="5"/>
</manifest>