diff options
author | Kumar Thangavel <thangavel.k@hcl.com> | 2022-10-10 19:23:14 +0300 |
---|---|---|
committer | Patrick Williams <patrick@stwcx.xyz> | 2022-12-15 20:44:36 +0300 |
commit | 3dd6c2255e5adf02e85c6eb1662993df02c545d2 (patch) | |
tree | 778214b26b9c23f3aabdf852a6b0fe811fb82292 /meta-facebook | |
parent | 14f3377ff2a359faa31c787b34c2c8163e73f1c2 (diff) | |
download | openbmc-3dd6c2255e5adf02e85c6eb1662993df02c545d2.tar.xz |
meta-facebook: Add support for phosphor-gpio-monitor
Added phosphor-gpio-monitor support for facebook platforms
to enable hot plug/unplug of host feature.
TESTED : Verified hot plug/unplug of all hosts are enabled
and tested in Facebook YosemiteV2 platform.
Signed-off-by: Kumar Thangavel <thangavel.k@hcl.com>
Change-Id: I7ff6647942cdc979c2a3dc6f4c85c1273785cf65
Diffstat (limited to 'meta-facebook')
4 files changed, 73 insertions, 0 deletions
diff --git a/meta-facebook/recipes-phosphor/gpio/phosphor-gpio-monitor/fb-compute-multihost/phosphor-multi-gpio-monitor.json b/meta-facebook/recipes-phosphor/gpio/phosphor-gpio-monitor/fb-compute-multihost/phosphor-multi-gpio-monitor.json new file mode 100644 index 0000000000..2499d66ff4 --- /dev/null +++ b/meta-facebook/recipes-phosphor/gpio/phosphor-gpio-monitor/fb-compute-multihost/phosphor-multi-gpio-monitor.json @@ -0,0 +1,30 @@ +[ + { + "Name": "presence-slot1", + "LineName": "PRESENCE-SLOT1", + "EventMon": "BOTH", + "Continue": true, + "Target": "obmc-ipmb-rescan-fru.service" + }, + { + "Name": "presence-slot2", + "LineName": "PRESENCE-SLOT2", + "EventMon": "BOTH", + "Continue": true, + "Target": "obmc-ipmb-rescan-fru.service" + }, + { + "Name": "presence-slot3", + "LineName": "PRESENCE-SLOT3", + "EventMon": "BOTH", + "Continue": true, + "Target": "obmc-ipmb-rescan-fru.service" + }, + { + "Name": "presence-slot4", + "LineName": "PRESENCE-SLOT4", + "EventMon": "BOTH", + "Continue": true, + "Target": "obmc-ipmb-rescan-fru.service" + } +] diff --git a/meta-facebook/recipes-phosphor/gpio/phosphor-gpio-monitor/ipmb-rescan-fru.sh b/meta-facebook/recipes-phosphor/gpio/phosphor-gpio-monitor/ipmb-rescan-fru.sh new file mode 100644 index 0000000000..cee0eacf9e --- /dev/null +++ b/meta-facebook/recipes-phosphor/gpio/phosphor-gpio-monitor/ipmb-rescan-fru.sh @@ -0,0 +1,8 @@ +#!/bin/bash +# Rescan the ipmb busses for slots fru. + +DBUS_SERVICE="xyz.openbmc_project.Ipmb.FruDevice" +DBUS_OBJECT="/xyz/openbmc_project/Ipmb/FruDevice" +DBUS_INTERFACE="xyz.openbmc_project.Ipmb.FruDeviceManager" + +busctl call $DBUS_SERVICE $DBUS_OBJECT $DBUS_INTERFACE ReScan diff --git a/meta-facebook/recipes-phosphor/gpio/phosphor-gpio-monitor/obmc-ipmb-rescan-fru.service b/meta-facebook/recipes-phosphor/gpio/phosphor-gpio-monitor/obmc-ipmb-rescan-fru.service new file mode 100644 index 0000000000..4c71b03ae8 --- /dev/null +++ b/meta-facebook/recipes-phosphor/gpio/phosphor-gpio-monitor/obmc-ipmb-rescan-fru.service @@ -0,0 +1,6 @@ +[Unit] +Description=ipmb based rescan the slots fru service + +[Service] +Type=oneshot +ExecStart=/usr/libexec/phosphor-gpio-monitor/ipmb-rescan-fru.sh diff --git a/meta-facebook/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend b/meta-facebook/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend new file mode 100644 index 0000000000..e64313e93e --- /dev/null +++ b/meta-facebook/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend @@ -0,0 +1,29 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" + +SRC_URI:append:fb-compute-multihost = " file://phosphor-multi-gpio-monitor.json" +SRC_URI:append:fb-compute-multihost = " file://obmc-ipmb-rescan-fru.service" +SRC_URI:append:fb-compute-multihost = " file://ipmb-rescan-fru.sh" + +RDEPENDS:${PN} += "bash" + +SYSTEMD_SERVICE:${PN}-monitor += "phosphor-multi-gpio-monitor.service" +SYSTEMD_SERVICE:${PN} += "obmc-ipmb-rescan-fru.service" + +SYSTEMD_LINK:${PN}-monitor:append = " ../phosphor-multi-gpio-monitor.service:multi-user.target.requires/phosphor-multi-gpio-monitor.service" + +GPIO_HOST_TEMPLATES:append = " ${WORKDIR}/phosphor-multi-gpio-monitor.json" + +do_install:append:fb-compute-multihost() { + + install -d ${D}/usr/share/phosphor-gpio-monitor + install -m 0644 ${WORKDIR}/phosphor-multi-gpio-monitor.json \ + ${D}/usr/share/phosphor-gpio-monitor/phosphor-multi-gpio-monitor.json + + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${WORKDIR}/obmc-ipmb-rescan-fru.service \ + ${D}${systemd_system_unitdir} + + install -d ${D}/usr/libexec/phosphor-gpio-monitor + install -m 0777 ${WORKDIR}/ipmb-rescan-fru.sh ${D}/usr/libexec/phosphor-gpio-monitor/ +} +FILES:${PN} += "/lib/systemd/system/obmc-ipmb-rescan-fru.service" |