lantiq: Add support for the BT Home Hub 5A
[openwrt/openwrt.git] / target / linux / lantiq / dts / BTHOMEHUBV5A.dts
1 /dts-v1/;
2
3 /include/ "vr9.dtsi"
4
5 / {
6 model = "BTHOMEHUBV5A - BT Home Hub 5A";
7
8 chosen {
9 bootargs = "console=ttyLTQ0,115200 init=/etc/preinit";
10 };
11
12 memory@0 {
13 reg = <0x0 0x8000000>;
14 };
15
16 fpi@10000000 {
17 localbus@0 {
18 nand-parts@0 {
19 compatible = "gen_nand", "lantiq,nand-xway";
20 lantiq,cs = <1>;
21 bank-width = <2>;
22 reg = <0 0x0 0x2000000>;
23 #address-cells = <1>;
24 #size-cells = <1>;
25
26 partition@0 {
27 label = "u-boot";
28 reg = <0x0 0x40000>;
29 read-only;
30 };
31 partition@40000 {
32 label = "uboot-env";
33 reg = <0x40000 0x40000>;
34 };
35 caldata: partition@80000 {
36 label = "caldata";
37 reg = <0x80000 0x20000>;
38 read-only;
39 };
40 partition@a0000 {
41 label = "kernel";
42 reg = <0xa0000 0x200000>;
43 };
44 partition@2a0000 {
45 label = "ubi";
46 reg = <0x2a0000 0x7d60000>;
47 };
48 };
49 };
50
51 gpio: pinmux@E100B10 {
52 pinctrl-names = "default";
53 pinctrl-0 = <&state_default>;
54
55 interrupt-parent = <&icu0>;
56 interrupts = <166 135 66 40 41 42 38>;
57
58 state_default: pinmux {
59 mdio {
60 lantiq,groups = "mdio";
61 lantiq,function = "mdio";
62 };
63 pci_rst {
64 lantiq,pins = "io21";
65 lantiq,output = <1>;
66 lantiq,open-drain;
67 };
68 pcie_rst {
69 lantiq,pins = "io38";
70 lantiq,pull = <0>;
71 lantiq,output = <1>;
72 lantiq,open-drain;
73 };
74 usb_vbus {
75 lantiq,pins = "io33";
76 lantiq,pull = <0>;
77 lantiq,open-drain = <0>;
78 lantiq,output = <1>;
79 };
80 nand_out {
81 lantiq,groups = "nand cle", "nand ale";
82 lantiq,function = "ebu";
83 lantiq,output = <1>;
84 lantiq,open-drain = <0>;
85 lantiq,pull = <0>;
86 };
87 nand_cs1 {
88 lantiq,groups = "nand cs1";
89 lantiq,function = "ebu";
90 lantiq,open-drain = <0>;
91 lantiq,pull = <0>;
92 };
93 };
94 };
95
96 eth@E108000 {
97 #address-cells = <1>;
98 #size-cells = <0>;
99 compatible = "lantiq,xrx200-net";
100 reg = < 0xE108000 0x3000 /* switch */
101 0xE10B100 0x70 /* mdio */
102 0xE10B1D8 0x30 /* mii */
103 0xE10B308 0x30 >; /* pmac */
104 interrupt-parent = <&icu0>;
105 interrupts = <73 72>;
106
107 lan: interface@0 {
108 compatible = "lantiq,xrx200-pdi";
109 #address-cells = <1>;
110 #size-cells = <0>;
111 reg = <0>;
112 mtd-mac-address = <&caldata 0x110c>;
113 lantiq,switch;
114
115 ethernet@0 {
116 compatible = "lantiq,xrx200-pdi-port";
117 reg = <0>;
118 phy-mode = "rgmii";
119 phy-handle = <&phy0>;
120 };
121 ethernet@1 {
122 compatible = "lantiq,xrx200-pdi-port";
123 reg = <1>;
124 phy-mode = "rgmii";
125 phy-handle = <&phy1>;
126 };
127 ethernet@2 {
128 compatible = "lantiq,xrx200-pdi-port";
129 reg = <2>;
130 phy-mode = "gmii";
131 phy-handle = <&phy11>;
132 };
133 ethernet@4 {
134 compatible = "lantiq,xrx200-pdi-port";
135 reg = <4>;
136 phy-mode = "gmii";
137 phy-handle = <&phy13>;
138 };
139 };
140
141 wan: interface@1 {
142 compatible = "lantiq,xrx200-pdi";
143 #address-cells = <1>;
144 #size-cells = <0>;
145 reg = <1>;
146 mtd-mac-address = <&caldata 0x110c>;
147 mtd-mac-address-increment = <4>;
148 lantiq,wan;
149
150 ethernet@5 {
151 compatible = "lantiq,xrx200-pdi-port";
152 reg = <5>;
153 phy-mode = "rgmii";
154 phy-handle = <&phy5>;
155 };
156 };
157
158 mdio@0 {
159 #address-cells = <1>;
160 #size-cells = <0>;
161 compatible = "lantiq,xrx200-mdio";
162
163 phy0: ethernet-phy@0 {
164 reg = <0x0>;
165 compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
166 };
167 phy1: ethernet-phy@1 {
168 reg = <0x1>;
169 compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
170 };
171 phy5: ethernet-phy@5 {
172 reg = <0x5>;
173 compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
174 };
175 phy11: ethernet-phy@11 {
176 reg = <0x11>;
177 compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
178 };
179 phy13: ethernet-phy@13 {
180 reg = <0x13>;
181 compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
182 };
183 };
184 };
185
186 ifxhcd@E101000 {
187 status = "okay";
188 gpios = <&gpio 33 0>;
189 };
190
191 pci@E105400 {
192 status = "okay";
193 lantiq,bus-clock = <33333333>;
194 interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
195 interrupt-map = <0x7000 0 0 1 &icu0 30 1>;
196 gpio-reset = <&gpio 21 0>;
197 };
198 };
199
200 gphy-xrx200 {
201 compatible = "lantiq,phy-xrx200";
202 firmware1 = "lantiq/vr9_phy11g_a1x.bin"; /*VR9 1.1*/
203 firmware2 = "lantiq/vr9_phy11g_a2x.bin"; /*VR9 1.2*/
204 phys = [ 00 01 ];
205 };
206
207 ath9k_eep {
208 compatible = "ath9k,eeprom";
209 ath,eep-flash = <&caldata 0x1000>;
210 ath,mac-offset = <0x110c>;
211 ath,mac-increment = <2>;
212 ath,pci-slot = <0xe>; /* 14 */
213 };
214
215 gpio-keys-polled {
216 compatible = "gpio-keys-polled";
217 #address-cells = <1>;
218 #size-cells = <0>;
219 poll-interval = <100>;
220
221 reset {
222 label = "reset";
223 gpios = <&gpio 2 1>;
224 linux,code = <0x198>;
225 };
226
227 wps {
228 label = "wps";
229 gpios = <&gpio 25 1>;
230 linux,code = <0x211>;
231 };
232
233 restart {
234 label = "restart";
235 gpios = <&gpio 39 1>;
236 linux,code = <0x198>;
237 };
238 };
239
240 gpio-leds {
241 compatible = "gpio-leds";
242
243 broadband-red {
244 label = "soc:red:broadband";
245 gpios = <&gpio 0 1>;
246 };
247 broadband-green {
248 label = "soc:green:broadband";
249 gpios = <&gpio 3 1>;
250 };
251 broadband-blue {
252 label = "soc:blue:broadband";
253 gpios = <&gpio 8 1>;
254 };
255
256 wireless-red {
257 label = "soc:red:wireless";
258 gpios = <&gpio 9 1>;
259 };
260 wireless-green {
261 label = "soc:green:wireless";
262 gpios = <&gpio 10 1>;
263 };
264 wireless-blue {
265 label = "soc:blue:wireless";
266 gpios = <&gpio 11 1>;
267 };
268
269 power-red {
270 label = "soc:red:power";
271 gpios = <&gpio 12 1>;
272 };
273 power-green {
274 label = "soc:green:power";
275 gpios = <&gpio 14 1>;
276 };
277 power-blue {
278 label = "soc:blue:power";
279 gpios = <&gpio 15 1>;
280 };
281
282 dimmed {
283 label = "dimmed";
284 gpios = <&gpio 19 0>;
285 };
286 };
287 };