xref: /openbmc/u-boot/arch/arm/cpu/armv7/stv0991/reset.c (revision 83d290c56fab2d38cd1ab4c4cc7099559c1d5046)
1*83d290c5STom Rini // SPDX-License-Identifier: GPL-2.0+
29fa32b12SVikas Manocha /*
31537d386SPatrice Chotard  * Copyright (C) 2014, STMicroelectronics - All Rights Reserved
41537d386SPatrice Chotard  * Author(s): Vikas Manocha, <vikas.manocha@st.com> for STMicroelectronics.
59fa32b12SVikas Manocha  */
69fa32b12SVikas Manocha 
79fa32b12SVikas Manocha #include <common.h>
89fa32b12SVikas Manocha #include <asm/io.h>
99fa32b12SVikas Manocha #include <asm/arch/stv0991_wdru.h>
reset_cpu(ulong ignored)109fa32b12SVikas Manocha void reset_cpu(ulong ignored)
119fa32b12SVikas Manocha {
129fa32b12SVikas Manocha 	puts("System is going to reboot ...\n");
139fa32b12SVikas Manocha 	/*
149fa32b12SVikas Manocha 	 * This 1 second delay will allow the above message
159fa32b12SVikas Manocha 	 * to be printed before reset
169fa32b12SVikas Manocha 	 */
179fa32b12SVikas Manocha 	udelay((1000 * 1000));
189fa32b12SVikas Manocha 
199fa32b12SVikas Manocha 	/* Setting bit 1 of the WDRU unit will reset the SoC */
209fa32b12SVikas Manocha 	writel(WDRU_RST_SYS, &stv0991_wd_ru_ptr->wdru_ctrl1);
219fa32b12SVikas Manocha 
229fa32b12SVikas Manocha 	/* system will restart */
239fa32b12SVikas Manocha 	while (1)
249fa32b12SVikas Manocha 		;
259fa32b12SVikas Manocha }
26