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