1279377Simp/include/ "skeleton.dtsi"
2279377Simp
3295436Sandrew#include <dt-bindings/gpio/gpio.h>
4295436Sandrew#include <dt-bindings/interrupt-controller/irq.h>
5295436Sandrew
6279377Simp#define MBUS_ID(target,attributes) (((target) << 24) | ((attributes) << 16))
7279377Simp
8279377Simp/ {
9279377Simp	compatible = "marvell,dove";
10279377Simp	model = "Marvell Armada 88AP510 SoC";
11279377Simp	interrupt-parent = <&intc>;
12279377Simp
13279377Simp	aliases {
14279377Simp		gpio0 = &gpio0;
15279377Simp		gpio1 = &gpio1;
16279377Simp		gpio2 = &gpio2;
17279377Simp	};
18279377Simp
19279377Simp	cpus {
20279377Simp		#address-cells = <1>;
21279377Simp		#size-cells = <0>;
22279377Simp
23279377Simp		cpu0: cpu@0 {
24279377Simp			compatible = "marvell,pj4a", "marvell,sheeva-v7";
25279377Simp			device_type = "cpu";
26279377Simp			next-level-cache = <&l2>;
27279377Simp			reg = <0>;
28279377Simp		};
29279377Simp	};
30279377Simp
31279377Simp	l2: l2-cache {
32279377Simp		compatible = "marvell,tauros2-cache";
33279377Simp		marvell,tauros2-cache-features = <0>;
34279377Simp	};
35279377Simp
36295436Sandrew	gpu-subsystem {
37295436Sandrew		compatible = "marvell,dove-gpu-subsystem";
38295436Sandrew		cores = <&gpu>;
39295436Sandrew		status = "disabled";
40295436Sandrew	};
41295436Sandrew
42295436Sandrew	i2c-mux {
43295436Sandrew		compatible = "i2c-mux-pinctrl";
44295436Sandrew		#address-cells = <1>;
45295436Sandrew		#size-cells = <0>;
46295436Sandrew
47295436Sandrew		i2c-parent = <&i2c>;
48295436Sandrew
49295436Sandrew		pinctrl-names = "i2c0", "i2c1", "i2c2";
50295436Sandrew		pinctrl-0 = <&pmx_i2cmux_0>;
51295436Sandrew		pinctrl-1 = <&pmx_i2cmux_1>;
52295436Sandrew		pinctrl-2 = <&pmx_i2cmux_2>;
53295436Sandrew
54295436Sandrew		i2c0: i2c@0 {
55295436Sandrew			reg = <0>;
56295436Sandrew			#address-cells = <1>;
57295436Sandrew			#size-cells = <0>;
58295436Sandrew			status = "okay";
59295436Sandrew		};
60295436Sandrew
61295436Sandrew		i2c1: i2c@1 {
62295436Sandrew			reg = <1>;
63295436Sandrew			#address-cells = <1>;
64295436Sandrew			#size-cells = <0>;
65295436Sandrew			/* Requires pmx_i2c1 on i2c controller node */
66295436Sandrew			status = "disabled";
67295436Sandrew		};
68295436Sandrew
69295436Sandrew		i2c2: i2c@2 {
70295436Sandrew			reg = <2>;
71295436Sandrew			#address-cells = <1>;
72295436Sandrew			#size-cells = <0>;
73295436Sandrew			/* Requires pmx_i2c2 on i2c controller node */
74295436Sandrew			status = "disabled";
75295436Sandrew		};
76295436Sandrew	};
77295436Sandrew
78279377Simp	mbus {
79279377Simp		compatible = "marvell,dove-mbus", "marvell,mbus", "simple-bus";
80279377Simp		#address-cells = <2>;
81279377Simp		#size-cells = <1>;
82279377Simp		controller = <&mbusc>;
83279377Simp		pcie-mem-aperture = <0xe0000000 0x10000000>; /* 256M MEM space */
84279377Simp		pcie-io-aperture  = <0xf2000000 0x00200000>; /*   2M I/O space */
85279377Simp
86279377Simp		ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x0100000   /* MBUS regs  1M */
87279377Simp			  MBUS_ID(0xf0, 0x02) 0 0xf1800000 0x1000000   /* AXI  regs 16M */
88279377Simp			  MBUS_ID(0x01, 0xfd) 0 0xf8000000 0x8000000   /* BootROM  128M */
89279377Simp			  MBUS_ID(0x03, 0x01) 0 0xc8000000 0x0100000   /* CESA SRAM  1M */
90279377Simp			  MBUS_ID(0x0d, 0x00) 0 0xf0000000 0x0100000>; /* PMU  SRAM  1M */
91279377Simp
92279377Simp		pcie: pcie-controller {
93279377Simp			compatible = "marvell,dove-pcie";
94279377Simp			status = "disabled";
95279377Simp			device_type = "pci";
96279377Simp			#address-cells = <3>;
97279377Simp			#size-cells = <2>;
98279377Simp
99279377Simp			msi-parent = <&intc>;
100279377Simp			bus-range = <0x00 0xff>;
101279377Simp
102279377Simp			ranges = <0x82000000 0x0 0x40000 MBUS_ID(0xf0, 0x01) 0x40000 0 0x2000
103279377Simp			          0x82000000 0x0 0x80000 MBUS_ID(0xf0, 0x01) 0x80000 0 0x2000
104279377Simp				  0x82000000 0x1 0x0 MBUS_ID(0x04, 0xe8) 0 1 0   /* Port 0.0 Mem */
105279377Simp				  0x81000000 0x1 0x0 MBUS_ID(0x04, 0xe0) 0 1 0   /* Port 0.0 I/O */
106279377Simp				  0x82000000 0x2 0x0 MBUS_ID(0x08, 0xe8) 0 1 0   /* Port 1.0 Mem */
107279377Simp				  0x81000000 0x2 0x0 MBUS_ID(0x08, 0xe0) 0 1 0>; /* Port 1.0 I/O */
108279377Simp
109295436Sandrew			pcie0: pcie-port@0 {
110279377Simp				device_type = "pci";
111279377Simp				status = "disabled";
112279377Simp				assigned-addresses = <0x82000800 0 0x40000 0 0x2000>;
113279377Simp				reg = <0x0800 0 0 0 0>;
114279377Simp				clocks = <&gate_clk 4>;
115279377Simp				marvell,pcie-port = <0>;
116279377Simp
117279377Simp				#address-cells = <3>;
118279377Simp				#size-cells = <2>;
119279377Simp				ranges = <0x82000000 0 0 0x82000000 0x1 0 1 0
120279377Simp				          0x81000000 0 0 0x81000000 0x1 0 1 0>;
121279377Simp
122279377Simp				#interrupt-cells = <1>;
123279377Simp				interrupt-map-mask = <0 0 0 0>;
124279377Simp				interrupt-map = <0 0 0 0 &intc 16>;
125279377Simp			};
126279377Simp
127295436Sandrew			pcie1: pcie-port@1 {
128279377Simp				device_type = "pci";
129279377Simp				status = "disabled";
130279377Simp				assigned-addresses = <0x82002800 0 0x80000 0 0x2000>;
131279377Simp				reg = <0x1000 0 0 0 0>;
132279377Simp				clocks = <&gate_clk 5>;
133279377Simp				marvell,pcie-port = <1>;
134279377Simp
135279377Simp				#address-cells = <3>;
136279377Simp				#size-cells = <2>;
137279377Simp				ranges = <0x82000000 0 0 0x82000000 0x2 0 1 0
138279377Simp				          0x81000000 0 0 0x81000000 0x2 0 1 0>;
139279377Simp
140279377Simp				#interrupt-cells = <1>;
141279377Simp				interrupt-map-mask = <0 0 0 0>;
142279377Simp				interrupt-map = <0 0 0 0 &intc 18>;
143279377Simp			};
144279377Simp		};
145279377Simp
146279377Simp		internal-regs {
147279377Simp			compatible = "simple-bus";
148279377Simp			#address-cells = <1>;
149279377Simp			#size-cells = <1>;
150279377Simp			ranges = <0x00000000 MBUS_ID(0xf0, 0x01) 0 0x0100000   /* MBUS regs  1M */
151279377Simp				  0x00800000 MBUS_ID(0xf0, 0x02) 0 0x1000000   /* AXI  regs 16M */
152279377Simp				  0xffffe000 MBUS_ID(0x03, 0x01) 0 0x0000800   /* CESA SRAM  2k */
153279377Simp				  0xfffff000 MBUS_ID(0x0d, 0x00) 0 0x0000800>; /* PMU  SRAM  2k */
154279377Simp
155279377Simp			spi0: spi-ctrl@10600 {
156279377Simp				compatible = "marvell,orion-spi";
157279377Simp				#address-cells = <1>;
158279377Simp				#size-cells = <0>;
159279377Simp				cell-index = <0>;
160279377Simp				interrupts = <6>;
161279377Simp				reg = <0x10600 0x28>;
162279377Simp				clocks = <&core_clk 0>;
163279377Simp				pinctrl-0 = <&pmx_spi0>;
164279377Simp				pinctrl-names = "default";
165279377Simp				status = "disabled";
166279377Simp			};
167279377Simp
168295436Sandrew			i2c: i2c-ctrl@11000 {
169279377Simp				compatible = "marvell,mv64xxx-i2c";
170279377Simp				reg = <0x11000 0x20>;
171279377Simp				#address-cells = <1>;
172279377Simp				#size-cells = <0>;
173279377Simp				interrupts = <11>;
174279377Simp				clock-frequency = <400000>;
175279377Simp				timeout-ms = <1000>;
176279377Simp				clocks = <&core_clk 0>;
177295436Sandrew				status = "okay";
178279377Simp			};
179279377Simp
180279377Simp			uart0: serial@12000 {
181279377Simp				compatible = "ns16550a";
182279377Simp				reg = <0x12000 0x100>;
183279377Simp				reg-shift = <2>;
184279377Simp				interrupts = <7>;
185279377Simp				clocks = <&core_clk 0>;
186279377Simp				status = "disabled";
187279377Simp			};
188279377Simp
189279377Simp			uart1: serial@12100 {
190279377Simp				compatible = "ns16550a";
191279377Simp				reg = <0x12100 0x100>;
192279377Simp				reg-shift = <2>;
193279377Simp				interrupts = <8>;
194279377Simp				clocks = <&core_clk 0>;
195279377Simp				pinctrl-0 = <&pmx_uart1>;
196279377Simp				pinctrl-names = "default";
197279377Simp				status = "disabled";
198279377Simp			};
199279377Simp
200279377Simp			uart2: serial@12200 {
201279377Simp				compatible = "ns16550a";
202295436Sandrew				reg = <0x12200 0x100>;
203279377Simp				reg-shift = <2>;
204279377Simp				interrupts = <9>;
205279377Simp				clocks = <&core_clk 0>;
206279377Simp				status = "disabled";
207279377Simp			};
208279377Simp
209279377Simp			uart3: serial@12300 {
210279377Simp				compatible = "ns16550a";
211295436Sandrew				reg = <0x12300 0x100>;
212279377Simp				reg-shift = <2>;
213279377Simp				interrupts = <10>;
214279377Simp				clocks = <&core_clk 0>;
215279377Simp				status = "disabled";
216279377Simp			};
217279377Simp
218279377Simp			spi1: spi-ctrl@14600 {
219279377Simp				compatible = "marvell,orion-spi";
220279377Simp				#address-cells = <1>;
221279377Simp				#size-cells = <0>;
222279377Simp				cell-index = <1>;
223279377Simp				interrupts = <5>;
224279377Simp				reg = <0x14600 0x28>;
225279377Simp				clocks = <&core_clk 0>;
226279377Simp				status = "disabled";
227279377Simp			};
228279377Simp
229279377Simp			mbusc: mbus-ctrl@20000 {
230279377Simp				compatible = "marvell,mbus-controller";
231279377Simp				reg = <0x20000 0x80>, <0x800100 0x8>;
232279377Simp			};
233279377Simp
234279377Simp			sysc: system-ctrl@20000 {
235279377Simp				compatible = "marvell,orion-system-controller";
236279377Simp				reg = <0x20000 0x110>;
237279377Simp			};
238279377Simp
239279377Simp			bridge_intc: bridge-interrupt-ctrl@20110 {
240279377Simp				compatible = "marvell,orion-bridge-intc";
241279377Simp				interrupt-controller;
242279377Simp				#interrupt-cells = <1>;
243279377Simp				reg = <0x20110 0x8>;
244279377Simp				interrupts = <0>;
245279377Simp				marvell,#interrupts = <5>;
246279377Simp			};
247279377Simp
248279377Simp			intc: main-interrupt-ctrl@20200 {
249279377Simp				compatible = "marvell,orion-intc";
250279377Simp				interrupt-controller;
251279377Simp				#interrupt-cells = <1>;
252279377Simp				reg = <0x20200 0x10>, <0x20210 0x10>;
253279377Simp			};
254279377Simp
255279377Simp			timer: timer@20300 {
256279377Simp				compatible = "marvell,orion-timer";
257279377Simp				reg = <0x20300 0x20>;
258279377Simp				interrupt-parent = <&bridge_intc>;
259279377Simp				interrupts = <1>, <2>;
260279377Simp				clocks = <&core_clk 0>;
261279377Simp			};
262279377Simp
263279377Simp			watchdog@20300 {
264279377Simp				compatible = "marvell,orion-wdt";
265279377Simp				reg = <0x20300 0x28>, <0x20108 0x4>;
266279377Simp				interrupt-parent = <&bridge_intc>;
267279377Simp				interrupts = <3>;
268279377Simp				clocks = <&core_clk 0>;
269279377Simp			};
270279377Simp
271279377Simp			crypto: crypto-engine@30000 {
272295436Sandrew				compatible = "marvell,dove-crypto";
273295436Sandrew				reg = <0x30000 0x10000>;
274295436Sandrew				reg-names = "regs";
275279377Simp				interrupts = <31>;
276279377Simp				clocks = <&gate_clk 15>;
277295436Sandrew				marvell,crypto-srams = <&crypto_sram>;
278295436Sandrew				marvell,crypto-sram-size = <0x800>;
279279377Simp				status = "okay";
280279377Simp			};
281279377Simp
282279377Simp			ehci0: usb-host@50000 {
283279377Simp				compatible = "marvell,orion-ehci";
284279377Simp				reg = <0x50000 0x1000>;
285279377Simp				interrupts = <24>;
286279377Simp				clocks = <&gate_clk 0>;
287279377Simp				status = "okay";
288279377Simp			};
289279377Simp
290279377Simp			ehci1: usb-host@51000 {
291279377Simp				compatible = "marvell,orion-ehci";
292279377Simp				reg = <0x51000 0x1000>;
293279377Simp				interrupts = <25>;
294279377Simp				clocks = <&gate_clk 1>;
295279377Simp				status = "okay";
296279377Simp			};
297279377Simp
298279377Simp			xor0: dma-engine@60800 {
299279377Simp				compatible = "marvell,orion-xor";
300279377Simp				reg = <0x60800 0x100
301279377Simp				       0x60a00 0x100>;
302279377Simp				clocks = <&gate_clk 23>;
303279377Simp				status = "okay";
304279377Simp
305279377Simp				channel0 {
306279377Simp					interrupts = <39>;
307279377Simp					dmacap,memcpy;
308279377Simp					dmacap,xor;
309279377Simp				};
310279377Simp
311279377Simp				channel1 {
312279377Simp					interrupts = <40>;
313279377Simp					dmacap,memcpy;
314279377Simp					dmacap,xor;
315279377Simp				};
316279377Simp			};
317279377Simp
318279377Simp			xor1: dma-engine@60900 {
319279377Simp				compatible = "marvell,orion-xor";
320279377Simp				reg = <0x60900 0x100
321279377Simp				       0x60b00 0x100>;
322279377Simp				clocks = <&gate_clk 24>;
323279377Simp				status = "okay";
324279377Simp
325279377Simp				channel0 {
326279377Simp					interrupts = <42>;
327279377Simp					dmacap,memcpy;
328279377Simp					dmacap,xor;
329279377Simp				};
330279377Simp
331279377Simp				channel1 {
332279377Simp					interrupts = <43>;
333279377Simp					dmacap,memcpy;
334279377Simp					dmacap,xor;
335279377Simp				};
336279377Simp			};
337279377Simp
338279377Simp			sdio1: sdio-host@90000 {
339279377Simp				compatible = "marvell,dove-sdhci";
340279377Simp				reg = <0x90000 0x100>;
341279377Simp				interrupts = <36>, <38>;
342279377Simp				clocks = <&gate_clk 9>;
343279377Simp				pinctrl-0 = <&pmx_sdio1>;
344279377Simp				pinctrl-names = "default";
345279377Simp				status = "disabled";
346279377Simp			};
347279377Simp
348279377Simp			eth: ethernet-ctrl@72000 {
349279377Simp				compatible = "marvell,orion-eth";
350279377Simp				#address-cells = <1>;
351279377Simp				#size-cells = <0>;
352279377Simp				reg = <0x72000 0x4000>;
353279377Simp				clocks = <&gate_clk 2>;
354279377Simp				marvell,tx-checksum-limit = <1600>;
355279377Simp				status = "disabled";
356279377Simp
357279377Simp				ethernet-port@0 {
358279377Simp					compatible = "marvell,orion-eth-port";
359279377Simp					reg = <0>;
360279377Simp					interrupts = <29>;
361279377Simp					/* overwrite MAC address in bootloader */
362279377Simp					local-mac-address = [00 00 00 00 00 00];
363279377Simp					phy-handle = <&ethphy>;
364279377Simp				};
365279377Simp			};
366279377Simp
367279377Simp			mdio: mdio-bus@72004 {
368279377Simp				compatible = "marvell,orion-mdio";
369279377Simp				#address-cells = <1>;
370279377Simp				#size-cells = <0>;
371279377Simp				reg = <0x72004 0x84>;
372279377Simp				interrupts = <30>;
373279377Simp				clocks = <&gate_clk 2>;
374279377Simp				status = "disabled";
375279377Simp
376279377Simp				ethphy: ethernet-phy {
377279377Simp					/* set phy address in board file */
378279377Simp				};
379279377Simp			};
380279377Simp
381279377Simp			sdio0: sdio-host@92000 {
382279377Simp				compatible = "marvell,dove-sdhci";
383279377Simp				reg = <0x92000 0x100>;
384279377Simp				interrupts = <35>, <37>;
385279377Simp				clocks = <&gate_clk 8>;
386279377Simp				pinctrl-0 = <&pmx_sdio0>;
387279377Simp				pinctrl-names = "default";
388279377Simp				status = "disabled";
389279377Simp			};
390279377Simp
391279377Simp			sata0: sata-host@a0000 {
392279377Simp				compatible = "marvell,orion-sata";
393279377Simp				reg = <0xa0000 0x2400>;
394279377Simp				interrupts = <62>;
395279377Simp				clocks = <&gate_clk 3>;
396279377Simp				phys = <&sata_phy0>;
397279377Simp				phy-names = "port0";
398279377Simp				nr-ports = <1>;
399279377Simp				status = "disabled";
400279377Simp			};
401279377Simp
402279377Simp			sata_phy0: sata-phy@a2000 {
403279377Simp				compatible = "marvell,mvebu-sata-phy";
404279377Simp				reg = <0xa2000 0x0334>;
405279377Simp				clocks = <&gate_clk 3>;
406279377Simp				clock-names = "sata";
407279377Simp				#phy-cells = <0>;
408279377Simp				status = "ok";
409279377Simp			};
410279377Simp
411279377Simp			audio0: audio-controller@b0000 {
412279377Simp				compatible = "marvell,dove-audio";
413279377Simp				reg = <0xb0000 0x2210>;
414279377Simp				interrupts = <19>, <20>;
415279377Simp				clocks = <&gate_clk 12>;
416279377Simp				clock-names = "internal";
417279377Simp				status = "disabled";
418279377Simp			};
419279377Simp
420279377Simp			audio1: audio-controller@b4000 {
421279377Simp				compatible = "marvell,dove-audio";
422279377Simp				reg = <0xb4000 0x2210>;
423279377Simp				interrupts = <21>, <22>;
424279377Simp				clocks = <&gate_clk 13>;
425279377Simp				clock-names = "internal";
426279377Simp				status = "disabled";
427279377Simp			};
428279377Simp
429295436Sandrew			pmu: power-management@d0000 {
430295436Sandrew				compatible = "marvell,dove-pmu", "simple-bus";
431295436Sandrew				reg = <0xd0000 0x8000>, <0xd8000 0x8000>;
432295436Sandrew				ranges = <0x00000000 0x000d0000 0x8000
433295436Sandrew					  0x00008000 0x000d8000 0x8000>;
434295436Sandrew				interrupts = <33>;
435295436Sandrew				interrupt-controller;
436295436Sandrew				#address-cells = <1>;
437295436Sandrew				#size-cells = <1>;
438295436Sandrew				#interrupt-cells = <1>;
439295436Sandrew				#reset-cells = <1>;
440279377Simp
441295436Sandrew				domains {
442295436Sandrew					vpu_domain: vpu-domain {
443295436Sandrew						#power-domain-cells = <0>;
444295436Sandrew						marvell,pmu_pwr_mask = <0x00000008>;
445295436Sandrew						marvell,pmu_iso_mask = <0x00000001>;
446295436Sandrew						resets = <&pmu 16>;
447295436Sandrew					};
448279377Simp
449295436Sandrew					gpu_domain: gpu-domain {
450295436Sandrew						#power-domain-cells = <0>;
451295436Sandrew						marvell,pmu_pwr_mask = <0x00000004>;
452295436Sandrew						marvell,pmu_iso_mask = <0x00000002>;
453295436Sandrew						resets = <&pmu 18>;
454295436Sandrew					};
455279377Simp				};
456279377Simp
457295436Sandrew				thermal: thermal-diode@001c {
458295436Sandrew					compatible = "marvell,dove-thermal";
459295436Sandrew					reg = <0x001c 0x0c>, <0x005c 0x08>;
460279377Simp				};
461279377Simp
462295436Sandrew				gate_clk: clock-gating-ctrl@0038 {
463295436Sandrew					compatible = "marvell,dove-gating-clock";
464295436Sandrew					reg = <0x0038 0x4>;
465295436Sandrew					clocks = <&core_clk 0>;
466295436Sandrew					#clock-cells = <1>;
467279377Simp				};
468279377Simp
469295436Sandrew				divider_clk: core-clock@0064 {
470295436Sandrew					compatible = "marvell,dove-divider-clock";
471295436Sandrew					reg = <0x0064 0x8>;
472295436Sandrew					#clock-cells = <1>;
473279377Simp				};
474279377Simp
475295436Sandrew				pinctrl: pin-ctrl@0200 {
476295436Sandrew					compatible = "marvell,dove-pinctrl";
477295436Sandrew					reg = <0x0200 0x14>,
478295436Sandrew					      <0x0440 0x04>;
479295436Sandrew					clocks = <&gate_clk 22>;
480279377Simp
481295436Sandrew					pmx_gpio_0: pmx-gpio-0 {
482295436Sandrew						marvell,pins = "mpp0";
483295436Sandrew						marvell,function = "gpio";
484295436Sandrew					};
485279377Simp
486295436Sandrew					pmx_gpio_1: pmx-gpio-1 {
487295436Sandrew						marvell,pins = "mpp1";
488295436Sandrew						marvell,function = "gpio";
489295436Sandrew					};
490279377Simp
491295436Sandrew					pmx_gpio_2: pmx-gpio-2 {
492295436Sandrew						marvell,pins = "mpp2";
493295436Sandrew						marvell,function = "gpio";
494295436Sandrew					};
495279377Simp
496295436Sandrew					pmx_gpio_3: pmx-gpio-3 {
497295436Sandrew						marvell,pins = "mpp3";
498295436Sandrew						marvell,function = "gpio";
499295436Sandrew					};
500279377Simp
501295436Sandrew					pmx_gpio_4: pmx-gpio-4 {
502295436Sandrew						marvell,pins = "mpp4";
503295436Sandrew						marvell,function = "gpio";
504295436Sandrew					};
505279377Simp
506295436Sandrew					pmx_gpio_5: pmx-gpio-5 {
507295436Sandrew						marvell,pins = "mpp5";
508295436Sandrew						marvell,function = "gpio";
509295436Sandrew					};
510279377Simp
511295436Sandrew					pmx_gpio_6: pmx-gpio-6 {
512295436Sandrew						marvell,pins = "mpp6";
513295436Sandrew						marvell,function = "gpio";
514295436Sandrew					};
515279377Simp
516295436Sandrew					pmx_gpio_7: pmx-gpio-7 {
517295436Sandrew						marvell,pins = "mpp7";
518295436Sandrew						marvell,function = "gpio";
519295436Sandrew					};
520279377Simp
521295436Sandrew					pmx_gpio_8: pmx-gpio-8 {
522295436Sandrew						marvell,pins = "mpp8";
523295436Sandrew						marvell,function = "gpio";
524295436Sandrew					};
525279377Simp
526295436Sandrew					pmx_gpio_9: pmx-gpio-9 {
527295436Sandrew						marvell,pins = "mpp9";
528295436Sandrew						marvell,function = "gpio";
529295436Sandrew					};
530279377Simp
531295436Sandrew					pmx_pcie1_clkreq: pmx-pcie1-clkreq {
532295436Sandrew						marvell,pins = "mpp9";
533295436Sandrew						marvell,function = "pex1";
534295436Sandrew					};
535279377Simp
536295436Sandrew					pmx_gpio_10: pmx-gpio-10 {
537295436Sandrew						marvell,pins = "mpp10";
538295436Sandrew						marvell,function = "gpio";
539295436Sandrew					};
540279377Simp
541295436Sandrew					pmx_gpio_11: pmx-gpio-11 {
542295436Sandrew						marvell,pins = "mpp11";
543295436Sandrew						marvell,function = "gpio";
544295436Sandrew					};
545279377Simp
546295436Sandrew					pmx_pcie0_clkreq: pmx-pcie0-clkreq {
547295436Sandrew						marvell,pins = "mpp11";
548295436Sandrew						marvell,function = "pex0";
549295436Sandrew					};
550279377Simp
551295436Sandrew					pmx_gpio_12: pmx-gpio-12 {
552295436Sandrew						marvell,pins = "mpp12";
553295436Sandrew						marvell,function = "gpio";
554295436Sandrew					};
555279377Simp
556295436Sandrew					pmx_gpio_13: pmx-gpio-13 {
557295436Sandrew						marvell,pins = "mpp13";
558295436Sandrew						marvell,function = "gpio";
559295436Sandrew					};
560279377Simp
561295436Sandrew					pmx_audio1_extclk: pmx-audio1-extclk {
562295436Sandrew						marvell,pins = "mpp13";
563295436Sandrew						marvell,function = "audio1";
564295436Sandrew					};
565279377Simp
566295436Sandrew					pmx_gpio_14: pmx-gpio-14 {
567295436Sandrew						marvell,pins = "mpp14";
568295436Sandrew						marvell,function = "gpio";
569295436Sandrew					};
570279377Simp
571295436Sandrew					pmx_gpio_15: pmx-gpio-15 {
572295436Sandrew						marvell,pins = "mpp15";
573295436Sandrew						marvell,function = "gpio";
574295436Sandrew					};
575279377Simp
576295436Sandrew					pmx_gpio_16: pmx-gpio-16 {
577295436Sandrew						marvell,pins = "mpp16";
578295436Sandrew						marvell,function = "gpio";
579295436Sandrew					};
580279377Simp
581295436Sandrew					pmx_gpio_17: pmx-gpio-17 {
582295436Sandrew						marvell,pins = "mpp17";
583295436Sandrew						marvell,function = "gpio";
584295436Sandrew					};
585279377Simp
586295436Sandrew					pmx_gpio_18: pmx-gpio-18 {
587295436Sandrew						marvell,pins = "mpp18";
588295436Sandrew						marvell,function = "gpio";
589295436Sandrew					};
590279377Simp
591295436Sandrew					pmx_gpio_19: pmx-gpio-19 {
592295436Sandrew						marvell,pins = "mpp19";
593295436Sandrew						marvell,function = "gpio";
594295436Sandrew					};
595279377Simp
596295436Sandrew					pmx_gpio_20: pmx-gpio-20 {
597295436Sandrew						marvell,pins = "mpp20";
598295436Sandrew						marvell,function = "gpio";
599295436Sandrew					};
600279377Simp
601295436Sandrew					pmx_gpio_21: pmx-gpio-21 {
602295436Sandrew						marvell,pins = "mpp21";
603295436Sandrew						marvell,function = "gpio";
604295436Sandrew					};
605279377Simp
606295436Sandrew					pmx_camera: pmx-camera {
607295436Sandrew						marvell,pins = "mpp_camera";
608295436Sandrew						marvell,function = "camera";
609295436Sandrew					};
610279377Simp
611295436Sandrew					pmx_camera_gpio: pmx-camera-gpio {
612295436Sandrew						marvell,pins = "mpp_camera";
613295436Sandrew						marvell,function = "gpio";
614295436Sandrew					};
615279377Simp
616295436Sandrew					pmx_sdio0: pmx-sdio0 {
617295436Sandrew						marvell,pins = "mpp_sdio0";
618295436Sandrew						marvell,function = "sdio0";
619295436Sandrew					};
620295436Sandrew
621295436Sandrew					pmx_sdio0_gpio: pmx-sdio0-gpio {
622295436Sandrew						marvell,pins = "mpp_sdio0";
623295436Sandrew						marvell,function = "gpio";
624295436Sandrew					};
625295436Sandrew
626295436Sandrew					pmx_sdio1: pmx-sdio1 {
627295436Sandrew						marvell,pins = "mpp_sdio1";
628295436Sandrew						marvell,function = "sdio1";
629295436Sandrew					};
630295436Sandrew
631295436Sandrew					pmx_sdio1_gpio: pmx-sdio1-gpio {
632295436Sandrew						marvell,pins = "mpp_sdio1";
633295436Sandrew						marvell,function = "gpio";
634295436Sandrew					};
635295436Sandrew
636295436Sandrew					pmx_audio1_gpio: pmx-audio1-gpio {
637295436Sandrew						marvell,pins = "mpp_audio1";
638295436Sandrew						marvell,function = "gpio";
639295436Sandrew					};
640295436Sandrew
641295436Sandrew					pmx_audio1_i2s1_spdifo: pmx-audio1-i2s1-spdifo {
642295436Sandrew						marvell,pins = "mpp_audio1";
643295436Sandrew						marvell,function = "i2s1/spdifo";
644295436Sandrew					};
645295436Sandrew
646295436Sandrew					pmx_spi0: pmx-spi0 {
647295436Sandrew						marvell,pins = "mpp_spi0";
648295436Sandrew						marvell,function = "spi0";
649295436Sandrew					};
650295436Sandrew
651295436Sandrew					pmx_spi0_gpio: pmx-spi0-gpio {
652295436Sandrew						marvell,pins = "mpp_spi0";
653295436Sandrew						marvell,function = "gpio";
654295436Sandrew					};
655295436Sandrew
656295436Sandrew					pmx_spi1_4_7: pmx-spi1-4-7 {
657295436Sandrew						marvell,pins = "mpp4", "mpp5",
658295436Sandrew							"mpp6", "mpp7";
659295436Sandrew						marvell,function = "spi1";
660295436Sandrew					};
661295436Sandrew
662295436Sandrew					pmx_spi1_20_23: pmx-spi1-20-23 {
663295436Sandrew						marvell,pins = "mpp20", "mpp21",
664295436Sandrew							"mpp22", "mpp23";
665295436Sandrew						marvell,function = "spi1";
666295436Sandrew					};
667295436Sandrew
668295436Sandrew					pmx_uart1: pmx-uart1 {
669295436Sandrew						marvell,pins = "mpp_uart1";
670295436Sandrew						marvell,function = "uart1";
671295436Sandrew					};
672295436Sandrew
673295436Sandrew					pmx_uart1_gpio: pmx-uart1-gpio {
674295436Sandrew						marvell,pins = "mpp_uart1";
675295436Sandrew						marvell,function = "gpio";
676295436Sandrew					};
677295436Sandrew
678295436Sandrew					pmx_nand: pmx-nand {
679295436Sandrew						marvell,pins = "mpp_nand";
680295436Sandrew						marvell,function = "nand";
681295436Sandrew					};
682295436Sandrew
683295436Sandrew					pmx_nand_gpo: pmx-nand-gpo {
684295436Sandrew						marvell,pins = "mpp_nand";
685295436Sandrew						marvell,function = "gpo";
686295436Sandrew					};
687295436Sandrew
688295436Sandrew					pmx_i2c1: pmx-i2c1 {
689295436Sandrew						marvell,pins = "mpp17", "mpp19";
690295436Sandrew						marvell,function = "twsi";
691295436Sandrew					};
692295436Sandrew
693295436Sandrew					pmx_i2c2: pmx-i2c2 {
694295436Sandrew						marvell,pins = "mpp_audio1";
695295436Sandrew						marvell,function = "twsi";
696295436Sandrew					};
697295436Sandrew
698295436Sandrew					pmx_ssp_i2c2: pmx-ssp-i2c2 {
699295436Sandrew						marvell,pins = "mpp_audio1";
700295436Sandrew						marvell,function = "ssp/twsi";
701295436Sandrew					};
702295436Sandrew
703295436Sandrew					pmx_i2cmux_0: pmx-i2cmux-0 {
704295436Sandrew						marvell,pins = "twsi";
705295436Sandrew						marvell,function = "twsi-opt1";
706295436Sandrew					};
707295436Sandrew
708295436Sandrew					pmx_i2cmux_1: pmx-i2cmux-1 {
709295436Sandrew						marvell,pins = "twsi";
710295436Sandrew						marvell,function = "twsi-opt2";
711295436Sandrew					};
712295436Sandrew
713295436Sandrew					pmx_i2cmux_2: pmx-i2cmux-2 {
714295436Sandrew						marvell,pins = "twsi";
715295436Sandrew						marvell,function = "twsi-opt3";
716295436Sandrew					};
717279377Simp				};
718279377Simp
719295436Sandrew				core_clk: core-clocks@0214 {
720295436Sandrew					compatible = "marvell,dove-core-clock";
721295436Sandrew					reg = <0x0214 0x4>;
722295436Sandrew					#clock-cells = <1>;
723279377Simp				};
724279377Simp
725295436Sandrew				gpio0: gpio-ctrl@0400 {
726295436Sandrew					compatible = "marvell,orion-gpio";
727295436Sandrew					#gpio-cells = <2>;
728295436Sandrew					gpio-controller;
729295436Sandrew					reg = <0x0400 0x20>;
730295436Sandrew					ngpios = <32>;
731295436Sandrew					interrupt-controller;
732295436Sandrew					#interrupt-cells = <2>;
733295436Sandrew					interrupt-parent = <&intc>;
734295436Sandrew					interrupts = <12>, <13>, <14>, <60>;
735279377Simp				};
736279377Simp
737295436Sandrew				gpio1: gpio-ctrl@0420 {
738295436Sandrew					compatible = "marvell,orion-gpio";
739295436Sandrew					#gpio-cells = <2>;
740295436Sandrew					gpio-controller;
741295436Sandrew					reg = <0x0420 0x20>;
742295436Sandrew					ngpios = <32>;
743295436Sandrew					interrupt-controller;
744295436Sandrew					#interrupt-cells = <2>;
745295436Sandrew					interrupt-parent = <&intc>;
746295436Sandrew					interrupts = <61>;
747279377Simp				};
748279377Simp
749295436Sandrew				rtc: real-time-clock@8500 {
750295436Sandrew					compatible = "marvell,orion-rtc";
751295436Sandrew					reg = <0x8500 0x20>;
752295436Sandrew					interrupts = <5>;
753279377Simp				};
754279377Simp			};
755279377Simp
756279377Simp			gconf: global-config@e802c {
757279377Simp				compatible = "marvell,dove-global-config",
758279377Simp				             "syscon";
759279377Simp				reg = <0xe802c 0x14>;
760279377Simp			};
761279377Simp
762279377Simp			gpio2: gpio-ctrl@e8400 {
763279377Simp				compatible = "marvell,orion-gpio";
764279377Simp				#gpio-cells = <2>;
765279377Simp				gpio-controller;
766279377Simp				reg = <0xe8400 0x0c>;
767279377Simp				ngpios = <8>;
768279377Simp			};
769279377Simp
770279377Simp			lcd1: lcd-controller@810000 {
771279377Simp				compatible = "marvell,dove-lcd";
772279377Simp				reg = <0x810000 0x1000>;
773279377Simp				interrupts = <46>;
774279377Simp				status = "disabled";
775279377Simp			};
776279377Simp
777279377Simp			lcd0: lcd-controller@820000 {
778279377Simp				compatible = "marvell,dove-lcd";
779279377Simp				reg = <0x820000 0x1000>;
780279377Simp				interrupts = <47>;
781279377Simp				status = "disabled";
782279377Simp			};
783295436Sandrew
784295436Sandrew			crypto_sram: sa-sram@ffffe000 {
785295436Sandrew				compatible = "mmio-sram";
786295436Sandrew				reg = <0xffffe000 0x800>;
787295436Sandrew				clocks = <&gate_clk 15>;
788295436Sandrew				#address-cells = <1>;
789295436Sandrew				#size-cells = <1>;
790295436Sandrew			};
791295436Sandrew
792295436Sandrew			gpu: gpu@840000 {
793295436Sandrew				clocks = <&divider_clk 1>;
794295436Sandrew				clock-names = "core";
795295436Sandrew				compatible = "vivante,gc";
796295436Sandrew				interrupts = <48>;
797295436Sandrew				power-domains = <&gpu_domain>;
798295436Sandrew				reg = <0x840000 0x4000>;
799295436Sandrew				status = "disabled";
800295436Sandrew			};
801279377Simp		};
802279377Simp	};
803279377Simp};
804