lantiq: allow pcie to be disabled by dts + vgv7519 fix pci irq + disable pcie by dts
[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";
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 lantiq,pull = <0>;
75 lantiq,output = <1>;
76 };
77 };
78 };
79
80 eth@E108000 {
81 #address-cells = <1>;
82 #size-cells = <0>;
83 compatible = "lantiq,xrx200-net";
84 reg = < 0xE108000 0x3000 /* switch */
85 0xE10B100 0x70 /* mdio */
86 0xE10B1D8 0x30 /* mii */
87 0xE10B308 0x30 /* pmac */
88 >;
89 interrupt-parent = <&icu0>;
90 interrupts = <73 72>;
91
92 lan: interface@0 {
93 compatible = "lantiq,xrx200-pdi";
94 #address-cells = <1>;
95 #size-cells = <0>;
96 reg = <0>;
97 mac-address = [ 00 11 22 33 44 55 ];
98
99 ethernet@0 {
100 compatible = "lantiq,xrx200-pdi-port";
101 reg = <0>;
102 phy-mode = "rgmii";
103 phy-handle = <&phy0>;
104 };
105 ethernet@1 {
106 compatible = "lantiq,xrx200-pdi-port";
107 reg = <1>;
108 phy-mode = "rgmii";
109 phy-handle = <&phy1>;
110 };
111 ethernet@2 {
112 compatible = "lantiq,xrx200-pdi-port";
113 reg = <2>;
114 phy-mode = "gmii";
115 phy-handle = <&phy11>;
116 };
117 ethernet@4 {
118 compatible = "lantiq,xrx200-pdi-port";
119 reg = <4>;
120 phy-mode = "gmii";
121 phy-handle = <&phy13>;
122 };
123 };
124
125 wan: interface@1 {
126 compatible = "lantiq,xrx200-pdi";
127 #address-cells = <1>;
128 #size-cells = <0>;
129 reg = <1>;
130 mac-address = [ 00 11 22 33 44 56 ];
131 lantiq,wan;
132 ethernet@5 {
133 compatible = "lantiq,xrx200-pdi-port";
134 reg = <5>;
135 phy-mode = "rgmii";
136 phy-handle = <&phy5>;
137 };
138 };
139
140 mdio@0 {
141 #address-cells = <1>;
142 #size-cells = <0>;
143 compatible = "lantiq,xrx200-mdio";
144 phy0: ethernet-phy@0 {
145 reg = <0x0>;
146 compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
147 lantiq,c45-reg-init = <1 0 0 0>;
148 };
149 phy1: ethernet-phy@1 {
150 reg = <0x1>;
151 compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
152 lantiq,c45-reg-init = <1 0 0 0>;
153 };
154 phy5: ethernet-phy@5 {
155 reg = <0x5>;
156 compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
157 lantiq,c45-reg-init = <1 0 0 0>;
158 };
159 phy11: ethernet-phy@11 {
160 reg = <0x11>;
161 compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
162 lantiq,c45-reg-init = <1 0 0 0>;
163 };
164 phy13: ethernet-phy@13 {
165 reg = <0x13>;
166 compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
167 lantiq,c45-reg-init = <1 0 0 0>;
168 };
169 };
170 };
171
172 stp: stp@E100BB0 {
173 compatible = "lantiq,gpio-stp-xway";
174 reg = <0xE100BB0 0x40>;
175 #gpio-cells = <2>;
176 gpio-controller;
177
178 lantiq,shadow = <0xffff>;
179 lantiq,groups = <0x3>;
180 lantiq,dsl = <0x0>;
181 lantiq,phy1 = <0x0>;
182 lantiq,phy2 = <0x0>;
183 /* lantiq,rising; */
184 };
185
186 ifxhcd@E101000 {
187 status = "okay";
188 gpios = <&gpio 32 0>;
189 lantiq,portmask = <0x3>;
190 };
191
192 pci@E105400 {
193 status = "okay";
194 #address-cells = <3>;
195 #size-cells = <2>;
196 #interrupt-cells = <1>;
197 compatible = "lantiq,pci-xway";
198 bus-range = <0x0 0x0>;
199 ranges = <0x2000000 0 0x8000000 0x8000000 0 0x2000000 /* pci memory */
200 0x1000000 0 0x00000000 0xAE00000 0 0x200000>; /* io space */
201 reg = <0x7000000 0x8000 /* config space */
202 0xE105400 0x400>; /* pci bridge */
203 lantiq,bus-clock = <33333333>;
204 /*lantiq,external-clock;*/
205 lantiq,delay-hi = <0>; /* 0ns delay */
206 lantiq,delay-lo = <0>; /* 0.0ns delay */
207 interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
208 interrupt-map = <
209 0x7000 0 0 1 &icu0 30 1 // slot 14, irq 30
210 >;
211 gpio-reset = <&gpio 21 0>;
212 req-mask = <0x1>; /* GNT1 */
213 };
214
215 pcie@d900000 {
216 status = "disabled";
217 };
218 };
219
220 gphy-xrx200 {
221 compatible = "lantiq,phy-xrx200";
222 firmware = "lantiq/vr9_phy11g_a1x.bin";
223 phys = [ 00 01 ];
224 };
225
226 ralink_eep {
227 compatible = "ralink,eeprom";
228 ralink,eeprom = "RT2860.eeprom";
229 };
230
231 gpio-keys-polled {
232 compatible = "gpio-keys-polled";
233 #address-cells = <1>;
234 #size-cells = <0>;
235 poll-interval = <100>;
236 reset {
237 label = "reset";
238 gpios = <&gpio 9 1>;
239 linux,code = <0x198>;
240 };
241 eco {
242 label = "eco";
243 gpios = <&gpio 41 1>;
244 linux,code = <247>;
245 };
246 rfkill {
247 label = "rfkill";
248 gpios = <&gpio 45 1>;
249 linux,code = <0xf7>;
250 };
251 wps {
252 label = "wps";
253 gpios = <&gpio 10 1>;
254 linux,code = <0x211>;
255 };
256 };
257
258 gpio-leds {
259 compatible = "gpio-leds";
260
261 eco { /* blue */
262 label = "eco";
263 gpios = <&stp 2 1>;
264 };
265 wps_red { /* red */
266 label = "wps_red";
267 gpios = <&stp 3 1>;
268 };
269 wps_yellow { /* yellow */
270 label = "wps_yellow";
271 gpios = <&stp 4 1>;
272 };
273 upgrade { /* blue */
274 label = "upgrade";
275 gpios = <&stp 5 1>;
276 };
277 tv { /* yellow */
278 label = "tv";
279 gpios = <&stp 6 1>;
280 };
281 internet_yellow { /* yellow */
282 label = "internet_yellow";
283 gpios = <&stp 7 1>;
284 };
285 internet_red { /* red */
286 label = "internet_red";
287 gpios = <&stp 8 1>;
288 };
289 broadband_red { /* red */
290 label = "broadband_red";
291 gpios = <&stp 9 1>;
292 };
293 broadband_yellow { /* yellow */
294 label = "broadband_yellow";
295 gpios = <&stp 10 1>;
296 };
297 voice { /* yellow */
298 label = "voice";
299 gpios = <&stp 11 1>;
300 };
301 wireless_red { /* red */
302 label = "wireless_red";
303 gpios = <&stp 12 1>;
304 };
305 wireless_yellow { /* yellow */
306 label = "wireless_yellow";
307 gpios = <&stp 13 1>;
308 };
309 power2 { /* yellow */
310 label = "power2";
311 gpios = <&stp 14 1>;
312 };
313 power { /* red */
314 label = "power";
315 gpios = <&stp 15 1>;
316 default-state = "on";
317 };
318 };
319 };