From: NeilBrown Date: Sun, 22 Apr 2012 06:58:37 +0000 (+1000) Subject: Modify udev usb rule. X-Git-Url: http://git.neil.brown.name/?a=commitdiff_plain;h=b9c8921f69ccfd475591c033cbc219b9b469eb7c;p=plato.git Modify udev usb rule. 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 --- diff --git a/config/udev-rules/usb.rules b/config/udev-rules/usb.rules index d736b87..b5af084 100644 --- a/config/udev-rules/usb.rules +++ b/config/udev-rules/usb.rules @@ -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"