File Index
Files and directories
Sign in
FILE

allwinner,sun6i-a31-rtc.yaml

File preview with syntax highlighting.

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