Add Control.Mode Interface for Manual Control

Each object can be independently managed by the host through this
state/settings interface.

Change-Id: I5c9a910f559b4144f9f65fa5a1fab8576c757d1b
Signed-off-by: Patrick Venture <venture@google.com>
diff --git a/xyz/openbmc_project/Control/Mode.interface.yaml b/xyz/openbmc_project/Control/Mode.interface.yaml
new file mode 100644
index 0000000..ff7e0b0
--- /dev/null
+++ b/xyz/openbmc_project/Control/Mode.interface.yaml
@@ -0,0 +1,19 @@
+description: >
+    Implement to provide manual control for an object.  Also provides
+    for the notion of a fail-safe mode.
+
+    Control.Mode.Manual is read/write.
+    Control.Mode.FailSafe is read/write, however not all implementations
+    may respect having this property set externally.
+
+properties:
+    - name: Manual
+      type: boolean
+      description: >
+          Whether the object should be in manual or automatic mode.
+    - name: FailSafe
+      type: boolean
+      description: >
+          Whether the object is in fail-safe mode or not.
+
+# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4