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
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 0000000..5f26194
--- /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 0000000..012b0dd
--- /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 0000000..587cba1
--- /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 0000000..44dc221
--- /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 0000000..ccd0519
--- /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 0000000..e39e196
--- /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 0000000..901eb00
--- /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 0000000..f1b4cc1
--- /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 0000000..c7bb8c1
--- /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