]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/blame - arch/arm/boot/dts/kirkwood-linksys-viper.dts
UBUNTU: Ubuntu-5.3.0-29.31
[mirror_ubuntu-eoan-kernel.git] / arch / arm / boot / dts / kirkwood-linksys-viper.dts
CommitLineData
e7822263 1// SPDX-License-Identifier: GPL-2.0
c134043e
BV
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 *
c134043e
BV
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 };
c134043e
BV
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
cea96bf1 111 partition@a0000 {
c134043e
BV
112 label = "s_env";
113 reg = <0xA0000 0x20000>;
114 };
115
116 partition@200000 {
117 label = "kernel";
118 reg = <0x200000 0x2A0000>;
119 };
120
cea96bf1 121 partition@4a0000 {
c134043e
BV
122 label = "rootfs";
123 reg = <0x4A0000 0x1760000>;
124 };
125
cea96bf1 126 partition@1c00000 {
c134043e
BV
127 label = "alt_kernel";
128 reg = <0x1C00000 0x2A0000>;
129 };
130
cea96bf1 131 partition@1ea0000 {
c134043e
BV
132 label = "alt_rootfs";
133 reg = <0x1EA0000 0x1760000>;
134 };
135
136 partition@3600000 {
137 label = "syscfg";
138 reg = <0x3600000 0x4A00000>;
139 };
140
cea96bf1 141 partition@c0000 {
c134043e
BV
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";
69e8e6ae
FF
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 label = "cpu";
202 ethernet = <&eth0port>;
203 fixed-link {
204 speed = <1000>;
205 full-duplex;
206 };
207 };
208 };
209 };
c134043e
BV
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 };
225};
226
227/* eth1 is connected to the switch at port 6. However DSA only supports a
228 * single CPU port. So leave this port disabled to avoid confusion.
229 */
230&eth1 {
231 status = "disabled";
232};
233
234/* There is no battery on the board, so the RTC does not keep
235 * time when there is no power, making it useless.
236 */
237&rtc {
238 status = "disabled";
239};
240