Add NMI source Property

System need to keep the NMI signal event source by this Property

Tested
it's tested in system for IPMI OEM command - get/set NMI source

Change-Id: I0f09d30b08540863f65c20315e063916ad620e80
Signed-off-by: Chen Yugang <yugang.chen@linux.intel.com>
diff --git a/xyz/openbmc_project/Chassis/Control/NMISource.interface.yaml b/xyz/openbmc_project/Chassis/Control/NMISource.interface.yaml
new file mode 100644
index 0000000..a04bd10
--- /dev/null
+++ b/xyz/openbmc_project/Chassis/Control/NMISource.interface.yaml
@@ -0,0 +1,46 @@
+description: >
+    An interface for NMI signal source.
+methods:
+    - name: nmiEnable
+      description: >
+          Enables the BMC NMI out event.
+      errors:
+       - xyz.openbmc_project.Chassis.Common.Error.UnsupportedCommand
+       - xyz.openbmc_project.Chassis.Common.Error.IOError
+
+properties:
+    - name: BMCSource
+      type: enum[self.BMCSourceSignal]
+      description: >
+          Keeps track of NMI signal source in BMC.
+      default: 'None'
+
+enumerations:
+   - name: BMCSourceSignal
+     description: >
+       The type of NMI source.
+     values:
+       - name: None
+         description: >
+           NONE NMI signal.
+       - name: FrontPanelButton
+         description: >
+           Via Front Panel NMI button.
+       - name: Watchdog
+         description: >
+           Via watchdog pre-timeout.
+       - name: ChassisCmd
+         description: >
+           Via Chassis command.
+       - name: MemoryError
+         description: >
+           Via memory error.
+       - name: PciBusError
+         description: >
+           Via PCI bus error(PERR & SERR).
+       - name: PCH
+         description: >
+           Via southbridge NMI.
+       - name: Chipset
+         description: >
+           Via chipset NMI.