1# SPDX-License-Identifier: GPL-2.0
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/clock/allwinner,sun4i-a10-usb-clk.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Allwinner A10 USB Clock
8
9maintainers:
10  - Chen-Yu Tsai <wens@csie.org>
11  - Maxime Ripard <mripard@kernel.org>
12
13deprecated: true
14
15properties:
16  "#clock-cells":
17    const: 1
18    description: >
19      The additional ID argument passed to the clock shall refer to
20      the index of the output.
21
22  "#reset-cells":
23    const: 1
24
25  compatible:
26    enum:
27      - allwinner,sun4i-a10-usb-clk
28      - allwinner,sun5i-a13-usb-clk
29      - allwinner,sun6i-a31-usb-clk
30      - allwinner,sun8i-a23-usb-clk
31      - allwinner,sun8i-h3-usb-clk
32
33  reg:
34    maxItems: 1
35
36  clocks:
37    maxItems: 1
38
39  clock-output-names:
40    minItems: 2
41    maxItems: 8
42
43required:
44  - "#clock-cells"
45  - "#reset-cells"
46  - compatible
47  - reg
48  - clocks
49  - clock-output-names
50
51additionalProperties: false
52
53allOf:
54  - if:
55      properties:
56        compatible:
57          contains:
58            const: allwinner,sun4i-a10-usb-clk
59
60    then:
61      properties:
62        clock-output-names:
63          maxItems: 3
64
65  - if:
66      properties:
67        compatible:
68          contains:
69            const: allwinner,sun5i-a13-usb-clk
70
71    then:
72      properties:
73        clock-output-names:
74          maxItems: 2
75
76  - if:
77      properties:
78        compatible:
79          contains:
80            const: allwinner,sun6i-a31-usb-clk
81
82    then:
83      properties:
84        clock-output-names:
85          maxItems: 6
86
87  - if:
88      properties:
89        compatible:
90          contains:
91            const: allwinner,sun8i-a23-usb-clk
92
93    then:
94      properties:
95        clock-output-names:
96          maxItems: 5
97
98  - if:
99      properties:
100        compatible:
101          contains:
102            const: allwinner,sun8i-h3-usb-clk
103
104    then:
105      properties:
106        clock-output-names:
107          maxItems: 8
108
109examples:
110  - |
111    clk@1c200cc {
112        #clock-cells = <1>;
113        #reset-cells = <1>;
114        compatible = "allwinner,sun4i-a10-usb-clk";
115        reg = <0x01c200cc 0x4>;
116        clocks = <&pll6 1>;
117        clock-output-names = "usb_ohci0", "usb_ohci1", "usb_phy";
118    };
119
120  - |
121    clk@1c200cc {
122        #clock-cells = <1>;
123        #reset-cells = <1>;
124        compatible = "allwinner,sun5i-a13-usb-clk";
125        reg = <0x01c200cc 0x4>;
126        clocks = <&pll6 1>;
127        clock-output-names = "usb_ohci0", "usb_phy";
128    };
129
130  - |
131    clk@1c200cc {
132        #clock-cells = <1>;
133        #reset-cells = <1>;
134        compatible = "allwinner,sun6i-a31-usb-clk";
135        reg = <0x01c200cc 0x4>;
136        clocks = <&osc24M>;
137        clock-output-names = "usb_phy0", "usb_phy1", "usb_phy2",
138                             "usb_ohci0", "usb_ohci1",
139                             "usb_ohci2";
140    };
141
142  - |
143    clk@1c200cc {
144        #clock-cells = <1>;
145        #reset-cells = <1>;
146        compatible = "allwinner,sun8i-a23-usb-clk";
147        reg = <0x01c200cc 0x4>;
148        clocks = <&osc24M>;
149        clock-output-names = "usb_phy0", "usb_phy1", "usb_hsic",
150                             "usb_hsic_12M", "usb_ohci0";
151    };
152
153  - |
154    clk@1c200cc {
155        #clock-cells = <1>;
156        #reset-cells = <1>;
157        compatible = "allwinner,sun8i-h3-usb-clk";
158        reg = <0x01c200cc 0x4>;
159        clocks = <&osc24M>;
160        clock-output-names = "usb_phy0", "usb_phy1",
161                             "usb_phy2", "usb_phy3",
162                             "usb_ohci0", "usb_ohci1",
163                             "usb_ohci2", "usb_ohci3";
164    };
165
166...
167