xref: /rk3399_ARM-atf/plat/imx/common/imx_wdog.c (revision 9a207532f8216bf83fed0891fed9ed0bc72ca450)
1b42ceebbSBryan O'Donoghue /*
2b42ceebbSBryan O'Donoghue  * Copyright (c) 2018, ARM Limited and Contributors. All rights reserved.
3b42ceebbSBryan O'Donoghue  *
4b42ceebbSBryan O'Donoghue  * SPDX-License-Identifier: BSD-3-Clause
5b42ceebbSBryan O'Donoghue  */
6b42ceebbSBryan O'Donoghue 
7*09d40e0eSAntonio Nino Diaz #include <lib/mmio.h>
8*09d40e0eSAntonio Nino Diaz 
9b42ceebbSBryan O'Donoghue #include <imx_regs.h>
10b42ceebbSBryan O'Donoghue #include <imx_wdog.h>
11b42ceebbSBryan O'Donoghue 
imx_wdog_power_down(unsigned long base)12b42ceebbSBryan O'Donoghue static void imx_wdog_power_down(unsigned long base)
13b42ceebbSBryan O'Donoghue {
14b42ceebbSBryan O'Donoghue 	struct wdog_regs *wdog = (struct wdog_regs *)base;
15b42ceebbSBryan O'Donoghue 
16b42ceebbSBryan O'Donoghue 	mmio_write_16((uintptr_t)&wdog->wmcr, 0);
17b42ceebbSBryan O'Donoghue }
18b42ceebbSBryan O'Donoghue 
imx_wdog_init(void)19b42ceebbSBryan O'Donoghue void imx_wdog_init(void)
20b42ceebbSBryan O'Donoghue {
21b42ceebbSBryan O'Donoghue 	imx_wdog_power_down(WDOG1_BASE);
22b42ceebbSBryan O'Donoghue 	imx_wdog_power_down(WDOG2_BASE);
23b42ceebbSBryan O'Donoghue 	imx_wdog_power_down(WDOG3_BASE);
24b42ceebbSBryan O'Donoghue 	imx_wdog_power_down(WDOG4_BASE);
25b42ceebbSBryan O'Donoghue }
26