1975e1548STero KristoBinding for TI composite clock.
2975e1548STero Kristo
3975e1548STero KristoBinding status: Unstable - ABI compatibility may be broken in the future
4975e1548STero Kristo
5975e1548STero KristoThis binding uses the common clock binding[1]. It assumes a
6975e1548STero Kristoregister-mapped composite clock with multiple different sub-types;
7975e1548STero Kristo
8975e1548STero Kristoa multiplexer clock with multiple input clock signals or parents, one
9975e1548STero Kristoof which can be selected as output, this behaves exactly as [2]
10975e1548STero Kristo
11975e1548STero Kristoan adjustable clock rate divider, this behaves exactly as [3]
12975e1548STero Kristo
13975e1548STero Kristoa gating function which can be used to enable and disable the output
14975e1548STero Kristoclock, this behaves exactly as [4]
15975e1548STero Kristo
16975e1548STero KristoThe binding must provide a list of the component clocks that shall be
17975e1548STero Kristomerged to this clock. The component clocks shall be of one of the
18975e1548STero Kristo"ti,*composite*-clock" types.
19975e1548STero Kristo
20975e1548STero Kristo[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
21975e1548STero Kristo[2] Documentation/devicetree/bindings/clock/ti/mux.txt
22975e1548STero Kristo[3] Documentation/devicetree/bindings/clock/ti/divider.txt
23975e1548STero Kristo[4] Documentation/devicetree/bindings/clock/ti/gate.txt
24975e1548STero Kristo
25975e1548STero KristoRequired properties:
26975e1548STero Kristo- compatible : shall be: "ti,composite-clock"
27975e1548STero Kristo- clocks : link phandles of component clocks
28975e1548STero Kristo- #clock-cells : from common clock binding; shall be set to 0.
29975e1548STero Kristo
30*fc3d39d5STony LindgrenOptional properties:
31*fc3d39d5STony Lindgren- clock-output-names : from common clock binding.
32*fc3d39d5STony Lindgren
33975e1548STero KristoExamples:
34975e1548STero Kristo
35975e1548STero Kristousb_l4_gate_ick: usb_l4_gate_ick {
36975e1548STero Kristo	#clock-cells = <0>;
37975e1548STero Kristo	compatible = "ti,composite-interface-clock";
38975e1548STero Kristo	clocks = <&l4_ick>;
39975e1548STero Kristo	ti,bit-shift = <5>;
40975e1548STero Kristo	reg = <0x0a10>;
41975e1548STero Kristo};
42975e1548STero Kristo
43975e1548STero Kristousb_l4_div_ick: usb_l4_div_ick {
44975e1548STero Kristo	#clock-cells = <0>;
45975e1548STero Kristo	compatible = "ti,composite-divider-clock";
46975e1548STero Kristo	clocks = <&l4_ick>;
47975e1548STero Kristo	ti,bit-shift = <4>;
48975e1548STero Kristo	ti,max-div = <1>;
49975e1548STero Kristo	reg = <0x0a40>;
50975e1548STero Kristo	ti,index-starts-at-one;
51975e1548STero Kristo};
52975e1548STero Kristo
53975e1548STero Kristousb_l4_ick: usb_l4_ick {
54975e1548STero Kristo	#clock-cells = <0>;
55975e1548STero Kristo	compatible = "ti,composite-clock";
56975e1548STero Kristo	clocks = <&usb_l4_gate_ick>, <&usb_l4_div_ick>;
57975e1548STero Kristo};
58