config + hpefan schema update for hpe/dl60g12

Enables initial support for the dl360 g12 based on internal HPE
builds- namely temp sensor and fan handling.

Also updates the EM exposes-records schema to handle for HPEFans
already supported in FanSensor daemon)

Tested: Confirmed that HPE Fans and sensor records appear in
webUI when paired with appropriate hardware

Entity-Manager bus on D-Bus, as
seen on an HPE BMC w/ appropriate hardware:

'''
xyz.openbmc_project.HwmonTempSensor
`- /xyz
  `- /xyz/openbmc_project
    `- /xyz/openbmc_project/sensors
      `- /xyz/openbmc_project/sensors/temperature
        |- /xyz/openbmc_project/sensors/temperature/Board_Exhaust_1
        |- /xyz/openbmc_project/sensors/temperature/Board_Exhaust_4
        |- /xyz/openbmc_project/sensors/temperature/Board_Inlet
        `- /xyz/openbmc_project/sensors/temperature/PSU_Zone
'''

Change-Id: I34355ac829a183a169019cff331cf68bd5dd1f2d
Signed-off-by: Chris Sides <Christopher.Sides@hpe.com>
diff --git a/configurations/hpe/dl360g12_baseboard.json b/configurations/hpe/dl360g12_baseboard.json
new file mode 100644
index 0000000..e344f8e
--- /dev/null
+++ b/configurations/hpe/dl360g12_baseboard.json
@@ -0,0 +1,388 @@
+[
+    {
+        "Exposes": [
+            {
+                "Connector": {
+                    "Name": "Fan Connector 1",
+                    "Pwm": 0,
+                    "Tachs": []
+                },
+                "Index": 0,
+                "Name": "Fan 1",
+                "Presence": {
+                    "MonitorType": "Polling",
+                    "PinName": "FAN1_INST",
+                    "Polarity": "High"
+                },
+                "Type": "HPEFan"
+            },
+            {
+                "Connector": {
+                    "Name": "Fan Connector 2",
+                    "Pwm": 1,
+                    "Tachs": []
+                },
+                "Index": 1,
+                "Name": "Fan 2",
+                "Presence": {
+                    "MonitorType": "Polling",
+                    "PinName": "FAN2_INST",
+                    "Polarity": "High"
+                },
+                "Type": "HPEFan"
+            },
+            {
+                "Connector": {
+                    "Name": "Fan Connector 3",
+                    "Pwm": 2,
+                    "Tachs": []
+                },
+                "Index": 2,
+                "Name": "Fan 3",
+                "Presence": {
+                    "MonitorType": "Polling",
+                    "PinName": "FAN3_INST",
+                    "Polarity": "High"
+                },
+                "Type": "HPEFan"
+            },
+            {
+                "Connector": {
+                    "Name": "Fan Connector 4",
+                    "Pwm": 3,
+                    "Tachs": []
+                },
+                "Index": 3,
+                "Name": "Fan 4",
+                "Presence": {
+                    "MonitorType": "Polling",
+                    "PinName": "FAN4_INST",
+                    "Polarity": "High"
+                },
+                "Type": "HPEFan"
+            },
+            {
+                "Connector": {
+                    "Name": "Fan Connector 5",
+                    "Pwm": 4,
+                    "Tachs": []
+                },
+                "Index": 4,
+                "Name": "Fan 5",
+                "Presence": {
+                    "MonitorType": "Polling",
+                    "PinName": "FAN5_INST",
+                    "Polarity": "High"
+                },
+                "Type": "HPEFan"
+            },
+            {
+                "Connector": {
+                    "Name": "Fan Connector 6",
+                    "Pwm": 5,
+                    "Tachs": []
+                },
+                "Index": 5,
+                "Name": "Fan 6",
+                "Presence": {
+                    "MonitorType": "Polling",
+                    "PinName": "FAN6_INST",
+                    "Polarity": "High"
+                },
+                "Type": "HPEFan"
+            },
+            {
+                "Connector": {
+                    "Name": "Fan Connector 7",
+                    "Pwm": 6,
+                    "Tachs": []
+                },
+                "Index": 6,
+                "Name": "Fan 7",
+                "Presence": {
+                    "MonitorType": "Polling",
+                    "PinName": "FAN7_INST",
+                    "Polarity": "High"
+                },
+                "Type": "HPEFan"
+            },
+            {
+                "Class": "fan",
+                "FFGainCoefficient": 1,
+                "FFOffCoefficient": 0,
+                "ICoefficient": 0,
+                "ILimitMax": 0,
+                "ILimitMin": 0,
+                "Inputs": [
+                    "Fan 1",
+                    "Fan 2",
+                    "Fan 3",
+                    "Fan 4",
+                    "Fan 5",
+                    "Fan 6",
+                    "Fan 7"
+                ],
+                "Name": "Fan 1-7",
+                "NegativeHysteresis": 0,
+                "OutLimitMax": 100,
+                "OutLimitMin": 30,
+                "Outputs": [
+                    "Pwm 0",
+                    "Pwm 1",
+                    "Pwm 2",
+                    "Pwm 3",
+                    "Pwm 4",
+                    "Pwm 5",
+                    "Pwm 6"
+                ],
+                "PCoefficient": 0,
+                "PositiveHysteresis": 0,
+                "SlewNeg": 0,
+                "SlewPos": 0,
+                "Type": "Pid",
+                "Zones": [
+                    "Zone 1"
+                ]
+            },
+            {
+                "Class": "temp",
+                "FFGainCoefficient": 0,
+                "FFOffCoefficient": 0,
+                "ICoefficient": -4.64,
+                "ILimitMax": 100,
+                "ILimitMin": 30,
+                "Inputs": [
+                    "DTS CPU1"
+                ],
+                "Name": "DTS CPU1",
+                "NegativeHysteresis": 5,
+                "OutLimitMax": 100,
+                "OutLimitMin": 30,
+                "Outputs": [],
+                "PCoefficient": -0.15,
+                "PositiveHysteresis": 0,
+                "SetPoint": -25,
+                "SetPointOffset": "WarningHigh",
+                "SlewNeg": -1,
+                "SlewPos": 0,
+                "Type": "Pid",
+                "Zones": [
+                    "Zone 1"
+                ]
+            },
+            {
+                "Class": "temp",
+                "FFGainCoefficient": 0,
+                "FFOffCoefficient": 0,
+                "ICoefficient": -0.2,
+                "ILimitMax": 70,
+                "ILimitMin": 10,
+                "Inputs": [
+                    "Ambient Temp"
+                ],
+                "Name": "Ambient Temp",
+                "OutLimitMax": 70,
+                "OutLimitMin": 10,
+                "Outputs": [],
+                "PCoefficient": -3,
+                "SetPoint": 25,
+                "SlewNeg": -1,
+                "SlewPos": 0,
+                "Type": "Pid",
+                "Zones": [
+                    "Zone 1"
+                ]
+            },
+            {
+                "FailSafePercent": 100,
+                "MinThermalOutput": 10,
+                "Name": "Zone 1",
+                "Type": "Pid.Zone"
+            },
+            {
+                "Address": "0x49",
+                "Bus": "50",
+                "Name": "Board Exhaust 1",
+                "Thresholds": [
+                    {
+                        "Direction": "greater than",
+                        "Name": "upper critical",
+                        "Severity": 1,
+                        "Value": 80
+                    },
+                    {
+                        "Direction": "greater than",
+                        "Name": "upper non critical",
+                        "Severity": 0,
+                        "Value": 75
+                    },
+                    {
+                        "Direction": "less than",
+                        "Name": "lower non critical",
+                        "Severity": 0,
+                        "Value": 5
+                    },
+                    {
+                        "Direction": "less than",
+                        "Name": "lower critical",
+                        "Severity": 1,
+                        "Value": 0
+                    }
+                ],
+                "Type": "TMP1075"
+            },
+            {
+                "Address": "0x4c",
+                "Bus": "50",
+                "Name": "Board Exhaust 4",
+                "PowerState": "On",
+                "Thresholds": [
+                    {
+                        "Direction": "greater than",
+                        "Name": "upper critical",
+                        "Severity": 1,
+                        "Value": 80
+                    },
+                    {
+                        "Direction": "greater than",
+                        "Name": "upper non critical",
+                        "Severity": 0,
+                        "Value": 75
+                    },
+                    {
+                        "Direction": "less than",
+                        "Name": "lower non critical",
+                        "Severity": 0,
+                        "Value": 5
+                    },
+                    {
+                        "Direction": "less than",
+                        "Name": "lower critical",
+                        "Severity": 1,
+                        "Value": 0
+                    }
+                ],
+                "Type": "TMP1075"
+            },
+            {
+                "Address": "0x48",
+                "Bus": "50",
+                "Name": "PSU Zone",
+                "PowerState": "On",
+                "Thresholds": [
+                    {
+                        "Direction": "greater than",
+                        "Name": "upper critical",
+                        "Severity": 1,
+                        "Value": 80
+                    },
+                    {
+                        "Direction": "greater than",
+                        "Name": "upper non critical",
+                        "Severity": 0,
+                        "Value": 75
+                    },
+                    {
+                        "Direction": "less than",
+                        "Name": "lower non critical",
+                        "Severity": 0,
+                        "Value": 5
+                    },
+                    {
+                        "Direction": "less than",
+                        "Name": "lower critical",
+                        "Severity": 1,
+                        "Value": 0
+                    }
+                ],
+                "Type": "TMP1075"
+            },
+            {
+                "Address": "0x4c",
+                "Bus": "49",
+                "Name": "Board Inlet",
+                "PowerState": "On",
+                "Thresholds": [
+                    {
+                        "Direction": "greater than",
+                        "Name": "upper critical",
+                        "Severity": 1,
+                        "Value": 80
+                    },
+                    {
+                        "Direction": "greater than",
+                        "Name": "upper non critical",
+                        "Severity": 0,
+                        "Value": 75
+                    },
+                    {
+                        "Direction": "less than",
+                        "Name": "lower non critical",
+                        "Severity": 0,
+                        "Value": 5
+                    },
+                    {
+                        "Direction": "less than",
+                        "Name": "lower critical",
+                        "Severity": 1,
+                        "Value": 0
+                    }
+                ],
+                "Type": "TMP411"
+            },
+            {
+                "Address": "0x30",
+                "Bus": 0,
+                "CpuID": 1,
+                "DtsCritOffset": -2,
+                "Name": "CPU 1",
+                "Thresholds": [
+                    {
+                        "Direction": "greater than",
+                        "Label": "DIMM",
+                        "Name": "upper critical",
+                        "Severity": 1,
+                        "Value": 99
+                    },
+                    {
+                        "Direction": "greater than",
+                        "Label": "DIMM",
+                        "Name": "upper non critical",
+                        "Severity": 0,
+                        "Value": 89
+                    }
+                ],
+                "Type": "XeonCPU"
+            },
+            {
+                "Address": "0x31",
+                "Bus": 0,
+                "CpuID": 2,
+                "DtsCritOffset": -2,
+                "Name": "CPU 2",
+                "Thresholds": [
+                    {
+                        "Direction": "greater than",
+                        "Label": "DIMM",
+                        "Name": "upper critical",
+                        "Severity": 1,
+                        "Value": 99
+                    },
+                    {
+                        "Direction": "greater than",
+                        "Label": "DIMM",
+                        "Name": "upper non critical",
+                        "Severity": 0,
+                        "Value": 89
+                    }
+                ],
+                "Type": "XeonCPU"
+            }
+        ],
+        "Name": "HPE DL360 G12 Server",
+        "Probe": [
+            "xyz.openbmc_project.Inventory.Decorator.Asset({'Model': 'HPE-PCA-8675'})"
+        ],
+        "Type": "Chassis"
+    }
+]
diff --git a/configurations/meson.build b/configurations/meson.build
index e2356fe..9ab290e 100644
--- a/configurations/meson.build
+++ b/configurations/meson.build
@@ -54,6 +54,7 @@
     'genesis3_chassis.json',
     'genesis3_psu.json',
     'gospower_g1136-1300wna_psu.json',
+    'hpe/dl360g12_baseboard.json',
     'ibm_tacoma_rack_controller.json',
     'ingraham.json',
     'intel_front_panel.json',