xref: /linux/Documentation/devicetree/bindings/clock/allwinner,sun55i-a523-ccu.yaml (revision c1e102f349bee5ae73e326339ea45daff4847b71)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/clock/allwinner,sun55i-a523-ccu.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Allwinner A523 Clock Control Unit
8
9maintainers:
10  - Andre Przywara <andre.przywara@arm.com>
11
12properties:
13  "#clock-cells":
14    const: 1
15
16  "#reset-cells":
17    const: 1
18
19  compatible:
20    enum:
21      - allwinner,sun55i-a523-ccu
22      - allwinner,sun55i-a523-mcu-ccu
23      - allwinner,sun55i-a523-r-ccu
24
25  reg:
26    maxItems: 1
27
28  clocks:
29    minItems: 4
30    maxItems: 9
31
32  clock-names:
33    minItems: 4
34    maxItems: 9
35
36required:
37  - "#clock-cells"
38  - "#reset-cells"
39  - compatible
40  - reg
41  - clocks
42  - clock-names
43
44allOf:
45  - if:
46      properties:
47        compatible:
48          enum:
49            - allwinner,sun55i-a523-ccu
50
51    then:
52      properties:
53        clocks:
54          items:
55            - description: High Frequency Oscillator (usually at 24MHz)
56            - description: Low Frequency Oscillator (usually at 32kHz)
57            - description: Internal Oscillator
58            - description: Low Frequency Oscillator fanout
59
60        clock-names:
61          items:
62            - const: hosc
63            - const: losc
64            - const: iosc
65            - const: losc-fanout
66
67  - if:
68      properties:
69        compatible:
70          enum:
71            - allwinner,sun55i-a523-mcu-ccu
72
73    then:
74      properties:
75        clocks:
76          items:
77            - description: High Frequency Oscillator (usually at 24MHz)
78            - description: Low Frequency Oscillator (usually at 32kHz)
79            - description: Internal Oscillator
80            - description: Audio PLL (4x)
81            - description: Peripherals PLL 0 (300 MHz output)
82            - description: DSP module clock
83            - description: MBUS clock
84            - description: PRCM AHB clock
85            - description: PRCM APB0 clock
86
87        clock-names:
88          items:
89            - const: hosc
90            - const: losc
91            - const: iosc
92            - const: pll-audio0-4x
93            - const: pll-periph0-300m
94            - const: dsp
95            - const: mbus
96            - const: r-ahb
97            - const: r-apb0
98
99  - if:
100      properties:
101        compatible:
102          enum:
103            - allwinner,sun55i-a523-r-ccu
104
105    then:
106      properties:
107        clocks:
108          items:
109            - description: High Frequency Oscillator (usually at 24MHz)
110            - description: Low Frequency Oscillator (usually at 32kHz)
111            - description: Internal Oscillator
112            - description: Peripherals PLL
113            - description: Audio PLL
114
115        clock-names:
116          items:
117            - const: hosc
118            - const: losc
119            - const: iosc
120            - const: pll-periph
121            - const: pll-audio
122
123additionalProperties: false
124
125examples:
126  - |
127    clock-controller@2001000 {
128        compatible = "allwinner,sun55i-a523-ccu";
129        reg = <0x02001000 0x1000>;
130        clocks = <&osc24M>, <&osc32k>, <&iosc>, <&r_ccu 1>;
131        clock-names = "hosc", "losc", "iosc", "losc-fanout";
132        #clock-cells = <1>;
133        #reset-cells = <1>;
134    };
135
136...
137