diff options
Diffstat (limited to 'target/linux/ramips/patches-3.8/0003-MIPS-ralink-adds-reset-code.patch')
-rw-r--r-- | target/linux/ramips/patches-3.8/0003-MIPS-ralink-adds-reset-code.patch | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/target/linux/ramips/patches-3.8/0003-MIPS-ralink-adds-reset-code.patch b/target/linux/ramips/patches-3.8/0003-MIPS-ralink-adds-reset-code.patch new file mode 100644 index 000000000..c6818ab3e --- /dev/null +++ b/target/linux/ramips/patches-3.8/0003-MIPS-ralink-adds-reset-code.patch @@ -0,0 +1,68 @@ +From c06e836ada59fbc6d1109277e693e5b3e056ac12 Mon Sep 17 00:00:00 2001 +From: John Crispin <blogic@openwrt.org> +Date: Sun, 20 Jan 2013 22:00:57 +0100 +Subject: [PATCH 03/14] MIPS: ralink: adds reset code + +Resetting these SoCs requires no real magic. The code is straight forward. + +Signed-off-by: John Crispin <blogic@openwrt.org> +Signed-off-by: Gabor Juhos <juhosg@openwrt.org> +Patchwork: http://patchwork.linux-mips.org/patch/4891/ +--- + arch/mips/ralink/reset.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 44 insertions(+) + create mode 100644 arch/mips/ralink/reset.c + +diff --git a/arch/mips/ralink/reset.c b/arch/mips/ralink/reset.c +new file mode 100644 +index 0000000..22120e5 +--- /dev/null ++++ b/arch/mips/ralink/reset.c +@@ -0,0 +1,44 @@ ++/* ++ * This program is free software; you can redistribute it and/or modify it ++ * under the terms of the GNU General Public License version 2 as published ++ * by the Free Software Foundation. ++ * ++ * Copyright (C) 2008-2009 Gabor Juhos <juhosg@openwrt.org> ++ * Copyright (C) 2008 Imre Kaloz <kaloz@openwrt.org> ++ * Copyright (C) 2013 John Crispin <blogic@openwrt.org> ++ */ ++ ++#include <linux/pm.h> ++#include <linux/io.h> ++ ++#include <asm/reboot.h> ++ ++#include <asm/mach-ralink/ralink_regs.h> ++ ++/* Reset Control */ ++#define SYSC_REG_RESET_CTRL 0x034 ++#define RSTCTL_RESET_SYSTEM BIT(0) ++ ++static void ralink_restart(char *command) ++{ ++ local_irq_disable(); ++ rt_sysc_w32(RSTCTL_RESET_SYSTEM, SYSC_REG_RESET_CTRL); ++ unreachable(); ++} ++ ++static void ralink_halt(void) ++{ ++ local_irq_disable(); ++ unreachable(); ++} ++ ++static int __init mips_reboot_setup(void) ++{ ++ _machine_restart = ralink_restart; ++ _machine_halt = ralink_halt; ++ pm_power_off = ralink_halt; ++ ++ return 0; ++} ++ ++arch_initcall(mips_reboot_setup); +-- +1.7.10.4 + |