diff options
author | Stefan Reinauer <reinauer@chromium.org> | 2013-02-14 16:56:05 -0800 |
---|---|---|
committer | Ronald G. Minnich <rminnich@gmail.com> | 2013-02-15 02:43:09 +0100 |
commit | 8bc58da8ac7b2d91b7a6571e622876346df6f4cd (patch) | |
tree | a9c5b696764cd72b8da92b45393926af485568d0 | |
parent | 5dbf689b62367f5386441cdc35434f14b39ac17b (diff) |
ARMv7: straighten out reset code
We don't need three different implementations.
Change-Id: Ie7b5fa90794676ea38838454a33e8e9188428eb7
Signed-off-by: Stefan Reinauer <reinauer@google.com>
Reviewed-on: http://review.coreboot.org/2406
Tested-by: build bot (Jenkins)
Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
-rw-r--r-- | src/arch/armv7/include/common.h | 1 | ||||
-rw-r--r-- | src/arch/armv7/lib/Makefile.inc | 1 | ||||
-rw-r--r-- | src/arch/armv7/lib/interrupts.c | 3 | ||||
-rw-r--r-- | src/arch/armv7/lib/reset.c | 53 | ||||
-rw-r--r-- | src/cpu/samsung/exynos5-common/reset.c (renamed from src/cpu/samsung/exynos5-common/soc.c) | 4 |
5 files changed, 4 insertions, 58 deletions
diff --git a/src/arch/armv7/include/common.h b/src/arch/armv7/include/common.h index d00aecffbe..6bd2c57498 100644 --- a/src/arch/armv7/include/common.h +++ b/src/arch/armv7/include/common.h @@ -294,7 +294,6 @@ int checkicache (void); int checkdcache (void); void upmconfig (unsigned int, unsigned int *, unsigned int); ulong get_tbclk (void); -void reset_cpu (ulong addr); #if defined (CONFIG_OF_LIBFDT) && defined (CONFIG_OF_BOARD_SETUP) void ft_cpu_setup(void *blob, bd_t *bd); #endif diff --git a/src/arch/armv7/lib/Makefile.inc b/src/arch/armv7/lib/Makefile.inc index 048e0717df..391b6a54b1 100644 --- a/src/arch/armv7/lib/Makefile.inc +++ b/src/arch/armv7/lib/Makefile.inc @@ -13,7 +13,6 @@ ramstage-y += div64.S #ramstage-y += interrupts.c #ramstage-y += memcpy.S #ramstage-y += memset.S -#ramstage-y += reset.c ramstage-y += syslib.c #FIXME(dhendrix): should this be a config option? diff --git a/src/arch/armv7/lib/interrupts.c b/src/arch/armv7/lib/interrupts.c index ab9a80ca91..d07442a077 100644 --- a/src/arch/armv7/lib/interrupts.c +++ b/src/arch/armv7/lib/interrupts.c @@ -36,6 +36,7 @@ */ #include <common.h> +#include <reset.h> DECLARE_GLOBAL_DATA_PTR; @@ -105,7 +106,7 @@ int disable_interrupts (void) void bad_mode (void) { panic ("Resetting CPU ...\n"); - reset_cpu (0); + soft_reset(); } void show_regs (struct pt_regs *regs) diff --git a/src/arch/armv7/lib/reset.c b/src/arch/armv7/lib/reset.c deleted file mode 100644 index 08e6acb261..0000000000 --- a/src/arch/armv7/lib/reset.c +++ /dev/null @@ -1,53 +0,0 @@ -/* - * (C) Copyright 2002 - * Sysgo Real-Time Solutions, GmbH <www.elinos.com> - * Marius Groeger <mgroeger@sysgo.de> - * - * (C) Copyright 2002 - * Sysgo Real-Time Solutions, GmbH <www.elinos.com> - * Alex Zuepke <azu@sysgo.de> - * - * (C) Copyright 2002 - * Gary Jennejohn, DENX Software Engineering, <garyj@denx.de> - * - * (C) Copyright 2004 - * DAVE Srl - * http://www.dave-tech.it - * http://www.wawnet.biz - * mailto:info@wawnet.biz - * - * (C) Copyright 2004 Texas Insturments - * - * See file CREDITS for list of people who contributed to this - * project. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA - */ - -#include <common.h> - -int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) -{ - puts ("resetting ...\n"); - - udelay (50000); /* wait 50 ms */ - - disable_interrupts(); - reset_cpu(0); - - /*NOTREACHED*/ - return 0; -} diff --git a/src/cpu/samsung/exynos5-common/soc.c b/src/cpu/samsung/exynos5-common/reset.c index e73fd338ba..6cbc1d88e5 100644 --- a/src/cpu/samsung/exynos5-common/soc.c +++ b/src/cpu/samsung/exynos5-common/reset.c @@ -21,10 +21,10 @@ * MA 02111-1307 USA */ -#include <common.h> +#include <reset.h> #include <arch/io.h> -void reset_cpu(unsigned long addr) +void soft_reset(void) { writel(0x1, samsung_get_base_swreset()); } |