1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/clock/ingenic,cgu.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Ingenic SoCs CGU devicetree bindings
8
9 description: |
10 The CGU in an Ingenic SoC provides all the clocks generated on-chip. It
11 typically includes a variety of PLLs, multiplexers, dividers & gates in order
12 to provide many different clock signals derived from only 2 external source
13 clocks.
14
15 maintainers:
16 - Paul Cercueil <paul@crapouillou.net>
17
18 select:
19 properties:
20 compatible:
21 contains:
22 enum:
23 - ingenic,jz4740-cgu
24 - ingenic,jz4725b-cgu
25 - ingenic,jz4760-cgu
26 - ingenic,jz4760b-cgu
27 - ingenic,jz4770-cgu
28 - ingenic,jz4780-cgu
29 - ingenic,x1000-cgu
30 - ingenic,x1830-cgu
31 required:
32 - compatible
33
34 properties:
35 $nodename:
36 pattern: "^clock-controller@[0-9a-f]+$"
37
38 "#address-cells":
39 const: 1
40
41 "#size-cells":
42 const: 1
43
44 "#clock-cells":
45 const: 1
46
47 ranges: true
48
49 compatible:
50 items:
51 - enum:
52 - ingenic,jz4740-cgu
53 - ingenic,jz4725b-cgu
54 - ingenic,jz4760-cgu
55 - ingenic,jz4760b-cgu
56 - ingenic,jz4770-cgu
57 - ingenic,jz4780-cgu
58 - ingenic,x1000-cgu
59 - ingenic,x1830-cgu
60 - const: simple-mfd
61 minItems: 1
62
63 reg:
64 maxItems: 1
65
66 clocks:
67 items:
68 - description: External oscillator clock
69 - description: Internal 32 kHz RTC clock
70
71 clock-names:
72 items:
73 - const: ext
74 - enum:
75 - rtc
76 - osc32k # Different name, same clock
77
78 assigned-clocks:
79 minItems: 1
80 maxItems: 64
81
82 assigned-clock-parents:
83 minItems: 1
84 maxItems: 64
85
86 assigned-clock-rates:
87 minItems: 1
88 maxItems: 64
89
90 required:
91 - "#clock-cells"
92 - compatible
93 - reg
94 - clocks
95 - clock-names
96
97 patternProperties:
98 "^usb-phy@[a-f0-9]+$":
99 allOf: [ $ref: "../phy/ingenic,phy-usb.yaml#" ]
100 "^mac-phy-ctrl@[a-f0-9]+$":
101 allOf: [ $ref: "../net/ingenic,mac.yaml#" ]
102
103 additionalProperties: false
104
105 examples:
106 - |
107 #include <dt-bindings/clock/ingenic,jz4770-cgu.h>
108 cgu: clock-controller@10000000 {
109 compatible = "ingenic,jz4770-cgu", "simple-mfd";
110 reg = <0x10000000 0x100>;
111 #address-cells = <1>;
112 #size-cells = <1>;
113 ranges = <0x0 0x10000000 0x100>;
114
115 clocks = <&ext>, <&osc32k>;
116 clock-names = "ext", "osc32k";
117
118 #clock-cells = <1>;
119
120 otg_phy: usb-phy@3c {
121 compatible = "ingenic,jz4770-phy";
122 reg = <0x3c 0x10>;
123
124 clocks = <&cgu JZ4770_CLK_OTG_PHY>;
125
126 vcc-supply = <&ldo5>;
127
128 #phy-cells = <0>;
129 };
130 };
Cache object: f8117c49d48d704d75eec2070fe35f0a
|