import init.tuna.usb.rc

on init
    # See storage config details at http://source.android.com/tech/storage/
    mkdir /mnt/shell/emulated 0700 shell shell
    mkdir /storage/emulated 0000 root root

    export EXTERNAL_STORAGE /storage/emulated/legacy
    export EMULATED_STORAGE_SOURCE /mnt/shell/emulated
    export EMULATED_STORAGE_TARGET /storage/emulated

    # Support legacy paths
    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

on post-fs-data
    mkdir /data/media 0770 media_rw media_rw

	mkdir /data/misc/wifi 0770 wifi wifi
	mkdir /data/misc/wifi/sockets 0770 wifi wifi
	mkdir /data/misc/dhcp 0770 dhcp dhcp
	chown dhcp dhcp /data/misc/dhcp
	mkdir /data/smc 0770 drmrpc drmrpc
        chown drmrpc drmrpc /data/smc/counter.bin
        chown drmrpc drmrpc /data/smc/storage.bin
        chown drmrpc drmrpc /data/smc/system.bin

	# camera calibration
	mkdir /data/misc/camera 0770 media media
	mkdir /data/misc/camera/R5_MVEN003_LD2_ND0_IR0_SH0_FL1_SVEN003_DCCID1044 0770 media media

	mkdir /data/radio 0775 radio radio
	mkdir /data/radio/log 0775 radio radio

	setprop vold.post_fs_data_done 1

# LTE
    chown radio system /sys/devices/tuna_otg/usb_sel
    chown radio system /sys/devices/tuna_otg/uart_sel
    chown radio system /sys/bus/i2c/drivers/fsa9480/4-0025/switch
    chmod 0660 /sys/bus/i2c/drivers/fsa9480/4-0025/switch
    chmod 0660 /sys/devices/tuna_otg/uart_sel
    chmod 0660 /sys/devices/tuna_otg/usb_sel

on boot
	mount debugfs /sys/kernel/debug /sys/kernel/debug
	chmod 0666 /dev/pvrsrvkm

# autosuspend root hubs immediatly after attached devices
	write /sys/bus/usb/devices/usb1/power/autosuspend_delay_ms 0
	write /sys/bus/usb/devices/usb2/power/autosuspend_delay_ms 0

on fs
	mkdir /factory 0775 radio radio
	mount_all /fstab.tuna
	setprop ro.crypto.fuse_sdcard true

# change permissions for mtd device
	chmod 0660 /dev/mtd/mtd0
	chown media media /dev/mtd/mtd0

# change permissions for i2c-2 device
	chmod 0660 /dev/i2c-2
	chown media media /dev/i2c-2

# change permissions for Tiler driver
    chmod 0777 /dev/tiler
    chmod 0777 /dev/dmm

# change permissions for ION driver
    chmod 0777 /dev/ion

# We chown/chmod /factory because mount is run as root + defaults
	chown radio radio /factory
	chmod 0775 /factory

# add symlink for HDCP key
        symlink /factory/hdcp.keys /system/vendor/firmware/hdcp.keys

# nfc
    setprop ro.nfc.port "COM4"
    chmod 0600 /dev/ttyO3
    chown nfc nfc /dev/ttyO3
    chmod 0600 /sys/devices/platform/nfc-power/nfc_power
    chown nfc nfc /sys/devices/platform/nfc-power/nfc_power

# permissions for bluetooth.
	setprop ro.bt.bdaddr_path "/factory/bluetooth/bt_addr"
	chown bluetooth bluetooth ro.bt.bdaddr_path
	chown bluetooth bluetooth /dev/ttyO1
	chmod 0600 /dev/ttyO1
	chmod 0660 /sys/class/rfkill/rfkill0/state
	chown bluetooth bluetooth /sys/class/rfkill/rfkill0/state
	chown bluetooth bluetooth /sys/class/rfkill/rfkill0/type

# backlight
	chown system system /sys/class/backlight/s6e8aa0/brightness

# leds
	chown system system /dev/an30259a_leds

# for GPS
    chown root system /sys/class/sec/gps/GPS_PWR_EN/value
    chmod 0660 /sys/class/sec/gps/GPS_PWR_EN/value
    chown root system /sys/class/sec/gps/GPS_nRST/value
    chmod 0660 /sys/class/sec/gps/GPS_nRST/value

# ril control auto-suspend
	chmod 0660 /sys/bus/usb/devices/usb1/power/control
	chown radio radio /sys/bus/usb/devices/usb1/power/control

on property:persist.sys.tuna.off_mode=*
	write /d/pm_debug/enable_off_mode ${persist.sys.tuna.off_mode}

on property:ril.modem.lte.powercontrol=*
	write /sys/bus/usb/devices/1-1/power/control ${ril.modem.lte.powercontrol}

service fRom /system/bin/fRom \
	-x /data/misc/camera/R5_MVEN003_LD2_ND0_IR0_SH0_FL1_SVEN003_DCCID1044 \
	-d /dev/mtd/mtd0
	user media
	group media
	class late_start
	oneshot

service pvrsrvctl /vendor/bin/pvrsrvctl --start --no-module
	class core
	user root
	group root
	oneshot

# create filesystems if necessary
service setup_fs /system/bin/setup_fs \
		/dev/block/platform/omap/omap_hsmmc.0/by-name/cache \
		/dev/block/platform/omap/omap_hsmmc.0/by-name/userdata
        class core
        user root
        group root
        oneshot

service tf_daemon /system/bin/tf_daemon \
        -d -c /vendor/etc/smc_normal_world_android_cfg.ini
        class main
        user drmrpc
        group drmrpc

service smc_pa_wvdrm /system/bin/smc_pa_ctrl \
        -c /vendor/etc/smc_normal_world_android_cfg.ini \
        start /vendor/firmware/smc_pa_wvdrm.ift
        class core
        user drmrpc
        group drmrpc
        oneshot

# virtual sdcard daemon running as media_rw (1023)
service sdcard /system/bin/sdcard /data/media /mnt/shell/emulated 1023 1023
    class late_start

service p2p_supplicant /system/bin/wpa_supplicant \
	-iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf -N \
	-ip2p0 -Dnl80211 -c/data/misc/wifi/p2p_supplicant.conf -e/data/misc/wifi/entropy.bin -puse_p2p_group_interface=1
	#   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 wpa_supplicant /system/bin/wpa_supplicant \
	-iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf -e/data/misc/wifi/entropy.bin
	#   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 dhcpcd_bnep0 /system/bin/dhcpcd -ABKL
	class main
	disabled
	oneshot

service dhcpcd_eth0 /system/bin/dhcpcd -ABDKL
	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 iprenew_bnep0 /system/bin/dhcpcd -n
	class main
	disabled
	oneshot

# bugreport is triggered by holding down volume down, volume up and power
service bugreport /system/bin/bugmailer.sh -v
	class main
	disabled
	oneshot
	keycodes 114 115 116

service battery_charger /charger
	class charger
