1[
2    {
3        "comments": [
4            "Example fan with tach feedback detection method. Fans without any",
5            "special presence detection hardware can use one or more tach speed",
6            "sensor feedbacks as an indicator of presence. Listed sensors are",
7            "expected to be found in the /xyz/openbmc_project/sensors/fan_tach",
8            "namespace as required by the OpenBMC DBus API. Supported policy types",
9            "are fallback or anyof. The fan_missing_error_time value is the amount",
10            "of time in seconds that a fan must be missing before an event log is",
11            "created."
12        ],
13        "name": "Example Fan0",
14        "path": "/system/chassis/motherboard/fan0",
15        "fan_missing_error_time": 10,
16        "methods": [
17            {
18                "type": "tach",
19                "sensors": ["fan0"]
20            }
21        ]
22    },
23    {
24        "comments": [
25            "Example fan with gpio detection method. Fans with dedicated gpios can",
26            "use the gpio detection method. The gpio detection uses Linux gpio-keys,",
27            "where the event number is provided via the `key` property."
28        ],
29        "name": "Example Fan1",
30        "path": "/system/chassis/motherboard/fan1",
31        "fan_missing_error_time": 10,
32        "methods": [
33            {
34                "type": "gpio",
35                "key": 123,
36                "physpath": "/sys/devices/foo/bar",
37                "devpath": "/dev/input/by-path/platform-gpio-keys-event"
38            }
39        ]
40    },
41    {
42        "comments": [
43            "Example fan with fallback redundancy policy. Multiple detection methods",
44            "for a single fan are allowed. When multiple detection methods are",
45            "provided a redundancy algorithm must be specified with the rpolicy",
46            "attribute. Note that the redundancy policy algorithm may or may not",
47            "factor the order the detection methods are listed into its logic. The",
48            "fallback algorithm falls back to subsequently listed detection methods",
49            "when the first method does not detect a fan and the second method does."
50        ],
51        "name": "Example Fan2",
52        "path": "/system/chassis/motherboard/fan2",
53        "fan_missing_error_time": 10,
54        "methods": [
55            {
56                "type": "gpio",
57                "key": 124,
58                "physpath": "/sys/devices/foo/bar",
59                "devpath": "/dev/input/by-path/platform-gpio-keys-polled-event"
60            },
61            {
62                "type": "tach",
63                "sensors": ["fan2"]
64            }
65        ],
66        "rpolicy": {
67            "type": "fallback"
68        }
69    },
70    {
71        "comments": [
72            "Example fan with anyof redundancy policy. The anyof algorithm reports",
73            "true if any redundancy set component sensors report true."
74        ],
75        "name": "Example Fan3",
76        "path": "/system/chassis/motherboard/fan3",
77        "fan_missing_error_time": 10,
78        "methods": [
79            {
80                "type": "gpio",
81                "key": 125,
82                "physpath": "/sys/devices/foo/bar",
83                "devpath": "/dev/input/by-path/platform-gpio-keys-polled-event"
84            },
85            {
86                "type": "tach",
87                "sensors": ["fan3"]
88            }
89        ],
90        "rpolicy": {
91            "type": "anyof"
92        }
93    }
94]
95