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