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:
“allwinner,sun4i-osc-clk” - for a gatable oscillator
“allwinner,sun4i-pll1-clk” - for the main PLL clock
“allwinner,sun4i-cpu-clk” - for the CPU multiplexer clock
“allwinner,sun4i-axi-clk” - for the AXI clock
“allwinner,sun4i-axi-gates-clk” - for the AXI gates
“allwinner,sun4i-ahb-clk” - for the AHB clock
“allwinner,sun4i-ahb-gates-clk” - for the AHB gates
“allwinner,sun4i-apb0-clk” - for the APB0 clock
“allwinner,sun4i-apb0-gates-clk” - for the APB0 gates
“allwinner,sun4i-apb1-clk” - for the APB1 clock
“allwinner,sun4i-apb1-mux-clk” - for the APB1 clock muxing
“allwinner,sun4i-apb1-gates-clk” - for the APB1 gates
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
- #clock-cells : from common clock binding; shall be set to 0 except for
“allwinner,sun4i-*-gates-clk” where it shall be set to 1
Additionally, “allwinner,sun4i-*-gates-clk” clocks require:
- clock-output-names : the corresponding gate names that the clock controls
For example:
osc24M: osc24M@01c20050 {
#clock-cells = <0>;
compatible = “allwinner,sun4i-osc-clk”;
reg = <0x01c20050 0x4>;
clocks = <&osc24M_fixed>;
};
pll1: pll1@01c20000 {
#clock-cells = <0>;
compatible = “allwinner,sun4i-pll1-clk”;
reg = <0x01c20000 0x4>;
clocks = <&osc24M>;
};
cpu: cpu@01c20054 {
#clock-cells = <0>;
compatible = “allwinner,sun4i-cpu-clk”;
reg = <0x01c20054 0x4>;
clocks = <&osc32k>, <&osc24M>, <&pll1>;
};
Gate clock outputs
The “allwinner,sun4i-*-gates-clk” clocks provide several gatable outputs;
their corresponding offsets as present on sun4i are listed below. Note that
some of these gates are not present on sun5i.
AXI gates (“allwinner,sun4i-axi-gates-clk”)
DRAM 0
AHB gates (“allwinner,sun4i-ahb-gates-clk”)
USB0 0
EHCI0 1
OHCI0 2*
EHCI1 3
OHCI1 4*
SS 5
DMA 6
BIST 7
MMC0 8
MMC1 9
MMC2 10
MMC3 11
MS 12**
NAND 13
SDRAM 14ACE 16
EMAC 17
TS 18SPI0 20
SPI1 21
SPI2 22
SPI3 23
PATA 24
SATA 25**
GPS 26*VE 32
TVD 33
TVE0 34
TVE1 35
LCD0 36
LCD1 37CSI0 40
CSI1 41HDMI 43
DE_BE0 44
DE_BE1 45
DE_FE0 46
DE_FE1 47MP 50
MALI400 52
APB0 gates (“allwinner,sun4i-apb0-gates-clk”)
CODEC 0
SPDIF 1*
AC97 2
IIS 3PIO 5
IR0 6
IR1 7KEYPAD 10
APB1 gates (“allwinner,sun4i-apb1-gates-clk”)
I2C0 0
I2C1 1
I2C2 2CAN 4
SCR 5
PS20 6
PS21 7UART0 16
UART1 17
UART2 18
UART3 19
UART4 20
UART5 21
UART6 22
UART7 23
Notation:
[*]: The datasheet didn’t mention these, but they are present on AW code
[**]: The datasheet had this marked as “NC” but they are used on AW code