Skip to content

Commit 6d5a674

Browse files
mrkikogclement
authored andcommitted
arm64: dts: marvell: add DTS for GL.iNet GL-MV1000
The GL-MV1000 (Brume) is a small form-factor gateway router. It is based on the Marvell Armada 88F3720 SOC (1GHz), has 3 gigabit ethernet ports, 1 GB RAM, 16M SPI flash, 8GB eMMC and an uSD slot, as well as an USB 2.0 type A and an USB 3.0 type C port. Signed-off-by: Enrico Mioso <[email protected]> CC: Pali <[email protected]> Reviewed-by: Pali Rohár <[email protected]> Signed-off-by: Gregory CLEMENT <[email protected]>
1 parent 4b6a412 commit 6d5a674

File tree

2 files changed

+240
-0
lines changed

2 files changed

+240
-0
lines changed

arch/arm64/boot/dts/marvell/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-espressobin-emmc.dtb
77
dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-espressobin-ultra.dtb
88
dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-espressobin-v7.dtb
99
dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-espressobin-v7-emmc.dtb
10+
dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-gl-mv1000.dtb
1011
dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-turris-mox.dtb
1112
dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-uDPU.dtb
1213
dtb-$(CONFIG_ARCH_MVEBU) += armada-7040-db.dtb
Lines changed: 239 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,239 @@
1+
// 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 {
155+
switch0: switch0@1 {
156+
compatible = "marvell,mv88e6085";
157+
#address-cells = <1>;
158+
#size-cells = <0>;
159+
reg = <1>;
160+
161+
dsa,member = <0 0>;
162+
163+
ports: ports {
164+
#address-cells = <1>;
165+
#size-cells = <0>;
166+
167+
port@0 {
168+
reg = <0>;
169+
label = "cpu";
170+
ethernet = <&eth0>;
171+
};
172+
173+
port@1 {
174+
reg = <1>;
175+
label = "wan";
176+
phy-handle = <&switch0phy0>;
177+
};
178+
179+
port@2 {
180+
reg = <2>;
181+
label = "lan0";
182+
phy-handle = <&switch0phy1>;
183+
184+
nvmem-cells = <&macaddr_factory_6>;
185+
nvmem-cell-names = "mac-address";
186+
};
187+
188+
port@3 {
189+
reg = <3>;
190+
label = "lan1";
191+
phy-handle = <&switch0phy2>;
192+
193+
nvmem-cells = <&macaddr_factory_6>;
194+
nvmem-cell-names = "mac-address";
195+
};
196+
};
197+
198+
mdio {
199+
#address-cells = <1>;
200+
#size-cells = <0>;
201+
202+
switch0phy0: switch0phy0@11 {
203+
reg = <0x11>;
204+
};
205+
switch0phy1: switch0phy1@12 {
206+
reg = <0x12>;
207+
};
208+
switch0phy2: switch0phy2@13 {
209+
reg = <0x13>;
210+
};
211+
};
212+
};
213+
};
214+
215+
&eth0 {
216+
nvmem-cells = <&macaddr_factory_0>;
217+
nvmem-cell-names = "mac-address";
218+
phy-mode = "rgmii-id";
219+
status = "okay";
220+
221+
fixed-link {
222+
speed = <1000>;
223+
full-duplex;
224+
};
225+
};
226+
227+
&factory {
228+
compatible = "nvmem-cells";
229+
#address-cells = <1>;
230+
#size-cells = <1>;
231+
232+
macaddr_factory_0: macaddr@0 {
233+
reg = <0x0 0x6>;
234+
};
235+
236+
macaddr_factory_6: macaddr@6 {
237+
reg = <0x6 0x6>;
238+
};
239+
};

0 commit comments

Comments
 (0)