xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/clock/ti/autoidle.txt (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunBinding for Texas Instruments autoidle clock.
2*4882a593Smuzhiyun
3*4882a593SmuzhiyunBinding status: Unstable - ABI compatibility may be broken in the future
4*4882a593Smuzhiyun
5*4882a593SmuzhiyunThis binding uses the common clock binding[1]. It assumes a register mapped
6*4882a593Smuzhiyunclock which can be put to idle automatically by hardware based on the usage
7*4882a593Smuzhiyunand a configuration bit setting. Autoidle clock is never an individual
8*4882a593Smuzhiyunclock, it is always a derivative of some basic clock like a gate, divider,
9*4882a593Smuzhiyunor fixed-factor.
10*4882a593Smuzhiyun
11*4882a593Smuzhiyun[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
12*4882a593Smuzhiyun
13*4882a593SmuzhiyunRequired properties:
14*4882a593Smuzhiyun- reg : offset for the register controlling the autoidle
15*4882a593Smuzhiyun- ti,autoidle-shift : bit shift of the autoidle enable bit
16*4882a593Smuzhiyun- ti,invert-autoidle-bit : autoidle is enabled by setting the bit to 0
17*4882a593Smuzhiyun
18*4882a593SmuzhiyunExamples:
19*4882a593Smuzhiyun	dpll_core_m4_ck: dpll_core_m4_ck {
20*4882a593Smuzhiyun		#clock-cells = <0>;
21*4882a593Smuzhiyun		compatible = "ti,divider-clock";
22*4882a593Smuzhiyun		clocks = <&dpll_core_x2_ck>;
23*4882a593Smuzhiyun		ti,max-div = <31>;
24*4882a593Smuzhiyun		ti,autoidle-shift = <8>;
25*4882a593Smuzhiyun		reg = <0x2d38>;
26*4882a593Smuzhiyun		ti,index-starts-at-one;
27*4882a593Smuzhiyun		ti,invert-autoidle-bit;
28*4882a593Smuzhiyun	};
29*4882a593Smuzhiyun
30*4882a593Smuzhiyun	dpll_usb_clkdcoldo_ck: dpll_usb_clkdcoldo_ck {
31*4882a593Smuzhiyun		#clock-cells = <0>;
32*4882a593Smuzhiyun		compatible = "ti,fixed-factor-clock";
33*4882a593Smuzhiyun		clocks = <&dpll_usb_ck>;
34*4882a593Smuzhiyun		ti,clock-div = <1>;
35*4882a593Smuzhiyun		ti,autoidle-shift = <8>;
36*4882a593Smuzhiyun		reg = <0x01b4>;
37*4882a593Smuzhiyun		ti,clock-mult = <1>;
38*4882a593Smuzhiyun		ti,invert-autoidle-bit;
39*4882a593Smuzhiyun	};
40