Compare commits
401 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 1f54fc6a4d | |||
|
|
c03fc89b04 | ||
|
|
19ae1d6ed1 | ||
|
|
0db58100ec | ||
|
|
ac8643eb0c | ||
|
|
d188c01011 | ||
|
|
22e7439a3d | ||
|
|
df371b8a52 | ||
|
|
4bfd1fce2e | ||
|
|
1ee5a39c5f | ||
|
|
54b5e2e9c0 | ||
|
|
9f47851953 | ||
|
|
855708aac3 | ||
|
|
d1e0a12fdb | ||
|
|
f56393a464 | ||
|
|
732b8dd047 | ||
|
|
c03e09217a | ||
|
|
4676c7e06e | ||
|
|
df2ba369d6 | ||
|
|
83215ca864 | ||
|
|
65f33e967c | ||
|
|
9616b630eb | ||
|
|
1552549000 | ||
|
|
91d7cf5d05 | ||
|
|
d44be77d58 | ||
|
|
922e9509c9 | ||
|
|
ac2f1ec767 | ||
|
|
2bd42deea8 | ||
|
|
8974f8e693 | ||
|
|
3ffd6aa8ea | ||
|
|
80eafb38a6 | ||
|
|
258ed74282 | ||
|
|
7a4af20680 | ||
|
|
48ea06f3e3 | ||
|
|
6622dcf6ea | ||
|
|
015c0ed681 | ||
|
|
a94238c410 | ||
|
|
a10858ce0c | ||
|
|
b059516597 | ||
|
|
615f4cf932 | ||
|
|
5091a4e563 | ||
|
|
0403333fdb | ||
|
|
cc77c850ee | ||
|
|
eb6da0a98e | ||
|
|
21e31e937a | ||
|
|
bea8640474 | ||
|
|
8f30c6f2b0 | ||
|
|
2c7e671ecd | ||
|
|
f2b4bb7bef | ||
|
|
89b5f3fca3 | ||
|
|
e64d0f0805 | ||
|
|
0a493ec75d | ||
|
|
12d59feba0 | ||
|
|
ff7bf1a24d | ||
|
|
6d49eb094d | ||
|
|
3cbb96c5fe | ||
|
|
91d67cdcc1 | ||
|
|
09417ff9b6 | ||
|
|
cf69c20b41 | ||
|
|
13bc69a0d5 | ||
|
|
448333c762 | ||
|
|
522239486f | ||
|
|
6fd17485db | ||
|
|
fcf53d96e8 | ||
|
|
8f2561170e | ||
|
|
9b3ed02735 | ||
|
|
bce6a9b893 | ||
|
|
dafdd19aa7 | ||
|
|
2e2a298b6e | ||
|
|
2a6e01f447 | ||
|
|
459c086d08 | ||
|
|
fb3ab9da92 | ||
|
|
042a2ba4e1 | ||
|
|
fc19078949 | ||
|
|
49c9e763ac | ||
|
|
93e116bcd0 | ||
|
|
4cb02c1748 | ||
|
|
08554b5003 | ||
|
|
be552bc1f9 | ||
|
|
2b69ac69aa | ||
|
|
76c58826c5 | ||
|
|
de1d64a8cb | ||
|
|
6fda956127 | ||
|
|
3c4b405c8f | ||
|
|
aafe6e214c | ||
|
|
c408e48566 | ||
|
|
bdf73c5b4f | ||
|
|
a19b52d31c | ||
|
|
4eb01fc6ed | ||
|
|
f518943284 | ||
|
|
af5951eef5 | ||
|
|
8dc092ae68 | ||
|
|
cdff2a709f | ||
|
|
3243b526d7 | ||
|
|
bb8bd4334a | ||
|
|
6eebc19c3e | ||
|
|
6345542a06 | ||
|
|
437b2a63af | ||
|
|
adce9b34d8 | ||
|
|
d5786a0cb2 | ||
|
|
7d26e0a490 | ||
|
|
0cb6c743d7 | ||
|
|
153c5687e9 | ||
|
|
c05185e38d | ||
|
|
3e9152ff93 | ||
|
|
d485885130 | ||
|
|
339bf187d0 | ||
|
|
0a92be0e28 | ||
|
|
0416a1f301 | ||
|
|
d3a2b06623 | ||
|
|
19a776f316 | ||
|
|
cd377bf81e | ||
|
|
baaac3045c | ||
|
|
d35c6201a6 | ||
|
|
daff6b1e40 | ||
|
|
8015ca09b2 | ||
|
|
e63881396f | ||
|
|
4258b2b3f4 | ||
|
|
362f8f84f1 | ||
|
|
028be53751 | ||
|
|
1e5f720709 | ||
|
|
91ed6f8e24 | ||
|
|
19d9cc5749 | ||
|
|
1167b25995 | ||
|
|
8c462c722a | ||
|
|
91248b74ac | ||
|
|
a8660a0cba | ||
|
|
244428a3c8 | ||
|
|
f1ad67a058 | ||
|
|
dcdbc2bcc3 | ||
|
|
9626d4364f | ||
|
|
516199c5e6 | ||
|
|
b3f30bf6a9 | ||
|
|
d54cae16c8 | ||
|
|
2655187223 | ||
|
|
009810fe8b | ||
|
|
0522c04a87 | ||
|
|
0d5845cadf | ||
|
|
d37aac0531 | ||
|
|
58d15a721b | ||
|
|
7e2cd8f092 | ||
|
|
44c496c5e2 | ||
|
|
359f69ee08 | ||
|
|
59c6073296 | ||
|
|
c66b25abf4 | ||
|
|
35b8f1638c | ||
|
|
5a322be262 | ||
|
|
dfcf0b1899 | ||
|
|
2a3a032362 | ||
|
|
2be347354c | ||
|
|
f10bef71b8 | ||
|
|
a9e08f01d3 | ||
|
|
d31839caf4 | ||
|
|
376bea3228 | ||
|
|
c0e0850259 | ||
|
|
ed9c9fa491 | ||
|
|
61fb7857c5 | ||
|
|
b43c519a73 | ||
|
|
c26d44d7b5 | ||
|
|
92329e9f56 | ||
|
|
5e3735dce7 | ||
|
|
d75b0a5247 | ||
|
|
da2d5774fe | ||
|
|
a308cb0408 | ||
|
|
63a8590df3 | ||
|
|
b22fd2b175 | ||
|
|
7689c0d4dc | ||
|
|
7cd7d69d5c | ||
|
|
2750ef5a33 | ||
|
|
5fdbdcddf5 | ||
|
|
d1d763ba08 | ||
|
|
451101a700 | ||
|
|
9fdff6ca39 | ||
|
|
6238b240eb | ||
|
|
b9dec4c10c | ||
|
|
1edac295fa | ||
|
|
84c2320c5c | ||
|
|
3f43c40d88 | ||
|
|
1c85bdd4f8 | ||
|
|
e215ee0263 | ||
|
|
af49915ef8 | ||
|
|
bc0330b4a0 | ||
|
|
96a53ff12d | ||
|
|
2762d0dbd4 | ||
|
|
0128580e96 | ||
|
|
00b21ecf0e | ||
|
|
50cd86ef20 | ||
|
|
46830e7b60 | ||
|
|
6b1d252a01 | ||
|
|
f6bec7ea36 | ||
|
|
b6bf25aa5c | ||
|
|
169c3fe820 | ||
|
|
7af75c401a | ||
|
|
c734a25fe1 | ||
|
|
c77922ff67 | ||
|
|
22c80e1265 | ||
|
|
ade98a502a | ||
|
|
da3889c8a8 | ||
|
|
69b541901e | ||
|
|
0bdddbd4cc | ||
|
|
2041727cfa | ||
|
|
01a96b9f64 | ||
|
|
85944c5aa0 | ||
|
|
0dfdc9aaef | ||
|
|
30dae42932 | ||
|
|
a478ec1911 | ||
|
|
f2f54df446 | ||
|
|
812c74d5fa | ||
|
|
e481690bf4 | ||
|
|
0d3a4054cf | ||
|
|
192188b6af | ||
|
|
88ab851ff7 | ||
|
|
b1c5b8614b | ||
|
|
f312fd9734 | ||
|
|
2b73891134 | ||
|
|
9792825822 | ||
|
|
4ba65ca4a3 | ||
|
|
5d645606c0 | ||
|
|
0a54404aed | ||
|
|
7feafab6b7 | ||
|
|
17216931e8 | ||
|
|
faa5767549 | ||
|
|
b982e79459 | ||
|
|
6c11c1291d | ||
|
|
2d76573528 | ||
|
|
321e871f03 | ||
|
|
aa0ebd03d5 | ||
|
|
cfa6bbf2c7 | ||
|
|
963cf0b3d5 | ||
|
|
94300d9c17 | ||
|
|
8c73593429 | ||
|
|
3bb61ab5a2 | ||
|
|
6ee04bc32e | ||
|
|
7748904566 | ||
|
|
e82d9c2488 | ||
|
|
47cd0005cf | ||
|
|
ee1b640e0f | ||
|
|
bd32cb9c0d | ||
|
|
4e62c235cd | ||
|
|
bce9de8f39 | ||
|
|
34a9ef92d9 | ||
|
|
c3f05d4d96 | ||
|
|
ca94996d6b | ||
|
|
3c3b7bdc81 | ||
|
|
057a1b8ead | ||
|
|
fd5d1fb0fc | ||
|
|
14b3bb5ee0 | ||
|
|
6f3b30e599 | ||
|
|
a57ccaddc8 | ||
|
|
0ba02138ae | ||
|
|
7e6aaea7ce | ||
|
|
8c6f71c8d0 | ||
|
|
3010b68d8c | ||
|
|
e315461c27 | ||
|
|
de360d99d0 | ||
|
|
f90fb44203 | ||
|
|
ea0b213667 | ||
|
|
a6f07b1e9d | ||
|
|
e3f2ef42c2 | ||
|
|
f64880111f | ||
|
|
c9dd3aadb1 | ||
|
|
e61e41ff3d | ||
|
|
c5d21b3529 | ||
|
|
1ae32ea358 | ||
|
|
e53c9d99fa | ||
|
|
e2b04e5310 | ||
|
|
1cd22e0e01 | ||
|
|
5553e9d7e9 | ||
|
|
86f2aaa84f | ||
|
|
c171549c00 | ||
|
|
5df89d0066 | ||
|
|
b5e82fa7eb | ||
|
|
db2e15ed8b | ||
|
|
ae05b94c6a | ||
|
|
c6288a11e0 | ||
|
|
433e8fc4cf | ||
|
|
b4fa554eb7 | ||
|
|
31c1a6fc01 | ||
|
|
37f2d9db63 | ||
|
|
ed634386ff | ||
|
|
1d3e78a77d | ||
|
|
5d1d177c72 | ||
|
|
e5d21ffb90 | ||
|
|
7c5d85f758 | ||
|
|
d46e4acdf1 | ||
|
|
fc9f9019ad | ||
|
|
2a9c3dad21 | ||
|
|
148f9284b5 | ||
|
|
de2164b1bb | ||
|
|
a8d3420c98 | ||
|
|
fa49115851 | ||
|
|
84441f6c7b | ||
|
|
803ba8bb2b | ||
|
|
6f075fbdb3 | ||
|
|
6cfa883fe6 | ||
|
|
b862bc2d99 | ||
|
|
b339b4d1e4 | ||
|
|
fa18cf4d56 | ||
|
|
c9adeba462 | ||
|
|
3d7ec8e6f6 | ||
|
|
4b72c0827b | ||
|
|
0fa303a8ac | ||
|
|
bb7c853dc6 | ||
|
|
78172fd1a7 | ||
|
|
d7794a2651 | ||
|
|
9db6ece986 | ||
|
|
86e70556ba | ||
|
|
c88fc05922 | ||
|
|
bfccac5ed5 | ||
|
|
021c43000e | ||
|
|
e29c555d0c | ||
|
|
500e7d23bc | ||
|
|
4f4478b8c6 | ||
|
|
d163490c6f | ||
|
|
579c7f764e | ||
|
|
01b1eb831e | ||
|
|
7638261726 | ||
|
|
6cc5f06a78 | ||
|
|
b55a3297dc | ||
|
|
64fbd6e8fc | ||
|
|
bdbaca53ee | ||
|
|
3458d07b9e | ||
|
|
84cb87cb12 | ||
|
|
d1e8d4635c | ||
|
|
f4af709de6 | ||
|
|
3604dd8ef6 | ||
|
|
f442f99c5a | ||
|
|
e8a409ca7e | ||
|
|
bc0b2716b0 | ||
|
|
2b1dca45bb | ||
|
|
0ba69d9cac | ||
|
|
45dbf80526 | ||
|
|
16f0bee4c4 | ||
|
|
8f5893ee0a | ||
|
|
52665ffd82 | ||
|
|
a5e155b626 | ||
|
|
e3bb6bc881 | ||
|
|
b7b4e66d33 | ||
|
|
9a86a03442 | ||
|
|
1c5843eaa7 | ||
|
|
d2de01ec01 | ||
|
|
15b7a4e869 | ||
|
|
df154ac525 | ||
|
|
4306144830 | ||
|
|
9b5d56551f | ||
|
|
23abaa032e | ||
|
|
45caf62c38 | ||
|
|
44728ebef5 | ||
|
|
fa59c11e5b | ||
|
|
55174aa398 | ||
|
|
6c2339dcbe | ||
|
|
982204074b | ||
|
|
c488b164fb | ||
|
|
18e63db05d | ||
|
|
524dcfa993 | ||
|
|
67b342c9b9 | ||
|
|
57f98a8838 | ||
|
|
2ce4deb768 | ||
|
|
ae0f0456e9 | ||
|
|
17feb570f8 | ||
|
|
5d11e8cbb1 | ||
|
|
5e2711fb71 | ||
|
|
32fdaf28ca | ||
|
|
8efd6edbad | ||
|
|
b296473330 | ||
|
|
2e01deef58 | ||
|
|
1fa1a65183 | ||
|
|
2145172544 | ||
|
|
2eb5eb7147 | ||
|
|
91219407a3 | ||
|
|
2ddf4ee531 | ||
|
|
a7ee0c6e39 | ||
|
|
4463a593c5 | ||
|
|
4473670bf3 | ||
|
|
fc85049fe7 | ||
|
|
8e93f58a21 | ||
|
|
987e3ec9d0 | ||
|
|
b923009446 | ||
|
|
756b857e19 | ||
|
|
f3c716953f | ||
|
|
732a485c4a | ||
|
|
ec6b21fa1c | ||
|
|
db9777e087 | ||
|
|
d337a336d7 | ||
|
|
e05f751cfc | ||
|
|
705e6b9548 | ||
|
|
526cb9777c | ||
|
|
ce5279304b | ||
|
|
6975fdc580 | ||
|
|
4bd8bc2fed | ||
|
|
5c210b79bb | ||
|
|
470e20dc47 | ||
|
|
3dac81ca67 | ||
|
|
d7a45befba | ||
|
|
7f75daebf1 | ||
|
|
bb351a5483 | ||
|
|
d5723095e5 | ||
|
|
124bc16bd7 | ||
|
|
32b4648732 | ||
|
|
aafe4d5f85 | ||
|
|
3f56b64034 |
@@ -34,3 +34,11 @@ license {
|
||||
"NOTICE",
|
||||
],
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "preinstalled-packages-product-gs201-device-debug.xml",
|
||||
src: "preinstalled-packages-product-gs201-device-debug.xml",
|
||||
product_specific: true,
|
||||
sub_dir: "sysconfig",
|
||||
filename_from_src: true,
|
||||
}
|
||||
|
||||
@@ -16,18 +16,21 @@
|
||||
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
|
||||
|
||||
# HACK : To fix up after bring up multimedia devices.
|
||||
TARGET_SOC := gs201
|
||||
|
||||
TARGET_SOC_NAME := google
|
||||
|
||||
USES_DEVICE_GOOGLE_GS201 := true
|
||||
$(call soong_config_set,googleDeviceConfig,target_soc,gs201)
|
||||
|
||||
TARGET_ARCH := arm64
|
||||
TARGET_ARCH_VARIANT := armv8-2a
|
||||
TARGET_CPU_ABI := arm64-v8a
|
||||
TARGET_CPU_VARIANT := cortex-a55
|
||||
TARGET_CPU_VARIANT_RUNTIME := cortex-a55
|
||||
|
||||
# Enable 64-bit for non-zygote.
|
||||
ZYGOTE_FORCE_64 := true
|
||||
@@ -46,10 +49,10 @@ TARGET_2ND_CPU_VARIANT_RUNTIME := cortex-a53
|
||||
BOARD_KERNEL_CMDLINE += dyndbg=\"func alloc_contig_dump_pages +p\"
|
||||
BOARD_KERNEL_CMDLINE += earlycon=exynos4210,0x10A00000 console=ttySAC0,115200 androidboot.console=ttySAC0 printk.devkmsg=on
|
||||
BOARD_KERNEL_CMDLINE += cma_sysfs.experimental=Y
|
||||
BOARD_KERNEL_CMDLINE += rcupdate.rcu_expedited=1 rcu_nocbs=all rcutree.enable_rcu_lazy
|
||||
BOARD_KERNEL_CMDLINE += cgroup_disable=memory
|
||||
BOARD_KERNEL_CMDLINE += rcupdate.rcu_expedited=1 rcu_nocbs=all
|
||||
BOARD_KERNEL_CMDLINE += stack_depot_disable=off page_pinner=on
|
||||
BOARD_KERNEL_CMDLINE += swiotlb=1024
|
||||
BOARD_KERNEL_CMDLINE += cgroup.memory=nokmem
|
||||
BOARD_KERNEL_CMDLINE += disable_dma32=on
|
||||
BOARD_BOOTCONFIG += androidboot.boot_devices=14700000.ufs
|
||||
|
||||
@@ -74,7 +77,7 @@ TARGET_RECOVERY_FSTAB_GENRULE := gen_fstab.gs201
|
||||
TARGET_RECOVERY_PIXEL_FORMAT := ABGR_8888
|
||||
TARGET_RECOVERY_UI_MARGIN_HEIGHT := 165
|
||||
TARGET_RECOVERY_UI_LIB := \
|
||||
//hardware/google/pixel/recovery:librecovery_ui_pixel \
|
||||
librecovery_ui_pixel \
|
||||
libfstab
|
||||
|
||||
AB_OTA_UPDATER := true
|
||||
@@ -194,16 +197,7 @@ BOARD_SUPPORT_MFC_ENC_RGB := true
|
||||
BOARD_USE_BLOB_ALLOCATOR := false
|
||||
BOARD_SUPPORT_MFC_ENC_BT2020 := true
|
||||
BOARD_SUPPORT_FLEXIBLE_P010 := true
|
||||
$(call soong_config_set,video_codec,target_soc_name,$(TARGET_SOC_NAME))
|
||||
$(call soong_config_set_bool,video_codec,board_use_codec2_hidl_1_2,$(BOARD_USE_CODEC2_HIDL_1_2))
|
||||
$(call soong_config_set_bool,video_codec,board_use_csc_filter,$(BOARD_USE_CSC_FILTER))
|
||||
$(call soong_config_set_bool,video_codec,board_use_dec_sw_csc,$(BOARD_USE_DEC_SW_CSC))
|
||||
$(call soong_config_set_bool,video_codec,board_use_enc_sw_csc,$(BOARD_USE_ENC_SW_CSC))
|
||||
$(call soong_config_set_bool,video_codec,board_support_mfc_enc_rgb,$(BOARD_SUPPORT_MFC_ENC_RGB))
|
||||
$(call soong_config_set_bool,video_codec,board_use_blob_allocator,$(BOARD_USE_BLOB_ALLOCATOR))
|
||||
$(call soong_config_set_bool,video_codec,board_support_mfc_enc_bt2020,$(BOARD_SUPPORT_MFC_ENC_BT2020))
|
||||
$(call soong_config_set_bool,video_codec,board_support_flexible_p010,$(BOARD_SUPPORT_FLEXIBLE_P010))
|
||||
$(call soong_config_set_bool,video_codec,board_use_codec2_aidl,$(if $(BOARD_USE_CODEC2_AIDL),true,false))
|
||||
|
||||
########################
|
||||
|
||||
BOARD_SUPER_PARTITION_SIZE := 8531214336
|
||||
@@ -236,6 +230,12 @@ BOARD_USES_GENERIC_AUDIO := true
|
||||
|
||||
$(call soong_config_set,aoc_audio_func,ext_hidl,true)
|
||||
|
||||
ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
|
||||
$(call soong_config_set,aoc_audio_func,dump_usecase_data,true)
|
||||
$(call soong_config_set,aoc_audio_func,hal_socket_control,true)
|
||||
$(call soong_config_set,aoc_audio_func,record_tuning_keys,true)
|
||||
endif
|
||||
|
||||
ifneq (,$(filter aosp_%,$(TARGET_PRODUCT)))
|
||||
$(call soong_config_set,aoc_audio_func,aosp_build,true)
|
||||
endif
|
||||
@@ -270,8 +270,6 @@ BOARD_USES_EXYNOS_AFBC_FEATURE := true
|
||||
|
||||
BOARD_LIBACRYL_DEFAULT_COMPOSITOR := fimg2d_gs201
|
||||
BOARD_LIBACRYL_G2D_HDR_PLUGIN := libacryl_hdr_plugin
|
||||
$(call soong_config_set,acryl,libacryl_g2d_hdr_plugin,//hardware/google/graphics/gs201/libacryl_plugins:libacryl_hdr_plugin)
|
||||
$(call soong_config_set,acryl,libacryl_c_include,hardware/google/graphics/$(TARGET_BOARD_PLATFORM)/libcap)
|
||||
|
||||
# HWCServices
|
||||
BOARD_USES_HWC_SERVICES := true
|
||||
@@ -388,8 +386,9 @@ endif
|
||||
BOARD_VENDOR_KERNEL_MODULES_BLOCKLIST_FILE := $(KERNEL_MODULE_DIR)/vendor_dlkm.modules.blocklist
|
||||
|
||||
# Prebuilt kernel modules that are *not* listed in vendor_kernel_boot.modules.load
|
||||
BOARD_PREBUILT_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES = fips140.ko
|
||||
BOARD_PREBUILT_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES = fips140/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 += $(addprefix $(KERNEL_MODULE_DIR)/, $(BOARD_VENDOR_KERNEL_RAMDISK_KERNEL_MODULES_LOAD_EXTRA))
|
||||
|
||||
# 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))
|
||||
@@ -405,17 +404,9 @@ BOARD_VENDOR_KERNEL_MODULES_LOAD := $(strip $(shell cat $(KERNEL_MODULE_DIR)/ven
|
||||
ifndef BOARD_VENDOR_KERNEL_MODULES_LOAD
|
||||
$(error vendor_dlkm.modules.load not found or empty)
|
||||
endif
|
||||
|
||||
# staging kernels might have modules split between system/vendor_dlkm. If
|
||||
# the target defined modules on the system_dlkm image, honor the split.
|
||||
# Otherwise, assume all modules are stored on the vendor_dlkm image.
|
||||
ifneq ($(BOARD_SYSTEM_KERNEL_MODULES),)
|
||||
BOARD_VENDOR_KERNEL_MODULES := $(addprefix $(KERNEL_MODULE_DIR)/, $(notdir $(BOARD_VENDOR_KERNEL_MODULES_LOAD)))
|
||||
else
|
||||
BOARD_VENDOR_KERNEL_MODULES := $(KERNEL_MODULES)
|
||||
endif
|
||||
|
||||
BOARD_SYSTEM_KERNEL_MODULES_LOAD := $(strip $(shell cat $(KERNEL_MODULE_DIR)/system_dlkm.modules.load 2>/dev/null))
|
||||
BOARD_SYSTEM_KERNEL_MODULES_LOAD := $(strip $(shell cat $(KERNEL_MODULE_DIR)/system_dlkm.modules.load))
|
||||
BOARD_SYSTEM_KERNEL_MODULES := $(addprefix $(KERNEL_MODULE_DIR)/, $(notdir $(BOARD_SYSTEM_KERNEL_MODULES_LOAD)))
|
||||
|
||||
# Using BUILD_COPY_HEADERS
|
||||
@@ -432,5 +423,8 @@ BOARD_KERNEL_CMDLINE += log_buf_len=1024K
|
||||
# Protected VM firmware
|
||||
BOARD_PVMFWIMAGE_PARTITION_SIZE := 0x00100000
|
||||
|
||||
# pick up library for cleaning digital car keys on factory reset
|
||||
-include vendor/google_devices/gs-common/proprietary/BoardConfigVendor.mk
|
||||
|
||||
include device/google/gs201/BoardConfigLineage.mk
|
||||
include device/google/gs201/BoardConfigEvolution.mk
|
||||
|
||||
@@ -4,8 +4,6 @@
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
BUILD_BROKEN_DUP_RULES := true
|
||||
|
||||
DISABLE_ARTIFACT_PATH_REQUIREMENTS := true
|
||||
|
||||
SPOOF_FIRST_API_LEVEL_32 := true
|
||||
|
||||
@@ -1,10 +1,15 @@
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2021-2024 The LineageOS Project
|
||||
# SPDX-FileCopyrightText: 2021-2024 The Calyx Institute
|
||||
# Copyright (C) 2022 The LineageOS Project
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
# Lineage Health
|
||||
TARGET_HEALTH_CHARGING_CONTROL_SUPPORTS_DEADLINE := true
|
||||
TARGET_HEALTH_CHARGING_CONTROL_SUPPORTS_TOGGLE := false
|
||||
|
||||
# Manifests
|
||||
DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE += vendor/lineage/config/device_framework_matrix.xml
|
||||
DEVICE_MANIFEST_FILE += device/google/gs201/android.hardware.security.rkp-service.citadel.xml
|
||||
ifneq ($(BOARD_WITHOUT_RADIO),true)
|
||||
DEVICE_MANIFEST_FILE += device/google/gs201/manifest_radio_ds.xml
|
||||
|
||||
85
CleanSpec.mk
Normal file
85
CleanSpec.mk
Normal file
@@ -0,0 +1,85 @@
|
||||
# Copyright (C) 2012 The Android Open Source Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
# If you don't need to do a full clean build but would like to touch
|
||||
# a file or delete some intermediate files, add a clean step to the end
|
||||
# of the list. These steps will only be run once, if they haven't been
|
||||
# run before.
|
||||
#
|
||||
# E.g.:
|
||||
# $(call add-clean-step, touch -c external/sqlite/sqlite3.h)
|
||||
# $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libz_intermediates)
|
||||
#
|
||||
# Always use "touch -c" and "rm -f" or "rm -rf" to gracefully deal with
|
||||
# files that are missing or have been moved.
|
||||
#
|
||||
# Use $(PRODUCT_OUT) to get to the "out/target/product/blah/" directory.
|
||||
# Use $(OUT_DIR) to refer to the "out" directory.
|
||||
#
|
||||
# If you need to re-do something that's already mentioned, just copy
|
||||
# the command and add it to the bottom of the list. E.g., if a change
|
||||
# that you made last week required touching a file and a change you
|
||||
# made today requires touching the same file, just copy the old
|
||||
# touch step and add it to the end of the list.
|
||||
#
|
||||
# ************************************************
|
||||
# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
|
||||
# ************************************************
|
||||
|
||||
# For example:
|
||||
#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/AndroidTests_intermediates)
|
||||
#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/core_intermediates)
|
||||
#$(call add-clean-step, find $(OUT_DIR) -type f -name "IGTalkSession*" -print0 | xargs -0 rm -f)
|
||||
#$(call add-clean-step, rm -rf $(PRODUCT_OUT)/data/*)
|
||||
$(call add-clean-step, find $(PRODUCT_OUT) -name "*.apk" | xargs rm)
|
||||
|
||||
# ************************************************
|
||||
# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
|
||||
# ************************************************
|
||||
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/SHARED_LIBRARIES/libsurfaceflinger_intermediates)
|
||||
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/SHARED_LIBRARIES/libui_intermediates)
|
||||
$(call add-clean-step, rm -f $(PRODUCT_OUT)/root/default.prop)
|
||||
$(call add-clean-step, rm -f $(TARGET_OUT)/build.prop)
|
||||
$(call add-clean-step, rm -f $(PRODUCT_OUT)/system/etc/mixer_paths_lb.xml)
|
||||
$(call add-clean-step, rm -f $(PRODUCT_OUT)/system/etc/permissions/android.hardware.camera.xml)
|
||||
|
||||
$(call add-clean-step, rm -f $(PRODUCT_OUT)/root/*)
|
||||
# Power HAL 1.0
|
||||
$(call add-clean-step, rm -f $(PRODUCT_OUT)/vendor/init/android.hardware.power@1.0-service.rc)
|
||||
$(call add-clean-step, rm -f $(PRODUCT_OUT)/vendor/bin/hw/android.hardware.power@1.0-service)
|
||||
# Power HAL HIDL
|
||||
$(call add-clean-step, rm -f $(PRODUCT_OUT)/vendor/etc/init/android.hardware.power@1.3-service.pixel-libperfmgr.rc)
|
||||
|
||||
# Health storage HAL
|
||||
$(call add-clean-step, find $(PRODUCT_OUT) -type f -name "*android.hardware.health.storage@1.0*" -print0 | xargs -0 rm -f)
|
||||
|
||||
# USB HAL to AIDL
|
||||
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/bin/hw/android.hardware.usb-service)
|
||||
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/bin/hw/android.hardware.usb.gadget-service)
|
||||
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/etc/init/android.hardware.usb-service.rc)
|
||||
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/etc/init/android.hardware.usb.gadget-service.rc)
|
||||
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/etc/vintf/manifest/android.hardware.usb-servic.xml)
|
||||
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/etc/vintf/manifest/android.hardware.usb.gadget-servic.xml)
|
||||
|
||||
# Power Stats HAL 1.0 to AIDL
|
||||
$(call add-clean-step, rm -f $(PRODUCT_OUT)/vendor/bin/hw/android.hardware.power.stats@1.0-service.gs201)
|
||||
$(call add-clean-step, rm -f $(PRODUCT_OUT)/vendor/etc/init/android.hardware.power.stats@1.0-service.gs201.rc)
|
||||
$(call add-clean-step, rm -f $(PRODUCT_OUT)/vendor/etc/vintf/manifest/android.hardware.power.stats@1.0-service.gs201.xml)
|
||||
|
||||
# Health HAL to AIDL
|
||||
$(call add-clean-step, find $(PRODUCT_OUT)/system -type f -name "*charger*" -print0 | xargs -0 rm -f)
|
||||
$(call add-clean-step, find $(PRODUCT_OUT)/vendor -type f -name "*health@*" -print0 | xargs -0 rm -f)
|
||||
$(call add-clean-step, find $(PRODUCT_OUT)/recovery/root -type f -name "*charger*" -print0 | xargs -0 rm -f)
|
||||
$(call add-clean-step, find $(PRODUCT_OUT)/recovery/root -type f -name "*health@*" -print0 | xargs -0 rm -f)
|
||||
2
OWNERS
Normal file
2
OWNERS
Normal file
@@ -0,0 +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:/OWNERS
|
||||
2
PREUPLOAD.cfg
Normal file
2
PREUPLOAD.cfg
Normal file
@@ -0,0 +1,2 @@
|
||||
[Builtin Hooks]
|
||||
jsonlint = true
|
||||
@@ -49,6 +49,7 @@ $(call inherit-product, $(SRC_TARGET_DIR)/product/telephony_vendor.mk)
|
||||
endif
|
||||
|
||||
#$(call inherit-product, device/google/gs201/device.mk)
|
||||
#$(call inherit-product-if-exists, vendor/google_devices/gs201/proprietary/device-vendor.mk)
|
||||
|
||||
# TODO: fix
|
||||
# PRODUCT_RESTRICT_VENDOR_FILES := all
|
||||
|
||||
15
conf/init.check_ap_pd_auth.sh
Normal file
15
conf/init.check_ap_pd_auth.sh
Normal file
@@ -0,0 +1,15 @@
|
||||
#!/vendor/bin/sh
|
||||
|
||||
# This script sets up `ro.vendor.sjtag_ap_is_unlocked` for the non-fused
|
||||
# device. For a fused device, this property should be set by
|
||||
# betterbug->ss-restart-detector when PD is acquired.
|
||||
|
||||
SJTAG_STATUS=0x$(cat /sys/devices/platform/sjtag_ap/interface/status)
|
||||
SOFT_LOCK_BIT=4
|
||||
AUTH_PASS_BIT=8
|
||||
|
||||
# Unlocked or locked but auth passed.
|
||||
if test "$((SJTAG_STATUS & (1 << SOFT_LOCK_BIT)))" = 0 -o \
|
||||
"$((SJTAG_STATUS & (1 << AUTH_PASS_BIT)))" != 0 ; then
|
||||
setprop ro.vendor.sjtag_ap_is_unlocked true
|
||||
fi
|
||||
51
conf/init.debug.rc
Normal file
51
conf/init.debug.rc
Normal file
@@ -0,0 +1,51 @@
|
||||
# SJTAG
|
||||
on init
|
||||
chown system system /sys/devices/platform/sjtag_ap/interface/access_lvl
|
||||
chown system system /sys/devices/platform/sjtag_ap/interface/auth
|
||||
chown system system /sys/devices/platform/sjtag_ap/interface/begin
|
||||
chown system system /sys/devices/platform/sjtag_ap/interface/dbg_domain
|
||||
chown system system /sys/devices/platform/sjtag_ap/interface/dbg_itvl
|
||||
chown system system /sys/devices/platform/sjtag_ap/interface/end
|
||||
chown system system /sys/devices/platform/sjtag_ap/interface/pubkey
|
||||
chown system system /sys/devices/platform/sjtag_gsa/interface/access_lvl
|
||||
chown system system /sys/devices/platform/sjtag_gsa/interface/auth
|
||||
chown system system /sys/devices/platform/sjtag_gsa/interface/begin
|
||||
chown system system /sys/devices/platform/sjtag_gsa/interface/dbg_domain
|
||||
chown system system /sys/devices/platform/sjtag_gsa/interface/dbg_itvl
|
||||
chown system system /sys/devices/platform/sjtag_gsa/interface/end
|
||||
chown system system /sys/devices/platform/sjtag_gsa/interface/pubkey
|
||||
|
||||
on property:vendor.debug.ramdump.force_crash=true
|
||||
write /sys/kernel/pixel_debug/trigger "null"
|
||||
|
||||
on property:power.battery_input.suspended=true
|
||||
write /sys/kernel/debug/google_charger/input_suspend 1
|
||||
|
||||
on property:power.battery_input.suspended=false
|
||||
write /sys/kernel/debug/google_charger/input_suspend 0
|
||||
|
||||
# Bluetooth
|
||||
on post-fs-data
|
||||
chown bluetooth system /dev/logbuffer_btlpm
|
||||
chown bluetooth system /dev/logbuffer_btpower
|
||||
chown bluetooth system /dev/logbuffer_tty18
|
||||
|
||||
# pKVM performance is different on A0 and B0 chips.
|
||||
# Add extra tag to metrics collected on A0 to separate the results.
|
||||
on property:ro.revision=PROTO1.0
|
||||
setprop debug.hypervisor.metrics_tag "hwrev_a0"
|
||||
on property:ro.revision=PROTO1.1
|
||||
setprop debug.hypervisor.metrics_tag "hwrev_a0"
|
||||
on property:ro.revision=EVT1.0
|
||||
setprop debug.hypervisor.metrics_tag "hwrev_a0"
|
||||
|
||||
service vendor.check_ap_pd_auth_sh /vendor/bin/init.check_ap_pd_auth.sh
|
||||
class main
|
||||
user root
|
||||
group root system
|
||||
oneshot
|
||||
|
||||
# Enable etm/etm2dram when ramdump is enabled, and ap-sjtag is unlocked.
|
||||
on property:ro.boot.ramdump=enabled && property:ro.vendor.sjtag_ap_is_unlocked=true
|
||||
write /sys/devices/platform/exynos-etm/etm_on 1
|
||||
write /sys/devices/platform/etm2dram/arm 1
|
||||
@@ -1,4 +1,3 @@
|
||||
import /vendor/etc/init/hw/init.gs201.storage.rc
|
||||
import /vendor/etc/init/hw/init.gs201.usb.rc
|
||||
import android.hardware.drm@1.2-service.widevine.rc
|
||||
import init.exynos.sensorhub.rc
|
||||
@@ -19,6 +18,38 @@ on init
|
||||
# Disable util-awareness
|
||||
write /proc/vendor_sched/teo_util_threshold "1024 1024 1024"
|
||||
|
||||
# Boot time fs tuning
|
||||
write /sys/block/sda/queue/scheduler bfq
|
||||
write /sys/block/sda/queue/iosched/slice_idle 0
|
||||
|
||||
chown system system /proc/vendor_sched/groups/bg/set_task_group
|
||||
chown system system /proc/vendor_sched/groups/cam/set_task_group
|
||||
chown system system /proc/vendor_sched/groups/fg/set_task_group
|
||||
chown system system /proc/vendor_sched/groups/nnapi/set_task_group
|
||||
chown system system /proc/vendor_sched/groups/sys/set_task_group
|
||||
chown system system /proc/vendor_sched/groups/sys_bg/set_task_group
|
||||
chown system system /proc/vendor_sched/groups/ta/set_task_group
|
||||
chown system system /proc/vendor_sched/groups/rt/set_task_group
|
||||
chown system system /proc/vendor_sched/groups/sf/set_task_group
|
||||
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/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
|
||||
chown system system /proc/vendor_sched/groups/nnapi/set_proc_group
|
||||
chown system system /proc/vendor_sched/groups/sys/set_proc_group
|
||||
chown system system /proc/vendor_sched/groups/sys_bg/set_proc_group
|
||||
chown system system /proc/vendor_sched/groups/ta/set_proc_group
|
||||
chown system system /proc/vendor_sched/groups/rt/set_proc_group
|
||||
chown system system /proc/vendor_sched/groups/sf/set_proc_group
|
||||
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/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 /sys/devices/system/cpu/cpufreq/policy0/sched_pixel/lcpi_threshold
|
||||
chown system system /sys/devices/system/cpu/cpufreq/policy0/sched_pixel/spc_threshold
|
||||
chown system system /sys/devices/system/cpu/cpufreq/policy0/sched_pixel/limit_frequency
|
||||
@@ -40,6 +71,35 @@ on init
|
||||
chown system system /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu6_memlat@17000010/memlat_cpuidle_state_aware
|
||||
chown system system /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu7_memlat@17000010/memlat_cpuidle_state_aware
|
||||
|
||||
chmod 0220 /proc/vendor_sched/groups/bg/set_task_group
|
||||
chmod 0220 /proc/vendor_sched/groups/cam/set_task_group
|
||||
chmod 0220 /proc/vendor_sched/groups/fg/set_task_group
|
||||
chmod 0220 /proc/vendor_sched/groups/nnapi/set_task_group
|
||||
chmod 0220 /proc/vendor_sched/groups/sys/set_task_group
|
||||
chmod 0220 /proc/vendor_sched/groups/sys_bg/set_task_group
|
||||
chmod 0220 /proc/vendor_sched/groups/ta/set_task_group
|
||||
chmod 0220 /proc/vendor_sched/groups/rt/set_task_group
|
||||
chmod 0220 /proc/vendor_sched/groups/sf/set_task_group
|
||||
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/bg/set_proc_group
|
||||
chmod 0220 /proc/vendor_sched/groups/cam/set_proc_group
|
||||
chmod 0220 /proc/vendor_sched/groups/fg/set_proc_group
|
||||
chmod 0220 /proc/vendor_sched/groups/nnapi/set_proc_group
|
||||
chmod 0220 /proc/vendor_sched/groups/sys/set_proc_group
|
||||
chmod 0220 /proc/vendor_sched/groups/sys_bg/set_proc_group
|
||||
chmod 0220 /proc/vendor_sched/groups/ta/set_proc_group
|
||||
chmod 0220 /proc/vendor_sched/groups/rt/set_proc_group
|
||||
chmod 0220 /proc/vendor_sched/groups/sf/set_proc_group
|
||||
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/prefer_idle_set
|
||||
chmod 0220 /proc/vendor_sched/prefer_idle_clear
|
||||
chmod 0220 /proc/vendor_sched/pmu_poll_enable
|
||||
chmod 0220 /proc/vendor_sched/pmu_poll_time
|
||||
|
||||
start vendor.keymaster-4-0
|
||||
|
||||
# ZRAM setup
|
||||
@@ -80,6 +140,16 @@ 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
|
||||
|
||||
# Boot time 183626384
|
||||
write /proc/vendor_sched/groups/ta/uclamp_min 159
|
||||
write /proc/vendor_sched/groups/ta/prefer_idle 1
|
||||
@@ -91,11 +161,14 @@ on init
|
||||
# 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
|
||||
write /sys/devices/system/cpu/cpu0/cpufreq/sched_pixel/down_rate_limit_us 5000
|
||||
write /sys/devices/system/cpu/cpu0/cpufreq/sched_pixel/down_rate_limit_scale_pow 2
|
||||
write /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor sched_pixel
|
||||
write /sys/devices/system/cpu/cpu4/cpufreq/sched_pixel/up_rate_limit_us 500
|
||||
write /sys/devices/system/cpu/cpu4/cpufreq/sched_pixel/down_rate_limit_us 20000
|
||||
write /sys/devices/system/cpu/cpu6/cpufreq/scaling_governor sched_pixel
|
||||
write /sys/devices/system/cpu/cpu6/cpufreq/sched_pixel/up_rate_limit_us 500
|
||||
write /sys/devices/system/cpu/cpu6/cpufreq/sched_pixel/down_rate_limit_us 20000
|
||||
|
||||
# memlat cpuidle awareness setting
|
||||
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu0_memlat@17000010/memlat_cpuidle_state_aware 2
|
||||
@@ -107,6 +180,15 @@ on init
|
||||
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu6_memlat@17000010/memlat_cpuidle_state_aware 2
|
||||
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu7_memlat@17000010/memlat_cpuidle_state_aware 2
|
||||
|
||||
# RT uclamp setting
|
||||
write /proc/sys/kernel/sched_util_clamp_min_rt_default 0
|
||||
|
||||
# change permissions and default values for camera-daemon cpu controller
|
||||
chown system system /dev/cpuctl/camera-daemon/cpu.uclamp.min
|
||||
chown system system /dev/cpuctl/camera-daemon/cpu.uclamp.max
|
||||
chown root root /dev/cpuctl/camera-daemon/cpu.uclamp.latency_sensitive
|
||||
chown system system /dev/cpuctl/camera-daemon/cgroup.procs
|
||||
|
||||
mkdir /dev/cpuset/camera-daemon-high-group
|
||||
write /dev/cpuset/camera-daemon-high-group/cpus 0-7
|
||||
write /dev/cpuset/camera-daemon-high-group/mems 0
|
||||
@@ -125,6 +207,11 @@ on init
|
||||
chown system system /dev/cpuset/camera-daemon-mid-high-group/tasks
|
||||
chmod 0664 /dev/cpuset/camera-daemon-mid-high-group/tasks
|
||||
|
||||
write /proc/vendor_sched/groups/cam/prefer_idle 1
|
||||
write /proc/vendor_sched/groups/cam/uclamp_min 1
|
||||
|
||||
chown system system /dev/cpuset/cgroup.procs
|
||||
|
||||
# nanohub sensor
|
||||
chmod 0664 /dev/nanohub
|
||||
chmod 0664 /dev/nanohub_comms
|
||||
@@ -173,7 +260,6 @@ on init
|
||||
chown system system /sys/class/power_supply/wireless/device/version
|
||||
chown system system /sys/class/power_supply/wireless/device/features
|
||||
chown system system /sys/class/power_supply/wireless/device/authtype
|
||||
chown system system /sys/class/power_supply/wireless/device/authstart
|
||||
|
||||
# Adaptive charge
|
||||
chown system system /sys/class/power_supply/battery/charge_deadline
|
||||
@@ -220,6 +306,10 @@ on init
|
||||
# Power Stats HAL
|
||||
chown system system /dev/bbd_pwrstat
|
||||
|
||||
# Add a boost for NNAPI HAL
|
||||
write /proc/vendor_sched/groups/nnapi/prefer_idle 0
|
||||
write /proc/vendor_sched/groups/nnapi/uclamp_min 512
|
||||
|
||||
# Add memlat governor settings
|
||||
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu0_memlat@17000010/polling_interval 10
|
||||
write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu1_memlat@17000010/polling_interval 10
|
||||
@@ -249,11 +339,6 @@ on late-fs
|
||||
# Mount RW partitions which need run fsck
|
||||
mount_all --late
|
||||
|
||||
on late-init
|
||||
write /sys/devices/system/cpu/cpu0/cpufreq/sched_pixel/down_rate_limit_us 5000
|
||||
write /sys/devices/system/cpu/cpu4/cpufreq/sched_pixel/down_rate_limit_us 20000
|
||||
write /sys/devices/system/cpu/cpu6/cpufreq/sched_pixel/down_rate_limit_us 20000
|
||||
|
||||
on post-fs-data
|
||||
# Log data folder
|
||||
mkdir /data/vendor 0771 radio system
|
||||
@@ -292,8 +377,8 @@ on post-fs-data
|
||||
restorecon /sys/kernel/debug/tracing/trace_marker
|
||||
|
||||
# ranging sensor
|
||||
chown system system /dev/ispolin_ranging
|
||||
chmod 0660 /dev/ispolin_ranging
|
||||
chown system system /dev/stmvl53l1_ranging
|
||||
chmod 0660 /dev/stmvl53l1_ranging
|
||||
|
||||
# Factory calibration files
|
||||
chmod 0771 /mnt/vendor/persist/camera
|
||||
@@ -596,13 +681,27 @@ on property:sys.boot_completed=1
|
||||
# Setup final cpuset
|
||||
write /dev/cpuset/top-app/cpus ${persist.device_config.vendor_system_native.top-app_cpuset:-0-7}
|
||||
write /dev/cpuset/foreground/cpus ${persist.device_config.vendor_system_native.foreground_cpuset:-0-3,4-5}
|
||||
write /dev/cpuset/foreground_window/cpus ${persist.device_config.vendor_system_native.foreground_window_cpuset:-0-3,4-5}
|
||||
write /dev/cpuset/background/cpus ${persist.device_config.vendor_system_native.background_cpuset:-0-3}
|
||||
write /dev/cpuset/system-background/cpus ${persist.device_config.vendor_system_native.system-background_cpuset:-0-3}
|
||||
write /dev/cpuset/restricted/cpus ${persist.device_config.vendor_system_native.restricted_cpuset:-0-3}
|
||||
write /dev/cpuset/camera-daemon/cpus ${persist.device_config.vendor_system_native.camera-daemon_cpuset:-0-7}
|
||||
setprop vendor.powerhal.init 1
|
||||
|
||||
# Setup final cpu.uclamp
|
||||
write /proc/vendor_sched/groups/ta/uclamp_min 1
|
||||
write /proc/vendor_sched/groups/fg/uclamp_min 0
|
||||
write /proc/vendor_sched/groups/sys/prefer_idle 0
|
||||
|
||||
# Set ug group
|
||||
write /proc/vendor_sched/groups/bg/ug 0
|
||||
write /proc/vendor_sched/groups/sys_bg/ug 0
|
||||
write /proc/vendor_sched/groups/ota/ug 0
|
||||
write /proc/vendor_sched/groups/dex2oat/ug 1
|
||||
write /proc/vendor_sched/groups/ta/ug 1
|
||||
|
||||
# Set bg group throttle
|
||||
write /proc/vendor_sched/ug_bg_group_throttle ${persist.device_config.vendor_system_native.ug_bg_group_throttle:-308}
|
||||
|
||||
# Set uclamp.max for some groups, which could indicate cpu importance used in scheduling
|
||||
write /proc/vendor_sched/groups/bg/uclamp_max 512
|
||||
write /proc/vendor_sched/groups/sys_bg/uclamp_max 512
|
||||
@@ -621,6 +720,12 @@ on property:sys.boot_completed=1
|
||||
write /sys/devices/system/cpu/cpufreq/policy6/sched_pixel/limit_frequency 2507000
|
||||
write /proc/vendor_sched/pmu_poll_time 10
|
||||
|
||||
# Disable PMU freq limit
|
||||
write /sys/devices/system/cpu/cpufreq/policy0/sched_pixel/pmu_limit_enable 1
|
||||
write /sys/devices/system/cpu/cpufreq/policy4/sched_pixel/pmu_limit_enable 1
|
||||
write /sys/devices/system/cpu/cpufreq/policy6/sched_pixel/pmu_limit_enable 1
|
||||
write /proc/vendor_sched/pmu_poll_enable 0
|
||||
|
||||
# Make devices on the critical path for suspend/resume asynchronous
|
||||
write /sys/devices/platform/acpm_mfd_bus@18110000/i2c-21/21-002f/power/async "enabled"
|
||||
write /sys/devices/platform/acpm_mfd_bus@18110000/i2c-21/power/async "enabled"
|
||||
@@ -636,6 +741,18 @@ on property:sys.boot_completed=1
|
||||
write /sys/devices/platform/18062080.pd-hsi0/power/async "enabled"
|
||||
write /sys/devices/platform/14460000.pinctrl/power/async "enabled"
|
||||
|
||||
# Setup cpu.shares to throttle background groups (bg ~ 5% sysbg ~ 5% dex2oat ~2.5%)
|
||||
write /dev/cpuctl/background/cpu.shares 1024
|
||||
write /dev/cpuctl/system-background/cpu.shares 1024
|
||||
write /dev/cpuctl/dex2oat/cpu.shares 512
|
||||
write /dev/cpuctl/system/cpu.shares 20480
|
||||
# We only have system and background groups holding tasks and the groups below are empty
|
||||
write /dev/cpuctl/camera-daemon/cpu.shares 20480
|
||||
write /dev/cpuctl/foreground/cpu.shares 20480
|
||||
write /dev/cpuctl/nnapi-hal/cpu.shares 20480
|
||||
write /dev/cpuctl/rt/cpu.shares 20480
|
||||
write /dev/cpuctl/top-app/cpu.shares 20480
|
||||
|
||||
# gvotables for dumpstate
|
||||
chown system system /sys/kernel/debug/gvotables
|
||||
|
||||
@@ -726,12 +843,10 @@ service init_display /vendor/bin/init.display.sh
|
||||
group root system
|
||||
disabled
|
||||
oneshot
|
||||
file /dev/kmsg w
|
||||
|
||||
# bugreport is triggered by holding down volume down, volume up and power
|
||||
service bugreport /system/bin/dumpstate -d -p -z
|
||||
class main
|
||||
user root
|
||||
disabled
|
||||
oneshot
|
||||
keycodes 114 115 116
|
||||
@@ -760,12 +875,10 @@ on property:ro.build.fingerprint=*
|
||||
write /sys/module/debug_kinfo/parameters/build_info ${ro.build.fingerprint}
|
||||
|
||||
# Bluetooth
|
||||
on early-boot
|
||||
on post-fs-data
|
||||
chown bluetooth system /sys/devices/platform/175b0000.serial/serial0/serial0-0/bluetooth/hci0/rfkill0/state
|
||||
chown bluetooth system /sys/devices/platform/odm/odm:btbcm/rfkill/rfkill0/state
|
||||
chown bluetooth system /sys/devices/platform/odm/odm:btbcm/rfkill/rfkill2/state
|
||||
|
||||
on post-fs-data
|
||||
chown bluetooth system /proc/bluetooth/sleep/btwake
|
||||
chown bluetooth system /proc/bluetooth/sleep/lpm
|
||||
chown bluetooth system /proc/bluetooth/sleep/btwrite
|
||||
@@ -792,11 +905,39 @@ on property:vendor.brownout.mitigation.ready=1
|
||||
write /sys/devices/virtual/pmic/mitigation/triggered_lvl/uvlo2_lvl 3000
|
||||
write /sys/devices/virtual/pmic/mitigation/triggered_lvl/soft_ocp_cpu2_lvl 12000
|
||||
write /sys/devices/virtual/pmic/mitigation/clock_div/tpu_clk_div 0x1
|
||||
write /sys/devices/virtual/pmic/mitigation/clock_div/gpu_clk_div 0x81 #mask VDROOP1
|
||||
write /sys/devices/virtual/pmic/mitigation/clock_div/gpu_clk_div 0x1
|
||||
write /sys/devices/virtual/pmic/mitigation/clock_div/cpu1_clk_div 0x381
|
||||
write /sys/devices/virtual/pmic/mitigation/clock_div/cpu2_clk_div 0x1
|
||||
|
||||
on property:vendor.thermal.link_ready=1
|
||||
# BCL
|
||||
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
|
||||
# Thermal
|
||||
chown system system /dev/thermal/tz-by-name/skin_therm/trip_point_0_temp
|
||||
chown system system /dev/thermal/tz-by-name/skin_therm/trip_point_0_hyst
|
||||
@@ -892,8 +1033,6 @@ on property:persist.device_config.vendor_system_native.top-app_cpuset=*
|
||||
write /dev/cpuset/top-app/cpus ${persist.device_config.vendor_system_native.top-app_cpuset:-0-7}
|
||||
on property:persist.device_config.vendor_system_native.foreground_cpuset=*
|
||||
write /dev/cpuset/foreground/cpus ${persist.device_config.vendor_system_native.foreground_cpuset:-0-3,4-5}
|
||||
on property:persist.device_config.vendor_system_native.foreground_window_cpuset=*
|
||||
write /dev/cpuset/foreground/cpus ${persist.device_config.vendor_system_native.foreground_window_cpuset:-0-3,4-5}
|
||||
on property:persist.device_config.vendor_system_native.background_cpuset=*
|
||||
write /dev/cpuset/background/cpus ${persist.device_config.vendor_system_native.background_cpuset:-0-3}
|
||||
on property:persist.device_config.vendor_system_native.system-background_cpuset=*
|
||||
@@ -902,14 +1041,3 @@ on property:persist.device_config.vendor_system_native.restricted_cpuset=*
|
||||
write /dev/cpuset/restricted/cpus ${persist.device_config.vendor_system_native.restricted_cpuset:-0-3}
|
||||
on property:persist.device_config.vendor_system_native.camera-daemon_cpuset=*
|
||||
write /dev/cpuset/camera-daemon/cpus ${persist.device_config.vendor_system_native.camera-daemon_cpuset:-0-7}
|
||||
|
||||
# Battery health
|
||||
on property:persist.vendor.pulsar.opt_out=1
|
||||
write /sys/class/power_supply/battery/aacp_opt_out 1
|
||||
|
||||
on property:persist.vendor.pulsar.opt_out=0
|
||||
write /sys/class/power_supply/battery/aacp_opt_out 0
|
||||
|
||||
# NFC
|
||||
on post-fs-data
|
||||
mkdir /data/vendor/nfc 0770 nfc nfc
|
||||
|
||||
@@ -75,7 +75,7 @@ on early-boot
|
||||
mkdir /config/usb_gadget/g1/functions/uvc.0
|
||||
write /config/usb_gadget/g1/functions/uvc.0/function_name "Android Webcam"
|
||||
write /config/usb_gadget/g1/functions/uvc.0/streaming_maxpacket 3072
|
||||
write /config/usb_gadget/g1/functions/uvc.0/streaming_maxburst 1
|
||||
# write /config/usb_gadget/g1/functions/uvc.0/streaming_maxburst 5
|
||||
# write /config/usb_gadget/g1/functions/uvc.0/streaming_interval 2
|
||||
# setup control params
|
||||
mkdir /config/usb_gadget/g1/functions/uvc.0/control/header/h
|
||||
@@ -417,7 +417,3 @@ on property:ro.bootmode=usbuwb
|
||||
|
||||
on property:vendor.usb.contaminantdisable=true
|
||||
exec /vendor/bin/hw/disable_contaminant_detection.sh
|
||||
|
||||
# WAR for kernel 5.10 with CONFIG_USB_DUMMY_HCD enabled
|
||||
on property:sys.usb.controller=dummy_udc.0
|
||||
setprop sys.usb.controller "11210000.dwc3"
|
||||
|
||||
@@ -11,7 +11,7 @@ on post-fs-data
|
||||
mkdir /data/vendor/slog 0771 system system
|
||||
|
||||
# Modem extended log folder
|
||||
mkdir /data/vendor/radio/extended_logs 0771 radio system
|
||||
mkdir /data/vendor/radio/extended_logs 0770 radio system
|
||||
|
||||
# Modem MDS log folder
|
||||
mkdir /data/vendor/radio/mds 0771 radio system
|
||||
|
||||
@@ -41,15 +41,12 @@
|
||||
</exception>
|
||||
-->
|
||||
|
||||
<exception package="com.google.android.GoogleCamera">
|
||||
<permission name="android.permission.POST_NOTIFICATIONS" fixed="false"/>
|
||||
</exception>
|
||||
|
||||
<exception
|
||||
package="com.google.android.apps.camera.services">
|
||||
<!-- Camera -->
|
||||
<permission name="android.permission.CAMERA" fixed="false"/>
|
||||
<!-- Camera Connectivity -->
|
||||
<permission name="android.permission.ACCESS_FINE_LOCATION" fixed="false"/>
|
||||
<permission name="android.permission.POST_NOTIFICATIONS" fixed="false"/>
|
||||
<permission name="android.permission.BLUETOOTH_CONNECT" fixed="false"/>
|
||||
<permission name="android.permission.BLUETOOTH_SCAN" fixed="false"/>
|
||||
@@ -79,8 +76,6 @@
|
||||
<permission name="android.permission.ACTIVITY_RECOGNITION" fixed="false"/>
|
||||
<!-- Notifications -->
|
||||
<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
|
||||
@@ -178,16 +173,5 @@
|
||||
<!-- Notifications -->
|
||||
<permission name="android.permission.POST_NOTIFICATIONS" fixed="false"/>
|
||||
</exception>
|
||||
|
||||
<exception package="com.google.android.apps.pixel.relationships">
|
||||
<permission name="android.permission.CALL_PHONE" fixed="false"/>
|
||||
<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.privacy.wildlife">
|
||||
<permission name="android.permission.READ_PHONE_STATE" fixed="false"/>
|
||||
</exception>
|
||||
</exceptions>
|
||||
|
||||
|
||||
@@ -14,6 +14,9 @@
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
ifneq ($(BOARD_WITHOUT_RADIO),true)
|
||||
-include vendor/google_devices/gs201/proprietary/telephony/device-vendor.mk
|
||||
endif
|
||||
include device/google/gs201/device.mk
|
||||
|
||||
ifneq ($(BOARD_WITHOUT_RADIO),true)
|
||||
|
||||
293
device.mk
293
device.mk
@@ -16,18 +16,16 @@
|
||||
|
||||
include device/google/gs-common/device.mk
|
||||
include device/google/gs-common/gs_watchdogd/watchdog.mk
|
||||
include device/google/gs-common/ramdump_and_coredump/ramdump_and_coredump.mk
|
||||
include device/google/gs-common/ramdump/ramdump.mk
|
||||
include device/google/gs-common/soc/soc.mk
|
||||
include device/google/gs-common/soc/freq.mk
|
||||
ifneq ($(BOARD_WITHOUT_RADIO),true)
|
||||
include device/google/gs-common/modem/modem.mk
|
||||
endif
|
||||
include device/google/gs-common/modem/modem.mk
|
||||
include device/google/gs-common/aoc/aoc.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/pixel_metrics/pixel_metrics.mk
|
||||
include device/google/gs-common/performance/perf.mk
|
||||
include device/google/gs-common/display/dump_exynos_display.mk
|
||||
include device/google/gs-common/display/dump.mk
|
||||
include device/google/gs-common/camera/dump.mk
|
||||
include device/google/gs-common/gxp/gxp.mk
|
||||
include device/google/gs-common/gps/dump/log.mk
|
||||
@@ -37,13 +35,11 @@ include device/google/gs-common/gear/dumpstate/aidl.mk
|
||||
include device/google/gs-common/widevine/widevine.mk
|
||||
include device/google/gs-common/sota_app/factoryota.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/bootctrl/bootctrl_aidl.mk
|
||||
include device/google/gs-common/betterbug/betterbug.mk
|
||||
ifneq ($(filter %_cheetah %_felix %_panther, $(TARGET_PRODUCT)),)
|
||||
ifneq ($(filter cheetah felix panther, $(TARGET_PRODUCT)),)
|
||||
include device/google/gs-common/bcmbt/dump/dumplog.mk
|
||||
endif
|
||||
include device/google/gs-common/fingerprint/fingerprint.mk
|
||||
include device/google/gs-common/nfc/nfc.mk
|
||||
|
||||
TARGET_BOARD_PLATFORM := gs201
|
||||
|
||||
@@ -54,10 +50,10 @@ AB_OTA_POSTINSTALL_CONFIG += \
|
||||
POSTINSTALL_OPTIONAL_system=true
|
||||
|
||||
# Set Vendor SPL to match platform
|
||||
VENDOR_SECURITY_PATCH := 2025-08-05
|
||||
VENDOR_SECURITY_PATCH = $(PLATFORM_SECURITY_PATCH)
|
||||
|
||||
# Set boot SPL
|
||||
BOOT_SECURITY_PATCH := 2025-08-05
|
||||
BOOT_SECURITY_PATCH = $(PLATFORM_SECURITY_PATCH)
|
||||
|
||||
# TODO(b/207450311): Remove this flag once implemented
|
||||
USE_PIXEL_GRALLOC := false
|
||||
@@ -67,20 +63,63 @@ endif
|
||||
|
||||
PRODUCT_SOONG_NAMESPACES += \
|
||||
hardware/google/av \
|
||||
hardware/google/gchips \
|
||||
hardware/google/gchips/gralloc4 \
|
||||
hardware/google/graphics/common \
|
||||
hardware/google/graphics/gs201 \
|
||||
hardware/google/interfaces \
|
||||
hardware/google/pixel \
|
||||
device/google/gs201 \
|
||||
device/google/gs201/powerstats
|
||||
device/google/gs201/powerstats \
|
||||
vendor/google_devices/common/chre/host/hal \
|
||||
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
|
||||
|
||||
ifeq ($(RELEASE_AVF_ENABLE_LLPVM_CHANGES),true)
|
||||
# Set the environment variable to enable the Secretkeeper HAL service.
|
||||
SECRETKEEPER_ENABLED := true
|
||||
endif
|
||||
LOCAL_KERNEL := $(TARGET_KERNEL_DIR)/Image.lz4
|
||||
|
||||
# OEM Unlock reporting
|
||||
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
|
||||
ro.oem_unlock_supported=1
|
||||
|
||||
ifneq ($(BOARD_WITHOUT_RADIO),true)
|
||||
# Include vendor telephony soong namespace
|
||||
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
|
||||
PRODUCT_PROPERTY_OVERRIDES += log.tag.IKE=VERBOSE
|
||||
|
||||
#Set Shannon IMS logs to debug
|
||||
PRODUCT_PROPERTY_OVERRIDES += log.tag.SHANNON_IMS=DEBUG
|
||||
|
||||
#Set Shannon QNS logs to debug
|
||||
PRODUCT_PROPERTY_OVERRIDES += log.tag.ShannonQNS=DEBUG
|
||||
PRODUCT_PROPERTY_OVERRIDES += log.tag.ShannonQNS-ims=DEBUG
|
||||
PRODUCT_PROPERTY_OVERRIDES += log.tag.ShannonQNS-emergency=DEBUG
|
||||
PRODUCT_PROPERTY_OVERRIDES += log.tag.ShannonQNS-mms=DEBUG
|
||||
PRODUCT_PROPERTY_OVERRIDES += log.tag.ShannonQNS-xcap=DEBUG
|
||||
PRODUCT_PROPERTY_OVERRIDES += log.tag.ShannonQNS-HC=DEBUG
|
||||
|
||||
# Modem userdebug
|
||||
include device/google/gs201/modem/userdebug.mk
|
||||
endif
|
||||
|
||||
ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
|
||||
# b/36703476: Set default log size to 1M
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
ro.logd.size=1M
|
||||
# b/114766334: persist all logs by default rotating on 30 files of 1MiB
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
logd.logpersistd=logcatd \
|
||||
logd.logpersistd.size=30
|
||||
endif
|
||||
|
||||
# From system.property
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
ro.telephony.default_network=27 \
|
||||
@@ -164,18 +203,9 @@ PRODUCT_PROPERTY_OVERRIDES += \
|
||||
telephony.active_modems.max_count=2
|
||||
|
||||
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)
|
||||
$(call soong_config_set,sitril,use_lassen_oemhook_with_radio,true)
|
||||
endif
|
||||
|
||||
# Use for GRIL
|
||||
USES_LASSEN_MODEM := true
|
||||
$(call soong_config_set, vendor_ril_google_feature, use_lassen_modem, true)
|
||||
ifneq ($(BOARD_WITHOUT_RADIO),true)
|
||||
$(call soong_config_set_bool,grilservice,use_google_qns,true)
|
||||
endif
|
||||
|
||||
ifeq ($(USES_GOOGLE_DIALER_CARRIER_SETTINGS),true)
|
||||
USE_GOOGLE_DIALER := true
|
||||
@@ -202,6 +232,9 @@ else
|
||||
TARGET_USES_VULKAN = true
|
||||
endif
|
||||
|
||||
PRODUCT_SOONG_NAMESPACES += \
|
||||
vendor/arm/mali/valhall
|
||||
|
||||
$(call soong_config_set,pixel_mali,soc,$(TARGET_BOARD_PLATFORM))
|
||||
|
||||
include device/google/gs-common/gpu/gpu.mk
|
||||
@@ -209,23 +242,15 @@ PRODUCT_PACKAGES += \
|
||||
csffw_image_prebuilt__firmware_prebuilt_todx_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
|
||||
|
||||
# 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=4 \
|
||||
vendor.mali.base_protected_max_core_count=1 \
|
||||
vendor.mali.base_protected_tls_max=67108864 \
|
||||
vendor.mali.platform_agt_frequency_khz=24576
|
||||
|
||||
@@ -234,8 +259,9 @@ 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.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.software.vulkan.deqp.level-2025-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml \
|
||||
frameworks/native/data/etc/android.software.opengles.deqp.level-2025-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.opengles.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.contextualsearch.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.contextualsearch.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
|
||||
|
||||
ifeq ($(USE_SWIFTSHADER),true)
|
||||
PRODUCT_PACKAGES += \
|
||||
@@ -272,7 +298,6 @@ PRODUCT_VENDOR_PROPERTIES += ro.surface_flinger.prime_shader_cache.ultrahdr=1
|
||||
DEVICE_MANIFEST_FILE := \
|
||||
device/google/gs201/manifest.xml
|
||||
|
||||
BOARD_USE_CODEC2_AIDL := V1
|
||||
ifneq (,$(filter aosp_%,$(TARGET_PRODUCT)))
|
||||
DEVICE_MANIFEST_FILE += \
|
||||
device/google/gs201/manifest_media_aosp.xml
|
||||
@@ -296,24 +321,26 @@ DEVICE_PACKAGE_OVERLAYS += device/google/gs201/overlay
|
||||
# This device is shipped with 33 (Android T)
|
||||
PRODUCT_SHIPPING_API_LEVEL := 33
|
||||
|
||||
# RKP VINTF
|
||||
-include vendor/google_nos/host/android/hals/keymaster/aidl/strongbox/RemotelyProvisionedComponent-citadel.mk
|
||||
|
||||
# Enforce the Product interface
|
||||
PRODUCT_PRODUCT_VNDK_VERSION := current
|
||||
PRODUCT_ENFORCE_PRODUCT_PARTITION_INTERFACE := true
|
||||
|
||||
# Init files
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_KERNEL):kernel \
|
||||
device/google/gs201/conf/init.gs201.usb.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.gs201.usb.rc \
|
||||
device/google/gs201/conf/ueventd.gs201.rc:$(TARGET_COPY_OUT_VENDOR)/etc/ueventd.rc
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
device/google/gs201/conf/init.gs201.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.gs201.rc
|
||||
|
||||
ifneq (,$(filter 5.%, $(TARGET_LINUX_KERNEL_VERSION)))
|
||||
ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
|
||||
PRODUCT_COPY_FILES += \
|
||||
device/google/gs201/storage/5.10/init.gs201.storage.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.gs201.storage.rc
|
||||
else
|
||||
PRODUCT_COPY_FILES += \
|
||||
device/google/gs201/storage/6.1/init.gs201.storage.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.gs201.storage.rc
|
||||
device/google/gs201/conf/init.debug.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.debug.rc \
|
||||
device/google/gs201/conf/init.check_ap_pd_auth.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.check_ap_pd_auth.sh
|
||||
endif
|
||||
|
||||
# Recovery files
|
||||
@@ -337,15 +364,19 @@ PRODUCT_COPY_FILES += \
|
||||
|
||||
include device/google/gs-common/insmod/insmod.mk
|
||||
|
||||
# Insmod config files
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(call find-copy-subdir-files,init.insmod.*.cfg,$(TARGET_KERNEL_DIR),$(TARGET_COPY_OUT_VENDOR_DLKM)/etc)
|
||||
|
||||
# For creating dtbo image
|
||||
PRODUCT_HOST_PACKAGES += \
|
||||
mkdtimg
|
||||
|
||||
# CHRE
|
||||
## tools
|
||||
ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
|
||||
PRODUCT_PACKAGES += \
|
||||
chre_power_test_client \
|
||||
chre_test_client \
|
||||
chre_aidl_hal_client
|
||||
endif
|
||||
|
||||
## HAL
|
||||
include device/google/gs-common/chre/hal.mk
|
||||
PRODUCT_COPY_FILES += \
|
||||
@@ -369,8 +400,13 @@ PRODUCT_PACKAGES += \
|
||||
checkpoint_gc
|
||||
|
||||
# Vendor verbose logging default property
|
||||
ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.vendor.verbose_logging_enabled=true
|
||||
else
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.vendor.verbose_logging_enabled=false
|
||||
endif
|
||||
|
||||
# RPMB TA
|
||||
PRODUCT_PACKAGES += \
|
||||
@@ -419,6 +455,13 @@ PRODUCT_COPY_FILES += \
|
||||
frameworks/native/data/etc/android.hardware.telephony.euicc.mep.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/permissions/android.hardware.telephony.euicc.mep.xml
|
||||
endif
|
||||
|
||||
# default usb debug functions
|
||||
ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.vendor.usb.usbradio.config=dm
|
||||
endif
|
||||
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
device/google/gs201/task_profiles.json:$(TARGET_COPY_OUT_VENDOR)/etc/task_profiles.json
|
||||
|
||||
@@ -470,6 +513,10 @@ PRODUCT_PROPERTY_OVERRIDES += aaudio.hw_burst_min_usec=2000
|
||||
PRODUCT_PACKAGES += \
|
||||
com.android.future.usb.accessory
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.graphics.mapper@4.0-impl \
|
||||
android.hardware.graphics.allocator-V1-service
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.memtrack-service.pixel \
|
||||
libion_exynos \
|
||||
@@ -525,6 +572,14 @@ PRODUCT_PACKAGES += \
|
||||
PRODUCT_PACKAGES += \
|
||||
ConnectivityOverlay
|
||||
|
||||
ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
|
||||
PRODUCT_PACKAGES_DEBUG += \
|
||||
f2fs_io \
|
||||
check_f2fs \
|
||||
f2fs.fibmap \
|
||||
dump.f2fs
|
||||
endif
|
||||
|
||||
# Storage dump
|
||||
include device/google/gs-common/storage/storage.mk
|
||||
|
||||
@@ -550,6 +605,11 @@ ifeq (,$(filter true, $(BOARD_WITHOUT_DTLS)))
|
||||
include device/google/gs-common/dauntless/gsc.mk
|
||||
endif
|
||||
|
||||
ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
|
||||
PRODUCT_PACKAGES_DEBUG += \
|
||||
WvInstallKeybox
|
||||
endif
|
||||
|
||||
# Copy Camera HFD Setfiles
|
||||
#PRODUCT_COPY_FILES += \
|
||||
device/google/gs201/firmware/camera/libhfd/default_configuration.hfd.cfg.json:$(TARGET_COPY_OUT_VENDOR)/firmware/default_configuration.hfd.cfg.json \
|
||||
@@ -601,6 +661,10 @@ PRODUCT_PROPERTY_OVERRIDES += \
|
||||
debug.slsi_platform=1 \
|
||||
debug.hwc.winupdate=1
|
||||
|
||||
ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
|
||||
PRODUCT_PACKAGES += displaycolor_service
|
||||
endif
|
||||
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
debug.sf.disable_backpressure=0 \
|
||||
debug.sf.enable_gl_backpressure=1 \
|
||||
@@ -675,6 +739,11 @@ PRODUCT_PACKAGES += wpa_supplicant.conf
|
||||
|
||||
WIFI_PRIV_CMD_UPDATE_MBO_CELL_STATUS := enabled
|
||||
|
||||
ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
|
||||
PRODUCT_PACKAGES += wpa_cli
|
||||
PRODUCT_PACKAGES += hostapd_cli
|
||||
endif
|
||||
|
||||
####################################
|
||||
## VIDEO
|
||||
####################################
|
||||
@@ -691,25 +760,16 @@ PRODUCT_COPY_FILES += \
|
||||
device/google/gs201/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 \
|
||||
|
||||
PRODUCT_PROPERTY_OVERRIDES += media.c2.hal.selection=aidl
|
||||
|
||||
# 2. OpenMAX IL
|
||||
PRODUCT_COPY_FILES += \
|
||||
device/google/gs201/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \
|
||||
@@ -745,11 +805,25 @@ $(call inherit-product, system/core/trusty/trusty-base.mk)
|
||||
# Trusty dump
|
||||
include device/google/gs-common/trusty/trusty.mk
|
||||
|
||||
# Trusty unit test and code coverage tool
|
||||
ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
|
||||
PRODUCT_PACKAGES_DEBUG += \
|
||||
trusty-ut-ctrl \
|
||||
tipc-test \
|
||||
trusty_stats_test \
|
||||
trusty-coverage-controller
|
||||
endif
|
||||
|
||||
include device/google/gs101/confirmationui/confirmationui.mk
|
||||
|
||||
# Trusty Secure DPU Daemon
|
||||
PRODUCT_PACKAGES += \
|
||||
securedpud.slider
|
||||
|
||||
# Trusty Metrics Daemon
|
||||
PRODUCT_SOONG_NAMESPACES += \
|
||||
vendor/google/trusty/common
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
trusty_metricsd
|
||||
|
||||
@@ -763,9 +837,15 @@ PRODUCT_PROPERTY_OVERRIDES += \
|
||||
ro.frp.pst=/dev/block/by-name/frp
|
||||
|
||||
# System props to enable Bluetooth Quality Report (BQR) feature
|
||||
ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
|
||||
PRODUCT_PRODUCT_PROPERTIES += \
|
||||
persist.bluetooth.bqr.event_mask?=262174 \
|
||||
persist.bluetooth.bqr.min_interval_ms=500
|
||||
else
|
||||
PRODUCT_PRODUCT_PROPERTIES += \
|
||||
persist.bluetooth.bqr.event_mask?=30 \
|
||||
persist.bluetooth.bqr.min_interval_ms=500
|
||||
endif
|
||||
|
||||
#VNDK
|
||||
PRODUCT_PACKAGES += \
|
||||
@@ -801,6 +881,12 @@ PRODUCT_PACKAGES += \
|
||||
PRODUCT_PACKAGES += \
|
||||
Iwlan
|
||||
|
||||
#Iwlan test app for eng builds
|
||||
ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
|
||||
PRODUCT_PACKAGES += \
|
||||
IwlanTestApp
|
||||
endif
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
whitelist \
|
||||
libstagefright_hdcp \
|
||||
@@ -814,15 +900,22 @@ PRODUCT_PACKAGES += \
|
||||
vts.bin
|
||||
|
||||
ifneq ($(BOARD_WITHOUT_RADIO),true)
|
||||
# This will be called only if IMSService is building with source code for dev branches.
|
||||
$(call inherit-product-if-exists, vendor/samsung_slsi/telephony/$(BOARD_USES_SHARED_VENDOR_TELEPHONY)/shannon-ims/device-vendor.mk)
|
||||
|
||||
PRODUCT_PACKAGES += ShannonIms
|
||||
|
||||
ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
|
||||
PRODUCT_PACKAGES_DEBUG += \
|
||||
preinstalled-packages-product-gs201-device-debug.xml
|
||||
endif
|
||||
|
||||
PRODUCT_PACKAGES += ShannonRcs
|
||||
endif
|
||||
|
||||
# Exynos RIL and telephony
|
||||
# Multi SIM(DSDS)
|
||||
SIM_COUNT := 2
|
||||
$(call soong_config_set,sim,sim_count,$(SIM_COUNT))
|
||||
SUPPORT_MULTI_SIM := true
|
||||
# Support NR
|
||||
SUPPORT_NR := true
|
||||
@@ -835,7 +928,15 @@ USE_SE_HIDL := true
|
||||
# Using Early Send Device Info
|
||||
USE_EARLY_SEND_DEVICE_INFO := true
|
||||
|
||||
#$(call inherit-product, vendor/google_devices/telephony/common/device-vendor.mk)
|
||||
#$(call inherit-product, vendor/google_devices/gs201/proprietary/device-vendor.mk)
|
||||
|
||||
ifneq ($(BOARD_WITHOUT_RADIO),true)
|
||||
$(call inherit-product-if-exists, vendor/samsung_slsi/telephony/$(BOARD_USES_SHARED_VENDOR_TELEPHONY)/common/device-vendor.mk)
|
||||
|
||||
# modem_svc_sit daemon
|
||||
PRODUCT_PACKAGES += modem_svc_sit
|
||||
|
||||
# modem logging binary/configs
|
||||
PRODUCT_PACKAGES += modem_logging_control
|
||||
|
||||
@@ -848,8 +949,13 @@ PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.vendor.sys.modem.logging.enable=true
|
||||
|
||||
# Enable silent CP crash handling
|
||||
ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.vendor.ril.crash_handling_mode=1
|
||||
else
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
persist.vendor.ril.crash_handling_mode=2
|
||||
endif
|
||||
|
||||
# Add support dual SIM mode
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
@@ -866,7 +972,10 @@ endif
|
||||
|
||||
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit_only.mk)
|
||||
|
||||
#$(call inherit-product, hardware/google_devices/exynos5/exynos5.mk)
|
||||
#$(call inherit-product-if-exists, hardware/google_devices/gs201/gs201.mk)
|
||||
#$(call inherit-product-if-exists, vendor/google_devices/common/exynos-vendor.mk)
|
||||
#$(call inherit-product-if-exists, hardware/broadcom/wlan/bcmdhd/firmware/bcm4375/device-bcm.mk)
|
||||
include device/google/gs-common/sensors/sensors.mk
|
||||
$(call soong_config_set,usf,target_soc,gs201)
|
||||
|
||||
@@ -884,6 +993,15 @@ PRODUCT_COPY_FILES += \
|
||||
device/google/$(TARGET_BOARD_PLATFORM)/radio/config/Pixel_stability.cfg:$(TARGET_COPY_OUT_VENDOR)/etc/modem/Pixel_stability.cfg \
|
||||
device/google/$(TARGET_BOARD_PLATFORM)/radio/config/Pixel_stability.nprf:$(TARGET_COPY_OUT_VENDOR)/etc/modem/Pixel_stability.nprf \
|
||||
|
||||
# Vibrator Diag
|
||||
ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
|
||||
PRODUCT_PACKAGES_DEBUG += \
|
||||
diag-vibrator \
|
||||
diag-vibrator-cs40l25a \
|
||||
diag-vibrator-drv2624 \
|
||||
$(NULL)
|
||||
endif
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.health-service.gs201 \
|
||||
android.hardware.health-service.gs201_recovery \
|
||||
@@ -893,6 +1011,9 @@ PRODUCT_PACKAGES += \
|
||||
include device/google/gs-common/audio/hidl_gs201.mk
|
||||
|
||||
## AoC soong
|
||||
PRODUCT_SOONG_NAMESPACES += \
|
||||
vendor/google/whitechapel/aoc
|
||||
|
||||
$(call soong_config_set,aoc,target_soc,$(TARGET_BOARD_PLATFORM))
|
||||
$(call soong_config_set,aoc,target_product,$(TARGET_PRODUCT))
|
||||
|
||||
@@ -917,6 +1038,22 @@ endif
|
||||
PRODUCT_PACKAGES += vndservicemanager
|
||||
PRODUCT_PACKAGES += vndservice
|
||||
|
||||
## TinyTools, debug tool and cs35l41 speaker calibration tool for Audio
|
||||
ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
|
||||
PRODUCT_PACKAGES += \
|
||||
tinyplay \
|
||||
tinycap \
|
||||
tinymix \
|
||||
tinypcminfo \
|
||||
tinyhostless \
|
||||
cplay \
|
||||
aoc_hal \
|
||||
aoc_tuning_inft \
|
||||
mahal_test \
|
||||
ma_aoc_tuning_test \
|
||||
crus_sp_cal
|
||||
endif
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
google.hardware.media.c2@1.0-service \
|
||||
libgc2_store \
|
||||
@@ -927,7 +1064,7 @@ PRODUCT_PACKAGES += \
|
||||
libgc2_utils
|
||||
|
||||
## Start packet router
|
||||
include device/google/gs-common/telephony/pktrouter.mk
|
||||
include device/google/gs101/telephony/pktrouter.mk
|
||||
|
||||
# Thermal HAL
|
||||
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.enable.thermal.genl=true
|
||||
@@ -936,7 +1073,14 @@ PRODUCT_PROPERTY_OVERRIDES += persist.vendor.enable.thermal.genl=true
|
||||
include device/google/gs-common/edgetpu/edgetpu.mk
|
||||
# Config variables for TPU chip on device.
|
||||
$(call soong_config_set,edgetpu_config,chip,janeiro)
|
||||
|
||||
# Include the edgetpu targets defined the namespaces below into the final image.
|
||||
PRODUCT_SOONG_NAMESPACES += \
|
||||
vendor/google_devices/gs201/proprietary/gchips/tpu/metrics \
|
||||
vendor/google_devices/gs201/proprietary/gchips/tpu/tflite_delegate \
|
||||
vendor/google_devices/gs201/proprietary/gchips/tpu/darwinn_logging_service \
|
||||
vendor/google_devices/gs201/proprietary/gchips/tpu/nnapi_stable_aidl \
|
||||
vendor/google_devices/gs201/proprietary/gchips/tpu/aidl \
|
||||
vendor/google_devices/gs201/proprietary/gchips/tpu/hal
|
||||
# TPU firmware
|
||||
PRODUCT_PACKAGES += edgetpu-janeiro.fw
|
||||
|
||||
@@ -984,19 +1128,34 @@ include hardware/google/pixel/common/pixel-common-device.mk
|
||||
# Pixel Logger
|
||||
include hardware/google/pixel/PixelLogger/PixelLogger.mk
|
||||
|
||||
# sscoredump
|
||||
include hardware/google/pixel/sscoredump/device.mk
|
||||
|
||||
# RadioExt Version
|
||||
USES_RADIOEXT_V1_5 = true
|
||||
|
||||
# Wifi ext
|
||||
include hardware/google/pixel/wifi_ext/device.mk
|
||||
|
||||
include device/google/gs201/dumpstate/item.mk
|
||||
# Battery Stats Viewer
|
||||
ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
|
||||
PRODUCT_PACKAGES_DEBUG += BatteryStatsViewer
|
||||
endif
|
||||
PRODUCT_PACKAGES += dump_power_gs201.sh
|
||||
|
||||
# Install product specific framework compatibility matrix
|
||||
# (TODO: b/169535506) This includes the FCM for system_ext and product partition.
|
||||
# It must be split into the FCM of each partition.
|
||||
DEVICE_PRODUCT_COMPATIBILITY_MATRIX_FILE += device/google/gs201/device_framework_matrix_product.xml
|
||||
|
||||
# Preopt SystemUI
|
||||
PRODUCT_DEXPREOPT_SPEED_APPS += SystemUIGoogle # For internal
|
||||
PRODUCT_DEXPREOPT_SPEED_APPS += SystemUI # For AOSP
|
||||
|
||||
# Compile SystemUI on device with `speed`.
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
dalvik.vm.systemuicompilerfilter=speed
|
||||
|
||||
# Keymint configuration
|
||||
PRODUCT_COPY_FILES += \
|
||||
frameworks/native/data/etc/android.software.device_id_attestation.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.device_id_attestation.xml \
|
||||
@@ -1013,11 +1172,3 @@ PRODUCT_PACKAGES += ufs_firmware_update.sh
|
||||
|
||||
# Touch service
|
||||
include device/google/gs-common/touch/twoshay/aidl_gs101.mk
|
||||
include device/google/gs-common/touch/twoshay/twoshay.mk
|
||||
|
||||
|
||||
# Allow longer timeout for incident report generation in bugreport
|
||||
# Overriding in /product partition instead of /vendor intentionally,
|
||||
# since it can't be overridden from /vendor.
|
||||
PRODUCT_PRODUCT_PROPERTIES += \
|
||||
dumpstate.strict_run=false
|
||||
|
||||
@@ -78,7 +78,7 @@
|
||||
</hal>
|
||||
<hal format="aidl" optional="true">
|
||||
<name>com.google.hardware.pixel.display</name>
|
||||
<version>13-15</version>
|
||||
<version>10</version>
|
||||
<interface>
|
||||
<name>IDisplay</name>
|
||||
<instance>default</instance>
|
||||
@@ -118,7 +118,7 @@
|
||||
</hal>
|
||||
<hal format="aidl" optional="true">
|
||||
<name>vendor.google.wifi_ext</name>
|
||||
<version>2-4</version>
|
||||
<version>2-3</version>
|
||||
<interface>
|
||||
<name>IWifiExt</name>
|
||||
<instance>default</instance>
|
||||
|
||||
@@ -2,19 +2,9 @@ package {
|
||||
default_applicable_licenses: ["Android-Apache-2.0"],
|
||||
}
|
||||
|
||||
cc_binary {
|
||||
name: "dump_power",
|
||||
srcs: ["dump_power.cpp"],
|
||||
cflags: [
|
||||
"-Wall",
|
||||
"-Wextra",
|
||||
"-Werror",
|
||||
],
|
||||
shared_libs: [
|
||||
"libbase",
|
||||
"libdump",
|
||||
"libdumpstateutil",
|
||||
],
|
||||
sh_binary {
|
||||
name: "dump_power_gs201.sh",
|
||||
src: "dump_power_gs201.sh",
|
||||
vendor: true,
|
||||
relative_install_path: "dump",
|
||||
}
|
||||
sub_dir: "dump",
|
||||
}
|
||||
|
||||
10
dumpstate/OWNERS
Normal file
10
dumpstate/OWNERS
Normal file
@@ -0,0 +1,10 @@
|
||||
aaronding@google.com
|
||||
rurumihong@google.com
|
||||
adamshih@google.com
|
||||
wilsonsung@google.com
|
||||
lucaswei@google.com
|
||||
cyanhsieh@google.com
|
||||
rogerliao@google.com
|
||||
cyuanjen@google.com
|
||||
robinpeng@google.com
|
||||
pattjin@google.com
|
||||
@@ -1,819 +0,0 @@
|
||||
/*
|
||||
* Copyright 2023 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.
|
||||
*/
|
||||
#include <cstring>
|
||||
#include <dirent.h>
|
||||
#include <dump/pixel_dump.h>
|
||||
#include <fstream>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <sys/sysinfo.h>
|
||||
#include <time.h>
|
||||
#include <vector>
|
||||
#include <android-base/file.h>
|
||||
#include <android-base/strings.h>
|
||||
#include "DumpstateUtil.h"
|
||||
void printTitle(const char *msg) {
|
||||
printf("\n------ %s ------\n", msg);
|
||||
}
|
||||
int getCommandOutput(const char *cmd, std::string *output) {
|
||||
char buffer[1024];
|
||||
FILE *pipe = popen(cmd, "r");
|
||||
if (!pipe) {
|
||||
return -1;
|
||||
}
|
||||
while (fgets(buffer, sizeof buffer, pipe) != NULL) {
|
||||
*output += buffer;
|
||||
}
|
||||
pclose(pipe);
|
||||
if (output->back() == '\n')
|
||||
output->pop_back();
|
||||
return 0;
|
||||
}
|
||||
bool isValidFile(const char *file) {
|
||||
FILE *fp = fopen(file, "r");
|
||||
if (fp != NULL) {
|
||||
fclose(fp);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
bool isValidDir(const char *directory) {
|
||||
DIR *dir = opendir(directory);
|
||||
if (dir == NULL)
|
||||
return false;
|
||||
|
||||
closedir(dir);
|
||||
return true;
|
||||
}
|
||||
bool isUserBuild() {
|
||||
return ::android::os::dumpstate::PropertiesHelper::IsUserBuild();
|
||||
}
|
||||
int getFilesInDir(const char *directory, std::vector<std::string> *files) {
|
||||
std::string content;
|
||||
struct dirent *entry;
|
||||
DIR *dir = opendir(directory);
|
||||
if (dir == NULL)
|
||||
return -1;
|
||||
files->clear();
|
||||
while ((entry = readdir(dir)) != NULL)
|
||||
files->push_back(entry->d_name);
|
||||
closedir(dir);
|
||||
sort(files->begin(), files->end());
|
||||
return 0;
|
||||
}
|
||||
void dumpPowerStatsTimes() {
|
||||
const char *title = "Power Stats Times";
|
||||
char rBuff[128];
|
||||
struct timespec rTs;
|
||||
struct sysinfo info;
|
||||
int ret;
|
||||
printTitle(title);
|
||||
sysinfo(&info);
|
||||
const time_t boottime = time(NULL) - info.uptime;
|
||||
ret = clock_gettime(CLOCK_REALTIME, &rTs);
|
||||
if (ret)
|
||||
return;
|
||||
struct tm *nowTime = std::localtime(&rTs.tv_sec);
|
||||
std::strftime(rBuff, sizeof(rBuff), "%m/%d/%Y %H:%M:%S", nowTime);
|
||||
printf("Boot: %s", ctime(&boottime));
|
||||
printf("Now: %s\n", rBuff);
|
||||
}
|
||||
int readContentsOfDir(const char* title, const char* directory, const char* strMatch,
|
||||
bool useStrMatch = false, bool printDirectory = false) {
|
||||
std::vector<std::string> files;
|
||||
std::string content;
|
||||
std::string fileLocation;
|
||||
int ret;
|
||||
ret = getFilesInDir(directory, &files);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
printTitle(title);
|
||||
for (auto &file : files) {
|
||||
if (useStrMatch && std::string::npos == std::string(file).find(strMatch)) {
|
||||
continue;
|
||||
}
|
||||
fileLocation = std::string(directory) + std::string(file);
|
||||
if (!android::base::ReadFileToString(fileLocation, &content)) {
|
||||
continue;
|
||||
}
|
||||
if (printDirectory) {
|
||||
printf("\n\n%s\n", fileLocation.c_str());
|
||||
}
|
||||
if (content.back() == '\n')
|
||||
content.pop_back();
|
||||
printf("%s\n", content.c_str());
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
void dumpAcpmStats() {
|
||||
const char* acpmDir = "/sys/devices/platform/acpm_stats/";
|
||||
const char* statsSubStr = "_stats";
|
||||
const char* acpmTitle = "ACPM stats";
|
||||
readContentsOfDir(acpmTitle, acpmDir, statsSubStr, true, true);
|
||||
}
|
||||
void dumpPowerSupplyStats() {
|
||||
const char* dumpList[][2] = {
|
||||
{"CPU PM stats", "/sys/devices/system/cpu/cpupm/cpupm/time_in_state"},
|
||||
{"Power supply property battery", "/sys/class/power_supply/battery/uevent"},
|
||||
{"Power supply property dc", "/sys/class/power_supply/dc/uevent"},
|
||||
{"Power supply property gcpm", "/sys/class/power_supply/gcpm/uevent"},
|
||||
{"Power supply property gcpm_pps", "/sys/class/power_supply/gcpm_pps/uevent"},
|
||||
{"Power supply property main-charger", "/sys/class/power_supply/main-charger/uevent"},
|
||||
{"Power supply property pca94xx-mains", "/sys/class/power_supply/pca94xx-mains/uevent"},
|
||||
{"Power supply property tcpm", "/sys/class/power_supply/tcpm-source-psy-i2c-max77759tcpc/uevent"},
|
||||
{"Power supply property usb", "/sys/class/power_supply/usb/uevent"},
|
||||
{"Power supply property wireless", "/sys/class/power_supply/wireless/uevent"},
|
||||
};
|
||||
for (const auto &row : dumpList) {
|
||||
dumpFileContent(row[0], row[1]);
|
||||
}
|
||||
}
|
||||
void dumpMaxFg() {
|
||||
const char *maxfgLoc = "/sys/class/power_supply/maxfg";
|
||||
const char *maxfgDualLoc = "/sys/class/power_supply/maxfg_base";
|
||||
const char *maxfg [][2] = {
|
||||
{"Power supply property maxfg", "/sys/class/power_supply/maxfg/uevent"},
|
||||
{"m5_state", "/sys/class/power_supply/maxfg/m5_model_state"},
|
||||
{"maxfg registers", "/sys/class/power_supply/maxfg/registers_dump"},
|
||||
{"maxfg logbuffer", "/dev/logbuffer_maxfg"},
|
||||
{"maxfg_monitor logbuffer", "/dev/logbuffer_maxfg_monitor"},
|
||||
};
|
||||
const char *maxfgDual [][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"},
|
||||
{"m5_state", "/sys/class/power_supply/maxfg_base/m5_model_state"},
|
||||
{"maxfg_base logbuffer", "/dev/logbuffer_maxfg_base"},
|
||||
{"maxfg_secondary logbuffer", "/dev/logbuffer_maxfg_secondary"},
|
||||
{"maxfg_base logbuffer", "/dev/logbuffer_maxfg_base_monitor"},
|
||||
{"maxfg_secondary logbuffer", "/dev/logbuffer_maxfg_secondary_monitor"},
|
||||
{"dual_batt logbuffer", "/dev/logbuffer_dual_batt"},
|
||||
};
|
||||
const char *maxfgHistoryName = "Maxim FG History";
|
||||
const char *maxfgHistoryDir = "/dev/maxfg_history";
|
||||
std::string content;
|
||||
if (isValidDir(maxfgLoc)) {
|
||||
for (const auto &row : maxfg) {
|
||||
dumpFileContent(row[0], row[1]);
|
||||
}
|
||||
} else if (isValidDir(maxfgDualLoc)){
|
||||
for (const auto &row : maxfgDual) {
|
||||
dumpFileContent(row[0], row[1]);
|
||||
}
|
||||
if (isValidFile(maxfgHistoryDir)) {
|
||||
dumpFileContent(maxfgHistoryName, maxfgHistoryDir);
|
||||
}
|
||||
}
|
||||
}
|
||||
void dumpPowerSupplyDock() {
|
||||
const char* powerSupplyPropertyDockTitle = "Power supply property dock";
|
||||
const char* powerSupplyPropertyDockFile = "/sys/class/power_supply/dock/uevent";
|
||||
dumpFileContent(powerSupplyPropertyDockTitle, powerSupplyPropertyDockFile);
|
||||
}
|
||||
void dumpLogBufferTcpm() {
|
||||
const char* logbufferTcpmTitle = "Logbuffer TCPM";
|
||||
const char* logbufferTcpmFile = "/dev/logbuffer_tcpm";
|
||||
const char* debugTcpmFile = "/sys/kernel/debug/tcpm";
|
||||
const char* tcpmLogTitle = "TCPM logs";
|
||||
const char* tcpmFile = "/sys/kernel/debug/tcpm";
|
||||
const char* tcpmFileAlt = "/sys/kernel/debug/usb/tcpm";
|
||||
int retCode;
|
||||
dumpFileContent(logbufferTcpmTitle, logbufferTcpmFile);
|
||||
retCode = readContentsOfDir(tcpmLogTitle, isValidFile(debugTcpmFile) ? tcpmFile : tcpmFileAlt,
|
||||
NULL);
|
||||
if (retCode < 0)
|
||||
printTitle(tcpmLogTitle);
|
||||
}
|
||||
void dumpTcpc() {
|
||||
const char* max77759TcpcHead = "TCPC Device Attributes";
|
||||
const char* directory = "/sys/class/typec/port0/device";
|
||||
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::string content;
|
||||
std::string tcpcRegistersPath(std::string(directory) + "/registers");
|
||||
|
||||
dumpFileContent("TCPC Registers", tcpcRegistersPath.c_str());
|
||||
|
||||
printTitle(max77759TcpcHead);
|
||||
|
||||
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() {
|
||||
const char* pdEngine [][3] {
|
||||
{"TCPC logbuffer", "/dev/logbuffer_usbpd"},
|
||||
{"pogo_transport logbuffer", "/dev/logbuffer_pogo_transport"},
|
||||
{"PPS-google_cpm logbuffer", "/dev/logbuffer_cpm"},
|
||||
{"PPS-pca9468 logbuffer", "/dev/logbuffer_pca9468"},
|
||||
};
|
||||
for (const auto &row : pdEngine) {
|
||||
dumpFileContent(row[0], row[1]);
|
||||
}
|
||||
}
|
||||
void dumpBatteryHealth() {
|
||||
const char* batteryHealth [][2] {
|
||||
{"Battery Health", "/sys/class/power_supply/battery/health_index_stats"},
|
||||
{"Battery Health SoC Residency", "/sys/class/power_supply/battery/swelling_data"},
|
||||
{"BMS", "/dev/logbuffer_ssoc"},
|
||||
{"TTF", "/dev/logbuffer_ttf"},
|
||||
{"TTF details", "/sys/class/power_supply/battery/ttf_details"},
|
||||
{"TTF stats", "/sys/class/power_supply/battery/ttf_stats"},
|
||||
{"aacr_state", "/sys/class/power_supply/battery/aacr_state"},
|
||||
{"maxq", "/dev/logbuffer_maxq"},
|
||||
{"TEMP/DOCK-DEFEND", "/dev/logbuffer_bd"},
|
||||
};
|
||||
for (const auto &row : batteryHealth) {
|
||||
dumpFileContent(row[0], row[1]);
|
||||
}
|
||||
}
|
||||
void dumpBatteryDefend() {
|
||||
const char* defendConfig [][3] {
|
||||
{"TRICKLE-DEFEND Config",
|
||||
"/sys/devices/platform/google,battery/power_supply/battery/", "bd_"},
|
||||
{"DWELL-DEFEND Config", "/sys/devices/platform/google,charger/", "charge_s"},
|
||||
{"TEMP-DEFEND Config", "/sys/devices/platform/google,charger/", "bd_"},
|
||||
};
|
||||
std::vector<std::string> files;
|
||||
struct dirent *entry;
|
||||
std::string content;
|
||||
std::string fileLocation;
|
||||
for (auto &config : defendConfig) {
|
||||
DIR *dir = opendir(config[1]);
|
||||
if (dir == NULL)
|
||||
continue;
|
||||
printTitle(config[0]);
|
||||
while ((entry = readdir(dir)) != NULL) {
|
||||
if (std::string(entry->d_name).find(config[2]) != std::string::npos &&
|
||||
strncmp(config[2], entry->d_name, strlen(config[2])) == 0) {
|
||||
files.push_back(entry->d_name);
|
||||
}
|
||||
}
|
||||
closedir(dir);
|
||||
sort(files.begin(), files.end());
|
||||
for (auto &file : files) {
|
||||
fileLocation = std::string(config[1]) + std::string(file);
|
||||
if (!android::base::ReadFileToString(fileLocation, &content) || content.empty()) {
|
||||
content = "\n";
|
||||
}
|
||||
printf("%s: %s", file.c_str(), content.c_str());
|
||||
if (content.back() != '\n')
|
||||
printf("\n");
|
||||
}
|
||||
files.clear();
|
||||
}
|
||||
}
|
||||
void dumpBatteryCaretaker() {
|
||||
const char* aacpConfig [][3] {
|
||||
{"AACP Version",
|
||||
"/sys/devices/platform/google,battery/power_supply/battery/", "aacp_"},
|
||||
{"AACR Config",
|
||||
"/sys/devices/platform/google,battery/power_supply/battery/", "aacr_"},
|
||||
{"AAFV Config",
|
||||
"/sys/devices/platform/google,battery/power_supply/battery/", "aafv_"},
|
||||
{"AACT Config",
|
||||
"/sys/devices/platform/google,battery/power_supply/battery/", "aact_"},
|
||||
{"AACC",
|
||||
"/sys/devices/platform/google,battery/power_supply/battery/", "aacc"},
|
||||
};
|
||||
std::vector<std::string> files;
|
||||
struct dirent *entry;
|
||||
std::string content;
|
||||
std::string fileLocation;
|
||||
for (auto &config : aacpConfig) {
|
||||
DIR *dir = opendir(config[1]);
|
||||
if (dir == NULL)
|
||||
continue;
|
||||
printTitle(config[0]);
|
||||
while ((entry = readdir(dir)) != NULL) {
|
||||
if (std::string(entry->d_name).find(config[2]) != std::string::npos &&
|
||||
strncmp(config[2], entry->d_name, strlen(config[2])) == 0) {
|
||||
files.push_back(entry->d_name);
|
||||
}
|
||||
}
|
||||
closedir(dir);
|
||||
sort(files.begin(), files.end());
|
||||
for (auto &file : files) {
|
||||
fileLocation = std::string(config[1]) + std::string(file);
|
||||
if (!android::base::ReadFileToString(fileLocation, &content) || content.empty()) {
|
||||
content = "\n";
|
||||
}
|
||||
printf("%s: %s", file.c_str(), content.c_str());
|
||||
if (content.back() != '\n')
|
||||
printf("\n");
|
||||
}
|
||||
files.clear();
|
||||
}
|
||||
}
|
||||
void printValuesOfDirectory(const char *directory, std::string debugfs, const char *strMatch) {
|
||||
std::vector<std::string> files;
|
||||
auto info = directory;
|
||||
std::string content;
|
||||
struct dirent *entry;
|
||||
DIR *dir = opendir(debugfs.c_str());
|
||||
if (dir == NULL)
|
||||
return;
|
||||
|
||||
printTitle((debugfs + std::string(strMatch) + "/" + std::string(info)).c_str());
|
||||
while ((entry = readdir(dir)) != NULL)
|
||||
if (std::string(entry->d_name).find(strMatch) != std::string::npos)
|
||||
files.push_back(entry->d_name);
|
||||
closedir(dir);
|
||||
|
||||
sort(files.begin(), files.end());
|
||||
|
||||
for (auto &file : files) {
|
||||
std::string fileDirectory = debugfs + file;
|
||||
std::string fileLocation = fileDirectory + "/" + std::string(info);
|
||||
if (!android::base::ReadFileToString(fileLocation, &content)) {
|
||||
content = "\n";
|
||||
}
|
||||
|
||||
printf("%s:\n%s", fileDirectory.c_str(), content.c_str());
|
||||
|
||||
if (content.back() != '\n')
|
||||
printf("\n");
|
||||
}
|
||||
files.clear();
|
||||
}
|
||||
void dumpChg() {
|
||||
const std::string pmic_bus = "/sys/devices/platform/10d60000.hsi2c/i2c-13/13-0066";
|
||||
const char* chg_reg_dump_file = "/sys/class/power_supply/main-charger/device/registers_dump";
|
||||
const std::string chg_name_cmd = "/sys/class/power_supply/main-charger/device/name";
|
||||
const std::string pmic_name_cmd = pmic_bus + "/name";
|
||||
const std::string pmic_reg_dump_file = pmic_bus + "/registers_dump";
|
||||
const std::string reg_dump_str = " registers dump";
|
||||
const char* chgConfig [][2] {
|
||||
{"DC_registers dump", "/sys/class/power_supply/pca94xx-mains/device/registers_dump"},
|
||||
};
|
||||
std::string chg_name;
|
||||
std::string pmic_name;
|
||||
|
||||
printf("\n");
|
||||
|
||||
int ret = android::base::ReadFileToString(chg_name_cmd, &chg_name);
|
||||
if (ret && !chg_name.empty()) {
|
||||
chg_name.erase(chg_name.length() - 1); // remove new line
|
||||
const std::string chg_reg_dump_title = chg_name + reg_dump_str;
|
||||
|
||||
/* CHG reg dump */
|
||||
dumpFileContent(chg_reg_dump_title.c_str(), chg_reg_dump_file);
|
||||
}
|
||||
|
||||
ret = android::base::ReadFileToString(pmic_name_cmd, &pmic_name);
|
||||
if (ret && !pmic_name.empty()) {
|
||||
pmic_name.erase(pmic_name.length() - 1); // remove new line
|
||||
const std::string pmic_reg_dump_title = pmic_name + reg_dump_str;
|
||||
|
||||
/* PMIC reg dump */
|
||||
dumpFileContent(pmic_reg_dump_title.c_str(), pmic_reg_dump_file.c_str());
|
||||
}
|
||||
|
||||
for (auto &config : chgConfig) {
|
||||
dumpFileContent(config[0], config[1]);
|
||||
}
|
||||
}
|
||||
void dumpChgUserDebug() {
|
||||
const std::string debugfs = "/d/";
|
||||
const char *maxFgDir = "/d/maxfg";
|
||||
const char *maxFgStrMatch = "maxfg";
|
||||
const char *maxBaseFgDir = "/d/maxfg_base";
|
||||
const char *maxBaseFgStrMatch = "maxfg_base";
|
||||
const char *chgTblName = "Charging table dump";
|
||||
const char *chgTblDir = "/d/google_battery/chg_raw_profile";
|
||||
|
||||
const char *maxFgInfo [] {
|
||||
"fg_model",
|
||||
"algo_ver",
|
||||
"model_ok",
|
||||
};
|
||||
|
||||
if (isUserBuild())
|
||||
return;
|
||||
|
||||
dumpFileContent(chgTblName, chgTblDir);
|
||||
|
||||
if (isValidDir(maxFgDir)) {
|
||||
for (auto & directory : maxFgInfo) {
|
||||
printValuesOfDirectory(directory, debugfs, maxFgStrMatch);
|
||||
}
|
||||
} else if (isValidDir(maxBaseFgDir)) {
|
||||
for (auto & directory : maxFgInfo) {
|
||||
printValuesOfDirectory(directory, debugfs, maxBaseFgStrMatch);
|
||||
}
|
||||
}
|
||||
}
|
||||
void dumpBatteryEeprom() {
|
||||
const char *title = "Battery EEPROM";
|
||||
const char *files[] {
|
||||
"/sys/devices/platform/10da0000.hsi2c/i2c-15/15-0050/eeprom",
|
||||
};
|
||||
std::string result;
|
||||
std::string xxdCmd;
|
||||
printTitle(title);
|
||||
for (auto &file : files) {
|
||||
if (!isValidFile(file))
|
||||
continue;
|
||||
xxdCmd = "xxd " + std::string(file);
|
||||
int ret = getCommandOutput(xxdCmd.c_str(), &result);
|
||||
if (ret < 0)
|
||||
return;
|
||||
printf("%s\n", result.c_str());
|
||||
}
|
||||
}
|
||||
void dumpChargerStats() {
|
||||
const char *chgStatsTitle = "Charger Stats";
|
||||
const char *chgStatsLocation = "/sys/class/power_supply/battery/charge_details";
|
||||
const char *chargerStats [][3] {
|
||||
{"Google Charger", "/sys/kernel/debug/google_charger/", "pps_"},
|
||||
{"Google Battery", "/sys/kernel/debug/google_battery/", "ssoc_"},
|
||||
};
|
||||
std::vector<std::string> files;
|
||||
std::string content;
|
||||
struct dirent *entry;
|
||||
dumpFileContent(chgStatsTitle, chgStatsLocation);
|
||||
if (isUserBuild())
|
||||
return;
|
||||
for (auto &stat : chargerStats) {
|
||||
DIR *dir = opendir(stat[1]);
|
||||
if (dir == NULL)
|
||||
return;
|
||||
printTitle(stat[0]);
|
||||
while ((entry = readdir(dir)) != NULL)
|
||||
if (std::string(entry->d_name).find(stat[2]) != std::string::npos)
|
||||
files.push_back(entry->d_name);
|
||||
closedir(dir);
|
||||
sort(files.begin(), files.end());
|
||||
for (auto &file : files) {
|
||||
std::string fileLocation = std::string(stat[1]) + file;
|
||||
if (!android::base::ReadFileToString(fileLocation, &content)) {
|
||||
content = "\n";
|
||||
}
|
||||
printf("%s: %s", file.c_str(), content.c_str());
|
||||
if (content.back() != '\n')
|
||||
printf("\n");
|
||||
}
|
||||
files.clear();
|
||||
}
|
||||
}
|
||||
void dumpWlcLogs() {
|
||||
const char *dumpWlcList [][2] {
|
||||
{"WLC Logs", "/dev/logbuffer_wireless"},
|
||||
{"WLC VER", "/sys/class/power_supply/wireless/device/version"},
|
||||
{"WLC STATUS", "/sys/class/power_supply/wireless/device/status"},
|
||||
{"WLC FW Version", "/sys/class/power_supply/wireless/device/fw_rev"},
|
||||
{"RTX", "/dev/logbuffer_rtx"},
|
||||
};
|
||||
for (auto &row : dumpWlcList) {
|
||||
if (!isValidFile(row[1]))
|
||||
printTitle(row[0]);
|
||||
dumpFileContent(row[0], row[1]);
|
||||
}
|
||||
}
|
||||
void dumpGvoteables() {
|
||||
const char *directory = "/sys/kernel/debug/gvotables/";
|
||||
const char *statusName = "/status";
|
||||
const char *title = "gvotables";
|
||||
std::string content;
|
||||
std::vector<std::string> files;
|
||||
int ret;
|
||||
if (isUserBuild())
|
||||
return;
|
||||
ret = getFilesInDir(directory, &files);
|
||||
if (ret < 0)
|
||||
return;
|
||||
printTitle(title);
|
||||
for (auto &file : files) {
|
||||
std::string fileLocation = std::string(directory) + file + std::string(statusName);
|
||||
if (!android::base::ReadFileToString(fileLocation, &content)) {
|
||||
continue;
|
||||
}
|
||||
printf("%s: %s", file.c_str(), content.c_str());
|
||||
if (content.back() != '\n')
|
||||
printf("\n");
|
||||
}
|
||||
files.clear();
|
||||
}
|
||||
void dumpMitigation() {
|
||||
const char *mitigationList [][2] {
|
||||
{"Lastmeal" , "/data/vendor/mitigation/lastmeal.txt"},
|
||||
{"Thismeal" , "/data/vendor/mitigation/thismeal.txt"},
|
||||
};
|
||||
for (auto &row : mitigationList) {
|
||||
if (!isValidFile(row[1]))
|
||||
printTitle(row[0]);
|
||||
dumpFileContent(row[0], row[1]);
|
||||
}
|
||||
}
|
||||
void dumpMitigationStats() {
|
||||
int ret;
|
||||
const char *directory = "/sys/devices/virtual/pmic/mitigation/last_triggered_count/";
|
||||
const char *capacityDirectory = "/sys/devices/virtual/pmic/mitigation/last_triggered_capacity/";
|
||||
const char *timestampDirectory =
|
||||
"/sys/devices/virtual/pmic/mitigation/last_triggered_timestamp/";
|
||||
const char *voltageDirectory = "/sys/devices/virtual/pmic/mitigation/last_triggered_voltage/";
|
||||
const char *capacitySuffix = "_cap";
|
||||
const char *timeSuffix = "_time";
|
||||
const char *voltageSuffix = "_volt";
|
||||
const char *countSuffix = "_count";
|
||||
const char *title = "Mitigation Stats";
|
||||
std::vector<std::string> files;
|
||||
std::string content;
|
||||
std::string fileLocation;
|
||||
std::string source;
|
||||
std::string subModuleName;
|
||||
int count;
|
||||
int soc;
|
||||
int time;
|
||||
int voltage;
|
||||
ret = getFilesInDir(directory, &files);
|
||||
if (ret < 0)
|
||||
return;
|
||||
printTitle(title);
|
||||
printf("Source\t\tCount\tSOC\tTime\tVoltage\n");
|
||||
for (auto &file : files) {
|
||||
fileLocation = std::string(directory) + std::string(file);
|
||||
if (!android::base::ReadFileToString(fileLocation, &content)) {
|
||||
continue;
|
||||
}
|
||||
ret = atoi(android::base::Trim(content).c_str());
|
||||
if (ret == -1)
|
||||
continue;
|
||||
count = ret;
|
||||
subModuleName = std::string(file);
|
||||
subModuleName.erase(subModuleName.find(countSuffix), strlen(countSuffix));
|
||||
fileLocation = std::string(capacityDirectory) + std::string(subModuleName) +
|
||||
std::string(capacitySuffix);
|
||||
if (!android::base::ReadFileToString(fileLocation, &content)) {
|
||||
continue;
|
||||
}
|
||||
ret = atoi(android::base::Trim(content).c_str());
|
||||
if (ret == -1)
|
||||
continue;
|
||||
soc = ret;
|
||||
fileLocation = std::string(timestampDirectory) + std::string(subModuleName) +
|
||||
std::string(timeSuffix);
|
||||
if (!android::base::ReadFileToString(fileLocation, &content)) {
|
||||
continue;
|
||||
}
|
||||
ret = atoi(android::base::Trim(content).c_str());
|
||||
if (ret == -1)
|
||||
continue;
|
||||
time = ret;
|
||||
fileLocation = std::string(voltageDirectory) + std::string(subModuleName) +
|
||||
std::string(voltageSuffix);
|
||||
if (!android::base::ReadFileToString(fileLocation, &content)) {
|
||||
continue;
|
||||
}
|
||||
ret = atoi(android::base::Trim(content).c_str());
|
||||
if (ret == -1)
|
||||
continue;
|
||||
voltage = ret;
|
||||
printf("%s \t%i\t%i\t%i\t%i\n", subModuleName.c_str(), count, soc, time, voltage);
|
||||
}
|
||||
}
|
||||
void dumpMitigationDirs() {
|
||||
const int paramCount = 4;
|
||||
const char *titles[] = {
|
||||
"Clock Divider Ratio",
|
||||
"Clock Stats",
|
||||
"Triggered Level",
|
||||
"Instruction",
|
||||
};
|
||||
const char *directories[] = {
|
||||
"/sys/devices/virtual/pmic/mitigation/clock_ratio/",
|
||||
"/sys/devices/virtual/pmic/mitigation/clock_stats/",
|
||||
"/sys/devices/virtual/pmic/mitigation/triggered_lvl/",
|
||||
"/sys/devices/virtual/pmic/mitigation/instruction/",
|
||||
};
|
||||
const char *paramSuffix[] = {"_ratio", "_stats", "_lvl", ""};
|
||||
const char *titleRowVal[] = {
|
||||
"Source\t\tRatio",
|
||||
"Source\t\tStats",
|
||||
"Source\t\tLevel",
|
||||
"",
|
||||
};
|
||||
const int eraseCnt[] = {6, 6, 4, 0};
|
||||
const bool useTitleRow[] = {true, true, true, false};
|
||||
std::vector<std::string> files;
|
||||
std::string content;
|
||||
std::string fileLocation;
|
||||
std::string source;
|
||||
std::string subModuleName;
|
||||
std::string readout;
|
||||
for (int i = 0; i < paramCount; i++) {
|
||||
printTitle(titles[i]);
|
||||
if (useTitleRow[i]) {
|
||||
printf("%s\n", titleRowVal[i]);
|
||||
}
|
||||
getFilesInDir(directories[i], &files);
|
||||
for (auto &file : files) {
|
||||
fileLocation = std::string(directories[i]) + std::string(file);
|
||||
if (!android::base::ReadFileToString(fileLocation, &content)) {
|
||||
continue;
|
||||
}
|
||||
readout = android::base::Trim(content);
|
||||
subModuleName = std::string(file);
|
||||
subModuleName.erase(subModuleName.find(paramSuffix[i]), eraseCnt[i]);
|
||||
if (useTitleRow[i]) {
|
||||
printf("%s \t%s\n", subModuleName.c_str(), readout.c_str());
|
||||
} else {
|
||||
printf("%s=%s\n", subModuleName.c_str(), readout.c_str());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
void dumpIrqDurationCounts() {
|
||||
const char *title = "IRQ Duration Counts";
|
||||
const char *colNames = "Source\t\t\t\tlt_5ms_cnt\tbt_5ms_to_10ms_cnt\tgt_10ms_cnt\tCode"
|
||||
"\tCurrent Threshold (uA)\tCurrent Reading (uA)\n";
|
||||
const int nonOdpmChannelCnt = 9;
|
||||
const int odpmChCnt = 12;
|
||||
enum Duration {
|
||||
LT_5MS,
|
||||
BT_5MS_10MS,
|
||||
GT_10MS,
|
||||
DUR_MAX,
|
||||
};
|
||||
const char *irqDurDirectories[] = {
|
||||
"/sys/devices/virtual/pmic/mitigation/irq_dur_cnt/less_than_5ms_count",
|
||||
"/sys/devices/virtual/pmic/mitigation/irq_dur_cnt/between_5ms_to_10ms_count",
|
||||
"/sys/devices/virtual/pmic/mitigation/irq_dur_cnt/greater_than_10ms_count",
|
||||
};
|
||||
enum PowerWarn {
|
||||
MAIN,
|
||||
SUB,
|
||||
PWRWARN_MAX,
|
||||
};
|
||||
const char *pwrwarnDirectories[] = {
|
||||
"/sys/devices/virtual/pmic/mitigation/main_pwrwarn/",
|
||||
"/sys/devices/virtual/pmic/mitigation/sub_pwrwarn/",
|
||||
};
|
||||
const char *lpfCurrentDirs[] = {
|
||||
"/sys/devices/platform/acpm_mfd_bus@15500000/i2c-1/1-001f/s2mpg14-meter/"
|
||||
"s2mpg14-odpm/iio:device1/lpf_current",
|
||||
"/sys/devices/platform/acpm_mfd_bus@15510000/i2c-0/0-002f/s2mpg15-meter/"
|
||||
"s2mpg15-odpm/iio:device0/lpf_current",
|
||||
};
|
||||
bool titlesInitialized = false;
|
||||
std::vector<std::string> channelNames;
|
||||
std::vector<std::string> channelData[DUR_MAX];
|
||||
std::vector<std::string> pwrwarnThreshold[PWRWARN_MAX];
|
||||
std::vector<std::string> pwrwarnCode[PWRWARN_MAX];
|
||||
std::vector<std::string> lpfCurrentVals[PWRWARN_MAX];
|
||||
std::vector<std::string> files;
|
||||
std::string content;
|
||||
std::string token;
|
||||
std::string tokenCh;
|
||||
std::string fileLocation;
|
||||
for (int i = 0; i < DUR_MAX; i++) {
|
||||
if (!android::base::ReadFileToString(irqDurDirectories[i], &content)) {
|
||||
return;
|
||||
}
|
||||
std::istringstream tokenStream(content);
|
||||
while (std::getline(tokenStream, token, '\n')) {
|
||||
if (!titlesInitialized) {
|
||||
tokenCh = token;
|
||||
tokenCh.erase(tokenCh.find(':'), tokenCh.length());
|
||||
channelNames.push_back(tokenCh);
|
||||
}
|
||||
// there is a space after the ':' which needs to be removed
|
||||
token.erase(0, token.find(':') + 1);
|
||||
channelData[i].push_back(token);
|
||||
}
|
||||
if (!titlesInitialized)
|
||||
titlesInitialized = true;
|
||||
}
|
||||
for (int i = 0; i < PWRWARN_MAX; i++) {
|
||||
getFilesInDir(pwrwarnDirectories[i], &files);
|
||||
for (auto &file : files) {
|
||||
fileLocation = std::string(pwrwarnDirectories[i]) + std::string(file);
|
||||
if (!android::base::ReadFileToString(fileLocation, &content)) {
|
||||
continue;
|
||||
}
|
||||
std::string readout;
|
||||
readout = android::base::Trim(content);
|
||||
std::string readoutThreshold = readout;
|
||||
readoutThreshold.erase(0, readoutThreshold.find('=') + 1);
|
||||
std::string readoutCode = readout;
|
||||
readoutCode.erase(readoutCode.find('='), readoutCode.length());
|
||||
pwrwarnThreshold[i].push_back(readoutThreshold);
|
||||
pwrwarnCode[i].push_back(readoutCode);
|
||||
}
|
||||
}
|
||||
for (int i = 0; i < PWRWARN_MAX; i++) {
|
||||
if (!android::base::ReadFileToString(lpfCurrentDirs[i], &content)) {
|
||||
continue;
|
||||
}
|
||||
std::istringstream tokenStream(content);
|
||||
bool first = true;
|
||||
while (std::getline(tokenStream, token, '\n')) {
|
||||
token.erase(0, token.find(' '));
|
||||
if (first) {
|
||||
first = false;
|
||||
continue;
|
||||
}
|
||||
lpfCurrentVals[i].push_back(token);
|
||||
}
|
||||
}
|
||||
printTitle(title);
|
||||
printf("%s", colNames);
|
||||
for (uint i = 0; i < channelNames.size(); i++) {
|
||||
std::string code = "";
|
||||
std::string threshold = "";
|
||||
std::string current = "";
|
||||
std::string ltDataMsg = "";
|
||||
std::string btDataMsg = "";
|
||||
std::string gtDataMsg = "";
|
||||
int pmicSel = 0;
|
||||
int offset = 0;
|
||||
std::string channelNameSuffix = " \t";
|
||||
if (i >= nonOdpmChannelCnt) {
|
||||
offset = nonOdpmChannelCnt;
|
||||
if (i >= (odpmChCnt + nonOdpmChannelCnt)) {
|
||||
pmicSel = 1;
|
||||
offset = odpmChCnt + nonOdpmChannelCnt;
|
||||
}
|
||||
channelNameSuffix = "";
|
||||
code = pwrwarnCode[pmicSel][i - offset];
|
||||
threshold = pwrwarnThreshold[pmicSel][i - offset];
|
||||
current = lpfCurrentVals[pmicSel][i - offset];
|
||||
}
|
||||
if (i < channelData[0].size())
|
||||
ltDataMsg = channelData[0][i];
|
||||
if (i < channelData[1].size())
|
||||
btDataMsg = channelData[1][i];
|
||||
if (i < channelData[2].size())
|
||||
gtDataMsg = channelData[2][i];
|
||||
std::string adjustedChannelName = channelNames[i] + channelNameSuffix;
|
||||
printf("%s \t%s\t\t%s\t\t\t%s\t\t%s \t%s \t\t%s\n",
|
||||
adjustedChannelName.c_str(),
|
||||
ltDataMsg.c_str(),
|
||||
btDataMsg.c_str(),
|
||||
gtDataMsg.c_str(),
|
||||
code.c_str(),
|
||||
threshold.c_str(),
|
||||
current.c_str());
|
||||
}
|
||||
}
|
||||
int main() {
|
||||
dumpPowerStatsTimes();
|
||||
dumpAcpmStats();
|
||||
dumpPowerSupplyStats();
|
||||
dumpMaxFg();
|
||||
dumpPowerSupplyDock();
|
||||
dumpLogBufferTcpm();
|
||||
dumpTcpc();
|
||||
dumpPdEngine();
|
||||
dumpBatteryHealth();
|
||||
dumpBatteryDefend();
|
||||
dumpBatteryCaretaker();
|
||||
dumpChg();
|
||||
dumpChgUserDebug();
|
||||
dumpBatteryEeprom();
|
||||
dumpChargerStats();
|
||||
dumpWlcLogs();
|
||||
dumpGvoteables();
|
||||
dumpMitigation();
|
||||
dumpMitigationStats();
|
||||
dumpMitigationDirs();
|
||||
dumpIrqDurationCounts();
|
||||
}
|
||||
315
dumpstate/dump_power_gs201.sh
Normal file
315
dumpstate/dump_power_gs201.sh
Normal file
@@ -0,0 +1,315 @@
|
||||
#!/vendor/bin/sh
|
||||
build_type="$(getprop ro.build.type)"
|
||||
|
||||
echo "\n------ Power Stats Times ------"
|
||||
echo -n "Boot: " && /vendor/bin/uptime -s && echo -n "Now: " && date;
|
||||
|
||||
echo "\n------ ACPM stats ------"
|
||||
for f in /sys/devices/platform/acpm_stats/*_stats ; do
|
||||
echo "\n\n$f"
|
||||
cat $f
|
||||
done
|
||||
|
||||
echo "\n------ CPU PM stats ------"
|
||||
cat "/sys/devices/system/cpu/cpupm/cpupm/time_in_state"
|
||||
|
||||
echo "\n------ GENPD summary ------"
|
||||
cat "/d/pm_genpd/pm_genpd_summary"
|
||||
|
||||
echo "\n------ Power supply property battery ------"
|
||||
cat "/sys/class/power_supply/battery/uevent"
|
||||
echo "\n------ Power supply property dc ------"
|
||||
cat "/sys/class/power_supply/dc/uevent"
|
||||
echo "\n------ Power supply property gcpm ------"
|
||||
cat "/sys/class/power_supply/gcpm/uevent"
|
||||
echo "\n------ Power supply property gcpm_pps ------"
|
||||
cat "/sys/class/power_supply/gcpm_pps/uevent"
|
||||
echo "\n------ Power supply property main-charger ------"
|
||||
cat "/sys/class/power_supply/main-charger/uevent"
|
||||
|
||||
if [ -d "/sys/class/power_supply/pca9468-mains/uevent" ]
|
||||
then
|
||||
echo "\n------ Power supply property pca9468-mains ------"
|
||||
cat "/sys/class/power_supply/pca9468-mains/uevent"
|
||||
else
|
||||
echo "\n------ Power supply property pca94xx-mains ------"
|
||||
cat "/sys/class/power_supply/pca94xx-mains/uevent"
|
||||
fi
|
||||
|
||||
echo "\n------ Power supply property tcpm ------"
|
||||
cat /sys/class/power_supply/tcpm-source-psy-*/uevent
|
||||
echo "\n------ Power supply property usb ------"
|
||||
cat "/sys/class/power_supply/usb/uevent"
|
||||
echo "\n------ Power supply property wireless ------"
|
||||
cat "/sys/class/power_supply/wireless/uevent"
|
||||
|
||||
if [ -d "/sys/class/power_supply/maxfg" ]
|
||||
then
|
||||
echo "\n------ Power supply property maxfg ------"
|
||||
cat "/sys/class/power_supply/maxfg/uevent"
|
||||
echo "\n------ m5_state ------"
|
||||
cat "/sys/class/power_supply/maxfg/m5_model_state"
|
||||
echo "\n------ maxfg ------"
|
||||
cat "/dev/logbuffer_maxfg"
|
||||
echo "\n------ maxfg_monitor ------"
|
||||
cat "/dev/logbuffer_maxfg_monitor"
|
||||
else
|
||||
echo "\n------ Power supply property maxfg_base ------"
|
||||
cat "/sys/class/power_supply/maxfg_base/uevent"
|
||||
echo "\n------ Power supply property maxfg_secondary ------"
|
||||
cat "/sys/class/power_supply/maxfg_secondary/uevent"
|
||||
echo "\n------ m5_state ------"
|
||||
cat "/sys/class/power_supply/maxfg_base/m5_model_state"
|
||||
echo "\n------ maxfg_base ------"
|
||||
cat "/dev/logbuffer_maxfg_base"
|
||||
echo "\n------ maxfg_secondary ------"
|
||||
cat "/dev/logbuffer_maxfg_secondary"
|
||||
echo "\n------ maxfg_base_monitor ------"
|
||||
cat "/dev/logbuffer_maxfg_base_monitor"
|
||||
echo "\n------ maxfg_secondary_monitor ------"
|
||||
cat "/dev/logbuffer_maxfg_secondary_monitor"
|
||||
echo "\n------ google_dual_batt ------"
|
||||
cat "/dev/logbuffer_dual_batt"
|
||||
fi
|
||||
|
||||
if [ -e "/dev/maxfg_history" ]
|
||||
then
|
||||
echo "\n------ Maxim FG History ------"
|
||||
xxd "/dev/maxfg_history"
|
||||
fi
|
||||
|
||||
if [ -d "/sys/class/power_supply/dock" ]
|
||||
then
|
||||
echo "\n------ Power supply property dock ------"
|
||||
cat "/sys/class/power_supply/dock/uevent"
|
||||
fi
|
||||
|
||||
if [ -e "/dev/logbuffer_tcpm" ]
|
||||
then
|
||||
echo "\n------ Logbuffer TCPM ------"
|
||||
cat "/dev/logbuffer_tcpm"
|
||||
elif [ $build_type = "eng" ]
|
||||
then
|
||||
echo "\n------ TCPM logs ------"
|
||||
if [ -d "/sys/kernel/debug/tcpm" ]
|
||||
then
|
||||
cat /sys/kernel/debug/tcpm/*
|
||||
else
|
||||
cat /sys/kernel/debug/usb/tcpm*
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "\n------ TCPC ------"
|
||||
max77759tcpc_path="/sys/devices/platform/10d60000.hsi2c/i2c-13/13-0025"
|
||||
echo "registers:"
|
||||
cat $max77759tcpc_path/registers
|
||||
echo "frs:"
|
||||
cat $max77759tcpc_path/frs
|
||||
echo "auto_discharge:"
|
||||
cat $max77759tcpc_path/auto_discharge
|
||||
echo "bc12_enabled:"
|
||||
cat $max77759tcpc_path/bc12_enabled
|
||||
echo "cc_toggle_enable:"
|
||||
cat $max77759tcpc_path/cc_toggle_enable
|
||||
echo "contaminant_detection:"
|
||||
cat $max77759tcpc_path/contaminant_detection
|
||||
echo "contaminant_detection_status:"
|
||||
cat $max77759tcpc_path/contaminant_detection_status
|
||||
|
||||
echo "\n------ PD Engine ------"
|
||||
cat "/dev/logbuffer_usbpd"
|
||||
echo "\nPOGO Transport"
|
||||
cat "/dev/logbuffer_pogo_transport"
|
||||
echo "\n------ PPS-google_cpm ------"
|
||||
cat "/dev/logbuffer_cpm"
|
||||
echo "\n------ PPS-dc ------"
|
||||
cat "/dev/logbuffer_pca9468"
|
||||
|
||||
echo "\n------ Battery Health ------"
|
||||
cat "/sys/class/power_supply/battery/health_index_stats"
|
||||
echo "\n------ Battery Health SoC Residency ------"
|
||||
cat "/sys/class/power_supply/battery/swelling_data"
|
||||
echo "\n------ BMS ------"
|
||||
cat "/dev/logbuffer_ssoc"
|
||||
echo "\n------ TTF ------"
|
||||
cat "/dev/logbuffer_ttf"
|
||||
echo "\n------ TTF details ------"
|
||||
cat "/sys/class/power_supply/battery/ttf_details"
|
||||
echo "\n------ TTF stats ------"
|
||||
cat "/sys/class/power_supply/battery/ttf_stats"
|
||||
echo "\n------ aacr_state ------"
|
||||
cat "/sys/class/power_supply/battery/aacr_state"
|
||||
echo "\n------ maxq ------"
|
||||
cat "/dev/logbuffer_maxq"
|
||||
echo "\n------ TEMP/DOCK-DEFEND ------"
|
||||
cat "/dev/logbuffer_bd"
|
||||
|
||||
echo "\n------ TRICKLE-DEFEND Config ------"
|
||||
cd /sys/devices/platform/google,battery/power_supply/battery/
|
||||
for f in `ls bd_*`
|
||||
do
|
||||
echo $f: `cat $f`
|
||||
done
|
||||
|
||||
echo "\n------ DWELL-DEFEND Config ------"
|
||||
cd /sys/devices/platform/google,charger/
|
||||
for f in `ls charge_s*`
|
||||
do
|
||||
echo "$f: `cat $f`"
|
||||
done
|
||||
|
||||
echo "\n------ TEMP-DEFEND Config ------"
|
||||
cd /sys/devices/platform/google,charger/
|
||||
for f in `ls bd_*`
|
||||
do
|
||||
echo "$f: `cat $f`"
|
||||
done
|
||||
|
||||
echo "\n------ DC_registers dump ------"
|
||||
cat "/sys/class/power_supply/pca94xx-mains/device/registers_dump"
|
||||
echo "\n------ max77759_chg registers dump ------"
|
||||
cat "/sys/class/power_supply/main-charger/device/registers_dump"
|
||||
echo "\n------ max77729_pmic registers dump ------"
|
||||
cat /sys/devices/platform/*.hsi2c/i2c-*/*-0066/registers_dump
|
||||
|
||||
if [ $build_type = "eng" ]
|
||||
then
|
||||
echo "\n------ Charging table dump ------"
|
||||
cat "/d/google_battery/chg_raw_profile"
|
||||
|
||||
echo "\n------ fg_model ------"
|
||||
for f in /d/maxfg*
|
||||
do
|
||||
regs=`cat $f/fg_model`
|
||||
echo $f:
|
||||
echo "$regs"
|
||||
done
|
||||
|
||||
echo "\n------ fg_alo_ver ------"
|
||||
for f in /d/maxfg*
|
||||
do
|
||||
regs=`cat $f/algo_ver`
|
||||
echo $f:
|
||||
echo "$regs"
|
||||
done
|
||||
|
||||
echo "\n------ fg_model_ok ------"
|
||||
for f in /d/maxfg*
|
||||
do
|
||||
regs=`cat $f/model_ok`
|
||||
echo $f:
|
||||
echo "$regs"
|
||||
done
|
||||
|
||||
echo "\n------ fg registers ------"
|
||||
for f in /d/maxfg*
|
||||
do
|
||||
regs=`cat $f/registers`
|
||||
echo $f:
|
||||
echo "$regs"
|
||||
done
|
||||
|
||||
echo "\n------ Maxim FG NV RAM ------"
|
||||
for f in /d/maxfg*
|
||||
do
|
||||
regs=`cat $f/nv_registers`
|
||||
echo $f:
|
||||
echo "$regs"
|
||||
done
|
||||
fi
|
||||
|
||||
echo "\n------ Battery EEPROM ------"
|
||||
if [ -e "/sys/devices/platform/10da0000.hsi2c/i2c-15/15-0050/eeprom" ]
|
||||
then
|
||||
xxd /sys/devices/platform/10da0000.hsi2c/i2c-15/15-0050/eeprom
|
||||
fi
|
||||
|
||||
echo "\n------ Charger Stats ------"
|
||||
cat "/sys/class/power_supply/battery/charge_details"
|
||||
if [ $build_type = "eng" ]
|
||||
then
|
||||
echo "\n------ Google Charger ------"
|
||||
cd /sys/kernel/debug/google_charger/
|
||||
for f in `ls pps_*`
|
||||
do
|
||||
echo "$f: `cat $f`"
|
||||
done
|
||||
echo "\n------ Google Battery ------"
|
||||
cd /sys/kernel/debug/google_battery/
|
||||
for f in `ls ssoc_*`
|
||||
do
|
||||
echo "$f: `cat $f`"
|
||||
done
|
||||
fi
|
||||
|
||||
echo "\n------ WLC logs ------"
|
||||
cat "/dev/logbuffer_wireless"
|
||||
echo "\n------ WLC VER ------"
|
||||
cat "/sys/class/power_supply/wireless/device/version"
|
||||
echo "\n------ WLC STATUS ------"
|
||||
cat "/sys/class/power_supply/wireless/device/status"
|
||||
echo "\n------ WLC FW Version ------"
|
||||
cat "/sys/class/power_supply/wireless/device/fw_rev"
|
||||
echo "\n------ RTX ------"
|
||||
cat "/dev/logbuffer_rtx"
|
||||
|
||||
if [ $build_type = "eng" ]
|
||||
then
|
||||
echo "\n------ gvotables ------"
|
||||
cat /sys/kernel/debug/gvotables/*/status
|
||||
fi
|
||||
|
||||
echo "\n------ Lastmeal ------"
|
||||
cat "/data/vendor/mitigation/lastmeal.txt"
|
||||
echo "\n------ Thismeal ------"
|
||||
cat "/data/vendor/mitigation/thismeal.txt"
|
||||
echo "\n------ Mitigation Stats ------"
|
||||
echo "Source\t\tCount\tSOC\tTime\tVoltage"
|
||||
for f in `ls /sys/devices/virtual/pmic/mitigation/last_triggered_count/*`
|
||||
do
|
||||
count=`cat $f`
|
||||
a=${f/\/sys\/devices\/virtual\/pmic\/mitigation\/last_triggered_count\//}
|
||||
b=${f/last_triggered_count/last_triggered_capacity}
|
||||
c=${f/last_triggered_count/last_triggered_timestamp/}
|
||||
d=${f/last_triggered_count/last_triggered_voltage/}
|
||||
cnt=`cat $f`
|
||||
cap=`cat ${b/count/cap}`
|
||||
ti=`cat ${c/count/time}`
|
||||
volt=`cat ${d/count/volt}`
|
||||
echo "${a/_count/} \t$cnt\t$cap\t$ti\t$volt"
|
||||
done
|
||||
|
||||
echo "\n------ Clock Divider Ratio ------"
|
||||
echo \"Source\t\tRatio\"
|
||||
for f in `ls /sys/devices/virtual/pmic/mitigation/clock_ratio/*`
|
||||
do ratio=`cat $f`
|
||||
a=${f/\/sys\/devices\/virtual\/pmic\/mitigation\/clock_ratio\//}
|
||||
echo "${a/_ratio/} \t$ratio"
|
||||
done
|
||||
|
||||
echo "\n------ Clock Stats ------"
|
||||
echo "Source\t\tStats"
|
||||
for f in `ls /sys/devices/virtual/pmic/mitigation/clock_stats/*`
|
||||
do
|
||||
stats=`cat $f`
|
||||
a=${f/\/sys\/devices\/virtual\/pmic\/mitigation\/clock_stats\//};
|
||||
echo "${a/_stats/} \t$stats"
|
||||
done
|
||||
|
||||
echo "\n------ Triggered Level ------"
|
||||
echo "Source\t\tLevel"
|
||||
for f in `ls /sys/devices/virtual/pmic/mitigation/triggered_lvl/*`
|
||||
do
|
||||
lvl=`cat $f`
|
||||
a=${f/\/sys\/devices\/virtual\/pmic\/mitigation\/triggered_lvl\//}
|
||||
echo "${a/_lvl/} \t$lvl"
|
||||
done
|
||||
|
||||
echo "\n------ Instruction ------"
|
||||
for f in `ls /sys/devices/virtual/pmic/mitigation/instruction/*`
|
||||
do
|
||||
val=`cat $f`
|
||||
a=${f/\/sys\/devices\/virtual\/pmic\/mitigation\/instruction\//}
|
||||
echo "$a=$val"
|
||||
done
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
PRODUCT_PACKAGES += dump_power
|
||||
@@ -1,10 +1,6 @@
|
||||
[
|
||||
{
|
||||
"repository": "device_google_gs-common",
|
||||
"target_path": "device/google/gs-common"
|
||||
},
|
||||
{
|
||||
"repository": "packages_apps_PixelParts",
|
||||
"target_path": "packages/apps/PixelParts"
|
||||
"repository": "device_google_gs101",
|
||||
"target_path": "device/google/gs101"
|
||||
}
|
||||
]
|
||||
|
||||
@@ -5,4 +5,4 @@
|
||||
#
|
||||
|
||||
# PixelParts
|
||||
#include packages/apps/PixelParts/device.mk
|
||||
include packages/apps/PixelParts/device.mk
|
||||
|
||||
25
factory/factory_post_boot/Android.bp
Normal file
25
factory/factory_post_boot/Android.bp
Normal file
@@ -0,0 +1,25 @@
|
||||
//
|
||||
// Copyright (C) 2022 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: ["Android-Apache-2.0"],
|
||||
}
|
||||
sh_binary {
|
||||
name: "factory_post_boot",
|
||||
src: "factory_post_boot.sh",
|
||||
vendor: true,
|
||||
sub_dir: "factory",
|
||||
}
|
||||
|
||||
4
factory/factory_post_boot/factory_post_boot.sh
Normal file
4
factory/factory_post_boot/factory_post_boot.sh
Normal file
@@ -0,0 +1,4 @@
|
||||
#!/vendor/bin/sh
|
||||
|
||||
# Add adbd to nnapi vendor cgroup. (b/222226268)
|
||||
echo `pidof adbd` > /proc/vendor_sched/set_task_group_nnapi
|
||||
15
factory/framework/Android.bp
Normal file
15
factory/framework/Android.bp
Normal file
@@ -0,0 +1,15 @@
|
||||
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/gs201:device_google_gs201_license"
|
||||
// to get the below license kinds:
|
||||
// SPDX-license-identifier-Apache-2.0
|
||||
default_applicable_licenses: [
|
||||
"//device/google/gs201:device_google_gs201_license",
|
||||
],
|
||||
}
|
||||
|
||||
runtime_resource_overlay {
|
||||
name: "FactoryOverlayFrameworkRes",
|
||||
product_specific: true,
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2021 The Android Open Source Project
|
||||
<!-- Copyright (C) 2020 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.
|
||||
@@ -13,15 +13,12 @@
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<!-- Pixel specific tethering overlays -->
|
||||
<!-- Pixel specific factory overlays -->
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.android.networkstack.tethering.overlay"
|
||||
android:versionCode="1"
|
||||
android:versionName="1.0">
|
||||
package="com.android.frameworkres.overlay.factory">
|
||||
<application android:hasCode="false" />
|
||||
<overlay
|
||||
android:targetPackage="com.android.networkstack.tethering"
|
||||
android:targetName="TetheringConfig"
|
||||
android:isStatic="true"
|
||||
android:priority="0" />
|
||||
android:targetPackage="android"
|
||||
android:isStatic="true"
|
||||
android:priority="2"/>
|
||||
</manifest>
|
||||
BIN
factory/framework/res/drawable-nodpi/default_wallpaper.png
Normal file
BIN
factory/framework/res/drawable-nodpi/default_wallpaper.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 22 KiB |
15
factory/launcher3/Android.bp
Normal file
15
factory/launcher3/Android.bp
Normal file
@@ -0,0 +1,15 @@
|
||||
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/gs201:device_google_gs201_license"
|
||||
// to get the below license kinds:
|
||||
// SPDX-license-identifier-Apache-2.0
|
||||
default_applicable_licenses: [
|
||||
"//device/google/gs201:device_google_gs201_license",
|
||||
],
|
||||
}
|
||||
|
||||
runtime_resource_overlay {
|
||||
name: "FactoryOverlayLauncher3",
|
||||
product_specific: true,
|
||||
}
|
||||
25
factory/launcher3/AndroidManifest.xml
Normal file
25
factory/launcher3/AndroidManifest.xml
Normal file
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2020 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.
|
||||
-->
|
||||
<!-- Pixel specific factory overlays -->
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.android.launcher3.overlay.factory">
|
||||
<application android:hasCode="false" />
|
||||
<overlay
|
||||
android:targetPackage="com.android.launcher3"
|
||||
android:targetName="favorites"
|
||||
android:isStatic="true"
|
||||
android:priority="2"/>
|
||||
</manifest>
|
||||
41
factory/launcher3/res/xml/default_workspace_5x5.xml
Normal file
41
factory/launcher3/res/xml/default_workspace_5x5.xml
Normal file
@@ -0,0 +1,41 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2009 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<favorites xmlns:launcher="http://schemas.android.com/apk/res-auto/com.android.launcher3">
|
||||
|
||||
<!-- Hotseat (We use the screen as the position of the item in the hotseat) -->
|
||||
<!-- Dialer, Capacity, ELabel, Language, Barcode -->
|
||||
<resolve
|
||||
launcher:container="-101"
|
||||
launcher:screen="0"
|
||||
launcher:x="0"
|
||||
launcher:y="0" >
|
||||
<favorite launcher:uri="#Intent;action=android.intent.action.DIAL;end" />
|
||||
<favorite launcher:uri="tel:123" />
|
||||
<favorite launcher:uri="#Intent;action=android.intent.action.CALL_BUTTON;end" />
|
||||
</resolve>
|
||||
|
||||
<resolve
|
||||
launcher:container="-101"
|
||||
launcher:screen="4"
|
||||
launcher:x="4"
|
||||
launcher:y="0" >
|
||||
<favorite
|
||||
launcher:packageName="com.google_cte.barcodescanner"
|
||||
launcher:className="com.google_cte.barcodescanner.MainActivity" />
|
||||
</resolve>
|
||||
|
||||
</favorites>
|
||||
15
factory/settings/Android.bp
Normal file
15
factory/settings/Android.bp
Normal file
@@ -0,0 +1,15 @@
|
||||
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/gs201:device_google_gs201_license"
|
||||
// to get the below license kinds:
|
||||
// SPDX-license-identifier-Apache-2.0
|
||||
default_applicable_licenses: [
|
||||
"//device/google/gs201:device_google_gs201_license",
|
||||
],
|
||||
}
|
||||
|
||||
runtime_resource_overlay {
|
||||
name: "FactoryOverlaySettings",
|
||||
product_specific: true,
|
||||
}
|
||||
25
factory/settings/AndroidManifest.xml
Normal file
25
factory/settings/AndroidManifest.xml
Normal file
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2020 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.
|
||||
-->
|
||||
<!-- Pixel specific factory overlays -->
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.android.providers.settings.overlay.factory">
|
||||
<application android:hasCode="false" />
|
||||
<overlay
|
||||
android:targetPackage="com.android.providers.settings"
|
||||
android:targetName="resources"
|
||||
android:isStatic="true"
|
||||
android:priority="2"/>
|
||||
</manifest>
|
||||
26
factory/settings/res/values/defaults.xml
Normal file
26
factory/settings/res/values/defaults.xml
Normal file
@@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
/**
|
||||
* Copyright (c) 2009, The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
-->
|
||||
<resources>
|
||||
<integer name="def_lockscreen_sounds_enabled">0</integer>
|
||||
<bool name="def_lockscreen_disabled">true</bool>
|
||||
<bool name="def_dtmf_tones_enabled">false</bool>
|
||||
<bool name="def_sound_effects_enabled">false</bool>
|
||||
<bool name="def_charging_sounds_enabled">false</bool>
|
||||
<string name="def_immersive_mode_confirmations" translatable="false">confirmed</string>
|
||||
</resources>
|
||||
85
factory_common.mk
Normal file
85
factory_common.mk
Normal file
@@ -0,0 +1,85 @@
|
||||
#
|
||||
# Copyright 2020 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.
|
||||
#
|
||||
|
||||
$(call inherit-product, device/google/gs201/aosp_common.mk)
|
||||
$(call inherit-product-if-exists, vendor/google_devices/gs201/factory/pixel/device-factory.mk)
|
||||
|
||||
PRODUCT_PROPERTY_OVERRIDES += service.adb.root=1 \
|
||||
ro.vendor.factory=1
|
||||
|
||||
# Factory Libraries of Audio
|
||||
PRODUCT_PACKAGES += audioroute libaudioroutelite
|
||||
|
||||
# Enable fatp by default for factory builds
|
||||
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
|
||||
persist.vendor.camera.fatp.enable=1
|
||||
|
||||
# Disable camera related features for factory builds
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
vendor.camera.debug.bypass_face_ssd_processor=1 \
|
||||
vendor.camera.debug.csi_ebuf_enable=0 \
|
||||
vendor.camera.debug.enable_face_detection=0 \
|
||||
vendor.camera.debug.force_dpm_on=0 \
|
||||
vendor.camera.debug.force_eis_on=0 \
|
||||
vendor.camera.debug.force_eaf_on=0 \
|
||||
vendor.camera.debug.force_mesh_warp_on=0 \
|
||||
vendor.camera.debug.force_rectiface_node_on=0 \
|
||||
vendor.camera.debug.force_steadiface_on=0 \
|
||||
vendor.camera.debug.force_tnr_on=0 \
|
||||
vendor.camera.debug.force_segmentation_node_on=0 \
|
||||
vendor.camera.debug.enable_saliency=0 \
|
||||
vendor.camera.debug.force_local_tone_mapping_on=0 \
|
||||
vendor.camera.debug.local_tone_mapping_controller_v1.mode=0
|
||||
|
||||
# Disable ScreenDecorations for factory builds
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
debug.disable_screen_decorations=true
|
||||
|
||||
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.set_idle_timer_ms?=80
|
||||
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.set_touch_timer_ms=200
|
||||
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.set_display_power_timer_ms=1000
|
||||
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.use_content_detection_for_refresh_rate=true
|
||||
|
||||
# factory should always has SELinux permissive
|
||||
BOARD_BOOTCONFIG += androidboot.selinux=permissive
|
||||
BOARD_KERNEL_CMDLINE += androidboot.selinux=permissive
|
||||
|
||||
# Disable DebugFS restrictions in factory builds
|
||||
PRODUCT_SET_DEBUGFS_RESTRICTIONS := false
|
||||
|
||||
# Disable Bluetooth as default in factory build
|
||||
DEVICE_PACKAGE_OVERLAYS += device/google/gs201/overlay-factory
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
device/google/gs201/conf/init.factory.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.factory.rc
|
||||
|
||||
BOARD_SEPOLICY_DIRS += hardware/google/pixel-sepolicy/factory_boost
|
||||
|
||||
# Add factory-friendly changes
|
||||
PRODUCT_PACKAGES += \
|
||||
FactoryOverlaySettings \
|
||||
FactoryOverlayLauncher3 \
|
||||
FactoryOverlayFrameworkRes \
|
||||
factory_post_boot
|
||||
|
||||
# To prevent rebooting due to crashing services
|
||||
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
|
||||
init.svc_debug.no_fatal.zygote=true \
|
||||
persist.device_config.configuration.disable_rescue_party=true
|
||||
|
||||
# PixelLogger for RF testing
|
||||
PRODUCT_PACKAGES_DEBUG += \
|
||||
PixelLogger \
|
||||
18
fingerprint/fpc1540/fingerprint_config.mk
Normal file
18
fingerprint/fpc1540/fingerprint_config.mk
Normal file
@@ -0,0 +1,18 @@
|
||||
# ----------------------------
|
||||
# Add feature flags below
|
||||
# ----------------------------
|
||||
FPC_CONFIG_BUILD_VERSION=33
|
||||
FPC_CONFIG_CAPACITIVE=1
|
||||
FPC_CONFIG_MAX_NR_TEMPLATES=5
|
||||
FPC_CONFIG_SENSE_TOUCH_CALIBRATION_PATH=/data/fpc/calibration_sense_touch.dat
|
||||
FPC_CONFIG_TA_FS=1
|
||||
FPC_DEFECTIVE_PIXEL_LIST_SIZE=5000
|
||||
FPC_SENSOR_SDK_LOG_LEVEL=3
|
||||
FPC_TEE_RUNTIME=TRUSTY
|
||||
LIBFPC_NAME=libfpc1541_S_nav_debug.a
|
||||
FPC_CONFIG_DEBUG=1
|
||||
FPC_CONFIG_PRODUCT_DEFAULT=FPC_PRODUCT_TYPE1541_S
|
||||
|
||||
#
|
||||
# File included from device/<manufacture>/<>/<device>.mk
|
||||
# Packages to include into the build
|
||||
21
fingerprint/fpc1540/fingerprint_config_factory.mk
Normal file
21
fingerprint/fpc1540/fingerprint_config_factory.mk
Normal file
@@ -0,0 +1,21 @@
|
||||
# ----------------------------
|
||||
# Add feature flags below
|
||||
# ----------------------------
|
||||
FPC_CONFIG_BUILD_VERSION=33
|
||||
FPC_CONFIG_CAPACITIVE=1
|
||||
FPC_CONFIG_MAX_NR_TEMPLATES=5
|
||||
FPC_CONFIG_NAVIGATION=0
|
||||
FPC_CONFIG_SENSE_TOUCH_CALIBRATION_PATH=/data/fpc/calibration_sense_touch.dat
|
||||
FPC_CONFIG_SENSORTEST=1
|
||||
FPC_CONFIG_TA_FS=1
|
||||
FPC_DEFECTIVE_PIXEL_LIST_SIZE=5000
|
||||
FPC_SENSOR_SDK_LOG_LEVEL=3
|
||||
FPC_TEE_RUNTIME=TRUSTY
|
||||
LIBFPC_NAME=libfpc1541_S_nav_debug.a
|
||||
FPC_CONFIG_DEBUG=1
|
||||
FPC_CONFIG_ENGINEERING=1
|
||||
FPC_CONFIG_PRODUCT_DEFAULT=FPC_PRODUCT_TYPE1541_S
|
||||
|
||||
#
|
||||
# File included from device/<manufacture>/<>/<device>.mk
|
||||
# Packages to include into the build
|
||||
27
fingerprint/fpc1540/fp_tool/Android.bp
Normal file
27
fingerprint/fpc1540/fp_tool/Android.bp
Normal file
@@ -0,0 +1,27 @@
|
||||
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_gs101_license"
|
||||
// to get the below license kinds:
|
||||
// SPDX-license-identifier-Apache-2.0
|
||||
default_applicable_licenses: ["device_google_gs201_license"],
|
||||
}
|
||||
|
||||
cc_binary {
|
||||
srcs: [
|
||||
"fp_test.cpp"
|
||||
],
|
||||
local_include_dirs: ["."],
|
||||
|
||||
name: "fp_test",
|
||||
shared_libs: [
|
||||
"liblog",
|
||||
"libdl",
|
||||
"libutils",
|
||||
"libcutils",
|
||||
"libhidlbase",
|
||||
"android.hardware.biometrics.fingerprint@2.1"
|
||||
],
|
||||
proprietary:true,
|
||||
|
||||
}
|
||||
200
fingerprint/fpc1540/fp_tool/fp_test.cpp
Normal file
200
fingerprint/fpc1540/fp_tool/fp_test.cpp
Normal file
@@ -0,0 +1,200 @@
|
||||
#include <stdint.h>
|
||||
#include <stdio.h>
|
||||
#include <log/log.h>
|
||||
#include "fp_test.h"
|
||||
#include <cutils/properties.h>
|
||||
|
||||
#define TAG "[FP_TEST] "
|
||||
#define LOGI(format,...) ALOGI(TAG format,##__VA_ARGS__)
|
||||
#define LOGD(format,...) ALOGD(TAG format,##__VA_ARGS__)
|
||||
#define LOGE(format,...) ALOGE(TAG format,##__VA_ARGS__)
|
||||
#define CLOGI(format,...) printf(TAG format,##__VA_ARGS__)
|
||||
#define CLOGD(format,...) printf(TAG format,##__VA_ARGS__)
|
||||
#define CLOGE(format,...) printf(TAG format,##__VA_ARGS__)
|
||||
|
||||
#define LOGI_BOTH(format,...) { \
|
||||
ALOGI(TAG format,##__VA_ARGS__) \
|
||||
prinft(TAG format, ##__VA_ARGS__) \
|
||||
} \
|
||||
|
||||
#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof(arr[0]))
|
||||
#define STRING_SIZE 32
|
||||
|
||||
#define FPS_SRV_PROP "fps_hal"
|
||||
#define FPS_SRV_FULL_PROP "init.svc.fps_hal"
|
||||
#define FPS_SRV_STATUS_PROP "vendor.fp.status"
|
||||
|
||||
enum ErrorType {
|
||||
OK,
|
||||
ERROR
|
||||
};
|
||||
|
||||
static const char* const cmdUsage[] = {
|
||||
"-------fp_test tool usage--------",
|
||||
"fp_test -e: Enable FPS service",
|
||||
"fp_test -d: Disable FPS service",
|
||||
"fp_test -i: Idle Mode",
|
||||
"fp_test -n: Navigation Mode",
|
||||
"fp_test -a: Authentication Mode",
|
||||
"---------------------------------",
|
||||
};
|
||||
|
||||
void toolUsage(void) {
|
||||
int numCmdUsage = ARRAY_SIZE(cmdUsage);
|
||||
for(int i = 0; i< numCmdUsage; i++)
|
||||
CLOGI("%s\n",cmdUsage[i]);
|
||||
}
|
||||
|
||||
int checkParameter(int num, char **strArray)
|
||||
{
|
||||
int ret = 0;
|
||||
char parameter[STRING_SIZE] = {0,};
|
||||
if (num != 2 || (strlen(strArray[1]) > STRING_SIZE)) {
|
||||
return -ERROR;
|
||||
}
|
||||
strcpy(parameter, strArray[1]);
|
||||
if (!strncmp(parameter, "-a", sizeof("-a"))) {
|
||||
CLOGI("Start Authentication Mode!\n");
|
||||
LOGI("Start Authentication Mode!\n");
|
||||
ret = 'a';
|
||||
} else if (!strncmp(parameter, "-n", sizeof("-n"))) {
|
||||
CLOGI("Start Navigation Mode!\n");
|
||||
LOGI("Start Navigation Mode!\n");
|
||||
ret = 'n';
|
||||
} else if (!strncmp(parameter, "-i", sizeof("-i"))) {
|
||||
CLOGI("Start Idle Mode!\n");
|
||||
LOGI("Start Idle Mode!\n");
|
||||
ret = 'n';
|
||||
} else if (!strncmp(parameter, "-e", sizeof("-e"))) {
|
||||
CLOGI("Start enabling FPS service!\n");
|
||||
LOGI("Start enabling FPS service!\n");
|
||||
ret = 'e';
|
||||
} else if (!strncmp(parameter, "-d", sizeof("-d"))) {
|
||||
CLOGI("Start disabling FPS service!\n");
|
||||
LOGI("Start disabling FPS service!\n");
|
||||
ret = 'd';
|
||||
} else {
|
||||
ret = -ERROR;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
int enable_disable_fps(bool set)
|
||||
{
|
||||
int ret = 0;
|
||||
// Set property to enable/disable fingerprint service
|
||||
if (set == true) {
|
||||
ret = property_set("ctl.start", FPS_SRV_PROP);
|
||||
} else {
|
||||
ret = property_set("ctl.stop", FPS_SRV_PROP);
|
||||
}
|
||||
|
||||
if (ret != 0) {
|
||||
CLOGE("Failed to %s FPS service\n", set? "enable" : "disable");
|
||||
LOGE("Failed to %s FPS service\n", set? "enable" : "disable");
|
||||
return -ERROR;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int run_auth_cmd() {
|
||||
RequestStatus hidlRet;
|
||||
uint64_t operationId = 0;
|
||||
uint32_t gid = 0;
|
||||
char tempbuf[PROPERTY_VALUE_MAX];
|
||||
|
||||
property_get(FPS_SRV_FULL_PROP, tempbuf, 0);
|
||||
LOGE("%s : current fp service status is %s!\n",__func__, tempbuf);
|
||||
if (!strncmp(tempbuf, "stopped", strlen("stopped"))) {
|
||||
return -ERROR;
|
||||
}
|
||||
|
||||
sp<IBiometricsFingerprint> service = IBiometricsFingerprint::getService();
|
||||
if (service == nullptr) {
|
||||
CLOGE("%s : Fail to get FingerprintService!\n",__func__);
|
||||
LOGE("%s : Fail to get FingerprintService!\n",__func__);
|
||||
return -ERROR;
|
||||
}
|
||||
|
||||
hidlRet = service->authenticate(operationId, gid);
|
||||
if (hidlRet == RequestStatus::SYS_OK) {
|
||||
return OK;
|
||||
} else {
|
||||
return -ERROR;
|
||||
}
|
||||
}
|
||||
|
||||
int run_cancel_cmd() {
|
||||
|
||||
RequestStatus hidlRet;
|
||||
char tempbuf[PROPERTY_VALUE_MAX];
|
||||
|
||||
property_get(FPS_SRV_FULL_PROP, tempbuf, 0);
|
||||
LOGE("%s : current fp service status is %s!\n",__func__, tempbuf);
|
||||
if (!strncmp(tempbuf, "stopped", strlen("stopped"))) {
|
||||
return -ERROR;
|
||||
}
|
||||
|
||||
sp<IBiometricsFingerprint> service = IBiometricsFingerprint::getService();
|
||||
if (service == nullptr) {
|
||||
CLOGE("%s : Fail to get FingerprintService!\n",__func__);
|
||||
LOGE("%s : Fail to get FingerprintService!\n",__func__);
|
||||
return -ERROR;
|
||||
}
|
||||
|
||||
hidlRet = service->cancel();
|
||||
if (hidlRet == RequestStatus::SYS_OK) {
|
||||
return OK;
|
||||
} else {
|
||||
return -ERROR;
|
||||
}
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
int input=0;
|
||||
int32_t ret = 0;
|
||||
LOGI("%s",__func__);
|
||||
input = checkParameter(argc, argv);
|
||||
if (input == -ERROR){
|
||||
LOGE("Invalid Parameter\n");
|
||||
CLOGE("Invalid Parameter\n");
|
||||
toolUsage();
|
||||
return -ERROR;
|
||||
}
|
||||
|
||||
switch (input) {
|
||||
case 'e':
|
||||
CLOGI("%s: Enable fingerprint service\n",__func__);
|
||||
LOGI("%s: Enable fingerprint service\n",__func__);
|
||||
ret = enable_disable_fps(true);
|
||||
break;
|
||||
case 'd':
|
||||
CLOGI("%s: Disable fingerprint service\n",__func__);
|
||||
LOGI("%s: Disable fingerprint service\n",__func__);
|
||||
ret = enable_disable_fps(false);
|
||||
break;
|
||||
case 'a':
|
||||
ret = run_auth_cmd();
|
||||
break;
|
||||
// For the rear fingerprint module, calling cancel() will go to the
|
||||
// navigation mode by default.
|
||||
// For other device not enabling naivgation feature, default mode will
|
||||
// be "Idle" by invoking cancel().
|
||||
case 'n':
|
||||
case 'i':
|
||||
default:
|
||||
ret = run_cancel_cmd();
|
||||
break;
|
||||
}
|
||||
|
||||
if (ret != OK)
|
||||
CLOGE("FP HIDL fail to excute cmd '%c'\n", input);
|
||||
else
|
||||
CLOGI("FP HIDL excute cmd '%c' successfully\n", input);
|
||||
|
||||
return ret;
|
||||
|
||||
}
|
||||
|
||||
16
fingerprint/fpc1540/fp_tool/fp_test.h
Normal file
16
fingerprint/fpc1540/fp_tool/fp_test.h
Normal file
@@ -0,0 +1,16 @@
|
||||
#ifndef FP_TEST
|
||||
#define FP_TEST
|
||||
|
||||
#include <android/hardware/biometrics/fingerprint/2.1/IBiometricsFingerprint.h>
|
||||
#include <android/hardware/biometrics/fingerprint/2.1/IBiometricsFingerprintClientCallback.h>
|
||||
|
||||
using android::hardware::biometrics::fingerprint::V2_1::IBiometricsFingerprint;
|
||||
using android::hardware::biometrics::fingerprint::V2_1::IBiometricsFingerprintClientCallback;
|
||||
using android::hardware::biometrics::fingerprint::V2_1::RequestStatus;
|
||||
using android::sp;
|
||||
|
||||
|
||||
int main(int argc, char *argv[]);
|
||||
void toolUsage(void);
|
||||
|
||||
#endif //FP_TEST
|
||||
8
fingerprint/fpc1540/fpc1540.mk
Normal file
8
fingerprint/fpc1540/fpc1540.mk
Normal file
@@ -0,0 +1,8 @@
|
||||
# Fingerprint
|
||||
include device/google/gs201/fingerprint/fpc1540/fingerprint_config.mk
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.biometrics.fingerprint@2.1-service.fpc \
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
frameworks/native/data/etc/android.hardware.fingerprint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.fingerprint.xml
|
||||
10
fingerprint/fpc1540/fpc1540_factory.mk
Normal file
10
fingerprint/fpc1540/fpc1540_factory.mk
Normal file
@@ -0,0 +1,10 @@
|
||||
# Fingerprint
|
||||
include device/google/gs201/fingerprint/fpc1540/fingerprint_config_factory.mk
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
fpc_tee_test\
|
||||
SensorTestTool \
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
com.fingerprints.extension.xml \
|
||||
com.fingerprints.extension \
|
||||
@@ -1,7 +1,7 @@
|
||||
<manifest version="1.0" type="device">
|
||||
<hal format="aidl">
|
||||
<name>android.hardware.health</name>
|
||||
<version>4</version>
|
||||
<version>3</version>
|
||||
<fqname>IHealth/default</fqname>
|
||||
</hal>
|
||||
</manifest>
|
||||
|
||||
24
init.hardware.wlc.rc.userdebug
Normal file
24
init.hardware.wlc.rc.userdebug
Normal file
@@ -0,0 +1,24 @@
|
||||
#
|
||||
# Copyright (C) 2018 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.
|
||||
#
|
||||
|
||||
on property:sys.boot_completed=1 && property:persist.vendor.limit.wlc.current=1
|
||||
write /sys/class/power_supply/dc/current_max 75000
|
||||
|
||||
on property:sys.boot_completed=1 && property:persist.vendor.limit.wlc.current=0
|
||||
write /sys/class/power_supply/dc/current_max 1100000
|
||||
|
||||
on property:vendor.disable.wlc=1
|
||||
write /sys/class/power_supply/wireless/online 0
|
||||
@@ -1,6 +1,6 @@
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2021-2024 The LineageOS Project
|
||||
# SPDX-FileCopyrightText: 2021-2024 The Calyx Institute
|
||||
# Copyright (C) 2022 The LineageOS Project
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
@@ -22,10 +22,6 @@ PRODUCT_PRODUCT_PROPERTIES += ro.opa.eligible_device=true
|
||||
# Lineage Health
|
||||
include hardware/google/pixel/lineage_health/device.mk
|
||||
|
||||
$(call soong_config_set,lineage_health,charging_control_supports_deadline,true)
|
||||
$(call soong_config_set,lineage_health,charging_control_supports_limit,true)
|
||||
$(call soong_config_set,lineage_health,charging_control_supports_toggle,false)
|
||||
|
||||
# Linker config
|
||||
PRODUCT_VENDOR_LINKER_CONFIG_FRAGMENTS += \
|
||||
device/google/gs201/linker.config.json
|
||||
@@ -34,9 +30,5 @@ PRODUCT_VENDOR_LINKER_CONFIG_FRAGMENTS += \
|
||||
PRODUCT_PACKAGES += \
|
||||
GoogleParts
|
||||
|
||||
# Tethering
|
||||
PRODUCT_PACKAGES += \
|
||||
TetheringOverlay
|
||||
|
||||
# Touch
|
||||
include hardware/google/pixel/touch/device.mk
|
||||
|
||||
@@ -1,10 +1,5 @@
|
||||
{
|
||||
"provideLibs": [
|
||||
"liboemcrypto.so",
|
||||
"lib_aion_buffer.so",
|
||||
"libedgetpu_client.google.so",
|
||||
"libedgetpu_tachyon.google.so",
|
||||
"libedgetpu_util.so",
|
||||
"libgxp.so"
|
||||
"liboemcrypto.so"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1,4 +1,13 @@
|
||||
<manifest version="1.0" type="device" target-level="7">
|
||||
<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>
|
||||
|
||||
@@ -1,13 +1,20 @@
|
||||
<manifest version="1.0" type="device">
|
||||
<!-- AIDL fragment -->
|
||||
<hal format="aidl">
|
||||
<name>android.hardware.media.c2</name>
|
||||
<version>1</version>
|
||||
<fqname>IComponentStore/default1</fqname>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.media.c2</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IComponentStore</name>
|
||||
<instance>default1</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="aidl">
|
||||
<name>android.hardware.media.c2</name>
|
||||
<version>1</version>
|
||||
<fqname>IComponentStore/default</fqname>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.media.c2</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.2</version>
|
||||
<interface>
|
||||
<name>IComponentStore</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
</manifest>
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
<manifest version="1.0" type="device">
|
||||
<!-- HIDL fragment -->
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.media.c2</name>
|
||||
<transport>hwbinder</transport>
|
||||
@@ -9,10 +8,4 @@
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<!-- AIDL fragment -->
|
||||
<hal format="aidl">
|
||||
<name>android.hardware.media.c2</name>
|
||||
<version>1</version>
|
||||
<fqname>IComponentStore/default</fqname>
|
||||
</hal>
|
||||
</manifest>
|
||||
|
||||
@@ -106,7 +106,7 @@
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.exynos.vp8.decoder" type="video/x-vnd.on2.vp8" >
|
||||
<Limit name="size" min="32x32" max="3840x2160" />
|
||||
<Limit name="alignment" value="1x1" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="block-count" range="1-32400" />
|
||||
<Limit name="blocks-per-second" min="1" max="3888000" />
|
||||
@@ -120,7 +120,7 @@
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.exynos.vp9.decoder" type="video/x-vnd.on2.vp9" >
|
||||
<Limit name="size" min="64x64" max="3840x2176" />
|
||||
<Limit name="alignment" value="1x1" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="64x64" />
|
||||
<Limit name="block-count" range="1-2040" />
|
||||
<Limit name="blocks-per-second" min="1" max="3888000" />
|
||||
@@ -134,7 +134,7 @@
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.exynos.vp9.decoder.secure" type="video/x-vnd.on2.vp9" >
|
||||
<Limit name="size" min="64x64" max="3840x2176" />
|
||||
<Limit name="alignment" value="1x1" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="64x64" />
|
||||
<Limit name="block-count" range="1-2040" />
|
||||
<Limit name="blocks-per-second" min="1" max="3888000" />
|
||||
@@ -217,7 +217,7 @@
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.exynos.vp8.encoder" type="video/x-vnd.on2.vp8" >
|
||||
<Limit name="size" min="32x32" max="3840x2160" />
|
||||
<Limit name="alignment" value="1x1" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="block-count" range="1-32400" />
|
||||
<Limit name="blocks-per-second" min="1" max="3888000" />
|
||||
@@ -233,7 +233,7 @@
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.exynos.vp9.encoder" type="video/x-vnd.on2.vp9" >
|
||||
<Limit name="size" min="64x64" max="3840x2176" />
|
||||
<Limit name="alignment" value="1x1" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="64x64" />
|
||||
<Limit name="block-count" range="1-2040" />
|
||||
<Limit name="blocks-per-second" min="1" max="243000" />
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
<Decoders>
|
||||
<MediaCodec name="c2.google.av1.decoder" type="video/av01">
|
||||
<Limit name="size" min="96x96" max="3840x2160" />
|
||||
<Limit name="alignment" value="1x1" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="block-count" range="36-32400" />
|
||||
<Limit name="blocks-per-second" min="24" max="1944000" />
|
||||
@@ -34,7 +34,7 @@
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.google.av1.decoder.secure" type="video/av01">
|
||||
<Limit name="size" min="96x96" max="3840x2160" />
|
||||
<Limit name="alignment" value="1x1" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="block-count" range="36-32400" />
|
||||
<Limit name="blocks-per-second" min="24" max="1944000" />
|
||||
|
||||
@@ -117,24 +117,24 @@
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.avc.decoder" type="video/avc" update="true">
|
||||
<!-- measured 90%:342-360 med:343 N=2 -->
|
||||
<Limit name="measured-frame-rate-320x240" range="558-1084" /> <!-- v90%=1.0 -->
|
||||
<Limit name="measured-frame-rate-320x240" range="342-351" /> <!-- v90%=1.0 -->
|
||||
<!-- measured 90%:142-147 med:143 N=2 -->
|
||||
<Limit name="measured-frame-rate-720x480" range="193-357" /> <!-- v90%=1.0 -->
|
||||
<Limit name="measured-frame-rate-720x480" range="142-145" /> <!-- v90%=1.0 -->
|
||||
<!-- measured 90%:54-56 med:55 N=2 -->
|
||||
<Limit name="measured-frame-rate-1280x720" range="73-125" /> <!-- v90%=1.0 -->
|
||||
<Limit name="measured-frame-rate-1280x720" range="54-55" /> <!-- v90%=1.0 -->
|
||||
<!-- measured 90%:25-26 med:26 N=2 -->
|
||||
<Limit name="measured-frame-rate-1920x1080" range="25-41" /> <!-- v90%=1.0 -->
|
||||
<Limit name="measured-frame-rate-1920x1080" range="25-26" /> <!-- v90%=1.0 -->
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.hevc.decoder" type="video/hevc" update="true">
|
||||
<Limit name="measured-frame-rate-352x288" range="583-1019" />
|
||||
<Limit name="measured-frame-rate-352x288" range="583-674" />
|
||||
<!-- measured 90%:196-207 med:196 N=2 -->
|
||||
<Limit name="measured-frame-rate-640x360" range="196-608" /> <!-- v90%=1.0 -->
|
||||
<Limit name="measured-frame-rate-640x360" range="196-201" /> <!-- v90%=1.0 -->
|
||||
<!-- measured 90%:177-180 med:178 N=2 -->
|
||||
<Limit name="measured-frame-rate-720x480" range="177-495" /> <!-- v90%=1.0 -->
|
||||
<Limit name="measured-frame-rate-720x480" range="177-178" /> <!-- v90%=1.0 -->
|
||||
<!-- measured 90%:81-82 med:82 N=2 -->
|
||||
<Limit name="measured-frame-rate-1280x720" range="81-165" /> <!-- v90%=1.0 -->
|
||||
<Limit name="measured-frame-rate-1280x720" range="81-82" /> <!-- v90%=1.0 -->
|
||||
<!-- measured 90%:45-47 med:46 N=2 -->
|
||||
<Limit name="measured-frame-rate-1920x1080" range="45-87" /> <!-- v90%=1.0 -->
|
||||
<Limit name="measured-frame-rate-1920x1080" range="45-46" /> <!-- v90%=1.0 -->
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.mpeg4.decoder" type="video/mp4v-es" update="true">
|
||||
<Limit name="measured-frame-rate-176x144" range="1215-1823" />
|
||||
@@ -145,7 +145,7 @@
|
||||
<Limit name="measured-frame-rate-320x180" range="847-1271" />
|
||||
<Limit name="measured-frame-rate-640x360" range="412-618" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="119-178" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="28-55" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="47-70" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
|
||||
<Limit name="measured-frame-rate-320x180" range="622-934" />
|
||||
|
||||
3
modem/userdebug.mk
Normal file
3
modem/userdebug.mk
Normal file
@@ -0,0 +1,3 @@
|
||||
ifneq ($(BOARD_WITHOUT_RADIO),true)
|
||||
PRODUCT_PACKAGES += vcd
|
||||
endif
|
||||
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
/**
|
||||
* Copyright (c) 2009, The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
-->
|
||||
<resources>
|
||||
<!-- Don't enable BT until user wants it -->
|
||||
<bool name="def_bluetooth_on">false</bool>
|
||||
</resources>
|
||||
|
||||
7
overlay-factory/vendor/google/apps/PixelLogger/res/values/arrays.xml
vendored
Normal file
7
overlay-factory/vendor/google/apps/PixelLogger/res/values/arrays.xml
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
<resources>
|
||||
<string-array name="logger_entries">
|
||||
<item>shannondm</item>
|
||||
<item>cnss_diag</item>
|
||||
<item>brcm_gps</item>
|
||||
</string-array>
|
||||
</resources>
|
||||
10
overlay-factory/vendor/google/apps/PixelLogger/res/values/config.xml
vendored
Normal file
10
overlay-factory/vendor/google/apps/PixelLogger/res/values/config.xml
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="config_logger_default_value" translatable="false">shannondm</string>
|
||||
<string name="config_cfg_default_value" translatable="false">Built-in Mask #1</string>
|
||||
|
||||
<!-- default config file for cnss_diag logger -->
|
||||
<string name="config_cfg_default_value_cnss_diag" translatable="false">cnss_diag.conf</string>
|
||||
<!-- config file to enable brcm gps logger -->
|
||||
<bool name="config_brcm_gps_enabled" translatable="false">true</bool>
|
||||
</resources>
|
||||
19
overlay-factory/vendor/google/apps/PixelLogger/res/values/configmessages.xml
vendored
Normal file
19
overlay-factory/vendor/google/apps/PixelLogger/res/values/configmessages.xml
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string-array name="config_message_no_message">
|
||||
<item></item>
|
||||
</string-array>
|
||||
<string-array name="config_message_audio_warning">
|
||||
<item>This will collect audio from your voice calls. Would you like to proceed?</item>
|
||||
</string-array>
|
||||
<string-array name="config_message_possible_audio_warning">
|
||||
<item>This may collect audio from your voice calls. Would you like to proceed?</item>
|
||||
<item>Pixel_Default.nprf</item>
|
||||
<item>Built-in Mask #0</item>
|
||||
<item>Built-in Mask #1</item>
|
||||
<item>Built-in Mask #2</item>
|
||||
<item>Built-in Mask #3</item>
|
||||
</string-array>
|
||||
<string name="config_privacy_warning_title">Privacy Warning</string>
|
||||
<string name="default_config_selection_message">You are loading a user defined logging config. This may collect audio from your voice calls. Would you like to proceed?</string>
|
||||
</resources>
|
||||
@@ -31,16 +31,6 @@
|
||||
<!-- B y-intercept --> <item>-0.349361641294833436</item>
|
||||
</string-array>
|
||||
|
||||
<!-- The fixed keyboard vibration strength in [0,1], or -1 to indicate the strength not fixed
|
||||
and should depend on the touch feedback intensity user setting -->
|
||||
<item name="config_keyboardHapticFeedbackFixedAmplitude" type="dimen">0.62</item>
|
||||
|
||||
<!-- Indicating if keyboard vibration settings supported or not. -->
|
||||
<bool name="config_keyboardVibrationSettingsSupported">true</bool>
|
||||
|
||||
<!-- Indicating if ringtone vibration settings supported or not. -->
|
||||
<bool name="config_ringtoneVibrationSettingsSupported">true</bool>
|
||||
|
||||
<!-- List of comma separated package names for which we the system will not show crash, ANR,
|
||||
etc. dialogs. -->
|
||||
<string translatable="false" name="config_appsNotReportingCrashes">com.google.android.euicc</string>
|
||||
|
||||
@@ -20,33 +20,28 @@
|
||||
<item>connectivity_thermal_power_manager/apply_action_time_seconds=10</item>
|
||||
<item>connectivity_thermal_power_manager/atm_power_threshold_mw=800</item>
|
||||
<item>connectivity_thermal_power_manager/cellular_thermal_adaptive_thermal_status_adaptive_action_list=</item>
|
||||
<item>connectivity_thermal_power_manager/criteria_1_enabled=true</item>
|
||||
<item>connectivity_thermal_power_manager/criteria_4_enabled=true</item>
|
||||
<item>connectivity_thermal_power_manager/criteria_4_lte_pref_mode=3</item>
|
||||
<item>connectivity_thermal_power_manager/wifi_disconnected_time_seconds=180</item>
|
||||
<item>connectivity_thermal_power_manager/wifi_internet_driven_endc_product_carrier_id_set=shiba,husky,akita,komodo,tokay,caiman,comet@1,1989,2023,2576,2067,2071,2073,2577,2522,2075,2578,2083,2433,1949</item>
|
||||
|
||||
<!-- Live Caption (Pixel 2017 + OEM) -->
|
||||
<item>device_personalization_services/Captions__allow_box_x_axis_movement=true</item>
|
||||
<item>device_personalization_services/Captions__allow_use_public_speech_recognition=true</item>
|
||||
<item>device_personalization_services/Captions__allow_voip_call_without_audio_recording=true</item>
|
||||
<item>device_personalization_services/Captions__available_for_download=en-US;en-GB;en-CA;en-IE;en-AU;en-SG;en-IN;fr-FR;fr-CA;fr-BE;fr-CH;it-IT;it-CH;de-DE;de-AT;de-BE;de-CH;ja-JP;es-ES;es-US;cmn-Hant-TW;hi-IN;pt-BR;tr-TR;pl-PL;cmn-Hans-CN;ko-KR;ru-RU;vi-VN</item>
|
||||
<item>device_personalization_services/Captions__allow_voip_call_without_audio_recording=false</item>
|
||||
<item>device_personalization_services/Captions__available_for_download=en-US;en-GB;en-CA;en-IE;en-AU;en-SG;en-IN;fr-FR;fr-CA;fr-BE;fr-CH;it-IT;it-CH;de-DE;de-AT;de-BE;de-CH;ja-JP;es-ES;es-US;cmn-Hant-TW;hi-IN</item>
|
||||
<item>device_personalization_services/Captions__disable_prod=false</item>
|
||||
<!-- <item>device_personalization_services/Captions__enable=false</item> -->
|
||||
<item>device_personalization_services/Captions__enable_activation_boost=true</item>
|
||||
<item>device_personalization_services/Captions__enable_adaptive_box_width=true</item>
|
||||
<item>device_personalization_services/Captions__enable_augmented_modality=true</item>
|
||||
<item>device_personalization_services/Captions__enable_augmented_modality_input=true</item>
|
||||
<item>device_personalization_services/Captions__enable_augmented_modality_language_detection=true</item>
|
||||
<item>device_personalization_services/Captions__enable_augmented_music=true</item>
|
||||
<!-- <item>device_personalization_services/Captions__enable_clearcut_logging=true</item> -->
|
||||
<item>device_personalization_services/Captions__enable_drag_and_double_tap_to_resize=true</item>
|
||||
<item>device_personalization_services/Captions__enable_ec_integration=false</item>
|
||||
<item>device_personalization_services/Captions__enable_drag_and_double_tap_to_resize=false</item>
|
||||
<item>device_personalization_services/Captions__enable_language_detection=true</item>
|
||||
<item>device_personalization_services/Captions__enable_one_caption_experiment=false</item>
|
||||
<item>device_personalization_services/Captions__enable_punctuations=true</item>
|
||||
<item>device_personalization_services/Captions__enable_setting_page=false</item>
|
||||
<item>device_personalization_services/Captions__enable_survey=false</item>
|
||||
<item>device_personalization_services/Captions__enable_text_transform=true</item>
|
||||
<item>device_personalization_services/Captions__enable_westworld_logging=false</item>
|
||||
<item>device_personalization_services/Captions__enable_zero_day=false</item>
|
||||
@@ -56,9 +51,7 @@
|
||||
<item>device_personalization_services/Captions__new_model_version=20210623</item>
|
||||
<item>device_personalization_services/Captions__new_model_version_advanced_2022=20230807</item>
|
||||
<item>device_personalization_services/Captions__speech_threshold=0.2</item>
|
||||
<item>device_personalization_services/Captions__support_lang_id_disabled_after_dismissals=true</item>
|
||||
<item>device_personalization_services/Captions__supported_languages=en-US;fr-FR;it-IT;de-DE;ja-JP;es-ES;cmn-Hant-TW;hi-IN;pt-BR;tr-TR;pl-PL;cmn-Hans-CN;ko-KR;ru-RU;vi-VN</item>
|
||||
<item>device_personalization_services/Captions__supported_languages_beta_quality=ja-JP;pt-BR;tr-TR;pl-PL;cmn-Hans-CN;ko-KR;ru-RU;vi-VN</item>
|
||||
<item>device_personalization_services/Captions__supported_languages=en-US;fr-FR;it-IT;de-DE;ja-JP;es-ES;cmn-Hant-TW;hi-IN</item>
|
||||
<item>device_personalization_services/Captions__surface_sound_events=true</item>
|
||||
<item>device_personalization_services/Captions__text_transform_augmented_input=true</item>
|
||||
<item>device_personalization_services/Captions__visibility_playing_duration_millis=5000</item>
|
||||
@@ -66,23 +59,12 @@
|
||||
|
||||
<!-- Now Playing (Pixel 2017) -->
|
||||
<item>device_personalization_services/NowPlaying__ambient_music_apk_music_detector_min_score=0.45</item>
|
||||
<item>device_personalization_services/NowPlaying__ambient_music_download_album_art_via_astrea=false</item>
|
||||
<item>device_personalization_services/NowPlaying__ambient_music_enable_resource_download_logging=false</item>
|
||||
<item>device_personalization_services/NowPlaying__ambient_music_enhanced_metadata_shards_manifest=4003:https://storage.googleapis.com/music-iq-db/updatable_db_v4/20241015-000033/manifest.json</item>
|
||||
<item>device_personalization_services/NowPlaying__ambient_music_get_model_state_cooldown_seconds_cloud_search=9</item>
|
||||
<item>device_personalization_services/NowPlaying__ambient_music_index_manifest_17_09_02=3105:https://storage.googleapis.com/music-iq-db/updatable_db_v3/20241013-030037/manifest.json</item>
|
||||
<item>device_personalization_services/NowPlaying__ambient_music_index_manifest_17_09_02=3082:https://storage.googleapis.com/music-iq-db/updatable_db_v3/20240421-030101/manifest.json</item>
|
||||
<item>device_personalization_services/NowPlaying__ambient_music_matcher_match_threshold_17_09_02=1.0E-6</item>
|
||||
<item>device_personalization_services/NowPlaying__ambient_music_on_demand_enabled=true</item>
|
||||
<item>device_personalization_services/NowPlaying__ambient_music_on_demand_music_confidence=0.48</item>
|
||||
<item>device_personalization_services/NowPlaying__ambient_music_on_demand_search_use_new_opt_in_flow=false</item>
|
||||
<item>device_personalization_services/NowPlaying__ambient_music_show_album_art=false</item>
|
||||
<item>device_personalization_services/NowPlaying__ambient_music_support_dsp_model_tflite_p6=true</item>
|
||||
<item>device_personalization_services/NowPlaying__ambient_music_use_enhanced_matches_database=false</item>
|
||||
<item>device_personalization_services/NowPlaying__ambient_music_use_metadata_shards_database=false</item>
|
||||
<item>device_personalization_services/NowPlaying__ambient_music_use_yt_domain_fife_urls=false</item>
|
||||
<item>device_personalization_services/NowPlaying__cloud_api_allowed=true</item>
|
||||
<item>device_personalization_services/NowPlaying__create_shortcut_on_np_enabled=false</item>
|
||||
<item>device_personalization_services/NowPlaying__default_music_player_setting=false</item>
|
||||
<item>device_personalization_services/NowPlaying__dsp_model_checksum_enabled=true</item>
|
||||
<!-- <item>device_personalization_services/NowPlaying__enable_usage_fa=true</item> -->
|
||||
<item>device_personalization_services/NowPlaying__favorites_enabled=true</item>
|
||||
@@ -91,12 +73,11 @@
|
||||
<item>device_personalization_services/NowPlaying__handle_ambient_music_results_with_history=true</item>
|
||||
<item>device_personalization_services/NowPlaying__min_training_interval_millis=86400000</item>
|
||||
<item>device_personalization_services/NowPlaying__nnfp_v3_model_enabled=true</item>
|
||||
<item>device_personalization_services/NowPlaying__on_demand_enable_eager_prompt=false</item>
|
||||
<item>device_personalization_services/NowPlaying__on_demand_enable_eager_prompt=true</item>
|
||||
<item>device_personalization_services/NowPlaying__on_demand_fingerprinter_being_setup_warning=true</item>
|
||||
<item>device_personalization_services/NowPlaying__on_demand_hide_if_fingerprinter_install_not_confirmed=true</item>
|
||||
<item>device_personalization_services/NowPlaying__on_demand_min_supported_aga_version=12.35.17</item>
|
||||
<item>device_personalization_services/NowPlaying__on_demand_retry_fingerprinter_install=true</item>
|
||||
<item>device_personalization_services/NowPlaying__shortcut_direct_create_enabled=false</item>
|
||||
<item>device_personalization_services/NowPlaying__youtube_export_enabled=true</item>
|
||||
|
||||
<!-- Adaptive Sound (Pixel 2020) -->
|
||||
@@ -121,13 +102,11 @@
|
||||
<item>device_personalization_services/Translate__differentiate_simplified_and_traditional_chinese=true</item>
|
||||
<item>device_personalization_services/Translate__disable_translate_without_system_animation=false</item>
|
||||
<item>device_personalization_services/Translate__enable_chronicle_migration=true</item>
|
||||
<item>device_personalization_services/Translate__enable_default_langid_model=true</item>
|
||||
<item>device_personalization_services/Translate__enable_default_langid_model=false</item>
|
||||
<item>device_personalization_services/Translate__enable_dictionary_langid_detection=true</item>
|
||||
<item>device_personalization_services/Translate__enable_opmv4_service=true</item>
|
||||
<item>device_personalization_services/Translate__enable_settings_backup_restore=false</item>
|
||||
<item>device_personalization_services/Translate__enable_setup_wizard_dialog_v2=false</item>
|
||||
<item>device_personalization_services/Translate__enable_spa_setting=false</item>
|
||||
<item>device_personalization_services/Translate__enable_translate_kit_api_migration=false</item>
|
||||
<item>device_personalization_services/Translate__interpreter_source_languages=de,en,ja,es,fr,it</item>
|
||||
<item>device_personalization_services/Translate__interpreter_target_languages=de,en,ja,es,fr,it</item>
|
||||
<item>device_personalization_services/Translate__replace_auto_translate_copied_text_enabled=true</item>
|
||||
|
||||
@@ -241,6 +241,12 @@
|
||||
<item>"/system_ext/priv-app/SystemUI/SystemUI.apk"</item>
|
||||
</string-array>
|
||||
|
||||
<!-- Should the pinner service pin the Home application? -->
|
||||
<bool name="config_pinnerHomeApp">true</bool>
|
||||
|
||||
<!-- Bytes that the PinnerService will pin for WebView -->
|
||||
<integer name="config_pinnerWebviewPinBytes">20971520</integer>
|
||||
|
||||
<!-- The default intensity level for alarm vibrations. See
|
||||
Settings.System.ALARM_VIBRATION_INTENSITY more details on the constant values and
|
||||
meanings. -->
|
||||
@@ -270,9 +276,6 @@
|
||||
<!-- Enable Zram writeback feature to allow unused pages in zram be written to flash. -->
|
||||
<bool name="config_zramWriteback">true</bool>
|
||||
|
||||
<!-- the number of the max cached processes in the system. -->
|
||||
<integer name="config_customizedMaxCachedProcesses">1024</integer>
|
||||
|
||||
<!-- List of system components which are allowed to receive ServiceState entries in an
|
||||
un-sanitized form, even if the location toggle is off. This is intended ONLY for system
|
||||
components, such as the telephony stack, which require access to the full ServiceState for
|
||||
@@ -309,12 +312,4 @@
|
||||
|
||||
<!-- Pre-scale volume at volume step 3 for Absolute Volume -->
|
||||
<fraction name="config_prescaleAbsoluteVolume_index3">100%</fraction>
|
||||
|
||||
<!-- Whether to enable usb state update via udc sysfs. -->
|
||||
<bool name="config_enableUdcSysfsUsbStateUpdate">true</bool>
|
||||
|
||||
<!-- Whether to enable APDU sender optimization i.e. a logical channel is opened and
|
||||
kept open for multiple APDU commands within one session.-->
|
||||
<bool name="euicc_optimize_apdu_sender">true</bool>
|
||||
|
||||
</resources>
|
||||
</resources>
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
/**
|
||||
* Copyright (c) 2020, The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
-->
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||
<!-- Content description of the data connection type 5G UW. [CHAR LIMIT=NONE] -->
|
||||
<string name="data_connection_5g_plus" translatable="false">5G UW</string>
|
||||
</resources>
|
||||
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
/**
|
||||
* Copyright (c) 2020, The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
-->
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||
<!-- Content description of the data connection type 5G UW. [CHAR LIMIT=NONE] -->
|
||||
<string name="data_connection_5g_plus" translatable="false">5G UW</string>
|
||||
</resources>
|
||||
42
pixelstats/Android.bp
Normal file
42
pixelstats/Android.bp
Normal file
@@ -0,0 +1,42 @@
|
||||
//
|
||||
// Copyright (C) 2017 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 {
|
||||
// See: http://go/android-license-faq
|
||||
// A large-scale-change added 'default_applicable_licenses' to import
|
||||
// all of the 'license_kinds' from "//device/google/gs201:device_google_gs201_license"
|
||||
// to get the below license kinds:
|
||||
// SPDX-license-identifier-Apache-2.0
|
||||
default_applicable_licenses: [
|
||||
"//device/google/gs201:device_google_gs201_license",
|
||||
],
|
||||
}
|
||||
|
||||
cc_binary {
|
||||
name: "pixelstats-vendor",
|
||||
init_rc: ["pixelstats-vendor.gs201.rc"],
|
||||
srcs: [
|
||||
"service.cpp",
|
||||
],
|
||||
shared_libs: [
|
||||
"libbase",
|
||||
"liblog",
|
||||
"libutils",
|
||||
"libpixelstats",
|
||||
],
|
||||
proprietary: true,
|
||||
static_libs: ["chre_client"],
|
||||
header_libs: ["chre_api"],
|
||||
}
|
||||
11
pixelstats/pixelstats-vendor.gs201.rc
Normal file
11
pixelstats/pixelstats-vendor.gs201.rc
Normal file
@@ -0,0 +1,11 @@
|
||||
on property:sys.boot_completed=1
|
||||
chown system system /sys/class/power_supply/maxfg_base/fg_learning_events
|
||||
chown system system /sys/class/power_supply/maxfg/fg_learning_events
|
||||
start vendor.pixelstats_vendor
|
||||
on post-fs-data
|
||||
chown system system /sys/kernel/metrics/irq/stats_reset
|
||||
service vendor.pixelstats_vendor /vendor/bin/pixelstats-vendor
|
||||
class hal
|
||||
user system
|
||||
group system context_hub readproc
|
||||
disabled
|
||||
123
pixelstats/service.cpp
Normal file
123
pixelstats/service.cpp
Normal file
@@ -0,0 +1,123 @@
|
||||
/*
|
||||
* Copyright (C) 2018 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.
|
||||
*/
|
||||
|
||||
#define LOG_TAG "pixelstats"
|
||||
|
||||
#include <android-base/logging.h>
|
||||
#include <pixelstats/SysfsCollector.h>
|
||||
#include <pixelstats/UeventListener.h>
|
||||
|
||||
#include <thread>
|
||||
|
||||
#include <pixelstats/SysfsCollector.h>
|
||||
#include <pixelstats/UeventListener.h>
|
||||
|
||||
using android::hardware::google::pixel::SysfsCollector;
|
||||
using android::hardware::google::pixel::UeventListener;
|
||||
|
||||
#define BLOCK_STATS_LENGTH 17
|
||||
#define UFSHC_PATH(filename) "/dev/sys/block/bootdevice/" #filename
|
||||
#define UFS_ERR_PATH(err_type) UFSHC_PATH(err_stats/) #err_type
|
||||
const struct SysfsCollector::SysfsPaths sysfs_paths = {
|
||||
.SlowioReadCntPath = UFSHC_PATH(slowio_read_cnt),
|
||||
.SlowioWriteCntPath = UFSHC_PATH(slowio_write_cnt),
|
||||
.SlowioUnmapCntPath = UFSHC_PATH(slowio_unmap_cnt),
|
||||
.SlowioSyncCntPath = UFSHC_PATH(slowio_sync_cnt),
|
||||
.CycleCountBinsPath = "/sys/class/power_supply/battery/cycle_counts",
|
||||
.UFSLifetimeA = UFSHC_PATH(health_descriptor/life_time_estimation_a),
|
||||
.UFSLifetimeB = UFSHC_PATH(health_descriptor/life_time_estimation_b),
|
||||
.UFSLifetimeC = UFSHC_PATH(health_descriptor/life_time_estimation_c),
|
||||
.F2fsStatsPath = "/sys/fs/f2fs/",
|
||||
.ImpedancePath = "/sys/devices/platform/audiometrics/speaker_impedance",
|
||||
.CodecPath = "/sys/devices/platform/audiometrics/codec_state",
|
||||
.EEPROMPath = "/dev/battery_history",
|
||||
.MitigationPath = "/sys/devices/virtual/pmic/mitigation",
|
||||
.MitigationDurationPath = "/sys/devices/virtual/pmic/mitigation/irq_dur_cnt",
|
||||
.BrownoutReasonProp = "vendor.brownout_reason",
|
||||
.BrownoutLogPath = "/data/vendor/mitigation/lastmeal.txt",
|
||||
.SpeakerTemperaturePath = "/sys/devices/platform/audiometrics/speaker_temp",
|
||||
.SpeakerExcursionPath = "/sys/devices/platform/audiometrics/speaker_excursion",
|
||||
.SpeakerHeartBeatPath = "/sys/devices/platform/audiometrics/speaker_heartbeat",
|
||||
.UFSErrStatsPath = {
|
||||
UFS_ERR_PATH(pa_err_count),
|
||||
UFS_ERR_PATH(dl_err_count),
|
||||
UFS_ERR_PATH(nl_err_count),
|
||||
UFS_ERR_PATH(tl_err_count),
|
||||
UFS_ERR_PATH(dme_err_count),
|
||||
UFS_ERR_PATH(fatal_err_count),
|
||||
UFS_ERR_PATH(auto_hibern8_err_count)
|
||||
},
|
||||
.BlockStatsLength = BLOCK_STATS_LENGTH,
|
||||
.AmsRatePath = "/sys/devices/platform/audiometrics/ams_rate_read_once",
|
||||
.MitigationPath = "/sys/devices/virtual/pmic/mitigation",
|
||||
.ThermalStatsPaths = {
|
||||
"/sys/devices/platform/100a0000.BIG/trip_counter",
|
||||
"/sys/devices/platform/100a0000.MID/trip_counter",
|
||||
"/sys/devices/platform/100a0000.LITTLE/trip_counter",
|
||||
"/sys/devices/platform/100b0000.G3D/trip_counter",
|
||||
"/sys/devices/platform/100b0000.TPU/trip_counter",
|
||||
"/sys/devices/platform/100b0000.AUR/trip_counter",
|
||||
},
|
||||
.CCARatePath = "/sys/devices/platform/audiometrics/cca_count_read_once",
|
||||
.TempResidencyAndResetPaths = {
|
||||
{
|
||||
"/sys/kernel/metrics/thermal/tr_by_group/tmu/stats",
|
||||
"/sys/kernel/metrics/thermal/tr_by_group/tmu/stats_reset"
|
||||
},
|
||||
{
|
||||
"/sys/kernel/metrics/thermal/tr_by_group/spmic/stats",
|
||||
"/sys/kernel/metrics/thermal/tr_by_group/spmic/stats_reset"
|
||||
}
|
||||
},
|
||||
.ResumeLatencyMetricsPath = "/sys/kernel/metrics/resume_latency/resume_latency_metrics",
|
||||
.LongIRQMetricsPath = "/sys/kernel/metrics/irq/long_irq_metrics",
|
||||
.StormIRQMetricsPath = "/sys/kernel/metrics/irq/storm_irq_metrics",
|
||||
.IRQStatsResetPath = "/sys/kernel/metrics/irq/stats_reset",
|
||||
.ModemPcieLinkStatsPath = "/sys/devices/platform/11920000.pcie/link_stats",
|
||||
.WifiPcieLinkStatsPath = "/sys/devices/platform/14520000.pcie/link_stats",
|
||||
.GMSRPath = {
|
||||
"/sys/class/power_supply/maxfg/gmsr",
|
||||
"/sys/class/power_supply/maxfg_base/gmsr",
|
||||
},
|
||||
.TotalCallCountPath = "/sys/devices/platform/audiometrics/call_count"
|
||||
};
|
||||
|
||||
const struct UeventListener::UeventPaths ueventPaths = {
|
||||
.AudioUevent = "/devices/virtual/amcs/amcs",
|
||||
.TypeCPartnerUevent = "PRODUCT_TYPE=",
|
||||
.FGLearningPath = {
|
||||
"/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() {
|
||||
LOG(INFO) << "starting PixelStats";
|
||||
|
||||
UeventListener ueventListener(ueventPaths);
|
||||
std::thread listenThread(&UeventListener::ListenForever, &ueventListener);
|
||||
listenThread.detach();
|
||||
|
||||
SysfsCollector collector(sysfs_paths);
|
||||
collector.collect(); // This blocks forever.
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -274,7 +274,7 @@ void addSoC(std::shared_ptr<PowerStats> p) {
|
||||
}
|
||||
|
||||
void setEnergyMeter(std::shared_ptr<PowerStats> p) {
|
||||
std::vector<std::string> deviceNames { "s2mpg12-odpm", "s2mpg13-odpm" };
|
||||
std::vector<const std::string> deviceNames { "s2mpg12-odpm", "s2mpg13-odpm" };
|
||||
p->setEnergyMeterDataProvider(std::make_unique<IioEnergyMeterDataProvider>(deviceNames, true));
|
||||
}
|
||||
|
||||
|
||||
37
preinstalled-packages-product-gs201-device-debug.xml
Normal file
37
preinstalled-packages-product-gs201-device-debug.xml
Normal file
@@ -0,0 +1,37 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright 2022 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.
|
||||
-->
|
||||
<!-- System packages to preinstall on gs201 debug devices, per user type.
|
||||
Documentation at frameworks/base/data/etc/preinstalled-packages-platform.xml
|
||||
-->
|
||||
<config>
|
||||
<!-- Battery Stats Viewer -->
|
||||
<install-in-user-type package="com.android.frameworks.core.batterystatsviewer">
|
||||
<install-in user-type="FULL" />
|
||||
<install-in user-type="PROFILE" />
|
||||
<do-not-install-in user-type="android.os.usertype.profile.CLONE" />
|
||||
<do-not-install-in user-type="android.os.usertype.profile.PRIVATE" />
|
||||
</install-in-user-type>
|
||||
|
||||
<!-- RCS (Rich Communication Services)
|
||||
TODO(b/259401601): Check if this should be preinstalled for SYSTEM user -->
|
||||
<install-in-user-type package="com.google.android.sample.rcsclient">
|
||||
<install-in user-type="SYSTEM" />
|
||||
<install-in user-type="FULL" />
|
||||
<install-in user-type="PROFILE" />
|
||||
<do-not-install-in user-type="android.os.usertype.profile.CLONE" />
|
||||
<do-not-install-in user-type="android.os.usertype.profile.PRIVATE" />
|
||||
</install-in-user-type>
|
||||
</config>
|
||||
@@ -1,9 +0,0 @@
|
||||
package {
|
||||
default_applicable_licenses: ["Android-Apache-2.0"],
|
||||
}
|
||||
|
||||
runtime_resource_overlay {
|
||||
name: "TetheringOverlay",
|
||||
sdk_version: "current",
|
||||
product_specific: true
|
||||
}
|
||||
@@ -1,46 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
/*
|
||||
* 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.
|
||||
*/
|
||||
-->
|
||||
<resources>
|
||||
<!-- List of regexpressions describing the interface (if any) that represent tetherable
|
||||
USB interfaces. If the device doesn't want to support tethering over USB this should
|
||||
be empty. An example would be "usb.*" -->
|
||||
<string-array translatable="false" name="config_tether_usb_regexs">
|
||||
<item>rndis\\d</item>
|
||||
</string-array>
|
||||
|
||||
<!-- List of regexpressions describing the interface (if any) that represent tetherable
|
||||
NCM interfaces. If the device doesn't want to support tethering over NCM this should
|
||||
be empty. -->
|
||||
<string-array translatable="false" name="config_tether_ncm_regexs">
|
||||
<item>ncm\\d</item>
|
||||
</string-array>
|
||||
|
||||
<!-- List of regexpressions describing the interface (if any) that represent tetherable
|
||||
Wifi P2P interfaces. If the device doesn't want to support tethering over Wifi P2p this
|
||||
should be empty. An example would be "p2p-p2p\\d-.*" -->
|
||||
<string-array translatable="false" name="config_tether_wifi_p2p_regexs">
|
||||
<item>p2p-p2p\\d-.*</item>
|
||||
<item>p2p\\d</item>
|
||||
<item>p2p-wlan\\d-.*</item>
|
||||
</string-array>
|
||||
|
||||
<!-- Which USB function should be enabled when TETHERING_USB is requested. 0: RNDIS, 1: NCM.
|
||||
-->
|
||||
<integer translatable="false" name="config_tether_usb_functions">1</integer>
|
||||
</resources>
|
||||
@@ -1,6 +1,9 @@
|
||||
# ConnectivityThermalPowerManager
|
||||
BOARD_SEPOLICY_DIRS += hardware/google/pixel-sepolicy/connectivity_thermal_power_manager
|
||||
|
||||
# ramdump
|
||||
BOARD_SEPOLICY_DIRS += hardware/google/pixel-sepolicy/ramdump
|
||||
|
||||
# twoshay
|
||||
BOARD_SEPOLICY_DIRS += hardware/google/pixel-sepolicy/input
|
||||
|
||||
@@ -8,7 +11,7 @@ BOARD_SEPOLICY_DIRS += hardware/google/pixel-sepolicy/input
|
||||
BOARD_SEPOLICY_DIRS += hardware/google/pixel-sepolicy/googlebattery
|
||||
|
||||
# sepolicy that are shared among devices using whitechapel
|
||||
BOARD_VENDOR_SEPOLICY_DIRS += device/google/gs201/sepolicy/whitechapel_pro
|
||||
BOARD_SEPOLICY_DIRS += device/google/gs201/sepolicy/whitechapel_pro
|
||||
|
||||
# unresolved SELinux error log with bug tracking
|
||||
BOARD_SEPOLICY_DIRS += device/google/gs201/sepolicy/tracking_denials
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
typeattribute pixelntnservice_app coredomain;
|
||||
|
||||
app_domain(pixelntnservice_app);
|
||||
allow pixelntnservice_app app_api_service:service_manager find;
|
||||
set_prop(pixelntnservice_app, telephony_modem_prop)
|
||||
@@ -2,5 +2,4 @@
|
||||
persist.fingerprint.ghbm u:object_r:fingerprint_ghbm_prop:s0 exact bool
|
||||
|
||||
# Telephony
|
||||
telephony.TnNtn.image_switch u:object_r:telephony_modem_prop:s0 exact enum ntn tn
|
||||
telephony.ril.silent_reset u:object_r:telephony_ril_prop:s0 exact bool
|
||||
|
||||
@@ -8,5 +8,3 @@ user=_app seinfo=platform name=com.android.hbmsvmanager domain=hbmsvmanager_app
|
||||
# TODO(b/222204912): Should this run under uwb user?
|
||||
user=_app isPrivApp=true seinfo=uwb name=com.qorvo.uwb.vendorservice domain=uwb_vendor_app type=uwb_vendor_data_file levelFrom=all
|
||||
|
||||
# PixelNtnService
|
||||
user=system seinfo=platform name=com.google.android.satellite domain=pixelntnservice_app type=app_data_file levelFrom=all
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
type pixelntnservice_app, domain;
|
||||
@@ -3,8 +3,7 @@ system_vendor_config_prop(fingerprint_ghbm_prop)
|
||||
|
||||
# Telephony
|
||||
system_public_prop(telephony_ril_prop)
|
||||
system_restricted_prop(telephony_modem_prop)
|
||||
|
||||
userdebug_or_eng(`
|
||||
set_prop(shell, telephony_ril_prop)
|
||||
')
|
||||
')
|
||||
@@ -1,2 +0,0 @@
|
||||
# b/382362323
|
||||
dontaudit bluetooth default_android_service:service_manager { find };
|
||||
@@ -1,53 +1,13 @@
|
||||
aconfigd apex_info_file file b/381326452
|
||||
bluetooth audio_config_prop file b/379245738
|
||||
dump_display sysfs file b/350831939
|
||||
dump_modem sscoredump_vendor_data_coredump_file dir b/361726277
|
||||
dump_modem sscoredump_vendor_data_logcat_file dir b/361726277
|
||||
dumpstate unlabeled file b/350832009
|
||||
hal_audio_default hal_audio_default binder b/395745737
|
||||
hal_bluetooth_synabtlinux device chr_file b/386303831
|
||||
hal_camera_default aconfig_storage_metadata_file dir b/383013727
|
||||
hal_contexthub_default hal_bluetooth_service service_manager b/396573096
|
||||
hal_drm_widevine system_userdir_file dir b/393956479
|
||||
hal_drm_widevine widevine_sys_vendor_prop file b/393956479
|
||||
hal_face_default traced_producer_socket sock_file b/305600808
|
||||
hal_power_default hal_power_default capability b/237492146
|
||||
hal_sensors_default property_socket sock_file b/373755350
|
||||
hal_sensors_default sysfs file b/336451433
|
||||
incidentd debugfs_wakeup_sources file b/282626428
|
||||
incidentd incidentd anon_inode b/282626428
|
||||
init init capability b/379206608
|
||||
init-display-sh kmsg_device chr_file b/388949662
|
||||
insmod-sh insmod-sh key b/336451874
|
||||
insmod-sh kmsg_device chr_file b/388949536
|
||||
insmod-sh vendor_edgetpu_debugfs dir b/385858933
|
||||
kernel dm_device blk_file b/319403445
|
||||
kernel kernel capability b/336451113
|
||||
kernel tmpfs chr_file b/321731318
|
||||
pixelstats_vendor block_device dir b/369540701
|
||||
pixelstats_vendor chre_socket sock_file b/400298488
|
||||
platform_app bluetooth_lea_mode_prop file b/402595629
|
||||
platform_app vendor_fw_file dir b/377811773
|
||||
platform_app vendor_rild_prop file b/377811773
|
||||
priv_app audio_config_prop file b/379246129
|
||||
priv_app metadata_file dir b/383438008
|
||||
ramdump ramdump capability b/369475655
|
||||
ramdump_app default_prop file b/386148928
|
||||
rfsd vendor_cbd_prop file b/317734397
|
||||
shell sysfs_net file b/329380891
|
||||
ssr_detector_app default_prop file b/359428005
|
||||
surfaceflinger selinuxfs file b/315104594
|
||||
system_server vendor_default_prop file b/366116786
|
||||
untrusted_app audio_config_prop file b/379245515
|
||||
vendor_init debugfs_trace_marker file b/336451787
|
||||
vendor_init default_prop file b/315104479
|
||||
vendor_init default_prop file b/315104803
|
||||
vendor_init default_prop file b/323086703
|
||||
vendor_init default_prop file b/323086890
|
||||
vendor_init default_prop file b/329380363
|
||||
vendor_init default_prop file b/329381126
|
||||
vendor_init default_prop property_service b/315104803
|
||||
vendor_init default_prop property_service b/359427666
|
||||
vendor_init default_prop property_service b/359428317
|
||||
zygote aconfig_storage_metadata_file dir b/383949172
|
||||
zygote zygote capability b/379206941
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
# b/360057889
|
||||
dontaudit hal_vibrator_default default_android_service:service_manager { find };
|
||||
@@ -5,7 +5,6 @@ init_daemon_domain(cbd)
|
||||
set_prop(cbd, vendor_modem_prop)
|
||||
set_prop(cbd, vendor_cbd_prop)
|
||||
set_prop(cbd, vendor_rild_prop)
|
||||
get_prop(cbd, telephony_modem_prop)
|
||||
|
||||
# Allow cbd to set gid/uid from too to radio
|
||||
allow cbd self:capability { setgid setuid };
|
||||
|
||||
@@ -1,28 +1,33 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIFxjCCA66gAwIBAgIURH+ESClecwsP2Et2gQ1RAHxabWcwDQYJKoZIhvcNAQELBQAwdDELMAkGA
|
||||
1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxFDASBg
|
||||
NVBAoTC0dvb2dsZSBJbmMuMRAwDgYDVQQLEwdBbmRyb2lkMRAwDgYDVQQDEwdBbmRyb2lkMB4XDTE
|
||||
5MDIyODE5MjIxNloXDTQ5MDIyODE5MjIxNlowdDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlm
|
||||
b3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxFDASBgNVBAoTC0dvb2dsZSBJbmMuMRAwDgYDV
|
||||
QQLEwdBbmRyb2lkMRAwDgYDVQQDEwdBbmRyb2lkMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCg
|
||||
KCAgEA5AVOe4SKiCOnR4DQ2V3sIo5LNpGtmdzZ54MnHIrsSX8n43xtCTpfQWDWnDZFCIHSmR8KAOQ
|
||||
0BNxL8ajtr66gU6tFzD5Vlistwl9P9uUlYWgGaeyEoOUqtiN2HtsJDpcCLYKOz6oH2c5NeruDp5n/
|
||||
Z49xpXXXLgoOTlsoS65tsTcWFrcSuuOE40UyFJ+Rwhh1EiXGPvT99gaXNnDq5WIsPNNe39jV7f01l
|
||||
Zs/g5iUn4dVA/DxLMam/CQh7qQkh6qWkDL8koQ21N9xEZYTR8qvGvgz3Zd1yfT0P1HsgJaPXK5Fqb
|
||||
2vLV1NP8KoYIlB2KqadCn+HJjIgH8UIbB+R8o6KuWCYzLb5vPs87HkXG5/Y+GB7HrCIC+6a8BJ4UU
|
||||
yjUkg/HtBd7GlEixZKLtbcJ3erdfL7uigjCJEqAYDXr2Zes31898ePcl3YQO5/rHobB7f4w3iF/Tw
|
||||
IAAyRRlOceoskCEa/vCbmb7I8HQIJthSNedWcBiKUneohCtfLT3qS0JUVZewiFRMOVD8mwcZFr4o/
|
||||
UfVslEe8DpBp0WXs/83OeEJdtfRc861jdOJ7EIyfDmBX91iWgLCBgv6aXtMvP7CwgZV7y+C+Wbbsj
|
||||
YTYSjsNVSA1uexVPozsSkIjxote0aAiu6+b8LAq9bq2c6Yc6MoldgBqlfcwvFzlKqlm966q6UCAwE
|
||||
AAaNQME4wDAYDVR0TBAUwAwEB/zAdBgNVHQ4EFgQUuH5K2ov/9L++x+8UhrCDhNdJm6EwHwYDVR0j
|
||||
BBgwFoAUuH5K2ov/9L++x+8UhrCDhNdJm6EwDQYJKoZIhvcNAQELBQADggIBAIV1Wx+iwchzxx+gg
|
||||
bWlmJx+oPya2axvj8cgbLGujxI+nmtY2b7UvzazggubioxJJW7rzemLMDwfKPlfiZkIeQmBe2YJhH
|
||||
iwIPaRAB2juZTfQARsEkd4qYvcIDui6PbbgitLWOh3lYNDcVe/c8+EwbJuNNSqjPwIZvj2lodTQNI
|
||||
7uUy1ff5hytHsznObr/rh+MeJlKKY56JL6VEzsD694iVFxJ7f4FXK5Y0pjqYmGj1krcfMFoxHPAmj
|
||||
57yf3VVzeGKx5re+5WIMe5K0RZB9IWxfvx1DsxXvzVeaHYW/c6VF7TVT/RUV+iLtst+1A1RJbeXDu
|
||||
3uLHxPAC44WUb3FQOUKPRP2cIul70ifJSbvu+qLuyfgwltXyYIeQMSrUw4WK6NMNYaIPgEq1BX4rL
|
||||
UlKxlH4xaNwT5ZCWLTRdWozYP5FFSMdQhhOb1Ki81wKmr1f9EkXoW9eGRZBj3tAg90k0qltel30eL
|
||||
pW6gmnNg+la84nyaXfBF3vQAbaAuW5D3TAMWR/Wl6nHoPItdrXHkyMRvQkzx2ezKz61ZP3uDfEZvM
|
||||
LXR0lle8s6pTZB3GLS4mY9LFQdDwPlc1xk8yEcdnUAZs+9U6zZF1+FKSgb3UNy81g2DHUMp0FCBXT
|
||||
y+kLm0LQVYU91kLd+fTkmgkWl4xSyXeV5g3FFuiv9ahl7//vvCG
|
||||
MIIFxjCCA66gAwIBAgIURH+ESClecwsP2Et2gQ1RAHxabWcwDQYJKoZIhvcNAQEL
|
||||
BQAwdDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcT
|
||||
DU1vdW50YWluIFZpZXcxFDASBgNVBAoTC0dvb2dsZSBJbmMuMRAwDgYDVQQLEwdB
|
||||
bmRyb2lkMRAwDgYDVQQDEwdBbmRyb2lkMB4XDTE5MDIyODE5MjIxNloXDTQ5MDIy
|
||||
ODE5MjIxNlowdDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAU
|
||||
BgNVBAcTDU1vdW50YWluIFZpZXcxFDASBgNVBAoTC0dvb2dsZSBJbmMuMRAwDgYD
|
||||
VQQLEwdBbmRyb2lkMRAwDgYDVQQDEwdBbmRyb2lkMIICIjANBgkqhkiG9w0BAQEF
|
||||
AAOCAg8AMIICCgKCAgEA5AVOe4SKiCOnR4DQ2V3sIo5LNpGtmdzZ54MnHIrsSX8n
|
||||
43xtCTpfQWDWnDZFCIHSmR8KAOQ0BNxL8ajtr66gU6tFzD5Vlistwl9P9uUlYWgG
|
||||
aeyEoOUqtiN2HtsJDpcCLYKOz6oH2c5NeruDp5n/Z49xpXXXLgoOTlsoS65tsTcW
|
||||
FrcSuuOE40UyFJ+Rwhh1EiXGPvT99gaXNnDq5WIsPNNe39jV7f01lZs/g5iUn4dV
|
||||
A/DxLMam/CQh7qQkh6qWkDL8koQ21N9xEZYTR8qvGvgz3Zd1yfT0P1HsgJaPXK5F
|
||||
qb2vLV1NP8KoYIlB2KqadCn+HJjIgH8UIbB+R8o6KuWCYzLb5vPs87HkXG5/Y+GB
|
||||
7HrCIC+6a8BJ4UUyjUkg/HtBd7GlEixZKLtbcJ3erdfL7uigjCJEqAYDXr2Zes31
|
||||
898ePcl3YQO5/rHobB7f4w3iF/TwIAAyRRlOceoskCEa/vCbmb7I8HQIJthSNedW
|
||||
cBiKUneohCtfLT3qS0JUVZewiFRMOVD8mwcZFr4o/UfVslEe8DpBp0WXs/83OeEJ
|
||||
dtfRc861jdOJ7EIyfDmBX91iWgLCBgv6aXtMvP7CwgZV7y+C+WbbsjYTYSjsNVSA
|
||||
1uexVPozsSkIjxote0aAiu6+b8LAq9bq2c6Yc6MoldgBqlfcwvFzlKqlm966q6UC
|
||||
AwEAAaNQME4wDAYDVR0TBAUwAwEB/zAdBgNVHQ4EFgQUuH5K2ov/9L++x+8UhrCD
|
||||
hNdJm6EwHwYDVR0jBBgwFoAUuH5K2ov/9L++x+8UhrCDhNdJm6EwDQYJKoZIhvcN
|
||||
AQELBQADggIBAIV1Wx+iwchzxx+ggbWlmJx+oPya2axvj8cgbLGujxI+nmtY2b7U
|
||||
vzazggubioxJJW7rzemLMDwfKPlfiZkIeQmBe2YJhHiwIPaRAB2juZTfQARsEkd4
|
||||
qYvcIDui6PbbgitLWOh3lYNDcVe/c8+EwbJuNNSqjPwIZvj2lodTQNI7uUy1ff5h
|
||||
ytHsznObr/rh+MeJlKKY56JL6VEzsD694iVFxJ7f4FXK5Y0pjqYmGj1krcfMFoxH
|
||||
PAmj57yf3VVzeGKx5re+5WIMe5K0RZB9IWxfvx1DsxXvzVeaHYW/c6VF7TVT/RUV
|
||||
+iLtst+1A1RJbeXDu3uLHxPAC44WUb3FQOUKPRP2cIul70ifJSbvu+qLuyfgwltX
|
||||
yYIeQMSrUw4WK6NMNYaIPgEq1BX4rLUlKxlH4xaNwT5ZCWLTRdWozYP5FFSMdQhh
|
||||
Ob1Ki81wKmr1f9EkXoW9eGRZBj3tAg90k0qltel30eLpW6gmnNg+la84nyaXfBF3
|
||||
vQAbaAuW5D3TAMWR/Wl6nHoPItdrXHkyMRvQkzx2ezKz61ZP3uDfEZvMLXR0lle8
|
||||
s6pTZB3GLS4mY9LFQdDwPlc1xk8yEcdnUAZs+9U6zZF1+FKSgb3UNy81g2DHUMp0
|
||||
FCBXTy+kLm0LQVYU91kLd+fTkmgkWl4xSyXeV5g3FFuiv9ahl7//vvCG
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
@@ -1,28 +1,30 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
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
|
||||
-----END CERTIFICATE-----
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIGCzCCA/OgAwIBAgIVAIHtywgrR7O/EgQ+PeYSfHDaUDt8MA0GCSqGSIb3DQEBCwUAMIGUMQsw
|
||||
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEU
|
||||
MBIGA1UEChMLR29vZ2xlIEluYy4xEDAOBgNVBAsTB0FuZHJvaWQxMDAuBgNVBAMMJ2NvbV9nb29n
|
||||
bGVfYW5kcm9pZF9hcHBzX2NhbWVyYV9zZXJ2aWNlczAgFw0yMTA2MzAyMzI2MThaGA8yMDUxMDYz
|
||||
MDIzMjYxOFowgZQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1N
|
||||
b3VudGFpbiBWaWV3MRQwEgYDVQQKEwtHb29nbGUgSW5jLjEQMA4GA1UECxMHQW5kcm9pZDEwMC4G
|
||||
A1UEAwwnY29tX2dvb2dsZV9hbmRyb2lkX2FwcHNfY2FtZXJhX3NlcnZpY2VzMIICIjANBgkqhkiG
|
||||
9w0BAQEFAAOCAg8AMIICCgKCAgEAof2MqYxoQkV05oUZULYlNLDIJKryWjC8ha300YUktBNNVBSP
|
||||
1y33+ZTBldm7drcBGo54S1JE1lCIP1dMxby0rNTJ8/Zv2bMVMjXX0haF5vULt64itDcR0SqUDfFR
|
||||
UsHapPVmRmMpDOMOUYUbN7gjU7iYAc9oWBo6BFfckdpwwKfzYY/sgieen1E/MN7Zpzmefct3WDU5
|
||||
4Dc8mpoNsen3oqquieYAgv9FOw5gCIgsDaOfYFBgvAE08Pqo3J/zU6dAuqUJztNH8EhgTNbcaNVL
|
||||
jCmofa+iIAjSpmP69jcgaUyfmH0EE3/m55qouVRJzqARvmEO/M7LEr3n1ZKKhDZdO6TJysMzP9g8
|
||||
pONPO8/3hTQ+GP+7fOQooNQJEGNgJuZOHSyNL/8nGCgHBZKgZdZPKk8HV2M578UDf8yNyV5AYpx0
|
||||
VK1JdoBtNMzp0cv7Q6TTugIuDEzT3jmgGGp6WmXE6B9dJOq+cnVC7cSYva8wctFS3RpoqT79vkW3
|
||||
A7g2b26bM5GMQ8KcGC4qm4pJkrX5kKZWZGWXjm0F8gRJQ5D0S/AcUw3B+sG/AmfQzLm8SCK36HhO
|
||||
sFnPsQJ/VdL7kg9HHWrQYVexNaQnD/QLOCenk09COUzSwexws+kQhUH45OSbQFjOJwPbS4YAn9qV
|
||||
eV+DPlvemZEFYF5+MVlDwOGQ3JsCAwEAAaNQME4wDAYDVR0TBAUwAwEB/zAdBgNVHQ4EFgQUtjMO
|
||||
nlaC4nsk4PwT+fcIYpg52JQwHwYDVR0jBBgwFoAUtjMOnlaC4nsk4PwT+fcIYpg52JQwDQYJKoZI
|
||||
hvcNAQELBQADggIBABhYDqPD2yWiXNCVtHk6h7Kb2H2U3rc8G7Or1/mwrXSCEgqHnCkpiWeb1h/5
|
||||
YNS9fRrexQD+O0hukCpjvIFccQvk8EkZdWpn4kDlrUqfakWpASzlwEqRviS31Hiybn/+QUpYuDTm
|
||||
FYorrHzDzPiNttzxVK0ENt4T4ETDWVqiGB7tbTlLPr6tz/oxDjRH8y4iS/For7SkfdI512txJgDr
|
||||
njvRVY9WJykySs+AAqwS1PIMXGoI03UmLJUsFNUjHehaqguPS1uiewlKiQq07blWbnQXdcyH7QTI
|
||||
hOUPY2rRBh8ciXu4L0Uk4To7+DP/8nHSGC7qXPvP6W3gqW1hj0d6GviMEfJ9fBSUEzaCRF3aL/5e
|
||||
JOGQQKxh7Jsl/zZs4+MYg0Q2cyg/BQVNNOhESG4et4OV5go9W+1oAy20FV0NgtdPoeb9ABNoi4T3
|
||||
IrKLgxOsbACpoDt3zPhncqiJhX3feFtyVV4oRiylydiiYO927qNdfMGmcnGFSG4814kUxSdpkoCA
|
||||
V7WCQD42zfBYj4pkdZwiJW4yZSaPWN/Eodi3PBsV+10Y1O1WOvebJuTGmcvWWMCPGtFQJDijUy4H
|
||||
r8rDe3ZmRGQ+vEGPJZC8nx9+qxLQ314ZCzdS0R1HwRRuOji3fCSCnaPQuCFe3YlzhB2j6fRGNf7F
|
||||
DB17LhMLl0GxX9j1
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
@@ -1,28 +1,29 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIF1TCCA72gAwIBAgIVAPZ4KZV2jpxRBCoVAidCu62l3cDqMA0GCSqGSIb3DQEBCwUAMHsxCzAJB
|
||||
gNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEg
|
||||
YDVQQKEwtHb29nbGUgSW5jLjEQMA4GA1UECxMHQW5kcm9pZDEXMBUGA1UEAwwOY29tX2dvb2dsZV9
|
||||
tZHMwHhcNMTkwNDIyMTQ1NzA1WhcNNDkwNDIyMTQ1NzA1WjB7MQswCQYDVQQGEwJVUzETMBEGA1UE
|
||||
CBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEUMBIGA1UEChMLR29vZ2xlIEluY
|
||||
y4xEDAOBgNVBAsTB0FuZHJvaWQxFzAVBgNVBAMMDmNvbV9nb29nbGVfbWRzMIICIjANBgkqhkiG9w
|
||||
0BAQEFAAOCAg8AMIICCgKCAgEAqgNC0hhI3NzaPUllJfe01hCTuEpl35D02+DKJ5prPFxv6KGTk6s
|
||||
kjZOwV87Zf2pyj/cbnv28ioDjwvqMBe4ntFdKtH9gl2tTAVl69HMKXF4Iny/wnrt2mxzhWxFUd5Pu
|
||||
W+mWug+UQw/NGUuaf5d/yys/RrchHKM1+zBV6aOzH6BXiwDoOF2i43d5GlNQ/tFuMySWLJftJN0QU
|
||||
LFelxNDFFJZhw2P3c4opxjmF2yCoIiDfBEIhTZFKUbHX6YDLXmtUpXl35q+cxK4TCxPURyzwdfiyh
|
||||
eF3TTxagfzhvXNg/ifrY67S4qCGfzoEMPxrTz02gS0u3D6r/2+hl9vAJChLKDNdIs6TqIw+YnABrE
|
||||
LiZLLFnaABnjQ7xC3xv1s3W6dWxaxnoVMtC1YvdgwhC5gSpJ4A+AGcCLv96hoeB1IIoGV9Yt0Z97M
|
||||
FpXeHFpAxFZ1F9feBqwOCDbu50dmdKZvqGHZ4Ts3uy7ukDQ08dquHpT+NmqkmmW5GGhkuyZS3HHpU
|
||||
/QeVsZiyJCJBbDe5lz6NGXK56ruuF9ILeGHtldjQm40oYRc01ESScyVjSU0kpMOC7hn1B7rKAm8xx
|
||||
G7eH04ieQrNnbbee7atOO4C3157W5CqujfLMeo6OCRVtcYkYIuSi8hIPNySu/qOaEtEP4owVNZR0H
|
||||
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
|
||||
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
34
sepolicy/whitechapel_pro/convert-to-ext4-sh.te
Normal file
34
sepolicy/whitechapel_pro/convert-to-ext4-sh.te
Normal file
@@ -0,0 +1,34 @@
|
||||
type convert-to-ext4-sh, domain, coredomain;
|
||||
type convert-to-ext4-sh_exec, system_file_type, exec_type, file_type;
|
||||
|
||||
userdebug_or_eng(`
|
||||
permissive convert-to-ext4-sh;
|
||||
|
||||
init_daemon_domain(convert-to-ext4-sh)
|
||||
|
||||
allow convert-to-ext4-sh block_device:dir search;
|
||||
allow convert-to-ext4-sh e2fs_exec:file rx_file_perms;
|
||||
allow convert-to-ext4-sh efs_block_device:blk_file rw_file_perms;
|
||||
allow convert-to-ext4-sh kernel:process setsched;
|
||||
allow convert-to-ext4-sh kmsg_device:chr_file rw_file_perms;
|
||||
allow convert-to-ext4-sh persist_block_device:blk_file { getattr ioctl open read write };
|
||||
allow convert-to-ext4-sh shell_exec:file rx_file_perms;
|
||||
allow convert-to-ext4-sh sysfs_fs_ext4_features:dir { read search };
|
||||
allow convert-to-ext4-sh sysfs_fs_ext4_features:file read;
|
||||
allow convert-to-ext4-sh tmpfs:dir { add_name create mounton open };
|
||||
allow convert-to-ext4-sh tmpfs:dir { remove_name rmdir rw_file_perms setattr };
|
||||
allow convert-to-ext4-sh tmpfs:file { create rw_file_perms unlink };
|
||||
allow convert-to-ext4-sh toolbox_exec:file rx_file_perms;
|
||||
allow convert-to-ext4-sh vendor_persist_type:dir { rw_file_perms search };
|
||||
allow convert-to-ext4-sh vendor_persist_type:file rw_file_perms;
|
||||
|
||||
allowxperm convert-to-ext4-sh { efs_block_device persist_block_device}:blk_file ioctl {
|
||||
BLKDISCARD BLKPBSZGET BLKDISCARDZEROES BLKROGET LOOP_CLR_FD
|
||||
};
|
||||
|
||||
dontaudit convert-to-ext4-sh labeledfs:filesystem { mount unmount };
|
||||
dontaudit convert-to-ext4-sh self:capability { chown fowner fsetid dac_read_search sys_admin sys_rawio };
|
||||
dontaudit convert-to-ext4-sh unlabeled:dir { add_name create mounton open rw_file_perms search setattr };
|
||||
dontaudit convert-to-ext4-sh unlabeled:file { create rw_file_perms setattr };
|
||||
dontaudit convert-to-ext4-sh convert-to-ext4-sh:capability { dac_override };
|
||||
')
|
||||
@@ -1,4 +1,3 @@
|
||||
# File containing sepolicies for GCA-Eng & GCA-Next.
|
||||
userdebug_or_eng(`
|
||||
# Allows camera app to access the GXP device and properties.
|
||||
allow debug_camera_app gxp_device:chr_file rw_file_perms;
|
||||
@@ -10,7 +9,4 @@ userdebug_or_eng(`
|
||||
# Allows GCA-Eng to find and access the EdgeTPU.
|
||||
allow debug_camera_app edgetpu_app_service:service_manager find;
|
||||
allow debug_camera_app edgetpu_device:chr_file { getattr read write ioctl map };
|
||||
|
||||
# Allows tachyon_service to communicate with GCA-Eng via binder.
|
||||
binder_call(edgetpu_tachyon_server, debug_camera_app);
|
||||
')
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
# device.te
|
||||
type modem_block_device, dev_type;
|
||||
type custom_ab_block_device, dev_type;
|
||||
type persist_block_device, dev_type;
|
||||
type efs_block_device, dev_type;
|
||||
type modem_userdata_block_device, dev_type;
|
||||
type mfg_data_block_device, dev_type;
|
||||
type vendor_toe_device, dev_type;
|
||||
type lwis_device, dev_type;
|
||||
@@ -18,4 +20,3 @@ type fips_block_device, dev_type;
|
||||
# SecureElement SPI device
|
||||
type st54spi_device, dev_type;
|
||||
type st33spi_device, dev_type;
|
||||
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
# Allow dumpstate to execute dump_power
|
||||
pixel_bugreport(dump_power);
|
||||
|
||||
allow dump_power sysfs_acpm_stats:dir r_dir_perms;
|
||||
allow dump_power sysfs_acpm_stats:file r_file_perms;
|
||||
allow dump_power sysfs_cpu:file r_file_perms;
|
||||
allow dump_power sysfs_wlc:file r_file_perms;
|
||||
allow dump_power sysfs_wlc:dir search;
|
||||
allow dump_power sysfs_batteryinfo:dir r_dir_perms;
|
||||
allow dump_power sysfs_batteryinfo:file r_file_perms;
|
||||
allow dump_power logbuffer_device:chr_file r_file_perms;
|
||||
allow dump_power mitigation_vendor_data_file:dir r_dir_perms;
|
||||
allow dump_power mitigation_vendor_data_file:file r_file_perms;
|
||||
allow dump_power sysfs_bcl:dir r_dir_perms;
|
||||
allow dump_power sysfs_bcl:file r_file_perms;
|
||||
allow dump_power battery_history_device:chr_file r_file_perms;
|
||||
|
||||
userdebug_or_eng(`
|
||||
r_dir_file(dump_power, vendor_battery_debugfs)
|
||||
r_dir_file(dump_power, vendor_maxfg_debugfs)
|
||||
r_dir_file(dump_power, vendor_charger_debugfs)
|
||||
r_dir_file(dump_power, vendor_votable_debugfs)
|
||||
allow dump_power debugfs:dir r_dir_perms;
|
||||
allow dump_power vendor_usb_debugfs:dir { search };
|
||||
')
|
||||
30
sepolicy/whitechapel_pro/dump_power_gs201.te
Normal file
30
sepolicy/whitechapel_pro/dump_power_gs201.te
Normal file
@@ -0,0 +1,30 @@
|
||||
|
||||
pixel_bugreport(dump_power_gs201)
|
||||
allow dump_power_gs201 sysfs_acpm_stats:dir r_dir_perms;
|
||||
allow dump_power_gs201 sysfs_acpm_stats:file r_file_perms;
|
||||
allow dump_power_gs201 sysfs_cpu:file r_file_perms;
|
||||
allow dump_power_gs201 vendor_toolbox_exec:file execute_no_trans;
|
||||
allow dump_power_gs201 logbuffer_device:chr_file r_file_perms;
|
||||
allow dump_power_gs201 mitigation_vendor_data_file:dir r_dir_perms;
|
||||
allow dump_power_gs201 sysfs:dir r_dir_perms;
|
||||
allow dump_power_gs201 sysfs_batteryinfo:dir r_dir_perms;
|
||||
allow dump_power_gs201 sysfs_batteryinfo:file r_file_perms;
|
||||
allow dump_power_gs201 sysfs_bcl:dir r_dir_perms;
|
||||
allow dump_power_gs201 sysfs_bcl:file r_file_perms;
|
||||
allow dump_power_gs201 sysfs_wlc:dir r_dir_perms;
|
||||
allow dump_power_gs201 sysfs_wlc:file r_file_perms;
|
||||
allow dump_power_gs201 battery_history_device:chr_file r_file_perms;
|
||||
allow dump_power_gs201 mitigation_vendor_data_file:file r_file_perms;
|
||||
|
||||
userdebug_or_eng(`
|
||||
allow dump_power_gs201 debugfs:dir r_dir_perms;
|
||||
allow dump_power_gs201 vendor_battery_debugfs:dir r_dir_perms;
|
||||
allow dump_power_gs201 vendor_battery_debugfs:file r_file_perms;
|
||||
allow dump_power_gs201 vendor_charger_debugfs:dir r_dir_perms;
|
||||
allow dump_power_gs201 vendor_charger_debugfs:file r_file_perms;
|
||||
allow dump_power_gs201 vendor_pm_genpd_debugfs:file r_file_perms;
|
||||
allow dump_power_gs201 vendor_maxfg_debugfs:dir r_dir_perms;
|
||||
allow dump_power_gs201 vendor_maxfg_debugfs:file r_file_perms;
|
||||
allow dump_power_gs201 vendor_votable_debugfs:dir r_dir_perms;
|
||||
allow dump_power_gs201 vendor_votable_debugfs:file r_file_perms;
|
||||
')
|
||||
@@ -93,6 +93,3 @@ type sysfs_usbc_throttling_stats, sysfs_type, fs_type;
|
||||
|
||||
# WLC
|
||||
type sysfs_wlc, sysfs_type, fs_type;
|
||||
|
||||
# /system_ext/bin/convert_to_ext4.sh
|
||||
type convert-to-ext4-sh_exec, system_file_type, exec_type, file_type;
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
# Binaries
|
||||
/vendor/bin/dmd u:object_r:dmd_exec:s0
|
||||
/vendor/bin/modem_logging_control u:object_r:modem_logging_control_exec:s0
|
||||
/vendor/bin/sced u:object_r:sced_exec:s0
|
||||
/vendor/bin/vcd u:object_r:vcd_exec:s0
|
||||
/vendor/bin/chre u:object_r:chre_exec:s0
|
||||
/vendor/bin/cbd u:object_r:cbd_exec:s0
|
||||
/vendor/bin/modem_svc_sit u:object_r:modem_svc_sit_exec:s0
|
||||
/vendor/bin/rfsd u:object_r:rfsd_exec:s0
|
||||
/vendor/bin/bipchmgr u:object_r:bipchmgr_exec:s0
|
||||
/vendor/bin/storageproxyd u:object_r:tee_exec:s0
|
||||
@@ -13,7 +15,6 @@
|
||||
/vendor/bin/trusty_apploader u:object_r:trusty_apploader_exec:s0
|
||||
/vendor/bin/trusty_metricsd u:object_r:trusty_metricsd_exec:s0
|
||||
/vendor/bin/dumpsys u:object_r:vendor_dumpsys:s0
|
||||
/vendor/bin/dump/dump_power u:object_r:dump_power_exec:s0
|
||||
/vendor/bin/init\.uwb\.calib\.sh u:object_r:vendor_uwb_init_exec:s0
|
||||
/vendor/bin/hw/android\.hardware\.gatekeeper@1\.0-service\.trusty u:object_r:hal_gatekeeper_default_exec:s0
|
||||
/vendor/bin/hw/android\.hardware\.gatekeeper-service\.trusty u:object_r:hal_gatekeeper_default_exec:s0
|
||||
@@ -40,6 +41,8 @@
|
||||
/vendor/bin/hw/android\.hardware\.memtrack-service\.pixel u:object_r:hal_memtrack_default_exec:s0
|
||||
/system_ext/bin/convert_to_ext4\.sh u:object_r:convert-to-ext4-sh_exec:s0
|
||||
/vendor/bin/hw/disable_contaminant_detection\.sh u:object_r:disable-contaminant-detection-sh_exec:s0
|
||||
/vendor/bin/dump/dump_power_gs201\.sh u:object_r:dump_power_gs201_exec:s0
|
||||
/vendor/bin/ufs_firmware_update\.sh u:object_r:ufs_firmware_update_exec:s0
|
||||
/vendor/bin/init\.check_ap_pd_auth\.sh u:object_r:init-check_ap_pd_auth-sh_exec:s0
|
||||
|
||||
# Vendor Firmwares
|
||||
@@ -58,7 +61,6 @@
|
||||
/vendor/lib(64)?/libGralloc4Wrapper\.so u:object_r:same_process_hal_file:s0
|
||||
/vendor/lib(64)?/pixel-power-ext-V1-ndk\.so u:object_r:same_process_hal_file:s0
|
||||
/vendor/lib(64)?/android\.frameworks\.stats-V1-ndk\.so u:object_r:same_process_hal_file:s0
|
||||
/vendor/lib(64)?/android\.frameworks\.stats-V2-ndk\.so u:object_r:same_process_hal_file:s0
|
||||
/vendor/lib(64)?/vendor-pixelatoms-cpp\.so u:object_r:same_process_hal_file:s0
|
||||
/vendor/lib(64)?/libprotobuf-cpp-lite-(\d+\.){2,3}so u:object_r:same_process_hal_file:s0
|
||||
|
||||
@@ -81,8 +83,7 @@
|
||||
/dev/janeiro u:object_r:edgetpu_device:s0
|
||||
/dev/bigocean u:object_r:video_device:s0
|
||||
/dev/goodix_fp u:object_r:fingerprint_device:s0
|
||||
/dev/fth_fd u:object_r:fingerprint_device:s0
|
||||
/dev/ispolin_ranging u:object_r:rls_device:s0
|
||||
/dev/stmvl53l1_ranging u:object_r:rls_device:s0
|
||||
/dev/watchdog0 u:object_r:watchdog_device:s0
|
||||
/dev/mali0 u:object_r:gpu_device:s0
|
||||
/dev/logbuffer_usbpd u:object_r:logbuffer_device:s0
|
||||
@@ -208,7 +209,6 @@
|
||||
/dev/maxfg_history u:object_r:battery_history_device:s0
|
||||
/dev/battery_history u:object_r:battery_history_device:s0
|
||||
/data/vendor/powerstats(/.*)? u:object_r:powerstats_vendor_data_file:s0
|
||||
/data/vendor/fingerprint(/.*)? u:object_r:fingerprint_vendor_data_file:s0
|
||||
|
||||
# Persist
|
||||
/mnt/vendor/persist/battery(/.*)? u:object_r:persist_battery_file:s0
|
||||
|
||||
@@ -33,7 +33,6 @@ genfscon sysfs /devices/platform/28000000.mali/dma_buf_gpu_mem u
|
||||
genfscon sysfs /devices/platform/28000000.mali/total_gpu_mem u:object_r:sysfs_gpu:s0
|
||||
genfscon sysfs /devices/platform/28000000.mali/kprcs u:object_r:sysfs_gpu:s0
|
||||
genfscon sysfs /devices/platform/28000000.mali/dvfs_period u:object_r:sysfs_gpu:s0
|
||||
genfscon sysfs /devices/platform/28000000.mali/cur_freq u:object_r:sysfs_gpu:s0
|
||||
|
||||
# Fabric
|
||||
genfscon sysfs /devices/platform/17000010.devfreq_mif/devfreq/17000010.devfreq_mif/min_freq u:object_r:sysfs_fabric:s0
|
||||
@@ -65,55 +64,6 @@ genfscon sysfs /devices/platform/acpm_mfd_bus@18100000/i2c-20/20-001f/s2mpg12-me
|
||||
genfscon sysfs /devices/platform/acpm_mfd_bus@18110000/i2c-21/21-002f/s2mpg13-meter/s2mpg13-odpm/iio:device u:object_r:sysfs_odpm:s0
|
||||
genfscon sysfs /devices/platform/acpm_mfd_bus@18110000/i2c-21/21-002f/s2mpg13-meter/s2mpg13-odpm/wakeup u:object_r:sysfs_wakeup:s0
|
||||
|
||||
genfscon sysfs /devices/platform/acpm_mfd_bus@18100000/i2c-20/20-001f/s2mpg12-meter/s2mpg12-odpm//iio:device0/in_power0_scale u:object_r:sysfs_odpm:s0
|
||||
genfscon sysfs /devices/platform/acpm_mfd_bus@18100000/i2c-20/20-001f/s2mpg12-meter/s2mpg12-odpm//iio:device0/in_power1_scale u:object_r:sysfs_odpm:s0
|
||||
genfscon sysfs /devices/platform/acpm_mfd_bus@18100000/i2c-20/20-001f/s2mpg12-meter/s2mpg12-odpm//iio:device0/in_power2_scale u:object_r:sysfs_odpm:s0
|
||||
genfscon sysfs /devices/platform/acpm_mfd_bus@18100000/i2c-20/20-001f/s2mpg12-meter/s2mpg12-odpm//iio:device0/in_power3_scale u:object_r:sysfs_odpm:s0
|
||||
genfscon sysfs /devices/platform/acpm_mfd_bus@18100000/i2c-20/20-001f/s2mpg12-meter/s2mpg12-odpm//iio:device0/in_power4_scale u:object_r:sysfs_odpm:s0
|
||||
genfscon sysfs /devices/platform/acpm_mfd_bus@18100000/i2c-20/20-001f/s2mpg12-meter/s2mpg12-odpm//iio:device0/in_power5_scale u:object_r:sysfs_odpm:s0
|
||||
genfscon sysfs /devices/platform/acpm_mfd_bus@18100000/i2c-20/20-001f/s2mpg12-meter/s2mpg12-odpm//iio:device0/in_power6_scale u:object_r:sysfs_odpm:s0
|
||||
genfscon sysfs /devices/platform/acpm_mfd_bus@18100000/i2c-20/20-001f/s2mpg12-meter/s2mpg12-odpm//iio:device0/in_power7_scale u:object_r:sysfs_odpm:s0
|
||||
genfscon sysfs /devices/platform/acpm_mfd_bus@18100000/i2c-20/20-001f/s2mpg12-meter/s2mpg12-odpm//iio:device0/in_power8_scale u:object_r:sysfs_odpm:s0
|
||||
genfscon sysfs /devices/platform/acpm_mfd_bus@18100000/i2c-20/20-001f/s2mpg12-meter/s2mpg12-odpm//iio:device0/in_power9_scale u:object_r:sysfs_odpm:s0
|
||||
genfscon sysfs /devices/platform/acpm_mfd_bus@18100000/i2c-20/20-001f/s2mpg12-meter/s2mpg12-odpm//iio:device0/in_power10_scale u:object_r:sysfs_odpm:s0
|
||||
genfscon sysfs /devices/platform/acpm_mfd_bus@18100000/i2c-20/20-001f/s2mpg12-meter/s2mpg12-odpm//iio:device0/in_power11_scale u:object_r:sysfs_odpm:s0
|
||||
genfscon sysfs /devices/platform/acpm_mfd_bus@18110000/i2c-21/21-002f/s2mpg13-meter/s2mpg13-odpm/iio:device1/in_power0_scale u:object_r:sysfs_odpm:s0
|
||||
genfscon sysfs /devices/platform/acpm_mfd_bus@18110000/i2c-21/21-002f/s2mpg13-meter/s2mpg13-odpm/iio:device1/in_power1_scale u:object_r:sysfs_odpm:s0
|
||||
genfscon sysfs /devices/platform/acpm_mfd_bus@18110000/i2c-21/21-002f/s2mpg13-meter/s2mpg13-odpm/iio:device1/in_power2_scale u:object_r:sysfs_odpm:s0
|
||||
genfscon sysfs /devices/platform/acpm_mfd_bus@18110000/i2c-21/21-002f/s2mpg13-meter/s2mpg13-odpm/iio:device1/in_power3_scale u:object_r:sysfs_odpm:s0
|
||||
genfscon sysfs /devices/platform/acpm_mfd_bus@18110000/i2c-21/21-002f/s2mpg13-meter/s2mpg13-odpm/iio:device1/in_power4_scale u:object_r:sysfs_odpm:s0
|
||||
genfscon sysfs /devices/platform/acpm_mfd_bus@18110000/i2c-21/21-002f/s2mpg13-meter/s2mpg13-odpm/iio:device1/in_power5_scale u:object_r:sysfs_odpm:s0
|
||||
genfscon sysfs /devices/platform/acpm_mfd_bus@18110000/i2c-21/21-002f/s2mpg13-meter/s2mpg13-odpm/iio:device1/in_power6_scale u:object_r:sysfs_odpm:s0
|
||||
genfscon sysfs /devices/platform/acpm_mfd_bus@18110000/i2c-21/21-002f/s2mpg13-meter/s2mpg13-odpm/iio:device1/in_power7_scale u:object_r:sysfs_odpm:s0
|
||||
genfscon sysfs /devices/platform/acpm_mfd_bus@18110000/i2c-21/21-002f/s2mpg13-meter/s2mpg13-odpm/iio:device1/in_power8_scale u:object_r:sysfs_odpm:s0
|
||||
genfscon sysfs /devices/platform/acpm_mfd_bus@18110000/i2c-21/21-002f/s2mpg13-meter/s2mpg13-odpm/iio:device1/in_power9_scale u:object_r:sysfs_odpm:s0
|
||||
genfscon sysfs /devices/platform/acpm_mfd_bus@18110000/i2c-21/21-002f/s2mpg13-meter/s2mpg13-odpm/iio:device1/in_power10_scale u:object_r:sysfs_odpm:s0
|
||||
genfscon sysfs /devices/platform/acpm_mfd_bus@18110000/i2c-21/21-002f/s2mpg13-meter/s2mpg13-odpm/iio:device1/in_power11_scale u:object_r:sysfs_odpm:s0
|
||||
genfscon sysfs /devices/platform/acpm_mfd_bus@18100000/i2c-20/20-001f/s2mpg12-meter/s2mpg12-odpm//iio:device0/in_current0_scale u:object_r:sysfs_odpm:s0
|
||||
genfscon sysfs /devices/platform/acpm_mfd_bus@18100000/i2c-20/20-001f/s2mpg12-meter/s2mpg12-odpm//iio:device0/in_current1_scale u:object_r:sysfs_odpm:s0
|
||||
genfscon sysfs /devices/platform/acpm_mfd_bus@18100000/i2c-20/20-001f/s2mpg12-meter/s2mpg12-odpm//iio:device0/in_current2_scale u:object_r:sysfs_odpm:s0
|
||||
genfscon sysfs /devices/platform/acpm_mfd_bus@18100000/i2c-20/20-001f/s2mpg12-meter/s2mpg12-odpm//iio:device0/in_current3_scale u:object_r:sysfs_odpm:s0
|
||||
genfscon sysfs /devices/platform/acpm_mfd_bus@18100000/i2c-20/20-001f/s2mpg12-meter/s2mpg12-odpm//iio:device0/in_current4_scale u:object_r:sysfs_odpm:s0
|
||||
genfscon sysfs /devices/platform/acpm_mfd_bus@18100000/i2c-20/20-001f/s2mpg12-meter/s2mpg12-odpm//iio:device0/in_current5_scale u:object_r:sysfs_odpm:s0
|
||||
genfscon sysfs /devices/platform/acpm_mfd_bus@18100000/i2c-20/20-001f/s2mpg12-meter/s2mpg12-odpm//iio:device0/in_current6_scale u:object_r:sysfs_odpm:s0
|
||||
genfscon sysfs /devices/platform/acpm_mfd_bus@18100000/i2c-20/20-001f/s2mpg12-meter/s2mpg12-odpm//iio:device0/in_current7_scale u:object_r:sysfs_odpm:s0
|
||||
genfscon sysfs /devices/platform/acpm_mfd_bus@18100000/i2c-20/20-001f/s2mpg12-meter/s2mpg12-odpm//iio:device0/in_current8_scale u:object_r:sysfs_odpm:s0
|
||||
genfscon sysfs /devices/platform/acpm_mfd_bus@18100000/i2c-20/20-001f/s2mpg12-meter/s2mpg12-odpm//iio:device0/in_current9_scale u:object_r:sysfs_odpm:s0
|
||||
genfscon sysfs /devices/platform/acpm_mfd_bus@18100000/i2c-20/20-001f/s2mpg12-meter/s2mpg12-odpm//iio:device0/in_current10_scale u:object_r:sysfs_odpm:s0
|
||||
genfscon sysfs /devices/platform/acpm_mfd_bus@18100000/i2c-20/20-001f/s2mpg12-meter/s2mpg12-odpm//iio:device0/in_current11_scale u:object_r:sysfs_odpm:s0
|
||||
genfscon sysfs /devices/platform/acpm_mfd_bus@18110000/i2c-21/21-002f/s2mpg13-meter/s2mpg13-odpm/iio:device1/in_current0_scale u:object_r:sysfs_odpm:s0
|
||||
genfscon sysfs /devices/platform/acpm_mfd_bus@18110000/i2c-21/21-002f/s2mpg13-meter/s2mpg13-odpm/iio:device1/in_current1_scale u:object_r:sysfs_odpm:s0
|
||||
genfscon sysfs /devices/platform/acpm_mfd_bus@18110000/i2c-21/21-002f/s2mpg13-meter/s2mpg13-odpm/iio:device1/in_current2_scale u:object_r:sysfs_odpm:s0
|
||||
genfscon sysfs /devices/platform/acpm_mfd_bus@18110000/i2c-21/21-002f/s2mpg13-meter/s2mpg13-odpm/iio:device1/in_current3_scale u:object_r:sysfs_odpm:s0
|
||||
genfscon sysfs /devices/platform/acpm_mfd_bus@18110000/i2c-21/21-002f/s2mpg13-meter/s2mpg13-odpm/iio:device1/in_current4_scale u:object_r:sysfs_odpm:s0
|
||||
genfscon sysfs /devices/platform/acpm_mfd_bus@18110000/i2c-21/21-002f/s2mpg13-meter/s2mpg13-odpm/iio:device1/in_current5_scale u:object_r:sysfs_odpm:s0
|
||||
genfscon sysfs /devices/platform/acpm_mfd_bus@18110000/i2c-21/21-002f/s2mpg13-meter/s2mpg13-odpm/iio:device1/in_current6_scale u:object_r:sysfs_odpm:s0
|
||||
genfscon sysfs /devices/platform/acpm_mfd_bus@18110000/i2c-21/21-002f/s2mpg13-meter/s2mpg13-odpm/iio:device1/in_current7_scale u:object_r:sysfs_odpm:s0
|
||||
genfscon sysfs /devices/platform/acpm_mfd_bus@18110000/i2c-21/21-002f/s2mpg13-meter/s2mpg13-odpm/iio:device1/in_current8_scale u:object_r:sysfs_odpm:s0
|
||||
genfscon sysfs /devices/platform/acpm_mfd_bus@18110000/i2c-21/21-002f/s2mpg13-meter/s2mpg13-odpm/iio:device1/in_current9_scale u:object_r:sysfs_odpm:s0
|
||||
genfscon sysfs /devices/platform/acpm_mfd_bus@18110000/i2c-21/21-002f/s2mpg13-meter/s2mpg13-odpm/iio:device1/in_current10_scale u:object_r:sysfs_odpm:s0
|
||||
genfscon sysfs /devices/platform/acpm_mfd_bus@18110000/i2c-21/21-002f/s2mpg13-meter/s2mpg13-odpm/iio:device1/in_current11_scale u:object_r:sysfs_odpm:s0
|
||||
|
||||
# Devfreq current frequency
|
||||
genfscon sysfs /devices/platform/17000010.devfreq_mif/devfreq/17000010.devfreq_mif/cur_freq u:object_r:sysfs_devfreq_cur:s0
|
||||
genfscon sysfs /devices/platform/17000020.devfreq_int/devfreq/17000020.devfreq_int/cur_freq u:object_r:sysfs_devfreq_cur:s0
|
||||
@@ -152,16 +102,12 @@ genfscon sysfs /devices/platform/1c2c0000.drmdsim/1c2c0000.drmdsim.0/panel_extin
|
||||
genfscon sysfs /devices/platform/1c2c0000.drmdsim/1c2c0000.drmdsim.0/panel_name u:object_r:sysfs_display:s0
|
||||
genfscon sysfs /devices/platform/1c2c0000.drmdsim/1c2c0000.drmdsim.0/serial_number u:object_r:sysfs_display:s0
|
||||
genfscon sysfs /devices/platform/1c2c0000.drmdsim/1c2c0000.drmdsim.0/refresh_rate u:object_r:sysfs_display:s0
|
||||
genfscon sysfs /devices/platform/1c2c0000.drmdsim/1c2c0000.drmdsim.0/panel_pwr_vreg u:object_r:sysfs_display:s0
|
||||
genfscon sysfs /devices/platform/1c2c0000.drmdsim/1c2c0000.drmdsim.0/power_mode u:object_r:sysfs_display:s0
|
||||
genfscon sysfs /devices/platform/1c2c0000.drmdsim/1c2c0000.drmdsim.0/power_state u:object_r:sysfs_display:s0
|
||||
|
||||
genfscon sysfs /devices/platform/1c2d0000.drmdsim/1c2d0000.drmdsim.0/backlight u:object_r:sysfs_leds:s0
|
||||
genfscon sysfs /devices/platform/1c2d0000.drmdsim/1c2d0000.drmdsim.0/panel_extinfo u:object_r:sysfs_display:s0
|
||||
genfscon sysfs /devices/platform/1c2d0000.drmdsim/1c2d0000.drmdsim.0/panel_name u:object_r:sysfs_display:s0
|
||||
genfscon sysfs /devices/platform/1c2d0000.drmdsim/1c2d0000.drmdsim.0/serial_number u:object_r:sysfs_display:s0
|
||||
genfscon sysfs /devices/platform/1c2d0000.drmdsim/1c2d0000.drmdsim.0/refresh_rate u:object_r:sysfs_display:s0
|
||||
genfscon sysfs /devices/platform/1c2d0000.drmdsim/1c2d0000.drmdsim.0/power_state u:object_r:sysfs_display:s0
|
||||
|
||||
genfscon sysfs /devices/platform/1c240000.drmdecon/dqe0/atc u:object_r:sysfs_display:s0
|
||||
genfscon sysfs /devices/platform/1c241000.drmdecon/dqe1/atc u:object_r:sysfs_display:s0
|
||||
@@ -212,10 +158,6 @@ genfscon sysfs /devices/platform/google,battery/power_supply/battery
|
||||
genfscon sysfs /devices/platform/google,cpm u:object_r:sysfs_batteryinfo:s0
|
||||
genfscon sysfs /devices/platform/google,charger u:object_r:sysfs_batteryinfo:s0
|
||||
genfscon sysfs /devices/platform/10d60000.hsi2c u:object_r:sysfs_batteryinfo:s0
|
||||
genfscon sysfs /class/power_supply/wireless/device/version u:object_r:sysfs_batteryinfo:s0
|
||||
genfscon sysfs /class/power_supply/wireless/device/status u:object_r:sysfs_batteryinfo:s0
|
||||
genfscon sysfs /class/power_supply/wireless/device/fw_rev u:object_r:sysfs_batteryinfo:s0
|
||||
|
||||
genfscon sysfs /devices/pseudo_0/adapter0/host1/target1:0:0/1:0:0:0/block/sde u:object_r:sysfs_devices_block:s0
|
||||
|
||||
# P22 battery
|
||||
@@ -279,9 +221,6 @@ genfscon sysfs /devices/platform/odm/odm:btbcm/wakeup
|
||||
genfscon sysfs /devices/platform/sound-aoc/wakeup u:object_r:sysfs_wakeup:s0
|
||||
genfscon sysfs /devices/platform/1c2c0000.drmdsim/1c2c0000.drmdsim.0/wakeup u:object_r:sysfs_wakeup:s0
|
||||
genfscon sysfs /devices/platform/1c2d0000.drmdsim/1c2d0000.drmdsim.0/wakeup u:object_r:sysfs_wakeup:s0
|
||||
genfscon sysfs /devices/platform/odm/odm:fps_touch_handler/power/wakeup u:object_r:sysfs_wakeup:s0
|
||||
genfscon sysfs /devices/platform/odm/odm:fps_touch_handler/wakeup u:object_r:sysfs_wakeup:s0
|
||||
|
||||
|
||||
#SecureElement
|
||||
genfscon sysfs /devices/platform/181c0000.spi/spi_master/spi17/spi17.0/st33spi u:object_r:sysfs_st33spi:s0
|
||||
@@ -360,6 +299,3 @@ genfscon sysfs /devices/platform/10940000.spi/spi_master/spi5/spi5.0/nstandby
|
||||
|
||||
# WLC
|
||||
genfscon sysfs /devices/platform/10da0000.hsi2c/i2c-15/15-003c u:object_r:sysfs_wlc:s0
|
||||
|
||||
# USB
|
||||
genfscon sysfs /devices/platform/11210000.usb/11210000.dwc3/udc/11210000.dwc3/state u:object_r:sysfs_udc:s0
|
||||
|
||||
@@ -8,6 +8,3 @@ allow google_camera_app vendor_fw_file:dir search;
|
||||
# Allows GCA to find and access the EdgeTPU.
|
||||
allow google_camera_app edgetpu_app_service:service_manager find;
|
||||
allow google_camera_app edgetpu_device:chr_file { getattr read write ioctl map };
|
||||
|
||||
# Allows tachyon service to communicate with google_camera_app via binder.
|
||||
binder_call(edgetpu_tachyon_server, google_camera_app);
|
||||
|
||||
@@ -88,7 +88,6 @@ allow hal_camera_default sysfs_devfreq_cur:file r_file_perms;
|
||||
# Allow camera HAL to read backlight of display
|
||||
allow hal_camera_default sysfs_leds:dir r_dir_perms;
|
||||
allow hal_camera_default sysfs_leds:file r_file_perms;
|
||||
allow hal_camera_default sysfs_display:file r_file_perms;
|
||||
|
||||
# Allow camera HAL to send trace packets to Perfetto
|
||||
userdebug_or_eng(`perfetto_producer(hal_camera_default)')
|
||||
|
||||
@@ -4,7 +4,6 @@ init_daemon_domain(hal_radioext_default)
|
||||
|
||||
hwbinder_use(hal_radioext_default)
|
||||
get_prop(hal_radioext_default, hwservicemanager_prop)
|
||||
set_prop(hal_radioext_default, vendor_gril_prop)
|
||||
add_hwservice(hal_radioext_default, hal_radioext_hwservice)
|
||||
|
||||
binder_call(hal_radioext_default, grilservice_app)
|
||||
|
||||
@@ -33,4 +33,3 @@ allow hal_usb_impl usb_device:dir r_dir_perms;
|
||||
# For monitoring usb sysfs attributes
|
||||
allow hal_usb_impl sysfs_wakeup:dir search;
|
||||
allow hal_usb_impl sysfs_wakeup:file r_file_perms;
|
||||
allow hal_usb_impl sysfs_udc:file r_file_perms;
|
||||
|
||||
@@ -8,5 +8,3 @@ allow init-display-sh vendor_toolbox_exec:file execute_no_trans;
|
||||
|
||||
dontaudit init-display-sh proc_cmdline:file r_file_perms;
|
||||
|
||||
# Allow modprobe to log to kmsg.
|
||||
allow init-display-sh kmsg_device:chr_file w_file_perms;
|
||||
|
||||
@@ -19,14 +19,3 @@ allow init sysfs_scsi_devices_0000:file w_file_perms;
|
||||
# Workaround for b/193113005 that modem_img unlabeled after disable-verity
|
||||
dontaudit init overlayfs_file:file rename;
|
||||
dontaudit init overlayfs_file:chr_file unlink;
|
||||
|
||||
# /system_ext/bin/convert_to_ext4.sh is a script to convert an f2fs
|
||||
# filesystem into an ext4 filesystem. This script is executed on
|
||||
# debuggable devices only. As it is a one-shot script which
|
||||
# has run in permissive mode since 2022, we transition to the
|
||||
# su domain to avoid unnecessarily polluting security policy
|
||||
# with rules which are never enforced.
|
||||
# This script was added in b/239632964
|
||||
userdebug_or_eng(`
|
||||
domain_auto_trans(init, convert-to-ext4-sh_exec, su)
|
||||
')
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
allow kernel vendor_fw_file:dir r_dir_perms;
|
||||
allow kernel vendor_fw_file:dir search;
|
||||
allow kernel vendor_fw_file:file r_file_perms;
|
||||
|
||||
# ZRam
|
||||
@@ -8,11 +8,9 @@ allow kernel per_boot_file:file r_file_perms;
|
||||
allow kernel self:capability2 perfmon;
|
||||
allow kernel self:perf_event cpu;
|
||||
|
||||
userdebug_or_eng(`
|
||||
allow kernel vendor_battery_debugfs:dir search;
|
||||
allow kernel vendor_regmap_debugfs:dir search;
|
||||
allow kernel vendor_usb_debugfs:dir search;
|
||||
allow kernel vendor_votable_debugfs:dir search;
|
||||
allow kernel vendor_charger_debugfs:dir search;
|
||||
allow kernel vendor_maxfg_debugfs:dir search;
|
||||
')
|
||||
dontaudit kernel vendor_battery_debugfs:dir search;
|
||||
dontaudit kernel vendor_maxfg_debugfs:dir { search };
|
||||
dontaudit kernel vendor_regmap_debugfs:dir search;
|
||||
dontaudit kernel vendor_votable_debugfs:dir search;
|
||||
dontaudit kernel vendor_usb_debugfs:dir search;
|
||||
dontaudit kernel vendor_charger_debugfs:dir search;
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
# Selinux rule for modem_svc_sit daemon
|
||||
type modem_svc_sit, domain;
|
||||
type modem_svc_sit_exec, vendor_file_type, exec_type, file_type;
|
||||
init_daemon_domain(modem_svc_sit)
|
||||
@@ -21,7 +20,7 @@ allow modem_svc_sit modem_stat_data_file:file create_file_perms;
|
||||
allow modem_svc_sit vendor_fw_file:dir search;
|
||||
allow modem_svc_sit vendor_fw_file:file r_file_perms;
|
||||
|
||||
allow modem_svc_sit mnt_vendor_file:dir r_dir_perms;
|
||||
allow modem_svc_sit mnt_vendor_file:dir search;
|
||||
allow modem_svc_sit modem_userdata_file:dir create_dir_perms;
|
||||
allow modem_svc_sit modem_userdata_file:file create_file_perms;
|
||||
|
||||
@@ -41,15 +40,3 @@ get_prop(modem_svc_sit, vendor_logger_prop)
|
||||
userdebug_or_eng(`
|
||||
allow modem_svc_sit radio_test_device:chr_file rw_file_perms;
|
||||
')
|
||||
|
||||
# Write trace data to the Perfetto traced daemon. This requires connecting to
|
||||
# its producer socket and obtaining a (per-process) tmpfs fd.
|
||||
perfetto_producer(modem_svc_sit)
|
||||
|
||||
# Allow modem_svc_sit to access modem image file/dir
|
||||
allow modem_svc_sit modem_img_file:dir r_dir_perms;
|
||||
allow modem_svc_sit modem_img_file:file r_file_perms;
|
||||
allow modem_svc_sit modem_img_file:lnk_file r_file_perms;
|
||||
|
||||
# Allow modem_svc_sit to access socket for UMI
|
||||
allow modem_svc_sit radio_vendor_data_file:sock_file { create unlink write };
|
||||
|
||||
@@ -19,7 +19,6 @@ allow pixelstats_vendor fwk_sensor_service:service_manager find;
|
||||
|
||||
# Batery history
|
||||
allow pixelstats_vendor battery_history_device:chr_file r_file_perms;
|
||||
allow pixelstats_vendor logbuffer_device:chr_file r_file_perms;
|
||||
|
||||
# storage smart idle maintenance
|
||||
get_prop(pixelstats_vendor, smart_idle_maint_enabled_prop);
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user