xref: /linux/scripts/dtc/include-prefixes/arm/marvell/kirkwood-linksys-viper.dts (revision a1ff5a7d78a036d6c2178ee5acd6ba4946243800)
1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0
2724ba675SRob Herring/*
3724ba675SRob Herring * kirkwood-viper.dts - Device Tree file for Linksys viper (E4200v2 / EA4500)
4724ba675SRob Herring *
5724ba675SRob Herring * (c) 2013 Jonas Gorski <jogo@openwrt.org>
6724ba675SRob Herring * (c) 2013 Deutsche Telekom Innovation Laboratories
7724ba675SRob Herring * (c) 2014 Luka Perkov <luka@openwrt.org>
8724ba675SRob Herring * (c) 2014 Randy C. Will <randall.will@gmail.com>
9724ba675SRob Herring *
10724ba675SRob Herring */
11724ba675SRob Herring
12724ba675SRob Herring/dts-v1/;
13724ba675SRob Herring
14724ba675SRob Herring#include "kirkwood.dtsi"
15724ba675SRob Herring#include "kirkwood-6282.dtsi"
16724ba675SRob Herring
17724ba675SRob Herring/ {
18724ba675SRob Herring	model = "Linksys Viper (E4200v2 / EA4500)";
19724ba675SRob Herring	compatible = "linksys,viper", "marvell,kirkwood-88f6282", "marvell,kirkwood";
20724ba675SRob Herring
21724ba675SRob Herring	memory {
22724ba675SRob Herring		device_type = "memory";
23724ba675SRob Herring		reg = <0x00000000 0x8000000>;
24724ba675SRob Herring	};
25724ba675SRob Herring
26724ba675SRob Herring	aliases {
27724ba675SRob Herring		serial0 = &uart0;
28724ba675SRob Herring	};
29724ba675SRob Herring
30724ba675SRob Herring	chosen {
31724ba675SRob Herring		stdout-path = "serial0:115200n8";
32724ba675SRob Herring	};
33724ba675SRob Herring
34724ba675SRob Herring	gpio_keys {
35724ba675SRob Herring		compatible = "gpio-keys";
36724ba675SRob Herring		pinctrl-0 = < &pmx_btn_wps &pmx_btn_reset >;
37724ba675SRob Herring		pinctrl-names = "default";
38724ba675SRob Herring
39b98a9191SKrzysztof Kozlowski		button-wps {
40724ba675SRob Herring			label = "WPS Button";
41724ba675SRob Herring			linux,code = <KEY_WPS_BUTTON>;
42724ba675SRob Herring			gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
43724ba675SRob Herring		};
44724ba675SRob Herring
45b98a9191SKrzysztof Kozlowski		button-reset {
46724ba675SRob Herring			label = "Reset Button";
47724ba675SRob Herring			linux,code = <KEY_RESTART>;
48724ba675SRob Herring			gpios = <&gpio1 16 GPIO_ACTIVE_LOW>;
49724ba675SRob Herring		};
50724ba675SRob Herring	};
51724ba675SRob Herring
52724ba675SRob Herring	gpio-leds {
53724ba675SRob Herring		compatible = "gpio-leds";
54724ba675SRob Herring		pinctrl-0 = < &pmx_led_white_health &pmx_led_white_pulse >;
55724ba675SRob Herring		pinctrl-names = "default";
56724ba675SRob Herring
57*9d0120b7SKrzysztof Kozlowski		led-white-health {
58724ba675SRob Herring			label = "viper:white:health";
59724ba675SRob Herring			gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>;
60724ba675SRob Herring		};
61724ba675SRob Herring
62*9d0120b7SKrzysztof Kozlowski		led-white-pulse {
63724ba675SRob Herring			label = "viper:white:pulse";
64724ba675SRob Herring			gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
65724ba675SRob Herring		};
66724ba675SRob Herring	};
67724ba675SRob Herring};
68724ba675SRob Herring
69724ba675SRob Herring&pinctrl {
70724ba675SRob Herring	pmx_led_white_health: pmx-led-white-health {
71724ba675SRob Herring		marvell,pins = "mpp7";
72724ba675SRob Herring		marvell,function = "gpo";
73724ba675SRob Herring	};
74724ba675SRob Herring	pmx_led_white_pulse: pmx-led-white-pulse {
75724ba675SRob Herring		marvell,pins = "mpp14";
76724ba675SRob Herring		marvell,function = "gpio";
77724ba675SRob Herring	};
78724ba675SRob Herring	pmx_btn_wps: pmx-btn-wps {
79724ba675SRob Herring		marvell,pins = "mpp47";
80724ba675SRob Herring		marvell,function = "gpio";
81724ba675SRob Herring	};
82724ba675SRob Herring	pmx_btn_reset: pmx-btn-reset {
83724ba675SRob Herring		marvell,pins = "mpp48";
84724ba675SRob Herring		marvell,function = "gpio";
85724ba675SRob Herring	};
86724ba675SRob Herring};
87724ba675SRob Herring
88724ba675SRob Herring&nand {
89724ba675SRob Herring	status = "okay";
90724ba675SRob Herring	pinctrl-0 = <&pmx_nand>;
91724ba675SRob Herring	pinctrl-names = "default";
92724ba675SRob Herring
93724ba675SRob Herring	partitions {
94724ba675SRob Herring		compatible = "fixed-partitions";
95724ba675SRob Herring		#address-cells = <1>;
96724ba675SRob Herring		#size-cells = <1>;
97724ba675SRob Herring
98724ba675SRob Herring		partition@0 {
99724ba675SRob Herring			label = "u-boot";
100724ba675SRob Herring			reg = <0x0 0x80000>;
101724ba675SRob Herring			read-only;
102724ba675SRob Herring		};
103724ba675SRob Herring
104724ba675SRob Herring		partition@80000 {
105724ba675SRob Herring			label = "u_env";
106724ba675SRob Herring			reg = <0x80000 0x20000>;
107724ba675SRob Herring		};
108724ba675SRob Herring
109724ba675SRob Herring		partition@a0000 {
110724ba675SRob Herring			label = "s_env";
111724ba675SRob Herring			reg = <0xA0000 0x20000>;
112724ba675SRob Herring		};
113724ba675SRob Herring
114724ba675SRob Herring		partition@200000 {
115724ba675SRob Herring			label = "kernel";
116724ba675SRob Herring			reg = <0x200000 0x2A0000>;
117724ba675SRob Herring		};
118724ba675SRob Herring
119724ba675SRob Herring		partition@4a0000 {
120724ba675SRob Herring			label = "rootfs";
121724ba675SRob Herring			reg = <0x4A0000 0x1760000>;
122724ba675SRob Herring		};
123724ba675SRob Herring
124724ba675SRob Herring		partition@1c00000 {
125724ba675SRob Herring			label = "alt_kernel";
126724ba675SRob Herring			reg = <0x1C00000 0x2A0000>;
127724ba675SRob Herring		};
128724ba675SRob Herring
129724ba675SRob Herring		partition@1ea0000 {
130724ba675SRob Herring			label = "alt_rootfs";
131724ba675SRob Herring			reg = <0x1EA0000 0x1760000>;
132724ba675SRob Herring		};
133724ba675SRob Herring
134724ba675SRob Herring		partition@3600000 {
135724ba675SRob Herring			label = "syscfg";
136724ba675SRob Herring			reg = <0x3600000 0x4A00000>;
137724ba675SRob Herring		};
138724ba675SRob Herring
139724ba675SRob Herring		partition@c0000 {
140724ba675SRob Herring			label = "unused";
141724ba675SRob Herring			reg = <0xC0000 0x140000>;
142724ba675SRob Herring		};
143724ba675SRob Herring
144724ba675SRob Herring	};
145724ba675SRob Herring};
146724ba675SRob Herring
147724ba675SRob Herring&pciec {
148724ba675SRob Herring	status = "okay";
149724ba675SRob Herring};
150724ba675SRob Herring
151724ba675SRob Herring&pcie0 {
152724ba675SRob Herring	status = "okay";
153724ba675SRob Herring};
154724ba675SRob Herring
155724ba675SRob Herring&pcie1 {
156724ba675SRob Herring	status = "okay";
157724ba675SRob Herring};
158724ba675SRob Herring
159724ba675SRob Herring&mdio {
160724ba675SRob Herring	status = "okay";
161724ba675SRob Herring
162724ba675SRob Herring	switch@10 {
163724ba675SRob Herring		compatible = "marvell,mv88e6085";
164724ba675SRob Herring		#address-cells = <1>;
165724ba675SRob Herring		#size-cells = <0>;
166724ba675SRob Herring		reg = <16>;
167724ba675SRob Herring
168724ba675SRob Herring		ports {
169724ba675SRob Herring			#address-cells = <1>;
170724ba675SRob Herring			#size-cells = <0>;
171724ba675SRob Herring
172724ba675SRob Herring			port@0 {
173724ba675SRob Herring				reg = <0>;
174724ba675SRob Herring				label = "ethernet1";
175724ba675SRob Herring			};
176724ba675SRob Herring
177724ba675SRob Herring			port@1 {
178724ba675SRob Herring				reg = <1>;
179724ba675SRob Herring				label = "ethernet2";
180724ba675SRob Herring			};
181724ba675SRob Herring
182724ba675SRob Herring			port@2 {
183724ba675SRob Herring				reg = <2>;
184724ba675SRob Herring				label = "ethernet3";
185724ba675SRob Herring			};
186724ba675SRob Herring
187724ba675SRob Herring			port@3 {
188724ba675SRob Herring				reg = <3>;
189724ba675SRob Herring				label = "ethernet4";
190724ba675SRob Herring			};
191724ba675SRob Herring
192724ba675SRob Herring			port@4 {
193724ba675SRob Herring				reg = <4>;
194724ba675SRob Herring				label = "internet";
195724ba675SRob Herring			};
196724ba675SRob Herring
197724ba675SRob Herring			port@5 {
198724ba675SRob Herring				reg = <5>;
199724ba675SRob Herring				phy-mode = "rgmii-id";
200724ba675SRob Herring				ethernet = <&eth0port>;
201724ba675SRob Herring				fixed-link {
202724ba675SRob Herring					speed = <1000>;
203724ba675SRob Herring					full-duplex;
204724ba675SRob Herring				};
205724ba675SRob Herring			};
206724ba675SRob Herring		};
207724ba675SRob Herring	};
208724ba675SRob Herring};
209724ba675SRob Herring
210724ba675SRob Herring&uart0 {
211724ba675SRob Herring	status = "okay";
212724ba675SRob Herring};
213724ba675SRob Herring
214724ba675SRob Herring/* eth0 is connected to a Marvell 88E6171 switch, without a PHY. So set
215724ba675SRob Herring * fixed speed and duplex.
216724ba675SRob Herring */
217724ba675SRob Herring&eth0 {
218724ba675SRob Herring	status = "okay";
219724ba675SRob Herring	ethernet0-port@0 {
220724ba675SRob Herring		speed = <1000>;
221724ba675SRob Herring		duplex = <1>;
222724ba675SRob Herring		phy-mode = "rgmii";
223724ba675SRob Herring	};
224724ba675SRob Herring};
225724ba675SRob Herring
226724ba675SRob Herring/* eth1 is connected to the switch at port 6. However DSA only supports a
227724ba675SRob Herring * single CPU port. So leave this port disabled to avoid confusion.
228724ba675SRob Herring */
229724ba675SRob Herring&eth1 {
230724ba675SRob Herring	status = "disabled";
231724ba675SRob Herring};
232724ba675SRob Herring
233724ba675SRob Herring/* There is no battery on the board, so the RTC does not keep
234724ba675SRob Herring * time when there is no power, making it useless.
235724ba675SRob Herring */
236724ba675SRob Herring&rtc {
237724ba675SRob Herring	status = "disabled";
238724ba675SRob Herring};
239724ba675SRob Herring
240