#
# 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.
#

import /vendor/etc/init/hw/init.${ro.boot.hardware.platform}.rc

on init
    setprop ro.sf.lcd_density 440

on late-init && property:ro.boot.hardware.revision=DEV1.0
    setprop vendor.thermal.hw_mode "-evt"
    write /sys/devices/virtual/thermal/tz-by-name/quiet-therm-adc/mode enabled

on late-init && property:ro.boot.hardware.revision=DEV2.0
    setprop vendor.thermal.hw_mode "-evt"
    write /sys/devices/virtual/thermal/tz-by-name/quiet-therm-adc/mode enabled

on late-init && property:ro.boot.hardware.revision=PROTO1.0
    setprop vendor.thermal.hw_mode "-evt"
    write /sys/devices/virtual/thermal/tz-by-name/quiet-therm-adc/mode enabled

on late-init && property:ro.boot.hardware.revision=PROTO1.1
    setprop vendor.thermal.hw_mode "-evt"
    write /sys/devices/virtual/thermal/tz-by-name/quiet-therm-adc/mode enabled

on late-init && property:ro.boot.hardware.revision=EVT1.0
    setprop vendor.thermal.hw_mode "-evt"
    write /sys/devices/virtual/thermal/tz-by-name/quiet-therm-adc/mode enabled

on late-init && property:ro.boot.hardware.revision=EVT1.1
    setprop vendor.thermal.hw_mode "-evt"
    write /sys/devices/virtual/thermal/tz-by-name/quiet-therm-adc/mode enabled

on late-init && property:ro.boot.hardware.revision=EVT2.0
    setprop vendor.thermal.hw_mode "-evt"
    write /sys/devices/virtual/thermal/tz-by-name/quiet-therm-adc/mode enabled

on property:vendor.all.modules.ready=1
    chown system system /sys/devices/platform/soc/888000.i2c/i2c-2/2-0049/stm_fts_cmd

on property:sys.boot_completed=1
    # HardwareInfo needs to be able to read display info
    chmod 644 /sys/devices/platform/soc/soc:qcom,dsi-display@51/panel_info/panel0/serial_number
    chmod 644 /sys/devices/platform/soc/soc:qcom,dsi-display@51/panel_info/panel0/panel_vendor_name
