lantiq: rework VG3503J image
[oweals/openwrt.git] / target / linux / lantiq / dts / TDW89X0.dtsi
1 /include/ "vr9.dtsi"
2
3 / {
4         chosen {
5                 bootargs = "console=ttyLTQ0,115200 init=/etc/preinit";
6         };
7
8         aliases {
9                 /* the power led can't be controlled, use the wps led instead */
10                 led-boot = &wps;
11                 led-failsafe = &wps;
12
13                 led-dsl = &dsl;
14                 led-internet = &internet;
15                 led-usb = &usb0;
16                 led-usb2 = &usb2;
17         };
18
19         memory@0 {
20                 reg = <0x0 0x4000000>;
21         };
22
23         cputemp@0 {
24                 compatible = "lantiq,cputemp";
25         };
26
27         fpi@10000000 {
28                 gpio: pinmux@E100B10 {
29                         pinctrl-names = "default";
30                         pinctrl-0 = <&state_default>;
31
32                         state_default: pinmux {
33                                 mdio {
34                                         lantiq,groups = "mdio";
35                                         lantiq,function = "mdio";
36                                 };
37                                 gphy-leds {
38                                         lantiq,groups = "gphy0 led1", "gphy1 led1";
39                                         lantiq,function = "gphy";
40                                         lantiq,pull = <2>;
41                                         lantiq,open-drain = <0>;
42                                         lantiq,output = <1>;
43                                 };
44                                 phy-rst {
45                                         lantiq,pins = "io42";
46                                         lantiq,pull = <0>;
47                                         lantiq,open-drain = <0>;
48                                         lantiq,output = <1>;
49                                 };
50                                 pcie-rst {
51                                         lantiq,pins = "io38";
52                                         lantiq,pull = <0>;
53                                         lantiq,output = <1>;
54                                 };
55                         };
56                         pins_spi_default: pins_spi_default {
57                                 spi_in {
58                                         lantiq,groups = "spi_di";
59                                         lantiq,function = "spi";
60                                 };
61                                 spi_out {
62                                         lantiq,groups = "spi_do", "spi_clk",
63                                                 "spi_cs4";
64                                         lantiq,function = "spi";
65                                         lantiq,output = <1>;
66                                 };
67                         };
68                 };
69
70                 ifxhcd@E101000 {
71                         status = "okay";
72                         gpios = <&gpio 33 0>;
73                         lantiq,portmask = <0x3>;
74                 };
75
76                 ifxhcd@E106000 {
77                         status = "okay";
78                         gpios = <&gpio 33 0>;
79                 };
80         };
81
82         gphy-xrx200 {
83                 compatible = "lantiq,phy-xrx200";
84                 firmware = "lantiq/vr9_phy11g_a2x.bin";
85                 phys = [ 00 01 ];
86         };
87
88         ath9k_eep {
89                 compatible = "ath9k,eeprom";
90                 ath,eep-flash = <&ath9k_cal 0x21000>;
91                 ath,mac-offset = <0xf100>;
92                 ath,mac-increment = <2>;
93                 ath,led-pin = <0>;
94                 ath,disable-5ghz;
95                 ath,led-active-high;
96         };
97
98         gpio-keys-polled {
99                 compatible = "gpio-keys-polled";
100                 #address-cells = <1>;
101                 #size-cells = <0>;
102                 poll-interval = <100>;
103                 reset {
104                         label = "reset";
105                         gpios = <&gpio 0 1>;
106                         linux,code = <0x198>;
107                 };
108
109                 wifi {
110                         label = "wifi";
111                         gpios = <&gpio 9 0>;
112                         linux,code = <0xf7>;
113                         linux,input-type = <5>; /* EV_SW */
114                 };
115
116                 wps {
117                         label = "wps";
118                         gpios = <&gpio 39 1>;
119                         linux,code = <0x211>;
120                 };
121         };
122
123         gpio-leds {
124                 compatible = "gpio-leds";
125                 /*
126                         power is not controllable via gpio
127         */
128                 dsl: dsl {
129                         label = "tdw89x0:green:dsl";
130                         gpios = <&gpio 4 0>;
131                 };
132                 internet: internet {
133                         label = "tdw89x0:green:internet";
134                         gpios = <&gpio 5 0>;
135                 };
136                 usb0: usb0 {
137                         label = "tdw89x0:green:usb";
138                         gpios = <&gpio 19 0>;
139                 };
140                 usb2: usb2 {
141                         label = "tdw89x0:green:usb2";
142                         gpios = <&gpio 20 0>;
143                 };
144                 wps: wps {
145                         label = "tdw89x0:green:wps";
146                         gpios = <&gpio 37 0>;
147                 };
148         };
149 };
150
151 &spi {
152         pinctrl-names = "default";
153         pinctrl-0 = <&pins_spi_default>;
154
155         status = "ok";
156
157         m25p80@4 {
158                 #address-cells = <1>;
159                 #size-cells = <1>;
160                 compatible = "jedec,spi-nor";
161                 reg = <4 0>;
162                 spi-max-frequency = <33250000>;
163                 m25p,fast-read;
164
165                 partitions {
166                         compatible = "fixed-partitions";
167                         #address-cells = <1>;
168                         #size-cells = <1>;
169
170                         partition@0 {
171                                 reg = <0x0 0x20000>;
172                                 label = "u-boot";
173                                 read-only;
174                         };
175
176                         partition@20000 {
177                                 reg = <0x20000 0x7a0000>;
178                                 label = "firmware";
179                         };
180
181                         partition@7c0000 {
182                                 reg = <0x7c0000 0x10000>;
183                                 label = "config";
184                                 read-only;
185                         };
186
187                         ath9k_cal: partition@7d0000 {
188                                 reg = <0x7d0000 0x30000>;
189                                 label = "boardconfig";
190                                 read-only;
191                         };
192                 };
193         };
194 };
195
196 &eth0 {
197         lan: interface@0 {
198                 compatible = "lantiq,xrx200-pdi";
199                 #address-cells = <1>;
200                 #size-cells = <0>;
201                 reg = <0>;
202                 mtd-mac-address = <&ath9k_cal 0xf100>;
203                 lantiq,switch;
204
205                 ethernet@0 {
206                         compatible = "lantiq,xrx200-pdi-port";
207                         reg = <0>;
208                         phy-mode = "rgmii";
209                         phy-handle = <&phy0>;
210                         // gpios = <&gpio 42 1>;
211                 };
212                 ethernet@5 {
213                         compatible = "lantiq,xrx200-pdi-port";
214                         reg = <5>;
215                         phy-mode = "rgmii";
216                         phy-handle = <&phy5>;
217                 };
218                 ethernet@2 {
219                         compatible = "lantiq,xrx200-pdi-port";
220                         reg = <2>;
221                         phy-mode = "gmii";
222                         phy-handle = <&phy11>;
223                 };
224                 ethernet@3 {
225                         compatible = "lantiq,xrx200-pdi-port";
226                         reg = <4>;
227                         phy-mode = "gmii";
228                         phy-handle = <&phy13>;
229                 };
230         };
231
232         mdio@0 {
233                 #address-cells = <1>;
234                 #size-cells = <0>;
235                 compatible = "lantiq,xrx200-mdio";
236                 phy0: ethernet-phy@0 {
237                         reg = <0x0>;
238                         compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
239                 };
240                 phy5: ethernet-phy@5 {
241                         reg = <0x5>;
242                         compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
243                 };
244                 phy11: ethernet-phy@11 {
245                         reg = <0x11>;
246                         compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
247                 };
248                 phy13: ethernet-phy@13 {
249                         reg = <0x13>;
250                         compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
251                 };
252         };
253 };