...
 
Commits (85)
# 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.
ifeq ($(TARGET_REFERENCE_DEVICE), foster)
LOCAL_PATH := $(call my-dir)
include $(call all-makefiles-under,$(LOCAL_PATH))
endif
# 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.
INSTALLED_KERNEL_TARGET := $(PRODUCT_OUT)/kernel
INSTALLED_RECOVERYIMAGE_TARGET := $(PRODUCT_OUT)/recovery.img
INSTALLED_DTBIMAGE_TARGET_mdarcy := $(PRODUCT_OUT)/install/dtb_mdarcy.img
$(INSTALLED_DTBIMAGE_TARGET_mdarcy): $(INSTALLED_KERNEL_TARGET) | mkdtimg
echo -e ${CL_GRN}"Building mdarcy DTImage"${CL_RST}
@mkdir -p $(PRODUCT_OUT)/install
mkdtimg create $@ --id=2894 \
$(KERNEL_OUT)/arch/arm64/boot/dts/tegra210b01-darcy-p2894-0050-a08-00.dtb --rev=0x0a8 --custom0=0x28 \
$(KERNEL_OUT)/arch/arm64/boot/dts/tegra210b01-darcy-p2894-2551-b00-00.dtb --rev=0xb00 --custom0=2551 \
$(KERNEL_OUT)/arch/arm64/boot/dts/tegra210b01-darcy-p2894-3551-b03-00.dtb --rev=0xb03 --custom0=3551
INSTALLED_DTBIMAGE_TARGET_sif := $(PRODUCT_OUT)/install/dtb_sif.img
$(INSTALLED_DTBIMAGE_TARGET_sif): $(INSTALLED_KERNEL_TARGET) | mkdtimg
echo -e ${CL_GRN}"Building sif DTImage"${CL_RST}
@mkdir -p $(PRODUCT_OUT)/install
mkdtimg create $@ --id=3425 --custom0=0x140 \
$(KERNEL_OUT)/arch/arm64/boot/dts/tegra210b01-sif-p3425-0500-a01.dtb --rev=0xa1 \
$(KERNEL_OUT)/arch/arm64/boot/dts/tegra210b01-sif-p3425-0500-a02.dtb --rev=0xa2 \
$(KERNEL_OUT)/arch/arm64/boot/dts/tegra210b01-sif-p3425-0500-a04.dtb --rev=0xa3 \
$(KERNEL_OUT)/arch/arm64/boot/dts/tegra210b01-sif-p3425-0500-a04.dtb --rev=0xa4
DTB_TARGETS := tegra210-darcy-p2894-0000-a00-00.dtb \
tegra210-darcy-p2894-0050-a04-00.dtb \
tegra210-darcy-p2894-0050-a08-00.dtb \
tegra210-darcy-p2894-0052-a08-00.dtb \
tegra210-foster-e-hdd-p2530-0932-e00-00.dtb \
tegra210-foster-e-hdd-p2530-0932-e01-00.dtb \
tegra210-foster-e-hdd-p2530-0932-e02-00.dtb \
tegra210-foster-e-p2530-0930-e00-00.dtb \
tegra210-foster-e-p2530-0930-e01-00.dtb \
tegra210-foster-e-p2530-0930-e02-00.dtb \
tegra210-icosa.dtb \
tegra210-jetson-tx1-p2597-2180-a01-android-devkit.dtb \
tegra210-loki-e-p2530-0030-e00-00.dtb \
tegra210-loki-e-p2530-0030-e01-00.dtb \
tegra210-loki-e-p2530-0030-e02-00.dtb \
tegra210-loki-e-p2530-0030-e03-00.dtb \
tegra210-loki-e-p2530-0031-e00-00.dtb \
tegra210-loki-e-p2530-0031-e01-00.dtb \
tegra210-loki-e-p2530-0031-e02-00.dtb \
tegra210-loki-e-p2530-0031-e03-00.dtb \
tegra210-p3448-0000-p3449-0000-a02-android-devkit.dtb
INSTALLED_DTB_TARGETS := $(DTB_TARGETS:%=$(PRODUCT_OUT)/install/%)
$(INSTALLED_DTB_TARGETS): $(INSTALLED_KERNEL_TARGET) | $(ACP)
echo -e ${CL_GRN}"Copying individual DTBs"${CL_RST}
@mkdir -p $(PRODUCT_OUT)/install
cp $(@F:%=$(KERNEL_OUT)/arch/arm64/boot/dts/%) $(PRODUCT_OUT)/install/
ALL_PREBUILT += $(INSTALLED_DTBIMAGE_TARGET_mdarcy) $(INSTALLED_DTBIMAGE_TARGET_sif) $(INSTALLED_DTB_TARGETS)
.PHONY: dtbimage
dtbimage: $(INSTALLED_DTBIMAGE_TARGET_mdarcy) $(INSTALLED_DTBIMAGE_TARGET_sif)
INSTALLED_RECOVERYIMAGE_r8168-ko := $(TARGET_RECOVERY_ROOT_OUT)/lib/modules/r8168.ko
$(INSTALLED_RECOVERYIMAGE_r8168-ko): $(INSTALLED_KERNEL_TARGET)
@mkdir -p $(dir $@)
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)
#
# 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.
#
PRODUCT_MAKEFILES := \
$(LOCAL_DIR)/full_foster.mk \
$(LOCAL_DIR)/lineage_foster.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.
#
BOARD_FLASH_BLOCK_SIZE := 4096
BOARD_BOOTIMAGE_PARTITION_SIZE := 26738688
BOARD_RECOVERYIMAGE_PARTITION_SIZE := 26767360
BOARD_CACHEIMAGE_PARTITION_SIZE := 268435456
BOARD_USERDATAIMAGE_PARTITION_SIZE := 10099646976
BOARD_SYSTEMIMAGE_PARTITION_SIZE := 1616904192
BOARD_VENDORIMAGE_PARTITION_SIZE := 268435456
TARGET_USERIMAGES_USE_EXT4 := true
BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4
BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
TARGET_COPY_OUT_VENDOR := vendor
BOARD_BUILD_SYSTEM_ROOT_IMAGE := true
# Assert
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-
TARGET_KERNEL_SOURCE := kernel/nvidia/linux-4.9/kernel/kernel-4.9
TARGET_KERNEL_CONFIG := tegra_android_defconfig
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
# Device configuration for Nvidia SHIELD Android TV
## Spec Sheet
| Feature | Specification |
| :---------------------- | :-------------------------------- |
| Chipset | NVIDIA® Tegra X1 T210 |
| Memory | 3GB RAM |
| Shipped Android Version | 5.1 |
| Storage | 16/500GB |
| MicroSD | Up to 128GB |
| Dimensions | 98 x 159 x 25.93 mm |
| Release Date | May 18, 2015 |
## Copyright
```
#
# 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.
#
```
require version-bootloader=32.00.2019.29-t210-352664f9|32.00.2019.29-t210-840db81f|32.00.2019.50-t210-c0223907|24.00.2015.42-t210-39c6cadc|2020.04-00022-gdb8327930e
# 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
}
#
# 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.
#
# 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
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)
# System properties
include $(LOCAL_PATH)/system_prop.mk
PRODUCT_CHARACTERISTICS := tv
PRODUCT_AAPT_CONFIG := xlarge large
PRODUCT_AAPT_PREF_CONFIG := xxhdpi
TARGET_SCREEN_HEIGHT := 1920
TARGET_SCREEN_WIDTH := 1080
$(call inherit-product, frameworks/native/build/tablet-10in-xhdpi-2048-dalvik-heap.mk)
$(call inherit-product, vendor/nvidia/foster/foster-vendor.mk)
PRODUCT_VENDOR_PROPERTY_BLACKLIST := \
ro.product.vendor.device \
ro.product.vendor.model \
ro.product.vendor.name \
ro.vendor.build.fingerprint
# Overlays
DEVICE_PACKAGE_OVERLAYS += \
device/nvidia/foster/overlay
# Init related
PRODUCT_PACKAGES += \
init_tegra \
fstab.darcy \
fstab.dragon \
fstab.foster \
fstab.foster_e \
fstab.foster_e_hdd \
fstab.he2290 \
fstab.icosa \
fstab.icosa_emmc \
fstab.jetson_cv \
fstab.jetson_e \
fstab.loki_e_base \
fstab.loki_e_lte \
fstab.loki_e_wifi \
fstab.porg \
fstab.porg_sd \
fstab.sif \
init.darcy.rc \
init.dragon.rc \
init.foster_e.rc \
init.foster_e_hdd.rc \
init.foster_e_common.rc \
init.he2290.rc \
init.loki_e_common.rc \
init.loki_foster_e_common.rc \
init.icosa.rc \
init.icosa_common.rc \
init.icosa_emmc.rc \
init.jetson_cv.rc \
init.jetson_e.rc \
init.loki_e_base.rc \
init.loki_e_lte.rc \
init.loki_e_wifi.rc \
init.porg.rc \
init.porg_sd.rc \
init.sif.rc \
init.recovery.darcy.rc \
init.recovery.dragon.rc \
init.recovery.foster_e.rc \
init.recovery.foster_e_hdd.rc \
init.recovery.foster_common.rc \
init.recovery.he2290.rc \
init.recovery.icosa.rc \
init.recovery.icosa_emmc.rc \
init.recovery.jetson_cv.rc \
init.recovery.jetson_e.rc \
init.recovery.loki_e_base.rc \
init.recovery.loki_e_lte.rc \
init.recovery.loki_e_wifi.rc \
init.recovery.porg.rc \
init.recovery.porg_sd.rc \
init.recovery.sif.rc \
power.darcy.rc \
power.dragon.rc \
power.foster_e.rc \
power.foster_e_hdd.rc \
power.he2290.rc \
power.icosa.rc \
power.icosa_emmc.rc \
power.jetson_cv.rc \
power.jetson_e.rc \
power.loki_e_base.rc \
power.loki_e_lte.rc \
power.loki_e_wifi.rc \
power.porg.rc \
power.porg_sd.rc \
power.sif.rc
# 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.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)
PRODUCT_PACKAGES += \
audio_effects.xml \
audio_policy_configuration.xml \
dragon_nvaudio_conf.xml \
icosa_nvaudio_conf.xml \
icosa_emmc_nvaudio_conf.xml \
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) 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.
# Inherit from those products. Most specific first.
$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
$(call inherit-product, device/google/atv/products/atv_base.mk)
$(call inherit-product, device/nvidia/foster/device.mk)
# Set those variables here to overwrite the inherited values.
PRODUCT_NAME := full_foster
PRODUCT_DEVICE := foster
PRODUCT_BRAND := nvidia
PRODUCT_MANUFACTURER := NVIDIA
PRODUCT_MODEL := SHIELD Android TV
//
// 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",
],
}
This diff is collapsed.
This diff is collapsed.
#Copyright (c) 2015-2018 NVIDIA Corporation. All Rights Reserved.
# Android fstab file.
#<src> <mnt_point> <type> <mnt_flags> <fs_mgr_flags>
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
/dev/block/platform/sdhci-tegra.3/by-name/APP / ext4 ro,noatime wait
/dev/block/platform/sdhci-tegra.3/by-name/CAC /cache ext4 noatime,nosuid,nodev,data=ordered,barrier=1,nodelalloc wait,formattable
/dev/block/platform/sdhci-tegra.3/by-name/LNX /boot emmc defaults defaults
/dev/block/platform/sdhci-tegra.3/by-name/MSC /misc emmc defaults defaults
/dev/block/platform/sdhci-tegra.3/by-name/UDA /data ext4 noatime,nosuid,nodev,data=ordered,barrier=0,noauto_da_alloc wait,check,formattable,encryptable=/dev/block/platform/sdhci-tegra.3/by-name/MDA,quota,reservedsize=128M
/dev/block/platform/sdhci-tegra.3/by-name/USP /staging emmc defaults defaults
/dev/block/platform/sdhci-tegra.3/by-name/MDA /metadata emmc defaults defaults
/dev/block/platform/sdhci-tegra.3/by-name/SOS /recovery emmc defaults defaults
/dev/block/platform/sdhci-tegra.3/by-name/RP3 /mnt/vendor/wifi_config ext4 rw,noatime,nosuid,nodev,noexec wait,check
/devices/70090000.xusb/usb* auto vfat defaults voldmanaged=usbdrive:auto,encryptable=userdata
/dev/block/platform/70090000.xusb/by-num/p1 /usbdrive vfat defaults recoveryonly
/dev/block/platform/sdhci-tegra.3/by-name/BMP /bmps emmc defaults recoveryonly
/dev/block/zram0 none swap defaults zramsize=536870912
79a35232-07f9-4230-9df3-4256560ddbd2 /mnt/remote auto defaults voldmanaged=remote:auto
28f3f3fa-9c68-45be-bf54-7580ab57fd21 /mnt/remote auto defaults voldmanaged=remote:auto
# Android fstab file.
#<src> <mnt_point> <type> <mnt_flags> <fs_mgr_flags>
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
/dev/block/platform/sdhci-tegra.3/by-name/APP / ext4 ro,noatime wait
/dev/block/platform/sdhci-tegra.3/by-name/CAC /cache ext4 noatime,nosuid,nodev,data=ordered,barrier=1,nodelalloc wait,formattable
/dev/block/platform/sdhci-tegra.3/by-name/KERN-A /boot emmc defaults defaults
/dev/block/platform/sdhci-tegra.3/by-name/MSC /misc emmc defaults defaults
/dev/block/platform/sdhci-tegra.3/by-name/UDA /data ext4 noatime,nosuid,nodev,data=ordered,barrier=0,noauto_da_alloc wait,check,formattable,encryptable=/dev/block/platform/sdhci-tegra.3/by-name/MD1,quota,reservedsize=128M
/dev/block/platform/sdhci-tegra.3/by-name/MD1 /metadata emmc defaults defaults
/dev/block/platform/sdhci-tegra.3/by-name/recovery /recovery emmc defaults defaults
/devices/70090000.xusb/usb* auto vfat defaults voldmanaged=usbdrive:auto,encryptable=userdata
/dev/block/platform/70090000.xusb/by-num/p1 /usbdrive vfat defaults recoveryonly
/dev/block/zram0 none swap defaults zramsize=536870912
# Android fstab file.
#<src> <mnt_point> <type> <mnt_flags> <fs_mgr_flags>
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
# This fstab is only used for the updater script. Assumes the recovery has made appropriate symlinks
/dev/block/APP / ext4 ro,noatime wait
/dev/block/CAC /cache ext4 noatime,nosuid,nodev,data=ordered,nodelalloc,errors=panic wait,formattable
/dev/block/vendor /vendor ext4 ro,noatime wait
/dev/block/LNX /boot emmc defaults defaults
/dev/block/MSC /misc emmc defaults defaults
/dev/block/UDA /data ext4 noatime,nosuid,nodev,data=ordered,noauto_da_alloc,errors=panic wait,check,formattable,encryptable=/dev/block/MDA
/dev/block/USP /staging emmc defaults defaults
/dev/block/MDA /metadata emmc defaults defaults
/dev/block/SOS /recovery emmc defaults defaults
/dev/block/BMP /bmps emmc defaults recoveryonly
#Copyright (c) 2015-2018 NVIDIA Corporation. All Rights Reserved.
# Android fstab file.
#<src> <mnt_point> <type> <mnt_flags> <fs_mgr_flags>
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
/dev/block/platform/sdhci-tegra.3/by-name/APP / ext4 ro,noatime wait
/dev/block/platform/sdhci-tegra.3/by-name/CAC /cache ext4 noatime,nosuid,nodev,data=ordered,barrier=1,nodelalloc wait,formattable
/dev/block/platform/sdhci-tegra.3/by-name/LNX /boot emmc defaults defaults
/dev/block/platform/sdhci-tegra.3/by-name/MSC /misc emmc defaults defaults
/dev/block/platform/sdhci-tegra.3/by-name/UDA /data ext4 noatime,nosuid,nodev,data=ordered,barrier=0,noauto_da_alloc wait,check,formattable,encryptable=/dev/block/platform/sdhci-tegra.3/by-name/MDA,quota
/dev/block/platform/sdhci-tegra.3/by-name/USP /staging emmc defaults defaults
/dev/block/platform/sdhci-tegra.3/by-name/MDA /metadata emmc defaults defaults
/dev/block/platform/sdhci-tegra.3/by-name/SOS /recovery emmc defaults defaults
/dev/block/platform/sdhci-tegra.3/by-name/RP3 /mnt/vendor/wifi_config ext4 rw,noatime,nosuid,nodev,noexec wait,check,formattable
/devices/sdhci-tegra.0/mmc_host* auto vfat defaults voldmanaged=sdcard1:auto,encryptable=userdata
/devices/70090000.xusb/usb* auto vfat defaults voldmanaged=usbdrive:auto,encryptable=userdata
/dev/block/platform/sdhci-tegra.0/by-num/p1 /sdcard vfat defaults recoveryonly
/dev/block/platform/sdhci-tegra.3/by-name/BMP /bmps emmc defaults recoveryonly
/dev/block/platform/70090000.xusb/by-num/p1 /usbdrive vfat defaults recoveryonly
/dev/block/zram0 none swap defaults zramsize=536870912
79a35232-07f9-4230-9df3-4256560ddbd2 /mnt/remote auto defaults voldmanaged=remote:auto
28f3f3fa-9c68-45be-bf54-7580ab57fd21 /mnt/remote auto defaults voldmanaged=remote:auto
#Copyright (c) 2015-2018 NVIDIA Corporation. All Rights Reserved.
# Android fstab file.
#<src> <mnt_point> <type> <mnt_flags> <fs_mgr_flags>
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
/dev/block/platform/tegra-sata.0/by-name/APP / ext4 ro,noatime wait
/dev/block/platform/tegra-sata.0/by-name/CAC /cache ext4 noatime,nosuid,nodev,data=ordered,nodelalloc,barrier=1 wait,formattable
/dev/block/platform/tegra-sata.0/by-name/LNX /boot emmc defaults defaults
/dev/block/platform/tegra-sata.0/by-name/MSC /misc emmc defaults defaults
/dev/block/platform/tegra-sata.0/by-name/UDA /data ext4 noatime,nosuid,nodev,data=ordered,noauto_da_alloc,discard,barrier=0,init_itable=100 wait,check,formattable,encryptable=/dev/block/platform/tegra-sata.0/by-name/MDA,quota
/dev/block/platform/tegra-sata.0/by-name/USP /staging emmc defaults defaults
/dev/block/platform/tegra-sata.0/by-name/MDA /metadata emmc defaults defaults
/dev/block/platform/tegra-sata.0/by-name/SOS /recovery emmc defaults defaults
/dev/block/platform/tegra-sata.0/by-name/RP3 /mnt/vendor/wifi_config ext4 rw,noatime,nosuid,nodev,noexec wait,check,formattable
/devices/sdhci-tegra.0/mmc_host* auto vfat defaults voldmanaged=sdcard1:auto,encryptable=userdata
/dev/block/platform/sdhci-tegra.0/by-num/p1 /sdcard vfat defaults recoveryonly
/dev/block/platform/70090000.xusb/by-num/p1 /usbdrive vfat defaults recoveryonly
/dev/block/platform/tegra-sata.0/by-name/BMP /bmps emmc defaults recoveryonly
/devices/70090000.xusb/usb* auto vfat defaults voldmanaged=usbdrive:auto,encryptable=userdata
/dev/block/zram0 none swap defaults zramsize=536870912
79a35232-07f9-4230-9df3-4256560ddbd2 /mnt/remote auto defaults voldmanaged=remote:auto
28f3f3fa-9c68-45be-bf54-7580ab57fd21 /mnt/remote auto defaults voldmanaged=remote:auto
#Copyright (c) 2015-2018 NVIDIA Corporation. All Rights Reserved.
# Android fstab file.
#<src> <mnt_point> <type> <mnt_flags> <fs_mgr_flags>
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
/dev/block/platform/sdhci-tegra.0/by-name/APP / ext4 ro,noatime wait
/dev/block/platform/sdhci-tegra.0/by-name/CAC /cache ext4 noatime,nosuid,nodev,data=ordered,barrier=1,nodelalloc wait,formattable
/dev/block/platform/sdhci-tegra.0/by-name/LNX /boot emmc defaults defaults
/dev/block/platform/sdhci-tegra.0/by-name/MSC /misc emmc defaults defaults
/dev/block/platform/sdhci-tegra.0/by-name/UDA /data ext4 noatime,nosuid,nodev,data=ordered,barrier=0,noauto_da_alloc wait,check,formattable,encryptable=/dev/block/platform/sdhci-tegra.0/by-name/MDA,quota,reservedsize=128M
/dev/block/platform/sdhci-tegra.0/by-name/USP /staging emmc defaults defaults
/dev/block/platform/sdhci-tegra.0/by-name/MDA /metadata emmc defaults defaults
/dev/block/platform/sdhci-tegra.0/by-name/SOS /recovery emmc defaults defaults
/devices/70090000.xusb/usb* auto vfat defaults voldmanaged=usbdrive:auto,encryptable=userdata
/dev/block/platform/70090000.xusb/by-num/p1 /usbdrive vfat defaults recoveryonly
/dev/block/platform/sdhci-tegra.0/by-name/BMP /bmps emmc defaults recoveryonly
/dev/block/zram0 none swap defaults zramsize=536870912
79a35232-07f9-4230-9df3-4256560ddbd2 /mnt/remote auto defaults voldmanaged=remote:auto
28f3f3fa-9c68-45be-bf54-7580ab57fd21 /mnt/remote auto defaults voldmanaged=remote:auto
# Copyright (c) 2014-2018, NVIDIA CORPORATION. All rights reserved.
#
#NVIDIA Corporation and its licensors retain all intellectual property and
#proprietary rights in and to this software and related documentation. Any
#use, reproduction, disclosure or distribution of this software and related
#documentation without an express license agreement from NVIDIA Corporation
#is strictly prohibited.
import /vendor/etc/init/hw/init.tegra_emmc.rc
import /vendor/etc/init/hw/init.t210.rc
import /vendor/etc/init/hw/init.foster_e_common.rc
on fs
mount_all /vendor/etc/fstab.darcy
swapon_all /vendor/etc/fstab.darcy
write /sys/block/mmcblk0/queue/iosched/slice_idle 0
write /sys/block/mmcblk0/queue/iostats 0
write /sys/block/mmcblk0/queue/nr_requests 256
on post-fs
# Create symlinks for VTS compatibility (must be after fstab mounting)
symlink /dev/block/platform/sdhci-tegra.3/by-name/DTB /dev/block/platform/sdhci-tegra.3/by-name/dtbo
symlink /dev/block/platform/sdhci-tegra.3/by-name/LNX /dev/block/platform/sdhci-tegra.3/by-name/boot
symlink /dev/block/platform/sdhci-tegra.3/by-name/SOS /dev/block/platform/sdhci-tegra.3/by-name/recovery
# override cpuset cpus to 0-3
on init
write /dev/cpuset/foreground/cpus 0-3
write /dev/cpuset/foreground/boost/cpus 0-3
write /dev/cpuset/background/cpus 0-3
write /dev/cpuset/system-background/cpus 0-3
write /dev/cpuset/top-app/cpus 0-3
# 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.
import /vendor/etc/init/hw/init.tegra.rc
import /vendor/etc/init/hw/init.t210.rc
import /vendor/etc/init/hw/init.loki_e_common.rc
on fs
mount_all /vendor/etc/fstab.dragon
swapon_all /vendor/etc/fstab.dragon
# 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
# Copyright (c) 2014-2019, NVIDIA CORPORATION. All rights reserved.
#
#NVIDIA Corporation and its licensors retain all intellectual property and
#proprietary rights in and to this software and related documentation. Any
#use, reproduction, disclosure or distribution of this software and related
#documentation without an express license agreement from NVIDIA Corporation
#is strictly prohibited.
import /vendor/etc/init/hw/init.tegra_emmc.rc
import /vendor/etc/init/hw/init.t210.rc
import /vendor/etc/init/hw/init.foster_e_common.rc
on init
# support old sdcard features (apps on sdcard and migrated apps)
setprop vendor.vold.linktoprimary 1
on fs
mount_all /vendor/etc/fstab.foster_e
swapon_all /vendor/etc/fstab.foster_e
write /sys/block/mmcblk0/queue/iosched/slice_idle 0
write /sys/block/mmcblk0/queue/iostats 0
write /sys/block/mmcblk0/queue/nr_requests 256
on post-fs-data
start cyupdate
service cyupdate /vendor/bin/cyupdate.sh
class main
user system
group system
oneshot
disabled
# Copyright (c) 2014-2019, NVIDIA CORPORATION. All rights reserved.
#
#NVIDIA Corporation and its licensors retain all intellectual property and
#proprietary rights in and to this software and related documentation. Any
#use, reproduction, disclosure or distribution of this software and related
#documentation without an express license agreement from NVIDIA Corporation
#is strictly prohibited.
import /vendor/etc/init/hw/init.loki_foster_e_common.rc
on boot
write /sys/devices/system/cpu/cpuquiet/runnable_threads/nr_run_thresholds "6 10 18"
write /sys/devices/system/cpu/cpuquiet/tegra_cpuquiet/enable 0
# Lower console loglevel to reduce number of printk messages to console
write /proc/sys/kernel/printk "4 7 1 7 3"
on boot && property:ro.build.type=user
# Disable console logs in user build, print KERN_EMERG messages only
setprop vendor.debug.enable_console_logs false
write /dev/kmsg "Disabling kernel console prints. Prints can be enabled via the developer menu"
on post-fs-data
# Set Foster as console mode
setprop persist.vendor.tegra.composite.range Auto
setprop sys.wal.off external.db,iu.upload.db
setprop sys.wal.normal tz4,PGDatabase,launcher.db,playlog.db,music.db
write /sys/power/wake_lock foster-staywake
# Disable rescue feature. This needs to be in vendor init, so that it
# works on GSI images.
setprop persist.sys.disable_rescue true
on post-fs-data
chown system system /mnt/venodr/wifi_config
chown system system /mnt/vendor/wifi_config/FSS.txt
chown system system /mnt/vendor/wifi_config/country_code.txt
chown system system /mnt/vendor/wifi_config/country_code.sig
chown system system /mnt/vendor/wifi_config/package.txt
restorecon_recursive /mnt/vendor/wifi_config
on property:init.svc.vendor.lkm_loader=stopped
chown system system /sys/class/leds/led_lightbar/brightness
chown system system /sys/class/leds/led_lightbar/boot_mode
chown system system /sys/class/leds/led_lightbar/version
chown system system /sys/class/leds/led_lightbar/effects
chown system system /sys/class/leds/led_lightbar/params
on property:vendor.debug.enable_console_logs=true && property:ro.build.type=user
write /proc/sys/kernel/printk "4 7 1 7 3"
on property:vendor.debug.enable_console_logs=false && property:ro.build.type=user
write /proc/sys/kernel/printk "1 7 1 7 3"
service mossignerd /vendor/bin/mossignerd
class late_start
user system
# Copyright (c) 2014-2019, NVIDIA CORPORATION. All rights reserved.
#
#NVIDIA Corporation and its licensors retain all intellectual property and
#proprietary rights in and to this software and related documentation. Any
#use, reproduction, disclosure or distribution of this software and related
#documentation without an express license agreement from NVIDIA Corporation
#is strictly prohibited.
import /vendor/etc/init/hw/init.tegra_sata.rc
import /vendor/etc/init/hw/init.t210.rc
import /vendor/etc/init/hw/init.foster_e_common.rc
on init
# support old sdcard features (apps on sdcard and migrated apps)
setprop vendor.vold.linktoprimary 1
on fs
write /sys/block/sda/queue/scheduler deadline
write /sys/block/sda/queue/iosched/read_expire 1000
write /sys/block/sda/queue/iosched/write_expire 40000
write /sys/block/sda/queue/iosched/writes_starved 16
mount_all /vendor/etc/fstab.foster_e_hdd
swapon_all /vendor/etc/fstab.foster_e_hdd
on post-fs-data
start cyupdate
start get-hddstat
service cyupdate /vendor/bin/cyupdate.sh
class main
user system
group system
oneshot
disabled
#Copyright (c) 2014-2016, NVIDIA CORPORATION. All rights reserved.
#
#NVIDIA Corporation and its licensors retain all intellectual property and
#proprietary rights in and to this software and related documentation. Any
#use, reproduction, disclosure or distribution of this software and related
#documentation without an express license agreement from NVIDIA Corporation
#is strictly prohibited.
import /vendor/etc/init/hw/init.tegra_emmc.rc
import /vendor/etc/init/hw/init.t210.rc
import /vendor/etc/init/hw/init.loki_e_common.rc
import /vendor/etc/init/hw/init.sharp_touch.rc
on init
setprop ro.feature.stylus 1
setprop ro.feature.quickmenu 1
setprop persist.tegra.cursor.enable 1
setprop sf.async.cursor.enable 1
setprop input.gaming_mode_enabled 1
setprop input.tch_blk.enabled 1
setprop input.tch_blk.ext_for_ptrs 1
setprop input.tch_blk.timeout_ms 500
setprop input.tch_prs.ebc 0.9
setprop input.tch_blk.edgeremap_left 10
setprop input.tch_blk.edgeremap_top 5
setprop input.tch_blk.edgeremap_right 15
setprop input.tch_blk.edgeremap_bottom 5
setprop input.ptr_trk.toolswitch_time 400
setprop input.ptr_trk.toolswitch_range 200
setprop input.ptr_trk.eraserlatch_range 10
setprop input.ptr_trk.eraserdelay_time 250
setprop input.ptr_trk.pinchtozoom_time 1000
setprop input.ptr_trk.pinchtozoom_range 1100
setprop input.ptr_trk.pinchtozoom_rectX 800
setprop input.ptr_trk.pinchtozoom_rectY 1400
setprop input.ptr_trk.pinchtozoom_cenX 600
setprop input.ptr_trk.pinchtozoom_cenY 960
setprop input.nonwhitelistedmode 3
setprop input.quick_menu_enabled 1
setprop input.quick_menu_sound_enabled 1
setprop sys.esrd.powermon_path /sys/bus/i2c/devices/1-0040/iio_device
setprop sys.esrd.powermon_channel 0
setprop sys.esrd.min_esr 95
setprop sys.esrd.max_esr 160
setprop sys.esrd.margin 35
setprop sys.esrd.nwindow 200
setprop sys.esrd.ntry 600
setprop sys.esrd.tsample 20
setprop sys.esrd.delay_start 900
setprop sys.esrd.delay_retry 900
setprop sys.esrd.delay_ok 604800
setprop sys.esrd.needed_coeff 0.97
setprop sys.esrd.needed_var 300
setprop sys.esrd.battery_thresh_high 60
setprop sys.esrd.battery_thresh_low 15
setprop sys.esrd.load_burst_duration 3
setprop sys.esrd.check_screen_off 1
setprop persist.tegra.didim.enable 0
chown system system /sys/power/sysedp/batmon/esr
chown system system /sys/bus/i2c/devices/1-0040/iio_device/running_mode
chmod 0664 /sys/bus/i2c/devices/1-0040/iio_device/running_mode
chown system system /sys/bus/i2c/devices/1-0040/iio_device/warn_current_limit_0
chown system audio /sys/devices/platform/sound.17/dmicinput
chmod 0664 /sys/devices/platform/sound.17/dmicinput
on fs
setprop ro.gps.gpio 66
setprop ro.gpsstatus.changed true
mount_all /fstab.he2290
swapon_all /fstab.he2290
on post-fs-data
write /sys/class/gpio/export 66
write /sys/class/gpio/gpio66/direction out
write /sys/class/gpio/gpio66/value 0
chown root system /sys/class/gpio/gpio66/value
chmod 0664 /sys/class/gpio/gpio66/value
setprop persist.gps.present false
on property:persist.gps.present=true
symlink /system/etc/android.hardware.location.gps.xml /data/android.hardware.location.gps.xml
start start-gps