configurations: Add Intel P4510 SSD

Add support for P4510 SSD by adding a new config for all P4500
SSDs manufactured by Intel.

Tests on P4510 showed that they use the correct address for
NVMe-MI (0x6a).

Tested: Can read the temperature of P4510 SSD.

Change-Id: I2611af3ef65549ace7f6a066b7caea842e58d5b6
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
diff --git a/configurations/nvme_intel_p_series.json b/configurations/nvme_intel_p_series.json
index 1416473..6db00fd 100644
--- a/configurations/nvme_intel_p_series.json
+++ b/configurations/nvme_intel_p_series.json
@@ -42,7 +42,7 @@
     ],
     "Logging": "Off",
     "Name": "NVMe $index",
-    "Probe": "xyz.openbmc_project.FruDevice({'PRODUCT_PRODUCT_NAME': 'P(31|33|35|36|37|41|43|44|45|46|48|53|55|56|58)\\d\\d\\w?', 'PRODUCT_MANUFACTURER': '(Intel|INTEL).*'})",
+    "Probe": "xyz.openbmc_project.FruDevice({'PRODUCT_PRODUCT_NAME': 'P(31|33|35|36|37|41|43|44|46|48|53|55|56|58)\\d\\d\\w?', 'PRODUCT_MANUFACTURER': '(Intel|INTEL).*'})",
     "Type": "NVMe",
     "xyz.openbmc_project.Inventory.Decorator.Asset": {
         "Manufacturer": "$PRODUCT_MANUFACTURER",
diff --git a/configurations/nvme_p4500.json b/configurations/nvme_p4500.json
new file mode 100644
index 0000000..a7397e8
--- /dev/null
+++ b/configurations/nvme_p4500.json
@@ -0,0 +1,54 @@
+{
+    "Bus": "$bus",
+    "Exposes": [
+        {
+            "Address": "$address",
+            "Bus": "$bus",
+            "Name": "NVMe $index FRU",
+            "Type": "EEPROM"
+        },
+        {
+            "Address": "0x6a",
+            "Bus": "$bus",
+            "Name": "NVMe $index Temp",
+            "Thresholds": [
+                {
+                    "Direction": "greater than",
+                    "Name": "upper critical",
+                    "Severity": 1,
+                    "Value": 115
+                },
+                {
+                    "Direction": "greater than",
+                    "Name": "upper non critical",
+                    "Severity": 0,
+                    "Value": 110
+                },
+                {
+                    "Direction": "less than",
+                    "Name": "lower non critical",
+                    "Severity": 0,
+                    "Value": 5
+                },
+                {
+                    "Direction": "less than",
+                    "Name": "lower critical",
+                    "Severity": 1,
+                    "Value": 0
+                }
+            ],
+            "Type": "NVME1000"
+        }
+    ],
+    "Logging": "Off",
+    "Name": "NVMe $index",
+    "Probe": "xyz.openbmc_project.FruDevice({'PRODUCT_PRODUCT_NAME': 'P45\\d\\d\\w?', 'PRODUCT_MANUFACTURER': '(Intel|INTEL).*'})",
+    "Type": "NVMe",
+    "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.Item.Chassis": {}
+}
diff --git a/meson.build b/meson.build
index 3d8e231..b7f5098 100644
--- a/meson.build
+++ b/meson.build
@@ -151,6 +151,7 @@
     'mudflap.json',
     'nisqually.json',
     'nvme_intel_p_series.json',
+    'nvme_p4500.json',
     'pcie_ssd_retimer.json',
     'pennybacker.json',
     'pssf132202a.json',