summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDelphine CC Chiu <Delphine_CC_Chiu@wiwynn.com>2023-10-18 13:39:21 +0300
committerPatrick Williams <patrick@stwcx.xyz>2023-10-24 10:58:43 +0300
commit9d5d2484a825538ce74a6460323a68e96338547f (patch)
treee5bca1a002fda0c6e56b65e6758c60a192d05093
parent8f8242772f01a745de3b734cf677abfd4ff0d913 (diff)
downloadopenbmc-9d5d2484a825538ce74a6460323a68e96338547f.tar.xz
yosemite4: phosphor-gpio-monitor: Support sled cycle from power button
Summary: Support sled cycle from power button through gpio monitor, which detecting interrupt for bmc gpiop1 Tested: Do sled cycle after pressing power button: pass root@bmc:~# /usr/bin/phosphor-multi-gpio-monitor --config /usr/share/phosphor-gpio-monitor/phosphor-multi-gpio-monitor.json ... <6> GPIO Line 121 monitoring started ... [press power button over 4 second] <6> GPIO Line 121 Asserted Change-Id: I9197bfabff8b7e1f7a7370c0ff37219440df45b7 Signed-off-by: Delphine CC Chiu <Delphine_CC_Chiu@wiwynn.com>
-rw-r--r--meta-facebook/meta-yosemite4/recipes-phosphor/gpio/phosphor-gpio-monitor/set-button-sled.service7
-rw-r--r--meta-facebook/meta-yosemite4/recipes-phosphor/gpio/phosphor-gpio-monitor/yosemite4-phosphor-multi-gpio-monitor.json12
-rw-r--r--meta-facebook/meta-yosemite4/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend21
-rw-r--r--meta-facebook/meta-yosemite4/recipes-phosphor/images/fb-yosemite4-phosphor-image.inc4
4 files changed, 44 insertions, 0 deletions
diff --git a/meta-facebook/meta-yosemite4/recipes-phosphor/gpio/phosphor-gpio-monitor/set-button-sled.service b/meta-facebook/meta-yosemite4/recipes-phosphor/gpio/phosphor-gpio-monitor/set-button-sled.service
new file mode 100644
index 0000000000..3a7d9ad2d8
--- /dev/null
+++ b/meta-facebook/meta-yosemite4/recipes-phosphor/gpio/phosphor-gpio-monitor/set-button-sled.service
@@ -0,0 +1,7 @@
+[Unit]
+Description=Set Sled Cycle From Power Button
+
+[Service]
+Type=oneshot
+ExecStart=/usr/bin/busctl set-property xyz.openbmc_project.State.Chassis0 /xyz/openbmc_project/state/chassis0 xyz.openbmc_project.State.Chassis RequestedPowerTransition s "xyz.openbmc_project.State.Chassis.Transition.PowerCycle"
+SyslogIdentifier=set-button-sled
diff --git a/meta-facebook/meta-yosemite4/recipes-phosphor/gpio/phosphor-gpio-monitor/yosemite4-phosphor-multi-gpio-monitor.json b/meta-facebook/meta-yosemite4/recipes-phosphor/gpio/phosphor-gpio-monitor/yosemite4-phosphor-multi-gpio-monitor.json
new file mode 100644
index 0000000000..008eddd3d4
--- /dev/null
+++ b/meta-facebook/meta-yosemite4/recipes-phosphor/gpio/phosphor-gpio-monitor/yosemite4-phosphor-multi-gpio-monitor.json
@@ -0,0 +1,12 @@
+[
+ {
+ "Name": "BTN_BMC_R2_N",
+ "ChipId": "0",
+ "GpioNum": 121,
+ "EventMon": "RISING",
+ "Targets": {
+ "RISING": ["set-button-sled.service"]
+ },
+ "Continue": true
+ }
+]
diff --git a/meta-facebook/meta-yosemite4/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend b/meta-facebook/meta-yosemite4/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend
new file mode 100644
index 0000000000..7580795d12
--- /dev/null
+++ b/meta-facebook/meta-yosemite4/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend
@@ -0,0 +1,21 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
+
+inherit obmc-phosphor-systemd systemd
+
+SRC_URI += "file://yosemite4-phosphor-multi-gpio-monitor.json \
+ file://set-button-sled.service \
+ "
+
+FILES:${PN} += "${systemd_system_unitdir}/*"
+
+SYSTEMD_SERVICE:${PN} += " \
+ set-button-sled.service \
+ "
+SYSTEMD_AUTO_ENABLE = "enable"
+
+do_install:append:() {
+ install -d ${D}${datadir}/phosphor-gpio-monitor
+ install -m 0644 ${WORKDIR}/yosemite4-phosphor-multi-gpio-monitor.json \
+ ${D}${datadir}/phosphor-gpio-monitor/phosphor-multi-gpio-monitor.json
+ install -m 0644 ${WORKDIR}/set-button-sled.service ${D}${systemd_system_unitdir}/set-button-sled.service
+}
diff --git a/meta-facebook/meta-yosemite4/recipes-phosphor/images/fb-yosemite4-phosphor-image.inc b/meta-facebook/meta-yosemite4/recipes-phosphor/images/fb-yosemite4-phosphor-image.inc
index 117118d473..79d109ca7c 100644
--- a/meta-facebook/meta-yosemite4/recipes-phosphor/images/fb-yosemite4-phosphor-image.inc
+++ b/meta-facebook/meta-yosemite4/recipes-phosphor/images/fb-yosemite4-phosphor-image.inc
@@ -18,3 +18,7 @@ OBMC_IMAGE_EXTRA_INSTALL:append = " \
plat-svc \
"
+OBMC_IMAGE_EXTRA_INSTALL:append = " \
+ phosphor-gpio-monitor \
+"
+