1*724ba675SRob Herring// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2*724ba675SRob Herring/*
3*724ba675SRob Herring * Device Tree Include file for Marvell Armada 1500 (Berlin BG2) SoC
4*724ba675SRob Herring *
5*724ba675SRob Herring * Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
6*724ba675SRob Herring *
7*724ba675SRob Herring * based on GPL'ed 2.6 kernel sources
8*724ba675SRob Herring *  (c) Marvell International Ltd.
9*724ba675SRob Herring */
10*724ba675SRob Herring
11*724ba675SRob Herring#include <dt-bindings/clock/berlin2.h>
12*724ba675SRob Herring#include <dt-bindings/interrupt-controller/arm-gic.h>
13*724ba675SRob Herring
14*724ba675SRob Herring/ {
15*724ba675SRob Herring	model = "Marvell Armada 1500 (BG2) SoC";
16*724ba675SRob Herring	compatible = "marvell,berlin2", "marvell,berlin";
17*724ba675SRob Herring	#address-cells = <1>;
18*724ba675SRob Herring	#size-cells = <1>;
19*724ba675SRob Herring
20*724ba675SRob Herring	aliases {
21*724ba675SRob Herring		serial0 = &uart0;
22*724ba675SRob Herring		serial1 = &uart1;
23*724ba675SRob Herring		serial2 = &uart2;
24*724ba675SRob Herring	};
25*724ba675SRob Herring
26*724ba675SRob Herring	cpus {
27*724ba675SRob Herring		#address-cells = <1>;
28*724ba675SRob Herring		#size-cells = <0>;
29*724ba675SRob Herring		enable-method = "marvell,berlin-smp";
30*724ba675SRob Herring
31*724ba675SRob Herring		cpu@0 {
32*724ba675SRob Herring			compatible = "marvell,pj4b";
33*724ba675SRob Herring			device_type = "cpu";
34*724ba675SRob Herring			next-level-cache = <&l2>;
35*724ba675SRob Herring			reg = <0>;
36*724ba675SRob Herring
37*724ba675SRob Herring			clocks = <&chip_clk CLKID_CPU>;
38*724ba675SRob Herring			clock-latency = <100000>;
39*724ba675SRob Herring			operating-points = <
40*724ba675SRob Herring				/* kHz    uV */
41*724ba675SRob Herring				1200000 1200000
42*724ba675SRob Herring				1000000 1200000
43*724ba675SRob Herring				800000  1200000
44*724ba675SRob Herring				600000  1200000
45*724ba675SRob Herring			>;
46*724ba675SRob Herring		};
47*724ba675SRob Herring
48*724ba675SRob Herring		cpu@1 {
49*724ba675SRob Herring			compatible = "marvell,pj4b";
50*724ba675SRob Herring			device_type = "cpu";
51*724ba675SRob Herring			next-level-cache = <&l2>;
52*724ba675SRob Herring			reg = <1>;
53*724ba675SRob Herring
54*724ba675SRob Herring			clocks = <&chip_clk CLKID_CPU>;
55*724ba675SRob Herring			clock-latency = <100000>;
56*724ba675SRob Herring			operating-points = <
57*724ba675SRob Herring				/* kHz    uV */
58*724ba675SRob Herring				1200000 1200000
59*724ba675SRob Herring				1000000 1200000
60*724ba675SRob Herring				800000  1200000
61*724ba675SRob Herring				600000  1200000
62*724ba675SRob Herring			>;
63*724ba675SRob Herring		};
64*724ba675SRob Herring	};
65*724ba675SRob Herring
66*724ba675SRob Herring	refclk: oscillator {
67*724ba675SRob Herring		compatible = "fixed-clock";
68*724ba675SRob Herring		#clock-cells = <0>;
69*724ba675SRob Herring		clock-frequency = <25000000>;
70*724ba675SRob Herring	};
71*724ba675SRob Herring
72*724ba675SRob Herring	soc@f7000000 {
73*724ba675SRob Herring		compatible = "simple-bus";
74*724ba675SRob Herring		#address-cells = <1>;
75*724ba675SRob Herring		#size-cells = <1>;
76*724ba675SRob Herring		interrupt-parent = <&gic>;
77*724ba675SRob Herring
78*724ba675SRob Herring		ranges = <0 0xf7000000 0x1000000>;
79*724ba675SRob Herring
80*724ba675SRob Herring		sdhci0: mmc@ab0000 {
81*724ba675SRob Herring			compatible = "mrvl,pxav3-mmc";
82*724ba675SRob Herring			reg = <0xab0000 0x200>;
83*724ba675SRob Herring			clocks = <&chip_clk CLKID_SDIO0XIN>, <&chip_clk CLKID_SDIO0>;
84*724ba675SRob Herring			clock-names = "io", "core";
85*724ba675SRob Herring			interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
86*724ba675SRob Herring			status = "disabled";
87*724ba675SRob Herring		};
88*724ba675SRob Herring
89*724ba675SRob Herring		sdhci1: mmc@ab0800 {
90*724ba675SRob Herring			compatible = "mrvl,pxav3-mmc";
91*724ba675SRob Herring			reg = <0xab0800 0x200>;
92*724ba675SRob Herring			clocks = <&chip_clk CLKID_SDIO1XIN>, <&chip_clk CLKID_SDIO1>;
93*724ba675SRob Herring			clock-names = "io", "core";
94*724ba675SRob Herring			interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
95*724ba675SRob Herring			status = "disabled";
96*724ba675SRob Herring		};
97*724ba675SRob Herring
98*724ba675SRob Herring		sdhci2: mmc@ab1000 {
99*724ba675SRob Herring			compatible = "mrvl,pxav3-mmc";
100*724ba675SRob Herring			reg = <0xab1000 0x200>;
101*724ba675SRob Herring			interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
102*724ba675SRob Herring			clocks = <&chip_clk CLKID_NFC_ECC>, <&chip_clk CLKID_NFC>;
103*724ba675SRob Herring			clock-names = "io", "core";
104*724ba675SRob Herring			pinctrl-0 = <&emmc_pmux>;
105*724ba675SRob Herring			pinctrl-names = "default";
106*724ba675SRob Herring			status = "disabled";
107*724ba675SRob Herring		};
108*724ba675SRob Herring
109*724ba675SRob Herring		l2: cache-controller@ac0000 {
110*724ba675SRob Herring			compatible = "marvell,tauros3-cache", "arm,pl310-cache";
111*724ba675SRob Herring			reg = <0xac0000 0x1000>;
112*724ba675SRob Herring			cache-unified;
113*724ba675SRob Herring			cache-level = <2>;
114*724ba675SRob Herring		};
115*724ba675SRob Herring
116*724ba675SRob Herring		scu: snoop-control-unit@ad0000 {
117*724ba675SRob Herring			compatible = "arm,cortex-a9-scu";
118*724ba675SRob Herring			reg = <0xad0000 0x58>;
119*724ba675SRob Herring		};
120*724ba675SRob Herring
121*724ba675SRob Herring		gic: interrupt-controller@ad1000 {
122*724ba675SRob Herring			compatible = "arm,cortex-a9-gic";
123*724ba675SRob Herring			reg = <0xad1000 0x1000>, <0xad0100 0x0100>;
124*724ba675SRob Herring			interrupt-controller;
125*724ba675SRob Herring			#interrupt-cells = <3>;
126*724ba675SRob Herring		};
127*724ba675SRob Herring
128*724ba675SRob Herring		local-timer@ad0600 {
129*724ba675SRob Herring			compatible = "arm,cortex-a9-twd-timer";
130*724ba675SRob Herring			reg = <0xad0600 0x20>;
131*724ba675SRob Herring			interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_EDGE_RISING)>;
132*724ba675SRob Herring			clocks = <&chip_clk CLKID_TWD>;
133*724ba675SRob Herring		};
134*724ba675SRob Herring
135*724ba675SRob Herring		eth1: ethernet@b90000 {
136*724ba675SRob Herring			compatible = "marvell,pxa168-eth";
137*724ba675SRob Herring			reg = <0xb90000 0x10000>;
138*724ba675SRob Herring			clocks = <&chip_clk CLKID_GETH1>;
139*724ba675SRob Herring			interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
140*724ba675SRob Herring			/* set by bootloader */
141*724ba675SRob Herring			local-mac-address = [00 00 00 00 00 00];
142*724ba675SRob Herring			#address-cells = <1>;
143*724ba675SRob Herring			#size-cells = <0>;
144*724ba675SRob Herring			phy-connection-type = "mii";
145*724ba675SRob Herring			phy-handle = <&ethphy1>;
146*724ba675SRob Herring			status = "disabled";
147*724ba675SRob Herring
148*724ba675SRob Herring			ethphy1: ethernet-phy@0 {
149*724ba675SRob Herring				reg = <0>;
150*724ba675SRob Herring			};
151*724ba675SRob Herring		};
152*724ba675SRob Herring
153*724ba675SRob Herring		cpu-ctrl@dd0000 {
154*724ba675SRob Herring			compatible = "marvell,berlin-cpu-ctrl";
155*724ba675SRob Herring			reg = <0xdd0000 0x10000>;
156*724ba675SRob Herring		};
157*724ba675SRob Herring
158*724ba675SRob Herring		eth0: ethernet@e50000 {
159*724ba675SRob Herring			compatible = "marvell,pxa168-eth";
160*724ba675SRob Herring			reg = <0xe50000 0x10000>;
161*724ba675SRob Herring			clocks = <&chip_clk CLKID_GETH0>;
162*724ba675SRob Herring			interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
163*724ba675SRob Herring			/* set by bootloader */
164*724ba675SRob Herring			local-mac-address = [00 00 00 00 00 00];
165*724ba675SRob Herring			#address-cells = <1>;
166*724ba675SRob Herring			#size-cells = <0>;
167*724ba675SRob Herring			phy-connection-type = "mii";
168*724ba675SRob Herring			phy-handle = <&ethphy0>;
169*724ba675SRob Herring			status = "disabled";
170*724ba675SRob Herring
171*724ba675SRob Herring			ethphy0: ethernet-phy@0 {
172*724ba675SRob Herring				reg = <0>;
173*724ba675SRob Herring			};
174*724ba675SRob Herring		};
175*724ba675SRob Herring
176*724ba675SRob Herring		apb@e80000 {
177*724ba675SRob Herring			compatible = "simple-bus";
178*724ba675SRob Herring			#address-cells = <1>;
179*724ba675SRob Herring			#size-cells = <1>;
180*724ba675SRob Herring
181*724ba675SRob Herring			ranges = <0 0xe80000 0x10000>;
182*724ba675SRob Herring			interrupt-parent = <&aic>;
183*724ba675SRob Herring
184*724ba675SRob Herring			gpio0: gpio@400 {
185*724ba675SRob Herring				compatible = "snps,dw-apb-gpio";
186*724ba675SRob Herring				reg = <0x0400 0x400>;
187*724ba675SRob Herring				#address-cells = <1>;
188*724ba675SRob Herring				#size-cells = <0>;
189*724ba675SRob Herring
190*724ba675SRob Herring				porta: gpio-port@0 {
191*724ba675SRob Herring					compatible = "snps,dw-apb-gpio-port";
192*724ba675SRob Herring					gpio-controller;
193*724ba675SRob Herring					#gpio-cells = <2>;
194*724ba675SRob Herring					ngpios = <8>;
195*724ba675SRob Herring					reg = <0>;
196*724ba675SRob Herring					interrupt-controller;
197*724ba675SRob Herring					#interrupt-cells = <2>;
198*724ba675SRob Herring					interrupts = <0>;
199*724ba675SRob Herring				};
200*724ba675SRob Herring			};
201*724ba675SRob Herring
202*724ba675SRob Herring			gpio1: gpio@800 {
203*724ba675SRob Herring				compatible = "snps,dw-apb-gpio";
204*724ba675SRob Herring				reg = <0x0800 0x400>;
205*724ba675SRob Herring				#address-cells = <1>;
206*724ba675SRob Herring				#size-cells = <0>;
207*724ba675SRob Herring
208*724ba675SRob Herring				portb: gpio-port@1 {
209*724ba675SRob Herring					compatible = "snps,dw-apb-gpio-port";
210*724ba675SRob Herring					gpio-controller;
211*724ba675SRob Herring					#gpio-cells = <2>;
212*724ba675SRob Herring					ngpios = <8>;
213*724ba675SRob Herring					reg = <0>;
214*724ba675SRob Herring					interrupt-controller;
215*724ba675SRob Herring					#interrupt-cells = <2>;
216*724ba675SRob Herring					interrupts = <1>;
217*724ba675SRob Herring				};
218*724ba675SRob Herring			};
219*724ba675SRob Herring
220*724ba675SRob Herring			gpio2: gpio@c00 {
221*724ba675SRob Herring				compatible = "snps,dw-apb-gpio";
222*724ba675SRob Herring				reg = <0x0c00 0x400>;
223*724ba675SRob Herring				#address-cells = <1>;
224*724ba675SRob Herring				#size-cells = <0>;
225*724ba675SRob Herring
226*724ba675SRob Herring				portc: gpio-port@2 {
227*724ba675SRob Herring					compatible = "snps,dw-apb-gpio-port";
228*724ba675SRob Herring					gpio-controller;
229*724ba675SRob Herring					#gpio-cells = <2>;
230*724ba675SRob Herring					ngpios = <8>;
231*724ba675SRob Herring					reg = <0>;
232*724ba675SRob Herring					interrupt-controller;
233*724ba675SRob Herring					#interrupt-cells = <2>;
234*724ba675SRob Herring					interrupts = <2>;
235*724ba675SRob Herring				};
236*724ba675SRob Herring			};
237*724ba675SRob Herring
238*724ba675SRob Herring			gpio3: gpio@1000 {
239*724ba675SRob Herring				compatible = "snps,dw-apb-gpio";
240*724ba675SRob Herring				reg = <0x1000 0x400>;
241*724ba675SRob Herring				#address-cells = <1>;
242*724ba675SRob Herring				#size-cells = <0>;
243*724ba675SRob Herring
244*724ba675SRob Herring				portd: gpio-port@3 {
245*724ba675SRob Herring					compatible = "snps,dw-apb-gpio-port";
246*724ba675SRob Herring					gpio-controller;
247*724ba675SRob Herring					#gpio-cells = <2>;
248*724ba675SRob Herring					ngpios = <8>;
249*724ba675SRob Herring					reg = <0>;
250*724ba675SRob Herring					interrupt-controller;
251*724ba675SRob Herring					#interrupt-cells = <2>;
252*724ba675SRob Herring					interrupts = <3>;
253*724ba675SRob Herring				};
254*724ba675SRob Herring			};
255*724ba675SRob Herring
256*724ba675SRob Herring			timer0: timer@2c00 {
257*724ba675SRob Herring				compatible = "snps,dw-apb-timer";
258*724ba675SRob Herring				reg = <0x2c00 0x14>;
259*724ba675SRob Herring				interrupts = <8>;
260*724ba675SRob Herring				clocks = <&chip_clk CLKID_CFG>;
261*724ba675SRob Herring				clock-names = "timer";
262*724ba675SRob Herring				status = "okay";
263*724ba675SRob Herring			};
264*724ba675SRob Herring
265*724ba675SRob Herring			timer1: timer@2c14 {
266*724ba675SRob Herring				compatible = "snps,dw-apb-timer";
267*724ba675SRob Herring				reg = <0x2c14 0x14>;
268*724ba675SRob Herring				interrupts = <9>;
269*724ba675SRob Herring				clocks = <&chip_clk CLKID_CFG>;
270*724ba675SRob Herring				clock-names = "timer";
271*724ba675SRob Herring				status = "okay";
272*724ba675SRob Herring			};
273*724ba675SRob Herring
274*724ba675SRob Herring			timer2: timer@2c28 {
275*724ba675SRob Herring				compatible = "snps,dw-apb-timer";
276*724ba675SRob Herring				reg = <0x2c28 0x14>;
277*724ba675SRob Herring				interrupts = <10>;
278*724ba675SRob Herring				clocks = <&chip_clk CLKID_CFG>;
279*724ba675SRob Herring				clock-names = "timer";
280*724ba675SRob Herring				status = "disabled";
281*724ba675SRob Herring			};
282*724ba675SRob Herring
283*724ba675SRob Herring			timer3: timer@2c3c {
284*724ba675SRob Herring				compatible = "snps,dw-apb-timer";
285*724ba675SRob Herring				reg = <0x2c3c 0x14>;
286*724ba675SRob Herring				interrupts = <11>;
287*724ba675SRob Herring				clocks = <&chip_clk CLKID_CFG>;
288*724ba675SRob Herring				clock-names = "timer";
289*724ba675SRob Herring				status = "disabled";
290*724ba675SRob Herring			};
291*724ba675SRob Herring
292*724ba675SRob Herring			timer4: timer@2c50 {
293*724ba675SRob Herring				compatible = "snps,dw-apb-timer";
294*724ba675SRob Herring				reg = <0x2c50 0x14>;
295*724ba675SRob Herring				interrupts = <12>;
296*724ba675SRob Herring				clocks = <&chip_clk CLKID_CFG>;
297*724ba675SRob Herring				clock-names = "timer";
298*724ba675SRob Herring				status = "disabled";
299*724ba675SRob Herring			};
300*724ba675SRob Herring
301*724ba675SRob Herring			timer5: timer@2c64 {
302*724ba675SRob Herring				compatible = "snps,dw-apb-timer";
303*724ba675SRob Herring				reg = <0x2c64 0x14>;
304*724ba675SRob Herring				interrupts = <13>;
305*724ba675SRob Herring				clocks = <&chip_clk CLKID_CFG>;
306*724ba675SRob Herring				clock-names = "timer";
307*724ba675SRob Herring				status = "disabled";
308*724ba675SRob Herring			};
309*724ba675SRob Herring
310*724ba675SRob Herring			timer6: timer@2c78 {
311*724ba675SRob Herring				compatible = "snps,dw-apb-timer";
312*724ba675SRob Herring				reg = <0x2c78 0x14>;
313*724ba675SRob Herring				interrupts = <14>;
314*724ba675SRob Herring				clocks = <&chip_clk CLKID_CFG>;
315*724ba675SRob Herring				clock-names = "timer";
316*724ba675SRob Herring				status = "disabled";
317*724ba675SRob Herring			};
318*724ba675SRob Herring
319*724ba675SRob Herring			timer7: timer@2c8c {
320*724ba675SRob Herring				compatible = "snps,dw-apb-timer";
321*724ba675SRob Herring				reg = <0x2c8c 0x14>;
322*724ba675SRob Herring				interrupts = <15>;
323*724ba675SRob Herring				clocks = <&chip_clk CLKID_CFG>;
324*724ba675SRob Herring				clock-names = "timer";
325*724ba675SRob Herring				status = "disabled";
326*724ba675SRob Herring			};
327*724ba675SRob Herring
328*724ba675SRob Herring			aic: interrupt-controller@3000 {
329*724ba675SRob Herring				compatible = "snps,dw-apb-ictl";
330*724ba675SRob Herring				reg = <0x3000 0xc00>;
331*724ba675SRob Herring				interrupt-controller;
332*724ba675SRob Herring				#interrupt-cells = <1>;
333*724ba675SRob Herring				interrupt-parent = <&gic>;
334*724ba675SRob Herring				interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
335*724ba675SRob Herring			};
336*724ba675SRob Herring		};
337*724ba675SRob Herring
338*724ba675SRob Herring		ahci: sata@e90000 {
339*724ba675SRob Herring			compatible = "marvell,berlin2-ahci", "generic-ahci";
340*724ba675SRob Herring			reg = <0xe90000 0x1000>;
341*724ba675SRob Herring			interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
342*724ba675SRob Herring			clocks = <&chip_clk CLKID_SATA>;
343*724ba675SRob Herring			#address-cells = <1>;
344*724ba675SRob Herring			#size-cells = <0>;
345*724ba675SRob Herring
346*724ba675SRob Herring			sata0: sata-port@0 {
347*724ba675SRob Herring				reg = <0>;
348*724ba675SRob Herring				phys = <&sata_phy 0>;
349*724ba675SRob Herring				status = "disabled";
350*724ba675SRob Herring			};
351*724ba675SRob Herring
352*724ba675SRob Herring			sata1: sata-port@1 {
353*724ba675SRob Herring				reg = <1>;
354*724ba675SRob Herring				phys = <&sata_phy 1>;
355*724ba675SRob Herring				status = "disabled";
356*724ba675SRob Herring			};
357*724ba675SRob Herring		};
358*724ba675SRob Herring
359*724ba675SRob Herring		sata_phy: phy@e900a0 {
360*724ba675SRob Herring			compatible = "marvell,berlin2-sata-phy";
361*724ba675SRob Herring			reg = <0xe900a0 0x200>;
362*724ba675SRob Herring			clocks = <&chip_clk CLKID_SATA>;
363*724ba675SRob Herring			#address-cells = <1>;
364*724ba675SRob Herring			#size-cells = <0>;
365*724ba675SRob Herring			#phy-cells = <1>;
366*724ba675SRob Herring			status = "disabled";
367*724ba675SRob Herring
368*724ba675SRob Herring			sata-phy@0 {
369*724ba675SRob Herring				reg = <0>;
370*724ba675SRob Herring			};
371*724ba675SRob Herring
372*724ba675SRob Herring			sata-phy@1 {
373*724ba675SRob Herring				reg = <1>;
374*724ba675SRob Herring			};
375*724ba675SRob Herring		};
376*724ba675SRob Herring
377*724ba675SRob Herring		chip: chip-control@ea0000 {
378*724ba675SRob Herring			compatible = "simple-mfd", "syscon";
379*724ba675SRob Herring			reg = <0xea0000 0x400>;
380*724ba675SRob Herring
381*724ba675SRob Herring			chip_clk: clock {
382*724ba675SRob Herring				compatible = "marvell,berlin2-clk";
383*724ba675SRob Herring				#clock-cells = <1>;
384*724ba675SRob Herring				clocks = <&refclk>;
385*724ba675SRob Herring				clock-names = "refclk";
386*724ba675SRob Herring			};
387*724ba675SRob Herring
388*724ba675SRob Herring			soc_pinctrl: pin-controller {
389*724ba675SRob Herring				compatible = "marvell,berlin2-soc-pinctrl";
390*724ba675SRob Herring
391*724ba675SRob Herring				emmc_pmux: emmc-pmux {
392*724ba675SRob Herring					groups = "G26";
393*724ba675SRob Herring					function = "emmc";
394*724ba675SRob Herring				};
395*724ba675SRob Herring			};
396*724ba675SRob Herring
397*724ba675SRob Herring			chip_rst: reset {
398*724ba675SRob Herring				compatible = "marvell,berlin2-reset";
399*724ba675SRob Herring				#reset-cells = <2>;
400*724ba675SRob Herring			};
401*724ba675SRob Herring		};
402*724ba675SRob Herring
403*724ba675SRob Herring		pwm: pwm@f20000 {
404*724ba675SRob Herring			compatible = "marvell,berlin-pwm";
405*724ba675SRob Herring			reg = <0xf20000 0x40>;
406*724ba675SRob Herring			clocks = <&chip_clk CLKID_CFG>;
407*724ba675SRob Herring			#pwm-cells = <3>;
408*724ba675SRob Herring		};
409*724ba675SRob Herring
410*724ba675SRob Herring		apb@fc0000 {
411*724ba675SRob Herring			compatible = "simple-bus";
412*724ba675SRob Herring			#address-cells = <1>;
413*724ba675SRob Herring			#size-cells = <1>;
414*724ba675SRob Herring
415*724ba675SRob Herring			ranges = <0 0xfc0000 0x10000>;
416*724ba675SRob Herring			interrupt-parent = <&sic>;
417*724ba675SRob Herring
418*724ba675SRob Herring			wdt0: watchdog@1000 {
419*724ba675SRob Herring				compatible = "snps,dw-wdt";
420*724ba675SRob Herring				reg = <0x1000 0x100>;
421*724ba675SRob Herring				clocks = <&refclk>;
422*724ba675SRob Herring				interrupts = <0>;
423*724ba675SRob Herring			};
424*724ba675SRob Herring
425*724ba675SRob Herring			wdt1: watchdog@2000 {
426*724ba675SRob Herring				compatible = "snps,dw-wdt";
427*724ba675SRob Herring				reg = <0x2000 0x100>;
428*724ba675SRob Herring				clocks = <&refclk>;
429*724ba675SRob Herring				interrupts = <1>;
430*724ba675SRob Herring			};
431*724ba675SRob Herring
432*724ba675SRob Herring			wdt2: watchdog@3000 {
433*724ba675SRob Herring				compatible = "snps,dw-wdt";
434*724ba675SRob Herring				reg = <0x3000 0x100>;
435*724ba675SRob Herring				clocks = <&refclk>;
436*724ba675SRob Herring				interrupts = <2>;
437*724ba675SRob Herring			};
438*724ba675SRob Herring
439*724ba675SRob Herring			sm_gpio1: gpio@5000 {
440*724ba675SRob Herring				compatible = "snps,dw-apb-gpio";
441*724ba675SRob Herring				reg = <0x5000 0x400>;
442*724ba675SRob Herring				#address-cells = <1>;
443*724ba675SRob Herring				#size-cells = <0>;
444*724ba675SRob Herring
445*724ba675SRob Herring				portf: gpio-port@5 {
446*724ba675SRob Herring					compatible = "snps,dw-apb-gpio-port";
447*724ba675SRob Herring					gpio-controller;
448*724ba675SRob Herring					#gpio-cells = <2>;
449*724ba675SRob Herring					ngpios = <8>;
450*724ba675SRob Herring					reg = <0>;
451*724ba675SRob Herring				};
452*724ba675SRob Herring			};
453*724ba675SRob Herring
454*724ba675SRob Herring			sm_gpio0: gpio@c000 {
455*724ba675SRob Herring				compatible = "snps,dw-apb-gpio";
456*724ba675SRob Herring				reg = <0xc000 0x400>;
457*724ba675SRob Herring				#address-cells = <1>;
458*724ba675SRob Herring				#size-cells = <0>;
459*724ba675SRob Herring
460*724ba675SRob Herring				porte: gpio-port@4 {
461*724ba675SRob Herring					compatible = "snps,dw-apb-gpio-port";
462*724ba675SRob Herring					gpio-controller;
463*724ba675SRob Herring					#gpio-cells = <2>;
464*724ba675SRob Herring					ngpios = <8>;
465*724ba675SRob Herring					reg = <0>;
466*724ba675SRob Herring					interrupt-controller;
467*724ba675SRob Herring					#interrupt-cells = <2>;
468*724ba675SRob Herring					interrupts = <11>;
469*724ba675SRob Herring				};
470*724ba675SRob Herring			};
471*724ba675SRob Herring
472*724ba675SRob Herring			uart0: serial@9000 {
473*724ba675SRob Herring				compatible = "snps,dw-apb-uart";
474*724ba675SRob Herring				reg = <0x9000 0x100>;
475*724ba675SRob Herring				reg-shift = <2>;
476*724ba675SRob Herring				reg-io-width = <1>;
477*724ba675SRob Herring				interrupts = <8>;
478*724ba675SRob Herring				clocks = <&refclk>;
479*724ba675SRob Herring				pinctrl-0 = <&uart0_pmux>;
480*724ba675SRob Herring				pinctrl-names = "default";
481*724ba675SRob Herring				status = "disabled";
482*724ba675SRob Herring			};
483*724ba675SRob Herring
484*724ba675SRob Herring			uart1: serial@a000 {
485*724ba675SRob Herring				compatible = "snps,dw-apb-uart";
486*724ba675SRob Herring				reg = <0xa000 0x100>;
487*724ba675SRob Herring				reg-shift = <2>;
488*724ba675SRob Herring				reg-io-width = <1>;
489*724ba675SRob Herring				interrupts = <9>;
490*724ba675SRob Herring				clocks = <&refclk>;
491*724ba675SRob Herring				pinctrl-0 = <&uart1_pmux>;
492*724ba675SRob Herring				pinctrl-names = "default";
493*724ba675SRob Herring				status = "disabled";
494*724ba675SRob Herring			};
495*724ba675SRob Herring
496*724ba675SRob Herring			uart2: serial@b000 {
497*724ba675SRob Herring				compatible = "snps,dw-apb-uart";
498*724ba675SRob Herring				reg = <0xb000 0x100>;
499*724ba675SRob Herring				reg-shift = <2>;
500*724ba675SRob Herring				reg-io-width = <1>;
501*724ba675SRob Herring				interrupts = <10>;
502*724ba675SRob Herring				clocks = <&refclk>;
503*724ba675SRob Herring				pinctrl-0 = <&uart2_pmux>;
504*724ba675SRob Herring				pinctrl-names = "default";
505*724ba675SRob Herring				status = "disabled";
506*724ba675SRob Herring			};
507*724ba675SRob Herring
508*724ba675SRob Herring			sysctrl: system-controller@d000 {
509*724ba675SRob Herring				compatible = "simple-mfd", "syscon";
510*724ba675SRob Herring				reg = <0xd000 0x100>;
511*724ba675SRob Herring
512*724ba675SRob Herring				sys_pinctrl: pin-controller {
513*724ba675SRob Herring					compatible = "marvell,berlin2-system-pinctrl";
514*724ba675SRob Herring					uart0_pmux: uart0-pmux {
515*724ba675SRob Herring						groups = "GSM4";
516*724ba675SRob Herring						function = "uart0";
517*724ba675SRob Herring					};
518*724ba675SRob Herring
519*724ba675SRob Herring					uart1_pmux: uart1-pmux {
520*724ba675SRob Herring						groups = "GSM5";
521*724ba675SRob Herring						function = "uart1";
522*724ba675SRob Herring					};
523*724ba675SRob Herring					uart2_pmux: uart2-pmux {
524*724ba675SRob Herring						groups = "GSM3";
525*724ba675SRob Herring						function = "uart2";
526*724ba675SRob Herring					};
527*724ba675SRob Herring				};
528*724ba675SRob Herring			};
529*724ba675SRob Herring
530*724ba675SRob Herring			sic: interrupt-controller@e000 {
531*724ba675SRob Herring				compatible = "snps,dw-apb-ictl";
532*724ba675SRob Herring				reg = <0xe000 0x400>;
533*724ba675SRob Herring				interrupt-controller;
534*724ba675SRob Herring				#interrupt-cells = <1>;
535*724ba675SRob Herring				interrupt-parent = <&gic>;
536*724ba675SRob Herring				interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
537*724ba675SRob Herring			};
538*724ba675SRob Herring		};
539*724ba675SRob Herring	};
540*724ba675SRob Herring};
541