xref: /rk3399_rockchip-uboot/arch/arm/cpu/armv7/stv0991/reset.c (revision 9fa32b12370236a39090d4e42b013910d123db61)
1*9fa32b12SVikas Manocha /*
2*9fa32b12SVikas Manocha  * (C) Copyright 2014
3*9fa32b12SVikas Manocha  * Vikas Manocha, ST Micoelectronics, vikas.manocha@st.com.
4*9fa32b12SVikas Manocha  *
5*9fa32b12SVikas Manocha  * SPDX-License-Identifier:	GPL-2.0+
6*9fa32b12SVikas Manocha  */
7*9fa32b12SVikas Manocha 
8*9fa32b12SVikas Manocha #include <common.h>
9*9fa32b12SVikas Manocha #include <asm/io.h>
10*9fa32b12SVikas Manocha #include <asm/arch/stv0991_wdru.h>
reset_cpu(ulong ignored)11*9fa32b12SVikas Manocha void reset_cpu(ulong ignored)
12*9fa32b12SVikas Manocha {
13*9fa32b12SVikas Manocha 	puts("System is going to reboot ...\n");
14*9fa32b12SVikas Manocha 	/*
15*9fa32b12SVikas Manocha 	 * This 1 second delay will allow the above message
16*9fa32b12SVikas Manocha 	 * to be printed before reset
17*9fa32b12SVikas Manocha 	 */
18*9fa32b12SVikas Manocha 	udelay((1000 * 1000));
19*9fa32b12SVikas Manocha 
20*9fa32b12SVikas Manocha 	/* Setting bit 1 of the WDRU unit will reset the SoC */
21*9fa32b12SVikas Manocha 	writel(WDRU_RST_SYS, &stv0991_wd_ru_ptr->wdru_ctrl1);
22*9fa32b12SVikas Manocha 
23*9fa32b12SVikas Manocha 	/* system will restart */
24*9fa32b12SVikas Manocha 	while (1)
25*9fa32b12SVikas Manocha 		;
26*9fa32b12SVikas Manocha }
27