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