lantiq - vgv7519: fix open-drain configuration for stp
[openwrt/openwrt.git] / target / linux / lantiq / dts / VGV7519.dtsi
1 /include/ "vr9.dtsi"
2
3 / {
4
5 model = "VGV7519 - KPN Experiabox V8";
6
7 chosen {
8 bootargs = "console=ttyLTQ0,115200 init=/etc/preinit";
9 };
10
11 memory@0 {
12 reg = <0x0 0x4000000>;
13 };
14
15 fpi@10000000 {
16 #address-cells = <1>;
17 #size-cells = <1>;
18 compatible = "lantiq,fpi", "simple-bus";
19 ranges = <0x0 0x10000000 0xEEFFFFF>;
20 reg = <0x10000000 0xEF00000>;
21
22 localbus@0 {
23 #address-cells = <2>;
24 #size-cells = <1>;
25 compatible = "lantiq,localbus", "simple-bus";
26 };
27
28 gpio: pinmux@E100B10 {
29 compatible = "lantiq,pinctrl-xr9";
30 pinctrl-names = "default";
31 pinctrl-0 = <&state_default>;
32
33 interrupt-parent = <&icu0>;
34 interrupts = <166 135 66 40 41 42 38>;
35
36 #gpio-cells = <2>;
37 gpio-controller;
38 reg = <0xE100B10 0xA0>;
39
40 state_default: pinmux {
41 stp {
42 lantiq,groups = "stp";
43 lantiq,function = "stp";
44 };
45 spi {
46 lantiq,groups = "spi", "spi_cs4";
47 lantiq,function = "spi";
48 };
49 mdio {
50 lantiq,groups = "mdio";
51 lantiq,function = "mdio";
52 };
53 gphy-leds_out {
54 lantiq,pins = "io7", "io44";
55 lantiq,pull = <0>;
56 lantiq,output = <1>;
57 };
58 stp_out {
59 lantiq,pins = "io4", "io5", "io6";
60 lantiq,open-drain = <0>;
61 lantiq,output = <1>;
62 lantiq,pull = <0>;
63 };
64 pci-rst {
65 lantiq,pins = "io21";
66 lantiq,open-drain = <0>;
67 lantiq,pull = <0>;
68 lantiq,output = <1>;
69 };
70 gphy-leds {
71 lantiq,groups = "gphy0 led1", "gphy1 led0";
72 lantiq,function = "gphy";
73 lantiq,open-drain = <0>;
74 };
75 };
76 };
77
78 eth@E108000 {
79 #address-cells = <1>;
80 #size-cells = <0>;
81 compatible = "lantiq,xrx200-net";
82 reg = < 0xE108000 0x3000 /* switch */
83 0xE10B100 0x70 /* mdio */
84 0xE10B1D8 0x30 /* mii */
85 0xE10B308 0x30 /* pmac */
86 >;
87 interrupt-parent = <&icu0>;
88 interrupts = <73 72>;
89
90 lan: interface@0 {
91 compatible = "lantiq,xrx200-pdi";
92 #address-cells = <1>;
93 #size-cells = <0>;
94 reg = <0>;
95 mac-address = [ 00 11 22 33 44 55 ];
96
97 ethernet@0 {
98 compatible = "lantiq,xrx200-pdi-port";
99 reg = <0>;
100 phy-mode = "rgmii";
101 phy-handle = <&phy0>;
102 };
103 ethernet@1 {
104 compatible = "lantiq,xrx200-pdi-port";
105 reg = <1>;
106 phy-mode = "rgmii";
107 phy-handle = <&phy1>;
108 };
109 ethernet@2 {
110 compatible = "lantiq,xrx200-pdi-port";
111 reg = <2>;
112 phy-mode = "gmii";
113 phy-handle = <&phy11>;
114 };
115 ethernet@4 {
116 compatible = "lantiq,xrx200-pdi-port";
117 reg = <4>;
118 phy-mode = "gmii";
119 phy-handle = <&phy13>;
120 };
121 };
122
123 wan: interface@1 {
124 compatible = "lantiq,xrx200-pdi";
125 #address-cells = <1>;
126 #size-cells = <0>;
127 reg = <1>;
128 mac-address = [ 00 11 22 33 44 56 ];
129 lantiq,wan;
130 ethernet@5 {
131 compatible = "lantiq,xrx200-pdi-port";
132 reg = <5>;
133 phy-mode = "rgmii";
134 phy-handle = <&phy5>;
135 };
136 };
137
138 mdio@0 {
139 #address-cells = <1>;
140 #size-cells = <0>;
141 compatible = "lantiq,xrx200-mdio";
142 phy0: ethernet-phy@0 {
143 reg = <0x0>;
144 compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
145 lantiq,c45-reg-init = <1 0 0 0>;
146 };
147 phy1: ethernet-phy@1 {
148 reg = <0x1>;
149 compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
150 lantiq,c45-reg-init = <1 0 0 0>;
151 };
152 phy5: ethernet-phy@5 {
153 reg = <0x5>;
154 compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
155 lantiq,c45-reg-init = <1 0 0 0>;
156 };
157 phy11: ethernet-phy@11 {
158 reg = <0x11>;
159 compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
160 lantiq,c45-reg-init = <1 0 0 0>;
161 };
162 phy13: ethernet-phy@13 {
163 reg = <0x13>;
164 compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
165 lantiq,c45-reg-init = <1 0 0 0>;
166 };
167 };
168 };
169
170 stp: stp@E100BB0 {
171 compatible = "lantiq,gpio-stp-xway";
172 reg = <0xE100BB0 0x40>;
173 #gpio-cells = <2>;
174 gpio-controller;
175
176 lantiq,shadow = <0xffff>;
177 lantiq,groups = <0x3>;
178 lantiq,dsl = <0x0>;
179 lantiq,phy1 = <0x0>;
180 lantiq,phy2 = <0x0>;
181 /* lantiq,rising; */
182 };
183
184 ifxhcd@E101000 {
185 status = "okay";
186 gpios = <&gpio 32 0>;
187 lantiq,portmask = <0x3>;
188 };
189
190 pci@E105400 {
191 #address-cells = <3>;
192 #size-cells = <2>;
193 #interrupt-cells = <1>;
194 compatible = "lantiq,pci-xway1";
195 bus-range = <0x0 0x0>;
196 ranges = <0x2000000 0 0x8000000 0x8000000 0 0x2000000 /* pci memory */
197 0x1000000 0 0x00000000 0xAE00000 0 0x200000>; /* io space */
198 reg = <0x7000000 0x8000 /* config space */
199 0xE105400 0x400>; /* pci bridge */
200 lantiq,bus-clock = <33333333>;
201 /*lantiq,external-clock;*/
202 lantiq,delay-hi = <0>; /* 0ns delay */
203 lantiq,delay-lo = <0>; /* 0.0ns delay */
204 interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
205 interrupt-map = <
206 0x7000 0 0 1 &icu0 29 1 // slot 14, irq 29
207 >;
208 gpios-reset = <&gpio 21 0>;
209 req-mask = <0x1>; /* GNT1 */
210 };
211 };
212
213 gphy-xrx200 {
214 compatible = "lantiq,phy-xrx200";
215 firmware = "lantiq/vr9_phy11g_a1x.bin";
216 phys = [ 00 01 ];
217 };
218
219 gpio-keys-polled {
220 compatible = "gpio-keys-polled";
221 #address-cells = <1>;
222 #size-cells = <0>;
223 poll-interval = <100>;
224 reset {
225 label = "reset";
226 gpios = <&gpio 9 1>;
227 linux,code = <0x198>;
228 };
229 eco {
230 label = "eco";
231 gpios = <&gpio 41 1>;
232 linux,code = <247>;
233 };
234 rfkill {
235 label = "rfkill";
236 gpios = <&gpio 45 1>;
237 linux,code = <0xf7>;
238 };
239 wps {
240 label = "wps";
241 gpios = <&gpio 10 1>;
242 linux,code = <0x211>;
243 };
244 };
245
246 gpio-leds {
247 compatible = "gpio-leds";
248
249 eco { /* blue */
250 label = "eco";
251 gpios = <&stp 2 1>;
252 };
253 wps_red { /* red */
254 label = "wps_red";
255 gpios = <&stp 3 1>;
256 };
257 wps_yellow { /* yellow */
258 label = "wps_yellow";
259 gpios = <&stp 4 1>;
260 };
261 upgrade { /* blue */
262 label = "upgrade";
263 gpios = <&stp 5 1>;
264 };
265 tv { /* yellow */
266 label = "tv";
267 gpios = <&stp 6 1>;
268 };
269 internet_yellow { /* yellow */
270 label = "internet_yellow";
271 gpios = <&stp 7 1>;
272 };
273 internet_red { /* red */
274 label = "internet_red";
275 gpios = <&stp 8 1>;
276 };
277 broadband_red { /* red */
278 label = "broadband_red";
279 gpios = <&stp 9 1>;
280 };
281 broadband_yellow { /* yellow */
282 label = "broadband_yellow";
283 gpios = <&stp 10 1>;
284 };
285 voice { /* yellow */
286 label = "voice";
287 gpios = <&stp 11 1>;
288 };
289 wireless_red { /* red */
290 label = "wireless_red";
291 gpios = <&stp 12 1>;
292 };
293 wireless_yellow { /* yellow */
294 label = "wireless_yellow";
295 gpios = <&stp 13 1>;
296 };
297 power2 { /* yellow */
298 label = "power2";
299 gpios = <&stp 14 1>;
300 };
301 power { /* red */
302 label = "power";
303 gpios = <&stp 15 1>;
304 default-state = "on";
305 };
306 };
307 };