blob: e28ac9c8fef5b76ac20281f00c791ce583843287 [file] [log] [blame]
George Hungb67a01a2020-06-30 10:47:30 +08001{
2 "version" : "R00",
3 "sensors" : [
4 {
5 "name": "fan0",
6 "type": "fan",
7 "readPath": "/xyz/openbmc_project/sensors/fan_tach/fan0",
8 "writePath": "/sys/devices/platform/ahb/ahb:apb/f0103000.pwm-fan-controller/hwmon/Fan_0_To_4_Hwmon/pwm1",
9 "min": 0,
10 "max": 255
11 },
12 {
13 "name": "fan1",
14 "type": "fan",
15 "readPath": "/xyz/openbmc_project/sensors/fan_tach/fan1",
16 "writePath": "/sys/devices/platform/ahb/ahb:apb/f0103000.pwm-fan-controller/hwmon/Fan_0_To_4_Hwmon/pwm2",
17 "min": 0,
18 "max": 255
19 },
20 {
21 "name": "fan2",
22 "type": "fan",
23 "readPath": "/xyz/openbmc_project/sensors/fan_tach/fan2",
24 "writePath": "/sys/devices/platform/ahb/ahb:apb/f0103000.pwm-fan-controller/hwmon/Fan_0_To_4_Hwmon/pwm3",
25 "min": 0,
26 "max": 255
27 },
28 {
29 "name": "fan3",
30 "type": "fan",
31 "readPath": "/xyz/openbmc_project/sensors/fan_tach/fan3",
32 "writePath": "/sys/devices/platform/ahb/ahb:apb/f0103000.pwm-fan-controller/hwmon/Fan_0_To_4_Hwmon/pwm4",
33 "min": 0,
34 "max": 255
35 },
36 {
37 "name": "fan4",
38 "type": "fan",
39 "readPath": "/xyz/openbmc_project/sensors/fan_tach/fan4",
40 "writePath": "/sys/devices/platform/ahb/ahb:apb/f0103000.pwm-fan-controller/hwmon/Fan_0_To_4_Hwmon/pwm5",
41 "min": 0,
42 "max": 255
43 },
44 {
45 "name": "fleeting0",
46 "type": "margin",
47 "readPath": "/xyz/openbmc_project/extsensors/margin/fleeting0",
48 "writePath": "",
49 "min": 0,
50 "max": 0,
51 "ignoreDbusMinMax": true,
52 "timeout": 0
53 },
54 {
55 "name": "fleeting1",
56 "type": "margin",
57 "readPath": "/xyz/openbmc_project/extsensors/margin/fleeting1",
58 "writePath": "",
59 "min": 0,
60 "max": 0,
61 "ignoreDbusMinMax": true,
62 "timeout": 0
63 },
64 {
65 "name": "real_fleeting0",
66 "type": "margin",
67 "readPath": "/xyz/openbmc_project/extsensors/margin/real_fleeting0",
68 "writePath": "",
69 "min": 0,
70 "max": 0,
71 "ignoreDbusMinMax": true,
72 "timeout": 0
73 },
74 {
75 "name": "real_fleeting1",
76 "type": "margin",
77 "readPath": "/xyz/openbmc_project/extsensors/margin/real_fleeting1",
78 "writePath": "",
79 "min": 0,
80 "max": 0,
81 "ignoreDbusMinMax": true,
82 "timeout": 0
83 }
84 ],
85 "zones" : [
86 {
87 "id": 0,
88 "minThermalOutput": 0.0,
89 "failsafePercent": 100.0,
90 "pids": [
91 {
92 "name": "fan0",
93 "type": "fan",
94 "inputs": ["fan0"],
95 "setpoint": 0.0,
96 "pid": {
97 "samplePeriod": 0.1,
98 "proportionalCoeff": 0.0,
99 "integralCoeff": 0.0,
100 "feedFwdOffsetCoeff": 0.0,
101 "feedFwdGainCoeff": 0.0056,
102 "integralLimit_min": 0.0,
103 "integralLimit_max": 0.0,
104 "outLim_min": 20.0,
105 "outLim_max": 100.0,
106 "slewNeg": 0.0,
107 "slewPos": 0.0
108 }
109 },
110 {
111 "name": "fan1",
112 "type": "fan",
113 "inputs": ["fan1"],
114 "setpoint": 0.0,
115 "pid": {
116 "samplePeriod": 0.1,
117 "proportionalCoeff": 0.0,
118 "integralCoeff": 0.0,
119 "feedFwdOffsetCoeff": 0.0,
120 "feedFwdGainCoeff": 0.0056,
121 "integralLimit_min": 0.0,
122 "integralLimit_max": 0.0,
123 "outLim_min": 20.0,
124 "outLim_max": 100.0,
125 "slewNeg": 0.0,
126 "slewPos": 0.0
127 }
128 },
129 {
130 "name": "real_fleeting0",
131 "type": "margin",
132 "inputs": ["real_fleeting0"],
133 "setpoint": 10.0,
134 "pid": {
135 "samplePeriod": 1.0,
136 "proportionalCoeff": 225.0,
137 "integralCoeff": 45.0,
138 "feedFwdOffsetCoeff": 0.0,
139 "feedFwdGainCoeff": 0.0,
140 "integralLimit_min": 2500.0,
141 "integralLimit_max": 18000.0,
142 "outLim_min": 2500.0,
143 "outLim_max": 18000.0,
144 "slewNeg": 0.0,
145 "slewPos": 0.0,
146 "positiveHysteresis": 0.0,
147 "negativeHysteresis": 0.0
148 }
149 }
150 ]
151 },
152 {
153 "id": 1,
154 "minThermalOutput": 0.0,
155 "failsafePercent": 100.0,
156 "pids": [
157 {
158 "name": "fan2",
159 "type": "fan",
160 "inputs": ["fan2"],
161 "setpoint": 0.0,
162 "pid": {
163 "samplePeriod": 0.1,
164 "proportionalCoeff": 0.0,
165 "integralCoeff": 0.0,
166 "feedFwdOffsetCoeff": 0.0,
167 "feedFwdGainCoeff": 0.0056,
168 "integralLimit_min": 0.0,
169 "integralLimit_max": 0.0,
170 "outLim_min": 20.0,
171 "outLim_max": 100.0,
172 "slewNeg": 0.0,
173 "slewPos": 0.0
174 }
175 },
176 {
177 "name": "fan3",
178 "type": "fan",
179 "inputs": ["fan3"],
180 "setpoint": 0.0,
181 "pid": {
182 "samplePeriod": 0.1,
183 "proportionalCoeff": 0.0,
184 "integralCoeff": 0.0,
185 "feedFwdOffsetCoeff": 0.0,
186 "feedFwdGainCoeff": 0.0056,
187 "integralLimit_min": 0.0,
188 "integralLimit_max": 0.0,
189 "outLim_min": 20.0,
190 "outLim_max": 100.0,
191 "slewNeg": 0.0,
192 "slewPos": 0.0
193 }
194 },
195 {
196 "name": "fan4",
197 "type": "fan",
198 "inputs": ["fan4"],
199 "setpoint": 0.0,
200 "pid": {
201 "samplePeriod": 0.1,
202 "proportionalCoeff": 0.0,
203 "integralCoeff": 0.0,
204 "feedFwdOffsetCoeff": 0.0,
205 "feedFwdGainCoeff": 0.0056,
206 "integralLimit_min": 0.0,
207 "integralLimit_max": 0.0,
208 "outLim_min": 20.0,
209 "outLim_max": 100.0,
210 "slewNeg": 0.0,
211 "slewPos": 0.0
212 }
213 },
214 {
215 "name": "real_fleeting1",
216 "type": "margin",
217 "inputs": ["real_fleeting1"],
218 "setpoint": 10.0,
219 "pid": {
220 "samplePeriod": 1.0,
221 "proportionalCoeff": 225.0,
222 "integralCoeff": 45.0,
223 "feedFwdOffsetCoeff": 0.0,
224 "feedFwdGainCoeff": 0.0,
225 "integralLimit_min": 2500.0,
226 "integralLimit_max": 18000.0,
227 "outLim_min": 2500.0,
228 "outLim_max": 18000.0,
229 "slewNeg": 0.0,
230 "slewPos": 0.0,
231 "positiveHysteresis": 0.0,
232 "negativeHysteresis": 0.0
233 }
234 }
235 ]
236 }
237 ]
238}