Commit 73d3e43f authored by Andre Przywara's avatar Andre Przywara Committed by Rob Herring

dt-bindings: watchdog: sp-805: Convert to Json-schema

Convert the ARM SP-805 watchdog IP DT binding over to Json-schema.

A straight-forward conversion, but the requirement for providing two
clocks got strengthened from "should" to "must".
Acked-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: default avatarAndre Przywara <andre.przywara@arm.com>
Link: https://lore.kernel.org/r/20200909105046.160991-1-andre.przywara@arm.comSigned-off-by: default avatarRob Herring <robh@kernel.org>
parent 488e5947
ARM AMBA Primecell SP805 Watchdog
SP805 WDT is a ARM Primecell Peripheral and has a standard-id register that
can be used to identify the peripheral type, vendor, and revision.
This value can be used for driver matching.
As SP805 WDT is a primecell IP, it follows the base bindings specified in
'arm/primecell.txt'
Required properties:
- compatible: Should be "arm,sp805" & "arm,primecell"
- reg: Should contain location and length for watchdog timer register
- clocks: Clocks driving the watchdog timer hardware. This list should be
2 clocks. With 2 clocks, the order is wdog_clk, apb_pclk
wdog_clk can be equal to or be a sub-multiple of the apb_pclk
frequency
- clock-names: Shall be "wdog_clk" for first clock and "apb_pclk" for the
second one
Optional properties:
- interrupts: Should specify WDT interrupt number
- timeout-sec: Should specify default WDT timeout in seconds. If unset, the
default timeout is determined by the driver
Example:
watchdog@66090000 {
compatible = "arm,sp805", "arm,primecell";
reg = <0x66090000 0x1000>;
interrupts = <GIC_SPI 406 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&wdt_clk>, <&apb_pclk>;
clock-names = "wdog_clk", "apb_pclk";
};
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/watchdog/arm,sp805.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: ARM AMBA Primecell SP805 Watchdog
maintainers:
- Viresh Kumar <vireshk@kernel.org>
description: |+
The Arm SP805 IP implements a watchdog device, which triggers an interrupt
after a configurable time period. If that interrupt has not been serviced
when the next interrupt would be triggered, the reset signal is asserted.
allOf:
- $ref: /schemas/watchdog/watchdog.yaml#
# Need a custom select here or 'arm,primecell' will match on lots of nodes
select:
properties:
compatible:
contains:
const: arm,sp805
required:
- compatible
properties:
compatible:
items:
- const: arm,sp805
- const: arm,primecell
interrupts:
maxItems: 1
reg:
maxItems: 1
clocks:
description: |
Clocks driving the watchdog timer hardware. The first clock is used
for the actual watchdog counter. The second clock drives the register
interface.
minItems: 2
maxItems: 2
clock-names:
items:
- const: wdog_clk
- const: apb_pclk
required:
- compatible
- reg
- clocks
- clock-names
unevaluatedProperties: false
examples:
- |
#include <dt-bindings/interrupt-controller/arm-gic.h>
watchdog@66090000 {
compatible = "arm,sp805", "arm,primecell";
reg = <0x66090000 0x1000>;
interrupts = <GIC_SPI 406 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&wdt_clk>, <&apb_pclk>;
clock-names = "wdog_clk", "apb_pclk";
};
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment