blob: 84e0dbdc3d703079ba53568b8c03daa7d3008d15 [file] [log] [blame]
Stefan Roese288ba072016-05-25 08:23:31 +02001/*
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 7040 Development board platform
45 */
46
47#include "armada-7040.dtsi"
48
49/ {
50 model = "Marvell Armada 7040 DB board";
51 compatible = "marvell,armada7040-db", "marvell,armada7040",
52 "marvell,armada-ap806-quad", "marvell,armada-ap806";
53
54 chosen {
55 stdout-path = "serial0:115200n8";
56 };
57
Stefan Roese30eec0c2016-08-31 14:47:36 +020058 aliases {
59 i2c0 = &cpm_i2c0;
60 spi0 = &cpm_spi1;
61 };
62
Stefan Roese288ba072016-05-25 08:23:31 +020063 memory@00000000 {
64 device_type = "memory";
65 reg = <0x0 0x0 0x0 0x80000000>;
66 };
67};
68
Konstantin Porotchkinff80bd72016-12-08 12:22:30 +020069&ap_pinctl {
70 /* MPP Bus:
71 * SDIO [0-5]
72 * UART0 [11,19]
73 */
74 /* 0 1 2 3 4 5 6 7 8 9 */
75 pin-func = < 1 1 1 1 1 1 0 0 0 0
76 0 3 0 0 0 0 0 0 0 3 >;
77};
78
Stefan Roese288ba072016-05-25 08:23:31 +020079&uart0 {
80 status = "okay";
81};
82
83
84&cpm_pcie2 {
85 status = "okay";
86};
87
88&cpm_i2c0 {
Konstantin Porotchkinff80bd72016-12-08 12:22:30 +020089 pinctrl-names = "default";
90 pinctrl-0 = <&cpm_i2c0_pins>;
Stefan Roese288ba072016-05-25 08:23:31 +020091 status = "okay";
92 clock-frequency = <100000>;
93};
94
Konstantin Porotchkinff80bd72016-12-08 12:22:30 +020095&cpm_pinctl {
96 /* MPP Bus:
97 * TDM [0-11]
98 * SPI [13-16]
99 * SATA1 [28]
100 * UART0 [29-30]
101 * SMI [32,34]
102 * XSMI [35-36]
103 * I2C [37-38]
104 * RGMII1[44-55]
105 * SD [56-62]
106 */
107 /* 0 1 2 3 4 5 6 7 8 9 */
108 pin-func = < 4 4 4 4 4 4 4 4 4 4
109 4 4 0 3 3 3 3 0 0 0
110 0 0 0 0 0 0 0 0 9 0xA
111 0xA 0 7 0 7 7 7 2 2 0
112 0 0 0 0 1 1 1 1 1 1
113 1 1 1 1 1 1 0xE 0xE 0xE 0xE
114 0xE 0xE 0xE >;
115};
116
Stefan Roese288ba072016-05-25 08:23:31 +0200117&cpm_spi1 {
Konstantin Porotchkinff80bd72016-12-08 12:22:30 +0200118 pinctrl-names = "default";
119 pinctrl-0 = <&cpm_spi0_pins>;
Stefan Roese288ba072016-05-25 08:23:31 +0200120 status = "okay";
121
122 spi-flash@0 {
123 #address-cells = <0x1>;
124 #size-cells = <0x1>;
125 compatible = "jedec,spi-nor";
126 reg = <0x0>;
127 spi-max-frequency = <20000000>;
128
129 partitions {
130 compatible = "fixed-partitions";
131 #address-cells = <1>;
132 #size-cells = <1>;
133
134 partition@0 {
135 label = "U-Boot";
136 reg = <0x0 0x200000>;
137 };
138
139 partition@400000 {
140 label = "Filesystem";
141 reg = <0x200000 0xe00000>;
142 };
143 };
144 };
145};
146
147&cpm_sata0 {
148 status = "okay";
149};
150
151&cpm_usb3_0 {
152 status = "okay";
153};
154
155&cpm_usb3_1 {
156 status = "okay";
157};
Stefan Roesec0d8f4e2016-05-25 09:06:29 +0200158
Stefan Roesebef3d032016-10-25 17:35:55 +0200159&cpm_comphy {
Stefan Roesec0d8f4e2016-05-25 09:06:29 +0200160 phy0 {
161 phy-type = <PHY_TYPE_SGMII2>;
Stefan Roesef6f117b2017-03-09 14:35:28 +0100162 phy-speed = <PHY_SPEED_1_25G>;
Stefan Roesec0d8f4e2016-05-25 09:06:29 +0200163 };
164
165 phy1 {
166 phy-type = <PHY_TYPE_USB3_HOST0>;
167 phy-speed = <PHY_SPEED_5G>;
168 };
169
170 phy2 {
171 phy-type = <PHY_TYPE_SGMII0>;
172 phy-speed = <PHY_SPEED_1_25G>;
173 };
174
175 phy3 {
176 phy-type = <PHY_TYPE_SATA1>;
177 phy-speed = <PHY_SPEED_5G>;
178 };
179
180 phy4 {
181 phy-type = <PHY_TYPE_USB3_HOST1>;
182 phy-speed = <PHY_SPEED_5G>;
183 };
184
185 phy5 {
186 phy-type = <PHY_TYPE_PEX2>;
187 phy-speed = <PHY_SPEED_5G>;
188 };
189};
190
Stefan Roesebef3d032016-10-25 17:35:55 +0200191&cpm_utmi0 {
Stefan Roesec0d8f4e2016-05-25 09:06:29 +0200192 status = "okay";
193};
194
Stefan Roesebef3d032016-10-25 17:35:55 +0200195&cpm_utmi1 {
Stefan Roesec0d8f4e2016-05-25 09:06:29 +0200196 status = "okay";
197};
Stefan Roese9b5b2a42016-12-09 15:42:15 +0100198
199&ap_sdhci0 {
200 status = "okay";
201 bus-width = <4>;
202 no-1-8-v;
203 non-removable;
204};
205
206&cpm_sdhci0 {
207 status = "okay";
208 bus-width = <4>;
209 no-1-8-v;
210 non-removable;
211};
Thomas Petazzoni24d55a62017-02-20 12:27:25 +0100212
213&cpm_mdio {
214 phy0: ethernet-phy@0 {
215 reg = <0>;
216 };
217 phy1: ethernet-phy@1 {
218 reg = <1>;
219 };
220};
221
222&cpm_ethernet {
223 status = "okay";
224};
225
226&cpm_eth1 {
227 status = "okay";
228 phy = <&phy0>;
229 phy-mode = "sgmii";
230};
231
232&cpm_eth2 {
233 status = "okay";
234 phy = <&phy1>;
235 phy-mode = "rgmii-id";
236};