aboutsummaryrefslogtreecommitdiff
path: root/rootdir/init.qcom.rc
diff options
context:
space:
mode:
Diffstat (limited to 'rootdir/init.qcom.rc')
-rw-r--r--rootdir/init.qcom.rc795
1 files changed, 795 insertions, 0 deletions
diff --git a/rootdir/init.qcom.rc b/rootdir/init.qcom.rc
new file mode 100644
index 0000000..8150c51
--- /dev/null
+++ b/rootdir/init.qcom.rc
@@ -0,0 +1,795 @@
+#
+# Copyright 2012 The Android Open Source Project
+# Copyright (C) 2013 The CyanogenMod 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 init.device.rc
+import init.sony.usb.rc
+
+on early-init
+ mount debugfs debugfs /sys/kernel/debug
+ chown system system /sys/kernel/debug/kgsl/proc
+
+on init
+ mkdir /mnt/shell/emulated 0700 shell shell
+ mkdir /storage/emulated 0555 root root
+ mkdir /mnt/media_rw/sdcard1 0700 media_rw media_rw
+ mkdir /mnt/media_rw/usbdisk 0700 media_rw media_rw
+ mkdir /storage/sdcard1 0775 system system
+ mkdir /storage/usbdisk 0775 system system
+
+ export EXTERNAL_STORAGE /storage/emulated/legacy
+ export SECONDARY_STORAGE /storage/sdcard1
+ export EMULATED_STORAGE_SOURCE /mnt/shell/emulated
+ export EMULATED_STORAGE_TARGET /storage/emulated
+
+ # for backwards compatibility
+ symlink /storage/emulated/legacy /sdcard
+ symlink /storage/emulated/legacy /mnt/sdcard
+ symlink /storage/emulated/legacy /storage/sdcard0
+ symlink /mnt/shell/emulated/0 /storage/emulated/legacy
+ symlink /storage/sdcard1 /ext_card
+ symlink /storage/sdcard1 /mnt/ext_card
+ symlink /storage/usbdisk /usbdisk
+ symlink /storage/usbdisk /mnt/usbdisk
+
+ mkdir /tmp
+ mount tmpfs tmpfs /tmp nosuid mode=0755,uid=0,gid=0
+ chmod 0664 /proc/rdtag
+ chown root system /proc/rdtag
+
+ mkdir /dev/bus 0755 root root
+ mkdir /dev/bus/usb 0755 root root
+
+ # create directory for scd
+ mkdir /dev/socket/scd 0755 system system
+
+ # Enable ramdumps from subsystems to dump
+ # Should be initialized during init
+ write /sys/bus/msm_subsys/devices/subsys0/restart_level "RELATED"
+ write /sys/bus/msm_subsys/devices/subsys1/restart_level "RELATED"
+ write /sys/bus/msm_subsys/devices/subsys2/restart_level "RELATED"
+ write /sys/bus/msm_subsys/devices/subsys3/restart_level "RELATED"
+
+ # Enable panic on out of memory
+ write /proc/sys/vm/panic_on_oom 2
+
+ # Create a tmpfs for dynamic network mounting
+ mkdir /storage/removable/remote 0700 root system
+ mount tmpfs tmpfs /storage/removable/remote mode=0755,uid=0,gid=0
+
+ # Set the property to indicate type of virtual display to 0
+ # 0 indicates that virtual display is not a Wifi display and that the
+ # session is not exercised through RemoteDisplay in the android framework
+ setprop persist.sys.wfd.virtual 0
+
+on fs
+ mkdir /mnt/idd 0751 sony_idd sony_idd
+
+ mount_all ./fstab.qcom
+ setprop ro.crypto.fuse_sdcard true
+
+ chown sony_idd sony_idd /mnt/idd
+ chmod 0751 /mnt/idd
+
+ mkdir /lta-label 0555 system system
+ wait /dev/block/platform/msm_sdcc.1/by-name/LTALabel
+ mount ext4 /dev/block/platform/msm_sdcc.1/by-name/LTALabel /lta-label nosuid nodev noatime noexec ro barrier=0
+ chown system system /lta-label
+ chmod 0555 /lta-label
+
+ chmod 0755 /data/etc
+ start tad
+ exec /sbin/wait4tad_static
+ exec /system/bin/taimport
+
+ restorecon -R /data/etc
+
+on early-boot
+ # set RLIMIT_MEMLOCK to 64MB
+ setrlimit 8 67108864 67108864
+
+ write /sys/kernel/boot_adsp/boot 1
+
+ start ta_qmi_service
+ start sct_service
+
+ # Run pre_hw_config.sh before entering charge only mode.
+ exec /system/bin/sh /system/etc/pre_hw_config.sh
+
+ exec /system/bin/sh /system/etc/init.qcom.wifi.sh
+
+on boot
+ write /sys/module/qpnp_power_on/parameters/forcecrash_on 1
+ exec /system/bin/btnvtool -O
+ chown bluetooth bluetooth /sys/module/bluetooth_power/parameters/power
+ chown bluetooth bluetooth /sys/class/rfkill/rfkill0/type
+ chown bluetooth bluetooth /sys/class/rfkill/rfkill0/state
+ chown bluetooth bluetooth /proc/bluetooth/sleep/proto
+ chown bluetooth bluetooth /sys/module/hci_uart/parameters/ath_lpm
+ chown bluetooth bluetooth /sys/module/hci_uart/parameters/ath_btwrite
+ chown system system /sys/module/sco/parameters/disable_esco
+ chown bluetooth bluetooth /sys/module/hci_smd/parameters/hcismd_set
+ chmod 0660 /sys/module/bluetooth_power/parameters/power
+ chmod 0660 /sys/module/hci_smd/parameters/hcismd_set
+ chmod 0660 /sys/class/rfkill/rfkill0/state
+ chmod 0660 /proc/bluetooth/sleep/proto
+ chown bluetooth bluetooth /dev/ttyHS0
+ chmod 0660 /sys/module/hci_uart/parameters/ath_lpm
+ chmod 0660 /sys/module/hci_uart/parameters/ath_btwrite
+ chmod 0660 /dev/ttyHS0
+ chown bluetooth bluetooth /sys/devices/platform/msm_serial_hs.0/clock
+ chmod 0660 /sys/devices/platform/msm_serial_hs.0/clock
+
+ chmod 0660 /dev/ttyHS2
+ chown bluetooth bluetooth /dev/ttyHS2
+
+ # Create QMUX deamon socket area
+ mkdir /dev/socket/qmux_radio 0770 radio radio
+ chmod 2770 /dev/socket/qmux_radio
+ mkdir /dev/socket/qmux_audio 0770 media audio
+ chmod 2770 /dev/socket/qmux_audio
+ mkdir /dev/socket/qmux_bluetooth 0770 bluetooth net_bt_stack
+ chmod 2770 /dev/socket/qmux_bluetooth
+ mkdir /dev/socket/qmux_gps 0770 gps gps
+ chmod 2770 /dev/socket/qmux_gps
+
+ setprop ro.telephony.call_ring.multiple false
+
+ # Remove SUID bit for iproute2 ip tool
+ chmod 0755 /system/bin/ip
+
+ # port-bridge
+ chmod 0660 /dev/smd0
+ chown system system /dev/smd0
+
+ # BT DUN port-bridge
+ chmod 0660 /dev/smd7
+ chown bluetooth bluetooth /dev/smd7
+
+ chmod 0444 /sys/devices/platform/msm_hsusb/gadget/usb_state
+
+ # Remove write permissions to video related nodes
+ chown system graphics /sys/class/graphics/fb1/hpd
+ chown system system /sys/class/graphics/fb1/hdcp/tp
+ chown system graphics /sys/class/graphics/fb1/vendor_name
+ chown system graphics /sys/class/graphics/fb1/product_description
+ chmod 0664 /sys/class/graphics/fb1/hpd
+ chmod 0664 /sys/class/graphics/fb1/hdcp/tp
+ chmod 0664 /sys/class/graphics/fb1/vendor_name
+ chmod 0664 /sys/class/graphics/fb1/product_description
+ chmod 0664 /sys/class/graphics/fb1/video_mode
+ chmod 0664 /sys/class/graphics/fb1/format_3d
+
+ # create symlink for fb1 as HDMI
+ symlink /dev/graphics/fb1 /dev/graphics/hdmi
+
+ # Change owner and group to get adopter/device ids from MHL driver
+ chown system system /sys/class/mhl/sii8334/adopter_id
+ chown system system /sys/class/mhl/sii8334/device_id
+
+ # Change permissions for fps_level nodes
+ chown system graphics /sys/class/graphics/fb0/msm_fb_fps_level
+ chown system graphics /sys/class/graphics/fb1/msm_fb_fps_level
+ chown system graphics /sys/class/graphics/fb2/msm_fb_fps_level
+ chmod 644 /sys/class/graphics/fb0/msm_fb_fps_level
+ chmod 400 /sys/class/graphics/fb1/msm_fb_fps_level
+ chmod 400 /sys/class/graphics/fb2/msm_fb_fps_level
+
+ # For bridgemgr daemon to inform the USB driver of the correct transport
+ chown radio radio /sys/class/android_usb/f_rmnet_smd_sdio/transport
+
+ chmod 660 /dev/rtc0
+ chown system system /dev/rtc0
+
+ chown root system /proc/net/ip_conntrack
+
+ # Enable DEBUG_SUSPEND, DEBUG_EXIT_SUSPEND, and DEBUG_WAKEUP
+ write /sys/module/wakelock/parameters/debug_mask 7
+
+ #To allow interfaces to get v6 address when tethering is enabled
+ write /proc/sys/net/ipv6/conf/rmnet0/accept_ra 2
+ write /proc/sys/net/ipv6/conf/rmnet1/accept_ra 2
+ write /proc/sys/net/ipv6/conf/rmnet2/accept_ra 2
+ write /proc/sys/net/ipv6/conf/rmnet3/accept_ra 2
+ write /proc/sys/net/ipv6/conf/rmnet4/accept_ra 2
+ write /proc/sys/net/ipv6/conf/rmnet5/accept_ra 2
+ write /proc/sys/net/ipv6/conf/rmnet6/accept_ra 2
+ write /proc/sys/net/ipv6/conf/rmnet7/accept_ra 2
+ write /proc/sys/net/ipv6/conf/rmnet_sdio0/accept_ra 2
+ write /proc/sys/net/ipv6/conf/rmnet_sdio1/accept_ra 2
+ write /proc/sys/net/ipv6/conf/rmnet_sdio2/accept_ra 2
+ write /proc/sys/net/ipv6/conf/rmnet_sdio3/accept_ra 2
+ write /proc/sys/net/ipv6/conf/rmnet_sdio4/accept_ra 2
+ write /proc/sys/net/ipv6/conf/rmnet_sdio5/accept_ra 2
+ write /proc/sys/net/ipv6/conf/rmnet_sdio6/accept_ra 2
+ write /proc/sys/net/ipv6/conf/rmnet_sdio7/accept_ra 2
+ write /proc/sys/net/ipv6/conf/rmnet_usb0/accept_ra 2
+ write /proc/sys/net/ipv6/conf/rmnet_usb1/accept_ra 2
+ write /proc/sys/net/ipv6/conf/rmnet_usb2/accept_ra 2
+ write /proc/sys/net/ipv6/conf/rmnet_usb3/accept_ra 2
+ write /proc/sys/net/ipv6/conf/rmnet_usb0/accept_ra 2
+ write /proc/sys/net/ipv6/conf/rmnet_usb1/accept_ra 2
+ write /proc/sys/net/ipv6/conf/rmnet_usb2/accept_ra 2
+ write /proc/sys/net/ipv6/conf/rmnet_usb3/accept_ra 2
+
+ # To prevent out of order acknowledgements from making
+ # connection tracking to treat them as not belonging to
+ # the connection they belong to.
+ # Otherwise, a weird issue happens in which some long
+ # connections on high-throughput links get dropped when
+ # an ack packet comes out of order
+ write /proc/sys/net/netfilter/nf_conntrack_tcp_be_liberal 1
+
+ # NFC local data and nfcee xml storage
+ mkdir /data/nfc 0770 nfc nfc
+ mkdir /data/nfc/param 0770 nfc nfc
+
+ # Set the console loglevel to < KERN_INFO
+ # Set the default message loglevel to KERN_INFO
+ write /proc/sys/kernel/printk "6 6 1 7"
+
+# QCOM Sensors
+ insmod /system/lib/modules/adsprpc.ko
+ mkdir /data/system 0775 system system
+ mkdir /data/system/sensors 0775 system system
+ mkdir /data/misc/sensors 0775 system system
+ write /data/system/sensors/settings 1
+ chmod 664 /data/system/sensors/settings
+ chown system /data/system/sensors/settings
+ start sensors
+
+ chown system /sys/devices/virtual/timed_output/vibrator/vtg_level
+
+on post-fs
+ exec /system/bin/chargemon
+ write /sys/class/power_supply/battery/enable_stop_charging_at_low_battery 1
+
+ # Change to socket location on libkeyctrl/suntory for /data encryption
+ mkdir /dev/socket/suntory 0755 system system
+
+# msm specific files that need to be created on /data
+on post-fs-data
+ mkdir /data/media 0770 media_rw media_rw
+
+ # Create the directories used by the Wireless subsystem
+ mkdir /data/misc/wifi 0770 wifi wifi
+ mkdir /data/misc/wifi/sockets 0770 wifi wifi
+ mkdir /data/misc/wifi/wpa_supplicant 0770 wifi wifi
+ mkdir /data/misc/dhcp 0770 dhcp dhcp
+ # to observe dnsmasq.leases file for dhcp information of soft ap.
+ chown dhcp dhcp /data/misc/dhcp
+
+ # Update WIFI MAC address
+ mkdir /data/misc/wifi/prima 0775 wifi wifi
+ exec /system/bin/mac-update
+
+ mkdir /data/credmgr 0700 system system
+ mkdir /data/tombstones 0755 system system
+ mkdir /data/tombstones/vendor 0755 system system
+ mkdir /data/pc 0700 radio radio
+ mkdir /data/persist 0770 system system
+
+ # Create directory used by audio subsystem
+ mkdir /data/misc/audio 0770 audio audio
+
+ # IR Blaster
+ chown system system /dev/ttyHSL2
+ chmod 0660 /dev/ttyHSL2
+ chown system system /sys/devices/platform/ir_remote_control/enable
+ chmod 0220 /sys/devices/platform/ir_remote_control/enable
+
+ chmod 0664 /sys/devices/platform/msm_sdcc.1/polling
+ chmod 0664 /sys/devices/platform/msm_sdcc.2/polling
+ chmod 0664 /sys/devices/platform/msm_sdcc.3/polling
+ chmod 0664 /sys/devices/platform/msm_sdcc.4/polling
+
+ # Chown polling nodes as needed from UI running on system server
+ chown system system /sys/devices/platform/msm_sdcc.1/polling
+ chown system system /sys/devices/platform/msm_sdcc.2/polling
+ chown system system /sys/devices/platform/msm_sdcc.3/polling
+ chown system system /sys/devices/platform/msm_sdcc.4/polling
+
+ chown system system /sys/devices/platform/kgsl-3d0.0/kgsl/kgsl-3d0/pwrscale/policy
+
+ # Create directories for gpsone_daemon services
+ mkdir /data/misc/gpsone_d 0770 system gps
+
+ # Create directories for QuIPS
+ mkdir /data/misc/quipc 0770 gps system
+
+ # Create directories for Location services
+ mkdir /data/misc/location 0770 gps gps
+ mkdir /data/misc/location/mq 0770 gps gps
+ mkdir /data/misc/location/xtwifi 0770 gps gps
+
+ # Provide the access to hostapd.conf only to root and group
+ chmod 0660 /data/hostapd/hostapd.conf
+
+ mkdir /data/audio 0770 media audio
+
+ # Create /data/time folder for time-services
+ mkdir /data/time 0700 system system
+
+ # Enable Power save functionality for modem
+ setprop persist.radio.add_power_save 1
+
+ chown system /dev/block/platform/msm_sdcc.1/by-name
+
+ setprop vold.post_fs_data_done 1
+
+ rm /data/local/tmp/adreno_config.txt
+
+ # communicate with mpdecision and thermald
+ mkdir /dev/socket/mpdecision 0770 system system
+ chmod 2770 /dev/socket/mpdecision
+
+ # Enable Power modes and set the CPU Freq Sampling rates
+ write /sys/module/lpm_resources/enable_low_power/l2 1
+ write /sys/module/lpm_resources/enable_low_power/pxo 1
+ write /sys/module/lpm_resources/enable_low_power/vdd_dig 1
+ write /sys/module/lpm_resources/enable_low_power/vdd_mem 1
+ write /sys/module/msm_pm/modes/cpu0/retention/idle_enabled 1
+ write /sys/module/msm_pm/modes/cpu1/retention/idle_enabled 1
+ write /sys/module/msm_pm/modes/cpu2/retention/idle_enabled 1
+ write /sys/module/msm_pm/modes/cpu3/retention/idle_enabled 1
+ write /sys/module/msm_pm/modes/cpu0/power_collapse/suspend_enabled 1
+ write /sys/module/msm_pm/modes/cpu1/power_collapse/suspend_enabled 1
+ write /sys/module/msm_pm/modes/cpu2/power_collapse/suspend_enabled 1
+ write /sys/module/msm_pm/modes/cpu3/power_collapse/suspend_enabled 1
+ write /sys/module/msm_pm/modes/cpu0/power_collapse/idle_enabled 1
+ write /sys/module/msm_pm/modes/cpu1/power_collapse/idle_enabled 1
+ write /sys/module/msm_pm/modes/cpu2/power_collapse/idle_enabled 1
+ write /sys/module/msm_pm/modes/cpu3/power_collapse/idle_enabled 1
+ write /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/suspend_enabled 1
+ write /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/suspend_enabled 1
+ write /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/suspend_enabled 1
+ write /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/suspend_enabled 1
+ write /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/idle_enabled 1
+ write /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/idle_enabled 1
+ write /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/idle_enabled 1
+ write /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/idle_enabled 1
+ write /sys/module/msm_thermal/core_control/enabled 0
+ write /sys/devices/system/cpu/cpu1/online 1
+ write /sys/devices/system/cpu/cpu2/online 1
+ write /sys/devices/system/cpu/cpu3/online 1
+
+ # ondemand
+ #write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor "ondemand"
+ #write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor "ondemand"
+ #write /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor "ondemand"
+ #write /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor "ondemand"
+ #write /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate 50000
+ #write /sys/devices/system/cpu/cpufreq/ondemand/up_threshold 90
+ #write /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy 1
+ #write /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor 4
+ #write /sys/devices/system/cpu/cpufreq/ondemand/down_differential 10
+ #write /sys/devices/system/cpu/cpufreq/ondemand/up_threshold_multi_core 70
+ #write /sys/devices/system/cpu/cpufreq/ondemand/down_differential_multi_core 3
+ #write /sys/devices/system/cpu/cpufreq/ondemand/optimal_freq 918000
+ #write /sys/devices/system/cpu/cpufreq/ondemand/sync_freq 1026000
+ #write /sys/devices/system/cpu/cpufreq/ondemand/up_threshold_any_cpu_load 80
+ #chown system /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate
+ #chown system /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor
+ #chown system /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy
+
+ # interactive
+ write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor "interactive"
+ write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor "interactive"
+ write /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor "interactive"
+ write /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor "interactive"
+ write /sys/devices/system/cpu/cpufreq/interactive/io_is_busy 1
+ write /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay "20000 1400000:40000 1700000:20000"
+ write /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load 90
+ write /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq 1190400
+ write /sys/devices/system/cpu/cpufreq/interactive/target_loads "85 1500000:90 1800000:70"
+ write /sys/devices/system/cpu/cpufreq/interactive/min_sample_time 40000
+ write /sys/devices/system/cpu/cpufreq/interactive/sampling_down_factor 100000
+
+ write /sys/module/cpu_boost/parameters/boost_ms 20
+ write /sys/module/cpu_boost/parameters/sync_threshold 1728000
+ write /sys/module/cpu_boost/parameters/input_boost_freq 1497600
+ write /sys/module/cpu_boost/parameters/input_boost_ms 40
+
+ write /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 300000
+ write /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq 300000
+ write /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq 300000
+ write /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq 300000
+ chown system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
+ chown system /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
+ write /sys/module/msm_thermal/core_control/enabled 1
+ chown root system /sys/devices/system/cpu/mfreq
+ chmod 220 /sys/devices/system/cpu/mfreq
+ chown root system /sys/devices/system/cpu/cpu1/online
+ chown root system /sys/devices/system/cpu/cpu2/online
+ chown root system /sys/devices/system/cpu/cpu3/online
+ chmod 664 /sys/devices/system/cpu/cpu1/online
+ chmod 664 /sys/devices/system/cpu/cpu2/online
+ chmod 664 /sys/devices/system/cpu/cpu3/online
+ write /dev/cpuctl/apps/cpu.notify_on_migrate 1
+ # set DCVS parameters for CPU
+ write /sys/module/msm_dcvs/cores/cpu0/slack_time_max_us 40000
+ write /sys/module/msm_dcvs/cores/cpu0/slack_time_min_us 40000
+ write /sys/module/msm_dcvs/cores/cpu0/em_win_size_min_us 100000
+ write /sys/module/msm_dcvs/cores/cpu0/em_win_size_max_us 500000
+ write /sys/module/msm_dcvs/cores/cpu0/slack_mode_dynamic 0
+ write /sys/module/msm_dcvs/cores/cpu0/disable_pc_threshold 1000000
+ write /sys/module/msm_dcvs/cores/cpu1/slack_time_max_us 25000
+ write /sys/module/msm_dcvs/cores/cpu1/slack_time_min_us 25000
+ write /sys/module/msm_dcvs/cores/cpu1/em_win_size_min_us 100000
+ write /sys/module/msm_dcvs/cores/cpu1/em_win_size_max_us 500000
+ write /sys/module/msm_dcvs/cores/cpu1/slack_mode_dynamic 0
+ write /sys/module/msm_dcvs/cores/cpu1/disable_pc_threshold 1000000
+ write /sys/module/msm_dcvs/cores/cpu2/slack_time_max_us 25000
+ write /sys/module/msm_dcvs/cores/cpu2/slack_time_min_us 25000
+ write /sys/module/msm_dcvs/cores/cpu2/em_win_size_min_us 100000
+ write /sys/module/msm_dcvs/cores/cpu2/em_win_size_max_us 500000
+ write /sys/module/msm_dcvs/cores/cpu2/slack_mode_dynamic 0
+ write /sys/module/msm_dcvs/cores/cpu2/disable_pc_threshold 1000000
+ write /sys/module/msm_dcvs/cores/cpu3/slack_time_max_us 25000
+ write /sys/module/msm_dcvs/cores/cpu3/slack_time_min_us 25000
+ write /sys/module/msm_dcvs/cores/cpu3/em_win_size_min_us 100000
+ write /sys/module/msm_dcvs/cores/cpu3/em_win_size_max_us 500000
+ write /sys/module/msm_dcvs/cores/cpu3/slack_mode_dynamic 0
+ write /sys/module/msm_dcvs/cores/cpu3/disable_pc_threshold 1000000
+ # set DCVS parameters for GPU
+ write /sys/module/msm_dcvs/cores/gpu0/slack_time_max_us 20000
+ write /sys/module/msm_dcvs/cores/gpu0/slack_time_min_us 20000
+ write /sys/module/msm_dcvs/cores/gpu0/slack_mode_dynamic 0
+ # set msm_mpdecision parameters
+ write /sys/module/msm_mpdecision/slack_time_max_us 45000
+ write /sys/module/msm_mpdecision/slack_time_min_us 15000
+ write /sys/module/msm_mpdecision/em_win_size_min_us 100000
+ write /sys/module/msm_mpdecision/em_win_size_max_us 1000000
+ write /sys/module/msm_mpdecision/online_util_pct_min 3
+ write /sys/module/msm_mpdecision/online_util_pct_max 25
+ write /sys/module/msm_mpdecision/em_max_util_pct 97
+ write /sys/module/msm_mpdecision/rq_avg_poll_ms 2
+ write /sys/module/msm_mpdecision/mp_em_rounding_point_min 10
+ write /sys/module/msm_mpdecision/mp_em_rounding_point_max 85
+ write /sys/module/msm_mpdecision/iowait_threshold_pct 50
+ # set permissions for the nodes needed by display on/off hook
+ chown system /sys/module/msm_dcvs/cores/cpu0/slack_time_max_us
+ chown system /sys/module/msm_dcvs/cores/cpu0/slack_time_min_us
+ chown system /sys/module/msm_mpdecision/slack_time_max_us
+ chown system /sys/module/msm_mpdecision/slack_time_min_us
+ chmod 664 /sys/module/msm_dcvs/cores/cpu0/slack_time_max_us
+ chmod 664 /sys/module/msm_dcvs/cores/cpu0/slack_time_min_us
+ chmod 664 /sys/module/msm_mpdecision/slack_time_max_us
+ chmod 664 /sys/module/msm_mpdecision/slack_time_min_us
+
+ # SONY: Camera
+ mkdir /data/camera 0770 media camera
+ chown media camera /sys/devices/sony_camera_0/info
+ chmod 0770 /sys/devices/sony_camera_0/info
+ chown media camera /sys/devices/sony_camera_1/info
+ chmod 0770 /sys/devices/sony_camera_1/info
+
+on charger
+ # Enable Power modes and set the CPU Freq Sampling rates
+ write /sys/module/lpm_resources/enable_low_power/l2 1
+ write /sys/module/lpm_resources/enable_low_power/pxo 1
+ write /sys/module/lpm_resources/enable_low_power/vdd_dig 1
+ write /sys/module/lpm_resources/enable_low_power/vdd_mem 1
+ write /sys/module/msm_pm/modes/cpu0/retention/idle_enabled 1
+ write /sys/module/msm_pm/modes/cpu0/power_collapse/suspend_enabled 1
+ write /sys/module/msm_pm/modes/cpu1/power_collapse/suspend_enabled 1
+ write /sys/module/msm_pm/modes/cpu2/power_collapse/suspend_enabled 1
+ write /sys/module/msm_pm/modes/cpu3/power_collapse/suspend_enabled 1
+ write /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/suspend_enabled 1
+ write /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/suspend_enabled 1
+ write /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/suspend_enabled 1
+ write /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/suspend_enabled 1
+ write /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/idle_enabled 1
+ write /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/idle_enabled 1
+ write /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/idle_enabled 1
+ write /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/idle_enabled 1
+ write /sys/module/msm_pm/modes/cpu0/power_collapse/idle_enabled 1
+ write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor "powersave"
+ write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor "powersave"
+ write /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor "powersave"
+ write /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor "powersave"
+ write /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 300000
+ write /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq 300000
+ write /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq 300000
+ write /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq 300000
+ write /sys/devices/system/cpu/cpu1/online 0
+ write /sys/devices/system/cpu/cpu2/online 0
+ write /sys/devices/system/cpu/cpu3/online 0
+
+on property:init.svc.wpa_supplicant=stopped
+ stop dhcpcd
+
+# Update WIFI MAC address
+service mac-update /system/bin/mac-update
+ class main
+ user wifi
+ oneshot
+
+service hciattach /system/bin/sh /system/etc/init.qcom.bt.sh
+ class late_start
+ user bluetooth
+ group qcom_oncrpc bluetooth net_bt_admin system net_bt_stack
+ disabled
+ oneshot
+
+on property:bluetooth.hciattach=true
+ start hciattach
+
+on property:bluetooth.hciattach=false
+ setprop bluetooth.status off
+
+# QMUX must be in multiple groups to support external process connections
+service qmuxd /system/bin/qmuxd
+ class main
+ user radio
+ group radio audio bluetooth gps qcom_diag net_bt_stack
+
+# SONY: TrimArea Daemon
+# Last 2 args: start block(blk size 128k), number of blocks(partitionsize(kb)/128(kb))
+service tad /sbin/tad_static /dev/block/mmcblk0 1,16
+ class core
+ user root
+ group root
+ socket tad stream 0660 system system
+ disabled
+
+service updatemiscta /system/bin/updatemiscta
+ class main
+ user root
+ oneshot
+
+service netmgrd /system/bin/netmgrd
+ class main
+
+# start GNS/Sensor interface daemon
+service gsiff_daemon /system/bin/gsiff_daemon
+ class late_start
+ user gps
+ group gps net_raw misc
+
+service qrngd /system/bin/qrngd -f
+ class main
+ user root
+ group root
+
+service qrngp /system/bin/qrngp
+ class main
+ user root
+ group root
+ oneshot
+ disabled
+
+on property:sys.boot_completed=1
+ start qrngp
+ write /sys/block/mmcblk0/bdi/read_ahead_kb 512
+
+service qseecomd /system/bin/qseecomd
+ class core
+ user root
+ group root
+
+service hw_config /system/bin/sh /system/etc/hw_config.sh
+ class main
+ user root
+ oneshot
+
+service wpa_supplicant /system/bin/wpa_supplicant \
+ -iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf \
+ -I/system/etc/wifi/wpa_supplicant_overlay.conf \
+ -O/data/misc/wifi/sockets \
+ -e/data/misc/wifi/entropy.bin -g@android:wpa_wlan0
+ # we will start as root and wpa_supplicant will switch to user wifi
+ # after setting up the capabilities required for WEXT
+ # user wifi
+ # group wifi inet keystore
+ class main
+ socket wpa_wlan0 dgram 660 wifi wifi
+ disabled
+ oneshot
+
+service p2p_supplicant /system/bin/wpa_supplicant \
+ -ip2p0 -Dnl80211 -c/data/misc/wifi/p2p_supplicant.conf \
+ -I/system/etc/wifi/p2p_supplicant_overlay.conf -N \
+ -iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf \
+ -I/system/etc/wifi/wpa_supplicant_overlay.conf \
+ -O/data/misc/wifi/sockets -puse_p2p_group_interface=1 \
+ -e/data/misc/wifi/entropy.bin -g@android:wpa_wlan0
+# we will start as root and wpa_supplicant will switch to user wifi
+# after setting up the capabilities required for WEXT
+# user wifi
+# group wifi inet keystore
+ class main
+ socket wpa_wlan0 dgram 660 wifi wifi
+ disabled
+ oneshot
+
+service dhcpcd_wlan0 /system/bin/dhcpcd -aABDKL
+ class main
+ disabled
+ oneshot
+
+service dhcpcd_p2p /system/bin/dhcpcd -aABKL
+ class main
+ disabled
+ oneshot
+
+service iprenew_wlan0 /system/bin/dhcpcd -n
+ class main
+ disabled
+ oneshot
+
+service iprenew_p2p /system/bin/dhcpcd -n
+ class main
+ disabled
+ oneshot
+
+service dhcpcd_bt-pan /system/bin/dhcpcd -BKLG
+ disabled
+ oneshot
+
+service iprenew_bt-pan /system/bin/dhcpcd -n
+ disabled
+ oneshot
+
+on property:ro.data.large_tcp_window_size=true
+ # Adjust socket buffer to enlarge TCP receive window for high bandwidth (e.g. DO-RevB)
+ write /proc/sys/net/ipv4/tcp_adv_win_scale 2
+
+# virtual sdcard daemon running as media_rw (1023)
+service sdcard /system/bin/sdcard -u 1023 -g 1023 -l /data/media /mnt/shell/emulated
+ class late_start
+
+service fuse_sdcard1 /system/bin/sdcard -u 1023 -g 1023 -d /mnt/media_rw/sdcard1 /storage/sdcard1
+ class late_start
+ disabled
+
+service fuse_usbdisk /system/bin/sdcard -u 1023 -g 1023 -d /mnt/media_rw/usbdisk /storage/usbdisk
+ class late_start
+ disabled
+
+service mpdecision /system/bin/mpdecision --avg_comp
+ class main
+ user root
+
+# Start suntrold
+service suntrold /system/bin/suntrold
+ user system
+ group system
+ oneshot
+ class main
+
+# bugreport is triggered by holding down volume down, volume up and power
+service bugreport /system/bin/dumpstate -d -p -B \
+ -o /data/data/com.android.shell/files/bugreports/bugreport
+ class main
+ disabled
+ oneshot
+ keycodes 114 115 116
+
+service fm_dl /system/bin/sh /system/etc/init.qcom.fm.sh
+ class late_start
+ user root
+ group system qcom_oncrpc
+ disabled
+ oneshot
+
+service illumination /system/bin/illumination_service
+ socket illumination stream 0660 system camera
+ class main
+ user root
+
+service scd /system/bin/scd
+ class main
+ user system
+ group system
+
+# Secure Config Transfer service
+service sct_service /system/bin/sct_service
+ user root
+ disabled
+
+# Trim Area QMI service
+service ta_qmi_service /system/bin/ta_qmi_service
+ user root
+ disabled
+
+# Start system_monitor
+service system_monitor /system/bin/system_monitor
+ socket sysmon stream 0660 root system
+ class core
+ user root
+
+service rmt_storage /system/bin/rmt_storage
+ class core
+ user root
+
+service irsc_util /system/bin/irsc_util "/etc/sec_config"
+ class main
+ user root
+ oneshot
+
+service ppd /system/bin/mm-pp-daemon
+ class late_start
+ user system
+ socket pps stream 0660 system system
+ group system graphics qcom_diag
+ disabled
+
+service qcamerasvr /system/bin/mm-qcamera-daemon
+ class late_start
+ user camera
+ group camera system inet input
+
+service sensors /system/bin/sensors.qcom
+ class main
+ user root
+ group root
+ disabled
+
+service wcnss-service /system/bin/wcnss_service
+ class late_start
+ user system
+ group system wifi
+ disabled
+ oneshot
+
+service time_daemon /system/bin/time_daemon
+ class late_start
+ user root
+ group root radio qcom_diag
+
+service ptt_socket_app /system/bin/ptt_socket_app
+ class main
+ user system
+ group system
+ oneshot
+
+on property:init.svc.surfaceflinger=running
+ start ppd
+
+on property:init.svc.surfaceflinger=stopped
+ stop ppd
+
+# Powersave
+on property:sys.perf.profile=0
+ start mpdecision
+ write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor conservative
+ write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor conservative
+ write /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor conservative
+ write /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor conservative
+ write /sys/class/kgsl/kgsl-3d0/pwrscale/trustzone/governor ondemand
+
+# Balanced
+on property:sys.perf.profile=1
+ start mpdecision
+ write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor interactive
+ write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor interactive
+ write /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor interactive
+ write /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor interactive
+ write /sys/class/kgsl/kgsl-3d0/pwrscale/trustzone/governor ondemand
+
+# High performance
+on property:sys.perf.profile=2
+ stop mpdecision
+ write /sys/devices/system/cpu/cpu0/online 1
+ write /sys/devices/system/cpu/cpu1/online 1
+ write /sys/devices/system/cpu/cpu2/online 1
+ write /sys/devices/system/cpu/cpu3/online 1
+ write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor performance
+ write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor performance
+ write /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor performance
+ write /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor performance
+ write /sys/class/kgsl/kgsl-3d0/pwrscale/trustzone/governor performance