mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-18 22:14:16 +00:00
watchdog: dt-bindings: atmel,at91sam9-wdt: convert to json-schema
Convert at91sam9 WDT binding for Atmel/Microchip SoCs to json-schema format. Signed-off-by: Sergiu Moga <sergiu.moga@microchip.com> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Reviewed-by: Guenter Roeck <linux@roeck-us.net> Link: https://lore.kernel.org/r/20220714125122.144377-1-sergiu.moga@microchip.com Signed-off-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
This commit is contained in:
parent
8007935305
commit
b24620608d
2 changed files with 127 additions and 51 deletions
|
@ -0,0 +1,127 @@
|
|||
# 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>;
|
||||
};
|
|
@ -1,51 +0,0 @@
|
|||
* Atmel Watchdog Timers
|
||||
|
||||
** at91sam9-wdt
|
||||
|
||||
Required properties:
|
||||
- compatible: must be "atmel,at91sam9260-wdt".
|
||||
- reg: physical base address of the controller and length of memory mapped
|
||||
region.
|
||||
- clocks: phandle to input clock.
|
||||
|
||||
Optional properties:
|
||||
- timeout-sec: contains the watchdog timeout in seconds.
|
||||
- interrupts : Should contain WDT interrupt.
|
||||
- atmel,max-heartbeat-sec : 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.
|
||||
- atmel,min-heartbeat-sec : 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.
|
||||
- atmel,watchdog-type : Should be "hardware" or "software". Hardware watchdog
|
||||
use the at91 watchdog reset. Software watchdog use the watchdog
|
||||
interrupt to trigger a software reset.
|
||||
- atmel,reset-type : Should be "proc" or "all".
|
||||
"all" : assert peripherals and processor reset signals
|
||||
"proc" : assert the processor reset signal
|
||||
This is valid only when using "hardware" watchdog.
|
||||
- atmel,disable : Should be present if you want to disable the watchdog.
|
||||
- atmel,idle-halt : 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 stop working while it is in idle state, which is probably
|
||||
not what you want.
|
||||
- atmel,dbg-halt : Should be present if you want to stop the watchdog when
|
||||
entering debug state.
|
||||
|
||||
Example:
|
||||
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>;
|
||||
};
|
Loading…
Add table
Reference in a new issue