configurations: sbp1: Display HBM rails only on HBM capable CPU

Make sure the HBM rails are shown in Webui only when socket with HBM
capable socket is installed.

It relies on using probe to check presence of string 'HBM' in
version property.

TEST: HBM regulators are only shown when HBM CPUs are plugged and
      the version property contains 'HBM'.

Signed-off-by: Naresh Solanki <naresh.solanki@9elements.com>
Change-Id: I254d0d5a145e250119fefd75d2715416593ddb85
diff --git a/configurations/sbp1_hbm.json b/configurations/sbp1_hbm.json
new file mode 100644
index 0000000..12f87b0
--- /dev/null
+++ b/configurations/sbp1_hbm.json
@@ -0,0 +1,473 @@
+{
+    "Exposes": [
+        {
+            "Address": "0x40",
+            "Bus": "93",
+            "Labels": [
+                "iout1",
+                "iin",
+                "vin",
+                "pin",
+                "vout1",
+                "pout1",
+                "temp1"
+            ],
+            "Name": "PVPP_HBM_CPU3",
+            "PollRate": 5.0,
+            "PowerState": "On",
+            "Thresholds": [
+                {
+                    "Direction": "greater than",
+                    "Hysteresis": 0.08,
+                    "Label": "iout1",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 8.0
+                },
+                {
+                    "Direction": "greater than",
+                    "Hysteresis": 0.0275,
+                    "Label": "vout1",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 2.75
+                },
+                {
+                    "Direction": "greater than",
+                    "Hysteresis": 0.133,
+                    "Label": "vin",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 13.3
+                },
+                {
+                    "Direction": "greater than",
+                    "Hysteresis": 0.128,
+                    "Label": "vin",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 12.8
+                },
+                {
+                    "Direction": "less than",
+                    "Hysteresis": 0.1168,
+                    "Label": "vin",
+                    "Name": "lower non critical",
+                    "Severity": 0,
+                    "Value": 11.68
+                },
+                {
+                    "Direction": "less than",
+                    "Hysteresis": 0.11080000000000001,
+                    "Label": "vin",
+                    "Name": "lower critical",
+                    "Severity": 1,
+                    "Value": 11.08
+                },
+                {
+                    "Direction": "greater than",
+                    "Hysteresis": 1.2,
+                    "Label": "temp1",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 120.0
+                },
+                {
+                    "Direction": "greater than",
+                    "Hysteresis": 1.4000000000000001,
+                    "Label": "temp1",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 140.0
+                },
+                {
+                    "Direction": "greater than",
+                    "Hysteresis": 0.04,
+                    "Label": "iout1",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 4.0
+                },
+                {
+                    "Direction": "less than",
+                    "Hysteresis": 0.023799999999999998,
+                    "Label": "vout1",
+                    "Name": "lower non critical",
+                    "Severity": 0,
+                    "Value": 2.38
+                },
+                {
+                    "Direction": "greater than",
+                    "Hysteresis": 0.0263,
+                    "Label": "vout1",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 2.63
+                },
+                {
+                    "Direction": "less than",
+                    "Hysteresis": 0.0225,
+                    "Label": "vout1",
+                    "Name": "lower critical",
+                    "Severity": 1,
+                    "Value": 2.25
+                }
+            ],
+            "Type": "TDA38640"
+        },
+        {
+            "Address": "0x40",
+            "Bus": "77",
+            "Labels": [
+                "iout1",
+                "iin",
+                "vin",
+                "pin",
+                "vout1",
+                "pout1",
+                "temp1"
+            ],
+            "Name": "PVPP_HBM_CPU1",
+            "PollRate": 5.0,
+            "PowerState": "On",
+            "Thresholds": [
+                {
+                    "Direction": "greater than",
+                    "Hysteresis": 0.08,
+                    "Label": "iout1",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 8.0
+                },
+                {
+                    "Direction": "greater than",
+                    "Hysteresis": 0.0275,
+                    "Label": "vout1",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 2.75
+                },
+                {
+                    "Direction": "greater than",
+                    "Hysteresis": 0.133,
+                    "Label": "vin",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 13.3
+                },
+                {
+                    "Direction": "greater than",
+                    "Hysteresis": 0.128,
+                    "Label": "vin",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 12.8
+                },
+                {
+                    "Direction": "less than",
+                    "Hysteresis": 0.1168,
+                    "Label": "vin",
+                    "Name": "lower non critical",
+                    "Severity": 0,
+                    "Value": 11.68
+                },
+                {
+                    "Direction": "less than",
+                    "Hysteresis": 0.11080000000000001,
+                    "Label": "vin",
+                    "Name": "lower critical",
+                    "Severity": 1,
+                    "Value": 11.08
+                },
+                {
+                    "Direction": "greater than",
+                    "Hysteresis": 1.2,
+                    "Label": "temp1",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 120.0
+                },
+                {
+                    "Direction": "greater than",
+                    "Hysteresis": 1.4000000000000001,
+                    "Label": "temp1",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 140.0
+                },
+                {
+                    "Direction": "greater than",
+                    "Hysteresis": 0.04,
+                    "Label": "iout1",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 4.0
+                },
+                {
+                    "Direction": "less than",
+                    "Hysteresis": 0.023799999999999998,
+                    "Label": "vout1",
+                    "Name": "lower non critical",
+                    "Severity": 0,
+                    "Value": 2.38
+                },
+                {
+                    "Direction": "greater than",
+                    "Hysteresis": 0.0263,
+                    "Label": "vout1",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 2.63
+                },
+                {
+                    "Direction": "less than",
+                    "Hysteresis": 0.0225,
+                    "Label": "vout1",
+                    "Name": "lower critical",
+                    "Severity": 1,
+                    "Value": 2.25
+                }
+            ],
+            "Type": "TDA38640"
+        },
+        {
+            "Address": "0x40",
+            "Bus": "69",
+            "Labels": [
+                "iout1",
+                "iin",
+                "vin",
+                "pin",
+                "vout1",
+                "pout1",
+                "temp1"
+            ],
+            "Name": "PVPP_HBM_CPU2",
+            "PollRate": 5.0,
+            "PowerState": "On",
+            "Thresholds": [
+                {
+                    "Direction": "greater than",
+                    "Hysteresis": 0.08,
+                    "Label": "iout1",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 8.0
+                },
+                {
+                    "Direction": "greater than",
+                    "Hysteresis": 0.0275,
+                    "Label": "vout1",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 2.75
+                },
+                {
+                    "Direction": "greater than",
+                    "Hysteresis": 0.133,
+                    "Label": "vin",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 13.3
+                },
+                {
+                    "Direction": "greater than",
+                    "Hysteresis": 0.128,
+                    "Label": "vin",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 12.8
+                },
+                {
+                    "Direction": "less than",
+                    "Hysteresis": 0.1168,
+                    "Label": "vin",
+                    "Name": "lower non critical",
+                    "Severity": 0,
+                    "Value": 11.68
+                },
+                {
+                    "Direction": "less than",
+                    "Hysteresis": 0.11080000000000001,
+                    "Label": "vin",
+                    "Name": "lower critical",
+                    "Severity": 1,
+                    "Value": 11.08
+                },
+                {
+                    "Direction": "greater than",
+                    "Hysteresis": 1.2,
+                    "Label": "temp1",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 120.0
+                },
+                {
+                    "Direction": "greater than",
+                    "Hysteresis": 1.4000000000000001,
+                    "Label": "temp1",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 140.0
+                },
+                {
+                    "Direction": "greater than",
+                    "Hysteresis": 0.04,
+                    "Label": "iout1",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 4.0
+                },
+                {
+                    "Direction": "less than",
+                    "Hysteresis": 0.023799999999999998,
+                    "Label": "vout1",
+                    "Name": "lower non critical",
+                    "Severity": 0,
+                    "Value": 2.38
+                },
+                {
+                    "Direction": "greater than",
+                    "Hysteresis": 0.0263,
+                    "Label": "vout1",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 2.63
+                },
+                {
+                    "Direction": "less than",
+                    "Hysteresis": 0.0225,
+                    "Label": "vout1",
+                    "Name": "lower critical",
+                    "Severity": 1,
+                    "Value": 2.25
+                }
+            ],
+            "Type": "TDA38640"
+        },
+        {
+            "Address": "0x40",
+            "Bus": "101",
+            "Labels": [
+                "iout1",
+                "iin",
+                "vin",
+                "pin",
+                "vout1",
+                "pout1",
+                "temp1"
+            ],
+            "Name": "PVPP_HBM_CPU0",
+            "PollRate": 5.0,
+            "PowerState": "On",
+            "Thresholds": [
+                {
+                    "Direction": "greater than",
+                    "Hysteresis": 0.08,
+                    "Label": "iout1",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 8.0
+                },
+                {
+                    "Direction": "greater than",
+                    "Hysteresis": 0.0275,
+                    "Label": "vout1",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 2.75
+                },
+                {
+                    "Direction": "greater than",
+                    "Hysteresis": 0.133,
+                    "Label": "vin",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 13.3
+                },
+                {
+                    "Direction": "greater than",
+                    "Hysteresis": 0.128,
+                    "Label": "vin",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 12.8
+                },
+                {
+                    "Direction": "less than",
+                    "Hysteresis": 0.1168,
+                    "Label": "vin",
+                    "Name": "lower non critical",
+                    "Severity": 0,
+                    "Value": 11.68
+                },
+                {
+                    "Direction": "less than",
+                    "Hysteresis": 0.11080000000000001,
+                    "Label": "vin",
+                    "Name": "lower critical",
+                    "Severity": 1,
+                    "Value": 11.08
+                },
+                {
+                    "Direction": "greater than",
+                    "Hysteresis": 1.2,
+                    "Label": "temp1",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 120.0
+                },
+                {
+                    "Direction": "greater than",
+                    "Hysteresis": 1.4000000000000001,
+                    "Label": "temp1",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 140.0
+                },
+                {
+                    "Direction": "greater than",
+                    "Hysteresis": 0.04,
+                    "Label": "iout1",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 4.0
+                },
+                {
+                    "Direction": "less than",
+                    "Hysteresis": 0.023799999999999998,
+                    "Label": "vout1",
+                    "Name": "lower non critical",
+                    "Severity": 0,
+                    "Value": 2.38
+                },
+                {
+                    "Direction": "greater than",
+                    "Hysteresis": 0.0263,
+                    "Label": "vout1",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 2.63
+                },
+                {
+                    "Direction": "less than",
+                    "Hysteresis": 0.0225,
+                    "Label": "vout1",
+                    "Name": "lower critical",
+                    "Severity": 1,
+                    "Value": 2.25
+                }
+            ],
+            "Type": "TDA38640"
+        }
+    ],
+    "Name": "CPU HBM rails",
+    "Probe": [
+        "xyz.openbmc_project.FruDevice({'BOARD_PRODUCT_NAME': '.*SBP1'})",
+        "AND",
+        "xyz.openbmc_project.Inventory.Decorator.Revision({'Version': '.*HBM.*'})",
+        "MATCH_ONE"
+    ],
+    "ProductId": 1,
+    "Type": "Board"
+}