Merge 24Q3 to AOSP main
Bug: 357762254 Merged-In: I4b2a0a61ebaff5d85a4daac445d81ae3d21aa9c3 Change-Id: I56e1840b7862737c84f36c73296253726437d1ca
This commit is contained in:
commit
7e18ab81e1
34 changed files with 701 additions and 176 deletions
11
Android.bp
11
Android.bp
|
@ -41,3 +41,14 @@ sh_binary {
|
||||||
vendor: true,
|
vendor: true,
|
||||||
sub_dir: "hw",
|
sub_dir: "hw",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Filesystem: Copy efs/efs_backup/modem_userdata to /data partition
|
||||||
|
// so that they can be accessed under 16K mode. By default, these partitions
|
||||||
|
// are 4K F2FS , which can't be mounted under 16K mode.
|
||||||
|
// (b/293313353)
|
||||||
|
sh_binary {
|
||||||
|
name: "copy_efs_files_to_data",
|
||||||
|
src: "copy_efs_files_to_data.sh",
|
||||||
|
vendor: true,
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -391,11 +391,19 @@ KERNEL_MODULES := $(wildcard $(KERNEL_MODULE_DIR)/*.ko)
|
||||||
BOARD_SYSTEM_KERNEL_MODULES_BLOCKLIST_FILE := $(KERNEL_MODULE_DIR)/system_dlkm.modules.blocklist
|
BOARD_SYSTEM_KERNEL_MODULES_BLOCKLIST_FILE := $(KERNEL_MODULE_DIR)/system_dlkm.modules.blocklist
|
||||||
BOARD_VENDOR_KERNEL_MODULES_BLOCKLIST_FILE := $(KERNEL_MODULE_DIR)/vendor_dlkm.modules.blocklist
|
BOARD_VENDOR_KERNEL_MODULES_BLOCKLIST_FILE := $(KERNEL_MODULE_DIR)/vendor_dlkm.modules.blocklist
|
||||||
|
|
||||||
BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD := $(strip $(shell cat $(KERNEL_MODULE_DIR)/vendor_kernel_boot.modules.load))
|
# Prebuilt kernel modules that are *not* listed in vendor_kernel_boot.modules.load
|
||||||
ifndef BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD
|
BOARD_PREBUILT_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES = fips140.ko
|
||||||
|
BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD_EXTRA = $(foreach k,$(BOARD_PREBUILT_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES),$(if $(wildcard $(KERNEL_MODULE_DIR)/$(k)), $(k)))
|
||||||
|
|
||||||
|
# Kernel modules that are listed in vendor_kernel_boot.modules.load
|
||||||
|
BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD_FILE := $(strip $(shell cat $(KERNEL_MODULE_DIR)/vendor_kernel_boot.modules.load))
|
||||||
|
ifndef BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD_FILE
|
||||||
$(error vendor_kernel_boot.modules.load not found or empty)
|
$(error vendor_kernel_boot.modules.load not found or empty)
|
||||||
endif
|
endif
|
||||||
BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES := $(addprefix $(KERNEL_MODULE_DIR)/, $(notdir $(BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD)))
|
BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD := $(BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD_EXTRA)
|
||||||
|
BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD += $(BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD_FILE)
|
||||||
|
BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES := $(addprefix $(KERNEL_MODULE_DIR)/, $(BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD_EXTRA))
|
||||||
|
BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES += $(addprefix $(KERNEL_MODULE_DIR)/, $(notdir $(BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD_FILE)))
|
||||||
|
|
||||||
BOARD_VENDOR_KERNEL_MODULES_LOAD := $(strip $(shell cat $(KERNEL_MODULE_DIR)/vendor_dlkm.modules.load))
|
BOARD_VENDOR_KERNEL_MODULES_LOAD := $(strip $(shell cat $(KERNEL_MODULE_DIR)/vendor_dlkm.modules.load))
|
||||||
ifndef BOARD_VENDOR_KERNEL_MODULES_LOAD
|
ifndef BOARD_VENDOR_KERNEL_MODULES_LOAD
|
||||||
|
|
35
CopyEfsTest/Android.bp
Normal file
35
CopyEfsTest/Android.bp
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
// Copyright (C) 2024 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.
|
||||||
|
|
||||||
|
package {
|
||||||
|
default_applicable_licenses: ["device_google_zuma_license"],
|
||||||
|
}
|
||||||
|
|
||||||
|
java_test_host {
|
||||||
|
name: "CopyEfsTest",
|
||||||
|
// Include all test java files
|
||||||
|
srcs: ["src/**/*.java"],
|
||||||
|
static_libs: [
|
||||||
|
"junit",
|
||||||
|
"platform-test-annotations",
|
||||||
|
"truth",
|
||||||
|
],
|
||||||
|
libs: [
|
||||||
|
"tradefed",
|
||||||
|
"compatibility-host-util",
|
||||||
|
"compatibility-tradefed",
|
||||||
|
],
|
||||||
|
test_suites: ["device-tests"],
|
||||||
|
test_config: "AndroidTest.xml",
|
||||||
|
}
|
40
CopyEfsTest/AndroidTest.xml
Normal file
40
CopyEfsTest/AndroidTest.xml
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
~ Copyright (C) 2024 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.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<configuration description="Runs 16K developer option test.">
|
||||||
|
<option name="test-suite-tag" value="apct"/>
|
||||||
|
|
||||||
|
<target_preparer class="com.android.tradefed.targetprep.RootTargetPreparer">
|
||||||
|
<option name="force-root" value="true" />
|
||||||
|
</target_preparer>
|
||||||
|
|
||||||
|
<test class="com.android.compatibility.common.tradefed.testtype.JarHostTest" >
|
||||||
|
<option name="jar" value="CopyEfsTest.jar" />
|
||||||
|
</test>
|
||||||
|
|
||||||
|
<target_preparer class="com.android.tradefed.targetprep.RunCommandTargetPreparer">
|
||||||
|
<!-- Unlock screen -->
|
||||||
|
<option name="run-command" value="input keyevent KEYCODE_WAKEUP" />
|
||||||
|
<!-- Dismiss keyguard, in case it's set as "Swipe to unlock" -->
|
||||||
|
<option name="run-command" value="wm dismiss-keyguard" />
|
||||||
|
<!-- Collapse notifications -->
|
||||||
|
<option name="run-command" value="cmd statusbar collapse" />
|
||||||
|
<!-- dismiss all system dialogs before launch test -->
|
||||||
|
<option name="run-command" value="am broadcast -a android.intent.action.CLOSE_SYSTEM_DIALOGS" />
|
||||||
|
</target_preparer>
|
||||||
|
|
||||||
|
</configuration>
|
8
CopyEfsTest/TEST_MAPPING
Normal file
8
CopyEfsTest/TEST_MAPPING
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
{
|
||||||
|
"postsubmit": [
|
||||||
|
{
|
||||||
|
"name": "CopyEfsTest"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
97
CopyEfsTest/src/com/android/test/CopyEfsTest.java
Normal file
97
CopyEfsTest/src/com/android/test/CopyEfsTest.java
Normal file
|
@ -0,0 +1,97 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2024 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.android.test;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertEquals;
|
||||||
|
import static org.junit.Assert.assertTrue;
|
||||||
|
import static org.junit.Assume.assumeTrue;
|
||||||
|
|
||||||
|
import android.platform.test.annotations.AppModeFull;
|
||||||
|
|
||||||
|
import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
|
||||||
|
import com.android.tradefed.testtype.junit4.BaseHostJUnit4Test;
|
||||||
|
import com.android.tradefed.testtype.junit4.DeviceTestRunOptions;
|
||||||
|
import com.android.tradefed.util.RunUtil;
|
||||||
|
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
|
|
||||||
|
import java.io.BufferedReader;
|
||||||
|
import java.io.StringReader;
|
||||||
|
|
||||||
|
@RunWith(DeviceJUnit4ClassRunner.class)
|
||||||
|
public class CopyEfsTest extends BaseHostJUnit4Test {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@AppModeFull
|
||||||
|
public void copyEfsTest() throws Exception {
|
||||||
|
|
||||||
|
getDevice().enableAdbRoot();
|
||||||
|
|
||||||
|
// This test can be run on OEM unlocked device only as unlocking bootloader requires
|
||||||
|
// manual intervention.
|
||||||
|
String result = getDevice().getProperty("ro.boot.flash.locked");
|
||||||
|
assumeTrue("0".equals(result));
|
||||||
|
final String dataFstype = getFsTypeFor("/data");
|
||||||
|
assertTrue(!dataFstype.isEmpty());
|
||||||
|
if (!dataFstype.equals("ext4")) {
|
||||||
|
getDevice().executeShellCommand("cmd recovery wipe ext4");
|
||||||
|
RunUtil.getDefault().sleep(10000);
|
||||||
|
// Wait for 2 mins device to be online againg
|
||||||
|
getDevice().waitForDeviceOnline(120000);
|
||||||
|
getDevice().enableAdbRoot();
|
||||||
|
}
|
||||||
|
assertEquals("ext4", getFsTypeFor("/data"));
|
||||||
|
String dataBlockDev = getBlockDevFor("/data");
|
||||||
|
assertEquals(dataBlockDev, getBlockDevFor("/mnt/vendor/efs"));
|
||||||
|
assertEquals(dataBlockDev, getBlockDevFor("/mnt/vendor/efs_backup"));
|
||||||
|
assertEquals(dataBlockDev, getBlockDevFor("/mnt/vendor/modem_userdata"));
|
||||||
|
}
|
||||||
|
|
||||||
|
private String[] getMountInfo(String mountPoint) throws Exception {
|
||||||
|
String result = getDevice().executeShellCommand("cat /proc/mounts");
|
||||||
|
BufferedReader br = new BufferedReader(new StringReader(result));
|
||||||
|
String line;
|
||||||
|
while ((line = br.readLine()) != null) {
|
||||||
|
final String[] fields = line.split(" ");
|
||||||
|
final String device = fields[0];
|
||||||
|
final String partition = fields[1];
|
||||||
|
final String fsType = fields[2];
|
||||||
|
if (partition.equals(mountPoint)) {
|
||||||
|
return fields;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
private String getFsTypeFor(String mountPoint) throws Exception {
|
||||||
|
String[] result = getMountInfo(mountPoint);
|
||||||
|
if (result == null) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
return result[2];
|
||||||
|
}
|
||||||
|
private String getBlockDevFor(String mountPoint) throws Exception {
|
||||||
|
String[] result = getMountInfo(mountPoint);
|
||||||
|
if (result == null) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
return result[0];
|
||||||
|
}
|
||||||
|
}
|
|
@ -14,16 +14,6 @@
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// By default this device uses hardware-wrapped keys for storage encryption,
|
|
||||||
// which is intended to offer increased security over the traditional method
|
|
||||||
// (software keys). However, hardware-wrapped keys aren't compatible with
|
|
||||||
// FIPS-140 certification of the encryption hardware, and hence we have to
|
|
||||||
// disable the use of them in FIPS mode. This requires having two fstab files:
|
|
||||||
// one for the default mode, and one for FIPS mode selectable via
|
|
||||||
// androidboot.fstab_suffix on the kernel command line. These fstabs should be
|
|
||||||
// identical with the exception of the encryption settings, so to keep them in
|
|
||||||
// sync the rules below generate them from a template file.
|
|
||||||
|
|
||||||
package {
|
package {
|
||||||
// See: http://go/android-license-faq
|
// See: http://go/android-license-faq
|
||||||
// A large-scale-change added 'default_applicable_licenses' to import
|
// A large-scale-change added 'default_applicable_licenses' to import
|
||||||
|
@ -33,52 +23,7 @@ package {
|
||||||
default_applicable_licenses: ["device_google_zuma_license"],
|
default_applicable_licenses: ["device_google_zuma_license"],
|
||||||
}
|
}
|
||||||
|
|
||||||
genrule {
|
filegroup {
|
||||||
name: "gen_fstab.zuma-hw-encrypt",
|
name: "fstab.zuma.common",
|
||||||
srcs: ["fstab.zuma.in"],
|
srcs: ["fstab.zuma.common"],
|
||||||
out: ["fstab.zuma"],
|
|
||||||
cmd: "sed -e s/@fileencryption@/fileencryption=:aes-256-hctr2:inlinecrypt_optimized+wrappedkey_v0/" +
|
|
||||||
" -e s/@inlinecrypt@/inlinecrypt/ " +
|
|
||||||
" -e s/@metadata_encryption@/metadata_encryption=:wrappedkey_v0/ $(in) > $(out)",
|
|
||||||
}
|
|
||||||
|
|
||||||
genrule {
|
|
||||||
name: "gen_fstab.zuma-sw-encrypt",
|
|
||||||
srcs: ["fstab.zuma.in"],
|
|
||||||
out: ["fstab.zuma"],
|
|
||||||
cmd: "sed -e s/@fileencryption@/fileencryption=aes-256-xts:aes-256-hctr2/" +
|
|
||||||
" -e s/@inlinecrypt@// " +
|
|
||||||
" -e s/@metadata_encryption@/metadata_encryption=/ $(in) > $(out)",
|
|
||||||
}
|
|
||||||
|
|
||||||
genrule {
|
|
||||||
name: "gen_fstab.zuma-no-encrypt",
|
|
||||||
srcs: ["fstab.zuma.in"],
|
|
||||||
out: ["fstab.zuma"],
|
|
||||||
cmd: "sed -e s/@fileencryption@//" +
|
|
||||||
" -e s/@inlinecrypt@// " +
|
|
||||||
" -e s/@metadata_encryption@// $(in) > $(out)",
|
|
||||||
}
|
|
||||||
|
|
||||||
genrule {
|
|
||||||
name: "gen_fstab.zuma-fips",
|
|
||||||
srcs: ["fstab.zuma.in"],
|
|
||||||
out: ["fstab.zuma-fips"],
|
|
||||||
cmd: "sed -e s/@fileencryption@/fileencryption=aes-256-xts/" +
|
|
||||||
" -e s/@inlinecrypt@/inlinecrypt/ " +
|
|
||||||
" -e s/@metadata_encryption@/metadata_encryption=aes-256-xts/ $(in) > $(out)",
|
|
||||||
}
|
|
||||||
|
|
||||||
prebuilt_etc {
|
|
||||||
name: "fstab.zuma",
|
|
||||||
src: ":gen_fstab.zuma-hw-encrypt",
|
|
||||||
vendor: true,
|
|
||||||
vendor_ramdisk_available: true,
|
|
||||||
}
|
|
||||||
|
|
||||||
prebuilt_etc {
|
|
||||||
name: "fstab.zuma-fips",
|
|
||||||
src: ":gen_fstab.zuma-fips",
|
|
||||||
vendor: true,
|
|
||||||
vendor_ramdisk_available: true,
|
|
||||||
}
|
}
|
102
conf/ext4/Android.bp
Normal file
102
conf/ext4/Android.bp
Normal file
|
@ -0,0 +1,102 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2021 The Android Open Source Project
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// By default this device uses hardware-wrapped keys for storage encryption,
|
||||||
|
// which is intended to offer increased security over the traditional method
|
||||||
|
// (software keys). However, hardware-wrapped keys aren't compatible with
|
||||||
|
// FIPS-140 certification of the encryption hardware, and hence we have to
|
||||||
|
// disable the use of them in FIPS mode. This requires having two fstab files:
|
||||||
|
// one for the default mode, and one for FIPS mode selectable via
|
||||||
|
// androidboot.fstab_suffix on the kernel command line. These fstabs should be
|
||||||
|
// identical with the exception of the encryption settings, so to keep them in
|
||||||
|
// sync the rules below generate them from a template file.
|
||||||
|
|
||||||
|
soong_namespace {
|
||||||
|
imports: [
|
||||||
|
"device/google/zuma",
|
||||||
|
],
|
||||||
|
}
|
||||||
|
|
||||||
|
package {
|
||||||
|
// See: http://go/android-license-faq
|
||||||
|
// A large-scale-change added 'default_applicable_licenses' to import
|
||||||
|
// all of the 'license_kinds' from "device_google_zuma_license"
|
||||||
|
// to get the below license kinds:
|
||||||
|
// SPDX-license-identifier-Apache-2.0
|
||||||
|
default_applicable_licenses: ["device_google_zuma_license"],
|
||||||
|
}
|
||||||
|
|
||||||
|
genrule {
|
||||||
|
name: "gen_fstab.zuma-hw-encrypt",
|
||||||
|
srcs: [
|
||||||
|
":fstab.zuma.common",
|
||||||
|
"fstab.zuma.ext4",
|
||||||
|
],
|
||||||
|
out: ["fstab.zuma"],
|
||||||
|
cmd: "sed -e s/@fileencryption@/fileencryption=:aes-256-hctr2:inlinecrypt_optimized+wrappedkey_v0/" +
|
||||||
|
" -e s/@inlinecrypt@/inlinecrypt/ " +
|
||||||
|
" -e s/@metadata_encryption@/metadata_encryption=:wrappedkey_v0/ $(in) > $(out)",
|
||||||
|
}
|
||||||
|
|
||||||
|
genrule {
|
||||||
|
name: "gen_fstab.zuma-sw-encrypt",
|
||||||
|
srcs: [
|
||||||
|
":fstab.zuma.common",
|
||||||
|
"fstab.zuma.ext4",
|
||||||
|
],
|
||||||
|
out: ["fstab.zuma"],
|
||||||
|
cmd: "sed -e s/@fileencryption@/fileencryption=aes-256-xts:aes-256-hctr2/" +
|
||||||
|
" -e s/@inlinecrypt@// " +
|
||||||
|
" -e s/@metadata_encryption@/metadata_encryption=/ $(in) > $(out)",
|
||||||
|
}
|
||||||
|
|
||||||
|
genrule {
|
||||||
|
name: "gen_fstab.zuma-no-encrypt",
|
||||||
|
srcs: [
|
||||||
|
":fstab.zuma.common",
|
||||||
|
"fstab.zuma.ext4",
|
||||||
|
],
|
||||||
|
out: ["fstab.zuma"],
|
||||||
|
cmd: "sed -e s/@fileencryption@//" +
|
||||||
|
" -e s/@inlinecrypt@// " +
|
||||||
|
" -e s/@metadata_encryption@// $(in) > $(out)",
|
||||||
|
}
|
||||||
|
|
||||||
|
genrule {
|
||||||
|
name: "gen_fstab.zuma-fips",
|
||||||
|
srcs: [
|
||||||
|
":fstab.zuma.common",
|
||||||
|
"fstab.zuma.ext4",
|
||||||
|
],
|
||||||
|
out: ["fstab.zuma-fips"],
|
||||||
|
cmd: "sed -e s/@fileencryption@/fileencryption=aes-256-xts/" +
|
||||||
|
" -e s/@inlinecrypt@/inlinecrypt/ " +
|
||||||
|
" -e s/@metadata_encryption@/metadata_encryption=aes-256-xts/ $(in) > $(out)",
|
||||||
|
}
|
||||||
|
|
||||||
|
prebuilt_etc {
|
||||||
|
name: "fstab.zuma",
|
||||||
|
src: ":gen_fstab.zuma-hw-encrypt",
|
||||||
|
vendor: true,
|
||||||
|
vendor_ramdisk_available: true,
|
||||||
|
}
|
||||||
|
|
||||||
|
prebuilt_etc {
|
||||||
|
name: "fstab.zuma-fips",
|
||||||
|
src: ":gen_fstab.zuma-fips",
|
||||||
|
vendor: true,
|
||||||
|
vendor_ramdisk_available: true,
|
||||||
|
}
|
10
conf/ext4/fstab.zuma.ext4
Normal file
10
conf/ext4/fstab.zuma.ext4
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
# Android fstab file.
|
||||||
|
#
|
||||||
|
# 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
|
||||||
|
#
|
||||||
|
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
|
||||||
|
/dev/block/platform/13200000.ufs/by-name/userdata /data ext4 noatime,nosuid,nodev,@inlinecrypt@ latemount,wait,check,quota,formattable,reservedsize=128M,readahead_size_kb=128,@fileencryption@,@metadata_encryption@,keydirectory=/metadata/vold/metadata_encryption
|
||||||
|
/dev/block/platform/13200000.ufs/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,reserve_root=32768,resgid=1065,fsync_mode=nobarrier,compress_extension=apk,compress_extension=so,compress_extension=vdex,compress_extension=odex,@inlinecrypt@,atgc,checkpoint_merge,compress_cache latemount,wait,check,quota,sysfs_path=/dev/sys/block/bootdevice,checkpoint=fs,reservedsize=128M,fscompress,readahead_size_kb=128,@fileencryption@,@metadata_encryption@,keydirectory=/metadata/vold/metadata_encryption,device=zoned:/dev/block/by-name/zoned_device
|
||||||
|
/dev/block/platform/13200000.ufs/by-name/metadata /metadata ext4 noatime,nosuid,nodev,data=journal,commit=1 wait,check,formattable,first_stage_mount,metadata_csum
|
||||||
|
/dev/block/platform/13200000.ufs/by-name/metadata /metadata f2fs noatime,nosuid,nodev,sync wait,check,first_stage_mount
|
102
conf/f2fs/Android.bp
Normal file
102
conf/f2fs/Android.bp
Normal file
|
@ -0,0 +1,102 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2021 The Android Open Source Project
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// By default this device uses hardware-wrapped keys for storage encryption,
|
||||||
|
// which is intended to offer increased security over the traditional method
|
||||||
|
// (software keys). However, hardware-wrapped keys aren't compatible with
|
||||||
|
// FIPS-140 certification of the encryption hardware, and hence we have to
|
||||||
|
// disable the use of them in FIPS mode. This requires having two fstab files:
|
||||||
|
// one for the default mode, and one for FIPS mode selectable via
|
||||||
|
// androidboot.fstab_suffix on the kernel command line. These fstabs should be
|
||||||
|
// identical with the exception of the encryption settings, so to keep them in
|
||||||
|
// sync the rules below generate them from a template file.
|
||||||
|
|
||||||
|
soong_namespace {
|
||||||
|
imports: [
|
||||||
|
"device/google/zuma",
|
||||||
|
],
|
||||||
|
}
|
||||||
|
|
||||||
|
package {
|
||||||
|
// See: http://go/android-license-faq
|
||||||
|
// A large-scale-change added 'default_applicable_licenses' to import
|
||||||
|
// all of the 'license_kinds' from "device_google_zuma_license"
|
||||||
|
// to get the below license kinds:
|
||||||
|
// SPDX-license-identifier-Apache-2.0
|
||||||
|
default_applicable_licenses: ["device_google_zuma_license"],
|
||||||
|
}
|
||||||
|
|
||||||
|
genrule {
|
||||||
|
name: "gen_fstab.zuma-hw-encrypt",
|
||||||
|
srcs: [
|
||||||
|
":fstab.zuma.common",
|
||||||
|
"fstab.zuma.f2fs",
|
||||||
|
],
|
||||||
|
out: ["fstab.zuma"],
|
||||||
|
cmd: "sed -e s/@fileencryption@/fileencryption=:aes-256-hctr2:inlinecrypt_optimized+wrappedkey_v0/" +
|
||||||
|
" -e s/@inlinecrypt@/inlinecrypt/ " +
|
||||||
|
" -e s/@metadata_encryption@/metadata_encryption=:wrappedkey_v0/ $(in) > $(out)",
|
||||||
|
}
|
||||||
|
|
||||||
|
genrule {
|
||||||
|
name: "gen_fstab.zuma-sw-encrypt",
|
||||||
|
srcs: [
|
||||||
|
":fstab.zuma.common",
|
||||||
|
"fstab.zuma.f2fs",
|
||||||
|
],
|
||||||
|
out: ["fstab.zuma"],
|
||||||
|
cmd: "sed -e s/@fileencryption@/fileencryption=aes-256-xts:aes-256-hctr2/" +
|
||||||
|
" -e s/@inlinecrypt@// " +
|
||||||
|
" -e s/@metadata_encryption@/metadata_encryption=/ $(in) > $(out)",
|
||||||
|
}
|
||||||
|
|
||||||
|
genrule {
|
||||||
|
name: "gen_fstab.zuma-no-encrypt",
|
||||||
|
srcs: [
|
||||||
|
":fstab.zuma.common",
|
||||||
|
"fstab.zuma.f2fs",
|
||||||
|
],
|
||||||
|
out: ["fstab.zuma"],
|
||||||
|
cmd: "sed -e s/@fileencryption@//" +
|
||||||
|
" -e s/@inlinecrypt@// " +
|
||||||
|
" -e s/@metadata_encryption@// $(in) > $(out)",
|
||||||
|
}
|
||||||
|
|
||||||
|
genrule {
|
||||||
|
name: "gen_fstab.zuma-fips",
|
||||||
|
srcs: [
|
||||||
|
":fstab.zuma.common",
|
||||||
|
"fstab.zuma.f2fs",
|
||||||
|
],
|
||||||
|
out: ["fstab.zuma-fips"],
|
||||||
|
cmd: "sed -e s/@fileencryption@/fileencryption=aes-256-xts/" +
|
||||||
|
" -e s/@inlinecrypt@/inlinecrypt/ " +
|
||||||
|
" -e s/@metadata_encryption@/metadata_encryption=aes-256-xts/ $(in) > $(out)",
|
||||||
|
}
|
||||||
|
|
||||||
|
prebuilt_etc {
|
||||||
|
name: "fstab.zuma",
|
||||||
|
src: ":gen_fstab.zuma-hw-encrypt",
|
||||||
|
vendor: true,
|
||||||
|
vendor_ramdisk_available: true,
|
||||||
|
}
|
||||||
|
|
||||||
|
prebuilt_etc {
|
||||||
|
name: "fstab.zuma-fips",
|
||||||
|
src: ":gen_fstab.zuma-fips",
|
||||||
|
vendor: true,
|
||||||
|
vendor_ramdisk_available: true,
|
||||||
|
}
|
10
conf/f2fs/fstab.zuma.f2fs
Normal file
10
conf/f2fs/fstab.zuma.f2fs
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
# Android fstab file.
|
||||||
|
#
|
||||||
|
# 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
|
||||||
|
#
|
||||||
|
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
|
||||||
|
/dev/block/platform/13200000.ufs/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,reserve_root=32768,resgid=1065,fsync_mode=nobarrier,compress_extension=apk,compress_extension=so,compress_extension=vdex,compress_extension=odex,@inlinecrypt@,atgc,checkpoint_merge,compress_cache latemount,wait,check,quota,formattable,sysfs_path=/dev/sys/block/bootdevice,checkpoint=fs,reservedsize=128M,fscompress,readahead_size_kb=128,@fileencryption@,@metadata_encryption@,keydirectory=/metadata/vold/metadata_encryption,device=zoned:/dev/block/by-name/zoned_device
|
||||||
|
/dev/block/platform/13200000.ufs/by-name/userdata /data ext4 noatime,nosuid,nodev,@inlinecrypt@ latemount,wait,check,quota,reservedsize=128M,readahead_size_kb=128,@fileencryption@,@metadata_encryption@,keydirectory=/metadata/vold/metadata_encryption
|
||||||
|
/dev/block/platform/13200000.ufs/by-name/metadata /metadata f2fs noatime,nosuid,nodev,sync wait,check,formattable,first_stage_mount
|
||||||
|
/dev/block/platform/13200000.ufs/by-name/metadata /metadata ext4 noatime,nosuid,nodev,data=journal,commit=1 wait,check,first_stage_mount,metadata_csum
|
6
conf/fstab.efs
Normal file
6
conf/fstab.efs
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
# Android fstab file.
|
||||||
|
# <src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
|
||||||
|
# Create the specific fstab file for efs partitions for flexibility
|
||||||
|
/dev/block/platform/13200000.ufs/by-name/efs /mnt/vendor/efs f2fs noatime,sync wait,check,formattable
|
||||||
|
/dev/block/platform/13200000.ufs/by-name/efs_backup /mnt/vendor/efs_backup f2fs noatime,sync wait,check,formattable
|
||||||
|
/dev/block/platform/13200000.ufs/by-name/modem_userdata /mnt/vendor/modem_userdata f2fs noatime,sync wait,check,formattable
|
10
conf/fstab.efs.from_data
Normal file
10
conf/fstab.efs.from_data
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
# Android fstab file.
|
||||||
|
# <src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
|
||||||
|
# Create the specific fstab file for efs partitions for flexibility
|
||||||
|
/data/vendor/copied/efs /mnt/vendor/efs none bind latemount
|
||||||
|
|
||||||
|
/data/vendor/copied/efs_backup /mnt/vendor/efs_backup none bind latemount
|
||||||
|
|
||||||
|
/data/vendor/copied/modem_userdata /mnt/vendor/modem_userdata none bind latemount
|
||||||
|
|
||||||
|
/data/vendor/copied/persist /mnt/vendor/persist none bind latemount
|
|
@ -14,12 +14,7 @@ vendor /vendor
|
||||||
vendor_dlkm /vendor_dlkm ext4 noatime,ro wait,slotselect,avb=vbmeta,avb_keys=no_such_key,logical,first_stage_mount
|
vendor_dlkm /vendor_dlkm ext4 noatime,ro wait,slotselect,avb=vbmeta,avb_keys=no_such_key,logical,first_stage_mount
|
||||||
/dev/block/platform/13200000.ufs/by-name/boot /boot emmc defaults slotselect,avb=boot,first_stage_mount
|
/dev/block/platform/13200000.ufs/by-name/boot /boot emmc defaults slotselect,avb=boot,first_stage_mount
|
||||||
/dev/block/platform/13200000.ufs/by-name/init_boot /init_boot emmc defaults slotselect,avb=init_boot,first_stage_mount
|
/dev/block/platform/13200000.ufs/by-name/init_boot /init_boot emmc defaults slotselect,avb=init_boot,first_stage_mount
|
||||||
/dev/block/platform/13200000.ufs/by-name/efs /mnt/vendor/efs f2fs noatime,sync wait,check,formattable
|
|
||||||
/dev/block/platform/13200000.ufs/by-name/efs_backup /mnt/vendor/efs_backup f2fs noatime,sync wait,check,formattable
|
|
||||||
/dev/block/platform/13200000.ufs/by-name/modem_userdata /mnt/vendor/modem_userdata f2fs noatime,sync wait,check,formattable
|
|
||||||
/dev/block/platform/13200000.ufs/by-name/misc /misc emmc defaults wait
|
/dev/block/platform/13200000.ufs/by-name/misc /misc emmc defaults wait
|
||||||
/dev/block/platform/13200000.ufs/by-name/metadata /metadata f2fs noatime,nosuid,nodev,sync wait,check,formattable,first_stage_mount
|
|
||||||
#/dev/block/platform/13200000.ufs/by-name/pvmfw /pvmfw emmc defaults wait,slotselect,avb=pvmfw,first_stage_mount
|
#/dev/block/platform/13200000.ufs/by-name/pvmfw /pvmfw emmc defaults wait,slotselect,avb=pvmfw,first_stage_mount
|
||||||
/dev/block/platform/13200000.ufs/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,reserve_root=32768,resgid=1065,fsync_mode=nobarrier,compress_extension=apk,compress_extension=apex,compress_extension=so,compress_extension=vdex,compress_extension=odex,@inlinecrypt@,atgc,checkpoint_merge,compress_cache latemount,wait,check,quota,formattable,sysfs_path=/dev/sys/block/bootdevice,checkpoint=fs,reservedsize=128M,fscompress,readahead_size_kb=128,@fileencryption@,@metadata_encryption@,keydirectory=/metadata/vold/metadata_encryption,zoned_device
|
|
||||||
/dev/block/platform/13200000.ufs/by-name/vbmeta /vbmeta emmc defaults slotselect,first_stage_mount
|
/dev/block/platform/13200000.ufs/by-name/vbmeta /vbmeta emmc defaults slotselect,first_stage_mount
|
||||||
/devices/platform/11210000.usb* auto vfat defaults voldmanaged=usb:auto
|
/devices/platform/11210000.usb* auto vfat defaults voldmanaged=usb:auto
|
24
conf/init.efs.16k.rc
Normal file
24
conf/init.efs.16k.rc
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
|
||||||
|
service copy_efs_files_to_data /vendor/bin/copy_efs_files_to_data
|
||||||
|
user root
|
||||||
|
group root radio system audio media graphics camera
|
||||||
|
stdio_to_kmsg
|
||||||
|
oneshot
|
||||||
|
disabled
|
||||||
|
|
||||||
|
on post-fs-data && property:ro.boot.hardware.cpu.pagesize=16384
|
||||||
|
mkdir /data/vendor/copied 0775 radio system
|
||||||
|
restorecon_recursive /data/vendor/copied
|
||||||
|
exec_start copy_efs_files_to_data
|
||||||
|
mount_all /vendor/etc/fstab.efs.from_data
|
||||||
|
restorecon_recursive /mnt/vendor/persist
|
||||||
|
restorecon_recursive /data/vendor/ss
|
||||||
|
setprop ro.vendor.persist.status mounted
|
||||||
|
|
||||||
|
on early-init && property:ro.boot.hardware.cpu.pagesize=4096
|
||||||
|
mount_all /vendor/etc/fstab.persist --early
|
||||||
|
setprop ro.vendor.persist.status mounted
|
||||||
|
|
||||||
|
on late-fs && property:ro.boot.hardware.cpu.pagesize=4096
|
||||||
|
mount_all /vendor/etc/fstab.efs --early
|
||||||
|
|
6
conf/init.efs.4k.rc
Normal file
6
conf/init.efs.4k.rc
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
on early-init
|
||||||
|
mount_all /vendor/etc/fstab.persist --early
|
||||||
|
setprop ro.vendor.persist.status mounted
|
||||||
|
|
||||||
|
on late-fs
|
||||||
|
mount_all /vendor/etc/fstab.efs --early
|
47
conf/init.persist.rc
Normal file
47
conf/init.persist.rc
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
on property:ro.vendor.persist.status=mounted
|
||||||
|
# for modem related functions
|
||||||
|
restorecon_recursive /mnt/vendor/efs
|
||||||
|
chown radio system /mnt/vendor/efs
|
||||||
|
restorecon_recursive /mnt/vendor/efs_backup
|
||||||
|
chown radio system /mnt/vendor/efs_backup
|
||||||
|
restorecon_recursive /mnt/vendor/modem_userdata
|
||||||
|
chown radio system /mnt/vendor/modem_userdata
|
||||||
|
|
||||||
|
# for battery defender
|
||||||
|
mkdir /mnt/vendor/persist/battery 0700 system system
|
||||||
|
|
||||||
|
# Factory calibration files
|
||||||
|
chmod 0771 /mnt/vendor/persist/camera
|
||||||
|
chmod 0771 /mnt/vendor/persist/camera/OTP_calibration
|
||||||
|
chmod 0771 /mnt/vendor/persist/camera/pdaf_calibration_data
|
||||||
|
mkdir /mnt/vendor/persist/camera/rear 0771 system camera
|
||||||
|
chmod 0771 /mnt/vendor/persist/camera/rear
|
||||||
|
|
||||||
|
restorecon_recursive /mnt/vendor/persist
|
||||||
|
restorecon_recursive /mnt/vendor/persist/aoc
|
||||||
|
restorecon_recursive /mnt/vendor/persist/audio
|
||||||
|
restorecon_recursive /mnt/vendor/persist/sensors
|
||||||
|
restorecon_recursive /mnt/vendor/persist/battery
|
||||||
|
restorecon_recursive /mnt/vendor/persist/camera
|
||||||
|
restorecon_recursive /mnt/vendor/persist/modem
|
||||||
|
# Set up display-related directories and permissions
|
||||||
|
# Add restorecon_recursive command to make sure the restorecon label is persist_display_file.
|
||||||
|
restorecon_recursive /mnt/vendor/persist/display
|
||||||
|
mkdir /mnt/vendor/persist/data/sfs 0700 system system
|
||||||
|
mkdir /mnt/vendor/persist/data/tz 0700 system system
|
||||||
|
mkdir /mnt/vendor/persist/touch 0770 system system
|
||||||
|
|
||||||
|
on property:ro.fstype.data=* && property:ro.vendor.persist.status=mounted
|
||||||
|
# Proxy for Secure Storage
|
||||||
|
mkdir /data/vendor/rebootescrow 0770 hsm hsm
|
||||||
|
mkdir /data/vendor/ss 0770 root system
|
||||||
|
mkdir /mnt/vendor/persist/ss 0770 root system
|
||||||
|
restorecon_recursive /mnt/vendor/persist/ss
|
||||||
|
symlink /mnt/vendor/persist/ss /data/vendor/ss/persist
|
||||||
|
chown root system /data/vendor/ss/persist
|
||||||
|
chmod 0770 /data/vendor/ss/persist
|
||||||
|
symlink /dev/block/platform/13200000\.ufs/by-name/trusty_persist /data/vendor/ss/persist/0
|
||||||
|
chown system system /data/vendor/ss/persist/0
|
||||||
|
chown system system /data/vendor/ss/persist/nsp
|
||||||
|
|
||||||
|
restart storageproxyd
|
|
@ -3,7 +3,6 @@ import android.hardware.drm@1.2-service.widevine.rc
|
||||||
import init.exynos.sensorhub.rc
|
import init.exynos.sensorhub.rc
|
||||||
|
|
||||||
on early-init
|
on early-init
|
||||||
mount_all /vendor/etc/fstab.persist --early
|
|
||||||
write /proc/sys/kernel/sched_pelt_multiplier 1
|
write /proc/sys/kernel/sched_pelt_multiplier 1
|
||||||
write /sys/kernel/mm/lru_gen/enabled n
|
write /sys/kernel/mm/lru_gen/enabled n
|
||||||
|
|
||||||
|
@ -103,12 +102,8 @@ on init
|
||||||
start vendor.keymaster-4-0
|
start vendor.keymaster-4-0
|
||||||
|
|
||||||
# ZRAM setup
|
# ZRAM setup
|
||||||
write /sys/block/zram0/comp_algorithm lz77eh
|
|
||||||
write /proc/sys/vm/page-cluster 0
|
write /proc/sys/vm/page-cluster 0
|
||||||
|
|
||||||
# adjust PCP high level
|
|
||||||
write /proc/sys/vm/percpu_pagelist_high_fraction 430
|
|
||||||
|
|
||||||
# Some user code relies on ro.boot.hardware.revision
|
# Some user code relies on ro.boot.hardware.revision
|
||||||
setprop ro.boot.hardware.revision ${ro.revision}
|
setprop ro.boot.hardware.revision ${ro.revision}
|
||||||
|
|
||||||
|
@ -365,6 +360,12 @@ on init
|
||||||
chown root system /sys/devices/platform/16490000.gsa-ns/log_main
|
chown root system /sys/devices/platform/16490000.gsa-ns/log_main
|
||||||
chown root system /sys/devices/platform/16490000.gsa-ns/log_intermediate
|
chown root system /sys/devices/platform/16490000.gsa-ns/log_intermediate
|
||||||
|
|
||||||
|
on init && property:ro.boot.hardware.cpu.pagesize=4096
|
||||||
|
write /sys/block/zram0/comp_algorithm lz77eh
|
||||||
|
|
||||||
|
on init && property:ro.boot.hardware.cpu.pagesize=16384
|
||||||
|
write /sys/block/zram0/comp_algorithm lzo-rle
|
||||||
|
|
||||||
on post-fs
|
on post-fs
|
||||||
# Ensure device is ready and start storageproxyd
|
# Ensure device is ready and start storageproxyd
|
||||||
wait /dev/sg1
|
wait /dev/sg1
|
||||||
|
@ -443,13 +444,6 @@ on post-fs-data
|
||||||
chown system system /dev/ispolin_ranging
|
chown system system /dev/ispolin_ranging
|
||||||
chmod 0660 /dev/ispolin_ranging
|
chmod 0660 /dev/ispolin_ranging
|
||||||
|
|
||||||
# Factory calibration files
|
|
||||||
chmod 0771 /mnt/vendor/persist/camera
|
|
||||||
chmod 0771 /mnt/vendor/persist/camera/OTP_calibration
|
|
||||||
chmod 0771 /mnt/vendor/persist/camera/pdaf_calibration_data
|
|
||||||
mkdir /mnt/vendor/persist/camera/rear 0771 system camera
|
|
||||||
chmod 0771 /mnt/vendor/persist/camera/rear
|
|
||||||
|
|
||||||
# Audio dump and debug
|
# Audio dump and debug
|
||||||
mkdir /data/vendor/audio 0770 audio audio
|
mkdir /data/vendor/audio 0770 audio audio
|
||||||
|
|
||||||
|
@ -611,34 +605,11 @@ on property:persist.vendor.radio.no_modem_board=1
|
||||||
|
|
||||||
on fs
|
on fs
|
||||||
mount_all --early
|
mount_all --early
|
||||||
restorecon_recursive /mnt/vendor/efs
|
|
||||||
chown radio system /mnt/vendor/efs
|
|
||||||
restorecon_recursive /mnt/vendor/efs_backup
|
|
||||||
chown radio system /mnt/vendor/efs_backup
|
|
||||||
restorecon_recursive /mnt/vendor/modem_userdata
|
|
||||||
chown radio system /mnt/vendor/modem_userdata
|
|
||||||
|
|
||||||
# Mount modem partition
|
# Mount modem partition
|
||||||
mount_all /vendor/etc/fstab.modem --early
|
mount_all /vendor/etc/fstab.modem --early
|
||||||
restorecon_recursive /mnt/vendor/modem_img
|
restorecon_recursive /mnt/vendor/modem_img
|
||||||
|
|
||||||
# for battery defender
|
|
||||||
mkdir /mnt/vendor/persist/battery 0700 system system
|
|
||||||
|
|
||||||
restorecon_recursive /mnt/vendor/persist
|
|
||||||
restorecon_recursive /mnt/vendor/persist/aoc
|
|
||||||
restorecon_recursive /mnt/vendor/persist/audio
|
|
||||||
restorecon_recursive /mnt/vendor/persist/sensors
|
|
||||||
restorecon_recursive /mnt/vendor/persist/battery
|
|
||||||
restorecon_recursive /mnt/vendor/persist/camera
|
|
||||||
restorecon_recursive /mnt/vendor/persist/modem
|
|
||||||
# Set up display-related directories and permissions
|
|
||||||
# Add restorecon_recursive command to make sure the restorecon label is persist_display_file.
|
|
||||||
restorecon_recursive /mnt/vendor/persist/display
|
|
||||||
mkdir /mnt/vendor/persist/data/sfs 0700 system system
|
|
||||||
mkdir /mnt/vendor/persist/data/tz 0700 system system
|
|
||||||
mkdir /mnt/vendor/persist/touch 0770 system system
|
|
||||||
|
|
||||||
# Permissions for ION
|
# Permissions for ION
|
||||||
chmod 0660 /sys/class/ion_cma/ion_video_ext/isolated
|
chmod 0660 /sys/class/ion_cma/ion_video_ext/isolated
|
||||||
chown system system /sys/class/ion_cma/ion_video_ext/isolated
|
chown system system /sys/class/ion_cma/ion_video_ext/isolated
|
||||||
|
@ -657,6 +628,7 @@ on fs
|
||||||
chown system system /sys/devices/platform/exynos-drm/primary-panel/panel_need_handle_idle_exit
|
chown system system /sys/devices/platform/exynos-drm/primary-panel/panel_need_handle_idle_exit
|
||||||
chown system system /sys/devices/platform/exynos-drm/primary-panel/op_hz
|
chown system system /sys/devices/platform/exynos-drm/primary-panel/op_hz
|
||||||
chown system system /sys/devices/platform/exynos-drm/primary-panel/refresh_ctrl
|
chown system system /sys/devices/platform/exynos-drm/primary-panel/refresh_ctrl
|
||||||
|
chown system system /sys/devices/platform/exynos-drm/primary-panel/power_state
|
||||||
chown system system /sys/module/drm/parameters/vblankoffdelay
|
chown system system /sys/module/drm/parameters/vblankoffdelay
|
||||||
chown system system /sys/module/drm/parameters/debug
|
chown system system /sys/module/drm/parameters/debug
|
||||||
chown system system /sys/class/dqe0/atc/ambient_light
|
chown system system /sys/class/dqe0/atc/ambient_light
|
||||||
|
@ -937,20 +909,6 @@ service bugreport /system/bin/dumpstate -d -p -z
|
||||||
oneshot
|
oneshot
|
||||||
keycodes 114 115 116
|
keycodes 114 115 116
|
||||||
|
|
||||||
# Proxy for Secure Storage
|
|
||||||
on post-fs-data
|
|
||||||
mkdir /data/vendor/rebootescrow 0770 hsm hsm
|
|
||||||
mkdir /data/vendor/ss 0770 root system
|
|
||||||
mkdir /mnt/vendor/persist/ss 0770 root system
|
|
||||||
restorecon_recursive /mnt/vendor/persist/ss
|
|
||||||
symlink /mnt/vendor/persist/ss /data/vendor/ss/persist
|
|
||||||
chown root system /data/vendor/ss/persist
|
|
||||||
chmod 0770 /data/vendor/ss/persist
|
|
||||||
symlink /dev/block/platform/13200000\.ufs/by-name/trusty_persist /data/vendor/ss/persist/0
|
|
||||||
chown system system /data/vendor/ss/persist/0
|
|
||||||
chown system system /data/vendor/ss/persist/nsp
|
|
||||||
|
|
||||||
restart storageproxyd
|
|
||||||
|
|
||||||
service storageproxyd /vendor/bin/storageproxyd -d /dev/trusty-ipc-dev0 \
|
service storageproxyd /vendor/bin/storageproxyd -d /dev/trusty-ipc-dev0 \
|
||||||
-r /dev/sg1 -p /data/vendor/ss -t ufs
|
-r /dev/sg1 -p /data/vendor/ss -t ufs
|
||||||
|
|
|
@ -423,3 +423,12 @@ on property:persist.vendor.usb.displayport.enabled=1
|
||||||
on property:persist.vendor.usb.displayport.enabled=0
|
on property:persist.vendor.usb.displayport.enabled=0
|
||||||
write /sys/module/exynos_drm/parameters/dp_enabled 0
|
write /sys/module/exynos_drm/parameters/dp_enabled 0
|
||||||
write /sys/class/typec/port0/port0.0/mode1/active "no"
|
write /sys/class/typec/port0/port0.0/mode1/active "no"
|
||||||
|
|
||||||
|
on property:persist.sys.hdcp_checking=always
|
||||||
|
write /sys/module/exynos_hdcp2/parameters/max_ver 2
|
||||||
|
|
||||||
|
on property:persist.sys.hdcp_checking="drm-only"
|
||||||
|
write /sys/module/exynos_hdcp2/parameters/max_ver 2
|
||||||
|
|
||||||
|
on property:persist.sys.hdcp_checking=never
|
||||||
|
write /sys/module/exynos_hdcp2/parameters/max_ver 0
|
||||||
|
|
|
@ -159,6 +159,11 @@
|
||||||
/dev/acd-com.google.bt 0660 system system
|
/dev/acd-com.google.bt 0660 system system
|
||||||
/dev/acd-com.google.bt.non_wake_up 0660 system system
|
/dev/acd-com.google.bt.non_wake_up 0660 system system
|
||||||
|
|
||||||
|
# AoC Bluetooth Offload
|
||||||
|
/dev/acd-chre_bt_offload_ctl 0660 bluetooth bluetooth
|
||||||
|
/dev/acd-chre_bt_offload_data_tx 0220 bluetooth bluetooth
|
||||||
|
/dev/acd-chre_bt_offload_data_rx 0440 bluetooth bluetooth
|
||||||
|
|
||||||
# LWIS
|
# LWIS
|
||||||
/dev/lwis* 0660 system system
|
/dev/lwis* 0660 system system
|
||||||
|
|
||||||
|
|
38
copy_efs_files_to_data.sh
Normal file
38
copy_efs_files_to_data.sh
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
#!/vendor/bin/sh
|
||||||
|
|
||||||
|
CHECKPOINT_DIR=/data/vendor/copied
|
||||||
|
|
||||||
|
BIN_DIR=/vendor/bin
|
||||||
|
|
||||||
|
$BIN_DIR/mkdir -p $CHECKPOINT_DIR
|
||||||
|
|
||||||
|
function copy_files_to_data()
|
||||||
|
{
|
||||||
|
block_device=$1
|
||||||
|
partition_name=$(basename $1)
|
||||||
|
mount_point=$2
|
||||||
|
tmpdir=$CHECKPOINT_DIR/$partition_name.img
|
||||||
|
build_checkpoint=$CHECKPOINT_DIR/$partition_name
|
||||||
|
if [ ! -e $build_checkpoint ]; then
|
||||||
|
$BIN_DIR/rm -rf $tmpdir
|
||||||
|
$BIN_DIR/mkdir -p $tmpdir
|
||||||
|
$BIN_DIR/dump.f2fs -rfPo $tmpdir $block_device
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "Failed to $BIN_DIR/dump.f2fs -rfPo $tmpdir $block_device"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
mv $tmpdir $build_checkpoint
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "mv $tmpdir $build_checkpoint"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
fsync `dirname $build_checkpoint`
|
||||||
|
fi
|
||||||
|
echo "Successfully copied $mount_point to $build_checkpoint"
|
||||||
|
}
|
||||||
|
|
||||||
|
copy_files_to_data "/dev/block/by-name/efs" "/mnt/vendor/efs"
|
||||||
|
copy_files_to_data "/dev/block/by-name/efs_backup" "/mnt/vendor/efs_backup"
|
||||||
|
copy_files_to_data "/dev/block/by-name/modem_userdata" "/mnt/vendor/modem_userdata"
|
||||||
|
|
||||||
|
copy_files_to_data "/dev/block/by-name/persist" "/mnt/vendor/persist"
|
|
@ -51,11 +51,14 @@
|
||||||
<permission name="android.permission.BLUETOOTH_CONNECT" fixed="false"/>
|
<permission name="android.permission.BLUETOOTH_CONNECT" fixed="false"/>
|
||||||
</exception>
|
</exception>
|
||||||
|
|
||||||
|
<exception package="com.google.android.GoogleCamera">
|
||||||
|
<permission name="android.permission.POST_NOTIFICATIONS" fixed="false"/>
|
||||||
|
</exception>
|
||||||
|
|
||||||
<exception package="com.google.android.apps.camera.services">
|
<exception package="com.google.android.apps.camera.services">
|
||||||
<!-- Camera -->
|
<!-- Camera -->
|
||||||
<permission name="android.permission.CAMERA" fixed="false"/>
|
<permission name="android.permission.CAMERA" fixed="false"/>
|
||||||
<!-- Camera Connectivity -->
|
<!-- Camera Connectivity -->
|
||||||
<permission name="android.permission.ACCESS_FINE_LOCATION" fixed="false"/>
|
|
||||||
<permission name="android.permission.POST_NOTIFICATIONS" fixed="false"/>
|
<permission name="android.permission.POST_NOTIFICATIONS" fixed="false"/>
|
||||||
<permission name="android.permission.BLUETOOTH_CONNECT" fixed="false"/>
|
<permission name="android.permission.BLUETOOTH_CONNECT" fixed="false"/>
|
||||||
<permission name="android.permission.BLUETOOTH_SCAN" fixed="false"/>
|
<permission name="android.permission.BLUETOOTH_SCAN" fixed="false"/>
|
||||||
|
@ -75,6 +78,8 @@
|
||||||
<permission name="android.permission.ACTIVITY_RECOGNITION" fixed="false"/>
|
<permission name="android.permission.ACTIVITY_RECOGNITION" fixed="false"/>
|
||||||
<!-- Notifications -->
|
<!-- Notifications -->
|
||||||
<permission name="android.permission.POST_NOTIFICATIONS" fixed="false"/>
|
<permission name="android.permission.POST_NOTIFICATIONS" fixed="false"/>
|
||||||
|
<!-- Used by Bluetooth Module to collect bluetooth info -->
|
||||||
|
<permission name="android.permission.BLUETOOTH_CONNECT" fixed="false"/>
|
||||||
</exception>
|
</exception>
|
||||||
|
|
||||||
<exception package="com.google.android.apps.setupwizard.searchselector">
|
<exception package="com.google.android.apps.setupwizard.searchselector">
|
||||||
|
|
60
device.mk
60
device.mk
|
@ -16,7 +16,7 @@
|
||||||
|
|
||||||
include device/google/gs-common/device.mk
|
include device/google/gs-common/device.mk
|
||||||
include device/google/gs-common/gs_watchdogd/watchdog.mk
|
include device/google/gs-common/gs_watchdogd/watchdog.mk
|
||||||
include device/google/gs-common/ramdump/ramdump.mk
|
include device/google/gs-common/ramdump_and_coredump/ramdump_and_coredump.mk
|
||||||
include device/google/gs-common/soc/soc.mk
|
include device/google/gs-common/soc/soc.mk
|
||||||
include device/google/gs-common/modem/modem.mk
|
include device/google/gs-common/modem/modem.mk
|
||||||
include device/google/gs-common/aoc/aoc.mk
|
include device/google/gs-common/aoc/aoc.mk
|
||||||
|
@ -26,6 +26,7 @@ include device/google/gs-common/storage/storage.mk
|
||||||
include device/google/gs-common/thermal/dump/thermal.mk
|
include device/google/gs-common/thermal/dump/thermal.mk
|
||||||
include device/google/gs-common/thermal/thermal_hal/device.mk
|
include device/google/gs-common/thermal/thermal_hal/device.mk
|
||||||
include device/google/gs-common/performance/perf.mk
|
include device/google/gs-common/performance/perf.mk
|
||||||
|
include device/google/gs-common/power/power.mk
|
||||||
include device/google/gs-common/pixel_metrics/pixel_metrics.mk
|
include device/google/gs-common/pixel_metrics/pixel_metrics.mk
|
||||||
include device/google/gs-common/soc/freq.mk
|
include device/google/gs-common/soc/freq.mk
|
||||||
include device/google/gs-common/gps/dump/log.mk
|
include device/google/gs-common/gps/dump/log.mk
|
||||||
|
@ -42,6 +43,8 @@ include device/google/gs-common/sota_app/factoryota.mk
|
||||||
include device/google/gs-common/misc_writer/misc_writer.mk
|
include device/google/gs-common/misc_writer/misc_writer.mk
|
||||||
include device/google/gs-common/gyotaku_app/gyotaku.mk
|
include device/google/gs-common/gyotaku_app/gyotaku.mk
|
||||||
include device/google/gs-common/bootctrl/bootctrl_aidl.mk
|
include device/google/gs-common/bootctrl/bootctrl_aidl.mk
|
||||||
|
include device/google/gs-common/betterbug/betterbug.mk
|
||||||
|
include device/google/gs-common/fingerprint/fingerprint.mk
|
||||||
|
|
||||||
include device/google/zuma/dumpstate/item.mk
|
include device/google/zuma/dumpstate/item.mk
|
||||||
|
|
||||||
|
@ -221,7 +224,15 @@ PRODUCT_PROPERTY_OVERRIDES += \
|
||||||
persist.vendor.usb.displayport.enabled=1
|
persist.vendor.usb.displayport.enabled=1
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
PRODUCT_PROPERTY_OVERRIDES += \
|
||||||
|
persist.sys.hdcp_checking=always
|
||||||
|
|
||||||
USE_LASSEN_OEMHOOK := true
|
USE_LASSEN_OEMHOOK := true
|
||||||
|
# The "power-anomaly-sitril" is added into PRODUCT_SOONG_NAMESPACES when
|
||||||
|
# $(USE_LASSEN_OEMHOOK) is true and $(BOARD_WITHOUT_RADIO) is not true.
|
||||||
|
ifneq ($(BOARD_WITHOUT_RADIO),true)
|
||||||
|
PRODUCT_SOONG_NAMESPACES += vendor/google/tools/power-anomaly-sitril
|
||||||
|
endif
|
||||||
|
|
||||||
# Use for GRIL
|
# Use for GRIL
|
||||||
USES_LASSEN_MODEM := true
|
USES_LASSEN_MODEM := true
|
||||||
|
@ -292,9 +303,8 @@ PRODUCT_COPY_FILES += \
|
||||||
frameworks/native/data/etc/android.hardware.vulkan.version-1_3.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version.xml \
|
frameworks/native/data/etc/android.hardware.vulkan.version-1_3.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version.xml \
|
||||||
frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.level.xml \
|
frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.level.xml \
|
||||||
frameworks/native/data/etc/android.hardware.vulkan.compute-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.compute.xml \
|
frameworks/native/data/etc/android.hardware.vulkan.compute-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.compute.xml \
|
||||||
frameworks/native/data/etc/android.software.contextualsearch.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.contextualsearch.xml \
|
frameworks/native/data/etc/android.software.vulkan.deqp.level-2024-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml \
|
||||||
frameworks/native/data/etc/android.software.vulkan.deqp.level-2023-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml \
|
frameworks/native/data/etc/android.software.opengles.deqp.level-2024-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.opengles.deqp.level.xml
|
||||||
frameworks/native/data/etc/android.software.opengles.deqp.level-2023-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.opengles.deqp.level.xml
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -354,7 +364,20 @@ PRODUCT_COPY_FILES += \
|
||||||
device/google/zuma/conf/ueventd.zuma.rc:$(TARGET_COPY_OUT_VENDOR)/etc/ueventd.rc
|
device/google/zuma/conf/ueventd.zuma.rc:$(TARGET_COPY_OUT_VENDOR)/etc/ueventd.rc
|
||||||
|
|
||||||
PRODUCT_COPY_FILES += \
|
PRODUCT_COPY_FILES += \
|
||||||
device/google/zuma/conf/init.zuma.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.zuma.rc
|
device/google/zuma/conf/init.zuma.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.zuma.rc \
|
||||||
|
device/google/zuma/conf/init.persist.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.persist.rc
|
||||||
|
|
||||||
|
ifeq (true,$(filter $(DEVICE_PAGE_AGNOSTIC) $(PRODUCT_16K_DEVELOPER_OPTION),true))
|
||||||
|
PRODUCT_COPY_FILES += \
|
||||||
|
device/google/zuma/conf/init.efs.16k.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.efs.rc \
|
||||||
|
device/google/$(TARGET_BOARD_PLATFORM)/conf/fstab.efs.from_data:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.efs.from_data \
|
||||||
|
|
||||||
|
PRODUCT_PACKAGES += copy_efs_files_to_data
|
||||||
|
PRODUCT_PACKAGES += fsck.f2fs.vendor
|
||||||
|
else
|
||||||
|
PRODUCT_COPY_FILES += \
|
||||||
|
device/google/zuma/conf/init.efs.4k.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.efs.rc
|
||||||
|
endif
|
||||||
|
|
||||||
ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
|
ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
|
||||||
PRODUCT_COPY_FILES += \
|
PRODUCT_COPY_FILES += \
|
||||||
|
@ -368,6 +391,14 @@ PRODUCT_COPY_FILES += \
|
||||||
device/google/zuma/conf/init.recovery.device.rc:$(TARGET_COPY_OUT_RECOVERY)/root/init.recovery.zuma.rc
|
device/google/zuma/conf/init.recovery.device.rc:$(TARGET_COPY_OUT_RECOVERY)/root/init.recovery.zuma.rc
|
||||||
|
|
||||||
# Fstab files
|
# Fstab files
|
||||||
|
ifeq (ext4,$(TARGET_RW_FILE_SYSTEM_TYPE))
|
||||||
|
PRODUCT_SOONG_NAMESPACES += \
|
||||||
|
device/google/zuma/conf/ext4
|
||||||
|
else
|
||||||
|
PRODUCT_SOONG_NAMESPACES += \
|
||||||
|
device/google/zuma/conf/f2fs
|
||||||
|
endif
|
||||||
|
|
||||||
PRODUCT_PACKAGES += \
|
PRODUCT_PACKAGES += \
|
||||||
fstab.zuma \
|
fstab.zuma \
|
||||||
fstab.zuma.vendor_ramdisk \
|
fstab.zuma.vendor_ramdisk \
|
||||||
|
@ -376,7 +407,9 @@ PRODUCT_PACKAGES += \
|
||||||
|
|
||||||
PRODUCT_COPY_FILES += \
|
PRODUCT_COPY_FILES += \
|
||||||
device/google/$(TARGET_BOARD_PLATFORM)/conf/fstab.persist:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.persist \
|
device/google/$(TARGET_BOARD_PLATFORM)/conf/fstab.persist:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.persist \
|
||||||
device/google/$(TARGET_BOARD_PLATFORM)/conf/fstab.modem:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.modem
|
device/google/$(TARGET_BOARD_PLATFORM)/conf/fstab.modem:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.modem \
|
||||||
|
device/google/$(TARGET_BOARD_PLATFORM)/conf/fstab.efs:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.efs
|
||||||
|
|
||||||
|
|
||||||
# Shell scripts
|
# Shell scripts
|
||||||
PRODUCT_PACKAGES += \
|
PRODUCT_PACKAGES += \
|
||||||
|
@ -555,10 +588,6 @@ PRODUCT_PROPERTY_OVERRIDES += aaudio.hw_burst_min_usec=2000
|
||||||
PRODUCT_PACKAGES += \
|
PRODUCT_PACKAGES += \
|
||||||
com.android.future.usb.accessory
|
com.android.future.usb.accessory
|
||||||
|
|
||||||
PRODUCT_PACKAGES += \
|
|
||||||
android.hardware.graphics.mapper@4.0-impl \
|
|
||||||
android.hardware.graphics.allocator-V1-service
|
|
||||||
|
|
||||||
PRODUCT_PACKAGES += \
|
PRODUCT_PACKAGES += \
|
||||||
android.hardware.memtrack-service.pixel \
|
android.hardware.memtrack-service.pixel \
|
||||||
libion_exynos \
|
libion_exynos \
|
||||||
|
@ -796,6 +825,8 @@ PRODUCT_PROPERTY_OVERRIDES += \
|
||||||
PRODUCT_PROPERTY_OVERRIDES += \
|
PRODUCT_PROPERTY_OVERRIDES += \
|
||||||
debug.stagefright.c2inputsurface=-1 \
|
debug.stagefright.c2inputsurface=-1 \
|
||||||
|
|
||||||
|
PRODUCT_PROPERTY_OVERRIDES += media.c2.hal.selection=aidl
|
||||||
|
|
||||||
# 2. OpenMAX IL
|
# 2. OpenMAX IL
|
||||||
PRODUCT_COPY_FILES += \
|
PRODUCT_COPY_FILES += \
|
||||||
device/google/zuma/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \
|
device/google/zuma/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \
|
||||||
|
@ -1095,7 +1126,9 @@ PRODUCT_SOONG_NAMESPACES += \
|
||||||
vendor/google_devices/zuma/proprietary/gchips/tpu/darwinn_logging_service \
|
vendor/google_devices/zuma/proprietary/gchips/tpu/darwinn_logging_service \
|
||||||
vendor/google_devices/zuma/proprietary/gchips/tpu/nnapi_stable_aidl \
|
vendor/google_devices/zuma/proprietary/gchips/tpu/nnapi_stable_aidl \
|
||||||
vendor/google_devices/zuma/proprietary/gchips/tpu/aidl \
|
vendor/google_devices/zuma/proprietary/gchips/tpu/aidl \
|
||||||
vendor/google_devices/zuma/proprietary/gchips/tpu/hal
|
vendor/google_devices/zuma/proprietary/gchips/tpu/hal \
|
||||||
|
vendor/google_devices/zuma/proprietary/gchips/tpu/tachyon/api \
|
||||||
|
vendor/google_devices/zuma/proprietary/gchips/tpu/tachyon/service
|
||||||
# TPU firmware
|
# TPU firmware
|
||||||
PRODUCT_PACKAGES += edgetpu-rio.fw
|
PRODUCT_PACKAGES += edgetpu-rio.fw
|
||||||
|
|
||||||
|
@ -1147,9 +1180,6 @@ else
|
||||||
BOARD_SEPOLICY_DIRS += hardware/google/pixel-sepolicy/logger_app
|
BOARD_SEPOLICY_DIRS += hardware/google/pixel-sepolicy/logger_app
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# sscoredump
|
|
||||||
include hardware/google/pixel/sscoredump/device.mk
|
|
||||||
|
|
||||||
# RadioExt Version
|
# RadioExt Version
|
||||||
USES_RADIOEXT_V1_6 = true
|
USES_RADIOEXT_V1_6 = true
|
||||||
|
|
||||||
|
@ -1188,8 +1218,8 @@ include device/google/gs-common/pixel_ril/ril.mk
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Touch service
|
# Touch service
|
||||||
include hardware/google/pixel/input/twoshay.mk
|
|
||||||
include device/google/gs-common/touch/twoshay/aidl_zuma.mk
|
include device/google/gs-common/touch/twoshay/aidl_zuma.mk
|
||||||
|
include device/google/gs-common/touch/twoshay/twoshay.mk
|
||||||
|
|
||||||
# Allow longer timeout for incident report generation in bugreport
|
# Allow longer timeout for incident report generation in bugreport
|
||||||
# Overriding in /product partition instead of /vendor intentionally,
|
# Overriding in /product partition instead of /vendor intentionally,
|
||||||
|
|
|
@ -114,7 +114,7 @@
|
||||||
</hal>
|
</hal>
|
||||||
<hal format="aidl" optional="true">
|
<hal format="aidl" optional="true">
|
||||||
<name>com.google.hardware.pixel.display</name>
|
<name>com.google.hardware.pixel.display</name>
|
||||||
<version>10</version>
|
<version>12</version>
|
||||||
<interface>
|
<interface>
|
||||||
<name>IDisplay</name>
|
<name>IDisplay</name>
|
||||||
<instance>default</instance>
|
<instance>default</instance>
|
||||||
|
|
|
@ -1,12 +1,13 @@
|
||||||
<manifest version="1.0" type="device">
|
<manifest version="1.0" type="device">
|
||||||
<hal format="hidl">
|
<!-- AIDL fragment -->
|
||||||
|
<hal format="aidl">
|
||||||
<name>android.hardware.media.c2</name>
|
<name>android.hardware.media.c2</name>
|
||||||
<transport>hwbinder</transport>
|
<version>1</version>
|
||||||
<version>1.2</version>
|
<fqname>IComponentStore/default1</fqname>
|
||||||
<interface>
|
</hal>
|
||||||
<name>IComponentStore</name>
|
<hal format="aidl">
|
||||||
<instance>default</instance>
|
<name>android.hardware.media.c2</name>
|
||||||
<instance>default1</instance>
|
<version>1</version>
|
||||||
</interface>
|
<fqname>IComponentStore/default</fqname>
|
||||||
</hal>
|
</hal>
|
||||||
</manifest>
|
</manifest>
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
<manifest version="1.0" type="device">
|
<manifest version="1.0" type="device">
|
||||||
|
<!-- HIDL fragment -->
|
||||||
<hal format="hidl">
|
<hal format="hidl">
|
||||||
<name>android.hardware.media.c2</name>
|
<name>android.hardware.media.c2</name>
|
||||||
<transport>hwbinder</transport>
|
<transport>hwbinder</transport>
|
||||||
|
@ -8,4 +9,10 @@
|
||||||
<instance>default</instance>
|
<instance>default</instance>
|
||||||
</interface>
|
</interface>
|
||||||
</hal>
|
</hal>
|
||||||
|
<!-- AIDL fragment -->
|
||||||
|
<hal format="aidl">
|
||||||
|
<name>android.hardware.media.c2</name>
|
||||||
|
<version>1</version>
|
||||||
|
<fqname>IComponentStore/default</fqname>
|
||||||
|
</hal>
|
||||||
</manifest>
|
</manifest>
|
||||||
|
|
|
@ -108,7 +108,7 @@
|
||||||
</MediaCodec>
|
</MediaCodec>
|
||||||
<MediaCodec name="c2.exynos.vp8.decoder" type="video/x-vnd.on2.vp8" >
|
<MediaCodec name="c2.exynos.vp8.decoder" type="video/x-vnd.on2.vp8" >
|
||||||
<Limit name="size" min="32x32" max="3840x2160" />
|
<Limit name="size" min="32x32" max="3840x2160" />
|
||||||
<Limit name="alignment" value="2x2" />
|
<Limit name="alignment" value="1x1" />
|
||||||
<Limit name="block-size" value="16x16" />
|
<Limit name="block-size" value="16x16" />
|
||||||
<Limit name="block-count" range="1-32400" />
|
<Limit name="block-count" range="1-32400" />
|
||||||
<Limit name="blocks-per-second" min="1" max="3888000" />
|
<Limit name="blocks-per-second" min="1" max="3888000" />
|
||||||
|
@ -122,7 +122,7 @@
|
||||||
</MediaCodec>
|
</MediaCodec>
|
||||||
<MediaCodec name="c2.exynos.vp9.decoder" type="video/x-vnd.on2.vp9" >
|
<MediaCodec name="c2.exynos.vp9.decoder" type="video/x-vnd.on2.vp9" >
|
||||||
<Limit name="size" min="64x64" max="7680x4352" />
|
<Limit name="size" min="64x64" max="7680x4352" />
|
||||||
<Limit name="alignment" value="2x2" />
|
<Limit name="alignment" value="1x1" />
|
||||||
<Limit name="block-size" value="64x64" />
|
<Limit name="block-size" value="64x64" />
|
||||||
<Limit name="block-count" range="1-8160" />
|
<Limit name="block-count" range="1-8160" />
|
||||||
<Limit name="blocks-per-second" min="1" max="3888000" />
|
<Limit name="blocks-per-second" min="1" max="3888000" />
|
||||||
|
@ -137,7 +137,7 @@
|
||||||
</MediaCodec>
|
</MediaCodec>
|
||||||
<MediaCodec name="c2.exynos.vp9.decoder.secure" type="video/x-vnd.on2.vp9" >
|
<MediaCodec name="c2.exynos.vp9.decoder.secure" type="video/x-vnd.on2.vp9" >
|
||||||
<Limit name="size" min="64x64" max="3840x2176" />
|
<Limit name="size" min="64x64" max="3840x2176" />
|
||||||
<Limit name="alignment" value="2x2" />
|
<Limit name="alignment" value="1x1" />
|
||||||
<Limit name="block-size" value="64x64" />
|
<Limit name="block-size" value="64x64" />
|
||||||
<Limit name="block-count" range="1-2040" />
|
<Limit name="block-count" range="1-2040" />
|
||||||
<Limit name="blocks-per-second" min="1" max="3888000" />
|
<Limit name="blocks-per-second" min="1" max="3888000" />
|
||||||
|
@ -222,7 +222,7 @@
|
||||||
</MediaCodec>
|
</MediaCodec>
|
||||||
<MediaCodec name="c2.exynos.vp8.encoder" type="video/x-vnd.on2.vp8" >
|
<MediaCodec name="c2.exynos.vp8.encoder" type="video/x-vnd.on2.vp8" >
|
||||||
<Limit name="size" min="32x32" max="3840x2160" />
|
<Limit name="size" min="32x32" max="3840x2160" />
|
||||||
<Limit name="alignment" value="2x2" />
|
<Limit name="alignment" value="1x1" />
|
||||||
<Limit name="block-size" value="16x16" />
|
<Limit name="block-size" value="16x16" />
|
||||||
<Limit name="block-count" range="1-32400" />
|
<Limit name="block-count" range="1-32400" />
|
||||||
<Limit name="blocks-per-second" min="1" max="3888000" />
|
<Limit name="blocks-per-second" min="1" max="3888000" />
|
||||||
|
@ -238,7 +238,7 @@
|
||||||
</MediaCodec>
|
</MediaCodec>
|
||||||
<MediaCodec name="c2.exynos.vp9.encoder" type="video/x-vnd.on2.vp9" >
|
<MediaCodec name="c2.exynos.vp9.encoder" type="video/x-vnd.on2.vp9" >
|
||||||
<Limit name="size" min="64x64" max="3840x2176" />
|
<Limit name="size" min="64x64" max="3840x2176" />
|
||||||
<Limit name="alignment" value="2x2" />
|
<Limit name="alignment" value="1x1" />
|
||||||
<Limit name="block-size" value="64x64" />
|
<Limit name="block-size" value="64x64" />
|
||||||
<Limit name="block-count" range="1-2040" />
|
<Limit name="block-count" range="1-2040" />
|
||||||
<Limit name="blocks-per-second" min="1" max="243000" />
|
<Limit name="blocks-per-second" min="1" max="243000" />
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
<Decoders>
|
<Decoders>
|
||||||
<MediaCodec name="c2.google.av1.decoder" type="video/av01">
|
<MediaCodec name="c2.google.av1.decoder" type="video/av01">
|
||||||
<Limit name="size" min="96x96" max="3840x2160" />
|
<Limit name="size" min="96x96" max="3840x2160" />
|
||||||
<Limit name="alignment" value="2x2" />
|
<Limit name="alignment" value="1x1" />
|
||||||
<Limit name="block-size" value="16x16" />
|
<Limit name="block-size" value="16x16" />
|
||||||
<Limit name="block-count" range="36-32400" />
|
<Limit name="block-count" range="36-32400" />
|
||||||
<Limit name="blocks-per-second" min="24" max="1944000" />
|
<Limit name="blocks-per-second" min="24" max="1944000" />
|
||||||
|
@ -34,7 +34,7 @@
|
||||||
</MediaCodec>
|
</MediaCodec>
|
||||||
<MediaCodec name="c2.google.av1.decoder.secure" type="video/av01">
|
<MediaCodec name="c2.google.av1.decoder.secure" type="video/av01">
|
||||||
<Limit name="size" min="96x96" max="3840x2160" />
|
<Limit name="size" min="96x96" max="3840x2160" />
|
||||||
<Limit name="alignment" value="2x2" />
|
<Limit name="alignment" value="1x1" />
|
||||||
<Limit name="block-size" value="16x16" />
|
<Limit name="block-size" value="16x16" />
|
||||||
<Limit name="block-count" range="36-32400" />
|
<Limit name="block-count" range="36-32400" />
|
||||||
<Limit name="blocks-per-second" min="24" max="1944000" />
|
<Limit name="blocks-per-second" min="24" max="1944000" />
|
||||||
|
@ -52,15 +52,15 @@
|
||||||
<Encoders>
|
<Encoders>
|
||||||
<MediaCodec name="c2.google.av1.encoder" type="video/av01">
|
<MediaCodec name="c2.google.av1.encoder" type="video/av01">
|
||||||
<Limit name="size" min="64x64" max="3840x2176" />
|
<Limit name="size" min="64x64" max="3840x2176" />
|
||||||
<Limit name="alignment" value="2x2" />
|
<Limit name="alignment" value="1x1" />
|
||||||
<Limit name="block-size" value="64x64" />
|
<Limit name="block-size" value="64x64" />
|
||||||
<Limit name="block-count" range="1-2040" />
|
<Limit name="block-count" range="1-2040" />
|
||||||
<Limit name="blocks-per-second" min="1" max="61200" />
|
<Limit name="blocks-per-second" min="1" max="61200" />
|
||||||
<Limit name="bitrate" range="1-120000000" />
|
<Limit name="bitrate" range="1-120000000" />
|
||||||
<Limit name="performance-point-1280x720" range="240" />
|
<Limit name="performance-point-1280x720" value="200" />
|
||||||
<Limit name="performance-point-1920x1080" value="180" />
|
<Limit name="performance-point-1920x1080" value="180" />
|
||||||
<Limit name="performance-point-1920x1079" value="120" />
|
<Limit name="performance-point-1920x1079" value="120" />
|
||||||
<Limit name="performance-point-3840x2160" range="60" />
|
<Limit name="performance-point-3840x2160" value="60" />
|
||||||
<Limit name="concurrent-instances" max="16" />
|
<Limit name="concurrent-instances" max="16" />
|
||||||
<Feature name="can-swap-width-height" value="1" />
|
<Feature name="can-swap-width-height" value="1" />
|
||||||
<Feature name="vq-minimum-quality"/>
|
<Feature name="vq-minimum-quality"/>
|
||||||
|
|
|
@ -115,24 +115,24 @@
|
||||||
</MediaCodec>
|
</MediaCodec>
|
||||||
<MediaCodec name="c2.android.avc.decoder" type="video/avc" update="true">
|
<MediaCodec name="c2.android.avc.decoder" type="video/avc" update="true">
|
||||||
<!-- measured 90%:342-360 med:343 N=2 -->
|
<!-- measured 90%:342-360 med:343 N=2 -->
|
||||||
<Limit name="measured-frame-rate-320x240" range="342-351" /> <!-- v90%=1.0 -->
|
<Limit name="measured-frame-rate-320x240" range="291-512" /> <!-- v90%=1.0 -->
|
||||||
<!-- measured 90%:142-147 med:143 N=2 -->
|
<!-- measured 90%:142-147 med:143 N=2 -->
|
||||||
<Limit name="measured-frame-rate-720x480" range="142-145" /> <!-- v90%=1.0 -->
|
<Limit name="measured-frame-rate-720x480" range="244-474" /> <!-- v90%=1.0 -->
|
||||||
<!-- measured 90%:54-56 med:55 N=2 -->
|
<!-- measured 90%:54-56 med:55 N=2 -->
|
||||||
<Limit name="measured-frame-rate-1280x720" range="54-55" /> <!-- v90%=1.0 -->
|
<Limit name="measured-frame-rate-1280x720" range="110-209" /> <!-- v90%=1.0 -->
|
||||||
<!-- measured 90%:25-26 med:26 N=2 -->
|
<!-- measured 90%:25-26 med:26 N=2 -->
|
||||||
<Limit name="measured-frame-rate-1920x1080" range="25-26" /> <!-- v90%=1.0 -->
|
<Limit name="measured-frame-rate-1920x1080" range="45-87" /> <!-- v90%=1.0 -->
|
||||||
</MediaCodec>
|
</MediaCodec>
|
||||||
<MediaCodec name="c2.android.hevc.decoder" type="video/hevc" update="true">
|
<MediaCodec name="c2.android.hevc.decoder" type="video/hevc" update="true">
|
||||||
<Limit name="measured-frame-rate-352x288" range="583-674" />
|
<Limit name="measured-frame-rate-352x288" range="291-512" />
|
||||||
<!-- measured 90%:196-207 med:196 N=2 -->
|
<!-- measured 90%:196-207 med:196 N=2 -->
|
||||||
<Limit name="measured-frame-rate-640x360" range="196-201" /> <!-- v90%=1.0 -->
|
<Limit name="measured-frame-rate-640x360" range="244-474" /> <!-- v90%=1.0 -->
|
||||||
<!-- measured 90%:177-180 med:178 N=2 -->
|
<!-- measured 90%:177-180 med:178 N=2 -->
|
||||||
<Limit name="measured-frame-rate-720x480" range="177-178" /> <!-- v90%=1.0 -->
|
<Limit name="measured-frame-rate-720x480" range="232-443" /> <!-- v90%=1.0 -->
|
||||||
<!-- measured 90%:81-82 med:82 N=2 -->
|
<!-- measured 90%:81-82 med:82 N=2 -->
|
||||||
<Limit name="measured-frame-rate-1280x720" range="81-82" /> <!-- v90%=1.0 -->
|
<Limit name="measured-frame-rate-1280x720" range="171-325" /> <!-- v90%=1.0 -->
|
||||||
<!-- measured 90%:45-47 med:46 N=2 -->
|
<!-- measured 90%:45-47 med:46 N=2 -->
|
||||||
<Limit name="measured-frame-rate-1920x1080" range="45-46" /> <!-- v90%=1.0 -->
|
<Limit name="measured-frame-rate-1920x1080" range="118-219" /> <!-- v90%=1.0 -->
|
||||||
</MediaCodec>
|
</MediaCodec>
|
||||||
<MediaCodec name="c2.android.mpeg4.decoder" type="video/mp4v-es" update="true">
|
<MediaCodec name="c2.android.mpeg4.decoder" type="video/mp4v-es" update="true">
|
||||||
<Limit name="measured-frame-rate-176x144" range="1111-1176" />
|
<Limit name="measured-frame-rate-176x144" range="1111-1176" />
|
||||||
|
|
|
@ -74,6 +74,9 @@
|
||||||
<!-- If this is true, the screen will come on when you unplug usb/power/whatever. -->
|
<!-- If this is true, the screen will come on when you unplug usb/power/whatever. -->
|
||||||
<bool name="config_unplugTurnsOnScreen">true</bool>
|
<bool name="config_unplugTurnsOnScreen">true</bool>
|
||||||
|
|
||||||
|
|
||||||
|
<bool name="config_use_tiered_cached_adj">false</bool>
|
||||||
|
|
||||||
<!-- If device supports pickup/lift gesture -->
|
<!-- If device supports pickup/lift gesture -->
|
||||||
<bool name="config_dozePulsePickup">true</bool>
|
<bool name="config_dozePulsePickup">true</bool>
|
||||||
|
|
||||||
|
@ -249,8 +252,8 @@
|
||||||
<!-- Should the pinner service pin the Camera application? -->
|
<!-- Should the pinner service pin the Camera application? -->
|
||||||
<bool name="config_pinnerCameraApp">true</bool>
|
<bool name="config_pinnerCameraApp">true</bool>
|
||||||
|
|
||||||
<!-- Should the pinner service pin the Home application? -->
|
<!-- Bytes that the PinnerService will pin for Home app -->
|
||||||
<bool name="config_pinnerHomeApp">true</bool>
|
<integer name="config_pinnerHomePinBytes">6291456</integer>
|
||||||
|
|
||||||
<!-- Bytes that the PinnerService will pin for WebView -->
|
<!-- Bytes that the PinnerService will pin for WebView -->
|
||||||
<integer name="config_pinnerWebviewPinBytes">20971520</integer>
|
<integer name="config_pinnerWebviewPinBytes">20971520</integer>
|
||||||
|
|
|
@ -105,6 +105,16 @@ const struct SysfsCollector::SysfsPaths sysfs_paths = {
|
||||||
"/sys/class/power_supply/maxfg/gmsr",
|
"/sys/class/power_supply/maxfg/gmsr",
|
||||||
"/sys/class/power_supply/maxfg_base/gmsr",
|
"/sys/class/power_supply/maxfg_base/gmsr",
|
||||||
},
|
},
|
||||||
|
.FGModelLoadingPath = {
|
||||||
|
"/sys/class/power_supply/maxfg/m5_model_state",
|
||||||
|
"/sys/class/power_supply/maxfg_base/m5_model_state"
|
||||||
|
},
|
||||||
|
.FGLogBufferPath = {
|
||||||
|
"/dev/logbuffer_maxfg_monitor",
|
||||||
|
"/dev/logbuffer_max77779fg_monitor",
|
||||||
|
"/dev/logbuffer_maxfg_base_monitor",
|
||||||
|
"/dev/logbuffer_maxfg_secondary_monitor"
|
||||||
|
},
|
||||||
.DisplayPortStatsPaths = {
|
.DisplayPortStatsPaths = {
|
||||||
"/sys/devices/platform/exynos-drm/displayport/drm-displayport-stats/link_negotiation_failures",
|
"/sys/devices/platform/exynos-drm/displayport/drm-displayport-stats/link_negotiation_failures",
|
||||||
"/sys/devices/platform/exynos-drm/displayport/drm-displayport-stats/edid_read_failures",
|
"/sys/devices/platform/exynos-drm/displayport/drm-displayport-stats/edid_read_failures",
|
||||||
|
@ -120,21 +130,14 @@ const struct SysfsCollector::SysfsPaths sysfs_paths = {
|
||||||
"/sys/devices/platform/hdcp/hdcp1_success_count",
|
"/sys/devices/platform/hdcp/hdcp1_success_count",
|
||||||
"/sys/devices/platform/hdcp/hdcp1_fail_count",
|
"/sys/devices/platform/hdcp/hdcp1_fail_count",
|
||||||
"/sys/devices/platform/hdcp/hdcp0_count",
|
"/sys/devices/platform/hdcp/hdcp0_count",
|
||||||
}
|
},
|
||||||
|
.SpeakerVersionPath = "/sys/devices/platform/audiometrics/speaker_version"
|
||||||
};
|
};
|
||||||
|
|
||||||
const struct UeventListener::UeventPaths ueventPaths = {
|
const struct UeventListener::UeventPaths ueventPaths = {
|
||||||
.AudioUevent = "/devices/virtual/amcs/amcs",
|
.AudioUevent = "/devices/virtual/amcs/amcs",
|
||||||
.TypeCPartnerUevent = "PRODUCT_TYPE=",
|
.TypeCPartnerUevent = "PRODUCT_TYPE=",
|
||||||
.FGLearningPath = {
|
.FwUpdatePath = ""
|
||||||
"/sys/class/power_supply/maxfg/fg_learning_events",
|
|
||||||
"/sys/class/power_supply/maxfg_base/fg_learning_events"
|
|
||||||
},
|
|
||||||
.FwUpdatePath = "",
|
|
||||||
.FGModelLoadingPath = {
|
|
||||||
"/sys/class/power_supply/maxfg/m5_model_state",
|
|
||||||
"/sys/class/power_supply/maxfg_base/m5_model_state"
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
|
|
|
@ -55,6 +55,7 @@ cc_binary {
|
||||||
"libbinder_ndk",
|
"libbinder_ndk",
|
||||||
"libprotobuf-cpp-lite",
|
"libprotobuf-cpp-lite",
|
||||||
"server_configurable_flags",
|
"server_configurable_flags",
|
||||||
|
"libaconfig_storage_read_api_cc",
|
||||||
],
|
],
|
||||||
static_libs: [
|
static_libs: [
|
||||||
"libpixelusb-aidl",
|
"libpixelusb-aidl",
|
||||||
|
|
|
@ -602,6 +602,11 @@ ScopedAStatus Usb::switchRole(const string& in_portName, const PortRole& in_role
|
||||||
fp = fopen(filename.c_str(), "w");
|
fp = fopen(filename.c_str(), "w");
|
||||||
if (fp != NULL) {
|
if (fp != NULL) {
|
||||||
int ret = fputs(convertRoletoString(in_role).c_str(), fp);
|
int ret = fputs(convertRoletoString(in_role).c_str(), fp);
|
||||||
|
if (ret == EAGAIN) {
|
||||||
|
ALOGI("role switch busy, retry in %d ms", ROLE_SWAP_RETRY_MS);
|
||||||
|
std::this_thread::sleep_for(std::chrono::milliseconds(ROLE_SWAP_RETRY_MS));
|
||||||
|
ret = fputs(convertRoletoString(in_role).c_str(), fp);
|
||||||
|
}
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
if ((ret != EOF) && ReadFileToString(filename, &written)) {
|
if ((ret != EOF) && ReadFileToString(filename, &written)) {
|
||||||
written = Trim(written);
|
written = Trim(written);
|
||||||
|
@ -1724,8 +1729,10 @@ void *displayPortPollWork(void *param) {
|
||||||
std::vector<PortStatus> currentPortStatus;
|
std::vector<PortStatus> currentPortStatus;
|
||||||
ret = read(usb->mDisplayPortDebounceTimer, &res, sizeof(res));
|
ret = read(usb->mDisplayPortDebounceTimer, &res, sizeof(res));
|
||||||
ALOGI("usbdp: dp debounce triggered, val:%lu ret:%d", res, ret);
|
ALOGI("usbdp: dp debounce triggered, val:%lu ret:%d", res, ret);
|
||||||
if (ret < 0)
|
if (ret < 0) {
|
||||||
ALOGE("usbdp: debounce read errno:%d", errno);
|
ALOGW("usbdp: debounce read error:%d", errno);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
queryVersionHelper(usb, ¤tPortStatus);
|
queryVersionHelper(usb, ¤tPortStatus);
|
||||||
} else if (events[n].data.fd == usb->mDisplayPortActivateTimer) {
|
} else if (events[n].data.fd == usb->mDisplayPortActivateTimer) {
|
||||||
string activePartner, activePort;
|
string activePartner, activePort;
|
||||||
|
@ -1776,6 +1783,7 @@ void *displayPortPollWork(void *param) {
|
||||||
|
|
||||||
error:
|
error:
|
||||||
/* Need to disarm so new threads don't get old event */
|
/* Need to disarm so new threads don't get old event */
|
||||||
|
armTimerFdHelper(usb->mDisplayPortDebounceTimer, 0);
|
||||||
armTimerFdHelper(usb->mDisplayPortActivateTimer, 0);
|
armTimerFdHelper(usb->mDisplayPortActivateTimer, 0);
|
||||||
close(link_training_status_fd);
|
close(link_training_status_fd);
|
||||||
link_training_status_fd_error:
|
link_training_status_fd_error:
|
||||||
|
|
|
@ -79,6 +79,7 @@ constexpr char kGadgetName[] = "11210000.dwc3";
|
||||||
#define DISPLAYPORT_IRQ_HPD_COUNT_CHECK 3
|
#define DISPLAYPORT_IRQ_HPD_COUNT_CHECK 3
|
||||||
|
|
||||||
#define DISPLAYPORT_POLL_WAIT_MS 100
|
#define DISPLAYPORT_POLL_WAIT_MS 100
|
||||||
|
#define ROLE_SWAP_RETRY_MS 700
|
||||||
|
|
||||||
#define SVID_DISPLAYPORT "ff01"
|
#define SVID_DISPLAYPORT "ff01"
|
||||||
#define SVID_THUNDERBOLT "8087"
|
#define SVID_THUNDERBOLT "8087"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue