summaryrefslogtreecommitdiffstats
path: root/presence/example
diff options
context:
space:
mode:
authorBrad Bishop <bradleyb@fuzziesquirrel.com>2017-06-13 13:31:24 -0400
committerPatrick Williams <patrick@stwcx.xyz>2017-08-02 20:18:19 +0000
commit5593560b1e1a7785a491d4650c4f3f61ffdaba90 (patch)
tree86ea09c93fb2632c0b50ef23b806868e88d99b71 /presence/example
parentbfb8160710d95d208f7cb1565a97c2a909459d0c (diff)
downloadphosphor-fan-presence-5593560b1e1a7785a491d4650c4f3f61ffdaba90.tar.gz
phosphor-fan-presence-5593560b1e1a7785a491d4650c4f3f61ffdaba90.zip
presence: New parser
Adopt an easy on the tongue acronym similar to other projects. Add a robust parser with support for sensors and policies. Sensors: gpio, tach Policies: fallback Add an example yaml file. Change-Id: I9158a0ce2a08ef6b7bb3f5d659ea0e0433af5b96 Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'presence/example')
-rw-r--r--presence/example/example.yaml66
1 files changed, 66 insertions, 0 deletions
diff --git a/presence/example/example.yaml b/presence/example/example.yaml
new file mode 100644
index 0000000..aea0139
--- /dev/null
+++ b/presence/example/example.yaml
@@ -0,0 +1,66 @@
+# Phosphor Fan Presence (PFP) example configuration file.
+#
+# The configuration represents an array of fans the application
+# should check for presence. The name attribute is required
+# and is used as the PrettyName attribute for the
+# xyz.openbmc_project.Inventory.Item interface. Path is required
+# and is the location where the fan inventory object will be
+# created. Additional configuration directives described below
+# in the examples.
+
+- name: Example Fan0
+ description: >
+ 'Example fan with tach feedback detection method.
+
+ Fans without any special presence detection hardware
+ can use one or more tach speed sensor feedbacks as
+ an indicator of presence. Listed sensors are expected to
+ be found in the /xyz/openbmc_project/sensors/fan_tach
+ namespace as required by the OpenBMC DBus API.
+
+ Supported policy types are all_of or any_of.'
+ path: /system/chassis/motherboard/fan0
+ methods:
+ - type: tach
+ sensors:
+ - fan0
+
+- name: Example Fan1
+ description: >
+ 'Example fan with gpio detection method.
+
+ Fans with dedicated gpios can use the gpio detection
+ method. The gpio detection uses Linux gpio-keys: the
+ event number must be provided via the key property.'
+ path: /system/chassis/motherboard/fan1
+ methods:
+ - type: gpio
+ key: 123
+ physpath: /sys/devices/foo/bar
+
+- name: Example Fan2
+ description: >
+ 'Example fan with fallback redundancy policy.
+
+ Multiple detection methods for a single fan are allowed.
+ When multiple detection methods are provided a redundancy
+ algorithm must be specified with the rpolicy attribute.
+
+ Note that the redundancy policy algorithm may or may not
+ factor the order the detection methods are listed into
+ its logic.
+
+ The fallback algorithm falls back to subsequently listed
+ detection methods when the first method does not detect
+ a fan and the second method does.'
+ path: /system/chassis/motherboard/fan2
+ methods:
+ - type: gpio
+ key: 124
+ physpath: /sys/devices/foo/bar
+ - type: tach
+ sensors:
+ - fan2
+ rpolicy:
+ type: fallback
+
OpenPOWER on IntegriCloud