configurations: system1: Add chassis for fans

Add system1 chassis file which includes fans, ambient and psu
temperature sensors.
Correct filename in CONFIG_FORMAT.md file

Change-Id: Ifd3cb5eb2dbe4c62e43bced545c6493652cb730e
Signed-off-by: Chris Cain <cjcain@us.ibm.com>
diff --git a/configurations/system1_baseboard.json b/configurations/system1_baseboard.json
index fe05abf..4aa7ad1 100644
--- a/configurations/system1_baseboard.json
+++ b/configurations/system1_baseboard.json
@@ -357,6 +357,81 @@
             "Name": "Power Supply Slot 3",
             "NamedPresenceGpio": "presence-ps3",
             "Type": "IBMCFFPSConnector"
+        },
+        {
+            "Name": "Fan1 connector",
+            "Pwm": 0,
+            "PwmName": "Fan1_Pwm",
+            "Status": "disabled",
+            "Tachs": [
+                0,
+                1
+            ],
+            "Type": "IntelFanConnector"
+        },
+        {
+            "Name": "Fan2 connector",
+            "Pwm": 1,
+            "PwmName": "Fan2_Pwm",
+            "Status": "disabled",
+            "Tachs": [
+                2,
+                3
+            ],
+            "Type": "IntelFanConnector"
+        },
+        {
+            "Name": "Fan3 connector",
+            "Pwm": 2,
+            "PwmName": "Fan3_Pwm",
+            "Status": "disabled",
+            "Tachs": [
+                4,
+                5
+            ],
+            "Type": "IntelFanConnector"
+        },
+        {
+            "Name": "Fan4 connector",
+            "Pwm": 3,
+            "PwmName": "Fan4_Pwm",
+            "Status": "disabled",
+            "Tachs": [
+                6,
+                7
+            ],
+            "Type": "IntelFanConnector"
+        },
+        {
+            "Name": "Fan5 connector",
+            "Pwm": 4,
+            "PwmName": "Fan5_Pwm",
+            "Status": "disabled",
+            "Tachs": [
+                8,
+                9
+            ],
+            "Type": "IntelFanConnector"
+        },
+        {
+            "Name": "Fan6 connector",
+            "Pwm": 0,
+            "PwmName": "Fan6_Pwm",
+            "Status": "disabled",
+            "Tachs": [
+                0
+            ],
+            "Type": "IntelFanConnector"
+        },
+        {
+            "Name": "Fan7 connector",
+            "Pwm": 1,
+            "PwmName": "Fan7_Pwm",
+            "Status": "disabled",
+            "Tachs": [
+                1
+            ],
+            "Type": "IntelFanConnector"
         }
     ],
     "Name": "IBM System1 Baseboard",
