aboutsummaryrefslogtreecommitdiff
path: root/include/linux/soc
diff options
context:
space:
mode:
authorAndreas Dannenberg2018-08-27 15:57:36 +0530
committerTom Rini2018-09-11 08:32:55 -0400
commitf369b0f26cf77921e2a3b8c5ad7dab7e82b246ee (patch)
tree6f34e2083ba4bca422b69d32751a2afb38d6f70d /include/linux/soc
parent9b87181fd297f38bd52b597a31dc64ba959afdfd (diff)
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. Reviewed-by: Tom Rini <trini@konsulko.com> Signed-off-by: Andreas Dannenberg <dannenberg@ti.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Signed-off-by: Nishanth Menon <nm@ti.com>
Diffstat (limited to 'include/linux/soc')
-rw-r--r--include/linux/soc/ti/ti_sci_protocol.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/include/linux/soc/ti/ti_sci_protocol.h b/include/linux/soc/ti/ti_sci_protocol.h
index 30300bcef28..acc02d38e11 100644
--- a/include/linux/soc/ti/ti_sci_protocol.h
+++ b/include/linux/soc/ti/ti_sci_protocol.h
@@ -213,15 +213,27 @@ struct ti_sci_clk_ops {
};
/**
+ * struct ti_sci_core_ops - SoC Core Operations
+ * @reboot_device: Reboot the SoC
+ * Returns 0 for successful request(ideally should never return),
+ * else returns corresponding error value.
+ */
+struct ti_sci_core_ops {
+ int (*reboot_device)(const struct ti_sci_handle *handle);
+};
+
+/**
* struct ti_sci_ops - Function support for TI SCI
* @board_ops: Miscellaneous operations
* @dev_ops: Device specific operations
* @clk_ops: Clock specific operations
+ * @core_ops: Core specific operations
*/
struct ti_sci_ops {
struct ti_sci_board_ops board_ops;
struct ti_sci_dev_ops dev_ops;
struct ti_sci_clk_ops clk_ops;
+ struct ti_sci_core_ops core_ops;
};
/**