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