[DNM] ACK stuff

Change-Id: I72adcaa0b01ccbf224a9b3e34d5143c24c9d4621
This commit is contained in:
tmakin committed 2026-07-27 23:53:48 -05:00
1 parent 3eee2f1dac
commit 5594c8ed4f
22 files changed
+363 -1325

No files matched your search

+1
View File
@@ -13,6 +13,7 @@
# limitations under the License.
INSTALLED_KERNEL_TARGET := $(PRODUCT_OUT)/kernel
KERNEL_OUT ?= $(PRODUCT_OUT)/obj/KERNEL_OBJ
ifneq ($(TARGET_PREBUILT_KERNEL),)
DTB_PATH := $(dir $(TARGET_PREBUILT_KERNEL))
+5 -3
View File
@@ -43,7 +43,7 @@ TARGET_OTA_ASSERT_DEVICE := nx,nx_tab
TARGET_BOARD_INFO_FILE := device/nintendo/nx/board-info.txt
# Manifest
DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE += device/nintendo/nx/manifests/device_framework_matrix.xml
#DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE += device/nintendo/nx/manifests/device_framework_matrix.xml
# Bluetooth
TARGET_VENDOR_PROP += device/nintendo/nx/bluetooth.prop
@@ -85,7 +85,7 @@ TARGET_KERNEL_SOURCE := vendor/nvidia/$(TARGET_KERNEL_PLATFORM_TARGET)
BOARD_KERNEL_IMAGE_NAME := Image.gz
endif
BOARD_KERNEL_CMDLINE := firmware_class.path=/vendor/firmware cpufreq.default_governor=performance cma=512MB nouveau.atomic=1
include device/nvidia/foster/modules-ack.mk
include device/nintendo/nx/modules-ack.mk
endif
# Kernel Image Parameters
@@ -108,11 +108,13 @@ TARGET_RELEASETOOLS_EXTENSIONS := device/nintendo/nx/releasetools
VENDOR_SECURITY_PATCH := 2024-12-05
# SELinux
BOARD_VENDOR_SEPOLICY_DIRS += device/nintendo/nx/sepolicy/vendor
ifneq ($(filter 4.9 5.10, $(TARGET_KERNEL_VERSION)),)
BOARD_VENDOR_SEPOLICY_DIRS += device/nvidia/foster/sepolicy/vendor
SELINUX_IGNORE_NEVERALLOWS := true
# Include Joycond sepolicy if present
-include hardware/nintendo/joycond/joycond-sepolicy.mk
endif
# Treble
BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED := true
+249
View File
@@ -0,0 +1,249 @@
# Set defaults for missing env variables.
setenv boot_dir ${prefix}
test -n ${loader_rev} || setenv loader_rev 0
test -n ${id} || setenv id SWANDR
test -n ${emmc} || setenv emmc 0
test -n ${fbconsole} || setenv fbconsole 9
test -n ${uart_port} || setenv uart_port 0
test -n ${earlycon} || setenv earlycon 0
test -n ${r2p_action} || setenv r2p_action bootloader
test -n ${autoboot} || setenv autoboot 0
test -n ${autoboot_list} || setenv autoboot_list 0
# Set logging params for each serial type.
setenv uarta "no_console_suspend console=ttyS0,115200,8n1 loglevel=8 androidboot.console=ttyS0"
setenv uartb "no_console_suspend console=ttyS1,115200,8n1 loglevel=8 androidboot.console=ttyS1"
setenv uartc "no_console_suspend console=ttyS2,115200,8n1 loglevel=8 androidboot.console=ttyS2"
setenv no_args "console=null"
setenv usblg "usb_logging loglevel=8"
setenv uarta_early "earlycon=uart,mmio32,0x70006000"
setenv uartb_early "earlycon=uart,mmio32,0x70006040"
setenv uartc_early "earlycon=uart,mmio32,0x70006200"
# Set important addresses.
setenv kernload 0xA0000000
setenv initaddr 0x92000000
setenv fdtrload 0xA8000000
setenv fdtraddr 0x8d000000
# Set temp addresses.
setenv enviraddr 0x8d100000
setenv fdtovaddr 0x8d200000
# L4T Loader check. Min rev 4.
if test "${loader_rev}" < 4; then echoe Old L4T Loader! Update bootloader folder!; echoe Rebooting in 10s..; sleep 10; reset; fi
# Set SoC info.
if test ${t210b01} = 1; then setenv plat_info T210B01; else setenv plat_info T210; fi
# Set SKU info. Frig is used instead of Fric for compatibility reasons.
if test ${sku} = 0; then setenv sku_info ODIN; setenv sku_rev a00; setenv variant odin
elif test ${sku} = 1; then setenv sku_info ODIN; setenv sku_rev b01; setenv variant modin
elif test ${sku} = 2; then setenv sku_info VALI; setenv sku_rev a00; setenv variant vali
elif test ${sku} = 3; then setenv sku_info FRIG; setenv sku_rev a00; setenv variant fric
fi
# Print platform info.
echo PLAT: ${plat_info} SKU: ${sku_info}
echo Serial: ${device_serial_restricted}
echo BT MAC: ${device_bt_mac}
echo WF MAC: ${device_wifi_mac}
# Set MMC device.
setenv mmcnum 1
if test ${emmc} = 1; then
echoe emmc enabled
setenv mmcnum 0
fi
mmc dev ${mmcnum}
# Load Kernel.
if gpio input 190 && test ${recovery} = "0"; then
# Normal Kernel.
if part start mmc ${mmcnum} boot boot_start; then echo Boot partition found
else echoe Boot partition not found!; echoe Rebooting in 10s..; sleep 10; reset; fi
part size mmc ${mmcnum} boot boot_size
else
# Recovery.
if part start mmc ${mmcnum} recovery boot_start; then echo Recovery partition found
else echoe Recovery partition not found!; echoe Rebooting in 10s..; sleep 10; reset; fi
part size mmc ${mmcnum} recovery boot_size
echo Applying WAR: USB3 required for recovery
setenv usb3_enable 1
fi
mmc read ${kernload} ${boot_start} ${boot_size};
# Load DT img.
if part start mmc ${mmcnum} dtb dtb_start; then echo DTB partition found
else echoe DTB partition not found!; echoe Rebooting in 10s..; sleep 10; reset; fi
part size mmc ${mmcnum} dtb dtb_size
mmc read ${fdtrload} ${dtb_start} ${dtb_size}
# Check for Super.
if part start mmc ${mmcnum} super super_start; then echo Super partition found
else echoe Super partition not found!; echoe Rebooting in 10s..; sleep 10; reset; fi
# Get DT from image.
if dtimg load ${fdtrload} ${sku} ${fdtraddr} fdtrsize; then echo Device Tree for SKU ${sku_info} loaded
else echoe Device Tree load for SKU ${sku_info} failed!; echoe Rebooting in 10s..; sleep 10; reset; fi
# Load dtb and resize to fit overlays.
fdt addr ${fdtraddr} ${fdtrsize}
fdt resize 16384
# Dtb sanity checks.
if test ${sku_info} != ${fdt_id_text} -o ${sku_rev} != ${fdt_rev}; then
echoe Device Tree loaded not correct! (SKU: ${fdt_id_text}, Rev: ${fdt_rev})
echoe Expected SKU: ${sku_info}, Rev: ${sku_rev}
echoe Rebooting in 10s..; sleep 10; reset
fi
# Patch dtb with overlays if they exist.
if test -n ${dtb_overlays}; then
echo loading dtb overlays: ${dtb_overlays}
for ov in ${dtb_overlays}; do
echo Setting ${ov}...
# Check if DT overlay and apply it.
if load mmc ${devnum}:${distro_bootpart} ${fdtovaddr} ${boot_dir}/overlays/${ov}.dtbo; then
if fdt apply ${fdtovaddr}; then echo Successfully loaded ${ov}.dtbo...
else echoe Overlay ${ov}.dtbo loading failed!; echoe Rebooting in 10s..; sleep 10; reset; fi
fi
done
fi
# UART Logging.
if test ${uart_port} = 1; then
echoe UART-A logging enabled
setenv bootargs_extra ${bootargs_extra} ${uarta}
fdt set /serial@70006000 compatible nvidia,tegra20-uart
fdt set /serial@70006000 status okay
if test ${earlycon} = 1; then
echoe Early logging enabled
setenv bootargs_extra ${bootargs_extra} ${uarta_early}
fdt set /serial@70006000 reset-names noreset
fi
elif test ${uart_port} = 2; then
echoe UART-B logging enabled
setenv bootargs_extra ${bootargs_extra} ${uartb}
fdt set /serial@70006040 compatible nvidia,tegra20-uart
fdt set /serial@70006040/joyconr status disabled
if test ${earlycon} = 1; then
echoe Early logging enabled
setenv bootargs_extra ${bootargs_extra} ${uartb_early}
fdt set /serial@70006040 reset-names noreset
fi
elif test ${uart_port} = 3; then
echoe UART-C logging enabled
setenv bootargs_extra ${bootargs_extra} ${uartc}
fdt set /serial@70006200 compatible nvidia,tegra20-uart
fdt set /serial@70006200/joyconl status disabled
if test ${earlycon} = 1; then
echoe Early logging enabled
setenv bootargs_extra ${bootargs_extra} ${uartc_early}
fdt set /serial@70006200 reset-names noreset
fi
else
setenv bootargs_extra ${bootargs_extra} ${no_args}
fi
# USB Serial Logging.
if test ${uart_port} = 4; then setenv bootargs_extra ${usblg} ${bootargs_extra}; echoe USB Serial logging enabled; fi
# Disable Joycon Rails.
if test ${jc_rail_disable} = 1; then
echoe Joycon Rails disabled
fdt set /serial@70006040 status disabled
fdt set /serial@70006040/joyconr status disabled
fdt set /serial@70006200 status disabled
fdt set /serial@70006200/joyconl status disabled
fi
# Disable CEC.
if test ${sku} = 2 -o ${cec_disable} = 1; then setenv bootargs_extra ${bootargs_extra} "androidboot.cec_disable=1"; fi
# Disable Touch panel tuning.
if test ${touch_skip_tuning} = 1; then setenv bootargs_extra ${bootargs_extra} "ftm4.skip_tuning=1"; fi
# Disable Bluetooth ERTM.
if test ${bt_ertm_disable} = 1; then setenv bootargs_extra ${bootargs_extra} "bluetooth.disable_ertm=1"; fi
# Enable eMMC.
if test ${emmc} = 1; then
fdt set /mmc@700b0600 status okay
fdt set /firmware/android boot_devices 700b0600.mmc
# Check if eMMC is initialized in 1-bit mode.
if test "${mmc_1bit}" = 1; then
echoe eMMC is initialized in 1-bit mode!
fdt set /mmc@700b0600 bus-width <0x1>
fdt set /mmc@700b0600 uhs-mask <0x7F>
fi
else
fdt set /firmware/android boot_devices 700b0000.mmc
fi
# Check if SD is initialized in 1-bit mode.
if test "${sd_1bit}" = 1; then
echoe SD Card is initialized in 1-bit mode!
fdt set /mmc@700b0600 bus-width <0x1>
fdt set /mmc@700b0600 uhs-mask <0x7F>
fi
# Set serial number.
if test -n ${device_serial_restricted}; then fdt set / serial-number ${device_serial_restricted}; fi
# Load mac address info file from sd
if fatload mmc 1:1 ${enviraddr} switchroot/joycon_mac.ini; then
if ini "joycon_00" ${enviraddr}; then echo Found Joycon Pairing Info; else echoe Malformed joycon_mac.ini!; fi
if test -n "${host}" -a "${host}" = "00:00:00:00:00:00"; then ini "joycon_01" ${enviraddr}; fi
fi
# Set BT mac.
if test ! -n "${bt_mac}"; then
if test -n "${host}" -a "${host}" != "00:00:00:00:00:00"; then setenv bt_mac ${host}; else setenv bt_mac ${device_bt_mac}; fi;
fi
# Set Wi-Fi mac. Use BT MAC with FF as the last byte.
if test ! -n "${wifi_mac}"; then
if test -n "${host}" -a "${host}" != "00:00:00:00:00:00"; then setexpr wifi_mac sub "\:..$" ":FF" ${host}; else setenv wifi_mac ${device_wifi_mac}; fi;
fi
echo CAL0 BT MAC: ${bt_mac}
echo CAL0 WF MAC: ${wifi_mac}
# Import to DT.
fdt set /chosen nvidia,wifi-mac ${wifi_mac}
fdt set /chosen nvidia,bluetooth-mac ${bt_mac}
# Set kernel cmdline.
setenv bootargs ${bootargs_extra} "ro init=/init firmware_class.path=/vendor/firmware \
pmc_r2p.enabled=1 pmc_r2p.action=${r2p_action} \
pmc_r2p.param1=${autoboot} pmc_r2p.param2=${autoboot_list} \
fbcon=map:${fbconsole} consoleblank=0 \
latency_allowance.ptsa_rework \
nvdec_enabled=0 tegra_fbmem=0x800000@0xf5a00000 \
androidboot.bootloader=${blver} androidboot.hardware=nx \
androidboot.hardware.sku=${variant} androidboot.serialno=${device_serial_restricted} \
androidboot.modem=none androidboot.dtb_idx=${sku} "
# Boot kernel.
echo Launching Kernel!
bootm ${kernload} ${kernload} ${fdtraddr}
echoe Failed to launch Kernel!
echoe
echoe Rebooting in 10s..
sleep 10
reset
+7 -1
View File
@@ -42,7 +42,13 @@ $(PRODUCT_OUT)/bl33.bin: $(_uboot_bin)
u-boot-dtb: $(PRODUCT_OUT)/bl33.bin
endif # TARGET_TEGRA_UBOOT
_uscript_input := $(abspath $(NX_BOOTFILES_PATH)/android_boot.txt)
ifneq ($(filter 4.9, $(TARGET_KERNEL_VERSION)),)
NX_BOOTSCRIPT ?= android_boot.txt
else
NX_BOOTSCRIPT ?= android_boot.ack.txt
endif
_uscript_input := $(abspath $(NX_BOOTFILES_PATH)/$(NX_BOOTSCRIPT))
_uscript_archive := $(call intermediates-dir-for,EXECUTABLES,boot.scr)/boot.scr
$(_uscript_archive): $(_uscript_input)
@mkdir -p $(dir $@)
+53 -33
View File
@@ -16,25 +16,31 @@
TARGET_TEGRA_VARIANT ?= common
TARGET_TEGRA_BT ?= bcm
TARGET_TEGRA_CAMERA := rel-shield-r
TARGET_TEGRA_CEC := aosp
TARGET_TEGRA_CPL := none
TARGET_KERNEL_VERSION ?= 4.9
TARGET_TEGRA_KEYSTORE := software
TARGET_TEGRA_LIGHT ?= lineage
TARGET_TEGRA_POWER := perfmgr
TARGET_TEGRA_SENSORS := iio
TARGET_TEGRA_SENSOR_FEATURES := accelerometer gyroscope light
TARGET_TEGRA_THERMAL ?= lineage
#TARGET_TEGRA_THERMAL ?= lineage
TARGET_TEGRA_UBOOT := prebuilt
TARGET_TEGRA_WIDEVINE ?= rel-shield-r
TARGET_TEGRA_WIFI ?= bcm
TARGET_TEGRA_POWER := perfmgr
TARGET_ATV_FORCE_1080_SCALING := false
ifneq ($(filter 4.9, $(TARGET_KERNEL_VERSION)),)
TARGET_TEGRA_MEMTRACK ?= rel-shield-r
TARGET_TEGRA_BT ?= bcm
TARGET_TEGRA_CAMERA ?= rel-shield-r
TARGET_TEGRA_CEC := aosp
TARGET_TEGRA_CPL := none
TARGET_TEGRA_SENSORS := iio
TARGET_TEGRA_SENSOR_FEATURES := accelerometer gyroscope light
TARGET_TEGRA_WIDEVINE ?= rel-shield-r
TARGET_TEGRA_WIFI ?= bcm
else
TARGET_TEGRA_FIRMWARE_BRANCH ?= linux-firmware
TARGET_AUDIO_HAL := baylibre
TARGET_TV_HDMI_CEC_HAL :=
PRODUCT_COPY_FILES += \
device/nintendo/nx/initfiles/ack.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/ack.rc \
device/nintendo/nx/initfiles/init.recovery.ack.rc:$(TARGET_COPY_OUT_RECOVERY)/root/init.recovery.ack.rc
endif
include device/nvidia/t210-common/t210.mk
@@ -48,7 +54,7 @@ else
PRODUCT_CHARACTERISTICS := tablet
endif
PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS := true
PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS := false
$(call inherit-product, frameworks/native/build/tablet-7in-xhdpi-2048-dalvik-heap.mk)
@@ -78,10 +84,21 @@ PRODUCT_PACKAGES += \
init.sensors.nx.rc \
init.vali.rc
ifneq ($(filter 4.9 5.10, $(TARGET_KERNEL_VERSION)),)
ifneq ($(TARGET_TEGRA_CPL),none)
PRODUCT_PACKAGES += \
power.nx.rc
endif
endif
ifeq ($(TARGET_POWER_HAL),perfmgr-lineage)
ifeq ($(TARGET_GRAPHICS),mesa)
PRODUCT_PACKAGES += \
powerhint.nouveau.json
PRODUCT_PROPERTY_OVERRIDES += \
vendor.powerhal.config=powerhint.nouveau.json
endif
endif
# Permissions
PRODUCT_COPY_FILES += \
@@ -97,16 +114,19 @@ PRODUCT_COPY_FILES += \
endif
# Audio
PRODUCT_PACKAGES += \
audio_effects.xml \
audio_policy_configuration.xml \
nvaudio_conf.xml
ifeq ($(TARGET_AUDIO_HAL),baylibre)
PRODUCT_COPY_FILES += \
device/nvidia/tegra-common/nvaudio/primary_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/primary_audio_policy_configuration.xml
endif
# Bluetooth
ifeq ($(TARGET_TEGRA_BT),bcm)
$(call soong_config_set,brcm_libbt,bdroid_buildcfg_include_dir,device/nintendo/nx/comms)
$(call soong_config_set,brcm_libbt,custom_bt_config,//device/nintendo/nx:vnd_nx.txt)
endif
# CEC
ifneq ($(filter 4.9, $(TARGET_KERNEL_VERSION)),)
PRODUCT_COPY_FILES := $(filter-out frameworks/native/data/etc/android.hardware.hdmi.cec.xml%android.hardware.hdmi.cec.xml,$(PRODUCT_COPY_FILES))
PRODUCT_COPY_FILES += \
@@ -115,6 +135,7 @@ PRODUCT_COPY_FILES += \
PRODUCT_PACKAGES += \
nx_cec.rc \
cec_disable.xml
endif
# Device Settings
# TEMP
@@ -141,10 +162,12 @@ endif
PRODUCT_PACKAGES += \
excluded-input-devices.xml
ifneq ($(filter 4.9, $(TARGET_KERNEL_VERSION)),)
# Joycons
PRODUCT_PACKAGES += \
android.hardware.nintendo.joycond-service \
jc_setup
endif
# Kernel Modules
ifneq ($(filter 4.9, $(TARGET_KERNEL_VERSION)),)
@@ -170,21 +193,9 @@ PRODUCT_COPY_FILES += \
device/nintendo/nx/initfiles/lkm.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/lkm.rc
endif
# Media config
PRODUCT_PACKAGES += \
media_codecs.xml \
media_codecs_performance.xml \
media_profiles_V1_0.xml \
enctune.conf
# Partitions
$(call inherit-product, $(SRC_TARGET_DIR)/product/non_ab_device.mk)
# Power
PRODUCT_COPY_FILES += \
system/core/libprocessgroup/profiles/cgroups_28.json:$(TARGET_COPY_OUT_VENDOR)/etc/cgroups.json \
system/core/libprocessgroup/profiles/task_profiles_28.json:$(TARGET_COPY_OUT_VENDOR)/etc/task_profiles.json
# PHS
ifneq ($(TARGET_TEGRA_PHS),)
PRODUCT_PACKAGES += \
@@ -195,16 +206,25 @@ endif
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += persist.vendor.recovery_update=true
# Shipping API
ifneq ($(filter 4.9 5.10, $(TARGET_KERNEL_VERSION)),)
PRODUCT_COPY_FILES += \
system/core/libprocessgroup/profiles/cgroups_28.json:$(TARGET_COPY_OUT_VENDOR)/etc/cgroups.json \
system/core/libprocessgroup/profiles/task_profiles_28.json:$(TARGET_COPY_OUT_VENDOR)/etc/task_profiles.json
$(call inherit-product, $(SRC_TARGET_DIR)/product/product_launched_with_l.mk)
else
PRODUCT_SHIPPING_API_LEVEL := 36
endif
# Thermal
ifneq ($(TARGET_TEGRA_THERMAL),)
ifeq ($(filter 3.10 4.9 5.10, $(TARGET_KERNEL_VERSION)),)
TARGET_TEGRA_THERMAL_SUFFIX ?= .ack
ifneq ($(filter 4.9 5.10, $(TARGET_KERNEL_VERSION)),)
PRODUCT_COPY_FILES += \
device/nintendo/nx/thermal/thermalhal.nx.xml:$(TARGET_COPY_OUT_VENDOR)/etc/thermalhal.nx.xml
else
PRODUCT_COPY_FILES += \
device/nintendo/nx/thermal/thermalhal.nx.ack.xml:$(TARGET_COPY_OUT_VENDOR)/etc/thermalhal.nx.xml
endif
PRODUCT_PACKAGES += \
thermalhal.nx$(TARGET_TEGRA_THERMAL_SUFFIX).xml
endif
# WiFi
+14
View File
@@ -0,0 +1,14 @@
on init
stop watchdogd
on early-init
write /sys/kernel/debug/bpmp/debug/clk/emc/min_rate 2133000000
on early-fs
wait /dev/dri/card0 10
# Override and disable watchdog
service watchdogd /system/bin/true
override
disabled
user root
+2 -2
View File
@@ -19,9 +19,9 @@ import /vendor/etc/init/hw/init.sensors.nx.rc
import /vendor/etc/init/hw/init.${ro.boot.hardware.sku}.rc
on init
setprop ro.surface_flinger.primary_display_orientation ORIENTATION_270
#setprop ro.surface_flinger.primary_display_orientation ORIENTATION_270
setprop ro.boot.secureos none
setprop vendor.powerhal.config powerhint.${ro.boot.hardware.sku}.json
#setprop vendor.powerhal.config powerhint.${ro.boot.hardware.sku}.json
on fs
mount_all /vendor/etc/fstab.nx
+3
View File
@@ -0,0 +1,3 @@
on early-init
mount debugfs debugfs /sys/kernel/debug mode=0755
write /sys/kernel/debug/bpmp/debug/clk/emc/min_rate 2133000000
+2
View File
@@ -13,6 +13,8 @@
# limitations under the License.
import init.recovery.usb.rc
import init.recovery.ack.rc
on init
setprop ro.minui.pixel_format "BGRA_8888"
setprop ro.minui.default_rotation "ROTATION_LEFT"
-2
View File
@@ -12,8 +12,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.
TARGET_TEGRA_POWER ?= lineage
# Boot Animation
TARGET_SCREEN_HEIGHT := 1920
TARGET_SCREEN_WIDTH := 1080
-57
View File
@@ -1,57 +0,0 @@
/*
* Copyright (C) 2024 The LineageOS Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
prebuilt_etc {
name: "audio_effects.xml",
src: "audio_effects.xml",
vendor: true,
}
prebuilt_etc {
name: "audio_policy_configuration.xml",
src: "audio_policy_configuration.xml",
vendor: true,
}
prebuilt_etc {
name: "nvaudio_conf.xml",
src: "nvaudio_conf.xml",
vendor: true,
}
prebuilt_etc {
name: "media_codecs.xml",
src: "media_codecs.xml",
device_specific: true, // odm
}
prebuilt_etc {
name: "media_codecs_performance.xml",
src: "media_codecs_performance.xml",
device_specific: true, // odm
}
prebuilt_etc {
name: "media_profiles_V1_0.xml",
src: "media_profiles_V1_0.xml",
vendor: true,
}
prebuilt_etc {
name: "enctune.conf",
src: "enctune.conf",
vendor: true,
}
-52
View File
@@ -1,52 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<audio_effects_conf version="2.0" xmlns="http://schemas.android.com/audio/audio_effects_conf/v2_0">
<!-- List of effect libraries to load.
Each library element must contain a "name" attribute and a "path" attribute giving the
name of a library .so file in /vendor/lib/soundfx on the target
-->
<libraries>
<library name="proxy" path="libeffectproxy.so"/>
<library name="sw_visualizer_lib" path="libvisualizer.so"/>
<library name="hw_visualizer_lib" path="libnvvisualizer.so"/>
<library name="bundle" path="libbundlewrapper.so"/>
<library name="reverb" path="libreverbwrapper.so"/>
<library name="downmix" path="libdownmix.so"/>
<library name="loudness_enhancer" path="libldnhncr.so"/>
<library name="preprocessing" path="libnvoicefx.so"/>
<library name="dynamics_processing" path="libdynproc.so"/>
</libraries>
<effects>
<effectProxy name="visualizer" library="proxy" uuid="ec7178ec-e5e1-4432-a3f4-4657e6795210">
<libsw library="sw_visualizer_lib" uuid="d069d9e0-8329-11df-9168-0002a5d5c51b"/>
<libhw library="hw_visualizer_lib" uuid="09f673c0-10bc-11e4-9589-0002a5d5c51b"/>
</effectProxy>
<effect name="bassboost" library="bundle" uuid="8631f300-72e2-11df-b57e-0002a5d5c51b"/>
<effect name="virtualizer" library="bundle" uuid="1d4033c0-8557-11df-9f2d-0002a5d5c51b"/>
<effect name="equalizer" library="bundle" uuid="ce772f20-847d-11df-bb17-0002a5d5c51b"/>
<effect name="volume" library="bundle" uuid="119341a0-8469-11df-81f9-0002a5d5c51b"/>
<effect name="reverb_env_aux" library="reverb" uuid="4a387fc0-8ab3-11df-8bad-0002a5d5c51b"/>
<effect name="reverb_env_ins" library="reverb" uuid="c7a511a0-a3bb-11df-860e-0002a5d5c51b"/>
<effect name="reverb_pre_aux" library="reverb" uuid="f29a1400-a3bb-11df-8ddc-0002a5d5c51b"/>
<effect name="reverb_pre_ins" library="reverb" uuid="172cdf00-a3bc-11df-a72f-0002a5d5c51b"/>
<effect name="downmix" library="downmix" uuid="93f04452-e4fe-41cc-91f9-e475b6d1d69f"/>
<effect name="loudness_enhancer" library="loudness_enhancer" uuid="fa415329-2034-4bea-b5dc-5b381c8d1e2c"/>
<effect name="dynamics_processing" library="dynamics_processing" uuid="e0e6539b-1781-7261-676f-6d7573696340"/>
<!-- agc is using nvoice lib for preprocessing which doesn't support it, so disabling agc -->
<!--effect name="agc" library="preprocessing" uuid="aa8130e0-66fc-11e0-bad0-0002a5d5c51b"/-->
<effect name="ns" library="preprocessing" uuid="c06c8400-8e06-11e0-9cb6-0002a5d5c51b"/>
</effects>
<preprocess>
<stream type="camcorder">
<!--apply effect="agc"/-->
<apply effect="ns"/>
</stream>
<stream type="mic">
<!--apply effect="agc"/-->
<apply effect="ns"/>
</stream>
<stream type="voice_communication">
<!--apply effect="agc"/-->
<apply effect="ns"/>
</stream>
</preprocess>
</audio_effects_conf>
-112
View File
@@ -1,112 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- Copyright (C) 2015 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!-- Copyright (C) 2018-2019 NVIDIA Corporation. All rights reserved. -->
<audioPolicyConfiguration version="1.0" xmlns:xi="http://www.w3.org/2001/XInclude">
<!-- version section contains a “version” tag in the form “major.minor” e.g version=”1.0” -->
<!-- Global configuration Decalaration -->
<globalConfiguration speaker_drc_enabled="false"/>
<!-- Modules section:
There is one section per audio HW module present on the platform.
Each module section will contains two mandator y tags for audio HAL “halVersion” and “name”.
The module names are the same as in current .conf file:
“primary”, “A2DP”, “remote_submix”, “USB”
Each module will contain the following sections:
“devicePorts”: a list of device descriptors for all input and output devices accessible via this
module.
This contains both permanently attached devices and removable devices.
“mixPorts”: listing all output and input streams exposed by the audio HAL
“routes”: list of possible connections between input and output devices or between stream and
devices.
"route": is defined by an attribute:
-"type": <mux|mix> means all sources are mutual exclusive (mux) or can be mixed (mix)
-"sink": the sink involved in this route
-"sources": all the sources than can be connected to the sink via vis route
“attachedDevices”: permanently attached devices.
The attachedDevices section is a list of devices names. The names correspond to device names
defined in <devicePorts> section.
“defaultOutputDevice”: device to be used by default when no policy rule applies
-->
<modules>
<!-- Primary Audio HAL -->
<module name="primary" halVersion="3.0">
<attachedDevices>
<item>Speaker</item>
</attachedDevices>
<defaultOutputDevice>Speaker</defaultOutputDevice>
<!-- Primary HAL mixPorts and devicePorts -->
<xi:include href="/vendor/etc/primary_module_mixports.xml"/>
<xi:include href="/vendor/etc/primary_module_deviceports.xml"/>
<!-- route declaration, i.e. list all available sources for a given sink -->
<routes>
<!-- Playback routes -->
<route type="mix" sink="Speaker"
sources="primary_output"/>
<route type="mix" sink="Wired Headset"
sources="primary_output"/>
<route type="mix" sink="Wired Headphones"
sources="primary_output"/>
<route type="mix" sink="BT SCO"
sources="primary_output"/>
<route type="mix" sink="BT SCO Headset"
sources="primary_output"/>
<route type="mix" sink="BT SCO Car Kit"
sources="primary_output"/>
<route type="mix" sink="AUX Digital"
sources="primary_output,multichannel,passthrough,hra"/>
<route type="mix" sink="Digital Dock HS"
sources="primary_output"/>
<!-- Capture routes -->
<route type="mix" sink="primary_input"
sources="Wired Headset Mic,BT SCO Headset Mic,Digital Dock HS Mic,AudioIP-In"/>
</routes>
</module>
<!-- Usb Audio HAL -->
<xi:include href="/vendor/etc/usb_audio_policy_configuration.xml"/>
<!-- Remote Submix Audio HAL -->
<xi:include href="/vendor/etc/r_submix_audio_policy_configuration.xml"/>
<!-- Bluetooth Audio HAL -->
<xi:include href="/vendor/etc/bluetooth_audio_policy_configuration.xml"/>
<!-- MSD Audio HAL -->
<!-- <xi:include href="/vendor/etc/msd_audio_policy_configuration.xml"/> -->
</modules>
<!-- End of Modules section -->
<!-- Volume section -->
<xi:include href="/vendor/etc/audio_policy_volumes.xml"/>
<xi:include href="/vendor/etc/default_volume_tables.xml"/>
<!-- End of Volume section -->
<!-- Surround Sound configuration -->
<xi:include href="surround_sound_configuration_5_0.xml"/>
<!-- End of Surround Sound configuration -->
</audioPolicyConfiguration>
-45
View File
@@ -1,45 +0,0 @@
H264:
Settings_1080P
IMinQP 5
IMaxQP 30
PMinQP 10
PMaxQP 51
VBR 1
QualityLevel low
level 41
packettype 0
FrameSkip 0
IntraOnlyMode 0
UseConstrainedBP 0
SliceLevelEncode 0
END
Settings_720P
IMinQP 5
IMaxQP 30
PMinQP 10
PMaxQP 51
VBR 1
level 32
QualityLevel low
packettype 0
FrameSkip 0
IntraOnlyMode 0
UseConstrainedBP 0
SliceLevelEncode 0
END
Settings_Default
IMinQP 5
IMaxQP 30
PMinQP 10
PMaxQP 51
VBR 1
QualityLevel low
packettype 0
FrameSkip 0
IntraOnlyMode 0
UseConstrainedBP 0
SliceLevelEncode 0
END
-268
View File
@@ -1,268 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright (C) 2012 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!--
<!DOCTYPE MediaCodecs [
<!ELEMENT MediaCodecs (Decoders,Encoders)>
<!ELEMENT Decoders (MediaCodec*)>
<!ELEMENT Encoders (MediaCodec*)>
<!ELEMENT MediaCodec (Type*,Quirk*)>
<!ATTLIST MediaCodec name CDATA #REQUIRED>
<!ATTLIST MediaCodec type CDATA>
<!ELEMENT Type EMPTY>
<!ATTLIST Type name CDATA #REQUIRED>
<!ELEMENT Quirk EMPTY>
<!ATTLIST Quirk name CDATA #REQUIRED>
]>
There's a simple and a complex syntax to declare the availability of a
media codec:
A codec that properly follows the OpenMax spec and therefore doesn't have any
quirks and that only supports a single content type can be declared like so:
<MediaCodec name="OMX.foo.bar" type="something/interesting" />
If a codec has quirks OR supports multiple content types, the following syntax
can be used:
<MediaCodec name="OMX.foo.bar" >
<Type name="something/interesting" />
<Type name="something/else" />
...
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="output-buffers-are-unreadable" />
</MediaCodec>
Only the three quirks included above are recognized at this point:
"requires-allocate-on-input-ports"
must be advertised if the component does not properly support specification
of input buffers using the OMX_UseBuffer(...) API but instead requires
OMX_AllocateBuffer to be used.
"requires-allocate-on-output-ports"
must be advertised if the component does not properly support specification
of output buffers using the OMX_UseBuffer(...) API but instead requires
OMX_AllocateBuffer to be used.
"output-buffers-are-unreadable"
must be advertised if the emitted output buffers of a decoder component
are not readable, i.e. use a custom format even though abusing one of
the official OMX colorspace constants.
Clients of such decoders will not be able to access the decoded data,
naturally making the component much less useful. The only use for
a component with this quirk is to render the output to the screen.
Audio decoders MUST NOT advertise this quirk.
Video decoders that advertise this quirk must be accompanied by a
corresponding color space converter for thumbnail extraction,
matching surfaceflinger support that can render the custom format to
a texture and possibly other code, so just DON'T USE THIS QUIRK.
-->
<MediaCodecs>
<Settings>
<Setting name="max-video-encoder-input-buffers" value="6" />
</Settings>
<Decoders>
<MediaCodec name="OMX.Nvidia.mp4.decode" type="video/mp4v-es" >
<Limit name="size" min="48x48" max="1920x1088" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="244800" />
<Limit name="bitrate" range="1-10000000" />
<Limit name="performance-point-1920x1080" value="240" />
<Feature name="adaptive-playback" />
</MediaCodec>
<MediaCodec name="OMX.Nvidia.h263.decode" type="video/3gpp" >
<Limit name="size" min="48x48" max="720x576" />
<Limit name="alignment" value="2x2" />
<Limit name="performance-point-1920x1080" value="240" />
<Feature name="adaptive-playback" />
</MediaCodec>
<MediaCodec name="OMX.Nvidia.h264.decode" type="video/avc" >
<Limit name="size" min="48x48" max="3840x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="2000000" />
<Limit name="bitrate" range="1-120000000" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-3840x2160" value="60" />
<Feature name="adaptive-playback" />
</MediaCodec>
<!-- <MediaCodec name="OMX.Nvidia.h264.decode.secure" type="video/avc" >
<Limit name="size" min="48x48" max="3840x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="2000000" />
<Limit name="bitrate" range="1-120000000" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-3840x2160" value="60" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
</MediaCodec> -->
<MediaCodec name="OMX.Nvidia.vp8.decode" type="video/x-vnd.on2.vp8" >
<Limit name="size" min="48x48" max="3840x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="783360" />
<Limit name="bitrate" range="1-120000000" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-3840x2160" value="60" />
<Feature name="adaptive-playback" />
</MediaCodec>
<MediaCodec name="OMX.Nvidia.vp9.decode" type="video/x-vnd.on2.vp9" >
<Limit name="size" min="144x144" max="3840x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="2000000" />
<Limit name="bitrate" range="1-120000000" />
<Limit name="performance-point-3840x2160" value="60" />
<Feature name="adaptive-playback" />
</MediaCodec>
<!-- <MediaCodec name="OMX.Nvidia.vp9.decode.secure" type="video/x-vnd.on2.vp9" >
<Limit name="size" min="144x144" max="3840x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="2000000" />
<Limit name="bitrate" range="1-120000000" />
<Feature name="adaptive-playback" />
<Limit name="performance-point-3840x2160" value="60" />
<Feature name="secure-playback" required="true" />
</MediaCodec> -->
<MediaCodec name="OMX.Nvidia.h265.decode" type="video/hevc" >
<Limit name="size" min="144x144" max="3840x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="2000000" />
<Limit name="bitrate" range="1-120000000" />
<Limit name="performance-point-3840x2160" value="60" />
<Feature name="adaptive-playback" />
</MediaCodec>
<MediaCodec name="OMX.Nvidia.mpeg2v.decode" type="video/mpeg2" >
<Limit name="size" min="32x32" max="3840x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="2000000" />
<Limit name="bitrate" range="1-120000000" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-3840x2160" value="60" />
<Feature name="adaptive-playback" />
</MediaCodec>
<MediaCodec name="OMX.Nvidia.mp2.decoder" type="audio/mpeg-L2" >
<Limit name="channel-count" max="6" />
<Limit name="sample-rate" ranges="16000,22050,24000,32000,44100,48000" />
<Limit name="bitrate" range="8000-384000" />
</MediaCodec>
<MediaCodec name="OMX.Nvidia.wma.decoder" type="audio/x-ms-wma" >
<Limit name="channel-count" max="6" />
<Limit name="sample-rate" ranges="16000,22050,24000,32000,44100,48000" />
<Limit name="bitrate" range="8000-384000" />
</MediaCodec>
<MediaCodec name="OMX.Nvidia.vc1.decode" >
<Type name="video/x-ms-wmv" >
<Limit name="size" min="32x32" max="3840x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="783360" />
<Limit name="bitrate" range="1-120000000" />
<Limit name="performance-point-1920x1080" value="240" />
<Feature name="adaptive-playback" />
</Type>
<Type name="video/wvc1" >
<Limit name="size" min="32x32" max="3840x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="783360" />
<Limit name="bitrate" range="1-120000000" />
<Limit name="performance-point-1920x1080" value="240" />
<Feature name="adaptive-playback" />
</Type>
</MediaCodec>
<MediaCodec name="OMX.Nvidia.mjpeg.decoder" type="video/x-motion-jpeg" >
<Limit name="block-size" value="16x16" />
<Limit name="performance-point-1920x1080" value="30" />
<Feature name="adaptive-playback" />
</MediaCodec>
<!-- <MediaCodec name="OMX.Nvidia.DOVI.decode" type="video/dolby-vision" >
<Limit name="size" min="144x144" max="3840x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="2000000" />
<Limit name="bitrate" range="1-120000000" />
<Limit name="performance-point-3840x2160" value="60" />
<Feature name="adaptive-playback" />
</MediaCodec>
<MediaCodec name="OMX.Nvidia.DOVI.decode.secure" type="video/dolby-vision" >
<Limit name="size" min="144x144" max="3840x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="2000000" />
<Limit name="bitrate" range="1-120000000" />
<Limit name="performance-point-3840x2160" value="60" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
</MediaCodec> -->
</Decoders>
<Encoders>
<MediaCodec name="OMX.Nvidia.h264.encoder" type="video/avc" >
<Limit name="size" min="48x48" max="3840x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="783360" />
<Limit name="bitrate" range="1-50000000" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-3840x2160" value="30" />
<Feature name="bitrate-modes" value="VBR,CBR" />
</MediaCodec>
<MediaCodec name="OMX.Nvidia.h265.encoder" >
<Type name="video/hevc" >
<Limit name="size" min="96x96" max="3840x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="783360" />
<Limit name="bitrate" range="1-50000000" />
<Limit name="quality" range="0-100" default="45" />
<Limit name="performance-point-3840x2160" value="30" />
<Feature name="bitrate-modes" value="VBR,CBR,CQ" />
</Type>
<Type name="image/vnd.android.heic" >
<Limit name="size" min="96x96" max="3840x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="783360" />
<Limit name="bitrate" range="1-50000000" />
<Limit name="quality" range="0-100" default="45" />
<Limit name="performance-point-3840x2160" value="30" />
<Feature name="bitrate-modes" value="VBR,CBR,CQ" />
</Type>
</MediaCodec>
<MediaCodec name="OMX.Nvidia.vp8.encoder" type="video/x-vnd.on2.vp8" >
<Limit name="size" min="48x48" max="3840x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="783360" />
<Limit name="bitrate" range="1-50000000" />
<Limit name="performance-point-3840x2160" value="30" />
<Feature name="bitrate-modes" value="VBR,CBR" />
</MediaCodec>
</Encoders>
</MediaCodecs>
-123
View File
@@ -1,123 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright 2015 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<MediaCodecs>
<Encoders>
<MediaCodec name="OMX.Nvidia.h264.encoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="760-902" />
<Limit name="measured-frame-rate-720x480" range="280-387" />
<Limit name="measured-frame-rate-1280x720" range="130-192" />
<Limit name="measured-frame-rate-1920x1080" range="70-95" />
</MediaCodec>
<MediaCodec name="OMX.Nvidia.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="841-854" />
<Limit name="measured-frame-rate-640x360" range="363-421" />
<Limit name="measured-frame-rate-1280x720" range="114-145" />
</MediaCodec>
<MediaCodec name="OMX.Nvidia.h265.encoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="850-982" />
<Limit name="measured-frame-rate-720x480" range="300-364" />
<Limit name="measured-frame-rate-1280x720" range="135-171" />
<Limit name="measured-frame-rate-1920x1080" range="65-80" />
<Limit name="measured-frame-rate-3840x2160" range="18-22" />
</MediaCodec>
<MediaCodec name="OMX.google.h264.encoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="490-610" />
<Limit name="measured-frame-rate-720x480" range="170-200" />
<Limit name="measured-frame-rate-1280x720" range="88-112" />
<Limit name="measured-frame-rate-1920x1080" range="45-56" />
</MediaCodec>
<MediaCodec name="OMX.google.h263.encoder" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="643-656" />
</MediaCodec>
<MediaCodec name="OMX.google.mpeg4.encoder" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="689-754" />
</MediaCodec>
<MediaCodec name="OMX.google.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="242-253" />
<Limit name="measured-frame-rate-640x360" range="114-116" />
<Limit name="measured-frame-rate-1280x720" range="35-36" />
<Limit name="measured-frame-rate-1920x1080" range="28-28" />
</MediaCodec>
</Encoders>
<Decoders>
<!-- <MediaCodec name="OMX.Nvidia.DOVI.decode" type="video/dolby-vision" update="true">
<Limit name="measured-frame-rate-352x288" range="2239-2239" />
<Limit name="measured-frame-rate-640x368" range="1950-1950" />
<Limit name="measured-frame-rate-1280x720" range="1030-1030" />
<Limit name="measured-frame-rate-1920x1088" range="409-589" />
</MediaCodec> -->
<MediaCodec name="OMX.Nvidia.h265.decode" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="2239-2239" />
<Limit name="measured-frame-rate-640x368" range="1950-1950" />
<Limit name="measured-frame-rate-1280x720" range="1030-1030" />
<Limit name="measured-frame-rate-1920x1088" range="409-589" />
</MediaCodec>
<MediaCodec name="OMX.Nvidia.h264.decode" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="2273-2273" />
<Limit name="measured-frame-rate-720x480" range="1413-1413" />
<Limit name="measured-frame-rate-1280x720" range="811-811" />
<Limit name="measured-frame-rate-1920x1088" range="346-346" />
</MediaCodec>
<MediaCodec name="OMX.Nvidia.h263.decode" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="2335-2335" />
<Limit name="measured-frame-rate-352x288" range="1492-1950" />
</MediaCodec>
<MediaCodec name="OMX.Nvidia.mp4.decode" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="2635-2635" />
<Limit name="measured-frame-rate-480x368" range="1738-1738" />
</MediaCodec>
<MediaCodec name="OMX.Nvidia.vp8.decode" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x192" range="2057-2057" />
<Limit name="measured-frame-rate-640x368" range="1438-1438" />
<Limit name="measured-frame-rate-1280x720" range="536-536" />
<Limit name="measured-frame-rate-1920x1088" range="300-339" />
</MediaCodec>
<MediaCodec name="OMX.Nvidia.vp9.decode" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x192" range="3400-3500" />
<Limit name="measured-frame-rate-640x368" range="1532-1532" />
<Limit name="measured-frame-rate-1280x720" range="643-643" />
<Limit name="measured-frame-rate-1920x1088" range="319-319" />
</MediaCodec>
<MediaCodec name="OMX.google.h264.decoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="782-782" />
<Limit name="measured-frame-rate-720x480" range="227-253" />
<Limit name="measured-frame-rate-1280x720" range="86-96" />
<Limit name="measured-frame-rate-1920x1080" range="64-71" />
</MediaCodec>
<MediaCodec name="OMX.google.h263.decoder" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="1122-1187" />
<Limit name="measured-frame-rate-352x288" range="720-820" />
</MediaCodec>
<MediaCodec name="OMX.google.hevc.decoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="584-590" />
<Limit name="measured-frame-rate-640x360" range="306-319" />
<Limit name="measured-frame-rate-1280x720" range="120-140" />
<Limit name="measured-frame-rate-1920x1080" range="63-78" />
</MediaCodec>
<MediaCodec name="OMX.google.mpeg4.decoder" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="1140-1194" />
</MediaCodec>
<MediaCodec name="OMX.google.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="990-1087" />
<Limit name="measured-frame-rate-640x360" range="324-351" />
<Limit name="measured-frame-rate-1280x720" range="67-76" />
<Limit name="measured-frame-rate-1920x1080" range="26-29" />
</MediaCodec>
<MediaCodec name="OMX.google.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x180" range="682-753" />
<Limit name="measured-frame-rate-640x360" range="287-313" />
<Limit name="measured-frame-rate-1280x720" range="94-103" />
<Limit name="measured-frame-rate-1920x1080" range="52-57" />
</MediaCodec>
</Decoders>
</MediaCodecs>
-342
View File
@@ -1,342 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2010 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!DOCTYPE MediaSettings [
<!ELEMENT MediaSettings (CamcorderProfiles,
EncoderOutputFileFormat+,
VideoEncoderCap+,
AudioEncoderCap+,
VideoDecoderCap,
AudioDecoderCap)>
<!ELEMENT CamcorderProfiles (EncoderProfile+, ImageEncoding+, ImageDecoding, Camera)>
<!ELEMENT EncoderProfile (Video, Audio)>
<!ATTLIST EncoderProfile quality (timelapse1080p|timelapse720p|timelapse480p|timelapsehigh|timelapselow|480p|qcif|high|low|1080p) #REQUIRED>
<!ATTLIST EncoderProfile fileFormat (mp4|3gp) #REQUIRED>
<!ATTLIST EncoderProfile duration (30|60) #REQUIRED>
<!ELEMENT Video EMPTY>
<!ATTLIST Video codec (h264|h263|m4v) #REQUIRED>
<!ATTLIST Video bitRate CDATA #REQUIRED>
<!ATTLIST Video width CDATA #REQUIRED>
<!ATTLIST Video height CDATA #REQUIRED>
<!ATTLIST Video frameRate CDATA #REQUIRED>
<!ELEMENT Audio EMPTY>
<!ATTLIST Audio codec (amrnb|amrwb|aac) #REQUIRED>
<!ATTLIST Audio bitRate CDATA #REQUIRED>
<!ATTLIST Audio sampleRate CDATA #REQUIRED>
<!ATTLIST Audio channels (1|2) #REQUIRED>
<!ELEMENT ImageEncoding EMPTY>
<!ATTLIST ImageEncoding quality (90|80|70|60|50|40) #REQUIRED>
<!ELEMENT ImageDecoding EMPTY>
<!ATTLIST ImageDecoding memCap CDATA #REQUIRED>
<!ELEMENT Camera EMPTY>
<!ATTLIST Camera previewFrameRate CDATA #REQUIRED>
<!ELEMENT EncoderOutputFileFormat EMPTY>
<!ATTLIST EncoderOutputFileFormat name (mp4|3gp) #REQUIRED>
<!ELEMENT VideoEncoderCap EMPTY>
<!ATTLIST VideoEncoderCap name (h264|h263|m4v) #REQUIRED>
<!ATTLIST VideoEncoderCap enabled (true|false) #REQUIRED>
<!ATTLIST VideoEncoderCap minBitRate CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap maxBitRate CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap minFrameWidth CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap maxFrameWidth CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap minFrameHeight CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap maxFrameHeight CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap minFrameRate CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap maxFrameRate CDATA #REQUIRED>
<!ELEMENT AudioEncoderCap EMPTY>
<!ATTLIST AudioEncoderCap name (amrnb|amrwb|aac|wma) #REQUIRED>
<!ATTLIST AudioEncoderCap enabled (true|false) #REQUIRED>
<!ATTLIST AudioEncoderCap minBitRate CDATA #REQUIRED>
<!ATTLIST AudioEncoderCap maxBitRate CDATA #REQUIRED>
<!ATTLIST AudioEncoderCap minSampleRate CDATA #REQUIRED>
<!ATTLIST AudioEncoderCap maxSampleRate CDATA #REQUIRED>
<!ATTLIST AudioEncoderCap minChannels (1|2) #REQUIRED>
<!ATTLIST AudioEncoderCap maxChannels (1|2) #REQUIRED>
<!ELEMENT VideoDecoderCap EMPTY>
<!ATTLIST VideoDecoderCap name (wmv) #REQUIRED>
<!ATTLIST VideoDecoderCap enabled (true|false) #REQUIRED>
<!ELEMENT AudioDecoderCap EMPTY>
<!ATTLIST AudioDecoderCap name (wma) #REQUIRED>
<!ATTLIST AudioDecoderCap enabled (true|false) #REQUIRED>
]>
<!--
This file is used to declare the multimedia profiles and capabilities
on an android-powered device.
-->
<MediaSettings>
<!-- Each camcorder profile defines a set of predefined configuration parameters -->
<!-- USB Camera -->
<CamcorderProfiles cameraId="0">
<EncoderProfile quality="low" fileFormat="3gp" duration="30">
<Video codec="h264"
bitRate="384000"
width="176"
height="144"
frameRate="30" />
<Audio codec="amrnb"
bitRate="12200"
sampleRate="8000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="high" fileFormat="3gp" duration="30">
<Video codec="h264"
bitRate="14000000"
width="1920"
height="1080"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="qcif" fileFormat="3gp" duration="30">
<Video codec="h264"
bitRate="384000"
width="176"
height="144"
frameRate="30" />
<Audio codec="amrnb"
bitRate="12200"
sampleRate="8000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="cif" fileFormat="3gp" duration="30">
<Video codec="h264"
bitRate="1536000"
width="352"
height="288"
frameRate="30" />
<Audio codec="amrnb"
bitRate="12200"
sampleRate="8000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="480p" fileFormat="3gp" duration="30">
<Video codec="h264"
bitRate="4000000"
width="640"
height="480"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="720p" fileFormat="3gp" duration="30">
<Video codec="h264"
bitRate="8000000"
width="1280"
height="720"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="1080p" fileFormat="3gp" duration="30">
<Video codec="h264"
bitRate="14000000"
width="1920"
height="1080"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="timelapselow" fileFormat="3gp" duration="30">
<Video codec="h264"
bitRate="384000"
width="176"
height="144"
frameRate="30" />
<!--
The Audio part of the profile will not be used since time lapse mode
does not capture audio
-->
<Audio codec="amrnb"
bitRate="12200"
sampleRate="8000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapsehigh" fileFormat="3gp" duration="30">
<Video codec="h264"
bitRate="14000000"
width="1920"
height="1080"
frameRate="30" />
<!--
The Audio part of the profile will not be used since time lapse mode
does not capture audio
-->
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="timelapseqcif" fileFormat="3gp" duration="30">
<Video codec="h264"
bitRate="384000"
width="176"
height="144"
frameRate="30" />
<!--
The Audio part of the profile will not be used since time lapse mode
does not capture audio
-->
<Audio codec="amrnb"
bitRate="12200"
sampleRate="8000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapsecif" fileFormat="3gp" duration="30">
<Video codec="h264"
bitRate="1536000"
width="352"
height="288"
frameRate="30" />
<!--
The Audio part of the profile will not be used since time lapse mode
does not capture audio
-->
<Audio codec="amrnb"
bitRate="12200"
sampleRate="8000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapse480p" fileFormat="3gp" duration="30">
<Video codec="h264"
bitRate="4000000"
width="640"
height="480"
frameRate="30" />
<!--
The Audio part of the profile will not be used since time lapse mode
does not capture audio
-->
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="timelapse720p" fileFormat="3gp" duration="30">
<Video codec="h264"
bitRate="8000000"
width="1280"
height="720"
frameRate="30" />
<!--
The Audio part of the profile will not be used since time lapse mode
does not capture audio
-->
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<EncoderProfile quality="timelapse1080p" fileFormat="3gp" duration="30">
<Video codec="h264"
bitRate="14000000"
width="1920"
height="1080"
frameRate="30" />
<!--
The Audio part of the profile will not be used since time lapse mode
does not capture audio
-->
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
<ImageEncoding quality="90" />
<ImageEncoding quality="80" />
<ImageEncoding quality="70" />
<ImageDecoding memCap="20000000" />
</CamcorderProfiles>
<EncoderOutputFileFormat name="3gp" />
<!--
If a codec is not enabled, it is invisible to the applications
In other words, the applications won't be able to use the codec
or query the capabilities of the codec at all if it is disabled
-->
<VideoEncoderCap name="h264" enabled="true"
minBitRate="64000" maxBitRate="20000000"
minFrameWidth="176" maxFrameWidth="1920"
minFrameHeight="144" maxFrameHeight="1080"
minFrameRate="30" maxFrameRate="30" />
<VideoEncoderCap name="h263" enabled="true"
minBitRate="64000" maxBitRate="1536000"
minFrameWidth="176" maxFrameWidth="352"
minFrameHeight="144" maxFrameHeight="288"
minFrameRate="30" maxFrameRate="30" />
<VideoEncoderCap name="m4v" enabled="true"
minBitRate="64000" maxBitRate="1536000"
minFrameWidth="176" maxFrameWidth="352"
minFrameHeight="144" maxFrameHeight="288"
minFrameRate="30" maxFrameRate="30" />
<AudioEncoderCap name="aac" enabled="true"
minBitRate="8000" maxBitRate="320000"
minSampleRate="8000" maxSampleRate="48000"
minChannels="1" maxChannels="2" />
<AudioEncoderCap name="amrwb" enabled="true"
minBitRate="6600" maxBitRate="23050"
minSampleRate="16000" maxSampleRate="16000"
minChannels="1" maxChannels="1" />
<AudioEncoderCap name="amrnb" enabled="true"
minBitRate="4750" maxBitRate="12200"
minSampleRate="8000" maxSampleRate="8000"
minChannels="1" maxChannels="1" />
<VideoDecoderCap name="wmv" enabled="true"/>
<AudioDecoderCap name="wma" enabled="true"/>
</MediaSettings>
-239
View File
@@ -1,239 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<AudioConfigs version="2">
<card name="tegra-hda">
<pcm_config name ="hdmi-playback"
device_id="3"
rate="48000"
channels="2"
bps="16"
period_size="256"
period_count="8"
start_threshold="2047"
stop_threshold="4294967295"
silence_threshold="0"
silence_size="4294967295"
avail_min="1"
devices="hdmi"/>
<param name="HDMI HW Latency" val="50"/>
<param name="DP DEVICE ID" val="3"/>
</card>
<card name="Nintendo Switch APE">
<pcm_config name="music-playback"
device_id="0"
rate="48000"
channels="2"
bps="16"
period_size="1024"
period_count="4"
start_threshold="4095"
stop_threshold="4294967295"
silence_threshold="0"
silence_size="4294967295"
avail_min="1"
devices="speaker|headphone|headset"/>
<pcm_config name="fast-playback"
device_id="5"
rate="48000"
channels="2"
bps="16"
period_size="128"
period_count="2"
start_threshold="255"
stop_threshold="4294967295"
silence_threshold="0"
silence_size="4294967295"
avail_min="1"
devices="speaker|headphone|headset"/>
<pcm_config name="music-capture"
device_id="0"
rate="48000"
channels="2"
bps="16"
period_size="128"
period_count="4"
start_threshold="1"
stop_threshold="512"
silence_threshold="0"
avail_min="1"
devices="headset-mic"/>
<pcm_config name="fast-capture"
device_id="0"
rate="48000"
channels="2"
bps="16"
period_size="128"
period_count="4"
start_threshold="1"
stop_threshold="512"
silence_threshold="0"
avail_min="1"
devices="headset-mic"/>
<pcm_config name="bt-sco-playback"
device_id="1"
rate="8000"
channels="1"
bps="16"
period_size="128"
period_count="4"
start_threshold="511"
stop_threshold="512"
silence_threshold="0"
avail_min="1"
devices="bt-sco"/>
<pcm_config name="bt-sco-capture"
device_id="1"
rate="8000"
channels="1"
bps="16"
period_size="128"
period_count="4"
start_threshold="1"
stop_threshold="512"
silence_threshold="0"
avail_min="1"
devices="bt-sco-mic"/>
<pcm_config name="bt-sco-wb-playback"
device_id="1"
rate="16000"
channels="1"
bps="16"
period_size="256"
period_count="4"
start_threshold="1023"
stop_threshold="1024"
silence_threshold="0"
avail_min="1"
devices="bt-sco"/>
<pcm_config name="bt-sco-wb-capture"
device_id="1"
rate="16000"
channels="1"
bps="16"
period_size="256"
period_count="4"
start_threshold="1"
stop_threshold="1024"
silence_threshold="0"
avail_min="1"
devices="bt-sco-mic"/>
<param name="nvoice" val="0"/>
<param name="builtin speaker" val="1"/>
<param name="safe-routing" val="1"/>
<param name="spkprot-flag" val="CPU"/>
<ctl name="ADMAIF1 Mux" val="I2S1"/>
<ctl name="codec-x rate" val="None"/>
<!-- Boot ADSP -->
<ctl name="ADSP init" val="0"/>
<!-- Keep MIXER output ready for "adsp-spkprot" or "adsp-bypass" -->
<ctl name="ADMAIF1 Mux" val="I2S1"/>
<ctl name="I2S1 Mux" val="ADMAIF1"/>
<ctl name="I2S1 Sample Rate" val="48000"/>
<ctl name="x Stereo DAC MIXL DAC L1 Switch" val="0"/>
<ctl name="x Stereo DAC MIXR DAC R1 Switch" val="0"/>
<ctl name="x SPK MIXL DAC L1 Switch" val="0"/>
<ctl name="x SPK MIXR DAC R1 Switch" val="0"/>
<ctl name="x Speaker L Playback Switch" val="0"/>
<ctl name="x Speaker R Playback Switch" val="0"/>
<ctl name="x SPOL MIX SPKVOL L Switch" val="0"/>
<ctl name="x SPOR MIX SPKVOL R Switch" val="0"/>
<ctl name="x Speaker Playback Volume" val="0,0"/>
<ctl name="x ADC MIC Capture Volume" val="0 0"/>
<ctl name="x Speaker Channel Switch" val="0,0"/>
<ctl name="x ADC Capture Switch" val="0"/>
<ctl name="x ADC IF1 Data Switch" val="Normal"/>
<ctl name="x RECMIXL BST1 Switch" val="0"/>
<ctl name="x Stereo ADC MIXL ADC1 Switch" val="0"/>
<ctl name="x OUT MIXL DAC L1 Switch" val="0"/>
<ctl name="x OUT MIXR DAC R1 Switch" val="0"/>
<ctl name="x HPO MIX HPVOL Switch" val="0"/>
<ctl name="x HP L Playback Switch" val="0"/>
<ctl name="x HP R Playback Switch" val="0"/>
<ctl name="x HP Playback Volume" val="0,0"/>
<ctl name="x HP Channel Switch" val="0,0"/>
<!-- BT-SCO path -->
<ctl name="I2S2 Mux" val="ADMAIF2"/>
<ctl name="ADMAIF2 Mux" val="I2S2"/>
<path name="adsp-bypass">
<!-- No specifc controls now -->
</path>
<path name="rt5640-speaker">
<ctl name="x Stereo DAC MIXL DAC L1 Switch" val="1"/>
<ctl name="x Stereo DAC MIXR DAC R1 Switch" val="1"/>
<ctl name="x SPK MIXL DAC L1 Switch" val="1"/>
<ctl name="x SPK MIXR DAC R1 Switch" val="1"/>
<ctl name="x Speaker L Playback Switch" val="1"/>
<ctl name="x Speaker R Playback Switch" val="1"/>
<ctl name="x SPOL MIX SPKVOL L Switch" val="1"/>
<ctl name="x SPOR MIX SPKVOL R Switch" val="1"/>
<ctl name="x Speaker Playback Volume" val="30,30"/>
<ctl name="x Speaker Channel Switch" val="1,1"/>
</path>
<path name="rt5640-headphone">
<ctl name="x HPO MIX HPVOL Switch" val="1"/>
<ctl name="x HP L Playback Switch" val="1"/>
<ctl name="x HP R Playback Switch" val="1"/>
<ctl name="x Stereo DAC MIXL DAC L1 Switch" val="1"/>
<ctl name="x Stereo DAC MIXR DAC R1 Switch" val="1"/>
<ctl name="x HP Playback Volume" val="38,38"/>
<ctl name="x HP Channel Switch" val="1,1"/>
<ctl name="x OUT MIXR DAC R1 Switch" val="1"/>
<ctl name="x OUT MIXL DAC L1 Switch" val="1"/>
</path>
<path name="rt5640-headset">
<ctl name="x ADC MIC Capture Volume" val="47,0"/>
<ctl name="x ADC Capture Switch" val="1,0"/>
<ctl name="x Stereo ADC MIXL ADC1 Switch" val="1"/>
<ctl name="x RECMIXL BST1 Switch" val="1"/>
<ctl name="x IN1 Boost" val="5"/>
<ctl name="x ADC IF1 Data Switch" val="left copy to right"/>
</path>
<path name="speaker">
<path name="rt5640-speaker"/>
<path name="adsp-bypass"/>
</path>
<path name="headphone">
<path name="rt5640-headphone"/>
<path name="adsp-bypass"/>
</path>
<path name="headset">
<path name="headphone"/>
<path name="rt5640-headset"/>
</path>
<path name="headset-mic">
<path name="rt5640-headset"/>
<path name="adsp-bypass"/>
</path>
<path name="speaker-and-headphone">
<path name="speaker"/>
<path name="headphone"/>
</path>
<path name="speaker-and-headset">
<path name="speaker"/>
<path name="headset"/>
</path>
</card>
</AudioConfigs>
+24 -18
View File
@@ -36,10 +36,6 @@ BOARD_VENDOR_KERNEL_MODULES_LOAD += \
BOARD_VENDOR_KERNEL_MODULES_LOAD += \
brcmfmac-wcc
# Realtek ethernet
BOARD_VENDOR_KERNEL_MODULES_LOAD += \
r8169
# Tegra cec
BOARD_VENDOR_KERNEL_MODULES_LOAD += \
tegra_cec
@@ -64,18 +60,14 @@ BOARD_VENDOR_KERNEL_MODULES_LOAD += \
snd-soc-tegra210-dmic \
snd-soc-tegra210-mvc \
snd-soc-tegra210-ope \
snd-soc-tegra-audio-graph-card
snd-soc-tegra-audio-graph-card \
snd-soc-rt5640
# Nvidia Controllers
BOARD_VENDOR_KERNEL_MODULES_LOAD += \
hid-nvidia-shield \
hid-nvidia-shield-oot
# JoyCons
BOARD_VENDOR_KERNEL_MODULES_LOAD += \
joycon-serdev \
hid-nintendo
# Copy to boot
BOOT_KERNEL_MODULES := \
system_heap.ko \
@@ -98,7 +90,6 @@ BOOT_KERNEL_MODULES := \
max77812-regulator.ko \
gpio-pca953x.ko \
tegra20-apb-dma.ko \
tegra210-emc.ko \
phy-tegra-xusb.ko \
xhci-tegra.ko \
tegra-xudc.ko \
@@ -109,16 +100,17 @@ BOOT_KERNEL_MODULES := \
pwm-fan.ko \
pwm-regulator.ko \
tegra-soctherm.ko \
lm90.ko \
cqhci.ko \
sdhci-tegra.ko \
simplefb.ko \
host1x.ko \
drm_display_helper.ko \
drm_dp_aux_bus.ko \
tegra-drm.ko \
panel-jdi-58-1440-810.ko \
panel-nx-dsi.ko \
pwm_bl.ko
pwm_bl.ko \
bm92txx.ko \
ftm4.ko
# Load in first stage boot
BOARD_VENDOR_RAMDISK_KERNEL_MODULES_LOAD := \
@@ -129,6 +121,7 @@ BOARD_VENDOR_RAMDISK_KERNEL_MODULES_LOAD := \
spi-tegra114 \
spi-tegra210-quad \
bq24190_charger \
bq27xxx_battery_i2c \
rtc-tegra \
gpio-tegra \
max77620 \
@@ -138,7 +131,7 @@ BOARD_VENDOR_RAMDISK_KERNEL_MODULES_LOAD := \
max77812-regulator \
gpio-pca953x \
tegra20-apb-dma \
tegra210-emc \
phy-tegra-xusb \
xhci-tegra \
tegra-xudc \
usb-conn-gpio \
@@ -147,8 +140,21 @@ BOARD_VENDOR_RAMDISK_KERNEL_MODULES_LOAD := \
pwm-fan \
pwm-regulator \
tegra-soctherm \
lm90 \
sdhci-tegra \
simplefb \
tegra-drm \
pwm_bl
panel-nx-dsi \
pwm_bl \
bm92txx \
ftm4
# Copy to recovery
RECOVERY_KERNEL_MODULES := \
$(BOOT_KERNEL_MODULES) \
hid-nvidia-shield.ko \
hid-nvidia-shield-oot.ko
# Load in recovery
BOARD_RECOVERY_KERNEL_MODULES_LOAD := \
$(BOARD_VENDOR_RAMDISK_KERNEL_MODULES_LOAD) \
hid-nvidia-shield \
hid-nvidia-shield-oot
+2
View File
@@ -15,11 +15,13 @@ PRODUCT_SYSTEM_EXT_PROPERTIES += \
atv.setup.bt_remote_pairing=false
# Graphics
ifneq ($(filter 4.9 5.10, $(TARGET_KERNEL_VERSION)),)
PRODUCT_PROPERTY_OVERRIDES += \
debug.sf.latch_unsignaled=1 \
ro.surface_flinger.force_hwc_copy_for_virtual_displays=true \
ro.surface_flinger.max_frame_buffer_acquired_buffers=3 \
ro.surface_flinger.max_virtual_display_dimension=4096
endif
# HWC
PRODUCT_PROPERTY_OVERRIDES += \
-27
View File
@@ -1,27 +0,0 @@
/*
* Copyright (C) 2024 The LineageOS Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
prebuilt_etc {
name: "thermalhal.nx.xml",
src: "thermalhal.nx.xml",
vendor: true,
}
prebuilt_etc {
name: "thermalhal.nx.ack.xml",
src: "thermalhal.nx.ack.xml",
vendor: true,
}
+1 -1
View File
@@ -29,7 +29,7 @@ Attributes for cpu-usages
</thermal_devices>
<cooling_devices>
<cooling_device>
<cooling-prop name="FAN" type="FAN_RPM" cooling-path="/sys/class/hwmon/hwmon1/rpm" />
<cooling-prop name="FAN" type="FAN_RPM" cooling-path="/sys/class/hwmon/hwmon0/rpm" />
</cooling_device>
</cooling_devices>
<cpu_usages cpus="4" />