gpio presence: configuration schema

Add the configuration schema as per the design [1].

References:

[1] https://github.com/openbmc/docs/blob/master/designs/inventory/gpio-based-hardware-inventory.md

Change-Id: I1ee3d75bf1c2f5ba470293505bea46c840344fc8
Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>
diff --git a/meson.build b/meson.build
index 58433bb..a63b6a9 100644
--- a/meson.build
+++ b/meson.build
@@ -91,6 +91,7 @@
 schemas = [
     'cpld.json',
     'global.json',
+    'gpio_presence.json',
     'legacy.json',
     'openbmc-dbus.json',
     'ibm.json',
diff --git a/schemas/exposes_record.json b/schemas/exposes_record.json
index ffee2da..d039450 100644
--- a/schemas/exposes_record.json
+++ b/schemas/exposes_record.json
@@ -155,6 +155,9 @@
                 },
                 {
                     "$ref": "cpld.json#/$defs/CPLDFirmware"
+                },
+                {
+                    "$ref": "gpio_presence.json#/$defs/GPIODeviceDetect"
                 }
             ]
         },
diff --git a/schemas/gpio_presence.json b/schemas/gpio_presence.json
new file mode 100644
index 0000000..fc8667b
--- /dev/null
+++ b/schemas/gpio_presence.json
@@ -0,0 +1,40 @@
+{
+    "$schema": "http://json-schema.org/draft-07/schema#",
+    "$defs": {
+        "GPIODeviceDetect": {
+            "additionalProperties": false,
+            "description": "Configuration for GPIO device presence daemon",
+            "type": "object",
+            "properties": {
+                "Name": {
+                    "description": "The name of the device",
+                    "type": "string"
+                },
+                "Type": {
+                    "description": "The type of configuration object",
+                    "const": "GPIODeviceDetect"
+                },
+                "PresencePinNames": {
+                    "description": "The names of the GPIOs used for presence detection.",
+                    "type": "array",
+                    "items": {
+                        "type": "string"
+                    }
+                },
+                "PresencePinValues": {
+                    "description": "The presence pin values for the GPIOs.",
+                    "type": "array",
+                    "items": {
+                        "type": "number"
+                    }
+                }
+            },
+            "required": [
+                "Name",
+                "Type",
+                "PresencePinNames",
+                "PresencePinValues"
+            ]
+        }
+    }
+}