xref: /rk3399_ARM-atf/plat/imx/common/imx_wdog.c (revision 09d40e0e08283a249e7dce0e106c07c5141f9b7e)
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 
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 
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