Compare commits
10
Commits
eddaedec51
...
03a97d2bc1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
03a97d2bc1 | ||
|
|
6d1ad8d1d6 | ||
|
|
be7c7b18f3 | ||
|
|
e340d8fe81 | ||
|
|
5594c8ed4f | ||
|
|
3eee2f1dac | ||
|
|
3697d9abe6 | ||
|
|
043c11786c | ||
|
|
a09def5201 | ||
|
|
9b73b296a8 |
No files matched your search
+13
-8
@@ -13,25 +13,30 @@
|
||||
# limitations under the License.
|
||||
|
||||
INSTALLED_KERNEL_TARGET := $(PRODUCT_OUT)/kernel
|
||||
KERNEL_OUT ?= $(PRODUCT_OUT)/obj/KERNEL_OBJ
|
||||
|
||||
DTB_SUBFOLDER := nvidia/
|
||||
ifneq ($(TARGET_PREBUILT_KERNEL),)
|
||||
DTB_PATH := $(dir $(TARGET_PREBUILT_KERNEL))
|
||||
else ifneq ($(TARGET_KERNEL_PLATFORM_TARGET),)
|
||||
DTB_PATH := $(abspath $(KERNEL_OUT))
|
||||
endif
|
||||
|
||||
INSTALLED_DTBIMAGE_TARGET := $(PRODUCT_OUT)/install/nx-plat.dtimg
|
||||
$(INSTALLED_DTBIMAGE_TARGET): $(INSTALLED_KERNEL_TARGET) | mkdtimg
|
||||
echo -e ${CL_GRN}"Building nx DTImage"${CL_RST}
|
||||
@mkdir -p $(PRODUCT_OUT)/install
|
||||
$(HOST_OUT_EXECUTABLES)/mkdtimg create $@ --page_size=0x1000 \
|
||||
$(KERNEL_OUT)/arch/arm64/boot/dts/tegra210-odin.dtb --id=0x4F44494E --rev=0xa00 \
|
||||
$(KERNEL_OUT)/arch/arm64/boot/dts/tegra210b01-odin.dtb --id=0x4F44494E --rev=0xb01 \
|
||||
$(KERNEL_OUT)/arch/arm64/boot/dts/tegra210b01-vali.dtb --id=0x56414C49 --rev=0xa00 \
|
||||
$(KERNEL_OUT)/arch/arm64/boot/dts/tegra210b01-fric.dtb --id=0x46524947 --rev=0xa00
|
||||
$(DTB_PATH)/tegra210-odin.dtb --id=0x4F44494E --rev=0xa00 \
|
||||
$(DTB_PATH)/tegra210b01-odin.dtb --id=0x4F44494E --rev=0xb01 \
|
||||
$(DTB_PATH)/tegra210b01-vali.dtb --id=0x56414C49 --rev=0xa00 \
|
||||
$(DTB_PATH)/tegra210b01-fric.dtb --id=0x46524947 --rev=0xa00
|
||||
|
||||
ALL_DEFAULT_INSTALLED_MODULES += $(INSTALLED_DTBIMAGE_TARGET)
|
||||
|
||||
INSTALLED_RADIOIMAGE_TARGET += $(INSTALLED_DTBIMAGE_TARGET)
|
||||
|
||||
CEC_XML_SYMLINK := $(TARGET_OUT_VENDOR)/etc/permissions/android.hardware.hdmi.cec.xml
|
||||
$(CEC_XML_SYMLINK): $(LOCAL_INSTALLED_MODULE)
|
||||
$(hide) ln -sf /data/vendor/permissions/android.hardware.hdmi.cec.xml $@
|
||||
#CEC_XML_SYMLINK := $(TARGET_OUT_VENDOR)/etc/permissions/android.hardware.hdmi.cec.xml
|
||||
#$(CEC_XML_SYMLINK): $(LOCAL_INSTALLED_MODULE)
|
||||
# $(hide) ln -sf /data/vendor/permissions/android.hardware.hdmi.cec.xml $@
|
||||
|
||||
ALL_DEFAULT_INSTALLED_MODULES += $(CEC_XML_SYMLINK)
|
||||
+9
-23
@@ -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
|
||||
@@ -55,20 +55,12 @@ WITH_LINEAGE_CHARGER := false
|
||||
TARGET_SCREEN_DENSITY := 186
|
||||
|
||||
# Kernel Source
|
||||
KERNEL_TOOLCHAIN := $(shell pwd)/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-gnu-9.3/bin
|
||||
KERNEL_TOOLCHAIN_PREFIX := aarch64-buildroot-linux-gnu-
|
||||
TARGET_KERNEL_CLANG_COMPILE := false
|
||||
TARGET_KERNEL_SOURCE := kernel/nvidia/kernel-$(TARGET_KERNEL_VERSION)-nx
|
||||
TARGET_KERNEL_CONFIG := tegra_android_defconfig
|
||||
TARGET_KERNEL_ADDITIONAL_FLAGS := \
|
||||
NV_BUILD_KERNEL_OPTIONS=$(TARGET_KERNEL_VERSION) \
|
||||
HOSTCFLAGS="-fuse-ld=lld -Wno-unused-command-line-argument" \
|
||||
CONFIG_EXFAT_FS=m
|
||||
|
||||
TARGET_KERNEL_EXT_MODULE_ROOT := kernel/nvidia
|
||||
TARGET_KERNEL_EXT_MODULES := \
|
||||
exfat:kbuild \
|
||||
nvgpu/drivers/gpu/nvgpu:kbuild
|
||||
ifeq ($(TARGET_PREBUILT_KERNEL),)
|
||||
TARGET_KERNEL_PLATFORM_TARGET := tegra
|
||||
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/nintendo/nx/modules.mk
|
||||
|
||||
# Kernel Image Parameters
|
||||
@@ -91,16 +83,10 @@ TARGET_RELEASETOOLS_EXTENSIONS := device/nintendo/nx/releasetools
|
||||
VENDOR_SECURITY_PATCH := 2024-12-05
|
||||
|
||||
# SELinux
|
||||
BOARD_VENDOR_SEPOLICY_DIRS += device/nintendo/nx/sepolicy/vendor
|
||||
SELINUX_IGNORE_NEVERALLOWS := true
|
||||
#SELINUX_IGNORE_NEVERALLOWS := true
|
||||
|
||||
# Include Joycond sepolicy if present
|
||||
-include hardware/nintendo/joycond/joycond-sepolicy.mk
|
||||
|
||||
# Treble
|
||||
BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED := true
|
||||
BOARD_VNDK_VERSION := current
|
||||
PRODUCT_FULL_TREBLE_OVERRIDE := true
|
||||
#-include hardware/nintendo/joycond/joycond-sepolicy.mk
|
||||
|
||||
# Updater
|
||||
AB_OTA_UPDATER := false
|
||||
|
||||
+7
-207
@@ -9,48 +9,6 @@ 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
|
||||
test -n ${usb3_enable} || setenv usb3_enable 0
|
||||
test -n ${4k60_disable} || setenv 4k60_disable 0
|
||||
test -n ${dvfsb} || setenv dvfsb 0
|
||||
test -n ${gpu_dvfsc} || setenv gpu_dvfsc 0
|
||||
test -n ${limit_gpu_clk} || setenv limit_gpu_clk 0
|
||||
test -n ${jc_rail_disable} || setenv jc_rail_disable 0
|
||||
test -n ${cec_disable} || setenv cec_disable 0
|
||||
test -n ${touch_skip_tuning} || setenv touch_skip_tuning 0
|
||||
test -n ${bt_ertm_disable} || setenv bt_ertm_disable 0
|
||||
test -n ${wifi_disable_vht80} || setenv wifi_disable_vht80 0
|
||||
test -n ${alarms_disable} || setenv alarms_disable 0
|
||||
test -n ${oc} || setenv oc 0
|
||||
test -n ${ddr200_enable} || setenv ddr200_enable 0
|
||||
|
||||
# Built-in IMU.
|
||||
test -n ${acc_cal_off_x} || setenv acc_cal_off_x 0x0
|
||||
test -n ${acc_cal_off_y} || setenv acc_cal_off_y 0x0
|
||||
test -n ${acc_cal_off_z} || setenv acc_cal_off_z 0x0
|
||||
test -n ${acc_cal_scl_x} || setenv acc_cal_scl_x 0x0
|
||||
test -n ${acc_cal_scl_y} || setenv acc_cal_scl_y 0x0
|
||||
test -n ${acc_cal_scl_z} || setenv acc_cal_scl_z 0x0
|
||||
test -n ${gyr_cal_off_x} || setenv gyr_cal_off_x 0x0
|
||||
test -n ${gyr_cal_off_y} || setenv gyr_cal_off_y 0x0
|
||||
test -n ${gyr_cal_off_z} || setenv gyr_cal_off_z 0x0
|
||||
test -n ${gyr_cal_scl_x} || setenv gyr_cal_scl_x 0x0
|
||||
test -n ${gyr_cal_scl_y} || setenv gyr_cal_scl_y 0x0
|
||||
test -n ${gyr_cal_scl_z} || setenv gyr_cal_scl_z 0x0
|
||||
|
||||
# Lite Gamepad analog sticks calibration.
|
||||
test -n ${lite_cal_lx_lof} || setenv lite_cal_lx_lof 0x0
|
||||
test -n ${lite_cal_lx_cnt} || setenv lite_cal_lx_cnt 0x0
|
||||
test -n ${lite_cal_lx_rof} || setenv lite_cal_lx_rof 0x0
|
||||
test -n ${lite_cal_ly_dof} || setenv lite_cal_ly_dof 0x0
|
||||
test -n ${lite_cal_ly_cnt} || setenv lite_cal_ly_cnt 0x0
|
||||
test -n ${lite_cal_ly_uof} || setenv lite_cal_ly_uof 0x0
|
||||
|
||||
test -n ${lite_cal_rx_lof} || setenv lite_cal_rx_lof 0x0
|
||||
test -n ${lite_cal_rx_cnt} || setenv lite_cal_rx_cnt 0x0
|
||||
test -n ${lite_cal_rx_rof} || setenv lite_cal_rx_rof 0x0
|
||||
test -n ${lite_cal_ry_dof} || setenv lite_cal_ry_dof 0x0
|
||||
test -n ${lite_cal_ry_cnt} || setenv lite_cal_ry_cnt 0x0
|
||||
test -n ${lite_cal_ry_uof} || setenv lite_cal_ry_uof 0x0
|
||||
|
||||
# Set logging params for each serial type.
|
||||
setenv uarta "no_console_suspend console=ttyS0,115200,8n1 loglevel=8 androidboot.console=ttyS0"
|
||||
@@ -221,184 +179,26 @@ if test ${bt_ertm_disable} = 1; then setenv bootargs_extra ${bootargs_extra} "bl
|
||||
|
||||
# Enable eMMC.
|
||||
if test ${emmc} = 1; then
|
||||
fdt set /sdhci@700b0600 status okay
|
||||
fdt set /firmware/android boot_devices sdhci-tegra.3
|
||||
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 /sdhci@700b0600 bus-width <0x1>
|
||||
fdt set /sdhci@700b0600 uhs-mask <0x7F>
|
||||
fdt set /mmc@700b0600 bus-width <0x1>
|
||||
fdt set /mmc@700b0600 uhs-mask <0x7F>
|
||||
fi
|
||||
else
|
||||
fdt set /firmware/android boot_devices sdhci-tegra.0
|
||||
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 /sdhci@700b0000 bus-width <0x1>
|
||||
fdt set /sdhci@700b0000 uhs-mask <0x7F>
|
||||
fdt set /mmc@700b0600 bus-width <0x1>
|
||||
fdt set /mmc@700b0600 uhs-mask <0x7F>
|
||||
fi
|
||||
|
||||
# Check if SD DDR200 mode can be enabled.
|
||||
mmc info manid
|
||||
if test ${manid} = 1b; then
|
||||
echo Samsung SD Card Detected
|
||||
setenv ddr200_enable 1
|
||||
fi
|
||||
|
||||
if test ${ddr200_enable} = 1; then
|
||||
echoe SD DDR200 mode enabled
|
||||
fdt set /sdhci@700b0000 enable-ddr200
|
||||
fi
|
||||
|
||||
# Force PLLP for 408/204MHz Host/Card clock if set.
|
||||
if test "${ddr200_mode}" = 2; then
|
||||
echoe SD DDR200 PLLP enabled
|
||||
fdt set /sdhci@700b0000 ddr200-clk-limit 210000000
|
||||
fi
|
||||
|
||||
# Disable WiFi VHT80 bonding.
|
||||
if test ${wifi_disable_vht80} = 1; then setenv bootargs_extra ${bootargs_extra} "brcmfmac.vht_mask=12"; fi
|
||||
|
||||
# Set calibration data.
|
||||
if load mmc ${devnum}:${distro_bootpart} ${enviraddr} /switchroot/switch.cal; then
|
||||
env import -t -r ${enviraddr} ${filesize}
|
||||
if test ${sku} = 2; then
|
||||
echo Sio Calibration set
|
||||
fdt set /serial@70006200/sio sio-stick-cal-l <$lite_cal_lx_lof $lite_cal_lx_cnt $lite_cal_lx_rof $lite_cal_ly_dof $lite_cal_ly_cnt $lite_cal_ly_uof>
|
||||
fdt set /serial@70006200/sio sio-stick-cal-r <$lite_cal_rx_lof $lite_cal_rx_cnt $lite_cal_rx_rof $lite_cal_ry_dof $lite_cal_ry_cnt $lite_cal_ry_uof>
|
||||
fdt set /serial@70006200/sio sio-acc-cal <$acc_cal_off_x $acc_cal_off_y $acc_cal_off_z $acc_cal_scl_x $acc_cal_scl_y $acc_cal_scl_z>
|
||||
fdt set /serial@70006200/sio sio-gyr-cal <$gyr_cal_off_x $gyr_cal_off_y $gyr_cal_off_z $gyr_cal_scl_x $gyr_cal_scl_y $gyr_cal_scl_z>
|
||||
fi
|
||||
fi
|
||||
|
||||
# Get display handle.
|
||||
if test ${display_id} = f20; then echo Display is INN 6.2; fdt get value DHANDLE /host1x/dsi/panel-i-720p-6-2 phandle
|
||||
elif test ${display_id} = f30; then echo Display is AUO 6.2; fdt get value DHANDLE /host1x/dsi/panel-a-720p-6-2 phandle
|
||||
elif test ${display_id} = 10; then echo Display is JDI 6.2; fdt get value DHANDLE /host1x/dsi/panel-j-720p-6-2 phandle
|
||||
elif test ${display_id} = 1020; then echo Display is INN 5.5; fdt get value DHANDLE /host1x/dsi/panel-i-720p-5-5 phandle
|
||||
elif test ${display_id} = 1030; then echo Display is AUO 5.5; fdt get value DHANDLE /host1x/dsi/panel-a-720p-5-5 phandle
|
||||
elif test ${display_id} = 1040; then echo Display is SHP 5.5; fdt get value DHANDLE /host1x/dsi/panel-s-720p-5-5 phandle
|
||||
elif test ${display_id} = 2050; then echo Display is SAM 7.0
|
||||
elif test ${display_id} = f83; then echo Display is Clone 6.2
|
||||
elif test ${display_id} = B3; then echo Display is Clone 5.5
|
||||
elif test ${display_id} = 0; then echo Display is Clone 5.5
|
||||
else echoe Unknown Display ID: ${display_id}! Please report it!; fi
|
||||
|
||||
# Set active display handle.
|
||||
if test -n "${DHANDLE}" -a ${sku} != 3; then echo Setting Display panel; fdt set /host1x/dsi nvidia,active-panel <$DHANDLE>; fi
|
||||
|
||||
# Disable USB3.
|
||||
if test ${usb3_enable} = 0; then
|
||||
echo USB3 disabled
|
||||
fdt get value DHANDLE_USB2 /xusb_padctl@7009f000/pads/usb2/lanes/usb2-0 phandle
|
||||
fdt set /xusb@70090000 phys <$DHANDLE_USB2>
|
||||
fdt set /xusb@70090000 phy-names usb2-0
|
||||
fdt set /xudc@700d0000 phys <$DHANDLE_USB2>
|
||||
fdt set /xudc@700d0000 phy-names usb2
|
||||
fdt set /xusb_padctl@7009f000 usb3-no-mapping-war <0x1>
|
||||
fdt set /xusb_padctl@7009f000/ports/usb2-0 nvidia,usb3-port-fake <0xffffffff>
|
||||
fdt set /xusb_padctl@7009f000/ports/usb3-0 status disabled
|
||||
else
|
||||
echoe USB3 enabled
|
||||
fi
|
||||
|
||||
# Disable 4 DP lanes (4K@60) on Fric.
|
||||
if test ${sku} = 3 -a ${4k60_disable} = 1 -a ${usb3_enable} != 0; then
|
||||
echoe 4K60 disabled
|
||||
fdt set /i2c@7000c000/bm92t@18 rohm,dp-lanes <2>
|
||||
fi
|
||||
|
||||
# Set battery voltage limit via cell age for Vali.
|
||||
if test ${sku} = 2 -a -n "${VLIM}"; then
|
||||
echo VALI: voltage limits [${VLIM}, ${SOCLIM}]
|
||||
if test "${VLIM}" != 1070; then
|
||||
# Newer Vali. 4320 mV / 1664 mA.
|
||||
fdt set /i2c@7000c000/battery-charger@6b/charger ti,charge-voltage-limit-millivolt <0x$VLIM>
|
||||
fdt set /i2c@7000c000/battery-charger@6b/charger ti,charge-thermal-voltage-limit <0x$VLIM 0x$VLIM 0x$VLIM 0xFF0>
|
||||
fdt set /i2c@7000c000/battery-gauge@36 maxim,kernel-maximum-soc <0x$SOCLIM>
|
||||
else
|
||||
# Old Vali. 4208 mV / 1536 mA. (Unreleased?)
|
||||
fdt set /i2c@7000c000/battery-charger@6b/charger ti,charge-voltage-limit-millivolt <0x1070>
|
||||
fdt set /i2c@7000c000/battery-charger@6b/charger ti,charge-thermal-voltage-limit <0x1070 0x1070 0x1070 0xF70>
|
||||
fdt set /i2c@7000c000/battery-charger@6b/charger ti,fast-charge-current-limit-milliamp <0x600>
|
||||
fdt set /i2c@7000c000/battery-charger@6b/charger ti,charge-current-limit <0x200 0x240 0x600 0x600>
|
||||
fi
|
||||
fi
|
||||
|
||||
# DVFS B-Side.
|
||||
if test ${t210b01} = 1 -a ${dvfsb} = 1; then
|
||||
echoe DVFS B-Side enabled
|
||||
setenv bootargs_extra ${bootargs_extra} "speedo_tegra210.sku_id=0x83 speedo_tegra210.cspd_id=2 speedo_tegra210.sspd_id=2"
|
||||
fdt set /cpufreq/cpu-scaling-data max-frequency <0x249348>
|
||||
|
||||
if test ${gpu_dvfsc} = 0; then
|
||||
setenv bootargs_extra ${bootargs_extra} "speedo_tegra210.gspd_id=2"
|
||||
fi
|
||||
|
||||
if test ${sku} = 2; then
|
||||
# 2091 MHz CPU and 844 MHz GPU hard limit. Vali.
|
||||
fdt set /cpufreq/cpu-scaling-data max-frequency <0x1FE7F8>
|
||||
fdt set /dvfs nvidia,gpu-max-freq-khz <0xCE400>
|
||||
fi
|
||||
fi
|
||||
|
||||
# GPU DVFS C-Side.
|
||||
if test ${t210b01} = 1 -a ${gpu_dvfsc} = 1; then
|
||||
echoe DVFS C-Side GPU enabled
|
||||
|
||||
if test ${dvfsb} != 1; then
|
||||
setenv bootargs_extra ${bootargs_extra} "speedo_tegra210.sku_id=0x83 speedo_tegra210.gspd_id=3"
|
||||
else
|
||||
setenv bootargs_extra ${bootargs_extra} "speedo_tegra210.gspd_id=3"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Allow overclocking.
|
||||
if test ${oc} = 1; then
|
||||
echoe "CPU OC enabled"
|
||||
setenv bootargs_extra ${bootargs_extra} "androidboot.oc=1"
|
||||
fi
|
||||
|
||||
if test -n ${max_cpu_freq}; then
|
||||
echoe "Max CPU freq applied: ${max_cpu_freq} KHz"
|
||||
fdt set /cpufreq/cpu-scaling-data max-frequency <${max_cpu_freq}>
|
||||
fi
|
||||
|
||||
if test -n ${max_gpu_freq}; then
|
||||
echoe "Max GPU freq applied: ${max_gpu_freq} KHz"
|
||||
fdt set /dvfs nvidia,gpu-max-freq-khz <${max_gpu_freq}>
|
||||
fi
|
||||
|
||||
# Limit GPU clock.
|
||||
if test ${t210b01} = 1 -a ${limit_gpu_clk} = 1; then
|
||||
if test ${sku} != 2; then
|
||||
# If not Vali set GPU hard limit to 1075 MHz.
|
||||
echoe GPU clock limited
|
||||
fdt set /dvfs nvidia,gpu-max-freq-khz <0x106800>
|
||||
fi
|
||||
fi
|
||||
|
||||
# Set pmic type if devboard.
|
||||
if test ${t210b01} = 1 -a -n "${pmic_type}" -a ${pmic_type} = 1; then
|
||||
echoe GPU 15A Regulator enabled
|
||||
fdt set /i2c@7000d000/max77812@33 reg <0x31>
|
||||
fdt set /i2c@7000d000/max77812@33/m3vout status disabled
|
||||
fdt set /i2c@7000d000/fan53528@52 status okay
|
||||
fdt set /dvfs nvidia,gpu-max-volt-mv <0x3B6>
|
||||
fi
|
||||
|
||||
# Disable Wake up from RTC.
|
||||
if test ${alarms_disable} = 1; then
|
||||
echoe Wakeup Alarms disabled
|
||||
fdt set /rtc nvidia,pmc-wakeup <0>
|
||||
fdt set /pcie@1003000 nvidia,wake-gpio <0>
|
||||
fdt set /brcmfmac@0 nvidia,pmc-wakeup <0>
|
||||
fi
|
||||
|
||||
|
||||
# Set serial number.
|
||||
if test -n ${device_serial_restricted}; then fdt set / serial-number ${device_serial_restricted}; fi
|
||||
|
||||
|
||||
@@ -19,29 +19,6 @@ UBOOT_PATH := $(BUILD_TOP)/hardware/nintendo/u-boot
|
||||
NX_BOOTFILES_PATH := $(BUILD_TOP)/device/nintendo/nx/bootfiles
|
||||
NX_FIRMWARE_PATH := $(BUILD_TOP)/vendor/nintendo/nx/external/u-boot
|
||||
|
||||
ifneq ($(TARGET_TEGRA_UBOOT),prebuilt)
|
||||
|
||||
_uboot_bin := $(call intermediates-dir-for,$(LOCAL_MODULE_CLASS),$(LOCAL_MODULE))
|
||||
_uboot_bin := $(_uboot_bin)/$(LOCAL_MODULE)$(LOCAL_MODULE_SUFFIX)
|
||||
|
||||
$(_uboot_bin): $(sort $(shell find -L $(UBOOT_PATH)))
|
||||
@mkdir -p $(dir $@)
|
||||
$(hide) +$(KERNEL_MAKE_CMD) $(KERNEL_CROSS_COMPILE) \
|
||||
HOSTCC=$(TARGET_KERNEL_CLANG_PATH)/bin/clang HOSTLDFLAGS="-fuse-ld=lld" \
|
||||
YACC=$(BUILD_TOOLS_BINS)/bin/bison LEX=$(BUILD_TOOLS_BINS)/bin/flex M4=$(BUILD_TOOLS_BINS)/bin/m4 \
|
||||
-C $(UBOOT_PATH) O=$(dir $(_uboot_bin)) nx_defconfig
|
||||
$(hide) +$(KERNEL_MAKE_CMD) $(KERNEL_CROSS_COMPILE) \
|
||||
HOSTCC=$(TARGET_KERNEL_CLANG_PATH)/bin/clang HOSTLDFLAGS="-fuse-ld=lld" \
|
||||
YACC=$(BUILD_TOOLS_BINS)/bin/bison LEX=$(BUILD_TOOLS_BINS)/bin/flex M4=$(BUILD_TOOLS_BINS)/bin/m4 \
|
||||
-C $(UBOOT_PATH) O=$(dir $(_uboot_bin)) bl33.bin
|
||||
@mv $(_uboot_bin)/bl33.bin $(_uboot_bin)
|
||||
|
||||
$(PRODUCT_OUT)/bl33.bin: $(_uboot_bin)
|
||||
$(hide) cp $< $@
|
||||
.PHONY: bl33
|
||||
u-boot-dtb: $(PRODUCT_OUT)/bl33.bin
|
||||
endif # TARGET_TEGRA_UBOOT
|
||||
|
||||
_uscript_input := $(abspath $(NX_BOOTFILES_PATH)/android_boot.txt)
|
||||
_uscript_archive := $(call intermediates-dir-for,EXECUTABLES,boot.scr)/boot.scr
|
||||
$(_uscript_archive): $(_uscript_input)
|
||||
@@ -70,14 +47,10 @@ $(BUILT_TARGET_FILES_ZIPROOT)/IMAGES/boot.scr: $(BUILT_TARGET_FILES_ZIPROOT).zip
|
||||
INSTALLED_RADIOIMAGE_TARGET += $(NX_BOOTFILES_PATH)/android.ini
|
||||
INSTALLED_RADIOIMAGE_TARGET += $(NX_BOOTFILES_PATH)/bootlogo_android.bmp
|
||||
INSTALLED_RADIOIMAGE_TARGET += $(NX_BOOTFILES_PATH)/icon_android_hue.bmp
|
||||
|
||||
ifneq ($(TARGET_TEGRA_UBOOT),prebuilt)
|
||||
INSTALLED_RADIOIMAGE_TARGET += $(_uboot_bin)
|
||||
else
|
||||
INSTALLED_RADIOIMAGE_TARGET += $(NX_FIRMWARE_PATH)/bl33.bin
|
||||
endif
|
||||
|
||||
INSTALLED_RADIOIMAGE_TARGET += $(PRODUCT_OUT)/boot.scr
|
||||
INSTALLED_RADIOIMAGE_TARGET += $(PRODUCT_OUT)/bl31.bin
|
||||
|
||||
$(BUILT_TARGET_FILES_DIR): $(INSTALLED_RADIOIMAGE_TARGET)
|
||||
|
||||
endif # TARGET_DEVICE
|
||||
@@ -1,4 +0,0 @@
|
||||
filegroup {
|
||||
name: "vnd_nx.txt",
|
||||
srcs: ["vnd_nx.txt"],
|
||||
}
|
||||
@@ -1,46 +0,0 @@
|
||||
/*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
#ifndef _BDROID_BUILDCFG_H
|
||||
#define _BDROID_BUILDCFG_H
|
||||
|
||||
// SERVICE_CLASS:0x5A (Bit17 -Networking,Bit19 - Capturing,Bit20 -Object Transfer,Bit22 -Telephony)
|
||||
// MAJOR CLASS: COMPUTER
|
||||
// MINOR CLASS: TABLET
|
||||
#define BTA_DM_COD {0x5A, 0x01, 0x10}
|
||||
|
||||
// SERVICE_CLASS:0x20 (Bit18 - Rendering)
|
||||
// MAJOR CLASS: AUDIO/VIDEO
|
||||
// MINOR CLASS: set top box
|
||||
#define BTA_DM_COD_ATV {0x20, BTM_COD_MAJOR_AUDIO, BTM_COD_MINOR_SET_TOP_BOX}
|
||||
|
||||
#define BTIF_HF_WBS_PREFERRED TRUE
|
||||
#define BTM_WBS_INCLUDED TRUE
|
||||
#define BLE_VND_INCLUDED TRUE
|
||||
|
||||
#define BTSNOOP_MEM_BUFFER_SIZE (1024 * 1024)
|
||||
#define DEBUG_FS_UART_PATH "/d/70006300.serial/tty_buffer_count"
|
||||
|
||||
// To sync with CONN TIMEOUT of pepper
|
||||
#define BTM_BLE_CONN_TIMEOUT_DEF 1000
|
||||
|
||||
// Increase MAX GATT notification to 75
|
||||
#define BTA_GATTC_NOTIF_REG_MAX 75
|
||||
|
||||
// Turn off BLE_PRIVACY_SPT. Remote reconnect fails often if this is enabled.
|
||||
#define BLE_PRIVACY_SPT FALSE
|
||||
|
||||
#endif
|
||||
@@ -1,3 +0,0 @@
|
||||
BLUETOOTH_UART_DEVICE_PORT = "/dev/ttyTHS3"
|
||||
FW_PATCHFILE_LOCATION = "/vendor/firmware/"
|
||||
FW_PATCH_SETTLEMENT_DELAY_MS = 200
|
||||
@@ -16,26 +16,14 @@
|
||||
|
||||
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_MAN_LVL := 5
|
||||
TARGET_TEGRA_MEMTRACK ?= rel-shield-r
|
||||
TARGET_TEGRA_POWER := perfmgr
|
||||
TARGET_TEGRA_SENSORS := iio
|
||||
TARGET_TEGRA_SENSOR_FEATURES := accelerometer gyroscope light
|
||||
TARGET_TEGRA_THERMAL ?= lineage
|
||||
TARGET_TEGRA_UBOOT := prebuilt
|
||||
TARGET_TEGRA_WIDEVINE ?= rel-shield-r
|
||||
TARGET_TEGRA_WIFI ?= bcm
|
||||
TARGET_TEGRA_WIREGUARD ?= compat
|
||||
TARGET_KERNEL_VERSION ?= mainline
|
||||
TARGET_LIGHT_HAL ?= tegra
|
||||
|
||||
TARGET_ATV_FORCE_1080_SCALING := false
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
device/nintendo/nx/initfiles/ack.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/ack.rc
|
||||
|
||||
include device/nvidia/t210-common/t210.mk
|
||||
|
||||
# Properties
|
||||
@@ -47,7 +35,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)
|
||||
|
||||
@@ -77,9 +65,11 @@ PRODUCT_PACKAGES += \
|
||||
init.sensors.nx.rc \
|
||||
init.vali.rc
|
||||
|
||||
ifneq ($(TARGET_TEGRA_CPL),none)
|
||||
ifeq ($(TARGET_POWER_HAL),perfmgr-lineage)
|
||||
PRODUCT_PACKAGES += \
|
||||
power.nx.rc
|
||||
powerhint.nouveau.json \
|
||||
powerhint.t210b01.json \
|
||||
powerhint.t210b01.nouveau.json
|
||||
endif
|
||||
|
||||
# Permissions
|
||||
@@ -96,28 +86,25 @@ PRODUCT_COPY_FILES += \
|
||||
endif
|
||||
|
||||
# Audio
|
||||
PRODUCT_PACKAGES += \
|
||||
audio_effects.xml \
|
||||
audio_policy_configuration.xml \
|
||||
nvaudio_conf.xml
|
||||
|
||||
# Bluetooth
|
||||
$(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)
|
||||
ifeq ($(TARGET_AUDIO_HAL),baylibre)
|
||||
PRODUCT_COPY_FILES += \
|
||||
device/nvidia/tegra-common/audio/primary_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/primary_audio_policy_configuration.xml
|
||||
endif
|
||||
|
||||
# CEC
|
||||
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 := $(filter-out frameworks/native/data/etc/android.hardware.hdmi.cec.xml%android.hardware.hdmi.cec.xml,$(PRODUCT_COPY_FILES))
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
frameworks/native/data/etc/android.hardware.hdmi.cec.xml:$(TARGET_COPY_OUT_VENDOR)/etc/staging/android.hardware.hdmi.cec.xml
|
||||
# PRODUCT_COPY_FILES += \
|
||||
# frameworks/native/data/etc/android.hardware.hdmi.cec.xml:$(TARGET_COPY_OUT_VENDOR)/etc/staging/android.hardware.hdmi.cec.xml
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
nx_cec.rc \
|
||||
cec_disable.xml
|
||||
# PRODUCT_PACKAGES += \
|
||||
# nx_cec.rc \
|
||||
# cec_disable.xml
|
||||
|
||||
# Device Settings
|
||||
PRODUCT_PACKAGES += \
|
||||
DeviceSettingsNX
|
||||
# TEMP
|
||||
# PRODUCT_PACKAGES += \
|
||||
# DeviceSettingsNX
|
||||
|
||||
# DocumentsUI
|
||||
# We are the exception, being an ATV device with touch
|
||||
@@ -138,13 +125,9 @@ PRODUCT_PACKAGES += \
|
||||
excluded-input-devices.xml
|
||||
|
||||
# Joycons
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.nintendo.joycond-service \
|
||||
jc_setup
|
||||
|
||||
# Kernel Modules
|
||||
PRODUCT_PACKAGES += \
|
||||
cypress-fmac-upstream
|
||||
# PRODUCT_PACKAGES += \
|
||||
# android.hardware.nintendo.joycond-service \
|
||||
# jc_setup
|
||||
|
||||
# Keylayouts
|
||||
PRODUCT_PACKAGES += \
|
||||
@@ -152,44 +135,26 @@ PRODUCT_PACKAGES += \
|
||||
|
||||
# Loadable kernel modules
|
||||
PRODUCT_PACKAGES += \
|
||||
lkm_loader \
|
||||
lkm_loader_target
|
||||
lkm_loader
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
device/nvidia/tegra-common/initfiles/init.lkm.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.lkm.rc
|
||||
|
||||
# Media config
|
||||
PRODUCT_PACKAGES += \
|
||||
media_codecs.xml \
|
||||
media_codecs_performance.xml \
|
||||
media_profiles_V1_0.xml \
|
||||
enctune.conf
|
||||
PRODUCT_COPY_FILES += \
|
||||
device/nintendo/nx/initfiles/lkm.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/lkm.rc
|
||||
|
||||
# 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 += \
|
||||
nvphsd.conf
|
||||
endif
|
||||
|
||||
# Recovery
|
||||
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += persist.vendor.recovery_update=true
|
||||
|
||||
# Shipping API
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/product_launched_with_l.mk)
|
||||
PRODUCT_SHIPPING_API_LEVEL := 37
|
||||
|
||||
# Thermal
|
||||
ifneq ($(TARGET_TEGRA_THERMAL),)
|
||||
PRODUCT_PACKAGES += \
|
||||
thermalhal.nx.xml
|
||||
endif
|
||||
PRODUCT_COPY_FILES += \
|
||||
device/nintendo/nx/thermal/thermalhal.nx.xml:$(TARGET_COPY_OUT_VENDOR)/etc/thermalhal.nx.xml
|
||||
|
||||
# WiFi
|
||||
PRODUCT_PACKAGES += \
|
||||
|
||||
@@ -1,48 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2023-2025 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.
|
||||
*/
|
||||
|
||||
package {
|
||||
default_applicable_licenses: ["Android-Apache-2.0"],
|
||||
}
|
||||
|
||||
android_app {
|
||||
name: "DeviceSettingsNX",
|
||||
manifest: "AndroidManifest.xml",
|
||||
srcs: [
|
||||
"src/**/*.java",
|
||||
],
|
||||
resource_dirs: [
|
||||
"res",
|
||||
],
|
||||
overrides: ["DeviceSettings"],
|
||||
platform_apis: true,
|
||||
certificate: "platform",
|
||||
optimize: {
|
||||
proguard_flags_files: ["proguard.flags"],
|
||||
},
|
||||
privileged: true,
|
||||
privapp_allowlist: "org.lineageos.settings.device.xml",
|
||||
static_libs: [
|
||||
"androidx.preference_preference",
|
||||
"androidx.appcompat_appcompat",
|
||||
"androidx.leanback_leanback-preference",
|
||||
"androidx.leanback_leanback",
|
||||
"org.lineageos.settings.resources",
|
||||
"org.lineageos.platform.internal",
|
||||
"vendor.nvidia.hardware.graphics.display-V1.0-java",
|
||||
"android.hardware.nintendo.joycond-V1-java",
|
||||
],
|
||||
}
|
||||
@@ -31,6 +31,8 @@ import androidx.core.app.NotificationCompat;
|
||||
import androidx.core.app.NotificationChannelCompat;
|
||||
import androidx.core.app.NotificationManagerCompat;
|
||||
|
||||
import org.lineageos.settings.device.DisplaySettingsPrefsCommon;
|
||||
|
||||
public class BootCompletedReceiver extends BroadcastReceiver {
|
||||
private static final String TAG = BootCompletedReceiver.class.getSimpleName();
|
||||
private static final String SEEN_RSMOUSE_PROP = "persist.devicesettingsnx.hasseenrsmouse";
|
||||
@@ -70,7 +72,8 @@ public class BootCompletedReceiver extends BroadcastReceiver {
|
||||
DisplayUtils.setPanelColorMode(panelMode);
|
||||
}
|
||||
|
||||
if (!SystemProperties.getBoolean(SEEN_RSMOUSE_PROP, false)) {
|
||||
if (SystemProperties.getBoolean(DisplaySettingsPrefsCommon.JOYCOND_RSMOUSE_PROP, true) &&
|
||||
!SystemProperties.getBoolean(SEEN_RSMOUSE_PROP, false)) {
|
||||
NotificationChannelCompat channel = new NotificationChannelCompat.Builder(
|
||||
CHANNEL_ID,
|
||||
NotificationManagerCompat.IMPORTANCE_MAX
|
||||
|
||||
@@ -51,4 +51,15 @@ void vendor_load_properties()
|
||||
ti.property_set("ro.product.vendor.model", ti.property_get("ro.product.model"));
|
||||
ti.property_set("ro.product.vendor.manufacturer", ti.property_get("ro.product.manufacturer"));
|
||||
}
|
||||
|
||||
if (ti.vendor_context()) {
|
||||
std::string perfmgr_suffix;
|
||||
if (ti.is_model("sif") || ti.is_model("modin") ||
|
||||
ti.is_model("fric") || ti.is_model("vali"))
|
||||
perfmgr_suffix += ".t210b01";
|
||||
if (ti.property_get("ro.hardware.vulkan") == "nouveau")
|
||||
perfmgr_suffix += ".nouveau";
|
||||
|
||||
ti.property_set("vendor.powerhal.config", "powerhint" + perfmgr_suffix + ".json");
|
||||
}
|
||||
}
|
||||
@@ -77,19 +77,6 @@ prebuilt_etc {
|
||||
sub_dir: "staging",
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "power.nx.rc",
|
||||
src: "power.nx.rc",
|
||||
device_specific: true, // odm
|
||||
}
|
||||
|
||||
cc_prebuilt_binary {
|
||||
name: "lkm_loader_target",
|
||||
srcs: ["lkm_loader_target.sh"],
|
||||
stem: "lkm_loader_target.sh",
|
||||
vendor: true,
|
||||
}
|
||||
|
||||
cc_prebuilt_binary {
|
||||
name: "jc_setup",
|
||||
srcs: ["jc_setup.sh"],
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -41,8 +41,8 @@ on post-fs-data
|
||||
chown system system /sys/bus/platform/devices/tegradc.0/enable
|
||||
|
||||
# enable oc only if passed from bootloader (no userspace toggle)
|
||||
on property:vold.post_fs_data_done=1 && property:ro.boot.oc=1
|
||||
write /sys/kernel/tegra_cpufreq/overclock 1
|
||||
#on property:vold.post_fs_data_done=1 && property:ro.boot.oc=1
|
||||
# write /sys/kernel/tegra_cpufreq/overclock 1
|
||||
|
||||
on boot
|
||||
write /sys/devices/system/cpu/cpufreq/schedutil/up_rate_limit_us 500
|
||||
|
||||
@@ -15,4 +15,5 @@
|
||||
import init.recovery.usb.rc
|
||||
|
||||
on init
|
||||
setprop ro.minui.pixel_format "BGRA_8888"
|
||||
setprop ro.minui.default_rotation "ROTATION_LEFT"
|
||||
@@ -13,10 +13,10 @@
|
||||
# limitations under the License.
|
||||
|
||||
# Override and disable cec HAL
|
||||
service vendor.cec-hal-1-0 /vendor/bin/hw/android.hardware.tv.cec@1.0-service
|
||||
override
|
||||
interface android.hardware.tv.cec@1.0::IHdmiCec default
|
||||
class hal
|
||||
user system
|
||||
group system
|
||||
disabled
|
||||
#service vendor.cec-hal-1-0 /vendor/bin/hw/android.hardware.tv.cec@1.0-service
|
||||
# override
|
||||
# interface android.hardware.tv.cec@1.0::IHdmiCec default
|
||||
# class hal
|
||||
# user system
|
||||
# group system
|
||||
# disabled
|
||||
@@ -0,0 +1,2 @@
|
||||
on fs
|
||||
exec u:r:modprobe:s0 -- /system/bin/modprobe -a -d /system/lib/modules hci_uart.ko
|
||||
@@ -1,8 +0,0 @@
|
||||
#!/vendor/bin/sh
|
||||
|
||||
/vendor/bin/insmod /vendor/lib/modules/pci-tegra.ko
|
||||
|
||||
/vendor/bin/insmod /vendor/lib/modules/compat.ko
|
||||
/vendor/bin/insmod /vendor/lib/modules/cy_cfg80211.ko
|
||||
/vendor/bin/insmod /vendor/lib/modules/brcmutil.ko
|
||||
/vendor/bin/insmod /vendor/lib/modules/brcmfmac.ko
|
||||
@@ -1,52 +0,0 @@
|
||||
# FORMAT:
|
||||
# panelresolution=[xres]X[yres], such as panelresolution=1280X720
|
||||
# powernode1 maxperf optimized maxbatterylife
|
||||
# powernode2 maxperf optimized maxbatterylife
|
||||
# ......
|
||||
# powernoden maxperf optimized maxbatterylife
|
||||
# panelresolution=[xres]X[yres], such as panelresolution=1920X1080
|
||||
# powernode1 maxperf optimized maxbatterylife
|
||||
# powernode2 maxperf optimized maxbatterylife
|
||||
# ......
|
||||
# powernoden maxperf optimized maxbatterylife
|
||||
# ......
|
||||
# ......
|
||||
# panelresolution=[xres]X[yres], such as panelresolution=1920X1200
|
||||
# powernode1 maxperf optimized maxbatterylife
|
||||
# powernode2 maxperf optimized maxbatterylife
|
||||
# ......
|
||||
# powernoden maxperf optimized maxbatterylife
|
||||
#
|
||||
# NOTES:
|
||||
# The panelresolution is the lcd panel resolution.
|
||||
# No space should exist in panelresolution=[xres]X[yres].
|
||||
# panelresolution=720X1280 equals with panelresolution=1280X720.
|
||||
# For panelresolution=-1X-1, it should be the last set of power settings in this file.
|
||||
# When your panel resolution is found in this file,
|
||||
# it will use the set of power settings followed by your panel resolution.
|
||||
# When your panel resolution is not found in this file, it will use the default power settings.
|
||||
# The power settings followed by panelresolution=-1X-1 is the default power settings.
|
||||
# powernode is the sysfs or variable we need to write and it is followed by three ints.
|
||||
# maxperf, optimized, maxbatterylife are the three ints for different power modes.
|
||||
#
|
||||
# Default power mode: can be set to 0, 1, or 2
|
||||
NV_DEFAULT_MODE 1
|
||||
panelresolution=-1X-1
|
||||
NV_FPSLIMIT 0 0 0
|
||||
NV_MAX_CORES 0 0 0
|
||||
NV_MIN_CORES 2 2 2
|
||||
NV_MAX_FREQ 0 0 1428000
|
||||
NV_MIN_FREQ 900000 0 0
|
||||
NV_MAX_GPU_FREQ 0 0 768000
|
||||
NV_MIN_GPU_FREQ 0 0 0
|
||||
NV_HYPERVOLT_ALPHA 50 0 0
|
||||
NV_APM_CPU_BOOST 5 0 0
|
||||
NV_APM_GPU_BOOST 5 0 0
|
||||
NV_APM_FRT_BOOST 5 0 0
|
||||
NV_APM_PRETHROTTLE 0 1 1
|
||||
NV_APM_FRT_MIN 20 15 15
|
||||
NV_APM_LOADAPPFRT 0 1 1
|
||||
NV_PBC_SYSPOWER_CAP 15000 11000 8500
|
||||
NV_PBC_BATCURRENT_CAP 5000 5000 4100
|
||||
NV_FAN_STATE_CAP 7 3 2
|
||||
NV_FAN_STATE_MAP 80/110/150/200/255 80/110/150/200/255 80/110/150/200/255
|
||||
+10
-34
@@ -1,4 +1,8 @@
|
||||
[
|
||||
{
|
||||
"type": "kernel",
|
||||
"version": "mainline"
|
||||
},
|
||||
{
|
||||
"repository": "android_device_nvidia_t210-common",
|
||||
"target_path": "device/nvidia/t210-common"
|
||||
@@ -7,34 +11,6 @@
|
||||
"repository": "android_hardware_nintendo_arm-trusted-firmware",
|
||||
"target_path": "hardware/nintendo/arm-trusted-firmware"
|
||||
},
|
||||
{
|
||||
"repository": "android_hardware_nintendo_joycond",
|
||||
"target_path": "hardware/nintendo/joycond"
|
||||
},
|
||||
{
|
||||
"repository": "android_kernel_nvidia_cypress-fmac-upstream",
|
||||
"target_path": "kernel/nvidia/cypress-fmac-upstream"
|
||||
},
|
||||
{
|
||||
"repository": "android_kernel_nvidia_exfat",
|
||||
"target_path": "kernel/nvidia/exfat"
|
||||
},
|
||||
{
|
||||
"repository": "android_kernel_nvidia_kernel-nx",
|
||||
"target_path": "kernel/nvidia/kernel-4.9-nx"
|
||||
},
|
||||
{
|
||||
"repository": "android_kernel_nvidia_nvidia-nx",
|
||||
"target_path": "kernel/nvidia/nvidia-nx"
|
||||
},
|
||||
{
|
||||
"repository": "android_kernel_nvidia_nvgpu",
|
||||
"target_path": "kernel/nvidia/nvgpu"
|
||||
},
|
||||
{
|
||||
"repository": "android_kernel_nvidia_wireguard",
|
||||
"target_path": "kernel/nvidia/wireguard"
|
||||
},
|
||||
{
|
||||
"repository": "android_hardware_intel_sensors-iio",
|
||||
"target_path": "hardware/intel/sensors-iio"
|
||||
@@ -47,17 +23,17 @@
|
||||
"repository": "android_hardware_nvidia_light",
|
||||
"target_path": "hardware/nvidia/light"
|
||||
},
|
||||
{
|
||||
"repository": "android_hardware_nvidia_platform_t210_nx",
|
||||
"target_path": "hardware/nvidia/platform/t210/nx"
|
||||
},
|
||||
{
|
||||
"repository": "android_hardware_nvidia_power",
|
||||
"target_path": "hardware/nvidia/power"
|
||||
},
|
||||
{
|
||||
"repository": "android_hardware_nvidia_thermal",
|
||||
"target_path": "hardware/nvidia/thermal"
|
||||
"repository": "android_kernel_nvidia_tegra-build",
|
||||
"target_path": "kernel/platform/kernel-mainline/vendor/nvidia/tegra"
|
||||
},
|
||||
{
|
||||
"repository": "android_external_libdisplay-info-upstream",
|
||||
"target_path": "external/libdisplay-info-upstream"
|
||||
},
|
||||
{
|
||||
"repository": "android_prebuilts_gcc_linux-x86_aarch64_aarch64-linux-gnu-9.3",
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,
|
||||
}
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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
|
||||
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
+134
-78
@@ -14,98 +14,154 @@
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
# Nvhost podgov
|
||||
BOARD_VENDOR_KERNEL_MODULES_LOAD += \
|
||||
governor_pod_scaling
|
||||
|
||||
# Proprietary gpu driver
|
||||
# Gpu driver
|
||||
ifeq ($(TARGET_TEGRA_GPU),nvgpu)
|
||||
BOARD_VENDOR_KERNEL_MODULES_LOAD += \
|
||||
governor_pod_scaling \
|
||||
nvgpu
|
||||
|
||||
# Bluedroid power management
|
||||
else
|
||||
BOARD_VENDOR_KERNEL_MODULES_LOAD += \
|
||||
bluedroid_pm
|
||||
nouveau
|
||||
endif
|
||||
|
||||
# Tegra high speed serial
|
||||
BOARD_VENDOR_KERNEL_MODULES_LOAD += \
|
||||
serial-tegra
|
||||
|
||||
# Usb Bluetooth
|
||||
BOARD_VENDOR_KERNEL_MODULES_LOAD += \
|
||||
btusb
|
||||
|
||||
# Broadcom wifi
|
||||
BOARD_VENDOR_KERNEL_MODULES_LOAD += \
|
||||
brcmfmac-wcc
|
||||
|
||||
# Tegra cec
|
||||
BOARD_VENDOR_KERNEL_MODULES_LOAD += \
|
||||
tegra_cec
|
||||
|
||||
# Tegra hdmi audio
|
||||
ifeq ($(TARGET_KERNEL_VERSION),6.12)
|
||||
BOARD_VENDOR_KERNEL_MODULES_LOAD += \
|
||||
snd-hda-codec-hdmi
|
||||
else
|
||||
BOARD_VENDOR_KERNEL_MODULES_LOAD += \
|
||||
snd-hda-codec-tegrahdmi
|
||||
endif
|
||||
BOARD_VENDOR_KERNEL_MODULES_LOAD += \
|
||||
snd-hda-tegra
|
||||
|
||||
# Sound codec
|
||||
BOARD_VENDOR_KERNEL_MODULES_LOAD += \
|
||||
snd-soc-rt5640
|
||||
|
||||
# Tegra audio processing engine
|
||||
BOARD_VENDOR_KERNEL_MODULES_LOAD += \
|
||||
snd-soc-tegra210-alt-xbar \
|
||||
snd-soc-tegra210-alt-admaif \
|
||||
snd-soc-tegra210-alt-sfc \
|
||||
snd-soc-tegra210-alt-i2s \
|
||||
snd-soc-tegra210-alt-mixer \
|
||||
snd-soc-tegra210-alt-afc \
|
||||
snd-soc-tegra210-alt-adx \
|
||||
snd-soc-tegra210-alt-amx \
|
||||
snd-soc-tegra210-alt-dmic \
|
||||
snd-soc-tegra210-alt-mvc \
|
||||
snd-soc-tegra210-alt-ope \
|
||||
snd-soc-tegra-machine-driver
|
||||
|
||||
# Userspace aes crypto access
|
||||
BOARD_VENDOR_KERNEL_MODULES_LOAD += \
|
||||
tegra-cryptodev
|
||||
|
||||
# Input cpufreq boost
|
||||
BOARD_VENDOR_KERNEL_MODULES_LOAD += \
|
||||
input-cfboost
|
||||
|
||||
# JoyCons
|
||||
BOARD_VENDOR_KERNEL_MODULES_LOAD += \
|
||||
joycon-serdev
|
||||
|
||||
# Fan
|
||||
BOARD_VENDOR_KERNEL_MODULES_LOAD += \
|
||||
pwm_fan
|
||||
|
||||
# Power Monitor
|
||||
BOARD_VENDOR_KERNEL_MODULES_LOAD += \
|
||||
ina3221
|
||||
|
||||
# TV Tuners
|
||||
BOARD_VENDOR_KERNEL_MODULES_LOAD += \
|
||||
videobuf-dvb \
|
||||
lgdt3306a \
|
||||
si2168 \
|
||||
si2157 \
|
||||
lgdt3305 \
|
||||
tda18272 \
|
||||
em28xx-dvb \
|
||||
em28xx-rc \
|
||||
cx25840 \
|
||||
cx231xx-dvb
|
||||
|
||||
# FS
|
||||
BOARD_VENDOR_KERNEL_MODULES_LOAD += \
|
||||
exfat
|
||||
|
||||
# USB Storage
|
||||
BOARD_VENDOR_KERNEL_MODULES_LOAD += \
|
||||
usb-storage
|
||||
|
||||
# USB Modem
|
||||
BOARD_VENDOR_KERNEL_MODULES_LOAD += \
|
||||
cdc-acm
|
||||
tegra210-adma \
|
||||
snd-soc-tegra210-ahub \
|
||||
snd-soc-tegra210-sfc \
|
||||
snd-soc-tegra210-i2s \
|
||||
snd-soc-tegra210-mixer \
|
||||
snd-soc-tegra210-amx \
|
||||
snd-soc-tegra210-admaif \
|
||||
snd-soc-tegra210-adx \
|
||||
snd-soc-tegra210-dmic \
|
||||
snd-soc-tegra210-mvc \
|
||||
snd-soc-tegra210-ope \
|
||||
snd-soc-tegra-audio-graph-card
|
||||
|
||||
# Nvidia Controllers
|
||||
BOARD_VENDOR_KERNEL_MODULES_LOAD += \
|
||||
ozwpan \
|
||||
hid-nvidia-blake \
|
||||
hid-jarvis-remote
|
||||
hid-nvidia-shield \
|
||||
hid-nvidia-shield-oot
|
||||
|
||||
# Misc Controllers
|
||||
BOARD_VENDOR_KERNEL_MODULES_LOAD += \
|
||||
hid-xinmo \
|
||||
hid-betopff
|
||||
# Copy to boot
|
||||
BOOT_KERNEL_MODULES := \
|
||||
system_heap.ko \
|
||||
tegra30-devfreq.ko \
|
||||
cpufreq-dt.ko \
|
||||
tegra124-cpufreq.ko \
|
||||
i2c-tegra.ko \
|
||||
spi-tegra114.ko \
|
||||
spi-tegra210-quad.ko \
|
||||
bq24190_charger.ko \
|
||||
rtc-tegra.ko \
|
||||
gpio-tegra.ko \
|
||||
max77620.ko \
|
||||
gpio-max77620.ko \
|
||||
pinctrl-max77620.ko \
|
||||
max77620-regulator.ko \
|
||||
max77812-regulator.ko \
|
||||
max77620-restart.ko \
|
||||
max17042_battery.ko \
|
||||
tegra20-apb-dma.ko \
|
||||
phy-tegra-xusb.ko \
|
||||
xhci-tegra.ko \
|
||||
tegra-xudc.ko \
|
||||
usb-conn-gpio.ko \
|
||||
pci-tegra.ko \
|
||||
hwmon.ko \
|
||||
pwm-tegra.ko \
|
||||
pwm-fan.ko \
|
||||
pwm-regulator.ko \
|
||||
tegra-soctherm.ko \
|
||||
cqhci.ko \
|
||||
sdhci-tegra.ko \
|
||||
mtd.ko \
|
||||
spi-nor.ko \
|
||||
mtd_blkdevs.ko \
|
||||
mtdblock.ko \
|
||||
host1x.ko \
|
||||
drm_display_helper.ko \
|
||||
drm_dp_aux_bus.ko \
|
||||
tegra-aconnect.ko \
|
||||
tegra-drm.ko \
|
||||
panel-nx-dsi.ko \
|
||||
pwm_bl.ko \
|
||||
bm92txx.ko \
|
||||
ftm4.ko
|
||||
|
||||
# Load in first stage boot
|
||||
BOARD_VENDOR_RAMDISK_KERNEL_MODULES_LOAD := \
|
||||
system_heap \
|
||||
tegra20-apb-dma \
|
||||
i2c-tegra \
|
||||
max77620 \
|
||||
max77620-regulator \
|
||||
gpio-tegra \
|
||||
pwm-tegra \
|
||||
pwm-regulator \
|
||||
pinctrl-max77620 \
|
||||
gpio-max77620 \
|
||||
max77812-regulator \
|
||||
tegra124-cpufreq \
|
||||
spi-tegra114 \
|
||||
spi-tegra210-quad \
|
||||
bq24190_charger \
|
||||
rtc-tegra \
|
||||
xhci-tegra \
|
||||
tegra-xudc \
|
||||
usb-conn-gpio \
|
||||
pci-tegra \
|
||||
pwm-fan \
|
||||
tegra-soctherm \
|
||||
max77620-restart \
|
||||
max17042_battery \
|
||||
tegra-aconnect \
|
||||
sdhci-tegra \
|
||||
spi-nor \
|
||||
mtdblock \
|
||||
tegra-drm \
|
||||
panel-nx-dsi \
|
||||
pwm_bl \
|
||||
tegra30-devfreq \
|
||||
bm92txx \
|
||||
ftm4
|
||||
|
||||
# Copy to recovery
|
||||
BOARD_RECOVERY_RAMDISK_KERNEL_MODULES_LOAD := \
|
||||
exfat \
|
||||
hid-nvidia-blake \
|
||||
hid-jarvis-remote \
|
||||
usb-storage
|
||||
RECOVERY_KERNEL_MODULES := \
|
||||
$(BOOT_KERNEL_MODULES)
|
||||
|
||||
RECOVERY_KERNEL_MODULES := $(addsuffix .ko,$(BOARD_RECOVERY_RAMDISK_KERNEL_MODULES_LOAD))
|
||||
# Load in recovery
|
||||
BOARD_RECOVERY_KERNEL_MODULES_LOAD := \
|
||||
$(BOARD_VENDOR_RAMDISK_KERNEL_MODULES_LOAD)
|
||||
@@ -1,21 +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: "nvphsd.conf",
|
||||
src: "nvphsd.nx.conf",
|
||||
device_specific: true, // odm
|
||||
}
|
||||
@@ -1,34 +0,0 @@
|
||||
# Copyright (c) 2016-2018, NVIDIA CORPORATION. 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 NVIDIA CORPORATION 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 BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
|
||||
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
||||
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
|
||||
# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
# T210 platform-specific configuration for NVIDIA's
|
||||
# Power Hinting Service running under /usr/sbin/nvphsd.
|
||||
#
|
||||
cpu_fmax_at_vmin=918000
|
||||
gpu_fmax_at_vmin=460000
|
||||
# tbc, spincircle should be enabled/disabled in sync
|
||||
# il should always be the last governor in the list
|
||||
governor=boot,generic,camera,gpucompute,ui,force,tbc,spincircle,il
|
||||
@@ -2,6 +2,12 @@
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.sys.media.avsync=true
|
||||
|
||||
# Baylibre audio
|
||||
ifeq ($(TARGET_AUDIO_HAL),baylibre)
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
ro.vendor.audio.primary.device=3
|
||||
endif
|
||||
|
||||
# Charger
|
||||
PRODUCT_SYSTEM_PROPERTY_OVERRIDES += \
|
||||
persist.sys.NV_ECO.IF.CHARGING=false
|
||||
@@ -15,11 +21,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 += \
|
||||
|
||||
+2
@@ -1,5 +1,7 @@
|
||||
# Access to JoyCons
|
||||
r_dir_file(hal_health_default, sysfs_hid)
|
||||
r_dir_file(hal_health_default, sysfs_serial)
|
||||
r_dir_file(hal_health_default, sysfs_uhid)
|
||||
|
||||
# Access to JoyCons - Reattached
|
||||
r_dir_file(hal_health_default, sysfs)
|
||||
|
||||
Vendored
+1
@@ -9,6 +9,7 @@ allow jc_setup jc_setup_exec:file { execute_no_trans open };
|
||||
init_daemon_domain(jc_setup)
|
||||
|
||||
# Allow jc_setup to utilize the tools it needs
|
||||
allow jc_setup self:capability chown;
|
||||
allow jc_setup vendor_shell_exec:file rx_file_perms;
|
||||
not_full_treble(`allow jc_setup shell_exec:file rx_file_perms;')
|
||||
|
||||
|
||||
@@ -1,21 +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,
|
||||
}
|
||||
@@ -16,22 +16,20 @@ Attributes for cooling
|
||||
Attributes for cpu-usages
|
||||
These must be part of 'cpu_usages' element node
|
||||
cpus - number of cpus in the platform-->
|
||||
<!-- TODO: port est changes from 4.9 -->
|
||||
<thermalhal>
|
||||
<thermal_devices>
|
||||
<thermal_device>
|
||||
<thermal-prop name="SKIN" type="DEVICE_TEMPERATURE_SKIN" sensor-label="thermal-fan-est" multiplier='0.001' />
|
||||
</thermal_device>
|
||||
<thermal_device>
|
||||
<thermal-prop name="CPU" type="DEVICE_TEMPERATURE_CPU" sensor-label="CPU-therm" multiplier='0.001' />
|
||||
<thermal-prop name="CPU" type="DEVICE_TEMPERATURE_CPU" sensor-label="cpu-thermal" multiplier='0.001' />
|
||||
<thermal-prop cores='4' />
|
||||
</thermal_device>
|
||||
<thermal_device>
|
||||
<thermal-prop name="GPU" type="DEVICE_TEMPERATURE_GPU" sensor-label="GPU-therm" multiplier='0.001' />
|
||||
<thermal-prop name="GPU" type="DEVICE_TEMPERATURE_GPU" sensor-label="gpu-thermal" multiplier='0.001' />
|
||||
</thermal_device>
|
||||
</thermal_devices>
|
||||
<cooling_devices>
|
||||
<cooling_device>
|
||||
<cooling-prop name="FAN" type="FAN_RPM" cooling-path="/sys/devices/pwm-fan/rpm_measured" />
|
||||
<cooling-prop name="FAN" type="FAN_RPM" cooling-path="/sys/class/hwmon/hwmon0/rpm" />
|
||||
</cooling_device>
|
||||
</cooling_devices>
|
||||
<cpu_usages cpus="4" />
|
||||
|
||||
Vendored
+31
@@ -0,0 +1,31 @@
|
||||
# Copyright (C) 2026 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.
|
||||
|
||||
LOCAL_PATH := device/nintendo/nx/vendor/linux-firmware
|
||||
PRODUCT_SOONG_NAMESPACES += $(LOCAL_PATH)
|
||||
|
||||
COMMON_BCM_PATH := vendor/nvidia/common/rel-shield-r/bcm
|
||||
NX_BCM_PATH := vendor/nintendo/nx/rel-shield-r/bcm
|
||||
NX_BCM_EXTERNAL_PATH := vendor/nintendo/nx/external/bcm
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(NX_BCM_PATH)/bcm4356/brcmfmac4356-pcie.clm_blob:$(TARGET_COPY_OUT_VENDOR)/firmware/brcm/brcmfmac4356-pcie.nvidia,odin.clm_blob \
|
||||
$(NX_BCM_PATH)/bcm4356/brcmfmac4356-pcie.clm_blob:$(TARGET_COPY_OUT_VENDOR)/firmware/brcm/brcmfmac4356-pcie.nvidia,modin.clm_blob \
|
||||
$(NX_BCM_PATH)/bcm4356/brcmfmac4356-pcie.clm_blob:$(TARGET_COPY_OUT_VENDOR)/firmware/brcm/brcmfmac4356-pcie.nvidia,vali.clm_blob \
|
||||
$(NX_BCM_PATH)/bcm4356/brcmfmac4356-pcie.clm_blob:$(TARGET_COPY_OUT_VENDOR)/firmware/brcm/brcmfmac4356-pcie.nvidia,fric.clm_blob \
|
||||
$(NX_BCM_EXTERNAL_PATH)/bcm4356/brcmfmac4356A3-pcie.txt:$(TARGET_COPY_OUT_VENDOR)/firmware/brcm/brcmfmac4356-pcie.nvidia,odin.txt \
|
||||
$(NX_BCM_EXTERNAL_PATH)/bcm4356/brcmfmac4356A3-pcie.txt:$(TARGET_COPY_OUT_VENDOR)/firmware/brcm/brcmfmac4356-pcie.nvidia,modin.txt \
|
||||
$(NX_BCM_EXTERNAL_PATH)/bcm4356/brcmfmac4356A3-pcie.txt:$(TARGET_COPY_OUT_VENDOR)/firmware/brcm/brcmfmac4356-pcie.nvidia,vali.txt \
|
||||
$(NX_BCM_EXTERNAL_PATH)/bcm4356/brcmfmac4356A3-pcie.txt:$(TARGET_COPY_OUT_VENDOR)/firmware/brcm/brcmfmac4356-pcie.nvidia,fric.txt \
|
||||
$(NX_BCM_EXTERNAL_PATH)/bcm4356/CYW4356A3_001.004.009.0092.0095.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/brcm/BCM4356A3.hcd
|
||||
Vendored
+1
-15
@@ -14,6 +14,7 @@
|
||||
|
||||
include device/nvidia/t210-common/vendor/t210-by-flags.mk
|
||||
include device/nvidia/tegra-common/vendor/common-by-flags.mk
|
||||
include device/nintendo/nx/vendor/$(TARGET_TEGRA_FIRMWARE_BRANCH)/nx.mk
|
||||
|
||||
ATF_PATH := $(abspath hardware/nintendo/arm-trusted-firmware)
|
||||
|
||||
@@ -26,18 +27,3 @@ ATF_PARAMS += SDEI_SUPPORT=0
|
||||
|
||||
# Error reporting
|
||||
ATF_PARAMS += CRASH_REPORTING=1 ENABLE_ASSERTIONS=1 LOG_LEVEL=0 PLAT_LOG_LEVEL_ASSERT=0
|
||||
|
||||
COMMON_BCM_PATH := vendor/nvidia/common/rel-shield-r/bcm
|
||||
NX_BCM_PATH := vendor/nintendo/nx/rel-shield-r/bcm
|
||||
NX_BCM_EXTERNAL_PATH := vendor/nintendo/nx/external/bcm
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(NX_BCM_PATH)/bcm4356/brcmfmac4356-pcie.clm_blob:$(TARGET_COPY_OUT_VENDOR)/firmware/brcmfmac4356-pcie.clm_blob \
|
||||
$(NX_BCM_EXTERNAL_PATH)/bcm4356/brcmfmac4356A3-pcie.txt:$(TARGET_COPY_OUT_VENDOR)/firmware/brcmfmac4356-pcie.nvidia,odin.txt \
|
||||
$(NX_BCM_EXTERNAL_PATH)/bcm4356/brcmfmac4356A3-pcie.txt:$(TARGET_COPY_OUT_VENDOR)/firmware/brcmfmac4356-pcie.nvidia,modin.txt \
|
||||
$(NX_BCM_EXTERNAL_PATH)/bcm4356/brcmfmac4356A3-pcie.txt:$(TARGET_COPY_OUT_VENDOR)/firmware/brcmfmac4356-pcie.nvidia,vali.txt \
|
||||
$(NX_BCM_EXTERNAL_PATH)/bcm4356/brcmfmac4356A3-pcie.txt:$(TARGET_COPY_OUT_VENDOR)/firmware/brcmfmac4356-pcie.nvidia,fric.txt \
|
||||
$(NX_BCM_EXTERNAL_PATH)/bcm4356/CYW4356A3_001.004.009.0092.0095.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/BCM4356A3.hcd
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(COMMON_BCM_PATH)/bcm4356/brcmfmac4356-pcie.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/brcmfmac4356-pcie.bin
|
||||
Reference in new issue
Block a user