lantiq: add support for upgrade led
[oweals/openwrt.git] / target / linux / lantiq / files-4.14 / arch / mips / boot / dts / ARV752DPW22.dts
1 /dts-v1/;
2
3 #include "danube.dtsi"
4
5 #include <dt-bindings/input/input.h>
6
7 / {
8         compatible = "arcadyan,arv752dpw22", "lantiq,xway", "lantiq,danube";
9         model = "Arcor 803";
10
11         chosen {
12                 bootargs = "console=ttyLTQ0,115200";
13         };
14
15         aliases {
16                 led-boot = &power_red;
17                 led-failsafe = &power_blue;
18                 led-running = &power_red;
19                 led-upgrade = &power_red;
20
21                 led-dsl = &internet_red;
22                 led-usb = &umts;
23                 led-wifi = &wifi;
24         };
25
26         memory@0 {
27                 reg = <0x0 0x4000000>;
28         };
29
30         gpio-keys-polled {
31                 compatible = "gpio-keys-polled";
32                 #address-cells = <1>;
33                 #size-cells = <0>;
34                 poll-interval = <100>;
35
36                 wps {
37                         label = "wps";
38                         gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
39                         linux,code = <KEY_WPS_BUTTON>;
40                 };
41                 restart {
42                         label = "restart";
43                         gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
44                         linux,code = <KEY_POWER>;
45                 };
46                 dsl {
47                         label = "dsl";
48                         gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
49                         linux,code = <BTN_0>;
50                 };
51                 reset {
52                         label = "reset";
53                         gpios = <&gpio 28 GPIO_ACTIVE_LOW>;
54                         linux,code = <KEY_RESTART>;
55                 };
56         };
57
58         gpio-leds {
59                 compatible = "gpio-leds";
60                 power_blue: power1 {
61                         label = "arv752dpw22:blue:power";
62                         gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
63                 };
64                 internet_red: internet {
65                         label = "arv752dpw22:red:internet";
66                         gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
67                 };
68                 message {
69                         label = "arv752dpw22:red:message";
70                         gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
71                 };
72                 power_red: power {
73                         label = "arv752dpw22:red:power";
74                         gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
75                         default-state = "keep";
76                 };
77                 voice1 {
78                         label = "arv752dpw22:red:voice";
79                         gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
80                 };
81                 umts: umts {
82                         label = "arv752dpw22:red:umts";
83                         gpios = <&gpiomm 3 GPIO_ACTIVE_LOW>;
84                 };
85                 wifi: wifi {
86                         label = "arv752dpw22:red:wifi";
87                         gpios = <&gpiomm 4 GPIO_ACTIVE_LOW>;
88                 };
89                 fxs1 {
90                         label = "arv752dpw22:green:tae-n";
91                         gpios = <&gpiomm 5 GPIO_ACTIVE_LOW>;
92                 };
93                 fxs2 {
94                         label = "arv752dpw22:green:tae-u";
95                         gpios = <&gpiomm 6 GPIO_ACTIVE_LOW>;
96                 };
97                 fxo {
98                         label = "arv752dpw22:green:isdn";
99                         gpios = <&gpiomm 7 GPIO_ACTIVE_LOW>;
100                 };
101                 internet2 {
102                         label = "arv752dpw22:blue:internet";
103                         gpios = <&gpiomm 8 GPIO_ACTIVE_LOW>;
104                 };
105                 voice2 {
106                         label = "arv752dpw22:blue:voice";
107                         gpios = <&gpiomm 9 GPIO_ACTIVE_LOW>;
108                 };
109                 eth1 {
110                          label = "arv752dpw22:green:lan1";
111                          gpios = <&gpiomm 11 GPIO_ACTIVE_LOW>;
112                 };
113                 eth2 {
114                         label = "arv752dpw22:green:lan2";
115                         gpios = <&gpiomm 12 GPIO_ACTIVE_LOW>;
116                 };
117                 eth3 {
118                         label = "arv752dpw22:green:lan3";
119                         gpios = <&gpiomm 13 GPIO_ACTIVE_LOW>;
120                 };
121                 eth4 {
122                         label = "arv752dpw22:green:lan4";
123                         gpios = <&gpiomm 14 GPIO_ACTIVE_LOW>;
124                 };
125         };
126
127         usb_vbus: regulator-usb-vbus {
128                 compatible = "regulator-fixed";
129
130                 regulator-name = "USB_VBUS";
131
132                 regulator-min-microvolt = <5000000>;
133                 regulator-max-microvolt = <5000000>;
134
135                 gpio = <&gpiomm 0 GPIO_ACTIVE_HIGH>;
136                 enable-active-high;
137         };
138 };
139
140 &gpio {
141         pinctrl-names = "default";
142         pinctrl-0 = <&state_default>;
143
144         state_default: pinmux {
145                 ebu {
146                         lantiq,groups = "ebu cs1";
147                         lantiq,function = "ebu";
148                 };
149                 exin {
150                         lantiq,groups = "exin1";
151                         lantiq,function = "exin";
152                         lantiq,pull = <2>;
153                         lantiq,output = <0>;
154                 };
155                 pci_in {
156                         lantiq,groups = "req1";
157                         lantiq,function = "pci";
158                         lantiq,pull = <2>;
159                         lantiq,output = <0>;
160                 };
161                 pci_out {
162                         lantiq,groups = "gnt1";
163                         lantiq,function = "pci";
164                         lantiq,open-drain = <1>;
165                         lantiq,output = <1>;
166                 };
167                 pci_rst {
168                         lantiq,pins = "io21";
169                         lantiq,open-drain = <1>;
170                         lantiq,output = <1>;
171                 };
172                 leds {
173                         lantiq,pins = "io3", "io5", "io6", "io8";
174                         lantiq,open-drain = <1>;
175                         lantiq,output = <1>;
176                 };
177                 buttons {
178                         lantiq,pins = "io11", "io12", "io13", "io28";
179                         lantiq,pull = <2>;
180                         lantiq,output = <0>;
181                 };
182         };
183 };
184
185
186 &gpiomm {
187         status = "okay";
188         lantiq,shadow = <3>;
189 };
190
191 &gsw {
192         phy-mode = "mii";
193         mtd-mac-address = <&boardconfig 0x16>;
194 };
195
196 &localbus {
197         nor@0 {
198                 compatible = "lantiq,nor";
199                 bank-width = <2>;
200                 reg = <0 0x0 0x800000>;
201                 #address-cells = <1>;
202                 #size-cells = <1>;
203
204                 partitions {
205                         compatible = "fixed-partitions";
206                         #address-cells = <1>;
207                         #size-cells = <1>;
208
209                         partition@0 {
210                                 label = "uboot";
211                                 reg = <0x00000 0x30000>;
212                                 read-only;
213                         };
214
215                         partition@10000 {
216                                 label = "uboot_env";
217                                 reg = <0x30000 0x10000>;
218                                 read-only;
219                         };
220
221                         partition@20000 {
222                                 label = "firmware";
223                                 reg = <0x40000 0x7b0000>;
224                         };
225
226                         boardconfig: partition@7f0000 {
227                                 label = "board_config";
228                                 reg = <0x7f0000 0x10000>;
229                                 read-only;
230                         };
231                 };
232         };
233 };
234
235 &pci0 {
236         status = "okay";
237         lantiq,external-clock;
238         interrupt-map = <
239                 0x7000 0 0 1 &icu0 30
240                 0x7800 0 0 1 &icu0 135
241                 0x7800 0 0 2 &icu0 135
242                 0x7800 0 0 3 &icu0 135
243         >;
244         gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
245         req-mask = <0x3>;
246
247         wifi@1814,3592 {
248                 compatible = "pci1814,3592";
249                 reg = <0x7000 0 0 0 0>;
250                 ralink,mtd-eeprom = <&boardconfig 0x410>;
251                 ralink,mtd-eeprom-swap;
252                 mtd-mac-address = <&boardconfig 0x16>;
253         };
254 };
255
256 &usb_phy {
257         status = "okay";
258 };
259
260 &usb {
261         status = "okay";
262         vbus-supply = <&usb_vbus>;
263 };
264
265 &vmmc {
266         status = "okay";
267         gpios = <&gpiomm 1 GPIO_ACTIVE_HIGH>;
268 };