xref: /freebsd/sys/contrib/device-tree/Bindings/clock/ti/composite.txt (revision ebacd8013fe5f7fdf9f6a5b286f6680dd2891036)
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
30Optional properties:
31- clock-output-names : from common clock binding.
32
33Examples:
34
35usb_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
43usb_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
53usb_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};
58