Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[sfrench/cifs-2.6.git] / Documentation / devicetree / bindings / arm / marvell / ap806-system-controller.txt
1 Marvell Armada AP806 System Controller
2 ======================================
3
4 The AP806 is one of the two core HW blocks of the Marvell Armada 7K/8K
5 SoCs. It contains a system controller, which provides a number
6 registers giving access to numerous features: clocks, pin-muxing and
7 many other SoC configuration items. This DT binding allows to describe
8 this system controller.
9
10 For the top level node:
11  - compatible: must be: "syscon", "simple-mfd";
12   - reg: register area of the AP806 system controller
13
14 Clocks:
15 -------
16
17
18 The Device Tree node representing the AP806 system controller provides
19 a number of clocks:
20
21  - 0: clock of CPU cluster 0
22  - 1: clock of CPU cluster 1
23  - 2: fixed PLL at 1200 Mhz
24  - 3: MSS clock, derived from the fixed PLL
25
26 Required properties:
27
28  - compatible: must be: "marvell,ap806-clock"
29  - #clock-cells: must be set to 1
30
31 Pinctrl:
32 --------
33
34 For common binding part and usage, refer to
35 Documentation/devicetree/bindings/pinctrl/marvell,mvebu-pinctrl.txt.
36
37 Required properties:
38 - compatible must be "marvell,ap806-pinctrl",
39
40 Available mpp pins/groups and functions:
41 Note: brackets (x) are not part of the mpp name for marvell,function and given
42 only for more detailed description in this document.
43
44 name    pins    functions
45 ================================================================================
46 mpp0    0       gpio, sdio(clk), spi0(clk)
47 mpp1    1       gpio, sdio(cmd), spi0(miso)
48 mpp2    2       gpio, sdio(d0), spi0(mosi)
49 mpp3    3       gpio, sdio(d1), spi0(cs0n)
50 mpp4    4       gpio, sdio(d2), i2c0(sda)
51 mpp5    5       gpio, sdio(d3), i2c0(sdk)
52 mpp6    6       gpio, sdio(ds)
53 mpp7    7       gpio, sdio(d4), uart1(rxd)
54 mpp8    8       gpio, sdio(d5), uart1(txd)
55 mpp9    9       gpio, sdio(d6), spi0(cs1n)
56 mpp10   10      gpio, sdio(d7)
57 mpp11   11      gpio, uart0(txd)
58 mpp12   12      gpio, sdio(pw_off), sdio(hw_rst)
59 mpp13   13      gpio
60 mpp14   14      gpio
61 mpp15   15      gpio
62 mpp16   16      gpio
63 mpp17   17      gpio
64 mpp18   18      gpio
65 mpp19   19      gpio, uart0(rxd), sdio(pw_off)
66
67 GPIO:
68 -----
69 For common binding part and usage, refer to
70 Documentation/devicetree/bindings/gpio/gpio-mvebu.txt.
71
72 Required properties:
73
74 - compatible: "marvell,armada-8k-gpio"
75
76 - offset: offset address inside the syscon block
77
78 Example:
79 ap_syscon: system-controller@6f4000 {
80         compatible = "syscon", "simple-mfd";
81         reg = <0x6f4000 0x1000>;
82
83         ap_clk: clock {
84                 compatible = "marvell,ap806-clock";
85                 #clock-cells = <1>;
86         };
87
88         ap_pinctrl: pinctrl {
89                 compatible = "marvell,ap806-pinctrl";
90         };
91
92         ap_gpio: gpio {
93                 compatible = "marvell,armada-8k-gpio";
94                 offset = <0x1040>;
95                 ngpios = <19>;
96                 gpio-controller;
97                 #gpio-cells = <2>;
98                 gpio-ranges = <&ap_pinctrl 0 0 19>;
99         };
100 };