1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Marvell 88F6281 GTW GE Board
4 *
5 * Lennert Buytenhek <buytenh@marvell.com>
6 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 *
8 * This file contains the definitions that are common between the 6281
9 * and 6282 variants of the Marvell Kirkwood Development Board.
10 */
11
12/dts-v1/;
13
14#include "kirkwood.dtsi"
15#include "kirkwood-6281.dtsi"
16
17/ {
18	model = "Marvell 88F6281 GTW GE Board";
19	compatible = "marvell,mv88f6281gtw-ge", "marvell,kirkwood-88f6281", "marvell,kirkwood";
20
21	memory {
22		device_type = "memory";
23		reg = <0x00000000 0x20000000>; /* 512 MB */
24	};
25
26	chosen {
27		bootargs = "console=ttyS0,115200n8 earlyprintk";
28		stdout-path = &uart0;
29	};
30
31	ocp@f1000000 {
32		pin-controller@10000 {
33			pmx_usb_led: pmx-usb-led {
34				marvell,pins = "mpp12";
35				marvell,function = "gpo";
36			};
37
38			pmx_leds: pmx-leds {
39				marvell,pins = "mpp20", "mpp21";
40				marvell,function = "gpio";
41			};
42
43			pmx_keys: pmx-keys {
44				marvell,pins = "mpp46", "mpp47";
45				marvell,function = "gpio";
46			};
47		};
48
49		spi@10600 {
50			status = "okay";
51
52			flash@0 {
53				#address-cells = <1>;
54				#size-cells = <1>;
55				compatible = "mxicy,mx25l12805d", "jedec,spi-nor";
56				reg = <0>;
57				spi-max-frequency = <50000000>;
58				mode = <0>;
59			};
60		};
61
62		serial@12000 {
63			status = "okay";
64		};
65
66		ehci@50000 {
67			status = "okay";
68		};
69	};
70
71	gpio-leds {
72		compatible = "gpio-leds";
73		pinctrl-0 = <&pmx_leds &pmx_usb_led>;
74		pinctrl-names = "default";
75
76		green-status {
77			label = "gtw:green:Status";
78			gpios = <&gpio0 20 GPIO_ACTIVE_HIGH>;
79		};
80
81		red-status {
82			label = "gtw:red:Status";
83			gpios = <&gpio0 21 GPIO_ACTIVE_HIGH>;
84		};
85
86		green-usb {
87			label = "gtw:green:USB";
88			gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
89		};
90	};
91
92	gpio_keys {
93		compatible = "gpio-keys";
94		#address-cells = <1>;
95		#size-cells = <0>;
96		pinctrl-0 = <&pmx_keys>;
97		pinctrl-names = "default";
98
99		restart {
100			label = "SWR Button";
101			linux,code = <KEY_RESTART>;
102			gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
103		};
104		wps {
105			label = "WPS Button";
106			linux,code = <KEY_WPS_BUTTON>;
107			gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
108		};
109	};
110};
111
112&mdio {
113	status = "okay";
114
115	switch@0 {
116		compatible = "marvell,mv88e6085";
117		#address-cells = <1>;
118		#size-cells = <0>;
119		reg = <0>;
120
121		ports {
122			#address-cells = <1>;
123			#size-cells = <0>;
124
125			port@0 {
126				reg = <0>;
127				label = "lan1";
128			};
129
130			port@1 {
131				reg = <1>;
132				label = "lan2";
133			};
134
135			port@2 {
136				reg = <2>;
137				label = "lan3";
138			};
139
140			port@3 {
141				reg = <3>;
142				label = "lan4";
143			};
144
145			port@4 {
146				reg = <4>;
147				label = "wan";
148			};
149
150			port@5 {
151				reg = <5>;
152				phy-mode = "rgmii-id";
153				ethernet = <&eth0port>;
154				fixed-link {
155					speed = <1000>;
156					full-duplex;
157				};
158			};
159		};
160	};
161};
162
163&eth0 {
164	status = "okay";
165
166	ethernet0-port@0 {
167		speed = <1000>;
168		duplex = <1>;
169		phy-mode = "rgmii";
170	};
171};
172
173&pciec {
174	status = "okay";
175};
176
177&pcie0 {
178	status = "okay";
179};
180