1fac71e4eSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0-or-later OR MIT)
2fac71e4eSEmmanuel Vadot
3fac71e4eSEmmanuel Vadot/dts-v1/;
4fac71e4eSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
5fac71e4eSEmmanuel Vadot#include <dt-bindings/input/input.h>
6fac71e4eSEmmanuel Vadot#include "armada-372x.dtsi"
7fac71e4eSEmmanuel Vadot
8fac71e4eSEmmanuel Vadot/ {
9fac71e4eSEmmanuel Vadot	model = "GL.iNet GL-MV1000";
10fac71e4eSEmmanuel Vadot	compatible = "glinet,gl-mv1000", "marvell,armada3720";
11fac71e4eSEmmanuel Vadot
12fac71e4eSEmmanuel Vadot	aliases {
13fac71e4eSEmmanuel Vadot		led-boot = &led_power;
14fac71e4eSEmmanuel Vadot		led-failsafe = &led_power;
15fac71e4eSEmmanuel Vadot		led-running = &led_power;
16fac71e4eSEmmanuel Vadot		led-upgrade = &led_power;
17fac71e4eSEmmanuel Vadot	};
18fac71e4eSEmmanuel Vadot
19fac71e4eSEmmanuel Vadot	chosen {
20fac71e4eSEmmanuel Vadot		stdout-path = "serial0:115200n8";
21fac71e4eSEmmanuel Vadot	};
22fac71e4eSEmmanuel Vadot
23fac71e4eSEmmanuel Vadot	memory@0 {
24fac71e4eSEmmanuel Vadot		device_type = "memory";
25fac71e4eSEmmanuel Vadot		reg = <0x00000000 0x00000000 0x00000000 0x20000000>;
26fac71e4eSEmmanuel Vadot	};
27fac71e4eSEmmanuel Vadot
28fac71e4eSEmmanuel Vadot	vcc_sd_reg1: regulator {
29fac71e4eSEmmanuel Vadot		compatible = "regulator-gpio";
30fac71e4eSEmmanuel Vadot		regulator-name = "vcc_sd1";
31fac71e4eSEmmanuel Vadot		regulator-min-microvolt = <1800000>;
32fac71e4eSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
33fac71e4eSEmmanuel Vadot		regulator-boot-on;
34fac71e4eSEmmanuel Vadot
35fac71e4eSEmmanuel Vadot		gpios-states = <0>;
36fac71e4eSEmmanuel Vadot		states = <1800000 0x1
37fac71e4eSEmmanuel Vadot			3300000 0x0>;
38fac71e4eSEmmanuel Vadot		enable-active-high;
39fac71e4eSEmmanuel Vadot	};
40fac71e4eSEmmanuel Vadot
41fac71e4eSEmmanuel Vadot	keys {
42fac71e4eSEmmanuel Vadot		compatible = "gpio-keys";
43fac71e4eSEmmanuel Vadot
44fac71e4eSEmmanuel Vadot		reset {
45fac71e4eSEmmanuel Vadot			label = "reset";
46fac71e4eSEmmanuel Vadot			linux,code = <KEY_RESTART>;
47fac71e4eSEmmanuel Vadot			gpios = <&gpionb 14 GPIO_ACTIVE_LOW>;
48fac71e4eSEmmanuel Vadot		};
49fac71e4eSEmmanuel Vadot
50fac71e4eSEmmanuel Vadot		switch {
51fac71e4eSEmmanuel Vadot			label = "switch";
52fac71e4eSEmmanuel Vadot			linux,code = <BTN_0>;
53fac71e4eSEmmanuel Vadot			gpios = <&gpiosb 22 GPIO_ACTIVE_LOW>;
54fac71e4eSEmmanuel Vadot		};
55fac71e4eSEmmanuel Vadot	};
56fac71e4eSEmmanuel Vadot
57fac71e4eSEmmanuel Vadot	leds {
58fac71e4eSEmmanuel Vadot		compatible = "gpio-leds";
59fac71e4eSEmmanuel Vadot
60fac71e4eSEmmanuel Vadot		vpn {
61fac71e4eSEmmanuel Vadot			label = "green:vpn";
62fac71e4eSEmmanuel Vadot			gpios = <&gpionb 11 GPIO_ACTIVE_LOW>;
63fac71e4eSEmmanuel Vadot		};
64fac71e4eSEmmanuel Vadot
65fac71e4eSEmmanuel Vadot		wan {
66fac71e4eSEmmanuel Vadot			label = "green:wan";
67fac71e4eSEmmanuel Vadot			gpios = <&gpionb 12 GPIO_ACTIVE_LOW>;
68fac71e4eSEmmanuel Vadot		};
69fac71e4eSEmmanuel Vadot
70fac71e4eSEmmanuel Vadot		led_power: power {
71fac71e4eSEmmanuel Vadot			label = "green:power";
72fac71e4eSEmmanuel Vadot			gpios = <&gpionb 13 GPIO_ACTIVE_LOW>;
73fac71e4eSEmmanuel Vadot			default-state = "on";
74fac71e4eSEmmanuel Vadot		};
75fac71e4eSEmmanuel Vadot	};
76fac71e4eSEmmanuel Vadot};
77fac71e4eSEmmanuel Vadot
78fac71e4eSEmmanuel Vadot&spi0 {
79fac71e4eSEmmanuel Vadot	status = "okay";
80fac71e4eSEmmanuel Vadot
81fac71e4eSEmmanuel Vadot	flash@0 {
82fac71e4eSEmmanuel Vadot		reg = <0>;
83fac71e4eSEmmanuel Vadot		compatible = "jedec,spi-nor";
84fac71e4eSEmmanuel Vadot		spi-max-frequency = <104000000>;
85fac71e4eSEmmanuel Vadot		m25p,fast-read;
86fac71e4eSEmmanuel Vadot		partitions {
87fac71e4eSEmmanuel Vadot			compatible = "fixed-partitions";
88fac71e4eSEmmanuel Vadot			#address-cells = <1>;
89fac71e4eSEmmanuel Vadot			#size-cells = <1>;
90fac71e4eSEmmanuel Vadot
91fac71e4eSEmmanuel Vadot			partition@0 {
92fac71e4eSEmmanuel Vadot				label = "firmware";
93fac71e4eSEmmanuel Vadot				reg = <0 0xf0000>;
94fac71e4eSEmmanuel Vadot			};
95fac71e4eSEmmanuel Vadot
96fac71e4eSEmmanuel Vadot			partition@f0000 {
97fac71e4eSEmmanuel Vadot				label = "u-boot-env";
98fac71e4eSEmmanuel Vadot				reg = <0xf0000 0x8000>;
99fac71e4eSEmmanuel Vadot			};
100fac71e4eSEmmanuel Vadot
101fac71e4eSEmmanuel Vadot			factory: partition@f8000 {
102fac71e4eSEmmanuel Vadot				label = "factory";
103fac71e4eSEmmanuel Vadot				reg = <0xf8000 0x8000>;
104fac71e4eSEmmanuel Vadot				read-only;
105fac71e4eSEmmanuel Vadot			};
106fac71e4eSEmmanuel Vadot
107fac71e4eSEmmanuel Vadot			partition@100000 {
108fac71e4eSEmmanuel Vadot				label = "dtb";
109fac71e4eSEmmanuel Vadot				reg = <0x100000 0x10000>;
110fac71e4eSEmmanuel Vadot				read-only;
111fac71e4eSEmmanuel Vadot			};
112fac71e4eSEmmanuel Vadot
113fac71e4eSEmmanuel Vadot			partition@110000 {
114fac71e4eSEmmanuel Vadot				label = "rescue";
115fac71e4eSEmmanuel Vadot				reg = <0x110000 0x1000000>;
116fac71e4eSEmmanuel Vadot			};
117fac71e4eSEmmanuel Vadot		};
118fac71e4eSEmmanuel Vadot	};
119fac71e4eSEmmanuel Vadot};
120fac71e4eSEmmanuel Vadot
121fac71e4eSEmmanuel Vadot&sdhci1 {
122fac71e4eSEmmanuel Vadot	wp-inverted;
123fac71e4eSEmmanuel Vadot	bus-width = <4>;
124fac71e4eSEmmanuel Vadot	cd-gpios = <&gpionb 17 GPIO_ACTIVE_LOW>;
125fac71e4eSEmmanuel Vadot	marvell,pad-type = "sd";
126fac71e4eSEmmanuel Vadot	no-1-8-v;
127fac71e4eSEmmanuel Vadot	vqmmc-supply = <&vcc_sd_reg1>;
128fac71e4eSEmmanuel Vadot	status = "okay";
129fac71e4eSEmmanuel Vadot};
130fac71e4eSEmmanuel Vadot
131fac71e4eSEmmanuel Vadot&sdhci0 {
132fac71e4eSEmmanuel Vadot	bus-width = <8>;
133fac71e4eSEmmanuel Vadot	mmc-ddr-1_8v;
134fac71e4eSEmmanuel Vadot	mmc-hs400-1_8v;
135fac71e4eSEmmanuel Vadot	non-removable;
136fac71e4eSEmmanuel Vadot	no-sd;
137fac71e4eSEmmanuel Vadot	no-sdio;
138fac71e4eSEmmanuel Vadot	marvell,pad-type = "fixed-1-8v";
139fac71e4eSEmmanuel Vadot	status = "okay";
140fac71e4eSEmmanuel Vadot};
141fac71e4eSEmmanuel Vadot
142fac71e4eSEmmanuel Vadot&usb3 {
143fac71e4eSEmmanuel Vadot	status = "okay";
144fac71e4eSEmmanuel Vadot};
145fac71e4eSEmmanuel Vadot
146fac71e4eSEmmanuel Vadot&usb2 {
147fac71e4eSEmmanuel Vadot	status = "okay";
148fac71e4eSEmmanuel Vadot};
149fac71e4eSEmmanuel Vadot
150fac71e4eSEmmanuel Vadot&uart0 {
151fac71e4eSEmmanuel Vadot	status = "okay";
152fac71e4eSEmmanuel Vadot};
153fac71e4eSEmmanuel Vadot
154fac71e4eSEmmanuel Vadot&mdio {
155*8d13bc63SEmmanuel Vadot	switch0: ethernet-switch@1 {
156fac71e4eSEmmanuel Vadot		compatible = "marvell,mv88e6085";
157fac71e4eSEmmanuel Vadot		reg = <1>;
158fac71e4eSEmmanuel Vadot
159fac71e4eSEmmanuel Vadot		dsa,member = <0 0>;
160fac71e4eSEmmanuel Vadot
161*8d13bc63SEmmanuel Vadot		ports: ethernet-ports {
162fac71e4eSEmmanuel Vadot			#address-cells = <1>;
163fac71e4eSEmmanuel Vadot			#size-cells = <0>;
164fac71e4eSEmmanuel Vadot
165*8d13bc63SEmmanuel Vadot			ethernet-port@0 {
166fac71e4eSEmmanuel Vadot				reg = <0>;
167fac71e4eSEmmanuel Vadot				label = "cpu";
168fac71e4eSEmmanuel Vadot				ethernet = <&eth0>;
169fac71e4eSEmmanuel Vadot			};
170fac71e4eSEmmanuel Vadot
171*8d13bc63SEmmanuel Vadot			ethernet-port@1 {
172fac71e4eSEmmanuel Vadot				reg = <1>;
173fac71e4eSEmmanuel Vadot				label = "wan";
174fac71e4eSEmmanuel Vadot				phy-handle = <&switch0phy0>;
175fac71e4eSEmmanuel Vadot			};
176fac71e4eSEmmanuel Vadot
177*8d13bc63SEmmanuel Vadot			ethernet-port@2 {
178fac71e4eSEmmanuel Vadot				reg = <2>;
179fac71e4eSEmmanuel Vadot				label = "lan0";
180fac71e4eSEmmanuel Vadot				phy-handle = <&switch0phy1>;
181fac71e4eSEmmanuel Vadot
182fac71e4eSEmmanuel Vadot				nvmem-cells = <&macaddr_factory_6>;
183fac71e4eSEmmanuel Vadot				nvmem-cell-names = "mac-address";
184fac71e4eSEmmanuel Vadot			};
185fac71e4eSEmmanuel Vadot
186*8d13bc63SEmmanuel Vadot			ethernet-port@3 {
187fac71e4eSEmmanuel Vadot				reg = <3>;
188fac71e4eSEmmanuel Vadot				label = "lan1";
189fac71e4eSEmmanuel Vadot				phy-handle = <&switch0phy2>;
190fac71e4eSEmmanuel Vadot
191fac71e4eSEmmanuel Vadot				nvmem-cells = <&macaddr_factory_6>;
192fac71e4eSEmmanuel Vadot				nvmem-cell-names = "mac-address";
193fac71e4eSEmmanuel Vadot			};
194fac71e4eSEmmanuel Vadot		};
195fac71e4eSEmmanuel Vadot
196fac71e4eSEmmanuel Vadot		mdio {
197fac71e4eSEmmanuel Vadot			#address-cells = <1>;
198fac71e4eSEmmanuel Vadot			#size-cells = <0>;
199fac71e4eSEmmanuel Vadot
200*8d13bc63SEmmanuel Vadot			switch0phy0: ethernet-phy@11 {
201fac71e4eSEmmanuel Vadot				reg = <0x11>;
202fac71e4eSEmmanuel Vadot			};
203*8d13bc63SEmmanuel Vadot			switch0phy1: ethernet-phy@12 {
204fac71e4eSEmmanuel Vadot				reg = <0x12>;
205fac71e4eSEmmanuel Vadot			};
206*8d13bc63SEmmanuel Vadot			switch0phy2: ethernet-phy@13 {
207fac71e4eSEmmanuel Vadot				reg = <0x13>;
208fac71e4eSEmmanuel Vadot			};
209fac71e4eSEmmanuel Vadot		};
210fac71e4eSEmmanuel Vadot	};
211fac71e4eSEmmanuel Vadot};
212fac71e4eSEmmanuel Vadot
213fac71e4eSEmmanuel Vadot&eth0 {
214fac71e4eSEmmanuel Vadot	nvmem-cells = <&macaddr_factory_0>;
215fac71e4eSEmmanuel Vadot	nvmem-cell-names = "mac-address";
216fac71e4eSEmmanuel Vadot	phy-mode = "rgmii-id";
217fac71e4eSEmmanuel Vadot	status = "okay";
218fac71e4eSEmmanuel Vadot
219fac71e4eSEmmanuel Vadot	fixed-link {
220fac71e4eSEmmanuel Vadot		speed = <1000>;
221fac71e4eSEmmanuel Vadot		full-duplex;
222fac71e4eSEmmanuel Vadot	};
223fac71e4eSEmmanuel Vadot};
224fac71e4eSEmmanuel Vadot
225fac71e4eSEmmanuel Vadot&factory {
226fac71e4eSEmmanuel Vadot	compatible = "nvmem-cells";
227fac71e4eSEmmanuel Vadot	#address-cells = <1>;
228fac71e4eSEmmanuel Vadot	#size-cells = <1>;
229fac71e4eSEmmanuel Vadot
230fac71e4eSEmmanuel Vadot	macaddr_factory_0: macaddr@0 {
231fac71e4eSEmmanuel Vadot		reg = <0x0 0x6>;
232fac71e4eSEmmanuel Vadot	};
233fac71e4eSEmmanuel Vadot
234fac71e4eSEmmanuel Vadot	macaddr_factory_6: macaddr@6 {
235fac71e4eSEmmanuel Vadot		reg = <0x6 0x6>;
236fac71e4eSEmmanuel Vadot	};
237fac71e4eSEmmanuel Vadot};
238