lantiq: Add support for Arcadyan VGV7510KW22 (known as o2 Box 6431)
[openwrt/openwrt.git] / target / linux / lantiq / dts / VGV7510KW22.dtsi
1 /include/ "vr9.dtsi"
2
3 / {
4 model = "VGV7510KW22 - o2 Box 6431";
5
6 chosen {
7 bootargs = "console=ttyLTQ0,115200 init=/etc/preinit";
8 };
9
10 memory@0 {
11 reg = <0x0 0x4000000>;
12 };
13
14 fpi@10000000 {
15 localbus@0 {
16 nor-boot@0 {
17 compatible = "lantiq,nor";
18 bank-width = <2>;
19 reg = <0 0x0 0x1000000>;
20 #address-cells = <1>;
21 #size-cells = <1>;
22
23 boardconfig: partition@fe0000 {
24 label = "board_config";
25 reg = <0xfe0000 0x20000>;
26 read-only;
27 };
28 };
29 };
30
31 gpio: pinmux@E100B10 {
32 pinctrl-names = "default";
33 pinctrl-0 = <&state_default>;
34
35 state_default: pinmux {
36 ip101a-rst {
37 lantiq,pins = "io46";
38 lantiq,output = <0>;
39 lantiq,pull = <1>;
40 };
41 gphy-leds {
42 lantiq,groups = "gphy0 led1",
43 "gphy1 led0", "gphy1 led1";
44 lantiq,function = "gphy";
45 lantiq,open-drain = <0>;
46 lantiq,pull = <0>;
47 lantiq,output = <1>;
48 };
49 stp {
50 lantiq,groups = "stp";
51 lantiq,function = "stp";
52 lantiq,pull = <2>;
53 lantiq,open-drain = <0>;
54 lantiq,output = <1>;
55 };
56 mdio {
57 lantiq,groups = "mdio";
58 lantiq,function = "mdio";
59 };
60 pci-rst {
61 lantiq,pins = "io21";
62 lantiq,open-drain = <0>;
63 lantiq,pull = <0>;
64 lantiq,output = <1>;
65 };
66 spi {
67 lantiq,groups = "spi";
68 lantiq,function = "spi";
69 };
70 };
71 };
72
73 eth@E108000 {
74 #address-cells = <1>;
75 #size-cells = <0>;
76 compatible = "lantiq,xrx200-net";
77 reg = < 0xE108000 0x3000 /* switch */
78 0xE10B100 0x70 /* mdio */
79 0xE10B1D8 0x30 /* mii */
80 0xE10B308 0x30 /* pmac */
81 >;
82 interrupt-parent = <&icu0>;
83 interrupts = <73 72>;
84
85 lan: interface@0 {
86 compatible = "lantiq,xrx200-pdi";
87 #address-cells = <1>;
88 #size-cells = <0>;
89 reg = <0>;
90 mtd-mac-address = <&boardconfig 0x16>;
91 lantiq,switch;
92
93 ethernet@2 {
94 compatible = "lantiq,xrx200-pdi-port";
95 reg = <2>;
96 phy-mode = "mii";
97 phy-handle = <&phy11>;
98 };
99 ethernet@3 {
100 compatible = "lantiq,xrx200-pdi-port";
101 reg = <3>;
102 phy-mode = "mii";
103 phy-handle = <&phy12>;
104 };
105 ethernet@4 {
106 compatible = "lantiq,xrx200-pdi-port";
107 reg = <4>;
108 phy-mode = "mii";
109 phy-handle = <&phy13>;
110 };
111 ethernet@5 {
112 compatible = "lantiq,xrx200-pdi-port";
113 reg = <5>;
114 phy-mode = "mii";
115 phy-handle = <&phy14>;
116 };
117 };
118
119 mdio@0 {
120 #address-cells = <1>;
121 #size-cells = <0>;
122 compatible = "lantiq,xrx200-mdio";
123
124 phy11: ethernet-phy@11 {
125 reg = <0x11>;
126 compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
127 };
128 phy12: ethernet-phy@12 {
129 reg = <0x12>;
130 compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
131 };
132 phy13: ethernet-phy@13 {
133 reg = <0x13>;
134 compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
135 };
136 phy14: ethernet-phy@14 {
137 reg = <0x14>;
138 compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
139 };
140 };
141 };
142
143 stp: stp@E100BB0 {
144 compatible = "lantiq,gpio-stp-xway";
145 reg = <0xE100BB0 0x40>;
146 #gpio-cells = <2>;
147 gpio-controller;
148
149 lantiq,shadow = <0xff>;
150 lantiq,groups = <0x1>;
151 lantiq,dsl = <0x0>;
152 lantiq,phy1 = <0x7>;
153 lantiq,phy2 = <0x7>; /* enable gphy0 led2 = LAN2 LED */
154 };
155
156 ifxhcd@E101000 {
157 status = "okay";
158 gpios = <&gpio 47 0>;
159 };
160
161 pci@E105400 {
162 status = "okay";
163 lantiq,bus-clock = <33333333>;
164 interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
165 interrupt-map = <
166 0x7000 0 0 1 &icu0 30 1 // slot 14, irq 30
167 >;
168 gpio-reset = <&gpio 21 0>;
169 req-mask = <0x1>; /* GNT1 */
170 };
171
172 pcie@d900000 {
173 status = "disabled";
174 };
175 };
176
177 gphy-xrx200 {
178 compatible = "lantiq,phy-xrx200";
179 firmware1 = "lantiq/vr9_phy22f_a1x.bin"; /*VR9 1.1*/
180 firmware2 = "lantiq/vr9_phy22f_a2x.bin"; /*VR9 1.2*/
181 phys = [ 00 01 ];
182 };
183
184 ralink_eep {
185 compatible = "ralink,eeprom";
186 ralink,eeprom = "RT3062.eeprom";
187 };
188
189 gpio-keys-polled {
190 compatible = "gpio-keys-polled";
191 #address-cells = <1>;
192 #size-cells = <0>;
193 poll-interval = <100>;
194
195 reset {
196 label = "reset";
197 gpios = <&gpio 6 1>;
198 linux,code = <0x198>;
199 };
200
201 wps {
202 label = "wps";
203 gpios = <&gpio 9 1>;
204 linux,code = <0x211>;
205 };
206 };
207
208 gpio-leds {
209 compatible = "gpio-leds";
210
211 dsl {
212 label = "dsl";
213 gpios = <&gpio 2 1>;
214 };
215
216 internet_red {
217 label = "internet_red";
218 gpios = <&gpio 10 1>;
219 };
220
221 info_red {
222 label = "info_red";
223 gpios = <&gpio 12 1>;
224 };
225
226 power {
227 label = "power"; /* green */
228 gpios = <&gpio 14 1>;
229 };
230
231 info_green {
232 label = "info_green";
233 gpios = <&gpio 15 1>;
234 };
235
236 internet_green {
237 label = "internet_green";
238 gpios = <&gpio 19 1>;
239 };
240
241 wifi {
242 label = "wifi";
243 gpios = <&gpio 20 1>;
244 };
245
246 power2 {
247 label = "power2"; /* red */
248 gpios = <&gpio 28 1>;
249 };
250
251 phone_red {
252 label = "phone_red";
253 gpios = <&gpio 29 1>;
254 };
255 };
256 };