aboutsummaryrefslogtreecommitdiff
path: root/drivers/sysreset/sysreset_socfpga_s10.c
diff options
context:
space:
mode:
authorSimon Goldschmidt <simon.k.r.goldschmidt@gmail.com>2019-07-15 21:47:54 +0200
committerMarek Vasut <marex@denx.de>2019-07-21 12:45:10 +0200
commit690c12965f72129838adc1a2465b7a80d4bc2ed3 (patch)
tree721560a93155c4abf65628b007b1f0229a240e96 /drivers/sysreset/sysreset_socfpga_s10.c
parent1f1668883d0e1ec68a9b4658ec746ef21b3148da (diff)
downloadu-boot-690c12965f72129838adc1a2465b7a80d4bc2ed3.zip
u-boot-690c12965f72129838adc1a2465b7a80d4bc2ed3.tar.gz
u-boot-690c12965f72129838adc1a2465b7a80d4bc2ed3.tar.bz2
sysreset: socfpga: stratix10: add sysreset driver
This adds a UCLASS_SYSRESET sysreset driver for socfgpa stratix10. Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
Diffstat (limited to 'drivers/sysreset/sysreset_socfpga_s10.c')
-rw-r--r--drivers/sysreset/sysreset_socfpga_s10.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/drivers/sysreset/sysreset_socfpga_s10.c b/drivers/sysreset/sysreset_socfpga_s10.c
new file mode 100644
index 0000000..9837aad
--- /dev/null
+++ b/drivers/sysreset/sysreset_socfpga_s10.c
@@ -0,0 +1,29 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (C) 2019 Pepperl+Fuchs
+ * Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
+ */
+
+#include <common.h>
+#include <dm.h>
+#include <errno.h>
+#include <sysreset.h>
+#include <asm/arch/mailbox_s10.h>
+
+static int socfpga_sysreset_request(struct udevice *dev,
+ enum sysreset_t type)
+{
+ puts("Mailbox: Issuing mailbox cmd REBOOT_HPS\n");
+ mbox_reset_cold();
+ return -EINPROGRESS;
+}
+
+static struct sysreset_ops socfpga_sysreset = {
+ .request = socfpga_sysreset_request,
+};
+
+U_BOOT_DRIVER(sysreset_socfpga) = {
+ .id = UCLASS_SYSRESET,
+ .name = "socfpga_sysreset",
+ .ops = &socfpga_sysreset,
+};