# 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 devpath: /dev/input/by-path/platform-gpio-keys-event - 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 devpath: /dev/input/by-path/platform-gpio-keys-polled-event - type: tach sensors: - fan2 rpolicy: type: fallback - name: Example Fan3 description: > 'Example fan with anyof redundancy policy. The anyof algorithm reports true if any redundancy set component sensors report true.' path: /system/chassis/motherboard/fan3 methods: - type: gpio key: 125 physpath: /sys/devices/foo/bar devpath: /dev/input/by-path/platform-gpio-keys-polled-event - type: tach sensors: - fan3 rpolicy: type: anyof