From 8382bfa2bd22fefd7128e73db0acd910e75d1004 Mon Sep 17 00:00:00 2001 From: Peter Yin Date: Thu, 30 May 2024 18:33:38 +0800 Subject: metfa-facebook: harma: detect hsc power good The CMM can't power on the host if the host sled cycles. Therefore, the host BMC detects the HSC power good rising signal to power on the host. Change-Id: I121422a5fa862e871b05676dd11ed29a14f745fd Signed-off-by: Peter Yin --- .../phosphor-gpio-monitor/deassert-power-hsc-good | 6 ++++ .../deassert-power-hsc-good.service | 8 +++++ .../plat-phosphor-multi-gpio-monitor.json | 18 +++++++--- .../gpio/phosphor-gpio-monitor_%.bbappend | 39 +++++++++++++--------- 4 files changed, 51 insertions(+), 20 deletions(-) create mode 100644 meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/deassert-power-hsc-good create mode 100644 meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/deassert-power-hsc-good.service diff --git a/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/deassert-power-hsc-good b/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/deassert-power-hsc-good new file mode 100644 index 0000000000..ad9fc7c98a --- /dev/null +++ b/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/deassert-power-hsc-good @@ -0,0 +1,6 @@ +#!/bin/bash + +# Set Host Power On +obmcutil poweron + +exit 0 diff --git a/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/deassert-power-hsc-good.service b/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/deassert-power-hsc-good.service new file mode 100644 index 0000000000..9c5aee1d26 --- /dev/null +++ b/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/deassert-power-hsc-good.service @@ -0,0 +1,8 @@ +[Unit] +Description=Deassert Power HSC Good Status + +[Service] +Type=oneshot +ExecStart=/usr/libexec/phosphor-gpio-monitor/deassert-power-hsc-good + +SyslogIdentifier=deassert-power-hsc-good diff --git a/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/plat-phosphor-multi-gpio-monitor.json b/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/plat-phosphor-multi-gpio-monitor.json index 18593a0b1c..22c1040130 100644 --- a/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/plat-phosphor-multi-gpio-monitor.json +++ b/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor/plat-phosphor-multi-gpio-monitor.json @@ -141,13 +141,13 @@ "Continue": true }, { - "Name": "host-ready-n", + "Name": "post-end-n", "ChipId": "2", "GpioNum": 66, "EventMon": "BOTH", "Targets": { - "RISING": ["deassert-post-end.service","deassert-gpio-log@host-ready-n.service"], - "FALLING": ["assert-post-end.service","assert-gpio-log@host-ready-n.service"] + "RISING": ["deassert-post-end.service","deassert-gpio-log@post-end-n.service"], + "FALLING": ["assert-post-end.service","assert-gpio-log@post-end-n.service"] }, "Continue": true @@ -162,5 +162,15 @@ "FALLING": ["assert-gpio-log@leakage-detect-alert.service"] }, "Continue": true + }, + { + "Name": "power-hsc-good", + "ChipId": "2", + "GpioNum": 10, + "EventMon": "RISING", + "Targets": { + "RISING": ["deassert-power-hsc-good.service"] + }, + "Continue": true } -] \ No newline at end of file +] diff --git a/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend b/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend index 46b9d2d4c7..19bb06fa58 100644 --- a/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend +++ b/meta-facebook/meta-harma/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend @@ -2,25 +2,27 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" inherit obmc-phosphor-systemd systemd -SRC_URI += "file://plat-phosphor-multi-gpio-monitor.json \ - file://plat-phosphor-multi-gpio-presence.json \ - file://assert-reset-button.service \ - file://assert-power-good.service \ +SRC_URI += "file://assert-gpio-log@.service \ + file://assert-post-end \ file://assert-post-end.service \ - file://deassert-reset-button.service \ - file://deassert-power-good.service \ - file://deassert-post-end.service \ - file://multi-gpios-sys-init.service \ - file://multi-gpios-sys-init \ file://assert-power-good \ - file://deassert-power-good \ - file://assert-post-end \ - file://deassert-post-end \ + file://assert-power-good.service \ file://assert-reset-button \ - file://deassert-reset-button \ - file://assert-gpio-log@.service \ + file://assert-reset-button.service \ file://deassert-gpio-log@.service \ + file://deassert-post-end \ + file://deassert-post-end.service \ + file://deassert-power-good \ + file://deassert-power-good.service \ + file://deassert-power-hsc-good \ + file://deassert-power-hsc-good.service \ + file://deassert-reset-button \ + file://deassert-reset-button.service \ file://logging \ + file://multi-gpios-sys-init \ + file://multi-gpios-sys-init.service \ + file://plat-phosphor-multi-gpio-monitor.json \ + file://plat-phosphor-multi-gpio-presence.json \ " RDEPENDS:${PN}:append = " bash" @@ -28,12 +30,12 @@ RDEPENDS:${PN}:append = " bash" FILES:${PN} += "${systemd_system_unitdir}/*" SYSTEMD_SERVICE:${PN} += " \ - assert-reset-button.service \ assert-power-good.service \ assert-post-end.service \ - deassert-reset-button.service \ + assert-reset-button.service \ deassert-power-good.service \ deassert-post-end.service \ + deassert-reset-button.service \ multi-gpios-sys-init.service \ " @@ -41,6 +43,9 @@ SYSTEMD_AUTO_ENABLE = "enable" do_install:append:() { install -d ${D}${datadir}/phosphor-gpio-monitor + install -d ${D}${systemd_system_unitdir}/ + install -d ${D}${libexecdir}/${PN} + install -m 0644 ${WORKDIR}/plat-phosphor-multi-gpio-monitor.json \ ${D}${datadir}/phosphor-gpio-monitor/phosphor-multi-gpio-monitor.json install -m 0644 ${WORKDIR}/plat-phosphor-multi-gpio-presence.json \ @@ -61,6 +66,8 @@ do_install:append:() { install -m 0755 ${WORKDIR}/assert-power-good ${D}${libexecdir}/${PN}/ install -m 0755 ${WORKDIR}/deassert-power-good ${D}${libexecdir}/${PN}/ + + install -m 0755 ${WORKDIR}/deassert-power-hsc-good ${D}${libexecdir}/${PN}/ } SYSTEMD_OVERRIDE:${PN}-monitor += "phosphor-multi-gpio-monitor.conf:phosphor-multi-gpio-monitor.service.d/phosphor-multi-gpio-monitor.conf" -- cgit v1.2.3