ixp4xx: Update to 4.9 kernel, refresh patches. Remove kmod-spi-gpio-old usage.
[oweals/openwrt.git] / target / linux / lantiq / dts / ARV7518PW.dts
1 /dts-v1/;
2
3 #include "danube.dtsi"
4
5 #include <dt-bindings/input/input.h>
6
7 / {
8         model = "ARV7518PW - Astoria Networks";
9
10         chosen {
11                 bootargs = "console=ttyLTQ0,115200";
12         };
13
14         aliases {
15                 led-boot = &power_green;
16                 led-failsafe = &power_red;
17                 led-running = &power_green;
18
19                 led-dsl = &dsl;
20                 led-internet = &online_green;
21                 led-usb = &usb;
22                 led-wifi = &wifi;
23         };
24
25         memory@0 {
26                 reg = <0x0 0x4000000>;
27         };
28
29         sram@1F000000 {
30                 vmmc@107000 {
31                         status = "okay";
32                 };
33         };
34
35         fpi@10000000 {
36                 localbus@0 {
37                         nor-boot@0 {
38                                 compatible = "lantiq,nor";
39                                 bank-width = <2>;
40                                 reg = <0 0x0 0x2000000>;
41                                 #address-cells = <1>;
42                                 #size-cells = <1>;
43
44                                 partitions {
45                                         compatible = "fixed-partitions";
46                                         #address-cells = <1>;
47                                         #size-cells = <1>;
48
49                                         partition@0 {
50                                                 label = "uboot";
51                                                 reg = <0x00000 0x10000>;
52                                                 read-only;
53                                         };
54
55                                         partition@10000 {
56                                                 label = "uboot_env";
57                                                 reg = <0x10000 0x10000>;
58                                         };
59
60                                         partition@20000 {
61                                                 label = "firmware";
62                                                 reg = <0x20000 0x7d0000>;
63                                         };
64
65                                         boardconfig: partition@400000 {
66                                                 label = "boardconfig";
67                                                 reg = <0x7f0000 0x10000>;
68                                                 read-only;
69                                         };
70                                 };
71                         };
72
73                         gpiomm: gpiomm@4000000 {
74                                 compatible = "lantiq,gpio-mm";
75                                 reg = <1 0x0 0x10 >;
76                                 #address-cells = <1>;
77                                 #size-cells = <1>;
78                                 #gpio-cells = <2>;
79                                 gpio-controller;
80                                 lantiq,shadow = <0x0>;
81                         };
82                 };
83
84                 gpio: pinmux@E100B10 {
85                         pinctrl-names = "default";
86                         pinctrl-0 = <&state_default>;
87
88                         state_default: pinmux {
89                                 ebu {
90                                         lantiq,groups = "ebu cs1";
91                                         lantiq,function = "ebu";
92                                 };
93                                 pci_in {
94                                         lantiq,groups = "req1";
95                                         lantiq,function = "pci";
96                                         lantiq,open-drain = <1>;
97                                         lantiq,pull = <2>;
98                                         lantiq,output = <0>;
99                                 };
100                                 pci_out {
101                                         lantiq,groups = "gnt1";
102                                         lantiq,function = "pci";
103                                         lantiq,pull = <0>;
104                                         lantiq,output = <1>;
105                                 };
106                                 pci_rst {
107                                         lantiq,pins = "io21";
108                                         lantiq,pull = <2>;
109                                         lantiq,output = <1>;
110                                 };
111                                 leds {
112                                         lantiq,pins = "io2", "io4", "io5", "io6", "io7", "io8", "io19";
113                                         lantiq,output = <1>;
114                                 };
115                                 keys {
116                                         lantiq,pins = "io28", "io30";
117                                         lantiq,output = <0>;
118                                         lantiq,pull = <2>;
119                                         lantiq,open-drain = <1>;
120                                 };
121                         };
122                 };
123
124                 etop@E180000 {
125                         phy-mode = "mii";
126                         mtd-mac-address = <&boardconfig 0x16>;
127                 };
128
129                 ifxhcd@E101000 {
130                         status = "okay";
131                         gpios = <&gpio 14 GPIO_ACTIVE_HIGH>;
132                 };
133         };
134
135 /*
136 #define SWITCH_RESET          13
137 */
138         gpio-keys-polled {
139                 compatible = "gpio-keys-polled";
140                 #address-cells = <1>;
141                 #size-cells = <0>;
142                 poll-interval = <100>;
143
144                 rfkill {
145                         label = "rfkill";
146                         gpios = <&gpio 28 GPIO_ACTIVE_LOW>;
147                         linux,code = <KEY_RFKILL>;
148                 };
149                 reset {
150                         label = "reset";
151                         gpios = <&gpio 30 GPIO_ACTIVE_LOW>;
152                         linux,code = <KEY_RESTART>;
153                 };
154         };
155
156         gpio-leds {
157                 compatible = "gpio-leds";
158                 power_green: power {
159                         label = "arv7518pw:green:power";
160                         gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
161                         default-state = "keep";
162                 };
163                 dsl: dsl {
164                         label = "arv7518pw:green:dsl";
165                         gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
166                 };
167                 online_green: online {
168                         label = "arv7518pw:green:internet";
169                         gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
170                 };
171                 wifi: wifi {
172                         label = "arv7518pw:green:wlan";
173                         gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
174                 };
175                 power_red: power2 {
176                         label = "arv7518pw:red:power";
177                         gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
178                 };
179                 online2 {
180                         label = "arv7518pw:red:internet";
181                         gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
182                 };
183                 usb: usb {
184                         label = "arv7518pw:green:usb";
185                         gpios = <&gpio 19 GPIO_ACTIVE_LOW>;
186                 };
187                 voice {
188                         label = "arv7518pw:green:voip";
189                         gpios = <&gpiomm 0 GPIO_ACTIVE_LOW>;
190                 };
191                 fxs1 {
192                         label = "arv7518pw:green:phone1";
193                         gpios = <&gpiomm 1 GPIO_ACTIVE_LOW>;
194                 };
195                 fxs2 {
196                         label = "arv7518pw:green:phone2";
197                         gpios = <&gpiomm 2 GPIO_ACTIVE_LOW>;
198                 };
199                 unlabeled {
200                         label = "arv7518pw:amber:unlabeled";
201                         gpios = <&gpiomm 3 GPIO_ACTIVE_LOW>;
202                 };
203                 wps {
204                         label = "arv7518pw:amber:wps";
205                         gpios = <&gpiomm 4 GPIO_ACTIVE_LOW>;
206                 };
207                 wps2 {
208                         label = "arv7518pw:green:wps";
209                         gpios = <&gpiomm 5 GPIO_ACTIVE_LOW>;
210                 };
211                 wps3 {
212                         label = "arv7518pw:red:wps";
213                         gpios = <&gpiomm 6 GPIO_ACTIVE_LOW>;
214                 };
215         };
216 };
217
218 &pci0 {
219         status = "okay";
220         gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
221         lantiq,external-clock;
222         req-mask = <0xf>;
223
224         wifi@168c,0029 {
225                 compatible = "pci168c,0029";
226                 reg = <0x7000 0 0 0 0>;
227                 qca,no-eeprom; /* load from ath9k-eeprom-pci-0000:00:0e.0.bin */
228                 mtd-mac-address = <&boardconfig 0x16>;
229                 mtd-mac-address-increment = <1>;
230         };
231 };