diff --git a/configurations/system1_chassis.json b/configurations/system1_chassis.json
new file mode 100644
index 0000000..546a845
--- /dev/null
+++ b/configurations/system1_chassis.json
@@ -0,0 +1,733 @@
+{
+    "Exposes": [
+        {
+            "Address": "0x52",
+            "BindConnector": "Fan1 connector",
+            "Bus": 6,
+            "Index": 0,
+            "MaxReading": 36200,
+            "Name": "Fan1a_in",
+            "PowerState": "Always",
+            "Presence": {
+                "PinName": "FAN0_PRESENCE_R_N",
+                "Polarity": "Low"
+            },
+            "Thresholds": [
+                {
+                    "Direction": "less than",
+                    "Name": "lower critical",
+                    "Severity": 1,
+                    "Value": 0
+                },
+                {
+                    "Direction": "less than",
+                    "Name": "lower non critical",
+                    "Severity": 0,
+                    "Value": 1800
+                },
+                {
+                    "Direction": "greater than",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 36200
+                },
+                {
+                    "Direction": "greater than",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 28960
+                }
+            ],
+            "Type": "I2CFan"
+        },
+        {
+            "Address": "0x52",
+            "BindConnector": "Fan1 connector",
+            "Bus": 6,
+            "Index": 1,
+            "MaxReading": 0,
+            "Name": "Fan1b_in",
+            "PowerState": "Always",
+            "Thresholds": [
+                {
+                    "Direction": "less than",
+                    "Name": "lower critical",
+                    "Severity": 1,
+                    "Value": 0
+                },
+                {
+                    "Direction": "less than",
+                    "Name": "lower non critical",
+                    "Severity": 0,
+                    "Value": 1800
+                },
+                {
+                    "Direction": "greater than",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 36200
+                },
+                {
+                    "Direction": "greater than",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 28960
+                }
+            ],
+            "Type": "I2CFan"
+        },
+        {
+            "Address": "0x52",
+            "BindConnector": "Fan2 connector",
+            "Bus": 6,
+            "Index": 2,
+            "MaxReading": 0,
+            "Name": "Fan2a_in",
+            "PowerState": "Always",
+            "Presence": {
+                "PinName": "FAN1_PRESENCE_R_N",
+                "Polarity": "Low"
+            },
+            "Thresholds": [
+                {
+                    "Direction": "less than",
+                    "Name": "lower critical",
+                    "Severity": 1,
+                    "Value": 0
+                },
+                {
+                    "Direction": "less than",
+                    "Name": "lower non critical",
+                    "Severity": 0,
+                    "Value": 1800
+                },
+                {
+                    "Direction": "greater than",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 36200
+                },
+                {
+                    "Direction": "greater than",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 28960
+                }
+            ],
+            "Type": "I2CFan"
+        },
+        {
+            "Address": "0x52",
+            "BindConnector": "Fan2 connector",
+            "Bus": 6,
+            "Index": 3,
+            "MaxReading": 0,
+            "Name": "Fan2b_in",
+            "PowerState": "Always",
+            "Thresholds": [
+                {
+                    "Direction": "less than",
+                    "Name": "lower critical",
+                    "Severity": 1,
+                    "Value": 0
+                },
+                {
+                    "Direction": "less than",
+                    "Name": "lower non critical",
+                    "Severity": 0,
+                    "Value": 1800
+                },
+                {
+                    "Direction": "greater than",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 36200
+                },
+                {
+                    "Direction": "greater than",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 28960
+                }
+            ],
+            "Type": "I2CFan"
+        },
+        {
+            "Address": "0x52",
+            "BindConnector": "Fan3 connector",
+            "Bus": 6,
+            "Index": 4,
+            "MaxReading": 0,
+            "Name": "Fan3a_in",
+            "PowerState": "Always",
+            "Presence": {
+                "PinName": "FAN2_PRESENCE_R_N",
+                "Polarity": "Low"
+            },
+            "Thresholds": [
+                {
+                    "Direction": "less than",
+                    "Name": "lower critical",
+                    "Severity": 1,
+                    "Value": 0
+                },
+                {
+                    "Direction": "less than",
+                    "Name": "lower non critical",
+                    "Severity": 0,
+                    "Value": 1800
+                },
+                {
+                    "Direction": "greater than",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 36200
+                },
+                {
+                    "Direction": "greater than",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 28960
+                }
+            ],
+            "Type": "I2CFan"
+        },
+        {
+            "Address": "0x52",
+            "BindConnector": "Fan3 connector",
+            "Bus": 6,
+            "Index": 5,
+            "MaxReading": 0,
+            "Name": "Fan3b_in",
+            "PowerState": "Always",
+            "Thresholds": [
+                {
+                    "Direction": "less than",
+                    "Name": "lower critical",
+                    "Severity": 1,
+                    "Value": 0
+                },
+                {
+                    "Direction": "less than",
+                    "Name": "lower non critical",
+                    "Severity": 0,
+                    "Value": 1800
+                },
+                {
+                    "Direction": "greater than",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 36200
+                },
+                {
+                    "Direction": "greater than",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 28960
+                }
+            ],
+            "Type": "I2CFan"
+        },
+        {
+            "Address": "0x52",
+            "BindConnector": "Fan4 connector",
+            "Bus": 6,
+            "Index": 6,
+            "MaxReading": 0,
+            "Name": "Fan4a_in",
+            "PowerState": "Always",
+            "Presence": {
+                "PinName": "FAN3_PRESENCE_R_N",
+                "Polarity": "Low"
+            },
+            "Thresholds": [
+                {
+                    "Direction": "less than",
+                    "Name": "lower critical",
+                    "Severity": 1,
+                    "Value": 0
+                },
+                {
+                    "Direction": "less than",
+                    "Name": "lower non critical",
+                    "Severity": 0,
+                    "Value": 1800
+                },
+                {
+                    "Direction": "greater than",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 36200
+                },
+                {
+                    "Direction": "greater than",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 28960
+                }
+            ],
+            "Type": "I2CFan"
+        },
+        {
+            "Address": "0x52",
+            "BindConnector": "Fan4 connector",
+            "Bus": 6,
+            "Index": 7,
+            "MaxReading": 0,
+            "Name": "Fan4b_in",
+            "PowerState": "Always",
+            "Thresholds": [
+                {
+                    "Direction": "less than",
+                    "Name": "lower critical",
+                    "Severity": 1,
+                    "Value": 0
+                },
+                {
+                    "Direction": "less than",
+                    "Name": "lower non critical",
+                    "Severity": 0,
+                    "Value": 1800
+                },
+                {
+                    "Direction": "greater than",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 36200
+                },
+                {
+                    "Direction": "greater than",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 28960
+                }
+            ],
+            "Type": "I2CFan"
+        },
+        {
+            "Address": "0x52",
+            "BindConnector": "Fan5 connector",
+            "Bus": 6,
+            "Index": 8,
+            "MaxReading": 0,
+            "Name": "Fan5a_in",
+            "PowerState": "Always",
+            "Presence": {
+                "PinName": "FAN4_PRESENCE_R_N",
+                "Polarity": "Low"
+            },
+            "Thresholds": [
+                {
+                    "Direction": "less than",
+                    "Name": "lower critical",
+                    "Severity": 1,
+                    "Value": 0
+                },
+                {
+                    "Direction": "less than",
+                    "Name": "lower non critical",
+                    "Severity": 0,
+                    "Value": 1800
+                },
+                {
+                    "Direction": "greater than",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 36200
+                },
+                {
+                    "Direction": "greater than",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 28960
+                }
+            ],
+            "Type": "I2CFan"
+        },
+        {
+            "Address": "0x52",
+            "BindConnector": "Fan5 connector",
+            "Bus": 6,
+            "Index": 9,
+            "MaxReading": 0,
+            "Name": "Fan5b_in",
+            "PowerState": "Always",
+            "Thresholds": [
+                {
+                    "Direction": "less than",
+                    "Name": "lower critical",
+                    "Severity": 1,
+                    "Value": 0
+                },
+                {
+                    "Direction": "less than",
+                    "Name": "lower non critical",
+                    "Severity": 0,
+                    "Value": 1800
+                },
+                {
+                    "Direction": "greater than",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 36200
+                },
+                {
+                    "Direction": "greater than",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 28960
+                }
+            ],
+            "Type": "I2CFan"
+        },
+        {
+            "Address": "0x54",
+            "BindConnector": "Fan6 connector",
+            "Bus": 6,
+            "Index": 0,
+            "MaxReading": 0,
+            "Name": "Fan6_in",
+            "PowerState": "Always",
+            "Presence": {
+                "PinName": "FAN5_PRESENCE_N",
+                "Polarity": "Low"
+            },
+            "Thresholds": [
+                {
+                    "Direction": "less than",
+                    "Name": "lower critical",
+                    "Severity": 1,
+                    "Value": 0
+                },
+                {
+                    "Direction": "less than",
+                    "Name": "lower non critical",
+                    "Severity": 0,
+                    "Value": 1800
+                },
+                {
+                    "Direction": "greater than",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 36200
+                },
+                {
+                    "Direction": "greater than",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 28960
+                }
+            ],
+            "Type": "I2CFan"
+        },
+        {
+            "Address": "0x54",
+            "BindConnector": "Fan7 connector",
+            "Bus": 6,
+            "Index": 1,
+            "MaxReading": 0,
+            "Name": "Fan7_in",
+            "PowerState": "Always",
+            "Presence": {
+                "PinName": "FAN6_PRESENCE_N",
+                "Polarity": "Low"
+            },
+            "Thresholds": [
+                {
+                    "Direction": "less than",
+                    "Name": "lower critical",
+                    "Severity": 1,
+                    "Value": 0
+                },
+                {
+                    "Direction": "less than",
+                    "Name": "lower non critical",
+                    "Severity": 0,
+                    "Value": 1800
+                },
+                {
+                    "Direction": "greater than",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 36200
+                },
+                {
+                    "Direction": "greater than",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 28960
+                }
+            ],
+            "Type": "I2CFan"
+        },
+        {
+            "Class": "fan",
+            "FFGainCoefficient": 0.0079,
+            "FFOffCoefficient": 0,
+            "ICoefficient": 0,
+            "ILimitMax": 0,
+            "ILimitMin": 0,
+            "Inputs": [
+                "Fan1a_in",
+                "Fan1b_in"
+            ],
+            "Name": "Fan1_PID",
+            "NegativeHysteresis": 0,
+            "OutLimitMax": 100,
+            "OutLimitMin": 18,
+            "Outputs": [
+                "Fan1_Pwm"
+            ],
+            "PCoefficient": 0.0026,
+            "PositiveHysteresis": 0,
+            "SetPoint": 70,
+            "SlewNeg": 0,
+            "SlewPos": 0,
+            "Type": "Pid",
+            "Zones": [
+                "CECIO"
+            ]
+        },
+        {
+            "Class": "fan",
+            "FFGainCoefficient": 0.0079,
+            "FFOffCoefficient": 0,
+            "ICoefficient": 0,
+            "ILimitMax": 0,
+            "ILimitMin": 0,
+            "Inputs": [
+                "Fan2a_in",
+                "Fan2b_in"
+            ],
+            "Name": "Fan2_PID",
+            "NegativeHysteresis": 0,
+            "OutLimitMax": 100,
+            "OutLimitMin": 18,
+            "Outputs": [
+                "Fan2_Pwm"
+            ],
+            "PCoefficient": 0.0026,
+            "PositiveHysteresis": 0,
+            "SetPoint": 70,
+            "SlewNeg": 0,
+            "SlewPos": 0,
+            "Type": "Pid",
+            "Zones": [
+                "CECIO"
+            ]
+        },
+        {
+            "Class": "fan",
+            "FFGainCoefficient": 0.0079,
+            "FFOffCoefficient": 0,
+            "ICoefficient": 0,
+            "ILimitMax": 0,
+            "ILimitMin": 0,
+            "Inputs": [
+                "Fan3a_in",
+                "Fan3b_in"
+            ],
+            "Name": "Fan3_PID",
+            "NegativeHysteresis": 0,
+            "OutLimitMax": 100,
+            "OutLimitMin": 18,
+            "Outputs": [
+                "Fan3_Pwm"
+            ],
+            "PCoefficient": 0.0026,
+            "PositiveHysteresis": 0,
+            "SetPoint": 70,
+            "SlewNeg": 0,
+            "SlewPos": 0,
+            "Type": "Pid",
+            "Zones": [
+                "CECIO"
+            ]
+        },
+        {
+            "Class": "fan",
+            "FFGainCoefficient": 0.0079,
+            "FFOffCoefficient": 0,
+            "ICoefficient": 0,
+            "ILimitMax": 0,
+            "ILimitMin": 0,
+            "Inputs": [
+                "Fan4a_in",
+                "Fan4b_in"
+            ],
+            "Name": "Fan4_PID",
+            "NegativeHysteresis": 0,
+            "OutLimitMax": 100,
+            "OutLimitMin": 18,
+            "Outputs": [
+                "Fan4_Pwm"
+            ],
+            "PCoefficient": 0.0026,
+            "PositiveHysteresis": 0,
+            "SetPoint": 70,
+            "SlewNeg": 0,
+            "SlewPos": 0,
+            "Type": "Pid",
+            "Zones": [
+                "CECIO"
+            ]
+        },
+        {
+            "Class": "fan",
+            "FFGainCoefficient": 0.0079,
+            "FFOffCoefficient": 0,
+            "ICoefficient": 0,
+            "ILimitMax": 0,
+            "ILimitMin": 0,
+            "Inputs": [
+                "Fan5a_in",
+                "Fan5b_in"
+            ],
+            "Name": "Fan5_PID",
+            "NegativeHysteresis": 0,
+            "OutLimitMax": 100,
+            "OutLimitMin": 18,
+            "Outputs": [
+                "Fan5_Pwm"
+            ],
+            "PCoefficient": 0.0026,
+            "PositiveHysteresis": 0,
+            "SetPoint": 70,
+            "SlewNeg": 0,
+            "SlewPos": 0,
+            "Type": "Pid",
+            "Zones": [
+                "CECIO"
+            ]
+        },
+        {
+            "Class": "fan",
+            "FFGainCoefficient": 0.0079,
+            "FFOffCoefficient": 0,
+            "ICoefficient": 0,
+            "ILimitMax": 0,
+            "ILimitMin": 0,
+            "Inputs": [
+                "Fan6_in"
+            ],
+            "Name": "Fan6_PID",
+            "NegativeHysteresis": 0,
+            "OutLimitMax": 100,
+            "OutLimitMin": 18,
+            "Outputs": [
+                "Fan6_Pwm"
+            ],
+            "PCoefficient": 0.0026,
+            "PositiveHysteresis": 0,
+            "SetPoint": 70,
+            "SlewNeg": 0,
+            "SlewPos": 0,
+            "Type": "Pid",
+            "Zones": [
+                "NVME"
+            ]
+        },
+        {
+            "Class": "fan",
+            "FFGainCoefficient": 0.0079,
+            "FFOffCoefficient": 0,
+            "ICoefficient": 0,
+            "ILimitMax": 0,
+            "ILimitMin": 0,
+            "Inputs": [
+                "Fan7_in"
+            ],
+            "Name": "Fan7_PID",
+            "NegativeHysteresis": 0,
+            "OutLimitMax": 100,
+            "OutLimitMin": 18,
+            "Outputs": [
+                "Fan7_Pwm"
+            ],
+            "PCoefficient": 0.0026,
+            "PositiveHysteresis": 0,
+            "SetPoint": 70,
+            "SlewNeg": 0,
+            "SlewPos": 0,
+            "Type": "Pid",
+            "Zones": [
+                "NVME"
+            ]
+        },
+        {
+            "Class": "temp",
+            "FFGainCoefficient": 0,
+            "FFOffCoefficient": 0,
+            "ICoefficient": -5,
+            "ILimitMax": 18000,
+            "ILimitMin": 2500,
+            "Inputs": [
+                "BCM0_TEMP Temperature",
+                "BCM1_TEMP Temperature",
+                "BCM2_TEMP Temperature",
+                "BCM3_TEMP Temperature"
+            ],
+            "Name": "PSU Temperature",
+            "NegativeHysteresis": 0,
+            "OutLimitMax": 18000,
+            "OutLimitMin": 2500,
+            "Outputs": [],
+            "PCoefficient": -500,
+            "PositiveHysteresis": 0,
+            "SetPoint": 95,
+            "SlewNeg": 0,
+            "SlewPos": 0,
+            "Type": "Pid",
+            "Zones": [
+                "CECIO"
+            ]
+        },
+        {
+            "Class": "temp",
+            "FFGainCoefficient": 0,
+            "FFOffCoefficient": 0,
+            "ICoefficient": -5,
+            "ILimitMax": 18000,
+            "ILimitMin": 2500,
+            "Inputs": [
+                "Ambient 0 Temp",
+                "Ambient 1 Temp"
+            ],
+            "Name": "Ambient Temperature",
+            "NegativeHysteresis": 0,
+            "OutLimitMax": 18000,
+            "OutLimitMin": 2500,
+            "Outputs": [],
+            "PCoefficient": -500,
+            "PositiveHysteresis": 0,
+            "SetPoint": 85,
+            "SlewNeg": 0,
+            "SlewPos": 0,
+            "Type": "Pid",
+            "Zones": [
+                "CECIO"
+            ]
+        },
+        {
+            "FailSafePercent": 100,
+            "MinThermalOutput": 2500,
+            "Name": "CECIO",
+            "Type": "Pid.Zone"
+        },
+        {
+            "FailSafePercent": 100,
+            "MinThermalOutput": 2500,
+            "Name": "NVME",
+            "Type": "Pid.Zone"
+        }
+    ],
+    "Name": "chassis",
+    "Probe": "xyz.openbmc_project.FruDevice({'BOARD_PRODUCT_NAME': '.*SYS1', 'BOARD_MANUFACTURER': 'IBM'})",
+    "Type": "Chassis",
+    "xyz.openbmc_project.Inventory.Decorator.Asset": {
+        "Manufacturer": "$PRODUCT_MANUFACTURER",
+        "Model": "$PRODUCT_PRODUCT_NAME",
+        "PartNumber": "$CHASSIS_PART_NUMBER",
+        "SerialNumber": "$CHASSIS_SERIAL_NUMBER"
+    }
+}