meta-quanta: gbs: add ipmi watchdog

the upstream watchdog lose some command parameters and implementation
we reference Intel-BMC repo[*1] apply patches for normal execute with
x86-power-control

[*1]: https://github.com/Intel-BMC/openbmc/tree/intel/meta-openbmc-mods/meta-common/recipes-phosphor/watchdog

Signed-off-by: George Hung <george.hung@quantatw.com>
Change-Id: I8965a81a77073503bc042ae8ffa5c5733a9778dd
diff --git a/meta-gbs/recipes-phosphor/dbus/phosphor-dbus-interfaces/0024-Add-the-pre-timeout-interrupt-defined-in-IPMI-spec.patch b/meta-gbs/recipes-phosphor/dbus/phosphor-dbus-interfaces/0024-Add-the-pre-timeout-interrupt-defined-in-IPMI-spec.patch
new file mode 100644
index 0000000..67fa590
--- /dev/null
+++ b/meta-gbs/recipes-phosphor/dbus/phosphor-dbus-interfaces/0024-Add-the-pre-timeout-interrupt-defined-in-IPMI-spec.patch
@@ -0,0 +1,57 @@
+From 6e9a19c43acac7d4254910906329d98d7b59085a Mon Sep 17 00:00:00 2001
+From: Ren Yu <yux.ren@intel.com>
+Date: Fri, 24 May 2019 14:55:10 +0800
+Subject: [PATCH] Add the pre-timeout interrupt defined in IPMI spec
+
+The IPMI watchdog pre-timeout interrupt is used to set the different
+pre-timeout interrupt source. Add them as a dbus property,
+IPMI set/get watchdog commands will use it.
+
+Signed-off-by: Ren Yu <yux.ren@intel.com>
+---
+ xyz/openbmc_project/State/Watchdog.interface.yaml | 22 ++++++++++++++++++++++
+ 1 file changed, 22 insertions(+)
+
+diff --git a/xyz/openbmc_project/State/Watchdog.interface.yaml b/xyz/openbmc_project/State/Watchdog.interface.yaml
+index 2fc47d8..6dfa9b9 100644
+--- a/xyz/openbmc_project/State/Watchdog.interface.yaml
++++ b/xyz/openbmc_project/State/Watchdog.interface.yaml
+@@ -33,6 +33,11 @@ properties:
+       description: >
+           The action the watchdog should perform when it expires.
+       default: 'HardReset'
++    - name: PreTimeoutInterrupt
++      type: enum[self.PreTimeoutInterruptAction]
++      description: >
++          The BMC generates the selected interrupt before the timer expires.
++      default: 'None'
+     - name: Interval
+       type: uint64
+       description: >
+@@ -73,6 +78,23 @@ enumerations:
+          description: >
+            Perform a power cycle of the system.
+ 
++   - name: PreTimeoutInterruptAction
++     description: >
++       The type of PreTimeout Interrupt.
++     values:
++       - name: 'None'
++         description: >
++           Do nothing.
++       - name: 'SMI'
++         description: >
++           SMI.
++       - name: 'NMI'
++         description: >
++           NMI / Diagnostic Interrupt.
++       - name: 'MI'
++         description: >
++           Messaging Interrupt.
++
+    - name: TimerUse
+      description: >
+        The type of timer use.
+-- 
+2.7.4
+