diff options
author | Arnd Bergmann <arnd@arndb.de> | 2012-12-02 15:12:47 +0100 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2013-03-12 17:39:47 +0100 |
commit | a7ed099ffc8edf2a6dccd8a22469347f5cdcfa57 (patch) | |
tree | b56901430602574233ad23008cfd7c23babd20c3 /arch/arm/mach-spear/restart.c | |
parent | 0ec05c3e4ac6548fcab4b6a74254a22ef251e1fd (diff) | |
download | linux-a7ed099ffc8edf2a6dccd8a22469347f5cdcfa57.tar.gz linux-a7ed099ffc8edf2a6dccd8a22469347f5cdcfa57.tar.bz2 linux-a7ed099ffc8edf2a6dccd8a22469347f5cdcfa57.zip |
ARM: spear: move all files to mach-spear
There are no conflicting files between the three mach-spear* directories
and plat-spear any more, so we can now move all file to a common
mach-spear directory.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Diffstat (limited to 'arch/arm/mach-spear/restart.c')
-rw-r--r-- | arch/arm/mach-spear/restart.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/arch/arm/mach-spear/restart.c b/arch/arm/mach-spear/restart.c new file mode 100644 index 000000000000..7d4616d5df11 --- /dev/null +++ b/arch/arm/mach-spear/restart.c @@ -0,0 +1,33 @@ +/* + * arch/arm/plat-spear/restart.c + * + * SPEAr platform specific restart functions + * + * Copyright (C) 2009 ST Microelectronics + * Viresh Kumar <viresh.linux@gmail.com> + * + * This file is licensed under the terms of the GNU General Public + * License version 2. This program is licensed "as is" without any + * warranty of any kind, whether express or implied. + */ +#include <linux/io.h> +#include <linux/amba/sp810.h> +#include <asm/system_misc.h> +#include <mach/spear.h> +#include <mach/generic.h> + +#define SPEAR13XX_SYS_SW_RES (VA_MISC_BASE + 0x204) +void spear_restart(char mode, const char *cmd) +{ + if (mode == 's') { + /* software reset, Jump into ROM at address 0 */ + soft_restart(0); + } else { + /* hardware reset, Use on-chip reset capability */ +#ifdef CONFIG_ARCH_SPEAR13XX + writel_relaxed(0x01, SPEAR13XX_SYS_SW_RES); +#else + sysctl_soft_reset((void __iomem *)VA_SPEAR_SYS_CTRL_BASE); +#endif + } +} |