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"
+ ]
+ }
+ }
+}