1{ 2 "version": "R05", 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": "fb_fan0", 22 "type": "fan", 23 "readPath": "/xyz/openbmc_project/sensors/fan_tach/fb_fan0", 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": "fb_fan1", 30 "type": "fan", 31 "readPath": "/xyz/openbmc_project/sensors/fan_tach/fb_fan1", 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": "fb_fan2", 38 "type": "fan", 39 "readPath": "/xyz/openbmc_project/sensors/fan_tach/fb_fan2", 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": "fleeting2", 66 "type": "margin", 67 "readPath": "/xyz/openbmc_project/extsensors/margin/fleeting2", 68 "writePath": "", 69 "min": 0, 70 "max": 0, 71 "ignoreDbusMinMax": true, 72 "timeout": 0 73 }, 74 { 75 "name": "cputemp", 76 "type": "margin", 77 "readPath": "/xyz/openbmc_project/extsensors/margin/cputemp", 78 "writePath": "", 79 "min": 0, 80 "max": 0, 81 "ignoreDbusMinMax": true, 82 "timeout": 0 83 }, 84 { 85 "name": "zone0_vr", 86 "type": "margin", 87 "readPath": "/xyz/openbmc_project/extsensors/margin/zone0_vr", 88 "writePath": "", 89 "min": 0, 90 "max": 0, 91 "ignoreDbusMinMax": true, 92 "timeout": 0 93 }, 94 { 95 "name": "nvme", 96 "type": "margin", 97 "readPath": "/xyz/openbmc_project/extsensors/margin/nvme", 98 "writePath": "", 99 "min": 0, 100 "max": 0, 101 "ignoreDbusMinMax": true, 102 "timeout": 0 103 }, 104 { 105 "name": "p12v_fan", 106 "type": "margin", 107 "readPath": "/xyz/openbmc_project/extsensors/margin/p12v_fan", 108 "writePath": "", 109 "min": 0, 110 "max": 0, 111 "ignoreDbusMinMax": true, 112 "timeout": 0 113 } 114 ], 115 "zones": [ 116 { 117 "id": 0, 118 "minThermalOutput": 0.0, 119 "failsafePercent": 100.0, 120 "pids": [ 121 { 122 "name": "fan0", 123 "type": "fan", 124 "inputs": [ 125 "fan0" 126 ], 127 "setpoint": 0.0, 128 "pid": { 129 "samplePeriod": 0.1, 130 "proportionalCoeff": 0.0, 131 "integralCoeff": 0.0, 132 "feedFwdOffsetCoeff": 0.0, 133 "feedFwdGainCoeff": 0.0056, 134 "integralLimit_min": 0.0, 135 "integralLimit_max": 0.0, 136 "outLim_min": 15.0, 137 "outLim_max": 100.0, 138 "slewNeg": 0.0, 139 "slewPos": 0.0 140 } 141 }, 142 { 143 "name": "fan1", 144 "type": "fan", 145 "inputs": [ 146 "fan1" 147 ], 148 "setpoint": 0.0, 149 "pid": { 150 "samplePeriod": 0.1, 151 "proportionalCoeff": 0.0, 152 "integralCoeff": 0.0, 153 "feedFwdOffsetCoeff": 0.0, 154 "feedFwdGainCoeff": 0.0056, 155 "integralLimit_min": 0.0, 156 "integralLimit_max": 0.0, 157 "outLim_min": 15.0, 158 "outLim_max": 100.0, 159 "slewNeg": 0.0, 160 "slewPos": 0.0 161 } 162 }, 163 { 164 "name": "cputemp", 165 "type": "margin", 166 "inputs": [ 167 "cputemp" 168 ], 169 "setpoint": 10.0, 170 "pid": { 171 "samplePeriod": 1.0, 172 "proportionalCoeff": 714.0, 173 "integralCoeff": 9.0, 174 "feedFwdOffsetCoeff": 0.0, 175 "feedFwdGainCoeff": 0.0, 176 "integralLimit_min": 2679.0, 177 "integralLimit_max": 18000.0, 178 "outLim_min": 2679.0, 179 "outLim_max": 18000.0, 180 "slewNeg": 0.0, 181 "slewPos": 0.0, 182 "positiveHysteresis": 0.0, 183 "negativeHysteresis": 0.0 184 } 185 }, 186 { 187 "name": "zone0_vr", 188 "type": "margin", 189 "inputs": [ 190 "zone0_vr" 191 ], 192 "setpoint": 10.0, 193 "pid": { 194 "samplePeriod": 1.0, 195 "proportionalCoeff": 536.0, 196 "integralCoeff": 9.0, 197 "feedFwdOffsetCoeff": 0.0, 198 "feedFwdGainCoeff": 0.0, 199 "integralLimit_min": 2679.0, 200 "integralLimit_max": 18000.0, 201 "outLim_min": 2679.0, 202 "outLim_max": 18000.0, 203 "slewNeg": 0.0, 204 "slewPos": 0.0, 205 "positiveHysteresis": 0.0, 206 "negativeHysteresis": 0.0 207 } 208 }, 209 { 210 "name": "fleeting0", 211 "type": "margin", 212 "inputs": [ 213 "fleeting0" 214 ], 215 "setpoint": 10.0, 216 "pid": { 217 "samplePeriod": 1.0, 218 "proportionalCoeff": 536.0, 219 "integralCoeff": 9.0, 220 "feedFwdOffsetCoeff": 0.0, 221 "feedFwdGainCoeff": 0.0, 222 "integralLimit_min": 2679.0, 223 "integralLimit_max": 18000.0, 224 "outLim_min": 2679.0, 225 "outLim_max": 18000.0, 226 "slewNeg": 0.0, 227 "slewPos": 0.0, 228 "positiveHysteresis": 0.0, 229 "negativeHysteresis": 0.0 230 } 231 }, 232 { 233 "name": "fleeting1", 234 "type": "margin", 235 "inputs": [ 236 "fleeting1" 237 ], 238 "setpoint": 10.0, 239 "pid": { 240 "samplePeriod": 1.0, 241 "proportionalCoeff": 536.0, 242 "integralCoeff": 18.0, 243 "feedFwdOffsetCoeff": 0.0, 244 "feedFwdGainCoeff": 0.0, 245 "integralLimit_min": 2679.0, 246 "integralLimit_max": 18000.0, 247 "outLim_min": 2679.0, 248 "outLim_max": 18000.0, 249 "slewNeg": 0.0, 250 "slewPos": 0.0, 251 "positiveHysteresis": 0.0, 252 "negativeHysteresis": 0.0 253 } 254 }, 255 { 256 "name": "fleeting2", 257 "type": "margin", 258 "inputs": [ 259 "fleeting2" 260 ], 261 "setpoint": 10.0, 262 "pid": { 263 "samplePeriod": 1.0, 264 "proportionalCoeff": 536.0, 265 "integralCoeff": 18.0, 266 "feedFwdOffsetCoeff": 0.0, 267 "feedFwdGainCoeff": 0.0, 268 "integralLimit_min": 2679.0, 269 "integralLimit_max": 18000.0, 270 "outLim_min": 2679.0, 271 "outLim_max": 18000.0, 272 "slewNeg": 0.0, 273 "slewPos": 0.0, 274 "positiveHysteresis": 0.0, 275 "negativeHysteresis": 0.0 276 } 277 } 278 ] 279 }, 280 { 281 "id": 1, 282 "minThermalOutput": 0.0, 283 "failsafePercent": 100.0, 284 "pids": [ 285 { 286 "name": "fb_fan0", 287 "type": "fan", 288 "inputs": [ 289 "fb_fan0" 290 ], 291 "setpoint": 0.0, 292 "pid": { 293 "samplePeriod": 0.1, 294 "proportionalCoeff": 0.0, 295 "integralCoeff": 0.0, 296 "feedFwdOffsetCoeff": 0.0, 297 "feedFwdGainCoeff": 0.0056, 298 "integralLimit_min": 0.0, 299 "integralLimit_max": 0.0, 300 "outLim_min": 15.0, 301 "outLim_max": 100.0, 302 "slewNeg": 0.0, 303 "slewPos": 0.0 304 } 305 }, 306 { 307 "name": "fb_fan1", 308 "type": "fan", 309 "inputs": [ 310 "fb_fan1" 311 ], 312 "setpoint": 0.0, 313 "pid": { 314 "samplePeriod": 0.1, 315 "proportionalCoeff": 0.0, 316 "integralCoeff": 0.0, 317 "feedFwdOffsetCoeff": 0.0, 318 "feedFwdGainCoeff": 0.0056, 319 "integralLimit_min": 0.0, 320 "integralLimit_max": 0.0, 321 "outLim_min": 15.0, 322 "outLim_max": 100.0, 323 "slewNeg": 0.0, 324 "slewPos": 0.0 325 } 326 }, 327 { 328 "name": "fb_fan2", 329 "type": "fan", 330 "inputs": [ 331 "fb_fan2" 332 ], 333 "setpoint": 0.0, 334 "pid": { 335 "samplePeriod": 0.1, 336 "proportionalCoeff": 0.0, 337 "integralCoeff": 0.0, 338 "feedFwdOffsetCoeff": 0.0, 339 "feedFwdGainCoeff": 0.0056, 340 "integralLimit_min": 0.0, 341 "integralLimit_max": 0.0, 342 "outLim_min": 15.0, 343 "outLim_max": 100.0, 344 "slewNeg": 0.0, 345 "slewPos": 0.0 346 } 347 }, 348 { 349 "name": "nvme", 350 "type": "margin", 351 "inputs": [ 352 "nvme" 353 ], 354 "setpoint": 10.0, 355 "pid": { 356 "samplePeriod": 1.0, 357 "proportionalCoeff": 1250.0, 358 "integralCoeff": 12.0, 359 "feedFwdOffsetCoeff": 0.0, 360 "feedFwdGainCoeff": 0.0, 361 "integralLimit_min": 2679.0, 362 "integralLimit_max": 18000.0, 363 "outLim_min": 2679.0, 364 "outLim_max": 18000.0, 365 "slewNeg": 0.0, 366 "slewPos": 0.0, 367 "positiveHysteresis": 0.0, 368 "negativeHysteresis": 0.0 369 } 370 }, 371 { 372 "name": "p12v_fan", 373 "type": "margin", 374 "inputs": [ 375 "p12v_fan" 376 ], 377 "setpoint": 10.0, 378 "pid": { 379 "samplePeriod": 1.0, 380 "proportionalCoeff": 268.0, 381 "integralCoeff": 4.0, 382 "feedFwdOffsetCoeff": 0.0, 383 "feedFwdGainCoeff": 0.0, 384 "integralLimit_min": 2679.0, 385 "integralLimit_max": 18000.0, 386 "outLim_min": 2679.0, 387 "outLim_max": 18000.0, 388 "slewNeg": 0.0, 389 "slewPos": 0.0, 390 "positiveHysteresis": 0.0, 391 "negativeHysteresis": 0.0 392 } 393 } 394 ] 395 } 396 ] 397} 398