Signed-off-by: Paolo Pisati <p.pisati@gmail.com>master
parent
3e16705d3e
commit
45a6d231b2
@ -0,0 +1,35 @@ |
||||
/*
|
||||
* Watchdog driver for Broadcom BCM2835 |
||||
* |
||||
* Copyright (C) 2017 Paolo Pisati <p.pisati@gmail.com> |
||||
* |
||||
* SPDX-License-Identifier: GPL-2.0 |
||||
*/ |
||||
|
||||
#include <common.h> |
||||
#include <efi_loader.h> |
||||
#include <asm/io.h> |
||||
#include <asm/arch/wdog.h> |
||||
|
||||
#define SECS_TO_WDOG_TICKS(x) ((x) << 16) |
||||
#define MAX_TIMEOUT 0xf /* ~15s */ |
||||
|
||||
static __efi_runtime_data bool enabled = true; |
||||
|
||||
extern void reset_cpu(ulong ticks); |
||||
|
||||
void hw_watchdog_reset(void) |
||||
{ |
||||
if (enabled) |
||||
reset_cpu(SECS_TO_WDOG_TICKS(MAX_TIMEOUT)); |
||||
} |
||||
|
||||
void hw_watchdog_init(void) |
||||
{ |
||||
hw_watchdog_reset(); |
||||
} |
||||
|
||||
void __efi_runtime hw_watchdog_disable(void) |
||||
{ |
||||
enabled = false; |
||||
} |
Loading…
Reference in new issue