Add initial sensor interfaces

xyz.openbmc_project.Sensor.Value
xyz.openbmc_project.Sensor.Threshold.Warning
xyz.openbmc_project.Sensor.Threshold.Critical

Change-Id: Ib3e993d0b2e87387993d7b6c1c8b1a47e71b5af1
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/xyz/openbmc_project/Sensor/Threshold/Critical.interface.yaml b/xyz/openbmc_project/Sensor/Threshold/Critical.interface.yaml
new file mode 100644
index 0000000..ad90e6f
--- /dev/null
+++ b/xyz/openbmc_project/Sensor/Threshold/Critical.interface.yaml
@@ -0,0 +1,31 @@
+description: >
+    Implement to provide critical class sensor thresholds.  Objects implementing
+    Sensor.Threshold.Critical must be instantiated in the correct hierarchy within
+    the sensors namespace.  The following sensor hierarchies are recognized:
+      temperature
+      fan_tach
+      voltage
+      altitude
+
+    Additionally, any object implementing Sensor.Threshold.Critical must also
+    implement Sensor.Value.
+
+properties:
+    - name: CriticalHigh
+      type: int64
+      description: >
+          The upper bound of the critical threshold.
+    - name: CriticalLow
+      type: int64
+      description: >
+          The lower bound of the critical threshold.
+    - name: CriticalAlarm
+      type: boolean
+      description: >
+          True if the sensor value has exceeded the defined bounds.
+          False if the sensor value has not exceeded the defined bounds.
+
+          CriticalAlarm may be set to False to clear an alarm condition.
+          The behavior of setting CriticalAlarm to True is undefined.
+
+# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4