xref: /freebsd/sys/contrib/device-tree/Bindings/watchdog/samsung-wdt.yaml (revision 8d13bc63c0e1d50bc9e47ac1f26329c999bfecf0)
1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0
2c66ec88fSEmmanuel Vadot%YAML 1.2
3c66ec88fSEmmanuel Vadot---
4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/watchdog/samsung-wdt.yaml#
5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6c66ec88fSEmmanuel Vadot
7c66ec88fSEmmanuel Vadottitle: Samsung SoC Watchdog Timer Controller
8c66ec88fSEmmanuel Vadot
9c66ec88fSEmmanuel Vadotmaintainers:
10c66ec88fSEmmanuel Vadot  - Krzysztof Kozlowski <krzk@kernel.org>
11c66ec88fSEmmanuel Vadot
12c66ec88fSEmmanuel Vadotdescription: |+
13c66ec88fSEmmanuel Vadot  The Samsung's Watchdog controller is used for resuming system operation
14c66ec88fSEmmanuel Vadot  after a preset amount of time during which the WDT reset event has not
15c66ec88fSEmmanuel Vadot  occurred.
16c66ec88fSEmmanuel Vadot
17c66ec88fSEmmanuel Vadotproperties:
18c66ec88fSEmmanuel Vadot  compatible:
19*8d13bc63SEmmanuel Vadot    oneOf:
20*8d13bc63SEmmanuel Vadot      - enum:
21*8d13bc63SEmmanuel Vadot          - google,gs101-wdt                      # for Google gs101
22c66ec88fSEmmanuel Vadot          - samsung,s3c2410-wdt                   # for S3C2410
23c66ec88fSEmmanuel Vadot          - samsung,s3c6410-wdt                   # for S3C6410, S5PV210 and Exynos4
24c66ec88fSEmmanuel Vadot          - samsung,exynos5250-wdt                # for Exynos5250
25c66ec88fSEmmanuel Vadot          - samsung,exynos5420-wdt                # for Exynos5420
26c66ec88fSEmmanuel Vadot          - samsung,exynos7-wdt                   # for Exynos7
27e67e8565SEmmanuel Vadot          - samsung,exynos850-wdt                 # for Exynos850
287ef62cebSEmmanuel Vadot          - samsung,exynosautov9-wdt              # for Exynosautov9
29*8d13bc63SEmmanuel Vadot      - items:
30*8d13bc63SEmmanuel Vadot          - enum:
31*8d13bc63SEmmanuel Vadot              - tesla,fsd-wdt
32*8d13bc63SEmmanuel Vadot          - const: samsung,exynos7-wdt
33c66ec88fSEmmanuel Vadot
34c66ec88fSEmmanuel Vadot  reg:
35c66ec88fSEmmanuel Vadot    maxItems: 1
36c66ec88fSEmmanuel Vadot
37c66ec88fSEmmanuel Vadot  clocks:
38e67e8565SEmmanuel Vadot    minItems: 1
39e67e8565SEmmanuel Vadot    maxItems: 2
40c66ec88fSEmmanuel Vadot
41c66ec88fSEmmanuel Vadot  clock-names:
42e67e8565SEmmanuel Vadot    minItems: 1
43e67e8565SEmmanuel Vadot    maxItems: 2
44c66ec88fSEmmanuel Vadot
45c66ec88fSEmmanuel Vadot  interrupts:
46c66ec88fSEmmanuel Vadot    maxItems: 1
47c66ec88fSEmmanuel Vadot
48e67e8565SEmmanuel Vadot  samsung,cluster-index:
49e67e8565SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
50e67e8565SEmmanuel Vadot    description:
51*8d13bc63SEmmanuel Vadot      Index of CPU cluster on which watchdog is running (in case of Exynos850
52*8d13bc63SEmmanuel Vadot      or Google gs101).
53e67e8565SEmmanuel Vadot
54c66ec88fSEmmanuel Vadot  samsung,syscon-phandle:
55c66ec88fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle
56c66ec88fSEmmanuel Vadot    description:
57e67e8565SEmmanuel Vadot      Phandle to the PMU system controller node (in case of Exynos5250,
58*8d13bc63SEmmanuel Vadot      Exynos5420, Exynos7, Exynos850 and gs101).
59c66ec88fSEmmanuel Vadot
60c66ec88fSEmmanuel Vadotrequired:
61c66ec88fSEmmanuel Vadot  - compatible
62c66ec88fSEmmanuel Vadot  - clocks
63c66ec88fSEmmanuel Vadot  - clock-names
64c66ec88fSEmmanuel Vadot  - interrupts
65c66ec88fSEmmanuel Vadot  - reg
66c66ec88fSEmmanuel Vadot
67c66ec88fSEmmanuel VadotallOf:
68c66ec88fSEmmanuel Vadot  - $ref: watchdog.yaml#
69c66ec88fSEmmanuel Vadot  - if:
70c66ec88fSEmmanuel Vadot      properties:
71c66ec88fSEmmanuel Vadot        compatible:
72c66ec88fSEmmanuel Vadot          contains:
73c66ec88fSEmmanuel Vadot            enum:
74*8d13bc63SEmmanuel Vadot              - google,gs101-wdt
75c66ec88fSEmmanuel Vadot              - samsung,exynos5250-wdt
76c66ec88fSEmmanuel Vadot              - samsung,exynos5420-wdt
77e67e8565SEmmanuel Vadot              - samsung,exynos7-wdt
78e67e8565SEmmanuel Vadot              - samsung,exynos850-wdt
797ef62cebSEmmanuel Vadot              - samsung,exynosautov9-wdt
80c66ec88fSEmmanuel Vadot    then:
81c66ec88fSEmmanuel Vadot      required:
82c66ec88fSEmmanuel Vadot        - samsung,syscon-phandle
83e67e8565SEmmanuel Vadot  - if:
84e67e8565SEmmanuel Vadot      properties:
85e67e8565SEmmanuel Vadot        compatible:
86e67e8565SEmmanuel Vadot          contains:
87e67e8565SEmmanuel Vadot            enum:
88*8d13bc63SEmmanuel Vadot              - google,gs101-wdt
89e67e8565SEmmanuel Vadot              - samsung,exynos850-wdt
907ef62cebSEmmanuel Vadot              - samsung,exynosautov9-wdt
91e67e8565SEmmanuel Vadot    then:
92e67e8565SEmmanuel Vadot      properties:
93e67e8565SEmmanuel Vadot        clocks:
94e67e8565SEmmanuel Vadot          items:
95e67e8565SEmmanuel Vadot            - description: Bus clock, used for register interface
96e67e8565SEmmanuel Vadot            - description: Source clock (driving watchdog counter)
97e67e8565SEmmanuel Vadot        clock-names:
98e67e8565SEmmanuel Vadot          items:
99e67e8565SEmmanuel Vadot            - const: watchdog
100e67e8565SEmmanuel Vadot            - const: watchdog_src
101e67e8565SEmmanuel Vadot        samsung,cluster-index:
102e67e8565SEmmanuel Vadot          enum: [0, 1]
103e67e8565SEmmanuel Vadot      required:
104e67e8565SEmmanuel Vadot        - samsung,cluster-index
105e67e8565SEmmanuel Vadot    else:
106e67e8565SEmmanuel Vadot      properties:
107e67e8565SEmmanuel Vadot        clocks:
108e67e8565SEmmanuel Vadot          items:
109e67e8565SEmmanuel Vadot            - description: Bus clock, which is also a source clock
110e67e8565SEmmanuel Vadot        clock-names:
111e67e8565SEmmanuel Vadot          items:
112e67e8565SEmmanuel Vadot            - const: watchdog
113e67e8565SEmmanuel Vadot        samsung,cluster-index: false
114c66ec88fSEmmanuel Vadot
1156be33864SEmmanuel VadotunevaluatedProperties: false
1166be33864SEmmanuel Vadot
117c66ec88fSEmmanuel Vadotexamples:
118c66ec88fSEmmanuel Vadot  - |
119c66ec88fSEmmanuel Vadot    watchdog@101d0000 {
120c66ec88fSEmmanuel Vadot        compatible = "samsung,exynos5250-wdt";
121c66ec88fSEmmanuel Vadot        reg = <0x101D0000 0x100>;
122c66ec88fSEmmanuel Vadot        interrupts = <0 42 0>;
123c66ec88fSEmmanuel Vadot        clocks = <&clock 336>;
124c66ec88fSEmmanuel Vadot        clock-names = "watchdog";
125c66ec88fSEmmanuel Vadot        samsung,syscon-phandle = <&pmu_syscon>;
126c66ec88fSEmmanuel Vadot    };
127