xref: /linux/Documentation/devicetree/bindings/rtc/allwinner,sun6i-a31-rtc.yaml (revision f5a336496e0f9aacb451b3b72eb44f78b3fe604c)
15a079759SMaxime Ripard# SPDX-License-Identifier: GPL-2.0
25a079759SMaxime Ripard%YAML 1.2
35a079759SMaxime Ripard---
45a079759SMaxime Ripard$id: http://devicetree.org/schemas/rtc/allwinner,sun6i-a31-rtc.yaml#
55a079759SMaxime Ripard$schema: http://devicetree.org/meta-schemas/core.yaml#
65a079759SMaxime Ripard
75a079759SMaxime Ripardtitle: Allwinner A31 RTC Device Tree Bindings
85a079759SMaxime Ripard
95a079759SMaxime Ripardmaintainers:
105a079759SMaxime Ripard  - Chen-Yu Tsai <wens@csie.org>
115a079759SMaxime Ripard  - Maxime Ripard <maxime.ripard@bootlin.com>
125a079759SMaxime Ripard
135a079759SMaxime Ripardproperties:
145a079759SMaxime Ripard  "#clock-cells":
155a079759SMaxime Ripard    const: 1
165a079759SMaxime Ripard
175a079759SMaxime Ripard  compatible:
185a079759SMaxime Ripard    oneOf:
195a079759SMaxime Ripard      - const: allwinner,sun6i-a31-rtc
205a079759SMaxime Ripard      - const: allwinner,sun8i-a23-rtc
215a079759SMaxime Ripard      - const: allwinner,sun8i-h3-rtc
225a079759SMaxime Ripard      - const: allwinner,sun8i-r40-rtc
235a079759SMaxime Ripard      - const: allwinner,sun8i-v3-rtc
245a079759SMaxime Ripard      - const: allwinner,sun50i-h5-rtc
255a079759SMaxime Ripard      - items:
265a079759SMaxime Ripard          - const: allwinner,sun50i-a64-rtc
275a079759SMaxime Ripard          - const: allwinner,sun8i-h3-rtc
285a079759SMaxime Ripard
295a079759SMaxime Ripard  reg:
305a079759SMaxime Ripard    maxItems: 1
315a079759SMaxime Ripard
325a079759SMaxime Ripard  interrupts:
33*f5a33649SMaxime Ripard    minItems: 1
34*f5a33649SMaxime Ripard    maxItems: 2
355a079759SMaxime Ripard    items:
365a079759SMaxime Ripard      - description: RTC Alarm 0
375a079759SMaxime Ripard      - description: RTC Alarm 1
385a079759SMaxime Ripard
395a079759SMaxime Ripard  clocks:
405a079759SMaxime Ripard    maxItems: 1
415a079759SMaxime Ripard
425a079759SMaxime Ripard  clock-output-names:
435a079759SMaxime Ripard    minItems: 1
445a079759SMaxime Ripard    maxItems: 3
455a079759SMaxime Ripard    description:
465a079759SMaxime Ripard      The RTC provides up to three clocks
475a079759SMaxime Ripard        - the Low Frequency Oscillator or LOSC, at index 0,
485a079759SMaxime Ripard        - the Low Frequency Oscillator External output (X32KFOUT in
495a079759SMaxime Ripard          the datasheet), at index 1,
505a079759SMaxime Ripard        - the Internal Oscillator, at index 2.
515a079759SMaxime Ripard
525a079759SMaxime RipardallOf:
535a079759SMaxime Ripard  - $ref: "rtc.yaml#"
545a079759SMaxime Ripard  - if:
555a079759SMaxime Ripard      properties:
565a079759SMaxime Ripard        compatible:
575a079759SMaxime Ripard          contains:
585a079759SMaxime Ripard            const: allwinner,sun6i-a31-rtc
595a079759SMaxime Ripard
605a079759SMaxime Ripard    then:
615a079759SMaxime Ripard      properties:
625a079759SMaxime Ripard        clock-output-names:
635a079759SMaxime Ripard          minItems: 1
645a079759SMaxime Ripard          maxItems: 1
655a079759SMaxime Ripard
665a079759SMaxime Ripard  - if:
675a079759SMaxime Ripard      properties:
685a079759SMaxime Ripard        compatible:
695a079759SMaxime Ripard          contains:
705a079759SMaxime Ripard            enum:
715a079759SMaxime Ripard              - allwinner,sun8i-a23-rtc
72*f5a33649SMaxime Ripard              - allwinner,sun8i-r40-rtc
735a079759SMaxime Ripard              - allwinner,sun8i-v3-rtc
745a079759SMaxime Ripard
755a079759SMaxime Ripard    then:
765a079759SMaxime Ripard      properties:
775a079759SMaxime Ripard        clock-output-names:
785a079759SMaxime Ripard          minItems: 2
795a079759SMaxime Ripard          maxItems: 2
805a079759SMaxime Ripard
815a079759SMaxime Ripard  - if:
825a079759SMaxime Ripard      properties:
835a079759SMaxime Ripard        compatible:
845a079759SMaxime Ripard          contains:
855a079759SMaxime Ripard            enum:
865a079759SMaxime Ripard              - allwinner,sun8i-h3-rtc
875a079759SMaxime Ripard              - allwinner,sun50i-h5-rtc
885a079759SMaxime Ripard
895a079759SMaxime Ripard    then:
905a079759SMaxime Ripard      properties:
915a079759SMaxime Ripard        clock-output-names:
925a079759SMaxime Ripard          minItems: 3
935a079759SMaxime Ripard          maxItems: 3
945a079759SMaxime Ripard
95*f5a33649SMaxime Ripard  - if:
96*f5a33649SMaxime Ripard      properties:
97*f5a33649SMaxime Ripard        compatible:
98*f5a33649SMaxime Ripard          contains:
99*f5a33649SMaxime Ripard            const: allwinner,sun8i-r40-rtc
100*f5a33649SMaxime Ripard
101*f5a33649SMaxime Ripard    then:
102*f5a33649SMaxime Ripard      properties:
103*f5a33649SMaxime Ripard        interrupts:
104*f5a33649SMaxime Ripard          minItems: 1
105*f5a33649SMaxime Ripard          maxItems: 1
106*f5a33649SMaxime Ripard
107*f5a33649SMaxime Ripard    else:
108*f5a33649SMaxime Ripard      properties:
109*f5a33649SMaxime Ripard        interrupts:
110*f5a33649SMaxime Ripard          minItems: 2
111*f5a33649SMaxime Ripard          maxItems: 2
112*f5a33649SMaxime Ripard
1135a079759SMaxime Ripardrequired:
1145a079759SMaxime Ripard  - "#clock-cells"
1155a079759SMaxime Ripard  - compatible
1165a079759SMaxime Ripard  - reg
1175a079759SMaxime Ripard  - interrupts
1185a079759SMaxime Ripard  - clocks
1195a079759SMaxime Ripard  - clock-output-names
1205a079759SMaxime Ripard
1215a079759SMaxime RipardadditionalProperties: false
1225a079759SMaxime Ripard
1235a079759SMaxime Ripardexamples:
1245a079759SMaxime Ripard  - |
1255a079759SMaxime Ripard    rtc: rtc@1f00000 {
1265a079759SMaxime Ripard        compatible = "allwinner,sun6i-a31-rtc";
1275a079759SMaxime Ripard        reg = <0x01f00000 0x400>;
1285a079759SMaxime Ripard        interrupts = <0 40 4>, <0 41 4>;
1295a079759SMaxime Ripard        clock-output-names = "osc32k";
1305a079759SMaxime Ripard        clocks = <&ext_osc32k>;
1315a079759SMaxime Ripard        #clock-cells = <1>;
1325a079759SMaxime Ripard    };
1335a079759SMaxime Ripard
1345a079759SMaxime Ripard...
135