1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Device Tree file for Marvell Armada 388 evaluation board
4 * (DB-88F6820)
5 *
6 *  Copyright (C) 2014 Marvell
7 *
8 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
9 */
10
11/dts-v1/;
12#include "armada-388.dtsi"
13
14/ {
15	model = "Marvell Armada 385 Development Board";
16	compatible = "marvell,a385-db", "marvell,armada388",
17		"marvell,armada385", "marvell,armada380";
18
19	chosen {
20		stdout-path = "serial0:115200n8";
21	};
22
23	memory {
24		device_type = "memory";
25		reg = <0x00000000 0x10000000>; /* 256 MB */
26	};
27
28	soc {
29		ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000
30			  MBUS_ID(0x01, 0x1d) 0 0xfff00000 0x100000
31			  MBUS_ID(0x09, 0x19) 0 0xf1100000 0x10000
32			  MBUS_ID(0x09, 0x15) 0 0xf1110000 0x10000
33			  MBUS_ID(0x0c, 0x04) 0 0xf1200000 0x100000>;
34
35		internal-regs {
36			i2c@11000 {
37				status = "okay";
38				clock-frequency = <100000>;
39				audio_codec: audio-codec@4a {
40					#sound-dai-cells = <0>;
41					compatible = "cirrus,cs42l51";
42					reg = <0x4a>;
43				};
44			};
45
46			i2c@11100 {
47				status = "okay";
48				clock-frequency = <100000>;
49			};
50
51			serial@12000 {
52				status = "okay";
53			};
54
55			ethernet@30000 {
56				status = "okay";
57				phy = <&phy1>;
58				phy-mode = "rgmii-id";
59				buffer-manager = <&bm>;
60				bm,pool-long = <2>;
61				bm,pool-short = <3>;
62			};
63
64			usb@58000 {
65				status = "okay";
66			};
67
68			ethernet@70000 {
69				status = "okay";
70				phy = <&phy0>;
71				phy-mode = "rgmii-id";
72				buffer-manager = <&bm>;
73				bm,pool-long = <0>;
74				bm,pool-short = <1>;
75			};
76
77			mdio@72004 {
78				phy0: ethernet-phy@0 {
79					reg = <0>;
80				};
81
82				phy1: ethernet-phy@1 {
83					reg = <1>;
84				};
85			};
86
87			sata@a8000 {
88				status = "okay";
89			};
90
91			sata@e0000 {
92				status = "okay";
93			};
94
95			bm@c8000 {
96				status = "okay";
97			};
98
99			sdhci@d8000 {
100				broken-cd;
101				wp-inverted;
102				bus-width = <8>;
103				status = "okay";
104				no-1-8-v;
105			};
106
107			audio-controller@e8000 {
108				pinctrl-0 = <&i2s_pins>;
109				pinctrl-names = "default";
110				status = "disabled";
111			};
112
113			usb3@f0000 {
114				status = "okay";
115			};
116
117			usb3@f8000 {
118				status = "okay";
119			};
120		};
121
122		bm-bppi {
123			status = "okay";
124		};
125
126		pcie {
127			status = "okay";
128			/*
129			 * The two PCIe units are accessible through
130			 * standard PCIe slots on the board.
131			 */
132			pcie@1,0 {
133				/* Port 0, Lane 0 */
134				status = "okay";
135			};
136			pcie@2,0 {
137				/* Port 1, Lane 0 */
138				status = "okay";
139			};
140		};
141	};
142
143	sound {
144		compatible = "simple-audio-card";
145		simple-audio-card,name = "Armada 385 DB Audio";
146		simple-audio-card,mclk-fs = <256>;
147		simple-audio-card,widgets =
148			"Headphone", "Out Jack",
149			"Line", "In Jack";
150		simple-audio-card,routing =
151			"Out Jack", "HPL",
152			"Out Jack", "HPR",
153			"AIN1L", "In Jack",
154			"AIN1R", "In Jack";
155		status = "disabled";
156
157		simple-audio-card,dai-link@0 {
158			format = "i2s";
159			cpu {
160				sound-dai = <&audio_controller 0>;
161			};
162
163			codec {
164				sound-dai = <&audio_codec>;
165			};
166		};
167
168		simple-audio-card,dai-link@1 {
169			format = "i2s";
170			cpu {
171				sound-dai = <&audio_controller 1>;
172			};
173
174			codec {
175				sound-dai = <&spdif_out>;
176			};
177		};
178
179		simple-audio-card,dai-link@2 {
180			format = "i2s";
181			cpu {
182				sound-dai = <&audio_controller 1>;
183			};
184
185			codec {
186				sound-dai = <&spdif_in>;
187			};
188		};
189	};
190
191	spdif_out: spdif-out {
192		#sound-dai-cells = <0>;
193		compatible = "linux,spdif-dit";
194	};
195
196	spdif_in: spdif-in {
197		#sound-dai-cells = <0>;
198		compatible = "linux,spdif-dir";
199	};
200};
201
202&spi0 {
203	status = "okay";
204
205	flash@0 {
206		#address-cells = <1>;
207		#size-cells = <1>;
208		compatible = "w25q32", "jedec,spi-nor";
209		reg = <0>; /* Chip select 0 */
210		spi-max-frequency = <108000000>;
211	};
212};
213
214&nand_controller {
215	status = "okay";
216
217	nand@0 {
218		reg = <0>;
219		label = "pxa3xx_nand-0";
220		nand-rb = <0>;
221		marvell,nand-keep-config;
222		nand-on-flash-bbt;
223		nand-ecc-strength = <4>;
224		nand-ecc-step-size = <512>;
225
226		partitions {
227			compatible = "fixed-partitions";
228			#address-cells = <1>;
229			#size-cells = <1>;
230
231			partition@0 {
232				label = "U-Boot";
233				reg = <0 0x800000>;
234			};
235			partition@800000 {
236				label = "Linux";
237				reg = <0x800000 0x800000>;
238			};
239			partition@1000000 {
240				label = "Filesystem";
241				reg = <0x1000000 0x3f000000>;
242			};
243		};
244	};
245};
246