summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Reinauer <reinauer@chromium.org>2013-02-14 16:56:05 -0800
committerRonald G. Minnich <rminnich@gmail.com>2013-02-15 02:43:09 +0100
commit8bc58da8ac7b2d91b7a6571e622876346df6f4cd (patch)
treea9c5b696764cd72b8da92b45393926af485568d0
parent5dbf689b62367f5386441cdc35434f14b39ac17b (diff)
downloadcoreboot-8bc58da8ac7b2d91b7a6571e622876346df6f4cd.tar.xz
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.h1
-rw-r--r--src/arch/armv7/lib/Makefile.inc1
-rw-r--r--src/arch/armv7/lib/interrupts.c3
-rw-r--r--src/arch/armv7/lib/reset.c53
-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());
}