GNU Linux-libre 4.14.266-gnu1
[releases.git] / Documentation / devicetree / bindings / clock / sunxi-ccu.txt
1 Allwinner Clock Control Unit Binding
2 ------------------------------------
3
4 Required properties :
5 - compatible: must contain one of the following compatibles:
6                 - "allwinner,sun4i-a10-ccu"
7                 - "allwinner,sun5i-a10s-ccu"
8                 - "allwinner,sun5i-a13-ccu"
9                 - "allwinner,sun6i-a31-ccu"
10                 - "allwinner,sun7i-a20-ccu"
11                 - "allwinner,sun8i-a23-ccu"
12                 - "allwinner,sun8i-a33-ccu"
13                 - "allwinner,sun8i-a83t-ccu"
14                 - "allwinner,sun8i-a83t-r-ccu"
15                 - "allwinner,sun8i-h3-ccu"
16                 - "allwinner,sun8i-h3-r-ccu"
17 +               - "allwinner,sun8i-r40-ccu"
18                 - "allwinner,sun8i-v3s-ccu"
19                 - "allwinner,sun9i-a80-ccu"
20                 - "allwinner,sun50i-a64-ccu"
21                 - "allwinner,sun50i-a64-r-ccu"
22                 - "allwinner,sun50i-h5-ccu"
23                 - "allwinner,sun50i-h6-ccu"
24                 - "nextthing,gr8-ccu"
25
26 - reg: Must contain the registers base address and length
27 - clocks: phandle to the oscillators feeding the CCU. Two are needed:
28   - "hosc": the high frequency oscillator (usually at 24MHz)
29   - "losc": the low frequency oscillator (usually at 32kHz)
30             On the A83T, this is the internal 16MHz oscillator divided by 512
31 - clock-names: Must contain the clock names described just above
32 - #clock-cells : must contain 1
33 - #reset-cells : must contain 1
34
35 For the main CCU on H6, one more clock is needed:
36 - "iosc": the SoC's internal frequency oscillator
37
38 For the PRCM CCUs on A83T/H3/A64, two more clocks are needed:
39 - "pll-periph": the SoC's peripheral PLL from the main CCU
40 - "iosc": the SoC's internal frequency oscillator
41
42 Example for generic CCU:
43 ccu: clock@01c20000 {
44         compatible = "allwinner,sun8i-h3-ccu";
45         reg = <0x01c20000 0x400>;
46         clocks = <&osc24M>, <&osc32k>;
47         clock-names = "hosc", "losc";
48         #clock-cells = <1>;
49         #reset-cells = <1>;
50 };
51
52 Example for PRCM CCU:
53 r_ccu: clock@01f01400 {
54         compatible = "allwinner,sun50i-a64-r-ccu";
55         reg = <0x01f01400 0x100>;
56         clocks = <&osc24M>, <&osc32k>, <&iosc>, <&ccu CLK_PLL_PERIPH0>;
57         clock-names = "hosc", "losc", "iosc", "pll-periph";
58         #clock-cells = <1>;
59         #reset-cells = <1>;
60 };