lantiq: Add support for the BT Home Hub 5A
[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 };