meta-facebook: yosemite4: Set the fan LED to amber or blue
Set the fan led to amber when the fan tach triggers critical threshold.
Test Plan:
Modify the threshold and check if the led is correct.
Change-Id: I1ad360c15b2e4ff9c47d6e0bbc81e3a30ab1cd23
Signed-off-by: Delphine CC Chiu <Delphine_CC_Chiu@wiwynn.com>
diff --git a/meta-facebook/meta-yosemite4/recipes-phosphor/dbus/fan-fault-led.bb b/meta-facebook/meta-yosemite4/recipes-phosphor/dbus/fan-fault-led.bb
new file mode 100644
index 0000000..0758813
--- /dev/null
+++ b/meta-facebook/meta-yosemite4/recipes-phosphor/dbus/fan-fault-led.bb
@@ -0,0 +1,55 @@
+SUMMARY = "Fan fault led configurations for meta-yosemite4 machines"
+PR = "r1"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+inherit allarch
+inherit phosphor-dbus-monitor
+
+FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:"
+
+SRC_URI:append = " \
+ file://board-0-fan-0.yaml \
+ file://board-0-fan-1.yaml \
+ file://board-0-fan-4.yaml \
+ file://board-0-fan-5.yaml \
+ file://board-0-fan-8.yaml \
+ file://board-0-fan-9.yaml \
+ file://board-1-fan-10.yaml \
+ file://board-1-fan-11.yaml \
+ file://board-1-fan-2.yaml \
+ file://board-1-fan-3.yaml \
+ file://board-1-fan-6.yaml \
+ file://board-1-fan-7.yaml \
+"
+
+do_install() {
+ install -D ${WORKDIR}/board-0-fan-0.yaml ${D}${config_dir}/board-0-fan-0.yaml
+ install -D ${WORKDIR}/board-0-fan-1.yaml ${D}${config_dir}/board-0-fan-1.yaml
+ install -D ${WORKDIR}/board-0-fan-4.yaml ${D}${config_dir}/board-0-fan-4.yaml
+ install -D ${WORKDIR}/board-0-fan-5.yaml ${D}${config_dir}/board-0-fan-5.yaml
+ install -D ${WORKDIR}/board-0-fan-8.yaml ${D}${config_dir}/board-0-fan-8.yaml
+ install -D ${WORKDIR}/board-0-fan-9.yaml ${D}${config_dir}/board-0-fan-9.yaml
+ install -D ${WORKDIR}/board-1-fan-10.yaml ${D}${config_dir}/board-1-fan-10.yaml
+ install -D ${WORKDIR}/board-1-fan-11.yaml ${D}${config_dir}/board-1-fan-11.yaml
+ install -D ${WORKDIR}/board-1-fan-2.yaml ${D}${config_dir}/board-1-fan-2.yaml
+ install -D ${WORKDIR}/board-1-fan-3.yaml ${D}${config_dir}/board-1-fan-3.yaml
+ install -D ${WORKDIR}/board-1-fan-6.yaml ${D}${config_dir}/board-1-fan-6.yaml
+ install -D ${WORKDIR}/board-1-fan-7.yaml ${D}${config_dir}/board-1-fan-7.yaml
+}
+
+FILES:${PN}:append = " \
+ ${config_dir}/board-0-fan-0.yaml \
+ ${config_dir}/board-0-fan-1.yaml \
+ ${config_dir}/board-0-fan-4.yaml \
+ ${config_dir}/board-0-fan-5.yaml \
+ ${config_dir}/board-0-fan-8.yaml \
+ ${config_dir}/board-0-fan-9.yaml \
+ ${config_dir}/board-1-fan-10.yaml \
+ ${config_dir}/board-1-fan-11.yaml \
+ ${config_dir}/board-1-fan-2.yaml \
+ ${config_dir}/board-1-fan-3.yaml \
+ ${config_dir}/board-1-fan-6.yaml \
+ ${config_dir}/board-1-fan-7.yaml \
+"
+
diff --git a/meta-facebook/meta-yosemite4/recipes-phosphor/dbus/fan-fault-led/board-0-fan-0.yaml b/meta-facebook/meta-yosemite4/recipes-phosphor/dbus/fan-fault-led/board-0-fan-0.yaml
new file mode 100644
index 0000000..f961fbe
--- /dev/null
+++ b/meta-facebook/meta-yosemite4/recipes-phosphor/dbus/fan-fault-led/board-0-fan-0.yaml
@@ -0,0 +1,122 @@
+- name: board 0 fan 0 current critical alarm path group
+ class: group
+ group: path
+ members:
+ - meta: PATH
+ path: /xyz/openbmc_project/sensors/fan_tach/FANBOARD0_FAN0_TACH_IL
+ - meta: PATH
+ path: /xyz/openbmc_project/sensors/fan_tach/FANBOARD0_FAN0_TACH_OL
+
+- name: current fan critical alarm property
+ class: group
+ group: property
+ type: boolean
+ members:
+ - interface: xyz.openbmc_project.Sensor.Threshold.Critical
+ meta: PROPERTY
+ property: CriticalAlarmHigh
+ - interface: xyz.openbmc_project.Sensor.Threshold.Critical
+ meta: PROPERTY
+ property: CriticalAlarmLow
+
+- name: board 0 fan 0 critical alarm assert
+ class: watch
+ watch: property
+ paths: board 0 fan 0 current critical alarm path group
+ properties: current fan critical alarm property
+ callback: check if fan critical threshold assert
+
+- name: board 0 fan 0 critical alarm deassert
+ class: watch
+ watch: property
+ paths: board 0 fan 0 current critical alarm path group
+ properties: current fan critical alarm property
+ callback: check if fan critical threshold deassert
+
+- name: check if fan critical threshold assert
+ class: condition
+ condition: count
+ paths: board 0 fan 0 current critical alarm path group
+ properties: current fan critical alarm property
+ callback: set fan fail
+ countop: ">="
+ countbound: 1
+ op: "=="
+ bound: true
+
+- name: check if fan critical threshold deassert
+ class: condition
+ condition: count
+ paths: board 0 fan 0 current critical alarm path group
+ properties: current fan critical alarm property
+ callback: set fan ok
+ countop: "<"
+ countbound: 1
+ op: "=="
+ bound: true
+
+- name: set fan ok group assert
+ class: callback
+ callback: method
+ service: org.freedesktop.systemd1
+ path: /org/freedesktop/systemd1
+ interface: org.freedesktop.systemd1.Manager
+ method: StartUnit
+ args:
+ - value: obmc-led-group-start@fan0_ok.service
+ type: string
+ - value: replace
+ type: string
+
+- name: set fan ok group deassert
+ class: callback
+ callback: method
+ service: org.freedesktop.systemd1
+ path: /org/freedesktop/systemd1
+ interface: org.freedesktop.systemd1.Manager
+ method: StartUnit
+ args:
+ - value: obmc-led-group-stop@fan0_ok.service
+ type: string
+ - value: replace
+ type: string
+
+- name: set fan fail group assert
+ class: callback
+ callback: method
+ service: org.freedesktop.systemd1
+ path: /org/freedesktop/systemd1
+ interface: org.freedesktop.systemd1.Manager
+ method: StartUnit
+ args:
+ - value: obmc-led-group-start@fan0_fail.service
+ type: string
+ - value: replace
+ type: string
+
+- name: set fan fail group deassert
+ class: callback
+ callback: method
+ service: org.freedesktop.systemd1
+ path: /org/freedesktop/systemd1
+ interface: org.freedesktop.systemd1.Manager
+ method: StartUnit
+ args:
+ - value: obmc-led-group-stop@fan0_fail.service
+ type: string
+ - value: replace
+ type: string
+
+- name: set fan ok
+ class: callback
+ callback: group
+ members:
+ - set fan ok group assert
+ - set fan fail group deassert
+
+- name: set fan fail
+ class: callback
+ callback: group
+ members:
+ - set fan fail group assert
+ - set fan ok group deassert
diff --git a/meta-facebook/meta-yosemite4/recipes-phosphor/dbus/fan-fault-led/board-0-fan-1.yaml b/meta-facebook/meta-yosemite4/recipes-phosphor/dbus/fan-fault-led/board-0-fan-1.yaml
new file mode 100644
index 0000000..7e2fbf6
--- /dev/null
+++ b/meta-facebook/meta-yosemite4/recipes-phosphor/dbus/fan-fault-led/board-0-fan-1.yaml
@@ -0,0 +1,122 @@
+- name: board 0 fan 1 current critical alarm path group
+ class: group
+ group: path
+ members:
+ - meta: PATH
+ path: /xyz/openbmc_project/sensors/fan_tach/FANBOARD0_FAN1_TACH_IL
+ - meta: PATH
+ path: /xyz/openbmc_project/sensors/fan_tach/FANBOARD0_FAN1_TACH_OL
+
+- name: current fan critical alarm property
+ class: group
+ group: property
+ type: boolean
+ members:
+ - interface: xyz.openbmc_project.Sensor.Threshold.Critical
+ meta: PROPERTY
+ property: CriticalAlarmHigh
+ - interface: xyz.openbmc_project.Sensor.Threshold.Critical
+ meta: PROPERTY
+ property: CriticalAlarmLow
+
+- name: board 0 fan 1 critical alarm assert
+ class: watch
+ watch: property
+ paths: board 0 fan 1 current critical alarm path group
+ properties: current fan critical alarm property
+ callback: check if fan critical threshold assert
+
+- name: board 0 fan 1 critical alarm deassert
+ class: watch
+ watch: property
+ paths: board 0 fan 1 current critical alarm path group
+ properties: current fan critical alarm property
+ callback: check if fan critical threshold deassert
+
+- name: check if fan critical threshold assert
+ class: condition
+ condition: count
+ paths: board 0 fan 1 current critical alarm path group
+ properties: current fan critical alarm property
+ callback: set fan fail
+ countop: ">="
+ countbound: 1
+ op: "=="
+ bound: true
+
+- name: check if fan critical threshold deassert
+ class: condition
+ condition: count
+ paths: board 0 fan 1 current critical alarm path group
+ properties: current fan critical alarm property
+ callback: set fan ok
+ countop: "<"
+ countbound: 1
+ op: "=="
+ bound: true
+
+- name: set fan ok group assert
+ class: callback
+ callback: method
+ service: org.freedesktop.systemd1
+ path: /org/freedesktop/systemd1
+ interface: org.freedesktop.systemd1.Manager
+ method: StartUnit
+ args:
+ - value: obmc-led-group-start@fan1_ok.service
+ type: string
+ - value: replace
+ type: string
+
+- name: set fan ok group deassert
+ class: callback
+ callback: method
+ service: org.freedesktop.systemd1
+ path: /org/freedesktop/systemd1
+ interface: org.freedesktop.systemd1.Manager
+ method: StartUnit
+ args:
+ - value: obmc-led-group-stop@fan1_ok.service
+ type: string
+ - value: replace
+ type: string
+
+- name: set fan fail group assert
+ class: callback
+ callback: method
+ service: org.freedesktop.systemd1
+ path: /org/freedesktop/systemd1
+ interface: org.freedesktop.systemd1.Manager
+ method: StartUnit
+ args:
+ - value: obmc-led-group-start@fan1_fail.service
+ type: string
+ - value: replace
+ type: string
+
+- name: set fan fail group deassert
+ class: callback
+ callback: method
+ service: org.freedesktop.systemd1
+ path: /org/freedesktop/systemd1
+ interface: org.freedesktop.systemd1.Manager
+ method: StartUnit
+ args:
+ - value: obmc-led-group-stop@fan1_fail.service
+ type: string
+ - value: replace
+ type: string
+
+- name: set fan ok
+ class: callback
+ callback: group
+ members:
+ - set fan ok group assert
+ - set fan fail group deassert
+
+- name: set fan fail
+ class: callback
+ callback: group
+ members:
+ - set fan fail group assert
+ - set fan ok group deassert
diff --git a/meta-facebook/meta-yosemite4/recipes-phosphor/dbus/fan-fault-led/board-0-fan-4.yaml b/meta-facebook/meta-yosemite4/recipes-phosphor/dbus/fan-fault-led/board-0-fan-4.yaml
new file mode 100644
index 0000000..f6f2264
--- /dev/null
+++ b/meta-facebook/meta-yosemite4/recipes-phosphor/dbus/fan-fault-led/board-0-fan-4.yaml
@@ -0,0 +1,122 @@
+- name: board 0 fan 4 current critical alarm path group
+ class: group
+ group: path
+ members:
+ - meta: PATH
+ path: /xyz/openbmc_project/sensors/fan_tach/FANBOARD0_FAN4_TACH_IL
+ - meta: PATH
+ path: /xyz/openbmc_project/sensors/fan_tach/FANBOARD0_FAN4_TACH_OL
+
+- name: current fan critical alarm property
+ class: group
+ group: property
+ type: boolean
+ members:
+ - interface: xyz.openbmc_project.Sensor.Threshold.Critical
+ meta: PROPERTY
+ property: CriticalAlarmHigh
+ - interface: xyz.openbmc_project.Sensor.Threshold.Critical
+ meta: PROPERTY
+ property: CriticalAlarmLow
+
+- name: board 0 fan 4 critical alarm assert
+ class: watch
+ watch: property
+ paths: board 0 fan 4 current critical alarm path group
+ properties: current fan critical alarm property
+ callback: check if fan critical threshold assert
+
+- name: board 0 fan 4 critical alarm deassert
+ class: watch
+ watch: property
+ paths: board 0 fan 4 current critical alarm path group
+ properties: current fan critical alarm property
+ callback: check if fan critical threshold deassert
+
+- name: check if fan critical threshold assert
+ class: condition
+ condition: count
+ paths: board 0 fan 4 current critical alarm path group
+ properties: current fan critical alarm property
+ callback: set fan fail
+ countop: ">="
+ countbound: 1
+ op: "=="
+ bound: true
+
+- name: check if fan critical threshold deassert
+ class: condition
+ condition: count
+ paths: board 0 fan 4 current critical alarm path group
+ properties: current fan critical alarm property
+ callback: set fan ok
+ countop: "<"
+ countbound: 1
+ op: "=="
+ bound: true
+
+- name: set fan ok group assert
+ class: callback
+ callback: method
+ service: org.freedesktop.systemd1
+ path: /org/freedesktop/systemd1
+ interface: org.freedesktop.systemd1.Manager
+ method: StartUnit
+ args:
+ - value: obmc-led-group-start@fan4_ok.service
+ type: string
+ - value: replace
+ type: string
+
+- name: set fan ok group deassert
+ class: callback
+ callback: method
+ service: org.freedesktop.systemd1
+ path: /org/freedesktop/systemd1
+ interface: org.freedesktop.systemd1.Manager
+ method: StartUnit
+ args:
+ - value: obmc-led-group-stop@fan4_ok.service
+ type: string
+ - value: replace
+ type: string
+
+- name: set fan fail group assert
+ class: callback
+ callback: method
+ service: org.freedesktop.systemd1
+ path: /org/freedesktop/systemd1
+ interface: org.freedesktop.systemd1.Manager
+ method: StartUnit
+ args:
+ - value: obmc-led-group-start@fan4_fail.service
+ type: string
+ - value: replace
+ type: string
+
+- name: set fan fail group deassert
+ class: callback
+ callback: method
+ service: org.freedesktop.systemd1
+ path: /org/freedesktop/systemd1
+ interface: org.freedesktop.systemd1.Manager
+ method: StartUnit
+ args:
+ - value: obmc-led-group-stop@fan4_fail.service
+ type: string
+ - value: replace
+ type: string
+
+- name: set fan ok
+ class: callback
+ callback: group
+ members:
+ - set fan ok group assert
+ - set fan fail group deassert
+
+- name: set fan fail
+ class: callback
+ callback: group
+ members:
+ - set fan fail group assert
+ - set fan ok group deassert
diff --git a/meta-facebook/meta-yosemite4/recipes-phosphor/dbus/fan-fault-led/board-0-fan-5.yaml b/meta-facebook/meta-yosemite4/recipes-phosphor/dbus/fan-fault-led/board-0-fan-5.yaml
new file mode 100644
index 0000000..db21ec8
--- /dev/null
+++ b/meta-facebook/meta-yosemite4/recipes-phosphor/dbus/fan-fault-led/board-0-fan-5.yaml
@@ -0,0 +1,122 @@
+- name: board 0 fan 5 current critical alarm path group
+ class: group
+ group: path
+ members:
+ - meta: PATH
+ path: /xyz/openbmc_project/sensors/fan_tach/FANBOARD0_FAN5_TACH_IL
+ - meta: PATH
+ path: /xyz/openbmc_project/sensors/fan_tach/FANBOARD0_FAN5_TACH_OL
+
+- name: current fan critical alarm property
+ class: group
+ group: property
+ type: boolean
+ members:
+ - interface: xyz.openbmc_project.Sensor.Threshold.Critical
+ meta: PROPERTY
+ property: CriticalAlarmHigh
+ - interface: xyz.openbmc_project.Sensor.Threshold.Critical
+ meta: PROPERTY
+ property: CriticalAlarmLow
+
+- name: board 0 fan 5 critical alarm assert
+ class: watch
+ watch: property
+ paths: board 0 fan 5 current critical alarm path group
+ properties: current fan critical alarm property
+ callback: check if fan critical threshold assert
+
+- name: board 0 fan 5 critical alarm deassert
+ class: watch
+ watch: property
+ paths: board 0 fan 5 current critical alarm path group
+ properties: current fan critical alarm property
+ callback: check if fan critical threshold deassert
+
+- name: check if fan critical threshold assert
+ class: condition
+ condition: count
+ paths: board 0 fan 5 current critical alarm path group
+ properties: current fan critical alarm property
+ callback: set fan fail
+ countop: ">="
+ countbound: 1
+ op: "=="
+ bound: true
+
+- name: check if fan critical threshold deassert
+ class: condition
+ condition: count
+ paths: board 0 fan 5 current critical alarm path group
+ properties: current fan critical alarm property
+ callback: set fan ok
+ countop: "<"
+ countbound: 1
+ op: "=="
+ bound: true
+
+- name: set fan ok group assert
+ class: callback
+ callback: method
+ service: org.freedesktop.systemd1
+ path: /org/freedesktop/systemd1
+ interface: org.freedesktop.systemd1.Manager
+ method: StartUnit
+ args:
+ - value: obmc-led-group-start@fan5_ok.service
+ type: string
+ - value: replace
+ type: string
+
+- name: set fan ok group deassert
+ class: callback
+ callback: method
+ service: org.freedesktop.systemd1
+ path: /org/freedesktop/systemd1
+ interface: org.freedesktop.systemd1.Manager
+ method: StartUnit
+ args:
+ - value: obmc-led-group-stop@fan5_ok.service
+ type: string
+ - value: replace
+ type: string
+
+- name: set fan fail group assert
+ class: callback
+ callback: method
+ service: org.freedesktop.systemd1
+ path: /org/freedesktop/systemd1
+ interface: org.freedesktop.systemd1.Manager
+ method: StartUnit
+ args:
+ - value: obmc-led-group-start@fan5_fail.service
+ type: string
+ - value: replace
+ type: string
+
+- name: set fan fail group deassert
+ class: callback
+ callback: method
+ service: org.freedesktop.systemd1
+ path: /org/freedesktop/systemd1
+ interface: org.freedesktop.systemd1.Manager
+ method: StartUnit
+ args:
+ - value: obmc-led-group-stop@fan5_fail.service
+ type: string
+ - value: replace
+ type: string
+
+- name: set fan ok
+ class: callback
+ callback: group
+ members:
+ - set fan ok group assert
+ - set fan fail group deassert
+
+- name: set fan fail
+ class: callback
+ callback: group
+ members:
+ - set fan fail group assert
+ - set fan ok group deassert
diff --git a/meta-facebook/meta-yosemite4/recipes-phosphor/dbus/fan-fault-led/board-0-fan-8.yaml b/meta-facebook/meta-yosemite4/recipes-phosphor/dbus/fan-fault-led/board-0-fan-8.yaml
new file mode 100644
index 0000000..92df2de
--- /dev/null
+++ b/meta-facebook/meta-yosemite4/recipes-phosphor/dbus/fan-fault-led/board-0-fan-8.yaml
@@ -0,0 +1,122 @@
+- name: board 0 fan 8 current critical alarm path group
+ class: group
+ group: path
+ members:
+ - meta: PATH
+ path: /xyz/openbmc_project/sensors/fan_tach/FANBOARD0_FAN8_TACH_IL
+ - meta: PATH
+ path: /xyz/openbmc_project/sensors/fan_tach/FANBOARD0_FAN8_TACH_OL
+
+- name: current fan critical alarm property
+ class: group
+ group: property
+ type: boolean
+ members:
+ - interface: xyz.openbmc_project.Sensor.Threshold.Critical
+ meta: PROPERTY
+ property: CriticalAlarmHigh
+ - interface: xyz.openbmc_project.Sensor.Threshold.Critical
+ meta: PROPERTY
+ property: CriticalAlarmLow
+
+- name: board 0 fan 8 critical alarm assert
+ class: watch
+ watch: property
+ paths: board 0 fan 8 current critical alarm path group
+ properties: current fan critical alarm property
+ callback: check if fan critical threshold assert
+
+- name: board 0 fan 8 critical alarm deassert
+ class: watch
+ watch: property
+ paths: board 0 fan 8 current critical alarm path group
+ properties: current fan critical alarm property
+ callback: check if fan critical threshold deassert
+
+- name: check if fan critical threshold assert
+ class: condition
+ condition: count
+ paths: board 0 fan 8 current critical alarm path group
+ properties: current fan critical alarm property
+ callback: set fan fail
+ countop: ">="
+ countbound: 1
+ op: "=="
+ bound: true
+
+- name: check if fan critical threshold deassert
+ class: condition
+ condition: count
+ paths: board 0 fan 8 current critical alarm path group
+ properties: current fan critical alarm property
+ callback: set fan ok
+ countop: "<"
+ countbound: 1
+ op: "=="
+ bound: true
+
+- name: set fan ok group assert
+ class: callback
+ callback: method
+ service: org.freedesktop.systemd1
+ path: /org/freedesktop/systemd1
+ interface: org.freedesktop.systemd1.Manager
+ method: StartUnit
+ args:
+ - value: obmc-led-group-start@fan8_ok.service
+ type: string
+ - value: replace
+ type: string
+
+- name: set fan ok group deassert
+ class: callback
+ callback: method
+ service: org.freedesktop.systemd1
+ path: /org/freedesktop/systemd1
+ interface: org.freedesktop.systemd1.Manager
+ method: StartUnit
+ args:
+ - value: obmc-led-group-stop@fan8_ok.service
+ type: string
+ - value: replace
+ type: string
+
+- name: set fan fail group assert
+ class: callback
+ callback: method
+ service: org.freedesktop.systemd1
+ path: /org/freedesktop/systemd1
+ interface: org.freedesktop.systemd1.Manager
+ method: StartUnit
+ args:
+ - value: obmc-led-group-start@fan8_fail.service
+ type: string
+ - value: replace
+ type: string
+
+- name: set fan fail group deassert
+ class: callback
+ callback: method
+ service: org.freedesktop.systemd1
+ path: /org/freedesktop/systemd1
+ interface: org.freedesktop.systemd1.Manager
+ method: StartUnit
+ args:
+ - value: obmc-led-group-stop@fan8_fail.service
+ type: string
+ - value: replace
+ type: string
+
+- name: set fan ok
+ class: callback
+ callback: group
+ members:
+ - set fan ok group assert
+ - set fan fail group deassert
+
+- name: set fan fail
+ class: callback
+ callback: group
+ members:
+ - set fan fail group assert
+ - set fan ok group deassert
diff --git a/meta-facebook/meta-yosemite4/recipes-phosphor/dbus/fan-fault-led/board-0-fan-9.yaml b/meta-facebook/meta-yosemite4/recipes-phosphor/dbus/fan-fault-led/board-0-fan-9.yaml
new file mode 100644
index 0000000..cdf6e69
--- /dev/null
+++ b/meta-facebook/meta-yosemite4/recipes-phosphor/dbus/fan-fault-led/board-0-fan-9.yaml
@@ -0,0 +1,122 @@
+- name: board 0 fan 9 current critical alarm path group
+ class: group
+ group: path
+ members:
+ - meta: PATH
+ path: /xyz/openbmc_project/sensors/fan_tach/FANBOARD0_FAN9_TACH_IL
+ - meta: PATH
+ path: /xyz/openbmc_project/sensors/fan_tach/FANBOARD0_FAN9_TACH_OL
+
+- name: current fan critical alarm property
+ class: group
+ group: property
+ type: boolean
+ members:
+ - interface: xyz.openbmc_project.Sensor.Threshold.Critical
+ meta: PROPERTY
+ property: CriticalAlarmHigh
+ - interface: xyz.openbmc_project.Sensor.Threshold.Critical
+ meta: PROPERTY
+ property: CriticalAlarmLow
+
+- name: board 0 fan 9 critical alarm assert
+ class: watch
+ watch: property
+ paths: board 0 fan 9 current critical alarm path group
+ properties: current fan critical alarm property
+ callback: check if fan critical threshold assert
+
+- name: board 0 fan 9 critical alarm deassert
+ class: watch
+ watch: property
+ paths: board 0 fan 9 current critical alarm path group
+ properties: current fan critical alarm property
+ callback: check if fan critical threshold deassert
+
+- name: check if fan critical threshold assert
+ class: condition
+ condition: count
+ paths: board 0 fan 9 current critical alarm path group
+ properties: current fan critical alarm property
+ callback: set fan fail
+ countop: ">="
+ countbound: 1
+ op: "=="
+ bound: true
+
+- name: check if fan critical threshold deassert
+ class: condition
+ condition: count
+ paths: board 0 fan 9 current critical alarm path group
+ properties: current fan critical alarm property
+ callback: set fan ok
+ countop: "<"
+ countbound: 1
+ op: "=="
+ bound: true
+
+- name: set fan ok group assert
+ class: callback
+ callback: method
+ service: org.freedesktop.systemd1
+ path: /org/freedesktop/systemd1
+ interface: org.freedesktop.systemd1.Manager
+ method: StartUnit
+ args:
+ - value: obmc-led-group-start@fan9_ok.service
+ type: string
+ - value: replace
+ type: string
+
+- name: set fan ok group deassert
+ class: callback
+ callback: method
+ service: org.freedesktop.systemd1
+ path: /org/freedesktop/systemd1
+ interface: org.freedesktop.systemd1.Manager
+ method: StartUnit
+ args:
+ - value: obmc-led-group-stop@fan9_ok.service
+ type: string
+ - value: replace
+ type: string
+
+- name: set fan fail group assert
+ class: callback
+ callback: method
+ service: org.freedesktop.systemd1
+ path: /org/freedesktop/systemd1
+ interface: org.freedesktop.systemd1.Manager
+ method: StartUnit
+ args:
+ - value: obmc-led-group-start@fan9_fail.service
+ type: string
+ - value: replace
+ type: string
+
+- name: set fan fail group deassert
+ class: callback
+ callback: method
+ service: org.freedesktop.systemd1
+ path: /org/freedesktop/systemd1
+ interface: org.freedesktop.systemd1.Manager
+ method: StartUnit
+ args:
+ - value: obmc-led-group-stop@fan9_fail.service
+ type: string
+ - value: replace
+ type: string
+
+- name: set fan ok
+ class: callback
+ callback: group
+ members:
+ - set fan ok group assert
+ - set fan fail group deassert
+
+- name: set fan fail
+ class: callback
+ callback: group
+ members:
+ - set fan fail group assert
+ - set fan ok group deassert
diff --git a/meta-facebook/meta-yosemite4/recipes-phosphor/dbus/fan-fault-led/board-1-fan-10.yaml b/meta-facebook/meta-yosemite4/recipes-phosphor/dbus/fan-fault-led/board-1-fan-10.yaml
new file mode 100644
index 0000000..4658559
--- /dev/null
+++ b/meta-facebook/meta-yosemite4/recipes-phosphor/dbus/fan-fault-led/board-1-fan-10.yaml
@@ -0,0 +1,122 @@
+- name: board 1 fan 10 current critical alarm path group
+ class: group
+ group: path
+ members:
+ - meta: PATH
+ path: /xyz/openbmc_project/sensors/fan_tach/FANBOARD1_FAN10_TACH_IL
+ - meta: PATH
+ path: /xyz/openbmc_project/sensors/fan_tach/FANBOARD1_FAN10_TACH_OL
+
+- name: current fan critical alarm property
+ class: group
+ group: property
+ type: boolean
+ members:
+ - interface: xyz.openbmc_project.Sensor.Threshold.Critical
+ meta: PROPERTY
+ property: CriticalAlarmHigh
+ - interface: xyz.openbmc_project.Sensor.Threshold.Critical
+ meta: PROPERTY
+ property: CriticalAlarmLow
+
+- name: board 1 fan 10 critical alarm assert
+ class: watch
+ watch: property
+ paths: board 1 fan 10 current critical alarm path group
+ properties: current fan critical alarm property
+ callback: check if fan critical threshold assert
+
+- name: board 1 fan 10 critical alarm deassert
+ class: watch
+ watch: property
+ paths: board 1 fan 10 current critical alarm path group
+ properties: current fan critical alarm property
+ callback: check if fan critical threshold deassert
+
+- name: check if fan critical threshold assert
+ class: condition
+ condition: count
+ paths: board 1 fan 10 current critical alarm path group
+ properties: current fan critical alarm property
+ callback: set fan fail
+ countop: ">="
+ countbound: 1
+ op: "=="
+ bound: true
+
+- name: check if fan critical threshold deassert
+ class: condition
+ condition: count
+ paths: board 1 fan 10 current critical alarm path group
+ properties: current fan critical alarm property
+ callback: set fan ok
+ countop: "<"
+ countbound: 1
+ op: "=="
+ bound: true
+
+- name: set fan ok group assert
+ class: callback
+ callback: method
+ service: org.freedesktop.systemd1
+ path: /org/freedesktop/systemd1
+ interface: org.freedesktop.systemd1.Manager
+ method: StartUnit
+ args:
+ - value: obmc-led-group-start@fan10_ok.service
+ type: string
+ - value: replace
+ type: string
+
+- name: set fan ok group deassert
+ class: callback
+ callback: method
+ service: org.freedesktop.systemd1
+ path: /org/freedesktop/systemd1
+ interface: org.freedesktop.systemd1.Manager
+ method: StartUnit
+ args:
+ - value: obmc-led-group-stop@fan10_ok.service
+ type: string
+ - value: replace
+ type: string
+
+- name: set fan fail group assert
+ class: callback
+ callback: method
+ service: org.freedesktop.systemd1
+ path: /org/freedesktop/systemd1
+ interface: org.freedesktop.systemd1.Manager
+ method: StartUnit
+ args:
+ - value: obmc-led-group-start@fan10_fail.service
+ type: string
+ - value: replace
+ type: string
+
+- name: set fan fail group deassert
+ class: callback
+ callback: method
+ service: org.freedesktop.systemd1
+ path: /org/freedesktop/systemd1
+ interface: org.freedesktop.systemd1.Manager
+ method: StartUnit
+ args:
+ - value: obmc-led-group-stop@fan10_fail.service
+ type: string
+ - value: replace
+ type: string
+
+- name: set fan ok
+ class: callback
+ callback: group
+ members:
+ - set fan ok group assert
+ - set fan fail group deassert
+
+- name: set fan fail
+ class: callback
+ callback: group
+ members:
+ - set fan fail group assert
+ - set fan ok group deassert
diff --git a/meta-facebook/meta-yosemite4/recipes-phosphor/dbus/fan-fault-led/board-1-fan-11.yaml b/meta-facebook/meta-yosemite4/recipes-phosphor/dbus/fan-fault-led/board-1-fan-11.yaml
new file mode 100644
index 0000000..1503292
--- /dev/null
+++ b/meta-facebook/meta-yosemite4/recipes-phosphor/dbus/fan-fault-led/board-1-fan-11.yaml
@@ -0,0 +1,122 @@
+- name: board 1 fan 11 current critical alarm path group
+ class: group
+ group: path
+ members:
+ - meta: PATH
+ path: /xyz/openbmc_project/sensors/fan_tach/FANBOARD1_FAN11_TACH_IL
+ - meta: PATH
+ path: /xyz/openbmc_project/sensors/fan_tach/FANBOARD1_FAN11_TACH_OL
+
+- name: current fan critical alarm property
+ class: group
+ group: property
+ type: boolean
+ members:
+ - interface: xyz.openbmc_project.Sensor.Threshold.Critical
+ meta: PROPERTY
+ property: CriticalAlarmHigh
+ - interface: xyz.openbmc_project.Sensor.Threshold.Critical
+ meta: PROPERTY
+ property: CriticalAlarmLow
+
+- name: board 1 fan 11 critical alarm assert
+ class: watch
+ watch: property
+ paths: board 1 fan 11 current critical alarm path group
+ properties: current fan critical alarm property
+ callback: check if fan critical threshold assert
+
+- name: board 1 fan 11 critical alarm deassert
+ class: watch
+ watch: property
+ paths: board 1 fan 11 current critical alarm path group
+ properties: current fan critical alarm property
+ callback: check if fan critical threshold deassert
+
+- name: check if fan critical threshold assert
+ class: condition
+ condition: count
+ paths: board 1 fan 11 current critical alarm path group
+ properties: current fan critical alarm property
+ callback: set fan fail
+ countop: ">="
+ countbound: 1
+ op: "=="
+ bound: true
+
+- name: check if fan critical threshold deassert
+ class: condition
+ condition: count
+ paths: board 1 fan 11 current critical alarm path group
+ properties: current fan critical alarm property
+ callback: set fan ok
+ countop: "<"
+ countbound: 1
+ op: "=="
+ bound: true
+
+- name: set fan ok group assert
+ class: callback
+ callback: method
+ service: org.freedesktop.systemd1
+ path: /org/freedesktop/systemd1
+ interface: org.freedesktop.systemd1.Manager
+ method: StartUnit
+ args:
+ - value: obmc-led-group-start@fan11_ok.service
+ type: string
+ - value: replace
+ type: string
+
+- name: set fan ok group deassert
+ class: callback
+ callback: method
+ service: org.freedesktop.systemd1
+ path: /org/freedesktop/systemd1
+ interface: org.freedesktop.systemd1.Manager
+ method: StartUnit
+ args:
+ - value: obmc-led-group-stop@fan11_ok.service
+ type: string
+ - value: replace
+ type: string
+
+- name: set fan fail group assert
+ class: callback
+ callback: method
+ service: org.freedesktop.systemd1
+ path: /org/freedesktop/systemd1
+ interface: org.freedesktop.systemd1.Manager
+ method: StartUnit
+ args:
+ - value: obmc-led-group-start@fan11_fail.service
+ type: string
+ - value: replace
+ type: string
+
+- name: set fan fail group deassert
+ class: callback
+ callback: method
+ service: org.freedesktop.systemd1
+ path: /org/freedesktop/systemd1
+ interface: org.freedesktop.systemd1.Manager
+ method: StartUnit
+ args:
+ - value: obmc-led-group-stop@fan11_fail.service
+ type: string
+ - value: replace
+ type: string
+
+- name: set fan ok
+ class: callback
+ callback: group
+ members:
+ - set fan ok group assert
+ - set fan fail group deassert
+
+- name: set fan fail
+ class: callback
+ callback: group
+ members:
+ - set fan fail group assert
+ - set fan ok group deassert
diff --git a/meta-facebook/meta-yosemite4/recipes-phosphor/dbus/fan-fault-led/board-1-fan-2.yaml b/meta-facebook/meta-yosemite4/recipes-phosphor/dbus/fan-fault-led/board-1-fan-2.yaml
new file mode 100644
index 0000000..639583c
--- /dev/null
+++ b/meta-facebook/meta-yosemite4/recipes-phosphor/dbus/fan-fault-led/board-1-fan-2.yaml
@@ -0,0 +1,122 @@
+- name: board 1 fan 2 current critical alarm path group
+ class: group
+ group: path
+ members:
+ - meta: PATH
+ path: /xyz/openbmc_project/sensors/fan_tach/FANBOARD1_FAN2_TACH_IL
+ - meta: PATH
+ path: /xyz/openbmc_project/sensors/fan_tach/FANBOARD1_FAN2_TACH_OL
+
+- name: current fan critical alarm property
+ class: group
+ group: property
+ type: boolean
+ members:
+ - interface: xyz.openbmc_project.Sensor.Threshold.Critical
+ meta: PROPERTY
+ property: CriticalAlarmHigh
+ - interface: xyz.openbmc_project.Sensor.Threshold.Critical
+ meta: PROPERTY
+ property: CriticalAlarmLow
+
+- name: board 1 fan 2 critical alarm assert
+ class: watch
+ watch: property
+ paths: board 1 fan 2 current critical alarm path group
+ properties: current fan critical alarm property
+ callback: check if fan critical threshold assert
+
+- name: board 1 fan 2 critical alarm deassert
+ class: watch
+ watch: property
+ paths: board 1 fan 2 current critical alarm path group
+ properties: current fan critical alarm property
+ callback: check if fan critical threshold deassert
+
+- name: check if fan critical threshold assert
+ class: condition
+ condition: count
+ paths: board 1 fan 2 current critical alarm path group
+ properties: current fan critical alarm property
+ callback: set fan fail
+ countop: ">="
+ countbound: 1
+ op: "=="
+ bound: true
+
+- name: check if fan critical threshold deassert
+ class: condition
+ condition: count
+ paths: board 1 fan 2 current critical alarm path group
+ properties: current fan critical alarm property
+ callback: set fan ok
+ countop: "<"
+ countbound: 1
+ op: "=="
+ bound: true
+
+- name: set fan ok group assert
+ class: callback
+ callback: method
+ service: org.freedesktop.systemd1
+ path: /org/freedesktop/systemd1
+ interface: org.freedesktop.systemd1.Manager
+ method: StartUnit
+ args:
+ - value: obmc-led-group-start@fan2_ok.service
+ type: string
+ - value: replace
+ type: string
+
+- name: set fan ok group deassert
+ class: callback
+ callback: method
+ service: org.freedesktop.systemd1
+ path: /org/freedesktop/systemd1
+ interface: org.freedesktop.systemd1.Manager
+ method: StartUnit
+ args:
+ - value: obmc-led-group-stop@fan2_ok.service
+ type: string
+ - value: replace
+ type: string
+
+- name: set fan fail group assert
+ class: callback
+ callback: method
+ service: org.freedesktop.systemd1
+ path: /org/freedesktop/systemd1
+ interface: org.freedesktop.systemd1.Manager
+ method: StartUnit
+ args:
+ - value: obmc-led-group-start@fan2_fail.service
+ type: string
+ - value: replace
+ type: string
+
+- name: set fan fail group deassert
+ class: callback
+ callback: method
+ service: org.freedesktop.systemd1
+ path: /org/freedesktop/systemd1
+ interface: org.freedesktop.systemd1.Manager
+ method: StartUnit
+ args:
+ - value: obmc-led-group-stop@fan2_fail.service
+ type: string
+ - value: replace
+ type: string
+
+- name: set fan ok
+ class: callback
+ callback: group
+ members:
+ - set fan ok group assert
+ - set fan fail group deassert
+
+- name: set fan fail
+ class: callback
+ callback: group
+ members:
+ - set fan fail group assert
+ - set fan ok group deassert
diff --git a/meta-facebook/meta-yosemite4/recipes-phosphor/dbus/fan-fault-led/board-1-fan-3.yaml b/meta-facebook/meta-yosemite4/recipes-phosphor/dbus/fan-fault-led/board-1-fan-3.yaml
new file mode 100644
index 0000000..15263b8
--- /dev/null
+++ b/meta-facebook/meta-yosemite4/recipes-phosphor/dbus/fan-fault-led/board-1-fan-3.yaml
@@ -0,0 +1,122 @@
+- name: board 1 fan 3 current critical alarm path group
+ class: group
+ group: path
+ members:
+ - meta: PATH
+ path: /xyz/openbmc_project/sensors/fan_tach/FANBOARD1_FAN3_TACH_IL
+ - meta: PATH
+ path: /xyz/openbmc_project/sensors/fan_tach/FANBOARD1_FAN3_TACH_OL
+
+- name: current fan critical alarm property
+ class: group
+ group: property
+ type: boolean
+ members:
+ - interface: xyz.openbmc_project.Sensor.Threshold.Critical
+ meta: PROPERTY
+ property: CriticalAlarmHigh
+ - interface: xyz.openbmc_project.Sensor.Threshold.Critical
+ meta: PROPERTY
+ property: CriticalAlarmLow
+
+- name: board 1 fan 3 critical alarm assert
+ class: watch
+ watch: property
+ paths: board 1 fan 3 current critical alarm path group
+ properties: current fan critical alarm property
+ callback: check if fan critical threshold assert
+
+- name: board 1 fan 3 critical alarm deassert
+ class: watch
+ watch: property
+ paths: board 1 fan 3 current critical alarm path group
+ properties: current fan critical alarm property
+ callback: check if fan critical threshold deassert
+
+- name: check if fan critical threshold assert
+ class: condition
+ condition: count
+ paths: board 1 fan 3 current critical alarm path group
+ properties: current fan critical alarm property
+ callback: set fan fail
+ countop: ">="
+ countbound: 1
+ op: "=="
+ bound: true
+
+- name: check if fan critical threshold deassert
+ class: condition
+ condition: count
+ paths: board 1 fan 3 current critical alarm path group
+ properties: current fan critical alarm property
+ callback: set fan ok
+ countop: "<"
+ countbound: 1
+ op: "=="
+ bound: true
+
+- name: set fan ok group assert
+ class: callback
+ callback: method
+ service: org.freedesktop.systemd1
+ path: /org/freedesktop/systemd1
+ interface: org.freedesktop.systemd1.Manager
+ method: StartUnit
+ args:
+ - value: obmc-led-group-start@fan3_ok.service
+ type: string
+ - value: replace
+ type: string
+
+- name: set fan ok group deassert
+ class: callback
+ callback: method
+ service: org.freedesktop.systemd1
+ path: /org/freedesktop/systemd1
+ interface: org.freedesktop.systemd1.Manager
+ method: StartUnit
+ args:
+ - value: obmc-led-group-stop@fan3_ok.service
+ type: string
+ - value: replace
+ type: string
+
+- name: set fan fail group assert
+ class: callback
+ callback: method
+ service: org.freedesktop.systemd1
+ path: /org/freedesktop/systemd1
+ interface: org.freedesktop.systemd1.Manager
+ method: StartUnit
+ args:
+ - value: obmc-led-group-start@fan3_fail.service
+ type: string
+ - value: replace
+ type: string
+
+- name: set fan fail group deassert
+ class: callback
+ callback: method
+ service: org.freedesktop.systemd1
+ path: /org/freedesktop/systemd1
+ interface: org.freedesktop.systemd1.Manager
+ method: StartUnit
+ args:
+ - value: obmc-led-group-stop@fan3_fail.service
+ type: string
+ - value: replace
+ type: string
+
+- name: set fan ok
+ class: callback
+ callback: group
+ members:
+ - set fan ok group assert
+ - set fan fail group deassert
+
+- name: set fan fail
+ class: callback
+ callback: group
+ members:
+ - set fan fail group assert
+ - set fan ok group deassert
diff --git a/meta-facebook/meta-yosemite4/recipes-phosphor/dbus/fan-fault-led/board-1-fan-6.yaml b/meta-facebook/meta-yosemite4/recipes-phosphor/dbus/fan-fault-led/board-1-fan-6.yaml
new file mode 100644
index 0000000..7e849a8
--- /dev/null
+++ b/meta-facebook/meta-yosemite4/recipes-phosphor/dbus/fan-fault-led/board-1-fan-6.yaml
@@ -0,0 +1,122 @@
+- name: board 1 fan 6 current critical alarm path group
+ class: group
+ group: path
+ members:
+ - meta: PATH
+ path: /xyz/openbmc_project/sensors/fan_tach/FANBOARD1_FAN6_TACH_IL
+ - meta: PATH
+ path: /xyz/openbmc_project/sensors/fan_tach/FANBOARD1_FAN6_TACH_OL
+
+- name: current fan critical alarm property
+ class: group
+ group: property
+ type: boolean
+ members:
+ - interface: xyz.openbmc_project.Sensor.Threshold.Critical
+ meta: PROPERTY
+ property: CriticalAlarmHigh
+ - interface: xyz.openbmc_project.Sensor.Threshold.Critical
+ meta: PROPERTY
+ property: CriticalAlarmLow
+
+- name: board 1 fan 6 critical alarm assert
+ class: watch
+ watch: property
+ paths: board 1 fan 6 current critical alarm path group
+ properties: current fan critical alarm property
+ callback: check if fan critical threshold assert
+
+- name: board 1 fan 6 critical alarm deassert
+ class: watch
+ watch: property
+ paths: board 1 fan 6 current critical alarm path group
+ properties: current fan critical alarm property
+ callback: check if fan critical threshold deassert
+
+- name: check if fan critical threshold assert
+ class: condition
+ condition: count
+ paths: board 1 fan 6 current critical alarm path group
+ properties: current fan critical alarm property
+ callback: set fan fail
+ countop: ">="
+ countbound: 1
+ op: "=="
+ bound: true
+
+- name: check if fan critical threshold deassert
+ class: condition
+ condition: count
+ paths: board 1 fan 6 current critical alarm path group
+ properties: current fan critical alarm property
+ callback: set fan ok
+ countop: "<"
+ countbound: 1
+ op: "=="
+ bound: true
+
+- name: set fan ok group assert
+ class: callback
+ callback: method
+ service: org.freedesktop.systemd1
+ path: /org/freedesktop/systemd1
+ interface: org.freedesktop.systemd1.Manager
+ method: StartUnit
+ args:
+ - value: obmc-led-group-start@fan6_ok.service
+ type: string
+ - value: replace
+ type: string
+
+- name: set fan ok group deassert
+ class: callback
+ callback: method
+ service: org.freedesktop.systemd1
+ path: /org/freedesktop/systemd1
+ interface: org.freedesktop.systemd1.Manager
+ method: StartUnit
+ args:
+ - value: obmc-led-group-stop@fan6_ok.service
+ type: string
+ - value: replace
+ type: string
+
+- name: set fan fail group assert
+ class: callback
+ callback: method
+ service: org.freedesktop.systemd1
+ path: /org/freedesktop/systemd1
+ interface: org.freedesktop.systemd1.Manager
+ method: StartUnit
+ args:
+ - value: obmc-led-group-start@fan6_fail.service
+ type: string
+ - value: replace
+ type: string
+
+- name: set fan fail group deassert
+ class: callback
+ callback: method
+ service: org.freedesktop.systemd1
+ path: /org/freedesktop/systemd1
+ interface: org.freedesktop.systemd1.Manager
+ method: StartUnit
+ args:
+ - value: obmc-led-group-stop@fan6_fail.service
+ type: string
+ - value: replace
+ type: string
+
+- name: set fan ok
+ class: callback
+ callback: group
+ members:
+ - set fan ok group assert
+ - set fan fail group deassert
+
+- name: set fan fail
+ class: callback
+ callback: group
+ members:
+ - set fan fail group assert
+ - set fan ok group deassert
diff --git a/meta-facebook/meta-yosemite4/recipes-phosphor/dbus/fan-fault-led/board-1-fan-7.yaml b/meta-facebook/meta-yosemite4/recipes-phosphor/dbus/fan-fault-led/board-1-fan-7.yaml
new file mode 100644
index 0000000..01ea532
--- /dev/null
+++ b/meta-facebook/meta-yosemite4/recipes-phosphor/dbus/fan-fault-led/board-1-fan-7.yaml
@@ -0,0 +1,122 @@
+- name: board 1 fan 7 current critical alarm path group
+ class: group
+ group: path
+ members:
+ - meta: PATH
+ path: /xyz/openbmc_project/sensors/fan_tach/FANBOARD1_FAN7_TACH_IL
+ - meta: PATH
+ path: /xyz/openbmc_project/sensors/fan_tach/FANBOARD1_FAN7_TACH_OL
+
+- name: current fan critical alarm property
+ class: group
+ group: property
+ type: boolean
+ members:
+ - interface: xyz.openbmc_project.Sensor.Threshold.Critical
+ meta: PROPERTY
+ property: CriticalAlarmHigh
+ - interface: xyz.openbmc_project.Sensor.Threshold.Critical
+ meta: PROPERTY
+ property: CriticalAlarmLow
+
+- name: board 1 fan 7 critical alarm assert
+ class: watch
+ watch: property
+ paths: board 1 fan 7 current critical alarm path group
+ properties: current fan critical alarm property
+ callback: check if fan critical threshold assert
+
+- name: board 1 fan 7 critical alarm deassert
+ class: watch
+ watch: property
+ paths: board 1 fan 7 current critical alarm path group
+ properties: current fan critical alarm property
+ callback: check if fan critical threshold deassert
+
+- name: check if fan critical threshold assert
+ class: condition
+ condition: count
+ paths: board 1 fan 7 current critical alarm path group
+ properties: current fan critical alarm property
+ callback: set fan fail
+ countop: ">="
+ countbound: 1
+ op: "=="
+ bound: true
+
+- name: check if fan critical threshold deassert
+ class: condition
+ condition: count
+ paths: board 1 fan 7 current critical alarm path group
+ properties: current fan critical alarm property
+ callback: set fan ok
+ countop: "<"
+ countbound: 1
+ op: "=="
+ bound: true
+
+- name: set fan ok group assert
+ class: callback
+ callback: method
+ service: org.freedesktop.systemd1
+ path: /org/freedesktop/systemd1
+ interface: org.freedesktop.systemd1.Manager
+ method: StartUnit
+ args:
+ - value: obmc-led-group-start@fan7_ok.service
+ type: string
+ - value: replace
+ type: string
+
+- name: set fan ok group deassert
+ class: callback
+ callback: method
+ service: org.freedesktop.systemd1
+ path: /org/freedesktop/systemd1
+ interface: org.freedesktop.systemd1.Manager
+ method: StartUnit
+ args:
+ - value: obmc-led-group-stop@fan7_ok.service
+ type: string
+ - value: replace
+ type: string
+
+- name: set fan fail group assert
+ class: callback
+ callback: method
+ service: org.freedesktop.systemd1
+ path: /org/freedesktop/systemd1
+ interface: org.freedesktop.systemd1.Manager
+ method: StartUnit
+ args:
+ - value: obmc-led-group-start@fan7_fail.service
+ type: string
+ - value: replace
+ type: string
+
+- name: set fan fail group deassert
+ class: callback
+ callback: method
+ service: org.freedesktop.systemd1
+ path: /org/freedesktop/systemd1
+ interface: org.freedesktop.systemd1.Manager
+ method: StartUnit
+ args:
+ - value: obmc-led-group-stop@fan7_fail.service
+ type: string
+ - value: replace
+ type: string
+
+- name: set fan ok
+ class: callback
+ callback: group
+ members:
+ - set fan ok group assert
+ - set fan fail group deassert
+
+- name: set fan fail
+ class: callback
+ callback: group
+ members:
+ - set fan fail group assert
+ - set fan ok group deassert
diff --git a/meta-facebook/meta-yosemite4/recipes-phosphor/dbus/phosphor-dbus-monitor-config.bbappend b/meta-facebook/meta-yosemite4/recipes-phosphor/dbus/phosphor-dbus-monitor-config.bbappend
index 34c8160..4b93a9f 100644
--- a/meta-facebook/meta-yosemite4/recipes-phosphor/dbus/phosphor-dbus-monitor-config.bbappend
+++ b/meta-facebook/meta-yosemite4/recipes-phosphor/dbus/phosphor-dbus-monitor-config.bbappend
@@ -1 +1,2 @@
-PHOSPHOR_DBUS_MONITOR_CONFIGS:append = " "
+PHOSPHOR_DBUS_MONITOR_CONFIGS:append = " power-saving-policy"
+PHOSPHOR_DBUS_MONITOR_CONFIGS:append = " fan-fault-led"