xref: /freebsd/sys/contrib/device-tree/Bindings/clock/ti/composite.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1Binding for TI composite clock.
2
3Binding status: Unstable - ABI compatibility may be broken in the future
4
5This binding uses the common clock binding[1]. It assumes a
6register-mapped composite clock with multiple different sub-types;
7
8a multiplexer clock with multiple input clock signals or parents, one
9of which can be selected as output, this behaves exactly as [2]
10
11an adjustable clock rate divider, this behaves exactly as [3]
12
13a gating function which can be used to enable and disable the output
14clock, this behaves exactly as [4]
15
16The binding must provide a list of the component clocks that shall be
17merged 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
25Required 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
30Examples:
31
32usb_l4_gate_ick: usb_l4_gate_ick {
33	#clock-cells = <0>;
34	compatible = "ti,composite-interface-clock";
35	clocks = <&l4_ick>;
36	ti,bit-shift = <5>;
37	reg = <0x0a10>;
38};
39
40usb_l4_div_ick: usb_l4_div_ick {
41	#clock-cells = <0>;
42	compatible = "ti,composite-divider-clock";
43	clocks = <&l4_ick>;
44	ti,bit-shift = <4>;
45	ti,max-div = <1>;
46	reg = <0x0a40>;
47	ti,index-starts-at-one;
48};
49
50usb_l4_ick: usb_l4_ick {
51	#clock-cells = <0>;
52	compatible = "ti,composite-clock";
53	clocks = <&usb_l4_gate_ick>, <&usb_l4_div_ick>;
54};
55