897320f1e1ef468302a9cf10104d9aa04af7393e
[oweals/openwrt.git] / target / linux / lantiq / files / arch / mips / boot / dts / ARV7510PW22.dts
1 /dts-v1/;
2
3 #include "danube.dtsi"
4
5 #include <dt-bindings/input/input.h>
6
7 / {
8         compatible = "arcadyan,arv7510pw22", "lantiq,xway", "lantiq,danube";
9         model = "Astoria Networks ARV7510PW22";
10
11         chosen {
12                 bootargs = "console=ttyLTQ0,115200";
13         };
14
15         aliases {
16                 led-boot = &power;
17                 led-failsafe = &power;
18                 led-running = &power;
19                 led-upgrade = &power;
20
21                 led-dsl = &internet;
22                 led-usb = &umts;
23                 led-wifi = &wlan;
24         };
25
26         memory@0 {
27                 device_type = "memory";
28                 reg = <0x0 0x4000000>;
29         };
30
31         gpio-keys-polled {
32                 compatible = "gpio-keys-polled";
33                 poll-interval = <100>;
34
35                 rfkill {
36                         label = "rfkill";
37                         gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
38                         linux,code = <KEY_RFKILL>;
39                 };
40                 restart {
41                         label = "restart";
42                         gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
43                         linux,code = <KEY_POWER>;
44                 };
45                 reset {
46                         label = "reset";
47                         gpios = <&gpio 28 GPIO_ACTIVE_LOW>;
48                         linux,code = <KEY_RESTART>;
49                 };
50         };
51
52         gpio-leds {
53                 compatible = "gpio-leds";
54                 power: power {
55                         label = "power";
56                         gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
57                         default-state = "keep";
58                 };
59                 internet: internet {
60                         label = "internet";
61                         gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
62                 };
63                 wlan: wlan {
64                         label = "wlan";
65                         gpios = <&gpio 10 GPIO_ACTIVE_LOW>;
66                 };
67                 umts: 3g {
68                         label = "3g";
69                         gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
70                 };
71                 message {
72                         label = "message";
73                         gpios = <&gpio 20 GPIO_ACTIVE_LOW>;
74                 };
75         };
76 };
77
78 &gpio {
79         pinctrl-names = "default";
80         pinctrl-0 = <&state_default>;
81
82         state_default: pinmux {
83                 exin {
84                         lantiq,groups = "exin1";
85                         lantiq,function = "exin";
86                         lantiq,pull = <2>;
87                         lantiq,output = <0>;
88                 };
89                 pci_in {
90                         lantiq,groups = "req1", "req2";
91                         lantiq,function = "pci";
92                         lantiq,open-drain = <1>;
93                         lantiq,pull = <2>;
94                         lantiq,output = <0>;
95                 };
96                 pci_out {
97                         lantiq,groups = "gnt1";
98                         lantiq,function = "pci";
99                         lantiq,output = <1>;
100                 };
101                 pci_rst {
102                         lantiq,pins = "io21";
103                         lantiq,pull = <2>;
104                         lantiq,output = <1>;
105                 };
106                 pins_out {
107                         lantiq,pins = "io2", "io4", "io8", "io9", "io10", "io15", "io20";
108                         lantiq,output = <1>;
109                 };
110                 pins_in {
111                         lantiq,pins = "io11", "io12", "io28";
112                         lantiq,open-drain = <1>;
113                         lantiq,pull = <2>;
114                         lantiq,output = <0>;
115                 };
116         };
117
118         usb_vbus: regulator-usb-vbus {
119                 compatible = "regulator-fixed";
120
121                 regulator-name = "USB_VBUS";
122
123                 regulator-min-microvolt = <5000000>;
124                 regulator-max-microvolt = <5000000>;
125
126                 gpio = <&gpio 8 GPIO_ACTIVE_HIGH>;
127                 enable-active-high;
128         };
129 };
130
131 &gsw {
132         /* Switch reset 19 */
133         phy-mode = "mii";
134         mtd-mac-address = <&boardconfig 0x16>;
135 };
136
137 &localbus {
138         nor@0 {
139                 compatible = "lantiq,nor";
140                 bank-width = <2>;
141                 reg = <0 0x0 0x1000000>;
142
143                 partitions {
144                         compatible = "fixed-partitions";
145                         #address-cells = <1>;
146                         #size-cells = <1>;
147
148                         partition@0 {
149                                 label = "uboot";
150                                 reg = <0x00000 0x40000>;
151                                 read-only;
152                         };
153
154                         partition@40000 {
155                                 label = "uboot_env";
156                                 reg = <0x40000 0x20000>;
157                                 read-only;
158                         };
159
160                         partition@60000 {
161                                 label = "firmware";
162                                 reg = <0x60000 0xf80000>;
163                         };
164
165                         boardconfig: partition@fe0000 {
166                                 label = "board_config";
167                                 reg = <0xfe0000 0x20000>;
168                                 read-only;
169                         };
170                 };
171         };
172 };
173
174 &pci0 {
175         status = "okay";
176         lantiq,external-clock;
177         interrupt-map = <
178                 0x7000 0 0 1 &icu0 30
179                 0x7800 0 0 1 &icu0 135
180                 0x7800 0 0 2 &icu0 135
181                 0x7800 0 0 3 &icu0 135
182         >;
183         gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
184         req-mask = <0x3>;
185
186         wifi@1814,3592 {
187                 compatible = "pci1814,3592";
188                 reg = <0x7000 0 0 0 0>;
189                 ralink,mtd-eeprom = <&boardconfig 0x410>;
190                 ralink,mtd-eeprom-swap;
191         };
192 };
193
194 &usb_phy {
195         status = "okay";
196 };
197
198 &usb {
199         status = "okay";
200         vbus-supply = <&usb_vbus>;
201 };
202
203 &vmmc {
204         status = "okay";
205         gpios = <&gpio 9 GPIO_ACTIVE_HIGH>;
206 };