Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
[cris-mirror.git] / Documentation / devicetree / bindings / pinctrl / marvell,armada-37xx-pinctrl.txt
blobc7c088d2dd503df005904b46a486d75e437e37e9
1 * Marvell Armada 37xx SoC pin and gpio controller
3 Each Armada 37xx SoC come with two pin and gpio controller one for the
4 south bridge and the other for the north bridge.
6 Inside this set of register the gpio latch allows exposing some
7 configuration of the SoC and especially the clock frequency of the
8 xtal. Hence, this node is a represent as syscon allowing sharing the
9 register between multiple hardware block.
11 GPIO and pin controller:
12 ------------------------
14 Main node:
16 Refer to pinctrl-bindings.txt in this directory for details of the
17 common pinctrl bindings used by client devices, including the meaning
18 of the phrase "pin configuration node".
20 Required properties for pinctrl driver:
22 - compatible:   "marvell,armada3710-sb-pinctrl", "syscon, "simple-mfd"
23                 for the south bridge
24                 "marvell,armada3710-nb-pinctrl", "syscon, "simple-mfd"
25                 for the north bridge
26 - reg: The first set of register are for pinctrl/gpio and the second
27   set for the interrupt controller
28 - interrupts: list of the interrupt use by the gpio
30 Available groups and functions for the North bridge:
32 group: jtag
33  - pins 20-24
34  - functions jtag, gpio
36 group sdio0
37  - pins 8-10
38  - functions sdio, gpio
40 group emmc_nb
41  - pins 27-35
42  - functions emmc, gpio
44 group pwm0
45  - pin 11 (GPIO1-11)
46  - functions pwm, gpio
48 group pwm1
49  - pin 12
50  - functions pwm, gpio
52 group pwm2
53  - pin 13
54  - functions pwm, gpio
56 group pwm3
57  - pin 14
58  - functions pwm, gpio
60 group pmic1
61  - pin 17
62  - functions pmic, gpio
64 group pmic0
65  - pin 16
66  - functions pmic, gpio
68 group i2c2
69  - pins 2-3
70  - functions i2c, gpio
72 group i2c1
73  - pins 0-1
74  - functions i2c, gpio
76 group spi_cs1
77  - pin 17
78  - functions spi, gpio
80 group spi_cs2
81  - pin 18
82  - functions spi, gpio
84 group spi_cs3
85  - pin 19
86  - functions spi, gpio
88 group onewire
89  - pin 4
90  - functions onewire, gpio
92 group uart1
93  - pins 25-26
94  - functions uart, gpio
96 group spi_quad
97  - pins 15-16
98  - functions spi, gpio
100 group uart2
101  - pins 9-10 and 18-19
102  - functions uart, gpio
104 Available groups and functions for the South bridge:
106 group usb32_drvvbus0
107  - pin 36
108  - functions drvbus, gpio
110 group usb2_drvvbus1
111  - pin 37
112  - functions drvbus, gpio
114 group sdio_sb
115  - pins 60-64
116  - functions sdio, gpio
118 group rgmii
119  - pins 42-55
120  - functions mii, gpio
122 group pcie1
123  - pins 39-40
124  - functions pcie, gpio
126 group ptp
127  - pins 56-58
128  - functions ptp, gpio
130 group ptp_clk
131  - pin 57
132  - functions ptp, mii
134 group ptp_trig
135  - pin 58
136  - functions ptp, mii
138 group mii_col
139  - pin 59
140  - functions mii, mii_err
142 GPIO subnode:
144 Please refer to gpio.txt in this directory for details of gpio-ranges property
145 and the common GPIO bindings used by client devices.
147 Required properties for gpio driver under the gpio subnode:
148 - interrupts: List of interrupt specifier for the controllers interrupt.
149 - gpio-controller: Marks the device node as a gpio controller.
150 - #gpio-cells: Should be 2. The first cell is the GPIO number and the
151    second cell specifies GPIO flags, as defined in
152    <dt-bindings/gpio/gpio.h>. Only the GPIO_ACTIVE_HIGH and
153    GPIO_ACTIVE_LOW flags are supported.
154 - gpio-ranges: Range of pins managed by the GPIO controller.
156 Xtal Clock bindings for Marvell Armada 37xx SoCs
157 ------------------------------------------------
159 see Documentation/devicetree/bindings/clock/armada3700-xtal-clock.txt
162 Example:
163 pinctrl_sb: pinctrl-sb@18800 {
164         compatible = "marvell,armada3710-sb-pinctrl", "syscon", "simple-mfd";
165         reg = <0x18800 0x100>, <0x18C00 0x20>;
166         gpio {
167                 #gpio-cells = <2>;
168                 gpio-ranges = <&pinctrl_sb 0 0 29>;
169                 gpio-controller;
170                 interrupts =
171                 <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>,
172                 <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>,
173                 <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>,
174                 <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>,
175                 <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>;
176         };
178         rgmii_pins: mii-pins {
179                 groups = "rgmii";
180                 function = "mii";
181         };