lantiq: VGV7519 - get mac address from board_config partition
[oweals/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                 leds {
11                         boot = &power_green;
12                         failsafe = &power_red;
13                         running = &power_green;
14
15                         dsl = &broadband_green;
16                         internet = &internet_green;
17                         wifi = &wireless_green;
18                 };
19         };
20
21         memory@0 {
22                 reg = <0x0 0x4000000>;
23         };
24         
25         fpi@10000000 {
26                 localbus@0 {
27                         nor-boot@0 {
28                                 compatible = "lantiq,nor";
29                                 bank-width = <2>;
30                                 reg = <0 0x0 0x800000>, <1 0x800000 0x800000>;
31                                 #address-cells = <1>;
32                                 #size-cells = <1>;
33
34                                 partitions {
35                                         compatible = "fixed-partitions";
36                                         #address-cells = <1>;
37                                         #size-cells = <1>;
38
39                                         boardconfig: partition@40000 {
40                                                 label = "board_config";
41                                                 reg = <0x40000 0x10000>;
42                                                 read-only;
43                                         };
44                                 };
45                         };
46                 };
47
48                 gpio: pinmux@E100B10 {
49                         pinctrl-names = "default";
50                         pinctrl-0 = <&state_default>;
51
52                         state_default: pinmux {
53                                 stp {
54                                         lantiq,groups = "stp";
55                                         lantiq,function = "stp";
56                                         lantiq,open-drain = <0>;
57                                         lantiq,output = <1>;
58                                         lantiq,pull = <0>;
59                                 };
60                                 mdio {
61                                         lantiq,groups = "mdio";
62                                         lantiq,function = "mdio";
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                 stp: stp@E100BB0 {
81                         compatible = "lantiq,gpio-stp-xway";
82                         reg = <0xE100BB0 0x40>;
83                         #gpio-cells = <2>;
84                         gpio-controller;
85
86                         lantiq,shadow = <0xffff>;
87                         lantiq,groups = <0x3>;
88                         lantiq,dsl = <0x0>;
89                         lantiq,phy1 = <0x0>;
90                         lantiq,phy2 = <0x0>;
91                         /* lantiq,rising; */
92                 };
93
94                 ifxhcd@E101000 {
95                         status = "okay";
96                         gpios = <&gpio 32 0>;
97                         lantiq,portmask = <0x3>;
98                 };
99
100                 ifxhcd@E106000 {
101                         status = "okay";
102                         gpios = <&gpio 32 0>;
103                 };
104
105                 pci@E105400 {
106                         status = "okay";
107                         lantiq,bus-clock = <33333333>;
108                         interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
109                         interrupt-map = <
110                                 0x7000 0 0 1 &icu0 30 1 // slot 14, irq 30
111                                 >;
112                         gpio-reset = <&gpio 21 0>;
113                         req-mask = <0x1>;       /* GNT1 */
114                 };
115
116                 pcie@d900000 {
117                         status = "disabled";
118                 };
119         };
120
121         gphy-xrx200 {
122                 compatible = "lantiq,phy-xrx200";
123                 firmware1 = "lantiq/vr9_phy11g_a1x.bin";        /*VR9 1.1*/
124                 firmware2 = "lantiq/vr9_phy11g_a2x.bin";        /*VR9 1.2*/
125                 phys = [ 00 01 ];
126         };
127
128         ralink_eep {
129                 compatible = "ralink,eeprom";
130                 ralink,eeprom = "RT2860.eeprom";
131         };
132
133         gpio-keys-polled {
134                 compatible = "gpio-keys-polled";
135                 #address-cells = <1>;
136                 #size-cells = <0>;
137                 poll-interval = <100>;
138                 reset {
139                         label = "reset";
140                         gpios = <&gpio 9 1>;
141                         linux,code = <0x198>;
142                 };
143                 eco {
144                         label = "eco";
145                         gpios = <&gpio 41 1>;
146                         linux,code = <247>;
147                 };
148                 rfkill {
149                         label = "rfkill";
150                         gpios = <&gpio 45 1>;
151                         linux,code = <0xf7>;
152                 };
153                 wps {
154                         label = "wps";
155                         gpios = <&gpio 10 1>;
156                         linux,code = <0x211>;
157                 };
158         };
159
160         gpio-leds {
161                 compatible = "gpio-leds";
162
163                 eco {
164                         label = "vgv7519:blue:eco";
165                         gpios = <&stp 2 1>;
166                 };
167                 wps_red {
168                         label = "vgv7519:red:wps";
169                         gpios = <&stp 3 1>;
170                 };
171                 wps_green {
172                         label = "vgv7519:green:wps";
173                         gpios = <&stp 4 1>;
174                 };
175                 upgrade {
176                         label = "vgv7519:blue:upgrade";
177                         gpios = <&stp 5 1>;
178                 };
179                 tv {
180                         label = "vgv7519:green:tv";
181                         gpios = <&stp 6 1>;
182                 };
183                 internet_green: internet_green {
184                         label = "vgv7519:green:internet";
185                         gpios = <&stp 7 1>;
186                 };
187                 internet_red {
188                         label = "vgv7519:red:internet";
189                         gpios = <&stp 8 1>;
190                 };
191                 broadband_red {
192                         label = "vgv7519:red:broadband";
193                         gpios = <&stp 9 1>;
194                 };
195                 broadband_green: broadband_green {
196                         label = "vgv7519:green:broadband";
197                         gpios = <&stp 10 1>;
198                 };
199                 voice {
200                         label = "vgv7519:green:voice";
201                         gpios = <&stp 11 1>;
202                 };
203                 wireless_red {
204                         label = "vgv7519:red:wireless";
205                         gpios = <&stp 12 1>;
206                 };
207                 wireless_green: wireless_green {
208                         label = "vgv7519:green:wireless";
209                         gpios = <&stp 13 1>;
210                 };
211                 power_green: power2 {
212                         label = "vgv7519:green:power";
213                         gpios = <&stp 14 1>;
214                         default-state = "keep";
215                 };
216                 power_red: power {
217                         label = "vgv7519:red:power";
218                         gpios = <&stp 15 1>;
219                 };
220         };
221 };
222
223 &eth0 {
224         lan: interface@0 {
225                 compatible = "lantiq,xrx200-pdi";
226                 #address-cells = <1>;
227                 #size-cells = <0>;
228                 reg = <0>;
229                 mtd-mac-address = <&boardconfig 0x16>;
230                 lantiq,switch;
231
232                 ethernet@0 {
233                         compatible = "lantiq,xrx200-pdi-port";
234                         reg = <0>;
235                         phy-mode = "rgmii";
236                         phy-handle = <&phy0>;
237                 };
238                 ethernet@1 {
239                         compatible = "lantiq,xrx200-pdi-port";
240                         reg = <1>;
241                         phy-mode = "rgmii";
242                         phy-handle = <&phy1>;
243                 };
244                 ethernet@2 {
245                         compatible = "lantiq,xrx200-pdi-port";
246                         reg = <2>;
247                         phy-mode = "gmii";
248                         phy-handle = <&phy11>;
249                 };
250                 ethernet@4 {
251                         compatible = "lantiq,xrx200-pdi-port";
252                         reg = <4>;
253                         phy-mode = "gmii";
254                         phy-handle = <&phy13>;
255                 };
256         };
257
258         wan: interface@1 {
259                 compatible = "lantiq,xrx200-pdi";
260                 #address-cells = <1>;
261                 #size-cells = <0>;
262                 reg = <1>;
263                 mtd-mac-address = <&boardconfig 0x16>;
264                 mtd-mac-address-increment = <2>;
265                 lantiq,wan;
266
267                 ethernet@5 {
268                         compatible = "lantiq,xrx200-pdi-port";
269                         reg = <5>;
270                         phy-mode = "rgmii";
271                         phy-handle = <&phy5>;
272                 };
273         };
274
275         mdio@0 {
276                 #address-cells = <1>;
277                 #size-cells = <0>;
278                 compatible = "lantiq,xrx200-mdio";
279                 phy0: ethernet-phy@0 {
280                         reg = <0x0>;
281                         compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
282                 };
283                 phy1: ethernet-phy@1 {
284                         reg = <0x1>;
285                         compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
286                 };
287                 phy5: ethernet-phy@5 {
288                         reg = <0x5>;
289                         compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
290                 };
291                 phy11: ethernet-phy@11 {
292                         reg = <0x11>;
293                         compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
294                 };
295                 phy13: ethernet-phy@13 {
296                         reg = <0x13>;
297                         compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
298                 };
299         };
300 };