From 20dd705b5872b2ed9f4da69886afd542abb6f504 Mon Sep 17 00:00:00 2001 From: Hieu Huynh Date: Fri, 22 Dec 2023 11:29:39 +0000 Subject: meta-ampere: handle Overtemp Fault LED Assert Fault LED when detecting OVERTEMP signal asserted. This is done by adding new overtemp_fault LED group and update the overtemp service to assert/de-assert the LED group. 1. Start the ampere_overtemp@.service 2. Verify that the `Fault Led` is turned on and turn off after 10s. 3. Verify that Thermal Trip SEL is created. Signed-off-by: Hieu Huynh Change-Id: Ifbc203bf79a13741082d84850b9e75ca6148a6cd --- .../gpio/phosphor-gpio-monitor/ampere_overtemp.sh | 8 ++++++++ .../gpio/phosphor-gpio-monitor/ampere_overtemp@.service | 3 +-- .../recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend | 12 ++++++++++++ .../leds/phosphor-led-manager/led-group-config.json | 11 +++++++++++ .../leds/phosphor-led-manager/led-group-config.json | 11 +++++++++++ 5 files changed, 43 insertions(+), 2 deletions(-) create mode 100644 meta-ampere/meta-common/recipes-phosphor/gpio/phosphor-gpio-monitor/ampere_overtemp.sh (limited to 'meta-ampere') diff --git a/meta-ampere/meta-common/recipes-phosphor/gpio/phosphor-gpio-monitor/ampere_overtemp.sh b/meta-ampere/meta-common/recipes-phosphor/gpio/phosphor-gpio-monitor/ampere_overtemp.sh new file mode 100644 index 0000000000..803bab8fb4 --- /dev/null +++ b/meta-ampere/meta-common/recipes-phosphor/gpio/phosphor-gpio-monitor/ampere_overtemp.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +# Assert/Deassert system fault led +ampere_add_redfishevent.sh OpenBMC.0.1.CPUThermalTrip.Critical "$1" +busctl set-property xyz.openbmc_project.LED.GroupManager /xyz/openbmc_project/led/groups/overtemp_fault xyz.openbmc_project.Led.Group Asserted b true +obmcutil chassisoff +sleep 10 +busctl set-property xyz.openbmc_project.LED.GroupManager /xyz/openbmc_project/led/groups/overtemp_fault xyz.openbmc_project.Led.Group Asserted b false diff --git a/meta-ampere/meta-common/recipes-phosphor/gpio/phosphor-gpio-monitor/ampere_overtemp@.service b/meta-ampere/meta-common/recipes-phosphor/gpio/phosphor-gpio-monitor/ampere_overtemp@.service index 06c2e9b226..11de73fe6b 100644 --- a/meta-ampere/meta-common/recipes-phosphor/gpio/phosphor-gpio-monitor/ampere_overtemp@.service +++ b/meta-ampere/meta-common/recipes-phosphor/gpio/phosphor-gpio-monitor/ampere_overtemp@.service @@ -3,5 +3,4 @@ Description=Ampere Computing LLC Overtemp event handling [Service] Restart=no -ExecStart=/bin/sh -c "touch /tmp/fault_overtemp && obmcutil chassisoff" -ExecStartPost=/bin/sh -c "ampere_add_redfishevent.sh OpenBMC.0.1.CPUThermalTrip.Critical %i && sleep 10 && rm /tmp/fault_overtemp" +ExecStart=/usr/sbin/ampere_overtemp.sh %i diff --git a/meta-ampere/meta-common/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend b/meta-ampere/meta-common/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend index f8cf1d43cb..fb411e0f3c 100644 --- a/meta-ampere/meta-common/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend +++ b/meta-ampere/meta-common/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend @@ -1,5 +1,9 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" +SRC_URI += " \ + file://ampere_overtemp.sh \ + " + SYSTEMD_SERVICE:${PN}-monitor += " \ ampere-host-shutdown-ack@.service \ ampere_overtemp@.service \ @@ -7,5 +11,13 @@ SYSTEMD_SERVICE:${PN}-monitor += " \ ampere_hightemp_stop@.service \ " +FILES:${PN}-monitor += " \ + /usr/sbin/ampere_overtemp.sh \ + " + SYSTEMD_LINK:${PN}-monitor:append = " ../phosphor-multi-gpio-monitor.service:multi-user.target.requires/phosphor-multi-gpio-monitor.service" +do_install:append() { + install -d ${D}/usr/sbin + install -m 0755 ${WORKDIR}/ampere_overtemp.sh ${D}/${sbindir}/ +} diff --git a/meta-ampere/meta-jade/recipes-phosphor/leds/phosphor-led-manager/led-group-config.json b/meta-ampere/meta-jade/recipes-phosphor/leds/phosphor-led-manager/led-group-config.json index bec2a99b6c..b92fa87529 100644 --- a/meta-ampere/meta-jade/recipes-phosphor/leds/phosphor-led-manager/led-group-config.json +++ b/meta-ampere/meta-jade/recipes-phosphor/leds/phosphor-led-manager/led-group-config.json @@ -42,6 +42,17 @@ "Period": 1000 } ] + }, + { + "group": "overtemp_fault", + "members": [ + { + "Name": "fault", + "Action": "On", + "DutyOn": 50, + "Period": 1000 + } + ] } ] } diff --git a/meta-ampere/meta-mitchell/recipes-phosphor/leds/phosphor-led-manager/led-group-config.json b/meta-ampere/meta-mitchell/recipes-phosphor/leds/phosphor-led-manager/led-group-config.json index ef35e053bb..107b70c2c1 100644 --- a/meta-ampere/meta-mitchell/recipes-phosphor/leds/phosphor-led-manager/led-group-config.json +++ b/meta-ampere/meta-mitchell/recipes-phosphor/leds/phosphor-led-manager/led-group-config.json @@ -60,6 +60,17 @@ "Period": 1000 } ] + }, + { + "group": "overtemp_fault", + "members": [ + { + "Name": "fault", + "Action": "On", + "DutyOn": 50, + "Period": 1000 + } + ] } ] } -- cgit v1.2.3