lantiq: add support for Arcadyan ARV7519PW
[openwrt/svn-archive/archive.git] / target / linux / lantiq / dts / ARV7519PW.dts
1 /dts-v1/;
2
3 /include/ "danube.dtsi"
4
5 / {
6 model = "ARV7519PW - Astoria Networks";
7
8 chosen {
9 bootargs = "console=ttyLTQ0,115200 init=/etc/preinit";
10 };
11
12 memory@0 {
13 reg = <0x0 0x4000000>;
14 };
15
16 sram@1F000000 {
17 vmmc@107000 {
18 status = "okay";
19 };
20 };
21
22 fpi@10000000 {
23 localbus@0 {
24 nor-boot@0 {
25 compatible = "lantiq,nor";
26 bank-width = <2>;
27 reg = <0 0x0 0x2000000>;
28 #address-cells = <1>;
29 #size-cells = <1>;
30
31 partition@0 {
32 label = "uboot";
33 reg = <0x00000 0x40000>;
34 read-only;
35 };
36
37 partition@40000 {
38 label = "uboot_env";
39 reg = <0x40000 0x20000>;
40 };
41
42 partition@60000 {
43 label = "firmware";
44 reg = <0x60000 0xf80000>;
45 };
46
47 partition@fe0000 {
48 label = "board_config";
49 reg = <0xfe0000 0x20000>;
50 read-only;
51 };
52 };
53
54 mac_addr {
55 compatible = "lantiq,eth-mac";
56 reg = <0 0xfe0016 0x6>;
57 mac-increment = <2>;
58 };
59 };
60
61 gpio: pinmux@E100B10 {
62 pinctrl-names = "default";
63 pinctrl-0 = <&state_default>;
64
65 state_default: pinmux {
66 ebu {
67 lantiq,groups = "ebu cs1";
68 lantiq,function = "ebu";
69 };
70 pci_in {
71 lantiq,groups = "req1";
72 lantiq,function = "pci";
73 lantiq,open-drain = <1>;
74 lantiq,pull = <2>;
75 lantiq,output = <0>;
76 };
77 pci_out {
78 lantiq,groups = "gnt1";
79 lantiq,function = "pci";
80 lantiq,pull = <0>;
81 lantiq,output = <1>;
82 };
83 pci_rst {
84 lantiq,pins = "io21";
85 lantiq,pull = <2>;
86 lantiq,output = <1>;
87 };
88 switch_rst {
89 lantiq,pins = "io19";
90 lantiq,pull = <2>;
91 lantiq,output = <1>;
92 };
93 };
94 };
95
96 etop@E180000 {
97 phy-mode = "mii";
98 };
99
100 /* warning: passive port
101 only works with active devices */
102 ifxhcd@E101000 {
103 status = "okay";
104 };
105
106 pci@E105400 {
107 status = "okay";
108 lantiq,external-clock;
109 gpio-reset = <&gpio 21 0>;
110 req-mask = <0xf>;
111 };
112 };
113
114 ralink_eep {
115 compatible = "ralink,eeprom";
116 ralink,eeprom = "RT2860.eeprom";
117 };
118
119 gpio-keys-polled {
120 compatible = "gpio-keys-polled";
121 #address-cells = <1>;
122 #size-cells = <0>;
123 poll-interval = <100>;
124
125 rfkill {
126 label = "rfkill";
127 gpios = <&gpio 11 1>;
128 linux,code = <0xf7>;
129 };
130 reset {
131 label = "reset";
132 gpios = <&gpio 28 1>;
133 linux,code = <0x198>;
134 };
135 };
136
137 gpio-leds {
138 compatible = "gpio-leds";
139 power {
140 label = "power";
141 gpios = <&gpio 2 1>;
142 default-state = "off";
143 };
144 power2 {
145 label = "power2";
146 gpios = <&gpio 14 1>;
147 };
148 online {
149 label = "online";
150 gpios = <&gpio 3 1>;
151 };
152 online2 {
153 label = "online2";
154 gpios = <&gpio 30 1>;
155 };
156 wifi {
157 label = "wifi";
158 gpios = <&gpio 12 1>;
159 };
160 wifi2 {
161 label = "wifi2";
162 gpios = <&gpio 10 1>;
163 };
164 wifi3 {
165 label = "wifi3";
166 gpios = <&gpio 6 1>;
167 };
168 voice {
169 label = "voice";
170 gpios = <&gpio 31 1>;
171 };
172 wps {
173 label = "wps";
174 gpios = <&gpio 15 1>;
175 };
176 wps2 {
177 label = "wps2";
178 gpios = <&gpio 7 1>;
179 };
180 wps3 {
181 label = "wps3";
182 gpios = <&gpio 23 1>;
183 };
184 dsl {
185 label = "dsl";
186 gpios = <&gpio 4 1>;
187 };
188 lan {
189 label = "lan";
190 gpios = <&gpio 1 1>;
191 };
192 tv {
193 label = "tv";
194 gpios = <&gpio 20 1>;
195 };
196 upgrade {
197 label = "upgrade";
198 gpios = <&gpio 29 1>;
199 };
200 };
201
202 /* is there another way to "reserve" the GPIO? */
203 gpio_export {
204 compatible = "gpio-export";
205 #size-cells = <0>;
206
207 switch {
208 gpio-export,name = "switch";
209 gpio-export,output = <1>;
210 gpios = <&gpio 19 0>;
211 };
212 };
213 };