diff options
Diffstat (limited to 'Documentation')
| -rw-r--r-- | Documentation/devicetree/bindings/clock/keystone-pll.txt | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/clock/keystone-pll.txt b/Documentation/devicetree/bindings/clock/keystone-pll.txt new file mode 100644 index 000000000000..12bd72605a31 --- /dev/null +++ b/Documentation/devicetree/bindings/clock/keystone-pll.txt | |||
| @@ -0,0 +1,84 @@ | |||
| 1 | Status: Unstable - ABI compatibility may be broken in the future | ||
| 2 | |||
| 3 | Binding for keystone PLLs. The main PLL IP typically has a multiplier, | ||
| 4 | a divider and a post divider. The additional PLL IPs like ARMPLL, DDRPLL | ||
| 5 | and PAPLL are controlled by the memory mapped register where as the Main | ||
| 6 | PLL is controlled by a PLL controller registers along with memory mapped | ||
| 7 | registers. | ||
| 8 | |||
| 9 | This binding uses the common clock binding[1]. | ||
| 10 | |||
| 11 | [1] Documentation/devicetree/bindings/clock/clock-bindings.txt | ||
| 12 | |||
| 13 | Required properties: | ||
| 14 | - #clock-cells : from common clock binding; shall be set to 0. | ||
| 15 | - compatible : shall be "ti,keystone,main-pll-clock" or "ti,keystone,pll-clock" | ||
| 16 | - clocks : parent clock phandle | ||
| 17 | - reg - pll control0 and pll multipler registers | ||
| 18 | - reg-names : control and multiplier. The multiplier is applicable only for | ||
| 19 | main pll clock | ||
| 20 | - fixed-postdiv : fixed post divider value | ||
| 21 | |||
| 22 | Example: | ||
| 23 | mainpllclk: mainpllclk@2310110 { | ||
| 24 | #clock-cells = <0>; | ||
| 25 | compatible = "ti,keystone,main-pll-clock"; | ||
| 26 | clocks = <&refclkmain>; | ||
| 27 | reg = <0x02620350 4>, <0x02310110 4>; | ||
| 28 | reg-names = "control", "multiplier"; | ||
| 29 | fixed-postdiv = <2>; | ||
| 30 | }; | ||
| 31 | |||
| 32 | papllclk: papllclk@2620358 { | ||
| 33 | #clock-cells = <0>; | ||
| 34 | compatible = "ti,keystone,pll-clock"; | ||
| 35 | clocks = <&refclkmain>; | ||
| 36 | clock-output-names = "pa-pll-clk"; | ||
| 37 | reg = <0x02620358 4>; | ||
| 38 | reg-names = "control"; | ||
| 39 | fixed-postdiv = <6>; | ||
| 40 | }; | ||
| 41 | |||
| 42 | Required properties: | ||
| 43 | - #clock-cells : from common clock binding; shall be set to 0. | ||
| 44 | - compatible : shall be "ti,keystone,pll-mux-clock" | ||
| 45 | - clocks : link phandles of parent clocks | ||
| 46 | - reg - pll mux register | ||
| 47 | - bit-shift : number of bits to shift the bit-mask | ||
| 48 | - bit-mask : arbitrary bitmask for programming the mux | ||
| 49 | |||
| 50 | Optional properties: | ||
| 51 | - clock-output-names : From common clock binding. | ||
| 52 | |||
| 53 | Example: | ||
| 54 | mainmuxclk: mainmuxclk@2310108 { | ||
| 55 | #clock-cells = <0>; | ||
| 56 | compatible = "ti,keystone,pll-mux-clock"; | ||
| 57 | clocks = <&mainpllclk>, <&refclkmain>; | ||
| 58 | reg = <0x02310108 4>; | ||
| 59 | bit-shift = <23>; | ||
| 60 | bit-mask = <1>; | ||
| 61 | clock-output-names = "mainmuxclk"; | ||
| 62 | }; | ||
| 63 | |||
| 64 | Required properties: | ||
| 65 | - #clock-cells : from common clock binding; shall be set to 0. | ||
| 66 | - compatible : shall be "ti,keystone,pll-divider-clock" | ||
| 67 | - clocks : parent clock phandle | ||
| 68 | - reg - pll mux register | ||
| 69 | - bit-shift : number of bits to shift the bit-mask | ||
| 70 | - bit-mask : arbitrary bitmask for programming the divider | ||
| 71 | |||
| 72 | Optional properties: | ||
| 73 | - clock-output-names : From common clock binding. | ||
| 74 | |||
| 75 | Example: | ||
| 76 | gemtraceclk: gemtraceclk@2310120 { | ||
| 77 | #clock-cells = <0>; | ||
| 78 | compatible = "ti,keystone,pll-divider-clock"; | ||
| 79 | clocks = <&mainmuxclk>; | ||
| 80 | reg = <0x02310120 4>; | ||
| 81 | bit-shift = <0>; | ||
| 82 | bit-mask = <8>; | ||
| 83 | clock-output-names = "gemtraceclk"; | ||
| 84 | }; | ||
