1471bd7d69fe53e85a7ca51957d012f22faf2c98
[openwrt/openwrt.git] / target / linux / lantiq / dts / TDW89X0.dtsi
1 #include "vr9.dtsi"
2
3 / {
4 chosen {
5 bootargs = "console=ttyLTQ0,115200 init=/etc/preinit";
6 };
7
8 aliases {
9 /* the power led can't be controlled, use the wps led instead */
10 led-boot = &wps;
11 led-failsafe = &wps;
12
13 led-dsl = &dsl;
14 led-internet = &internet;
15 led-usb = &usb0;
16 led-usb2 = &usb2;
17 };
18
19 memory@0 {
20 reg = <0x0 0x4000000>;
21 };
22
23 cputemp@0 {
24 compatible = "lantiq,cputemp";
25 };
26
27 fpi@10000000 {
28 gpio: pinmux@E100B10 {
29 pinctrl-names = "default";
30 pinctrl-0 = <&state_default>;
31
32 state_default: pinmux {
33 mdio {
34 lantiq,groups = "mdio";
35 lantiq,function = "mdio";
36 };
37 gphy-leds {
38 lantiq,groups = "gphy0 led1", "gphy1 led1";
39 lantiq,function = "gphy";
40 lantiq,pull = <2>;
41 lantiq,open-drain = <0>;
42 lantiq,output = <1>;
43 };
44 phy-rst {
45 lantiq,pins = "io42";
46 lantiq,pull = <0>;
47 lantiq,open-drain = <0>;
48 lantiq,output = <1>;
49 };
50 pcie-rst {
51 lantiq,pins = "io38";
52 lantiq,pull = <0>;
53 lantiq,output = <1>;
54 };
55 };
56 pins_spi_default: pins_spi_default {
57 spi_in {
58 lantiq,groups = "spi_di";
59 lantiq,function = "spi";
60 };
61 spi_out {
62 lantiq,groups = "spi_do", "spi_clk",
63 "spi_cs4";
64 lantiq,function = "spi";
65 lantiq,output = <1>;
66 };
67 };
68 };
69
70 ifxhcd@E101000 {
71 status = "okay";
72 gpios = <&gpio 33 GPIO_ACTIVE_HIGH>;
73 lantiq,portmask = <0x3>;
74 };
75
76 ifxhcd@E106000 {
77 status = "okay";
78 gpios = <&gpio 33 GPIO_ACTIVE_HIGH>;
79 };
80 };
81
82 gphy-xrx200 {
83 compatible = "lantiq,phy-xrx200";
84 firmware = "lantiq/vr9_phy11g_a2x.bin";
85 phys = [ 00 01 ];
86 };
87
88 ath9k_eep {
89 compatible = "ath9k,eeprom";
90 ath,eep-flash = <&ath9k_cal 0x21000>;
91 ath,mac-offset = <0xf100>;
92 ath,mac-increment = <2>;
93 ath,led-pin = <0>;
94 ath,disable-5ghz;
95 ath,led-active-high;
96 };
97
98 gpio-keys-polled {
99 compatible = "gpio-keys-polled";
100 #address-cells = <1>;
101 #size-cells = <0>;
102 poll-interval = <100>;
103 reset {
104 label = "reset";
105 gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
106 linux,code = <KEY_RESTART>;
107 };
108
109 wifi {
110 label = "wifi";
111 gpios = <&gpio 9 GPIO_ACTIVE_HIGH>;
112 linux,code = <KEY_RFKILL>;
113 linux,input-type = <EV_SW>;
114 };
115
116 wps {
117 label = "wps";
118 gpios = <&gpio 39 GPIO_ACTIVE_LOW>;
119 linux,code = <KEY_WPS_BUTTON>;
120 };
121 };
122
123 gpio-leds {
124 compatible = "gpio-leds";
125 /*
126 power is not controllable via gpio
127 */
128 dsl: dsl {
129 label = "tdw89x0:green:dsl";
130 gpios = <&gpio 4 GPIO_ACTIVE_HIGH>;
131 };
132 internet: internet {
133 label = "tdw89x0:green:internet";
134 gpios = <&gpio 5 GPIO_ACTIVE_HIGH>;
135 };
136 usb0: usb0 {
137 label = "tdw89x0:green:usb";
138 gpios = <&gpio 19 GPIO_ACTIVE_HIGH>;
139 };
140 usb2: usb2 {
141 label = "tdw89x0:green:usb2";
142 gpios = <&gpio 20 GPIO_ACTIVE_HIGH>;
143 };
144 wps: wps {
145 label = "tdw89x0:green:wps";
146 gpios = <&gpio 37 GPIO_ACTIVE_HIGH>;
147 };
148 };
149 };
150
151 &spi {
152 pinctrl-names = "default";
153 pinctrl-0 = <&pins_spi_default>;
154
155 status = "ok";
156
157 m25p80@4 {
158 #address-cells = <1>;
159 #size-cells = <1>;
160 compatible = "jedec,spi-nor";
161 reg = <4 0>;
162 spi-max-frequency = <33250000>;
163 m25p,fast-read;
164
165 partitions {
166 compatible = "fixed-partitions";
167 #address-cells = <1>;
168 #size-cells = <1>;
169
170 partition@0 {
171 reg = <0x0 0x20000>;
172 label = "u-boot";
173 read-only;
174 };
175
176 partition@20000 {
177 reg = <0x20000 0x7a0000>;
178 label = "firmware";
179 };
180
181 partition@7c0000 {
182 reg = <0x7c0000 0x10000>;
183 label = "config";
184 read-only;
185 };
186
187 ath9k_cal: partition@7d0000 {
188 reg = <0x7d0000 0x30000>;
189 label = "boardconfig";
190 read-only;
191 };
192 };
193 };
194 };
195
196 &eth0 {
197 lan: interface@0 {
198 compatible = "lantiq,xrx200-pdi";
199 #address-cells = <1>;
200 #size-cells = <0>;
201 reg = <0>;
202 mtd-mac-address = <&ath9k_cal 0xf100>;
203 lantiq,switch;
204
205 ethernet@0 {
206 compatible = "lantiq,xrx200-pdi-port";
207 reg = <0>;
208 phy-mode = "rgmii";
209 phy-handle = <&phy0>;
210 // gpios = <&gpio 42 GPIO_ACTIVE_LOW>;
211 };
212 ethernet@5 {
213 compatible = "lantiq,xrx200-pdi-port";
214 reg = <5>;
215 phy-mode = "rgmii";
216 phy-handle = <&phy5>;
217 };
218 ethernet@2 {
219 compatible = "lantiq,xrx200-pdi-port";
220 reg = <2>;
221 phy-mode = "gmii";
222 phy-handle = <&phy11>;
223 };
224 ethernet@3 {
225 compatible = "lantiq,xrx200-pdi-port";
226 reg = <4>;
227 phy-mode = "gmii";
228 phy-handle = <&phy13>;
229 };
230 };
231
232 mdio@0 {
233 #address-cells = <1>;
234 #size-cells = <0>;
235 compatible = "lantiq,xrx200-mdio";
236 phy0: ethernet-phy@0 {
237 reg = <0x0>;
238 compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
239 };
240 phy5: ethernet-phy@5 {
241 reg = <0x5>;
242 compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
243 };
244 phy11: ethernet-phy@11 {
245 reg = <0x11>;
246 compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
247 };
248 phy13: ethernet-phy@13 {
249 reg = <0x13>;
250 compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
251 };
252 };
253 };