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