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