diff options
author | Paul Burton <paul.burton@imgtec.com> | 2016-08-26 15:17:43 +0100 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2016-10-05 01:31:20 +0200 |
commit | 70bfdcec9ad9bcd3217f85fd422012777d86e168 (patch) | |
tree | 0d8fbff624e889d13491b32d60b2af228d1e4206 /arch | |
parent | c764583f40b8d3cde3a3a0b4a40a7d2fa3987bed (diff) | |
download | linux-70bfdcec9ad9bcd3217f85fd422012777d86e168.tar.bz2 |
MIPS: SEAD3: Reset via generic syscon-reboot driver & DT
Remove the SEAD3 implementation of _machine_restart & instead make use
of the generic syscon-reboot driver probed via device tree.
Signed-off-by: Paul Burton <paul.burton@imgtec.com>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: linux-mips@linux-mips.org
Cc: devicetree@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/14056/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/mips/boot/dts/mti/sead3.dts | 12 | ||||
-rw-r--r-- | arch/mips/configs/sead3_defconfig | 3 | ||||
-rw-r--r-- | arch/mips/mti-sead3/sead3-reset.c | 9 |
3 files changed, 14 insertions, 10 deletions
diff --git a/arch/mips/boot/dts/mti/sead3.dts b/arch/mips/boot/dts/mti/sead3.dts index 0159450418ed..047ff7aa5c21 100644 --- a/arch/mips/boot/dts/mti/sead3.dts +++ b/arch/mips/boot/dts/mti/sead3.dts @@ -93,6 +93,18 @@ }; }; + fpga_regs: system-controller@1f000000 { + compatible = "mti,sead3-fpga", "syscon", "simple-mfd"; + reg = <0x1f000000 0x200>; + + reboot { + compatible = "syscon-reboot"; + regmap = <&fpga_regs>; + offset = <0x50>; + mask = <0x4d>; + }; + }; + system-controller@1f000200 { compatible = "mti,sead3-cpld", "syscon", "simple-mfd"; reg = <0x1f000200 0x300>; diff --git a/arch/mips/configs/sead3_defconfig b/arch/mips/configs/sead3_defconfig index e1c6582ac710..055af3072652 100644 --- a/arch/mips/configs/sead3_defconfig +++ b/arch/mips/configs/sead3_defconfig @@ -80,8 +80,9 @@ CONFIG_I2C=y CONFIG_I2C_CHARDEV=y # CONFIG_I2C_HELPER_AUTO is not set CONFIG_SPI=y +CONFIG_POWER_RESET=y +CONFIG_POWER_RESET_SYSCON=y CONFIG_SENSORS_ADT7475=y -CONFIG_MFD_SYSCON=y CONFIG_BACKLIGHT_LCD_SUPPORT=y CONFIG_LCD_CLASS_DEVICE=y CONFIG_BACKLIGHT_CLASS_DEVICE=y diff --git a/arch/mips/mti-sead3/sead3-reset.c b/arch/mips/mti-sead3/sead3-reset.c index e6fb24414a70..8f548f02eb49 100644 --- a/arch/mips/mti-sead3/sead3-reset.c +++ b/arch/mips/mti-sead3/sead3-reset.c @@ -13,14 +13,6 @@ #define SOFTRES_REG 0x1f000050 #define GORESET 0x4d -static void mips_machine_restart(char *command) -{ - unsigned int __iomem *softres_reg = - ioremap(SOFTRES_REG, sizeof(unsigned int)); - - __raw_writel(GORESET, softres_reg); -} - static void mips_machine_halt(void) { unsigned int __iomem *softres_reg = @@ -31,7 +23,6 @@ static void mips_machine_halt(void) static int __init mips_reboot_setup(void) { - _machine_restart = mips_machine_restart; _machine_halt = mips_machine_halt; pm_power_off = mips_machine_halt; |