# 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
+. /usr/pandora/scripts/op_common.sh
d_stop() {
echo "Saving Pandora specific settings"
fi
touch /etc/pandora/shutdown
cat $SYSFS_GAMMA > /etc/pandora/conf/gamma.state
+
+ # pnd_run.sh and nub configurator depend on nubs.state format
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
+
+ # nub tools want to update this file
+ chmod a+w /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/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
- echo $cpuspeed > /proc/pandora/cpu_mhz_max
+ sync
else
- echo "No clean shutdown - will not set CPU speed"
- touch /tmp/nocleanwarn
+ 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 DSP Speed
+
+ if [ "$pnd_version" == "OMAP3630" ]; then
+ dspspeed="800"
+ else
+ dspspeed="430"
+ fi
+ /usr/pandora/scripts/op_dspspeed.sh -n $dspspeed
+
+ # 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