...
 
Commits (42)
......@@ -72,3 +72,9 @@ $(INSTALLED_RECOVERYIMAGE_r8168-ko): $(INSTALLED_KERNEL_TARGET)
cp $(TARGET_OUT_VENDOR)/lib/modules/r8168.ko $@
$(INSTALLED_RECOVERYIMAGE_TARGET): $(INSTALLED_RECOVERYIMAGE_r8168-ko)
EKS_DAT_SYMLINK := $(TARGET_OUT_VENDOR)/app/eks2/eks2.dat
$(EKS_DAT_SYMLINK): $(LOCAL_INSTALLED_MODULE)
$(hide) ln -sf /data/vendor/eks2/ek2.dat $@
ALL_DEFAULT_INSTALLED_MODULES += $(EKS_DAT_SYMLINK)
......@@ -33,6 +33,15 @@ TARGET_OTA_ASSERT_DEVICE := foster,darcy,mdarcy,sif,jetson,porg,loki,icosa
# Bootloader versions
TARGET_BOARD_INFO_FILE := device/nvidia/foster/board-info.txt
# Manifest
DEVICE_MANIFEST_FILE := device/nvidia/foster/manifest.xml
# Bluetooth
ifeq ($(TARGET_TEGRA_BT),bcm)
BOARD_CUSTOM_BT_CONFIG := device/nvidia/foster/comms/vnd_foster.txt
BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := device/nvidia/foster/comms
endif
# Kernel
KERNEL_TOOLCHAIN := $(shell pwd)/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-gnu-6.4.1/bin
KERNEL_TOOLCHAIN_PREFIX := aarch64-linux-gnu-
......@@ -42,17 +51,35 @@ BOARD_KERNEL_IMAGE_NAME := Image.gz
BOARD_KERNEL_BASE := 0x80080000
BOARD_KERNEL_PAGESIZE := 4096
# Light
include hardware/nvidia/light/BoardLight.mk
# Lineage Hardware Support
JAVA_SOURCE_OVERLAYS := org.lineageos.hardware|device/nvidia/foster/lineagehw|**/*.java
# Recovery
TARGET_RECOVERY_FSTAB := device/nvidia/foster/initfiles/fstab.foster
BOARD_SUPPRESS_EMMC_WIPE := true
# Releasetools
TARGET_RELEASETOOLS_EXTENSIONS := device/nvidia/foster/releasetools
# Security Patch Level
VENDOR_SECURITY_PATCH := 2019-07-05
# Treble
BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED := true
BOARD_VNDK_VERSION := current
PRODUCT_FULL_TREBLE_OVERRIDE := true
# TWRP Support
ifeq ($(WITH_TWRP),true)
include device/nvidia/foster/twrp/twrp.mk
endif
#Vendor Init
TARGET_INIT_VENDOR_LIB := libinit_foster
include device/nvidia/t210-common/BoardConfigCommon.mk
include device/nvidia/touch/BoardConfigTouch.mk
include vendor/nvidia/foster/BoardConfigVendor.mk
# Copyright (C) 2018 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:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := wifi_scan_config.conf
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := wifi_scan_config.conf
LOCAL_MODULE_RELATIVE_PATH := wifi
include $(BUILD_PREBUILT)
/*
* 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
#endif
BLUETOOTH_UART_DEVICE_PORT = "/dev/ttyTHS3"
FW_PATCHFILE_LOCATION = "/vendor/firmware/"
#Device no movement time configuration in seconds
devicenomovementtime=120
#Device max exponential time in seconds, after max time expo time will be reset.
maxexpotime=300
#ATV:Block Settings Page Scan outside network page when Ethernet is connected
scan={
app=com.android.tv.settings
rate=-1
#Ethernet case
nvappproperty=connectivity.state:ethernet
nvappproperty=settings.uipage:other
#ATV check
appproperty=ro.product.model:SHIELD Android TV
#Block scan
scanpolicy=1:block_scan -W 8 1 536 2 -H 3 -n 1 -a 3 -p 3 -h 32 -c 1-14*8,36-165*4
}
#ATV: BLOCK SCAN WHEN TS is having a2dp in sniff mode
scan={
app=DEFAULT
rate=-1
#APP PROPERTY
appproperty=ro.product.model:SHIELD Android TV
nvappproperty=pc2shield.state:active ||
nvappproperty=grid2shield.state:active ||
appproperty=bluetooth.ts.a2dp.sniff:1
#NVAPP PROPERTY
nvappproperty=settings.uipage:other
#BLOCK SCAN
scanpolicy=1:block_scan -W 8 1 536 2 -H 3 -n 1 -a 3 -p 3 -h 32 -c 1-14*8,36-165*4
}
#ATV specific WHEN ETHERNET NETWORK IS CONNECTED- DO Fast Scan
scan={
app=DEFAULT
#Ethernet case
nvappproperty=connectivity.state:ethernet
nvappproperty=settings.uipage:other
#ATV check
appproperty=ro.product.model:SHIELD Android TV
#Do fast scan
scanpolicy=atv_fast_scan -H 100 -n 1 -a 10 -p 130 -h 45
}
#ATV specific WHEN Wi-FI IS CONNECTED- DO Fast Scan
scan={
app=DEFAULT
# Wi-Fi connected
wpastate=CONNECTED
nvappproperty=settings.uipage:other
#ATV check
appproperty=ro.product.model:SHIELD Android TV
#Do fast scan
scanpolicy=atv_fast_scan -H 100 -n 2 -a 10 -p 130 -h 45
}
#G.S/BLAKE/CAST PROFILE
scan={
app=DEFAULT
rate=15
#SCAN RATE VALUE FOR DISPLAY TURNED OFF
displayoffrate=300
#APP PROPERTIES
nvappproperty=blake.conn.count:>0 ||
nvappproperty=pc2shield.state:active ||
appproperty=sys.cast.on:1 ||
nvappproperty=grid2shield.state:active
#ALLOW ONLY IF DISPLAY IS ON
#display=1
#ALLOW ONLY FOREGROUND APP
#foreground=1
#ENABLE SCAN EXPONENTIAL
scanexponential=1
#REPEAT EACH CHANNEL 2.4 GHZ 8 times and 5GHZ 4 times.
#ALLIGN BLAKE PKT 8ms, 1 p2p interface, 536 pkt size, 2 count
scanpolicy=1:blake_activea -W 8 1 536 2 -H 3 -n 1 -a 3 -p 3 -h 32 -c 1-14*8,36-165*4
scanpolicy=1:blake_activea -W 8 1 536 2 -H 3 -n 1 -a 3 -p 3 -h 32 -c 1-14*8,36-165*4
scanpolicy=1:blake_activea -W 8 1 536 2 -H 3 -n 1 -a 3 -p 3 -h 32 -c 1-14*8,36-165*4
#PASSIVE SCANNING
#-O optional is used only if DFS(PASSIVE) channels are not available.
scanpolicy=1:blake_passivea -W 8 1 536 2 -H 3 -a 3 -p 3 -h 32 -c 12-14*34 -- -W 8 1 536 2 -H 5 -a 5 -p 5 -h 32 -c 52-59*34 -- -W 8 1 536 2 -H 5 -a 5 -p 5 -h 32 -c 60-79*34 -- -O -W 8 1 536 2 -H 3 -n 1 -a 3 -p 3 -h 32 -c 1-14*8,36-165*4
scanpolicy=1:blake_activea -W 8 1 536 2 -H 3 -n 1 -a 3 -p 3 -h 32 -c 1-14*8,36-165*4
scanpolicy=1:blake_passiveb -W 8 1 536 2 -H 5 -a 5 -p 5 -h 32 -c 80-99*34 -- -W 8 1 536 2 -H 5 -a 5 -p 5 -h 32 -c 100-119*34 -- -W 8 1 536 2 -H 5 -a 5 -p 5 -h 32 -c 120-139*34 -- -W 8 1 536 2 -O -H 3 -n 1 -a 3 -p 3 -h 32 -c 1-14*8,36-165*4
}
#DEFAULT ASSOCIATED PROFILE
scan={
app=DEFAULT
wpastate=CONNECTED
rate=15
#SCAN RATE VALUE FOR DISPLAY TURNED OFF
displayoffrate=300
#APP PROPERTY
nvappproperty=blake.conn.count:0
#ENABLE SCAN EXPONENTIAL
scanexponential=1
#ALLOW ONLY IF DISPLAY IS ON
#display=1
#ALLOW ONLY FOREGROUND APP
#foreground=1
scanpolicy=default_assoc -H 100 -n 2 -a 35 -p 130 -h 45 -c 1-13 -- -H 100 -n 2 -a 35 -p 130 -h 45 -c 36-100 -- -H 100 -n 2 -a 35 -p 130 -h 45 -c 100-165
}
#THIS IS LAST RULE IF any of the above rule doesnt match
scan={
app=DEFAULT
wpastate=SCANNING
rate=15
#SCAN RATE VALUE FOR DISPLAY TURNED OFF
displayoffrate=300
#APP PROPERTY
nvappproperty=blake.conn.count:0
#ENABLE SCAN EXPONENTIAL
scanexponential=1
#PNO contains TIME REPEAT EXPONENTIAL, PNO scans every 5min
pno=150 1 1
#appproperty=wifi.interface:wlan0
scanpolicy=default_unassoc -H 100 -n 2 -a 65 -p 130 -h 45 -c 1-13 -- -H 100 -n 2 -a 65 -p 130 -h 45 -c 36-100 -- -H 100 -n 2 -a 65 -p 130 -h 45 -c 100-165
}
......@@ -18,8 +18,28 @@ TARGET_REFERENCE_DEVICE ?= foster
TARGET_TEGRA_VARIANT := common
TARGET_TEGRA_AUDIO ?= nvaudio
TARGET_TEGRA_BT ?= bcm
TARGET_TEGRA_CAMERA ?= nvcamera
TARGET_TEGRA_CEC ?= nvhdmi
TARGET_TEGRA_KEYSTORE ?= nvkeystore
TARGET_TEGRA_MEMTRACK ?= nvmemtrack
TARGET_TEGRA_OMX ?= nvmm
TARGET_TEGRA_PHS ?= nvphs
TARGET_TEGRA_POWER ?= lineage
TARGET_TEGRA_WIDEVINE ?= true
TARGET_TEGRA_WIFI ?= bcm
$(call inherit-product, device/nvidia/t210-common/t210.mk)
$(call inherit-product, device/nvidia/touch/raydium.mk)
$(call inherit-product, device/nvidia/touch/shtouch.mk)
# Only include Shield apps for first party targets
ifneq ($(filter $(word 2,$(subst _, ,$(TARGET_PRODUCT))), foster foster_tab),)
$(call inherit-product, device/nvidia/shield-common/shield.mk)
endif
# System properties
include $(LOCAL_PATH)/system_prop.mk
PRODUCT_CHARACTERISTICS := tv
PRODUCT_AAPT_CONFIG := xlarge large
......@@ -37,6 +57,10 @@ PRODUCT_VENDOR_PROPERTY_BLACKLIST := \
ro.product.vendor.name \
ro.vendor.build.fingerprint
# Overlays
DEVICE_PACKAGE_OVERLAYS += \
device/nvidia/foster/overlay
# Init related
PRODUCT_PACKAGES += \
init_tegra \
......@@ -109,7 +133,16 @@ PRODUCT_PACKAGES += \
# Permissions
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.audio.low_latency.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.low_latency.xml
frameworks/native/data/etc/android.hardware.audio.low_latency.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.low_latency.xml \
frameworks/native/data/etc/android.hardware.ethernet.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.ethernet.xml
# ATV specific stuff
ifeq ($(PRODUCT_IS_ATV),true)
$(call inherit-product-if-exists, vendor/google/atv/atv-common.mk)
PRODUCT_PACKAGES += \
android.hardware.tv.input@1.0-impl
endif
# Audio
ifeq ($(TARGET_TEGRA_AUDIO),nvaudio)
......@@ -122,3 +155,77 @@ PRODUCT_PACKAGES += \
nvaudio_conf.xml \
nvaudio_fx.xml
endif
# Charger
PRODUCT_PACKAGES += \
charger \
charger_res_images
# EKS
ifeq ($(TARGET_TEGRA_KEYSTORE),nvkeystore)
PRODUCT_PACKAGES += \
init.eks2.rc \
eks2_darcy.dat \
eks2_foster.dat \
eks2_mdarcy.dat \
eks2_public.dat \
eks2_sif.dat
endif
# Joycon daemon
PRODUCT_PACKAGES += \
joycond
# Light
PRODUCT_PACKAGES += \
android.hardware.light@2.0-service-nvidia
# Loadable kernel modules
PRODUCT_PACKAGES += \
init.lkm.rc \
lkm_loader
# Media config
PRODUCT_COPY_FILES += \
frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_ODM)/etc/media_codecs_google_audio.xml \
frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:$(TARGET_COPY_OUT_ODM)/etc/media_codecs_google_video.xml
PRODUCT_PACKAGES += \
media_codecs.xml
ifeq ($(TARGET_TEGRA_OMX),nvmm)
PRODUCT_PACKAGES += \
media_codecs_performance.xml \
media_profiles_V1_0.xml
endif
# Netflix nrdp
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/permissions/nrdp.modelgroup.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/nrdp.modelgroup.xml
# NVIDIA specific permissions
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/permissions/com.nvidia.feature.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/com.nvidia.feature.xml
# PHS
ifeq ($(TARGET_TEGRA_PHS),nvphs)
PRODUCT_PACKAGES += \
nvphsd.conf
endif
# Thermal
PRODUCT_PACKAGES += \
android.hardware.thermal@1.0-service-nvidia \
thermalhal.jetson_cv.xml \
thermalhal.jetson_e.xml \
thermalhal.loki_e_lte.xml \
thermalhal.loki_e_wifi.xml
# Trust HAL
PRODUCT_PACKAGES += \
vendor.lineage.trust@1.0-service
# WiFi
ifeq ($(TARGET_TEGRA_WIFI),bcm)
PRODUCT_PACKAGES += \
cypress-fmac \
wifi_scan_config.conf
endif
#
# Copyright (C) 2019 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 := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := eks2_foster.dat
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := eks2_foster.dat
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/app/eks2
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := eks2_darcy.dat
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := eks2_darcy.dat
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/app/eks2
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := eks2_mdarcy.dat
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := eks2_mdarcy.dat
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/app/eks2
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := eks2_public.dat
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := eks2_public.dat
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/app/eks2
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := eks2_sif.dat
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := eks2_sif.dat
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/app/eks2
include $(BUILD_PREBUILT)
#!/bin/bash
#
# Copyright (C) 2018 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.
#
set -e
DEVICE=foster
VENDOR=nvidia
# Load extract_utils and do some sanity checks
MY_DIR="${BASH_SOURCE%/*}"
if [[ ! -d "$MY_DIR" ]]; then MY_DIR="$PWD"; fi
LINEAGE_ROOT="$MY_DIR"/../../..
HELPER="$LINEAGE_ROOT"/vendor/lineage/build/tools/extract_utils.sh
if [ ! -f "$HELPER" ]; then
echo "Unable to find helper script at $HELPER"
exit 1
fi
. "$HELPER"
while [ "$1" != "" ]; do
case $1 in
-n | --no-cleanup ) CLEAN_VENDOR=false
;;
-s | --section ) shift
SECTION=$1
CLEAN_VENDOR=false
;;
* ) SRC=$1
;;
esac
shift
done
if [ -z "$SRC" ]; then
SRC=adb
fi
# Initialize the helper
setup_vendor "$DEVICE" "$VENDOR" "$LINEAGE_ROOT" false "$CLEAN_VENDOR"
extract "$MY_DIR"/proprietary-files.txt "$SRC" "$SECTION"
"$MY_DIR"/setup-makefiles.sh
//
// Copyright (C) 2019 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.
//
cc_library_static {
name: "libinit_foster",
recovery_available: true,
include_dirs: [
"device/nvidia/tegra-common/init",
],
whole_static_libs: ["libinit_tegra"],
srcs: [
"init_foster.cpp",
],
}
cc_library_static {
name: "libinit_foster_vendor",
vendor: true,
include_dirs: [
"device/nvidia/tegra-common/init",
],
srcs: [
"init_foster.cpp",
],
}
......@@ -494,3 +494,19 @@ LOCAL_MODULE_CLASS := ETC
LOCAL_ODM_MODULE := true
LOCAL_SRC_FILES := power.darcy.rc
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := lkm_loader
LOCAL_SRC_FILES := lkm_loader.sh
LOCAL_MODULE_SUFFIX := .sh
LOCAL_MODULE_CLASS := EXECUTABLES
LOCAL_VENDOR_MODULE := true
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := init.eks2.rc
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := init.eks2.rc
LOCAL_VENDOR_MODULE := true
LOCAL_MODULE_RELATIVE_PATH := init
include $(BUILD_PREBUILT)
# Copyright (C) 2020 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.
on property:vold.post_fs_data_done=1
mkdir /data/vendor/eks2 0755 system system
on property:vold.post_fs_data_done=1 && property:ro.hardware=darcy
symlink /vendor/app/eks2/eks2_darcy.dat /data/vendor/eks2/eks2.dat
on property:vold.post_fs_data_done=1 && property:ro.hardware=foster_e
symlink /vendor/app/eks2/eks2_foster.dat /data/vendor/eks2/eks2.dat
on property:vold.post_fs_data_done=1 && property:ro.hardware=foster_e_hdd
symlink /vendor/app/eks2/eks2_foster.dat /data/vendor/eks2/eks2.dat
on property:vold.post_fs_data_done=1 && property:ro.hardware=sif
symlink /vendor/app/eks2/eks2_sif.dat /data/vendor/eks2/eks2.dat
# Default if none of the others trigger
on property:vold.post_fs_data_done=1
symlink /vendor/app/eks2/eks2_public.dat /data/vendor/eks2/eks2.dat
This diff is collapsed.
[
{
"repository": "android_device_nvidia_shield-common",
"target_path": "device/nvidia/shield-common"
},
{
"repository": "android_device_nvidia_t210-common",
"target_path": "device/nvidia/t210-common"
},
{
"repository": "android_kernel_nvidia_cypress-fmac",
"target_path": "kernel/nvidia/cypress-fmac"
},
{
"repository": "android_kernel_nvidia_linux-4.9_kernel_kernel-4.9",
"target_path": "kernel/nvidia/linux-4.9/kernel/kernel-4.9"
},
{
"repository": "android_hardware_nvidia_thermal",
"target_path": "hardware/nvidia/thermal"
}
]
/*
* Copyright (C) 2018 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 org.lineageos.hardware;
import org.lineageos.internal.util.FileUtils;
/**
* NVIDIA SmartDimmer adaptive backlight implementation
*
* {@link frameworks/opt/hardware/src/org/cyanogenmod/hardware/AdaptiveBacklight.java}
*/
public class AdaptiveBacklight {
private static final String SMARTDIMMER_SYSFS =
"/sys/devices/platform/host1x/tegradc.0/smartdimmer/enable";
public static boolean isSupported() {
return true;
}
public static boolean isEnabled() {
try {
String value = FileUtils.readOneLine(SMARTDIMMER_SYSFS);
if (value == null) {
return false;
}
return Integer.parseInt(value) == 1;
} catch (NumberFormatException nfex) {
return false;
}
}
public static boolean setEnabled(boolean status) {
return FileUtils.writeLine(SMARTDIMMER_SYSFS, status ? "1" : "0");
}
}
<manifest version="1.0" type="device">
<hal format="hidl">
<name>vendor.lineage.trust</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IUsbRestrict</name>
<instance>default</instance>
</interface>
</hal>
</manifest>
......@@ -69,3 +69,31 @@ LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := nvaudio_fx.xml
LOCAL_VENDOR_MODULE := true
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := media_codecs.xml
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
ifeq ($(TARGET_TEGRA_OMX),nvmm)
LOCAL_SRC_FILES := media_codecs.xml
else
LOCAL_SRC_FILES := media_codecs_sw.xml
endif
LOCAL_ODM_MODULE := true
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := media_codecs_performance.xml
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := media_codecs_performance.xml
LOCAL_ODM_MODULE := true
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := media_profiles_V1_0.xml
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := media_profiles_V1_0.xml
LOCAL_VENDOR_MODULE := true
include $(BUILD_PREBUILT)
This diff is collapsed.
<?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.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="71-71" />
</MediaCodec>
<MediaCodec name="OMX.google.h263.decoder" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="1122-1187" />
</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>
<?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>
<Include href="media_codecs_google_audio.xml" />
<Include href="media_codecs_google_video.xml" />
</MediaCodecs>
This diff is collapsed.
......@@ -17,15 +17,8 @@
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := libinit_foster
LOCAL_C_INCLUDES := device/nvidia/tegra-common/init
LOCAL_SRC_FILES := init_foster.cpp
LOCAL_WHOLE_STATIC_LIBRARIES := libinit_tegra
include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := libinit_foster_vendor
LOCAL_C_INCLUDES := device/nvidia/tegra-common/init
LOCAL_SRC_FILES := init_foster.cpp
LOCAL_VENDOR_MODULE := true
include $(BUILD_STATIC_LIBRARY)
LOCAL_MODULE := nvphsd.conf
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := nvphsd.foster.conf
LOCAL_ODM_MODULE := true
include $(BUILD_PREBUILT)
gpufreq=/sys/kernel/tegra_gpu/gpu_rate
gpu_possible_rates=/sys/kernel/tegra_gpu/gpu_available_rates
gpuload=/sys/devices/platform/host1x/gpu.0/load
gpucounters=/sys/devices/platform/host1x/gpu.0/counters_reset
cpu_fmax_at_vmin=800000
gpu_fmax_at_vmin=537000
governor=boot,generic,camera,gpucompute,il,ui,force,tbc,spincircle
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
** Copyright 2009, 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.
*/
-->
<!-- These resources are around just to allow their values to be customized
for different hardware and product builds. -->
<resources>
<!-- This string array should be overridden by the device to present a list of network
attributes. This is used by the connectivity manager to decide which networks can coexist
based on the hardware -->
<!-- An Array of "[Connection name],[ConnectivityManager connection type],
[associated radio-type],[priority] -->
<string-array translatable="false" name="networkAttributes">
<item>"wifi,1,1,2,-1,true"</item>
<item>"mobile,0,0,0,-1,true"</item>
<item>"mobile_mms,2,0,4,60000,true"</item>
<item>"mobile_supl,3,0,4,60000,true"</item>
<item>"mobile_dun,4,0,4,60000,true"</item>
<item>"bluetooth,7,7,1,-1,true"</item>
<item>"mobile_hipri,5,0,5,60000,true"</item>
<item>"ethernet,9,9,3,-1,true"</item>
</string-array>
<!-- This array should be overridden by the device to present a list of radio
attributes. This is used by the connectivity manager to decide which networks
can coexist based on the hardware. -->
<!-- An array of "[ConnectivityManager connectionType],
[# simultaneous connection types]" -->
<string-array translatable="false" name="radioAttributes">
<item>"1,1"</item>
<item>"0,1"</item>
<item>"7,1"</item>
<item>"9,0"</item>
</string-array>
<!-- List of regexpressions describing the interface (if any) that represent tetherable
USB interfaces. If the device doesn't want to support tething over USB this should
be empty. An example would be "usb.*" -->
<string-array translatable="false" name="config_tether_usb_regexs">
<item>"rndis0"</item>
</string-array>
<!-- List of regexpressions describing the interface (if any) that represent tetherable
Wifi interfaces. If the device doesn't want to support tethering over Wifi this
should be empty. An example would be "softap.*" -->
<string-array translatable="false" name="config_tether_wifi_regexs">
<item>"wlan0"</item>
</string-array>
<!-- List of regexpressions describing the interface (if any) that represent tetherable
Bluetooth interfaces. If the device doesn't want to support tethering over bluetooth this
should be empty. -->
<string-array translatable="false" name="config_tether_bluetooth_regexs">
<item>"bt-pan"</item>
</string-array>
<!-- Flag indicating whether the we should enable the automatic brightness in Settings.
Software implementation will be used if config_hardware_auto_brightness_available is not set -->
<bool name="config_automatic_brightness_available">true</bool>
<!-- Indicate whether closing the lid causes the device to go to sleep and opening
it causes the device to wake up.
The default is false. -->
<bool name="config_lidControlsSleep">true</bool>
<!-- Array of light sensor LUX values to define our levels for auto backlight brightness support.
The N entries of this array define N 1 zones as follows:
Zone 0: 0 <= LUX < array[0]
Zone 1: array[0] <= LUX < array[1]
...
Zone N: array[N - 1] <= LUX < array[N]
Zone N + 1 array[N] <= LUX < infinity
Must be overridden in platform specific overlays -->
<integer-array name="config_autoBrightnessLevels">
<item>10</item>
<item>160</item>
<item>320</item>
<item>640</item>
<item>1280</item>
</integer-array>
<!-- Array of output values for LCD backlight corresponding to the LUX values
in the config_autoBrightnessLevels array. This array should have size one greater
than the size of the config_autoBrightnessLevels array.
This must be overridden in platform specific overlays -->
<integer-array name="config_autoBrightnessLcdBacklightValues">
<item>30</item>
<item>100</item>
<item>130</item>
<item>170</item>
<item>200</item>
<item>250</item>
</integer-array>
<!-- Array of output values for button backlight corresponding to the LUX values
in the config_autoBrightnessLevels array. This array should have size one greater
than the size of the config_autoBrightnessLevels array.
This must be overridden in platform specific overlays -->
<integer-array name="config_autoBrightnessButtonBacklightValues">
<item>75</item>
<item>90</item>
<item>140</item>
<item>190</item>
<item>240</item>
<item>250</item>
<item>255</item>
</integer-array>
<!-- Array of output values for keyboard backlight corresponding to the LUX values
in the config_autoBrightnessLevels array. This array should have size one greater
than the size of the config_autoBrightnessLevels array.
This must be overridden in platform specific overlays -->
<integer-array name="config_autoBrightnessKeyboardBacklightValues">
<item>75</item>
<item>60</item>
<item>40</item>
<item>20</item>
<item>10</item>
<item>5</item>
<item>0</item>
</integer-array>
<!-- If this is true, the screen will come on when you unplug usb/power/whatever. -->
<bool name="config_unplugTurnsOnScreen">true</bool>
<!-- Enable electronBeam animation instead of fading off. -->
<bool name="config_animateScreenLights">false</bool>
<!-- Boolean indicating whether the wifi chipset supports background scanning mechanism.
This mechanism allows the host to remain in suspend state and the dongle to actively
scan and wake the host when a configured SSID is detected by the dongle. This chipset
capability can provide power savings when wifi needs to be always kept on.
The driver commands needed to support the feature are BGSCAN-START and BGSCAN-STOP -->
<bool name="config_wifi_background_scan_support">true</bool>
<!-- Wifi driver supports batched scan -->
<bool translatable="false" name="config_wifi_batched_scan_supported">false</bool>
<!-- Integer indicating wpa_supplicant scan interval when p2p is connected in milliseconds -->
<integer translatable="false" name="config_wifi_scan_interval_p2p_connected">15000</integer>
<!-- Maximum number of supported users -->
<integer name="config_multiuserMaximumUsers">8</integer>
<!-- Whether UI for multi user should be shown -->
<bool name="config_enableMultiUserUI">true</bool>
<!-- Is the device capable of hot swapping an UICC Card -->
<add-resource type="bool" name="config_hotswapCapable"/>
<bool name="config_hotswapCapable">true</bool>
<!-- MMS user agent string -->
<add-resource type="string" name="config_mms_user_agent"/>
<string name="config_mms_user_agent" translatable="false">Shield Tablet Pro</string>
<!-- MMS user agent prolfile url -->
<add-resource type="string" name="config_mms_user_agent_profile_url"/>
<string name="config_mms_user_agent_profile_url" translatable="false">http://www.nvidia.com</string>
<!-- Shutdown if the battery temperature exceeds (this value * 0.1) Celsius. -->
<integer name="config_shutdownBatteryTemperature">600</integer>
<!-- Configure mobile tcp buffer sizes in the form:
rat-name:rmem_min,rmem_def,rmem_max,wmem_min,wmem_def,wmem_max
If no value is found for the rat-name in use, the system default will be applied.
-->
<add-resource type="array" name="config_mobile_tcp_buffers"/>
<string-array name="config_mobile_tcp_buffers">
<item>gprs:4092,8760,48000,4096,8760,48000</item>
<item>edge:4093,26280,70800,4096,16384,70800</item>
<item>umts:4094,87380,1220608,4096,16384,1220608</item>
<item>hsdpa:4094,87380,1220608,4096,16384,1220608</item>
<item>hsupa:4094,87380,1220608,4096,16384,1220608</item>
<item>hspa:4094,87380,1220608,4096,16384,1220608</item>
<item>hspap:4094,87380,1220608,4096,16384,1220608</item>
<item>lte:524288,1048576,2097152,262144,524288,1048576</item>
</string-array>
<!-- Boolean indicating whether the wifi chipset has dual frequency band support -->
<bool translatable="false" name="config_wifi_dual_band_support">true</bool>
<!-- Boolean indicating associated network selection is allowed -->
<bool translatable="false" name="config_wifi_framework_enable_associated_network_selection">false</bool>
<!-- Use proper headphone jack detection -->
<bool name="config_useDevInputEventForAudioJack">true</bool>
</resources>
<?xml version="1.0" encoding="utf-8"?>
<!--
**
** Copyright 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.
*/
-->
<device name="Android">
<!-- All values are in mA except as noted -->
<item name="none">0</item>
<item name="screen.on">202.25</item>
<item name="screen.full">252</item>
<item name="bluetooth.active">5</item>
<!--
Bluetooth stereo audio playback 14.0 mA
-->
<item name="bluetooth.on">5</item>
<!--
I measured the following value 1.4 mA
but there is a GPIO fix pending that should
bring this down to 0.2 mA
-->
<item name="wifi.on">30</item>
<item name="wifi.active">95.5</item>
<item name="wifi.scan">95.5</item>
<item name="dsp.audio">85</item>
<item name="dsp.video">256</item>
<item name="gps.on">58.8</item>
<item name="radio.active">0</item>
<item name="radio.scanning">0</item>
<array name="radio.on"> <!-- Strength 0 to BINS-1 (4) -->
<value>0</value>
</array>
<!-- Different CPU speeds as reported in
/sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state -->
<array name="cpu.speeds">
<value>51000</value>
<value>102000</value>
<value>204000</value>
<value>304000</value>
<value>433898</value>
<value>613195</value>
<value>792492</value>
<value>817593</value>
<value>918000</value>
<value>1020000</value>
<value>1122000</value>
<value>1224000</value>
<value>1326000</value>
<value>1428000</value>
<value>1530000</value>
<value>1606500</value>
<value>1708500</value>
<value>1810500</value>
<value>1912500</value>
</array>
<!-- Power consumption when CPU is idle -->
<item name="cpu.idle">0</item>
<item name="cpu.awake">0.5</item>
<!-- Power consumption at different speeds -->
<array name="cpu.active">
<value>4</value>
<value>8</value>
<value>15</value>
<value>22.5</value>
<value>67.25</value>
<value>90.25</value>
<value>122.75</value>
<value>125.25</value>
<value>137.75</value>
<value>216</value>
<value>237.75</value>
<value>265</value>
<value>430.75</value>
<value>471</value>
<value>507.5</value>
<value>531.75</value>
<value>576.75</value>
<value>630.25</value>
<value>689</value>
</array>
<!-- This is the battery capacity in mAh -->
<item name="battery.capacity">6750</item>
<!--
Battery capacity is 6750 mAH (at 4 Volts)
-->
</device>
<?xml version="1.0" encoding="utf-8"?>
<!--
/**
* Copyright (c) 2009, 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.
*/
-->
<resources>
<!-- Auto brightness mode is ON by default-->
<bool name="def_screen_brightness_automatic_mode">true</bool>
</resources>
<resources>
<bool name="profile_supported_map">false</bool>
<bool name="profile_supported_hdp">false</bool>
<bool name="profile_supported_hs_hfp">false</bool>
<bool name="profile_supported_pan">false</bool>
<bool name="profile_supported_opp">false</bool>
<bool name="profile_supported_pbap">false</bool>
<bool name="profile_supported_avrcp_controller">false</bool>
</resources>
<?xml version="1.0" encoding="utf-8"?>
<permissions>
<feature name="com.nvidia.feature.shield"/>
<feature name="com.nvidia.feature.built_in_controller"/>
<feature name="com.nvidia.feature.app.vudu"/>
<feature name="com.nvidia.feature.app.plex.mediaserver"/>
<feature name="com.nvidia.feature.app.plex.smbserver"/>
<feature name="com.nvidia.feature.usb.tvtuners"/>
<feature name="com.nvidia.feature.network_attached_storage"/>
<feature name="com.nvidia.feature.shield_ask"/>
<feature name="com.nvidia.feature.beyonder"/>
</permissions>
<?xml version="1.0" encoding="utf-8"?>
<permissions>
<feature name="nrdp.modelgroup" />
</permissions>
# Firmware
etc/firmware/bcm4350.hcd
etc/firmware/gm20b/acr_ucode.bin
etc/firmware/gm20b/fecs.bin
etc/firmware/gm20b/fecs_sig.bin
etc/firmware/gm20b/gpccs.bin
etc/firmware/gm20b/gpmu_ucode.bin
etc/firmware/gm20b/gpmu_ucode_desc.bin
etc/firmware/gm20b/gpmu_ucode_image.bin
etc/firmware/gm20b/gpu2cde.bin
etc/firmware/gm20b/NETB_img.bin
etc/firmware/gm20b/pmu_bl.bin
etc/firmware/gm20b/pmu_sig.bin
etc/firmware/tegra21x/nvhost_nvdec020.fw
etc/firmware/tegra21x/nvhost_nvdec020_ns.fw
etc/firmware/tegra21x/nvhost_nvdec020_prod.fw
etc/firmware/tegra21x/nvhost_nvdec_bl020.fw
etc/firmware/tegra21x/nvhost_nvdec_bl020_prod.fw
etc/firmware/tegra21x/nvhost_nvdec_bl_no_wpr020.fw
etc/firmware/tegra21x/nvhost_nvenc050.fw
etc/firmware/tegra21x/nvhost_nvjpg010.fw
etc/firmware/tegra21x/nvhost_tsec.fw
etc/firmware/tegra21x/vic04_ucode.bin
etc/firmware/tegra21x_xusb_firmware
etc/firmware/tegra_xusb_firmware
vendor/firmware/nvram_darcy_a00.txt
vendor/firmware/nvram_foster_e_4354.txt
vendor/firmware/nvram_foster_e_antenna_tuned_4354.txt
vendor/firmware/nvram_loki_e_4354.txt
vendor/firmware/nvram_loki_e_antenna_tuned_4354.txt
vendor/firmware/adsp.elf
vendor/firmware/fw_bcmdhd.bin
vendor/firmware/libnvaecfx.elf
vendor/firmware/nvaacdec.elf
vendor/firmware/nvadma.elf
vendor/firmware/nvapm.elf
vendor/firmware/nvavp_aacdec_ucode.bin
vendor/firmware/nvavp_aud_ucode.bin
vendor/firmware/nvavp_mp3dec_ucode.bin
vendor/firmware/nvavp_os_0ff00000.bin
vendor/firmware/nvavp_os_8ff00000.bin
vendor/firmware/nvavp_os_eff00000.bin
vendor/firmware/nvavp_os_f7e00000.bin
vendor/firmware/nvavp_vid_ucode_alt.bin
vendor/firmware/nvavp_vid_ucode.bin
vendor/firmware/nvmp3dec.elf
vendor/firmware/nvoice.elf
vendor/firmware/nvspkprot.elf
vendor/firmware/nvsrc.elf
# Hdcp
etc/hdcpsrm/hdcp1x.srm
etc/hdcpsrm/hdcp2x.srm
etc/hdcpsrm/hdcp2xtest.srm
# Misc Apps
-vendor/app/NvCPLSvc/NvCPLSvc.apk
-vendor/app/NvShieldTech/NvShieldTech.apk
# ATV Apps
-app/LeanbackIme/LeanbackIme.apk
-priv-app/LeanbackLauncher/LeanbackLauncher.apk
-priv-app/SetupWraith/SetupWraith.apk
# Trusted Little Kernel / Security
vendor/app/eks2/eks2.dat
vendor/bin/eks2_client
vendor/bin/ss_status
vendor/bin/tlk_daemon
vendor/lib64/hw/gatekeeper.tegra.so
vendor/lib64/hw/keystore.v0.tegra.so
vendor/lib64/hw/keystore.v1.tegra.so
vendor/lib64/libtlk_secure_hdcp_up.so
vendor/lib64/libtsechdcp.so
vendor/lib64/libtsec_wrapper.so
vendor/lib/libtlk_secure_hdcp_up.so
vendor/lib/libtsechdcp.so
vendor/lib/libtsec_wrapper.so
# GPS
vendor/bin/glgps_nvidiaTegra2android
vendor/bin/gps_select.sh
vendor/lib64/hw/gps.brcm.so
# Power
vendor/bin/pbc2
vendor/lib64/hw/pbc.tegra.so
vendor/lib64/libphs.so
vendor/lib/hw/pbc.tegra.so
vendor/lib/libphs.so
# Raydium Touchscreen
vendor/bin/rm_ts_server
vendor/bin/run_ss_status.sh
vendor/lib/librm31080.so
vendor/lib/librm_ts_service.so
vendor/lib/para_10_02_00_20.so
vendor/lib/para_10_02_00_a0.so
vendor/lib/para_10_02_00_b0.so
vendor/lib/para_10_03_00_20.so
vendor/lib/para_10_03_00_a0.so
vendor/lib/para_10_03_00_b0.so
vendor/lib/para_10_04_00_b0.so
vendor/lib/para_10_04_00_c0.so
vendor/lib/para_10_05_00_c0.so
vendor/lib/para_10_06_00_b0.so
vendor/lib/para_10_07_00_b0.so
vendor/lib/para_10_08_00_20.so
vendor/lib/para_10_08_00_a0.so
vendor/lib/para_10_08_00_b0.so
vendor/lib/para_10_09_00_c0.so
vendor/lib/para_10_09_01_c0.so
vendor/lib/para_10_09_02_c0.so
vendor/lib/para_10_0a_00_b0.so
vendor/lib/para_10_0b_00_a0.so
vendor/lib/touch_para_10.so
# Unified scaling daemon
vendor/bin/ussrd
vendor/lib64/libaffinitydaemon.so
vendor/lib64/libgov_boot.so
vendor/lib64/libgov_camera.so
vendor/lib64/libgov_force.so
vendor/lib64/libgov_generic.so
vendor/lib64/libgov_gpucompute.so
vendor/lib64/libgov_graphics.so
vendor/lib64/libgov_il.so
vendor/lib64/libgov_spincircle.so
vendor/lib64/libgov_tbc.so
vendor/lib64/libgov_ui.so
vendor/lib64/libussrd.so
vendor/lib/libaffinitydaemon.so
vendor/lib/libgov_boot.so
vendor/lib/libgov_camera.so
vendor/lib/libgov_force.so
vendor/lib/libgov_generic.so
vendor/lib/libgov_gpucompute.so
vendor/lib/libgov_graphics.so
vendor/lib/libgov_il.so
vendor/lib/libgov_spincircle.so
vendor/lib/libgov_tbc.so
vendor/lib/libgov_ui.so
vendor/lib/libussrd.so
# Graphics
vendor/lib64/egl/libEGL_tegra.so
vendor/lib64/egl/libGLESv1_CM_tegra.so
vendor/lib64/egl/libGLESv2_tegra.so
vendor/lib64/hw/gralloc.tegra.so
vendor/lib64/hw/hwcomposer.tegra.so
vendor/lib64/hw/vulkan.tegra.so
vendor/lib64/libglcore.so
vendor/lib64/libnvblit.so
vendor/lib64/libnvddk_vic.so
vendor/lib64/libnvglsi.so
vendor/lib64/libnvgr.so
vendor/lib64/libnvrmapi_tegra.so
vendor/lib64/libnvrm_gpu.so
vendor/lib64/libnvrm_graphics.so
vendor/lib64/libnvrm.so
vendor/lib64/libnvRSCompiler.so
vendor/lib64/libnvRSDriver.so
vendor/lib64/libnvwsi.so
vendor/lib/egl/libEGL_tegra.so
vendor/lib/egl/libGLESv1_CM_tegra.so
vendor/lib/egl/libGLESv2_tegra.so
vendor/lib/hw/gralloc.tegra.so