lantiq: BT Home Hub 2B support - board support
[openwrt.git] / target / linux / lantiq / dts / BTHOMEHUBV2B.dts
1 /dts-v1/;
2
3 /include/ "danube.dtsi"
4
5 / {
6         model = "BTHOMEHUBV2B - BT Home Hub 2B";  /* SoC: Lantiq Danube-S PSB 50712 @ 333MHz V1.3/1.5 */
7
8         chosen {
9                 bootargs = "console=ttyLTQ0,115200 init=/etc/preinit rootfstype=squashfs,jffs2";
10         };
11
12         memory@0 {                                /* RAM: Samsung K4H511638F-LC 64MB */
13                 reg = <0x0 0x4000000>;
14         };
15
16         sram@1F000000 {
17                 vmmc@107000 {
18                         status = "okay";
19                         gpios = <&gpio 31 0>;
20                 };
21         };
22
23         fpi@10000000 {
24                 #address-cells = <1>;
25                 #size-cells = <1>;
26                 localbus@0 {
27                         #address-cells = <2>;
28                         #size-cells = <1>;
29                         ranges = <0 0 0x0 0x3ffffff /* addrsel0 */
30                                 1 0 0x4000000 0x4000010>; /* addsel1 */
31                         compatible = "lantiq,localbus", "simple-bus";
32
33                         nor-boot@0 {                            /* NOR Flash: Spansion S29AL004D 512KB */
34                                 compatible = "lantiq,nor";      /* "AMD AM29LV400BB" compatible on 3.3.8 */
35                                 lantiq,cs = <0>;
36                                 bank-width = <2>;
37                                 reg = <0 0x0 0x80000>;
38                                 #address-cells = <1>;
39                                 #size-cells = <1>;
40
41                                 partition@0 {
42                                         label = "uboot";
43                                         reg = <0x00000 0x40000>; /* 256KB */
44                                 };
45
46                                 partition@40000 {
47                                         label = "uboot_env";
48                                         reg = <0x40000 0x10000>; /* 64KB */
49                                 };
50
51                                 partition@50000 {
52                                         label = "rg_conf_1";
53                                         reg = <0x50000 0x10000>;
54                                 };
55
56                                 partition@60000 {
57                                         label = "rg_conf_2";
58                                         reg = <0x60000 0x10000>;
59                                 };
60
61                                 partition@70000 {
62                                         label = "rg_conf_factory";
63                                         reg = <0x70000 0x10000>;
64                                 };
65                         };
66
67                         nand-parts@0 {            /* NAND Flash: Samsung K9F5608U0D-JIB0 32MB */
68                                 compatible = "gen_nand", "lantiq,nand-xway";
69                                 lantiq,cs = <1>;
70                                 bank-width = <2>;
71                                 reg = <1 0x0 0x2000000 >;
72                                 #address-cells = <1>;
73                                 #size-cells = <1>;
74                                 req-mask = <0x1>;  /* PCI request lines to mask during NAND access */
75
76                                 ath9k_cal: partition@0 {
77                                         label = "art";     /* Atheros 9160 wifi b/g/n radio EEPROM */
78                                         reg = <0x00000 0x4000>;
79                                         read-only;
80                                 };
81
82                                 partition@4000 {
83                                         label = "firmware";
84                                         reg = <0x4000 0x1FFC000>;
85                                 };
86
87                         };
88
89
90                         ath9k_eep {
91                                 compatible = "ath9k,eeprom";
92                                 ath,eep-flash = <&ath9k_cal 0x0000>;
93                                 ath,mac-increment = <1>;
94                                 ath,pci-slot = <14>;
95                                 ath,eep-endian;
96                         };
97                 };
98
99                 gpio: pinmux@E100B10 {
100                         compatible = "lantiq,pinctrl-xway";
101                         pinctrl-names = "default";
102                         pinctrl-0 = <&state_default>;
103
104                         #gpio-cells = <2>;
105                         gpio-controller;
106                         reg = <0xE100B10 0xA0>;
107
108                         state_default: pinmux {
109                                 stp {
110                                         lantiq,groups = "stp";
111                                         lantiq,function = "stp";
112                                         lantiq,output = <1>;
113                                         lantiq,open-drain = <0>;
114                                         lantiq,pull = <0>;
115                                 };
116                                 nand_out {
117                                         lantiq,groups = "nand cle", "nand ale";
118                                         lantiq,function = "ebu";
119                                         lantiq,output = <1>;
120                                         lantiq,open-drain = <0>;
121                                         lantiq,pull = <0>;
122                                 };
123                                 nand_cs1 {
124                                         lantiq,groups = "nand cs1";
125                                         lantiq,function = "ebu";
126                                         lantiq,open-drain = <0>;
127                                         lantiq,pull = <0>;
128                                 };
129                                 exin {
130                                         lantiq,groups = "exin1";
131                                         lantiq,function = "exin";
132                                 };
133                                 pci_in {
134                                         lantiq,groups = "req1";
135                                         lantiq,function = "pci";
136                                         lantiq,output = <0>;
137                                         lantiq,open-drain = <1>;
138                                         lantiq,pull = <2>;
139                                 };
140                                 pci_out {
141                                         lantiq,groups = "gnt1";
142                                         lantiq,function = "pci";
143                                         lantiq,output = <1>;
144                                         lantiq,open-drain = <0>;
145                                         lantiq,pull = <0>;
146                                 };
147
148                                 pci_rst {
149                                         lantiq,pins = "io21";
150                                         lantiq,output = <1>;
151                                         lantiq,open-drain = <0>;
152                                 };
153
154                                 btn_in {
155                                         lantiq,pins = "io2", "io15", "io22";
156                                         lantiq,output = <0>;
157                                         lantiq,open-drain = <1>;
158                                         lantiq,pull = <2>;
159                                 };
160                         };
161                 };
162
163                 etop@E180000 {
164                         compatible = "lantiq,etop-xway";
165                         reg = <0xE180000 0x40000>;
166                         interrupt-parent = <&icu0>;
167                         interrupts = <73 78>;
168                         phy-mode = "rmii";
169                         mac-address = [ 00 11 22 33 44 55 ];
170                 };
171
172                 ifxhcd@E101000 {
173                         status = "okay";
174                 };
175
176                 stp0: stp@E100BB0 {
177                         status = "okay";
178                         #gpio-cells = <2>;
179                         compatible = "lantiq,gpio-stp-xway";
180                         gpio-controller;
181                         reg = <0xE100BB0 0x40>;
182
183                         lantiq,shadow = <0xfff>;
184                         lantiq,groups = <0x3>;
185                 };
186
187                 pci@E105400 {
188                         status = "okay";
189                         lantiq,bus-clock = <33333333>;
190                         interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
191                         interrupt-map = <0x7000 0 0 1 &icu0 30 1>;
192                         gpio-reset = <&gpio 21 0>;
193                         req-mask = <0x1>;                /* GNT1 */
194                 };
195
196         };
197
198         gpio-keys-polled {
199                 compatible = "gpio-keys-polled";
200                 #address-cells = <1>;
201                 #size-cells = <0>;
202                 poll-interval = <100>;
203
204                 reset {
205                         label = "reset";
206                         gpios = <&gpio 2 1>;
207                         linux,code = <0x198>;
208                 };
209                 findhandset {
210                         label = "findhandset";
211                         gpios = <&gpio 15 1>;
212                         linux,code = <0x101>;
213                 };
214                 wps {
215                         label = "wps";
216                         gpios = <&gpio 22 1>;
217                         linux,code = <0x211>;
218                 };
219         };
220
221         gpio-leds {
222                 compatible = "gpio-leds";
223
224                 upgrading-orange {
225                         label = "soc:orange:upgrading";
226                         gpios = <&stp0 5 0>;
227                 };
228
229                 phone-orange {
230                         label = "soc:orange:phone";
231                         gpios = <&stp0 6 0>;
232                 };
233                 phone-blue {
234                         label = "soc:blue:phone";
235                         gpios = <&stp0 7 0>;
236                 };
237
238                 wireless-orange {
239                         label = "soc:orange:wireless";
240                         gpios = <&stp0 8 0>;
241                 };
242                 wireless-blue {
243                         label = "soc:blue:wireless";
244                         gpios = <&stp0 9 0>;
245                 };
246
247                 broadband-red {
248                         label = "soc:red:broadband";
249                         gpios = <&stp0 10 0>;
250                 };
251                 broadband-orange {
252                         label = "soc:orange:broadband";
253                         gpios = <&stp0 11 0>;
254                 };
255                 broadband-blue {
256                         label = "soc:blue:broadband";
257                         gpios = <&stp0 12 0>;
258                 };
259
260                 power-red {
261                         label = "soc:red:power";
262                         gpios = <&stp0 13 0>;
263                 };
264                 power-orange {
265                         label = "soc:orange:power";
266                         gpios = <&stp0 14 0>;
267                 };
268                 power-blue {
269                         label = "soc:blue:power";
270                         gpios = <&stp0 15 0>;
271                 };
272         };
273
274 };
275