Android 15.0.0 Release 6 (AP4A.241205.013)

-----BEGIN PGP SIGNATURE-----
 
 iF0EABECAB0WIQRDQNE1cO+UXoOBCWTorT+BmrEOeAUCZ1IssQAKCRDorT+BmrEO
 eCS1AKCAqQqQ2PZ/HMIFuzLZPWfZjvCRDACeJWblhIHa+ODC9PYstxkKALZVXCo=
 =E9VY
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQJLBAABCgA1FiEEHrBYPudH862glXQBzJUERRm+ZmkFAmdY7PoXHG1rYmVzdGFz
 QGxpbmVhZ2Vvcy5vcmcACgkQzJUERRm+ZmlTuBAAss0qZU+h9oujq988gz6/SCTb
 Np3yMsknkUSdP9RcKm7qJBXpcdntcVtfUUyrOQ0Ki0myfdokSd8IMtZ0zFUewbiv
 QPpQJzt89htSwVsYIdnDJP9voegljkSLMSBCSiEg5uF+oW4uS2GFEtr/uDYHnAnX
 JmdrEps/Qreu42Zwgw9cItb1gQUzu9WNeRK53cy28TmTzPbx43nho0SYOs6sCDPN
 +2kk9EIRBZpPSh5bJB6Mqu2A5vSLqzM0YfX98iFQfWpfrOYlpFt1uKwI5SP9bu4L
 HSJRaSzIugentYQC89dWb2NLuFTWKgsWHSoCt9iqc4i8CDOkpOFv/Jw6xZM9HlPm
 Kk64SeiuCvqrg3rLz/muMae7bpNI2GHs3g3aSk7ibfcG4gCNmYzqXlyUI5jawRrQ
 wnbXflME2BIlfG0xGbqXh5lj+xK5DrsNRuyVZVlu0orw8RI3ZqrpCv7Bd6SI6vpM
 Gys+gR572DfO50OmuE7KzfV0OP6PLymM9/zxnK43qKLkaJ8yWruvpgtUlDcB85ed
 86FUe2iAhvQU+t88M/nC0YBR+PptB4HrlMLyUoRgfb6odq+kmqKfL620pmIKWssG
 qvs4boCVzvCzaNxJJj1bvFutB3get/0W0+PK8kWXiLnnVOheV8TsSnBonDXxfSOw
 S2KzBh/EIh+j/ICOces=
 =ELmX
 -----END PGP SIGNATURE-----

Merge tag 'android-15.0.0_r6' into staging/lineage-22.0_merge-android-15.0.0_r6

Android 15.0.0 Release 6 (AP4A.241205.013)

# -----BEGIN PGP SIGNATURE-----
#
# iF0EABECAB0WIQRDQNE1cO+UXoOBCWTorT+BmrEOeAUCZ1IssQAKCRDorT+BmrEO
# eCS1AKCAqQqQ2PZ/HMIFuzLZPWfZjvCRDACeJWblhIHa+ODC9PYstxkKALZVXCo=
# =E9VY
# -----END PGP SIGNATURE-----
# gpg: Signature made Fri Dec  6 00:44:01 2024 EET
# gpg:                using DSA key 4340D13570EF945E83810964E8AD3F819AB10E78
# gpg: Good signature from "The Android Open Source Project <initial-contribution@android.com>" [marginal]
# gpg: initial-contribution@android.com: Verified 2483 signatures in the past
#      3 years.  Encrypted 4 messages in the past 2 years.
# gpg: WARNING: This key is not certified with sufficiently trusted signatures!
# gpg:          It is not certain that the signature belongs to the owner.
# Primary key fingerprint: 4340 D135 70EF 945E 8381  0964 E8AD 3F81 9AB1 0E78

# By Juan Yescas (14) and others
# Via Android (Google) Code Review (81) and others
* tag 'android-15.0.0_r6': (118 commits)
  Set auto prefer idle task name
  Set priority task name
  Change permission of fg_wi file nodes
  Delete TARGET_CPU_VARIANT_RUNTIME.
  Force EST loopback for hidden menu testing
  Add input event profile to mitigate input latency of input threads
  Control the "init_dpm.sh" to be built in zumapro devices
  [ZumaPro] Change default MTE mode to Asymm.
  usb: modify initial_descriptor_timeout to 500ms
  Control the modules built from vendor/google_devices/zumapro/prebuilts/gpu
  Revert "Revert "Move PRODUCT_SHIPPING_API_LEVEL to defined by de..."
  Revert "Disable EHLD"
  zumapro: avoid vector<const T>
  16kb: Select proper fstab for targets that only boot 16kb kernels
  16kb: Set f2fs block size to 16384 for targets that only boot 16kb kernels
  16kb: Config fstab for targets that only boot 16kb kernels
  Deprecate preloaded_nanoapps.json
  Delete PRODUCT_FULL_TREBLE_OVERRIDE.
  Control GoogleDialer built from zumapro/proprietary/GoogleDialer
  Add pixellogger with non radio
  ...

Change-Id: I8b9080bd2f089873aa4f2845913c2cf24d7a6857
This commit is contained in:
Michael Bestas 2024-12-11 03:38:02 +02:00
commit 4772d02af9
43 changed files with 970 additions and 283 deletions

19
BoardConfig-16k-common.mk Normal file
View file

@ -0,0 +1,19 @@
#
# 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.
#
ifeq ($(TARGET_BOOTS_16K),true)
BOARD_F2FS_BLOCKSIZE := 16384
endif

View file

@ -16,8 +16,8 @@
include build/make/target/board/BoardConfigMainlineCommon.mk
include build/make/target/board/BoardConfigPixelCommon.mk
# Should be uncommented after fixing vndk-sp violation is fixed.
PRODUCT_FULL_TREBLE_OVERRIDE := true
# Include settings for 16k page size kernel if enabled.
include device/google/zumapro/BoardConfig-16k-common.mk
# HACK : To fix up after bring up multimedia devices.
TARGET_SOC := zumapro
@ -30,7 +30,6 @@ TARGET_ARCH := arm64
TARGET_ARCH_VARIANT := armv8-2a
TARGET_CPU_ABI := arm64-v8a
TARGET_CPU_VARIANT := cortex-a55
TARGET_CPU_VARIANT_RUNTIME := cortex-a55
BOARD_KERNEL_CMDLINE += dyndbg=\"func alloc_contig_dump_pages +p\"
BOARD_KERNEL_CMDLINE += earlycon=exynos4210,0x10870000 console=ttySAC0,115200 androidboot.console=ttySAC0 printk.devkmsg=on

2
OWNERS
View file

@ -1,2 +1,2 @@
# per-file for Pixel device makefiles, see go/pixel-device-mk-owner-checklist for details.
per-file *.mk=file:device/google/gs-common:main:/MK_OWNERS
per-file *.mk,{**/,}Android.bp=file:device/google/gs-common:main:/MK_OWNERS

View file

