import init.dragon.usb.rc

on init
    # Support legacy paths
    symlink /sdcard /mnt/sdcard
    symlink /sdcard /storage/sdcard0

    # Setup zram options
    write /sys/block/zram0/comp_algorithm lz4
    write /sys/block/zram0/max_comp_streams 4

    setprop ro.hardware.gralloc tegra
    setprop ro.hardware.hwcomposer drm
    setprop hwc.drm.device /dev/dri/card1
    setprop persist.tegra.compression off
    setprop persist.tegra.decompression disabled
    setprop ro.radio.noril yes
    setprop persist.tegra.nvblit.engine gpu

    # GL driver parameters for tiled cache size and efficient tex fetch
    setprop persist.tegra.0x523dc5 0x3f000000
    setprop persist.tegra.58027529 0x00000002
    setprop persist.tegra.a3456abe 0x087f6080

    # fix navigation bar not showing
    setprop qemu.hw.mainkeys 0
    start watchdogd

on late-init
    # Setting slice_idle to 0 for CFQ, so make sure the scheduler is CFQ.
    write /sys/block/mmcblk0/queue/scheduler cfq
    write /sys/block/mmcblk0/queue/iosched/slice_idle 0

    # enable rcu_expedited
    write /sys/kernel/rcu_expedited 1

on early-boot
    # Update dm-verity state and set partition.*.verified properties
    verity_update_state

# Set watchdog timer to 30 seconds and pet it every 10 seconds to get a 20 second margin
service watchdogd /sbin/watchdogd 10 20
    class core
    seclabel u:r:watchdogd:s0

on post-fs
    # Turn on swap
    swapon_all /fstab.dragon

    # Swap in only 1 page at a time
    write /proc/sys/vm/page-cluster 0

on post-fs-data
    # Now that are booted all the way and out of mount panics, ensure that we panic on later errors.
    # This is a hack to work around the fact that we can't recover from all errors that would lead to a panic
    # during the initial mount (http://b/17382778), yet we need to panic on emmc errors (http://b/17640053)
    # For a remount only the flags and the target mount point are relevant.
    mount dummy dummy /data remount nosuid nodev noatime rw seclabel,background_gc=on,user_xattr,acl,errors=panic

    mkdir /data/nvcam 0700 media camera
    mkdir /data/misc/camera 0700 media camera

    # NFC: create data/nfc for nv storage
    mkdir /data/nfc 0770 nfc nfc
    mkdir /data/nfc/param 0770 nfc nfc

    # secure os storage
    mkdir /data/ss 0700 system system
    mkdir /data/ss/tlk 0700 system system

    # secure os storage
    mkdir /data/ss 0700 system system

    # modem init
    mkdir /data/qcks 0770 system system
    mkdir /data/efs 0771 system system
    mkdir /data/qcks/mdm 0770 system system

    # crash_collector
    mkdir /data/system/crash_reports 0700 system system

    # EC/charger logs
    mkdir /data/misc/fw_logs 0755 root root

    # touch firmware updater logs
    mkdir /data/misc/touchfwup 0750 root log

    # initialize region info
    exec -- /system/bin/init_regions.sh

    setprop vold.post_fs_data_done 1

