GNU Linux-libre 6.1.90-gnu
[releases.git] / Documentation / devicetree / bindings / clock / ti / composite.txt
1 Binding for TI composite clock.
2
3 Binding status: Unstable - ABI compatibility may be broken in the future
4
5 This binding uses the common clock binding[1]. It assumes a
6 register-mapped composite clock with multiple different sub-types;
7
8 a multiplexer clock with multiple input clock signals or parents, one
9 of which can be selected as output, this behaves exactly as [2]
10
11 an adjustable clock rate divider, this behaves exactly as [3]
12
13 a gating function which can be used to enable and disable the output
14 clock, this behaves exactly as [4]
15
16 The binding must provide a list of the component clocks that shall be
17 merged to this clock. The component clocks shall be of one of the
18 "ti,*composite*-clock" types.
19
20 [1] Documentation/devicetree/bindings/clock/clock-bindings.txt
21 [2] Documentation/devicetree/bindings/clock/ti/mux.txt
22 [3] Documentation/devicetree/bindings/clock/ti/divider.txt
23 [4] Documentation/devicetree/bindings/clock/ti/gate.txt
24
25 Required properties:
26 - compatible : shall be: "ti,composite-clock"
27 - clocks : link phandles of component clocks
28 - #clock-cells : from common clock binding; shall be set to 0.
29
30 Optional properties:
31 - clock-output-names : from common clock binding.
32
33 Examples:
34
35 usb_l4_gate_ick: usb_l4_gate_ick {
36         #clock-cells = <0>;
37         compatible = "ti,composite-interface-clock";
38         clocks = <&l4_ick>;
39         ti,bit-shift = <5>;
40         reg = <0x0a10>;
41 };
42
43 usb_l4_div_ick: usb_l4_div_ick {
44         #clock-cells = <0>;
45         compatible = "ti,composite-divider-clock";
46         clocks = <&l4_ick>;
47         ti,bit-shift = <4>;
48         ti,max-div = <1>;
49         reg = <0x0a40>;
50         ti,index-starts-at-one;
51 };
52
53 usb_l4_ick: usb_l4_ick {
54         #clock-cells = <0>;
55         compatible = "ti,composite-clock";
56         clocks = <&usb_l4_gate_ick>, <&usb_l4_div_ick>;
57 };