xref: /freebsd/sys/contrib/device-tree/Bindings/clock/ti/autoidle.txt (revision 01950c46b8155250f64374fb72fc11faa44bf099)
1*c66ec88fSEmmanuel VadotBinding for Texas Instruments autoidle clock.
2*c66ec88fSEmmanuel Vadot
3*c66ec88fSEmmanuel VadotThis binding uses the common clock binding[1]. It assumes a register mapped
4*c66ec88fSEmmanuel Vadotclock which can be put to idle automatically by hardware based on the usage
5*c66ec88fSEmmanuel Vadotand a configuration bit setting. Autoidle clock is never an individual
6*c66ec88fSEmmanuel Vadotclock, it is always a derivative of some basic clock like a gate, divider,
7*c66ec88fSEmmanuel Vadotor fixed-factor.
8*c66ec88fSEmmanuel Vadot
9*c66ec88fSEmmanuel Vadot[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
10*c66ec88fSEmmanuel Vadot
11*c66ec88fSEmmanuel VadotRequired properties:
12*c66ec88fSEmmanuel Vadot- reg : offset for the register controlling the autoidle
13*c66ec88fSEmmanuel Vadot- ti,autoidle-shift : bit shift of the autoidle enable bit
14*c66ec88fSEmmanuel Vadot- ti,invert-autoidle-bit : autoidle is enabled by setting the bit to 0
15*c66ec88fSEmmanuel Vadot
16*c66ec88fSEmmanuel VadotExamples:
17*c66ec88fSEmmanuel Vadot	dpll_core_m4_ck: dpll_core_m4_ck {
18*c66ec88fSEmmanuel Vadot		#clock-cells = <0>;
19*c66ec88fSEmmanuel Vadot		compatible = "ti,divider-clock";
20*c66ec88fSEmmanuel Vadot		clocks = <&dpll_core_x2_ck>;
21*c66ec88fSEmmanuel Vadot		ti,max-div = <31>;
22*c66ec88fSEmmanuel Vadot		ti,autoidle-shift = <8>;
23*c66ec88fSEmmanuel Vadot		reg = <0x2d38>;
24*c66ec88fSEmmanuel Vadot		ti,index-starts-at-one;
25*c66ec88fSEmmanuel Vadot		ti,invert-autoidle-bit;
26*c66ec88fSEmmanuel Vadot	};
27*c66ec88fSEmmanuel Vadot
28*c66ec88fSEmmanuel Vadot	dpll_usb_clkdcoldo_ck: dpll_usb_clkdcoldo_ck {
29*c66ec88fSEmmanuel Vadot		#clock-cells = <0>;
30*c66ec88fSEmmanuel Vadot		compatible = "ti,fixed-factor-clock";
31*c66ec88fSEmmanuel Vadot		clocks = <&dpll_usb_ck>;
32*c66ec88fSEmmanuel Vadot		ti,clock-div = <1>;
33*c66ec88fSEmmanuel Vadot		ti,autoidle-shift = <8>;
34*c66ec88fSEmmanuel Vadot		reg = <0x01b4>;
35*c66ec88fSEmmanuel Vadot		ti,clock-mult = <1>;
36*c66ec88fSEmmanuel Vadot		ti,invert-autoidle-bit;
37*c66ec88fSEmmanuel Vadot	};
38