128 lines
3.3 KiB
YAML
128 lines
3.3 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
# Copyright (C) 2022 Microchip Technology, Inc. and its subsidiaries
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/watchdog/atmel,at91sam9-wdt.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Atmel Watchdog Timers
|
|
|
|
maintainers:
|
|
- Eugen Hristev <eugen.hristev@microchip.com>
|
|
|
|
properties:
|
|
compatible:
|
|
const: atmel,at91sam9260-wdt
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
clocks:
|
|
maxItems: 1
|
|
|
|
interrupts:
|
|
maxItems: 1
|
|
|
|
atmel,max-heartbeat-sec:
|
|
description:
|
|
Should contain the maximum heartbeat value in seconds. This value
|
|
should be less or equal to 16. It is used to compute the WDV field.
|
|
maximum: 16
|
|
|
|
atmel,min-heartbeat-sec:
|
|
description:
|
|
Should contain the minimum heartbeat value in seconds. This value
|
|
must be smaller than the max-heartbeat-sec value. It is used to
|
|
compute the WDD field.
|
|
maximum: 16
|
|
|
|
atmel,watchdog-type:
|
|
$ref: /schemas/types.yaml#/definitions/string
|
|
description: |
|
|
Should be hardware or software.
|
|
oneOf:
|
|
- description:
|
|
Hardware watchdog uses the at91 watchdog reset.
|
|
const: hardware
|
|
- description: |
|
|
Software watchdog uses the watchdog interrupt
|
|
to trigger a software reset.
|
|
const: software
|
|
default: hardware
|
|
|
|
atmel,reset-type:
|
|
$ref: /schemas/types.yaml#/definitions/string
|
|
description: |
|
|
Should be proc or all. This is valid only when using hardware watchdog.
|
|
oneOf:
|
|
- description:
|
|
Assert peripherals and processor reset signals.
|
|
const: all
|
|
- description:
|
|
Assert the processor reset signal.
|
|
const: proc
|
|
default: all
|
|
|
|
atmel,disable:
|
|
$ref: /schemas/types.yaml#/definitions/flag
|
|
description:
|
|
Should be present if you want to stop the watchdog.
|
|
|
|
atmel,idle-halt:
|
|
$ref: /schemas/types.yaml#/definitions/flag
|
|
description: |
|
|
Should be present if you want to stop the watchdog when
|
|
entering idle state.
|
|
CAUTION: This property should be used with care, it actually makes the
|
|
watchdog not counting when the CPU is in idle state, therefore the
|
|
watchdog reset time depends on mean CPU usage and will not reset at all
|
|
if the CPU stops working while it is in idle state, which is probably
|
|
not what you want.
|
|
|
|
atmel,dbg-halt:
|
|
$ref: /schemas/types.yaml#/definitions/flag
|
|
description: |
|
|
Should be present if you want to stop the watchdog when
|
|
entering debug state.
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- clocks
|
|
|
|
allOf:
|
|
- $ref: watchdog.yaml#
|
|
- if:
|
|
properties:
|
|
atmel,reset-type:
|
|
enum:
|
|
- all
|
|
- proc
|
|
then:
|
|
properties:
|
|
atmel,watchdog-type:
|
|
const: hardware
|
|
|
|
dependencies:
|
|
atmel,reset-type: ['atmel,watchdog-type']
|
|
|
|
unevaluatedProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/interrupt-controller/irq.h>
|
|
|
|
watchdog@fffffd40 {
|
|
compatible = "atmel,at91sam9260-wdt";
|
|
reg = <0xfffffd40 0x10>;
|
|
interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
|
|
clocks = <&clk32k>;
|
|
timeout-sec = <15>;
|
|
atmel,watchdog-type = "hardware";
|
|
atmel,reset-type = "all";
|
|
atmel,dbg-halt;
|
|
atmel,idle-halt;
|
|
atmel,max-heartbeat-sec = <16>;
|
|
atmel,min-heartbeat-sec = <0>;
|
|
};
|