# Provides: pandora-lcd-state
# Required-Start: #adjust
# Required-Stop: #adjust
-# Default-Start: S
+# Default-Start: 5 3
# Default-Stop: 0 1 6
### END INIT INFO
-DESC="OpenPandora Save and Restore LCD Settings"
+DESC="OpenPandora Save and Restore various settings"
NAME="pandora-state"
+. /usr/pandora/scripts/op_paths.sh
+
d_stop() {
echo "Saving Pandora specific settings"
- bright=$(cat /sys/devices/platform/twl4030-pwm0-bl/backlight/twl4030-pwm0-bl/brightness)
+ bright=$(cat $SYSFS_BACKLIGHT_BRIGHTNESS)
if [ $bright != "0" ]; then
- cat /sys/devices/platform/twl4030-pwm0-bl/backlight/twl4030-pwm0-bl/brightness > /etc/pandora/conf/brightness.state
+ echo $bright > /etc/pandora/conf/brightness.state
fi
- cat /sys/devices/platform/omap2_mcspi.1/spi1.1/gamma > /etc/pandora/conf/gamma.state
+ touch /etc/pandora/shutdown
+ cat $SYSFS_GAMMA > /etc/pandora/conf/gamma.state
cat -v /proc/pandora/nub0/mode | sed -n '1p' > /etc/pandora/conf/nubs.state
cat -v /proc/pandora/nub0/mouse_sensitivity | sed -n '1p' >> /etc/pandora/conf/nubs.state
cat -v /proc/pandora/nub0/scrollx_sensitivity | sed -n '1p' >> /etc/pandora/conf/nubs.state
cat -v /proc/pandora/nub1/scrolly_sensitivity | sed -n '1p' >> /etc/pandora/conf/nubs.state
cat -v /proc/pandora/nub1/scroll_rate | sed -n '1p' >> /etc/pandora/conf/nubs.state
cat -v /proc/pandora/nub1/mbutton_threshold | sed -n '1p' >> /etc/pandora/conf/nubs.state
+ cat -v /proc/pandora/nub0/mbutton_delay | sed -n '1p' >> /etc/pandora/conf/nubs.state
+ cat -v /proc/pandora/nub1/mbutton_delay | sed -n '1p' >> /etc/pandora/conf/nubs.state
}
d_start() {
+ # Determine Pandora type
+ pnd_version=$(dmesg | grep OMAP3 | grep ES | awk '{print $3}')
+ echo $pnd_version > /tmp/pnd_version
+
echo "Restoring Pandora specific settings"
+
+ # Enable TV Out
+ if [ -f /etc/pandora/conf/tvout.state ]; then
+ /usr/pandora/scripts/op_tvout.sh
+ fi
+
+ # Set LEDs
+ highpow="$(cat /etc/pandora/conf/led.conf | grep HighPowerLED: | awk -F\: '{print $2}')"
+ echo $highpow > /sys/class/leds/pandora\:\:power/brightness #power LED bright
+ bright=$(cat /etc/pandora/conf/brightness.state)
+ if [ "$bright" -gt "0" ]; then
+ echo $bright > $SYSFS_BACKLIGHT_BRIGHTNESS
+ fi
+
+ # Set Gamma
cat /etc/pandora/conf/dirty_expire_centisecs > /proc/sys/vm/dirty_expire_centisecs
- cat /etc/pandora/conf/brightness.state > /sys/devices/platform/twl4030-pwm0-bl/backlight/twl4030-pwm0-bl/brightness
- cat /etc/pandora/conf/gamma.state > /sys/devices/platform/omap2_mcspi.1/spi1.1/gamma
+ cat /etc/pandora/conf/gamma.state > $SYSFS_GAMMA
+ if [ -f /etc/pandora/conf/dssgamma.state ]; then
+ dssgamma=$(cat /etc/pandora/conf/dssgamma.state)
+ dssgamma2=$(echo "scale=2;$dssgamma / 100" | bc)
+ /usr/pandora/scripts/op_gamma.sh $dssgamma2
+ fi
+
+ # Set Filter
+ if [ -f /etc/pandora/conf/filter.state ]; then
+ filter=$(cat /etc/pandora/conf/filter.state)
+ /usr/pandora/scripts/op_videofir.sh $filter
+ fi
+
+ # Check for unclean shutdown and set CPU Speed
+ cpuspeed="$(cat /etc/pandora/conf/cpu.conf | grep default | awk -F\: '{print $2}')"
+ oppmax="$(cat /etc/pandora/conf/cpu.conf | grep opp | awk -F\: '{print $2}')"
+ echo $oppmax > /proc/pandora/cpu_opp_max
+ if [ -f /etc/pandora/shutdown ]; then
+ rm /etc/pandora/shutdown
+ sync
+ else
+ echo "No clean shutdown - will CPU Speed will be set to safe value."
+ echo "Yes" > /tmp/nocleanwarn
+ chmod 777 /tmp/nocleanwarn
+ if [ "$pnd_version" == "OMAP3630" ]; then
+ cpuspeed="1000"
+ else
+ cpuspeed="600"
+ fi
+ fi
+ /usr/pandora/scripts/op_cpuspeed.sh -n $cpuspeed
+
+ # Set nubs
sed -n '1p' /etc/pandora/conf/nubs.state > /proc/pandora/nub0/mode
sed -n '2p' /etc/pandora/conf/nubs.state > /proc/pandora/nub0/mouse_sensitivity
sed -n '3p' /etc/pandora/conf/nubs.state > /proc/pandora/nub0/scrollx_sensitivity
sed -n '10p' /etc/pandora/conf/nubs.state > /proc/pandora/nub1/scrolly_sensitivity
sed -n '11p' /etc/pandora/conf/nubs.state > /proc/pandora/nub1/scroll_rate
sed -n '12p' /etc/pandora/conf/nubs.state > /proc/pandora/nub1/mbutton_threshold
+ sed -n '13p' /etc/pandora/conf/nubs.state > /proc/pandora/nub0/mbutton_delay
+ sed -n '14p' /etc/pandora/conf/nubs.state > /proc/pandora/nub1/mbutton_delay
+
+ # Enable ZRAM Swap
+ echo "Enabling ZRAM Swap"
+ mkswap /dev/zram0
+ swapon -p 5 /dev/zram0
+
+ # set audio powerdown delay (ms)
+ if [ -e /sys/devices/platform/soc-audio/PCM1773/pmdown_time ]; then
+ echo 60000 > /sys/devices/platform/soc-audio/PCM1773/pmdown_time
+ fi
}
case "$1" in