]> git.neil.brown.name Git - plato.git/commitdiff
Modify udev usb rule.
authorNeilBrown <neilb@suse.de>
Sun, 22 Apr 2012 06:58:37 +0000 (16:58 +1000)
committerNeilBrown <neilb@suse.de>
Sun, 22 Apr 2012 06:58:37 +0000 (16:58 +1000)
Turn leds on/off depending on charge status.
 red: charging
 green: powered but not charging
 off: unpowered.

all are slow (3 second) blinks

Signed-off-by: NeilBrown <neilb@suse.de>
config/udev-rules/usb.rules

index d736b87eaef318a6119f3e33da09a960fe117daf..b5af08403dc1ba595ddaf032fa9984d5aa447fa9 100644 (file)
@@ -4,5 +4,30 @@
 # Openmoko Charger (id pin had 47Kohm resistance) 851mA (max currently
 # supported by kernel).
 
-SUBSYSTEM=="power_supply", ACTION=="change", DEVPATH=="*power_supply/twl4030_usb" ATTRS{1-0048/twl4030_usb/id}=="floating", ATTR{../../max_current}="500000"
-SUBSYSTEM=="power_supply", ACTION=="change", DEVPATH=="*power_supply/twl4030_usb" ATTRS{1-0048/twl4030_usb/id}=="102k", ATTR{../../max_current}="851000"
+SUBSYSTEM=="power_supply", ACTION=="change", DEVPATH=="*power_supply/twl4030_usb", GOTO="twl4030_usb"
+GOTO="end"
+
+LABEL="twl4030_usb"
+# need to wait a moment before 'vbus' is valid :-(
+PROGRAM=="/bin/sleep 2"
+ATTRS{1-0048/twl4030_usb/vbus} == "off", GOTO="off"
+# power is present
+ATTRS{1-0048/twl4030_usb/id}=="floating", ATTR{../../max_current}="500000"
+ATTRS{1-0048/twl4030_usb/id}=="102k", ATTR{../../max_current}="851000"
+
+ATTR{online}=="1", GOTO="charging"
+# not charging
+RUN+="/bin/sh -c 'cd /sys/class/leds/gta04:red:power; echo none > trigger; echo 0 > brightness'"
+RUN+="/bin/sh -c 'cd /sys/class/leds/gta04:green:power; echo timer > trigger; echo 500 > delay_on; echo 2500 > delay_off'"
+GOTO="end"
+LABEL="charging"
+RUN+="/bin/sh -c 'cd /sys/class/leds/gta04:green:power; echo none > trigger; echo 0 > brightness'"
+RUN+="/bin/sh -c 'cd /sys/class/leds/gta04:red:power; echo timer > trigger; echo 500 > delay_on; echo 2500 > delay_off'"
+
+GOTO="end"
+LABEL="off"
+# no power present"
+RUN+="/bin/sh -c 'cd /sys/class/leds/gta04:red:power; echo none > trigger; echo 0 > brightness'"
+RUN+="/bin/sh -c 'cd /sys/class/leds/gta04:green:power; echo none > trigger; echo 0 > brightness'"
+
+LABEL="end"