Home | History | Annotate | Download | only in arm920t
      1 // SPDX-License-Identifier: GPL-2.0+
      2 /*
      3  * (C) Copyright 2002
      4  * Lineo, Inc. <www.lineo.com>
      5  * Bernhard Kuhn <bkuhn (at) lineo.com>
      6  *
      7  * (C) Copyright 2002
      8  * Sysgo Real-Time Solutions, GmbH <www.elinos.com>
      9  * Marius Groeger <mgroeger (at) sysgo.de>
     10  *
     11  * (C) Copyright 2002
     12  * Sysgo Real-Time Solutions, GmbH <www.elinos.com>
     13  * Alex Zuepke <azu (at) sysgo.de>
     14  */
     15 
     16 #include <common.h>
     17 #include <asm/io.h>
     18 #include <asm/arch/hardware.h>
     19 #include <asm/arch/at91_st.h>
     20 
     21 void  __attribute__((weak)) board_reset(void)
     22 {
     23 	/* true empty function for defining weak symbol */
     24 }
     25 
     26 void reset_cpu(ulong ignored)
     27 {
     28 	at91_st_t *st = (at91_st_t *) ATMEL_BASE_ST;
     29 
     30 	board_reset();
     31 
     32 	/* Reset the cpu by setting up the watchdog timer */
     33 	writel(AT91_ST_WDMR_RSTEN | AT91_ST_WDMR_EXTEN | AT91_ST_WDMR_WDV(2),
     34 		&st->wdmr);
     35 	writel(AT91_ST_CR_WDRST, &st->cr);
     36 	/* and let it timeout */
     37 	while (1)
     38 		;
     39 	/* Never reached */
     40 }
     41