add Support for SuperMicro PWS-920P-SQ PSU

The FRU EEPROMs for this PSU require bytewise reading.

Tested: Tested on a Tyan S8030 Board with 2 PSUs.
Change-Id: Ib265268b12b35bf744bf5f986b8ff44b3eb82371
Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>
diff --git a/configurations/supermicro-pws-920p-sq_psu.json b/configurations/supermicro-pws-920p-sq_psu.json
new file mode 100644
index 0000000..e955eba
--- /dev/null
+++ b/configurations/supermicro-pws-920p-sq_psu.json
@@ -0,0 +1,127 @@
+[
+    {
+        "Exposes": [
+            {
+                "Address": "$address",
+                "Bus": "$bus",
+                "Name": "PSU$address % 4 FRU",
+                "Type": "EEPROM"
+            },
+            {
+                "Address": "$address",
+                "Bus": "$bus",
+                "Name": "PSU$address % 4 ADDR",
+                "Type": "PSUPresence"
+            },
+            {
+                "Address": "$address + 4",
+                "Bus": "$bus",
+                "Labels": [
+                    "pin",
+                    "pout1",
+                    "vin",
+                    "vout1",
+                    "iin",
+                    "iout1",
+                    "temp1",
+                    "fan1"
+                ],
+                "Name": "PSU$address % 4",
+                "Thresholds": [
+                    {
+                        "Direction": "greater than",
+                        "Label": "pin",
+                        "Name": "upper critical",
+                        "Severity": 1,
+                        "Value": 920
+                    },
+                    {
+                        "Direction": "greater than",
+                        "Label": "pout1",
+                        "Name": "upper critical",
+                        "Severity": 1,
+                        "Value": 920
+                    },
+                    {
+                        "Direction": "less than",
+                        "Label": "vin",
+                        "Name": "lower critical",
+                        "Severity": 1,
+                        "Value": 90
+                    },
+                    {
+                        "Direction": "greater than",
+                        "Label": "vin",
+                        "Name": "upper critical",
+                        "Severity": 1,
+                        "Value": 250
+                    },
+                    {
+                        "Direction": "greater than",
+                        "Label": "vout1",
+                        "Name": "upper critical",
+                        "Severity": 1,
+                        "Value": 13
+                    },
+                    {
+                        "Direction": "greater than",
+                        "Label": "iin",
+                        "Name": "upper critical",
+                        "Severity": 1,
+                        "Value": 13
+                    },
+                    {
+                        "Direction": "greater than",
+                        "Label": "iout1",
+                        "Name": "upper critical",
+                        "Severity": 1,
+                        "Value": 80
+                    },
+                    {
+                        "Direction": "less than",
+                        "Label": "temp1",
+                        "Name": "lower critical",
+                        "Severity": 1,
+                        "Value": 0
+                    },
+                    {
+                        "Direction": "greater than",
+                        "Label": "temp1",
+                        "Name": "upper critical",
+                        "Severity": 1,
+                        "Value": 100
+                    },
+                    {
+                        "Direction": "less than",
+                        "Label": "fan1",
+                        "Name": "lower critical",
+                        "Severity": 1,
+                        "Value": 100
+                    },
+                    {
+                        "Direction": "greater than",
+                        "Label": "fan1",
+                        "Name": "upper critical",
+                        "Severity": 1,
+                        "Value": 9000
+                    }
+                ],
+                "Type": "pmbus"
+            }
+        ],
+        "Name": "Supermicro PWS 920P SQ $address % 4",
+        "Probe": [
+            "xyz.openbmc_project.FruDevice({'PRODUCT_PRODUCT_NAME': 'PWS-920P-SQ'})"
+        ],
+        "Type": "PowerSupply",
+        "xyz.openbmc_project.Inventory.Decorator.Asset": {
+            "Manufacturer": "$PRODUCT_MANUFACTURER",
+            "Model": "$PRODUCT_PRODUCT_NAME",
+            "PartNumber": "$PRODUCT_PART_NUMBER",
+            "SerialNumber": "$PRODUCT_SERIAL_NUMBER"
+        },
+        "xyz.openbmc_project.Inventory.Decorator.AssetTag": {
+            "AssetTag": "$PRODUCT_ASSET_TAG"
+        }
+    }
+]
diff --git a/meson.build b/meson.build
index 9f4c077..9d70e7f 100644
--- a/meson.build
+++ b/meson.build
@@ -99,6 +99,7 @@
     'delta_dps-750xb_psu.json',
     'delta_dps-1600ab_psu.json',
     'delta_dps-2000ab_psu.json',
+    'supermicro-pws-920p-sq_psu.json',
     'everest.json',
     'f1u12x25_hsbp.json',
     'f1u4x25_hsbp.json',