Upgrade D-Bus API about Buttons from “/org/openbmc” to
“/xyz/openbmc_project”

According to the DEPRECATED API doc, the “/org/openbmc” API is
deprecated in the future.
Please refer:
https://github.com/openbmc/docs/blob/master/deprecated/dbus-interfaces.md

xyz.openbmc_project.Chassis.Buttons exposes the operation methods of the
buttons on the front panal like Power/Reset/ID, and the signals like
pressed/released to dbus, so that other modules could monitor/control
these buttons remotely like WebUI.


Change-Id: Iaf8990d19633d2df2beeb4b2c22f30f1abad6a45
Signed-off-by: Kuiying Wang <kuiying.wang@intel.com>
diff --git a/xyz/openbmc_project/Chassis/Buttons/ID.interface.yaml b/xyz/openbmc_project/Chassis/Buttons/ID.interface.yaml
new file mode 100644
index 0000000..0751ca4
--- /dev/null
+++ b/xyz/openbmc_project/Chassis/Buttons/ID.interface.yaml
@@ -0,0 +1,20 @@
+description: >
+    ID button is the system identification button, that allows the server to be
+    located in a rack, and can be enabled remotely via WebUI;
+    user can press ID button on the front panel and then walk around to the back
+    and quickly identify the rear bulkhead of the same server unit.
+methods:
+    - name: simPress
+      description: >
+        Emulate ID button press.
+      errors:
+       - xyz.openbmc_project.Chassis.Common.Error.UnsupportedCommand
+       - xyz.openbmc_project.Chassis.Common.Error.IOError
+
+signals:
+    - name: Released
+      description: >
+        ID button released signal
+    - name: Pressed
+      description: >
+        ID button pressed signal
diff --git a/xyz/openbmc_project/Chassis/Buttons/Power.interface.yaml b/xyz/openbmc_project/Chassis/Buttons/Power.interface.yaml
new file mode 100644
index 0000000..dc1c5ab
--- /dev/null
+++ b/xyz/openbmc_project/Chassis/Buttons/Power.interface.yaml
@@ -0,0 +1,27 @@
+description: >
+    Power button control service
+methods:
+    - name: simPress
+      description: >
+        Emulate power button press.
+      errors:
+       - xyz.openbmc_project.Chassis.Common.Error.UnsupportedCommand
+       - xyz.openbmc_project.Chassis.Common.Error.IOError
+
+    - name: simLongPress
+      description: >
+        Emulate power button long press.
+      errors:
+       - xyz.openbmc_project.Chassis.Common.Error.UnsupportedCommand
+       - xyz.openbmc_project.Chassis.Common.Error.IOError
+
+signals:
+    - name: Released
+      description: >
+        Power button released signal
+    - name: Pressed
+      description: >
+        Power button pressed signal
+    - name: PressedLong
+      description: >
+        Power button long pressed signal
diff --git a/xyz/openbmc_project/Chassis/Buttons/Reset.interface.yaml b/xyz/openbmc_project/Chassis/Buttons/Reset.interface.yaml
new file mode 100644
index 0000000..3c91afd
--- /dev/null
+++ b/xyz/openbmc_project/Chassis/Buttons/Reset.interface.yaml
@@ -0,0 +1,17 @@
+description: >
+    Reset button control service
+methods:
+    - name: simPress
+      description: >
+        Emulate reset button press.
+      errors:
+       - xyz.openbmc_project.Chassis.Common.Error.UnsupportedCommand
+       - xyz.openbmc_project.Chassis.Common.Error.IOError
+
+signals:
+    - name: Released
+      description: >
+        Reset button released signal
+    - name: Pressed
+      description: >
+        Reset button pressed signal
diff --git a/xyz/openbmc_project/Chassis/Common.errors.yaml b/xyz/openbmc_project/Chassis/Common.errors.yaml
new file mode 100644
index 0000000..2df3649
--- /dev/null
+++ b/xyz/openbmc_project/Chassis/Common.errors.yaml
@@ -0,0 +1,6 @@
+- name: UnsupportedCommand
+  description: >
+    An unsupported command was attempted.
+- name: IOError
+  description: >
+    An IO error occurred.
diff --git a/xyz/openbmc_project/Chassis/README.md b/xyz/openbmc_project/Chassis/README.md
new file mode 100644
index 0000000..d07a939
--- /dev/null
+++ b/xyz/openbmc_project/Chassis/README.md
@@ -0,0 +1,39 @@
+# Chassis Power Control
+
+## Overview
+Chassis Power Control service exposes D-Bus methods for chassis power operations
+
+### Power Button Interface
+Power button interface `xyz.openbmc_project.Chassis.Buttons.Power`
+provides following methods, signals.
+
+#### methods
+* simPress - To emulate physical power button press.
+* simLongPress - To emulate physical power button long press.
+
+#### signals
+* Released - Power button released signal.
+* Pressed - Power button pressed signal.
+* PressedLong - Power button long pressed signal.
+
+### ID Button Interface
+ID button interface `xyz.openbmc_project.Chassis.Buttons.ID`
+provides following methods, signals.
+
+#### methods
+* simPress - To emulate ID button press.
+
+#### signals
+* Released - ID button released signal.
+* Pressed - ID button pressed signal.
+
+### Reset Button Interface
+ID button interface `xyz.openbmc_project.Chassis.Buttons.Reset`
+provides following methods, signals.
+
+#### methods
+* simPress - To emulate reset button press.
+
+#### signals
+* Released - Reset button released signal.
+* Pressed - Reset button pressed signal.
\ No newline at end of file