mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-26 14:55:16 +00:00

The watchdog block on the IMX is mercifully simple. This patch maps the various registers and bits associated with the block. We are mostly only really interested in the power-down-enable (PDE) bits in the block for the purposes of ATF. The i.MX7 Solo Applications Processor Reference Manual details the PDE bit as follows: "Power Down Enable bit. Reset value of this bit is 1, which means the power down counter inside the WDOG is enabled after reset. The software must write 0 to this bit to disable the counter within 16 seconds of reset de-assertion. Once disabled this counter cannot be enabled again. See Power-down counter event for operation of this counter." This patch does that zero write in-lieu of later phases in the boot no-longer have the necessary permissions to rewrite the PDE bit directly. Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
24 lines
507 B
C
24 lines
507 B
C
/*
|
|
* Copyright (c) 2018, ARM Limited and Contributors. All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
|
|
#include <mmio.h>
|
|
#include <imx_regs.h>
|
|
#include <imx_wdog.h>
|
|
|
|
static void imx_wdog_power_down(unsigned long base)
|
|
{
|
|
struct wdog_regs *wdog = (struct wdog_regs *)base;
|
|
|
|
mmio_write_16((uintptr_t)&wdog->wmcr, 0);
|
|
}
|
|
|
|
void imx_wdog_init(void)
|
|
{
|
|
imx_wdog_power_down(WDOG1_BASE);
|
|
imx_wdog_power_down(WDOG2_BASE);
|
|
imx_wdog_power_down(WDOG3_BASE);
|
|
imx_wdog_power_down(WDOG4_BASE);
|
|
}
|