summaryrefslogtreecommitdiffstats
path: root/arch/mips
diff options
context:
space:
mode:
authorAntony Pavlov <antonynpavlov@gmail.com>2021-04-25 09:35:17 +0300
committerSascha Hauer <s.hauer@pengutronix.de>2021-05-03 13:17:27 +0200
commit8e795f4185576752900d6a27bfbec94fc54390bc (patch)
treedbdd62e054c9ccb317363195a51f49a394016240 /arch/mips
parent7702961ce8dceed94f3efe401e39dc62ccac0e70 (diff)
downloadbarebox-8e795f4185576752900d6a27bfbec94fc54390bc.tar.gz
barebox-8e795f4185576752900d6a27bfbec94fc54390bc.tar.xz
MIPS: qemu-malta: use generic syscon reset driver
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com> Link: https://lore.barebox.org/20210425063517.120260-1-antonynpavlov@gmail.com Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/mips')
-rw-r--r--arch/mips/configs/qemu-malta_defconfig2
-rw-r--r--arch/mips/dts/qemu-malta.dts13
-rw-r--r--arch/mips/mach-malta/Makefile1
-rw-r--r--arch/mips/mach-malta/reset.c31
4 files changed, 15 insertions, 32 deletions
diff --git a/arch/mips/configs/qemu-malta_defconfig b/arch/mips/configs/qemu-malta_defconfig
index b9994f392c..ab3abb7a2a 100644
--- a/arch/mips/configs/qemu-malta_defconfig
+++ b/arch/mips/configs/qemu-malta_defconfig
@@ -75,6 +75,8 @@ CONFIG_DRIVER_VIDEO_BOCHS_PCI=y
CONFIG_GPIO_MALTA_FPGA_I2C=y
CONFIG_PCI=y
CONFIG_PCI_DEBUG=y
+CONFIG_SYSCON_REBOOT_MODE=y
+CONFIG_POWER_RESET_SYSCON=y
CONFIG_FS_CRAMFS=y
CONFIG_FS_TFTP=y
CONFIG_FS_FAT=y
diff --git a/arch/mips/dts/qemu-malta.dts b/arch/mips/dts/qemu-malta.dts
index 32e473cac0..2d6f4a0ca3 100644
--- a/arch/mips/dts/qemu-malta.dts
+++ b/arch/mips/dts/qemu-malta.dts
@@ -27,6 +27,19 @@
clock-frequency = <1843200>;
};
+ fpga_regs: system-controller@1f000000 {
+ compatible = "mti,malta-fpga", "syscon", "simple-mfd";
+ reg = <0x1f000000 0x600>;
+ native-endian;
+
+ reboot {
+ compatible = "syscon-reboot";
+ regmap = <&fpga_regs>;
+ offset = <0x500>;
+ mask = <0x42>;
+ };
+ };
+
gpio: gpio@1f000b00 {
compatible = "mti,malta-fpga-i2c-gpio";
gpio-controller;
diff --git a/arch/mips/mach-malta/Makefile b/arch/mips/mach-malta/Makefile
index 0c5a7018d4..7d56f215b0 100644
--- a/arch/mips/mach-malta/Makefile
+++ b/arch/mips/mach-malta/Makefile
@@ -1,2 +1 @@
-obj-y += reset.o
obj-$(CONFIG_PCI) += pci.o
diff --git a/arch/mips/mach-malta/reset.c b/arch/mips/mach-malta/reset.c
deleted file mode 100644
index ad0de2741b..0000000000
--- a/arch/mips/mach-malta/reset.c
+++ /dev/null
@@ -1,31 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-only
-/*
- * Copyright (C) 2011 Antony Pavlov <antonynpavlov@gmail.com>
- */
-
-/**
- * @file
- * @brief Resetting an malta board
- */
-
-#include <common.h>
-#include <io.h>
-#include <init.h>
-#include <restart.h>
-#include <mach/hardware.h>
-
-static void __noreturn malta_restart_soc(struct restart_handler *rst)
-{
- __raw_writel(GORESET, (char *)SOFTRES_REG);
-
- hang();
- /*NOTREACHED*/
-}
-
-static int restart_register_feature(void)
-{
- restart_handler_register_fn("soc", malta_restart_soc);
-
- return 0;
-}
-coredevice_initcall(restart_register_feature);