summaryrefslogtreecommitdiff
path: root/meta-ibm/recipes-phosphor/gpio/id-button
diff options
context:
space:
mode:
authorBrad Bishop <bradleyb@fuzziesquirrel.com>2020-04-22 21:06:02 +0300
committerAndrew Geissler <geissonator@yahoo.com>2020-04-27 19:52:12 +0300
commite161514219e0dc8a957dabbb8529fb9fcac4e115 (patch)
tree5de46006517d690f5793eec41281d60611228ecd /meta-ibm/recipes-phosphor/gpio/id-button
parenta3f54c8b8cbd50bc86efdc52cfb7d348d8c19d21 (diff)
downloadopenbmc-e161514219e0dc8a957dabbb8529fb9fcac4e115.tar.xz
meta-ibm: move all meta-witherspoon metadata
The metadata common to all IBM systems is confusingly split between meta-ibm and meta-witherspoon. Move everything to meta-ibm. The meta-ibm README is re-written to more accurately reflect the scope of the layer. Allow the configuration samples (bblayers.conf.sample, local.conf.sample) to be sourced from either meta-ibm or meta-witherspoon until such a time that any workflows and tooling have had the opportunity to move to meta-ibm. (From meta-ibm rev: 6e05ef2e90b214eaf4e43ee7027bbbb1d8d09442) Change-Id: I3ec890d5300f9649c974ea6b9dca93a2e8a889ab Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com> Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Diffstat (limited to 'meta-ibm/recipes-phosphor/gpio/id-button')
-rw-r--r--meta-ibm/recipes-phosphor/gpio/id-button/id-button-pressed.service9
-rw-r--r--meta-ibm/recipes-phosphor/gpio/id-button/obmc/gpio/id_button5
-rw-r--r--meta-ibm/recipes-phosphor/gpio/id-button/toggle_identify_led.sh27
3 files changed, 41 insertions, 0 deletions
diff --git a/meta-ibm/recipes-phosphor/gpio/id-button/id-button-pressed.service b/meta-ibm/recipes-phosphor/gpio/id-button/id-button-pressed.service
new file mode 100644
index 0000000000..c4f939cc36
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/gpio/id-button/id-button-pressed.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=ID Button Pressed Service
+Wants=mapper-wait@-xyz-openbmc_project-led-groups.service
+After=mapper-wait@-xyz-openbmc_project-led-groups.service
+StartLimitIntervalSec=0
+
+[Service]
+Type=oneshot
+ExecStart=/usr/bin/toggle_identify_led.sh
diff --git a/meta-ibm/recipes-phosphor/gpio/id-button/obmc/gpio/id_button b/meta-ibm/recipes-phosphor/gpio/id-button/obmc/gpio/id_button
new file mode 100644
index 0000000000..370e609cd8
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/gpio/id-button/obmc/gpio/id_button
@@ -0,0 +1,5 @@
+DEVPATH=/dev/input/by-path/platform-gpio-keys-event
+KEY=41
+POLARITY=1
+TARGET=id-button-pressed.service
+EXTRA_ARGS=--continue
diff --git a/meta-ibm/recipes-phosphor/gpio/id-button/toggle_identify_led.sh b/meta-ibm/recipes-phosphor/gpio/id-button/toggle_identify_led.sh
new file mode 100644
index 0000000000..496ece2b29
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/gpio/id-button/toggle_identify_led.sh
@@ -0,0 +1,27 @@
+#!/bin/sh
+# Toggle the state of identify LED Group
+
+SERVICE="xyz.openbmc_project.LED.GroupManager"
+INTERFACE="xyz.openbmc_project.Led.Group"
+PROPERTY="Asserted"
+
+# Get current state
+object=$(busctl tree $SERVICE --list | grep identify)
+led=$(cat /sys/devices/platform/leds/leds/front-id/brightness)
+if [ "$led" == "0" ]; then
+ busctl set-property $SERVICE $object $INTERFACE $PROPERTY b false
+else
+ busctl set-property $SERVICE $object $INTERFACE $PROPERTY b true
+fi
+
+state=$(busctl get-property $SERVICE $object $INTERFACE $PROPERTY \
+ | awk '{print $NF;}')
+
+if [ "$state" == "false" ]; then
+ target='true'
+else
+ target='false'
+fi
+
+# Set target state
+busctl set-property $SERVICE $object $INTERFACE $PROPERTY b $target