sunxi.txt 2.7 KB
Newer Older
1 2 3 4 5 6 7 8
Device Tree Clock bindings for arch-sunxi

This binding uses the common clock binding[1].

[1] Documentation/devicetree/bindings/clock/clock-bindings.txt

Required properties:
- compatible : shall be one of the following:
9 10
	"allwinner,sun4i-osc-clk" - for a gatable oscillator
	"allwinner,sun4i-pll1-clk" - for the main PLL clock
11
	"allwinner,sun6i-a31-pll1-clk" - for the main PLL clock on A31
12 13
	"allwinner,sun4i-cpu-clk" - for the CPU multiplexer clock
	"allwinner,sun4i-axi-clk" - for the AXI clock
14
	"allwinner,sun4i-axi-gates-clk" - for the AXI gates
15
	"allwinner,sun4i-ahb-clk" - for the AHB clock
16 17
	"allwinner,sun4i-ahb-gates-clk" - for the AHB gates on A10
	"allwinner,sun5i-a13-ahb-gates-clk" - for the AHB gates on A13
M
Maxime Ripard 已提交
18
	"allwinner,sun5i-a10s-ahb-gates-clk" - for the AHB gates on A10s
19 20
	"allwinner,sun6i-a31-ahb1-mux-clk" - for the AHB1 multiplexer on A31
	"allwinner,sun6i-a31-ahb1-gates-clk" - for the AHB1 gates on A31
21
	"allwinner,sun4i-apb0-clk" - for the APB0 clock
22 23
	"allwinner,sun4i-apb0-gates-clk" - for the APB0 gates on A10
	"allwinner,sun5i-a13-apb0-gates-clk" - for the APB0 gates on A13
M
Maxime Ripard 已提交
24
	"allwinner,sun5i-a10s-apb0-gates-clk" - for the APB0 gates on A10s
25 26
	"allwinner,sun4i-apb1-clk" - for the APB1 clock
	"allwinner,sun4i-apb1-mux-clk" - for the APB1 clock muxing
27 28
	"allwinner,sun4i-apb1-gates-clk" - for the APB1 gates on A10
	"allwinner,sun5i-a13-apb1-gates-clk" - for the APB1 gates on A13
M
Maxime Ripard 已提交
29
	"allwinner,sun5i-a10s-apb1-gates-clk" - for the APB1 gates on A10s
30 31 32
	"allwinner,sun6i-a31-apb1-gates-clk" - for the APB1 gates on A31
	"allwinner,sun6i-a31-apb2-div-clk" - for the APB2 gates on A31
	"allwinner,sun6i-a31-apb2-gates-clk" - for the APB2 gates on A31
33 34 35 36

Required properties for all clocks:
- reg : shall be the control register address for the clock.
- clocks : shall be the input parent clock(s) phandle for the clock
37
- #clock-cells : from common clock binding; shall be set to 0 except for
38
	"allwinner,*-gates-clk" where it shall be set to 1
39

40
Additionally, "allwinner,*-gates-clk" clocks require:
41
- clock-output-names : the corresponding gate names that the clock controls
42

43 44 45 46 47
Clock consumers should specify the desired clocks they use with a
"clocks" phandle cell. Consumers that are using a gated clock should
provide an additional ID in their clock property. The values of this
ID are documented in sunxi/<soc>-gates.txt.

48 49 50 51
For example:

osc24M: osc24M@01c20050 {
	#clock-cells = <0>;
52
	compatible = "allwinner,sun4i-osc-clk";
53 54 55 56 57 58
	reg = <0x01c20050 0x4>;
	clocks = <&osc24M_fixed>;
};

pll1: pll1@01c20000 {
	#clock-cells = <0>;
59
	compatible = "allwinner,sun4i-pll1-clk";
60 61 62 63 64 65
	reg = <0x01c20000 0x4>;
	clocks = <&osc24M>;
};

cpu: cpu@01c20054 {
	#clock-cells = <0>;
66
	compatible = "allwinner,sun4i-cpu-clk";
67 68 69
	reg = <0x01c20054 0x4>;
	clocks = <&osc32k>, <&osc24M>, <&pll1>;
};