GNU Linux-libre 6.8.9-gnu
[releases.git] / Documentation / devicetree / bindings / rtc / ingenic,rtc.yaml
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/rtc/ingenic,rtc.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Ingenic SoCs Real-Time Clock
8
9 maintainers:
10   - Paul Cercueil <paul@crapouillou.net>
11
12 allOf:
13   - $ref: rtc.yaml#
14   - if:
15       not:
16         properties:
17           compatible:
18             contains:
19               enum:
20                 - ingenic,jz4770-rtc
21                 - ingenic,jz4780-rtc
22     then:
23       properties:
24         "#clock-cells": false
25
26 properties:
27   compatible:
28     oneOf:
29       - enum:
30           - ingenic,jz4740-rtc
31           - ingenic,jz4760-rtc
32       - items:
33           - const: ingenic,jz4725b-rtc
34           - const: ingenic,jz4740-rtc
35       - items:
36           - enum:
37               - ingenic,jz4770-rtc
38               - ingenic,jz4780-rtc
39           - const: ingenic,jz4760-rtc
40
41   reg:
42     maxItems: 1
43
44   interrupts:
45     maxItems: 1
46
47   clocks:
48     maxItems: 1
49
50   clock-names:
51     const: rtc
52
53   "#clock-cells":
54     const: 0
55
56   system-power-controller:
57     description: |
58       Indicates that the RTC is responsible for powering OFF
59       the system.
60     type: boolean
61
62   ingenic,reset-pin-assert-time-ms:
63     minimum: 0
64     maximum: 125
65     default: 60
66     description: |
67       Reset pin low-level assertion time after wakeup
68       (assuming RTC clock at 32 kHz)
69
70   ingenic,min-wakeup-pin-assert-time-ms:
71     minimum: 0
72     maximum: 2000
73     default: 100
74     description: |
75       Minimum wakeup pin assertion time
76       (assuming RTC clock at 32 kHz)
77
78 required:
79   - compatible
80   - reg
81   - interrupts
82   - clocks
83   - clock-names
84
85 unevaluatedProperties: false
86
87 examples:
88   - |
89     #include <dt-bindings/clock/ingenic,jz4740-cgu.h>
90     rtc_dev: rtc@10003000 {
91       compatible = "ingenic,jz4740-rtc";
92       reg = <0x10003000 0x40>;
93
94       interrupt-parent = <&intc>;
95       interrupts = <15>;
96
97       clocks = <&cgu JZ4740_CLK_RTC>;
98       clock-names = "rtc";
99     };
100
101   - |
102     #include <dt-bindings/clock/ingenic,jz4780-cgu.h>
103     rtc: rtc@10003000 {
104       compatible = "ingenic,jz4780-rtc", "ingenic,jz4760-rtc";
105       reg = <0x10003000 0x4c>;
106
107       interrupt-parent = <&intc>;
108       interrupts = <32>;
109
110       clocks = <&cgu JZ4780_CLK_RTCLK>;
111       clock-names = "rtc";
112
113       #clock-cells = <0>;
114     };