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