xref: /freebsd-src/sys/contrib/device-tree/Bindings/rtc/allwinner,sun6i-a31-rtc.yaml (revision fac71e4e09885bb2afa3d984a0c239a52e1a7418)
1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0
2c66ec88fSEmmanuel Vadot%YAML 1.2
3c66ec88fSEmmanuel Vadot---
4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/rtc/allwinner,sun6i-a31-rtc.yaml#
5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6c66ec88fSEmmanuel Vadot
77ef62cebSEmmanuel Vadottitle: Allwinner A31 RTC
8c66ec88fSEmmanuel Vadot
9c66ec88fSEmmanuel Vadotmaintainers:
10c66ec88fSEmmanuel Vadot  - Chen-Yu Tsai <wens@csie.org>
11c66ec88fSEmmanuel Vadot  - Maxime Ripard <mripard@kernel.org>
12c66ec88fSEmmanuel Vadot
13c66ec88fSEmmanuel Vadotproperties:
14c66ec88fSEmmanuel Vadot  "#clock-cells":
15c66ec88fSEmmanuel Vadot    const: 1
16c66ec88fSEmmanuel Vadot
17c66ec88fSEmmanuel Vadot  compatible:
18c66ec88fSEmmanuel Vadot    oneOf:
19c9ccf3a3SEmmanuel Vadot      - enum:
20c9ccf3a3SEmmanuel Vadot          - allwinner,sun6i-a31-rtc
21c9ccf3a3SEmmanuel Vadot          - allwinner,sun8i-a23-rtc
22c9ccf3a3SEmmanuel Vadot          - allwinner,sun8i-h3-rtc
23c9ccf3a3SEmmanuel Vadot          - allwinner,sun8i-r40-rtc
24c9ccf3a3SEmmanuel Vadot          - allwinner,sun8i-v3-rtc
25c9ccf3a3SEmmanuel Vadot          - allwinner,sun50i-h5-rtc
26c9ccf3a3SEmmanuel Vadot          - allwinner,sun50i-h6-rtc
27c9ccf3a3SEmmanuel Vadot          - allwinner,sun50i-h616-rtc
28c9ccf3a3SEmmanuel Vadot          - allwinner,sun50i-r329-rtc
29c66ec88fSEmmanuel Vadot      - items:
30c66ec88fSEmmanuel Vadot          - const: allwinner,sun50i-a64-rtc
31c66ec88fSEmmanuel Vadot          - const: allwinner,sun8i-h3-rtc
32c9ccf3a3SEmmanuel Vadot      - items:
33c9ccf3a3SEmmanuel Vadot          - const: allwinner,sun20i-d1-rtc
34c9ccf3a3SEmmanuel Vadot          - const: allwinner,sun50i-r329-rtc
35c66ec88fSEmmanuel Vadot
36c66ec88fSEmmanuel Vadot  reg:
37c66ec88fSEmmanuel Vadot    maxItems: 1
38c66ec88fSEmmanuel Vadot
39c66ec88fSEmmanuel Vadot  interrupts:
40c66ec88fSEmmanuel Vadot    minItems: 1
41c66ec88fSEmmanuel Vadot    items:
42c66ec88fSEmmanuel Vadot      - description: RTC Alarm 0
43c66ec88fSEmmanuel Vadot      - description: RTC Alarm 1
44c66ec88fSEmmanuel Vadot
45c66ec88fSEmmanuel Vadot  clocks:
46c9ccf3a3SEmmanuel Vadot    minItems: 1
47c9ccf3a3SEmmanuel Vadot    maxItems: 4
48c9ccf3a3SEmmanuel Vadot
49c9ccf3a3SEmmanuel Vadot  clock-names:
50c9ccf3a3SEmmanuel Vadot    minItems: 1
51c9ccf3a3SEmmanuel Vadot    maxItems: 4
52c66ec88fSEmmanuel Vadot
53c66ec88fSEmmanuel Vadot  clock-output-names:
54c66ec88fSEmmanuel Vadot    minItems: 1
55c66ec88fSEmmanuel Vadot    maxItems: 3
56c66ec88fSEmmanuel Vadot    description:
57c66ec88fSEmmanuel Vadot      The RTC provides up to three clocks
58c66ec88fSEmmanuel Vadot        - the Low Frequency Oscillator or LOSC, at index 0,
59c66ec88fSEmmanuel Vadot        - the Low Frequency Oscillator External output (X32KFOUT in
60c66ec88fSEmmanuel Vadot          the datasheet), at index 1,
61c66ec88fSEmmanuel Vadot        - the Internal Oscillator, at index 2.
62c66ec88fSEmmanuel Vadot
63c66ec88fSEmmanuel VadotallOf:
64*fac71e4eSEmmanuel Vadot  - $ref: rtc.yaml#
65c66ec88fSEmmanuel Vadot  - if:
66c66ec88fSEmmanuel Vadot      properties:
67c66ec88fSEmmanuel Vadot        compatible:
68c66ec88fSEmmanuel Vadot          contains:
69c66ec88fSEmmanuel Vadot            const: allwinner,sun6i-a31-rtc
70c66ec88fSEmmanuel Vadot
71c66ec88fSEmmanuel Vadot    then:
72c66ec88fSEmmanuel Vadot      properties:
73c66ec88fSEmmanuel Vadot        clock-output-names:
74c66ec88fSEmmanuel Vadot          maxItems: 1
75c66ec88fSEmmanuel Vadot
76c66ec88fSEmmanuel Vadot  - if:
77c66ec88fSEmmanuel Vadot      properties:
78c66ec88fSEmmanuel Vadot        compatible:
79c66ec88fSEmmanuel Vadot          contains:
80c66ec88fSEmmanuel Vadot            enum:
81c66ec88fSEmmanuel Vadot              - allwinner,sun8i-a23-rtc
82c66ec88fSEmmanuel Vadot              - allwinner,sun8i-r40-rtc
83c66ec88fSEmmanuel Vadot              - allwinner,sun8i-v3-rtc
84c66ec88fSEmmanuel Vadot
85c66ec88fSEmmanuel Vadot    then:
86c66ec88fSEmmanuel Vadot      properties:
87c66ec88fSEmmanuel Vadot        clock-output-names:
88c66ec88fSEmmanuel Vadot          minItems: 2
89c66ec88fSEmmanuel Vadot          maxItems: 2
90c66ec88fSEmmanuel Vadot
91c66ec88fSEmmanuel Vadot  - if:
92c66ec88fSEmmanuel Vadot      properties:
93c66ec88fSEmmanuel Vadot        compatible:
94c66ec88fSEmmanuel Vadot          contains:
95c66ec88fSEmmanuel Vadot            enum:
96c66ec88fSEmmanuel Vadot              - allwinner,sun8i-h3-rtc
97c66ec88fSEmmanuel Vadot              - allwinner,sun50i-h5-rtc
98c9ccf3a3SEmmanuel Vadot              - allwinner,sun50i-h6-rtc
99c66ec88fSEmmanuel Vadot
100c66ec88fSEmmanuel Vadot    then:
101c66ec88fSEmmanuel Vadot      properties:
102c66ec88fSEmmanuel Vadot        clock-output-names:
103c66ec88fSEmmanuel Vadot          minItems: 3
104c66ec88fSEmmanuel Vadot
105c66ec88fSEmmanuel Vadot  - if:
106c66ec88fSEmmanuel Vadot      properties:
107c66ec88fSEmmanuel Vadot        compatible:
108c66ec88fSEmmanuel Vadot          contains:
109c9ccf3a3SEmmanuel Vadot            const: allwinner,sun50i-h616-rtc
110c66ec88fSEmmanuel Vadot
111c66ec88fSEmmanuel Vadot    then:
112c66ec88fSEmmanuel Vadot      properties:
113c9ccf3a3SEmmanuel Vadot        clocks:
114c9ccf3a3SEmmanuel Vadot          items:
115c9ccf3a3SEmmanuel Vadot            - description: Bus clock for register access
116c9ccf3a3SEmmanuel Vadot            - description: 24 MHz oscillator
117c9ccf3a3SEmmanuel Vadot            - description: 32 kHz clock from the CCU
118c9ccf3a3SEmmanuel Vadot
119c9ccf3a3SEmmanuel Vadot        clock-names:
120c9ccf3a3SEmmanuel Vadot          items:
121c9ccf3a3SEmmanuel Vadot            - const: bus
122c9ccf3a3SEmmanuel Vadot            - const: hosc
123c9ccf3a3SEmmanuel Vadot            - const: pll-32k
124c9ccf3a3SEmmanuel Vadot
125c9ccf3a3SEmmanuel Vadot      required:
126c9ccf3a3SEmmanuel Vadot        - clocks
127c9ccf3a3SEmmanuel Vadot        - clock-names
128c66ec88fSEmmanuel Vadot
129c66ec88fSEmmanuel Vadot  - if:
130c66ec88fSEmmanuel Vadot      properties:
131c66ec88fSEmmanuel Vadot        compatible:
132c66ec88fSEmmanuel Vadot          contains:
133c9ccf3a3SEmmanuel Vadot            const: allwinner,sun50i-r329-rtc
134c9ccf3a3SEmmanuel Vadot
135c9ccf3a3SEmmanuel Vadot    then:
136c9ccf3a3SEmmanuel Vadot      properties:
137c9ccf3a3SEmmanuel Vadot        clocks:
138c9ccf3a3SEmmanuel Vadot          minItems: 3
139c9ccf3a3SEmmanuel Vadot          items:
140c9ccf3a3SEmmanuel Vadot            - description: Bus clock for register access
141c9ccf3a3SEmmanuel Vadot            - description: 24 MHz oscillator
142c9ccf3a3SEmmanuel Vadot            - description: AHB parent for internal SPI clock
143c9ccf3a3SEmmanuel Vadot            - description: External 32768 Hz oscillator
144c9ccf3a3SEmmanuel Vadot
145c9ccf3a3SEmmanuel Vadot        clock-names:
146c9ccf3a3SEmmanuel Vadot          minItems: 3
147c9ccf3a3SEmmanuel Vadot          items:
148c9ccf3a3SEmmanuel Vadot            - const: bus
149c9ccf3a3SEmmanuel Vadot            - const: hosc
150c9ccf3a3SEmmanuel Vadot            - const: ahb
151c9ccf3a3SEmmanuel Vadot            - const: ext-osc32k
152c9ccf3a3SEmmanuel Vadot
153c9ccf3a3SEmmanuel Vadot      required:
154c9ccf3a3SEmmanuel Vadot        - clocks
155c9ccf3a3SEmmanuel Vadot        - clock-names
156c9ccf3a3SEmmanuel Vadot
157c9ccf3a3SEmmanuel Vadot  - if:
158c9ccf3a3SEmmanuel Vadot      properties:
159c9ccf3a3SEmmanuel Vadot        compatible:
160c9ccf3a3SEmmanuel Vadot          contains:
161c9ccf3a3SEmmanuel Vadot            enum:
162c9ccf3a3SEmmanuel Vadot              - allwinner,sun8i-r40-rtc
163c9ccf3a3SEmmanuel Vadot              - allwinner,sun50i-h616-rtc
164c9ccf3a3SEmmanuel Vadot              - allwinner,sun50i-r329-rtc
165c66ec88fSEmmanuel Vadot
166c66ec88fSEmmanuel Vadot    then:
167c66ec88fSEmmanuel Vadot      properties:
168c66ec88fSEmmanuel Vadot        interrupts:
169c66ec88fSEmmanuel Vadot          maxItems: 1
170c66ec88fSEmmanuel Vadot
171c66ec88fSEmmanuel Vadot    else:
172c66ec88fSEmmanuel Vadot      properties:
173c66ec88fSEmmanuel Vadot        interrupts:
174c66ec88fSEmmanuel Vadot          minItems: 2
175c66ec88fSEmmanuel Vadot
176c66ec88fSEmmanuel Vadotrequired:
177c66ec88fSEmmanuel Vadot  - "#clock-cells"
178c66ec88fSEmmanuel Vadot  - compatible
179c66ec88fSEmmanuel Vadot  - reg
180c66ec88fSEmmanuel Vadot  - interrupts
181c66ec88fSEmmanuel Vadot
182c66ec88fSEmmanuel VadotadditionalProperties: false
183c66ec88fSEmmanuel Vadot
184c66ec88fSEmmanuel Vadotexamples:
185c66ec88fSEmmanuel Vadot  - |
186c66ec88fSEmmanuel Vadot    rtc: rtc@1f00000 {
187c66ec88fSEmmanuel Vadot        compatible = "allwinner,sun6i-a31-rtc";
188c66ec88fSEmmanuel Vadot        reg = <0x01f00000 0x400>;
189c66ec88fSEmmanuel Vadot        interrupts = <0 40 4>, <0 41 4>;
190c66ec88fSEmmanuel Vadot        clock-output-names = "osc32k";
191c66ec88fSEmmanuel Vadot        clocks = <&ext_osc32k>;
192c66ec88fSEmmanuel Vadot        #clock-cells = <1>;
193c66ec88fSEmmanuel Vadot    };
194c66ec88fSEmmanuel Vadot
195c66ec88fSEmmanuel Vadot...
196