1{
2    "sensors" : [
3        {
4            "name": "fan1",
5            "type": "fan",
6            "readPath": "/xyz/openbmc_project/sensors/fan_tach/fan1",
7            "writePath": "/sys/devices/platform/ahb/ahb:apb/1e786000.pwm-tacho-controller/hwmon/**/pwm1",
8            "min": 0,
9            "max": 255
10        },
11        {
12            "name": "fan2",
13            "type": "fan",
14            "readPath": "/xyz/openbmc_project/sensors/fan_tach/fan2",
15            "writePath": "/sys/devices/platform/ahb/ahb:apb/1e786000.pwm-tacho-controller/hwmon/**/pwm2",
16            "min": 0,
17            "max": 255
18        },
19        {
20            "name": "fan3",
21            "type": "fan",
22            "readPath": "/xyz/openbmc_project/sensors/fan_tach/fan3",
23            "writePath": "/sys/devices/platform/ahb/ahb:apb/1e786000.pwm-tacho-controller/hwmon/**/pwm3",
24            "min": 0,
25            "max": 255
26        },
27        {
28            "name": "fan4",
29            "type": "fan",
30            "readPath": "/xyz/openbmc_project/sensors/fan_tach/fan4",
31            "writePath": "/sys/devices/platform/ahb/ahb:apb/1e786000.pwm-tacho-controller/hwmon/**/pwm4",
32            "min": 0,
33            "max": 255
34        },
35        {
36            "name": "fan5",
37            "type": "fan",
38            "readPath": "/xyz/openbmc_project/sensors/fan_tach/fan5"
39        },
40        {
41            "name": "fan6",
42            "type": "fan",
43            "readPath": "/xyz/openbmc_project/sensors/fan_tach/fan6"
44        },
45        {
46            "name": "fan7",
47            "type": "fan",
48            "readPath": "/xyz/openbmc_project/sensors/fan_tach/fan7"
49        },
50        {
51            "name": "fan8",
52            "type": "fan",
53            "readPath": "/xyz/openbmc_project/sensors/fan_tach/fan8"
54        },
55        {
56            "name": "fleeting0",
57            "type": "margin",
58            "readPath": "/xyz/openbmc_project/extsensors/margin/fleeting0",
59            "timeout": 4
60        }
61    ],
62    "zones" : [
63        {
64            "id": 1,
65            "minThermalRpm": 3000.0,
66            "failsafePercent": 75.0,
67            "pids": [
68                {
69                    "name": "fan1-5",
70                    "type": "fan",
71                    "inputs": ["fan1", "fan5"],
72                    "setpoint": 90.0,
73                    "pid": {
74                        "sampleperiod": 0.1,
75                        "proportionalCoeff": 0.0,
76                        "integralCoeff": 0.0,
77                        "feedFwdOffOffsetCoeff": 0.0,
78                        "feedFwdGainCoeff": 0.010,
79                        "integralLimit_min": 0.0,
80                        "integralLimit_max": 0.0,
81                        "outLim_min": 30.0,
82                        "outLim_max": 100.0,
83                        "slewNeg": 0.0,
84                        "slewPos": 0.0
85                    }
86                },
87                {
88                    "name": "fan2-6",
89                    "type": "fan",
90                    "inputs": ["fan2", "fan6"],
91                    "setpoint": 90.0,
92                    "pid": {
93                        "sampleperiod": 0.1,
94                        "proportionalCoeff": 0.0,
95                        "integralCoeff": 0.0,
96                        "feedFwdOffOffsetCoeff": 0.0,
97                        "feedFwdGainCoeff": 0.010,
98                        "integralLimit_min": 0.0,
99                        "integralLimit_max": 0.0,
100                        "outLim_min": 30.0,
101                        "outLim_max": 100.0,
102                        "slewNeg": 0.0,
103                        "slewPos": 0.0
104                    }
105                },
106                {
107                    "name": "fan3-7",
108                    "type": "fan",
109                    "inputs": ["fan3", "fan7"],
110                    "setpoint": 90.0,
111                    "pid": {
112                        "sampleperiod": 0.1,
113                        "proportionalCoeff": 0.0,
114                        "integralCoeff": 0.0,
115                        "feedFwdOffOffsetCoeff": 0.0,
116                        "feedFwdGainCoeff": 0.010,
117                        "integralLimit_min": 0.0,
118                        "integralLimit_max": 0.0,
119                        "outLim_min": 30.0,
120                        "outLim_max": 100.0,
121                        "slewNeg": 0.0,
122                        "slewPos": 0.0
123                    }
124                },
125                {
126                    "name": "fan4-8",
127                    "type": "fan",
128                    "inputs": ["fan4", "fan8"],
129                    "setpoint": 90.0,
130                    "pid": {
131                        "sampleperiod": 0.1,
132                        "proportionalCoeff": 0.0,
133                        "integralCoeff": 0.0,
134                        "feedFwdOffOffsetCoeff": 0.0,
135                        "feedFwdGainCoeff": 0.010,
136                        "integralLimit_min": 0.0,
137                        "integralLimit_max": 0.0,
138                        "outLim_min": 30.0,
139                        "outLim_max": 100.0,
140                        "slewNeg": 0.0,
141                        "slewPos": 0.0
142                    }
143                },
144                {
145                    "name": "fleetingpid0",
146                    "type": "margin",
147                    "inputs": ["fleeting0"],
148                    "setpoint": 10,
149                    "pid": {
150                        "sampleperiod": 1,
151                        "proportionalCoeff": 750.0,
152                        "integralCoeff": 16.0,
153                        "feedFwdOffOffsetCoeff": 0.0,
154                        "feedFwdGainCoeff": 0.0,
155                        "integralLimit_min": 3000,
156                        "integralLimit_max": 10000,
157                        "outLim_min": 3000,
158                        "outLim_max": 10000,
159                        "slewNeg": -100.0,
160                        "slewPos": 0.0
161                    }
162                }
163            ]
164        }
165    ]
166}
167