Compare commits
162 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 7c131a7488 | |||
|
|
10f9f808bd | ||
|
|
1ce0633f4a | ||
|
|
f9b42ef378 | ||
|
|
b044b099ea | ||
|
|
3903f6b2ea | ||
|
|
76c5ab9f4d | ||
|
|
11ae01d152 | ||
|
|
4fcbc1a0eb | ||
|
|
bf26ef8df3 | ||
|
|
d30c5e0a29 | ||
|
|
2c4507ecdf | ||
|
|
c58d0cd8b2 | ||
|
|
9094876d26 | ||
|
|
46ddc2d953 | ||
|
|
77a2d22f61 | ||
|
|
5e367134ff | ||
|
|
4a59a5c848 | ||
|
|
d1e4306d61 | ||
|
|
73f5a132cd | ||
|
|
7a93d42453 | ||
|
|
1c65f251a9 | ||
|
|
cc22bd34e8 | ||
|
|
8db4bce6e3 | ||
|
|
dee8e6430e | ||
|
|
6ff9f4d6ea | ||
|
|
98ba41b1fd | ||
|
|
b06e9d4f61 | ||
|
|
574414be9e | ||
|
|
2d4ea49aa6 | ||
|
|
581d79c624 | ||
|
|
065dfaf3b7 | ||
|
|
3a9945b3a4 | ||
|
|
8e9eaaff38 | ||
|
|
30cc06711a | ||
|
|
ea5339d664 | ||
|
|
7211f43759 | ||
|
|
1412fee686 | ||
|
|
f941c0faff | ||
|
|
325c482b62 | ||
|
|
2b51161048 | ||
|
|
506c2d94b1 | ||
|
|
b48059a208 | ||
|
|
d1df9bbd84 | ||
|
|
7e186e819b | ||
|
|
63ad713ad7 | ||
|
|
a61e8bbf65 | ||
|
|
e73b57e351 | ||
|
|
4479015b37 | ||
|
|
d1246cb585 | ||
|
|
c237b9d497 | ||
|
|
526b994664 | ||
|
|
e0b82336e3 | ||
|
|
6f2aeec6e3 | ||
|
|
8390e3b968 | ||
|
|
ecb77ac00d | ||
|
|
27543dd814 | ||
|
|
649b0e21ed | ||
|
|
13b2a3c2a5 | ||
|
|
bf5d56b221 | ||
|
|
a271d0a089 | ||
|
|
4cc663fdbc | ||
|
|
82c4c47cad | ||
|
|
2ff69105f8 | ||
|
|
17cb587b96 | ||
|
|
32d2dec662 | ||
|
|
9da302cc23 | ||
|
|
2b4010cfed | ||
| 25ac817b50 | |||
|
|
80c88c5ff3 | ||
|
|
d426a4da5b | ||
|
|
8858290ce3 | ||
|
|
3744c2ac63 | ||
|
|
b6a395d057 | ||
|
|
9d6d03873a | ||
|
|
bbfced0480 | ||
|
|
19231855dd | ||
|
|
f7eea14470 | ||
|
|
5d75f2c90b | ||
|
|
6874b10f99 | ||
|
|
4f94fb948f | ||
|
|
1cceceaab8 | ||
|
|
69e58b94cf | ||
|
|
ea9e14ae93 | ||
|
|
84a4291ff1 | ||
|
|
84b400ac8c | ||
|
|
a4b70a43d8 | ||
|
|
ea08a5fcdb | ||
|
|
70ef5ced6e | ||
|
|
166e16c9f5 | ||
|
|
9dd24eb43b | ||
|
|
a88074f0c9 | ||
|
|
d1e6d19e26 | ||
|
|
80bc4153c6 | ||
|
|
919051a8a2 | ||
|
|
6b42a58710 | ||
|
|
1e19977d8d | ||
|
|
4c437058fd | ||
|
|
c60c422ef2 | ||
|
|
a33b8d6a70 | ||
|
|
1e8a905dd2 | ||
|
|
32bc7dd7d7 | ||
|
|
6cfb177137 | ||
|
|
01c6619adb | ||
|
|
c4fc933e7b | ||
|
|
09f67b03d5 | ||
|
|
17d644449c | ||
|
|
ff3f33f5d0 | ||
|
|
19b67ca6b8 | ||
|
|
8b818d3c31 | ||
|
|
faaa4a003c | ||
|
|
071f720daa | ||
|
|
008cd5ddfb | ||
|
|
4fa30da24c | ||
|
|
2c80b1941f | ||
|
|
d54189e76b | ||
|
|
ff85770444 | ||
|
|
a78874d54e | ||
|
|
b0b920952f | ||
|
|
28af62f607 | ||
|
|
ba65c40145 | ||
|
|
4af90528ea | ||
|
|
f5959a4f11 | ||
|
|
cb5f52268f | ||
|
|
b0c3677f1f | ||
|
|
2a9cfec0e8 | ||
|
|
ec853728b9 | ||
|
|
95b0306114 | ||
|
|
1fd78a878b | ||
|
|
6f75864134 | ||
|
|
1f5d4db8ec | ||
|
|
61767bd57c | ||
|
|
f68a09f53e | ||
|
|
3f32baaf6c | ||
|
|
91d116d92d | ||
|
|
b042067ded | ||
|
|
1c455b22df | ||
|
|
571b3fefb7 | ||
|
|
9b091685d0 | ||
|
|
07701701b8 | ||
|
|
6d5a538558 | ||
|
|
dd2ce4c5f1 | ||
|
|
c94f39c7f8 | ||
|
|
acec5e4208 | ||
|
|
0ed1ac7ef0 | ||
|
|
84d597c1a1 | ||
|
|
eb2ce67465 | ||
|
|
2a172327a3 | ||
|
|
10f82cb2a7 | ||
|
|
cbb8179e3b | ||
|
|
1f3c5880b6 | ||
|
|
471a810ae8 | ||
|
|
db96f0a3b8 | ||
|
|
0ad66bfb77 | ||
|
|
1a694d1f56 | ||
|
|
277bd5de0c | ||
|
|
c51b92605b | ||
|
|
7a57120a94 | ||
|
|
f14b011f85 | ||
|
|
9916e63b61 | ||
|
|
563ae74e6f | ||
|
|
f9d96c695b |
@@ -16,4 +16,9 @@
|
||||
|
||||
PRODUCT_MAKEFILES := \
|
||||
$(LOCAL_DIR)/aosp_tangorpro.mk \
|
||||
$(LOCAL_DIR)/aosp_tangorpro_hwasan.mk \
|
||||
$(LOCAL_DIR)/factory_tangorpro.mk \
|
||||
$(LOCAL_DIR)/lineage_tangorpro.mk
|
||||
|
||||
COMMON_LUNCH_CHOICES := \
|
||||
aosp_tangorpro-trunk_staging-userdebug
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2024 The Evolution X Project
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
@@ -1,11 +1,5 @@
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2021-2024 The LineageOS Project
|
||||
# SPDX-FileCopyrightText: 2021-2024 The Calyx Institute
|
||||
# Copyright (C) 2023 The LineageOS Project
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
# Kernel modules
|
||||
BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_BLOCKLIST_FILE := $(DEVICE_PATH)/modules.blocklist.vendor_kernel_boot
|
||||
BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD_RAW := $(strip $(shell cat $(DEVICE_PATH)/modules.load.vendor_kernel_boot))
|
||||
BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD += $(BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD_RAW)
|
||||
BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES += $(addprefix $(KERNEL_MODULE_DIR)/, $(notdir $(BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD_RAW)))
|
||||
|
||||
4
OWNERS
Normal file
4
OWNERS
Normal file
@@ -0,0 +1,4 @@
|
||||
per-file powerhint.json = jychen@google.com,jenhaochen@google.com,wvw@google.com,joaodias@google.com
|
||||
|
||||
# per-file for Pixel device makefiles, see go/pixel-device-mk-owner-checklist for details.
|
||||
per-file *.mk,*/BoardConfig.mk=file:device/google/gs-common:main:/OWNERS
|
||||
2
PREUPLOAD.cfg
Normal file
2
PREUPLOAD.cfg
Normal file
@@ -0,0 +1,2 @@
|
||||
[Builtin Hooks]
|
||||
jsonlint = true
|
||||
@@ -1,4 +0,0 @@
|
||||
touch.orientationAware = 1
|
||||
touch.orientation = ORIENTATION_0
|
||||
touch.usiVersionMajor = 2
|
||||
touch.usiVersionMinor = 0
|
||||
@@ -29,3 +29,6 @@ PRODUCT_DEVICE := tangorpro
|
||||
PRODUCT_MODEL := AOSP on Tangorpro
|
||||
PRODUCT_BRAND := Android
|
||||
PRODUCT_MANUFACTURER := Google
|
||||
|
||||
DEVICE_MANIFEST_FILE += \
|
||||
device/google/tangorpro/manifest.xml
|
||||
|
||||
23
aosp_tangorpro_hwasan.mk
Normal file
23
aosp_tangorpro_hwasan.mk
Normal file
@@ -0,0 +1,23 @@
|
||||
#
|
||||
# Copyright 2023 The Android Open Source Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
$(call inherit-product, device/google/tangorpro/aosp_tangorpro.mk)
|
||||
PRODUCT_NAME := aosp_tangorpro_hwasan
|
||||
|
||||
# Add "hwaddress" as a global sanitizer if it's missing.
|
||||
ifeq ($(filter hwaddress,$(SANITIZE_TARGET)),)
|
||||
SANITIZE_TARGET := $(strip $(SANITIZE_TARGET) hwaddress)
|
||||
endif
|
||||
@@ -1410,7 +1410,7 @@
|
||||
<path name="bluetooth-sco-headset-microphones" />
|
||||
</path>
|
||||
|
||||
<path name="usb-microphones">
|
||||
<path name="usb-headset-microphones">
|
||||
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="0" />
|
||||
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="3" />
|
||||
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="2" />
|
||||
@@ -1420,14 +1420,6 @@
|
||||
<ctl name="MIC Record Soft Gain (dB)" value="0" />
|
||||
</path>
|
||||
|
||||
<path name="usb-headset-microphones">
|
||||
<path name="usb-microphones" />
|
||||
</path>
|
||||
|
||||
<path name="usb-device-microphones">
|
||||
<path name="usb-microphones" />
|
||||
</path>
|
||||
|
||||
<!-- cs35l41 specific path for rotation start -->
|
||||
<path name="cs35l41-rotation-0">
|
||||
</path>
|
||||
|
||||
@@ -79,3 +79,22 @@ PRODUCT_COPY_FILES += \
|
||||
device/google/tangorpro/audio/$(AUDIO_TABLE_FOLDER)/tuning/apmg3/downlink_dock_config.pb:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/downlink_dock_config.pb \
|
||||
device/google/tangorpro/audio/$(AUDIO_TABLE_FOLDER)/tuning/apmg3/downlink_speaker_config.pb:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/downlink_speaker_config.pb \
|
||||
device/google/tangorpro/audio/$(AUDIO_TABLE_FOLDER)/tuning/apmg3/downlink_external_speaker_config.pb:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/downlink_external_speaker_config.pb
|
||||
|
||||
# userdebug specific
|
||||
ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
|
||||
PRODUCT_COPY_FILES += \
|
||||
device/google/tangorpro/audio/$(AUDIO_TABLE_FOLDER)/tuning/fortemedia/BLUETOOTH.mods:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/BLUETOOTH.mods \
|
||||
device/google/tangorpro/audio/$(AUDIO_TABLE_FOLDER)/tuning/fortemedia/HANDSFREE.mods:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/HANDSFREE.mods \
|
||||
device/google/tangorpro/audio/$(AUDIO_TABLE_FOLDER)/tuning/fortemedia/HANDSET.mods:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/HANDSET.mods \
|
||||
device/google/tangorpro/audio/$(AUDIO_TABLE_FOLDER)/tuning/fortemedia/HEADSET.mods:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/HEADSET.mods
|
||||
|
||||
# Mixer Path Configuration for Audio Speaker Calibration Tool crus_sp_cal
|
||||
PRODUCT_COPY_FILES += \
|
||||
device/google/tangorpro/audio/$(AUDIO_TABLE_FOLDER)/cs35l41/crus_sp_cal_mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/crus_sp_cal_mixer_paths.xml
|
||||
|
||||
# Waves ini/mps files for unit tests of halcontroller
|
||||
PRODUCT_COPY_FILES += \
|
||||
device/google/tangorpro/audio/$(AUDIO_TABLE_FOLDER)/tuning/waves/tests/test_config.ini:$(TARGET_COPY_OUT_VENDOR)/etc/test_config.ini \
|
||||
device/google/tangorpro/audio/$(AUDIO_TABLE_FOLDER)/tuning/waves/tests/test_preset.mps:$(TARGET_COPY_OUT_VENDOR)/etc/test_preset.mps
|
||||
|
||||
endif
|
||||
|
||||
@@ -254,7 +254,6 @@
|
||||
<feature name="SoundTriggerDockTuning"/>
|
||||
<feature name="BatteryThrottle=Type:BCL_VOLTAGE,Name:BCL_AUDIO_BAACL,Strategy:WholeSpeaker"/>
|
||||
<feature name="Apmg3"/>
|
||||
<!--feature name="Pokebowl"/-->
|
||||
</features>
|
||||
|
||||
<cfg_attr>
|
||||
@@ -293,7 +292,6 @@
|
||||
<item component="TUNING_COMPONENT_WAVES" id="2"/>
|
||||
<item component="TUNING_COMPONENT_FORTEMEDIA" id="3"/>
|
||||
<item component="TUNING_COMPONENT_APMG3" id="24"/>
|
||||
<!--item component="TUNING_COMPONENT_POKEBOWL" id="25"/-->
|
||||
<item component="TUNING_COMPONENT_CAMCORDER" id="6"/>
|
||||
<item component="TUNING_COMPONENT_STEREO_SPATIALIZER" id="26"/>
|
||||
</xlate_id>
|
||||
@@ -314,7 +312,6 @@
|
||||
<module libname="audio_amcs_ext.so" argu="SpeakerNum=4" />
|
||||
<module libname="audio_bluenote_aoc.so"/>
|
||||
<module libname="audio_apmg3_aoc.so"/>
|
||||
<!--module libname="audio_pokebowl_aoc.so"/-->
|
||||
</external_module>
|
||||
|
||||
<hal_effect>
|
||||
|
||||
@@ -136,6 +136,10 @@
|
||||
</devicePort>
|
||||
<devicePort tagName="Speaker Safe" type="AUDIO_DEVICE_OUT_SPEAKER_SAFE" role="sink">
|
||||
</devicePort>
|
||||
<devicePort tagName="Wired Headset" type="AUDIO_DEVICE_OUT_WIRED_HEADSET" role="sink">
|
||||
</devicePort>
|
||||
<devicePort tagName="Wired Headphones" type="AUDIO_DEVICE_OUT_WIRED_HEADPHONE" role="sink">
|
||||
</devicePort>
|
||||
<devicePort tagName="BT SCO" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO" role="sink">
|
||||
</devicePort>
|
||||
<devicePort tagName="BT SCO Headset" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET" role="sink">
|
||||
@@ -148,6 +152,8 @@
|
||||
</devicePort>
|
||||
<devicePort tagName="USB Dock" type="AUDIO_DEVICE_OUT_DGTL_DOCK_HEADSET" role="sink">
|
||||
</devicePort>
|
||||
<devicePort tagName="Aux Digital" type="AUDIO_DEVICE_OUT_AUX_DIGITAL" role="sink">
|
||||
</devicePort>
|
||||
<devicePort tagName="Telephony Tx" type="AUDIO_DEVICE_OUT_TELEPHONY_TX" role="sink">
|
||||
</devicePort>
|
||||
<!-- Input devices declaration, i.e. Source DEVICE PORT -->
|
||||
@@ -155,6 +161,8 @@
|
||||
</devicePort>
|
||||
<devicePort tagName="Built-In Back Mic" type="AUDIO_DEVICE_IN_BACK_MIC" role="source">
|
||||
</devicePort>
|
||||
<devicePort tagName="Wired Headset Mic" type="AUDIO_DEVICE_IN_WIRED_HEADSET" role="source">
|
||||
</devicePort>
|
||||
<devicePort tagName="BT SCO Headset Mic" type="AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET" role="source">
|
||||
</devicePort>
|
||||
<devicePort tagName="BT A2DP Out" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP" role="sink"
|
||||
@@ -187,7 +195,7 @@
|
||||
<route type="mix" sink="Speaker"
|
||||
sources="primary output,deep buffer,raw,compressed_offload,mmap_no_irq_out,voip_rx,ultrasound output,immersive_out"/>
|
||||
<route type="mix" sink="Speaker Safe"
|
||||
sources="primary output,deep buffer,raw,compressed_offload,mmap_no_irq_out,voip_rx,ultrasound output,immersive_out"/>
|
||||
sources="primary output,deep buffer,raw,compressed_offload,mmap_no_irq_out,voip_rx,ultrasound output"/>
|
||||
<route type="mix" sink="BT A2DP Out"
|
||||
sources="primary output,deep buffer,compressed_offload,voip_rx,raw,mmap_no_irq_out,immersive_out"/>
|
||||
<route type="mix" sink="BT A2DP Headphones"
|
||||
|
||||
@@ -136,6 +136,10 @@
|
||||
</devicePort>
|
||||
<devicePort tagName="Speaker Safe" type="AUDIO_DEVICE_OUT_SPEAKER_SAFE" role="sink">
|
||||
</devicePort>
|
||||
<devicePort tagName="Wired Headset" type="AUDIO_DEVICE_OUT_WIRED_HEADSET" role="sink">
|
||||
</devicePort>
|
||||
<devicePort tagName="Wired Headphones" type="AUDIO_DEVICE_OUT_WIRED_HEADPHONE" role="sink">
|
||||
</devicePort>
|
||||
<devicePort tagName="BT SCO" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO" role="sink">
|
||||
</devicePort>
|
||||
<devicePort tagName="BT SCO Headset" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET" role="sink">
|
||||
@@ -148,6 +152,8 @@
|
||||
</devicePort>
|
||||
<devicePort tagName="USB Dock" type="AUDIO_DEVICE_OUT_DGTL_DOCK_HEADSET" role="sink">
|
||||
</devicePort>
|
||||
<devicePort tagName="Aux Digital" type="AUDIO_DEVICE_OUT_AUX_DIGITAL" role="sink">
|
||||
</devicePort>
|
||||
<devicePort tagName="Telephony Tx" type="AUDIO_DEVICE_OUT_TELEPHONY_TX" role="sink">
|
||||
</devicePort>
|
||||
<!-- Input devices declaration, i.e. Source DEVICE PORT -->
|
||||
@@ -155,6 +161,8 @@
|
||||
</devicePort>
|
||||
<devicePort tagName="Built-In Back Mic" type="AUDIO_DEVICE_IN_BACK_MIC" role="source">
|
||||
</devicePort>
|
||||
<devicePort tagName="Wired Headset Mic" type="AUDIO_DEVICE_IN_WIRED_HEADSET" role="source">
|
||||
</devicePort>
|
||||
<devicePort tagName="BT SCO Headset Mic" type="AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET" role="source">
|
||||
</devicePort>
|
||||
<devicePort tagName="USB Device In" type="AUDIO_DEVICE_IN_USB_DEVICE" role="source">
|
||||
|
||||
@@ -132,6 +132,10 @@
|
||||
</devicePort>
|
||||
<devicePort tagName="Speaker Safe" type="AUDIO_DEVICE_OUT_SPEAKER_SAFE" role="sink">
|
||||
</devicePort>
|
||||
<devicePort tagName="Wired Headset" type="AUDIO_DEVICE_OUT_WIRED_HEADSET" role="sink">
|
||||
</devicePort>
|
||||
<devicePort tagName="Wired Headphones" type="AUDIO_DEVICE_OUT_WIRED_HEADPHONE" role="sink">
|
||||
</devicePort>
|
||||
<devicePort tagName="BT SCO" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO" role="sink">
|
||||
</devicePort>
|
||||
<devicePort tagName="BT SCO Headset" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET" role="sink">
|
||||
@@ -142,6 +146,8 @@
|
||||
</devicePort>
|
||||
<devicePort tagName="USB Headset Out" type="AUDIO_DEVICE_OUT_USB_HEADSET" role="sink">
|
||||
</devicePort>
|
||||
<devicePort tagName="Aux Digital" type="AUDIO_DEVICE_OUT_AUX_DIGITAL" role="sink">
|
||||
</devicePort>
|
||||
<devicePort tagName="Telephony Tx" type="AUDIO_DEVICE_OUT_TELEPHONY_TX" role="sink">
|
||||
</devicePort>
|
||||
<!-- Input devices declaration, i.e. Source DEVICE PORT -->
|
||||
@@ -149,6 +155,8 @@
|
||||
</devicePort>
|
||||
<devicePort tagName="Built-In Back Mic" type="AUDIO_DEVICE_IN_BACK_MIC" role="source">
|
||||
</devicePort>
|
||||
<devicePort tagName="Wired Headset Mic" type="AUDIO_DEVICE_IN_WIRED_HEADSET" role="source">
|
||||
</devicePort>
|
||||
<devicePort tagName="BT SCO Headset Mic" type="AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET" role="source">
|
||||
</devicePort>
|
||||
<devicePort tagName="USB Device In" type="AUDIO_DEVICE_IN_USB_DEVICE" role="source">
|
||||
|
||||
653
audio/tangorpro/config/mixer_paths_factory.xml
Normal file
653
audio/tangorpro/config/mixer_paths_factory.xml
Normal file
@@ -0,0 +1,653 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<mixer>
|
||||
<ctl name="TDM_0_RX Mixer EP3" value="0" />
|
||||
<ctl name="TDM_0_RX Mixer EP6" value="0" />
|
||||
<ctl name="I2S_0_RX Mixer EP3" value="0" />
|
||||
<ctl name="Main AMP Enable Switch" value="0" />
|
||||
<ctl name="R Main AMP Enable Switch" value="0" />
|
||||
<ctl name="L2 Main AMP Enable Switch" value="0" />
|
||||
<ctl name="R2 Main AMP Enable Switch" value="0" />
|
||||
<ctl name="MIC HW Gain At Lower Power Mode (cB)" value="-160" />
|
||||
<ctl name="MIC HW Gain At High Power Mode (cB)" value="0" />
|
||||
<ctl name="MIC Record Soft Gain (dB)" value="0"/>
|
||||
|
||||
<ctl name="EP1 TX Mixer TDM_0_TX" value="0" />
|
||||
<ctl name="EP5 TX Mixer INTERNAL_MIC_US_TX" value="0" />
|
||||
<ctl name="DEFAULT_MIC_ID" value="0" />
|
||||
<ctl name="MIC0" value="0" />
|
||||
<ctl name="MIC1" value="0" />
|
||||
<ctl name="MIC2" value="0" />
|
||||
<ctl name="MIC3" value="0" />
|
||||
<ctl name="AoC Speaker Mixer ASP Mode" value="ASP_ON" />
|
||||
|
||||
<ctl name="TDM_0_RX Mixer US" value="0" />
|
||||
<ctl name="US Record Enable" value="0" />
|
||||
<ctl name="ASPRX1 Slot Position" value="0"/>
|
||||
<ctl name="R ASPRX1 Slot Position" value="1"/>
|
||||
<ctl name="L2 ASPRX1 Slot Position" value="0"/>
|
||||
<ctl name="R2 ASPRX1 Slot Position" value="1"/>
|
||||
|
||||
<path name="mfg-playback">
|
||||
</path>
|
||||
|
||||
<path name="deep-buffer-playback speaker">
|
||||
<ctl name="AoC Speaker Mixer ASP Mode" value="ASP_BYPASS" />
|
||||
<ctl name="TDM_0_RX Mixer EP6" value="1" />
|
||||
<path name="mfg-playback" />
|
||||
</path>
|
||||
|
||||
<path name="deep-buffer-playback headphones">
|
||||
<ctl name="I2S_0_RX Mixer EP6" value="1" />
|
||||
<path name="mfg-playback" />
|
||||
</path>
|
||||
|
||||
<path name="mfg-record">
|
||||
<ctl name="EP1 TX Mixer TDM_0_TX" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="mfg-record usb-headset-mic">
|
||||
<ctl name="Audio Capture Mic Source" value="USB_MIC"/>
|
||||
<ctl name="USB Playback EP ID v2" value="0" />
|
||||
<ctl name="USB Capture EP ID v2" value="1" />
|
||||
<ctl name="USB Capture FORMAT v2" value="1" />
|
||||
<ctl name="USB Config To AoC v2" value="1"/>
|
||||
<ctl name="EP1 TX Mixer USB_TX" value="1"/>
|
||||
</path>
|
||||
|
||||
<path name="us-mfg-record">
|
||||
<ctl name="EP5 TX Mixer INTERNAL_MIC_US_TX" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="mic1-status">
|
||||
<ctl name="MIC0" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="mic2-status">
|
||||
<ctl name="MIC1" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="mic3-status">
|
||||
<ctl name="MIC2" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="mic4-status">
|
||||
<ctl name="MIC3" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="mic1-gain">
|
||||
<ctl name="MIC HW Gain At Lower Power Mode (cB)" />
|
||||
<ctl name="MIC HW Gain At High Power Mode (cB)" />
|
||||
</path>
|
||||
|
||||
<path name="mic2-gain">
|
||||
<ctl name="MIC HW Gain At Lower Power Mode (cB)" />
|
||||
<ctl name="MIC HW Gain At High Power Mode (cB)" />
|
||||
</path>
|
||||
|
||||
<path name="mic3-gain">
|
||||
<ctl name="MIC HW Gain At Lower Power Mode (cB)" />
|
||||
<ctl name="MIC HW Gain At High Power Mode (cB)" />
|
||||
</path>
|
||||
|
||||
<path name="mic4-gain">
|
||||
<ctl name="MIC HW Gain At Lower Power Mode (cB)" />
|
||||
<ctl name="MIC HW Gain At High Power Mode (cB)" />
|
||||
</path>
|
||||
|
||||
<path name="mic1-sw-gain">
|
||||
<ctl name="MIC Record Soft Gain (dB)" />
|
||||
</path>
|
||||
|
||||
<path name="mic2-sw-gain">
|
||||
<ctl name="MIC Record Soft Gain (dB)" />
|
||||
</path>
|
||||
|
||||
<path name="mic3-sw-gain">
|
||||
<ctl name="MIC Record Soft Gain (dB)" />
|
||||
</path>
|
||||
|
||||
<path name="mic4-sw-gain">
|
||||
<ctl name="MIC Record Soft Gain (dB)" />
|
||||
</path>
|
||||
|
||||
<path name="usb-capture-gain">
|
||||
<ctl name="MIC Record Soft Gain (dB)" />
|
||||
</path>
|
||||
|
||||
<path name="mic1-only">
|
||||
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="0" />
|
||||
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="-1" />
|
||||
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="-1" />
|
||||
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1" />
|
||||
<ctl name="MIC0" value="1" />
|
||||
<ctl name="MIC Record Soft Gain (dB)" value="0" />
|
||||
</path>
|
||||
|
||||
<path name="mic2-only">
|
||||
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="3" />
|
||||
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="-1" />
|
||||
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="-1" />
|
||||
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1" />
|
||||
<ctl name="MIC1" value="1" />
|
||||
<ctl name="MIC Record Soft Gain (dB)" value="0" />
|
||||
</path>
|
||||
|
||||
<path name="mic3-only">
|
||||
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="2" />
|
||||
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="-1" />
|
||||
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="-1" />
|
||||
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1" />
|
||||
<ctl name="MIC2" value="1" />
|
||||
<ctl name="MIC Record Soft Gain (dB)" value="0" />
|
||||
</path>
|
||||
|
||||
<path name="mic4-only">
|
||||
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="3" />
|
||||
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="-1" />
|
||||
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="-1" />
|
||||
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1" />
|
||||
<ctl name="MIC3" value="1" />
|
||||
<ctl name="MIC Record Soft Gain (dB)" value="0" />
|
||||
</path>
|
||||
|
||||
<path name="mic-all">
|
||||
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="0" />
|
||||
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="3" />
|
||||
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="2" />
|
||||
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1" />
|
||||
<ctl name="MIC0" value="1" />
|
||||
<ctl name="MIC1" value="1" />
|
||||
<ctl name="MIC2" value="1" />
|
||||
<ctl name="MIC Record Soft Gain (dB)" value="0" />
|
||||
</path>
|
||||
|
||||
<path name="us-mic1-only">
|
||||
<ctl name="BUILDIN US MIC ID CAPTURE LIST" id="0" value="0" />
|
||||
<ctl name="BUILDIN US MIC ID CAPTURE LIST" id="1" value="-1" />
|
||||
<ctl name="BUILDIN US MIC ID CAPTURE LIST" id="2" value="-1" />
|
||||
<ctl name="BUILDIN US MIC ID CAPTURE LIST" id="3" value="-1" />
|
||||
<ctl name="MIC0" value="1" />
|
||||
<ctl name="MIC Record Soft Gain (dB)" value="0" />
|
||||
</path>
|
||||
|
||||
<path name="us-mic2-only">
|
||||
<ctl name="BUILDIN US MIC ID CAPTURE LIST" id="0" value="3" />
|
||||
<ctl name="BUILDIN US MIC ID CAPTURE LIST" id="1" value="-1" />
|
||||
<ctl name="BUILDIN US MIC ID CAPTURE LIST" id="2" value="-1" />
|
||||
<ctl name="BUILDIN US MIC ID CAPTURE LIST" id="3" value="-1" />
|
||||
<ctl name="MIC1" value="1" />
|
||||
<ctl name="MIC Record Soft Gain (dB)" value="0" />
|
||||
</path>
|
||||
|
||||
<path name="us-mic3-only">
|
||||
<ctl name="BUILDIN US MIC ID CAPTURE LIST" id="0" value="2" />
|
||||
<ctl name="BUILDIN US MIC ID CAPTURE LIST" id="1" value="-1" />
|
||||
<ctl name="BUILDIN US MIC ID CAPTURE LIST" id="2" value="-1" />
|
||||
<ctl name="BUILDIN US MIC ID CAPTURE LIST" id="3" value="-1" />
|
||||
<ctl name="MIC2" value="1" />
|
||||
<ctl name="MIC Record Soft Gain (dB)" value="0" />
|
||||
</path>
|
||||
|
||||
<path name="us-mic-all">
|
||||
<ctl name="BUILDIN US MIC ID CAPTURE LIST" id="0" value="0" />
|
||||
<ctl name="BUILDIN US MIC ID CAPTURE LIST" id="1" value="3" />
|
||||
<ctl name="BUILDIN US MIC ID CAPTURE LIST" id="2" value="2" />
|
||||
<ctl name="BUILDIN US MIC ID CAPTURE LIST" id="3" value="-1" />
|
||||
<ctl name="MIC0" value="1" />
|
||||
<ctl name="MIC1" value="1" />
|
||||
<ctl name="MIC2" value="1" />
|
||||
<ctl name="MIC Record Soft Gain (dB)" value="0" />
|
||||
</path>
|
||||
|
||||
<path name="cs35l41-us-config">
|
||||
<ctl name="ASPRX1 Slot Position" value="2"/>
|
||||
<ctl name="R ASPRX1 Slot Position" value="3"/>
|
||||
<ctl name="L2 ASPRX1 Slot Position" value="2"/>
|
||||
<ctl name="R2 ASPRX1 Slot Position" value="3"/>
|
||||
</path>
|
||||
|
||||
<path name="amp_iv-only">
|
||||
<ctl name="ASPTX1 Slot Position" value="0"/>
|
||||
<ctl name="R ASPTX1 Slot Position" value="1"/>
|
||||
<ctl name="L2 ASPTX1 Slot Position" value="2"/>
|
||||
<ctl name="R2 ASPTX1 Slot Position" value="3"/>
|
||||
<ctl name="ASPTX2 Slot Position" value="4"/>
|
||||
<ctl name="R ASPTX2 Slot Position" value="5"/>
|
||||
<ctl name="L2 ASPTX2 Slot Position" value="6"/>
|
||||
<ctl name="R2 ASPTX2 Slot Position" value="7"/>
|
||||
<ctl name="ASPTX3 Slot Position" value="4"/>
|
||||
<ctl name="R ASPTX3 Slot Position" value="5"/>
|
||||
<ctl name="L2 ASPTX3 Slot Position" value="6"/>
|
||||
<ctl name="R2 ASPTX3 Slot Position" value="7"/>
|
||||
<ctl name="ASPTX4 Slot Position" value="4"/>
|
||||
<ctl name="R ASPTX4 Slot Position" value="5"/>
|
||||
<ctl name="L2 ASPTX4 Slot Position" value="6"/>
|
||||
<ctl name="R2 ASPTX4 Slot Position" value="7"/>
|
||||
<ctl name="ASP TX1 Source" value="VMON" />
|
||||
<ctl name="R ASP TX1 Source" value="VMON" />
|
||||
<ctl name="L2 ASP TX1 Source" value="VMON" />
|
||||
<ctl name="R2 ASP TX1 Source" value="VMON" />
|
||||
<ctl name="ASP TX2 Source" value="Zero" />
|
||||
<ctl name="R ASP TX2 Source" value="Zero" />
|
||||
<ctl name="L2 ASP TX2 Source" value="Zero" />
|
||||
<ctl name="R2 ASP TX2 Source" value="Zero" />
|
||||
<ctl name="ASP TX3 Source" value="Zero" />
|
||||
<ctl name="R ASP TX3 Source" value="Zero" />
|
||||
<ctl name="L2 ASP TX3 Source" value="Zero" />
|
||||
<ctl name="R2 ASP TX3 Source" value="Zero" />
|
||||
<ctl name="ASP TX4 Source" value="Zero" />
|
||||
<ctl name="R ASP TX4 Source" value="Zero" />
|
||||
<ctl name="L2 ASP TX4 Source" value="Zero" />
|
||||
<ctl name="R2 ASP TX4 Source" value="Zero" />
|
||||
<ctl name="NoHost1 TX Mixer TDM_0_TX" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="amp_iv1-only">
|
||||
<ctl name="ASPTX1 Slot Position" value="0"/>
|
||||
<ctl name="R ASPTX1 Slot Position" value="4"/>
|
||||
<ctl name="L2 ASPTX1 Slot Position" value="5"/>
|
||||
<ctl name="R2 ASPTX1 Slot Position" value="6"/>
|
||||
<ctl name="ASPTX2 Slot Position" value="1"/>
|
||||
<ctl name="R ASPTX2 Slot Position" value="5"/>
|
||||
<ctl name="L2 ASPTX2 Slot Position" value="6"/>
|
||||
<ctl name="R2 ASPTX2 Slot Position" value="7"/>
|
||||
<ctl name="ASPTX3 Slot Position" value="2"/>
|
||||
<ctl name="R ASPTX3 Slot Position" value="5"/>
|
||||
<ctl name="L2 ASPTX3 Slot Position" value="6"/>
|
||||
<ctl name="R2 ASPTX3 Slot Position" value="7"/>
|
||||
<ctl name="ASPTX4 Slot Position" value="3"/>
|
||||
<ctl name="R ASPTX4 Slot Position" value="5"/>
|
||||
<ctl name="L2 ASPTX4 Slot Position" value="6"/>
|
||||
<ctl name="R2 ASPTX4 Slot Position" value="7"/>
|
||||
<ctl name="ASP TX1 Source" value="VMON" />
|
||||
<ctl name="R ASP TX1 Source" value="Zero" />
|
||||
<ctl name="L2 ASP TX1 Source" value="Zero" />
|
||||
<ctl name="R2 ASP TX1 Source" value="Zero" />
|
||||
<ctl name="ASP TX2 Source" value="IMON" />
|
||||
<ctl name="R ASP TX2 Source" value="Zero" />
|
||||
<ctl name="L2 ASP TX2 Source" value="Zero" />
|
||||
<ctl name="R2 ASP TX2 Source" value="Zero" />
|
||||
<ctl name="ASP TX3 Source" value="VPMON" />
|
||||
<ctl name="R ASP TX3 Source" value="Zero" />
|
||||
<ctl name="L2 ASP TX3 Source" value="Zero" />
|
||||
<ctl name="R2 ASP TX3 Source" value="Zero" />
|
||||
<ctl name="ASP TX4 Source" value="ASPRX1" />
|
||||
<ctl name="R ASP TX4 Source" value="Zero" />
|
||||
<ctl name="L2 ASP TX4 Source" value="Zero" />
|
||||
<ctl name="R2 ASP TX4 Source" value="Zero" />
|
||||
<ctl name="NoHost1 TX Mixer TDM_0_TX" value="1" />
|
||||
</path>
|
||||
<!-- L2 prefix -->
|
||||
<path name="amp_iv2-only">
|
||||
<ctl name="ASPTX1 Slot Position" value="4"/>
|
||||
<ctl name="R ASPTX1 Slot Position" value="5"/>
|
||||
<ctl name="L2 ASPTX1 Slot Position" value="0"/>
|
||||
<ctl name="R2 ASPTX1 Slot Position" value="6"/>
|
||||
<ctl name="ASPTX2 Slot Position" value="4"/>
|
||||
<ctl name="R ASPTX2 Slot Position" value="5"/>
|
||||
<ctl name="L2 ASPTX2 Slot Position" value="1"/>
|
||||
<ctl name="R2 ASPTX2 Slot Position" value="7"/>
|
||||
<ctl name="ASPTX3 Slot Position" value="4"/>
|
||||
<ctl name="R ASPTX3 Slot Position" value="5"/>
|
||||
<ctl name="L2 ASPTX3 Slot Position" value="2"/>
|
||||
<ctl name="R2 ASPTX3 Slot Position" value="7"/>
|
||||
<ctl name="ASPTX4 Slot Position" value="4"/>
|
||||
<ctl name="R ASPTX4 Slot Position" value="5"/>
|
||||
<ctl name="L2 ASPTX4 Slot Position" value="3"/>
|
||||
<ctl name="R2 ASPTX4 Slot Position" value="7"/>
|
||||
<ctl name="ASP TX1 Source" value="Zero" />
|
||||
<ctl name="R ASP TX1 Source" value="Zero" />
|
||||
<ctl name="L2 ASP TX1 Source" value="VMON" />
|
||||
<ctl name="R2 ASP TX1 Source" value="Zero" />
|
||||
<ctl name="ASP TX2 Source" value="Zero" />
|
||||
<ctl name="R ASP TX2 Source" value="Zero" />
|
||||
<ctl name="L2 ASP TX2 Source" value="IMON" />
|
||||
<ctl name="R2 ASP TX2 Source" value="Zero" />
|
||||
<ctl name="ASP TX3 Source" value="Zero" />
|
||||
<ctl name="R ASP TX3 Source" value="Zero" />
|
||||
<ctl name="L2 ASP TX3 Source" value="VPMON" />
|
||||
<ctl name="R2 ASP TX3 Source" value="Zero" />
|
||||
<ctl name="ASP TX4 Source" value="Zero" />
|
||||
<ctl name="R ASP TX4 Source" value="Zero" />
|
||||
<ctl name="L2 ASP TX4 Source" value="ASPRX1" />
|
||||
<ctl name="R2 ASP TX4 Source" value="Zero" />
|
||||
<ctl name="NoHost1 TX Mixer TDM_0_TX" value="1" />
|
||||
</path>
|
||||
<!-- R2 prefix -->
|
||||
<path name="amp_iv3-only">
|
||||
<ctl name="ASPTX1 Slot Position" value="4"/>
|
||||
<ctl name="R ASPTX1 Slot Position" value="5"/>
|
||||
<ctl name="L2 ASPTX1 Slot Position" value="6"/>
|
||||
<ctl name="R2 ASPTX1 Slot Position" value="0"/>
|
||||
<ctl name="ASPTX2 Slot Position" value="4"/>
|
||||
<ctl name="R ASPTX2 Slot Position" value="5"/>
|
||||
<ctl name="L2 ASPTX2 Slot Position" value="6"/>
|
||||
<ctl name="R2 ASPTX2 Slot Position" value="1"/>
|
||||
<ctl name="ASPTX3 Slot Position" value="4"/>
|
||||
<ctl name="R ASPTX3 Slot Position" value="5"/>
|
||||
<ctl name="L2 ASPTX3 Slot Position" value="6"/>
|
||||
<ctl name="R2 ASPTX3 Slot Position" value="2"/>
|
||||
<ctl name="ASPTX4 Slot Position" value="4"/>
|
||||
<ctl name="R ASPTX4 Slot Position" value="5"/>
|
||||
<ctl name="L2 ASPTX4 Slot Position" value="6"/>
|
||||
<ctl name="R2 ASPTX4 Slot Position" value="3"/>
|
||||
<ctl name="ASP TX1 Source" value="Zero" />
|
||||
<ctl name="R ASP TX1 Source" value="Zero" />
|
||||
<ctl name="L2 ASP TX1 Source" value="Zero" />
|
||||
<ctl name="R2 ASP TX1 Source" value="VMON" />
|
||||
<ctl name="ASP TX2 Source" value="Zero" />
|
||||
<ctl name="R ASP TX2 Source" value="Zero" />
|
||||
<ctl name="L2 ASP TX2 Source" value="Zero" />
|
||||
<ctl name="R2 ASP TX2 Source" value="IMON" />
|
||||
<ctl name="ASP TX3 Source" value="Zero" />
|
||||
<ctl name="R ASP TX3 Source" value="Zero" />
|
||||
<ctl name="L2 ASP TX3 Source" value="Zero" />
|
||||
<ctl name="R2 ASP TX3 Source" value="VPMON" />
|
||||
<ctl name="ASP TX4 Source" value="Zero" />
|
||||
<ctl name="R ASP TX4 Source" value="Zero" />
|
||||
<ctl name="L2 ASP TX4 Source" value="Zero" />
|
||||
<ctl name="R2 ASP TX4 Source" value="ASPRX1" />
|
||||
<ctl name="NoHost1 TX Mixer TDM_0_TX" value="1" />
|
||||
</path>
|
||||
<!-- R prefix-->
|
||||
<path name="amp_iv4-only">
|
||||
<ctl name="ASPTX1 Slot Position" value="4"/>
|
||||
<ctl name="R ASPTX1 Slot Position" value="0"/>
|
||||
<ctl name="L2 ASPTX1 Slot Position" value="5"/>
|
||||
<ctl name="R2 ASPTX1 Slot Position" value="6"/>
|
||||
<ctl name="ASPTX2 Slot Position" value="4"/>
|
||||
<ctl name="R ASPTX2 Slot Position" value="1"/>
|
||||
<ctl name="L2 ASPTX2 Slot Position" value="6"/>
|
||||
<ctl name="R2 ASPTX2 Slot Position" value="7"/>
|
||||
<ctl name="ASPTX3 Slot Position" value="4"/>
|
||||
<ctl name="R ASPTX3 Slot Position" value="2"/>
|
||||
<ctl name="L2 ASPTX3 Slot Position" value="6"/>
|
||||
<ctl name="R2 ASPTX3 Slot Position" value="7"/>
|
||||
<ctl name="ASPTX4 Slot Position" value="4"/>
|
||||
<ctl name="R ASPTX4 Slot Position" value="3"/>
|
||||
<ctl name="L2 ASPTX4 Slot Position" value="6"/>
|
||||
<ctl name="R2 ASPTX4 Slot Position" value="7"/>
|
||||
<ctl name="ASP TX1 Source" value="Zero" />
|
||||
<ctl name="R ASP TX1 Source" value="VMON" />
|
||||
<ctl name="L2 ASP TX1 Source" value="Zero" />
|
||||
<ctl name="R2 ASP TX1 Source" value="Zero" />
|
||||
<ctl name="ASP TX2 Source" value="Zero" />
|
||||
<ctl name="R ASP TX2 Source" value="IMON" />
|
||||
<ctl name="L2 ASP TX2 Source" value="Zero" />
|
||||
<ctl name="R2 ASP TX2 Source" value="Zero" />
|
||||
<ctl name="ASP TX3 Source" value="Zero" />
|
||||
<ctl name="R ASP TX3 Source" value="VPMON" />
|
||||
<ctl name="L2 ASP TX3 Source" value="Zero" />
|
||||
<ctl name="R2 ASP TX3 Source" value="Zero" />
|
||||
<ctl name="ASP TX4 Source" value="Zero" />
|
||||
<ctl name="R ASP TX4 Source" value="ASPRX1" />
|
||||
<ctl name="L2 ASP TX4 Source" value="Zero" />
|
||||
<ctl name="R2 ASP TX4 Source" value="Zero" />
|
||||
<ctl name="NoHost1 TX Mixer TDM_0_TX" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="us-amp_iv-only">
|
||||
<ctl name="TDM_0_RX Sample Rate" value="SR_96K" />
|
||||
<ctl name="TDM_0_TX Sample Rate" value="SR_96K" />
|
||||
<path name="amp_iv-only" />
|
||||
</path>
|
||||
|
||||
<path name="us-amp_iv1-only">
|
||||
<ctl name="TDM_0_RX Sample Rate" value="SR_96K" />
|
||||
<ctl name="TDM_0_TX Sample Rate" value="SR_96K" />
|
||||
<path name="amp_iv1-only" />
|
||||
</path>
|
||||
|
||||
<path name="us-amp_iv2-only">
|
||||
<ctl name="TDM_0_RX Sample Rate" value="SR_96K" />
|
||||
<ctl name="TDM_0_TX Sample Rate" value="SR_96K" />
|
||||
<path name="amp_iv2-only" />
|
||||
</path>
|
||||
|
||||
<path name="us-amp_iv3-only">
|
||||
<ctl name="TDM_0_RX Sample Rate" value="SR_96K" />
|
||||
<ctl name="TDM_0_TX Sample Rate" value="SR_96K" />
|
||||
<path name="amp_iv3-only" />
|
||||
</path>
|
||||
|
||||
<path name="us-amp_iv4-only">
|
||||
<ctl name="TDM_0_RX Sample Rate" value="SR_96K" />
|
||||
<ctl name="TDM_0_TX Sample Rate" value="SR_96K" />
|
||||
<path name="amp_iv4-only" />
|
||||
</path>
|
||||
|
||||
<path name="speaker1-status">
|
||||
<ctl name="Main AMP Enable Switch" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="speaker2-status">
|
||||
<ctl name="L2 Main AMP Enable Switch" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="speaker3-status">
|
||||
<ctl name="R2 Main AMP Enable Switch" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="speaker4-status">
|
||||
<ctl name="R Main AMP Enable Switch" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="speaker1-gain">
|
||||
<ctl name="AMP PCM Gain" />
|
||||
</path>
|
||||
|
||||
<path name="speaker2-gain">
|
||||
<ctl name="L2 AMP PCM Gain" />
|
||||
</path>
|
||||
|
||||
<path name="speaker3-gain">
|
||||
<ctl name="R2 AMP PCM Gain" />
|
||||
</path>
|
||||
|
||||
<path name="speaker4-gain">
|
||||
<ctl name="R AMP PCM Gain" />
|
||||
</path>
|
||||
|
||||
<path name="usb-playback-gain">
|
||||
<ctl name="Headset Playback Volume" />
|
||||
</path>
|
||||
|
||||
<path name="mfg-playback speaker">
|
||||
<ctl name="AoC Speaker Mixer ASP Mode" value="ASP_BYPASS" />
|
||||
<ctl name="TDM_0_RX Mixer EP3" value="1" />
|
||||
<ctl name="ASPRX1 Slot Position" value="0" />
|
||||
<ctl name="R ASPRX1 Slot Position" value="1" />
|
||||
<ctl name="SINK_IDS" id="0" value="0" />
|
||||
<ctl name="SINK_IDS" id="1" value="-1" />
|
||||
</path>
|
||||
|
||||
<path name="mfg-playback headphones">
|
||||
<ctl name="I2S_0_RX Chan" value="Two" />
|
||||
<ctl name="I2S_0_RX Format" value="S32_LE" />
|
||||
<ctl name="I2S_0_RX Mixer EP3" value="1" />
|
||||
<ctl name="SINK_IDS" id="0" value="1" />
|
||||
<ctl name="SINK_IDS" id="1" value="-1" />
|
||||
</path>
|
||||
|
||||
<path name="mfg-playback usb-headphones">
|
||||
<ctl name="USB Dev ID v2" value="2" />
|
||||
<ctl name="USB Capture EP ID v2" value="0" />
|
||||
<ctl name="USB Playback EP ID v2" value="1" />
|
||||
<ctl name="USB Playback FORMAT v2" value="6" />
|
||||
<ctl name="USB Playback SR v2" value="48000" />
|
||||
<ctl name="USB Playback CH v2" value="2" />
|
||||
<ctl name="USB Playback BW v2" value="16" />
|
||||
<ctl name="USB Config To AoC v2" value="1" />
|
||||
<ctl name="USB_RX Mixer EP3" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="us-mfg-playback speaker">
|
||||
<path name="cs35l41-us-config" />
|
||||
<ctl name="TDM_0_RX Sample Rate" value="SR_96K" />
|
||||
<ctl name="TDM_0_TX Sample Rate" value="SR_96K" />
|
||||
<ctl name="TDM_0_RX Mixer US" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="speaker1-only">
|
||||
<ctl name="Main AMP Enable Switch" value="1" />
|
||||
<path name="mfg-playback speaker" />
|
||||
<ctl name="Digital PCM Volume" value="817" />
|
||||
<ctl name="AMP PCM Gain" value="17" />
|
||||
<ctl name="PCM Source" value="ASP" />
|
||||
</path>
|
||||
|
||||
<path name="speaker2-only">
|
||||
<ctl name="L2 Main AMP Enable Switch" value="1" />
|
||||
<path name="mfg-playback speaker" />
|
||||
<ctl name="L2 Digital PCM Volume" value="817" />
|
||||
<ctl name="L2 AMP PCM Gain" value="17" />
|
||||
<ctl name="L2 PCM Source" value="ASP" />
|
||||
</path>
|
||||
|
||||
<path name="speaker3-only">
|
||||
<ctl name="R2 Main AMP Enable Switch" value="1" />
|
||||
<path name="mfg-playback speaker" />
|
||||
<ctl name="R2 Digital PCM Volume" value="817" />
|
||||
<ctl name="R2 AMP PCM Gain" value="17" />
|
||||
<ctl name="R2 PCM Source" value="ASP" />
|
||||
</path>
|
||||
|
||||
<path name="speaker4-only">
|
||||
<ctl name="R Main AMP Enable Switch" value="1" />
|
||||
<path name="mfg-playback speaker" />
|
||||
<ctl name="R Digital PCM Volume" value="817" />
|
||||
<ctl name="R AMP PCM Gain" value="17" />
|
||||
<ctl name="R PCM Source" value="ASP" />
|
||||
</path>
|
||||
|
||||
<path name="us-speaker1-only">
|
||||
<ctl name="Main AMP Enable Switch" value="1" />
|
||||
<path name="us-mfg-playback speaker" />
|
||||
<ctl name="Digital PCM Volume" value="817" />
|
||||
<ctl name="AMP PCM Gain" value="17" />
|
||||
<ctl name="PCM Source" value="ASP" />
|
||||
</path>
|
||||
|
||||
<path name="us-speaker2-only">
|
||||
<ctl name="L2 Main AMP Enable Switch" value="1" />
|
||||
<path name="us-mfg-playback speaker" />
|
||||
<ctl name="L2 Digital PCM Volume" value="817" />
|
||||
<ctl name="L2 AMP PCM Gain" value="17" />
|
||||
<ctl name="L2 PCM Source" value="ASP" />
|
||||
</path>
|
||||
|
||||
<path name="us-speaker3-only">
|
||||
<ctl name="R2 Main AMP Enable Switch" value="1" />
|
||||
<path name="us-mfg-playback speaker" />
|
||||
<ctl name="R2 Digital PCM Volume" value="817" />
|
||||
<ctl name="R2 AMP PCM Gain" value="17" />
|
||||
<ctl name="R2 PCM Source" value="ASP" />
|
||||
</path>
|
||||
|
||||
<path name="us-speaker4-only">
|
||||
<ctl name="R Main AMP Enable Switch" value="1" />
|
||||
<path name="us-mfg-playback speaker" />
|
||||
<ctl name="R Digital PCM Volume" value="817" />
|
||||
<ctl name="R AMP PCM Gain" value="17" />
|
||||
<ctl name="R PCM Source" value="ASP" />
|
||||
</path>
|
||||
|
||||
<path name="headphones">
|
||||
<ctl name="DAC1 MIXL DAC1 Switch" value="1" />
|
||||
<ctl name="DAC1 MIXR DAC1 Switch" value="1" />
|
||||
<ctl name="Stereo1 DAC MIXL DAC L1 Switch" value="1" />
|
||||
<ctl name="Stereo1 DAC MIXR DAC R1 Switch" value="1" />
|
||||
<ctl name="DAC L1 Source" value="Stereo1 DAC Mixer" />
|
||||
<ctl name="DAC R1 Source" value="Stereo1 DAC Mixer" />
|
||||
<ctl name="HPOL Playback Switch" value="1" />
|
||||
<ctl name="HPOR Playback Switch" value="1" />
|
||||
<path name="mfg-playback headphones" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-all">
|
||||
<ctl name="Main AMP Enable Switch" value="1" />
|
||||
<ctl name="PCM Source" value="ASP" />
|
||||
<ctl name="Digital PCM Volume" value="817" />
|
||||
<ctl name="AMP PCM Gain" value="17" />
|
||||
<ctl name="R Main AMP Enable Switch" value="1" />
|
||||
<ctl name="R PCM Source" value="ASP" />
|
||||
<ctl name="R Digital PCM Volume" value="817" />
|
||||
<ctl name="R AMP PCM Gain" value="17" />
|
||||
<ctl name="L2 Main AMP Enable Switch" value="1" />
|
||||
<ctl name="L2 PCM Source" value="ASP" />
|
||||
<ctl name="L2 Digital PCM Volume" value="817" />
|
||||
<ctl name="L2 AMP PCM Gain" value="17" />
|
||||
<ctl name="R2 Main AMP Enable Switch" value="1" />
|
||||
<ctl name="R2 PCM Source" value="ASP" />
|
||||
<ctl name="R2 Digital PCM Volume" value="817" />
|
||||
<ctl name="R2 AMP PCM Gain" value="17" />
|
||||
<path name="mfg-playback speaker" />
|
||||
</path>
|
||||
|
||||
<path name="us-speaker-all">
|
||||
<ctl name="Main AMP Enable Switch" value="1" />
|
||||
<ctl name="PCM Source" value="ASP" />
|
||||
<ctl name="Digital PCM Volume" value="817" />
|
||||
<ctl name="AMP PCM Gain" value="17" />
|
||||
<ctl name="R Main AMP Enable Switch" value="1" />
|
||||
<ctl name="R PCM Source" value="ASP" />
|
||||
<ctl name="R Digital PCM Volume" value="817" />
|
||||
<ctl name="R AMP PCM Gain" value="17" />
|
||||
<ctl name="L2 Main AMP Enable Switch" value="1" />
|
||||
<ctl name="L2 PCM Source" value="ASP" />
|
||||
<ctl name="L2 Digital PCM Volume" value="817" />
|
||||
<ctl name="L2 AMP PCM Gain" value="17" />
|
||||
<ctl name="R2 Main AMP Enable Switch" value="1" />
|
||||
<ctl name="R2 PCM Source" value="ASP" />
|
||||
<ctl name="R2 Digital PCM Volume" value="817" />
|
||||
<ctl name="R2 AMP PCM Gain" value="17" />
|
||||
<path name="us-mfg-playback speaker" />
|
||||
</path>
|
||||
|
||||
<path name="loopback-mic-speaker">
|
||||
<ctl name="EP1 TX Mixer TDM_0_TX" value="1" />
|
||||
<ctl name="SINK_IDS" id="0" value="0" />
|
||||
<ctl name="SINK_IDS" id="1" value="-1" />
|
||||
<path name="mfg-playback" />
|
||||
</path>
|
||||
|
||||
<path name="loopback-mic-headphones">
|
||||
<ctl name="EP1 TX Mixer TDM_0_TX" value="1" />
|
||||
<ctl name="SINK_IDS" id="0" value="1" />
|
||||
<ctl name="SINK_IDS" id="1" value="-1" />
|
||||
<path name="mfg-playback" />
|
||||
</path>
|
||||
|
||||
<path name="loopback-mic-usb-headphones">
|
||||
<ctl name="MIC HW Gain At Lower Power Mode (cB)" value="-160" />
|
||||
<ctl name="MIC HW Gain At High Power Mode (cB)" value="0" />
|
||||
<ctl name="TDM_0_TX Format" value="S32_LE" />
|
||||
<ctl name="TDM_0_TX Chan" value="One" />
|
||||
<ctl name="EP1 TX Mixer TDM_0_TX" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="loopback-usb-mic-speaker">
|
||||
<ctl name="Audio Capture Mic Source" value='USB_MIC' />
|
||||
<ctl name="USB Capture FORMAT v2" value="1" />
|
||||
<ctl name="MIC Record Soft Gain (dB)" value="0" />
|
||||
</path>
|
||||
|
||||
<path name="loopback-usb-mic-usb-headphone">
|
||||
<ctl name="Audio Capture Mic Source" value='USB_MIC' />
|
||||
<ctl name="USB Capture FORMAT v2" value="1" />
|
||||
<ctl name="MIC Record Soft Gain (dB)" value="0" />
|
||||
</path>
|
||||
|
||||
<pcm_id name="loopback-mic1" value="EP1 capture (*)"/>
|
||||
<pcm_id name="loopback-mic2" value="EP1 capture (*)"/>
|
||||
<pcm_id name="loopback-mic3" value="EP1 capture (*)"/>
|
||||
<pcm_id name="loopback-mic4" value="EP1 capture (*)"/>
|
||||
<pcm_id name="loopback-speaker1" value="EP3 playback (*)"/>
|
||||
<pcm_id name="loopback-speaker2" value="EP3 playback (*)"/>
|
||||
<pcm_id name="loopback-speaker3" value="EP3 playback (*)"/>
|
||||
<pcm_id name="loopback-speaker4" value="EP3 playback (*)"/>
|
||||
<pcm_id name="loopback-headphones" value="EP3 playback (*)"/>
|
||||
<pcm_id name="loopback-usb-headphones" value="EP3 playback (*)"/>
|
||||
<pcm_id name="loopback-usb-mic" value="EP1 capture (*)"/>
|
||||
<pcm_id name="loopback-amp_iv" value="nohost1 capture (*)"/>
|
||||
</mixer>
|
||||
508
audio/tangorpro/cs35l41/crus_sp_cal_mixer_paths.xml
Normal file
508
audio/tangorpro/cs35l41/crus_sp_cal_mixer_paths.xml
Normal file
@@ -0,0 +1,508 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!-- Copyright (c) 2018-2020, The Linux Foundation. All rights reserved. -->
|
||||
<!-- -->
|
||||
<!-- Redistribution and use in source and binary forms, with or without -->
|
||||
<!-- modification, are permitted provided that the following conditions are -->
|
||||
<!-- met: -->
|
||||
<!-- * Redistributions of source code must retain the above copyright -->
|
||||
<!-- notice, this list of conditions and the following disclaimer. -->
|
||||
<!-- * Redistributions in binary form must reproduce the above -->
|
||||
<!-- copyright notice, this list of conditions and the following -->
|
||||
<!-- disclaimer in the documentation and/or other materials provided -->
|
||||
<!-- with the distribution. -->
|
||||
<!-- * Neither the name of The Linux Foundation nor the names of its -->
|
||||
<!-- contributors may be used to endorse or promote products derived -->
|
||||
<!-- from this software without specific prior written permission. -->
|
||||
<!-- -->
|
||||
<!-- THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED -->
|
||||
<!-- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -->
|
||||
<!-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT -->
|
||||
<!-- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS -->
|
||||
<!-- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -->
|
||||
<!-- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -->
|
||||
<!-- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -->
|
||||
<!-- BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -->
|
||||
<!-- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
|
||||
<!-- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -->
|
||||
<mixer>
|
||||
<!-- Initial Values -->
|
||||
<!-- Preload Stage -->
|
||||
<ctl name="Main AMP Enable Switch" value="0" />
|
||||
<ctl name="DSP1 Preload Switch" value="0" />
|
||||
<ctl name="R Main AMP Enable Switch" value="0" />
|
||||
<ctl name="R DSP1 Preload Switch" value="0" />
|
||||
<ctl name="L2 Main AMP Enable Switch" value="0" />
|
||||
<ctl name="L2 DSP1 Preload Switch" value="0" />
|
||||
<ctl name="R2 Main AMP Enable Switch" value="0" />
|
||||
<ctl name="R2 DSP1 Preload Switch" value="0" />
|
||||
<!-- Clock-trigger Stage -->
|
||||
<ctl name="TDM_0_RX Mixer EP6" value="0"/>
|
||||
|
||||
<!-- Preparation Stage -->
|
||||
<path name="crus-switch-fw-prepare">
|
||||
<ctl name="DRE DRE Switch" value="1" />
|
||||
<ctl name="VBSTMON Output Switch" value="1" />
|
||||
<ctl name="DSP Booted" value="0" />
|
||||
<ctl name="DSP1 Preload Switch" value="0" />
|
||||
|
||||
<ctl name="R DRE DRE Switch" value="1" />
|
||||
<ctl name="R VBSTMON Output Switch" value="1" />
|
||||
<ctl name="R DSP Booted" value="0" />
|
||||
<ctl name="R DSP1 Preload Switch" value="0" />
|
||||
|
||||
<ctl name="L2 DRE DRE Switch" value="1" />
|
||||
<ctl name="L2 VBSTMON Output Switch" value="1" />
|
||||
<ctl name="L2 DSP Booted" value="0" />
|
||||
<ctl name="L2 DSP1 Preload Switch" value="0" />
|
||||
|
||||
<ctl name="R2 DRE DRE Switch" value="1" />
|
||||
<ctl name="R2 VBSTMON Output Switch" value="1" />
|
||||
<ctl name="R2 DSP Booted" value="0" />
|
||||
<ctl name="R2 DSP1 Preload Switch" value="0" />
|
||||
</path>
|
||||
|
||||
<!-- Preload Stage -->
|
||||
<path name="crus-fw-preload">
|
||||
<ctl name="DSP1 Preload Switch" value="1" />
|
||||
<ctl name="R DSP1 Preload Switch" value="1" />
|
||||
<ctl name="L2 DSP1 Preload Switch" value="1" />
|
||||
<ctl name="R2 DSP1 Preload Switch" value="1" />
|
||||
</path>
|
||||
|
||||
<!-- Firmware-switching Stage -->
|
||||
<path name="crus-switch-fw-Calibration">
|
||||
<ctl name="AMP PCM Gain" value="17" />
|
||||
<ctl name="Digital PCM Volume" value="817" />
|
||||
<ctl name="PCM Source" value="DSP" />
|
||||
<ctl name="DSP1 Firmware" value="Calibration" />
|
||||
|
||||
<ctl name="R AMP PCM Gain" value="17" />
|
||||
<ctl name="R Digital PCM Volume" value="817" />
|
||||
<ctl name="R PCM Source" value="DSP" />
|
||||
<ctl name="R DSP1 Firmware" value="Calibration" />
|
||||
|
||||
<ctl name="L2 AMP PCM Gain" value="17" />
|
||||
<ctl name="L2 Digital PCM Volume" value="817" />
|
||||
<ctl name="L2 PCM Source" value="DSP" />
|
||||
<ctl name="L2 DSP1 Firmware" value="Calibration" />
|
||||
|
||||
<ctl name="R2 AMP PCM Gain" value="17" />
|
||||
<ctl name="R2 Digital PCM Volume" value="817" />
|
||||
<ctl name="R2 PCM Source" value="DSP" />
|
||||
<ctl name="R2 DSP1 Firmware" value="Calibration" />
|
||||
</path>
|
||||
|
||||
<path name="crus-switch-fw-Diagnostic">
|
||||
<ctl name="AMP PCM Gain" value="17" />
|
||||
<ctl name="Digital PCM Volume" value="817" />
|
||||
<ctl name="PCM Source" value="DSP" />
|
||||
<ctl name="DSP1 Firmware" value="Diagnostic" />
|
||||
|
||||
<ctl name="R AMP PCM Gain" value="17" />
|
||||
<ctl name="R Digital PCM Volume" value="817" />
|
||||
<ctl name="R PCM Source" value="DSP" />
|
||||
<ctl name="R DSP1 Firmware" value="Diagnostic" />
|
||||
|
||||
<ctl name="L2 AMP PCM Gain" value="17" />
|
||||
<ctl name="L2 Digital PCM Volume" value="817" />
|
||||
<ctl name="L2 PCM Source" value="DSP" />
|
||||
<ctl name="L2 DSP1 Firmware" value="Diagnostic" />
|
||||
|
||||
<ctl name="R2 AMP PCM Gain" value="17" />
|
||||
<ctl name="R2 Digital PCM Volume" value="817" />
|
||||
<ctl name="R2 PCM Source" value="DSP" />
|
||||
<ctl name="R2 DSP1 Firmware" value="Diagnostic" />
|
||||
</path>
|
||||
|
||||
<path name="crus-switch-fw-Protection">
|
||||
<ctl name="PCM Source" value="DSP" />
|
||||
<ctl name="DSP1 Firmware" value="Protection" />
|
||||
<ctl name="R PCM Source" value="DSP" />
|
||||
<ctl name="R DSP1 Firmware" value="Protection" />
|
||||
<ctl name="L2 PCM Source" value="DSP" />
|
||||
<ctl name="L2 DSP1 Firmware" value="Protection" />
|
||||
<ctl name="R2 PCM Source" value="DSP" />
|
||||
<ctl name="R2 DSP1 Firmware" value="Protection" />
|
||||
</path>
|
||||
|
||||
<!-- DSP-initialization Stage -->
|
||||
<path name="crus-dsp-pre-calibration-amp1">
|
||||
<ctl name="Main AMP Enable Switch" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="crus-dsp-pre-calibration-amp2">
|
||||
<ctl name="R Main AMP Enable Switch" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="crus-dsp-pre-calibration-amp3">
|
||||
<ctl name="L2 Main AMP Enable Switch" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="crus-dsp-pre-calibration-amp4">
|
||||
<ctl name="R2 Main AMP Enable Switch" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="crus-dsp-pre-calibration">
|
||||
<path name="crus-dsp-pre-calibration-amp1" />
|
||||
<path name="crus-dsp-pre-calibration-amp2" />
|
||||
<path name="crus-dsp-pre-calibration-amp3" />
|
||||
<path name="crus-dsp-pre-calibration-amp4" />
|
||||
</path>
|
||||
|
||||
<path name="crus-dsp-pre-diagnostic-amp1">
|
||||
<ctl name="Main AMP Enable Switch" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="crus-dsp-pre-diagnostic-amp2">
|
||||
<ctl name="R Main AMP Enable Switch" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="crus-dsp-pre-diagnostic-amp3">
|
||||
<ctl name="L2 Main AMP Enable Switch" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="crus-dsp-pre-diagnostic-amp4">
|
||||
<ctl name="R2 Main AMP Enable Switch" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="crus-dsp-pre-diagnostic">
|
||||
<path name="crus-dsp-pre-diagnostic-amp1" />
|
||||
<path name="crus-dsp-pre-diagnostic-amp2" />
|
||||
<path name="crus-dsp-pre-diagnostic-amp3" />
|
||||
<path name="crus-dsp-pre-diagnostic-amp4" />
|
||||
</path>
|
||||
|
||||
<path name="crus-dsp-pre-protection">
|
||||
<ctl name="Main AMP Enable Switch" value="1" />
|
||||
<ctl name="R Main AMP Enable Switch" value="1" />
|
||||
<ctl name="L2 Main AMP Enable Switch" value="1" />
|
||||
<ctl name="R2 Main AMP Enable Switch" value="1" />
|
||||
</path>
|
||||
|
||||
<!-- Clock-trigger Stage -->
|
||||
<path name="platform-controls">
|
||||
<ctl name="TDM_0_RX Mixer EP6" value="1"/>
|
||||
</path>
|
||||
|
||||
<!-- Post loaded firmware -->
|
||||
<path name="crus-dsp-post-loading-fw">
|
||||
<ctl name="Main AMP Enable Switch" value="0" />
|
||||
<ctl name="R Main AMP Enable Switch" value="0" />
|
||||
<ctl name="L2 Main AMP Enable Switch" value="0" />
|
||||
<ctl name="R2 Main AMP Enable Switch" value="0" />
|
||||
</path>
|
||||
|
||||
<!-- Value & Information Fetch Stage -->
|
||||
<path name="platform-values">
|
||||
<ctl name="TDM_0_RX Format" />
|
||||
<ctl name="TDM_0_RX Chan" />
|
||||
<ctl name="TDM_0_RX Sample Rate" />
|
||||
<ctl name="PCM Playback Volume" />
|
||||
<ctl name="TDM_0_RX Mixer EP6" />
|
||||
</path>
|
||||
|
||||
<path name="cs35l41-values">
|
||||
<ctl name="DRE DRE Switch" />
|
||||
<ctl name="R DRE DRE Switch" />
|
||||
<ctl name="L2 DRE DRE Switch" />
|
||||
<ctl name="R2 DRE DRE Switch" />
|
||||
<ctl name="VBSTMON Output Switch" />
|
||||
<ctl name="R VBSTMON Output Switch" />
|
||||
<ctl name="L2 VBSTMON Output Switch" />
|
||||
<ctl name="R2 VBSTMON Output Switch" />
|
||||
<ctl name="AMP PCM Gain" />
|
||||
<ctl name="R AMP PCM Gain" />
|
||||
<ctl name="L2 AMP PCM Gain" />
|
||||
<ctl name="R2 AMP PCM Gain" />
|
||||
<ctl name="Digital PCM Volume" />
|
||||
<ctl name="R Digital PCM Volume" />
|
||||
<ctl name="L2 Digital PCM Volume" />
|
||||
<ctl name="R2 Digital PCM Volume" />
|
||||
<ctl name="PCM Source" />
|
||||
<ctl name="R PCM Source" />
|
||||
<ctl name="L2 PCM Source" />
|
||||
<ctl name="R2 PCM Source" />
|
||||
<ctl name="DSP Booted" />
|
||||
<ctl name="R DSP Booted" />
|
||||
<ctl name="L2 DSP Booted" />
|
||||
<ctl name="R2 DSP Booted" />
|
||||
<ctl name="Main AMP Enable Switch" />
|
||||
<ctl name="R Main AMP Enable Switch" />
|
||||
<ctl name="L2 Main AMP Enable Switch" />
|
||||
<ctl name="R2 Main AMP Enable Switch" />
|
||||
<ctl name="DSP1 Preload Switch" />
|
||||
<ctl name="R DSP1 Preload Switch" />
|
||||
<ctl name="L2 DSP1 Preload Switch" />
|
||||
<ctl name="R2 DSP1 Preload Switch" />
|
||||
<ctl name="DSP1 Firmware" />
|
||||
<ctl name="R DSP1 Firmware" />
|
||||
<ctl name="L2 DSP1 Firmware" />
|
||||
<ctl name="R2 DSP1 Firmware" />
|
||||
</path>
|
||||
|
||||
|
||||
<!-- Note that the order of controls does matter because
|
||||
it should be matched to the structure defined in
|
||||
sp_cal_common.h -->
|
||||
<!--
|
||||
struct calibration_data {
|
||||
unsigned int cal_r;
|
||||
unsigned int cal_status;
|
||||
unsigned int cal_checksum;
|
||||
unsigned int cal_ambient;
|
||||
unsigned int amp_pcm_gain;
|
||||
unsigned int digital_pcm_gain;
|
||||
};
|
||||
-->
|
||||
<path name="cs35l41-dsp-amp1-calibration-values">
|
||||
<ctl name="DSP1 Calibration cd CAL_R" />
|
||||
<ctl name="DSP1 Calibration cd CAL_STATUS" />
|
||||
<ctl name="DSP1 Calibration cd CAL_CHECKSUM" />
|
||||
<ctl name="DSP1 Calibration cd CAL_AMBIENT" />
|
||||
<ctl name="AMP PCM Gain" />
|
||||
<ctl name="Digital PCM Volume" />
|
||||
|
||||
<!-- Only for debug print -->
|
||||
<ctl name="DSP1 Calibration cd CAL_SET_STATUS" />
|
||||
</path>
|
||||
|
||||
<path name="cs35l41-dsp-amp2-calibration-values">
|
||||
<ctl name="R DSP1 Calibration cd CAL_R" />
|
||||
<ctl name="R DSP1 Calibration cd CAL_STATUS" />
|
||||
<ctl name="R DSP1 Calibration cd CAL_CHECKSUM" />
|
||||
<ctl name="R DSP1 Calibration cd CAL_AMBIENT" />
|
||||
<ctl name="R AMP PCM Gain" />
|
||||
<ctl name="R Digital PCM Volume" />
|
||||
|
||||
<!-- Only for debug print -->
|
||||
<ctl name="R DSP1 Calibration cd CAL_SET_STATUS" />
|
||||
</path>
|
||||
|
||||
<path name="cs35l41-dsp-amp3-calibration-values">
|
||||
<ctl name="L2 DSP1 Calibration cd CAL_R" />
|
||||
<ctl name="L2 DSP1 Calibration cd CAL_STATUS" />
|
||||
<ctl name="L2 DSP1 Calibration cd CAL_CHECKSUM" />
|
||||
<ctl name="L2 DSP1 Calibration cd CAL_AMBIENT" />
|
||||
<ctl name="L2 AMP PCM Gain" />
|
||||
<ctl name="L2 Digital PCM Volume" />
|
||||
|
||||
<!-- Only for debug print -->
|
||||
<ctl name="L2 DSP1 Calibration cd CAL_SET_STATUS" />
|
||||
</path>
|
||||
|
||||
<path name="cs35l41-dsp-amp4-calibration-values">
|
||||
<ctl name="R2 DSP1 Calibration cd CAL_R" />
|
||||
<ctl name="R2 DSP1 Calibration cd CAL_STATUS" />
|
||||
<ctl name="R2 DSP1 Calibration cd CAL_CHECKSUM" />
|
||||
<ctl name="R2 DSP1 Calibration cd CAL_AMBIENT" />
|
||||
<ctl name="R2 AMP PCM Gain" />
|
||||
<ctl name="R2 Digital PCM Volume" />
|
||||
|
||||
<!-- Only for debug print -->
|
||||
<ctl name="R2 DSP1 Calibration cd CAL_SET_STATUS" />
|
||||
</path>
|
||||
|
||||
<!--
|
||||
struct diagnostic_data {
|
||||
struct calibration_data calibration_data;
|
||||
unsigned int z_low_diff;
|
||||
unsigned int diag_f0;
|
||||
unsigned int diag_f0_status;
|
||||
};
|
||||
-->
|
||||
<path name="cs35l41-dsp-amp1-diagnostic-values">
|
||||
<!-- struct calibration_data START -->
|
||||
<ctl name="DSP1 Diagnostic cd CAL_R" />
|
||||
<ctl name="DSP1 Diagnostic cd CAL_STATUS" />
|
||||
<ctl name="DSP1 Diagnostic cd CAL_CHECKSUM" />
|
||||
<ctl name="DSP1 Diagnostic cd CAL_AMBIENT" />
|
||||
<ctl name="AMP PCM Gain" />
|
||||
<ctl name="Digital PCM Volume" />
|
||||
<!-- struct calibration_data END -->
|
||||
<ctl name="DSP1 Diagnostic cd DIAG_Z_LOW_DIFF" />
|
||||
<ctl name="DSP1 Diagnostic cd DIAG_F0" />
|
||||
<ctl name="DSP1 Diagnostic cd DIAG_F0_STATUS" />
|
||||
|
||||
<!-- Only for debug print -->
|
||||
<ctl name="DSP1 Diagnostic cd CAL_SET_STATUS" />
|
||||
</path>
|
||||
|
||||
<path name="cs35l41-dsp-amp2-diagnostic-values">
|
||||
<!-- struct calibration_data START -->
|
||||
<ctl name="R DSP1 Diagnostic cd CAL_R" />
|
||||
<ctl name="R DSP1 Diagnostic cd CAL_STATUS" />
|
||||
<ctl name="R DSP1 Diagnostic cd CAL_CHECKSUM" />
|
||||
<ctl name="R DSP1 Diagnostic cd CAL_AMBIENT" />
|
||||
<ctl name="R AMP PCM Gain" />
|
||||
<ctl name="R Digital PCM Volume" />
|
||||
<!-- struct calibration_data END -->
|
||||
<ctl name="R DSP1 Diagnostic cd DIAG_Z_LOW_DIFF" />
|
||||
<ctl name="R DSP1 Diagnostic cd DIAG_F0" />
|
||||
<ctl name="R DSP1 Diagnostic cd DIAG_F0_STATUS" />
|
||||
|
||||
<!-- Only for debug print -->
|
||||
<ctl name="R DSP1 Diagnostic cd CAL_SET_STATUS" />
|
||||
</path>
|
||||
|
||||
<path name="cs35l41-dsp-amp3-diagnostic-values">
|
||||
<!-- struct calibration_data START -->
|
||||
<ctl name="L2 DSP1 Diagnostic cd CAL_R" />
|
||||
<ctl name="L2 DSP1 Diagnostic cd CAL_STATUS" />
|
||||
<ctl name="L2 DSP1 Diagnostic cd CAL_CHECKSUM" />
|
||||
<ctl name="L2 DSP1 Diagnostic cd CAL_AMBIENT" />
|
||||
<ctl name="L2 AMP PCM Gain" />
|
||||
<ctl name="L2 Digital PCM Volume" />
|
||||
<!-- struct calibration_data END -->
|
||||
<ctl name="L2 DSP1 Diagnostic cd DIAG_Z_LOW_DIFF" />
|
||||
<ctl name="L2 DSP1 Diagnostic cd DIAG_F0" />
|
||||
<ctl name="L2 DSP1 Diagnostic cd DIAG_F0_STATUS" />
|
||||
|
||||
<!-- Only for debug print -->
|
||||
<ctl name="L2 DSP1 Diagnostic cd CAL_SET_STATUS" />
|
||||
</path>
|
||||
|
||||
<path name="cs35l41-dsp-amp4-diagnostic-values">
|
||||
<!-- struct calibration_data START -->
|
||||
<ctl name="R2 DSP1 Diagnostic cd CAL_R" />
|
||||
<ctl name="R2 DSP1 Diagnostic cd CAL_STATUS" />
|
||||
<ctl name="R2 DSP1 Diagnostic cd CAL_CHECKSUM" />
|
||||
<ctl name="R2 DSP1 Diagnostic cd CAL_AMBIENT" />
|
||||
<ctl name="R2 AMP PCM Gain" />
|
||||
<ctl name="R2 Digital PCM Volume" />
|
||||
<!-- struct calibration_data END -->
|
||||
<ctl name="R2 DSP1 Diagnostic cd DIAG_Z_LOW_DIFF" />
|
||||
<ctl name="R2 DSP1 Diagnostic cd DIAG_F0" />
|
||||
<ctl name="R2 DSP1 Diagnostic cd DIAG_F0_STATUS" />
|
||||
|
||||
<!-- Only for debug print -->
|
||||
<ctl name="R2 DSP1 Diagnostic cd CAL_SET_STATUS" />
|
||||
</path>
|
||||
|
||||
<path name="cs35l41-dsp-amp1-protection-values">
|
||||
<!-- struct calibration_data START -->
|
||||
<ctl name="DSP1 Protection cd CAL_R" />
|
||||
<ctl name="DSP1 Protection cd CAL_STATUS" />
|
||||
<ctl name="DSP1 Protection cd CAL_CHECKSUM" />
|
||||
<ctl name="DSP1 Protection cd CAL_AMBIENT" />
|
||||
|
||||
<!-- These controls are unrelated so we can simply
|
||||
skip them
|
||||
<ctl name="AMP PCM Gain" />
|
||||
<ctl name="Digital PCM Volume" />
|
||||
-->
|
||||
<!-- struct calibration_data END -->
|
||||
</path>
|
||||
|
||||
<path name="cs35l41-dsp-amp2-protection-values">
|
||||
<!-- struct calibration_data START -->
|
||||
<ctl name="R DSP1 Protection cd CAL_R" />
|
||||
<ctl name="R DSP1 Protection cd CAL_STATUS" />
|
||||
<ctl name="R DSP1 Protection cd CAL_CHECKSUM" />
|
||||
<ctl name="R DSP1 Protection cd CAL_AMBIENT" />
|
||||
|
||||
<!-- These controls are unrelated so we can simply
|
||||
skip them
|
||||
<ctl name="R AMP PCM Gain" />
|
||||
<ctl name="R Digital PCM Volume" />
|
||||
-->
|
||||
<!-- struct calibration_data END -->
|
||||
</path>
|
||||
|
||||
<path name="cs35l41-dsp-amp3-protection-values">
|
||||
<!-- struct calibration_data START -->
|
||||
<ctl name="L2 DSP1 Protection cd CAL_R" />
|
||||
<ctl name="L2 DSP1 Protection cd CAL_STATUS" />
|
||||
<ctl name="L2 DSP1 Protection cd CAL_CHECKSUM" />
|
||||
<ctl name="L2 DSP1 Protection cd CAL_AMBIENT" />
|
||||
|
||||
<!-- These controls are unrelated so we can simply
|
||||
skip them
|
||||
<ctl name="L2 AMP PCM Gain" />
|
||||
<ctl name="L2 Digital PCM Volume" />
|
||||
-->
|
||||
<!-- struct calibration_data END -->
|
||||
</path>
|
||||
|
||||
<path name="cs35l41-dsp-amp4-protection-values">
|
||||
<!-- struct calibration_data START -->
|
||||
<ctl name="R2 DSP1 Protection cd CAL_R" />
|
||||
<ctl name="R2 DSP1 Protection cd CAL_STATUS" />
|
||||
<ctl name="R2 DSP1 Protection cd CAL_CHECKSUM" />
|
||||
<ctl name="R2 DSP1 Protection cd CAL_AMBIENT" />
|
||||
|
||||
<!-- These controls are unrelated so we can simply
|
||||
skip them
|
||||
<ctl name="R2 AMP PCM Gain" />
|
||||
<ctl name="R2 Digital PCM Volume" />
|
||||
-->
|
||||
<!-- struct calibration_data END -->
|
||||
</path>
|
||||
|
||||
<path name="cs35l41-dsp-amp1-calibration-completion">
|
||||
<ctl name="DSP1 Calibration cd CAL_STATUS" />
|
||||
</path>
|
||||
|
||||
<path name="cs35l41-dsp-amp2-calibration-completion">
|
||||
<ctl name="R DSP1 Calibration cd CAL_STATUS" />
|
||||
</path>
|
||||
|
||||
<path name="cs35l41-dsp-amp3-calibration-completion">
|
||||
<ctl name="L2 DSP1 Calibration cd CAL_STATUS" />
|
||||
</path>
|
||||
|
||||
<path name="cs35l41-dsp-amp4-calibration-completion">
|
||||
<ctl name="R2 DSP1 Calibration cd CAL_STATUS" />
|
||||
</path>
|
||||
|
||||
<path name="cs35l41-dsp-amp1-protection-completion">
|
||||
<ctl name="DSP1 Protection cd CAL_SET_STATUS" />
|
||||
</path>
|
||||
|
||||
<path name="cs35l41-dsp-amp2-protection-completion">
|
||||
<ctl name="R DSP1 Protection cd CAL_SET_STATUS" />
|
||||
</path>
|
||||
|
||||
<path name="cs35l41-dsp-amp3-protection-completion">
|
||||
<ctl name="L2 DSP1 Protection cd CAL_SET_STATUS" />
|
||||
</path>
|
||||
|
||||
<path name="cs35l41-dsp-amp4-protection-completion">
|
||||
<ctl name="R2 DSP1 Protection cd CAL_SET_STATUS" />
|
||||
</path>
|
||||
|
||||
<path name="cs35l41-dsp-amp1-diagnostic-completion">
|
||||
<ctl name="DSP1 Diagnostic cd CAL_STATUS" />
|
||||
<ctl name="DSP1 Diagnostic cd DIAG_F0_STATUS" />
|
||||
</path>
|
||||
|
||||
<path name="cs35l41-dsp-amp2-diagnostic-completion">
|
||||
<ctl name="R DSP1 Diagnostic cd CAL_STATUS" />
|
||||
<ctl name="R DSP1 Diagnostic cd DIAG_F0_STATUS" />
|
||||
</path>
|
||||
|
||||
<path name="cs35l41-dsp-amp3-diagnostic-completion">
|
||||
<ctl name="L2 DSP1 Diagnostic cd CAL_STATUS" />
|
||||
<ctl name="L2 DSP1 Diagnostic cd DIAG_F0_STATUS" />
|
||||
</path>
|
||||
|
||||
<path name="cs35l41-dsp-amp4-diagnostic-completion">
|
||||
<ctl name="R2 DSP1 Diagnostic cd CAL_STATUS" />
|
||||
<ctl name="R2 DSP1 Diagnostic cd DIAG_F0_STATUS" />
|
||||
</path>
|
||||
|
||||
<path name="cs35l41-dsp-amp1-enable-status">
|
||||
<ctl name="Main AMP Enable Switch" />
|
||||
</path>
|
||||
|
||||
<path name="cs35l41-dsp-amp2-enable-status">
|
||||
<ctl name="R Main AMP Enable Switch" />
|
||||
</path>
|
||||
|
||||
<path name="cs35l41-dsp-amp3-enable-status">
|
||||
<ctl name="L2 Main AMP Enable Switch" />
|
||||
</path>
|
||||
|
||||
<path name="cs35l41-dsp-amp4-enable-status">
|
||||
<ctl name="R2 Main AMP Enable Switch" />
|
||||
</path>
|
||||
</mixer>
|
||||
22
audio/tangorpro/factory-audio-tables.mk
Normal file
22
audio/tangorpro/factory-audio-tables.mk
Normal file
@@ -0,0 +1,22 @@
|
||||
#
|
||||
# Copyright (C) 2021 The Android Open-Source Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
AUDIO_FACTORY_TABLE_FOLDER := tangorpro
|
||||
|
||||
# Mixer Path Configuration for Audio Factory
|
||||
PRODUCT_COPY_FILES += \
|
||||
device/google/tangorpro/audio/$(AUDIO_FACTORY_TABLE_FOLDER)/config/mixer_paths_factory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_factory.xml
|
||||
|
||||
44
audio/tangorpro/prebuilt/libspeechenhancer/Android.bp
Normal file
44
audio/tangorpro/prebuilt/libspeechenhancer/Android.bp
Normal file
@@ -0,0 +1,44 @@
|
||||
// Copyright (C) 2023 The Android Open Source Project
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
soong_namespace {
|
||||
}
|
||||
|
||||
package {
|
||||
default_applicable_licenses: ["Android-Apache-2.0"],
|
||||
}
|
||||
|
||||
cc_prebuilt_library_shared {
|
||||
name: "libspeechenhancer",
|
||||
vendor: true,
|
||||
owner: "google",
|
||||
proprietary: true,
|
||||
allow_undefined_symbols: true,
|
||||
arch: {
|
||||
arm: {
|
||||
srcs: ["arm32/libspeechenhancer.so"],
|
||||
},
|
||||
arm64: {
|
||||
srcs: ["arm64/libspeechenhancer.so"],
|
||||
},
|
||||
},
|
||||
|
||||
shared_libs: [
|
||||
"libcutils",
|
||||
"libEGL",
|
||||
"libGLESv2",
|
||||
"liblog",
|
||||
"libz",
|
||||
"libnativewindow",
|
||||
],
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
252
audio/tangorpro/tuning/bluenote/template.xml
Normal file
252
audio/tangorpro/tuning/bluenote/template.xml
Normal file
@@ -0,0 +1,252 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<template>
|
||||
<modules>
|
||||
<module id="2" name="Waves">
|
||||
<param id="0" max="3" name="opMode_" type="uint32"/>
|
||||
</module>
|
||||
<module id="3" name="Forte">
|
||||
<param id="0" max="3" name="opMode_" type="uint32"/>
|
||||
</module>
|
||||
<module id="5" name="Auto Gain Control">
|
||||
<param default="1" id="0" max="3" name="opMode_" type="uint32"/>
|
||||
<param default="48000" id="1" name="fs_" type="uint32"/>
|
||||
<param default="1" id="2" name="numCh_" type="uint32"/>
|
||||
<param default="1" id="3" name="chMask_" type="uint32"/>
|
||||
<param id="16" name="GainApplied" type="float"/>
|
||||
<param id="17" name="idealRMS" type="float"/>
|
||||
<param id="18" name="noiseGate" type="float"/>
|
||||
<param id="19" name="minGain" type="float"/>
|
||||
<param id="20" name="maxGain" type="float"/>
|
||||
<param id="21" name="longGainAtRt" type="uint32"/>
|
||||
<param id="22" name="GainAtRt" type="uint32"/>
|
||||
<param id="23" name="rmsTav" type="uint32"/>
|
||||
</module>
|
||||
<module id="6" name="Surround Record">
|
||||
<param default="1" id="0" max="3" name="opMode_" type="uint32"/>
|
||||
<param default="48000" id="1" name="fs_" type="uint32"/>
|
||||
<param default="3" id="2" name="numCh_" type="uint32"/>
|
||||
<param default="7" id="3" name="chMask_" type="uint32"/>
|
||||
<param id="16" max="1" min="0" name="alpha" type="float"/>
|
||||
<param complex="true" id="17" name="ch0_profileL" size="1024" type="float"/>
|
||||
<param complex="true" id="18" name="ch1_profileL" size="1024" type="float"/>
|
||||
<param complex="true" id="19" name="ch2_profileL" size="1024" type="float"/>
|
||||
<param complex="true" id="20" name="ch0_profileR" size="1024" type="float"/>
|
||||
<param complex="true" id="21" name="ch1_profileR" size="1024" type="float"/>
|
||||
<param complex="true" id="22" name="ch2_profileR" size="1024" type="float"/>
|
||||
<param complex="true" id="23" name="ch0_profileAZ" size="1024" type="float"/>
|
||||
<param complex="true" id="24" name="ch1_profileAZ" size="1024" type="float"/>
|
||||
<param complex="true" id="25" name="ch2_profileAZ" size="1024" type="float"/>
|
||||
<struct id="26">
|
||||
<param default="1" name="ch_gain" type="float"/>
|
||||
<param default="1" name="zoom_gain" type="float"/>
|
||||
</struct>
|
||||
<param default="0" id="27" name="ch0_assignFrom" type="int32"/>
|
||||
<param default="1" id="28" name="ch1_assignFrom" type="int32"/>
|
||||
<param default="2" id="29" name="ch2_assignFrom" type="int32"/>
|
||||
</module>
|
||||
<module id="7" name="Multi Channel IIR 2">
|
||||
<param default="1" id="0" max="3" name="opMode_" type="uint32"/>
|
||||
<param default="48000" id="1" name="fs_" type="uint32"/>
|
||||
<param default="3" id="2" name="numCh_" type="uint32"/>
|
||||
<param default="1" id="3" name="chMask_" type="uint32"/>
|
||||
<param default="3" id="16" max="3" min="1" name="numOfChannel" type="uint32"/>
|
||||
<param id="17" name="coeff" size="300" type="float"/>
|
||||
<struct id="18">
|
||||
<param max="18" min="-96" name="gain" size="60" type="float"/>
|
||||
<param max="24000" min="0" name="frequency" size="60" type="uint32"/>
|
||||
<param max="200" min="0" name="qfactor" size="60" type="float"/>
|
||||
<param default="4" name="type" size="60" type="int32"/>
|
||||
</struct>
|
||||
</module>
|
||||
<module id="8" name="Multi Band DRC">
|
||||
<param default="1" id="0" max="3" name="opMode_" type="uint32"/>
|
||||
<param default="48000" id="1" name="fs_" type="uint32"/>
|
||||
<param default="2" id="2" name="numCh_" type="uint32"/>
|
||||
<param default="3" id="3" name="chMask_" type="uint32"/>
|
||||
<struct id="16">
|
||||
<param default="1" max="3" min="1" name="numBand" type="uint32"/>
|
||||
<param name="IIR_LowPass1" size="5" type="float"/>
|
||||
<param name="IIR_HighPass1" size="5" type="float"/>
|
||||
<param name="IIR_LowPass2" size="5" type="float"/>
|
||||
<param name="IIR_HighPass2" size="5" type="float"/>
|
||||
</struct>
|
||||
<struct id="17">
|
||||
<param max="20" min="0" name="band0_delay_ms" type="float"/>
|
||||
<param default="5" max="20" min="0" minInclusive="false" name="band0_rms_ms" type="float"/>
|
||||
<param max="30" min="0" name="band0_gain_dB" type="float"/>
|
||||
<param max="30" min="-30" name="band0_Min_Gain_dB" type="float"/>
|
||||
<param default="1" max="3" min="1" name="band0_numOfKnee" type="uint32"/>
|
||||
<param name="band0_threadhold_dB" size="3" type="float"/>
|
||||
<param name="band0_compressRatio" size="4" type="float"/>
|
||||
<param name="band0_kneeWidth" size="3" type="float"/>
|
||||
<param name="band0_attackTime_ms" size="4" type="float"/>
|
||||
<param name="band0_releaseTime_ms" size="4" type="float"/>
|
||||
<param name="band0_hysteresis" size="4" type="float"/>
|
||||
<param max="20" min="0" name="band1_delay_ms" type="float"/>
|
||||
<param default="5" max="20" min="0" minInclusive="false" name="band1_rms_ms" type="float"/>
|
||||
<param max="30" min="0" name="band1_gain_dB" type="float"/>
|
||||
<param max="30" min="-30" name="band1_Min_Gain_dB" type="float"/>
|
||||
<param default="1" max="3" min="1" name="band1_numOfKnee" type="uint32"/>
|
||||
<param name="band1_threadhold_dB" size="3" type="float"/>
|
||||
<param name="band1_compressRatio" size="4" type="float"/>
|
||||
<param name="band1_kneeWidth" size="3" type="float"/>
|
||||
<param name="band1_attackTime_ms" size="4" type="float"/>
|
||||
<param name="band1_releaseTime_ms" size="4" type="float"/>
|
||||
<param name="band1_hysteresis" size="4" type="float"/>
|
||||
<param max="20" min="0" name="band2_delay_ms" type="float"/>
|
||||
<param default="5" max="20" min="0" minInclusive="false" name="band2_rms_ms" type="float"/>
|
||||
<param max="30" min="0" name="band2_gain_dB" type="float"/>
|
||||
<param max="30" min="-30" name="band2_Min_Gain_dB" type="float"/>
|
||||
<param default="1" max="3" min="1" name="band2_numOfKnee" type="uint32"/>
|
||||
<param name="band2_threadhold_dB" size="3" type="float"/>
|
||||
<param name="band2_compressRatio" size="4" type="float"/>
|
||||
<param name="band2_kneeWidth" size="3" type="float"/>
|
||||
<param name="band2_attackTime_ms" size="4" type="float"/>
|
||||
<param name="band2_releaseTime_ms" size="4" type="float"/>
|
||||
<param name="band2_hysteresis" size="4" type="float"/>
|
||||
</struct>
|
||||
<struct id="18">
|
||||
<param max="30" min="-30" name="limiter_gain_dB" type="float"/>
|
||||
<param max="0" min="-30" name="limiter_threadhold_dB" type="float"/>
|
||||
<param max="100" min="0" name="limiter_attackTime_ms" type="uint32"/>
|
||||
<param max="100" min="0" name="limiter_releaseTime_ms" type="uint32"/>
|
||||
</struct>
|
||||
<struct id="19">
|
||||
<param name="frequency0" type="uint32"/>
|
||||
<param name="frequency1" type="uint32"/>
|
||||
</struct>
|
||||
</module>
|
||||
<module id="11" name="Stationary Noise Suppression">
|
||||
<param default="1" id="0" max="3" name="opMode_" type="uint32"/>
|
||||
<param default="48000" id="1" name="fs_" type="uint32"/>
|
||||
<param default="2" id="2" name="numCh_" type="uint32"/>
|
||||
<param default="3" id="3" name="chMask_" type="uint32"/>
|
||||
<param default="1" id="16" name="strength level" type="uint32"/>
|
||||
<param id="17" name="POWER_TIME_SMOOTH" type="float"/>
|
||||
<param id="18" name="RMS_TIME_SMOOTH" type="float"/>
|
||||
<param id="19" name="LOWER_BAND_THRESHOLD" size="129" type="float"/>
|
||||
<param id="20" name="UPPER_BAND_THRESHOLD" size="3" type="float"/>
|
||||
<param id="21" name="ATTACK_TIME" type="float"/>
|
||||
<param id="22" name="RELEASE_TIME" type="float"/>
|
||||
</module>
|
||||
<module id="14" name="Linear Gain">
|
||||
<param default="1" id="0" max="3" name="opMode_" type="uint32"/>
|
||||
<param default="48000" id="1" name="fs_" type="uint32"/>
|
||||
<param default="1" id="2" name="numCh_" type="uint32"/>
|
||||
<param default="1" id="3" name="chMask_" type="uint32"/>
|
||||
<param id="16" name="Simple_gain" type="float"/>
|
||||
</module>
|
||||
<module id="17" name="Wind Noise Reduction">
|
||||
<param default="1" id="0" max="3" name="opMode_" type="uint32"/>
|
||||
<param default="48000" id="1" name="fs_" type="uint32"/>
|
||||
<param default="2" id="2" name="numCh_" type="uint32"/>
|
||||
<param default="3" id="3" name="chMask_" type="uint32"/>
|
||||
<param default="450" id="16" name="DECISION_SMOOTHING_FACTOR" type="int32"/>
|
||||
<param default="50" id="17" name="DECISION_ATTACK_SMOOTHING_FACTOR" type="int32"/>
|
||||
<param default="50" id="18" name="DECISION_RELEASE_HIGH_SMOOTHING_FACTOR" type="int32"/>
|
||||
<param default="50" id="19" name="DECISION_RELEASE_LOW_SMOOTHING_FACTOR" type="int32"/>
|
||||
<param default="700" id="20" name="DECISION_RELEASE_THRESHOLD" type="int32"/>
|
||||
<param default="0" id="21" name="DECISION_RANGE_OFFSET_FACTOR" type="int32"/>
|
||||
<param default="1000" id="22" name="DECISION_RANGE_SLOPE_FACTOR" type="int32"/>
|
||||
<param default="450" id="23" name="DECISION_GAIN_SMOOTHING_FACTOR" type="int32"/>
|
||||
<param default="27" id="24" name="DECISION_DB_RANGE" type="int32"/>
|
||||
<param default="1000" id="25" name="MASTER_REDUCTION_FACTOR" type="int32"/>
|
||||
<param default="15" id="26" name="KEEP_NUM_OF_PREV_DECISIONS" type="int32"/>
|
||||
<param default="1000" id="27" name="DEC_PRE_GAIN" type="int32"/>
|
||||
<param default="16000" id="28" name="SUP_PRE_GAIN" type="int32"/>
|
||||
<param default="2" id="29" name="COHERENCE_ENABLE" type="int32"/>
|
||||
<param default="1" id="30" name="COHERENCE_START_BIN" type="int32"/>
|
||||
<param default="10" id="31" name="COHERENCE_END_BIN" type="int32"/>
|
||||
<param default="300" id="32" name="COHERENCE_THRESHOLD" type="int32"/>
|
||||
<param default="990" id="33" name="COHERENCE_FORGETTING_FACTOR" type="int32"/>
|
||||
<param default="0" id="34" name="DB_SCALING_FACTOR" type="int32"/>
|
||||
<param default="9" id="35" name="SEP_LAYER" type="int32"/>
|
||||
<param default="1" id="36" name="SP_GAIN_ENABLE" type="int32"/>
|
||||
<param default="15" id="37" name="SP_GAIN_MAX_BIN" type="int32"/>
|
||||
<param default="500" id="38" name="SP_GAIN_MIN" type="int32"/>
|
||||
<param default="200" id="39" name="SP_GAIN_TH_MIN" type="int32"/>
|
||||
<param default="450" id="40" name="SP_GAIN_TH_MAX" type="int32"/>
|
||||
<param default="800" id="41" name="SP_GAIN_SMOOTH" type="int32"/>
|
||||
<param default="3" id="42" name="SP_GAIN_FREQ_SMOOTH" type="int32"/>
|
||||
<param default="300" id="43" name="MASTER_MAX_SUP_SMOOTHING_FACTOR" type="int32"/>
|
||||
<param default="1" id="44" name="GAIN_FREQ_SMOOTH" type="int32"/>
|
||||
<param default="2" id="45" name="GMIN_CURVE_TYPE" type="int32"/>
|
||||
<param default="55" id="46" name="GMIN_LINEAR_SPLIT_MID_POINT_BINR" type="int32"/>
|
||||
<param default="330" id="47" name="GMIN_LINEAR_SPLIT_MID_POINT_VAL" type="int32"/>
|
||||
<param default="1000" id="48" name="SP_OVERSUB_RATIO" type="int32"/>
|
||||
<param default="16" id="49" name="WIND_ENERGY_EST_COMPENSATION_GAIN" type="int32"/>
|
||||
<param default="2000" id="50" name="WIND_ENERGY_CURVE_SLOPE" type="int32"/>
|
||||
<param default="300" id="51" name="WIND_ENERGY_CURVE_OFFSET" type="int32"/>
|
||||
<param default="16000" id="52" name="WIND_ENERGY_CURVE_MIN" type="int32"/>
|
||||
<param default="16000" id="53" name="WIND_ENERGY_CURVE_MAX" type="int32"/>
|
||||
<param default="900" id="54" name="WIND_ENERGY_SMOOTHING" type="int32"/>
|
||||
<param default="144" id="55" name="WIND_ENERGY_NORM_DENOM" type="int32"/>
|
||||
<param default="600" id="56" name="WIND_ENERGY_CURVE_SCALED_TH_MIN" type="int32"/>
|
||||
<param default="900" id="57" name="WIND_ENERGY_CURVE_SCALED_TH_MAX" type="int32"/>
|
||||
<param default="1" id="58" name="ENABLE_ML_COMBI_WIND_ENERGY" type="int32"/>
|
||||
<param default="1" id="59" name="ENABLE_SP_COMBI_WIND_ENERGY" type="int32"/>
|
||||
<param default="1" id="60" name="ENALBE_SP_COMBI_OVERSUBTRACTION" type="int32"/>
|
||||
<param default="1" id="61" name="ENABLE_PRIORI_SNR" type="int32"/>
|
||||
<param default="1000" id="62" name="PRIORI_SNR_ML_TUNING" type="int32"/>
|
||||
<param default="15" id="63" name="DEC_PREV_NUM" type="int32"/>
|
||||
<param default="1" id="64" name="SSC_ENABLE" type="int32"/>
|
||||
<param default="930" id="65" name="SSC_SOFT_SMOOTHING_FACTOR" type="int32"/>
|
||||
<param default="1600" id="66" name="SSC_OVERDRIVE" type="int32"/>
|
||||
<param default="3" id="67" name="SSC_MIN_FREQ" type="int32"/>
|
||||
<param default="130" id="68" name="SSC_MAX_FREQ" type="int32"/>
|
||||
<param default="700" id="69" name="SSC_PSD_SMOOTHING_FACTOR" type="int32"/>
|
||||
<param default="12" id="70" name="SSC_SOFT_DECISION_MIN_FREQ" type="int32"/>
|
||||
<param default="450" id="71" name="SSC_SOFT_DECISION_MAX_FREQ" type="int32"/>
|
||||
<param default="5" id="72" name="SSC_KEEP_SAVED_PROB_SMOOTH_SIZE" type="int32"/>
|
||||
<param default="1000" id="73" name="GAIN_BOOSTING_COST" type="int32"/>
|
||||
</module>
|
||||
<module id="18" name="Multi Channel IIR 1">
|
||||
<param default="1" id="0" max="3" name="opMode_" type="uint32"/>
|
||||
<param default="48000" id="1" name="fs_" type="uint32"/>
|
||||
<param default="2" id="2" name="numCh_" type="uint32"/>
|
||||
<param default="3" id="3" name="chMask_" type="uint32"/>
|
||||
<param default="3" id="16" max="3" min="1" name="numOfChannel" type="uint32"/>
|
||||
<param id="17" name="coeff" size="300" type="float"/>
|
||||
<struct id="18">
|
||||
<param max="18" min="-96" name="gain" size="60" type="float"/>
|
||||
<param max="24000" min="0" name="frequency" size="60" type="uint32"/>
|
||||
<param max="200" min="0" name="qfactor" size="60" type="float"/>
|
||||
<param default="4" name="type" size="60" type="int32"/>
|
||||
</struct>
|
||||
</module>
|
||||
<module id="10000" name="Eraser">
|
||||
<param id="275" name="eraser_pre_gain" type="uint32"/>
|
||||
<param id="277" name="eraser_post_gain" type="uint32"/>
|
||||
<param id="279" name="non_eraser_gain" type="uint32"/>
|
||||
</module>
|
||||
<module id="10001" name="Cleaner">
|
||||
<param id="299" name="cleaner_post_gain" type="uint32"/>
|
||||
</module>
|
||||
<module id="10002" name="CHRE">
|
||||
<param id="297" name="chre_gain" type="uint32"/>
|
||||
</module>
|
||||
</modules>
|
||||
<signalflows>
|
||||
<signalflow id="1" name="Spatial Audio">
|
||||
<block id="128">
|
||||
<moduleRef id="18"/>
|
||||
<moduleRef id="17"/>
|
||||
</block>
|
||||
<block id="134">
|
||||
<moduleRef id="14"/>
|
||||
<moduleRef id="11"/>
|
||||
<moduleRef id="6"/>
|
||||
<moduleRef id="7"/>
|
||||
<moduleRef id="5"/>
|
||||
<moduleRef id="8"/>
|
||||
</block>
|
||||
</signalflow>
|
||||
<signalflow id="1000" name="Smart Feature">
|
||||
<block id="0">
|
||||
<moduleRef id="10000"/>
|
||||
<moduleRef id="10001"/>
|
||||
<moduleRef id="10002"/>
|
||||
</block>
|
||||
</signalflow>
|
||||
</signalflows>
|
||||
</template>
|
||||
1284
audio/tangorpro/tuning/bluenote/tuning_constraints_combination.xml
Normal file
1284
audio/tangorpro/tuning/bluenote/tuning_constraints_combination.xml
Normal file
File diff suppressed because it is too large
Load Diff
69425
audio/tangorpro/tuning/fortemedia/BLUETOOTH.mods
Normal file
69425
audio/tangorpro/tuning/fortemedia/BLUETOOTH.mods
Normal file
File diff suppressed because it is too large
Load Diff
64085
audio/tangorpro/tuning/fortemedia/HANDSET.mods
Normal file
64085
audio/tangorpro/tuning/fortemedia/HANDSET.mods
Normal file
File diff suppressed because it is too large
Load Diff
160147
audio/tangorpro/tuning/fortemedia/HANDSFREE.mods
Normal file
160147
audio/tangorpro/tuning/fortemedia/HANDSFREE.mods
Normal file
File diff suppressed because it is too large
Load Diff
120112
audio/tangorpro/tuning/fortemedia/HEADSET.mods
Normal file
120112
audio/tangorpro/tuning/fortemedia/HEADSET.mods
Normal file
File diff suppressed because it is too large
Load Diff
58
audio/tangorpro/tuning/waves/tests/test_config.ini
Normal file
58
audio/tangorpro/tuning/waves/tests/test_config.ini
Normal file
@@ -0,0 +1,58 @@
|
||||
########################################################################################################
|
||||
# (Optional) The supported features list for platform vendors to query from.
|
||||
# Platform vendors should call maxxaudio_qdsp_is_feature_supported with a string to query from the list.
|
||||
# This config has no effect in the MaxxAudioQdspHalController. It's only meaningful for platform vendors.
|
||||
# Putting any value other than 1 would be equivalent to not supported.
|
||||
########################################################################################################
|
||||
[HAL_SUPPORTED_FEATURES]
|
||||
CUSTOM_ACTION_256=1
|
||||
|
||||
########################################################################################################
|
||||
# This defined the options of supported sample rates.
|
||||
# This can be configured by Waves or platform vendor.
|
||||
########################################################################################################
|
||||
[HAL_SUPPORTED_SAMPLE_RATES]
|
||||
SR_COMMON = 48000
|
||||
|
||||
########################################################################################################
|
||||
# (Optional) The subtypes that applies to different angles(0, 90, 180, 270). Can be empty if not applicable.
|
||||
# This can be configured by Waves or platform vendor.
|
||||
########################################################################################################
|
||||
[HAL_ORIENTATION_SUBTYPES]
|
||||
OST_SPEAKER = 0:12,90:13,180:12,270:0|13
|
||||
|
||||
########################################################################################################
|
||||
# This defines available preset configurations.
|
||||
# This should be configured by Waves only unless platform vendor is familiar with MPS structure.
|
||||
########################################################################################################
|
||||
[HAL_SUPPORTED_PRESETS]
|
||||
SPEAKER_MUSIC = OM:1,SM:2,OST:OST_SPEAKER
|
||||
SPEAKER_SAFE_MUSIC = OM:10,SM:2,OST:OST_SPEAKER
|
||||
SPEAKER_SAFE_CALL = OM:10,SM:2,OST:OST_SPEAKER
|
||||
HEADSET_MUSIC = OM:2,SM:2
|
||||
|
||||
########################################################################################################
|
||||
# This defines available CONTROL configurations. Only define the CONTROL if you need it.
|
||||
# The numbers could vary from device to device.
|
||||
# This can be configured by Waves or platform vendor.
|
||||
########################################################################################################
|
||||
[HAL_SUPPORTED_CONTROLS]
|
||||
SPEAKER_INSTANCE = INSTANCE:1,DEV:0,SR:SR_COMMON,PRESET:SPEAKER_MUSIC|SPEAKER_SAFE_MUSIC|SPEAKER_SAFE_CALL
|
||||
A2DP_INSTANCE = INSTANCE:2,DEV:0,SR:SR_COMMON,PRESET:HEADSET_MUSIC
|
||||
USB_HEADPHONE_INSTANCE = INSTANCE:4,DEV:0,SR:SR_COMMON,PRESET:HEADSET_MUSIC
|
||||
|
||||
[COEFS_CONVERTER_SETTING]
|
||||
AlgFxPath=/vendor/lib/libAlgFx_HiFi3z.so
|
||||
AlgFxPath64=/vendor/lib64/libAlgFx_HiFi3z.so
|
||||
# do not modify the following if not necessary
|
||||
#AudioFormatType=0
|
||||
#AudioFormatChannels=2
|
||||
#AudioFormatSampleRate=48000
|
||||
#AudioFormatBitsPerSample=32
|
||||
#AudioFormatSampleSize=4
|
||||
#AudioFormatIncrement=8
|
||||
|
||||
[CUSTOM_ACTION_256]
|
||||
CASE_1=PRIORITY:0,NUMBERS:2:0|1,PRESET:SPEAKER_MUSIC
|
||||
CASE_2=PRIORITY:1,NUMBERS:1|2|4194304:2|3|4,PRESET:SPEAKER_SAFE_CALL
|
||||
CASE_3=PRIORITY:2,NUMBERS:1|4194304:0|1,PRESET:SPEAKER_SAFE_MUSIC
|
||||
BIN
audio/tangorpro/tuning/waves/tests/test_preset.mps
Normal file
BIN
audio/tangorpro/tuning/waves/tests/test_preset.mps
Normal file
Binary file not shown.
@@ -16,8 +16,13 @@
|
||||
#
|
||||
|
||||
# Override BQR mask to enable LE Audio Choppy report
|
||||
ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
|
||||
PRODUCT_PRODUCT_PROPERTIES += \
|
||||
persist.bluetooth.bqr.event_mask=262238
|
||||
else
|
||||
PRODUCT_PRODUCT_PROPERTIES += \
|
||||
persist.bluetooth.bqr.event_mask=94
|
||||
endif
|
||||
|
||||
# Not support LE Audio dual mic SWB call based on the current launch strategy
|
||||
PRODUCT_PRODUCT_PROPERTIES += \
|
||||
@@ -54,6 +59,11 @@ PRODUCT_PACKAGES += android.hardware.bluetooth@1.1-service.synabtlinux \
|
||||
android.hardware.bluetooth.prebuilt.xml \
|
||||
android.hardware.bluetooth_le.prebuilt.xml
|
||||
|
||||
# Bluetooth SAR test tools
|
||||
ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
|
||||
PRODUCT_PACKAGES_DEBUG += bt_sar_test
|
||||
endif
|
||||
|
||||
# Bluetooth Tx power caps
|
||||
PRODUCT_COPY_FILES += \
|
||||
device/google/tangorpro/bluetooth/bluetooth_power_limits_tangorpro.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits.csv \
|
||||
|
||||
48
cast_auth/mediadrm/Android.bp
Normal file
48
cast_auth/mediadrm/Android.bp
Normal file
@@ -0,0 +1,48 @@
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// Builds android.hardware.drm-service.castkey
|
||||
//
|
||||
package {
|
||||
// See: http://go/android-license-faq
|
||||
// A large-scale-change added 'default_applicable_licenses' to import
|
||||
// all of the 'license_kinds' from "device_google_tangorpro_license"
|
||||
// to get the below license kinds:
|
||||
// SPDX-license-identifier-Apache-2.0
|
||||
default_applicable_licenses: ["device_google_tangorpro_license"],
|
||||
}
|
||||
|
||||
cc_binary {
|
||||
name: "android.hardware.drm-service.castkey",
|
||||
defaults: ["castkey_service_defaults"],
|
||||
srcs: ["Service.cpp"],
|
||||
init_rc: ["android.hardware.drm-service.castkey.rc"],
|
||||
vintf_fragments: ["manifest_android.hardware.drm-service.castkey.xml"],
|
||||
}
|
||||
|
||||
cc_defaults {
|
||||
name: "castkey_service_defaults",
|
||||
vendor: true,
|
||||
proprietary: true,
|
||||
srcs: [
|
||||
"CreatePluginFactories.cpp",
|
||||
"DrmFactory.cpp",
|
||||
"DrmPlugin.cpp",
|
||||
"SessionLibrary.cpp",
|
||||
],
|
||||
|
||||
relative_install_path: "hw",
|
||||
|
||||
cflags: ["-Wall", "-Werror"],
|
||||
|
||||
include_dirs: [
|
||||
"device/google/tangorpro/cast_auth/mediadrm/include",
|
||||
],
|
||||
|
||||
shared_libs: [
|
||||
"android.hardware.drm-V1-ndk",
|
||||
"libbase",
|
||||
"libbinder_ndk",
|
||||
"liblog",
|
||||
"libutils",
|
||||
],
|
||||
}
|
||||
17
cast_auth/mediadrm/CreatePluginFactories.cpp
Normal file
17
cast_auth/mediadrm/CreatePluginFactories.cpp
Normal file
@@ -0,0 +1,17 @@
|
||||
#include "CreatePluginFactories.h"
|
||||
|
||||
namespace aidl {
|
||||
namespace android {
|
||||
namespace hardware {
|
||||
namespace drm {
|
||||
namespace castkey {
|
||||
|
||||
std::shared_ptr<DrmFactory> createDrmFactory() {
|
||||
return ::ndk::SharedRefBase::make<DrmFactory>();
|
||||
}
|
||||
|
||||
} // namespace castkey
|
||||
} // namespace drm
|
||||
} // namespace hardware
|
||||
} // namespace android
|
||||
} // namespace aidl
|
||||
82
cast_auth/mediadrm/DrmFactory.cpp
Normal file
82
cast_auth/mediadrm/DrmFactory.cpp
Normal file
@@ -0,0 +1,82 @@
|
||||
#define LOG_TAG "castkey-DrmFactory"
|
||||
|
||||
#include <utils/Log.h>
|
||||
|
||||
#include "DrmFactory.h"
|
||||
|
||||
#include "DrmPlugin.h"
|
||||
#include "Utils.h"
|
||||
|
||||
namespace aidl {
|
||||
namespace android {
|
||||
namespace hardware {
|
||||
namespace drm {
|
||||
namespace castkey {
|
||||
|
||||
namespace {
|
||||
|
||||
const std::array<uint8_t, 16> kCastKeyUUID{
|
||||
0xBC, 0xB4, 0x81, 0xCB, 0xA1, 0xD5, 0x42, 0xAF,
|
||||
0xB1, 0xE3, 0x7B, 0xFF, 0x14, 0x73, 0xEB, 0x85
|
||||
};
|
||||
|
||||
bool isCastKeyUUID(const uint8_t uuid[16]) {
|
||||
return !memcmp(uuid, kCastKeyUUID.data(), 16);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
using std::string;
|
||||
using std::vector;
|
||||
|
||||
using ::aidl::android::hardware::drm::Status;
|
||||
using ::aidl::android::hardware::drm::Uuid;
|
||||
using namespace castkeydrm;
|
||||
|
||||
::ndk::ScopedAStatus DrmFactory::createDrmPlugin(
|
||||
const Uuid& in_uuid, const string& in_appPackageName,
|
||||
std::shared_ptr<::aidl::android::hardware::drm::IDrmPlugin>* _aidl_return) {
|
||||
UNUSED(in_appPackageName);
|
||||
if (!isCastKeyUUID(in_uuid.uuid.data())) {
|
||||
ALOGE("Castkey Drm HAL: failed to create drm plugin, "
|
||||
"invalid crypto scheme");
|
||||
*_aidl_return = nullptr;
|
||||
return toNdkScopedAStatus(Status::BAD_VALUE);
|
||||
}
|
||||
std::shared_ptr<DrmPlugin> plugin =
|
||||
::ndk::SharedRefBase::make<DrmPlugin>();
|
||||
*_aidl_return = plugin;
|
||||
return toNdkScopedAStatus(Status::OK);
|
||||
}
|
||||
|
||||
::ndk::ScopedAStatus DrmFactory::createCryptoPlugin(
|
||||
const Uuid& in_uuid, const std::vector<uint8_t>& in_initData,
|
||||
std::shared_ptr<::aidl::android::hardware::drm::ICryptoPlugin>* _aidl_return) {
|
||||
UNUSED(in_uuid);
|
||||
UNUSED(in_initData);
|
||||
UNUSED(_aidl_return);
|
||||
return toNdkScopedAStatus(Status::ERROR_DRM_CANNOT_HANDLE);
|
||||
}
|
||||
|
||||
::ndk::ScopedAStatus DrmFactory::getSupportedCryptoSchemes(CryptoSchemes* _aidl_return) {
|
||||
CryptoSchemes schemes{};
|
||||
schemes.uuids.push_back({kCastKeyUUID});
|
||||
*_aidl_return = schemes;
|
||||
return toNdkScopedAStatus(Status::OK);
|
||||
}
|
||||
|
||||
binder_status_t DrmFactory::dump(int fd, const char** args, uint32_t numArgs) {
|
||||
UNUSED(args);
|
||||
UNUSED(numArgs);
|
||||
if (fd < 0) {
|
||||
ALOGE("%s: negative fd", __FUNCTION__);
|
||||
return STATUS_BAD_VALUE;
|
||||
}
|
||||
return STATUS_OK;
|
||||
}
|
||||
|
||||
} // namespace castkey
|
||||
} // namespace drm
|
||||
} // namespace hardware
|
||||
} // namespace android
|
||||
} // namespace aidl
|
||||
419
cast_auth/mediadrm/DrmPlugin.cpp
Normal file
419
cast_auth/mediadrm/DrmPlugin.cpp
Normal file
@@ -0,0 +1,419 @@
|
||||
#define LOG_TAG "castkey-DrmPlugin"
|
||||
|
||||
#include <utils/Log.h>
|
||||
#include <dlfcn.h>
|
||||
#include <fstream>
|
||||
#include <vector>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "Utils.h"
|
||||
#include "DrmPlugin.h"
|
||||
#include "SessionLibrary.h"
|
||||
|
||||
namespace aidl {
|
||||
namespace android {
|
||||
namespace hardware {
|
||||
namespace drm {
|
||||
namespace castkey {
|
||||
|
||||
using namespace castkeydrm;
|
||||
|
||||
DrmPlugin::DrmPlugin() {};
|
||||
DrmPlugin::~DrmPlugin() {};
|
||||
|
||||
constexpr char CAST_CRT_FILE[] = "/mnt/vendor/persist/nest/cast_auth.crt";
|
||||
constexpr char CAST_ICA_FILE[] = "/vendor/etc/cert-chain.crt";
|
||||
constexpr unsigned char kSha1Prefix[] = {0x30, 0x21, 0x30, 0x09, 0x06, 0x05, 0x2b, 0x0e,
|
||||
0x03, 0x02, 0x1a, 0x05, 0x00, 0x04, 0x14};
|
||||
constexpr unsigned char kSha256Prefix[] = {0x30, 0x31, 0x30, 0x0d, 0x06, 0x09, 0x60,
|
||||
0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02,
|
||||
0x01, 0x05, 0x00, 0x04, 0x20};
|
||||
constexpr int kSHA1Length = 20;
|
||||
constexpr int kSHA256Length = 32;
|
||||
constexpr int DigestInfoPrefixesSize = 2;
|
||||
|
||||
struct DigestInfoPrefix {
|
||||
const unsigned char* bytes;
|
||||
size_t size;
|
||||
size_t hash_size;
|
||||
};
|
||||
|
||||
// Array of DigestInfoPrefixes that are currently supported (SHA1 and SHA256).
|
||||
const DigestInfoPrefix kDigestInfoPrefixes[] = {
|
||||
{kSha1Prefix, sizeof(kSha1Prefix), kSHA1Length},
|
||||
{kSha256Prefix, sizeof(kSha256Prefix), kSHA256Length},
|
||||
};
|
||||
|
||||
// If we find a raw hash, prepend the appropriate DER prefix.
|
||||
std::vector<uint8_t> adjustHash(const std::vector<uint8_t>& hash) {
|
||||
std::vector<uint8_t> adjusted_hash(hash);
|
||||
for (size_t i = 0; i < DigestInfoPrefixesSize; i++) {
|
||||
const DigestInfoPrefix& prefix = kDigestInfoPrefixes[i];
|
||||
if (hash.size() == prefix.hash_size) {
|
||||
adjusted_hash.insert(adjusted_hash.begin(), prefix.bytes,
|
||||
&prefix.bytes[prefix.size]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return adjusted_hash;
|
||||
}
|
||||
|
||||
std::vector<uint8_t> readBinaryFile(const std::string& file_path) {
|
||||
std::ifstream fin(file_path, std::ios::in | std::ios::binary);
|
||||
fin >> std::noskipws;
|
||||
std::vector<uint8_t> buffer((std::istream_iterator<uint8_t>(fin)),
|
||||
std::istream_iterator<uint8_t>());
|
||||
return buffer;
|
||||
}
|
||||
|
||||
::ndk::ScopedAStatus DrmPlugin::openSession(
|
||||
::aidl::android::hardware::drm::SecurityLevel in_securityLevel,
|
||||
std::vector<uint8_t>* _aidl_return) {
|
||||
UNUSED(in_securityLevel);
|
||||
std::vector<uint8_t> sessionId = SessionLibrary::get()->createSession();
|
||||
*_aidl_return = sessionId;
|
||||
return toNdkScopedAStatus(Status::OK);
|
||||
}
|
||||
|
||||
::ndk::ScopedAStatus DrmPlugin::closeSession(const std::vector<uint8_t>& in_sessionId) {
|
||||
if (in_sessionId.size() == 0) {
|
||||
return toNdkScopedAStatus(Status::BAD_VALUE);
|
||||
}
|
||||
SessionLibrary::get()->closeSession(in_sessionId);
|
||||
return toNdkScopedAStatus(Status::OK);
|
||||
}
|
||||
|
||||
::ndk::ScopedAStatus DrmPlugin::getPropertyByteArray(const std::string& in_propertyName,
|
||||
std::vector<uint8_t>* _aidl_return) {
|
||||
Status status = Status::OK;
|
||||
std::string name(in_propertyName.c_str());
|
||||
std::vector<uint8_t> value;
|
||||
if (name == "castcert") {
|
||||
std::vector<uint8_t> device_cert = readBinaryFile(CAST_CRT_FILE);
|
||||
std::vector<uint8_t> ica = readBinaryFile(CAST_ICA_FILE);
|
||||
value = std::move(device_cert);
|
||||
value.insert(value.end(), ica.begin(), ica.end());
|
||||
} else {
|
||||
status = Status::ERROR_DRM_CANNOT_HANDLE;
|
||||
ALOGE("Unsupported Property: %s", in_propertyName.c_str());
|
||||
}
|
||||
*_aidl_return = value;
|
||||
return toNdkScopedAStatus(status);
|
||||
}
|
||||
|
||||
::ndk::ScopedAStatus DrmPlugin::signRSA(const std::vector<uint8_t>& in_sessionId,
|
||||
const std::string& in_algorithm,
|
||||
const std::vector<uint8_t>& in_message,
|
||||
const std::vector<uint8_t>& in_wrappedkey,
|
||||
std::vector<uint8_t>* _aidl_return) {
|
||||
if (in_sessionId.size() == 0 || in_message.size() == 0) {
|
||||
return toNdkScopedAStatus(Status::BAD_VALUE);
|
||||
}
|
||||
UNUSED(in_algorithm);
|
||||
UNUSED(in_wrappedkey);
|
||||
Status status = Status::ERROR_DRM_CANNOT_HANDLE;
|
||||
std::vector<uint8_t> signature;
|
||||
*_aidl_return = std::vector<uint8_t>();
|
||||
void* cast_auth_handle = ::dlopen("libcast_auth.so", RTLD_LAZY);
|
||||
if (!cast_auth_handle) {
|
||||
ALOGE("Fail to get TA for signing");
|
||||
return toNdkScopedAStatus(status);
|
||||
}
|
||||
typedef bool (*func_type)(const std::vector<uint8_t>&,
|
||||
std::vector<uint8_t>*);
|
||||
func_type sign_hash_func =
|
||||
reinterpret_cast<func_type>(::dlsym(cast_auth_handle, "SignHash"));
|
||||
if (!sign_hash_func) {
|
||||
ALOGE("Fail to apply signing method");
|
||||
dlclose(cast_auth_handle);
|
||||
return toNdkScopedAStatus(status);
|
||||
}
|
||||
const std::vector<uint8_t> msg = adjustHash(in_message);
|
||||
int res = sign_hash_func(msg, &signature);
|
||||
dlclose(cast_auth_handle);
|
||||
if (res == 0) {
|
||||
*_aidl_return = signature;
|
||||
return toNdkScopedAStatus(Status::OK);
|
||||
}
|
||||
ALOGE("Get empty result from TA");
|
||||
return toNdkScopedAStatus(status);
|
||||
}
|
||||
|
||||
::ndk::ScopedAStatus DrmPlugin::decrypt(const std::vector<uint8_t>& in_sessionId,
|
||||
const std::vector<uint8_t>& in_keyId,
|
||||
const std::vector<uint8_t>& in_input,
|
||||
const std::vector<uint8_t>& in_iv,
|
||||
std::vector<uint8_t>* _aidl_return) {
|
||||
UNUSED(in_sessionId);
|
||||
UNUSED(in_keyId);
|
||||
UNUSED(in_input);
|
||||
UNUSED(in_iv);
|
||||
UNUSED(_aidl_return);
|
||||
return toNdkScopedAStatus(Status::ERROR_DRM_CANNOT_HANDLE);
|
||||
}
|
||||
|
||||
::ndk::ScopedAStatus DrmPlugin::encrypt(const std::vector<uint8_t>& in_sessionId,
|
||||
const std::vector<uint8_t>& in_keyId,
|
||||
const std::vector<uint8_t>& in_input,
|
||||
const std::vector<uint8_t>& in_iv,
|
||||
std::vector<uint8_t>* _aidl_return) {
|
||||
UNUSED(in_sessionId);
|
||||
UNUSED(in_keyId);
|
||||
UNUSED(in_input);
|
||||
UNUSED(in_iv);
|
||||
UNUSED(_aidl_return);
|
||||
return toNdkScopedAStatus(Status::ERROR_DRM_CANNOT_HANDLE);
|
||||
}
|
||||
|
||||
::ndk::ScopedAStatus DrmPlugin::getHdcpLevels(
|
||||
::aidl::android::hardware::drm::HdcpLevels* _aidl_return) {
|
||||
UNUSED(_aidl_return);
|
||||
return toNdkScopedAStatus(Status::ERROR_DRM_CANNOT_HANDLE);
|
||||
}
|
||||
|
||||
::ndk::ScopedAStatus DrmPlugin::getKeyRequest(
|
||||
const std::vector<uint8_t>& in_scope,
|
||||
const std::vector<uint8_t>& in_initData,
|
||||
const std::string& in_mimeType,
|
||||
::aidl::android::hardware::drm::KeyType in_keyType,
|
||||
const std::vector<::aidl::android::hardware::drm::KeyValue>& in_optionalParameters,
|
||||
::aidl::android::hardware::drm::KeyRequest* _aidl_return) {
|
||||
UNUSED(in_scope);
|
||||
UNUSED(in_initData);
|
||||
UNUSED(in_mimeType);
|
||||
UNUSED(in_keyType);
|
||||
UNUSED(in_optionalParameters);
|
||||
UNUSED(_aidl_return);
|
||||
return toNdkScopedAStatus(Status::ERROR_DRM_CANNOT_HANDLE);
|
||||
}
|
||||
|
||||
::ndk::ScopedAStatus DrmPlugin::getLogMessages(
|
||||
std::vector<::aidl::android::hardware::drm::LogMessage>* _aidl_return) {
|
||||
UNUSED(_aidl_return);
|
||||
return toNdkScopedAStatus(Status::ERROR_DRM_CANNOT_HANDLE);
|
||||
}
|
||||
|
||||
::ndk::ScopedAStatus DrmPlugin::getMetrics(
|
||||
std::vector<::aidl::android::hardware::drm::DrmMetricGroup>* _aidl_return) {
|
||||
UNUSED(_aidl_return);
|
||||
return toNdkScopedAStatus(Status::ERROR_DRM_CANNOT_HANDLE);
|
||||
}
|
||||
|
||||
::ndk::ScopedAStatus DrmPlugin::getNumberOfSessions(
|
||||
::aidl::android::hardware::drm::NumberOfSessions* _aidl_return) {
|
||||
UNUSED(_aidl_return);
|
||||
return toNdkScopedAStatus(Status::ERROR_DRM_CANNOT_HANDLE);
|
||||
}
|
||||
|
||||
::ndk::ScopedAStatus DrmPlugin::getOfflineLicenseKeySetIds(
|
||||
std::vector<::aidl::android::hardware::drm::KeySetId>* _aidl_return) {
|
||||
UNUSED(_aidl_return);
|
||||
return toNdkScopedAStatus(Status::ERROR_DRM_CANNOT_HANDLE);
|
||||
}
|
||||
|
||||
::ndk::ScopedAStatus DrmPlugin::getOfflineLicenseState(
|
||||
const ::aidl::android::hardware::drm::KeySetId& in_keySetId,
|
||||
::aidl::android::hardware::drm::OfflineLicenseState* _aidl_return) {
|
||||
UNUSED(in_keySetId);
|
||||
UNUSED(_aidl_return);
|
||||
return toNdkScopedAStatus(Status::ERROR_DRM_CANNOT_HANDLE);
|
||||
}
|
||||
|
||||
::ndk::ScopedAStatus DrmPlugin::getPropertyString(const std::string& in_propertyName,
|
||||
std::string* _aidl_return) {
|
||||
UNUSED(in_propertyName);
|
||||
UNUSED(_aidl_return);
|
||||
return toNdkScopedAStatus(Status::ERROR_DRM_CANNOT_HANDLE);
|
||||
}
|
||||
|
||||
::ndk::ScopedAStatus DrmPlugin::getProvisionRequest(
|
||||
const std::string& in_certificateType,
|
||||
const std::string& in_certificateAuthority,
|
||||
::aidl::android::hardware::drm::ProvisionRequest* _aidl_return) {
|
||||
UNUSED(in_certificateType);
|
||||
UNUSED(in_certificateAuthority);
|
||||
UNUSED(_aidl_return);
|
||||
return toNdkScopedAStatus(Status::ERROR_DRM_CANNOT_HANDLE);
|
||||
}
|
||||
|
||||
::ndk::ScopedAStatus DrmPlugin::getSecureStop(
|
||||
const ::aidl::android::hardware::drm::SecureStopId& in_secureStopId,
|
||||
::aidl::android::hardware::drm::SecureStop* _aidl_return) {
|
||||
UNUSED(in_secureStopId);
|
||||
UNUSED(_aidl_return);
|
||||
return toNdkScopedAStatus(Status::ERROR_DRM_CANNOT_HANDLE);
|
||||
}
|
||||
|
||||
::ndk::ScopedAStatus DrmPlugin::getSecureStopIds(
|
||||
std::vector<::aidl::android::hardware::drm::SecureStopId>* _aidl_return) {
|
||||
UNUSED(_aidl_return);
|
||||
return toNdkScopedAStatus(Status::ERROR_DRM_CANNOT_HANDLE);
|
||||
}
|
||||
|
||||
::ndk::ScopedAStatus DrmPlugin::getSecureStops(
|
||||
std::vector<::aidl::android::hardware::drm::SecureStop>* _aidl_return) {
|
||||
UNUSED(_aidl_return);
|
||||
return toNdkScopedAStatus(Status::ERROR_DRM_CANNOT_HANDLE);
|
||||
}
|
||||
|
||||
::ndk::ScopedAStatus DrmPlugin::getSecurityLevel(
|
||||
const std::vector<uint8_t>& in_sessionId,
|
||||
::aidl::android::hardware::drm::SecurityLevel* _aidl_return) {
|
||||
UNUSED(in_sessionId);
|
||||
UNUSED(_aidl_return);
|
||||
return toNdkScopedAStatus(Status::ERROR_DRM_CANNOT_HANDLE);
|
||||
}
|
||||
|
||||
::ndk::ScopedAStatus DrmPlugin::provideKeyResponse(
|
||||
const std::vector<uint8_t>& in_scope,
|
||||
const std::vector<uint8_t>& in_response,
|
||||
::aidl::android::hardware::drm::KeySetId* _aidl_return) {
|
||||
UNUSED(in_scope);
|
||||
UNUSED(in_response);
|
||||
UNUSED(_aidl_return);
|
||||
return toNdkScopedAStatus(Status::ERROR_DRM_CANNOT_HANDLE);
|
||||
}
|
||||
|
||||
::ndk::ScopedAStatus DrmPlugin::provideProvisionResponse(
|
||||
const std::vector<uint8_t>& in_response,
|
||||
::aidl::android::hardware::drm::ProvideProvisionResponseResult* _aidl_return) {
|
||||
UNUSED(in_response);
|
||||
UNUSED(_aidl_return);
|
||||
return toNdkScopedAStatus(Status::ERROR_DRM_CANNOT_HANDLE);
|
||||
}
|
||||
|
||||
::ndk::ScopedAStatus DrmPlugin::queryKeyStatus(
|
||||
const std::vector<uint8_t>& in_sessionId,
|
||||
std::vector<::aidl::android::hardware::drm::KeyValue>* _aidl_return) {
|
||||
UNUSED(in_sessionId);
|
||||
UNUSED(_aidl_return);
|
||||
return toNdkScopedAStatus(Status::ERROR_DRM_CANNOT_HANDLE);
|
||||
}
|
||||
|
||||
::ndk::ScopedAStatus DrmPlugin::releaseAllSecureStops() {
|
||||
return toNdkScopedAStatus(Status::ERROR_DRM_CANNOT_HANDLE);
|
||||
}
|
||||
|
||||
::ndk::ScopedAStatus DrmPlugin::releaseSecureStop(
|
||||
const ::aidl::android::hardware::drm::SecureStopId& in_secureStopId) {
|
||||
UNUSED(in_secureStopId);
|
||||
return toNdkScopedAStatus(Status::ERROR_DRM_CANNOT_HANDLE);
|
||||
}
|
||||
|
||||
::ndk::ScopedAStatus DrmPlugin::releaseSecureStops(
|
||||
const ::aidl::android::hardware::drm::OpaqueData& in_ssRelease) {
|
||||
UNUSED(in_ssRelease);
|
||||
return toNdkScopedAStatus(Status::ERROR_DRM_CANNOT_HANDLE);
|
||||
}
|
||||
|
||||
::ndk::ScopedAStatus DrmPlugin::removeAllSecureStops() {
|
||||
return toNdkScopedAStatus(Status::ERROR_DRM_CANNOT_HANDLE);
|
||||
}
|
||||
|
||||
::ndk::ScopedAStatus DrmPlugin::removeKeys(const std::vector<uint8_t>& in_sessionId) {
|
||||
UNUSED(in_sessionId);
|
||||
return toNdkScopedAStatus(Status::ERROR_DRM_CANNOT_HANDLE);
|
||||
}
|
||||
|
||||
::ndk::ScopedAStatus DrmPlugin::removeOfflineLicense(
|
||||
const ::aidl::android::hardware::drm::KeySetId& in_keySetId) {
|
||||
UNUSED(in_keySetId);
|
||||
return toNdkScopedAStatus(Status::ERROR_DRM_CANNOT_HANDLE);
|
||||
}
|
||||
|
||||
::ndk::ScopedAStatus DrmPlugin::removeSecureStop(
|
||||
const ::aidl::android::hardware::drm::SecureStopId& in_secureStopId) {
|
||||
UNUSED(in_secureStopId);
|
||||
return toNdkScopedAStatus(Status::ERROR_DRM_CANNOT_HANDLE);
|
||||
}
|
||||
|
||||
::ndk::ScopedAStatus DrmPlugin::requiresSecureDecoder(
|
||||
const std::string& in_mime,
|
||||
::aidl::android::hardware::drm::SecurityLevel in_level,
|
||||
bool* _aidl_return) {
|
||||
UNUSED(in_mime);
|
||||
UNUSED(in_level);
|
||||
UNUSED(_aidl_return);
|
||||
return toNdkScopedAStatus(Status::ERROR_DRM_CANNOT_HANDLE);
|
||||
}
|
||||
|
||||
::ndk::ScopedAStatus DrmPlugin::restoreKeys(
|
||||
const std::vector<uint8_t>& in_sessionId,
|
||||
const ::aidl::android::hardware::drm::KeySetId& in_keySetId) {
|
||||
UNUSED(in_sessionId);
|
||||
UNUSED(in_keySetId);
|
||||
return toNdkScopedAStatus(Status::ERROR_DRM_CANNOT_HANDLE);
|
||||
}
|
||||
|
||||
::ndk::ScopedAStatus DrmPlugin::setCipherAlgorithm(const std::vector<uint8_t>& in_sessionId,
|
||||
const std::string& in_algorithm) {
|
||||
UNUSED(in_sessionId);
|
||||
UNUSED(in_algorithm);
|
||||
return toNdkScopedAStatus(Status::ERROR_DRM_CANNOT_HANDLE);
|
||||
}
|
||||
|
||||
::ndk::ScopedAStatus DrmPlugin::setListener(
|
||||
const std::shared_ptr<::aidl::android::hardware::drm::IDrmPluginListener>&
|
||||
in_listener) {
|
||||
UNUSED(in_listener);
|
||||
return toNdkScopedAStatus(Status::OK);
|
||||
}
|
||||
|
||||
::ndk::ScopedAStatus DrmPlugin::setMacAlgorithm(const std::vector<uint8_t>& in_sessionId,
|
||||
const std::string& in_algorithm) {
|
||||
UNUSED(in_sessionId);
|
||||
UNUSED(in_algorithm);
|
||||
return toNdkScopedAStatus(Status::ERROR_DRM_CANNOT_HANDLE);
|
||||
}
|
||||
|
||||
::ndk::ScopedAStatus DrmPlugin::setPlaybackId(const std::vector<uint8_t>& in_sessionId,
|
||||
const std::string& in_playbackId) {
|
||||
UNUSED(in_sessionId);
|
||||
UNUSED(in_playbackId);
|
||||
return toNdkScopedAStatus(Status::ERROR_DRM_CANNOT_HANDLE);
|
||||
}
|
||||
|
||||
::ndk::ScopedAStatus DrmPlugin::setPropertyByteArray(const std::string& in_propertyName,
|
||||
const std::vector<uint8_t>& in_value) {
|
||||
UNUSED(in_propertyName);
|
||||
UNUSED(in_value);
|
||||
return toNdkScopedAStatus(Status::ERROR_DRM_CANNOT_HANDLE);
|
||||
}
|
||||
|
||||
::ndk::ScopedAStatus DrmPlugin::setPropertyString(const std::string& in_propertyName,
|
||||
const std::string& in_value) {
|
||||
UNUSED(in_propertyName);
|
||||
UNUSED(in_value);
|
||||
return toNdkScopedAStatus(Status::ERROR_DRM_CANNOT_HANDLE);
|
||||
}
|
||||
|
||||
::ndk::ScopedAStatus DrmPlugin::sign(const std::vector<uint8_t>& in_sessionId,
|
||||
const std::vector<uint8_t>& in_keyId,
|
||||
const std::vector<uint8_t>& in_message,
|
||||
std::vector<uint8_t>* _aidl_return) {
|
||||
UNUSED(in_sessionId);
|
||||
UNUSED(in_keyId);
|
||||
UNUSED(in_message);
|
||||
UNUSED(_aidl_return);
|
||||
return toNdkScopedAStatus(Status::ERROR_DRM_CANNOT_HANDLE);
|
||||
}
|
||||
|
||||
::ndk::ScopedAStatus DrmPlugin::verify(const std::vector<uint8_t>& in_sessionId,
|
||||
const std::vector<uint8_t>& in_keyId,
|
||||
const std::vector<uint8_t>& in_message,
|
||||
const std::vector<uint8_t>& in_signature,
|
||||
bool* _aidl_return) {
|
||||
UNUSED(in_sessionId);
|
||||
UNUSED(in_keyId);
|
||||
UNUSED(in_message);
|
||||
UNUSED(in_signature);
|
||||
UNUSED(_aidl_return);
|
||||
return toNdkScopedAStatus(Status::ERROR_DRM_CANNOT_HANDLE);
|
||||
}
|
||||
|
||||
|
||||
} // namespace castkey
|
||||
} // namespace drm
|
||||
} // namespace hardware
|
||||
} // namespace android
|
||||
} // namespace aidl
|
||||
23
cast_auth/mediadrm/Service.cpp
Normal file
23
cast_auth/mediadrm/Service.cpp
Normal file
@@ -0,0 +1,23 @@
|
||||
#define LOG_TAG "castkey-main"
|
||||
|
||||
#include <android-base/logging.h>
|
||||
#include <android/binder_manager.h>
|
||||
#include <android/binder_process.h>
|
||||
#include "CreatePluginFactories.h"
|
||||
|
||||
using ::android::base::InitLogging;
|
||||
using ::android::base::LogdLogger;
|
||||
using ::aidl::android::hardware::drm::castkey::createDrmFactory;
|
||||
using ::aidl::android::hardware::drm::castkey::DrmFactory;
|
||||
|
||||
int main(int /*argc*/, char* argv[]) {
|
||||
InitLogging(argv, LogdLogger());
|
||||
ABinderProcess_setThreadPoolMaxThreadCount(8);
|
||||
std::shared_ptr<DrmFactory> drmFactory = createDrmFactory();
|
||||
const std::string drmInstance = std::string() + DrmFactory::descriptor + "/castkey";
|
||||
binder_status_t status =
|
||||
AServiceManager_addService(drmFactory->asBinder().get(), drmInstance.c_str());
|
||||
CHECK(status == STATUS_OK);
|
||||
ABinderProcess_joinThreadPool();
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
39
cast_auth/mediadrm/SessionLibrary.cpp
Normal file
39
cast_auth/mediadrm/SessionLibrary.cpp
Normal file
@@ -0,0 +1,39 @@
|
||||
#include "SessionLibrary.h"
|
||||
|
||||
#include <algorithm>
|
||||
#include <string>
|
||||
|
||||
namespace castkeydrm {
|
||||
|
||||
std::mutex SessionLibrary::singleton_lock_;
|
||||
SessionLibrary* SessionLibrary::singleton_ = NULL;
|
||||
|
||||
SessionLibrary* SessionLibrary::get() {
|
||||
std::lock_guard<std::mutex> guard(singleton_lock_);
|
||||
|
||||
if (singleton_ == NULL) {
|
||||
singleton_ = new SessionLibrary();
|
||||
}
|
||||
|
||||
return singleton_;
|
||||
}
|
||||
|
||||
std::vector<uint8_t> SessionLibrary::createSession() {
|
||||
std::lock_guard<std::mutex> guard(session_lock_);
|
||||
|
||||
std::string session_string = std::to_string(next_session_id_);
|
||||
next_session_id_ += 1;
|
||||
sessions_.emplace_back(session_string.begin(), session_string.end());
|
||||
return sessions_.back();
|
||||
}
|
||||
|
||||
void SessionLibrary::closeSession(const std::vector<uint8_t>& session) {
|
||||
std::lock_guard<std::mutex> guard(session_lock_);
|
||||
sessions_.erase(std::remove_if(sessions_.begin(), sessions_.end(),
|
||||
[&session](const std::vector<uint8_t>& e) {
|
||||
return std::equal(e.begin(), e.end(), session.begin());
|
||||
}),
|
||||
sessions_.end());
|
||||
}
|
||||
|
||||
} // namespace castkeydrm
|
||||
@@ -0,0 +1,6 @@
|
||||
service vendor.drm-castkey-service /vendor/bin/hw/android.hardware.drm-service.castkey
|
||||
class hal
|
||||
user media
|
||||
group mediadrm drmrpc
|
||||
ioprio rt 4
|
||||
interface aidl android.hardware.drm.IDrmFactory/castkey
|
||||
48
cast_auth/mediadrm/include/CastKeyTypes.h
Normal file
48
cast_auth/mediadrm/include/CastKeyTypes.h
Normal file
@@ -0,0 +1,48 @@
|
||||
#ifndef CASTKEY_TYPES_H_
|
||||
#define CASTKEY_TYPES_H_
|
||||
|
||||
#include <cstdint>
|
||||
#include <map>
|
||||
#include <vector>
|
||||
|
||||
namespace castkeydrm {
|
||||
|
||||
const uint8_t kBlockSize = 16; // AES_BLOCK_SIZE;
|
||||
typedef uint8_t KeyId[kBlockSize];
|
||||
typedef uint8_t Iv[kBlockSize];
|
||||
|
||||
typedef std::map<std::vector<uint8_t>, std::vector<uint8_t>> KeyMap;
|
||||
|
||||
#define CASTKEY_DISALLOW_COPY_AND_ASSIGN(TypeName) \
|
||||
TypeName(const TypeName&) = delete; \
|
||||
void operator=(const TypeName&) = delete;
|
||||
|
||||
#define CASTKEY_DISALLOW_COPY_AND_ASSIGN_AND_NEW(TypeName) \
|
||||
TypeName() = delete; \
|
||||
TypeName(const TypeName&) = delete; \
|
||||
void operator=(const TypeName&) = delete;
|
||||
|
||||
enum CdmResponseType : int32_t {
|
||||
OK = 0,
|
||||
ERROR_NO_LICENSE = 1,
|
||||
ERROR_SESSION_NOT_OPENED = 3,
|
||||
ERROR_CANNOT_HANDLE = 4,
|
||||
ERROR_INVALID_STATE = 5,
|
||||
BAD_VALUE = 6,
|
||||
ERROR_DECRYPT = 11,
|
||||
ERROR_UNKNOWN = 12,
|
||||
ERROR_INSUFFICIENT_SECURITY = 13,
|
||||
ERROR_FRAME_TOO_LARGE = 14,
|
||||
ERROR_SESSION_LOST_STATE = 15,
|
||||
ERROR_RESOURCE_CONTENTION = 16,
|
||||
};
|
||||
|
||||
enum CdmKeyType : int32_t {
|
||||
KEY_TYPE_OFFLINE = 0,
|
||||
KEY_TYPE_STREAMING = 1,
|
||||
KEY_TYPE_RELEASE = 2,
|
||||
};
|
||||
|
||||
} // namespace castkeydrm
|
||||
|
||||
#endif // CASTKEY_TYPES_H_
|
||||
20
cast_auth/mediadrm/include/CreatePluginFactories.h
Normal file
20
cast_auth/mediadrm/include/CreatePluginFactories.h
Normal file
@@ -0,0 +1,20 @@
|
||||
#ifndef CREATE_PLUGIN_FACTORIES_H_
|
||||
#define CREATE_PLUGIN_FACTORIES_H_
|
||||
|
||||
#include "DrmFactory.h"
|
||||
|
||||
namespace aidl {
|
||||
namespace android {
|
||||
namespace hardware {
|
||||
namespace drm {
|
||||
namespace castkey {
|
||||
|
||||
std::shared_ptr<DrmFactory> createDrmFactory();
|
||||
|
||||
} // namespace castkey
|
||||
} // namespace drm
|
||||
} // namespace hardware
|
||||
} // namespace android
|
||||
} // namespace aidl
|
||||
|
||||
#endif // CREATE_PLUGIN_FACTORIES_H_
|
||||
50
cast_auth/mediadrm/include/DrmFactory.h
Normal file
50
cast_auth/mediadrm/include/DrmFactory.h
Normal file
@@ -0,0 +1,50 @@
|
||||
#ifndef DRM_FACTORY_H_
|
||||
#define DRM_FACTORY_H_
|
||||
|
||||
#include <aidl/android/hardware/drm/BnDrmFactory.h>
|
||||
#include <aidl/android/hardware/drm/IDrmFactory.h>
|
||||
#include <aidl/android/hardware/drm/IDrmPlugin.h>
|
||||
#include <aidl/android/hardware/drm/ICryptoPlugin.h>
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include "CastKeyTypes.h"
|
||||
|
||||
namespace aidl {
|
||||
namespace android {
|
||||
namespace hardware {
|
||||
namespace drm {
|
||||
namespace castkey {
|
||||
|
||||
struct DrmFactory : public BnDrmFactory {
|
||||
DrmFactory() {};
|
||||
virtual ~DrmFactory() {};
|
||||
|
||||
::ndk::ScopedAStatus createDrmPlugin(
|
||||
const ::aidl::android::hardware::drm::Uuid& in_uuid,
|
||||
const std::string& in_appPackageName,
|
||||
std::shared_ptr<::aidl::android::hardware::drm::IDrmPlugin>* _aidl_return) override;
|
||||
|
||||
::ndk::ScopedAStatus createCryptoPlugin(
|
||||
const ::aidl::android::hardware::drm::Uuid& in_uuid,
|
||||
const std::vector<uint8_t>& in_initData,
|
||||
std::shared_ptr<::aidl::android::hardware::drm::ICryptoPlugin>* _aidl_return) override;
|
||||
|
||||
::ndk::ScopedAStatus getSupportedCryptoSchemes(
|
||||
::aidl::android::hardware::drm::CryptoSchemes* _aidl_return) override;
|
||||
|
||||
binder_status_t dump(int fd, const char** args, uint32_t numArgs) override;
|
||||
|
||||
|
||||
private:
|
||||
CASTKEY_DISALLOW_COPY_AND_ASSIGN(DrmFactory);
|
||||
};
|
||||
|
||||
} // namespace castkey
|
||||
} // namespace drm
|
||||
} // namespace hardware
|
||||
} // namespace android
|
||||
} // namespace aidl
|
||||
|
||||
#endif // DRM_FACTORIES_H_
|
||||
143
cast_auth/mediadrm/include/DrmPlugin.h
Normal file
143
cast_auth/mediadrm/include/DrmPlugin.h
Normal file
@@ -0,0 +1,143 @@
|
||||
#ifndef DRM_PLUGIN_H_
|
||||
#define DRM_PLUGIN_H_
|
||||
|
||||
#include <aidl/android/hardware/drm/BnDrmPlugin.h>
|
||||
#include <aidl/android/hardware/drm/IDrmPluginListener.h>
|
||||
#include <aidl/android/hardware/drm/Status.h>
|
||||
|
||||
#include <stdio.h>
|
||||
#include <map>
|
||||
|
||||
#include <utils/List.h>
|
||||
|
||||
namespace aidl {
|
||||
namespace android {
|
||||
namespace hardware {
|
||||
namespace drm {
|
||||
namespace castkey {
|
||||
|
||||
using namespace castkeydrm;
|
||||
using ::aidl::android::hardware::drm::KeyType;
|
||||
using ::aidl::android::hardware::drm::Status;
|
||||
|
||||
struct DrmPlugin : public BnDrmPlugin {
|
||||
public:
|
||||
explicit DrmPlugin();
|
||||
virtual ~DrmPlugin();
|
||||
|
||||
::ndk::ScopedAStatus closeSession(const std::vector<uint8_t>& in_sessionId) override;
|
||||
::ndk::ScopedAStatus decrypt(const std::vector<uint8_t>& in_sessionId,
|
||||
const std::vector<uint8_t>& in_keyId,
|
||||
const std::vector<uint8_t>& in_input,
|
||||
const std::vector<uint8_t>& in_iv,
|
||||
std::vector<uint8_t>* _aidl_return) override;
|
||||
::ndk::ScopedAStatus encrypt(const std::vector<uint8_t>& in_sessionId,
|
||||
const std::vector<uint8_t>& in_keyId,
|
||||
const std::vector<uint8_t>& in_input,
|
||||
const std::vector<uint8_t>& in_iv,
|
||||
std::vector<uint8_t>* _aidl_return) override;
|
||||
::ndk::ScopedAStatus getHdcpLevels(
|
||||
::aidl::android::hardware::drm::HdcpLevels* _aidl_return) override;
|
||||
::ndk::ScopedAStatus getKeyRequest(
|
||||
const std::vector<uint8_t>& in_scope,
|
||||
const std::vector<uint8_t>& in_initData,
|
||||
const std::string& in_mimeType,
|
||||
::aidl::android::hardware::drm::KeyType in_keyType,
|
||||
const std::vector<::aidl::android::hardware::drm::KeyValue>& in_optionalParameters,
|
||||
::aidl::android::hardware::drm::KeyRequest* _aidl_return) override;
|
||||
::ndk::ScopedAStatus getLogMessages(
|
||||
std::vector<::aidl::android::hardware::drm::LogMessage>* _aidl_return) override;
|
||||
|
||||
::ndk::ScopedAStatus getMetrics(
|
||||
std::vector<::aidl::android::hardware::drm::DrmMetricGroup>* _aidl_return) override;
|
||||
::ndk::ScopedAStatus getNumberOfSessions(
|
||||
::aidl::android::hardware::drm::NumberOfSessions* _aidl_return) override;
|
||||
::ndk::ScopedAStatus getOfflineLicenseKeySetIds(
|
||||
std::vector<::aidl::android::hardware::drm::KeySetId>* _aidl_return) override;
|
||||
::ndk::ScopedAStatus getOfflineLicenseState(
|
||||
const ::aidl::android::hardware::drm::KeySetId& in_keySetId,
|
||||
::aidl::android::hardware::drm::OfflineLicenseState* _aidl_return) override;
|
||||
::ndk::ScopedAStatus getPropertyByteArray(const std::string& in_propertyName,
|
||||
std::vector<uint8_t>* _aidl_return) override;
|
||||
::ndk::ScopedAStatus getPropertyString(const std::string& in_propertyName,
|
||||
std::string* _aidl_return) override;
|
||||
::ndk::ScopedAStatus getProvisionRequest(
|
||||
const std::string& in_certificateType,
|
||||
const std::string& in_certificateAuthority,
|
||||
::aidl::android::hardware::drm::ProvisionRequest* _aidl_return) override;
|
||||
::ndk::ScopedAStatus getSecureStop(
|
||||
const ::aidl::android::hardware::drm::SecureStopId& in_secureStopId,
|
||||
::aidl::android::hardware::drm::SecureStop* _aidl_return) override;
|
||||
::ndk::ScopedAStatus getSecureStopIds(
|
||||
std::vector<::aidl::android::hardware::drm::SecureStopId>* _aidl_return) override;
|
||||
::ndk::ScopedAStatus getSecureStops(
|
||||
std::vector<::aidl::android::hardware::drm::SecureStop>* _aidl_return) override;
|
||||
::ndk::ScopedAStatus getSecurityLevel(
|
||||
const std::vector<uint8_t>& in_sessionId,
|
||||
::aidl::android::hardware::drm::SecurityLevel* _aidl_return) override;
|
||||
::ndk::ScopedAStatus openSession(::aidl::android::hardware::drm::SecurityLevel in_securityLevel,
|
||||
std::vector<uint8_t>* _aidl_return) override;
|
||||
::ndk::ScopedAStatus provideKeyResponse(
|
||||
const std::vector<uint8_t>& in_scope,
|
||||
const std::vector<uint8_t>& in_response,
|
||||
::aidl::android::hardware::drm::KeySetId* _aidl_return) override;
|
||||
::ndk::ScopedAStatus provideProvisionResponse(
|
||||
const std::vector<uint8_t>& in_response,
|
||||
::aidl::android::hardware::drm::ProvideProvisionResponseResult* _aidl_return) override;
|
||||
::ndk::ScopedAStatus queryKeyStatus(
|
||||
const std::vector<uint8_t>& in_sessionId,
|
||||
std::vector<::aidl::android::hardware::drm::KeyValue>* _aidl_return) override;
|
||||
::ndk::ScopedAStatus releaseAllSecureStops() override;
|
||||
::ndk::ScopedAStatus releaseSecureStop(
|
||||
const ::aidl::android::hardware::drm::SecureStopId& in_secureStopId) override;
|
||||
::ndk::ScopedAStatus releaseSecureStops(
|
||||
const ::aidl::android::hardware::drm::OpaqueData& in_ssRelease) override;
|
||||
::ndk::ScopedAStatus removeAllSecureStops() override;
|
||||
::ndk::ScopedAStatus removeKeys(const std::vector<uint8_t>& in_sessionId) override;
|
||||
::ndk::ScopedAStatus removeOfflineLicense(
|
||||
const ::aidl::android::hardware::drm::KeySetId& in_keySetId) override;
|
||||
::ndk::ScopedAStatus removeSecureStop(
|
||||
const ::aidl::android::hardware::drm::SecureStopId& in_secureStopId) override;
|
||||
::ndk::ScopedAStatus requiresSecureDecoder(
|
||||
const std::string& in_mime,
|
||||
::aidl::android::hardware::drm::SecurityLevel in_level,
|
||||
bool* _aidl_return) override;
|
||||
::ndk::ScopedAStatus restoreKeys(
|
||||
const std::vector<uint8_t>& in_sessionId,
|
||||
const ::aidl::android::hardware::drm::KeySetId& in_keySetId) override;
|
||||
::ndk::ScopedAStatus setCipherAlgorithm(const std::vector<uint8_t>& in_sessionId,
|
||||
const std::string& in_algorithm) override;
|
||||
::ndk::ScopedAStatus setListener(
|
||||
const std::shared_ptr<::aidl::android::hardware::drm::IDrmPluginListener>&
|
||||
in_listener) override;
|
||||
::ndk::ScopedAStatus setMacAlgorithm(const std::vector<uint8_t>& in_sessionId,
|
||||
const std::string& in_algorithm) override;
|
||||
::ndk::ScopedAStatus setPlaybackId(const std::vector<uint8_t>& in_sessionId,
|
||||
const std::string& in_playbackId) override;
|
||||
::ndk::ScopedAStatus setPropertyByteArray(const std::string& in_propertyName,
|
||||
const std::vector<uint8_t>& in_value) override;
|
||||
::ndk::ScopedAStatus setPropertyString(const std::string& in_propertyName,
|
||||
const std::string& in_value) override;
|
||||
::ndk::ScopedAStatus sign(const std::vector<uint8_t>& in_sessionId,
|
||||
const std::vector<uint8_t>& in_keyId,
|
||||
const std::vector<uint8_t>& in_message,
|
||||
std::vector<uint8_t>* _aidl_return) override;
|
||||
::ndk::ScopedAStatus signRSA(const std::vector<uint8_t>& in_sessionId,
|
||||
const std::string& in_algorithm,
|
||||
const std::vector<uint8_t>& in_message,
|
||||
const std::vector<uint8_t>& in_wrappedkey,
|
||||
std::vector<uint8_t>* _aidl_return) override;
|
||||
::ndk::ScopedAStatus verify(const std::vector<uint8_t>& in_sessionId,
|
||||
const std::vector<uint8_t>& in_keyId,
|
||||
const std::vector<uint8_t>& in_message,
|
||||
const std::vector<uint8_t>& in_signature,
|
||||
bool* _aidl_return) override;
|
||||
};
|
||||
|
||||
} // namespace castkey
|
||||
} // namespace drm
|
||||
} // namespace hardware
|
||||
} // namespace android
|
||||
} // namespace aidl
|
||||
|
||||
#endif // DRM_PLUGIN_H_
|
||||
28
cast_auth/mediadrm/include/SessionLibrary.h
Normal file
28
cast_auth/mediadrm/include/SessionLibrary.h
Normal file
@@ -0,0 +1,28 @@
|
||||
#ifndef SESSION_LIBRARY_H_
|
||||
#define SESSION_LIBRARY_H_
|
||||
|
||||
#include <mutex>
|
||||
#include <vector>
|
||||
|
||||
namespace castkeydrm {
|
||||
|
||||
class SessionLibrary {
|
||||
public:
|
||||
static SessionLibrary* get();
|
||||
std::vector<uint8_t> createSession();
|
||||
void closeSession(const std::vector<uint8_t>& session);
|
||||
|
||||
private:
|
||||
SessionLibrary() : next_session_id_(1) {}
|
||||
|
||||
static std::mutex singleton_lock_;
|
||||
static SessionLibrary* singleton_;
|
||||
|
||||
std::mutex session_lock_;
|
||||
uint32_t next_session_id_;
|
||||
std::vector<std::vector<uint8_t>> sessions_;
|
||||
};
|
||||
|
||||
} // namespace castkeydrm
|
||||
|
||||
#endif // SESSION_LIBRARY_H_
|
||||
44
cast_auth/mediadrm/include/Utils.h
Normal file
44
cast_auth/mediadrm/include/Utils.h
Normal file
@@ -0,0 +1,44 @@
|
||||
#ifndef UTILS_H_
|
||||
#define UTILS_H_
|
||||
|
||||
#include <string>
|
||||
|
||||
#include "SessionLibrary.h"
|
||||
|
||||
#include <android/binder_auto_utils.h>
|
||||
#include "aidl/android/hardware/drm/Status.h"
|
||||
#include "CastKeyTypes.h"
|
||||
|
||||
namespace aidl {
|
||||
namespace android {
|
||||
namespace hardware {
|
||||
namespace drm {
|
||||
namespace castkey {
|
||||
|
||||
inline ::ndk::ScopedAStatus toNdkScopedAStatus(::aidl::android::hardware::drm::Status status,
|
||||
const char* msg = nullptr) {
|
||||
if (Status::OK == status) {
|
||||
return ::ndk::ScopedAStatus::ok();
|
||||
} else {
|
||||
auto err = static_cast<int32_t>(status);
|
||||
if (msg) {
|
||||
return ::ndk::ScopedAStatus::fromServiceSpecificErrorWithMessage(err, msg);
|
||||
} else {
|
||||
return ::ndk::ScopedAStatus::fromServiceSpecificError(err);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
inline ::ndk::ScopedAStatus toNdkScopedAStatus(castkeydrm::CdmResponseType res) {
|
||||
return toNdkScopedAStatus(static_cast<::aidl::android::hardware::drm::Status>(res));
|
||||
}
|
||||
|
||||
#define UNUSED(x) (void)(x);
|
||||
|
||||
} // namespace castkey
|
||||
} // namespace drm
|
||||
} // namespace hardware
|
||||
} // namespace android
|
||||
} // namespace aidl
|
||||
|
||||
#endif // UTILS_H_
|
||||
@@ -0,0 +1,7 @@
|
||||
<manifest version="1.0" type="device">
|
||||
<hal format="aidl">
|
||||
<name>android.hardware.drm</name>
|
||||
<version>1</version>
|
||||
<fqname>IDrmFactory/castkey</fqname>
|
||||
</hal>
|
||||
</manifest>
|
||||
@@ -20,7 +20,7 @@ on early-boot
|
||||
wait_for_prop vendor.common.modules.ready 1
|
||||
start insmod_sh_tangorpro
|
||||
|
||||
service insmod_sh_tangorpro /vendor/bin/insmod.sh /vendor_dlkm/etc/init.insmod.tangorpro.cfg
|
||||
service insmod_sh_tangorpro /vendor/bin/insmod.sh /vendor/etc/init.insmod.tangorpro.cfg
|
||||
class main
|
||||
user root
|
||||
group root system
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2024 The Evolution X Project
|
||||
# Copyright (C) 2024 The Evolution X Project
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
DEVICE_PACKAGE_OVERLAYS += $(DEVICE_PATH)/overlay-evolution
|
||||
# Overlays
|
||||
DEVICE_PACKAGE_OVERLAYS += $(LOCAL_PATH)/overlay-evolution
|
||||
|
||||
@@ -1,18 +1,40 @@
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2021-2024 The LineageOS Project
|
||||
# SPDX-FileCopyrightText: 2021-2024 The Calyx Institute
|
||||
# Copyright (C) 2023 The LineageOS Project
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
DEVICE_PACKAGE_OVERLAYS += $(DEVICE_PATH)/overlay-lineage
|
||||
# Overlays
|
||||
DEVICE_PACKAGE_OVERLAYS += $(LOCAL_PATH)/overlay-lineage
|
||||
|
||||
# ANGLE - Almost Native Graphics Layer Engine
|
||||
PRODUCT_PACKAGES += \
|
||||
ANGLE
|
||||
|
||||
# Kernel
|
||||
TARGET_PREBUILT_KERNEL := device/google/tangorpro-kernel/Image.lz4
|
||||
|
||||
# Build necessary packages for vendor
|
||||
|
||||
# Codec2
|
||||
PRODUCT_PACKAGES += \
|
||||
libacryl \
|
||||
libacryl_hdr_plugin \
|
||||
libexynosv4l2
|
||||
|
||||
# GMS
|
||||
WITH_GMS_COMMS_SUITE := false
|
||||
|
||||
# Graphics
|
||||
PRODUCT_PACKAGES += \
|
||||
libEGL_angle \
|
||||
libGLESv1_CM_angle \
|
||||
libGLESv2_angle
|
||||
|
||||
# Identity credential
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.identity_credential.xml
|
||||
|
||||
# RRO
|
||||
PRODUCT_PACKAGES += \
|
||||
GrilRadioCustomizableNoRadio \
|
||||
@@ -22,18 +44,9 @@ PRODUCT_PACKAGES += \
|
||||
TitanSettingsProviderOverlay \
|
||||
TitanSysuiConfigOverlay
|
||||
|
||||
# Build necessary packages for vendor
|
||||
|
||||
# Dumpstate
|
||||
PRODUCT_PACKAGES += \
|
||||
dump_gsc.sh
|
||||
|
||||
# Graphics
|
||||
PRODUCT_PACKAGES += \
|
||||
libEGL_angle \
|
||||
libGLESv1_CM_angle \
|
||||
libGLESv2_angle
|
||||
|
||||
# Sensors
|
||||
PRODUCT_PACKAGES += \
|
||||
sensors.dynamic_sensor_hal
|
||||
|
||||
# Properties
|
||||
TARGET_VENDOR_PROP := $(LOCAL_PATH)/vendor.prop
|
||||
|
||||
@@ -14,15 +14,28 @@
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
TARGET_KERNEL_DIR ?= device/google/tangorpro-kernel
|
||||
TARGET_BOARD_KERNEL_HEADERS := device/google/tangorpro-kernel/kernel-headers
|
||||
TARGET_RECOVERY_DEFAULT_ROTATION := ROTATION_LEFT
|
||||
TARGET_RECOVERY_DEFAULT_TOUCH_ROTATION := $(TARGET_RECOVERY_DEFAULT_ROTATION)
|
||||
|
||||
TARGET_LINUX_KERNEL_VERSION := $(RELEASE_KERNEL_TANGORPRO_VERSION)
|
||||
TARGET_KERNEL_DIR := device/google/tangorpro-kernels/evolution
|
||||
TARGET_BOARD_KERNEL_HEADERS := $(TARGET_KERNEL_DIR)/kernel-headers
|
||||
ifdef RELEASE_GOOGLE_TANGORPRO_KERNEL_VERSION
|
||||
TARGET_LINUX_KERNEL_VERSION := $(RELEASE_GOOGLE_TANGORPRO_KERNEL_VERSION)
|
||||
endif
|
||||
|
||||
ifdef RELEASE_GOOGLE_TANGORPRO_KERNEL_DIR
|
||||
TARGET_KERNEL_DIR := $(RELEASE_GOOGLE_TANGORPRO_KERNEL_DIR)
|
||||
TARGET_BOARD_KERNEL_HEADERS := $(RELEASE_GOOGLE_TANGORPRO_KERNEL_DIR)/kernel-headers
|
||||
endif
|
||||
|
||||
BOARD_WITHOUT_RADIO := true
|
||||
|
||||
$(call inherit-product-if-exists, vendor/google_devices/tangorpro/prebuilts/device-vendor-tangorpro.mk)
|
||||
$(call inherit-product-if-exists, vendor/google_devices/gs201/prebuilts/device-vendor.mk)
|
||||
$(call inherit-product-if-exists, vendor/google_devices/gs201/proprietary/device-vendor.mk)
|
||||
$(call inherit-product-if-exists, vendor/google_devices/tangorpro/proprietary/tangorpro/device-vendor-tangorpro.mk)
|
||||
$(call inherit-product-if-exists, vendor/google_devices/tangorpro/proprietary/WallpapersTangorpro.mk)
|
||||
$(call inherit-product-if-exists, vendor/google_devices/tangorpro/proprietary/device-vendor.mk)
|
||||
|
||||
$(call inherit-product, device/google/tangorpro/uwb/uwb_calibration_country.mk)
|
||||
|
||||
DEVICE_PACKAGE_OVERLAYS += device/google/tangorpro/tangorpro/overlay
|
||||
@@ -49,7 +62,7 @@ DISABLE_TELEPHONY_EUICC := true
|
||||
|
||||
include device/google/tangorpro/audio/tangorpro/audio-tables.mk
|
||||
include device/google/gs201/device-shipping-common.mk
|
||||
include device/google/gs-common/touch/gti/predump_gti.mk
|
||||
include device/google/gs-common/touch/gti/gti.mk
|
||||
include device/google/gs-common/touch/nvt/nvt.mk
|
||||
include device/google/gs-common/led/led.mk
|
||||
include device/google/gs-common/wlan/dump.mk
|
||||
@@ -59,13 +72,17 @@ $(call soong_config_set,lyric,camera_hardware,tangorpro)
|
||||
$(call soong_config_set,lyric,tuning_product,tangorpro)
|
||||
$(call soong_config_set,google3a_config,target_device,tangorpro)
|
||||
|
||||
ifeq ($(filter factory_tangorpro, $(TARGET_PRODUCT)),)
|
||||
include device/google/tangorpro/uwb/uwb_calibration.mk
|
||||
endif
|
||||
|
||||
# Preopt SystemUI
|
||||
PRODUCT_DEXPREOPT_SPEED_APPS += SystemUITitan # For tablet
|
||||
|
||||
# Touch files
|
||||
PRODUCT_COPY_FILES += \
|
||||
device/google/tangorpro/NVTCapacitiveTouchScreen.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/NVTCapacitiveTouchScreen.idc \
|
||||
device/google/tangorpro/NVTCapacitivePen.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/NVTCapacitivePen.idc \
|
||||
device/google/tangorpro/USI_Stylus.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/USI_Stylus.idc
|
||||
device/google/tangorpro/NVTCapacitivePen.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/NVTCapacitivePen.idc
|
||||
|
||||
# Init files
|
||||
PRODUCT_COPY_FILES += \
|
||||
@@ -75,6 +92,10 @@ PRODUCT_COPY_FILES += \
|
||||
PRODUCT_COPY_FILES += \
|
||||
device/google/tangorpro/conf/init.recovery.device.rc:$(TARGET_COPY_OUT_RECOVERY)/root/init.recovery.tangorpro.rc
|
||||
|
||||
# insmod files
|
||||
PRODUCT_COPY_FILES += \
|
||||
device/google/tangorpro/init.insmod.tangorpro.cfg:$(TARGET_COPY_OUT_VENDOR)/etc/init.insmod.tangorpro.cfg
|
||||
|
||||
# Camera
|
||||
PRODUCT_COPY_FILES += \
|
||||
device/google/tangorpro/media_profiles_tangorpro.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_V1_0.xml
|
||||
@@ -111,10 +132,6 @@ PRODUCT_PROPERTY_OVERRIDES += \
|
||||
PRODUCT_PRODUCT_PROPERTIES += \
|
||||
persist.bluetooth.opus.enabled=true
|
||||
|
||||
# Enable Bluetooth AutoOn feature
|
||||
PRODUCT_PRODUCT_PROPERTIES += \
|
||||
bluetooth.server.automatic_turn_on=true
|
||||
|
||||
# Keymaster HAL
|
||||
#LOCAL_KEYMASTER_PRODUCT_PACKAGE ?= android.hardware.keymaster@4.1-service
|
||||
|
||||
@@ -146,14 +163,22 @@ PRODUCT_PRODUCT_PROPERTIES += \
|
||||
# ro.hardware.gatekeeper=software
|
||||
|
||||
# Fingerprint
|
||||
PRODUCT_COPY_FILES += \
|
||||
frameworks/native/data/etc/android.hardware.fingerprint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.fingerprint.xml
|
||||
|
||||
include device/google/gs101/fingerprint/fpc1540/sw42/fpc1540.mk
|
||||
FPC_MODULE_TYPE=1542_S
|
||||
$(call soong_config_set,fp_hal_feature,pixel_product, product_b)
|
||||
# Fingerprint config
|
||||
include device/google/tangorpro/fingerprint_config.mk
|
||||
|
||||
# Trusty liboemcrypto.so
|
||||
PRODUCT_SOONG_NAMESPACES += vendor/google_devices/tangorpro/prebuilts
|
||||
ifneq (,$(filter AP1%,$(RELEASE_PLATFORM_VERSION)))
|
||||
PRODUCT_SOONG_NAMESPACES += vendor/google_devices/tangorpro/prebuilts/trusty/24Q1
|
||||
else ifneq (,$(filter AP2% AP3%,$(RELEASE_PLATFORM_VERSION)))
|
||||
PRODUCT_SOONG_NAMESPACES += vendor/google_devices/tangorpro/prebuilts/trusty/24Q2
|
||||
else
|
||||
PRODUCT_SOONG_NAMESPACES += vendor/google_devices/tangorpro/prebuilts/trusty/trunk
|
||||
endif
|
||||
|
||||
# Wifi SAP Interface Name
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
ro.vendor.wifi.sap.interface=wlan1
|
||||
@@ -183,6 +208,10 @@ PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
|
||||
PRODUCT_COPY_FILES += \
|
||||
frameworks/native/data/etc/android.software.telecom.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.telecom.xml
|
||||
|
||||
# Trusty libbinder_trusty_paidl.so and libcast_auth.so
|
||||
PRODUCT_SOONG_NAMESPACES += \
|
||||
vendor/google/trusty/common
|
||||
|
||||
# Cast auth
|
||||
PRODUCT_COPY_FILES += \
|
||||
device/google/tangorpro/cast_auth/tangor_ica.crt:$(TARGET_COPY_OUT_VENDOR)/etc/cert-chain.crt
|
||||
@@ -190,6 +219,15 @@ PRODUCT_COPY_FILES += \
|
||||
PRODUCT_PACKAGES += \
|
||||
libcast_auth
|
||||
|
||||
ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
|
||||
PRODUCT_PACKAGES_DEBUG += \
|
||||
test_cast_auth
|
||||
|
||||
# USI stylus test tool
|
||||
PRODUCT_PACKAGES_DEBUG += \
|
||||
usi_test
|
||||
endif
|
||||
|
||||
# Lights HAL
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.lights-service.tangorpro
|
||||
@@ -226,6 +264,14 @@ PRODUCT_VENDOR_PROPERTIES += \
|
||||
persist.vendor.camera.increase_thread_priority_nodes_stop=true \
|
||||
persist.vendor.camera.debug.bypass_csi_link_crc_error=true
|
||||
|
||||
# Trusty libbinder_trusty_paidl.so and libcast_auth.so
|
||||
PRODUCT_SOONG_NAMESPACES += \
|
||||
vendor/lib64
|
||||
|
||||
# CastKey Drm plugin modules
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.drm-service.castkey
|
||||
|
||||
# MIPI Coex Configs
|
||||
PRODUCT_COPY_FILES += \
|
||||
device/google/tangorpro/radio/tangor_camera_front_mipi_coex_table.csv:$(TARGET_COPY_OUT_VENDOR)/etc/modem/camera_front_mipi_coex_table.csv \
|
||||
@@ -239,32 +285,12 @@ PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.vendor.camera.adjust_backend_min_freq_for_1p_front_video_1080p_30fps=1 \
|
||||
persist.vendor.camera.bypass_sensor_binning_resolution_condition=1 \
|
||||
persist.vendor.camera.extended_launch_boost=1 \
|
||||
persist.vendor.camera.raise_buf_allocation_priority=1 \
|
||||
camera.enable_landscape_to_portrait=true
|
||||
persist.vendor.camera.raise_buf_allocation_priority=1
|
||||
|
||||
# Enable camera exif model/make reporting
|
||||
PRODUCT_VENDOR_PROPERTIES += \
|
||||
persist.vendor.camera.exif_reveal_make_model=true
|
||||
|
||||
# Set device family property for SMR
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
ro.build.device_family=T6P
|
||||
|
||||
# Set build properties for SMR builds
|
||||
ifeq ($(RELEASE_IS_SMR), true)
|
||||
ifneq (,$(RELEASE_BASE_OS_TANGORPRO))
|
||||
PRODUCT_BASE_OS := $(RELEASE_BASE_OS_TANGORPRO)
|
||||
endif
|
||||
endif
|
||||
|
||||
# Set build properties for EMR builds
|
||||
ifeq ($(RELEASE_IS_EMR), true)
|
||||
ifneq (,$(RELEASE_BASE_OS_TANGORPRO))
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
ro.build.version.emergency_base_os=$(RELEASE_BASE_OS_TANGORPRO)
|
||||
endif
|
||||
endif
|
||||
|
||||
# Audio
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
ro.audio.multi_usb_mode=true
|
||||
@@ -273,11 +299,14 @@ PRODUCT_PROPERTY_OVERRIDES += \
|
||||
PRODUCT_PACKAGES += \
|
||||
audio_apmg3_aoc
|
||||
|
||||
PRODUCT_SOONG_NAMESPACES += device/google/tangorpro/audio/tangorpro/prebuilt/libspeechenhancer
|
||||
|
||||
#Audio
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.vendor.audio.speech_enhancement.enable=1
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
libspeechenhancer \
|
||||
audio_speech_enhancer_aoc
|
||||
|
||||
# SKU specific RROs
|
||||
|
||||
@@ -4,13 +4,8 @@
|
||||
"target_path": "device/google/gs201"
|
||||
},
|
||||
{
|
||||
"remote": "evo-tensor",
|
||||
"repository": "device_google_tangorpro-kernels_evolution",
|
||||
"target_path": "device/google/tangorpro-kernels/evolution"
|
||||
},
|
||||
{
|
||||
"remote": "evo-tensor",
|
||||
"repository": "vendor_google_tangorpro",
|
||||
"target_path": "vendor/google/tangorpro"
|
||||
"repository": "device/google/tangorpro-kernel",
|
||||
"target_path": "device/google/tangorpro-kernel",
|
||||
"remote": "aosp-tangorpro"
|
||||
}
|
||||
]
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2024 The LineageOS Project
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
set -e
|
||||
|
||||
MY_DIR="$(cd "$(dirname "${0}")"; pwd -P)"
|
||||
|
||||
pushd "${MY_DIR}/tangorpro"
|
||||
./extract-files.py $@
|
||||
popd
|
||||
120
extract-files.sh
Executable file
120
extract-files.sh
Executable file
@@ -0,0 +1,120 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2016 The CyanogenMod Project
|
||||
# SPDX-FileCopyrightText: 2017-2024 The LineageOS Project
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
set -e
|
||||
|
||||
DEVICE=tangorpro
|
||||
VENDOR=google
|
||||
|
||||
# Load extract_utils and do some sanity checks
|
||||
MY_DIR="${BASH_SOURCE%/*}"
|
||||
if [[ ! -d "${MY_DIR}" ]]; then MY_DIR="${PWD}"; fi
|
||||
|
||||
ANDROID_ROOT="${MY_DIR}/../../.."
|
||||
|
||||
export TARGET_ENABLE_CHECKELF=true
|
||||
|
||||
# If XML files don't have comments before the XML header, use this flag
|
||||
# Can still be used with broken XML files by using blob_fixup
|
||||
export TARGET_DISABLE_XML_FIXING=true
|
||||
|
||||
HELPER="${ANDROID_ROOT}/tools/extract-utils/extract_utils.sh"
|
||||
if [ ! -f "${HELPER}" ]; then
|
||||
echo "Unable to find helper script at ${HELPER}"
|
||||
exit 1
|
||||
fi
|
||||
source "${HELPER}"
|
||||
|
||||
# Default to sanitizing the vendor folder before extraction
|
||||
CLEAN_VENDOR=true
|
||||
|
||||
ONLY_FIRMWARE=
|
||||
KANG=
|
||||
SECTION=
|
||||
VENDOR_SKIP_FILES=()
|
||||
|
||||
while [ "${#}" -gt 0 ]; do
|
||||
case "${1}" in
|
||||
--only-firmware)
|
||||
ONLY_FIRMWARE=true
|
||||
;;
|
||||
-n | --no-cleanup)
|
||||
CLEAN_VENDOR=false
|
||||
;;
|
||||
-k | --kang)
|
||||
KANG="--kang"
|
||||
;;
|
||||
-s | --section)
|
||||
SECTION="${2}"
|
||||
shift
|
||||
CLEAN_VENDOR=false
|
||||
;;
|
||||
*)
|
||||
SRC="${1}"
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
if [ -z "${SRC}" ]; then
|
||||
SRC="adb"
|
||||
fi
|
||||
|
||||
function prepare_firmware() {
|
||||
if [ "${SRC}" != "adb" ]; then
|
||||
bash "${ANDROID_ROOT}"/lineage/scripts/pixel/prepare-firmware.sh "${DEVICE}" "${SRC}"
|
||||
fi
|
||||
}
|
||||
|
||||
# Initialize the helper
|
||||
setup_vendor "${DEVICE}" "${VENDOR}" "${ANDROID_ROOT}" false "${CLEAN_VENDOR}"
|
||||
|
||||
if [ -z "${ONLY_FIRMWARE}" ]; then
|
||||
extract "${MY_DIR}/proprietary-files.txt" "${SRC}" "${KANG}" --section "${SECTION}"
|
||||
|
||||
readarray -t VENDOR_SKIP_FILES < <(cat "${MY_DIR}/skip-files-vendor.txt" | sed -E "/^[[:blank:]]*(#|$)/d")
|
||||
VENDOR_TXT="${MY_DIR}/proprietary-files-vendor.txt"
|
||||
generate_prop_list_from_image "vendor.img" "${VENDOR_TXT}" VENDOR_SKIP_FILES
|
||||
|
||||
# libExynosC2*Dec & libExynosC2*Enc depend on libacryl & libexynosv4l2, which are gnu makefile targets
|
||||
set_disable_checkelf "vendor/lib/libExynosC2H263Dec.so" "${VENDOR_TXT}"
|
||||
set_disable_checkelf "vendor/lib/libExynosC2H263Enc.so" "${VENDOR_TXT}"
|
||||
set_disable_checkelf "vendor/lib/libExynosC2H264Dec.so" "${VENDOR_TXT}"
|
||||
set_disable_checkelf "vendor/lib/libExynosC2H264Enc.so" "${VENDOR_TXT}"
|
||||
set_disable_checkelf "vendor/lib/libExynosC2HevcDec.so" "${VENDOR_TXT}"
|
||||
set_disable_checkelf "vendor/lib/libExynosC2HevcEnc.so" "${VENDOR_TXT}"
|
||||
set_disable_checkelf "vendor/lib/libExynosC2Mpeg4Dec.so" "${VENDOR_TXT}"
|
||||
set_disable_checkelf "vendor/lib/libExynosC2Mpeg4Enc.so" "${VENDOR_TXT}"
|
||||
set_disable_checkelf "vendor/lib/libExynosC2Vp8Dec.so" "${VENDOR_TXT}"
|
||||
set_disable_checkelf "vendor/lib/libExynosC2Vp8Enc.so" "${VENDOR_TXT}"
|
||||
set_disable_checkelf "vendor/lib/libExynosC2Vp9Dec.so" "${VENDOR_TXT}"
|
||||
set_disable_checkelf "vendor/lib/libExynosC2Vp9Enc.so" "${VENDOR_TXT}"
|
||||
set_disable_checkelf "vendor/lib64/libExynosC2H263Dec.so" "${VENDOR_TXT}"
|
||||
set_disable_checkelf "vendor/lib64/libExynosC2H263Enc.so" "${VENDOR_TXT}"
|
||||
set_disable_checkelf "vendor/lib64/libExynosC2H264Dec.so" "${VENDOR_TXT}"
|
||||
set_disable_checkelf "vendor/lib64/libExynosC2H264Enc.so" "${VENDOR_TXT}"
|
||||
set_disable_checkelf "vendor/lib64/libExynosC2HevcDec.so" "${VENDOR_TXT}"
|
||||
set_disable_checkelf "vendor/lib64/libExynosC2HevcEnc.so" "${VENDOR_TXT}"
|
||||
set_disable_checkelf "vendor/lib64/libExynosC2Mpeg4Dec.so" "${VENDOR_TXT}"
|
||||
set_disable_checkelf "vendor/lib64/libExynosC2Mpeg4Enc.so" "${VENDOR_TXT}"
|
||||
set_disable_checkelf "vendor/lib64/libExynosC2Vp8Dec.so" "${VENDOR_TXT}"
|
||||
set_disable_checkelf "vendor/lib64/libExynosC2Vp8Enc.so" "${VENDOR_TXT}"
|
||||
set_disable_checkelf "vendor/lib64/libExynosC2Vp9Dec.so" "${VENDOR_TXT}"
|
||||
set_disable_checkelf "vendor/lib64/libExynosC2Vp9Enc.so" "${VENDOR_TXT}"
|
||||
|
||||
set_module_suffix "vendor/lib/com.google.edgetpu_app_service-V3-ndk.so" "-vendor" "${VENDOR_TXT}"
|
||||
set_module_suffix "vendor/lib64/com.google.edgetpu_app_service-V3-ndk.so" "-vendor" "${VENDOR_TXT}"
|
||||
set_module_suffix "vendor/lib64/com.google.edgetpu_vendor_service-V2-ndk.so" "-vendor" "${VENDOR_TXT}"
|
||||
|
||||
extract "${MY_DIR}/proprietary-files-vendor.txt" "${SRC}" "${KANG}" --section "${SECTION}"
|
||||
fi
|
||||
|
||||
if [ -z "${SECTION}" ]; then
|
||||
extract_firmware "${MY_DIR}/proprietary-firmware.txt" "${SRC}"
|
||||
fi
|
||||
|
||||
"${MY_DIR}/setup-makefiles.sh"
|
||||
24
factory-images/generate-factory-images-package.sh
Executable file
24
factory-images/generate-factory-images-package.sh
Executable file
@@ -0,0 +1,24 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Copyright 2023 The Android Open Source Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
source ../../../common/clear-factory-images-variables.sh
|
||||
BUILD=9452078
|
||||
DEVICE=tangorpro
|
||||
PRODUCT=tangorpro
|
||||
VERSION=td2a.230104.001
|
||||
SRCPREFIX=signed-
|
||||
BOOTLOADER=tangorpro-1.0-9434949
|
||||
source ../../../common/generate-factory-images-common.sh
|
||||
44
factory_tangorpro.mk
Normal file
44
factory_tangorpro.mk
Normal file
@@ -0,0 +1,44 @@
|
||||
#
|
||||
# Copyright 2021 The Android Open-Source Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
TARGET_LINUX_KERNEL_VERSION := 5.10
|
||||
|
||||
$(call inherit-product, device/google/gs201/factory_common.mk)
|
||||
$(call inherit-product, device/google/tangorpro/device-tangorpro.mk)
|
||||
include device/google/tangorpro/audio/tangorpro/factory-audio-tables.mk
|
||||
|
||||
PRODUCT_NAME := factory_tangorpro
|
||||
PRODUCT_DEVICE := tangorpro
|
||||
PRODUCT_MODEL := Factory build on Tangorpro
|
||||
PRODUCT_BRAND := Android
|
||||
PRODUCT_MANUFACTURER := Google
|
||||
|
||||
# default BDADDR for EVB only
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
ro.vendor.bluetooth.evb_bdaddr="22:22:22:33:44:55"
|
||||
|
||||
# Factory binaries of camera
|
||||
PRODUCT_PACKAGES += fatp_imx787_hat_tool
|
||||
|
||||
# Factory binaries of wifi
|
||||
PRODUCT_PACKAGES += myftm
|
||||
|
||||
# Tool for installing Cast keybox
|
||||
PRODUCT_PACKAGES_DEBUG += \
|
||||
CastInstallKeybox
|
||||
|
||||
# Display CABC for factory setting
|
||||
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += vendor.display.cabc.supported=0
|
||||
@@ -1,4 +1,10 @@
|
||||
# Factory build, use HIDL hal & extension so that we can use Test tool
|
||||
ifneq ( ,$(findstring factory, $(TARGET_PRODUCT)))
|
||||
GOOGLE_CONFIG_FP_STATUS=1
|
||||
FPC_CONFIG_TRUSTY_CLEAN_TA=1
|
||||
else
|
||||
# Non factory build, use fingerprint AIDL version
|
||||
GOOGLE_CONFIG_POWER_NODE=/dev/input/event1
|
||||
GOOGLE_CONFIG_FP_STATUS=1
|
||||
GOOGLE_CONFIG_TOUCH_TO_UNLOCK_ANYTIME=1
|
||||
endif
|
||||
|
||||
86
gps.xml.l10
Normal file
86
gps.xml.l10
Normal file
@@ -0,0 +1,86 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<glgps xmlns="http://www.glpals.com/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.glpals.com/ glconfig.xsd" >
|
||||
<hal
|
||||
PortName="/dev/ttyBCM"
|
||||
BaudRate="921600"
|
||||
GpioNStdbyPath="/sys/devices/platform/10940000.spi/spi_master/spi5/spi5.0/nstandby"
|
||||
CustGpioDelayMs="250"
|
||||
LogEnabled="true"
|
||||
Log="JAVA"
|
||||
SecondaryConfigPath="/data/vendor/gps/overlay/gps_overlay.xml"
|
||||
LogDirectory="/sdcard/gps/broadcom/storage/"
|
||||
CtrlPipe="/data/vendor/gps/glgpsctrl"
|
||||
NmeaOutName="/data/vendor/gps/nmea_out"
|
||||
|
||||
acSuplServer="supl.google.com"
|
||||
SuplPort="7275"
|
||||
SuplLogEnable="true"
|
||||
SuplLogFullName="/data/vendor/gps/suplflow.txt"
|
||||
tlsEnable="true"
|
||||
|
||||
SuplSslMethod="SSLv23_NO_TLSv1_2"
|
||||
SuplEnable="true"
|
||||
SuplUseApn="true"
|
||||
SuplTlsCertDirPath="/etc/security/cacerts"
|
||||
SuplTlsCertPath="/vendor/etc/gnss/gps.cer"
|
||||
SuplUT1Seconds="20"
|
||||
SuplUT2Seconds="20"
|
||||
SuplUT3Seconds="20"
|
||||
TcpConnectionTimeout="20"
|
||||
SuplLppCapable="true"
|
||||
SuplEcidCapable="true"
|
||||
SuplVersion="2"
|
||||
SuplMinorVersion="0"
|
||||
SuplOtdoaCapable="true"
|
||||
SuplGlonassCapable = "true"
|
||||
SuplGalileoCapable = "true"
|
||||
SuplBdsCapable = "true"
|
||||
SuplMgpsCapable = "true"
|
||||
|
||||
RtoEnable="true"
|
||||
RtiEnable="true"
|
||||
HttpSyncLto="true"
|
||||
LtoFileName="lto2.dat"
|
||||
LtoDir="/data/vendor/gps/"
|
||||
LtoSyncThresholdDays="1"
|
||||
|
||||
GnssYearOfHardware="2020"
|
||||
CpGuardTimeSec="1"
|
||||
CpLppGuardTimeSec="1"
|
||||
IgnoreInjectedSystemTime="true"
|
||||
|
||||
AttributionAppPkgName="com.google.android.carrierlocation"
|
||||
|
||||
AssertEnabled="true"
|
||||
CpLppeCancelDbhOnAgnssProvideLoc="true"
|
||||
CpLppeUseAgnssLocForEmptyDbh="true"
|
||||
/>
|
||||
|
||||
<gll
|
||||
LogPriMask="LOG_INFO"
|
||||
LogFacMask="LOG_NMEA | LOG_GLLIOS | LOG_GLLAPI"
|
||||
FrqPlan="FRQ_PLAN_26MHZ_2PPM_49_152MHZ_300PPB"
|
||||
MultiCarrRFMode="GL_MULTI_CARR_RF_MODE_L1"
|
||||
MultiCarrLnaMask="L1_EXT_ON"
|
||||
RfType="GL_RF_4776_BRCM"
|
||||
EnableFilteringForLTEB13="true"
|
||||
|
||||
WarmStandbyTimeout1Seconds="10"
|
||||
WarmStandbyTimeout2Seconds="15"
|
||||
|
||||
EnableGnssPropagateInStandby="true"
|
||||
|
||||
RfPathLossDb_Ap="4"
|
||||
RfPathLossDb_Cp="4"
|
||||
OnChipGpsCarrierType="3,2,3,3,2,3,2,3,3,3,1,2,1,3,2,1,2,3,1,1,1,1,3,3,3,3,3,1,2,3,2,3"
|
||||
|
||||
EnableOnChipStopNotification="2"
|
||||
PowerMode="3"
|
||||
/>
|
||||
|
||||
<gll_features
|
||||
EnableNicAutoSwitch="true"
|
||||
/>
|
||||
|
||||
</glgps>
|
||||
|
||||
86
gps_user.xml.l10
Normal file
86
gps_user.xml.l10
Normal file
@@ -0,0 +1,86 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<glgps xmlns="http://www.glpals.com/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.glpals.com/ glconfig.xsd" >
|
||||
<hal
|
||||
PortName="/dev/ttyBCM"
|
||||
BaudRate="921600"
|
||||
GpioNStdbyPath="/sys/devices/platform/10940000.spi/spi_master/spi5/spi5.0/nstandby"
|
||||
CustGpioDelayMs="250"
|
||||
LogEnabled="false"
|
||||
Log="JAVA"
|
||||
LogDirectory="/sdcard/gps/broadcom/storage/"
|
||||
CtrlPipe="/data/vendor/gps/glgpsctrl"
|
||||
NmeaOutName="/data/vendor/gps/nmea_out"
|
||||
|
||||
acSuplServer="supl.google.com"
|
||||
SuplPort="7275"
|
||||
SuplLogEnable="false"
|
||||
SuplLogFullName="/data/vendor/gps/suplflow.txt"
|
||||
tlsEnable="true"
|
||||
|
||||
SuplSslMethod="SSLv23_NO_TLSv1_2"
|
||||
SuplEnable="true"
|
||||
SuplUseApn="true"
|
||||
SuplTlsCertDirPath="/etc/security/cacerts"
|
||||
SuplTlsCertPath="/vendor/etc/gnss/gps.cer"
|
||||
SuplUT1Seconds="20"
|
||||
SuplUT2Seconds="20"
|
||||
SuplUT3Seconds="20"
|
||||
TcpConnectionTimeout="20"
|
||||
SuplLppCapable="true"
|
||||
SuplEcidCapable="true"
|
||||
SuplVersion="2"
|
||||
SuplMinorVersion="0"
|
||||
SuplOtdoaCapable="true"
|
||||
SuplGlonassCapable = "true"
|
||||
SuplGalileoCapable = "true"
|
||||
SuplBdsCapable = "true"
|
||||
SuplMgpsCapable = "true"
|
||||
|
||||
RtoEnable="true"
|
||||
RtiEnable="true"
|
||||
HttpSyncLto="true"
|
||||
LtoFileName="lto2.dat"
|
||||
LtoDir="/data/vendor/gps/"
|
||||
LtoSyncThresholdDays="1"
|
||||
|
||||
GnssYearOfHardware="2020"
|
||||
CpGuardTimeSec="1"
|
||||
CpLppGuardTimeSec="1"
|
||||
IgnoreInjectedSystemTime="true"
|
||||
|
||||
AttributionAppPkgName="com.google.android.carrierlocation"
|
||||
|
||||
AssertEnabled="false"
|
||||
CpLppeCancelDbhOnAgnssProvideLoc="true"
|
||||
CpLppeUseAgnssLocForEmptyDbh="true"
|
||||
/>
|
||||
|
||||
<gll
|
||||
LogPriMask="LOG_INFO"
|
||||
LogFacMask="LOG_NMEA | LOG_GLLIOS | LOG_GLLAPI"
|
||||
FrqPlan="FRQ_PLAN_26MHZ_2PPM_49_152MHZ_300PPB"
|
||||
MultiCarrRFMode="GL_MULTI_CARR_RF_MODE_L1"
|
||||
MultiCarrLnaMask="L1_EXT_ON"
|
||||
RfType="GL_RF_4776_BRCM"
|
||||
EnableFilteringForLTEB13="true"
|
||||
|
||||
WarmStandbyTimeout1Seconds="10"
|
||||
WarmStandbyTimeout2Seconds="15"
|
||||
|
||||
EnableGnssPropagateInStandby="true"
|
||||
|
||||
RfPathLossDb_Ap="4"
|
||||
RfPathLossDb_Cp="4"
|
||||
OnChipGpsCarrierType="3,2,3,3,2,3,2,3,3,3,1,2,1,3,2,1,2,3,1,1,1,1,3,3,3,3,3,1,2,3,2,3"
|
||||
|
||||
EnableOnChipStopNotification="false"
|
||||
PowerMode="3"
|
||||
/>
|
||||
|
||||
<gll_features
|
||||
EnableNicAutoSwitch="true"
|
||||
/>
|
||||
|
||||
</glgps>
|
||||
|
||||
|
||||
16
init.insmod.tangorpro.cfg
Normal file
16
init.insmod.tangorpro.cfg
Normal file
@@ -0,0 +1,16 @@
|
||||
##########################################################
|
||||
# init.insmod.tangorpro.cfg #
|
||||
# This file contains tangorpro specific kernel modules #
|
||||
# to load at init time by init.insmod.sh script #
|
||||
##########################################################
|
||||
|
||||
# Load device specific kernel modules
|
||||
# Modules here will be loaded *after* all common modules
|
||||
modprobe|synadhd.ko
|
||||
modprobe|snd-soc-cs35l41-spi.ko
|
||||
modprobe|nvt_touch.ko
|
||||
|
||||
# All device specific modules loaded
|
||||
setprop|vendor.device.modules.ready
|
||||
setprop|vendor.all.modules.ready
|
||||
setprop|vendor.all.devices.ready
|
||||
@@ -1,35 +1,33 @@
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2021-2024 The LineageOS Project
|
||||
# SPDX-FileCopyrightText: 2021-2024 The Calyx Institute
|
||||
# Copyright (C) 2023 The LineageOS Project
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
# Inherit some common Evolution X stuff
|
||||
# Inherit some common Evolution X stuff.
|
||||
TARGET_DISABLE_EPPE := true
|
||||
$(call inherit-product, vendor/lineage/config/common_full_tablet_wifionly.mk)
|
||||
|
||||
# Inherit device configuration
|
||||
DEVICE_CODENAME := tangorpro
|
||||
DEVICE_PATH := device/google/tangorpro
|
||||
VENDOR_PATH := vendor/google/tangorpro
|
||||
$(call inherit-product, $(DEVICE_PATH)/aosp_$(DEVICE_CODENAME).mk)
|
||||
$(call inherit-product, device/google/tangorpro/aosp_tangorpro.mk)
|
||||
$(call inherit-product, device/google/gs201/lineage_common.mk)
|
||||
$(call inherit-product, device/google/gs201/evolution_common.mk)
|
||||
$(call inherit-product, $(DEVICE_PATH)/$(DEVICE_CODENAME)/device-lineage.mk)
|
||||
$(call inherit-product, $(DEVICE_PATH)/$(DEVICE_CODENAME)/device-evolution.mk)
|
||||
$(call inherit-product, device/google/tangorpro/device-lineage.mk)
|
||||
$(call inherit-product, device/google/tangorpro/device-evolution.mk)
|
||||
|
||||
# Device identifier. This must come after all inclusions
|
||||
PRODUCT_BRAND := google
|
||||
PRODUCT_MODEL := Pixel Tablet
|
||||
PRODUCT_NAME := lineage_$(DEVICE_CODENAME)
|
||||
PRODUCT_NAME := lineage_tangorpro
|
||||
|
||||
# Boot animation
|
||||
TARGET_SCREEN_HEIGHT := 1600
|
||||
TARGET_SCREEN_WIDTH := 2560
|
||||
|
||||
PRODUCT_BUILD_PROP_OVERRIDES += \
|
||||
BuildDesc="tangorpro-user 16 BP2A.250805.005 13691446 release-keys" \
|
||||
BuildFingerprint=google/tangorpro/tangorpro:16/BP2A.250805.005/13691446:user/release-keys \
|
||||
DeviceProduct=$(DEVICE_CODENAME)
|
||||
TARGET_PRODUCT=tangorpro \
|
||||
PRIVATE_BUILD_DESC="tangorpro-user 14 AP2A.240905.003 12231197 release-keys"
|
||||
|
||||
$(call inherit-product, $(VENDOR_PATH)/$(DEVICE_CODENAME)-vendor.mk)
|
||||
BUILD_FINGERPRINT := google/tangorpro/tangorpro:14/AP2A.240905.003/12231197:user/release-keys
|
||||
|
||||
$(call inherit-product, vendor/google/tangorpro/tangorpro-vendor.mk)
|
||||
|
||||
134
manifest.xml
Normal file
134
manifest.xml
Normal file
@@ -0,0 +1,134 @@
|
||||
<manifest version="1.0" type="device" target-level="5">
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.audio</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>7.0</version>
|
||||
<interface>
|
||||
<name>IDevicesFactory</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.audio.effect</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>7.0</version>
|
||||
<interface>
|
||||
<name>IEffectsFactory</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.soundtrigger</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>2.3</version>
|
||||
<interface>
|
||||
<name>ISoundTriggerHw</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.media.omx</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IOmx</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
<interface>
|
||||
<name>IOmxStore</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.graphics.allocator</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>4.0</version>
|
||||
<interface>
|
||||
<name>IAllocator</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.graphics.mapper</name>
|
||||
<transport arch="32+64">passthrough</transport>
|
||||
<version>4.0</version>
|
||||
<interface>
|
||||
<name>IMapper</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.graphics.composer</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>2.4</version>
|
||||
<interface>
|
||||
<name>IComposer</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.renderscript</name>
|
||||
<transport arch="32+64">passthrough</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IDevice</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format = "hidl">
|
||||
<name>android.hardware.dumpstate</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.1</version>
|
||||
<interface>
|
||||
<name>IDumpstateDevice</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.bluetooth.audio</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>2.1</version>
|
||||
<interface>
|
||||
<name>IBluetoothAudioProvidersFactory</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.boot</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@1.2::IBootControl/default</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.neuralnetworks</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@1.3::IDevice/google-edgetpu</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.health</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>2.1</version>
|
||||
<interface>
|
||||
<name>IHealth</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>hardware.google.bluetooth.sar</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.1</version>
|
||||
<interface>
|
||||
<name>IBluetoothSar</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.google.whitechapel.audio.audioext</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>2.0</version>
|
||||
<interface>
|
||||
<name>IAudioExt</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<kernel target-level="6"/>
|
||||
</manifest>
|
||||
@@ -1,2 +0,0 @@
|
||||
blocklist goog_touch_interface.ko
|
||||
blocklist nvt_touch.ko
|
||||
@@ -1,2 +0,0 @@
|
||||
extra/goog_touch_interface.ko
|
||||
extra/nvt_touch.ko
|
||||
@@ -18,12 +18,6 @@
|
||||
-->
|
||||
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||
<!-- Whether per-app fullscreen override option is allowed in user aspect ratio settings -->
|
||||
<bool name="config_appCompatUserAppAspectRatioFullscreenIsEnabled">true</bool>
|
||||
|
||||
<!-- Whether per-app user aspect ratio override settings is enabled -->
|
||||
<bool name="config_appCompatUserAppAspectRatioSettingsIsEnabled">true</bool>
|
||||
|
||||
<!-- Control whether being in the desk dock should enable accelerometer
|
||||
based screen orientation. This defaults to true because it is
|
||||
common for desk docks to be sold in a variety of form factors
|
||||
|
||||
302
powerhint.json
302
powerhint.json
@@ -212,55 +212,6 @@
|
||||
],
|
||||
"ResetOnInit": true
|
||||
},
|
||||
|
||||
{
|
||||
"Name": "TAUclampMinOnNiceEnable",
|
||||
"Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_enable",
|
||||
"Values": [
|
||||
"1",
|
||||
"0"
|
||||
],
|
||||
"ResetOnInit": true
|
||||
},
|
||||
{
|
||||
"Name": "TAUclampMinOnNiceHighValue",
|
||||
"Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_high_value",
|
||||
"Values": [
|
||||
"765",
|
||||
"0"
|
||||
],
|
||||
"ResetOnInit": true
|
||||
},
|
||||
{
|
||||
"Name": "TAUclampMinOnNiceMidValue",
|
||||
"Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_mid_value",
|
||||
"Values": [
|
||||
"600",
|
||||
"590",
|
||||
"0"
|
||||
],
|
||||
"ResetOnInit": true
|
||||
},
|
||||
{
|
||||
"Name": "TAUclampMinOnNiceHighPrio",
|
||||
"Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_high_prio",
|
||||
"Values": [
|
||||
"110",
|
||||
"119",
|
||||
"120"
|
||||
],
|
||||
"ResetOnInit": true
|
||||
},
|
||||
{
|
||||
"Name": "TAUclampMinOnNiceMidPrio",
|
||||
"Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_mid_prio",
|
||||
"Values": [
|
||||
"128",
|
||||
"139",
|
||||
"130"
|
||||
],
|
||||
"ResetOnInit": true
|
||||
},
|
||||
{
|
||||
"Name": "FGUClampBoost",
|
||||
"Path": "/proc/vendor_sched/groups/fg/uclamp_min",
|
||||
@@ -353,35 +304,6 @@
|
||||
],
|
||||
"ResetOnInit": true
|
||||
},
|
||||
{
|
||||
"Name": "TAAutoPreferFit",
|
||||
"Path": "/proc/vendor_sched/groups/ta/auto_prefer_fit",
|
||||
"Values": [
|
||||
"1",
|
||||
"0"
|
||||
],
|
||||
"ResetOnInit": true
|
||||
},
|
||||
{
|
||||
"Name": "TAPreferredIdleMaskMid",
|
||||
"Path": "/proc/vendor_sched/groups/ta/preferred_idle_mask_mid",
|
||||
"Values": [
|
||||
"0x3f",
|
||||
"0xf0",
|
||||
"0xff"
|
||||
],
|
||||
"ResetOnInit": true
|
||||
},
|
||||
{
|
||||
"Name": "TAPreferredIdleMaskLow",
|
||||
"Path": "/proc/vendor_sched/groups/ta/preferred_idle_mask_low",
|
||||
"Values": [
|
||||
"0x3f",
|
||||
"0xf0",
|
||||
"0xff"
|
||||
],
|
||||
"ResetOnInit": true
|
||||
},
|
||||
{
|
||||
"Name": "FGPreferIdle",
|
||||
"Path": "/proc/vendor_sched/groups/fg/prefer_idle",
|
||||
@@ -410,6 +332,14 @@
|
||||
],
|
||||
"ResetOnInit": true
|
||||
},
|
||||
{
|
||||
"Name": "NewlyIdleBalancer",
|
||||
"Path": "/proc/vendor_sched/idle_balancer",
|
||||
"Values": [
|
||||
"0",
|
||||
"1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "DisplayWakeup",
|
||||
"Path": "/sys/devices/platform/1c240000.drmdecon/early_wakeup",
|
||||
@@ -722,16 +652,6 @@
|
||||
],
|
||||
"DefaultIndex": 0,
|
||||
"ResetOnInit": true
|
||||
},
|
||||
{
|
||||
"Name": "SYSTEM_UI_ADPF_PROFILES",
|
||||
"Path": "<AdpfConfig>:SYSTEM_UI",
|
||||
"Values": [
|
||||
"SYSTEM_UI_PROFILE"
|
||||
],
|
||||
"DefaultIndex": 0,
|
||||
"ResetOnInit": true,
|
||||
"Type": "Event"
|
||||
}
|
||||
],
|
||||
"Actions": [
|
||||
@@ -843,54 +763,6 @@
|
||||
"Duration": 5000,
|
||||
"Value": "0"
|
||||
},
|
||||
{
|
||||
"PowerHint": "LAUNCH",
|
||||
"Node": "TAAutoPreferFit",
|
||||
"Duration": 5000,
|
||||
"Value": "1"
|
||||
},
|
||||
{
|
||||
"PowerHint": "LAUNCH",
|
||||
"Node": "TAPreferredIdleMaskMid",
|
||||
"Duration": 5000,
|
||||
"Value": "0x3f"
|
||||
},
|
||||
{
|
||||
"PowerHint": "LAUNCH",
|
||||
"Node": "TAPreferredIdleMaskLow",
|
||||
"Duration": 5000,
|
||||
"Value": "0x3f"
|
||||
},
|
||||
{
|
||||
"PowerHint": "LAUNCH",
|
||||
"Node": "TAUclampMinOnNiceEnable",
|
||||
"Duration": 5000,
|
||||
"Value": "1"
|
||||
},
|
||||
{
|
||||
"PowerHint": "LAUNCH",
|
||||
"Node": "TAUclampMinOnNiceHighValue",
|
||||
"Duration": 5000,
|
||||
"Value": "765"
|
||||
},
|
||||
{
|
||||
"PowerHint": "LAUNCH",
|
||||
"Node": "TAUclampMinOnNiceHighPrio",
|
||||
"Duration": 5000,
|
||||
"Value": "110"
|
||||
},
|
||||
{
|
||||
"PowerHint": "LAUNCH",
|
||||
"Node": "TAUclampMinOnNiceMidValue",
|
||||
"Duration": 5000,
|
||||
"Value": "590"
|
||||
},
|
||||
{
|
||||
"PowerHint": "LAUNCH",
|
||||
"Node": "TAUclampMinOnNiceMidPrio",
|
||||
"Duration": 5000,
|
||||
"Value": "139"
|
||||
},
|
||||
{
|
||||
"PowerHint": "LAUNCH",
|
||||
"Type": "DoHint",
|
||||
@@ -991,12 +863,6 @@
|
||||
"Duration": 33,
|
||||
"Value": "1014000"
|
||||
},
|
||||
{
|
||||
"PowerHint": "CPU_LOAD_RESET",
|
||||
"Node": "TAPreferHighCap",
|
||||
"Duration": 33,
|
||||
"Value": "1"
|
||||
},
|
||||
{
|
||||
"PowerHint": "CAMERA_LAUNCH",
|
||||
"Node": "MemFreq",
|
||||
@@ -1303,6 +1169,12 @@
|
||||
"Duration": 0,
|
||||
"Value": "0"
|
||||
},
|
||||
{
|
||||
"PowerHint": "CAMERA_STREAMING_EXTREME",
|
||||
"Node": "NewlyIdleBalancer",
|
||||
"Duration": 0,
|
||||
"Value": "0"
|
||||
},
|
||||
{
|
||||
"PowerHint": "CAMERA_STREAMING_HIGH",
|
||||
"Node": "PowerHALCameraRunning",
|
||||
@@ -1375,6 +1247,12 @@
|
||||
"Duration": 0,
|
||||
"Value": "0"
|
||||
},
|
||||
{
|
||||
"PowerHint": "CAMERA_STREAMING_HIGH",
|
||||
"Node": "NewlyIdleBalancer",
|
||||
"Duration": 0,
|
||||
"Value": "0"
|
||||
},
|
||||
{
|
||||
"PowerHint": "CAMERA_STREAMING_STANDARD",
|
||||
"Node": "PowerHALCameraRunning",
|
||||
@@ -1471,6 +1349,12 @@
|
||||
"Duration": 0,
|
||||
"Value": "0"
|
||||
},
|
||||
{
|
||||
"PowerHint": "CAMERA_STREAMING_STANDARD",
|
||||
"Node": "NewlyIdleBalancer",
|
||||
"Duration": 0,
|
||||
"Value": "0"
|
||||
},
|
||||
{
|
||||
"PowerHint": "CAMERA_STREAMING_LOW",
|
||||
"Node": "PowerHALCameraRunning",
|
||||
@@ -1531,6 +1415,12 @@
|
||||
"Duration": 0,
|
||||
"Value": "0"
|
||||
},
|
||||
{
|
||||
"PowerHint": "CAMERA_STREAMING_LOW",
|
||||
"Node": "NewlyIdleBalancer",
|
||||
"Duration": 0,
|
||||
"Value": "0"
|
||||
},
|
||||
{
|
||||
"PowerHint": "CAMERA_VIDEO_RECORDING",
|
||||
"Type": "MaskHint",
|
||||
@@ -1742,6 +1632,18 @@
|
||||
"Duration": 50,
|
||||
"Value": "1"
|
||||
},
|
||||
{
|
||||
"PowerHint": "THERMAL_FLASH_LED_REDUCE_CRITICAL",
|
||||
"Node": "LimitFlashCurrent",
|
||||
"Duration": 0,
|
||||
"Value": "100"
|
||||
},
|
||||
{
|
||||
"PowerHint": "THERMAL_FLASH_LED_REDUCE_NONE",
|
||||
"Node": "LimitFlashCurrent",
|
||||
"Duration": 0,
|
||||
"Value": "1500"
|
||||
},
|
||||
{
|
||||
"PowerHint": "EXPENSIVE_RENDERING",
|
||||
"Node": "PowerHALRenderingState",
|
||||
@@ -1979,64 +1881,88 @@
|
||||
"PID_Du": 0.0,
|
||||
"UclampMin_On": true,
|
||||
"UclampMin_Init": 182,
|
||||
"UclampMin_LoadUp": 514,
|
||||
"UclampMin_LoadReset": 514,
|
||||
"UclampMin_High": 514,
|
||||
"UclampMin_Low": 2,
|
||||
"UclampMax_EfficientBase": 500,
|
||||
"UclampMax_EfficientOffset": 200,
|
||||
"SamplingWindow_P": 1,
|
||||
"SamplingWindow_I": 0,
|
||||
"SamplingWindow_D": 1,
|
||||
"ReportingRateLimitNs": 166666660,
|
||||
"EarlyBoost_On": false,
|
||||
"EarlyBoost_TimeFactor": 0.0,
|
||||
"TargetTimeFactor": 1.0,
|
||||
"StaleTimeFactor": 15.0,
|
||||
"HeuristicBoost_On": true,
|
||||
"HBoostModerateJankThreshold": 2,
|
||||
"HBoostOffMaxAvgDurRatio": 4.0,
|
||||
"HBoostSevereJankPidPu": 0.5,
|
||||
"HBoostSevereJankThreshold": 8,
|
||||
"HBoostUclampMinCeilingRange": [480, 722],
|
||||
"HBoostUclampMinFloorRange": [230, 410],
|
||||
"JankCheckTimeFactor": 1.2,
|
||||
"LowFrameRateThreshold": 25,
|
||||
"MaxRecordsNum": 300
|
||||
"StaleTimeFactor": 15.0
|
||||
},
|
||||
{
|
||||
"Name": "SYSTEM_UI_PROFILE",
|
||||
"PID_On": true,
|
||||
"PID_Po": 2.0,
|
||||
"PID_Pu": 1.0,
|
||||
"PID_I": 0.0,
|
||||
"PID_I_Init": 200,
|
||||
"PID_I_High": 512,
|
||||
"PID_I_Low": -30,
|
||||
"PID_Do": 500.0,
|
||||
"PID_Du": 0.0,
|
||||
"UclampMin_On": true,
|
||||
"UclampMin_Init": 182,
|
||||
"UclampMin_LoadUp": 730,
|
||||
"UclampMin_LoadReset": 730,
|
||||
"UclampMin_High": 514,
|
||||
"UclampMin_Low": 2,
|
||||
"UclampMax_EfficientBase": 500,
|
||||
"UclampMax_EfficientOffset": 200,
|
||||
"Name": "UiHighBoostWithoutPid",
|
||||
"PID_On": false,
|
||||
"PID_Po": 0,
|
||||
"PID_Pu": 0,
|
||||
"PID_I": 0,
|
||||
"PID_I_Init": 0,
|
||||
"PID_I_High": 0,
|
||||
"PID_I_Low": 0,
|
||||
"PID_Do": 0,
|
||||
"PID_Du": 0,
|
||||
"SamplingWindow_P": 1,
|
||||
"SamplingWindow_I": 0,
|
||||
"SamplingWindow_I": 1,
|
||||
"SamplingWindow_D": 1,
|
||||
"ReportingRateLimitNs": 166666660,
|
||||
"UclampMin_On": true,
|
||||
"UclampMin_Init": 250,
|
||||
"UclampMin_High": 197,
|
||||
"UclampMin_Low": 197,
|
||||
"ReportingRateLimitNs": 1,
|
||||
"EarlyBoost_On": false,
|
||||
"EarlyBoost_TimeFactor": 0.0,
|
||||
"TargetTimeFactor": 1.0,
|
||||
"StaleTimeFactor": 15.0,
|
||||
"HeuristicBoost_On": true,
|
||||
"HBoostModerateJankThreshold": 2,
|
||||
"HBoostOffMaxAvgDurRatio": 4.0,
|
||||
"HBoostSevereJankPidPu": 0.5,
|
||||
"HBoostSevereJankThreshold": 8,
|
||||
"HBoostUclampMinCeilingRange": [480, 722],
|
||||
"HBoostUclampMinFloorRange": [230, 410],
|
||||
"JankCheckTimeFactor": 1.2,
|
||||
"LowFrameRateThreshold": 25,
|
||||
"MaxRecordsNum": 300
|
||||
"StaleTimeFactor": 5.0
|
||||
},
|
||||
{
|
||||
"Name": "UiLowBoostWithoutPid",
|
||||
"PID_On": false,
|
||||
"PID_Po": 0,
|
||||
"PID_Pu": 0,
|
||||
"PID_I": 0,
|
||||
"PID_I_Init": 0,
|
||||
"PID_I_High": 0,
|
||||
"PID_I_Low": 0,
|
||||
"PID_Do": 0,
|
||||
"PID_Du": 0,
|
||||
"SamplingWindow_P": 1,
|
||||
"SamplingWindow_I": 1,
|
||||
"SamplingWindow_D": 1,
|
||||
"UclampMin_On": true,
|
||||
"UclampMin_Init": 250,
|
||||
"UclampMin_High": 53,
|
||||
"UclampMin_Low": 53,
|
||||
"ReportingRateLimitNs": 1,
|
||||
"EarlyBoost_On": false,
|
||||
"EarlyBoost_TimeFactor": 0.0,
|
||||
"TargetTimeFactor": 1.0,
|
||||
"StaleTimeFactor": 5.0
|
||||
},
|
||||
{
|
||||
"Name": "UiLowNoneBoost",
|
||||
"PID_On": false,
|
||||
"PID_Po": 0,
|
||||
"PID_Pu": 0,
|
||||
"PID_I": 0,
|
||||
"PID_I_Init": 0,
|
||||
"PID_I_High": 0,
|
||||
"PID_I_Low": 0,
|
||||
"PID_Do": 0,
|
||||
"PID_Du": 0,
|
||||
"SamplingWindow_P": 1,
|
||||
"SamplingWindow_I": 1,
|
||||
"SamplingWindow_D": 1,
|
||||
"UclampMin_On": true,
|
||||
"UclampMin_Init": 250,
|
||||
"UclampMin_High": 0,
|
||||
"UclampMin_Low": 0,
|
||||
"ReportingRateLimitNs": 1,
|
||||
"EarlyBoost_On": false,
|
||||
"EarlyBoost_TimeFactor": 0.0,
|
||||
"TargetTimeFactor": 1.0,
|
||||
"StaleTimeFactor": 5.0
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# All blobs below are extracted from the release mentioned in proprietary-files.txt
|
||||
vendor/apex/com.google.android.widevine-13130248.apex
|
||||
vendor/apex/com.google.android.widevine-wv_341113000.apex
|
||||
vendor/apex/com.google.pixel.camera.hal.apex
|
||||
vendor/apex/com.google.pixel.wifi.ext.apex
|
||||
vendor/bin/aocd
|
||||
@@ -7,14 +7,12 @@ vendor/bin/aocxd
|
||||
vendor/bin/hw/android.hardware.authsecret-service.citadel
|
||||
vendor/bin/hw/android.hardware.biometrics.fingerprint-service.fpc42
|
||||
vendor/bin/hw/android.hardware.bluetooth@1.1-service.synabtlinux
|
||||
vendor/bin/hw/android.hardware.composer.hwc3-service.pixel
|
||||
vendor/bin/hw/android.hardware.confirmationui-service.trusty.vendor
|
||||
vendor/bin/hw/android.hardware.contexthub-service.generic
|
||||
vendor/bin/hw/android.hardware.drm-service.castkey
|
||||
vendor/bin/hw/android.hardware.edgetpu.logging@service-edgetpu-logging
|
||||
vendor/bin/hw/android.hardware.graphics.allocator-V2-service
|
||||
vendor/bin/hw/android.hardware.gxp.logging@service-gxp-logging
|
||||
vendor/bin/hw/android.hardware.identity@1.0-service.citadel
|
||||
vendor/bin/hw/android.hardware.input.processor-service
|
||||
vendor/bin/hw/android.hardware.memtrack-service.pixel
|
||||
vendor/bin/hw/android.hardware.neuralnetworks@service-darwinn-aidl
|
||||
vendor/bin/hw/android.hardware.oemlock-service.citadel
|
||||
vendor/bin/hw/android.hardware.qorvo.uwb.service
|
||||
@@ -23,6 +21,7 @@ vendor/bin/hw/android.hardware.weaver-service.citadel
|
||||
vendor/bin/hw/battery_mitigation
|
||||
vendor/bin/hw/citadel_updater
|
||||
vendor/bin/hw/citadeld
|
||||
vendor/bin/hw/com.google.edgetpu.dba-service
|
||||
vendor/bin/hw/com.google.edgetpu.tachyon-service
|
||||
vendor/bin/hw/google.hardware.media.c2@1.0-service
|
||||
vendor/bin/hw/init_citadel
|
||||
@@ -33,32 +32,48 @@ vendor/bin/hw/vendor.google.edgetpu_vendor_service@1.0-service
|
||||
vendor/bin/hw/vendor.google.google_battery-service
|
||||
vendor/bin/hw/vendor.google.radioext@1.0-service
|
||||
vendor/bin/init.camera.set-interrupts-ownership
|
||||
vendor/bin/pixelstats-vendor
|
||||
vendor/bin/securedpud.slider
|
||||
vendor/bin/sscoredump
|
||||
vendor/bin/trusty_metricsd
|
||||
vendor/bin/twoshay
|
||||
vendor/bin/umfw_stat_tool
|
||||
vendor/bin/usf_stats
|
||||
vendor/etc/Khronos/OpenCL/vendors/ARM.icd
|
||||
vendor/etc/aoc/waveform_aec_graph.tflite
|
||||
vendor/etc/atc_profile.json
|
||||
vendor/etc/chre/activity.napp_header
|
||||
vendor/etc/chre/activity.so
|
||||
vendor/etc/chre/ambient.napp_header
|
||||
vendor/etc/chre/ambient.so
|
||||
vendor/etc/chre/ambient_micro.napp_header
|
||||
vendor/etc/chre/ambient_micro.so
|
||||
vendor/etc/chre/ambient_volume.napp_header
|
||||
vendor/etc/chre/ambient_volume.so
|
||||
vendor/etc/chre/capo.napp_header
|
||||
vendor/etc/chre/capo.so
|
||||
vendor/etc/chre/ar_bridge.napp_header
|
||||
vendor/etc/chre/ar_bridge.so
|
||||
vendor/etc/chre/blue.napp_header
|
||||
vendor/etc/chre/blue.so
|
||||
vendor/etc/chre/cc.napp_header
|
||||
vendor/etc/chre/cc.so
|
||||
vendor/etc/chre/drop.napp_header
|
||||
vendor/etc/chre/drop.so
|
||||
vendor/etc/chre/geofence.napp_header
|
||||
vendor/etc/chre/geofence.so
|
||||
vendor/etc/chre/health.napp_header
|
||||
vendor/etc/chre/health.so
|
||||
vendor/etc/chre/imu_cal.napp_header
|
||||
vendor/etc/chre/imu_cal.so
|
||||
vendor/etc/chre/ip_health.napp_header
|
||||
vendor/etc/chre/ip_health.so
|
||||
vendor/etc/chre/libchre_log_database.bin
|
||||
vendor/etc/chre/motiondetector.napp_header
|
||||
vendor/etc/chre/motiondetector.so
|
||||
vendor/etc/chre/nearby.napp_header
|
||||
vendor/etc/chre/nearby.so
|
||||
vendor/etc/chre/preloaded_nanoapps.json
|
||||
vendor/etc/chre/sd.napp_header
|
||||
vendor/etc/chre/sd.so
|
||||
vendor/etc/chre/smartbatching.napp_header
|
||||
vendor/etc/chre/smartbatching.so
|
||||
vendor/etc/chre/system_signal_hub.napp_header
|
||||
vendor/etc/chre/system_signal_hub.so
|
||||
vendor/etc/chre/uv_exposure.napp_header
|
||||
@@ -69,11 +84,11 @@ vendor/etc/init/Exynos_C2.rc
|
||||
vendor/etc/init/android.hardware.authsecret-service.citadel.rc
|
||||
vendor/etc/init/android.hardware.bluetooth@1.1-service.synabtlinux.rc
|
||||
vendor/etc/init/android.hardware.camera.provider@2.7-service-google-apex.rc
|
||||
vendor/etc/init/android.hardware.confirmationui-service.trusty.vendor.rc
|
||||
vendor/etc/init/android.hardware.contexthub-service.generic.rc
|
||||
vendor/etc/init/android.hardware.drm-service.castkey.rc
|
||||
vendor/etc/init/android.hardware.edgetpu.logging@service-edgetpu-logging.rc
|
||||
vendor/etc/init/android.hardware.graphics.allocator2-aidl-service.rc
|
||||
vendor/etc/init/android.hardware.gxp.logging@service-gxp-logging.rc
|
||||
vendor/etc/init/android.hardware.identity@1.0-service.citadel.rc
|
||||
vendor/etc/init/android.hardware.input.processor-service.rc
|
||||
vendor/etc/init/android.hardware.neuralnetworks@service-darwinn-aidl.rc
|
||||
vendor/etc/init/android.hardware.oemlock-service.citadel.rc
|
||||
@@ -83,19 +98,21 @@ vendor/etc/init/android.hardware.weaver-service.citadel.rc
|
||||
vendor/etc/init/aocd.rc
|
||||
vendor/etc/init/aocxd.rc
|
||||
vendor/etc/init/citadeld.rc
|
||||
vendor/etc/init/com.google.edgetpu.dba-service.rc
|
||||
vendor/etc/init/com.google.edgetpu.tachyon-service.rc
|
||||
vendor/etc/init/fingerprint-fpc42.rc
|
||||
vendor/etc/init/google.hardware.media.c2@1.0-service.rc
|
||||
vendor/etc/init/hwc3-pixel.rc
|
||||
vendor/etc/init/init.camera.set-interrupts-ownership.rc
|
||||
vendor/etc/init/init.sscoredump.rc
|
||||
vendor/etc/init/init.usf.rc
|
||||
vendor/etc/init/init_dauntless.rc
|
||||
vendor/etc/init/memtrack.rc
|
||||
vendor/etc/init/pixelstats-vendor.gs201.rc
|
||||
vendor/etc/init/libg3a_gabc.rc
|
||||
vendor/etc/init/libg3a_gaf.rc
|
||||
vendor/etc/init/libg3a_ghawb.rc
|
||||
vendor/etc/init/qorvo.uwb-calib.rc
|
||||
vendor/etc/init/qorvo.uwb-service.rc
|
||||
vendor/etc/init/samsung.hardware.media.c2@1.2-service.rc
|
||||
vendor/etc/init/securedpud.slider.rc
|
||||
vendor/etc/init/trusty_metricsd.rc
|
||||
vendor/etc/init/twoshay.rc
|
||||
vendor/etc/init/vendor.dolby.media.c2@1.0-service.rc
|
||||
@@ -105,12 +122,14 @@ vendor/etc/init/vendor.google.edgetpu_vendor_service@1.0-service.rc
|
||||
vendor/etc/init/vendor.google.google_battery-default.rc
|
||||
vendor/etc/init/vendor.google.radioext@1.0-service.rc
|
||||
vendor/etc/input_classifier_model.pb
|
||||
vendor/etc/libg3a_standalone_gabc_rc
|
||||
vendor/etc/libg3a_standalone_gaf_rc
|
||||
vendor/etc/libg3a_standalone_ghawb_rc
|
||||
vendor/etc/media_codecs_aosp_c2.xml
|
||||
vendor/etc/media_codecs_dolby_c2.xml
|
||||
vendor/etc/modem_stat.conf
|
||||
vendor/etc/permissions/android.hardware.strongbox_keystore.xml
|
||||
vendor/etc/permissions/com.google.android.camera.experimental2022.xml
|
||||
vendor/etc/pixelstats_config.json
|
||||
vendor/etc/public.libraries.txt
|
||||
vendor/etc/seccomp_policy/codec2.vendor.base.policy
|
||||
vendor/etc/seccomp_policy/codec2.vendor.ext.policy
|
||||
@@ -126,22 +145,19 @@ vendor/etc/uwb/calib_paths
|
||||
vendor/etc/uwb/libuwb-uci.conf
|
||||
vendor/etc/vintf/manifest/android.hardware.authsecret-service.citadel.xml
|
||||
vendor/etc/vintf/manifest/android.hardware.camera.provider@2.7-service-google-apex.xml
|
||||
vendor/etc/vintf/manifest/android.hardware.confirmationui-service.trusty.vendor.xml
|
||||
vendor/etc/vintf/manifest/android.hardware.contexthub-service.generic.xml
|
||||
vendor/etc/vintf/manifest/android.hardware.identity.strongbox.xml
|
||||
vendor/etc/vintf/manifest/android.hardware.neuralnetworks@service-darwinn-aidl.xml
|
||||
vendor/etc/vintf/manifest/android.hardware.oemlock-service.citadel.xml
|
||||
vendor/etc/vintf/manifest/android.hardware.security.keymint-service.citadel.xml
|
||||
vendor/etc/vintf/manifest/android.hardware.weaver-service.citadel.xml
|
||||
vendor/etc/vintf/manifest/com.google.edgetpu.dba-service.xml
|
||||
vendor/etc/vintf/manifest/com.google.edgetpu.tachyon-service.xml
|
||||
vendor/etc/vintf/manifest/fingerprint-fpc42.xml
|
||||
vendor/etc/vintf/manifest/hwc3-default.xml
|
||||
vendor/etc/vintf/manifest/manifest.xml
|
||||
vendor/etc/vintf/manifest/manifest_android.hardware.drm-service.castkey.xml
|
||||
vendor/etc/vintf/manifest/manifest_aocx.xml
|
||||
vendor/etc/vintf/manifest/manifest_gralloc_aidl2.xml
|
||||
vendor/etc/vintf/manifest/manifest_input.processor-service.xml
|
||||
vendor/etc/vintf/manifest/manifest_radioext.xml
|
||||
vendor/etc/vintf/manifest/memtrack.xml
|
||||
vendor/etc/vintf/manifest/pixel-display-default.xml
|
||||
vendor/etc/vintf/manifest/manifest_wifi_ext_aidl.xml
|
||||
vendor/etc/vintf/manifest/qorvo.uwb-service.xml
|
||||
vendor/etc/vintf/manifest/vendor.dolby.media.c2@1.0-service.xml
|
||||
vendor/etc/vintf/manifest/vendor.google.battery_mitigation-default.xml
|
||||
@@ -152,6 +168,11 @@ vendor/firmware/aoc.bin
|
||||
vendor/firmware/bcmdhd.cal
|
||||
vendor/firmware/bcmdhd_clm.blob
|
||||
vendor/firmware/cast_auth.app
|
||||
vendor/firmware/cs40l26-calib.bin
|
||||
vendor/firmware/cs40l26-calib.wmfw
|
||||
vendor/firmware/cs40l26-svc.bin
|
||||
vendor/firmware/cs40l26.bin
|
||||
vendor/firmware/cs40l26.wmfw
|
||||
vendor/firmware/dauntless/d3m2.ec.bin
|
||||
vendor/firmware/dauntless/evt.ec.bin
|
||||
vendor/firmware/dauntless/proto11.ec.bin
|
||||
@@ -170,11 +191,8 @@ vendor/firmware/gxp_fw_core1
|
||||
vendor/firmware/gxp_fw_core2
|
||||
vendor/firmware/gxp_fw_core3
|
||||
vendor/firmware/logstrs.bin
|
||||
vendor/firmware/mali_csffw-r50p0.bin
|
||||
vendor/firmware/mali_csffw-r51p0.bin
|
||||
vendor/firmware/mali_csffw-r52p0.bin
|
||||
vendor/firmware/mali_csffw-r53p0.bin
|
||||
vendor/firmware/mali_csffw-r54p0.bin
|
||||
vendor/firmware/mali_csffw-r47p0.bin
|
||||
vendor/firmware/mali_csffw.bin
|
||||
vendor/firmware/mfc_fw.bin
|
||||
vendor/firmware/novatek_ts_fw.bin
|
||||
vendor/firmware/novatek_ts_fw_csot.bin
|
||||
@@ -186,8 +204,6 @@ vendor/firmware/syna/BTFW_B.hcd
|
||||
vendor/framework/com.google.android.camera.experimental2022.jar
|
||||
vendor/lib/aoc_aud_ext.so
|
||||
vendor/lib/aoc_audio_stereo_spatializer.so
|
||||
vendor/lib/aocx-V2-ndk.so
|
||||
vendor/lib/arm.graphics-V1-ndk.so
|
||||
vendor/lib/audio_adapted_info_features.so
|
||||
vendor/lib/audio_amcs_ext.so
|
||||
vendor/lib/audio_apmg3_aoc.so
|
||||
@@ -200,33 +216,31 @@ vendor/lib/audio_spk_35l41.so
|
||||
vendor/lib/audio_tunnel_aoc.so
|
||||
vendor/lib/audio_usb_aoc.so
|
||||
vendor/lib/audio_waves_aoc.so
|
||||
vendor/lib/com.google.edgetpu_app_service-V3-ndk.so;MODULE_SUFFIX=_vendor
|
||||
vendor/lib/com.google.edgetpu_app_service-V3-ndk.so;MODULE_SUFFIX=-vendor
|
||||
vendor/lib/egl/libGLES_mali.so
|
||||
vendor/lib/gxp_metrics_logger.so
|
||||
vendor/lib/hw/audio.platform.aoc.so
|
||||
vendor/lib/hw/audio.primary.gs201.so
|
||||
vendor/lib/hw/mapper.pixel.so
|
||||
vendor/lib/hw/sound_trigger.primary.gs201.so
|
||||
vendor/lib/hw/vendor.google.whitechapel.audio.audioext@4.0-impl.so
|
||||
vendor/lib/hw/vulkan.mali.so
|
||||
vendor/lib/libAlgFx_HiFi3z.so
|
||||
vendor/lib/libExynosC2ComponentStore.so
|
||||
vendor/lib/libExynosC2H263Dec.so
|
||||
vendor/lib/libExynosC2H263Enc.so
|
||||
vendor/lib/libExynosC2H264Dec.so
|
||||
vendor/lib/libExynosC2H264Enc.so
|
||||
vendor/lib/libExynosC2HevcDec.so
|
||||
vendor/lib/libExynosC2HevcEnc.so
|
||||
vendor/lib/libExynosC2Mpeg4Dec.so
|
||||
vendor/lib/libExynosC2Mpeg4Enc.so
|
||||
vendor/lib/libExynosC2Vp8Dec.so
|
||||
vendor/lib/libExynosC2Vp8Enc.so
|
||||
vendor/lib/libExynosC2Vp9Dec.so
|
||||
vendor/lib/libExynosC2Vp9Enc.so
|
||||
vendor/lib/libExynosC2H263Dec.so;DISABLE_CHECKELF
|
||||
vendor/lib/libExynosC2H263Enc.so;DISABLE_CHECKELF
|
||||
vendor/lib/libExynosC2H264Dec.so;DISABLE_CHECKELF
|
||||
vendor/lib/libExynosC2H264Enc.so;DISABLE_CHECKELF
|
||||
vendor/lib/libExynosC2HevcDec.so;DISABLE_CHECKELF
|
||||
vendor/lib/libExynosC2HevcEnc.so;DISABLE_CHECKELF
|
||||
vendor/lib/libExynosC2Mpeg4Dec.so;DISABLE_CHECKELF
|
||||
vendor/lib/libExynosC2Mpeg4Enc.so;DISABLE_CHECKELF
|
||||
vendor/lib/libExynosC2Vp8Dec.so;DISABLE_CHECKELF
|
||||
vendor/lib/libExynosC2Vp8Enc.so;DISABLE_CHECKELF
|
||||
vendor/lib/libExynosC2Vp9Dec.so;DISABLE_CHECKELF
|
||||
vendor/lib/libExynosC2Vp9Enc.so;DISABLE_CHECKELF
|
||||
vendor/lib/libOpenCL-pixel.so
|
||||
vendor/lib/libOpenCL.so
|
||||
vendor/lib/lib_aion_buffer.so
|
||||
vendor/lib/libacryl.so
|
||||
vendor/lib/libacryl_hdr_plugin.so
|
||||
vendor/lib/libadaptedinfo.so
|
||||
vendor/lib/libamcsextfile.so
|
||||
vendor/lib/libaoc.so
|
||||
@@ -238,9 +252,6 @@ vendor/lib/libcast_auth.so
|
||||
vendor/lib/libcast_auth_aidl-cpp.so
|
||||
vendor/lib/libdisplaycolor.so
|
||||
vendor/lib/libedgetpu_client.google.so
|
||||
vendor/lib/libedgetpu_tachyon.google.so
|
||||
vendor/lib/libexynosutils.so
|
||||
vendor/lib/libexynosv4l2.so
|
||||
vendor/lib/libfvsam_prm_parser.so
|
||||
vendor/lib/libgc2_av1_dec.so
|
||||
vendor/lib/libgc2_base.so
|
||||
@@ -249,35 +260,32 @@ vendor/lib/libgc2_log.so
|
||||
vendor/lib/libgc2_store.so
|
||||
vendor/lib/libgc2_utils.so
|
||||
vendor/lib/libgpudataproducer.so
|
||||
vendor/lib/libhwjpeg.so
|
||||
vendor/lib/libion_exynos.so
|
||||
vendor/lib/libion_google.so
|
||||
vendor/lib/libmahalcontroller.so
|
||||
vendor/lib/libmetrics_logger.so
|
||||
vendor/lib/libqorvo_uwb_params_nfcc.so
|
||||
vendor/lib/libsensorsuez.so
|
||||
vendor/lib/libspeechenhancer.so
|
||||
vendor/lib/libstreset21.so
|
||||
vendor/lib/libsueznanoappclients.so
|
||||
vendor/lib/libusf.so
|
||||
vendor/lib/libvendorgraphicbuffer.so
|
||||
vendor/lib/sensors.usf.so
|
||||
vendor/lib/soundfx/liboffloadeffect.so
|
||||
vendor/lib/soundfx/libspatialaudio.so
|
||||
vendor/lib/vendor-pixelatoms-cpp.so
|
||||
vendor/lib/vendor.google.battery_mitigation-V1-ndk.so
|
||||
vendor/lib/vendor.google.battery_mitigation.service_static.so
|
||||
vendor/lib/vendor.google.whitechapel.audio.audioext@4.0.so
|
||||
vendor/lib64/android.hardware.authsecret-impl.nos.so
|
||||
vendor/lib64/android.hardware.confirmationui.secure_input_citadel.so
|
||||
vendor/lib64/android.hardware.identity@1.0-impl.nos.so
|
||||
vendor/lib64/android.hardware.keymaster@4.1-impl.nos.so
|
||||
vendor/lib64/android.hardware.oemlock-impl.nos.so
|
||||
vendor/lib64/android.hardware.security.keymint-impl.nos.so
|
||||
vendor/lib64/android.hardware.weaver-bridge.nos.so
|
||||
vendor/lib64/android.hardware.weaver-impl.nos.so
|
||||
vendor/lib64/android.hardware.weaver2-impl.nos.so
|
||||
vendor/lib64/aoc_aconfig_flags_c_lib.so
|
||||
vendor/lib64/aoc_aud_ext.so
|
||||
vendor/lib64/aoc_audio_stereo_spatializer.so
|
||||
vendor/lib64/aocx-V2-ndk.so
|
||||
vendor/lib64/arm.graphics-V1-ndk.so
|
||||
vendor/lib64/audio_adapted_info_features.so
|
||||
vendor/lib64/audio_amcs_ext.so
|
||||
vendor/lib64/audio_apmg3_aoc.so
|
||||
@@ -292,47 +300,44 @@ vendor/lib64/audio_usb_aoc.so
|
||||
vendor/lib64/audio_waves_aoc.so
|
||||
vendor/lib64/biometricsuez.so
|
||||
vendor/lib64/com.fingerprints42.extension@1.0.so
|
||||
vendor/lib64/com.google.edgetpu.tachyon-ndk.so
|
||||
vendor/lib64/com.google.edgetpu_app_service-V3-ndk.so;MODULE_SUFFIX=_vendor
|
||||
vendor/lib64/com.google.edgetpu_vendor_service-V2-ndk.so;MODULE_SUFFIX=_vendor
|
||||
vendor/lib64/com.google.edgetpu.dba-V1-ndk.so
|
||||
vendor/lib64/com.google.edgetpu.tachyon-V1-ndk.so
|
||||
vendor/lib64/com.google.edgetpu_app_service-V3-ndk.so;MODULE_SUFFIX=-vendor
|
||||
vendor/lib64/com.google.edgetpu_vendor_service-V2-ndk.so;MODULE_SUFFIX=-vendor
|
||||
vendor/lib64/com.google.hardware.biometrics.parcelable.fingerprint.PressToAuthParcelable-V1-ndk.so
|
||||
vendor/lib64/com.google.hardware.biometrics.sidefps.fingerprint-ext-V1-ndk.so
|
||||
vendor/lib64/com.google.input-V2-ndk.so
|
||||
vendor/lib64/com.google.input-V5-ndk.so
|
||||
vendor/lib64/com.google.input-V3-ndk.so
|
||||
vendor/lib64/egl/libGLES_mali.so
|
||||
vendor/lib64/fake_gxp_telemetry_reader.so
|
||||
vendor/lib64/fpc42_suez.so
|
||||
vendor/lib64/fpc_util.so
|
||||
vendor/lib64/gxp_metrics_logger.so
|
||||
vendor/lib64/gxp_telemetry_reader.so
|
||||
vendor/lib64/hw/android.hardware.graphics.allocator-aidl-impl.so
|
||||
vendor/lib64/hw/audio.platform.aoc.so
|
||||
vendor/lib64/hw/audio.primary.gs201.so
|
||||
vendor/lib64/hw/fingerprint.fpc.so
|
||||
vendor/lib64/hw/mapper.pixel.so
|
||||
vendor/lib64/hw/sound_trigger.primary.gs201.so
|
||||
vendor/lib64/hw/vendor.google.whitechapel.audio.audioext@4.0-impl.so
|
||||
vendor/lib64/hw/vulkan.mali.so
|
||||
vendor/lib64/libAlgFx_HiFi3z.so
|
||||
vendor/lib64/libExynosC2ComponentStore.so
|
||||
vendor/lib64/libExynosC2H263Dec.so
|
||||
vendor/lib64/libExynosC2H263Enc.so
|
||||
vendor/lib64/libExynosC2H264Dec.so
|
||||
vendor/lib64/libExynosC2H264Enc.so
|
||||
vendor/lib64/libExynosC2HevcDec.so
|
||||
vendor/lib64/libExynosC2HevcEnc.so
|
||||
vendor/lib64/libExynosC2Mpeg4Dec.so
|
||||
vendor/lib64/libExynosC2Mpeg4Enc.so
|
||||
vendor/lib64/libExynosC2Vp8Dec.so
|
||||
vendor/lib64/libExynosC2Vp8Enc.so
|
||||
vendor/lib64/libExynosC2Vp9Dec.so
|
||||
vendor/lib64/libExynosC2Vp9Enc.so
|
||||
vendor/lib64/libExynosHWCService.so
|
||||
vendor/lib64/libExynosC2H263Dec.so;DISABLE_CHECKELF
|
||||
vendor/lib64/libExynosC2H263Enc.so;DISABLE_CHECKELF
|
||||
vendor/lib64/libExynosC2H264Dec.so;DISABLE_CHECKELF
|
||||
vendor/lib64/libExynosC2H264Enc.so;DISABLE_CHECKELF
|
||||
vendor/lib64/libExynosC2HevcDec.so;DISABLE_CHECKELF
|
||||
vendor/lib64/libExynosC2HevcEnc.so;DISABLE_CHECKELF
|
||||
vendor/lib64/libExynosC2Mpeg4Dec.so;DISABLE_CHECKELF
|
||||
vendor/lib64/libExynosC2Mpeg4Enc.so;DISABLE_CHECKELF
|
||||
vendor/lib64/libExynosC2Vp8Dec.so;DISABLE_CHECKELF
|
||||
vendor/lib64/libExynosC2Vp8Enc.so;DISABLE_CHECKELF
|
||||
vendor/lib64/libExynosC2Vp9Dec.so;DISABLE_CHECKELF
|
||||
vendor/lib64/libExynosC2Vp9Enc.so;DISABLE_CHECKELF
|
||||
vendor/lib64/libOpenCL-pixel.so
|
||||
vendor/lib64/libOpenCL.so
|
||||
vendor/lib64/lib_aion_buffer.so
|
||||
vendor/lib64/lib_reader.so
|
||||
vendor/lib64/libacryl.so
|
||||
vendor/lib64/libacryl_hdr_plugin.so
|
||||
vendor/lib64/libadaptedinfo.so
|
||||
vendor/lib64/libamcsextfile.so
|
||||
vendor/lib64/libaoc.so
|
||||
@@ -345,18 +350,14 @@ vendor/lib64/libcast_auth_aidl-cpp.so
|
||||
vendor/lib64/libcodec2_soft_ddpdec.so
|
||||
vendor/lib64/libcodec2_store_dolby.so
|
||||
vendor/lib64/libdapparamstorage.so
|
||||
vendor/lib64/libdarwinn_dba_hal_runtime.so
|
||||
vendor/lib64/libdarwinn_hal.so
|
||||
vendor/lib64/libdeccfg.so
|
||||
vendor/lib64/libdeeptouch.so
|
||||
vendor/lib64/libdisplaycolor.so
|
||||
vendor/lib64/libdrmresource.so
|
||||
vendor/lib64/libedgetpu_client.google.so
|
||||
vendor/lib64/libedgetpu_tachyon.google.so
|
||||
vendor/lib64/libedgetpu_tflite_compiler.so
|
||||
vendor/lib64/libedgetpu_util.so
|
||||
vendor/lib64/libexynosdisplay.so
|
||||
vendor/lib64/libexynosutils.so
|
||||
vendor/lib64/libexynosv4l2.so
|
||||
vendor/lib64/libfvsam_prm_parser.so
|
||||
vendor/lib64/libgc2_av1_dec.so
|
||||
vendor/lib64/libgc2_base.so
|
||||
@@ -367,27 +368,21 @@ vendor/lib64/libgc2_utils.so
|
||||
vendor/lib64/libgpudataproducer.so
|
||||
vendor/lib64/libgril_oem-google.so
|
||||
vendor/lib64/libgxp.so
|
||||
vendor/lib64/libhwjpeg.so
|
||||
vendor/lib64/libion_exynos.so
|
||||
vendor/lib64/libion_google.so
|
||||
vendor/lib64/libmahalcontroller.so
|
||||
vendor/lib64/libmemtrack-pixel.so
|
||||
vendor/lib64/libmetrics_logger.so
|
||||
vendor/lib64/libnos_citadeld_proxy.so
|
||||
vendor/lib64/liboemcrypto.so
|
||||
vendor/lib64/libpixelstats.so
|
||||
vendor/lib64/libqorvo_uwb_params_nfcc.so
|
||||
vendor/lib64/libsensorsuez.so
|
||||
vendor/lib64/libsit_oem.so
|
||||
vendor/lib64/libsit_oem_proto.so
|
||||
vendor/lib64/libspeech_waveformaec_runner.so
|
||||
vendor/lib64/libspeechenhancer.so
|
||||
vendor/lib64/libstreset21.so
|
||||
vendor/lib64/libsueznanoappclients.so
|
||||
vendor/lib64/libtachyon_core.so
|
||||
vendor/lib64/libtouchflow.so
|
||||
vendor/lib64/libusf.so
|
||||
vendor/lib64/libvendorgraphicbuffer.so
|
||||
vendor/lib64/sensors.usf.so
|
||||
vendor/lib64/sideFpsSuez.so
|
||||
vendor/lib64/soundfx/liboffloadeffect.so
|
||||
@@ -3,8 +3,8 @@
|
||||
# product partition
|
||||
|
||||
# AiAi
|
||||
product/priv-app/DeviceIntelligenceNetworkPrebuilt-astrea_20240329.00_RC02/DeviceIntelligenceNetworkPrebuilt-astrea_20240329.00_RC02.apk;PRESIGNED
|
||||
product/priv-app/DevicePersonalizationPrebuiltPixelTablet2023-bfinal_aiai_20250217.00_RC08/DevicePersonalizationPrebuiltPixelTablet2023-bfinal_aiai_20250217.00_RC08.apk;PRESIGNED
|
||||
product/priv-app/DeviceIntelligenceNetworkPrebuilt-v.U.14.playstore/DeviceIntelligenceNetworkPrebuilt-v.U.14.playstore.apk;PRESIGNED
|
||||
product/priv-app/DevicePersonalizationPrebuiltPixelTablet2023-v.U.14.playstore/DevicePersonalizationPrebuiltPixelTablet2023-v.U.14.playstore.apk;PRESIGNED
|
||||
|
||||
# Audio
|
||||
product/etc/ambient/matcher_tah.leveldb
|
||||
@@ -20,11 +20,6 @@ product/priv-app/GoogleCamera/GoogleCamera.apk;OVERRIDES=Aperture,Camera2;PRESIG
|
||||
product/etc/permissions/androidx.camera.extensions.impl.xml
|
||||
product/priv-app/PixelCameraServices/PixelCameraServices.apk;PRESIGNED
|
||||
|
||||
# Camera services
|
||||
product/etc/permissions/com.google.pixel.camera.connectivity.impl.xml
|
||||
product/etc/permissions/com.google.pixel.camera.services.cameraidremapper.impl.xml
|
||||
product/etc/permissions/com.google.pixel.camera.services.lyricconfigprovider.impl.xml
|
||||
|
||||
# Cast
|
||||
product/etc/default-permissions/default-permissions_SmartDisplayPrebuilt.xml
|
||||
product/etc/permissions/com.google.android.apps.mediashell.xml
|
||||
@@ -38,8 +33,8 @@ product/etc/permissions/com.google.android.apps.nest.dockmanager.app.xml
|
||||
product/etc/sysconfig/google-nest-hiddenapi-package-whitelist.xml
|
||||
product/etc/sysconfig/pixel_docking_experience_2022.xml
|
||||
product/priv-app/DockManagerPrebuilt/DockManagerPrebuilt.apk;PRESIGNED
|
||||
product/priv-app/PrebuiltGmsCore/m/optional/HomegraphPrebuilt/HomegraphPrebuilt.apk:product/priv-app/HomegraphPrebuilt/HomegraphPrebuilt.apk;PRESIGNED
|
||||
product/priv-app/PrebuiltGmsCore/m/optional/UsoniaPrebuilt/UsoniaPrebuilt.apk:product/priv-app/UsoniaPrebuilt/UsoniaPrebuilt.apk;PRESIGNED
|
||||
product/priv-app/PrebuiltGmsCore/m/optional/HomegraphPrebuilt.apk:product/priv-app/HomegraphPrebuilt/HomegraphPrebuilt.apk;PRESIGNED
|
||||
product/priv-app/PrebuiltGmsCore/m/optional/UsoniaPrebuilt.apk:product/priv-app/UsoniaPrebuilt/UsoniaPrebuilt.apk;PRESIGNED
|
||||
|
||||
# Hardware info
|
||||
product/etc/permissions/com.google.android.hardwareinfo.xml
|
||||
@@ -81,16 +76,6 @@ system_ext/etc/permissions/com.google.android.camerax.extensions.xml
|
||||
system_ext/framework/com.google.android.camera.extensions.jar
|
||||
system_ext/framework/com.google.android.camerax.extensions.jar
|
||||
|
||||
# Camera services
|
||||
system_ext/app/PersistentBackgroundCameraServices/PersistentBackgroundCameraServices.apk
|
||||
system_ext/etc/permissions/com.google.pixel.camera.connectivity.xml
|
||||
system_ext/etc/permissions/com.google.pixel.camera.services.cameraidremapper.xml
|
||||
system_ext/etc/permissions/com.google.pixel.camera.services.lyricconfigprovider.xml
|
||||
system_ext/etc/vintf/manifest/com.google.pixel.camera.services@1.0-service-google.xml
|
||||
system_ext/framework/com.google.pixel.camera.connectivity.jar
|
||||
system_ext/framework/com.google.pixel.camera.services.cameraidremapper.jar
|
||||
system_ext/framework/com.google.pixel.camera.services.lyricconfigprovider.jar
|
||||
|
||||
# Dock
|
||||
system_ext/priv-app/DockSetup/DockSetup.apk;PRESIGNED
|
||||
|
||||
@@ -99,8 +84,10 @@ system_ext/bin/hw/vendor.google.edgetpu_app_service@1.0-service
|
||||
system_ext/etc/init/vendor.google.edgetpu_app_service@1.0-service.rc
|
||||
system_ext/etc/public.libraries-google.txt
|
||||
system_ext/etc/vintf/manifest/vendor.google.edgetpu_app_service@1.0-service.xml
|
||||
system_ext/lib/libedgetpu_dba.google.so
|
||||
system_ext/lib64/com.google.edgetpu_app_service-V3-ndk.so
|
||||
system_ext/lib64/com.google.edgetpu_vendor_service-V2-ndk.so
|
||||
system_ext/lib64/libedgetpu_dba.google.so
|
||||
|
||||
# HBM
|
||||
system_ext/lib64/libhbmsvmanager_jni.so;SYMLINK=system_ext/priv-app/HbmSVManager/lib/arm64/libhbmsvmanager_jni.so
|
||||
@@ -122,11 +109,3 @@ system_ext/priv-app/grilservice/grilservice.apk;PRESIGNED
|
||||
# UWB
|
||||
system_ext/etc/permissions/privapp-permissions-qorvo.xml
|
||||
system_ext/priv-app/UwbVendorService/UwbVendorService.apk;PRESIGNED
|
||||
|
||||
# vendor partition
|
||||
|
||||
# Touchscreen
|
||||
vendor/firmware/novatek_ts_fw.bin:recovery/root/vendor/firmware/novatek_ts_fw.bin
|
||||
vendor/firmware/novatek_ts_fw_csot.bin:recovery/root/vendor/firmware/novatek_ts_fw_csot.bin
|
||||
vendor/firmware/novatek_ts_mp.bin:recovery/root/vendor/firmware/novatek_ts_mp.bin
|
||||
vendor/firmware/novatek_ts_mp_csot.bin:recovery/root/vendor/firmware/novatek_ts_mp_csot.bin
|
||||
3
rro_overlays/UwbOverlay/OWNERS
Normal file
3
rro_overlays/UwbOverlay/OWNERS
Normal file
@@ -0,0 +1,3 @@
|
||||
# People who can approve changes for submission
|
||||
include platform/packages/modules/Uwb:/OWNERS
|
||||
victorliu@google.com
|
||||
@@ -63,10 +63,4 @@
|
||||
This works best with an FOV primer setting below 90 degrees to ensure that predictions are being
|
||||
used across the 90-degree threshold. -->
|
||||
<bool name="enable_azimuth_mirroring">false</bool>
|
||||
|
||||
<!-- Whether to use a persistent cache in the algorithm to determine country code or not.
|
||||
If enabled, will fallback to the cache to determine device location for
|
||||
UWB regulatory purposes when other sources (telephony, wifi, location, etc) is not available.
|
||||
-->
|
||||
<bool name = "persistent_cache_use_for_country_code_enabled">true</bool>
|
||||
</resources>
|
||||
|
||||
4
rro_overlays/WifiOverlay/OWNERS
Normal file
4
rro_overlays/WifiOverlay/OWNERS
Normal file
@@ -0,0 +1,4 @@
|
||||
# People who can approve changes for submission
|
||||
kumachang@google.com
|
||||
wangroger@google.com
|
||||
hsuvictor@google.com
|
||||
3
self-extractors/METADATA
Normal file
3
self-extractors/METADATA
Normal file
@@ -0,0 +1,3 @@
|
||||
third_party {
|
||||
license_type: NOTICE
|
||||
}
|
||||
12
self-extractors/PART1
Normal file
12
self-extractors/PART1
Normal file
@@ -0,0 +1,12 @@
|
||||
#
|
||||
# Usage is subject to the enclosed license agreement
|
||||
|
||||
echo
|
||||
echo The license for this software will now be displayed.
|
||||
echo You must agree to this license before using this software.
|
||||
echo
|
||||
echo -n Press Enter to view the license
|
||||
read dummy
|
||||
echo
|
||||
|
||||
more << __EOF__
|
||||
22
self-extractors/PART2
Normal file
22
self-extractors/PART2
Normal file
@@ -0,0 +1,22 @@
|
||||
__EOF__
|
||||
|
||||
if test $? != 0
|
||||
then
|
||||
echo ERROR: Couldn\'t display license file 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo
|
||||
|
||||
echo -n Type \"I ACCEPT\" if you agree to the terms of the license:\
|
||||
read typed
|
||||
|
||||
if test "$typed" != I\ ACCEPT
|
||||
then
|
||||
echo
|
||||
echo You didn\'t accept the license. Extraction aborted.
|
||||
exit 2
|
||||
fi
|
||||
|
||||
echo
|
||||
|
||||
12
self-extractors/PART3
Normal file
12
self-extractors/PART3
Normal file
@@ -0,0 +1,12 @@
|
||||
|
||||
if test $? != 0
|
||||
then
|
||||
echo
|
||||
echo ERROR: Couldn\'t extract files. 1>&2
|
||||
exit 3
|
||||
else
|
||||
echo
|
||||
echo Files extracted successfully.
|
||||
fi
|
||||
exit 0
|
||||
|
||||
2
self-extractors/PROLOGUE
Normal file
2
self-extractors/PROLOGUE
Normal file
@@ -0,0 +1,2 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
11
self-extractors/extract-lists.txt
Normal file
11
self-extractors/extract-lists.txt
Normal file
@@ -0,0 +1,11 @@
|
||||
google_devices)
|
||||
TO_EXTRACT="\
|
||||
IMAGES/vbmeta_vendor.img \
|
||||
IMAGES/vendor.img \
|
||||
IMAGES/vendor_dlkm.img \
|
||||
RADIO/bootloader.img \
|
||||
system_ext/etc/permissions/privapp-permissions-qorvo.xml \
|
||||
system_ext/priv-app/UwbVendorService/UwbVendorService.apk \
|
||||
"
|
||||
;;
|
||||
|
||||
1
self-extractors/google_devices/COPYRIGHT
Normal file
1
self-extractors/google_devices/COPYRIGHT
Normal file
@@ -0,0 +1 @@
|
||||
# (C) Google Inc.
|
||||
264
self-extractors/google_devices/LICENSE
Normal file
264
self-extractors/google_devices/LICENSE
Normal file
@@ -0,0 +1,264 @@
|
||||
THIS DEVELOPER SOFTWARE LICENSE AGREEMENT (THE "AGREEMENT") IS A LEGALLY
|
||||
BINDING AGREEMENT BETWEEN Google Inc. ("LICENSOR") AND
|
||||
YOU OR THE LEGAL ENTITY YOU REPRESENT ("You" or its possessive, "Your"). BY
|
||||
TYPING "I ACCEPT" WHERE INDICATED YOU ACKNOWLEDGE THAT YOU HAVE READ THIS
|
||||
AGREEMENT, UNDERSTAND IT AND AGREE TO BE BOUND BY ITS TERMS AND CONDITIONS.
|
||||
IF YOU DO NOT AGREE TO THESE TERMS YOU MUST DISCONTINUE THE INSTALLATION
|
||||
PROCESS AND YOU SHALL NOT USE THE SOFTWARE OR RETAIN ANY COPIES OF THE
|
||||
SOFTWARE OR DOCUMENTATION. ANY USE OR POSSESSION OF THE SOFTWARE BY YOU IS
|
||||
SUBJECT TO THE TERMS AND CONDITIONS SET FORTH IN THIS AGREEMENT. IF THE
|
||||
SOFTWARE IS INSTALLED ON A COMPUTER OWNED BY A CORPORATION OR OTHER LEGAL
|
||||
ENTITY, THEN YOU REPRESENT AND WARRANT THAT YOU HAVE THE AUTHORITY TO BIND
|
||||
SUCH ENTITY TO THE TERMS AND CONDITIONS OF THIS AGREEMENT.
|
||||
|
||||
1. Special Definitions
|
||||
|
||||
a. The term "Android" means the open source mobile platform, software
|
||||
stack, operating system, middleware, application programming
|
||||
interfaces and mobile applications under the trade-name "Android"
|
||||
distributed at Android.com.
|
||||
|
||||
b. The term "Android Applications" means a software application or
|
||||
open-source contribution developed by You, designed to operate with
|
||||
Android that does not contain or incorporate any of the Software.
|
||||
|
||||
c. The term "Authorized Android Enabled Device" means only the device
|
||||
identified on the site from which You downloaded the Software.
|
||||
The term "Software" means the Licensor's proprietary software and
|
||||
libraries in object code form, designed for use on the Authorized
|
||||
Android Enabled Device.
|
||||
|
||||
d. The term "Authorized Android Enabled Device Software" means a
|
||||
packaged build for Authorized Android Enabled Devices, consisting
|
||||
of files suitable for installation on an Authorized Android Enabled
|
||||
Device using a mechanism such as fastboot mode or recovery mode.
|
||||
|
||||
2. License Grant
|
||||
|
||||
a. Subject to the terms of this Agreement, Licensor hereby grants to
|
||||
You, free of charge, a non-exclusive, non-sublicensable,
|
||||
non-transferable, limited copyright license, during the term of
|
||||
this Agreement, to download, install and use the Software
|
||||
internally in machine-readable (i.e., object code) form and the
|
||||
Documentation for non-commercial use on an Authorized Android
|
||||
Enabled Device and non-commercial redistribution for academic
|
||||
purposes only of a reasonable number of copies of the Authorized
|
||||
Android Enabled Device Software (the "Limited Purpose"). You may
|
||||
grant your end users the right to use the Software for
|
||||
non-commercial purposes on an Authorized Android Enabled Device.
|
||||
The license to the Software granted to You hereunder is solely for
|
||||
the Limited Purpose set forth in this section, and the Software
|
||||
shall not be used for any other purpose.
|
||||
|
||||
3. Restrictions
|
||||
|
||||
a. Retention of Rights. The entire right, title and interest in the
|
||||
Software shall remain with Licensor and, unless specified in
|
||||
writing hereunder, no rights are granted to any of the Software.
|
||||
Except for the right to use the Software for the Limited Purpose,
|
||||
the delivery of the Software to You does not convey to You any
|
||||
intellectual property rights in the Software, including, but not
|
||||
limited to any rights under any patent, trademark, copyright, or
|
||||
trade secret. Neither the delivery of the Software to You nor any
|
||||
terms set forth herein shall be construed to grant to You, either
|
||||
expressly, by implication or by way of estoppel, any license under
|
||||
any patents or other intellectual property rights covering or
|
||||
relating to any other product or invention or any combination of
|
||||
the Software with any other product. Any rights not expressly
|
||||
granted to You herein are reserved by Licensor.
|
||||
|
||||
b. No Commercialization or Distribution of the Software and
|
||||
Documentation. Except as expressly provided in Section 2 of this
|
||||
Agreement, You shall have no right to (i) copy, disclose,
|
||||
distribute, publically perform, publically display, transfer,
|
||||
alter, modify, translate, disassemble, decompile, reverse engineer,
|
||||
or adapt the Software and Documentation, or any portion thereof, or
|
||||
create any derivative works based thereon; (ii) rent, lease,
|
||||
assign, sublicense, resell, disclose or otherwise transfer the
|
||||
Software and Documentation in whole or in part to any third party
|
||||
(iii) use the Software and Documentation except for the Limited
|
||||
Purpose, (iv) remove or alter any of the copyright or proprietary
|
||||
notices contained in any of the Software and Documentation. For the
|
||||
purposes of clarity, nothing in this Agreement prohibits You from
|
||||
making and distributing Android Applications under commercial or
|
||||
non-commercial terms, provided that You shall not contain,
|
||||
incorporate, and/or compile the Software or any of its derivative
|
||||
works, in whole or in part, into Your Android Applications and/or
|
||||
any software/devices created by You or by third parties acting on
|
||||
Your behalf. You and any such third party shall comply with all of
|
||||
the terms and conditions of this Agreement.
|
||||
|
||||
c. No Reverse Engineering. Except for any portions of the Software
|
||||
provided to You in source code format and except for any third
|
||||
party code distributed with the Software that is licensed under
|
||||
contrary terms, You will not reverse engineer, disassemble,
|
||||
decompile, or translate the Software, or otherwise attempt to
|
||||
derive the source code version of the Software, except if and to
|
||||
the extent expressly permitted under any applicable law.
|
||||
|
||||
d. Third Party Software. You agree that Android may contain third
|
||||
party software. You agree that you may not distribute such third
|
||||
party software for any purpose without appropriate licenses from
|
||||
the applicable third party or parties.
|
||||
|
||||
e. No Transfer or Assignment. You shall not assign any of its rights
|
||||
or obligations under this Agreement. Any attempted assignment in
|
||||
contravention of this Section shall be void.
|
||||
|
||||
f. Licensor shall retain all title, ownership and Intellectual
|
||||
Property Rights in and to the Software and any derivative thereof.
|
||||
"Intellectual Property Rights" shall mean all patent, copyright,
|
||||
trade secret, trademark and other proprietary and intellectual
|
||||
property rights, including moral rights.
|
||||
|
||||
g. Neither this Agreement, nor any act by Licensor or its Affiliates
|
||||
persuant to this Agreement or relating to the Software (including,
|
||||
without limitation, the provision by Licensor or its Affiliates of
|
||||
the Software) shall provide to You any license or any other rights
|
||||
whatsoever under any patents, trademarks, trade secrets, copyrights
|
||||
or any other intellectual property rights of Licensor or its
|
||||
Affiliates, except for the copyrights expressly set forth in this
|
||||
Agreement. You understand and agree that:
|
||||
|
||||
h. Neither this Agreement, nor delivery of the Software alone or in
|
||||
combination with any Licensor ASIC grants you any right to
|
||||
practice, or any other right at all with respect to, any patent of
|
||||
Licensor or its Affiliates, and
|
||||
|
||||
i. A separating license agreement from Motorola Incorporated is needed
|
||||
to use or practice any patent of Licensor or its Affiliates.
|
||||
|
||||
j. You agree not to contend in any context that, as a result of the
|
||||
provision or use of this software, either Licensor or Affiliate has
|
||||
any obligation to extend, or Licensor or any other party has
|
||||
obtained any right to, any license, whether express or implied,
|
||||
with respect to any patent of Licensor or its Affiliates for any
|
||||
purpose. For the purposes of this agreement, "Affiliate" means
|
||||
(i) any corporation or any other legal entity that owns, directly
|
||||
or indirectly, more than fifty percent (50%) of the shares, equity
|
||||
interest or other securities of any entity entitled to vote for
|
||||
election of directors (or other managing authority), or (ii) any
|
||||
corporation or any other legal entity fifty percent (50%) or more
|
||||
of whose shares, equity interest, or other securities entitled to
|
||||
vote for election of directors (or other managing authority) is
|
||||
owned or controlled by an entity, either directly or indirectly.
|
||||
|
||||
4. Indemnity
|
||||
|
||||
a. You agree to indemnify and hold harmless Licensor, Google, and
|
||||
their officers, directors, customers, employees and successors and
|
||||
assigns (each an "Indemnified Party") against any and all claims,
|
||||
demands, causes of action, losses, liabilities, damages, costs and
|
||||
expenses, incurred by the Indemnified Party (including but not
|
||||
limited to costs of defense, investigation and reasonable
|
||||
attorney's fees) arising out of, resulting from or related to
|
||||
(i) any software, products, documentation, content, materials or
|
||||
derivative works created or developed by You using the Software
|
||||
which causes an infringement of any patent, copyright, trademark,
|
||||
trade secret, or other property, publicity or privacy rights of any
|
||||
third parties arising in any jurisdiction anywhere in the world,
|
||||
(ii) the download, distribution, installation, storage, execution,
|
||||
use or transfer of such software, products, documentation, content,
|
||||
materials or derivative works by any person or entity, and/or
|
||||
(iii) any breach of this Agreement by You. If requested by an
|
||||
Indemnified Party, You agree to defend such Indemnified Party in
|
||||
connection with any third party claims, demands, or causes of
|
||||
action resulting from, arising out of or in connection with any of
|
||||
the foregoing.
|
||||
|
||||
5. Limitation of Liability
|
||||
|
||||
a. TO THE MAXIMUM EXTENT PERMITTED UNDER APPLICABLE LAWS, UNDER NO
|
||||
CIRCUMSTANCES, INCLUDING WITHOUT LIMITATION NEGLIGENCE, SHALL
|
||||
LICENSOR, GOOGLE, THEIR AFFILIATES AND/OR ITS DIRECTORS, OFFICERS,
|
||||
EMPLOYEES OR AGENTS BE LIABLE FOR ANY INDIRECT, INCIDENTAL,
|
||||
SPECIAL, PUNITIVE OR CONSEQUENTIAL DAMAGES (INCLUDING BUT NOT
|
||||
LIMITED TO DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS
|
||||
INTERRUPTION, LOSS OF BUSINESS INFORMATION AND THE LIKE) ARISING
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR ANY DOWNLOAD,
|
||||
INSTALLATION OR USE OF, OR INABILITY TO USE, THE SOFTWARE, EVEN IF
|
||||
LICENSOR OR GOOGLE HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH
|
||||
DAMAGES. SOME JURISDICTIONS DO NOT ALLOW THE LIMITATION OR
|
||||
EXCLUSION OF LIABILITY FOR INCIDENTAL OR CONSEQUENTIAL DAMAGES SO
|
||||
THE ABOVE LIMITATION OR EXCLUSION MAY NOT APPLY OR MAY BE LIMITED.
|
||||
IN NO EVENT SHALL LICENSOR'S OR GOOGLE'S TOTAL AGGREGATE LIABILITY
|
||||
TO YOU FOR ANY AND ALL DAMAGES, LOSSES, CLAIMS AND CAUSES OF
|
||||
ACTIONS (WHETHER IN CONTRACT, TORT, INCLUDING NEGLIGENCE,
|
||||
INDEMNIFICATION OR OTHERWISE) EXCEED ONE HUNDRED U.S. DOLLARS
|
||||
(US$100). THE LIMITATIONS SET FORTH IN THIS PARAGRAPH SHALL BE
|
||||
DEEMED TO APPLY TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW.
|
||||
THE PARTIES HAVE FULLY CONSIDERED THE FOREGOING ALLOCATION OF RISK
|
||||
AND FIND IT REASONABLE, AND THAT THE FOREGOING LIMITATIONS IN THIS
|
||||
PARAGRAPH ARE AN ESSENTIAL BASIS OF THE BARGAIN BETWEEN THE
|
||||
PARTIES.
|
||||
|
||||
6. No Warranty
|
||||
|
||||
a. LICENSOR AND GOOGLE MAKE NO WARRANTIES, EXPRESS OR IMPLIED, WITH
|
||||
RESPECT TO THE SOFTWARE AND DOCUMENTATION PROVIDED UNDER THIS
|
||||
AGREEMENT, INCLUDING BUT NOT LIMITED TO ANY WARRANTY OF
|
||||
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE OR AGAINST
|
||||
INFRINGEMENT, OR ANY EXPRESS OR IMPLIED WARRANTY ARISING OUT OF
|
||||
TRADE USAGE OR OUT OF A COURSE OF DEALING OR COURSE OF PERFORMANCE.
|
||||
NOTHING CONTAINED IN THIS AGREEMENT SHALL BE CONSTRUED AS A
|
||||
WARRANTY OR REPRESENTATION BY LICENSOR (I) AS TO THE VALIDITY OR
|
||||
SCOPE OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT
|
||||
AND (II) THAT ANY MANUFACTURE OR USE WILL BE FREE FROM INFRINGEMENT
|
||||
OF PATENTS, COPYRIGHTS OR OTHER INTELLECTUAL PROPERTY RIGHTS OF
|
||||
OTHERS, AND IT SHALL BE THE SOLE RESPONSIBILITY OF YOU TO MAKE SUCH
|
||||
DETERMINATION AS IS NECESSARY WITH RESPECT TO THE ACQUISITION OF
|
||||
LICENSES UNDER PATENTS AND OTHER INTELLECTUAL PROPERTY OF THIRD
|
||||
PARTIES. LICENSOR AND GOOGLE SHALL NOT HAVE ANY OBLIGATION TO
|
||||
PROVIDE ANY TECHNICAL SUPPORT OF THE SOFTWARE UNDER THIS AGREEMENT.
|
||||
|
||||
7. Term and Termination
|
||||
|
||||
a. This Agreement shall be effective on the date You accept this
|
||||
Agreement and shall remain in effect until terminated as provided
|
||||
herein. You may terminate the Agreement at any time by deleting and
|
||||
destroying all copies of the Software and all related information
|
||||
in Your possession or control. This Agreement terminates
|
||||
immediately and automatically, with or without notice, if You fail
|
||||
to comply with any provision hereof. Additionally, Licensor may at
|
||||
any time terminate this Agreement, without cause, upon notice to
|
||||
You. Upon termination You must delete or destroy all copies of the
|
||||
Software in Your possession, and the license granted to You in this
|
||||
Agreement shall terminate. Sections 3, 4, 5, 6 and 8 shall survive
|
||||
the termination of this Agreement.
|
||||
|
||||
8. Miscellaneous
|
||||
|
||||
a. Governing Law. This Agreement is governed and interpreted in
|
||||
accordance with the laws of the State of California without giving
|
||||
effect to its conflict of laws provisions. The United Nations
|
||||
Convention on Contracts for the International Sale of Goods is
|
||||
expressly disclaimed and shall not apply. Any claim arising out of
|
||||
or related to this Agreement must be brought exclusively in a
|
||||
federal or state court located in Santa Clara County, California
|
||||
and You consent to the jurisdiction and venue of such courts.
|
||||
|
||||
b. Waiver and Severability. The failure of either party to require
|
||||
performance by the other party of any provision of this Agreement
|
||||
shall not affect the full right to require such performance at any
|
||||
time thereafter; nor shall the waiver by either party of a breach
|
||||
of any provision of this Agreement be taken or held to be a waiver
|
||||
of the provision itself. Severability. If any provision of this
|
||||
Agreement is unenforceable or invalid under any applicable law or
|
||||
is so held by applicable court decision, such unenforceability or
|
||||
invalidity shall not render this Agreement unenforceable or invalid
|
||||
as a whole, and such provision shall be changed and interpreted so
|
||||
as to best accomplish the objectives of such unenforceable or
|
||||
invalid provision within the limits of applicable law or
|
||||
applicable court decisions.
|
||||
|
||||
c. Amendment and Modification. This Agreement and any of its terms and
|
||||
provisions may only be amended, modified, supplemented or waived in
|
||||
a writing signed by both parties hereto.
|
||||
|
||||
d. Compliance with Laws. You shall comply with all applicable laws,
|
||||
rules, and regulations in connection with its activities under this
|
||||
Agreement.
|
||||
|
||||
e. Entire Agreement. This Agreement completely and exclusively states
|
||||
the agreement between You and Licensor regarding this subject
|
||||
matter.
|
||||
17
self-extractors/google_devices/staging/Android.bp.txt
Normal file
17
self-extractors/google_devices/staging/Android.bp.txt
Normal file
@@ -0,0 +1,17 @@
|
||||
// Copyright (C) 2023 The Android Open Source Project
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
soong_namespace {
|
||||
}
|
||||
|
||||
40
self-extractors/google_devices/staging/Android.mk.template
Normal file
40
self-extractors/google_devices/staging/Android.mk.template
Normal file
@@ -0,0 +1,40 @@
|
||||
#
|
||||
# Copyright (C) 2023 The Android Open-Source Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
ifneq ($(filter tangorpro,$(TARGET_DEVICE)),)
|
||||
$(call add-radio-file,bootloader.img)
|
||||
endif
|
||||
|
||||
ifneq ($(filter tangorpro,$(TARGET_DEVICE)),)
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
|
||||
LOCAL_MODULE := UwbVendorService
|
||||
LOCAL_MODULE_TAGS := optional
|
||||
LOCAL_BUILT_MODULE_STEM := package.apk
|
||||
LOCAL_SYSTEM_EXT_MODULE := true
|
||||
LOCAL_PRIVILEGED_MODULE := true
|
||||
LOCAL_MODULE_OWNER := qorvo
|
||||
LOCAL_MODULE_CLASS := APPS
|
||||
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
|
||||
LOCAL_CERTIFICATE := PRESIGNED
|
||||
LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
|
||||
LOCAL_LICENSE_CONDITIONS := notice
|
||||
LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../COPYRIGHT $(LOCAL_PATH)/../LICENSE
|
||||
include $(BUILD_PREBUILT)
|
||||
|
||||
endif
|
||||
37
self-extractors/google_devices/staging/BoardConfigPartial.mk
Normal file
37
self-extractors/google_devices/staging/BoardConfigPartial.mk
Normal file
@@ -0,0 +1,37 @@
|
||||
# Copyright 2023 The Android Open Source Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
BOARD_PREBUILT_VENDORIMAGE := vendor/google_devices/tangorpro/proprietary/vendor.img
|
||||
|
||||
BOARD_PREBUILT_VENDOR_DLKMIMAGE := vendor/google_devices/tangorpro/proprietary/vendor_dlkm.img
|
||||
|
||||
TARGET_COPY_OUT_VENDOR_DLKM := vendor_dlkm
|
||||
|
||||
BOARD_AVB_VBMETA_VENDOR := vendor
|
||||
BOARD_AVB_VBMETA_VENDOR_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
|
||||
BOARD_AVB_VBMETA_VENDOR_ALGORITHM := SHA256_RSA2048
|
||||
BOARD_AVB_VBMETA_VENDOR_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
|
||||
BOARD_AVB_VBMETA_VENDOR_ROLLBACK_INDEX_LOCATION := 3
|
||||
|
||||
AB_OTA_PARTITIONS += \
|
||||
vbmeta_vendor \
|
||||
vendor \
|
||||
vendor_dlkm \
|
||||
|
||||
-include vendor/google/tools/android-info.mk
|
||||
ifdef USE_ANDROID_INFO
|
||||
TARGET_BOARD_INFO_FILE := vendor/google_devices/tangorpro/android-info.txt
|
||||
endif
|
||||
|
||||
VENDOR_BLOBS_LICENSE := vendor/google_devices/tangorpro/LICENSE
|
||||
25
self-extractors/google_devices/staging/device-partial.mk
Normal file
25
self-extractors/google_devices/staging/device-partial.mk
Normal file
@@ -0,0 +1,25 @@
|
||||
# Copyright 2023 The Android Open Source Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
PRODUCT_SOONG_NAMESPACES += \
|
||||
vendor/google_devices/tangorpro/proprietary \
|
||||
|
||||
# AOSP packages required by the blobs
|
||||
PRODUCT_PACKAGES := \
|
||||
UwbVendorService \
|
||||
|
||||
# blob(s) necessary for tangorpro hardware
|
||||
PRODUCT_COPY_FILES := \
|
||||
vendor/google_devices/tangorpro/proprietary/privapp-permissions-qorvo.xml:system_ext/etc/permissions/privapp-permissions-qorvo.xml:qorvo \
|
||||
|
||||
4
self-extractors/root/android-info.txt
Normal file
4
self-extractors/root/android-info.txt
Normal file
@@ -0,0 +1,4 @@
|
||||
require board=tangorpro
|
||||
require partition-exists=vendor_kernel_boot
|
||||
|
||||
require version-bootloader=tangorpro-1.0-9282924
|
||||
15
self-extractors/root/proprietary/BoardConfigVendor.mk
Normal file
15
self-extractors/root/proprietary/BoardConfigVendor.mk
Normal file
@@ -0,0 +1,15 @@
|
||||
# Copyright 2023 The Android Open Source Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
-include vendor/google_devices/tangorpro/BoardConfigPartial.mk
|
||||
15
self-extractors/root/proprietary/device-vendor.mk
Normal file
15
self-extractors/root/proprietary/device-vendor.mk
Normal file
@@ -0,0 +1,15 @@
|
||||
# Copyright 2023 The Android Open Source Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
$(call inherit-product-if-exists, vendor/google_devices/tangorpro/device-partial.mk)
|
||||
@@ -1 +0,0 @@
|
||||
type device_cert_file, file_type, vendor_persist_type;
|
||||
@@ -1,4 +0,0 @@
|
||||
/vendor/bin/hw/android\.hardware\.drm-service\.castkey u:object_r:hal_drm_cast_exec:s0
|
||||
|
||||
# Cert
|
||||
/mnt/vendor/persist/nest/cast_auth\.crt u:object_r:device_cert_file:s0
|
||||
@@ -2,11 +2,13 @@
|
||||
BOARD_SEPOLICY_DIRS += device/google/tangorpro/sepolicy/vendor
|
||||
BOARD_SEPOLICY_DIRS += device/google/tangorpro/sepolicy/tracking_denials
|
||||
|
||||
# castkey
|
||||
BOARD_SEPOLICY_DIRS += device/google/tangorpro/sepolicy/castkey
|
||||
|
||||
# fingerprint
|
||||
BOARD_SEPOLICY_DIRS += device/google/tangorpro/sepolicy/fingerprint_capacitance
|
||||
|
||||
# for mediashell
|
||||
PRODUCT_PUBLIC_SEPOLICY_DIRS += device/google/atv/audio_proxy/sepolicy/public
|
||||
BOARD_VENDOR_SEPOLICY_DIRS += device/google/atv/audio_proxy/sepolicy/vendor
|
||||
PRODUCT_PRIVATE_SEPOLICY_DIRS += vendor/google/gms/src/sepolicy/tv
|
||||
|
||||
# system_ext
|
||||
SYSTEM_EXT_PRIVATE_SEPOLICY_DIRS += device/google/tangorpro/sepolicy/system_ext/private
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
|
||||
audioserver vendor_file file b/312069156
|
||||
platform_app system_data_file dir b/289358324
|
||||
shell sysfs_touch dir b/264823366
|
||||
system_app proc_pagetypeinfo file b/312375728
|
||||
|
||||
3
sepolicy/vendor/file.te
vendored
3
sepolicy/vendor/file.te
vendored
@@ -1,5 +1,8 @@
|
||||
#Pogo USB control & status
|
||||
type sysfs_pogo_usb, sysfs_type, fs_type;
|
||||
|
||||
# Cast device certificate
|
||||
type device_cert_file, file_type, vendor_persist_type;
|
||||
|
||||
# Avoid GPS se failed
|
||||
type sysfs_gps, sysfs_type, fs_type;
|
||||
|
||||
4
sepolicy/vendor/file_contexts
vendored
4
sepolicy/vendor/file_contexts
vendored
@@ -9,3 +9,7 @@
|
||||
|
||||
# Privacy LED
|
||||
/vendor/bin/hw/android\.hardware\.lights-service\.tangorpro u:object_r:hal_light_default_exec:s0
|
||||
|
||||
# Cast Factory Credentials
|
||||
/vendor/bin/hw/android\.hardware\.drm-service\.castkey u:object_r:hal_drm_cast_exec:s0
|
||||
/mnt/vendor/persist/nest/cast_auth\.crt u:object_r:device_cert_file:s0
|
||||
|
||||
1
sepolicy/vendor/genfs_contexts
vendored
1
sepolicy/vendor/genfs_contexts
vendored
@@ -7,7 +7,6 @@ genfscon sysfs /devices/platform/10d10000.spi/spi_master/spi0/spi0.0 u:object_
|
||||
# system suspend wakeup files
|
||||
genfscon sysfs /devices/platform/google,dock/power_supply/dock/wakeup u:object_r:sysfs_wakeup:s0
|
||||
genfscon sysfs /devices/platform/10d10000.spi/spi_master/spi0/spi0.0/power_supply/nvt-pen-battery/wakeup u:object_r:sysfs_wakeup:s0
|
||||
genfscon sysfs /devices/platform/10d10000.spi/spi_master/spi0/spi0.0/power_supply/USI_Stylus_Battery/wakeup u:object_r:sysfs_wakeup:s0
|
||||
genfscon sysfs /devices/platform/10d10000.spi/spi_master/spi0/spi0.0/input/input2/wakeup u:object_r:sysfs_wakeup:s0
|
||||
genfscon sysfs /devices/platform/10d10000.spi/spi_master/spi0/spi0.0/wakeup u:object_r:sysfs_wakeup:s0
|
||||
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
type hal_drm_cast, domain;
|
||||
type hal_drm_cast_exec, vendor_file_type, exec_type, file_type;
|
||||
init_daemon_domain(hal_drm_cast)
|
||||
type hal_drm_cast_exec, exec_type, vendor_file_type, file_type;
|
||||
|
||||
init_daemon_domain(hal_drm_cast)
|
||||
hal_server_domain(hal_drm_cast, hal_drm)
|
||||
|
||||
# Cert
|
||||
allow hal_drm_cast mnt_vendor_file:dir search;
|
||||
allow hal_drm_cast persist_file:dir search;
|
||||
allow hal_drm_cast device_cert_file:file r_file_perms;
|
||||
1
sepolicy/vendor/hal_health_default.te
vendored
1
sepolicy/vendor/hal_health_default.te
vendored
@@ -1 +0,0 @@
|
||||
dontaudit hal_health_default sysfs_touch:dir *;
|
||||
@@ -1 +1,2 @@
|
||||
# Cast Factory Credentials
|
||||
android.hardware.drm.IDrmFactory/castkey u:object_r:hal_drm_service:s0
|
||||
@@ -1,13 +0,0 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2024 The LineageOS Project
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
set -e
|
||||
|
||||
MY_DIR="$(cd "$(dirname "${0}")"; pwd -P)"
|
||||
|
||||
pushd "${MY_DIR}/tangorpro"
|
||||
./setup-makefiles.py
|
||||
popd
|
||||
81
setup-makefiles.sh
Executable file
81
setup-makefiles.sh
Executable file
@@ -0,0 +1,81 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2016 The CyanogenMod Project
|
||||
# SPDX-FileCopyrightText: 2017-2024 The LineageOS Project
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
set -e
|
||||
|
||||
DEVICE=tangorpro
|
||||
VENDOR=google
|
||||
|
||||
# Load extract_utils and do some sanity checks
|
||||
MY_DIR="${BASH_SOURCE%/*}"
|
||||
if [[ ! -d "${MY_DIR}" ]]; then MY_DIR="${PWD}"; fi
|
||||
|
||||
ANDROID_ROOT="${MY_DIR}/../../.."
|
||||
|
||||
export TARGET_ENABLE_CHECKELF=true
|
||||
|
||||
HELPER="${ANDROID_ROOT}/tools/extract-utils/extract_utils.sh"
|
||||
if [ ! -f "${HELPER}" ]; then
|
||||
echo "Unable to find helper script at ${HELPER}"
|
||||
exit 1
|
||||
fi
|
||||
source "${HELPER}"
|
||||
|
||||
function vendor_imports() {
|
||||
cat <<EOF >>"$1"
|
||||
"device/google/tangorpro",
|
||||
"hardware/google/av",
|
||||
"hardware/google/gchips",
|
||||
"hardware/google/graphics/common",
|
||||
"hardware/google/interfaces",
|
||||
"hardware/google/pixel",
|
||||
EOF
|
||||
}
|
||||
|
||||
function lib_to_package_fixup_vendor_variants() {
|
||||
if [ "$2" != "vendor" ]; then
|
||||
return 1
|
||||
fi
|
||||
|
||||
case "$1" in
|
||||
com.google.edgetpu_app_service-V3-ndk | \
|
||||
com.google.edgetpu_vendor_service-V2-ndk)
|
||||
echo "$1-vendor"
|
||||
;;
|
||||
libprotobuf-cpp-full-21.12)
|
||||
echo "libprotobuf-cpp-full"
|
||||
;;
|
||||
libprotobuf-cpp-lite-21.12)
|
||||
echo "libprotobuf-cpp-lite"
|
||||
;;
|
||||
libacryl | \
|
||||
libexynosv4l2) ;;
|
||||
*)
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
function lib_to_package_fixup() {
|
||||
lib_to_package_fixup_clang_rt_ubsan_standalone "$1" ||
|
||||
lib_to_package_fixup_proto_3_9_1 "$1" ||
|
||||
lib_to_package_fixup_vendor_variants "$@"
|
||||
}
|
||||
|
||||
# Initialize the helper
|
||||
setup_vendor "${DEVICE}" "${VENDOR}" "${ANDROID_ROOT}"
|
||||
|
||||
# Warning headers and guards
|
||||
write_headers
|
||||
|
||||
write_makefiles "${MY_DIR}/proprietary-files.txt"
|
||||
write_makefiles "${MY_DIR}/proprietary-files-vendor.txt"
|
||||
|
||||
append_firmware_calls_to_makefiles "${MY_DIR}/proprietary-firmware.txt"
|
||||
|
||||
# Finish
|
||||
write_footers
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,11 +0,0 @@
|
||||
//
|
||||
// SPDX-FileCopyrightText: 2024 The LineageOS Project
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
//
|
||||
|
||||
prebuilt_etc {
|
||||
name: "init.recovery.tangorpro.touch.rc",
|
||||
src: "init.recovery.touch.rc",
|
||||
sub_dir: "init",
|
||||
recovery: true,
|
||||
}
|
||||
@@ -15,30 +15,34 @@
|
||||
#
|
||||
TARGET_BOARD_INFO_FILE := device/google/tangorpro/board-info.txt
|
||||
TARGET_BOOTLOADER_BOARD_NAME := tangorpro
|
||||
RELEASE_GOOGLE_BOOTLOADER_TANGORPRO_DIR ?= pdk # Keep this for pdk TODO: b/327119000
|
||||
RELEASE_GOOGLE_PRODUCT_BOOTLOADER_DIR := bootloader/$(RELEASE_GOOGLE_BOOTLOADER_TANGORPRO_DIR)
|
||||
$(call soong_config_set,tangorpro_bootloader,prebuilt_dir,$(RELEASE_GOOGLE_BOOTLOADER_TANGORPRO_DIR))
|
||||
ifneq (,$(filter AP1%,$(RELEASE_PLATFORM_VERSION)))
|
||||
RELEASE_GOOGLE_PRODUCT_BOOTLOADER_DIR := bootloader/24Q1
|
||||
else ifneq (,$(filter AP2% AP3%,$(RELEASE_PLATFORM_VERSION)))
|
||||
RELEASE_GOOGLE_PRODUCT_BOOTLOADER_DIR := bootloader/24Q2
|
||||
else
|
||||
RELEASE_GOOGLE_PRODUCT_BOOTLOADER_DIR := bootloader/trunk
|
||||
endif
|
||||
|
||||
# Enable load module in parallel
|
||||
BOARD_BOOTCONFIG += androidboot.load_modules_parallel=true
|
||||
|
||||
# The modules which need to be loaded in sequential
|
||||
BOARD_KERNEL_CMDLINE += fips140.load_sequential=1
|
||||
BOARD_KERNEL_CMDLINE += exynos_drm.load_sequential=1
|
||||
TARGET_SCREEN_DENSITY := 320
|
||||
|
||||
ifdef PHONE_CAR_BOARD_PRODUCT
|
||||
include device/google_car/$(PHONE_CAR_BOARD_PRODUCT)/BoardConfig.mk
|
||||
else
|
||||
TARGET_SCREEN_DENSITY := 320
|
||||
endif
|
||||
|
||||
BOARD_USES_GENERIC_AUDIO := true
|
||||
USES_DEVICE_GOOGLE_TANGORPRO := true
|
||||
BOARD_KERNEL_CMDLINE += swiotlb=noforce
|
||||
|
||||
include device/google/gs201/BoardConfig-common.mk
|
||||
include device/google/gs-common/check_current_prebuilt/check_current_prebuilt.mk
|
||||
-include vendor/google_devices/gs201/prebuilts/BoardConfigVendor.mk
|
||||
-include vendor/google_devices/tangorpro/proprietary/BoardConfigVendor.mk
|
||||
include device/google/tangorpro/sepolicy/tangorpro-sepolicy.mk
|
||||
include device/google/tangorpro/wifi/BoardConfig-wifi.mk
|
||||
|
||||
ifdef PHONE_CAR_BOARD_PRODUCT
|
||||
include device/google_car/$(PHONE_CAR_BOARD_PRODUCT)/BoardConfig.mk
|
||||
endif
|
||||
|
||||
DEVICE_PATH := device/google/tangorpro
|
||||
VENDOR_PATH := vendor/google/tangorpro
|
||||
include $(DEVICE_PATH)/$(TARGET_BOOTLOADER_BOARD_NAME)/BoardConfigLineage.mk
|
||||
include device/google/tangorpro/tangorpro/BoardConfigLineage.mk
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2024 The Evolution X Project
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
include $(DEVICE_PATH)/BoardConfigEvolution.mk
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user