@ -14,16 +14,6 @@
* 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 {
// See: http://go/android-license-faq
// A large-scale-change added 'default_applicable_licenses' to import
@ -33,102 +23,10 @@ package {
default_applicable_licenses: ["device_google_zumapro_license"],
}
genrule {
name: "gen_fstab.zuma-hw-encrypt",
srcs: ["fstab.zumapro.in"],
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)",
filegroup {
name: "fstab.zumapro.common",
srcs: ["fstab.ro.system",
"fstab.zumapro.common"
],
}
genrule {
name: "gen_fstab.zumapro-hw-encrypt",
srcs: ["fstab.zumapro.in"],
out: ["fstab.zumapro"],
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.zumapro.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.zumapro-sw-encrypt",
srcs: ["fstab.zumapro.in"],
out: ["fstab.zumapro"],
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.zumapro.in"],
out: ["fstab.zuma"],
cmd: "sed -e s/@fileencryption@//" +
" -e s/@inlinecrypt@// " +
" -e s/@metadata_encryption@// $(in) > $(out)",
}
genrule {
name: "gen_fstab.zumapro-no-encrypt",
srcs: ["fstab.zumapro.in"],
out: ["fstab.zumapro"],
cmd: "sed -e s/@fileencryption@//" +
" -e s/@inlinecrypt@// " +
" -e s/@metadata_encryption@// $(in) > $(out)",
}
genrule {
name: "gen_fstab.zuma-fips",
srcs: ["fstab.zumapro.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)",
}
genrule {
name: "gen_fstab.zumapro-fips",
srcs: ["fstab.zumapro.in"],
out: ["fstab.zumapro-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.zumapro",
src: ":gen_fstab.zumapro-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,
}
prebuilt_etc {
name: "fstab.zumapro-fips",
src: ":gen_fstab.zumapro-fips",
vendor: true,
vendor_ramdisk_available: true,
}

2
conf/OWNERS Normal file
View file

@ -0,0 +1,2 @@
# per-file for Pixel fstab
per-file fstab.*=file:device/google/gs-common:main:/FSTAB_OWNERS

164
conf/ext4/Android.bp Normal file
View file

@ -0,0 +1,164 @@
/*
* 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.
*/
// 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/zumapro",
],
}
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_zumapro_license"
// to get the below license kinds:
// SPDX-license-identifier-Apache-2.0
default_applicable_licenses: ["device_google_zumapro_license"],
}
genrule {
name: "gen_fstab.zuma-hw-encrypt",
srcs: [
":fstab.zumapro.common",
"fstab.rw.zumapro.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.zumapro-hw-encrypt",
srcs: [
":fstab.zumapro.common",
"fstab.rw.zumapro.ext4",
],
out: ["fstab.zumapro"],
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.zumapro.common",
"fstab.rw.zumapro.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.zumapro-sw-encrypt",
srcs: [
":fstab.zumapro.common",
"fstab.rw.zumapro.ext4",
],
out: ["fstab.zumapro"],
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.zumapro.common",
"fstab.rw.zumapro.ext4",
],
out: ["fstab.zuma"],
cmd: "sed -e s/@fileencryption@//" +
" -e s/@inlinecrypt@// " +
" -e s/@metadata_encryption@// $(in) > $(out)",
}
genrule {
name: "gen_fstab.zumapro-no-encrypt",
srcs: [
":fstab.zumapro.common",
"fstab.rw.zumapro.ext4",
],
out: ["fstab.zumapro"],
cmd: "sed -e s/@fileencryption@//" +
" -e s/@inlinecrypt@// " +
" -e s/@metadata_encryption@// $(in) > $(out)",
}
genrule {
name: "gen_fstab.zuma-fips",
srcs: [
":fstab.zumapro.common",
"fstab.rw.zumapro.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)",
}
genrule {
name: "gen_fstab.zumapro-fips",
srcs: [
":fstab.zumapro.common",
"fstab.rw.zumapro.ext4",
],
out: ["fstab.zumapro-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.zumapro",
src: ":gen_fstab.zumapro-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,
}
prebuilt_etc {
name: "fstab.zumapro-fips",
src: ":gen_fstab.zumapro-fips",
vendor: true,
vendor_ramdisk_available: true,
}

View file

@ -0,0 +1,5 @@
# Android fstab file for /data and /metadata partitions.
#
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
/dev/block/platform/13200000.ufs/by-name/metadata /metadata ext4 noatime,nosuid,nodev,sync wait,check,formattable,first_stage_mount
/dev/block/platform/13200000.ufs/by-name/userdata /data ext4 noatime,nosuid,nodev latemount,wait,check,quota,formattable,sysfs_path=/dev/sys/block/bootdevice,reservedsize=128M,readahead_size_kb=128

164
conf/f2fs/Android.bp Normal file
View file

@ -0,0 +1,164 @@
/*
* 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.
*/
// 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/zumapro",
],
}
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_zumapro_license"
// to get the below license kinds:
// SPDX-license-identifier-Apache-2.0
default_applicable_licenses: ["device_google_zumapro_license"],
}
genrule {
name: "gen_fstab.zuma-hw-encrypt",
srcs: [
":fstab.zumapro.common",
"fstab.rw.zumapro.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.zumapro-hw-encrypt",
srcs: [
":fstab.zumapro.common",
"fstab.rw.zumapro.f2fs",
],
out: ["fstab.zumapro"],
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.zumapro.common",
"fstab.rw.zumapro.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.zumapro-sw-encrypt",
srcs: [
":fstab.zumapro.common",
"fstab.rw.zumapro.f2fs",
],
out: ["fstab.zumapro"],
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.zumapro.common",
"fstab.rw.zumapro.f2fs",
],
out: ["fstab.zuma"],
cmd: "sed -e s/@fileencryption@//" +
" -e s/@inlinecrypt@// " +
" -e s/@metadata_encryption@// $(in) > $(out)",
}
genrule {
name: "gen_fstab.zumapro-no-encrypt",
srcs: [
":fstab.zumapro.common",
"fstab.rw.zumapro.f2fs",
],
out: ["fstab.zumapro"],
cmd: "sed -e s/@fileencryption@//" +
" -e s/@inlinecrypt@// " +
" -e s/@metadata_encryption@// $(in) > $(out)",
}
genrule {
name: "gen_fstab.zuma-fips",
srcs: [
":fstab.zumapro.common",
"fstab.rw.zumapro.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)",
}
genrule {
name: "gen_fstab.zumapro-fips",
srcs: [
":fstab.zumapro.common",
"fstab.rw.zumapro.f2fs",
],
out: ["fstab.zumapro-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.zumapro",
src: ":gen_fstab.zumapro-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,
}
prebuilt_etc {
name: "fstab.zumapro-fips",
src: ":gen_fstab.zumapro-fips",
vendor: true,
vendor_ramdisk_available: true,
}

View file

@ -0,0 +1,5 @@
# Android fstab file for /data and /metadata partitions.
#
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
/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/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

164
conf/fs-16kb/Android.bp Normal file
View file

@ -0,0 +1,164 @@
/*
* 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.
*/
// 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/zumapro",
],
}
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_zumapro_license"
// to get the below license kinds:
// SPDX-license-identifier-Apache-2.0
default_applicable_licenses: ["device_google_zumapro_license"],
}
genrule {
name: "gen_fstab.zuma-hw-encrypt",
srcs: [
":fstab.zumapro.common",
"fstab.rw.zumapro.16kb",
],
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.zumapro-hw-encrypt",
srcs: [
":fstab.zumapro.common",
"fstab.rw.zumapro.16kb",
],
out: ["fstab.zumapro"],
cmd: "sed -e s/@fileencryption@/fileencryption=:aes-256-hctr2:inlinecrypt_optimized+wrappedkey_v0+dusize_4k/" +
" -e s/@inlinecrypt@/inlinecrypt/ " +
" -e s/@metadata_encryption@/metadata_encryption=:wrappedkey_v0/ $(in) > $(out)",
}
genrule {
name: "gen_fstab.zuma-sw-encrypt",
srcs: [
":fstab.zumapro.common",
"fstab.rw.zumapro.16kb",
],
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.zumapro-sw-encrypt",
srcs: [
":fstab.zumapro.common",
"fstab.rw.zumapro.16kb",
],
out: ["fstab.zumapro"],
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.zumapro.common",
"fstab.rw.zumapro.16kb",
],
out: ["fstab.zuma"],
cmd: "sed -e s/@fileencryption@//" +
" -e s/@inlinecrypt@// " +
" -e s/@metadata_encryption@// $(in) > $(out)",
}
genrule {
name: "gen_fstab.zumapro-no-encrypt",
srcs: [
":fstab.zumapro.common",
"fstab.rw.zumapro.16kb",
],
out: ["fstab.zumapro"],
cmd: "sed -e s/@fileencryption@//" +
" -e s/@inlinecrypt@// " +
" -e s/@metadata_encryption@// $(in) > $(out)",
}
genrule {
name: "gen_fstab.zuma-fips",
srcs: [
":fstab.zumapro.common",
"fstab.rw.zumapro.16kb",
],
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)",
}
genrule {
name: "gen_fstab.zumapro-fips",
srcs: [
":fstab.zumapro.common",
"fstab.rw.zumapro.16kb",
],
out: ["fstab.zumapro-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.zumapro",
src: ":gen_fstab.zumapro-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,
}
prebuilt_etc {
name: "fstab.zumapro-fips",
src: ":gen_fstab.zumapro-fips",
vendor: true,
vendor_ramdisk_available: true,
}

View file

@ -0,0 +1,6 @@
# Android fstab file for /data and /metadata partitions.
#
# This fstab is used for devices that only boot 16kb page size kernels.
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
/dev/block/platform/13200000.ufs/by-name/metadata /metadata ext4 noatime,nosuid,nodev,sync wait,check,formattable,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=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

14
conf/fstab.ro.system Normal file
View file

@ -0,0 +1,14 @@
# Android fstab file for system/vendor/product partitions
#
# 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>
system /system ext4 noatime,ro wait,slotselect,avb=vbmeta_system,logical,first_stage_mount,readahead_size_kb=128
# During compliance testing, the previous line would fail (because GSI is ext4), and the next line would be used to mount GSI.
system /system ext4 noatime,ro wait,slotselect,avb=vbmeta_system,logical,first_stage_mount,readahead_size_kb=128
system_dlkm /system_dlkm ext4 noatime,ro wait,slotselect,avb=vbmeta_system,avb_keys=no_such_key,logical,first_stage_mount,readahead_size_kb=128
system_ext /system_ext ext4 noatime,ro wait,slotselect,avb=vbmeta_system,logical,first_stage_mount,readahead_size_kb=128
product /product ext4 noatime,ro wait,slotselect,avb=vbmeta_system,logical,first_stage_mount,readahead_size_kb=128
vendor /vendor ext4 noatime,ro wait,slotselect,avb=vbmeta_vendor,logical,first_stage_mount,readahead_size_kb=128
vendor_dlkm /vendor_dlkm ext4 noatime,ro wait,slotselect,avb=vbmeta,avb_keys=no_such_key,logical,first_stage_mount

6
conf/fstab.rw.efs Normal file
View file

@ -0,0 +1,6 @@
# Android fstab file for efs partitions
#
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
/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

View file

@ -2,4 +2,3 @@
# <src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
# Keep persist in an fstab file, since we need to run fsck on it after abnormal shutdown.
/dev/block/platform/13200000.ufs/by-name/persist /mnt/vendor/persist f2fs noatime,nosuid,nodev,sync wait,check,formattable
/dev/block/platform/13200000.ufs/by-name/persist /mnt/vendor/persist ext4 noatime,nosuid,nodev,data=journal,commit=1 wait,check,formattable,metadata_csum

View file

@ -0,0 +1,9 @@
# Android fstab file.
#
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
/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/misc /misc emmc defaults wait
#/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/vbmeta /vbmeta emmc defaults slotselect,first_stage_mount
/devices/platform/11210000.usb* auto vfat defaults voldmanaged=usb:auto

View file

@ -1,25 +0,0 @@
# 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>
system /system ext4 noatime,ro wait,slotselect,avb=vbmeta_system,logical,first_stage_mount,readahead_size_kb=128
# During compliance testing, the previous line would fail (because GSI is ext4), and the next line would be used to mount GSI.
system /system ext4 noatime,ro wait,slotselect,avb=vbmeta_system,logical,first_stage_mount,readahead_size_kb=128
system_dlkm /system_dlkm ext4 noatime,ro wait,slotselect,avb=vbmeta_system,avb_keys=no_such_key,logical,first_stage_mount,readahead_size_kb=128
system_ext /system_ext ext4 noatime,ro wait,slotselect,avb=vbmeta_system,logical,first_stage_mount,readahead_size_kb=128
product /product ext4 noatime,ro wait,slotselect,avb=vbmeta_system,logical,first_stage_mount,readahead_size_kb=128
vendor /vendor ext4 noatime,ro wait,slotselect,avb=vbmeta_vendor,logical,first_stage_mount,readahead_size_kb=128
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/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/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/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/vbmeta /vbmeta emmc defaults slotselect,first_stage_mount
/devices/platform/11210000.usb* auto vfat defaults voldmanaged=usb:auto

11
conf/init.efs.rc Normal file
View file

@ -0,0 +1,11 @@
on early-init
mount_all /vendor/etc/fstab.persist --early
on late-fs
mount_all /vendor/etc/fstab.efs --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

View file

@ -1,10 +1,10 @@
import /vendor/etc/init/hw/init.zumapro.usb.rc
import /vendor/etc/init/hw/init.efs.rc
import android.hardware.drm@1.2-service.widevine.rc
import init.exynos.sensorhub.rc
import /vendor/etc/init/hw/init.${ro.boot.hardware.platform}.soc.rc
on early-init
mount_all /vendor/etc/fstab.persist --early
write /proc/sys/kernel/sched_pelt_multiplier 1
write /sys/kernel/mm/lru_gen/enabled n
@ -32,6 +32,7 @@ on init
chown system system /proc/vendor_sched/groups/dex2oat/set_task_group
chown system system /proc/vendor_sched/groups/cam_power/set_task_group
chown system system /proc/vendor_sched/groups/ota/set_task_group
chown system system /proc/vendor_sched/groups/fg_wi/set_task_group
chown system system /proc/vendor_sched/groups/bg/set_proc_group
chown system system /proc/vendor_sched/groups/cam/set_proc_group
chown system system /proc/vendor_sched/groups/fg/set_proc_group
@ -44,10 +45,13 @@ on init
chown system system /proc/vendor_sched/groups/dex2oat/set_proc_group
chown system system /proc/vendor_sched/groups/cam_power/set_proc_group
chown system system /proc/vendor_sched/groups/ota/set_proc_group
chown system system /proc/vendor_sched/groups/fg_wi/set_proc_group
chown system system /proc/vendor_sched/prefer_idle_set
chown system system /proc/vendor_sched/prefer_idle_clear
chown system system /proc/vendor_sched/pmu_poll_enable
chown system system /proc/vendor_sched/pmu_poll_time
chown system system /proc/vendor_sched/uclamp_fork_reset_clear
chown system system /proc/vendor_sched/uclamp_fork_reset_set
chmod 0220 /proc/vendor_sched/groups/bg/set_task_group
chmod 0220 /proc/vendor_sched/groups/cam/set_task_group
@ -61,6 +65,7 @@ on init
chmod 0220 /proc/vendor_sched/groups/dex2oat/set_task_group
chmod 0220 /proc/vendor_sched/groups/cam_power/set_task_group
chmod 0220 /proc/vendor_sched/groups/ota/set_task_group
chmod 0220 /proc/vendor_sched/groups/fg_wi/set_task_group
chmod 0220 /proc/vendor_sched/groups/bg/set_proc_group
chmod 0220 /proc/vendor_sched/groups/cam/set_proc_group
chmod 0220 /proc/vendor_sched/groups/fg/set_proc_group
@ -73,15 +78,17 @@ on init
chmod 0220 /proc/vendor_sched/groups/dex2oat/set_proc_group
chmod 0220 /proc/vendor_sched/groups/cam_power/set_proc_group
chmod 0220 /proc/vendor_sched/groups/ota/set_proc_group
chmod 0220 /proc/vendor_sched/groups/fg_wi/set_proc_group
chmod 0220 /proc/vendor_sched/prefer_idle_set
chmod 0220 /proc/vendor_sched/prefer_idle_clear
chmod 0660 /proc/vendor_sched/pmu_poll_enable
chmod 0220 /proc/vendor_sched/pmu_poll_time
chmod 0220 /proc/vendor_sched/uclamp_fork_reset_clear
chmod 0220 /proc/vendor_sched/uclamp_fork_reset_set
start vendor.keymaster-4-0
# ZRAM setup
write /sys/block/zram0/comp_algorithm lz77eh
write /proc/sys/vm/page-cluster 0
# Some user code relies on ro.boot.hardware.revision
@ -118,16 +125,6 @@ on init
write /sys/class/net/rmnet6/queues/rx-0/rps_cpus fe
write /sys/class/net/rmnet7/queues/rx-0/rps_cpus fe
# Create UDS structure for base VR services.
mkdir /dev/socket/pdx 0775 system system
mkdir /dev/socket/pdx/system 0775 system system
mkdir /dev/socket/pdx/system/buffer_hub 0775 system system
mkdir /dev/socket/pdx/system/performance 0775 system system
mkdir /dev/socket/pdx/system/vr 0775 system system
mkdir /dev/socket/pdx/system/vr/display 0775 system system
mkdir /dev/socket/pdx/system/vr/pose 0775 system system
mkdir /dev/socket/pdx/system/vr/sensors 0775 system system
# RT uclamp setting
write /proc/sys/kernel/sched_util_clamp_min_rt_default 0
@ -183,6 +180,17 @@ on init
chown root system /sys/devices/platform/16490000.gsa-ns/log_main
chown root system /sys/devices/platform/16490000.gsa-ns/log_intermediate
# Enable CPU Idle histograms
write /sys/kernel/metrics/cpuidle_histogram/enable 1
# ZRAM setup: use EH in 4kb kernels.
on init && property:ro.boot.hardware.cpu.pagesize=4096
write /sys/block/zram0/comp_algorithm lz77eh
# ZRAM setup: do not use EH in 16kb kernels.
on init && property:ro.boot.hardware.cpu.pagesize=16384
write /sys/block/zram0/comp_algorithm lzo-rle
on post-fs
# Ensure device is ready and start storageproxyd
wait /dev/sg1
@ -220,7 +228,7 @@ on post-fs-data
mkdir /data/vendor/radio/logs/always-on 777 system radio
# Modem extended log folder
mkdir /data/vendor/radio/extended_logs 0770 radio system
mkdir /data/vendor/radio/extended_logs 0771 radio system
# Modem MDS log folder
mkdir /data/vendor/radio/mds 0771 radio system
@ -360,12 +368,6 @@ on property:persist.vendor.radio.no_modem_board=1
on fs
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
# for battery defender
mkdir /mnt/vendor/persist/battery 0700 system system
@ -398,6 +400,7 @@ on fs
chown system system /sys/class/backlight/panel0-backlight/dimming_on
chown system system /sys/class/backlight/panel0-backlight/hbm_mode
chown system system /sys/class/backlight/panel0-backlight/local_hbm_mode
chown system system /sys/class/backlight/panel0-backlight/local_hbm_delay_frames
chown system system /sys/devices/platform/exynos-drm/primary-panel/gamma
chown system system /sys/devices/platform/exynos-drm/primary-panel/min_vrefresh
chown system system /sys/devices/platform/exynos-drm/primary-panel/idle_delay_ms
@ -409,6 +412,8 @@ on fs
chown system system /sys/devices/platform/exynos-drm/primary-panel/te2_option
chown system system /sys/devices/platform/exynos-drm/primary-panel/power_state
chown system system /sys/devices/platform/exynos-drm/primary-panel/frame_rate
chown system system /sys/devices/platform/exynos-drm/primary-panel/frame_interval
chown system system /sys/devices/platform/exynos-drm/primary-panel/expected_present_time
chown system system /sys/module/drm/parameters/vblankoffdelay
chown system system /sys/module/drm/parameters/debug
chown system system /sys/class/dqe0/atc/ambient_light
@ -507,7 +512,7 @@ on property:sys.boot_completed=1
# Setup scheduler parameters
write /proc/vendor_sched/min_granularity_ns 1000000
write /proc/vendor_sched/latency_ns 8000000
write /proc/vendor_sched/max_load_balance_interval 4
write /proc/vendor_sched/max_load_balance_interval 1
write /proc/vendor_sched/enable_hrtick 1
# Setup final cpu.uclamp
@ -687,35 +692,6 @@ on post-fs-data
chown system system /sys/kernel/metrics/thermal/tr_by_group/spmic/stats_reset
on property:vendor.thermal.link_ready=1
chown system system /dev/thermal/tz-by-name/soc/mode
chown system system /dev/thermal/tz-by-name/vdroop2/trip_point_0_temp
chown system system /dev/thermal/tz-by-name/vdroop2/trip_point_0_hyst
chown system system /dev/thermal/tz-by-name/vdroop1/trip_point_0_temp
chown system system /dev/thermal/tz-by-name/vdroop1/trip_point_0_hyst
chown system system /dev/thermal/tz-by-name/smpl_gm/trip_point_0_temp
chown system system /dev/thermal/tz-by-name/smpl_gm/trip_point_0_hyst
chown system system /dev/thermal/tz-by-name/ocp_cpu1/trip_point_0_temp
chown system system /dev/thermal/tz-by-name/ocp_cpu1/trip_point_0_hyst
chown system system /dev/thermal/tz-by-name/ocp_cpu2/trip_point_0_temp
chown system system /dev/thermal/tz-by-name/ocp_cpu2/trip_point_0_hyst
chown system system /dev/thermal/tz-by-name/ocp_tpu/trip_point_0_temp
chown system system /dev/thermal/tz-by-name/ocp_tpu/trip_point_0_hyst
chown system system /dev/thermal/tz-by-name/ocp_gpu/trip_point_0_temp
chown system system /dev/thermal/tz-by-name/ocp_gpu/trip_point_0_hyst
chown system system /dev/thermal/tz-by-name/soft_ocp_cpu1/trip_point_0_temp
chown system system /dev/thermal/tz-by-name/soft_ocp_cpu1/trip_point_0_hyst
chown system system /dev/thermal/tz-by-name/soft_ocp_cpu2/trip_point_0_temp
chown system system /dev/thermal/tz-by-name/soft_ocp_cpu2/trip_point_0_hyst
chown system system /dev/thermal/tz-by-name/soft_ocp_tpu/trip_point_0_temp
chown system system /dev/thermal/tz-by-name/soft_ocp_tpu/trip_point_0_hyst
chown system system /dev/thermal/tz-by-name/soft_ocp_gpu/trip_point_0_temp
chown system system /dev/thermal/tz-by-name/soft_ocp_gpu/trip_point_0_hyst
chown system system /dev/thermal/tz-by-name/soc/trip_point_0_temp
chown system system /dev/thermal/tz-by-name/soc/trip_point_0_hyst
chown system system /dev/thermal/tz-by-name/batoilo/trip_point_0_temp
chown system system /dev/thermal/tz-by-name/batoilo/trip_point_0_hyst
chown system system /dev/thermal/tz-by-name/batoilo2/trip_point_0_temp
chown system system /dev/thermal/tz-by-name/batoilo2/trip_point_0_hyst
# Thermal
chown system system /dev/thermal/tz-by-name/disp_therm/trip_point_0_temp
chown system system /dev/thermal/tz-by-name/disp_therm/trip_point_0_hyst
@ -801,6 +777,9 @@ on property:vendor.all.modules.ready=1
chown system system /sys/bus/i2c/devices/9-0043/calibration/redc_stored
chown system system /sys/bus/i2c/devices/9-0043/default/vibe_state
chown system system /sys/bus/i2c/devices/9-0043/default/num_waves
chown system system /sys/bus/i2c/devices/9-0043/default/braking_time_bank
chown system system /sys/bus/i2c/devices/9-0043/default/braking_time_index
chown system system /sys/bus/i2c/devices/9-0043/default/braking_time_ms
chown system system /sys/bus/i2c/devices/9-0043/default/f0_offset
chown system system /sys/bus/i2c/devices/9-0043/default/owt_free_space
chown system system /sys/bus/i2c/devices/9-0043/default/f0_comp_enable

View file

@ -27,12 +27,16 @@ on init
write /proc/vendor_sched/groups/fg/prefer_idle 1
write /proc/vendor_sched/groups/sys/uclamp_min 190
write /proc/vendor_sched/groups/sys/prefer_idle 1
write /proc/vendor_sched/groups/fg_wi/prefer_idle 1
# Make sure little core don't go below 820MHz
write /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 820000
write /proc/vendor_sched/groups/bg/rampup_multiplier 0
write /proc/vendor_sched/groups/cam/rampup_multiplier 1
write /proc/vendor_sched/groups/cam_power/rampup_multiplier 1
write /proc/vendor_sched/groups/dex2oat/rampup_multiplier 0
write /proc/vendor_sched/groups/fg/rampup_multiplier 0
write /proc/vendor_sched/groups/fg_wi/rampup_multiplier 1
write /proc/vendor_sched/groups/nnapi/rampup_multiplier 0
write /proc/vendor_sched/groups/ota/rampup_multiplier 0
write /proc/vendor_sched/groups/rt/rampup_multiplier 0
@ -42,6 +46,20 @@ on init
write /proc/vendor_sched/groups/ta/rampup_multiplier 1
write /proc/vendor_sched/adpf_rampup_multiplier 2
write /proc/vendor_sched/groups/bg/disable_util_est 1
write /proc/vendor_sched/groups/cam/disable_util_est 0
write /proc/vendor_sched/groups/cam_power/disable_util_est 0
write /proc/vendor_sched/groups/dex2oat/disable_util_est 1
write /proc/vendor_sched/groups/fg/disable_util_est 1
write /proc/vendor_sched/groups/fg_wi/disable_util_est 0
write /proc/vendor_sched/groups/nnapi/disable_util_est 1
write /proc/vendor_sched/groups/ota/disable_util_est 1
write /proc/vendor_sched/groups/rt/disable_util_est 1
write /proc/vendor_sched/groups/sf/disable_util_est 0
write /proc/vendor_sched/groups/sys/disable_util_est 1
write /proc/vendor_sched/groups/sys_bg/disable_util_est 1
write /proc/vendor_sched/groups/ta/disable_util_est 0
# governor setting
write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor sched_pixel
write /sys/devices/system/cpu/cpu0/cpufreq/sched_pixel/up_rate_limit_us 500
@ -115,6 +133,16 @@ on init
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu6_memlat@17000010/mem_latency/stall_floor 2400
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu7_memlat@17000010/mem_latency/stall_floor 500
# Prefer Asymmetric MTE mode when enabled
write /sys/devices/system/cpu/cpu0/mte_tcf_preferred asymm
write /sys/devices/system/cpu/cpu1/mte_tcf_preferred asymm
write /sys/devices/system/cpu/cpu2/mte_tcf_preferred asymm
write /sys/devices/system/cpu/cpu3/mte_tcf_preferred asymm
write /sys/devices/system/cpu/cpu4/mte_tcf_preferred asymm
write /sys/devices/system/cpu/cpu5/mte_tcf_preferred asymm
write /sys/devices/system/cpu/cpu6/mte_tcf_preferred asymm
write /sys/devices/system/cpu/cpu7/mte_tcf_preferred asymm
on zygote-start
# For PixelLogger configuration file.
chmod 0771 /data/vendor/wifi
@ -140,6 +168,7 @@ on zygote-start
write /proc/vendor_sched/groups/dex2oat/ug 1
write /proc/vendor_sched/groups/ta/ug 2
write /proc/vendor_sched/groups/fg/ug 2
write /proc/vendor_sched/groups/fg_wi/ug 2
write /proc/vendor_sched/groups/nnapi/ug 2
write /proc/vendor_sched/groups/rt/ug 2
write /proc/vendor_sched/groups/sf/ug 2
@ -163,11 +192,12 @@ on property:sys.boot_completed=1
# Set kswapd affinity
write /sys/kernel/vendor_mm/kswapd_cpu_affinity 7f
write /sys/kernel/vendor_mm/pa_kill/cpu_affinity 7f
write /sys/kernel/vendor_mm/kcompactd_cpu_affinity 7f
# Restore prefer idle
write /proc/vendor_sched/groups/ta/preferred_idle_mask_low 0xff
write /proc/vendor_sched/groups/ta/preferred_idle_mask_mid 0xff
write /proc/vendor_sched/groups/ta/preferred_idle_mask_high 0xff
write /proc/vendor_sched/groups/ta/preferred_idle_mask_low 0x7f
write /proc/vendor_sched/groups/ta/preferred_idle_mask_mid 0x7f
write /proc/vendor_sched/groups/ta/preferred_idle_mask_high 0x7f
write /proc/vendor_sched/groups/fg/preferred_idle_mask_low 0xff
write /proc/vendor_sched/groups/fg/preferred_idle_mask_mid 0xff
write /proc/vendor_sched/groups/fg/preferred_idle_mask_high 0xff
@ -178,6 +208,7 @@ on property:sys.boot_completed=1
# Setup final cpuset
write /dev/cpuset/top-app/cpus 0-7
write /dev/cpuset/foreground/cpus 0-6
write /dev/cpuset/foreground_window/cpus 0-6
write /dev/cpuset/background/cpus 0-3
write /dev/cpuset/system-background/cpus 0-3
write /dev/cpuset/restricted/cpus 0-3
@ -199,6 +230,13 @@ on property:sys.boot_completed=1
write /sys/devices/system/cpu/cpufreq/policy7/sched_pixel/pmu_limit_enable 1
write /proc/vendor_sched/pmu_poll_enable 0
# Set priority task name and boost value
write /proc/vendor_sched/priority_task_name "ExoPlayer:Place"
write /proc/vendor_sched/priority_task_boost_value 742
# To be removed after InputDispatche and InputReader become ADPF
write /proc/vendor_sched/prefer_idle_task_name "InputDispatcher,InputReader"
# MTE
on property:persist.device_config.runtime_native_boot.mode_override=sync
# Per-core mode overrides.

View file

@ -252,6 +252,8 @@ on early-boot
setprop vendor.usb.functions.ready 1
on boot
# Set USB timeout
write sys/module/usbcore/parameters/initial_descriptor_timeout 500
# Use USB Gadget HAL
setprop sys.usb.configfs 2
# Enable in-kernel media-presence polling for SD cards
@ -291,6 +293,7 @@ on property:sys.usb.config=charger && property:sys.usb.configfs=1
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "midi"
symlink /config/usb_gadget/g1/functions/midi.gs5 /config/usb_gadget/g1/configs/b.1/f1
write /config/usb_gadget/g1/UDC ${sys.usb.controller}
write /sys/class/typec/port0/device/update_sdp_enum_timeout 0x1
setprop sys.usb.state ${sys.usb.config}
on property:ro.bootmode=usbuwb
@ -308,7 +311,7 @@ on property:persist.vendor.usb.displayport.enabled=0
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
write /sys/module/exynos_hdcp2/parameters/max_ver 3
on property:persist.sys.hdcp_checking="drm-only"
write /sys/module/exynos_hdcp2/parameters/max_ver 2

View file

@ -173,6 +173,7 @@
# SecureElement
/dev/st54spi 0660 secure_element secure_element
/dev/st33spi 0660 secure_element secure_element
#bigwave
/dev/bigwave 0660 mediacodec mediadrm

View file

@ -68,6 +68,13 @@
<permission name="android.permission.POST_NOTIFICATIONS" fixed="false"/>
</exception>
<exception package="com.google.android.apps.pixel.relationships">
<!-- Contacts -->
<permission name="android.permission.READ_CALL_LOG" fixed="false"/>
<permission name="android.permission.READ_CONTACTS" fixed="false"/>
<permission name="android.permission.WRITE_CONTACTS" fixed="false"/>
</exception>
<exception package="com.google.android.apps.cbrsnetworkmonitor">
<!-- Location access to create CBRS geofences-->
<permission name="android.permission.ACCESS_FINE_LOCATION" fixed="true"/>

View file

@ -14,7 +14,9 @@
# limitations under the License.
#
ifneq ($(BOARD_WITHOUT_RADIO), true)
-include vendor/google_devices/zumapro/proprietary/telephony/device-vendor.mk
endif
include device/google/zumapro/device.mk
# Telephony

110
device.mk
View file

@ -80,9 +80,9 @@ PRODUCT_SOONG_NAMESPACES += \
device/google/zumapro \
device/google/zumapro/powerstats \
vendor/google_devices/common/chre/host/hal \
vendor/google_devices/zumapro/proprietary/debugpolicy \
vendor/google/whitechapel/tools \
vendor/google/interfaces \
vendor/google_devices/common/proprietary/confirmatioui_hal \
vendor/google_nos/host/android \
vendor/google_nos/test/system-test-harness \
vendor/google/camera
@ -97,8 +97,10 @@ PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
ro.oem_unlock_supported=1
# Include vendor telephony soong namespace
ifneq ($(BOARD_WITHOUT_RADIO), true)
PRODUCT_SOONG_NAMESPACES += \
vendor/samsung_slsi/telephony/$(BOARD_USES_SHARED_VENDOR_TELEPHONY)
endif
ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
#Set IKE logs to verbose for WFC
@ -215,13 +217,18 @@ PRODUCT_PROPERTY_OVERRIDES += \
endif
PRODUCT_PROPERTY_OVERRIDES += \
persist.sys.hdcp_checking=always
persist.sys.hdcp_checking=drm-only
USE_LASSEN_OEMHOOK := true
# Pixel Logger
include hardware/google/pixel/PixelLogger/PixelLogger.mk
ifneq ($(BOARD_WITHOUT_RADIO),true)
# The "power-anomaly-sitril" is added into PRODUCT_SOONG_NAMESPACES when
# $(USE_LASSEN_OEMHOOK) is true and $(BOARD_WITHOUT_RADIO) is not true.
PRODUCT_SOONG_NAMESPACES += vendor/google/tools/power-anomaly-sitril
$(call soong_config_set,sitril,use_lassen_oemhook_with_radio,true)
$(call inherit-product-if-exists, vendor/samsung_slsi/telephony/$(BOARD_USES_SHARED_VENDOR_TELEPHONY)/common/device-vendor.mk)
@ -272,9 +279,6 @@ PRODUCT_PACKAGES += \
PRODUCT_PROPERTY_OVERRIDES += \
persist.vendor.modem.extensive_logging_enabled=false
# Pixel Logger
include hardware/google/pixel/PixelLogger/PixelLogger.mk
# Use Lassen specifc Shared Modem Platform
SHARED_MODEM_PLATFORM_VENDOR := lassen
@ -290,13 +294,14 @@ include device/google/gs-common/modem/shared_modem_platform/shared_modem_platfor
# Use for GRIL
USES_LASSEN_MODEM := true
USE_WHI_GRIL_RECOVERY := true
ifeq ($(USES_GOOGLE_DIALER_CARRIER_SETTINGS),true)
USE_GOOGLE_DIALER := true
USE_GOOGLE_CARRIER_SETTINGS := true
PRODUCT_PROPERTY_OVERRIDES += \
ro.vendor.uses_google_dialer_carrier_settings=1
# GoogleDialer in PDK build with "USES_GOOGLE_DIALER_CARRIER_SETTINGS=true"
PRODUCT_SOONG_NAMESPACES += vendor/google_devices/zumapro/proprietary/GoogleDialer
endif
ifeq ($(USES_GOOGLE_PREBUILT_MODEM_SVC),true)
@ -320,8 +325,14 @@ else
TARGET_USES_VULKAN = true
endif
# "vendor/arm" doesn't exist in PDK build
ifeq (,$(realpath $(TOPDIR)vendor/arm/mali/valhall/Android.bp))
PRODUCT_SOONG_NAMESPACES += \
vendor/google_devices/zumapro/prebuilts/gpu
else
PRODUCT_SOONG_NAMESPACES += \
vendor/arm/mali/valhall
endif
$(call soong_config_set,pixel_mali,soc,$(TARGET_BOARD_PLATFORM))
# TODO (b/297408842): The gralloc is being open-sourced, and we cannot pass
@ -334,9 +345,18 @@ PRODUCT_PACKAGES += \
csffw_image_prebuilt__firmware_prebuilt_ttux_mali_csffw.bin \
libGLES_mali \
vulkan.mali \
libOpenCL \
libgpudataproducer
# Install the OpenCL ICD Loader
PRODUCT_SOONG_NAMESPACES += external/OpenCL-ICD-Loader
PRODUCT_PACKAGES += \
libOpenCL \
mali_icd__customer_pixel_opencl-icd_ARM.icd
ifeq ($(DEVICE_IS_64BIT_ONLY),false)
PRODUCT_PACKAGES += \
mali_icd__customer_pixel_opencl-icd_ARM32.icd
endif
ifeq ($(USE_SWIFTSHADER),true)
$(warning USE_SWIFTSHADER set to current target)
PRODUCT_PACKAGES += \
@ -358,11 +378,10 @@ endif
PRODUCT_VENDOR_PROPERTIES += ro.surface_flinger.prime_shader_cache.ultrahdr=1
# Mali Configuration Properties
# b/221255664 prevents setting PROTECTED_MAX_CORE_COUNT=2
PRODUCT_VENDOR_PROPERTIES += \
vendor.mali.platform.config=/vendor/etc/mali/platform.config \
vendor.mali.debug.config=/vendor/etc/mali/debug.config \
vendor.mali.base_protected_max_core_count=1 \
vendor.mali.base_protected_max_core_count=4 \
vendor.mali.base_protected_tls_max=67108864 \
vendor.mali.platform_agt_frequency_khz=24576
@ -388,10 +407,13 @@ PRODUCT_VENDOR_PROPERTIES += \
# GRAPHICS - GPU (end)
# ####################
PRODUCT_SHIPPING_API_LEVEL := $(SHIPPING_API_LEVEL)
# Device Manifest, Device Compatibility Matrix for Treble
DEVICE_MANIFEST_FILE := \
device/google/zumapro/manifest.xml
BOARD_USE_CODEC2_AIDL := V1
ifneq (,$(filter aosp_%,$(TARGET_PRODUCT)))
DEVICE_MANIFEST_FILE += \
device/google/zumapro/manifest_media_aosp.xml
@ -412,8 +434,6 @@ DEVICE_MATRIX_FILE := \
DEVICE_PACKAGE_OVERLAYS += device/google/zumapro/overlay
PRODUCT_SHIPPING_API_LEVEL := 34
# RKP VINTF
-include vendor/google_nos/host/android/hals/keymaster/aidl/strongbox/RemotelyProvisionedComponent-citadel.mk
@ -430,7 +450,8 @@ PRODUCT_COPY_FILES += \
PRODUCT_COPY_FILES += \
device/google/zumapro/conf/init.zumapro.soc.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.zumapro.soc.rc \
device/google/zumapro/conf/init.zuma.soc.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.zuma.soc.rc \
device/google/zumapro/conf/init.zumapro.board.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.zumapro.board.rc
device/google/zumapro/conf/init.zumapro.board.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.zumapro.board.rc \
device/google/zumapro/conf/init.efs.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.efs.rc
ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
PRODUCT_COPY_FILES += \
@ -445,6 +466,17 @@ PRODUCT_COPY_FILES += \
device/google/zumapro/conf/init.recovery.device.rc:$(TARGET_COPY_OUT_RECOVERY)/root/init.recovery.zuma.rc
# Fstab files
ifeq (true,$(TARGET_BOOTS_16K))
PRODUCT_SOONG_NAMESPACES += \
device/google/zumapro/conf/fs-16kb
else ifeq (ext4,$(TARGET_RW_FILE_SYSTEM_TYPE))
PRODUCT_SOONG_NAMESPACES += \
device/google/zumapro/conf/ext4
else
PRODUCT_SOONG_NAMESPACES += \
device/google/zumapro/conf/f2fs
endif
PRODUCT_PACKAGES += \
fstab.zuma \
fstab.zumapro \
@ -456,8 +488,9 @@ PRODUCT_PACKAGES += \
fstab.zumapro-fips.vendor_ramdisk
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.modem:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.modem
device/google/$(TARGET_BOARD_PLATFORM)/conf/fstab.rw.persist:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.persist \
device/google/$(TARGET_BOARD_PLATFORM)/conf/fstab.ro.modem:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.modem \
device/google/$(TARGET_BOARD_PLATFORM)/conf/fstab.rw.efs:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.efs
# Shell scripts
PRODUCT_PACKAGES += \
@ -498,8 +531,6 @@ PRODUCT_COPY_FILES += \
## Enable the CHRE Daemon
CHRE_USF_DAEMON_ENABLED := false
PRODUCT_PACKAGES += \
preloaded_nanoapps.json
# Filesystem management tools
PRODUCT_PACKAGES += \
@ -556,15 +587,21 @@ PRODUCT_COPY_FILES += \
# Sensors
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.accelerometer.xml \
frameworks/native/data/etc/android.hardware.sensor.barometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.barometer.xml \
frameworks/native/data/etc/android.hardware.sensor.compass.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.compass.xml \
frameworks/native/data/etc/android.hardware.sensor.dynamic.head_tracker.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.dynamic.head_tracker.xml \
frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.gyroscope.xml \
frameworks/native/data/etc/android.hardware.sensor.hifi_sensors.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.hifi_sensors.xml \
frameworks/native/data/etc/android.hardware.sensor.light.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.light.xml\
frameworks/native/data/etc/android.hardware.sensor.proximity.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.proximity.xml \
frameworks/native/data/etc/android.hardware.sensor.stepcounter.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepcounter.xml \
frameworks/native/data/etc/android.hardware.sensor.stepdetector.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepdetector.xml
ifneq ($(DISABLE_SENSOR_BARO_HIFI),true)
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.sensor.barometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.barometer.xml \
frameworks/native/data/etc/android.hardware.sensor.hifi_sensors.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.hifi_sensors.xml
endif
ifneq ($(DISABLE_SENSOR_PROX),true)
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.sensor.proximity.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.proximity.xml
endif
# Add sensor HAL AIDL product packages
PRODUCT_PACKAGES += android.hardware.sensors-service.multihal
@ -620,6 +657,9 @@ PRODUCT_PROPERTY_OVERRIDES += aaudio.mmap_policy=2
PRODUCT_PROPERTY_OVERRIDES += aaudio.mmap_exclusive_policy=2
PRODUCT_PROPERTY_OVERRIDES += aaudio.hw_burst_min_usec=2000
# Set util_clamp_min for s/w spatializer
PRODUCT_PROPERTY_OVERRIDES += audio.spatializer.effect.util_clamp_min=300
# Calliope firmware overwrite
#PRODUCT_COPY_FILES += \
device/google/zumapro/firmware/calliope_dram.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/calliope_dram.bin \
@ -737,12 +777,19 @@ PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.camera.flash-autofocus.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.flash-autofocus.xml \
frameworks/native/data/etc/android.hardware.camera.front.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.front.xml \
frameworks/native/data/etc/android.hardware.camera.concurrent.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.concurrent.xml \
frameworks/native/data/etc/android.hardware.camera.full.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.full.xml\
frameworks/native/data/etc/android.hardware.camera.raw.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.raw.xml\
ifneq ($(DISABLE_CAMERA_FS),true)
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.camera.flash-autofocus.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.flash-autofocus.xml
else
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.camera.autofocus.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.autofocus.xml
endif
#PRODUCT_COPY_FILES += \
frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml \
frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml \
@ -812,8 +859,6 @@ PRODUCT_DEFAULT_PROPERTY_OVERRIDES += vendor.display.1.brightness.dimming.usage?
PRODUCT_PROPERTY_OVERRIDES += \
persist.sys.sf.native_mode=2
PRODUCT_COPY_FILES += \
device/google/zumapro/display/display_colordata_cal0.pb:$(TARGET_COPY_OUT_VENDOR)/etc/display_colordata_cal0.pb
# limit DPP downscale ratio
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += vendor.hwc.dpp.downscale=4
@ -865,12 +910,19 @@ PRODUCT_COPY_FILES += \
device/google/zumapro/media_codecs_performance_c2.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_c2.xml \
PRODUCT_PROPERTY_OVERRIDES += \
debug.stagefright.c2-poolmask=458752 \
debug.c2.use_dmabufheaps=1 \
media.c2.dmabuf.padding=512 \
debug.stagefright.ccodec_delayed_params=1 \
ro.vendor.gpu.dataspace=1
ifneq ($(BOARD_USE_CODEC2_AIDL), )
PRODUCT_PROPERTY_OVERRIDES += \
debug.stagefright.c2-poolmask=1507328
else
PRODUCT_PROPERTY_OVERRIDES += \
debug.stagefright.c2-poolmask=458752
endif
# Create input surface on the framework side
PRODUCT_PROPERTY_OVERRIDES += \
debug.stagefright.c2inputsurface=-1 \
@ -915,9 +967,6 @@ PRODUCT_PACKAGES_ENG += \
tipc-test \
trusty_stats_test \
# Remove confirmation UI (b/316160738)
# include device/google/gs101/confirmationui/confirmationui.mk
# Trusty Metrics Daemon
PRODUCT_SOONG_NAMESPACES += \
vendor/google/trusty/common
@ -965,7 +1014,7 @@ PRODUCT_PRODUCT_PROPERTIES += \
ro.postinstall.fstab.prefix=/product
PRODUCT_COPY_FILES += \
device/google/zumapro/conf/fstab.postinstall:$(TARGET_COPY_OUT_PRODUCT)/etc/fstab.postinstall
device/google/zumapro/conf/fstab.ro.postinstall:$(TARGET_COPY_OUT_PRODUCT)/etc/fstab.postinstall
# fastbootd
PRODUCT_PACKAGES += \
@ -1013,6 +1062,8 @@ SUPPORT_NR_DS := true
USE_RADIO_HAL_2_1 := true
# Using Early Send Device Info
USE_EARLY_SEND_DEVICE_INFO := true
# Using New Radio Access Format to modem
USE_NEW_RADIO_ACCESS_SPECIFIER_FORMAT := true
#$(call inherit-product, vendor/google_devices/telephony/common/device-vendor.mk)
#$(call inherit-product, vendor/google_devices/zumapro/proprietary/device-vendor.mk)
@ -1043,6 +1094,9 @@ PRODUCT_PACKAGES += \
android.hardware.health-service.zumapro_recovery \
# Audio
# Audio Vendor Prebuilt
$(call soong_config_set,aoc_spk_post_processing,prebuilts_dir,$(RELEASE_GOOGLE_SPKPOSTPROCESSING_ZUMAPRO_DIR))
# Audio HAL Server & Default Implementations
ifeq ($(USE_AUDIO_HAL_AIDL),true)
include device/google/gs-common/audio/aidl.mk
@ -1231,3 +1285,5 @@ PRODUCT_PROPERTY_OVERRIDES += \
# since it can't be overridden from /vendor.
PRODUCT_PRODUCT_PROPERTIES += \
dumpstate.strict_run=false
PRODUCT_NO_BIONIC_PAGE_SIZE_MACRO := true

View file

@ -114,7 +114,7 @@
</hal>
<hal format="aidl" optional="true">
<name>com.google.hardware.pixel.display</name>
<version>12</version>
<version>13</version>
<interface>
<name>IDisplay</name>
<instance>default</instance>
@ -143,14 +143,6 @@
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.google.radioext</name>
<version>1.7</version>
<interface>
<name>IRadioExt</name>
<instance>default</instance>
</interface>
</hal>
<hal format="aidl" optional="true">
<name>vendor.google.wifi_ext</name>
<version>2-3</version>
@ -185,4 +177,22 @@
<instance>rilExternal</instance>
</interface>
</hal>
<hal format="aidl" optional="true">
<name>vendor.samsung_slsi.telephony.hardware.radioExternal</name>
<version>1</version>
<interface>
<name>IOemSlsiRadioExternal</name>
<instance>default</instance>
</interface>
</hal>
<hal format="aidl" optional="true">
<name>vendor.samsung_slsi.telephony.hardware.oemservice</name>
<version>1</version>
<interface>
<name>IOemService</name>
<instance>dm0</instance>
<instance>dm1</instance>
<instance>sced0</instance>
</interface>
</hal>
</compatibility-matrix>

Binary file not shown.

View file

@ -180,6 +180,7 @@ void dumpMaxFg() {
const char *maxfg [][2] = {
{"Power supply property maxfg", "/sys/class/power_supply/maxfg/uevent"},
{"maxfg registers", "/sys/class/power_supply/maxfg/registers_dump"},
{"m5_state", "/sys/class/power_supply/maxfg/m5_model_state"},
{"maxfg logbuffer", "/dev/logbuffer_maxfg"},
{"maxfg_monitor logbuffer", "/dev/logbuffer_maxfg_monitor"},
@ -187,6 +188,7 @@ void dumpMaxFg() {
const char *max77779fgFiles [][2] = {
{"Power supply property max77779fg", "/sys/class/power_supply/max77779fg/uevent"},
{"max77779fg registers", "/sys/class/power_supply/max77779fg/registers_dump"},
{"model_state", "/sys/class/power_supply/max77779fg/model_state"},
{"max77779fg logbuffer", "/dev/logbuffer_max77779fg"},
{"max77779fg_monitor logbuffer", "/dev/logbuffer_max77779fg_monitor"},
@ -195,6 +197,8 @@ void dumpMaxFg() {
const char *maxfgSecondary [][2] = {
{"Power supply property maxfg_base", "/sys/class/power_supply/maxfg_base/uevent"},
{"Power supply property maxfg_secondary", "/sys/class/power_supply/maxfg_secondary/uevent"},
{"maxfg_base registers", "/sys/class/power_supply/maxfg_base/registers_dump"},
{"maxfg_secondary registers", "/sys/class/power_supply/maxfg_secondary/registers_dump"},
{"model_state", "/sys/class/power_supply/maxfg_base/model_state"},
{"maxfg_base", "/dev/logbuffer_maxfg_base"},
{"maxfg_secondary", "/dev/logbuffer_maxfg_secondary"},
@ -235,6 +239,21 @@ void dumpPowerSupplyDock() {
}
}
void dumpSecondCharge() {
const char* powerSupplyPropertySecChgTitle = "Power supply property rt9471";
const char* powerSupplyPropertySecChgFile = "/sys/class/power_supply/rt9471/uevent";
const char *secChgTitle = "RT9470G";
const char *secChgFile = "/sys/devices/platform/10ca0000.hsi2c/i2c-10/10-005b/registers_dump";
if (isValidFile(powerSupplyPropertySecChgFile)) {
dumpFileContent(powerSupplyPropertySecChgTitle, powerSupplyPropertySecChgFile);
}
if (isValidFile(secChgFile)) {
dumpFileContent(secChgTitle, secChgFile);
}
}
void dumpLogBufferTcpm() {
const char* logbufferTcpmTitle = "Logbuffer TCPM";
const char* logbufferTcpmFile = "/dev/logbuffer_tcpm";
@ -253,48 +272,44 @@ void dumpLogBufferTcpm() {
}
void dumpTcpc() {
int ret;
const char* max77759TcpcHead = "TCPC";
const char* i2cSubDirMatch = "i2c-";
const char* directory = "/sys/devices/platform/10d60000.hsi2c/";
const char* max77759Tcpc [][2] {
{"registers:", "/i2c-max77759tcpc/registers"},
{"frs:", "/i2c-max77759tcpc/frs"},
{"auto_discharge:", "/i2c-max77759tcpc/auto_discharge"},
{"bcl2_enabled:", "/i2c-max77759tcpc/bcl2_enabled"},
{"cc_toggle_enable:", "/i2c-max77759tcpc/cc_toggle_enable"},
{"containment_detection:", "/i2c-max77759tcpc/containment_detection"},
{"containment_detection_status:", "/i2c-max77759tcpc/containment_detection_status"},
const char* max77759TcpcHead = "TCPC Device Attributes";
const char* directory = "/sys/class/typec/port0/device";
// alphabetic order
const char* max77759Tcpc [] {
"auto_discharge",
"bc12_enabled",
"cc_toggle_enable",
"contaminant_detection",
"contaminant_detection_status",
"frs",
"irq_hpd_count",
"manual_disable_vbus",
"non_compliant_reasons",
"sbu_pullup",
"update_sdp_enum_timeout",
"usb_limit_accessory_current",
"usb_limit_accessory_enable",
"usb_limit_sink_current",
"usb_limit_sink_enable",
"usb_limit_source_enable",
};
std::vector<std::string> files;
std::string content;
std::string tcpcRegistersPath(std::string(directory) + "/registers");
dumpFileContent("TCPC Registers", tcpcRegistersPath.c_str());
printTitle(max77759TcpcHead);
ret = getFilesInDir(directory, &files);
if (ret < 0) {
for (auto &tcpcVal : max77759Tcpc)
printf("%s\n", tcpcVal[0]);
return;
}
for (auto &file : files) {
for (auto &tcpcVal : max77759Tcpc) {
printf("%s ", tcpcVal[0]);
if (std::string::npos == std::string(file).find(i2cSubDirMatch)) {
continue;
}
std::string fileName = directory + file + "/" + std::string(tcpcVal[1]);
if (!android::base::ReadFileToString(fileName, &content)) {
continue;
}
printf("%s\n", content.c_str());
}
for (auto& tcpcVal : max77759Tcpc) {
std::string filename = std::string(directory) + "/" + std::string(tcpcVal);
printf("%s: ", tcpcVal);
android::base::ReadFileToString(filename, &content);
if (!content.empty() && (content.back() == '\n' || content.back() == '\r'))
content.pop_back();
printf("%s\n", content.c_str());
}
printf("\n");
}
void dumpPdEngine() {
@ -532,6 +547,15 @@ void dumpChgUserDebug() {
}
}
void dumpScratchpad() {
const char *title = "max77779sp registers dump";
const char *file = "/sys/devices/platform/108d0000.hsi2c/i2c-6/6-0060/registers_dump";
if (isValidFile(file)) {
dumpFileContent(title, file);
}
}
void dumpBatteryEeprom() {
const char *title = "Battery EEPROM";
const char *files[] {
@ -1065,10 +1089,23 @@ void dumpEvtCounter() {
}
}
void dumpCpuIdleHistogramStats() {
const char* cpuIdleHistogramTitle = "CPU Idle Histogram";
const char* cpuIdleHistogramFile = "/sys/kernel/metrics/cpuidle_histogram/"
"cpuidle_histogram";
const char* cpuClusterHistogramTitle = "CPU Cluster Histogram";
const char* cpuClusterHistogramFile = "/sys/kernel/metrics/"
"cpuidle_histogram/cpucluster_histogram";
dumpFileContent(cpuIdleHistogramTitle, cpuIdleHistogramFile);
dumpFileContent(cpuClusterHistogramTitle, cpuClusterHistogramFile);
}
int main() {
dumpPowerStatsTimes();
dumpAcpmStats();
dumpCpuIdleHistogramStats();
dumpPowerSupplyStats();
dumpSecondCharge();
dumpMaxFg();
dumpPowerSupplyDock();
dumpLogBufferTcpm();
@ -1078,6 +1115,7 @@ int main() {
dumpBatteryDefend();
dumpChg();
dumpChgUserDebug();
dumpScratchpad();
dumpBatteryEeprom();
dumpChargerStats();
dumpWlcLogs();

View file

@ -1,13 +1,4 @@
<manifest version="1.0" type="device" target-level="8">
<hal format="hidl">
<name>android.hardware.graphics.mapper</name>
<transport arch="32+64">passthrough</transport>
<version>4.0</version>
<interface>
<name>IMapper</name>
<instance>default</instance>
</interface>
</hal>
<hal format="aidl">
<name>android.hardware.boot</name>
<fqname>IBootControl/default</fqname>

View file

@ -65,6 +65,7 @@
<Feature name="can-swap-width-height" value="1" />
<Feature name="vq-minimum-quality"/>
<Feature name="encoding-statistics"/>
<Feature name="hdr-editing" />
</MediaCodec>
</Encoders>
</MediaCodecs>

View file

@ -190,7 +190,8 @@
<Limit name="measured-frame-rate-320x240" range="371-553" />
<Limit name="measured-frame-rate-720x480" range="162-305" />
<Limit name="measured-frame-rate-1280x720" range="154-198" />
<Limit name="measured-frame-rate-1920x1080" range="46-97" />
<Limit name="measured-frame-rate-1920x1080" range="70-97" />
<Limit name="measured-frame-rate-3840x2160" range="45-54" />
</MediaCodec>
<MediaCodec name="c2.exynos.mpeg4.encoder" type="video/mp4v-es" update="true">
<!-- measured 90%:240-242 med:241 N=2 -->

View file

@ -514,6 +514,19 @@
<!-- The package name of the app to handle oem-enabled satellite SOS messaging. -->
<string name="config_oem_enabled_satellite_sos_handover_app">com.google.android.apps.stargate;com.google.android.apps.stargate.questionnaire.QuestionnaireHomeActivity</string>
<!-- The intent action to handle esp loopback eSOS messaging. -->
<string name="config_satellite_test_with_esp_replies_intent_action">com.google.android.apps.stargate.ACTION_ESOS_QUESTIONNAIRE_TEST_WITH_ESP_REPLIES</string>
<!-- The intent action to handle oem-enabled satellite SOS messaging. -->
<string name="config_satellite_emergency_handover_intent_action">com.google.android.apps.stargate.ACTION_ESOS_QUESTIONNAIRE</string>
<!-- The intent action to handle oem-enabled satellite demo mode SOS messaging. -->
<string name="config_satellite_demo_mode_sos_intent_action">com.google.android.apps.stargate.ACTION_ESOS_DEMO</string>
<!-- User activity timeout: Maximum screen dim duration in milliseconds. -->
<integer name="config_maximumScreenDimDuration">20000</integer>
<!-- User activity timeout: Maximum screen dim duration as a percentage of screen off timeout.
-->
<fraction name="config_maximumScreenDimRatio">33%</fraction>
</resources>

View file

@ -117,6 +117,23 @@ const struct SysfsCollector::SysfsPaths sysfs_paths = {
"/sys/devices/platform/exynos-drm/displayport/drm-displayport-stats/sink_count_invalid_failures",
"/sys/devices/platform/exynos-drm/displayport/drm-displayport-stats/link_unstable_failures",
},
.DisplayPortDSCStatsPaths = {
"/sys/devices/platform/exynos-drm/displayport/drm-displayport-stats/fec_dsc_supported",
"/sys/devices/platform/exynos-drm/displayport/drm-displayport-stats/fec_dsc_not_supported",
},
.DisplayPortMaxResolutionStatsPaths = {
"/sys/devices/platform/exynos-drm/drm-displayport-stats/max_res_other",
"/sys/devices/platform/exynos-drm/drm-displayport-stats/max_res_1366_768",
"/sys/devices/platform/exynos-drm/drm-displayport-stats/max_res_1440_900",
"/sys/devices/platform/exynos-drm/drm-displayport-stats/max_res_1600_900",
"/sys/devices/platform/exynos-drm/drm-displayport-stats/max_res_1920_1080",
"/sys/devices/platform/exynos-drm/drm-displayport-stats/max_res_2560_1080",
"/sys/devices/platform/exynos-drm/drm-displayport-stats/max_res_2560_1440",
"/sys/devices/platform/exynos-drm/drm-displayport-stats/max_res_3440_1440",
"/sys/devices/platform/exynos-drm/drm-displayport-stats/max_res_3840_2160",
"/sys/devices/platform/exynos-drm/drm-displayport-stats/max_res_5120_2880",
"/sys/devices/platform/exynos-drm/drm-displayport-stats/max_res_7680_4320",
},
.HDCPStatsPaths = {
"/sys/devices/platform/hdcp/hdcp2_success_count",
"/sys/devices/platform/hdcp/hdcp2_fallback_count",

View file

@ -196,7 +196,7 @@ void addDvfsStats(std::shared_ptr<PowerStats> p) {
path, NS_TO_MS, cfgs));
// TPU DVFS
const int TICK_TO_MS = 100;
const int TICK_TO_MS = 1000;
std::vector<std::string> freqs = {
"1119000",
"1066000",
@ -282,7 +282,7 @@ void addSoC(std::shared_ptr<PowerStats> p) {
}
void setEnergyMeter(std::shared_ptr<PowerStats> p) {
std::vector<const std::string> deviceNames { "s2mpg14-odpm", "s2mpg15-odpm" };
std::vector<std::string> deviceNames { "s2mpg14-odpm", "s2mpg15-odpm" };
p->setEnergyMeterDataProvider(std::make_unique<IioEnergyMeterDataProvider>(deviceNames, true));
}

View file

@ -159,6 +159,21 @@
}
]
},
{
"Name": "HighPerformanceWI",
"Actions": [
{
"Name": "WriteFile",
"Params":
{
"FilePath": "/proc/vendor_sched/groups/fg_wi/set_task_group",
"ProcFilePath": "/proc/vendor_sched/groups/fg_wi/set_proc_group",
"Value": "<pid>",
"LogFailures": "false"
}
}
]
},
{
"Name": "RealtimePerformance",
"Actions": [
@ -288,6 +303,10 @@
{
"Name": "OtaProfiles",
"Profiles": [ "OtaPerformance", "ServiceCapacityLow", "LowIoPriority", "TimerSlackHigh" ]
},
{
"Name": "InputPolicy",
"Profiles": [ "ResetUclampGrp" ]
}
]
}

5
telephony/README.md Normal file
View file

@ -0,0 +1,5 @@
# Geofence Data Description
- The file `sats2.dat` contains the geofence data for the intersection of the entire US territory
and Skylo satellite coverage.
- Satellite coverage is not available in Hawaii and most parts of Alaska.
- This data has better fidelity than previous versions.

Binary file not shown.

View file

@ -49,6 +49,7 @@ constexpr char kTcpcDevName[] = "i2c-max77759tcpc";
constexpr char kI2cClientId[] = "0025";
constexpr char kAccessoryLimitCurrent[] = "usb_limit_accessory_current";
constexpr char kAccessoryLimitCurrentEnable[] = "usb_limit_accessory_enable";
constexpr char kUpdateSdpEnumTimeout[] = "update_sdp_enum_timeout";
UsbGadget::UsbGadget() : mGadgetIrqPath(""),
mI2cClientPath("") {
@ -103,6 +104,7 @@ Status UsbGadget::getUsbGadgetIrqPath() {
void currentFunctionsAppliedCallback(bool functionsApplied, void *payload) {
UsbGadget *gadget = (UsbGadget *)payload;
gadget->mCurrentUsbFunctionsApplied = functionsApplied;
gadget->updateSdpEnumTimeout();
}
ScopedAStatus UsbGadget::getCurrentUsbFunctions(const shared_ptr<IUsbGadgetCallback> &callback,
@ -369,6 +371,28 @@ ScopedAStatus UsbGadget::reset(const shared_ptr<IUsbGadgetCallback> &callback,
return ScopedAStatus::ok();
}
void UsbGadget::updateSdpEnumTimeout() {
string update_sdp_enum_timeout_path;
if (mI2cClientPath.empty()) {
for (int i = 0; i < NUM_HSI2C_PATHS; ++i) {
mI2cClientPath = getI2cClientPath(kHsi2cPaths[i], kTcpcDevName, kI2cClientId);
if (mI2cClientPath.empty()) {
ALOGE("%s: Unable to locate i2c bus node", __func__);
} else {
break;
}
}
}
update_sdp_enum_timeout_path = mI2cClientPath + kUpdateSdpEnumTimeout;
if (!WriteStringToFile("1", update_sdp_enum_timeout_path)) {
ALOGE("%s: Unable to write to %s.", __func__, update_sdp_enum_timeout_path.c_str());
} else {
ALOGI("%s: Updated SDP enumeration timeout value.", __func__);
}
}
Status UsbGadget::setupFunctions(long functions,
const shared_ptr<IUsbGadgetCallback> &callback, uint64_t timeout,
int64_t in_transactionId) {
@ -427,6 +451,7 @@ Status UsbGadget::setupFunctions(long functions,
mCurrentUsbFunctionsApplied = true;
if (callback)
callback->setCurrentUsbFunctionsCb(functions, Status::SUCCESS, in_transactionId);
updateSdpEnumTimeout();
return Status::SUCCESS;
}

View file

@ -74,7 +74,7 @@ constexpr char kProcInterruptsPath[] = "/proc/interrupts";
constexpr char kProcIrqPath[] = "/proc/irq/";
constexpr char kSmpAffinityList[] = "/smp_affinity_list";
#ifndef UDC_PATH
#define UDC_PATH "/sys/class/udc/11210000.dwc3/"
#define UDC_PATH "/sys/devices/platform/11210000.usb/11210000.dwc3/udc/11210000.dwc3/"
#endif
static MonitorFfs monitorFfs(kGadgetName);
@ -115,6 +115,9 @@ struct UsbGadget : public BnUsbGadget {
ScopedAStatus setVidPid(const char *vid,const char *pid);
// Indicates to the kernel that the gadget service is ready and the kernel can
// set SDP timeout to a lower value.
void updateSdpEnumTimeout();
std::string mI2cClientPath;
private:

View file

@ -54,6 +54,7 @@ namespace usb_flags = android::hardware::usb::flags;
using aidl::android::frameworks::stats::IStats;
using android::base::GetProperty;
using android::base::Join;
using android::base::ParseInt;
using android::base::ParseUint;
using android::base::Tokenize;
using android::base::Trim;
@ -101,7 +102,9 @@ constexpr char kThermalZoneForTempReadPrimary[] = "usb_pwr_therm2";
constexpr char kThermalZoneForTempReadSecondary1[] = "usb_pwr_therm";
constexpr char kThermalZoneForTempReadSecondary2[] = "qi_therm";
constexpr char kPogoUsbActive[] = "/sys/devices/platform/google,pogo/pogo_usb_active";
constexpr char kPogoEnableUsb[] = "/sys/devices/platform/google,pogo/enable_usb";
constexpr char kPogoEnableHub[] = "/sys/devices/platform/google,pogo/enable_hub";
constexpr char kInternalHubDevnum[] = "/sys/bus/usb/devices/1-1/devnum";
constexpr char KPogoMoveDataToUsb[] = "/sys/devices/platform/google,pogo/move_data_to_usb";
constexpr char kPowerSupplyUsbType[] = "/sys/class/power_supply/usb/usb_type";
constexpr char kIrqHpdCount[] = "irq_hpd_count";
constexpr char kUdcUeventRegex[] =
@ -242,12 +245,12 @@ ScopedAStatus Usb::enableUsbDataWhileDocked(const string& in_portName,
ALOGI("Userspace enableUsbDataWhileDocked opID:%ld", in_transactionId);
int flags = O_RDONLY;
::android::base::unique_fd fd(TEMP_FAILURE_RETRY(open(kPogoEnableUsb, flags)));
::android::base::unique_fd fd(TEMP_FAILURE_RETRY(open(KPogoMoveDataToUsb, flags)));
if (fd != -1) {
notSupported = false;
success = WriteStringToFile("1", kPogoEnableUsb);
success = WriteStringToFile("1", KPogoMoveDataToUsb);
if (!success) {
ALOGE("Write to enable_usb failed");
ALOGE("Write to move_data_to_usb failed");
}
}
@ -524,11 +527,16 @@ void updatePortStatus(android::hardware::usb::Usb *usb) {
queryVersionHelper(usb, &currentPortStatus);
}
static int usbDeviceRemoved(const char *devname, void* client_data) {
return 0;
static int getInternalHubUniqueId() {
string internalHubDevnum;
int devnum = 0, internalHubUniqueId = -1;
if (ReadFileToString(kInternalHubDevnum, &internalHubDevnum) &&
ParseInt(Trim(internalHubDevnum).c_str(), &devnum))
internalHubUniqueId = 1000 + devnum;
return internalHubUniqueId;
}
static int usbDeviceAdded(const char *devname, void* client_data) {
static Status tuneInternalHub(const char *devname, void* client_data) {
uint16_t vendorId, productId;
struct usb_device *device;
::aidl::android::hardware::usb::Usb *usb;
@ -537,7 +545,7 @@ static int usbDeviceAdded(const char *devname, void* client_data) {
device = usb_device_open(devname);
if (!device) {
ALOGE("usb_device_open failed\n");
return 0;
return Status::ERROR;
}
usb = (::aidl::android::hardware::usb::Usb *)client_data;
@ -559,6 +567,26 @@ static int usbDeviceAdded(const char *devname, void* client_data) {
usb_device_close(device);
return Status::SUCCESS;
}
static int usbDeviceRemoved(const char *devname, void* client_data) {
return 0;
}
static int usbDeviceAdded(const char *devname, void* client_data) {
string pogoEnableHub;
int uniqueId = 0;
// Enable hub tuning when the pogo dock is connected.
if (ReadFileToString(kPogoEnableHub, &pogoEnableHub) && Trim(pogoEnableHub) == "1") {
// If enable_hub is set to 1, the internal hub is the first enumearted device on bus 1 and
// port 1.
uniqueId = usb_device_get_unique_id_from_name(devname);
if (uniqueId == getInternalHubUniqueId())
tuneInternalHub(devname, client_data);
}
return 0;
}
@ -968,7 +996,13 @@ Status getPortStatusHelper(android::hardware::usb::Usb *usb,
string pogoUsbActive = "0";
if (ReadFileToString(string(kPogoUsbActive), &pogoUsbActive) &&
stoi(Trim(pogoUsbActive)) == 1) {
(*currentPortStatus)[i].usbDataStatus.push_back(UsbDataStatus::DISABLED_DOCK);
/*
* Always signal USB device mode disabled irrespective of hub enabled while docked.
* Hub gets automatically enabled as needed. Signalling DISABLED_DOCK_HOST_MODE &
* DEVICE_MODE during pogo direct can cause notifications to show for brief windows
* when the state machine is still moving to steady state.
*/
(*currentPortStatus)[i].usbDataStatus.push_back(UsbDataStatus::DISABLED_DOCK_DEVICE_MODE);
dataEnabled = false;
}
if (!usb->mUsbDataEnabled) {

View file

@ -15,6 +15,7 @@ on post-fs
chown root system /sys/devices/platform/10cb0000.hsi2c/i2c-11/11-0025/usb_limit_sink_current
chown root system /sys/devices/platform/10cb0000.hsi2c/i2c-11/11-0025/usb_limit_sink_enable
chown root system /sys/devices/platform/10cb0000.hsi2c/i2c-11/11-0025/usb_limit_source_enable
chown root system /sys/devices/platform/10cb0000.hsi2c/i2c-11/11-0025/update_sdp_enum_timeout
chown root graphics /sys/devices/platform/110f0000.drmdp/drm-displayport/dp_hotplug_error_code
chown root system /sys/devices/platform/110f0000.drmdp/drm-displayport/hpd
chown root system /sys/devices/platform/110f0000.drmdp/drm-displayport/irq_hpd
@ -39,6 +40,7 @@ on post-fs
chmod 664 /sys/devices/platform/10cb0000.hsi2c/i2c-11/11-0025/usb_limit_sink_current
chmod 664 /sys/devices/platform/10cb0000.hsi2c/i2c-11/11-0025/usb_limit_sink_enable
chmod 664 /sys/devices/platform/10cb0000.hsi2c/i2c-11/11-0025/usb_limit_source_enable
chmod 664 /sys/devices/platform/10cb0000.hsi2c/i2c-11/11-0025/update_sdp_enum_timeout
chmod 664 /sys/devices/platform/110f0000.drmdp/drm-displayport/dp_hotplug_error_code
chmod 664 /sys/devices/platform/110f0000.drmdp/drm-displayport/hpd
chmod 664 /sys/devices/platform/110f0000.drmdp/drm-displayport/irq_hpd

View file

@ -15,6 +15,7 @@ on post-fs
chown root system /sys/devices/platform/108d0000.hsi2c/i2c-6/6-0025/usb_limit_sink_current
chown root system /sys/devices/platform/108d0000.hsi2c/i2c-6/6-0025/usb_limit_sink_enable
chown root system /sys/devices/platform/108d0000.hsi2c/i2c-6/6-0025/usb_limit_source_enable
chown root system /sys/devices/platform/108d0000.hsi2c/i2c-6/6-0025/update_sdp_enum_timeout
chown root graphics /sys/devices/platform/110f0000.drmdp/drm-displayport/dp_hotplug_error_code
chown root system /sys/devices/platform/110f0000.drmdp/drm-displayport/hpd
chown root system /sys/devices/platform/110f0000.drmdp/drm-displayport/irq_hpd
@ -39,6 +40,7 @@ on post-fs
chmod 664 /sys/devices/platform/108d0000.hsi2c/i2c-6/6-0025/usb_limit_sink_current
chmod 664 /sys/devices/platform/108d0000.hsi2c/i2c-6/6-0025/usb_limit_sink_enable
chmod 664 /sys/devices/platform/108d0000.hsi2c/i2c-6/6-0025/usb_limit_source_enable
chmod 664 /sys/devices/platform/108d0000.hsi2c/i2c-6/6-0025/update_sdp_enum_timeout
chmod 664 /sys/devices/platform/110f0000.drmdp/drm-displayport/dp_hotplug_error_code
chmod 664 /sys/devices/platform/110f0000.drmdp/drm-displayport/hpd
chmod 664 /sys/devices/platform/110f0000.drmdp/drm-displayport/irq_hpd