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