blob: fb203e7d37f5e39e0654f60e27c832ef91b932e3 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: GPL-2.0-only
2// Copyright (C) 2016 Jamie Lentin <jm@lentin.co.uk>
3
4/dts-v1/;
5
6#include <dt-bindings/gpio/gpio.h>
7#include <dt-bindings/input/input.h>
8#include "orion5x-mv88f5181.dtsi"
9
10/ {
11 model = "Netgear WNR854-t";
12 compatible = "netgear,wnr854t", "marvell,orion5x-88f5181",
13 "marvell,orion5x";
14 aliases {
15 serial0 = &uart0;
16 };
17
18 memory {
19 device_type = "memory";
20 reg = <0x00000000 0x2000000>; /* 32 MB */
21 };
22
23 chosen {
24 stdout-path = "serial0:115200n8";
25 };
26
27 soc {
28 ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000>,
29 <MBUS_ID(0x09, 0x00) 0 0xf2200000 0x800>,
30 <MBUS_ID(0x01, 0x0f) 0 0xf4000000 0x800000>;
31 };
32
33 gpio-keys {
34 compatible = "gpio-keys";
35 pinctrl-0 = <&pmx_reset_button>;
36 pinctrl-names = "default";
37
38 reset {
39 label = "Reset Button";
40 linux,code = <KEY_RESTART>;
41 gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
42 };
43 };
44
45 gpio-leds {
46 compatible = "gpio-leds";
47 pinctrl-0 = <&pmx_power_led &pmx_power_led_blink &pmx_wan_led>;
48 pinctrl-names = "default";
49
50 led@0 {
51 label = "wnr854t:green:power";
52 gpios = <&gpio0 0 GPIO_ACTIVE_LOW>;
53 };
54
55 led@1 {
56 label = "wnr854t:blink:power";
57 gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
58 };
59
60 led@2 {
61 label = "wnr854t:green:wan";
62 gpios = <&gpio0 3 GPIO_ACTIVE_LOW>;
63 };
64 };
65};
66
67&devbus_bootcs {
68 status = "okay";
69
70 devbus,keep-config;
71
72 flash@0 {
73 compatible = "cfi-flash";
74 reg = <0 0x800000>;
75 bank-width = <2>;
76
77 partitions {
78 compatible = "fixed-partitions";
79 #address-cells = <1>;
80 #size-cells = <1>;
81
82 partition@0 {
83 label = "kernel";
84 reg = <0x0 0x100000>;
85 };
86
87 partition@100000 {
88 label = "rootfs";
89 reg = <0x100000 0x660000>;
90 };
91
92 partition@760000 {
93 label = "uboot_env";
94 reg = <0x760000 0x20000>;
95 };
96
97 partition@780000 {
98 label = "uboot";
99 reg = <0x780000 0x80000>;
100 read-only;
101 };
102 };
103 };
104};
105
106&mdio {
107 status = "okay";
108
109 switch: switch@0 {
110 compatible = "marvell,mv88e6085";
111 #address-cells = <1>;
112 #size-cells = <0>;
113 reg = <0>;
114 dsa,member = <0 0>;
115
116 ports {
117 #address-cells = <1>;
118 #size-cells = <0>;
119
120 port@0 {
121 reg = <0>;
122 label = "lan3";
123 phy-handle = <&lan3phy>;
124 };
125
126 port@1 {
127 reg = <1>;
128 label = "lan4";
129 phy-handle = <&lan4phy>;
130 };
131
132 port@2 {
133 reg = <2>;
134 label = "wan";
135 phy-handle = <&wanphy>;
136 };
137
138 port@3 {
139 reg = <3>;
140 ethernet = <&ethport>;
141 phy-mode = "rgmii-id";
142 fixed-link {
143 speed = <1000>;
144 full-duplex;
145 };
146 };
147
148 port@5 {
149 reg = <5>;
150 label = "lan1";
151 phy-handle = <&lan1phy>;
152 };
153
154 port@7 {
155 reg = <7>;
156 label = "lan2";
157 phy-handle = <&lan2phy>;
158 };
159 };
160
161 mdio {
162 #address-cells = <1>;
163 #size-cells = <0>;
164
165 lan3phy: ethernet-phy@0 {
166 /* Marvell 88E1121R (port 1) */
167 compatible = "ethernet-phy-id0141.0cb0",
168 "ethernet-phy-ieee802.3-c22";
169 reg = <0>;
170 marvell,reg-init = <3 16 0 0x1777 3 17 0 0x15>;
171 };
172
173 lan4phy: ethernet-phy@1 {
174 /* Marvell 88E1121R (port 2) */
175 compatible = "ethernet-phy-id0141.0cb0",
176 "ethernet-phy-ieee802.3-c22";
177 reg = <1>;
178 marvell,reg-init = <3 16 0 0x1777 3 17 0 0x15>;
179 };
180
181 wanphy: ethernet-phy@2 {
182 /* Marvell 88E1121R (port 1) */
183 compatible = "ethernet-phy-id0141.0cb0",
184 "ethernet-phy-ieee802.3-c22";
185 reg = <2>;
186 marvell,reg-init = <3 16 0 0x1777 3 17 0 0x15>;
187 };
188
189 lan1phy: ethernet-phy@5 {
190 /* Marvell 88E1112 */
191 compatible = "ethernet-phy-id0141.0cb0",
192 "ethernet-phy-ieee802.3-c22";
193 reg = <5>;
194 marvell,reg-init = <3 16 0 0x1777 3 17 0 0x15>;
195 };
196
197 lan2phy: ethernet-phy@7 {
198 /* Marvell 88E1112 */
199 compatible = "ethernet-phy-id0141.0cb0",
200 "ethernet-phy-ieee802.3-c22";
201 reg = <7>;
202 marvell,reg-init = <3 16 0 0x1777 3 17 0 0x15>;
203 };
204 };
205 };
206};
207
208&eth {
209 status = "okay";
210
211 ethernet-port@0 {
212 /* Hardwired to DSA switch */
213 speed = <1000>;
214 duplex = <1>;
215 phy-mode = "rgmii";
216 };
217};
218
219&pinctrl {
220 pinctrl-0 = <&pmx_pci_gpios>;
221 pinctrl-names = "default";
222
223 pmx_power_led: pmx-power-led {
224 marvell,pins = "mpp0";
225 marvell,function = "gpio";
226 };
227
228 pmx_reset_button: pmx-reset-button {
229 marvell,pins = "mpp1";
230 marvell,function = "gpio";
231 };
232
233 pmx_power_led_blink: pmx-power-led-blink {
234 marvell,pins = "mpp2";
235 marvell,function = "gpio";
236 };
237
238 pmx_wan_led: pmx-wan-led {
239 marvell,pins = "mpp3";
240 marvell,function = "gpio";
241 };
242
243 pmx_pci_gpios: pmx-pci-gpios {
244 marvell,pins = "mpp4";
245 marvell,function = "gpio";
246 };
247};
248
249&uart0 {
250 /* Pin 1: Tx, Pin 7: Rx, Pin 8: Gnd */
251 status = "okay";
252};