xref: /freebsd/sys/contrib/device-tree/src/arm/marvell/armada-370.dtsi (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*f126890aSEmmanuel Vadot/*
3*f126890aSEmmanuel Vadot * Device Tree Include file for Marvell Armada 370 family SoC
4*f126890aSEmmanuel Vadot *
5*f126890aSEmmanuel Vadot * Copyright (C) 2012 Marvell
6*f126890aSEmmanuel Vadot *
7*f126890aSEmmanuel Vadot * Lior Amsalem <alior@marvell.com>
8*f126890aSEmmanuel Vadot * Gregory CLEMENT <gregory.clement@free-electrons.com>
9*f126890aSEmmanuel Vadot * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
10*f126890aSEmmanuel Vadot *
11*f126890aSEmmanuel Vadot * Contains definitions specific to the Armada 370 SoC that are not
12*f126890aSEmmanuel Vadot * common to all Armada SoCs.
13*f126890aSEmmanuel Vadot */
14*f126890aSEmmanuel Vadot
15*f126890aSEmmanuel Vadot#include "armada-370-xp.dtsi"
16*f126890aSEmmanuel Vadot
17*f126890aSEmmanuel Vadot/ {
18*f126890aSEmmanuel Vadot	#address-cells = <1>;
19*f126890aSEmmanuel Vadot	#size-cells = <1>;
20*f126890aSEmmanuel Vadot
21*f126890aSEmmanuel Vadot	model = "Marvell Armada 370 family SoC";
22*f126890aSEmmanuel Vadot	compatible = "marvell,armada370", "marvell,armada-370-xp";
23*f126890aSEmmanuel Vadot
24*f126890aSEmmanuel Vadot	aliases {
25*f126890aSEmmanuel Vadot		gpio0 = &gpio0;
26*f126890aSEmmanuel Vadot		gpio1 = &gpio1;
27*f126890aSEmmanuel Vadot		gpio2 = &gpio2;
28*f126890aSEmmanuel Vadot	};
29*f126890aSEmmanuel Vadot
30*f126890aSEmmanuel Vadot	soc {
31*f126890aSEmmanuel Vadot		compatible = "marvell,armada370-mbus", "simple-bus";
32*f126890aSEmmanuel Vadot
33*f126890aSEmmanuel Vadot		bootrom {
34*f126890aSEmmanuel Vadot			compatible = "marvell,bootrom";
35*f126890aSEmmanuel Vadot			reg = <MBUS_ID(0x01, 0xe0) 0 0x100000>;
36*f126890aSEmmanuel Vadot		};
37*f126890aSEmmanuel Vadot
38*f126890aSEmmanuel Vadot		pciec: pcie@82000000 {
39*f126890aSEmmanuel Vadot			compatible = "marvell,armada-370-pcie";
40*f126890aSEmmanuel Vadot			status = "disabled";
41*f126890aSEmmanuel Vadot			device_type = "pci";
42*f126890aSEmmanuel Vadot
43*f126890aSEmmanuel Vadot			#address-cells = <3>;
44*f126890aSEmmanuel Vadot			#size-cells = <2>;
45*f126890aSEmmanuel Vadot
46*f126890aSEmmanuel Vadot			msi-parent = <&mpic>;
47*f126890aSEmmanuel Vadot			bus-range = <0x00 0xff>;
48*f126890aSEmmanuel Vadot
49*f126890aSEmmanuel Vadot			ranges =
50*f126890aSEmmanuel Vadot			       <0x82000000 0 0x40000 MBUS_ID(0xf0, 0x01) 0x40000 0 0x00002000
51*f126890aSEmmanuel Vadot				0x82000000 0 0x80000 MBUS_ID(0xf0, 0x01) 0x80000 0 0x00002000
52*f126890aSEmmanuel Vadot				0x82000000 0x1 0     MBUS_ID(0x04, 0xe8) 0       1 0 /* Port 0.0 MEM */
53*f126890aSEmmanuel Vadot				0x81000000 0x1 0     MBUS_ID(0x04, 0xe0) 0       1 0 /* Port 0.0 IO  */
54*f126890aSEmmanuel Vadot				0x82000000 0x2 0     MBUS_ID(0x08, 0xe8) 0       1 0 /* Port 1.0 MEM */
55*f126890aSEmmanuel Vadot				0x81000000 0x2 0     MBUS_ID(0x08, 0xe0) 0       1 0 /* Port 1.0 IO  */>;
56*f126890aSEmmanuel Vadot
57*f126890aSEmmanuel Vadot			pcie0: pcie@1,0 {
58*f126890aSEmmanuel Vadot				device_type = "pci";
59*f126890aSEmmanuel Vadot				assigned-addresses = <0x82000800 0 0x40000 0 0x2000>;
60*f126890aSEmmanuel Vadot				reg = <0x0800 0 0 0 0>;
61*f126890aSEmmanuel Vadot				#address-cells = <3>;
62*f126890aSEmmanuel Vadot				#size-cells = <2>;
63*f126890aSEmmanuel Vadot				interrupt-names = "intx";
64*f126890aSEmmanuel Vadot				interrupts-extended = <&mpic 58>;
65*f126890aSEmmanuel Vadot				#interrupt-cells = <1>;
66*f126890aSEmmanuel Vadot                                ranges = <0x82000000 0 0 0x82000000 0x1 0 1 0
67*f126890aSEmmanuel Vadot                                          0x81000000 0 0 0x81000000 0x1 0 1 0>;
68*f126890aSEmmanuel Vadot				bus-range = <0x00 0xff>;
69*f126890aSEmmanuel Vadot				interrupt-map-mask = <0 0 0 7>;
70*f126890aSEmmanuel Vadot				interrupt-map = <0 0 0 1 &pcie0_intc 0>,
71*f126890aSEmmanuel Vadot						<0 0 0 2 &pcie0_intc 1>,
72*f126890aSEmmanuel Vadot						<0 0 0 3 &pcie0_intc 2>,
73*f126890aSEmmanuel Vadot						<0 0 0 4 &pcie0_intc 3>;
74*f126890aSEmmanuel Vadot				marvell,pcie-port = <0>;
75*f126890aSEmmanuel Vadot				marvell,pcie-lane = <0>;
76*f126890aSEmmanuel Vadot				clocks = <&gateclk 5>;
77*f126890aSEmmanuel Vadot				status = "disabled";
78*f126890aSEmmanuel Vadot
79*f126890aSEmmanuel Vadot				pcie0_intc: interrupt-controller {
80*f126890aSEmmanuel Vadot					interrupt-controller;
81*f126890aSEmmanuel Vadot					#interrupt-cells = <1>;
82*f126890aSEmmanuel Vadot				};
83*f126890aSEmmanuel Vadot			};
84*f126890aSEmmanuel Vadot
85*f126890aSEmmanuel Vadot			pcie2: pcie@2,0 {
86*f126890aSEmmanuel Vadot				device_type = "pci";
87*f126890aSEmmanuel Vadot				assigned-addresses = <0x82001000 0 0x80000 0 0x2000>;
88*f126890aSEmmanuel Vadot				reg = <0x1000 0 0 0 0>;
89*f126890aSEmmanuel Vadot				#address-cells = <3>;
90*f126890aSEmmanuel Vadot				#size-cells = <2>;
91*f126890aSEmmanuel Vadot				interrupt-names = "intx";
92*f126890aSEmmanuel Vadot				interrupts-extended = <&mpic 62>;
93*f126890aSEmmanuel Vadot				#interrupt-cells = <1>;
94*f126890aSEmmanuel Vadot                                ranges = <0x82000000 0 0 0x82000000 0x2 0 1 0
95*f126890aSEmmanuel Vadot                                          0x81000000 0 0 0x81000000 0x2 0 1 0>;
96*f126890aSEmmanuel Vadot				bus-range = <0x00 0xff>;
97*f126890aSEmmanuel Vadot				interrupt-map-mask = <0 0 0 7>;
98*f126890aSEmmanuel Vadot				interrupt-map = <0 0 0 1 &pcie2_intc 0>,
99*f126890aSEmmanuel Vadot						<0 0 0 2 &pcie2_intc 1>,
100*f126890aSEmmanuel Vadot						<0 0 0 3 &pcie2_intc 2>,
101*f126890aSEmmanuel Vadot						<0 0 0 4 &pcie2_intc 3>;
102*f126890aSEmmanuel Vadot				marvell,pcie-port = <1>;
103*f126890aSEmmanuel Vadot				marvell,pcie-lane = <0>;
104*f126890aSEmmanuel Vadot				clocks = <&gateclk 9>;
105*f126890aSEmmanuel Vadot				status = "disabled";
106*f126890aSEmmanuel Vadot
107*f126890aSEmmanuel Vadot				pcie2_intc: interrupt-controller {
108*f126890aSEmmanuel Vadot					interrupt-controller;
109*f126890aSEmmanuel Vadot					#interrupt-cells = <1>;
110*f126890aSEmmanuel Vadot				};
111*f126890aSEmmanuel Vadot			};
112*f126890aSEmmanuel Vadot		};
113*f126890aSEmmanuel Vadot
114*f126890aSEmmanuel Vadot		internal-regs {
115*f126890aSEmmanuel Vadot			L2: l2-cache@8000 {
116*f126890aSEmmanuel Vadot				compatible = "marvell,aurora-outer-cache";
117*f126890aSEmmanuel Vadot				reg = <0x08000 0x1000>;
118*f126890aSEmmanuel Vadot				cache-id-part = <0x100>;
119*f126890aSEmmanuel Vadot				cache-level = <2>;
120*f126890aSEmmanuel Vadot				cache-unified;
121*f126890aSEmmanuel Vadot				wt-override;
122*f126890aSEmmanuel Vadot			};
123*f126890aSEmmanuel Vadot
124*f126890aSEmmanuel Vadot			gpio0: gpio@18100 {
125*f126890aSEmmanuel Vadot				compatible = "marvell,armada-370-gpio",
126*f126890aSEmmanuel Vadot					     "marvell,orion-gpio";
127*f126890aSEmmanuel Vadot				reg = <0x18100 0x40>, <0x181c0 0x08>;
128*f126890aSEmmanuel Vadot				reg-names = "gpio", "pwm";
129*f126890aSEmmanuel Vadot				ngpios = <32>;
130*f126890aSEmmanuel Vadot				gpio-controller;
131*f126890aSEmmanuel Vadot				#gpio-cells = <2>;
132*f126890aSEmmanuel Vadot				#pwm-cells = <2>;
133*f126890aSEmmanuel Vadot				interrupt-controller;
134*f126890aSEmmanuel Vadot				#interrupt-cells = <2>;
135*f126890aSEmmanuel Vadot				interrupts = <82>, <83>, <84>, <85>;
136*f126890aSEmmanuel Vadot				clocks = <&coreclk 0>;
137*f126890aSEmmanuel Vadot			};
138*f126890aSEmmanuel Vadot
139*f126890aSEmmanuel Vadot			gpio1: gpio@18140 {
140*f126890aSEmmanuel Vadot				compatible = "marvell,armada-370-gpio",
141*f126890aSEmmanuel Vadot					     "marvell,orion-gpio";
142*f126890aSEmmanuel Vadot				reg = <0x18140 0x40>, <0x181c8 0x08>;
143*f126890aSEmmanuel Vadot				reg-names = "gpio", "pwm";
144*f126890aSEmmanuel Vadot				ngpios = <32>;
145*f126890aSEmmanuel Vadot				gpio-controller;
146*f126890aSEmmanuel Vadot				#gpio-cells = <2>;
147*f126890aSEmmanuel Vadot				#pwm-cells = <2>;
148*f126890aSEmmanuel Vadot				interrupt-controller;
149*f126890aSEmmanuel Vadot				#interrupt-cells = <2>;
150*f126890aSEmmanuel Vadot				interrupts = <87>, <88>, <89>, <90>;
151*f126890aSEmmanuel Vadot				clocks = <&coreclk 0>;
152*f126890aSEmmanuel Vadot			};
153*f126890aSEmmanuel Vadot
154*f126890aSEmmanuel Vadot			gpio2: gpio@18180 {
155*f126890aSEmmanuel Vadot				compatible = "marvell,armada-370-gpio",
156*f126890aSEmmanuel Vadot					     "marvell,orion-gpio";
157*f126890aSEmmanuel Vadot				reg = <0x18180 0x40>;
158*f126890aSEmmanuel Vadot				ngpios = <2>;
159*f126890aSEmmanuel Vadot				gpio-controller;
160*f126890aSEmmanuel Vadot				#gpio-cells = <2>;
161*f126890aSEmmanuel Vadot				interrupt-controller;
162*f126890aSEmmanuel Vadot				#interrupt-cells = <2>;
163*f126890aSEmmanuel Vadot				interrupts = <91>;
164*f126890aSEmmanuel Vadot			};
165*f126890aSEmmanuel Vadot
166*f126890aSEmmanuel Vadot
167*f126890aSEmmanuel Vadot			systemc: system-controller@18200 {
168*f126890aSEmmanuel Vadot				compatible = "marvell,armada-370-xp-system-controller";
169*f126890aSEmmanuel Vadot				reg = <0x18200 0x100>;
170*f126890aSEmmanuel Vadot			};
171*f126890aSEmmanuel Vadot
172*f126890aSEmmanuel Vadot			gateclk: clock-gating-control@18220 {
173*f126890aSEmmanuel Vadot				compatible = "marvell,armada-370-gating-clock";
174*f126890aSEmmanuel Vadot				reg = <0x18220 0x4>;
175*f126890aSEmmanuel Vadot				clocks = <&coreclk 0>;
176*f126890aSEmmanuel Vadot				#clock-cells = <1>;
177*f126890aSEmmanuel Vadot			};
178*f126890aSEmmanuel Vadot
179*f126890aSEmmanuel Vadot			coreclk: mvebu-sar@18230 {
180*f126890aSEmmanuel Vadot				compatible = "marvell,armada-370-core-clock";
181*f126890aSEmmanuel Vadot				reg = <0x18230 0x08>;
182*f126890aSEmmanuel Vadot				#clock-cells = <1>;
183*f126890aSEmmanuel Vadot			};
184*f126890aSEmmanuel Vadot
185*f126890aSEmmanuel Vadot			thermal: thermal@18300 {
186*f126890aSEmmanuel Vadot				compatible = "marvell,armada370-thermal";
187*f126890aSEmmanuel Vadot				reg = <0x18300 0x4
188*f126890aSEmmanuel Vadot					0x18304 0x4>;
189*f126890aSEmmanuel Vadot				status = "okay";
190*f126890aSEmmanuel Vadot			};
191*f126890aSEmmanuel Vadot
192*f126890aSEmmanuel Vadot			sscg: sscg@18330 {
193*f126890aSEmmanuel Vadot				reg = <0x18330 0x4>;
194*f126890aSEmmanuel Vadot			};
195*f126890aSEmmanuel Vadot
196*f126890aSEmmanuel Vadot			cpuconf: cpu-config@21000 {
197*f126890aSEmmanuel Vadot				compatible = "marvell,armada-370-cpu-config";
198*f126890aSEmmanuel Vadot				reg = <0x21000 0x8>;
199*f126890aSEmmanuel Vadot			};
200*f126890aSEmmanuel Vadot
201*f126890aSEmmanuel Vadot			audio_controller: audio-controller@30000 {
202*f126890aSEmmanuel Vadot				#sound-dai-cells = <1>;
203*f126890aSEmmanuel Vadot				compatible = "marvell,armada370-audio";
204*f126890aSEmmanuel Vadot				reg = <0x30000 0x4000>;
205*f126890aSEmmanuel Vadot				interrupts = <93>;
206*f126890aSEmmanuel Vadot				clocks = <&gateclk 0>;
207*f126890aSEmmanuel Vadot				clock-names = "internal";
208*f126890aSEmmanuel Vadot				status = "disabled";
209*f126890aSEmmanuel Vadot			};
210*f126890aSEmmanuel Vadot
211*f126890aSEmmanuel Vadot			xor0: xor@60800 {
212*f126890aSEmmanuel Vadot				compatible = "marvell,orion-xor";
213*f126890aSEmmanuel Vadot				reg = <0x60800 0x100
214*f126890aSEmmanuel Vadot				       0x60A00 0x100>;
215*f126890aSEmmanuel Vadot				status = "okay";
216*f126890aSEmmanuel Vadot
217*f126890aSEmmanuel Vadot				xor00 {
218*f126890aSEmmanuel Vadot					interrupts = <51>;
219*f126890aSEmmanuel Vadot					dmacap,memcpy;
220*f126890aSEmmanuel Vadot					dmacap,xor;
221*f126890aSEmmanuel Vadot				};
222*f126890aSEmmanuel Vadot				xor01 {
223*f126890aSEmmanuel Vadot					interrupts = <52>;
224*f126890aSEmmanuel Vadot					dmacap,memcpy;
225*f126890aSEmmanuel Vadot					dmacap,xor;
226*f126890aSEmmanuel Vadot					dmacap,memset;
227*f126890aSEmmanuel Vadot				};
228*f126890aSEmmanuel Vadot			};
229*f126890aSEmmanuel Vadot
230*f126890aSEmmanuel Vadot			xor1: xor@60900 {
231*f126890aSEmmanuel Vadot				compatible = "marvell,orion-xor";
232*f126890aSEmmanuel Vadot				reg = <0x60900 0x100
233*f126890aSEmmanuel Vadot				       0x60b00 0x100>;
234*f126890aSEmmanuel Vadot				status = "okay";
235*f126890aSEmmanuel Vadot
236*f126890aSEmmanuel Vadot				xor10 {
237*f126890aSEmmanuel Vadot					interrupts = <94>;
238*f126890aSEmmanuel Vadot					dmacap,memcpy;
239*f126890aSEmmanuel Vadot					dmacap,xor;
240*f126890aSEmmanuel Vadot				};
241*f126890aSEmmanuel Vadot				xor11 {
242*f126890aSEmmanuel Vadot					interrupts = <95>;
243*f126890aSEmmanuel Vadot					dmacap,memcpy;
244*f126890aSEmmanuel Vadot					dmacap,xor;
245*f126890aSEmmanuel Vadot					dmacap,memset;
246*f126890aSEmmanuel Vadot				};
247*f126890aSEmmanuel Vadot			};
248*f126890aSEmmanuel Vadot
249*f126890aSEmmanuel Vadot			cesa: crypto@90000 {
250*f126890aSEmmanuel Vadot				compatible = "marvell,armada-370-crypto";
251*f126890aSEmmanuel Vadot				reg = <0x90000 0x10000>;
252*f126890aSEmmanuel Vadot				reg-names = "regs";
253*f126890aSEmmanuel Vadot				interrupts = <48>;
254*f126890aSEmmanuel Vadot				clocks = <&gateclk 23>;
255*f126890aSEmmanuel Vadot				clock-names = "cesa0";
256*f126890aSEmmanuel Vadot				marvell,crypto-srams = <&crypto_sram>;
257*f126890aSEmmanuel Vadot				marvell,crypto-sram-size = <0x7e0>;
258*f126890aSEmmanuel Vadot			};
259*f126890aSEmmanuel Vadot		};
260*f126890aSEmmanuel Vadot
261*f126890aSEmmanuel Vadot		crypto_sram: sa-sram {
262*f126890aSEmmanuel Vadot			compatible = "mmio-sram";
263*f126890aSEmmanuel Vadot			reg = <MBUS_ID(0x09, 0x01) 0 0x800>;
264*f126890aSEmmanuel Vadot			reg-names = "sram";
265*f126890aSEmmanuel Vadot			clocks = <&gateclk 23>;
266*f126890aSEmmanuel Vadot			#address-cells = <1>;
267*f126890aSEmmanuel Vadot			#size-cells = <1>;
268*f126890aSEmmanuel Vadot			ranges = <0 MBUS_ID(0x09, 0x01) 0 0x800>;
269*f126890aSEmmanuel Vadot
270*f126890aSEmmanuel Vadot			/*
271*f126890aSEmmanuel Vadot			 * The Armada 370 has an erratum preventing the use of
272*f126890aSEmmanuel Vadot			 * the standard workflow for CPU idle support (relying
273*f126890aSEmmanuel Vadot			 * on the BootROM code to enter/exit idle state).
274*f126890aSEmmanuel Vadot			 * Reserve some amount of the crypto SRAM to put the
275*f126890aSEmmanuel Vadot			 * cpuidle workaround.
276*f126890aSEmmanuel Vadot			 */
277*f126890aSEmmanuel Vadot			idle-sram@0 {
278*f126890aSEmmanuel Vadot				reg = <0x0 0x20>;
279*f126890aSEmmanuel Vadot			};
280*f126890aSEmmanuel Vadot		};
281*f126890aSEmmanuel Vadot	};
282*f126890aSEmmanuel Vadot};
283*f126890aSEmmanuel Vadot
284*f126890aSEmmanuel Vadot/*
285*f126890aSEmmanuel Vadot * Default UART pinctrl setting without RTS/CTS, can be overwritten on
286*f126890aSEmmanuel Vadot * board level if a different configuration is used.
287*f126890aSEmmanuel Vadot */
288*f126890aSEmmanuel Vadot
289*f126890aSEmmanuel Vadot&uart0 {
290*f126890aSEmmanuel Vadot	pinctrl-0 = <&uart0_pins>;
291*f126890aSEmmanuel Vadot	pinctrl-names = "default";
292*f126890aSEmmanuel Vadot};
293*f126890aSEmmanuel Vadot
294*f126890aSEmmanuel Vadot&uart1 {
295*f126890aSEmmanuel Vadot	pinctrl-0 = <&uart1_pins>;
296*f126890aSEmmanuel Vadot	pinctrl-names = "default";
297*f126890aSEmmanuel Vadot};
298*f126890aSEmmanuel Vadot
299*f126890aSEmmanuel Vadot&i2c0 {
300*f126890aSEmmanuel Vadot	reg = <0x11000 0x20>;
301*f126890aSEmmanuel Vadot};
302*f126890aSEmmanuel Vadot
303*f126890aSEmmanuel Vadot&i2c1 {
304*f126890aSEmmanuel Vadot	reg = <0x11100 0x20>;
305*f126890aSEmmanuel Vadot};
306*f126890aSEmmanuel Vadot
307*f126890aSEmmanuel Vadot&mpic {
308*f126890aSEmmanuel Vadot	reg = <0x20a00 0x1d0>, <0x21870 0x58>;
309*f126890aSEmmanuel Vadot};
310*f126890aSEmmanuel Vadot
311*f126890aSEmmanuel Vadot&timer {
312*f126890aSEmmanuel Vadot	compatible = "marvell,armada-370-timer";
313*f126890aSEmmanuel Vadot	clocks = <&coreclk 2>;
314*f126890aSEmmanuel Vadot};
315*f126890aSEmmanuel Vadot
316*f126890aSEmmanuel Vadot&watchdog {
317*f126890aSEmmanuel Vadot	compatible = "marvell,armada-370-wdt";
318*f126890aSEmmanuel Vadot	clocks = <&coreclk 2>;
319*f126890aSEmmanuel Vadot};
320*f126890aSEmmanuel Vadot
321*f126890aSEmmanuel Vadot&usb0 {
322*f126890aSEmmanuel Vadot	clocks = <&coreclk 0>;
323*f126890aSEmmanuel Vadot};
324*f126890aSEmmanuel Vadot
325*f126890aSEmmanuel Vadot&usb1 {
326*f126890aSEmmanuel Vadot	clocks = <&coreclk 0>;
327*f126890aSEmmanuel Vadot};
328*f126890aSEmmanuel Vadot
329*f126890aSEmmanuel Vadot&eth0 {
330*f126890aSEmmanuel Vadot	compatible = "marvell,armada-370-neta";
331*f126890aSEmmanuel Vadot};
332*f126890aSEmmanuel Vadot
333*f126890aSEmmanuel Vadot&eth1 {
334*f126890aSEmmanuel Vadot	compatible = "marvell,armada-370-neta";
335*f126890aSEmmanuel Vadot};
336*f126890aSEmmanuel Vadot
337*f126890aSEmmanuel Vadot&pinctrl {
338*f126890aSEmmanuel Vadot	compatible = "marvell,mv88f6710-pinctrl";
339*f126890aSEmmanuel Vadot
340*f126890aSEmmanuel Vadot	spi0_pins1: spi0-pins1 {
341*f126890aSEmmanuel Vadot		marvell,pins = "mpp33", "mpp34",
342*f126890aSEmmanuel Vadot			       "mpp35", "mpp36";
343*f126890aSEmmanuel Vadot		marvell,function = "spi0";
344*f126890aSEmmanuel Vadot	};
345*f126890aSEmmanuel Vadot
346*f126890aSEmmanuel Vadot	spi0_pins2: spi0_pins2 {
347*f126890aSEmmanuel Vadot		marvell,pins = "mpp32", "mpp63",
348*f126890aSEmmanuel Vadot			       "mpp64", "mpp65";
349*f126890aSEmmanuel Vadot		marvell,function = "spi0";
350*f126890aSEmmanuel Vadot	};
351*f126890aSEmmanuel Vadot
352*f126890aSEmmanuel Vadot	spi1_pins: spi1-pins {
353*f126890aSEmmanuel Vadot		marvell,pins = "mpp49", "mpp50",
354*f126890aSEmmanuel Vadot			       "mpp51", "mpp52";
355*f126890aSEmmanuel Vadot		marvell,function = "spi1";
356*f126890aSEmmanuel Vadot	};
357*f126890aSEmmanuel Vadot
358*f126890aSEmmanuel Vadot	uart0_pins: uart0-pins {
359*f126890aSEmmanuel Vadot		marvell,pins = "mpp0", "mpp1";
360*f126890aSEmmanuel Vadot		marvell,function = "uart0";
361*f126890aSEmmanuel Vadot	};
362*f126890aSEmmanuel Vadot
363*f126890aSEmmanuel Vadot	uart1_pins: uart1-pins {
364*f126890aSEmmanuel Vadot		marvell,pins = "mpp41", "mpp42";
365*f126890aSEmmanuel Vadot		marvell,function = "uart1";
366*f126890aSEmmanuel Vadot	};
367*f126890aSEmmanuel Vadot
368*f126890aSEmmanuel Vadot	sdio_pins1: sdio-pins1 {
369*f126890aSEmmanuel Vadot		marvell,pins = "mpp9",  "mpp11", "mpp12",
370*f126890aSEmmanuel Vadot				"mpp13", "mpp14", "mpp15";
371*f126890aSEmmanuel Vadot		marvell,function = "sd0";
372*f126890aSEmmanuel Vadot	};
373*f126890aSEmmanuel Vadot
374*f126890aSEmmanuel Vadot	sdio_pins2: sdio-pins2 {
375*f126890aSEmmanuel Vadot		marvell,pins = "mpp47", "mpp48", "mpp49",
376*f126890aSEmmanuel Vadot				"mpp50", "mpp51", "mpp52";
377*f126890aSEmmanuel Vadot		marvell,function = "sd0";
378*f126890aSEmmanuel Vadot	};
379*f126890aSEmmanuel Vadot
380*f126890aSEmmanuel Vadot	sdio_pins3: sdio-pins3 {
381*f126890aSEmmanuel Vadot		marvell,pins = "mpp48", "mpp49", "mpp50",
382*f126890aSEmmanuel Vadot				"mpp51", "mpp52", "mpp53";
383*f126890aSEmmanuel Vadot		marvell,function = "sd0";
384*f126890aSEmmanuel Vadot	};
385*f126890aSEmmanuel Vadot
386*f126890aSEmmanuel Vadot	i2c0_pins: i2c0-pins {
387*f126890aSEmmanuel Vadot		marvell,pins = "mpp2", "mpp3";
388*f126890aSEmmanuel Vadot		marvell,function = "i2c0";
389*f126890aSEmmanuel Vadot	};
390*f126890aSEmmanuel Vadot
391*f126890aSEmmanuel Vadot	i2s_pins1: i2s-pins1 {
392*f126890aSEmmanuel Vadot		marvell,pins = "mpp5", "mpp6", "mpp7",
393*f126890aSEmmanuel Vadot			       "mpp8", "mpp9", "mpp10",
394*f126890aSEmmanuel Vadot			       "mpp12", "mpp13";
395*f126890aSEmmanuel Vadot		marvell,function = "audio";
396*f126890aSEmmanuel Vadot	};
397*f126890aSEmmanuel Vadot
398*f126890aSEmmanuel Vadot	i2s_pins2: i2s-pins2 {
399*f126890aSEmmanuel Vadot		marvell,pins = "mpp49", "mpp47", "mpp50",
400*f126890aSEmmanuel Vadot			       "mpp59", "mpp57", "mpp61",
401*f126890aSEmmanuel Vadot			       "mpp62", "mpp60", "mpp58";
402*f126890aSEmmanuel Vadot		marvell,function = "audio";
403*f126890aSEmmanuel Vadot	};
404*f126890aSEmmanuel Vadot
405*f126890aSEmmanuel Vadot	mdio_pins: mdio-pins {
406*f126890aSEmmanuel Vadot		marvell,pins = "mpp17", "mpp18";
407*f126890aSEmmanuel Vadot		marvell,function = "ge";
408*f126890aSEmmanuel Vadot	};
409*f126890aSEmmanuel Vadot
410*f126890aSEmmanuel Vadot	ge0_rgmii_pins: ge0-rgmii-pins {
411*f126890aSEmmanuel Vadot		marvell,pins = "mpp5", "mpp6", "mpp7", "mpp8",
412*f126890aSEmmanuel Vadot			       "mpp9", "mpp10", "mpp11", "mpp12",
413*f126890aSEmmanuel Vadot			       "mpp13", "mpp14", "mpp15", "mpp16";
414*f126890aSEmmanuel Vadot		marvell,function = "ge0";
415*f126890aSEmmanuel Vadot	};
416*f126890aSEmmanuel Vadot
417*f126890aSEmmanuel Vadot	ge1_rgmii_pins: ge1-rgmii-pins {
418*f126890aSEmmanuel Vadot		marvell,pins = "mpp19", "mpp20", "mpp21", "mpp22",
419*f126890aSEmmanuel Vadot			       "mpp23", "mpp24", "mpp25", "mpp26",
420*f126890aSEmmanuel Vadot			       "mpp27", "mpp28", "mpp29", "mpp30";
421*f126890aSEmmanuel Vadot		marvell,function = "ge1";
422*f126890aSEmmanuel Vadot	};
423*f126890aSEmmanuel Vadot};
424*f126890aSEmmanuel Vadot
425*f126890aSEmmanuel Vadot/*
426*f126890aSEmmanuel Vadot * Default SPI pinctrl setting, can be overwritten on
427*f126890aSEmmanuel Vadot * board level if a different configuration is used.
428*f126890aSEmmanuel Vadot */
429*f126890aSEmmanuel Vadot&spi0 {
430*f126890aSEmmanuel Vadot	compatible = "marvell,armada-370-spi", "marvell,orion-spi";
431*f126890aSEmmanuel Vadot	pinctrl-0 = <&spi0_pins1>;
432*f126890aSEmmanuel Vadot	pinctrl-names = "default";
433*f126890aSEmmanuel Vadot};
434*f126890aSEmmanuel Vadot
435*f126890aSEmmanuel Vadot&spi1 {
436*f126890aSEmmanuel Vadot	compatible = "marvell,armada-370-spi", "marvell,orion-spi";
437*f126890aSEmmanuel Vadot	pinctrl-0 = <&spi1_pins>;
438*f126890aSEmmanuel Vadot	pinctrl-names = "default";
439*f126890aSEmmanuel Vadot};
440