xref: /rk3399_rockchip-uboot/arch/arm/dts/armada-8040-db.dts (revision a284212963277114ad60e3442d74f095102a9de5)
1bf2150b9SStefan Roese/*
2bf2150b9SStefan Roese * Copyright (C) 2016 Marvell Technology Group Ltd.
3bf2150b9SStefan Roese *
4bf2150b9SStefan Roese * This file is dual-licensed: you can use it either under the terms
5bf2150b9SStefan Roese * of the GPLv2 or the X11 license, at your option. Note that this dual
6bf2150b9SStefan Roese * licensing only applies to this file, and not this project as a
7bf2150b9SStefan Roese * whole.
8bf2150b9SStefan Roese *
9bf2150b9SStefan Roese *  a) This library is free software; you can redistribute it and/or
10bf2150b9SStefan Roese *     modify it under the terms of the GNU General Public License as
11bf2150b9SStefan Roese *     published by the Free Software Foundation; either version 2 of the
12bf2150b9SStefan Roese *     License, or (at your option) any later version.
13bf2150b9SStefan Roese *
14bf2150b9SStefan Roese *     This library is distributed in the hope that it will be useful,
15bf2150b9SStefan Roese *     but WITHOUT ANY WARRANTY; without even the implied warranty of
16bf2150b9SStefan Roese *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17bf2150b9SStefan Roese *     GNU General Public License for more details.
18bf2150b9SStefan Roese *
19bf2150b9SStefan Roese * Or, alternatively,
20bf2150b9SStefan Roese *
21bf2150b9SStefan Roese *  b) Permission is hereby granted, free of charge, to any person
22bf2150b9SStefan Roese *     obtaining a copy of this software and associated documentation
23bf2150b9SStefan Roese *     files (the "Software"), to deal in the Software without
24bf2150b9SStefan Roese *     restriction, including without limitation the rights to use,
25bf2150b9SStefan Roese *     copy, modify, merge, publish, distribute, sublicense, and/or
26bf2150b9SStefan Roese *     sell copies of the Software, and to permit persons to whom the
27bf2150b9SStefan Roese *     Software is furnished to do so, subject to the following
28bf2150b9SStefan Roese *     conditions:
29bf2150b9SStefan Roese *
30bf2150b9SStefan Roese *     The above copyright notice and this permission notice shall be
31bf2150b9SStefan Roese *     included in all copies or substantial portions of the Software.
32bf2150b9SStefan Roese *
33bf2150b9SStefan Roese *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
34bf2150b9SStefan Roese *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35bf2150b9SStefan Roese *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36bf2150b9SStefan Roese *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37bf2150b9SStefan Roese *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
38bf2150b9SStefan Roese *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39bf2150b9SStefan Roese *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40bf2150b9SStefan Roese *     OTHER DEALINGS IN THE SOFTWARE.
41bf2150b9SStefan Roese */
42bf2150b9SStefan Roese
43bf2150b9SStefan Roese/*
44bf2150b9SStefan Roese * Device Tree file for Marvell Armada 8040 Development board platform
45bf2150b9SStefan Roese */
46bf2150b9SStefan Roese
47bf2150b9SStefan Roese#include "armada-8040.dtsi"
48bf2150b9SStefan Roese
49bf2150b9SStefan Roese/ {
50bf2150b9SStefan Roese	model = "Marvell Armada 8040 DB board";
51bf2150b9SStefan Roese	compatible = "marvell,armada8040-db", "marvell,armada8040",
52bf2150b9SStefan Roese		     "marvell,armada-ap806-quad", "marvell,armada-ap806";
53bf2150b9SStefan Roese
54bf2150b9SStefan Roese	chosen {
55bf2150b9SStefan Roese		stdout-path = "serial0:115200n8";
56bf2150b9SStefan Roese	};
57bf2150b9SStefan Roese
58af4c271cSStefan Roese	aliases {
59af4c271cSStefan Roese		i2c0 = &cpm_i2c0;
605b613d38SKonstantin Porotchkin		spi0 = &cps_spi1;
61af4c271cSStefan Roese	};
62af4c271cSStefan Roese
63bf2150b9SStefan Roese	memory@00000000 {
64bf2150b9SStefan Roese		device_type = "memory";
65bf2150b9SStefan Roese		reg = <0x0 0x0 0x0 0x80000000>;
66bf2150b9SStefan Roese	};
67bf2150b9SStefan Roese};
68bf2150b9SStefan Roese
69bf2150b9SStefan Roese/* Accessible over the mini-USB CON9 connector on the main board */
70bf2150b9SStefan Roese&uart0 {
71bf2150b9SStefan Roese	status = "okay";
72bf2150b9SStefan Roese};
73bf2150b9SStefan Roese
74f99386c5SKonstantin Porotchkin&ap_pinctl {
75f99386c5SKonstantin Porotchkin	/* MPP Bus:
76f99386c5SKonstantin Porotchkin	 * SDIO  [0-10]
77f99386c5SKonstantin Porotchkin	 * UART0 [11,19]
78f99386c5SKonstantin Porotchkin	 */
79f99386c5SKonstantin Porotchkin		  /* 0 1 2 3 4 5 6 7 8 9 */
80f99386c5SKonstantin Porotchkin	pin-func = < 1 1 1 1 1 1 1 1 1 1
81f99386c5SKonstantin Porotchkin		     1 3 0 0 0 0 0 0 0 3 >;
82f99386c5SKonstantin Porotchkin};
83f99386c5SKonstantin Porotchkin
84f99386c5SKonstantin Porotchkin&cpm_pinctl {
85f99386c5SKonstantin Porotchkin	/* MPP Bus:
860f712f2cSKonstantin Porotchkin	 *	[0-31]	= 0xff: Keep default CP0_shared_pins
87f99386c5SKonstantin Porotchkin	 *	[11]	CLKOUT_MPP_11 (out)
88f99386c5SKonstantin Porotchkin	 *	[23]	LINK_RD_IN_CP2CP (in)
89f99386c5SKonstantin Porotchkin	 *	[25]	CLKOUT_MPP_25 (out)
90f99386c5SKonstantin Porotchkin	 *	[29]	AVS_FB_IN_CP2CP (in)
910f712f2cSKonstantin Porotchkin	 *	[32,34]	GE_MDIO/MDC
920f712f2cSKonstantin Porotchkin	 *	[33]	GPIO: GE_INT#/push button/Wake
930f712f2cSKonstantin Porotchkin	 *	[35]	MSS_GPIO[3]: MSS_PWDN
940f712f2cSKonstantin Porotchkin	 *	[36]	MSS_GPIO[5]: MSS_VTT_EN
950f712f2cSKonstantin Porotchkin	 *	[37-38]	I2C0
960f712f2cSKonstantin Porotchkin	 *	[39]	PTP_CLK
97f99386c5SKonstantin Porotchkin	 *	[40-41]	SATA[0/1]_PRESENT_ACTIVEn
980f712f2cSKonstantin Porotchkin	 *	[42-43]	XG_MDC/XG_MDIO (XSMI)
99f99386c5SKonstantin Porotchkin	 *	[44-55]	RGMII1
100f99386c5SKonstantin Porotchkin	 *	[56-62]	SD
101f99386c5SKonstantin Porotchkin	 */
102f99386c5SKonstantin Porotchkin	/*   0    1    2    3    4    5    6    7    8    9 */
103f99386c5SKonstantin Porotchkin	pin-func = < 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
104f99386c5SKonstantin Porotchkin		     0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
105f99386c5SKonstantin Porotchkin		     0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
1060f712f2cSKonstantin Porotchkin		     0xff 0xff 0x7  0x0  0x7  0xa  0xa  0x2  0x2  0x5
1070f712f2cSKonstantin Porotchkin		     0x9  0x9  0x8  0x8  0x1  0x1  0x1  0x1  0x1  0x1
1080f712f2cSKonstantin Porotchkin		     0x1  0x1  0x1  0x1  0x1  0x1  0xe  0xe  0xe  0xe
109f99386c5SKonstantin Porotchkin		     0xe  0xe  0xe>;
110f99386c5SKonstantin Porotchkin};
111bf2150b9SStefan Roese
1120f712f2cSKonstantin Porotchkin&cpm_comphy {
1130f712f2cSKonstantin Porotchkin	/* Serdes Configuration:
1140f712f2cSKonstantin Porotchkin	 *	Lane 0: PCIe0 (x1)
1150f712f2cSKonstantin Porotchkin	 *	Lane 1: SATA0
116*cb686454SStefan Roese	 *	Lane 2: SFI (10G)
1170f712f2cSKonstantin Porotchkin	 *	Lane 3: SATA1
1180f712f2cSKonstantin Porotchkin	 *	Lane 4: USB3_HOST1
1190f712f2cSKonstantin Porotchkin	 *	Lane 5: PCIe2 (x1)
1200f712f2cSKonstantin Porotchkin	 */
1210f712f2cSKonstantin Porotchkin	phy0 {
1220f712f2cSKonstantin Porotchkin		phy-type = <PHY_TYPE_PEX0>;
1230f712f2cSKonstantin Porotchkin	};
1240f712f2cSKonstantin Porotchkin	phy1 {
1250f712f2cSKonstantin Porotchkin		phy-type = <PHY_TYPE_SATA0>;
1260f712f2cSKonstantin Porotchkin	};
1270f712f2cSKonstantin Porotchkin	phy2 {
128*cb686454SStefan Roese		phy-type = <PHY_TYPE_SFI>;
1290f712f2cSKonstantin Porotchkin	};
1300f712f2cSKonstantin Porotchkin	phy3 {
1310f712f2cSKonstantin Porotchkin		phy-type = <PHY_TYPE_SATA1>;
1320f712f2cSKonstantin Porotchkin	};
1330f712f2cSKonstantin Porotchkin	phy4 {
1340f712f2cSKonstantin Porotchkin		phy-type = <PHY_TYPE_USB3_HOST1>;
1350f712f2cSKonstantin Porotchkin	};
1360f712f2cSKonstantin Porotchkin	phy5 {
1370f712f2cSKonstantin Porotchkin		phy-type = <PHY_TYPE_PEX2>;
1380f712f2cSKonstantin Porotchkin	};
1390f712f2cSKonstantin Porotchkin};
1400f712f2cSKonstantin Porotchkin
1410f712f2cSKonstantin Porotchkin/* CON6 on CP0 expansion */
1420f712f2cSKonstantin Porotchkin&cpm_pcie0 {
1430f712f2cSKonstantin Porotchkin	status = "okay";
1440f712f2cSKonstantin Porotchkin};
1450f712f2cSKonstantin Porotchkin
1460f712f2cSKonstantin Porotchkin&cpm_pcie1 {
1470f712f2cSKonstantin Porotchkin	status = "disabled";
1480f712f2cSKonstantin Porotchkin};
1490f712f2cSKonstantin Porotchkin
150bf2150b9SStefan Roese/* CON5 on CP0 expansion */
151bf2150b9SStefan Roese&cpm_pcie2 {
152bf2150b9SStefan Roese	status = "okay";
153bf2150b9SStefan Roese};
154bf2150b9SStefan Roese
155bf2150b9SStefan Roese&cpm_i2c0 {
156f99386c5SKonstantin Porotchkin	pinctrl-names = "default";
157f99386c5SKonstantin Porotchkin	pinctrl-0 = <&cpm_i2c0_pins>;
158bf2150b9SStefan Roese	status = "okay";
159bf2150b9SStefan Roese	clock-frequency = <100000>;
160bf2150b9SStefan Roese};
161bf2150b9SStefan Roese
162bf2150b9SStefan Roese/* CON4 on CP0 expansion */
163bf2150b9SStefan Roese&cpm_sata0 {
164bf2150b9SStefan Roese	status = "okay";
165bf2150b9SStefan Roese};
166bf2150b9SStefan Roese
167bf2150b9SStefan Roese/* CON9 on CP0 expansion */
168bf2150b9SStefan Roese&cpm_usb3_0 {
169bf2150b9SStefan Roese	status = "okay";
170bf2150b9SStefan Roese};
171bf2150b9SStefan Roese
172bf2150b9SStefan Roese/* CON10 on CP0 expansion */
173bf2150b9SStefan Roese&cpm_usb3_1 {
174bf2150b9SStefan Roese	status = "okay";
175bf2150b9SStefan Roese};
176bf2150b9SStefan Roese
1770f712f2cSKonstantin Porotchkin&cpm_utmi0 {
1780f712f2cSKonstantin Porotchkin	status = "okay";
1790f712f2cSKonstantin Porotchkin};
1800f712f2cSKonstantin Porotchkin
1810f712f2cSKonstantin Porotchkin&cpm_utmi1 {
1820f712f2cSKonstantin Porotchkin	status = "okay";
1830f712f2cSKonstantin Porotchkin};
1840f712f2cSKonstantin Porotchkin
185f99386c5SKonstantin Porotchkin&cps_pinctl {
186f99386c5SKonstantin Porotchkin	/* MPP Bus:
187f99386c5SKonstantin Porotchkin	 *	[0-11]	RGMII0
188f99386c5SKonstantin Porotchkin	 *	[13-16]	SPI1
189f99386c5SKonstantin Porotchkin	 *	[27,31]	GE_MDIO/MDC
1900f712f2cSKonstantin Porotchkin	 *	[28]	SATA1_PRESENT_ACTIVEn
1910f712f2cSKonstantin Porotchkin	 *	[29-30]	UART0
1920f712f2cSKonstantin Porotchkin	 *	[32-62]	= 0xff: Keep default CP1_shared_pins
193f99386c5SKonstantin Porotchkin	 */
194f99386c5SKonstantin Porotchkin	/*   0    1    2    3    4    5    6    7    8    9 */
195f99386c5SKonstantin Porotchkin	pin-func = < 0x3  0x3  0x3  0x3  0x3  0x3  0x3  0x3  0x3  0x3
1960f712f2cSKonstantin Porotchkin		     0x3  0x3  0x3  0x3  0x3  0x3  0x3  0xff 0xff 0xff
1970f712f2cSKonstantin Porotchkin		     0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x8  0x9  0xa
1980f712f2cSKonstantin Porotchkin		     0xA  0x8  0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
199f99386c5SKonstantin Porotchkin		     0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
200f99386c5SKonstantin Porotchkin		     0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
201f99386c5SKonstantin Porotchkin		     0xff 0xff 0xff>;
202f99386c5SKonstantin Porotchkin};
203f99386c5SKonstantin Porotchkin
2040f712f2cSKonstantin Porotchkin&cps_comphy {
2050f712f2cSKonstantin Porotchkin	/* Serdes Configuration:
2060f712f2cSKonstantin Porotchkin	 *	Lane 0: PCIe0 (x1)
2070f712f2cSKonstantin Porotchkin	 *	Lane 1: SATA0
208*cb686454SStefan Roese	 *	Lane 2: SFI (10G)
2090f712f2cSKonstantin Porotchkin	 *	Lane 3: SATA1
2100f712f2cSKonstantin Porotchkin	 *	Lane 4: PCIe1 (x1)
2110f712f2cSKonstantin Porotchkin	 *	Lane 5: PCIe2 (x1)
2120f712f2cSKonstantin Porotchkin	 */
2130f712f2cSKonstantin Porotchkin	phy0 {
2140f712f2cSKonstantin Porotchkin		phy-type = <PHY_TYPE_PEX0>;
2150f712f2cSKonstantin Porotchkin	};
2160f712f2cSKonstantin Porotchkin	phy1 {
2170f712f2cSKonstantin Porotchkin		phy-type = <PHY_TYPE_SATA0>;
2180f712f2cSKonstantin Porotchkin	};
2190f712f2cSKonstantin Porotchkin	phy2 {
220*cb686454SStefan Roese		phy-type = <PHY_TYPE_SFI>;
2210f712f2cSKonstantin Porotchkin	};
2220f712f2cSKonstantin Porotchkin	phy3 {
2230f712f2cSKonstantin Porotchkin		phy-type = <PHY_TYPE_SATA1>;
2240f712f2cSKonstantin Porotchkin	};
2250f712f2cSKonstantin Porotchkin	phy4 {
2260f712f2cSKonstantin Porotchkin		phy-type = <PHY_TYPE_PEX1>;
2270f712f2cSKonstantin Porotchkin	};
2280f712f2cSKonstantin Porotchkin	phy5 {
2290f712f2cSKonstantin Porotchkin		phy-type = <PHY_TYPE_PEX2>;
2300f712f2cSKonstantin Porotchkin	};
2310f712f2cSKonstantin Porotchkin};
2320f712f2cSKonstantin Porotchkin
2330f712f2cSKonstantin Porotchkin/* CON6 on CP1 expansion */
2340f712f2cSKonstantin Porotchkin&cps_pcie0 {
2350f712f2cSKonstantin Porotchkin	status = "okay";
2360f712f2cSKonstantin Porotchkin};
2370f712f2cSKonstantin Porotchkin
2380f712f2cSKonstantin Porotchkin&cps_pcie1 {
2390f712f2cSKonstantin Porotchkin	status = "okay";
2400f712f2cSKonstantin Porotchkin};
2410f712f2cSKonstantin Porotchkin
242bf2150b9SStefan Roese/* CON5 on CP1 expansion */
243bf2150b9SStefan Roese&cps_pcie2 {
244bf2150b9SStefan Roese	status = "okay";
245bf2150b9SStefan Roese};
246bf2150b9SStefan Roese
2475b613d38SKonstantin Porotchkin&cps_spi1 {
248f99386c5SKonstantin Porotchkin	pinctrl-names = "default";
249f99386c5SKonstantin Porotchkin	pinctrl-0 = <&cps_spi1_pins>;
250bf2150b9SStefan Roese	status = "okay";
2515b613d38SKonstantin Porotchkin
2525b613d38SKonstantin Porotchkin	spi-flash@0 {
2535b613d38SKonstantin Porotchkin		#address-cells = <1>;
2545b613d38SKonstantin Porotchkin		#size-cells = <1>;
2555b613d38SKonstantin Porotchkin		compatible = "jedec,spi-nor";
2565b613d38SKonstantin Porotchkin		reg = <0>;
2575b613d38SKonstantin Porotchkin		spi-max-frequency = <10000000>;
2585b613d38SKonstantin Porotchkin
2595b613d38SKonstantin Porotchkin		partitions {
2605b613d38SKonstantin Porotchkin			compatible = "fixed-partitions";
2615b613d38SKonstantin Porotchkin			#address-cells = <1>;
2625b613d38SKonstantin Porotchkin			#size-cells = <1>;
2635b613d38SKonstantin Porotchkin
2645b613d38SKonstantin Porotchkin			partition@0 {
2655b613d38SKonstantin Porotchkin				label = "U-Boot";
2665b613d38SKonstantin Porotchkin				reg = <0 0x200000>;
2675b613d38SKonstantin Porotchkin			};
2685b613d38SKonstantin Porotchkin			partition@400000 {
2695b613d38SKonstantin Porotchkin				label = "Filesystem";
2705b613d38SKonstantin Porotchkin				reg = <0x200000 0xce0000>;
2715b613d38SKonstantin Porotchkin			};
2725b613d38SKonstantin Porotchkin		};
2735b613d38SKonstantin Porotchkin	};
274bf2150b9SStefan Roese};
275bf2150b9SStefan Roese
276bf2150b9SStefan Roese/* CON4 on CP1 expansion */
277bf2150b9SStefan Roese&cps_sata0 {
278bf2150b9SStefan Roese	status = "okay";
279bf2150b9SStefan Roese};
280bf2150b9SStefan Roese
281bf2150b9SStefan Roese/* CON9 on CP1 expansion */
282bf2150b9SStefan Roese&cps_usb3_0 {
283bf2150b9SStefan Roese	status = "okay";
284bf2150b9SStefan Roese};
285bf2150b9SStefan Roese
286bf2150b9SStefan Roese/* CON10 on CP1 expansion */
287bf2150b9SStefan Roese&cps_usb3_1 {
288bf2150b9SStefan Roese	status = "okay";
289bf2150b9SStefan Roese};
29092fdaf0cSStefan Roese
29192fdaf0cSStefan Roese&cps_utmi0 {
29292fdaf0cSStefan Roese	status = "okay";
29392fdaf0cSStefan Roese};
294a6555ebeSThomas Petazzoni
295a6555ebeSThomas Petazzoni&cpm_mdio {
296a6555ebeSThomas Petazzoni	phy1: ethernet-phy@1 {
297a6555ebeSThomas Petazzoni		reg = <1>;
298a6555ebeSThomas Petazzoni	};
299a6555ebeSThomas Petazzoni};
300a6555ebeSThomas Petazzoni
301a6555ebeSThomas Petazzoni&cpm_ethernet {
302a6555ebeSThomas Petazzoni	status = "okay";
303a6555ebeSThomas Petazzoni};
304a6555ebeSThomas Petazzoni
305a6555ebeSThomas Petazzoni&cpm_eth2 {
306a6555ebeSThomas Petazzoni	status = "okay";
307a6555ebeSThomas Petazzoni	phy = <&phy1>;
308a6555ebeSThomas Petazzoni	phy-mode = "rgmii-id";
309a6555ebeSThomas Petazzoni};
310