diff options
author | Delphine CC Chiu <Delphine_CC_Chiu@wiwynn.com> | 2023-10-18 13:39:21 +0300 |
---|---|---|
committer | Patrick Williams <patrick@stwcx.xyz> | 2023-10-24 10:58:43 +0300 |
commit | 9d5d2484a825538ce74a6460323a68e96338547f (patch) | |
tree | e5bca1a002fda0c6e56b65e6758c60a192d05093 | |
parent | 8f8242772f01a745de3b734cf677abfd4ff0d913 (diff) | |
download | openbmc-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>
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 \ +" + |