34b541af9299daf1d6f4e9571f74c628101fc923
[openwrt/staging/wigyori.git] / target / linux / lantiq / files / arch / mips / boot / dts / ARV7519PW.dts
1 /dts-v1/;
2
3 #include "danube.dtsi"
4
5 #include <dt-bindings/input/input.h>
6
7 / {
8 compatible = "arcadyan,arv7519pw", "lantiq,xway", "lantiq,danube";
9 model = "Astoria Networks ARV7519PW";
10
11 chosen {
12 bootargs = "console=ttyLTQ0,115200";
13 };
14
15 aliases {
16 led-boot = &power;
17 led-failsafe = &power2;
18 led-running = &power;
19 led-upgrade = &power;
20
21 led-dsl = &dsl;
22 led-internet = &online;
23 led-wifi = &wifi;
24 };
25
26 memory@0 {
27 device_type = "memory";
28 reg = <0x0 0x4000000>;
29 };
30
31 keys {
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 reset {
41 label = "reset";
42 gpios = <&gpio 28 GPIO_ACTIVE_LOW>;
43 linux,code = <KEY_RESTART>;
44 };
45 };
46
47 leds {
48 compatible = "gpio-leds";
49 power: power {
50 label = "power";
51 gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
52 default-state = "keep";
53 };
54 power2: power2 {
55 label = "power2";
56 gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
57 };
58 online: online {
59 label = "online";
60 gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
61 };
62 online2 {
63 label = "online2";
64 gpios = <&gpio 30 GPIO_ACTIVE_LOW>;
65 };
66 wifi: wifi {
67 label = "wifi";
68 gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
69 };
70 wifi2 {
71 label = "wifi2";
72 gpios = <&gpio 10 GPIO_ACTIVE_LOW>;
73 };
74 wifi3 {
75 label = "wifi3";
76 gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
77 };
78 voice {
79 label = "voice";
80 gpios = <&gpio 31 GPIO_ACTIVE_LOW>;
81 };
82 wps {
83 label = "wps";
84 gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
85 };
86 wps2 {
87 label = "wps2";
88 gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
89 };
90 wps3 {
91 label = "wps3";
92 gpios = <&gpio 23 GPIO_ACTIVE_LOW>;
93 };
94 dsl: dsl {
95 label = "dsl";
96 gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
97 };
98 lan {
99 label = "lan";
100 gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
101 };
102 tv {
103 label = "tv";
104 gpios = <&gpio 20 GPIO_ACTIVE_LOW>;
105 };
106 upgrade {
107 label = "upgrade";
108 gpios = <&gpio 29 GPIO_ACTIVE_LOW>;
109 };
110 };
111
112 /* is there another way to "reserve" the GPIO? */
113 gpio_export {
114 compatible = "gpio-export";
115 #size-cells = <0>;
116
117 switch {
118 gpio-export,name = "switch";
119 gpio-export,output = <1>;
120 gpios = <&gpio 19 GPIO_ACTIVE_HIGH>;
121 };
122 };
123 };
124
125 &gpio {
126 pinctrl-names = "default";
127 pinctrl-0 = <&state_default>;
128
129 state_default: pinmux {
130 ebu {
131 lantiq,groups = "ebu cs1";
132 lantiq,function = "ebu";
133 };
134 pci_rst {
135 lantiq,pins = "io21";
136 lantiq,pull = <2>;
137 lantiq,output = <1>;
138 };
139 switch_rst {
140 lantiq,pins = "io19";
141 lantiq,pull = <2>;
142 lantiq,output = <1>;
143 };
144 };
145 };
146
147 &gsw {
148 phy-mode = "mii";
149 mtd-mac-address = <&boardconfig 0x16>;
150 };
151
152 &localbus {
153 flash@0 {
154 compatible = "lantiq,nor";
155 bank-width = <2>;
156 reg = <0 0x0 0x2000000>;
157
158 partitions {
159 compatible = "fixed-partitions";
160 #address-cells = <1>;
161 #size-cells = <1>;
162
163 partition@0 {
164 label = "uboot";
165 reg = <0x00000 0x40000>;
166 read-only;
167 };
168
169 partition@40000 {
170 label = "uboot_env";
171 reg = <0x40000 0x20000>;
172 };
173
174 partition@60000 {
175 label = "firmware";
176 reg = <0x60000 0xf80000>;
177 };
178
179 boardconfig: partition@fe0000 {
180 label = "board_config";
181 reg = <0xfe0000 0x20000>;
182 read-only;
183 };
184 };
185 };
186 };
187
188 &pci0 {
189 status = "okay";
190
191 pinctrl-0 = <&pci_gnt1_pins>, <&pci_req1_pins>;
192 pinctrl-names = "default";
193
194 lantiq,external-clock;
195 gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
196 req-mask = <0xf>;
197
198 wifi@0,0 {
199 compatible = "pci0,0";
200 reg = <0x7000 0 0 0 0>;
201 ralink,mtd-eeprom = <&boardconfig 0x410>;
202 ralink,mtd-eeprom-swap;
203 };
204 };
205
206 &usb_phy {
207 status = "okay";
208 };
209
210 /* warning: passive port only works with active devices */
211 &usb {
212 status = "okay";
213 };
214
215 &vmmc {
216 status = "okay";
217 };