summaryrefslogtreecommitdiffstats
path: root/drivers/firmware/ti_sci.h
diff options
context:
space:
mode:
authorNishanth Menon <nm@ti.com>2016-10-19 01:08:37 +0200
committerTero Kristo <t-kristo@ti.com>2016-10-27 11:09:12 +0200
commit912cffb4ed8612dc99ee0251cc0c9785855162cd (patch)
treec5f53aad89c724f524285fbed59a835087237876 /drivers/firmware/ti_sci.h
parentfirmware: ti_sci: Add support for Clock control (diff)
downloadlinux-912cffb4ed8612dc99ee0251cc0c9785855162cd.tar.xz
linux-912cffb4ed8612dc99ee0251cc0c9785855162cd.zip
firmware: ti_sci: Add support for reboot core service
Since system controller now has control over SoC power management, it needs to be explicitly requested to reboot the SoC. Add support for it. In some systems however, SoC needs to toggle a GPIO or send event to an external entity (like a PMIC) for a system reboot to take place. To facilitate that, we allow for a DT property to determine if the reboot handler will be registered and further, the service is also made available to other drivers (such as PMIC driver) to sequence the additional operation and trigger the SoC reboot as the last step. Tested-by: Lokesh Vutla <lokeshvutla@ti.com> Signed-off-by: Nishanth Menon <nm@ti.com> Signed-off-by: Tero Kristo <t-kristo@ti.com>
Diffstat (limited to 'drivers/firmware/ti_sci.h')
-rw-r--r--drivers/firmware/ti_sci.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/firmware/ti_sci.h b/drivers/firmware/ti_sci.h
index f69907cfc128..9b611e9e6f6d 100644
--- a/drivers/firmware/ti_sci.h
+++ b/drivers/firmware/ti_sci.h
@@ -46,6 +46,7 @@
#define TI_SCI_MSG_VERSION 0x0002
#define TI_SCI_MSG_WAKE_REASON 0x0003
#define TI_SCI_MSG_GOODBYE 0x0004
+#define TI_SCI_MSG_SYS_RESET 0x0005
/* Device requests */
#define TI_SCI_MSG_SET_DEVICE_STATE 0x0200
@@ -106,6 +107,17 @@ struct ti_sci_msg_resp_version {
} __packed;
/**
+ * struct ti_sci_msg_req_reboot - Reboot the SoC
+ * @hdr: Generic Header
+ *
+ * Request type is TI_SCI_MSG_SYS_RESET, responded with a generic
+ * ACK/NACK message.
+ */
+struct ti_sci_msg_req_reboot {
+ struct ti_sci_msg_hdr hdr;
+} __packed;
+
+/**
* struct ti_sci_msg_req_set_device_state - Set the desired state of the device
* @hdr: Generic header
* @id: Indicates which device to modify