From 9422979f9cda13bcb475b46591fbdf086838b27c Mon Sep 17 00:00:00 2001 From: chaptsand Date: Thu, 4 May 2023 16:37:45 +0800 Subject: [PATCH] sm8550-common: Import Samsung specific init scripts from S9160ZHU1AWCA Change-Id: I210ba149729bac8bc84020347c734be3c8d0d2a7 --- common.mk | 8 + init/Android.bp | 42 +++ init/init.samsung.bsp.rc | 112 +++++++ init/init.samsung.connector.rc | 8 + init/init.samsung.display.rc | 525 +++++++++++++++++++++++++++++++++ init/init.samsung.dp.rc | 74 +++++ init/init.samsung.power.rc | 98 ++++++ init/init.samsung.rc | 131 ++++++++ init/init.target.rc | 4 + 9 files changed, 1002 insertions(+) create mode 100644 init/init.samsung.bsp.rc create mode 100644 init/init.samsung.connector.rc create mode 100644 init/init.samsung.display.rc create mode 100644 init/init.samsung.dp.rc create mode 100644 init/init.samsung.power.rc create mode 100644 init/init.samsung.rc diff --git a/common.mk b/common.mk index 989709f..ee5d172 100644 --- a/common.mk +++ b/common.mk @@ -49,5 +49,13 @@ PRODUCT_PACKAGES += \ ueventd-odm.rc \ ueventd.qcom.rc +PRODUCT_PACKAGES += \ + init.samsung.bsp.rc \ + init.samsung.connector.rc \ + init.samsung.display.rc \ + init.samsung.dp.rc \ + init.samsung.power.rc \ + init.samsung.rc + # Partitions PRODUCT_USE_DYNAMIC_PARTITIONS := true diff --git a/init/Android.bp b/init/Android.bp index faaf6a7..3e539b7 100644 --- a/init/Android.bp +++ b/init/Android.bp @@ -23,6 +23,48 @@ prebuilt_etc { recovery: true, } +prebuilt_etc { + name: "init.samsung.bsp.rc", + src: "init.samsung.bsp.rc", + sub_dir: "init/hw", + vendor: true, +} + +prebuilt_etc { + name: "init.samsung.connector.rc", + src: "init.samsung.connector.rc", + sub_dir: "init/hw", + vendor: true, +} + +prebuilt_etc { + name: "init.samsung.display.rc", + src: "init.samsung.display.rc", + sub_dir: "init/hw", + vendor: true, +} + +prebuilt_etc { + name: "init.samsung.dp.rc", + src: "init.samsung.dp.rc", + sub_dir: "init/hw", + vendor: true, +} + +prebuilt_etc { + name: "init.samsung.power.rc", + src: "init.samsung.power.rc", + sub_dir: "init/hw", + vendor: true, +} + +prebuilt_etc { + name: "init.samsung.rc", + src: "init.samsung.rc", + sub_dir: "init/hw", + vendor: true, +} + prebuilt_etc { name: "init.target.rc", src: "init.target.rc", diff --git a/init/init.samsung.bsp.rc b/init/init.samsung.bsp.rc new file mode 100644 index 0000000..7f2004d --- /dev/null +++ b/init/init.samsung.bsp.rc @@ -0,0 +1,112 @@ + +# Copyright (c) 2019-2022, The Linux Foundation. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following +# disclaimer in the documentation and/or other materials provided +# with the distribution. +# * Neither the name of The Linux Foundation nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS +# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# + +on early-init + # sec_debug.ko - 1st stage + chown system system /sys/module/sec_debug/parameters/dump_sink + chmod 0640 /sys/module/sec_debug/parameters/dump_sink + chown system system /sys/module/sec_debug/parameters/reboot_multicmd + chmod 0400 /sys/module/sec_debug/parameters/reboot_multicmd + +on init + symlink /dev/block/bootdevice/by-name/param /dev/block/param + +on late-init + # sec_qc_user_reset.ko + chown system system /proc/auto_comment + chmod 0400 /proc/auto_comment + chown system system /proc/reset_history + chmod 0400 /proc/reset_history + chown system system /proc/reset_klog + chmod 0400 /proc/reset_klog + chown system system /proc/reset_reason + chmod 0440 /proc/reset_reason + chown system system /proc/reset_rwc + chmod 0440 /proc/reset_rwc + chown system system /proc/reset_summary + chmod 0400 /proc/reset_summary + chown system system /proc/reset_tzlog + chmod 0400 /proc/reset_tzlog + chown system system /proc/store_lastkmsg + chmod 0440 /proc/store_lastkmsg + chown system system /sys/class/sec/sec_debug/recovery_cause + chmod 0660 /sys/class/sec/sec_debug/recovery_cause + + # sec_qc_hw_param.ko + chown system system /proc/extra + chmod 0440 /proc/extra + chown system system /sys/class/sec/sec_hw_param/ap_health + chmod 0600 /sys/class/sec/sec_hw_param/ap_health + chown system system /sys/class/sec/sec_hw_param/ap_info + chmod 0400 /sys/class/sec/sec_hw_param/ap_info + chown system system /sys/class/sec/sec_hw_param/ddr_info + chmod 0400 /sys/class/sec/sec_hw_param/ddr_info + chown system system /sys/class/sec/sec_hw_param/extra_info + chmod 0400 /sys/class/sec/sec_hw_param/extra_info + chown system system /sys/class/sec/sec_hw_param/extrb_info + chmod 0400 /sys/class/sec/sec_hw_param/extrb_info + chown system system /sys/class/sec/sec_hw_param/extrc_info + chmod 0400 /sys/class/sec/sec_hw_param/extrc_info + chown system system /sys/class/sec/sec_hw_param/extrm_info + chmod 0400 /sys/class/sec/sec_hw_param/extrm_info + chown system system /sys/class/sec/sec_hw_param/extrt_info + chmod 0400 /sys/class/sec/sec_hw_param/extrt_info + chown system system /sys/class/sec/sec_hw_param/eye_rd_info + chmod 0400 /sys/class/sec/sec_hw_param/eye_rd_info + chown system system /sys/class/sec/sec_hw_param/last_dcvs + chmod 0400 /sys/class/sec/sec_hw_param/last_dcvs + + # sec_qc_rdx_bootdev.ko + chown system system /proc/rdx_bootdev + chmod 0220 /proc/rdx_bootdev + +on post-fs + +on late-fs + +on post-fs-data + +on boot + # PCIe + chown radio system /sys/class/sec/pcie-wifi/pcie_l1ss_ctrl + + # Permissions for FMM + chown system system /sys/class/sec/sec_debug/FMM_lock + chmod 0660 /sys/class/sec/sec_debug/FMM_lock + + # sec_reloc_gpio.ko - factory mode only + chown root system /sys/class/sec/gpio/check_requested_gpio + chmod 0664 /sys/class/sec/gpio/check_requested_gpio + +on shutdown + +# service definition + +# on property triggers diff --git a/init/init.samsung.connector.rc b/init/init.samsung.connector.rc new file mode 100644 index 0000000..ded57a8 --- /dev/null +++ b/init/init.samsung.connector.rc @@ -0,0 +1,8 @@ +on late-init + # Permissions for sec_abc_detect_conn.ko + chown system system /sys/class/sec/sec_detect_conn/connector_state + chmod 0440 /sys/class/sec/sec_detect_conn/connector_state + chown system system /sys/class/sec/sec_detect_conn/connector_count + chmod 0440 /sys/class/sec/sec_detect_conn/connector_count + chown system system /sys/class/sec/sec_detect_conn/connector_disconnected_count + chmod 0600 /sys/class/sec/sec_detect_conn/connector_disconnected_count diff --git a/init/init.samsung.display.rc b/init/init.samsung.display.rc new file mode 100644 index 0000000..da74a08 --- /dev/null +++ b/init/init.samsung.display.rc @@ -0,0 +1,525 @@ +# Copyright (C) 2018 The Android Open Source Project +# +# Display configuration common for all android devices +# + + +on post-fs-data +# Permissions for Display +# Brightness Permission + wait /sys/class/lcd/panel/alpm + chown system system /sys/class/backlight/panel0-backlight/brightness + chmod 0664 /sys/class/backlight/panel0-backlight/brightness + + chown system system /sys/class/backlight/panel1-backlight/brightness + chmod 0664 /sys/class/backlight/panel1-backlight/brightness + + chown system system /sys/class/leds/lcd-backlight/brightness + chmod 0664 /sys/class/leds/lcd-backlight/brightness + +# SSR + chown system system /sys/class/lcd/panel/ssr + chmod 0660 /sys/class/lcd/panel/ssr + + chown system system /sys/class/lcd/panel1/ssr + chmod 0660 /sys/class/lcd/panel1/ssr + +# ECC + chown system system /sys/class/lcd/panel/ecc + chmod 0660 /sys/class/lcd/panel/ecc + + chown system system /sys/class/lcd/panel1/ecc + chmod 0660 /sys/class/lcd/panel1/ecc + +# UDC data + chown system system /sys/class/lcd/panel/udc_data + chmod 0660 /sys/class/lcd/panel/udc_data + + chown system system /sys/class/lcd/panel1/udc_data + chmod 0660 /sys/class/lcd/panel1/udc_data + +# UDC factory data + chown system system /sys/class/lcd/panel/udc_fac + chmod 0660 /sys/class/lcd/panel/udc_fac + + chown system system /sys/class/lcd/panel1/udc_fac + chmod 0660 /sys/class/lcd/panel1/udc_fac + +# HMT + chown system system /sys/class/lcd/panel/hmt_on + chmod 0660 /sys/class/lcd/panel/hmt_on + chown system system /sys/class/lcd/panel/hmt_bright + chmod 0660 /sys/class/lcd/panel/hmt_bright + chown system system /sys/class/mdnie/mdnie/hmt_color_temperature + chmod 0660 /sys/class/mdnie/mdnie/hmt_color_temperature + + chown system system /sys/class/lcd/panel1/hmt_on + chmod 0660 /sys/class/lcd/panel1/hmt_on + chown system system /sys/class/lcd/panel1/hmt_bright + chmod 0660 /sys/class/lcd/panel1/hmt_bright + chown system system /sys/class/mdnie/mdnie1/hmt_color_temperature + chmod 0660 /sys/class/mdnie/mdnie1/hmt_color_temperature + +# mDNIe + chown system system /sys/class/mdnie/mdnie/lcdtype + chown system system /sys/class/mdnie/mdnie/lcd_power + chown system media_rw /sys/class/mdnie/mdnie/scenario + chmod 0660 /sys/class/mdnie/mdnie/scenario + chown system system /sys/class/mdnie/mdnie/tuning + chown system media_rw /sys/class/mdnie/mdnie/outdoor + chown system system /sys/class/mdnie/mdnie/mdnie_temp + chown system media_rw /sys/class/mdnie/mdnie/mode + chown system system /sys/class/mdnie/mdnie/negative + chown system media_rw /sys/class/mdnie/mdnie/playspeed + chown system media_rw /sys/class/mdnie/mdnie/accessibility + chown system system /sys/class/mdnie/mdnie/cabc + chown system system /sys/class/mdnie/mdnie/bypass + chmod 0660 /sys/class/mdnie/mdnie/bypass + chown system media_rw /sys/class/mdnie/mdnie/sensorRGB + chmod 0660 /sys/class/mdnie/mdnie/sensorRGB + chown system media_rw /sys/class/mdnie/mdnie/mdnie_ldu + chmod 0660 /sys/class/mdnie/mdnie/mdnie_ldu + chown system media_rw /sys/class/mdnie/mdnie/night_mode + chmod 0660 /sys/class/mdnie/mdnie/night_mode + chown system system /sys/class/mdnie/mdnie/color_lens + chmod 0660 /sys/class/mdnie/mdnie/color_lens + chown system media_rw /sys/class/mdnie/mdnie/hdr + chmod 0660 /sys/class/mdnie/mdnie/hdr + chown system media_rw /sys/class/mdnie/mdnie/whiteRGB + chmod 0660 /sys/class/mdnie/mdnie/whiteRGB + chown system system /sys/class/mdnie/mdnie/light_notification + chmod 0660 /sys/class/mdnie/mdnie/light_notification + chown system system /sys/class/mdnie/mdnie/afc + chmod 0660 /sys/class/mdnie/mdnie/afc + + chown system system /sys/class/mdnie/mdnie1/lcdtype + chown system system /sys/class/mdnie/mdnie1/lcd_power + chown system media_rw /sys/class/mdnie/mdnie1/scenario + chmod 0660 /sys/class/mdnie/mdnie1/scenario + chown system system /sys/class/mdnie/mdnie1/tuning + chown system media_rw /sys/class/mdnie/mdnie1/outdoor + chown system system /sys/class/mdnie/mdnie1/mdnie_temp + chown system media_rw /sys/class/mdnie/mdnie1/mode + chown system system /sys/class/mdnie/mdnie1/negative + chown system media_rw /sys/class/mdnie/mdnie1/playspeed + chown system media_rw /sys/class/mdnie/mdnie1/accessibility + chown system system /sys/class/mdnie/mdnie1/cabc + chown system system /sys/class/mdnie/mdnie1/bypass + chmod 0660 /sys/class/mdnie/mdnie1/bypass + chown system media_rw /sys/class/mdnie/mdnie1/sensorRGB + chmod 0660 /sys/class/mdnie/mdnie1/sensorRGB + chown system media_rw /sys/class/mdnie/mdnie1/mdnie_ldu + chmod 0660 /sys/class/mdnie/mdnie1/mdnie_ldu + chown system media_rw /sys/class/mdnie/mdnie1/night_mode + chmod 0660 /sys/class/mdnie/mdnie1/night_mode + chown system system /sys/class/mdnie/mdnie1/color_lens + chmod 0660 /sys/class/mdnie/mdnie1/color_lens + chown system media_rw /sys/class/mdnie/mdnie1/hdr + chmod 0660 /sys/class/mdnie/mdnie1/hdr + chown system media_rw /sys/class/mdnie/mdnie1/whiteRGB + chmod 0660 /sys/class/mdnie/mdnie1/whiteRGB + chown system system /sys/class/mdnie/mdnie1/light_notification + chmod 0660 /sys/class/mdnie/mdnie1/light_notification + chown system system /sys/class/mdnie/mdnie1/afc + chmod 0660 /sys/class/mdnie/mdnie1/afc + + mkdir /efs/afc 0700 system system + chmod 700 /efs/afc + mkdir /efs/etc 0700 system system + chmod 700 /efs/etc + +# adaptive control + chown system system /sys/class/lcd/panel/adaptive_control + chmod 0660 /sys/class/lcd/panel/adaptive_control + + chown system system /sys/class/lcd/panel1/adaptive_control + chmod 0660 /sys/class/lcd/panel1/adaptive_control + +# CCB (color waekness) + chown system system /sys/class/backlight/panel/weakness_ccb + chmod 0660 /sys/class/backlight/panel/weakness_ccb + + chown system system /sys/class/backlight/panel1/weakness_ccb + chmod 0660 /sys/class/backlight/panel1/weakness_ccb + +# weakness_hbm_comp (Gallery Max brightness == 2) + chown system system /sys/class/backlight/panel/weakness_hbm_comp + chmod 0660 /sys/class/backlight/panel/weakness_hbm_comp + + chown system system /sys/class/backlight/panel1/weakness_hbm_comp + chmod 0660 /sys/class/backlight/panel1/weakness_hbm_comp + +# AOD(Always On Display) + chown system system /sys/class/lcd/panel/alpm + chmod 0660 /sys/class/lcd/panel/alpm + + chown system system /sys/class/lcd/panel1/alpm + chmod 0660 /sys/class/lcd/panel1/alpm + +# Active Clock in AOD + chown system system /dev/act_clk + chmod 0660 /dev/act_clk + +# Self Display in AOD + chown system system /dev/self_display + chmod 0660 /dev/self_display + + chown system system /dev/self_display1 + chmod 0660 /dev/self_display1 + +# Self Move in IDLE + chown system system /sys/class/lcd/panel/self_move + chmod 0660 /sys/class/lcd/panel/self_move + + chown system system /sys/class/lcd/panel1/self_move + chmod 0660 /sys/class/lcd/panel1/self_move + +# MAFPC + chown system system /dev/mafpc + chmod 0660 /dev/mafpc + + chown system system /dev/mafpc1 + chmod 0660 /dev/mafpc1 + + chown system system /sys/class/lcd/panel/mafpc_check + chmod 0660 /sys/class/lcd/panel/mafpc_check + + chown system system /sys/class/lcd/panel1/mafpc_check + chmod 0660 /sys/class/lcd/panel1/mafpc_check + +# POC + mkdir /efs/etc/poc 0700 system system + chmod 700 /efs/etc/poc + mkdir /cache/poc 0700 system system + chmod 700 /cache/poc + + chown system system /dev/poc + chmod 0660 /dev/poc + + chown system system /sys/class/lcd/panel/poc + chmod 0660 /sys/class/lcd/panel/poc + + chown system system /sys/class/lcd/panel1/poc + chmod 0660 /sys/class/lcd/panel1/poc + +# HMT + chown system system /sys/class/lcd/panel/hmt_on + chmod 0660 /sys/class/lcd/panel/hmt_on + chown system system /sys/class/lcd/panel/hmt_bright + chmod 0660 /sys/class/lcd/panel/hmt_bright + chown system system /sys/class/mdnie/mdnie/hmt_color_temperature + chmod 0660 /sys/class/mdnie/mdnie/hmt_color_temperature + + chown system system /sys/class/lcd/panel1/hmt_on + chmod 0660 /sys/class/lcd/panel1/hmt_on + chown system system /sys/class/lcd/panel1/hmt_bright + chmod 0660 /sys/class/lcd/panel1/hmt_bright + chown system system /sys/class/mdnie/mdnie1/hmt_color_temperature + chmod 0660 /sys/class/mdnie/mdnie1/hmt_color_temperature + + setprop sys.daydream.connected 0 + + # chown system system /sys/class/graphics/fb0/msm_cmd_autorefresh_en + # chmod 0660 /sys/class/graphics/fb0/msm_cmd_autorefresh_en + +# IRC + chown system system /sys/class/lcd/panel/irc_mode + chmod 0660 /sys/class/lcd/panel/irc_mode + + chown system system /sys/class/lcd/panel1/irc_mode + chmod 0660 /sys/class/lcd/panel1/irc_mode + +# MCD_MODE + chown system system /sys/class/lcd/panel/mcd_mode + chmod 0660 /sys/class/lcd/panel/mcd_mode + + chown system system /sys/class/lcd/panel1/mcd_mode + chmod 0660 /sys/class/lcd/panel1/mcd_mode + +# BRIGHTDOT + chown system system /sys/class/lcd/panel/brightdot + chmod 0660 /sys/class/lcd/panel/brightdot + + chown system system /sys/class/lcd/panel1/brightdot + chmod 0660 /sys/class/lcd/panel1/brightdot + +# MCD_RESISTANCE + chown system system /sys/class/lcd/panel/mcd_resistance + chmod 0660 /sys/class/lcd/panel/mcd_resistance + + chown system system /sys/class/lcd/panel1/mcd_resistance + chmod 0660 /sys/class/lcd/panel1/mcd_resistance + +# GAMMA_FLASH + chown system system /sys/class/lcd/panel/gamma_flash + chmod 0660 /sys/class/lcd/panel/gamma_flash + + chown system system /sys/class/lcd/panel1/gamma_flash + chmod 0660 /sys/class/lcd/panel1/gamma_flash + +# GAMMA_CHECK + chown system system /sys/class/lcd/panel/gamma_check + chmod 0660 /sys/class/lcd/panel/gamma_check + + chown system system /sys/class/lcd/panel1/gamma_check + chmod 0660 /sys/class/lcd/panel1/gamma_check + +# X-Talk + chown system system /sys/class/lcd/panel/xtalk_mode + chmod 0660 /sys/class/lcd/panel/xtalk_mode + + chown system system /sys/class/lcd/panel1/xtalk_mode + chmod 0660 /sys/class/lcd/panel1/xtalk_mode + +# MST + chown system system /sys/class/lcd/panel/mst + chmod 0660 /sys/class/lcd/panel/mst + + chown system system /sys/class/lcd/panel1/mst + chmod 0660 /sys/class/lcd/panel1/mst + +# DDI H/W Cursor + chown system system /sys/class/lcd/panel/hw_cursor + chmod 0660 /sys/class/lcd/panel/hw_cursor + + chown system system /sys/class/lcd/panel1/hw_cursor + chmod 0660 /sys/class/lcd/panel1/hw_cursor + +# Gram Checksum Test + chown system system /sys/class/lcd/panel/gct + chmod 0660 /sys/class/lcd/panel/gct + + chown system system /sys/class/lcd/panel1/gct + chmod 0660 /sys/class/lcd/panel1/gct + +# Gray Spot Test + chown system system /sys/class/lcd/panel/grayspot + chmod 0660 /sys/class/lcd/panel/grayspot + + chown system system /sys/class/lcd/panel1/grayspot + chmod 0660 /sys/class/lcd/panel1/grayspot + +# vglhighdot Test + chown system system /sys/class/lcd/panel/vglhighdot + chmod 0660 /sys/class/lcd/panel/vglhighdot + + chown system system /sys/class/lcd/panel1/vglhighdot + chmod 0660 /sys/class/lcd/panel1/vglhighdot + +# POC + chown system system /sys/class/lcd/panel/poc + chmod 0660 /sys/class/lcd/panel/poc + + chown system system /sys/class/lcd/panel1/poc + chmod 0660 /sys/class/lcd/panel1/poc + +# POC_MCA + chown system system /sys/class/lcd/panel/poc_mca + chmod 0440 /sys/class/lcd/panel/poc_mca + + chown system system /sys/class/lcd/panel1/poc_mca + chmod 0440 /sys/class/lcd/panel1/poc_mca + +# POC_INFO + chown system system /sys/class/lcd/panel/poc_info + chmod 0440 /sys/class/lcd/panel/poc_info + + chown system system /sys/class/lcd/panel1/poc_info + chmod 0440 /sys/class/lcd/panel1/poc_info + +# POC OFF + chown system system /sys/class/lcd/panel/poc_onoff + chmod 0660 /sys/class/lcd/panel/poc_onoff + + chown system system /sys/class/lcd/panel1/poc_onoff + chmod 0660 /sys/class/lcd/panel1/poc_onoff + +# IRC OFF + chown system system /sys/class/lcd/panel/irc_onoff + chmod 0660 /sys/class/lcd/panel/irc_onoff + + chown system system /sys/class/lcd/panel1/irc_onoff + chmod 0660 /sys/class/lcd/panel1/irc_onoff + +# ISC Defect Test + chown system system /sys/class/lcd/panel/isc_defect + chmod 0660 /sys/class/lcd/panel/isc_defect + + chown system system /sys/class/lcd/panel1/isc_defect + chmod 0660 /sys/class/lcd/panel1/isc_defect + +# LCD Big Data (DPUI / DPCI) + chown system system /sys/class/lcd/panel/dpui + chown system system /sys/class/lcd/panel/dpui_dbg + chown system system /sys/class/lcd/panel/dpci + chown system system /sys/class/lcd/panel/dpci_dbg + + chown system system /sys/class/lcd/panel1/dpui + chown system system /sys/class/lcd/panel1/dpui_dbg + chown system system /sys/class/lcd/panel1/dpci + chown system system /sys/class/lcd/panel1/dpci_dbg + +# Panel + chown system system /sys/class/lcd/panel/window_type + chown radio system /sys/class/lcd/panel/power_reduce + chown radio system /sys/class/lcd/panel/siop_enable + chown radio system /sys/class/lcd/panel/temperature + chown radio system /sys/class/lcd/panel/tuning + chown radio system /sys/class/lcd/panel/lux + chown radio system /sys/class/lcd/panel/partial_disp + chmod 0660 /sys/class/lcd/panel/partial_disp + chown radio system /sys/class/lcd/panel/cover_control + chmod 0660 /sys/class/lcd/panel/cover_control + chown system system /sys/class/lcd/panel/ldu_correction + chmod 0660 /sys/class/lcd/panel/ldu_correction + chown radio system /sys/class/lcd/panel/force_flip + + chown system system /sys/class/lcd/panel1/window_type + chown radio system /sys/class/lcd/panel1/power_reduce + chown radio system /sys/class/lcd/panel1/siop_enable + chown radio system /sys/class/lcd/panel1/temperature + chown radio system /sys/class/lcd/panel1/tuning + chown radio system /sys/class/lcd/panel1/lux + chown radio system /sys/class/lcd/panel1/partial_disp + chmod 0660 /sys/class/lcd/panel1/partial_disp + chown radio system /sys/class/lcd/panel1/cover_control + chmod 0660 /sys/class/lcd/panel1/cover_control + chown system system /sys/class/lcd/panel1/ldu_correction + chmod 0660 /sys/class/lcd/panel1/ldu_correction + chown radio system /sys/class/lcd/panel1/force_flip + +# COPR + chown system system /sys/class/lcd/panel/copr_roi + chmod 0660 /sys/class/lcd/panel/copr_roi + chown system system /sys/class/lcd/panel/read_copr + chmod 0660 /sys/class/lcd/panel/read_copr + chown system system /sys/class/lcd/panel/copr + chmod 0660 /sys/class/lcd/panel/copr + chown system system /sys/class/lcd/panel/brt_avg + chmod 0440 /sys/class/lcd/panel/brt_avg + + chown system system /sys/class/lcd/panel1/copr_roi + chmod 0660 /sys/class/lcd/panel1/copr_roi + chown system system /sys/class/lcd/panel1/read_copr + chmod 0660 /sys/class/lcd/panel1/read_copr + chown system system /sys/class/lcd/panel1/copr + chmod 0660 /sys/class/lcd/panel1/copr + chown system system /sys/class/lcd/panel1/brt_avg + chmod 0440 /sys/class/lcd/panel1/brt_avg + +# SELF MASK + chown system system /sys/class/lcd/panel/self_mask + chmod 0660 /sys/class/lcd/panel/self_mask + + chown system system /sys/class/lcd/panel1/self_mask + chmod 0660 /sys/class/lcd/panel1/self_mask + + chown system system /sys/class/lcd/panel/self_mask_check + chmod 0660 /sys/class/lcd/panel/self_mask_check + + chown system system /sys/class/lcd/panel1/self_mask_check + chmod 0660 /sys/class/lcd/panel1/self_mask_check + +# DYNAMIC HLPM + chown system system /sys/class/lcd/panel/dynamic_hlpm + chmod 0660 /sys/class/lcd/panel/dynamic_hlpm + + chown system system /sys/class/lcd/panel1/dynamic_hlpm + chmod 0660 /sys/class/lcd/panel1/dynamic_hlpm + +# LCD DYNAMIC FPS USE TE + chown system system /sys/class/lcd/panel/dynamic_fps_use_te + chmod 0660 /sys/class/lcd/panel/dynamic_fps_use_te + + chown system system /sys/class/lcd/panel1/dynamic_fps_use_te + chmod 0660 /sys/class/lcd/panel1/dynamic_fps_use_te + +# SPI intf select + chown system system /sys/class/lcd/panel/spi_if_sel + chmod 0660 /sys/class/lcd/panel/spi_if_sel + +# CCD state Test + chown system system /sys/class/lcd/panel/ccd_state + chmod 0660 /sys/class/lcd/panel/ccd_state + + chown system system /sys/class/lcd/panel1/ccd_state + chmod 0660 /sys/class/lcd/panel1/ccd_state + +# FINGERPRINT MASK + chown system system /sys/class/lcd/panel/mask_brightness + chmod 0660 /sys/class/lcd/panel/mask_brightness + + chown system system /sys/class/lcd/panel/actual_mask_brightness + chmod 0440 /sys/class/lcd/panel/actual_mask_brightness + + chown system system /sys/class/lcd/panel1/mask_brightness + chmod 0660 /sys/class/lcd/panel1/mask_brightness + + chown system system /sys/class/lcd/panel1/actual_mask_brightness + chmod 0440 /sys/class/lcd/panel1/actual_mask_brightness + +# UB CONN DET + chown system system /sys/class/lcd/panel/conn_det + chmod 0660 /sys/class/lcd/panel/conn_det + + chown system system /sys/class/lcd/panel1/conn_det + chmod 0660 /sys/class/lcd/panel1/conn_det + +# TE CHECK + chown system system /sys/class/lcd/panel/te_check + chmod 0660 /sys/class/lcd/panel/te_check + + chown system system /sys/class/lcd/panel1/te_check + chmod 0660 /sys/class/lcd/panel1/te_check + +# DIA + chown system system /sys/class/lcd/panel/dia + chmod 0660 /sys/class/lcd/panel/dia + + chown system system /sys/class/lcd/panel1/dia + chmod 0660 /sys/class/lcd/panel1/dia + +# dynamic_freq + chown system system /sys/class/lcd/panel/dynamic_freq + chmod 0660 /sys/class/lcd/panel/dynamic_freq + + chown system system /sys/class/lcd/panel1/dynamic_freq + chmod 0660 /sys/class/lcd/panel1/dynamic_freq + +# Demux_stress Test + chown system system /sys/class/lcd/panel/demux_stress + chmod 0660 /sys/class/lcd/panel/demux_stress + + chown system system /sys/class/lcd/panel1/demux_stress + chmod 0660 /sys/class/lcd/panel1/demux_stress + +# VRR + chown system system /sys/class/lcd/panel/vrr + chmod 0440 /sys/class/lcd/panel/vrr + chown system system /sys/class/lcd/panel/vrr_lfd + chmod 0660 /sys/class/lcd/panel/vrr_lfd + chown system system /sys/class/drm/card0/device/perf_mode + chmod 0666 /sys/class/drm/card0/device/perf_mode + +# Motto + chown system system /sys/class/lcd/panel/motto/swing + chmod 0660 /sys/class/lcd/panel/motto/swing + chown system system /sys/class/lcd/panel/motto/emphasis + chmod 0660 /sys/class/lcd/panel/motto/emphasis + +# ioctl_power_ctrl + chown system system /sys/class/lcd/panel/ioctl_power_ctrl + chmod 0440 /sys/class/lcd/panel/ioctl_power_ctrl + +# debug information for dumpstate + chown system system /dev/sec_display_debug + chmod 0660 /dev/sec_display_debug + +# night dim + chown system system /sys/class/lcd/panel/night_dim + chmod 0660 /sys/class/lcd/panel/night_dim + + chown system system /sys/class/lcd/panel1/night_dim + chmod 0660 /sys/class/lcd/panel1/night_dim + + setprop system.display_driver.ready true diff --git a/init/init.samsung.dp.rc b/init/init.samsung.dp.rc new file mode 100644 index 0000000..7bb70b3 --- /dev/null +++ b/init/init.samsung.dp.rc @@ -0,0 +1,74 @@ + +# Copyright (c) 2019-2021, The Linux Foundation. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following +# disclaimer in the documentation and/or other materials provided +# with the distribution. +# * Neither the name of The Linux Foundation nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS +# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# + +on early-init + +on init + +on late-init + +on charger + +on post-fs + +on late-fs + +on post-fs-data + +on boot + # Permission for Secure NVM + chmod 0660 /dev/k250a + chown system system /dev/k250a + + # DP AUX switch control + chmod 0660 /sys/class/dp_sec/dp_sbu_sw_sel + chown system system /sys/class/dp_sec/dp_sbu_sw_sel + + # DP DEX control + chmod 0660 /sys/class/dp_sec/dex + chown system system /sys/class/dp_sec/dex + + # DP DEX version + chmod 0440 /sys/class/dp_sec/dex_ver + chown system system /sys/class/dp_sec/dex_ver + + # DP error info + chmod 0660 /sys/class/dp_sec/dp_error_info + chown system system /sys/class/dp_sec/dp_error_info + + # DP monitor info + chmod 0440 /sys/class/dp_sec/monitor_info + chown system system /sys/class/dp_sec/monitor_info + +on shutdown + +# service definition + +# on property triggers diff --git a/init/init.samsung.power.rc b/init/init.samsung.power.rc new file mode 100644 index 0000000..1128a8e --- /dev/null +++ b/init/init.samsung.power.rc @@ -0,0 +1,98 @@ + +# Copyright (c) 2019-2021, The Linux Foundation. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following +# disclaimer in the documentation and/or other materials provided +# with the distribution. +# * Neither the name of The Linux Foundation nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS +# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# + +on early-init + +on init + +on late-init + +on post-fs + +on late-fs + +on post-fs-data + +on boot + write /sys/power/pm_debug_messages 1 + # Set online permission as system|system + chown system system /sys/devices/system/cpu/cpu3/online + chmod 0660 /sys/devices/system/cpu/cpu3/online + chown system system /sys/devices/system/cpu/cpu4/online + chmod 0660 /sys/devices/system/cpu/cpu4/online + chown system system /sys/devices/system/cpu/cpu5/online + chmod 0660 /sys/devices/system/cpu/cpu5/online + chown system system /sys/devices/system/cpu/cpu6/online + chmod 0660 /sys/devices/system/cpu/cpu6/online + chown system system /sys/devices/system/cpu/cpu7/online + chmod 0660 /sys/devices/system/cpu/cpu7/online + chown radio system /sys/devices/system/cpu/cpufreq_limit/cpufreq_max_limit + chown radio system /sys/devices/system/cpu/cpufreq_limit/cpufreq_min_limit + chown radio system /sys/devices/system/cpu/cpufreq_limit/cpufreq_table + chown radio system /sys/devices/system/cpu/cpufreq_limit/over_limit + chown radio system /sys/devices/system/cpu/cpufreq_limit/limit_stat + chmod 664 /sys/devices/system/cpu/cpufreq_limit/cpufreq_max_limit + chmod 664 /sys/devices/system/cpu/cpufreq_limit/cpufreq_min_limit + chmod 444 /sys/devices/system/cpu/cpufreq_limit/cpufreq_table + chmod 664 /sys/devices/system/cpu/cpufreq_limit/over_limit + chmod 664 /sys/devices/system/cpu/cpufreq_limit/limit_stat + chown system system /sys/class/sec/ap_pmic/chg_det + chown system system /sys/class/sec/ap_pmic/manual_reset + chown radio system /sys/class/sec/ap_pmic/wake_enabled + chmod 664 /sys/class/sec/ap_pmic/wake_enabled + chown radio system /sys/class/sec/ap_pmic/volkey_wakeup + chmod 660 /sys/class/sec/ap_pmic/volkey_wakeup + write /sys/class/sec/ap_pmic/volkey_wakeup 1 + chown radio system /sys/class/sec/ap_pmic/gpio_dump + chmod 664 /sys/class/sec/ap_pmic/gpio_dump + + # Display PMIC + chown system system /sys/class/sec/disp_pmic/enable_fd + chmod 664 /sys/class/sec/disp_pmic/enable_fd + + # AP info + chown system system /sys/class/sec/ap_pmic/ap_info + chmod 0400 /sys/class/sec/ap_pmic/ap_info + + # Adaptive boost(silver) + chown system system /sys/devices/system/cpu/cpufreq/policy0/walt/adaptive_high_freq + chown system system /sys/devices/system/cpu/cpufreq/policy0/walt/adaptive_low_freq + chmod 664 /sys/devices/system/cpu/cpufreq/policy0/walt/adaptive_high_freq + chmod 664 /sys/devices/system/cpu/cpufreq/policy0/walt/adaptive_low_freq + +on property:sys.boot_completed=1 + write /sys/class/secgpio_check/secgpio_check_all/gpioinit_call 1 + chmod 220 /dev/power_on_alarm + +on shutdown + +# service definition + +# on property triggers diff --git a/init/init.samsung.rc b/init/init.samsung.rc new file mode 100644 index 0000000..3044d0b --- /dev/null +++ b/init/init.samsung.rc @@ -0,0 +1,131 @@ +# +# Copyright (C) 2023 The LineageOS Project +# +# SPDX-License-Identifier: Apache-2.0 +# + +import /vendor/etc/init/hw/init.samsung.bsp.rc +import /vendor/etc/init/hw/init.samsung.power.rc +import /vendor/etc/init/hw/init.samsung.display.rc +import /vendor/etc/init/hw/init.samsung.dp.rc +import /vendor/etc/init/hw/init.samsung.connector.rc + +on early-init + mkdir /mnt/vendor/efs 0771 radio system + mkdir /mnt/vendor/persist 0771 root system + + # foreground boost enable + mkdir /dev/cpuctl/foreground-boost/ + chown system system /dev/cpuctl/foreground-boost + chown system system /dev/cpuctl/foreground-boost/tasks + chown system system /dev/cpuctl/foreground-boost/cgroup.procs + chmod 0664 /dev/cpuctl/foreground-boost/tasks + chmod 0664 /dev/cpuctl/foreground-boost/cgroup.procs + + mkdir /dev/cpuset/foreground-boost + copy /dev/cpuset/cpus /dev/cpuset/foreground-boost/cpus + copy /dev/cpuset/mems /dev/cpuset/foreground-boost/mems + + chown system system /dev/cpuset/foreground-boost + chown system system /dev/cpuset/foreground-boost/tasks + chown system system /dev/cpuset/foreground-boost/cgroup.procs + chmod 0664 /dev/cpuset/foreground-boost/tasks + chmod 0664 /dev/cpuset/foreground-boost/cgroup.procs + + # set property to boost-optimize + setprop sys.perf.boostopt true + +on init + symlink /dev/block/bootdevice/by-name/steady /dev/block/steady + symlink /dev/block/bootdevice/by-name/persistent /dev/block/persistent + + chown system system /dev/cpuset/foreground/cpus + chown system system /dev/cpuset/foreground-boost/cpus + chown system system /dev/cpuset/background/cpus + chmod 0664 /dev/cpuset/foreground/cpus + chmod 0664 /dev/cpuset/foreground-boost/cpus + chmod 0664 /dev/cpuset/background/cpus + +# Create carrier folder for HiddenMenu +on post-fs + mkdir /efs/carrier 0755 system system + restorecon_recursive /efs + + restorecon_recursive /mnt/vendor/efs + chown radio system /mnt/vendor/efs + chmod 0771 /mnt/vendor/efs + + chown system radio /efs + chmod 0771 /efs + restorecon /efs + +on post-fs-data + # carrier partition + chown system system /carrier + chmod 0771 /carrier + restorecon /carrier + +# sensors + chown system system /mnt/vendor/persist/sensors/registry/registry/sns_cm + +# Meta event + chown system radio /sys/class/sensors/sensor_dev/flush + +on early-boot + +on early-boot && property:ro.binary.type=factory + umount /vendor/vm-system + +on boot + # set cpuset value by performance team + write /dev/cpuset/top-app/cpus 0-7 + write /dev/cpuset/foreground/cpus 0-6 + write /dev/cpuset/background/cpus 0-2 + write /dev/cpuset/system-background/cpus 0-2 + write /dev/cpuset/sf/cpus 0-6 + write /dev/cpuset/foreground-boost 0-7 + # write /dev/cpuset/restricted/cpus 0-2 + # write /dev/cpuset/audio-app/cpus 0-3 + + # HyPer Permission + chown root system /dev/cpuctl/top-app/cpu.uclamp.min + chmod 0664 /dev/cpuctl/top-app/cpu.uclamp.min + chown root system /sys/devices/system/cpu/bus_dcvs/DDR/memlat/adaptive_low_freq + chmod 0664 /sys/devices/system/cpu/bus_dcvs/DDR/memlat/adaptive_low_freq + chown root system /sys/devices/system/cpu/bus_dcvs/DDR/memlat/adaptive_high_freq + chmod 0664 /sys/devices/system/cpu/bus_dcvs/DDR/memlat/adaptive_high_freq + chown root system /sys/devices/system/cpu/bus_dcvs/DDR/soc:qcom,memlat:ddr:prime-latfloor/max_freq + chmod 0664 /sys/devices/system/cpu/bus_dcvs/DDR/soc:qcom,memlat:ddr:prime-latfloor/max_freq + + # Perfmond Atrace Buffer Size + setprop debug.perfmond.atrace.buffer 16384 + + # System Performance Restricted cpuset + chown root system dev/cpuset/restricted/cpus + chmod 0664 /dev/cpuset/restricted/cpus + + # for BT MAC address + mkdir /mnt/vendor/efs/bluetooth 0770 system bluetooth + # if already exist + chown system bluetooth /mnt/vendor/efs/bluetooth + chown system bluetooth /mnt/vendor/efs/bluetooth/bt_addr + chmod 0770 /mnt/vendor/efs/bluetooth + chmod 0660 /mnt/vendor/efs/bluetooth/bt_addr + + # permissions for bluetooth. + setprop ro.bt.bdaddr_path "/mnt/vendor/efs/bluetooth/bt_addr" + chown bluetooth bluetooth ro.bt.bdaddr_path + + # Allow access to emmc rawdump block partition and dload sysfs node + chown root system /dev/block/bootdevice/by-name/rawdump + chmod 0660 /dev/block/bootdevice/by-name/rawdump + +# For CDSP crash +on property:ro.boot.debug_level=0x494d + setprop vendor.fastrpc.process.attrs 0x40000001 + setprop vendor.fastrpc.debug.trace 1 + +service factory_ssc /vendor/bin/factory.ssc + class core + user system + group system radio inet diag net_admin net_raw sdcard_rw sdcard_r media_rw diff --git a/init/init.target.rc b/init/init.target.rc index b23b14e..66b7394 100644 --- a/init/init.target.rc +++ b/init/init.target.rc @@ -62,6 +62,10 @@ import /vendor/etc/init/hw/init.qti.kernel.rc +import /vendor/etc/init/hw/init.samsung.rc +import /vendor/etc/init/hw/init.${ro.product.vendor.device}.rc +import /vendor/etc/init/hw/init.${ro.product.vendor.name}.rc + on early-init write /proc/sys/kernel/printk_devkmsg ratelimited export MEMTAG_OPTIONS off