87b4dfbd4af8861891aa5283825ced54c05a2162
[openwrt/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";
12 };
13
14 aliases {
15 led-boot = &power_orange;
16 led-failsafe = &power_red;
17 led-running = &power_blue;
18
19 led-dsl = &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
109 gpio: pinmux@E100B10 {
110 pinctrl-names = "default";
111 pinctrl-0 = <&state_default>;
112
113 state_default: pinmux {
114 nand_out {
115 lantiq,groups = "nand cle", "nand ale";
116 lantiq,function = "ebu";
117 lantiq,output = <1>;
118 lantiq,open-drain = <0>;
119 lantiq,pull = <0>;
120 };
121 nand_cs1 {
122 lantiq,groups = "nand cs1";
123 lantiq,function = "ebu";
124 lantiq,open-drain = <0>;
125 lantiq,pull = <0>;
126 };
127 exin {
128 lantiq,groups = "exin1";
129 lantiq,function = "exin";
130 };
131 pci_in {
132 lantiq,groups = "req1";
133 lantiq,function = "pci";
134 lantiq,output = <0>;
135 lantiq,open-drain = <1>;
136 lantiq,pull = <2>;
137 };
138 pci_out {
139 lantiq,groups = "gnt1";
140 lantiq,function = "pci";
141 lantiq,output = <1>;
142 lantiq,open-drain = <0>;
143 lantiq,pull = <0>;
144 };
145
146 pci_rst {
147 lantiq,pins = "io21";
148 lantiq,output = <1>;
149 lantiq,open-drain = <0>;
150 };
151
152 btn_in {
153 lantiq,pins = "io2", "io15", "io22";
154 lantiq,output = <0>;
155 lantiq,open-drain = <1>;
156 lantiq,pull = <2>;
157 };
158 };
159 };
160
161 etop@E180000 {
162 phy-mode = "rmii";
163 };
164
165 ifxhcd@E101000 {
166 status = "okay";
167 };
168
169 gpios: stp@E100BB0 {
170 status = "okay";
171 };
172 };
173
174 gpio-keys-polled {
175 compatible = "gpio-keys-polled";
176 #address-cells = <1>;
177 #size-cells = <0>;
178 poll-interval = <100>;
179
180 reset {
181 label = "reset";
182 gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
183 linux,code = <KEY_RESTART>;
184 };
185 findhandset {
186 label = "findhandset";
187 gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
188 linux,code = <KEY_PHONE>;
189 };
190 wps {
191 label = "wps";
192 gpios = <&gpio 22 GPIO_ACTIVE_LOW>;
193 linux,code = <KEY_WPS_BUTTON>;
194 };
195 };
196
197 gpio-leds {
198 compatible = "gpio-leds";
199
200 upgrading-orange {
201 label = "bthomehubv2b:orange:upgrading";
202 gpios = <&gpios 5 GPIO_ACTIVE_HIGH>;
203 };
204
205 phone-orange {
206 label = "bthomehubv2b:orange:phone";
207 gpios = <&gpios 6 GPIO_ACTIVE_HIGH>;
208 };
209 phone-blue {
210 label = "bthomehubv2b:blue:phone";
211 gpios = <&gpios 7 GPIO_ACTIVE_HIGH>;
212 };
213
214 wireless-orange {
215 label = "bthomehubv2b:orange:wireless";
216 gpios = <&gpios 8 GPIO_ACTIVE_HIGH>;
217 };
218 wireless_blue: wireless-blue {
219 label = "bthomehubv2b:blue:wireless";
220 gpios = <&gpios 9 GPIO_ACTIVE_HIGH>;
221 };
222
223 broadband-red {
224 label = "bthomehubv2b:red:broadband";
225 gpios = <&gpios 10 GPIO_ACTIVE_HIGH>;
226 };
227 broadband-orange {
228 label = "bthomehubv2b:orange:broadband";
229 gpios = <&gpios 11 GPIO_ACTIVE_HIGH>;
230 };
231 broadband_blue: broadband-blue {
232 label = "bthomehubv2b:blue:broadband";
233 gpios = <&gpios 12 GPIO_ACTIVE_HIGH>;
234 };
235
236 power_red: power-red {
237 label = "bthomehubv2b:red:power";
238 gpios = <&gpios 13 GPIO_ACTIVE_HIGH>;
239 };
240 power_orange: power-orange {
241 label = "bthomehubv2b:orange:power";
242 gpios = <&gpios 14 GPIO_ACTIVE_HIGH>;
243 default-state = "keep";
244 };
245 power_blue: power-blue {
246 label = "bthomehubv2b:blue:power";
247 gpios = <&gpios 15 GPIO_ACTIVE_HIGH>;
248 };
249 };
250 };
251
252 &pci0 {
253 status = "okay";
254 gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
255
256 wifi@168c,0027 {
257 compatible = "pci168c,0027";
258 reg = <0x7000 0 0 0 0>;
259 qca,no-eeprom; /* load from ath9k-eeprom-pci-0000:00:0e.0.bin */
260 };
261 };