1// SPDX-License-Identifier: GPL-2.0-only
2// Copyright (C) 2014 Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
3
4/dts-v1/;
5
6#include <dt-bindings/gpio/gpio.h>
7#include "orion5x-mv88f5182.dtsi"
8
9/ {
10	model = "Marvell Reference Design 88F5182 NAS";
11	compatible = "marvell,rd-88f5182-nas", "marvell,orion5x-88f5182", "marvell,orion5x";
12
13	memory {
14		device_type = "memory";
15		reg = <0x00000000 0x4000000>; /* 64 MB */
16	};
17
18	chosen {
19		bootargs = "console=ttyS0,115200n8 earlyprintk";
20		stdout-path = &uart0;
21	};
22
23	soc {
24		ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000>,
25		         <MBUS_ID(0x09, 0x00) 0 0xf2200000 0x800>,
26			 <MBUS_ID(0x01, 0x0f) 0 0xf4000000 0x80000>,
27			 <MBUS_ID(0x01, 0x1d) 0 0xfc000000 0x1000000>;
28	};
29
30	gpio-leds {
31		compatible = "gpio-leds";
32		pinctrl-0 = <&pmx_debug_led>;
33		pinctrl-names = "default";
34
35		led@0 {
36			label = "rd88f5182:cpu";
37			linux,default-trigger = "heartbeat";
38			gpios = <&gpio0 0 GPIO_ACTIVE_HIGH>;
39		};
40	};
41};
42
43&devbus_bootcs {
44	status = "okay";
45
46	/* Read parameters */
47	devbus,bus-width    = <8>;
48	devbus,turn-off-ps  = <90000>;
49	devbus,badr-skew-ps = <0>;
50	devbus,acc-first-ps = <186000>;
51	devbus,acc-next-ps  = <186000>;
52
53	/* Write parameters */
54	devbus,wr-high-ps  = <90000>;
55	devbus,wr-low-ps   = <90000>;
56	devbus,ale-wr-ps   = <90000>;
57
58	flash@0 {
59		compatible = "cfi-flash";
60		reg = <0 0x80000>;
61		bank-width = <1>;
62	};
63};
64
65&devbus_cs1 {
66	status = "okay";
67
68	/* Read parameters */
69	devbus,bus-width    = <8>;
70	devbus,turn-off-ps  = <90000>;
71	devbus,badr-skew-ps = <0>;
72	devbus,acc-first-ps = <186000>;
73	devbus,acc-next-ps  = <186000>;
74
75	/* Write parameters */
76	devbus,wr-high-ps  = <90000>;
77	devbus,wr-low-ps   = <90000>;
78	devbus,ale-wr-ps   = <90000>;
79
80	flash@0 {
81		compatible = "cfi-flash";
82		reg = <0 0x1000000>;
83		bank-width = <1>;
84	};
85};
86
87&ehci0 {
88	status = "okay";
89};
90
91&ehci1 {
92	status = "okay";
93};
94
95&eth {
96	status = "okay";
97
98	ethernet-port@0 {
99		phy-handle = <&ethphy>;
100	};
101};
102
103&i2c {
104	status = "okay";
105	clock-frequency = <100000>;
106	#address-cells = <1>;
107
108	rtc@68 {
109		pinctrl-0 = <&pmx_rtc>;
110		pinctrl-names = "default";
111		compatible = "dallas,ds1338";
112		reg = <0x68>;
113	};
114};
115
116&mdio {
117	status = "okay";
118
119	ethphy: ethernet-phy {
120		reg = <8>;
121	};
122};
123
124&pinctrl {
125	pinctrl-0 = <&pmx_reset_switch &pmx_misc_gpios
126		&pmx_pci_gpios>;
127	pinctrl-names = "default";
128
129	/*
130	 * MPP[20] PCI Clock to MV88F5182
131	 * MPP[21] PCI Clock to mini PCI CON11
132	 * MPP[22] USB 0 over current indication
133	 * MPP[23] USB 1 over current indication
134	 * MPP[24] USB 1 over current enable
135	 * MPP[25] USB 0 over current enable
136	 */
137
138	pmx_debug_led: pmx-debug_led {
139		marvell,pins = "mpp0";
140		marvell,function = "gpio";
141	};
142
143	pmx_reset_switch: pmx-reset-switch {
144		marvell,pins = "mpp1";
145		marvell,function = "gpio";
146	};
147
148	pmx_rtc: pmx-rtc {
149		marvell,pins = "mpp3";
150		marvell,function = "gpio";
151	};
152
153	pmx_misc_gpios: pmx-misc-gpios {
154		marvell,pins = "mpp4", "mpp5";
155		marvell,function = "gpio";
156	};
157
158	pmx_pci_gpios: pmx-pci-gpios {
159		marvell,pins = "mpp6", "mpp7";
160		marvell,function = "gpio";
161	};
162};
163
164&sata {
165	pinctrl-0 = <&pmx_sata0 &pmx_sata1>;
166	pinctrl-names = "default";
167	status = "okay";
168	nr-ports = <2>;
169};
170
171&uart0 {
172	status = "okay";
173};
174