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