diff options
author | Hieu Huynh <hieuh@os.amperecomputing.com> | 2023-12-22 12:51:31 +0300 |
---|---|---|
committer | Thang Q. Nguyen <thang@os.amperecomputing.com> | 2023-12-23 03:48:38 +0300 |
commit | 159146e27119cc89ccabc9837bae40d6f6baf1b4 (patch) | |
tree | b2ce92918e7257f0f18c166e025fa898478e4883 /meta-ampere | |
parent | 8496e57ba3fe4f929626f34449b9240517a37d9a (diff) | |
download | openbmc-159146e27119cc89ccabc9837bae40d6f6baf1b4.tar.xz |
meta-ampere: mtmitchell: handle the fan fault
The phosphor-led-manager will monitors the
`xyz.openbmc_project.State.Decorator.OperationalStatus` interface
of the Inventory D-Bus object, and check whether the Inventory
D-Bus object is associated with the LED group D-Bus object, and
then update the Asserted property of the LedManager.
This adds the fan_fault led group to associations.json file to
monitors the FANs and turns on the fault led when the FANs fails.
1. Unplug the fan and verify that both `Fan Fault Led` and
`Fault Led` are turned on.
2. Plug the fan and verify that both `Fan Fault Led` and `Fault Led`
are turned off.
Signed-off-by: Hieu Huynh <hieuh@os.amperecomputing.com>
Change-Id: I2adc0fb8846c4690f8eaac3bb80e6dbf25077be3
Diffstat (limited to 'meta-ampere')
3 files changed, 257 insertions, 0 deletions
diff --git a/meta-ampere/meta-mitchell/recipes-phosphor/inventory/phosphor-inventory-manager/associations.json b/meta-ampere/meta-mitchell/recipes-phosphor/inventory/phosphor-inventory-manager/associations.json new file mode 100644 index 0000000000..1a55553ded --- /dev/null +++ b/meta-ampere/meta-mitchell/recipes-phosphor/inventory/phosphor-inventory-manager/associations.json @@ -0,0 +1,230 @@ +[ + { + "path": "system/board/Mt_Mitchell_Motherboard/FAN0", + "endpoints": + [ + { + "types": + { + "rType": "inventory", + "fType": "sensors" + }, + "paths": + [ + "/xyz/openbmc_project/sensors/fan_tach/FAN0_F", + "/xyz/openbmc_project/sensors/fan_tach/FAN0_R" + ] + }, + { + "types": { + "rType": "fault_identified_by", + "fType": "fault_identifying" + }, + "paths": [ + "/xyz/openbmc_project/led/groups/fan_fault" + ] + }, + { + "types": + { + "rType": "cooled_by", + "fType": "cooling" + }, + "paths": + [ + "/xyz/openbmc_project/inventory/system/chassis" + ] + } + ] + }, + { + "path": "system/board/Mt_Mitchell_Motherboard/FAN1", + "endpoints": + [ + { + "types": + { + "rType": "inventory", + "fType": "sensors" + }, + "paths": + [ + "/xyz/openbmc_project/sensors/fan_tach/FAN1_F", + "/xyz/openbmc_project/sensors/fan_tach/FAN1_R" + ] + }, + { + "types": { + "rType": "fault_identified_by", + "fType": "fault_identifying" + }, + "paths": [ + "/xyz/openbmc_project/led/groups/fan_fault" + ] + }, + { + "types": + { + "rType": "cooled_by", + "fType": "cooling" + }, + "paths": + [ + "/xyz/openbmc_project/inventory/system/chassis" + ] + } + ] + }, + { + "path": "system/board/Mt_Mitchell_Motherboard/FAN2", + "endpoints": + [ + { + "types": + { + "rType": "inventory", + "fType": "sensors" + }, + "paths": + [ + "/xyz/openbmc_project/sensors/fan_tach/FAN2_F", + "/xyz/openbmc_project/sensors/fan_tach/FAN2_R" + ] + }, + { + "types": { + "rType": "fault_identified_by", + "fType": "fault_identifying" + }, + "paths": [ + "/xyz/openbmc_project/led/groups/fan_fault" + ] + }, + { + "types": + { + "rType": "cooled_by", + "fType": "cooling" + }, + "paths": + [ + "/xyz/openbmc_project/inventory/system/chassis" + ] + } + ] + }, + { + "path": "system/board/Mt_Mitchell_Motherboard/FAN3", + "endpoints": + [ + { + "types": + { + "rType": "inventory", + "fType": "sensors" + }, + "paths": + [ + "/xyz/openbmc_project/sensors/fan_tach/FAN3_F", + "/xyz/openbmc_project/sensors/fan_tach/FAN3_R" + ] + }, + { + "types": { + "rType": "fault_identified_by", + "fType": "fault_identifying" + }, + "paths": [ + "/xyz/openbmc_project/led/groups/fan_fault" + ] + }, + { + "types": + { + "rType": "cooled_by", + "fType": "cooling" + }, + "paths": + [ + "/xyz/openbmc_project/inventory/system/chassis" + ] + } + ] + }, + { + "path": "system/board/Mt_Mitchell_Motherboard/FAN4", + "endpoints": + [ + { + "types": + { + "rType": "inventory", + "fType": "sensors" + }, + "paths": + [ + "/xyz/openbmc_project/sensors/fan_tach/FAN4_F", + "/xyz/openbmc_project/sensors/fan_tach/FAN4_R" + ] + }, + { + "types": { + "rType": "fault_identified_by", + "fType": "fault_identifying" + }, + "paths": [ + "/xyz/openbmc_project/led/groups/fan_fault" + ] + }, + { + "types": + { + "rType": "cooled_by", + "fType": "cooling" + }, + "paths": + [ + "/xyz/openbmc_project/inventory/system/chassis" + ] + } + ] + }, + { + "path": "system/board/Mt_Mitchell_Motherboard/FAN5", + "endpoints": + [ + { + "types": + { + "rType": "inventory", + "fType": "sensors" + }, + "paths": + [ + "/xyz/openbmc_project/sensors/fan_tach/FAN5_F", + "/xyz/openbmc_project/sensors/fan_tach/FAN5_R" + ] + }, + { + "types": { + "rType": "fault_identified_by", + "fType": "fault_identifying" + }, + "paths": [ + "/xyz/openbmc_project/led/groups/fan_fault" + ] + }, + { + "types": + { + "rType": "cooled_by", + "fType": "cooling" + }, + "paths": + [ + "/xyz/openbmc_project/inventory/system/chassis" + ] + } + ] + } +]
\ No newline at end of file diff --git a/meta-ampere/meta-mitchell/recipes-phosphor/inventory/phosphor-inventory-manager_%.bbappend b/meta-ampere/meta-mitchell/recipes-phosphor/inventory/phosphor-inventory-manager_%.bbappend new file mode 100644 index 0000000000..768c66758f --- /dev/null +++ b/meta-ampere/meta-mitchell/recipes-phosphor/inventory/phosphor-inventory-manager_%.bbappend @@ -0,0 +1,10 @@ +DEPENDS:append = " inventory-cleanup" + +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" +PACKAGECONFIG:append = " associations" +SRC_URI:append = " file://associations.json" + +do_install:append() { + install -d ${D}${base_datadir} + install -m 0755 ${WORKDIR}/associations.json ${D}${base_datadir} +} 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 84b78bf42c..ef35e053bb 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 @@ -43,6 +43,23 @@ "Period": 1000 } ] + }, + { + "group": "fan_fault", + "members": [ + { + "Name": "fan_fault", + "Action": "On", + "DutyOn": 50, + "Period": 1000 + }, + { + "Name": "fault", + "Action": "On", + "DutyOn": 50, + "Period": 1000 + } + ] } ] } |