lantiq: activate spi-xway on TDW89X0
[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 memory@0 {
9 reg = <0x0 0x4000000>;
10 };
11
12 fpi@10000000 {
13 spi@E100800 {
14 compatible = "lantiq,spi-xway";
15 reg = <0xE100800 0x100>;
16 interrupt-parent = <&icu0>;
17 interrupts = <22 23 24>;
18 #address-cells = <1>;
19 m25p80@0 {
20 #address-cells = <1>;
21 #size-cells = <1>;
22 compatible = "en25q64", "m25p80";
23 reg = <3>;
24 linux,modalias = "en25q64";
25 spi-max-frequency = <20000000>;
26
27 partition@0 {
28 reg = <0x0 0x20000>;
29 label = "u-boot";
30 read-only;
31 };
32
33 partition@20000 {
34 reg = <0x20000 0x6a0000>;
35 label = "firmware";
36 };
37
38 partition@6c0000 {
39 reg = <0x6c0000 0x100000>;
40 label = "dsl_fw";
41 };
42
43 partition@7c0000 {
44 reg = <0x7c0000 0x10000>;
45 label = "config";
46 read-only;
47 };
48
49 ath9k_cal: partition@7d0000 {
50 reg = <0x7d0000 0x30000>;
51 label = "boardconfig";
52 read-only;
53 };
54 };
55 };
56
57 gpio: pinmux@E100B10 {
58 pinctrl-names = "default";
59 pinctrl-0 = <&state_default>;
60
61 state_default: pinmux {
62 mdio {
63 lantiq,groups = "mdio";
64 lantiq,function = "mdio";
65 };
66 gphy-leds {
67 lantiq,groups = "gphy0 led1", "gphy1 led1";
68 lantiq,function = "gphy";
69 lantiq,pull = <2>;
70 lantiq,open-drain = <0>;
71 lantiq,output = <1>;
72 };
73 phy-rst {
74 lantiq,pins = "io42";
75 lantiq,pull = <0>;
76 lantiq,open-drain = <0>;
77 lantiq,output = <1>;
78 };
79 spi {
80 lantiq,groups = "spi", "spi_cs4";
81 lantiq,function = "spi";
82 };
83 pcie-rst {
84 lantiq,pins = "io38";
85 lantiq,pull = <0>;
86 lantiq,output = <1>;
87 };
88 };
89 };
90
91 eth@E108000 {
92 #address-cells = <1>;
93 #size-cells = <0>;
94 compatible = "lantiq,xrx200-net";
95 reg = < 0xE108000 0x3000 /* switch */
96 0xE10B100 0x70 /* mdio */
97 0xE10B1D8 0x30 /* mii */
98 0xE10B308 0x30 /* pmac */
99 >;
100 interrupt-parent = <&icu0>;
101 interrupts = <73 72>;
102
103 lan: interface@0 {
104 compatible = "lantiq,xrx200-pdi";
105 #address-cells = <1>;
106 #size-cells = <0>;
107 reg = <0>;
108 mtd-mac-address = <&ath9k_cal 0xf100>;
109 lantiq,switch;
110
111 ethernet@0 {
112 compatible = "lantiq,xrx200-pdi-port";
113 reg = <0>;
114 phy-mode = "rgmii";
115 phy-handle = <&phy0>;
116 // gpios = <&gpio 42 1>;
117 };
118 ethernet@5 {
119 compatible = "lantiq,xrx200-pdi-port";
120 reg = <5>;
121 phy-mode = "rgmii";
122 phy-handle = <&phy5>;
123 };
124 ethernet@2 {
125 compatible = "lantiq,xrx200-pdi-port";
126 reg = <2>;
127 phy-mode = "gmii";
128 phy-handle = <&phy11>;
129 };
130 ethernet@3 {
131 compatible = "lantiq,xrx200-pdi-port";
132 reg = <4>;
133 phy-mode = "gmii";
134 phy-handle = <&phy13>;
135 };
136 };
137
138 mdio@0 {
139 #address-cells = <1>;
140 #size-cells = <0>;
141 compatible = "lantiq,xrx200-mdio";
142 phy0: ethernet-phy@0 {
143 reg = <0x0>;
144 compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
145 };
146 phy5: ethernet-phy@5 {
147 reg = <0x5>;
148 compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
149 };
150 phy11: ethernet-phy@11 {
151 reg = <0x11>;
152 compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
153 };
154 phy13: ethernet-phy@13 {
155 reg = <0x13>;
156 compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
157 };
158 };
159 };
160
161 ifxhcd@E101000 {
162 status = "okay";
163 gpios = <&gpio 33 0>;
164 lantiq,portmask = <0x3>;
165 };
166
167 ifxhcd@E106000 {
168 status = "okay";
169 gpios = <&gpio 33 0>;
170 };
171 };
172
173 gphy-xrx200 {
174 compatible = "lantiq,phy-xrx200";
175 firmware = "lantiq/vr9_phy11g_a2x.bin";
176 phys = [ 00 01 ];
177 };
178
179 pcie {
180 compatible = "lantiq,pcie-xway";
181 };
182
183 ath9k_eep {
184 compatible = "ath9k,eeprom";
185 ath,eep-flash = <&ath9k_cal 0x21000>;
186 ath,mac-offset = <0xf100>;
187 ath,mac-increment;
188 ath,led-pin = <0>;
189 };
190
191 gpio-keys-polled {
192 compatible = "gpio-keys-polled";
193 #address-cells = <1>;
194 #size-cells = <0>;
195 poll-interval = <100>;
196 reset {
197 label = "reset";
198 gpios = <&gpio 0 1>;
199 linux,code = <0x198>;
200 };
201
202 wifi {
203 label = "wifi";
204 gpios = <&gpio 9 0>;
205 linux,code = <0xf7>;
206 linux,input-type = <5>; /* EV_SW */
207 };
208
209 wps {
210 label = "wps";
211 gpios = <&gpio 39 1>;
212 linux,code = <0x211>;
213 };
214 };
215
216 gpio-leds {
217 compatible = "gpio-leds";
218
219 dsl {
220 label = "dsl";
221 gpios = <&gpio 4 0>;
222 };
223 internet {
224 label = "internet";
225 gpios = <&gpio 5 0>;
226 };
227 usb0 {
228 label = "usb";
229 gpios = <&gpio 19 0>;
230 };
231 usb2 {
232 label = "usb2";
233 gpios = <&gpio 20 0>;
234 };
235 wps {
236 label = "wps";
237 gpios = <&gpio 37 0>;
238 };
239 };
240 };