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