import init.omap4pandaboard.usb.rc

on init
    # mount debugfs
    mount debugfs /sys/kernel/debug /sys/kernel/debug

# power management
# Enable off mode by default
    #write /sys/kernel/debug/pm_debug/enable_off_mode 1

# Enable Smart Reflex in debugfs
    write /sys/kernel/debug/pm_debug/smartreflex/sr_core/autocomp 1
    write /sys/kernel/debug/pm_debug/smartreflex/sr_iva/autocomp 1
    write /sys/kernel/debug/pm_debug/smartreflex/sr_mpu/autocomp 1

on boot
    setprop ro.build.product omap4sdp
    setprop ro.product.device omap4sdp
    setprop wifi.interface wlan0

    # create dhcpcd dir
    mkdir /data/misc/dhcp 0770 dhcp dhcp
    chmod 0770 /data/misc/dhcp
    chmod 0666 /dev/pvrsrvkm

    # switch CPUfreq from performance to hotplug
    #write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor hotplug
    #write /sys/devices/system/cpu/cpufreq/hotplug/down_threshold 30

    #Give system ownership and permission to boost clock for specified timeout
    #Note boost_timeout cannot be changed from application because of dynamic sysfs creation. It will have default value of 3 sec.
    chown system system /sys/devices/system/cpu/cpu0/cpufreq/boost_cpufreq
    chmod 0664  /sys/devices/system/cpu/cpu0/cpufreq/boost_cpufreq

    # Boost the CPU for 60 sec for boot optimization
    #write /sys/devices/system/cpu/cpufreq/hotplug/boost_timeout 60000000
    #write /sys/devices/system/cpu/cpu0/cpufreq/boost_cpufreq 1

    # change permissions for alsa nodes
    chmod 0777  /dev/snd/pcmC0D0c
    chmod 0777 /dev/snd/pcmC0D0p
    chmod 0777  /dev/snd/controlC0
    chmod 0777  /dev/snd/timer

    #change permissions for alsa nodes for audio modem
    chmod 0777 /dev/snd/pcmC0D5c
    chmod 0777 /dev/snd/pcmC0D5p

    #change permissions for alsa nodes for HDMI
    chmod 777  /dev/snd/pcmC0D7p

    # change permissions for Overlay
    chown system system /dev/video1
    chown system system /dev/video2
    chown system system /dev/video3
    # change permissions for overlay managers and display devices
    chown system system /sys/devices/platform/omapdss/display0/enabled
    chown system system /sys/devices/platform/omapdss/display1/enabled
    chown system system /sys/devices/platform/omapdss/display2/enabled
    chown system system /sys/devices/platform/omapdss/display3/enabled
    chown system system /sys/devices/platform/omapdss/display0/name
    chown system system /sys/devices/platform/omapdss/display1/name
    chown system system /sys/devices/platform/omapdss/display2/name
    chown system system /sys/devices/platform/omapdss/display3/name
    chown system system /sys/devices/platform/omapdss/overlay0/manager
    chown system system /sys/devices/platform/omapdss/overlay1/manager
    chown system system /sys/devices/platform/omapdss/overlay2/manager
    chown system system /sys/devices/platform/omapdss/overlay3/manager
    chown system system /sys/devices/platform/omapdss/overlay0/zorder
    chown system system /sys/devices/platform/omapdss/overlay1/zorder
    chown system system /sys/devices/platform/omapdss/overlay2/zorder
    chown system system /sys/devices/platform/omapdss/overlay3/zorder
    # change permissions for manager tranparency parameters
    chown system system /sys/devices/platform/omapdss/manager0/name
    chown system system /sys/devices/platform/omapdss/manager0/display
    chown system system /sys/devices/platform/omapdss/manager1/name
    chown system system /sys/devices/platform/omapdss/manager1/display
    chown system system /sys/devices/platform/omapdss/manager2/name
    chown system system /sys/devices/platform/omapdss/manager2/display
    chown system system /sys/devices/platform/omapdss/overlay0/enabled
    chown system system /sys/devices/platform/omapdss/overlay1/enabled
    chown system system /sys/devices/platform/omapdss/overlay2/enabled
    chown system system /sys/devices/platform/omapdss/overlay3/enabled
    # change permissions for display timings to get the resolutions
    chown system system /sys/devices/platform/omapdss/display0/timings
    chown system system /sys/devices/platform/omapdss/display1/timings
    chown system system /sys/devices/platform/omapdss/display2/timings
    chown system system /sys/devices/platform/omapdss/display3/timings
    chown system system /sys/devices/platform/omapdss/display2/code
     # change permissions for Tiler driver
    chown media media /dev/tiler
    chmod 0660 /dev/tiler
    chmod 0660 /dev/dmm

    # Revert the boost_timeout to the default value of 3 sec. Note this won't affect the prev boost
    # request for boot time reduction
    # write /sys/devices/system/cpu/cpufreq/hotplug/boost_timeout 3000000

    # Enable hotplug detection for HDMI
    # write /sys/devices/platform/omapdss/display2/hpd_enabled 1

    # wifi related configuration,set the right permissions
    mkdir /system/etc/wifi 0770 wifi wifi
    chmod 0770 /system/etc/wifi
    chmod 0660 /system/etc/wifi/wpa_supplicant.conf
    chown wifi wifi /system/etc/wifi/wpa_supplicant.conf
    mkdir /data/misc/wifi 0770 wifi wifi
    mkdir /data/misc/wifi/sockets 0770 wifi wifi
    chmod 0770 /data/misc/wifi
    chmod 0660 /data/misc/wifi/wpa_supplicant.conf
    chown wifi wifi /data/misc/wifi
    chown wifi wifi /data/misc/wifi/wpa_supplicant.conf
    # wpa_supplicant socket (unix socket mode)
    mkdir /data/system/ 0775 system system
    mkdir /data/system/wpa_supplicant 0771 wifi wifi
    chmod 0771 /data/system/wpa_supplicant
    chown wifi wifi /data/system/wpa_supplicant

    chown system system /sys/class/graphics/fb0/overlays
    chown system system /sys/class/graphics/fb0/fit_to_screen
    chown system system /sys/class/graphics/fb1/overlays
    chmod 0666 /dev/pvrsrvkm

    insmod /system/modules/st_drv.ko
    insmod /system/modules/bluetooth.ko
    insmod /system/modules/bnep.ko
    insmod /system/modules/hci_uart.ko
    insmod /system/modules/rfcomm.ko
    insmod /system/modules/btwilink.ko
    insmod /system/modules/gator.ko

    chown system  system /sys/class/rfkill/rfkill0/type
    chown system  system /sys/class/rfkill/rfkill0/state

    insmod /system/modules/wl12xx.ko

# Initialize the SGX driver
service pvrsrvinit /system/bin/pvrsrvinit
    class main
    user root
    oneshot

service wpa_supplicant /system/bin/wpa_supplicant -Dwext -iwlan0 -c/data/misc/wifi/wpa_supplicant.conf -dd
    class main
    group system wifi inet
    disabled
    oneshot

service dhcpcd_wlan0 /system/bin/dhcpcd -d -B wlan0
    class main
    group system dhcp
    disabled
    oneshot

#userspace daemon needed for bluetooth
service uim /system/bin/uim
    class main
    user root
    oneshot

#userspace daemon needed for gator
service gatord /system/bin/gatord
    class main
    user root

