Merge branch 'bind_unbind' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh...
[GitHub/LineageOS/android_kernel_motorola_exynos9610.git] / Documentation / devicetree / bindings / clock / sunxi-ccu.txt
CommitLineData
c0692d68
MR
1Allwinner Clock Control Unit Binding
2------------------------------------
3
4Required properties :
c6e6c96d
CYT
5- compatible: must contain one of the following compatibles:
6 - "allwinner,sun6i-a31-ccu"
5690879d 7 - "allwinner,sun8i-a23-ccu"
d05c748b 8 - "allwinner,sun8i-a33-ccu"
c0692d68 9 - "allwinner,sun8i-h3-ccu"
d4879bda 10 - "allwinner,sun8i-h3-r-ccu"
4a9decc9 11 - "allwinner,sun8i-v3s-ccu"
b8eb71dc 12 - "allwinner,sun9i-a80-ccu"
c6a06374 13 - "allwinner,sun50i-a64-ccu"
d4879bda 14 - "allwinner,sun50i-a64-r-ccu"
9be1c8af 15 - "allwinner,sun50i-h5-ccu"
c0692d68
MR
16
17- reg: Must contain the registers base address and length
18- clocks: phandle to the oscillators feeding the CCU. Two are needed:
19 - "hosc": the high frequency oscillator (usually at 24MHz)
20 - "losc": the low frequency oscillator (usually at 32kHz)
21- clock-names: Must contain the clock names described just above
22- #clock-cells : must contain 1
23- #reset-cells : must contain 1
24
a91afc97
CYT
25For the PRCM CCUs on H3/A64, two more clocks are needed:
26- "pll-periph": the SoC's peripheral PLL from the main CCU
d4879bda
IZ
27- "iosc": the SoC's internal frequency oscillator
28
29Example for generic CCU:
c0692d68
MR
30ccu: clock@01c20000 {
31 compatible = "allwinner,sun8i-h3-ccu";
32 reg = <0x01c20000 0x400>;
33 clocks = <&osc24M>, <&osc32k>;
34 clock-names = "hosc", "losc";
35 #clock-cells = <1>;
36 #reset-cells = <1>;
37};
d4879bda
IZ
38
39Example for PRCM CCU:
40r_ccu: clock@01f01400 {
41 compatible = "allwinner,sun50i-a64-r-ccu";
42 reg = <0x01f01400 0x100>;
a91afc97
CYT
43 clocks = <&osc24M>, <&osc32k>, <&iosc>, <&ccu CLK_PLL_PERIPH0>;
44 clock-names = "hosc", "losc", "iosc", "pll-periph";
d4879bda
IZ
45 #clock-cells = <1>;
46 #reset-cells = <1>;
47};