blob: 0e4613bb56eeae02d496be3784517760cf425537 [file] [log] [blame]
Gregory CLEMENT696241a2018-03-15 15:21:25 +01001// SPDX-License-Identifier: (GPL-2.0 OR MIT)
Maxime Riparde5ee1282015-01-08 18:38:09 +01002/*
3 * Device Tree file for Marvell Armada 385 Access Point Development board
4 * (DB-88F6820-AP)
5 *
6 * Copyright (C) 2014 Marvell
7 *
8 * Nadav Haklai <nadavh@marvell.com>
Maxime Riparde5ee1282015-01-08 18:38:09 +01009 */
10
11/dts-v1/;
12#include "armada-385.dtsi"
13
14#include <dt-bindings/gpio/gpio.h>
15
16/ {
17 model = "Marvell Armada 385 Access Point Development Board";
Marcin Wojtasdb347f12015-10-15 03:17:08 +020018 compatible = "marvell,a385-db-ap", "marvell,armada385", "marvell,armada380";
Maxime Riparde5ee1282015-01-08 18:38:09 +010019
20 chosen {
Thomas Petazzoni95522032015-03-03 15:41:02 +010021 stdout-path = "serial1:115200n8";
Maxime Riparde5ee1282015-01-08 18:38:09 +010022 };
23
24 memory {
25 device_type = "memory";
26 reg = <0x00000000 0x80000000>; /* 2GB */
27 };
28
29 soc {
30 ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000
Boris Brezillond716f2e2015-08-18 10:08:59 +020031 MBUS_ID(0x01, 0x1d) 0 0xfff00000 0x100000
32 MBUS_ID(0x09, 0x19) 0 0xf1100000 0x10000
Marcin Wojtasc49e99c2016-03-14 09:38:58 +010033 MBUS_ID(0x09, 0x15) 0 0xf1110000 0x10000
34 MBUS_ID(0x0c, 0x04) 0 0xf1200000 0x100000>;
Maxime Riparde5ee1282015-01-08 18:38:09 +010035
36 internal-regs {
Maxime Riparde5ee1282015-01-08 18:38:09 +010037 i2c0: i2c@11000 {
38 pinctrl-names = "default";
39 pinctrl-0 = <&i2c0_pins>;
40 status = "okay";
41
42 /*
43 * This bus is wired to two EEPROM
44 * sockets, one of which holding the
45 * board ID used by the bootloader.
46 * Erasing this EEPROM's content will
47 * brick the board.
48 * Use this bus with caution.
49 */
50 };
51
52 mdio@72004 {
53 pinctrl-names = "default";
54 pinctrl-0 = <&mdio_pins>;
55
56 phy0: ethernet-phy@1 {
57 reg = <1>;
58 };
59
60 phy1: ethernet-phy@4 {
61 reg = <4>;
62 };
63
64 phy2: ethernet-phy@6 {
65 reg = <6>;
66 };
67 };
68
69 /* UART0 is exposed through the JP8 connector */
70 uart0: serial@12000 {
71 pinctrl-names = "default";
72 pinctrl-0 = <&uart0_pins>;
73 status = "okay";
74 };
75
76 /*
77 * UART1 is exposed through a FTDI chip
78 * wired to the mini-USB connector
79 */
80 uart1: serial@12100 {
81 pinctrl-names = "default";
82 pinctrl-0 = <&uart1_pins>;
83 status = "okay";
84 };
85
Maxime Ripard7776ab72015-01-19 14:01:14 +010086 pinctrl@18000 {
87 xhci0_vbus_pins: xhci0-vbus-pins {
88 marvell,pins = "mpp44";
89 marvell,function = "gpio";
90 };
91 };
92
Thomas Petazzoni34d48292016-01-27 16:08:20 +010093 /* CON3 */
Maxime Riparde5ee1282015-01-08 18:38:09 +010094 ethernet@30000 {
95 status = "okay";
96 phy = <&phy2>;
97 phy-mode = "sgmii";
Marcin Wojtasc49e99c2016-03-14 09:38:58 +010098 buffer-manager = <&bm>;
99 bm,pool-long = <1>;
100 bm,pool-short = <3>;
Maxime Riparde5ee1282015-01-08 18:38:09 +0100101 };
102
Thomas Petazzoni34d48292016-01-27 16:08:20 +0100103 /* CON2 */
Maxime Riparde5ee1282015-01-08 18:38:09 +0100104 ethernet@34000 {
105 status = "okay";
106 phy = <&phy1>;
107 phy-mode = "sgmii";
Marcin Wojtasc49e99c2016-03-14 09:38:58 +0100108 buffer-manager = <&bm>;
109 bm,pool-long = <2>;
110 bm,pool-short = <3>;
Maxime Riparde5ee1282015-01-08 18:38:09 +0100111 };
112
Grzegorz Jaszczykb583e292016-08-04 12:14:06 +0200113 usb@58000 {
114 status = "okay";
115 };
116
Thomas Petazzoni34d48292016-01-27 16:08:20 +0100117 /* CON4 */
Maxime Riparde5ee1282015-01-08 18:38:09 +0100118 ethernet@70000 {
119 pinctrl-names = "default";
120
121 /*
122 * The Reference Clock 0 is used to
123 * provide a clock to the PHY
124 */
125 pinctrl-0 = <&ge0_rgmii_pins>, <&ref_clk0_pins>;
126 status = "okay";
127 phy = <&phy0>;
128 phy-mode = "rgmii-id";
Marcin Wojtasc49e99c2016-03-14 09:38:58 +0100129 buffer-manager = <&bm>;
130 bm,pool-long = <0>;
131 bm,pool-short = <3>;
132 };
133
134 bm@c8000 {
135 status = "okay";
Maxime Riparde5ee1282015-01-08 18:38:09 +0100136 };
Maxime Ripard2a2dbd82015-03-03 11:16:45 +0100137
Maxime Ripard7776ab72015-01-19 14:01:14 +0100138 usb3@f0000 {
139 status = "okay";
140 usb-phy = <&usb3_phy>;
141 };
Maxime Riparde5ee1282015-01-08 18:38:09 +0100142 };
143
Marcin Wojtasc49e99c2016-03-14 09:38:58 +0100144 bm-bppi {
145 status = "okay";
146 };
147
Rob Herring28fbb9c2017-07-26 16:09:37 -0500148 pcie {
Maxime Riparde5ee1282015-01-08 18:38:09 +0100149 status = "okay";
150
151 /*
152 * The three PCIe units are accessible through
153 * standard mini-PCIe slots on the board.
154 */
155 pcie@1,0 {
156 /* Port 0, Lane 0 */
157 status = "okay";
158 };
159
160 pcie@2,0 {
161 /* Port 1, Lane 0 */
162 status = "okay";
163 };
164
165 pcie@3,0 {
166 /* Port 2, Lane 0 */
167 status = "okay";
168 };
169 };
170 };
Maxime Ripard7776ab72015-01-19 14:01:14 +0100171
172 usb3_phy: usb3_phy {
173 compatible = "usb-nop-xceiv";
174 vcc-supply = <&reg_xhci0_vbus>;
Rob Herring44e5dce2017-11-09 16:26:11 -0600175 #phy-cells = <0>;
Maxime Ripard7776ab72015-01-19 14:01:14 +0100176 };
177
178 reg_xhci0_vbus: xhci0-vbus {
179 compatible = "regulator-fixed";
180 pinctrl-names = "default";
181 pinctrl-0 = <&xhci0_vbus_pins>;
182 regulator-name = "xhci0-vbus";
183 regulator-min-microvolt = <5000000>;
184 regulator-max-microvolt = <5000000>;
185 enable-active-high;
186 gpio = <&gpio1 12 GPIO_ACTIVE_HIGH>;
187 };
Maxime Riparde5ee1282015-01-08 18:38:09 +0100188};
Stefan Roese0160a4b2016-07-13 11:55:18 +0200189
190&spi1 {
191 pinctrl-names = "default";
192 pinctrl-0 = <&spi1_pins>;
193 status = "okay";
194
195 spi-flash@0 {
196 #address-cells = <1>;
197 #size-cells = <1>;
198 compatible = "st,m25p128", "jedec,spi-nor";
199 reg = <0>; /* Chip select 0 */
200 spi-max-frequency = <54000000>;
201 };
202};
Miquel Raynal925d5e42018-04-25 16:48:01 +0200203
204&nand_controller {
205 status = "okay";
206
207 nand@0 {
208 reg = <0>;
209 label = "pxa3xx_nand-0";
210 nand-rb = <0>;
211 nand-on-flash-bbt;
212 nand-ecc-strength = <4>;
213 nand-ecc-step-size = <512>;
214
215 partitions {
216 compatible = "fixed-partitions";
217 #address-cells = <1>;
218 #size-cells = <1>;
219
220 partition@0 {
221 label = "U-Boot";
222 reg = <0x00000000 0x00800000>;
223 read-only;
224 };
225
226 partition@800000 {
227 label = "uImage";
228 reg = <0x00800000 0x00400000>;
229 read-only;
230 };
231
232 partition@c00000 {
233 label = "Root";
234 reg = <0x00c00000 0x3f400000>;
235 };
236 };
237 };
238};