summaryrefslogtreecommitdiff
path: root/meta-ampere/meta-jade/recipes-phosphor
diff options
context:
space:
mode:
authorThang Q. Nguyen <thang@os.amperecomputing.com>2021-12-30 14:06:27 +0300
committerThang Q. Nguyen <thang@os.amperecomputing.com>2022-01-05 10:07:30 +0300
commit90bb5e1711164a659a1ba16833b7c46202f93d2e (patch)
tree0f551335d26630f0447349a1cb33b2a6c0d8224d /meta-ampere/meta-jade/recipes-phosphor
parent11b7ccf247c14c9c0a0ecde299c45318ff7067a4 (diff)
downloadopenbmc-90bb5e1711164a659a1ba16833b7c46202f93d2e.tar.xz
meta-ampere: mtjade: handle Tempt events
Handle S0/1 OVERTEMP and S0/1 HIGHTEMP GPIO signals from Host CPU that turn off the Host to prevent hardware damage and log an event. Tested: 1. Assert OVERTEMP event by running below command from SCP console: S0-cli> mww 0x10000f0112d0 0x2 Check if the Host is turned OFF and event is logged 2. Assert and deassert HIGHTEMP event on Socket 0 and check if new events are logged. 3. Repeat steps 1 and 2 on Socket 1 Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com> Change-Id: I16c9676be379ac5d21849c591fbdadda4a6951ef
Diffstat (limited to 'meta-ampere/meta-jade/recipes-phosphor')
-rw-r--r--meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor.bb32
-rw-r--r--meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor/ampere_hightemp_start@.service6
-rw-r--r--meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor/ampere_hightemp_stop@.service6
-rw-r--r--meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor/ampere_overtemp@.service7
-rw-r--r--meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor/obmc/gpio/S0_hightemp_start4
-rw-r--r--meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor/obmc/gpio/S0_hightemp_stop4
-rw-r--r--meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor/obmc/gpio/S0_overtemp4
-rw-r--r--meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor/obmc/gpio/S1_hightemp_start4
-rw-r--r--meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor/obmc/gpio/S1_hightemp_stop4
-rw-r--r--meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor/obmc/gpio/S1_overtemp4
-rw-r--r--meta-ampere/meta-jade/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend1
11 files changed, 76 insertions, 0 deletions
diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor.bb b/meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor.bb
new file mode 100644
index 0000000000..c57ab1323c
--- /dev/null
+++ b/meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor.bb
@@ -0,0 +1,32 @@
+SUMMARY = "Ampere Computing LLC Host temperature event monitor application"
+PR = "r1"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+inherit obmc-phosphor-systemd
+inherit allarch
+
+DEPENDS += "virtual/obmc-gpio-monitor"
+RDEPENDS:${PN} += "virtual/obmc-gpio-monitor"
+
+OBMC_HOST_MONITOR_INSTANCES = "S0_overtemp S1_overtemp S0_hightemp_start S0_hightemp_stop S1_hightemp_start S1_hightemp_stop"
+
+# Copies config file having arguments for monitoring host overtemp
+# via GPIO assertion
+SYSTEMD_ENVIRONMENT_FILE:${PN} += " \
+ obmc/gpio/S0_overtemp \
+ obmc/gpio/S0_hightemp_start \
+ obmc/gpio/S0_hightemp_stop \
+ obmc/gpio/S1_overtemp \
+ obmc/gpio/S1_hightemp_start \
+ obmc/gpio/S1_hightemp_stop \
+ "
+
+
+SYSTEMD_SERVICE:${PN} = "ampere_overtemp@.service ampere_hightemp_start@.service ampere_hightemp_stop@.service"
+
+GPIO_MONITOR_TMPL = "phosphor-gpio-monitor@.service"
+GPIO_MONITOR_TGTFMT = "phosphor-gpio-monitor@{0}.service"
+TGT = "multi-user.target"
+TEMPEVENT_MONITOR_FMT = "../${GPIO_MONITOR_TMPL}:${TGT}.requires/${GPIO_MONITOR_TGTFMT}"
+SYSTEMD_LINK:${PN} += "${@compose_list(d, 'TEMPEVENT_MONITOR_FMT', 'OBMC_HOST_MONITOR_INSTANCES', 'OBMC_HOST_INSTANCES')}"
diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor/ampere_hightemp_start@.service b/meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor/ampere_hightemp_start@.service
new file mode 100644
index 0000000000..5f26194eb0
--- /dev/null
+++ b/meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor/ampere_hightemp_start@.service
@@ -0,0 +1,6 @@
+[Unit]
+Description=Ampere Computing LLC HighTempt event
+
+[Service]
+Restart=no
+ExecStart=/usr/bin/env ampere_add_redfishevent.sh OpenBMC.0.1.AmpereEvent.Warning "CPU%i HighTemp asserted"
diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor/ampere_hightemp_stop@.service b/meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor/ampere_hightemp_stop@.service
new file mode 100644
index 0000000000..012b0ddaf9
--- /dev/null
+++ b/meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor/ampere_hightemp_stop@.service
@@ -0,0 +1,6 @@
+[Unit]
+Description=Ampere Computing LLC HighTempt event
+
+[Service]
+Restart=no
+ExecStart=/usr/bin/env ampere_add_redfishevent.sh OpenBMC.0.1.AmpereEvent.OK "CPU%i HighTemp deasserted"
diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor/ampere_overtemp@.service b/meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor/ampere_overtemp@.service
new file mode 100644
index 0000000000..587cba195d
--- /dev/null
+++ b/meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor/ampere_overtemp@.service
@@ -0,0 +1,7 @@
+[Unit]
+Description=Ampere Computing LLC Overtemp event
+
+[Service]
+Restart=no
+ExecStart=/usr/bin/env obmcutil chassisoff
+ExecStartPost=/usr/bin/env ampere_add_redfishevent.sh OpenBMC.0.1.CPUThermalTrip.Critical %i
diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor/obmc/gpio/S0_hightemp_start b/meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor/obmc/gpio/S0_hightemp_start
new file mode 100644
index 0000000000..44dc221ed8
--- /dev/null
+++ b/meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor/obmc/gpio/S0_hightemp_start
@@ -0,0 +1,4 @@
+DEVPATH=/dev/input/by-path/platform-gpio-keys-event
+KEY=72
+POLARITY=1
+TARGET=ampere_hightemp_start@0.service
diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor/obmc/gpio/S0_hightemp_stop b/meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor/obmc/gpio/S0_hightemp_stop
new file mode 100644
index 0000000000..ccd0519094
--- /dev/null
+++ b/meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor/obmc/gpio/S0_hightemp_stop
@@ -0,0 +1,4 @@
+DEVPATH=/dev/input/by-path/platform-gpio-keys-event
+KEY=72
+POLARITY=0
+TARGET=ampere_hightemp_stop@0.service
diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor/obmc/gpio/S0_overtemp b/meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor/obmc/gpio/S0_overtemp
new file mode 100644
index 0000000000..e39e196805
--- /dev/null
+++ b/meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor/obmc/gpio/S0_overtemp
@@ -0,0 +1,4 @@
+DEVPATH=/dev/input/by-path/platform-gpio-keys-event
+KEY=51
+POLARITY=1
+TARGET=ampere_overtemp@0.service
diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor/obmc/gpio/S1_hightemp_start b/meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor/obmc/gpio/S1_hightemp_start
new file mode 100644
index 0000000000..901eb00801
--- /dev/null
+++ b/meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor/obmc/gpio/S1_hightemp_start
@@ -0,0 +1,4 @@
+DEVPATH=/dev/input/by-path/platform-gpio-keys-event
+KEY=216
+POLARITY=1
+TARGET=ampere_hightemp_start@1.service
diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor/obmc/gpio/S1_hightemp_stop b/meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor/obmc/gpio/S1_hightemp_stop
new file mode 100644
index 0000000000..f1b4cc12be
--- /dev/null
+++ b/meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor/obmc/gpio/S1_hightemp_stop
@@ -0,0 +1,4 @@
+DEVPATH=/dev/input/by-path/platform-gpio-keys-event
+KEY=216
+POLARITY=0
+TARGET=ampere_hightemp_start@1.service
diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor/obmc/gpio/S1_overtemp b/meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor/obmc/gpio/S1_overtemp
new file mode 100644
index 0000000000..c7bb8c1bc4
--- /dev/null
+++ b/meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor/obmc/gpio/S1_overtemp
@@ -0,0 +1,4 @@
+DEVPATH=/dev/input/by-path/platform-gpio-keys-event
+KEY=206
+POLARITY=1
+TARGET=ampere_overtemp@1.service
diff --git a/meta-ampere/meta-jade/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend b/meta-ampere/meta-jade/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend
index 7b27a7edd9..23015afbb8 100644
--- a/meta-ampere/meta-jade/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend
+++ b/meta-ampere/meta-jade/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend
@@ -6,6 +6,7 @@ RDEPENDS:${PN}-extras:append:mtjade = " \
fault-monitor \
id-button \
psu-hotswap-reset \
+ tempevent-monitor \
"
RDEPENDS:${PN}-inventory:append:mtjade = " \