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