on boot
  # bluetooth
    # change back to bluetooth from system
    chown bluetooth net_bt_stack /data/misc/bluetooth

    # power down interface
    write /sys/class/rfkill/rfkill0/state 0

    mount debugfs /sys/kernel/debug /sys/kernel/debug mode=755

    # Set up kernel tracing, but disable it by default
    chmod 0222 /sys/kernel/debug/tracing/trace_marker
    write /sys/kernel/debug/tracing/tracing_on 0

    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

    # (crosbug.com/p/46057) : Limit min frequency to 204Mhz for audio latency
    write /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 204000
    write /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq 204000
    write /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq 204000
    write /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq 204000

    restorecon_recursive /sys/devices/system/cpu/cpufreq/interactive
    chown system system /sys/devices/system/cpu/cpufreq/interactive/timer_rate
    chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/timer_rate
    chown system system /sys/devices/system/cpu/cpufreq/interactive/timer_slack
    chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/timer_slack
    chown system system /sys/devices/system/cpu/cpufreq/interactive/min_sample_time
    chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/min_sample_time
    chown system system /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq
    chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq
    chown system system /sys/devices/system/cpu/cpufreq/interactive/target_loads
    chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/target_loads
    chown system system /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load
    chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load
    chown system system /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay
    chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay
    chown system system /sys/devices/system/cpu/cpufreq/interactive/boost
    chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/boost
    chown system system /sys/devices/system/cpu/cpufreq/interactive/boostpulse
    chown system system /sys/devices/system/cpu/cpufreq/interactive/input_boost
    chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/input_boost
    chown system system /sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration
    chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration
    chown system system /sys/devices/system/cpu/cpufreq/interactive/io_is_busy
    chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/io_is_busy
    chown system system /sys/devices/57000000.gpu/pstate

    # update foreground cpuset now that processors are up
    write /dev/cpuset/foreground/cpus 0-3
    write /dev/cpuset/foreground/boost/cpus 0-3
    write /dev/cpuset/background/cpus 0
    write /dev/cpuset/system-background/cpus 0-1

    # for gpu cap in battery saver mode
    chown system system /sys/kernel/debug/system_edp/capping/force_gpu
    chmod 0660 /sys/kernel/debug/system_edp/capping/force_gpu

    # for lightbar
    chown system system /sys/class/chromeos/cros_ec/lightbar/userspace_control
    chmod 0660 /sys/class/chromeos/cros_ec/lightbar/userspace_control
    chown system system /sys/class/chromeos/cros_ec/lightbar/sequence
    chmod 0660 /sys/class/chromeos/cros_ec/lightbar/sequence

    # for external power limits
    chown system system /sys/class/chromeos/cros_ec/usb-pd-charger/ext_voltage_lim
    chmod 0660 /sys/class/chromeos/cros_ec/usb-pd-charger/ext_voltage_lim

    # Enable CC4
    write /sys/devices/system/cpu/cpu0/cpuidle/state1/disabled 0
    write /sys/devices/system/cpu/cpu1/cpuidle/state1/disabled 0
    write /sys/devices/system/cpu/cpu2/cpuidle/state1/disabled 0
    write /sys/devices/system/cpu/cpu3/cpuidle/state1/disabled 0

    # b/13568411: make lazy vfree flush thresholds match flush_tlb_range
    write /proc/sys/vm/lazy_vfree_tlb_flush_all_threshold 524288

    chmod 0444 /sys/kernel/debug/bq2419x-regs

    write /proc/sys/net/core/rmem_max 1048576
    write /proc/sys/net/core/wmem_max 1048576

    # Execute crash_collector when a process is crashing.
    write /proc/sys/kernel/core_pattern "|/system/bin/crash_dispatcher %p %u %g %s %t %e"
    write /proc/sys/kernel/core_pipe_limit 4
    write /proc/self/coredump_filter 0x1

    # enable GPU dvfs
    write /sys/class/drm/card0/device/pstate auto

    # set GPU auto suspend
    write /sys/devices/57000000.gpu/power/autosuspend_delay_ms 520

on fs
    # Enable verity notification
    write /sys/module/dm_verity/parameters/error_behavior notify

    mount_all /fstab.dragon

# run the touch firmware update script as soon as non-tmpfs /data is ready
on property:vold.decrypt=trigger_restart_framework
    exec -- /system/bin/touchfwup.sh

# tune thermal governor
service tune_therm_gov /system/bin/tune-thermal-gov.sh skin-therm pd_thermal_gov \
    max_err_temp 5000
    class main
    oneshot

service battery_charger /charger
    class charger
    seclabel u:r:healthd:s0

# on userdebug and eng builds, enable kgdb on the serial console
on property:ro.debuggable=1
    write /sys/module/kgdboc/parameters/kgdboc ttyFIQ0
    write /sys/module/fiq_debugger/parameters/kgdb_enable 1

# 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 late_start
    disabled
    oneshot
    keycodes 114 115 116

service p2p_supplicant /system/bin/wpa_supplicant \
    -iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf \
    -I/system/etc/wifi/p2p_supplicant_overlay.conf \
    -puse_p2p_group_interface=1p2p_device=1 \
    -m/data/misc/wifi/p2p_supplicant.conf \
    -e/data/misc/wifi/entropy.bin -g@android:wpa_wlan0
    class late_start
    socket wpa_wlan0 dgram 660 wifi wifi
    disabled
    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 \
    -e/data/misc/wifi/entropy.bin -g@android:wpa_wlan0
    class late_start
    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 dhcpcd_bt-pan /system/bin/dhcpcd -aABDKL
    class main
    disabled
    oneshot

service dhcpcd_eth0 /system/bin/dhcpcd -aABDKL
    class late_start
    disabled
    oneshot

service fwtool /system/bin/fwtool mark_boot success
    class late_start
    user root
    oneshot

service iprenew_wlan0 /system/bin/dhcpcd -n
    class main
    disabled
    oneshot

service iprenew_eth0 /system/bin/dhcpcd -n
    class late_start
    disabled
    oneshot

service iprenew_p2p /system/bin/dhcpcd -n
    class main
    disabled
    oneshot

service iprenew_bt-pan /system/bin/dhcpcd -n
    class main
    disabled
    oneshot

service kickstart /vendor/bin/qcks -i /vendor/firmware/mdm/image/ -r /data/qcks/mdm/
    class late_start
    disabled
    user system
    group system
    oneshot

service qmuxd /vendor/bin/qmuxd
    class late_start
    disabled
    user system
    group system radio

service netmgrd /vendor/bin/netmgrd
    class late_start
    disabled
    group system radio

service tlk_daemon /vendor/bin/tlk_daemon --storagedir /data/ss --rpmbdev /dev/block/mmcblk0rpmb
    class main
    group system

on property:debug.bq25892=dump
    exec - root root system -- /system/bin/dump_bq25892.sh
