xref: /openbmc/u-boot/doc/device-tree-bindings/pinctrl/marvell,armada-37xx-pinctrl.txt (revision f3b623fa52ce5c67732ea2d789d5e21667e88db3)
1*65b2e668SKen Ma* Marvell Armada 37xx SoC pin and GPIO controller
2*65b2e668SKen Ma
3*65b2e668SKen MaEach Armada 37xx SoC comes with two pin and GPIO controllers, one for the
4*65b2e668SKen MaSouth Bridge and the other for the North Bridge.
5*65b2e668SKen Ma
6*65b2e668SKen MaGPIO and pin controller:
7*65b2e668SKen Ma------------------------
8*65b2e668SKen Ma
9*65b2e668SKen MaMain node:
10*65b2e668SKen Ma
11*65b2e668SKen MaRefer to pinctrl-bindings.txt in this directory for details of the
12*65b2e668SKen Macommon pinctrl bindings used by client devices, including the meaning
13*65b2e668SKen Maof the phrase "pin configuration node".
14*65b2e668SKen Ma
15*65b2e668SKen MaRequired properties for pinctrl driver:
16*65b2e668SKen Ma
17*65b2e668SKen Ma- compatible:	"marvell,armada3710-sb-pinctrl", "syscon, "simple-mfd"
18*65b2e668SKen Ma		for the South Bridge
19*65b2e668SKen Ma		"marvell,armada3710-nb-pinctrl", "syscon, "simple-mfd"
20*65b2e668SKen Ma		for the North Bridge
21*65b2e668SKen Ma- reg: The first set of registers is for pinctrl/GPIO and the second
22*65b2e668SKen Ma  set is for the interrupt controller
23*65b2e668SKen Ma- interrupts: list of interrupts used by the GPIO
24*65b2e668SKen Ma
25*65b2e668SKen MaAvailable groups and functions for the North Bridge:
26*65b2e668SKen Ma
27*65b2e668SKen Magroup: jtag
28*65b2e668SKen Ma - pins 20-24
29*65b2e668SKen Ma - functions jtag, gpio
30*65b2e668SKen Ma
31*65b2e668SKen Magroup sdio0
32*65b2e668SKen Ma - pins 8-10
33*65b2e668SKen Ma - functions sdio, gpio
34*65b2e668SKen Ma
35*65b2e668SKen Magroup emmc_nb
36*65b2e668SKen Ma - pins 27-35
37*65b2e668SKen Ma - functions emmc, gpio
38*65b2e668SKen Ma
39*65b2e668SKen Magroup pwm0
40*65b2e668SKen Ma - pin 11 (GPIO1-11)
41*65b2e668SKen Ma - functions pwm, gpio
42*65b2e668SKen Ma
43*65b2e668SKen Magroup pwm1
44*65b2e668SKen Ma - pin 12
45*65b2e668SKen Ma - functions pwm, gpio
46*65b2e668SKen Ma
47*65b2e668SKen Magroup pwm2
48*65b2e668SKen Ma - pin 13
49*65b2e668SKen Ma - functions pwm, gpio
50*65b2e668SKen Ma
51*65b2e668SKen Magroup pwm3
52*65b2e668SKen Ma - pin 14
53*65b2e668SKen Ma - functions pwm, gpio
54*65b2e668SKen Ma
55*65b2e668SKen Magroup pmic1
56*65b2e668SKen Ma - pin 7
57*65b2e668SKen Ma - functions pmic, gpio
58*65b2e668SKen Ma
59*65b2e668SKen Magroup pmic0
60*65b2e668SKen Ma - pin 6
61*65b2e668SKen Ma - functions pmic, gpio
62*65b2e668SKen Ma
63*65b2e668SKen Magroup i2c2
64*65b2e668SKen Ma - pins 2-3
65*65b2e668SKen Ma - functions i2c, gpio
66*65b2e668SKen Ma
67*65b2e668SKen Magroup i2c1
68*65b2e668SKen Ma - pins 0-1
69*65b2e668SKen Ma - functions i2c, gpio
70*65b2e668SKen Ma
71*65b2e668SKen Magroup spi_cs1
72*65b2e668SKen Ma - pin 17
73*65b2e668SKen Ma - functions spi, gpio
74*65b2e668SKen Ma
75*65b2e668SKen Magroup spi_cs2
76*65b2e668SKen Ma - pin 18
77*65b2e668SKen Ma - functions spi, gpio
78*65b2e668SKen Ma
79*65b2e668SKen Magroup spi_cs3
80*65b2e668SKen Ma - pin 19
81*65b2e668SKen Ma - functions spi, gpio
82*65b2e668SKen Ma
83*65b2e668SKen Magroup onewire
84*65b2e668SKen Ma - pin 4
85*65b2e668SKen Ma - functions onewire, gpio
86*65b2e668SKen Ma
87*65b2e668SKen Magroup uart1
88*65b2e668SKen Ma - pins 25-26
89*65b2e668SKen Ma - functions uart, gpio
90*65b2e668SKen Ma
91*65b2e668SKen Magroup spi_quad
92*65b2e668SKen Ma - pins 15-16
93*65b2e668SKen Ma - functions spi, gpio
94*65b2e668SKen Ma
95*65b2e668SKen Magroup uart_2
96*65b2e668SKen Ma - pins 9-10
97*65b2e668SKen Ma - functions uart, gpio
98*65b2e668SKen Ma
99*65b2e668SKen MaAvailable groups and functions for the South Bridge:
100*65b2e668SKen Ma
101*65b2e668SKen Magroup usb32_drvvbus0
102*65b2e668SKen Ma - pin 36
103*65b2e668SKen Ma - functions drvbus, gpio
104*65b2e668SKen Ma
105*65b2e668SKen Magroup usb2_drvvbus1
106*65b2e668SKen Ma - pin 37
107*65b2e668SKen Ma - functions drvbus, gpio
108*65b2e668SKen Ma
109*65b2e668SKen Magroup sdio_sb
110*65b2e668SKen Ma - pins 60-65
111*65b2e668SKen Ma - functions sdio, gpio
112*65b2e668SKen Ma
113*65b2e668SKen Magroup rgmii
114*65b2e668SKen Ma - pins 42-53
115*65b2e668SKen Ma - functions mii, gpio
116*65b2e668SKen Ma
117*65b2e668SKen Magroup pcie1
118*65b2e668SKen Ma - pins 39-41
119*65b2e668SKen Ma - functions pcie, gpio
120*65b2e668SKen Ma
121*65b2e668SKen Magroup smi
122*65b2e668SKen Ma - pins 54-55
123*65b2e668SKen Ma - functions smi, gpio
124*65b2e668SKen Ma
125*65b2e668SKen Magroup ptp
126*65b2e668SKen Ma - pins 56-58
127*65b2e668SKen Ma - functions ptp, gpio
128*65b2e668SKen Ma
129*65b2e668SKen Magroup ptp_clk
130*65b2e668SKen Ma - pin 57
131*65b2e668SKen Ma - functions ptp, mii
132*65b2e668SKen Ma
133*65b2e668SKen Magroup ptp_trig
134*65b2e668SKen Ma - pin 58
135*65b2e668SKen Ma - functions ptp, mii
136*65b2e668SKen Ma
137*65b2e668SKen Magroup mii_col
138*65b2e668SKen Ma - pin 59
139*65b2e668SKen Ma - functions mii, mii_err
140*65b2e668SKen Ma
141*65b2e668SKen MaGPIO subnode:
142*65b2e668SKen Ma
143*65b2e668SKen MaPlease refer to gpio.txt in "gpio" directory for details of gpio-ranges property
144*65b2e668SKen Maand the common GPIO bindings used by client devices.
145*65b2e668SKen Ma
146*65b2e668SKen MaRequired properties for the GPIO driver under the gpio subnode:
147*65b2e668SKen Ma- interrupts: List of interrupt specifiers for the controllers interrupt.
148*65b2e668SKen Ma- gpio-controller: Marks the device node as a GPIO controller.
149*65b2e668SKen Ma- #gpio-cells: Should be 2. The first cell is the GPIO number and the
150*65b2e668SKen Ma   second cell specifies GPIO flags, as defined in
151*65b2e668SKen Ma   <dt-bindings/gpio/gpio.h>. Only the GPIO_ACTIVE_HIGH and
152*65b2e668SKen Ma   GPIO_ACTIVE_LOW flags are supported.
153*65b2e668SKen Ma- gpio-ranges: Range of pins managed by the GPIO controller.
154*65b2e668SKen Ma
155*65b2e668SKen MaExample:
156*65b2e668SKen Mapinctrl_sb: pinctrl-sb@18800 {
157*65b2e668SKen Ma	compatible = "marvell,armada3710-sb-pinctrl",
158*65b2e668SKen Ma	"syscon", "simple-mfd";
159*65b2e668SKen Ma	reg = <0x18800 0x100>, <0x18C00 0x20>;
160*65b2e668SKen Ma	gpiosb: gpiosb {
161*65b2e668SKen Ma		#gpio-cells = <2>;
162*65b2e668SKen Ma		gpio-ranges = <&pinctrl_sb 0 0 30>;
163*65b2e668SKen Ma		gpio-controller;
164*65b2e668SKen Ma		interrupts =
165*65b2e668SKen Ma		<GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>,
166*65b2e668SKen Ma		<GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>,
167*65b2e668SKen Ma		<GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>,
168*65b2e668SKen Ma		<GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>,
169*65b2e668SKen Ma		<GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>;
170*65b2e668SKen Ma	};
171*65b2e668SKen Ma
172*65b2e668SKen Ma	rgmii_pins: mii-pins {
173*65b2e668SKen Ma		groups = "rgmii";
174*65b2e668SKen Ma		function = "mii";
175*65b2e668SKen Ma	};
176*65b2e668SKen Ma
177*65b2e668SKen Ma	sdio_pins: sdio-pins {
178*65b2e668SKen Ma		groups = "sdio_sb";
179*65b2e668SKen Ma		function = "sdio";
180*65b2e668SKen Ma	};
181*65b2e668SKen Ma
182*65b2e668SKen Ma	pcie_pins: pcie-pins {
183*65b2e668SKen Ma		groups = "pcie1";
184*65b2e668SKen Ma		function = "pcie";
185*65b2e668SKen Ma	};
186*65b2e668SKen Ma};