diff options
author | Thang Q. Nguyen <thang@os.amperecomputing.com> | 2021-12-06 13:18:21 +0300 |
---|---|---|
committer | Thang Q. Nguyen <thang@os.amperecomputing.com> | 2022-01-08 07:19:41 +0300 |
commit | bd7d6337dc36057c697d3abb02c96e107c9ea870 (patch) | |
tree | 9bf58657cc4c80002922436aeeb84e048e32f1ce /meta-ampere | |
parent | 8563c839fa299581a905deb3afd551406e6ab459 (diff) | |
download | openbmc-bd7d6337dc36057c697d3abb02c96e107c9ea870.tar.xz |
meta-ampere: mtjade: unify gpio handling service
Instead of having many bitbake recipes for Altra GPIO handling,
combining them into a single recipe so that the code look cleaner.
Tested:
1. Check ID button still works.
2. Check hightemp and overtemp handing still works.
3. Check Fault LED works correctly.
4. Check graceful shutdown and Host reboot still work.
Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com>
Change-Id: Ic6eef75702cf0353ae2d84a3cda0ffb84d10f4cc
Diffstat (limited to 'meta-ampere')
38 files changed, 175 insertions, 220 deletions
diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling.bb b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling.bb new file mode 100644 index 0000000000..bf019edbef --- /dev/null +++ b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling.bb @@ -0,0 +1,71 @@ +SUMMARY = "Ampere Computing LLC Host Gpio Handling" +PR = "r1" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" + +inherit obmc-phosphor-systemd + +DEPENDS += "virtual/obmc-gpio-monitor" +RDEPENDS:${PN} += "virtual/obmc-gpio-monitor" +RDEPENDS:${PN} += "bash" + +SRC_URI += " \ + file://toggle_fault_led.sh \ + file://ampere_psu_reset_hotswap.sh \ + file://toggle_identify_led.sh \ + file://ampere_scp_failover.sh \ + " + +AMPERE_MONITOR_INSTANCES = " \ + reboot_ack shutdown_ack id_button iS0_scp_auth_failure \ + S0_overtemp S0_hightemp_start S0_hightemp_stop \ + S1_overtemp S1_hightemp_start S1_hightemp_stop \ + S0_fault_alert_start S0_fault_alert_stop \ + S1_fault_alert_start S1_fault_alert_stop \ + PSU1_VIN_GOOD PSU2_VIN_GOOD \ + " + +SYSTEMD_ENVIRONMENT_FILE:${PN} +=" \ + obmc/gpio/reboot_ack \ + obmc/gpio/shutdown_ack \ + obmc/gpio/id_button \ + obmc/gpio/S0_scp_auth_failure \ + 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 \ + obmc/gpio/S0_fault_alert_start \ + obmc/gpio/S0_fault_alert_stop \ + obmc/gpio/S1_fault_alert_start \ + obmc/gpio/S1_fault_alert_stop \ + obmc/gpio/PSU1_VIN_GOOD \ + obmc/gpio/PSU2_VIN_GOOD \ + " + +TMPL = "phosphor-gpio-monitor@.service" +INSTFMT = "phosphor-gpio-monitor@{0}.service" +TGT = "multi-user.target" +FMT = "../${TMPL}:${TGT}.requires/${INSTFMT}" + +SYSTEMD_SERVICE:${PN} += " \ + ampere-host-shutdown-ack@.service \ + ampere_overtemp@.service \ + ampere_hightemp_start@.service \ + ampere_hightemp_stop@.service \ + ampere_fault_led_start@.service \ + ampere_fault_led_stop@.service \ + psu_hotswap_reset@.service \ + id-button-pressed.service \ + ampere_scp_failover.service \ + " +SYSTEMD_LINK:${PN} += "${@compose_list(d, 'FMT', 'AMPERE_MONITOR_INSTANCES')}" + +do_install() { + install -d ${D}${sbindir} + install -m 0755 ${WORKDIR}/toggle_fault_led.sh ${D}${sbindir}/ + install -m 0755 ${WORKDIR}/toggle_identify_led.sh ${D}${sbindir}/ + install -m 0755 ${WORKDIR}/ampere_psu_reset_hotswap.sh ${D}${sbindir}/ + install -m 0755 ${WORKDIR}/ampere_scp_failover.sh ${D}${sbindir}/ +} diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/host-gpio-handling/ampere-host-shutdown-ack@.service b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/ampere-host-shutdown-ack@.service index 6588191aae..6588191aae 100644 --- a/meta-ampere/meta-jade/recipes-phosphor/gpio/host-gpio-handling/ampere-host-shutdown-ack@.service +++ b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/ampere-host-shutdown-ack@.service diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/fault-monitor/ampere_fault_led.service b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/ampere_fault_led_start@.service index 05c63d0127..18ee1bee52 100644 --- a/meta-ampere/meta-jade/recipes-phosphor/gpio/fault-monitor/ampere_fault_led.service +++ b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/ampere_fault_led_start@.service @@ -6,5 +6,5 @@ StartLimitIntervalSec=0 [Service] Type=oneshot -ExecStart=/usr/bin/env toggle_fault_led.sh +ExecStart=/usr/bin/env toggle_fault_led.sh %i on SyslogIdentifier=fault-led diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/ampere_fault_led_stop@.service b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/ampere_fault_led_stop@.service new file mode 100644 index 0000000000..83f442cef4 --- /dev/null +++ b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/ampere_fault_led_stop@.service @@ -0,0 +1,10 @@ +[Unit] +Description=Ampere Computing LLC fault event condition service +Wants=mapper-wait@-xyz-openbmc_project-led-groups.service +After=mapper-wait@-xyz-openbmc_project-led-groups.service +StartLimitIntervalSec=0 + +[Service] +Type=oneshot +ExecStart=/usr/bin/env toggle_fault_led.sh %i off +SyslogIdentifier=fault-led diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor/ampere_hightemp_start@.service b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/ampere_hightemp_start@.service index 5f26194eb0..5f26194eb0 100644 --- a/meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor/ampere_hightemp_start@.service +++ b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/ampere_hightemp_start@.service diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor/ampere_hightemp_stop@.service b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/ampere_hightemp_stop@.service index 012b0ddaf9..012b0ddaf9 100644 --- a/meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor/ampere_hightemp_stop@.service +++ b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/ampere_hightemp_stop@.service diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor/ampere_overtemp@.service b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/ampere_overtemp@.service index 587cba195d..587cba195d 100644 --- a/meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor/ampere_overtemp@.service +++ b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/ampere_overtemp@.service diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/psu-hotswap-reset/ampere_psu_reset_hotswap.sh b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/ampere_psu_reset_hotswap.sh index 37a3ce3017..3ff3e1fc6a 100755 --- a/meta-ampere/meta-jade/recipes-phosphor/gpio/psu-hotswap-reset/ampere_psu_reset_hotswap.sh +++ b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/ampere_psu_reset_hotswap.sh @@ -29,15 +29,15 @@ STATUS_MFR_SPECIFIC=0x80 # $1 will be the name of the psu PSU=$1 -if [ "$PSU" = 1 ]; then +if [ "$PSU" = 0 ]; then HSC_PMBUS_NUM=$HSC1_PMBUS_NUM HSC_SLAVE_ADDR=$HSC1_SLAVE_ADDR -elif [ "$PSU" = 2 ]; then +elif [ "$PSU" = 1 ]; then HSC_PMBUS_NUM=$HSC2_PMBUS_NUM HSC_SLAVE_ADDR=$HSC2_SLAVE_ADDR else - echo "Please choose PSU1 (1) or PSU2 (2)" - echo "Ex: ampere_psu_reset_hotswap.sh 1" + echo "Please choose PSU1 (0) or PSU2 (1)" + echo "Ex: ampere_psu_reset_hotswap.sh 0" exit 0 fi diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/ampere_scp_failover.service b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/ampere_scp_failover.service new file mode 100644 index 0000000000..ff4dec57a3 --- /dev/null +++ b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/ampere_scp_failover.service @@ -0,0 +1,6 @@ +[Unit] +Description=Ampere Computing LLC Ampere failover event service + +[Service] +Restart=no +ExecStart=/usr/bin/env ampere_scp_failover.sh diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/ampere_scp_failover.sh b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/ampere_scp_failover.sh new file mode 100644 index 0000000000..56319a3074 --- /dev/null +++ b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/ampere_scp_failover.sh @@ -0,0 +1,32 @@ +#!/bin/bash + +# Handle the SCP Failover feature in which: +# - If the BMC receives the SCP_AUTH_FAILURE signal from Socket0, +# attempts to boot from the failover boot EEPROM. +# - If the second boot fails, treats this as a permanent boot failure +# and logs an event in SEL. + +# shellcheck disable=SC1091 +source /usr/sbin/gpio-lib.sh +source /usr/sbin/gpio-defs.sh + +# Check the I2C_BACKUP_SEL +I2C_BACKUP_SEL=$(gpio_get_val "$BMC_I2C_BACKUP_SEL") +if [ "${I2C_BACKUP_SEL}" == "1" ]; then + # If it is HIGH, set it LOW. Then reset the Host to boot from + # the failover Boot EEPROM. + echo "scp-failover: switch HOST to failover boot EEPROM" + gpioset "$(gpiofind BMC_SELECT_EEPROM)"=0 + + # Reset the Host to boot on the failover EEPROM + ampere_power_util.sh mb force_reset +else + # Turn OFF Host as SCP firmware on both Boot EEPROM fail + obmcutil chassisoff + + echo "scp-failover: switch HOST back to the main Boot EEPROM" + gpioset "$(gpiofind BMC_SELECT_EEPROM)"=1 + + # Log event + ampere_add_redfishevent.sh OpenBMC.0.1.GeneralFirmwareSecurityViolation.Critical "SCP Authentication failure" +fi diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/id-button/id-button-pressed.service b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/id-button-pressed.service index 0a97ed70c7..f633fc3076 100644 --- a/meta-ampere/meta-jade/recipes-phosphor/gpio/id-button/id-button-pressed.service +++ b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/id-button-pressed.service @@ -6,5 +6,5 @@ StartLimitIntervalSec=0 [Service] Type=oneshot -ExecStart=/usr/bin/toggle_identify_led.sh +ExecStart=/usr/bin/env toggle_identify_led.sh SyslogIdentifier=id-button diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/psu-hotswap-reset/obmc/gpio/PSU1_B25 b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/obmc/gpio/PSU1_VIN_GOOD index b0ce1a83e2..cf13085b1d 100644 --- a/meta-ampere/meta-jade/recipes-phosphor/gpio/psu-hotswap-reset/obmc/gpio/PSU1_B25 +++ b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/obmc/gpio/PSU1_VIN_GOOD @@ -1,4 +1,4 @@ DEVPATH=/dev/input/by-path/platform-gpio-keys-event KEY=60 POLARITY=0 -TARGET=psu1_hotswap_reset.service +TARGET=psu_hotswap_reset@0.service diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/psu-hotswap-reset/obmc/gpio/PSU2_B25 b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/obmc/gpio/PSU2_VIN_GOOD index ac50f53753..7588c2595c 100644 --- a/meta-ampere/meta-jade/recipes-phosphor/gpio/psu-hotswap-reset/obmc/gpio/PSU2_B25 +++ b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/obmc/gpio/PSU2_VIN_GOOD @@ -1,4 +1,4 @@ DEVPATH=/dev/input/by-path/platform-gpio-keys-event KEY=61 POLARITY=0 -TARGET=psu2_hotswap_reset.service +TARGET=psu_hotswap_reset@1.service diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/fault-monitor/obmc/gpio/s0_fault_alert b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/obmc/gpio/S0_fault_alert_start index dd048efbd3..c13da449c7 100644 --- a/meta-ampere/meta-jade/recipes-phosphor/gpio/fault-monitor/obmc/gpio/s0_fault_alert +++ b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/obmc/gpio/S0_fault_alert_start @@ -1,5 +1,5 @@ DEVPATH=/dev/input/by-path/platform-gpio-keys-event KEY=73 POLARITY=1 -TARGET=ampere_fault_led.service +TARGET=ampere_fault_led_start@0.service EXTRA_ARGS=--continue diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/obmc/gpio/S0_fault_alert_stop b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/obmc/gpio/S0_fault_alert_stop new file mode 100644 index 0000000000..7233f881a8 --- /dev/null +++ b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/obmc/gpio/S0_fault_alert_stop @@ -0,0 +1,5 @@ +DEVPATH=/dev/input/by-path/platform-gpio-keys-event +KEY=73 +POLARITY=0 +TARGET=ampere_fault_led_stop@0.service +EXTRA_ARGS=--continue 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/ampere-gpio-handling/obmc/gpio/S0_hightemp_start index 44dc221ed8..44dc221ed8 100644 --- a/meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor/obmc/gpio/S0_hightemp_start +++ b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/obmc/gpio/S0_hightemp_start 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/ampere-gpio-handling/obmc/gpio/S0_hightemp_stop index ccd0519094..ccd0519094 100644 --- a/meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor/obmc/gpio/S0_hightemp_stop +++ b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/obmc/gpio/S0_hightemp_stop diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor/obmc/gpio/S0_overtemp b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/obmc/gpio/S0_overtemp index e39e196805..e39e196805 100644 --- a/meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor/obmc/gpio/S0_overtemp +++ b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/obmc/gpio/S0_overtemp diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/obmc/gpio/S0_scp_auth_failure b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/obmc/gpio/S0_scp_auth_failure new file mode 100644 index 0000000000..e8e975f9f0 --- /dev/null +++ b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/obmc/gpio/S0_scp_auth_failure @@ -0,0 +1,4 @@ +DEVPATH=/dev/input/by-path/platform-gpio-keys-event +KEY=74 +POLARITY=1 +TARGET=ampere_scp_failover.service diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/fault-monitor/obmc/gpio/s1_fault_alert b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/obmc/gpio/S1_fault_alert_start index 1963ce0594..6fa47857bf 100644 --- a/meta-ampere/meta-jade/recipes-phosphor/gpio/fault-monitor/obmc/gpio/s1_fault_alert +++ b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/obmc/gpio/S1_fault_alert_start @@ -1,5 +1,5 @@ DEVPATH=/dev/input/by-path/platform-gpio-keys-event KEY=201 POLARITY=1 -TARGET=ampere_fault_led.service +TARGET=ampere_fault_led_start@1.service EXTRA_ARGS=--continue diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/obmc/gpio/S1_fault_alert_stop b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/obmc/gpio/S1_fault_alert_stop new file mode 100644 index 0000000000..36b29ec462 --- /dev/null +++ b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/obmc/gpio/S1_fault_alert_stop @@ -0,0 +1,5 @@ +DEVPATH=/dev/input/by-path/platform-gpio-keys-event +KEY=201 +POLARITY=0 +TARGET=ampere_fault_led_stop@1.service +EXTRA_ARGS=--continue 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/ampere-gpio-handling/obmc/gpio/S1_hightemp_start index 901eb00801..901eb00801 100644 --- a/meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor/obmc/gpio/S1_hightemp_start +++ b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/obmc/gpio/S1_hightemp_start 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/ampere-gpio-handling/obmc/gpio/S1_hightemp_stop index f1b4cc12be..f1b4cc12be 100644 --- a/meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor/obmc/gpio/S1_hightemp_stop +++ b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/obmc/gpio/S1_hightemp_stop diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor/obmc/gpio/S1_overtemp b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/obmc/gpio/S1_overtemp index c7bb8c1bc4..c7bb8c1bc4 100644 --- a/meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor/obmc/gpio/S1_overtemp +++ b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/obmc/gpio/S1_overtemp diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/id-button/obmc/gpio/id_button b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/obmc/gpio/id_button index 70e2b585b2..70e2b585b2 100644 --- a/meta-ampere/meta-jade/recipes-phosphor/gpio/id-button/obmc/gpio/id_button +++ b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/obmc/gpio/id_button diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/host-gpio-handling/obmc/gpio/reboot_ack b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/obmc/gpio/reboot_ack index a8ad98ee75..a8ad98ee75 100644 --- a/meta-ampere/meta-jade/recipes-phosphor/gpio/host-gpio-handling/obmc/gpio/reboot_ack +++ b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/obmc/gpio/reboot_ack diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/host-gpio-handling/obmc/gpio/shutdown_ack b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/obmc/gpio/shutdown_ack index 18cc87246f..18cc87246f 100644 --- a/meta-ampere/meta-jade/recipes-phosphor/gpio/host-gpio-handling/obmc/gpio/shutdown_ack +++ b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/obmc/gpio/shutdown_ack diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/psu-hotswap-reset/psu1_hotswap_reset.service b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/psu_hotswap_reset@.service index 9694d2a705..357cc05383 100644 --- a/meta-ampere/meta-jade/recipes-phosphor/gpio/psu-hotswap-reset/psu1_hotswap_reset.service +++ b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/psu_hotswap_reset@.service @@ -3,4 +3,4 @@ Description=Ampere Computing LLC PSU1 reset hotswap [Service] Restart=no -ExecStart=/usr/sbin/ampere_psu_reset_hotswap.sh 1 +ExecStart=/usr/sbin/ampere_psu_reset_hotswap.sh %i diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/toggle_fault_led.sh b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/toggle_fault_led.sh new file mode 100644 index 0000000000..58aa47f8e8 --- /dev/null +++ b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/toggle_fault_led.sh @@ -0,0 +1,30 @@ +#!/bin/bash +# +# Toggle the state of identify LED Group + +socket=$1 +isOn=$2 + +# Create /tmp/fault* file +if [ "$isOn" == "on" ]; then + touch /tmp/fault"$socket" +else + rm /tmp/fault"$socket" +fi + +# Set Fault Led state +if [[ -f /tmp/fault0 ]] || [[ -f /tmp/fault1 ]]; then + target='true' +else + target='false' +fi + +SERVICE="xyz.openbmc_project.LED.GroupManager" +INTERFACE="xyz.openbmc_project.Led.Group" +PROPERTY="Asserted" + +# Get current state +object=$(busctl tree $SERVICE --list | grep system_fault) + +# Set target state +busctl set-property $SERVICE "$object" $INTERFACE $PROPERTY b $target diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/id-button/toggle_identify_led.sh b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/toggle_identify_led.sh index 06b2d55f1f..f6eae0e245 100755 --- a/meta-ampere/meta-jade/recipes-phosphor/gpio/id-button/toggle_identify_led.sh +++ b/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling/toggle_identify_led.sh @@ -1,19 +1,5 @@ #!/bin/sh # -# Copyright (c) 2021 Ampere Computing LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - # Toggle the state of identify LED Group SERVICE="xyz.openbmc_project.LED.GroupManager" diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/fault-monitor.bb b/meta-ampere/meta-jade/recipes-phosphor/gpio/fault-monitor.bb deleted file mode 100644 index 4994183a02..0000000000 --- a/meta-ampere/meta-jade/recipes-phosphor/gpio/fault-monitor.bb +++ /dev/null @@ -1,33 +0,0 @@ -SUMMARY = "MTJade fault-led application" -PR = "r1" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" - -inherit obmc-phosphor-systemd - -DEPENDS += "virtual/obmc-gpio-monitor" -RDEPENDS:${PN} += "virtual/obmc-gpio-monitor" - -S = "${WORKDIR}" -SRC_URI += "file://toggle_fault_led.sh" - -do_install() { - install -d ${D}${bindir} - install -m 0755 ${WORKDIR}/toggle_fault_led.sh \ - ${D}${bindir}/toggle_fault_led.sh -} - -OBMC_FAULT_MONITOR_INSTANCES = "s0_fault_alert s1_fault_alert" - -SYSTEMD_ENVIRONMENT_FILE:${PN} += "obmc/gpio/s0_fault_alert \ - obmc/gpio/s1_fault_alert \ - " - -TMPL = "phosphor-gpio-monitor@.service" -INSTFMT = "phosphor-gpio-monitor@{0}.service" -TGT = "multi-user.target" -FMT = "../${TMPL}:${TGT}.requires/${INSTFMT}" - -SYSTEMD_SERVICE:${PN} += "ampere_fault_led.service" -SYSTEMD_LINK:${PN} += "${@compose_list(d, 'FMT', 'OBMC_FAULT_MONITOR_INSTANCES')}" - diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/fault-monitor/toggle_fault_led.sh b/meta-ampere/meta-jade/recipes-phosphor/gpio/fault-monitor/toggle_fault_led.sh deleted file mode 100644 index 1e1cbc5881..0000000000 --- a/meta-ampere/meta-jade/recipes-phosphor/gpio/fault-monitor/toggle_fault_led.sh +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2021 Ampere Computing LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Toggle the state of identify LED Group - -SERVICE="xyz.openbmc_project.LED.GroupManager" -INTERFACE="xyz.openbmc_project.Led.Group" -PROPERTY="Asserted" - -# Get current state -object=$(busctl tree $SERVICE --list | grep system_fault) -state=$(busctl get-property $SERVICE "$object" $INTERFACE $PROPERTY \ - | awk '{print $NF;}') - -if [ "$state" = "false" ]; then - target='true' -else - target='false' -fi - -# Set target state -busctl set-property $SERVICE "$object" $INTERFACE $PROPERTY b $target diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/host-gpio-handling.bb b/meta-ampere/meta-jade/recipes-phosphor/gpio/host-gpio-handling.bb deleted file mode 100644 index 79bfb726e5..0000000000 --- a/meta-ampere/meta-jade/recipes-phosphor/gpio/host-gpio-handling.bb +++ /dev/null @@ -1,23 +0,0 @@ -SUMMARY = "Ampere Computing LLC Host Gpio Handling" -PR = "r1" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" - -inherit obmc-phosphor-systemd - -DEPENDS += "virtual/obmc-gpio-monitor" -RDEPENDS:${PN} += "virtual/obmc-gpio-monitor" - -OBMC_HOST_ACK_MONITOR_INSTANCES = "reboot_ack shutdown_ack" - -SYSTEMD_ENVIRONMENT_FILE:${PN} +="obmc/gpio/reboot_ack \ - obmc/gpio/shutdown_ack \ - " - -TMPL = "phosphor-gpio-monitor@.service" -INSTFMT = "phosphor-gpio-monitor@{0}.service" -TGT = "multi-user.target" -FMT = "../${TMPL}:${TGT}.requires/${INSTFMT}" - -SYSTEMD_SERVICE:${PN} += "ampere-host-shutdown-ack@.service" -SYSTEMD_LINK:${PN} += "${@compose_list(d, 'FMT', 'OBMC_HOST_ACK_MONITOR_INSTANCES')}" diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/id-button.bb b/meta-ampere/meta-jade/recipes-phosphor/gpio/id-button.bb deleted file mode 100644 index c1a616a9cf..0000000000 --- a/meta-ampere/meta-jade/recipes-phosphor/gpio/id-button.bb +++ /dev/null @@ -1,29 +0,0 @@ -SUMMARY = "MTJade ID Button pressed application" -PR = "r1" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" - -inherit obmc-phosphor-systemd - -DEPENDS += "virtual/obmc-gpio-monitor" -RDEPENDS:${PN} += "virtual/obmc-gpio-monitor" - -SRC_URI += "file://toggle_identify_led.sh" - -do_install() { - install -d ${D}${bindir} - install -m 0755 ${WORKDIR}/toggle_identify_led.sh \ - ${D}${bindir}/toggle_identify_led.sh -} - -SYSTEMD_ENVIRONMENT_FILE:${PN} +="obmc/gpio/id_button" - -ID_BUTTON_SERVICE = "id_button" - -TMPL = "phosphor-gpio-monitor@.service" -INSTFMT = "phosphor-gpio-monitor@{0}.service" -TGT = "multi-user.target" -FMT = "../${TMPL}:${TGT}.requires/${INSTFMT}" - -SYSTEMD_SERVICE:${PN} += "id-button-pressed.service" -SYSTEMD_LINK:${PN} += "${@compose_list(d, 'FMT', 'ID_BUTTON_SERVICE')}" diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/psu-hotswap-reset.bb b/meta-ampere/meta-jade/recipes-phosphor/gpio/psu-hotswap-reset.bb deleted file mode 100644 index 839c6d4d1b..0000000000 --- a/meta-ampere/meta-jade/recipes-phosphor/gpio/psu-hotswap-reset.bb +++ /dev/null @@ -1,32 +0,0 @@ -SUMMARY = "Ampere Computing LLC PSU Hot Swap Reseting 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_PSU_MONITOR_INSTANCES = "PSU1_B25 PSU2_B25" - -# Copies config file having arguments for psu -# via GPIO assertion -SYSTEMD_ENVIRONMENT_FILE:${PN} +="obmc/gpio/PSU1_B25 \ - obmc/gpio/PSU2_B25 \ - " -SYSTEMD_SERVICE:${PN} ?= "psu1_hotswap_reset.service psu2_hotswap_reset.service" - -SRC_URI += "file://ampere_psu_reset_hotswap.sh" - -do_install() { - install -d ${D}${sbindir} - install -m 0755 ${WORKDIR}/ampere_psu_reset_hotswap.sh ${D}${sbindir}/ -} - -GPIO_MONITOR_TMPL = "phosphor-gpio-monitor@.service" -GPIO_MONITOR_TGTFMT = "phosphor-gpio-monitor@{0}.service" -TGT = "multi-user.target" -PSU_MONITOR_FMT = "../${GPIO_MONITOR_TMPL}:${TGT}.requires/${GPIO_MONITOR_TGTFMT}" -SYSTEMD_LINK:${PN} += "${@compose_list(d, 'PSU_MONITOR_FMT', 'OBMC_PSU_MONITOR_INSTANCES', 'OBMC_HOST_INSTANCES')}" diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/psu-hotswap-reset/psu2_hotswap_reset.service b/meta-ampere/meta-jade/recipes-phosphor/gpio/psu-hotswap-reset/psu2_hotswap_reset.service deleted file mode 100644 index c94b42a4b4..0000000000 --- a/meta-ampere/meta-jade/recipes-phosphor/gpio/psu-hotswap-reset/psu2_hotswap_reset.service +++ /dev/null @@ -1,6 +0,0 @@ -[Unit] -Description=Ampere Computing LLC PSU2 reset hotswap - -[Service] -Restart=no -ExecStart=/usr/sbin/ampere_psu_reset_hotswap.sh 2 diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor.bb b/meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor.bb deleted file mode 100644 index c57ab1323c..0000000000 --- a/meta-ampere/meta-jade/recipes-phosphor/gpio/tempevent-monitor.bb +++ /dev/null @@ -1,32 +0,0 @@ -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/packagegroups/packagegroup-obmc-apps.bbappend b/meta-ampere/meta-jade/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend index 23015afbb8..3656006b0d 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 @@ -3,14 +3,10 @@ RDEPENDS:${PN}-extras:append:mtjade = " \ phosphor-image-signing \ phosphor-virtual-sensor \ phosphor-misc-usb-ctrl \ - fault-monitor \ - id-button \ - psu-hotswap-reset \ - tempevent-monitor \ + ampere-gpio-handling \ " RDEPENDS:${PN}-inventory:append:mtjade = " \ - host-gpio-handling \ dbus-sensors \ entity-manager \ " |