xref: /linux/scripts/dtc/include-prefixes/arm/marvell/armada-385-linksys.dtsi (revision 06d07429858317ded2db7986113a9e0129cd599b)
1724ba675SRob Herring// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2724ba675SRob Herring/*
3724ba675SRob Herring * Device Tree include file for Armada 385 based Linksys boards
4724ba675SRob Herring *
5724ba675SRob Herring * Copyright (C) 2015 Imre Kaloz <kaloz@openwrt.org>
6724ba675SRob Herring */
7724ba675SRob Herring
8724ba675SRob Herring#include <dt-bindings/gpio/gpio.h>
9724ba675SRob Herring#include <dt-bindings/input/input.h>
10724ba675SRob Herring#include "armada-385.dtsi"
11724ba675SRob Herring
12724ba675SRob Herring/ {
13724ba675SRob Herring	model = "Linksys boards based on Armada 385";
14724ba675SRob Herring	compatible = "linksys,armada385", "marvell,armada385",
15724ba675SRob Herring		     "marvell,armada380";
16724ba675SRob Herring
17724ba675SRob Herring	chosen {
18724ba675SRob Herring		stdout-path = "serial0:115200n8";
19724ba675SRob Herring	};
20724ba675SRob Herring
21724ba675SRob Herring	memory {
22724ba675SRob Herring		device_type = "memory";
23724ba675SRob Herring		reg = <0x00000000 0x20000000>; /* 512 MiB */
24724ba675SRob Herring	};
25724ba675SRob Herring
26724ba675SRob Herring	soc {
27724ba675SRob Herring		ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000
28724ba675SRob Herring			  MBUS_ID(0x01, 0x1d) 0 0xfff00000 0x100000
29724ba675SRob Herring			  MBUS_ID(0x09, 0x19) 0 0xf1100000 0x10000
30724ba675SRob Herring			  MBUS_ID(0x09, 0x15) 0 0xf1110000 0x10000
31724ba675SRob Herring			  MBUS_ID(0x0c, 0x04) 0 0xf1200000 0x100000>;
32724ba675SRob Herring	};
33724ba675SRob Herring
34724ba675SRob Herring	usb3_1_phy: usb3_1-phy {
35724ba675SRob Herring		compatible = "usb-nop-xceiv";
36724ba675SRob Herring		vcc-supply = <&usb3_1_vbus>;
37724ba675SRob Herring		#phy-cells = <0>;
38724ba675SRob Herring	};
39724ba675SRob Herring
40724ba675SRob Herring	usb3_1_vbus: usb3_1-vbus {
41724ba675SRob Herring		compatible = "regulator-fixed";
42724ba675SRob Herring		pinctrl-names = "default";
43724ba675SRob Herring		pinctrl-0 = <&usb3_1_vbus_pins>;
44724ba675SRob Herring		regulator-name = "usb3_1-vbus";
45724ba675SRob Herring		regulator-min-microvolt = <5000000>;
46724ba675SRob Herring		regulator-max-microvolt = <5000000>;
47724ba675SRob Herring		enable-active-high;
48724ba675SRob Herring		gpio = <&gpio1 18 GPIO_ACTIVE_HIGH>;
49724ba675SRob Herring	};
50724ba675SRob Herring
51724ba675SRob Herring	gpio_keys: gpio-keys {
52724ba675SRob Herring		compatible = "gpio-keys";
53724ba675SRob Herring		pinctrl-0 = <&gpio_keys_pins>;
54724ba675SRob Herring		pinctrl-names = "default";
55724ba675SRob Herring
56724ba675SRob Herring		button-wps {
57724ba675SRob Herring			label = "WPS";
58724ba675SRob Herring			linux,code = <KEY_WPS_BUTTON>;
59724ba675SRob Herring			gpios = <&gpio0 24 GPIO_ACTIVE_LOW>;
60724ba675SRob Herring		};
61724ba675SRob Herring
62724ba675SRob Herring		button-reset {
63724ba675SRob Herring			label = "Factory Reset Button";
64724ba675SRob Herring			linux,code = <KEY_RESTART>;
65724ba675SRob Herring			gpios = <&gpio0 29 GPIO_ACTIVE_LOW>;
66724ba675SRob Herring		};
67724ba675SRob Herring	};
68724ba675SRob Herring
69724ba675SRob Herring	gpio_leds: gpio-leds {
70724ba675SRob Herring		compatible = "gpio-leds";
71724ba675SRob Herring		pinctrl-0 = <&gpio_leds_pins>;
72724ba675SRob Herring		pinctrl-names = "default";
73724ba675SRob Herring
74724ba675SRob Herring		led-power {
75724ba675SRob Herring			gpios = <&gpio1 23 GPIO_ACTIVE_HIGH>;
76724ba675SRob Herring			default-state = "on";
77724ba675SRob Herring		};
78724ba675SRob Herring
79724ba675SRob Herring		led-sata {
80724ba675SRob Herring			gpios = <&gpio1 22 GPIO_ACTIVE_LOW>;
81724ba675SRob Herring			default-state = "off";
82724ba675SRob Herring			linux,default-trigger = "disk-activity";
83724ba675SRob Herring		};
84724ba675SRob Herring	};
85724ba675SRob Herring};
86724ba675SRob Herring
87724ba675SRob Herring&ahci0 {
88724ba675SRob Herring	status = "okay";
89724ba675SRob Herring};
90724ba675SRob Herring
91724ba675SRob Herring&bm {
92724ba675SRob Herring	status = "okay";
93724ba675SRob Herring};
94724ba675SRob Herring
95724ba675SRob Herring&bm_bppi {
96724ba675SRob Herring	status = "okay";
97724ba675SRob Herring};
98724ba675SRob Herring
99724ba675SRob Herring&eth0 {
100724ba675SRob Herring	status = "okay";
101724ba675SRob Herring	phy-mode = "rgmii-id";
102724ba675SRob Herring	buffer-manager = <&bm>;
103724ba675SRob Herring	bm,pool-long = <0>;
104724ba675SRob Herring	bm,pool-short = <1>;
105724ba675SRob Herring	fixed-link {
106724ba675SRob Herring		speed = <1000>;
107724ba675SRob Herring		full-duplex;
108724ba675SRob Herring	};
109724ba675SRob Herring};
110724ba675SRob Herring
111724ba675SRob Herring&eth2 {
112724ba675SRob Herring	status = "okay";
113724ba675SRob Herring	phy-mode = "sgmii";
114724ba675SRob Herring	buffer-manager = <&bm>;
115724ba675SRob Herring	bm,pool-long = <2>;
116724ba675SRob Herring	bm,pool-short = <3>;
117724ba675SRob Herring	fixed-link {
118724ba675SRob Herring		speed = <1000>;
119724ba675SRob Herring		full-duplex;
120724ba675SRob Herring	};
121724ba675SRob Herring};
122724ba675SRob Herring
123724ba675SRob Herring&i2c0 {
124724ba675SRob Herring	pinctrl-names = "default";
125724ba675SRob Herring	pinctrl-0 = <&i2c0_pins>;
126724ba675SRob Herring	status = "okay";
127724ba675SRob Herring
128724ba675SRob Herring	tmp421@4c {
129724ba675SRob Herring		compatible = "ti,tmp421";
130724ba675SRob Herring		reg = <0x4c>;
131724ba675SRob Herring	};
132724ba675SRob Herring
133724ba675SRob Herring	expander0: pca9635@68 {
134724ba675SRob Herring		#address-cells = <1>;
135724ba675SRob Herring		#size-cells = <0>;
136724ba675SRob Herring		compatible = "nxp,pca9635";
137724ba675SRob Herring		reg = <0x68>;
138724ba675SRob Herring	};
139724ba675SRob Herring};
140724ba675SRob Herring
141724ba675SRob Herring&nand_controller {
142724ba675SRob Herring	/* 128MiB or 256MiB */
143724ba675SRob Herring	status = "okay";
144724ba675SRob Herring	#address-cells = <1>;
145724ba675SRob Herring	#size-cells = <0>;
146724ba675SRob Herring
147724ba675SRob Herring	nand: nand@0 {
148724ba675SRob Herring		reg = <0>;
149724ba675SRob Herring		label = "pxa3xx_nand-0";
150724ba675SRob Herring		nand-rb = <0>;
151724ba675SRob Herring		nand-ecc-strength = <4>;
152724ba675SRob Herring		nand-ecc-step-size = <512>;
153724ba675SRob Herring		marvell,nand-keep-config;
154724ba675SRob Herring		nand-on-flash-bbt;
155724ba675SRob Herring	};
156724ba675SRob Herring};
157724ba675SRob Herring
158724ba675SRob Herring&mdio {
159724ba675SRob Herring	status = "okay";
160724ba675SRob Herring
161*6e75ac5aSLinus Walleij	ethernet-switch@0 {
162724ba675SRob Herring		compatible = "marvell,mv88e6085";
163724ba675SRob Herring		reg = <0>;
164724ba675SRob Herring
165*6e75ac5aSLinus Walleij		ethernet-ports {
166724ba675SRob Herring			#address-cells = <1>;
167724ba675SRob Herring			#size-cells = <0>;
168724ba675SRob Herring
169*6e75ac5aSLinus Walleij			ethernet-port@0 {
170724ba675SRob Herring				reg = <0>;
171724ba675SRob Herring				label = "lan4";
172724ba675SRob Herring			};
173724ba675SRob Herring
174*6e75ac5aSLinus Walleij			ethernet-port@1 {
175724ba675SRob Herring				reg = <1>;
176724ba675SRob Herring				label = "lan3";
177724ba675SRob Herring			};
178724ba675SRob Herring
179*6e75ac5aSLinus Walleij			ethernet-port@2 {
180724ba675SRob Herring				reg = <2>;
181724ba675SRob Herring				label = "lan2";
182724ba675SRob Herring			};
183724ba675SRob Herring
184*6e75ac5aSLinus Walleij			ethernet-port@3 {
185724ba675SRob Herring				reg = <3>;
186724ba675SRob Herring				label = "lan1";
187724ba675SRob Herring			};
188724ba675SRob Herring
189*6e75ac5aSLinus Walleij			ethernet-port@4 {
190724ba675SRob Herring				reg = <4>;
191724ba675SRob Herring				label = "wan";
192724ba675SRob Herring			};
193724ba675SRob Herring
194*6e75ac5aSLinus Walleij			ethernet-port@5 {
195724ba675SRob Herring				reg = <5>;
196724ba675SRob Herring				phy-mode = "sgmii";
197724ba675SRob Herring				ethernet = <&eth2>;
198724ba675SRob Herring
199724ba675SRob Herring				fixed-link {
200724ba675SRob Herring					speed = <1000>;
201724ba675SRob Herring					full-duplex;
202724ba675SRob Herring				};
203724ba675SRob Herring			};
204724ba675SRob Herring		};
205724ba675SRob Herring	};
206724ba675SRob Herring};
207724ba675SRob Herring
208724ba675SRob Herring&pciec {
209724ba675SRob Herring	status = "okay";
210724ba675SRob Herring};
211724ba675SRob Herring
212724ba675SRob Herring&pcie1 {
213724ba675SRob Herring	/* Marvell 88W8864, 5GHz-only */
214724ba675SRob Herring	status = "okay";
215724ba675SRob Herring};
216724ba675SRob Herring
217724ba675SRob Herring&pcie2 {
218724ba675SRob Herring	/* Marvell 88W8864, 2GHz-only */
219724ba675SRob Herring	status = "okay";
220724ba675SRob Herring};
221724ba675SRob Herring
222724ba675SRob Herring&pinctrl {
223724ba675SRob Herring	gpio_keys_pins: gpio-keys-pins {
224724ba675SRob Herring		/* mpp24: wps, mpp29: reset */
225724ba675SRob Herring		marvell,pins = "mpp24", "mpp29";
226724ba675SRob Herring		marvell,function = "gpio";
227724ba675SRob Herring	};
228724ba675SRob Herring
229724ba675SRob Herring	gpio_leds_pins: gpio-leds-pins {
230724ba675SRob Herring		/* mpp54: sata, mpp55: power */
231724ba675SRob Herring		marvell,pins = "mpp54", "mpp55";
232724ba675SRob Herring		marvell,function = "gpio";
233724ba675SRob Herring	};
234724ba675SRob Herring
235724ba675SRob Herring	usb3_1_vbus_pins: usb3_1-vbus-pins {
236724ba675SRob Herring		marvell,pins = "mpp50";
237724ba675SRob Herring		marvell,function = "gpio";
238724ba675SRob Herring	};
239724ba675SRob Herring};
240724ba675SRob Herring
241724ba675SRob Herring&spi0 {
242724ba675SRob Herring	status = "disabled";
243724ba675SRob Herring};
244724ba675SRob Herring
245724ba675SRob Herring&uart0 {
246724ba675SRob Herring	/* J10: VCC, NC, RX, NC, TX, GND  */
247724ba675SRob Herring	status = "okay";
248724ba675SRob Herring};
249724ba675SRob Herring
250724ba675SRob Herring&usb0 {
251724ba675SRob Herring	/* USB part of the eSATA/USB 2.0 port */
252724ba675SRob Herring	status = "okay";
253724ba675SRob Herring};
254724ba675SRob Herring
255724ba675SRob Herring&usb3_1 {
256724ba675SRob Herring	status = "okay";
257724ba675SRob Herring	usb-phy = <&usb3_1_phy>;
258724ba675SRob Herring};
259724ba675SRob Herring
260724ba675SRob Herring&rtc {
261724ba675SRob Herring	/* No crystal connected to the internal RTC */
262724ba675SRob Herring	status = "disabled";
263724ba675SRob Herring};
264