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_baseboard.json b/configurations/sbp1_baseboard.json
index e4dbc04..758b8b8 100644
--- a/configurations/sbp1_baseboard.json
+++ b/configurations/sbp1_baseboard.json
@@ -5518,466 +5518,6 @@
},
{
"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"
- },
- {
- "Address": "0x40",
"Bus": "92",
"Labels": [
"iout1",
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"
+}
diff --git a/meson.build b/meson.build
index 33a7c9c..7055b5d 100644
--- a/meson.build
+++ b/meson.build
@@ -169,6 +169,7 @@
'sbp1_nvme.json',
'sbp1_psu.json',
'sbp1_rssd.json',
+ 'sbp1_hbm.json',
'system1_baseboard.json',
'system1_chassis.json',
'solum_pssf162202_psu.json',