blob: 445dbf94ef5eaaebeff81d706f41a0d598208d03 [file] [log] [blame]
/*
* (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>
#include <asm/arch/lsp_crpm.h>
#include <asm/io.h>
#if ZX_RM_WDT_RESTART
extern void wdt_restart(void);
#endif
int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
{
puts ("resetting ...\n");
udelay (20000); /* wait 600 ms */
#if ZX_RM_WDT_RESTART
wdt_restart();
#else
writel(0x1,TOP_SYSCLK_BASE);
#endif
//disable_interrupts();
//reset_cpu(0);
/*NOTREACHED*/
return 0;
}
void system_reset(void)
{
udelay (600000); /* wait 600 ms */
printf("resetting ...\n");
//writel(0x1<<31,TOP_SYSCLK_BASE);
writel(0x1,TOP_SYSCLK_BASE);
}