xref: /openbmc/u-boot/arch/arm/dts/armada-8040-db.dts (revision 1878804a)
1/*
2 * Copyright (C) 2016 Marvell Technology Group Ltd.
3 *
4 * This file is dual-licensed: you can use it either under the terms
5 * of the GPLv2 or the X11 license, at your option. Note that this dual
6 * licensing only applies to this file, and not this project as a
7 * whole.
8 *
9 *  a) This library is free software; you can redistribute it and/or
10 *     modify it under the terms of the GNU General Public License as
11 *     published by the Free Software Foundation; either version 2 of the
12 *     License, or (at your option) any later version.
13 *
14 *     This library is distributed in the hope that it will be useful,
15 *     but WITHOUT ANY WARRANTY; without even the implied warranty of
16 *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 *     GNU General Public License for more details.
18 *
19 * Or, alternatively,
20 *
21 *  b) Permission is hereby granted, free of charge, to any person
22 *     obtaining a copy of this software and associated documentation
23 *     files (the "Software"), to deal in the Software without
24 *     restriction, including without limitation the rights to use,
25 *     copy, modify, merge, publish, distribute, sublicense, and/or
26 *     sell copies of the Software, and to permit persons to whom the
27 *     Software is furnished to do so, subject to the following
28 *     conditions:
29 *
30 *     The above copyright notice and this permission notice shall be
31 *     included in all copies or substantial portions of the Software.
32 *
33 *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
34 *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35 *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36 *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37 *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
38 *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39 *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40 *     OTHER DEALINGS IN THE SOFTWARE.
41 */
42
43/*
44 * Device Tree file for Marvell Armada 8040 Development board platform
45 */
46
47#include "armada-8040.dtsi"
48
49/ {
50	model = "Marvell Armada 8040 DB board";
51	compatible = "marvell,armada8040-db", "marvell,armada8040",
52		     "marvell,armada-ap806-quad", "marvell,armada-ap806";
53
54	chosen {
55		stdout-path = "serial0:115200n8";
56	};
57
58	aliases {
59		i2c0 = &cpm_i2c0;
60		spi0 = &cps_spi1;
61	};
62
63	memory@00000000 {
64		device_type = "memory";
65		reg = <0x0 0x0 0x0 0x80000000>;
66	};
67};
68
69/* Accessible over the mini-USB CON9 connector on the main board */
70&uart0 {
71	status = "okay";
72};
73
74&ap_pinctl {
75	/* MPP Bus:
76	 * SDIO  [0-10]
77	 * UART0 [11,19]
78	 */
79		  /* 0 1 2 3 4 5 6 7 8 9 */
80	pin-func = < 1 1 1 1 1 1 1 1 1 1
81		     1 3 0 0 0 0 0 0 0 3 >;
82};
83
84&cpm_pinctl {
85	/* MPP Bus:
86	 * [0-31] = 0xff: Keep default CP0_shared_pins:
87	 * [11] CLKOUT_MPP_11 (out)
88	 * [23] LINK_RD_IN_CP2CP (in)
89	 * [25] CLKOUT_MPP_25 (out)
90	 * [29] AVS_FB_IN_CP2CP (in)
91	 * [32,34] SMI
92	 * [31]    GPIO: push button/Wake
93	 * [35-36] GPIO
94	 * [37-38] I2C
95	 * [40-41] SATA[0/1]_PRESENT_ACTIVEn
96	 * [42-43] XSMI
97	 * [44-55] RGMII1
98	 * [56-62] SD
99	 */
100		/*   0    1    2    3    4    5    6    7    8    9 */
101	pin-func = < 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
102		     0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
103		     0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
104		     0xff 0    7    0    7    0    0    2    2    0
105		     0    0    8    8    1    1    1    1    1    1
106		     1    1    1    1    1    1    0xe  0xe  0xe  0xe
107		     0xe  0xe  0xe >;
108};
109
110/* CON5 on CP0 expansion */
111&cpm_pcie2 {
112	status = "okay";
113};
114
115&cpm_i2c0 {
116	pinctrl-names = "default";
117	pinctrl-0 = <&cpm_i2c0_pins>;
118	status = "okay";
119	clock-frequency = <100000>;
120};
121
122/* CON4 on CP0 expansion */
123&cpm_sata0 {
124	status = "okay";
125};
126
127/* CON9 on CP0 expansion */
128&cpm_usb3_0 {
129	status = "okay";
130};
131
132/* CON10 on CP0 expansion */
133&cpm_usb3_1 {
134	status = "okay";
135};
136
137&cps_pinctl {
138	/* MPP Bus:
139	 * [0-11]  RGMII0
140	 * [13-16] SPI1
141	 * [27,31] GE_MDIO/MDC
142	 * [32-62] = 0xff: Keep default CP1_shared_pins:
143	 */
144		/*   0    1    2    3    4    5    6    7    8    9 */
145	pin-func = < 0x3  0x3  0x3  0x3  0x3  0x3  0x3  0x3  0x3  0x3
146		     0x3  0x3  0xff 0x3  0x3  0x3  0x3  0xff 0xff 0xff
147		     0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x8  0xff 0xff
148		     0xff 0x8  0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
149		     0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
150		     0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
151		     0xff 0xff 0xff >;
152};
153
154/* CON5 on CP1 expansion */
155&cps_pcie2 {
156	status = "okay";
157};
158
159&cps_spi1 {
160	pinctrl-names = "default";
161	pinctrl-0 = <&cps_spi1_pins>;
162	status = "okay";
163
164	spi-flash@0 {
165		#address-cells = <1>;
166		#size-cells = <1>;
167		compatible = "jedec,spi-nor";
168		reg = <0>;
169		spi-max-frequency = <10000000>;
170
171		partitions {
172			compatible = "fixed-partitions";
173			#address-cells = <1>;
174			#size-cells = <1>;
175
176			partition@0 {
177				label = "U-Boot";
178				reg = <0 0x200000>;
179			};
180			partition@400000 {
181				label = "Filesystem";
182				reg = <0x200000 0xce0000>;
183			};
184		};
185	};
186};
187
188/* CON4 on CP1 expansion */
189&cps_sata0 {
190	status = "okay";
191};
192
193/* CON9 on CP1 expansion */
194&cps_usb3_0 {
195	status = "okay";
196};
197
198/* CON10 on CP1 expansion */
199&cps_usb3_1 {
200	status = "okay";
201};
202
203&cpm_comphy {
204	/*
205	 * Serdes Configuration:
206	 * Lane 0: SGMII2
207	 * Lane 1: USB3_HOST0
208	 * Lane 2: KR (10G)
209	 * Lane 3: SATA1
210	 * Lane 4: USB3_HOST1
211	 * Lane 5: PEX2x1
212	 */
213	phy0 {
214		phy-type = <PHY_TYPE_SGMII2>;
215		phy-speed = <PHY_SPEED_3_125G>;
216	};
217
218	phy1 {
219		phy-type = <PHY_TYPE_USB3_HOST0>;
220	};
221
222	phy2 {
223		phy-type = <PHY_TYPE_KR>;
224	};
225
226	phy3 {
227		phy-type = <PHY_TYPE_SATA1>;
228	};
229
230	phy4 {
231		phy-type = <PHY_TYPE_USB3_HOST1>;
232	};
233
234	phy5 {
235		phy-type = <PHY_TYPE_PEX2>;
236	};
237};
238
239&cps_comphy {
240	/*
241	 * Serdes Configuration:
242	 * Lane 0: SGMII2
243	 * Lane 1: USB3_HOST0
244	 * Lane 2: KR (10G)
245	 * Lane 3: SATA1
246	 * Lane 4: Unconnected
247	 * Lane 5: PEX2x1
248	 */
249	phy0 {
250		phy-type = <PHY_TYPE_SGMII2>;
251		phy-speed = <PHY_SPEED_3_125G>;
252	};
253
254	phy1 {
255		phy-type = <PHY_TYPE_USB3_HOST0>;
256	};
257
258	phy2 {
259		phy-type = <PHY_TYPE_KR>;
260	};
261
262	phy3 {
263		phy-type = <PHY_TYPE_SATA1>;
264	};
265
266	phy4 {
267		phy-type = <PHY_TYPE_UNCONNECTED>;
268	};
269
270	phy5 {
271		phy-type = <PHY_TYPE_PEX2>;
272	};
273};
274
275&cpm_utmi0 {
276	status = "okay";
277};
278
279&cpm_utmi1 {
280	status = "okay";
281};
282
283&cps_utmi0 {
284	status = "okay";
285};
286
287&cpm_mdio {
288	phy1: ethernet-phy@1 {
289		reg = <1>;
290	};
291};
292
293&cpm_ethernet {
294	status = "okay";
295};
296
297&cpm_eth2 {
298	status = "okay";
299	phy = <&phy1>;
300	phy-mode = "rgmii-id";
301};
302