xref: /linux/scripts/dtc/include-prefixes/arm/marvell/armada-381-netgear-gs110emx.dts (revision 06d07429858317ded2db7986113a9e0129cd599b)
1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2724ba675SRob Herring/* Copyright (c) 2021, Marcel Ziswiler <marcel@ziswiler.com> */
3724ba675SRob Herring
4724ba675SRob Herring/dts-v1/;
5724ba675SRob Herring#include "armada-385.dtsi"
6724ba675SRob Herring#include <dt-bindings/gpio/gpio.h>
7724ba675SRob Herring#include <dt-bindings/input/input.h>
8724ba675SRob Herring
9724ba675SRob Herring/ {
10724ba675SRob Herring	model = "Netgear GS110EMX";
11724ba675SRob Herring	compatible = "netgear,gs110emx", "marvell,armada380";
12724ba675SRob Herring
13724ba675SRob Herring	aliases {
14724ba675SRob Herring		/* So that mvebu u-boot can update the MAC addresses */
15724ba675SRob Herring		ethernet1 = &eth0;
16724ba675SRob Herring	};
17724ba675SRob Herring
18724ba675SRob Herring	chosen {
19724ba675SRob Herring		stdout-path = "serial0:115200n8";
20724ba675SRob Herring	};
21724ba675SRob Herring
22724ba675SRob Herring	gpio-keys {
23724ba675SRob Herring		compatible = "gpio-keys";
24724ba675SRob Herring		pinctrl-0 = <&front_button_pins>;
25724ba675SRob Herring		pinctrl-names = "default";
26724ba675SRob Herring
27724ba675SRob Herring		key-factory-default {
28724ba675SRob Herring			label = "Factory Default";
29724ba675SRob Herring			gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
30724ba675SRob Herring			linux,code = <KEY_RESTART>;
31724ba675SRob Herring		};
32724ba675SRob Herring	};
33724ba675SRob Herring
34724ba675SRob Herring	memory {
35724ba675SRob Herring		device_type = "memory";
36724ba675SRob Herring		reg = <0x00000000 0x08000000>; /* 128 MB */
37724ba675SRob Herring	};
38724ba675SRob Herring
39724ba675SRob Herring	soc {
40724ba675SRob Herring		ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000
41724ba675SRob Herring			  MBUS_ID(0x01, 0x1d) 0 0xfff00000 0x100000
42724ba675SRob Herring			  MBUS_ID(0x09, 0x19) 0 0xf1100000 0x10000
43724ba675SRob Herring			  MBUS_ID(0x09, 0x15) 0 0xf1110000 0x10000
44724ba675SRob Herring			  MBUS_ID(0x0c, 0x04) 0 0xf1200000 0x100000>;
45724ba675SRob Herring
46724ba675SRob Herring		internal-regs {
47724ba675SRob Herring			rtc@a3800 {
48724ba675SRob Herring				/*
49724ba675SRob Herring				 * If the rtc doesn't work, run "date reset"
50724ba675SRob Herring				 * twice in u-boot.
51724ba675SRob Herring				 */
52724ba675SRob Herring				status = "okay";
53724ba675SRob Herring			};
54724ba675SRob Herring		};
55724ba675SRob Herring	};
56724ba675SRob Herring};
57724ba675SRob Herring
58724ba675SRob Herring&eth0 {
59724ba675SRob Herring	/* ethernet@70000 */
60724ba675SRob Herring	bm,pool-long = <0>;
61724ba675SRob Herring	bm,pool-short = <1>;
62724ba675SRob Herring	buffer-manager = <&bm>;
63724ba675SRob Herring	phy-mode = "rgmii-id";
64724ba675SRob Herring	pinctrl-0 = <&ge0_rgmii_pins>;
65724ba675SRob Herring	pinctrl-names = "default";
66724ba675SRob Herring	status = "okay";
67724ba675SRob Herring
68724ba675SRob Herring	fixed-link {
69724ba675SRob Herring		full-duplex;
70724ba675SRob Herring		pause;
71724ba675SRob Herring		speed = <1000>;
72724ba675SRob Herring	};
73724ba675SRob Herring};
74724ba675SRob Herring
75724ba675SRob Herring&mdio {
76724ba675SRob Herring	pinctrl-names = "default";
77724ba675SRob Herring	pinctrl-0 = <&mdio_pins>;
78724ba675SRob Herring	status = "okay";
79724ba675SRob Herring
80*6e75ac5aSLinus Walleij	ethernet-switch@0 {
81724ba675SRob Herring		compatible = "marvell,mv88e6190";
82724ba675SRob Herring		#interrupt-cells = <2>;
83724ba675SRob Herring		interrupt-controller;
84724ba675SRob Herring		interrupt-parent = <&gpio1>;
85724ba675SRob Herring		interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
86724ba675SRob Herring		pinctrl-0 = <&switch_interrupt_pins>;
87724ba675SRob Herring		pinctrl-names = "default";
88724ba675SRob Herring		reg = <0>;
89724ba675SRob Herring
90724ba675SRob Herring		mdio {
91724ba675SRob Herring			#address-cells = <1>;
92724ba675SRob Herring			#size-cells = <0>;
93724ba675SRob Herring
94*6e75ac5aSLinus Walleij			switch0phy1: ethernet-phy@1 {
95724ba675SRob Herring				reg = <0x1>;
96724ba675SRob Herring			};
97724ba675SRob Herring
98*6e75ac5aSLinus Walleij			switch0phy2: ethernet-phy@2 {
99724ba675SRob Herring				reg = <0x2>;
100724ba675SRob Herring			};
101724ba675SRob Herring
102*6e75ac5aSLinus Walleij			switch0phy3: ethernet-phy@3 {
103724ba675SRob Herring				reg = <0x3>;
104724ba675SRob Herring			};
105724ba675SRob Herring
106*6e75ac5aSLinus Walleij			switch0phy4: ethernet-phy@4 {
107724ba675SRob Herring				reg = <0x4>;
108724ba675SRob Herring			};
109724ba675SRob Herring
110*6e75ac5aSLinus Walleij			switch0phy5: ethernet-phy@5 {
111724ba675SRob Herring				reg = <0x5>;
112724ba675SRob Herring			};
113724ba675SRob Herring
114*6e75ac5aSLinus Walleij			switch0phy6: ethernet-phy@6 {
115724ba675SRob Herring				reg = <0x6>;
116724ba675SRob Herring			};
117724ba675SRob Herring
118*6e75ac5aSLinus Walleij			switch0phy7: ethernet-phy@7 {
119724ba675SRob Herring				reg = <0x7>;
120724ba675SRob Herring			};
121724ba675SRob Herring
122*6e75ac5aSLinus Walleij			switch0phy8: ethernet-phy@8 {
123724ba675SRob Herring				reg = <0x8>;
124724ba675SRob Herring			};
125724ba675SRob Herring		};
126724ba675SRob Herring
127724ba675SRob Herring		mdio-external {
128724ba675SRob Herring			compatible = "marvell,mv88e6xxx-mdio-external";
129724ba675SRob Herring			#address-cells = <1>;
130724ba675SRob Herring			#size-cells = <0>;
131724ba675SRob Herring
132724ba675SRob Herring			phy1: ethernet-phy@b {
133724ba675SRob Herring				reg = <0xb>;
134724ba675SRob Herring				compatible = "ethernet-phy-ieee802.3-c45";
135724ba675SRob Herring			};
136724ba675SRob Herring
137724ba675SRob Herring			phy2: ethernet-phy@c {
138724ba675SRob Herring				reg = <0xc>;
139724ba675SRob Herring				compatible = "ethernet-phy-ieee802.3-c45";
140724ba675SRob Herring			};
141724ba675SRob Herring		};
142724ba675SRob Herring
143*6e75ac5aSLinus Walleij		ethernet-ports {
144724ba675SRob Herring			#address-cells = <1>;
145724ba675SRob Herring			#size-cells = <0>;
146724ba675SRob Herring
147*6e75ac5aSLinus Walleij			ethernet-port@0 {
148724ba675SRob Herring				ethernet = <&eth0>;
149724ba675SRob Herring				phy-mode = "rgmii";
150724ba675SRob Herring				reg = <0>;
151724ba675SRob Herring
152724ba675SRob Herring				fixed-link {
153724ba675SRob Herring					full-duplex;
154724ba675SRob Herring					pause;
155724ba675SRob Herring					speed = <1000>;
156724ba675SRob Herring				};
157724ba675SRob Herring			};
158724ba675SRob Herring
159*6e75ac5aSLinus Walleij			ethernet-port@1 {
160724ba675SRob Herring				label = "lan1";
161724ba675SRob Herring				phy-handle = <&switch0phy1>;
162724ba675SRob Herring				reg = <1>;
163724ba675SRob Herring			};
164724ba675SRob Herring
165*6e75ac5aSLinus Walleij			ethernet-port@2 {
166724ba675SRob Herring				label = "lan2";
167724ba675SRob Herring				phy-handle = <&switch0phy2>;
168724ba675SRob Herring				reg = <2>;
169724ba675SRob Herring			};
170724ba675SRob Herring
171*6e75ac5aSLinus Walleij			ethernet-port@3 {
172724ba675SRob Herring				label = "lan3";
173724ba675SRob Herring				phy-handle = <&switch0phy3>;
174724ba675SRob Herring				reg = <3>;
175724ba675SRob Herring			};
176724ba675SRob Herring
177*6e75ac5aSLinus Walleij			ethernet-port@4 {
178724ba675SRob Herring				label = "lan4";
179724ba675SRob Herring				phy-handle = <&switch0phy4>;
180724ba675SRob Herring				reg = <4>;
181724ba675SRob Herring			};
182724ba675SRob Herring
183*6e75ac5aSLinus Walleij			ethernet-port@5 {
184724ba675SRob Herring				label = "lan5";
185724ba675SRob Herring				phy-handle = <&switch0phy5>;
186724ba675SRob Herring				reg = <5>;
187724ba675SRob Herring			};
188724ba675SRob Herring
189*6e75ac5aSLinus Walleij			ethernet-port@6 {
190724ba675SRob Herring				label = "lan6";
191724ba675SRob Herring				phy-handle = <&switch0phy6>;
192724ba675SRob Herring				reg = <6>;
193724ba675SRob Herring			};
194724ba675SRob Herring
195*6e75ac5aSLinus Walleij			ethernet-port@7 {
196724ba675SRob Herring				label = "lan7";
197724ba675SRob Herring				phy-handle = <&switch0phy7>;
198724ba675SRob Herring				reg = <7>;
199724ba675SRob Herring			};
200724ba675SRob Herring
201*6e75ac5aSLinus Walleij			ethernet-port@8 {
202724ba675SRob Herring				label = "lan8";
203724ba675SRob Herring				phy-handle = <&switch0phy8>;
204724ba675SRob Herring				reg = <8>;
205724ba675SRob Herring			};
206724ba675SRob Herring
207*6e75ac5aSLinus Walleij			ethernet-port@9 {
208724ba675SRob Herring				/* 88X3310P external phy */
209724ba675SRob Herring				label = "lan9";
210724ba675SRob Herring				phy-handle = <&phy1>;
211724ba675SRob Herring				phy-mode = "xaui";
212724ba675SRob Herring				reg = <9>;
213724ba675SRob Herring			};
214724ba675SRob Herring
215*6e75ac5aSLinus Walleij			ethernet-port@a {
216724ba675SRob Herring				/* 88X3310P external phy */
217724ba675SRob Herring				label = "lan10";
218724ba675SRob Herring				phy-handle = <&phy2>;
219724ba675SRob Herring				phy-mode = "xaui";
220724ba675SRob Herring				reg = <0xa>;
221724ba675SRob Herring			};
222724ba675SRob Herring		};
223724ba675SRob Herring	};
224724ba675SRob Herring};
225724ba675SRob Herring
226724ba675SRob Herring&pinctrl {
227724ba675SRob Herring	front_button_pins: front-button-pins {
228724ba675SRob Herring		marvell,pins = "mpp38";
229724ba675SRob Herring		marvell,function = "gpio";
230724ba675SRob Herring	};
231724ba675SRob Herring
232724ba675SRob Herring	switch_interrupt_pins: switch-interrupt-pins {
233724ba675SRob Herring		marvell,pins = "mpp39";
234724ba675SRob Herring		marvell,function = "gpio";
235724ba675SRob Herring	};
236724ba675SRob Herring};
237724ba675SRob Herring
238724ba675SRob Herring&spi0 {
239724ba675SRob Herring	pinctrl-0 = <&spi0_pins>;
240724ba675SRob Herring	pinctrl-names = "default";
241724ba675SRob Herring	status = "okay";
242724ba675SRob Herring
243724ba675SRob Herring	flash@0 {
244724ba675SRob Herring		#address-cells = <1>;
245724ba675SRob Herring		#size-cells = <1>;
246724ba675SRob Herring		compatible = "jedec,spi-nor";
247724ba675SRob Herring		reg = <0>; /* Chip select 0 */
248724ba675SRob Herring		spi-max-frequency = <3000000>;
249724ba675SRob Herring
250724ba675SRob Herring		partitions {
251724ba675SRob Herring			compatible = "fixed-partitions";
252724ba675SRob Herring			#address-cells = <1>;
253724ba675SRob Herring			#size-cells = <1>;
254724ba675SRob Herring
255724ba675SRob Herring			partition@0 {
256724ba675SRob Herring				label = "boot";
257724ba675SRob Herring				read-only;
258724ba675SRob Herring				reg = <0x00000000 0x00100000>;
259724ba675SRob Herring			};
260724ba675SRob Herring
261724ba675SRob Herring			partition@100000 {
262724ba675SRob Herring				label = "env";
263724ba675SRob Herring				reg = <0x00100000 0x00010000>;
264724ba675SRob Herring			};
265724ba675SRob Herring
266724ba675SRob Herring			partition@200000 {
267724ba675SRob Herring				label = "rsv";
268724ba675SRob Herring				reg = <0x00110000 0x00010000>;
269724ba675SRob Herring			};
270724ba675SRob Herring
271724ba675SRob Herring			partition@300000 {
272724ba675SRob Herring				label = "image0";
273724ba675SRob Herring				reg = <0x00120000 0x00900000>;
274724ba675SRob Herring			};
275724ba675SRob Herring
276724ba675SRob Herring			partition@400000 {
277724ba675SRob Herring				label = "config";
278724ba675SRob Herring				reg = <0x00a20000 0x00300000>;
279724ba675SRob Herring			};
280724ba675SRob Herring
281724ba675SRob Herring			partition@480000 {
282724ba675SRob Herring				label = "debug";
283724ba675SRob Herring				reg = <0x00d20000 0x002e0000>;
284724ba675SRob Herring			};
285724ba675SRob Herring		};
286724ba675SRob Herring	};
287724ba675SRob Herring};
288724ba675SRob Herring
289724ba675SRob Herring&uart0 {
290724ba675SRob Herring	pinctrl-0 = <&uart0_pins>;
291724ba675SRob Herring	pinctrl-names = "default";
292724ba675SRob Herring	status = "okay";
293724ba675SRob Herring};
294