Linux Audio

Check our new training course

Loading...
Note: File does not exist in v6.2.
  1// SPDX-License-Identifier: GPL-2.0
  2/*
  3 * kirkwood-viper.dts - Device Tree file for Linksys viper (E4200v2 / EA4500)
  4 *
  5 * (c) 2013 Jonas Gorski <jogo@openwrt.org>
  6 * (c) 2013 Deutsche Telekom Innovation Laboratories
  7 * (c) 2014 Luka Perkov <luka@openwrt.org>
  8 * (c) 2014 Randy C. Will <randall.will@gmail.com>
  9 *
 10 */
 11
 12/dts-v1/;
 13
 14#include "kirkwood.dtsi"
 15#include "kirkwood-6282.dtsi"
 16
 17/ {
 18	model = "Linksys Viper (E4200v2 / EA4500)";
 19	compatible = "linksys,viper", "marvell,kirkwood-88f6282", "marvell,kirkwood";
 20
 21	memory {
 22		device_type = "memory";
 23		reg = <0x00000000 0x8000000>;
 24	};
 25
 26	aliases {
 27		serial0 = &uart0;
 28	};
 29
 30	chosen {
 31		stdout-path = "serial0:115200n8";
 32	};
 33
 34	gpio_keys {
 35		compatible = "gpio-keys";
 36		#address-cells = <1>;
 37		#size-cells = <0>;
 38		pinctrl-0 = < &pmx_btn_wps &pmx_btn_reset >;
 39		pinctrl-names = "default";
 40
 41		wps {
 42			label = "WPS Button";
 43			linux,code = <KEY_WPS_BUTTON>;
 44			gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
 45		};
 46
 47		reset {
 48			label = "Reset Button";
 49			linux,code = <KEY_RESTART>;
 50			gpios = <&gpio1 16 GPIO_ACTIVE_LOW>;
 51		};
 52	};
 53
 54	gpio-leds {
 55		compatible = "gpio-leds";
 56		pinctrl-0 = < &pmx_led_white_health &pmx_led_white_pulse >;
 57		pinctrl-names = "default";
 58
 59		white-health {
 60			label = "viper:white:health";
 61			gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>;
 62		};
 63
 64		white-pulse {
 65			label = "viper:white:pulse";
 66			gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
 67		};
 68	};
 69};
 70
 71&pinctrl {
 72	pmx_led_white_health: pmx-led-white-health {
 73		marvell,pins = "mpp7";
 74		marvell,function = "gpo";
 75	};
 76	pmx_led_white_pulse: pmx-led-white-pulse {
 77		marvell,pins = "mpp14";
 78		marvell,function = "gpio";
 79	};
 80	pmx_btn_wps: pmx-btn-wps {
 81		marvell,pins = "mpp47";
 82		marvell,function = "gpio";
 83	};
 84	pmx_btn_reset: pmx-btn-reset {
 85		marvell,pins = "mpp48";
 86		marvell,function = "gpio";
 87	};
 88};
 89
 90&nand {
 91	status = "okay";
 92	pinctrl-0 = <&pmx_nand>;
 93	pinctrl-names = "default";
 94
 95	partitions {
 96		compatible = "fixed-partitions";
 97		#address-cells = <1>;
 98		#size-cells = <1>;
 99
100		partition@0 {
101			label = "u-boot";
102			reg = <0x0 0x80000>;
103			read-only;
104		};
105
106		partition@80000 {
107			label = "u_env";
108			reg = <0x80000 0x20000>;
109		};
110
111		partition@a0000 {
112			label = "s_env";
113			reg = <0xA0000 0x20000>;
114		};
115
116		partition@200000 {
117			label = "kernel";
118			reg = <0x200000 0x2A0000>;
119		};
120
121		partition@4a0000 {
122			label = "rootfs";
123			reg = <0x4A0000 0x1760000>;
124		};
125
126		partition@1c00000 {
127			label = "alt_kernel";
128			reg = <0x1C00000 0x2A0000>;
129		};
130
131		partition@1ea0000 {
132			label = "alt_rootfs";
133			reg = <0x1EA0000 0x1760000>;
134		};
135
136		partition@3600000 {
137			label = "syscfg";
138			reg = <0x3600000 0x4A00000>;
139		};
140
141		partition@c0000 {
142			label = "unused";
143			reg = <0xC0000 0x140000>;
144		};
145
146	};
147};
148
149&pciec {
150	status = "okay";
151};
152
153&pcie0 {
154	status = "okay";
155};
156
157&pcie1 {
158	status = "okay";
159};
160
161&mdio {
162	status = "okay";
163
164	switch@10 {
165		compatible = "marvell,mv88e6085";
166		#address-cells = <1>;
167		#size-cells = <0>;
168		reg = <16>;
169
170		ports {
171			#address-cells = <1>;
172			#size-cells = <0>;
173
174			port@0 {
175				reg = <0>;
176				label = "ethernet1";
177			};
178
179			port@1 {
180				reg = <1>;
181				label = "ethernet2";
182			};
183
184			port@2 {
185				reg = <2>;
186				label = "ethernet3";
187			};
188
189			port@3 {
190				reg = <3>;
191				label = "ethernet4";
192			};
193
194			port@4 {
195				reg = <4>;
196				label = "internet";
197			};
198
199			port@5 {
200				reg = <5>;
201				phy-mode = "rgmii-id";
202				ethernet = <&eth0port>;
203				fixed-link {
204					speed = <1000>;
205					full-duplex;
206				};
207			};
208		};
209	};
210};
211
212&uart0 {
213	status = "okay";
214};
215
216/* eth0 is connected to a Marvell 88E6171 switch, without a PHY. So set
217 * fixed speed and duplex.
218 */
219&eth0 {
220	status = "okay";
221	ethernet0-port@0 {
222		speed = <1000>;
223		duplex = <1>;
224		phy-mode = "rgmii";
225	};
226};
227
228/* eth1 is connected to the switch at port 6. However DSA only supports a
229 * single CPU port. So leave this port disabled to avoid confusion.
230 */
231&eth1 {
232	status = "disabled";
233};
234
235/* There is no battery on the board, so the RTC does not keep
236 * time when there is no power, making it useless.
237 */
238&rtc {
239	status = "disabled";
240};
241