configuration: add fan table in yosemite4 config files

Add fan table in the config files so that the fan table could be created
dynamically according to the FRU devices.

Change-Id: I9895e376daf6ecceab09882b960db3eb3b4c785b
Signed-off-by: Delphine CC Chiu <Delphine_CC_Chiu@wiwynn.com>
diff --git a/configurations/yosemite4.json b/configurations/yosemite4.json
index 12b3c1c..c70c3a0 100644
--- a/configurations/yosemite4.json
+++ b/configurations/yosemite4.json
@@ -435,6 +435,146 @@
             "Type": "ADC"
         },
         {
+            "Class": "fan",
+            "FFGainCoefficient": 1.0,
+            "FFOffCoefficient": 0.0,
+            "ICoefficient": 0.0,
+            "ILimitMax": 0.0,
+            "ILimitMin": 0.0,
+            "Inputs": [
+                "FANBOARD0_FAN0_TACH_IL",
+                "FANBOARD0_FAN0_TACH_OL",
+                "FANBOARD0_FAN1_TACH_IL",
+                "FANBOARD0_FAN1_TACH_OL",
+                "FANBOARD1_FAN2_TACH_IL",
+                "FANBOARD1_FAN2_TACH_OL",
+                "FANBOARD1_FAN3_TACH_IL",
+                "FANBOARD1_FAN3_TACH_OL",
+                "FANBOARD0_FAN4_TACH_IL",
+                "FANBOARD0_FAN4_TACH_OL",
+                "FANBOARD0_FAN5_TACH_IL",
+                "FANBOARD0_FAN5_TACH_OL",
+                "FANBOARD1_FAN6_TACH_IL",
+                "FANBOARD1_FAN6_TACH_OL",
+                "FANBOARD1_FAN7_TACH_IL",
+                "FANBOARD1_FAN7_TACH_OL",
+                "FANBOARD0_FAN8_TACH_IL",
+                "FANBOARD0_FAN8_TACH_OL",
+                "FANBOARD0_FAN9_TACH_IL",
+                "FANBOARD0_FAN9_TACH_OL",
+                "FANBOARD1_FAN10_TACH_IL",
+                "FANBOARD1_FAN10_TACH_OL",
+                "FANBOARD1_FAN11_TACH_IL",
+                "FANBOARD1_FAN11_TACH_OL"
+            ],
+            "Name": "All Fan",
+            "OutLimitMax": 100.0,
+            "OutLimitMin": 0.0,
+            "Outputs": [
+                "FANBOARD0_FAN0_PWM",
+                "FANBOARD0_FAN0_PWM",
+                "FANBOARD0_FAN1_PWM",
+                "FANBOARD0_FAN1_PWM",
+                "FANBOARD1_FAN2_PWM",
+                "FANBOARD1_FAN2_PWM",
+                "FANBOARD1_FAN3_PWM",
+                "FANBOARD1_FAN3_PWM",
+                "FANBOARD0_FAN4_PWM",
+                "FANBOARD0_FAN4_PWM",
+                "FANBOARD0_FAN5_PWM",
+                "FANBOARD0_FAN5_PWM",
+                "FANBOARD1_FAN6_PWM",
+                "FANBOARD1_FAN6_PWM",
+                "FANBOARD1_FAN7_PWM",
+                "FANBOARD1_FAN7_PWM",
+                "FANBOARD0_FAN8_PWM",
+                "FANBOARD0_FAN8_PWM",
+                "FANBOARD0_FAN9_PWM",
+                "FANBOARD0_FAN9_PWM",
+                "FANBOARD1_FAN10_PWM",
+                "FANBOARD1_FAN10_PWM",
+                "FANBOARD1_FAN11_PWM",
+                "FANBOARD1_FAN11_PWM"
+            ],
+            "PCoefficient": 0.0,
+            "SlewNeg": 0.0,
+            "SlewPos": 0.0,
+            "Type": "Pid",
+            "Zones": [
+                "Zone 1"
+            ]
+        },
+        {
+            "CheckHysteresisWithSetpoint": true,
+            "Class": "temp",
+            "DCoefficient": 0.0,
+            "FFGainCoefficient": 0.0,
+            "FFOffCoefficient": 0.0,
+            "ICoefficient": -0.035,
+            "ILimitMax": 100,
+            "ILimitMin": -50,
+            "Inputs": [
+                "NIC0_TEMP_C",
+                "NIC1_TEMP_C",
+                "NIC2_TEMP_C",
+                "NIC3_TEMP_C"
+            ],
+            "Name": "PID_NIC_TEMP",
+            "NegativeHysteresis": 3.0,
+            "OutLimitMax": 100,
+            "OutLimitMin": 0,
+            "PCoefficient": -3.0,
+            "PositiveHysteresis": 0.0,
+            "SetPoint": 90.0,
+            "SlewNeg": 0.0,
+            "SlewPos": 0.0,
+            "Type": "Pid",
+            "Zones": [
+                "Zone 1"
+            ]
+        },
+        {
+            "AccumulateSetPoint": true,
+            "CycleIntervalTimeMS": 1000,
+            "FailSafePercent": 100.0,
+            "MinThermalOutput": 0.0,
+            "Name": "Zone 1",
+            "Type": "Pid.Zone",
+            "UpdateThermalsTimeMS": 1000
+        },
+        {
+            "Class": "temp",
+            "Inputs": [
+                "NIC0_TEMP_C",
+                "NIC1_TEMP_C",
+                "NIC2_TEMP_C",
+                "NIC3_TEMP_C"
+            ],
+            "Name": "Stepwise_NIC_TEMP",
+            "NegativeHysteresis": 2,
+            "Output": [
+                20.0,
+                22.0,
+                24.0,
+                26.0,
+                28.0,
+                30.0
+            ],
+            "PositiveHysteresis": 0,
+            "Reading": [
+                80.0,
+                81.0,
+                82.0,
+                83.0,
+                84.0,
+                85.0
+            ],
+            "Type": "Stepwise",
+            "Zones": [
+                "Zone 1"
+            ]
+        },
+        {
             "Address": "0x1f",
             "Bus": 24,
             "Name": "NIC0_REMOTE_TEMP_C",