add NMI Button yaml configuration

NMI Button is a GPIO pin, it's used to trigger a NMI signal,
This yaml file is used to configure Dbus interface of this NMI GPIO Pin
to capture press and release event.

tested:
it's tested in system, including the Front panel with its NMI Button.

Change-Id: If9a758698c0ca451ff8cc147372cbdc9b09f1b09
Signed-off-by: Chen,Yugang <yugang.chen@linux.intel.com>
diff --git a/xyz/openbmc_project/Chassis/Buttons/NMI.interface.yaml b/xyz/openbmc_project/Chassis/Buttons/NMI.interface.yaml
new file mode 100644
index 0000000..bd4f5a3
--- /dev/null
+++ b/xyz/openbmc_project/Chassis/Buttons/NMI.interface.yaml
@@ -0,0 +1,33 @@
+description: >
+    NMI button is a Diagnostic Interrupt(Front Panel NMI).Diagnostic interrupt
+    is a non-maskable interrupt or signal for generating diagnostic traces
+    and core dumps from the operating system. The diagnostic interrupt button
+    is connected to the BMC through a front panel connector.
+    user can press NMI button on the front panel and then trigger NMI signal.
+methods:
+    - name: simPress
+      description: >
+        Emulate NMI button press.
+      errors:
+       - xyz.openbmc_project.Chassis.Common.Error.UnsupportedCommand
+       - xyz.openbmc_project.Chassis.Common.Error.IOError
+
+properties:
+    - name: Enabled
+      type: boolean
+      default: true
+      description: >
+        Enable/disable NMI button.
+        false means NMI button is disabled
+        true means NMI button is enabled
+      errors:
+       - xyz.openbmc_project.Chassis.Common.Error.UnsupportedCommand
+       - xyz.openbmc_project.Chassis.Common.Error.IOError
+
+signals:
+    - name: Released
+      description: >
+        NMI button released signal
+    - name: Pressed
+      description: >
+        NMI button pressed signal