arm64: dts: qcom: sm8550: add TRNG node
[linux-modified.git] / Documentation / devicetree / bindings / watchdog / atmel,at91sam9-wdt.yaml
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 # Copyright (C) 2022 Microchip Technology, Inc. and its subsidiaries
3 %YAML 1.2
4 ---
5 $id: http://devicetree.org/schemas/watchdog/atmel,at91sam9-wdt.yaml#
6 $schema: http://devicetree.org/meta-schemas/core.yaml#
7
8 title: Atmel Watchdog Timers
9
10 maintainers:
11   - Eugen Hristev <eugen.hristev@microchip.com>
12
13 properties:
14   compatible:
15     const: atmel,at91sam9260-wdt
16
17   reg:
18     maxItems: 1
19
20   clocks:
21     maxItems: 1
22
23   interrupts:
24     maxItems: 1
25
26   atmel,max-heartbeat-sec:
27     description:
28       Should contain the maximum heartbeat value in seconds. This value
29       should be less or equal to 16. It is used to compute the WDV field.
30     maximum: 16
31
32   atmel,min-heartbeat-sec:
33     description:
34       Should contain the minimum heartbeat value in seconds. This value
35       must be smaller than the max-heartbeat-sec value. It is used to
36       compute the WDD field.
37     maximum: 16
38
39   atmel,watchdog-type:
40     $ref: /schemas/types.yaml#/definitions/string
41     description: |
42       Should be hardware or software.
43     oneOf:
44       - description:
45           Hardware watchdog uses the at91 watchdog reset.
46         const: hardware
47       - description: |
48           Software watchdog uses the watchdog interrupt
49           to trigger a software reset.
50         const: software
51     default: hardware
52
53   atmel,reset-type:
54     $ref: /schemas/types.yaml#/definitions/string
55     description: |
56       Should be proc or all. This is valid only when using hardware watchdog.
57     oneOf:
58       - description:
59           Assert peripherals and processor reset signals.
60         const: all
61       - description:
62           Assert the processor reset signal.
63         const: proc
64     default: all
65
66   atmel,disable:
67     $ref: /schemas/types.yaml#/definitions/flag
68     description:
69       Should be present if you want to stop the watchdog.
70
71   atmel,idle-halt:
72     $ref: /schemas/types.yaml#/definitions/flag
73     description: |
74       Should be present if you want to stop the watchdog when
75       entering idle state.
76       CAUTION: This property should be used with care, it actually makes the
77       watchdog not counting when the CPU is in idle state, therefore the
78       watchdog reset time depends on mean CPU usage and will not reset at all
79       if the CPU stops working while it is in idle state, which is probably
80       not what you want.
81
82   atmel,dbg-halt:
83     $ref: /schemas/types.yaml#/definitions/flag
84     description: |
85       Should be present if you want to stop the watchdog when
86       entering debug state.
87
88 required:
89   - compatible
90   - reg
91   - clocks
92
93 allOf:
94   - $ref: watchdog.yaml#
95   - if:
96       properties:
97         atmel,reset-type:
98           enum:
99             - all
100             - proc
101     then:
102       properties:
103         atmel,watchdog-type:
104           const: hardware
105
106 dependencies:
107   atmel,reset-type: ['atmel,watchdog-type']
108
109 unevaluatedProperties: false
110
111 examples:
112   - |
113     #include <dt-bindings/interrupt-controller/irq.h>
114
115     watchdog@fffffd40 {
116         compatible = "atmel,at91sam9260-wdt";
117         reg = <0xfffffd40 0x10>;
118         interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
119         clocks = <&clk32k>;
120         timeout-sec = <15>;
121         atmel,watchdog-type = "hardware";
122         atmel,reset-type = "all";
123         atmel,dbg-halt;
124         atmel,idle-halt;
125         atmel,max-heartbeat-sec = <16>;
126         atmel,min-heartbeat-sec = <0>;
127     };