summaryrefslogtreecommitdiff
path: root/meta-ampere
diff options
context:
space:
mode:
authorHieu Huynh <hieuh@os.amperecomputing.com>2023-12-22 12:51:31 +0300
committerThang Q. Nguyen <thang@os.amperecomputing.com>2023-12-23 03:48:38 +0300
commit159146e27119cc89ccabc9837bae40d6f6baf1b4 (patch)
treeb2ce92918e7257f0f18c166e025fa898478e4883 /meta-ampere
parent8496e57ba3fe4f929626f34449b9240517a37d9a (diff)
downloadopenbmc-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')
-rw-r--r--meta-ampere/meta-mitchell/recipes-phosphor/inventory/phosphor-inventory-manager/associations.json230
-rw-r--r--meta-ampere/meta-mitchell/recipes-phosphor/inventory/phosphor-inventory-manager_%.bbappend10
-rw-r--r--meta-ampere/meta-mitchell/recipes-phosphor/leds/phosphor-led-manager/led-group-config.json17
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
+ }
+ ]
}
]
}