lantiq: dts: assign the PCI pins to the PCI controller node
[openwrt/openwrt.git] / target / linux / lantiq / files / arch / mips / boot / dts / BTHOMEHUBV3A.dts
1 /dts-v1/;
2
3 #include "ar9.dtsi"
4
5 #include <dt-bindings/input/input.h>
6
7 / {
8 compatible = "bt,homehub-v3a", "lantiq,xway", "lantiq,ar9";
9 model = "BT Home Hub 3A"; /* SoC: Lantiq ar9 @ 333MHz */
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 reset {
34 label = "reset";
35 gpios = <&gpio 54 GPIO_ACTIVE_LOW>;
36 linux,code = <KEY_RESTART>;
37 };
38 restart {
39 label = "restart";
40 gpios = <&gpio 52 GPIO_ACTIVE_LOW>;
41 linux,code = <KEY_POWER>;
42 };
43 wps {
44 label = "wps";
45 gpios = <&gpio 53 GPIO_ACTIVE_LOW>;
46 linux,code = <KEY_WPS_BUTTON>;
47 };
48 };
49
50 leds {
51 compatible = "gpio-leds";
52
53 wireless-red {
54 label = "bthomehubv3a:red:wireless";
55 gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
56 };
57 wireless-orange {
58 label = "bthomehubv3a:orange:wireless";
59 gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
60 };
61 wireless_blue: wireless-blue {
62 label = "bthomehubv3a:blue:wireless";
63 gpios = <&gpio 9 GPIO_ACTIVE_LOW>;
64 };
65
66 broadband-red {
67 label = "bthomehubv3a:red:broadband";
68 gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
69 };
70 broadband-orange {
71 label = "bthomehubv3a:orange:broadband";
72 gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
73 };
74 broadband_blue: broadband-blue {
75 label = "bthomehubv3a:blue:broadband";
76 gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
77 };
78
79 power_red: power-red {
80 label = "bthomehubv3a:red:power";
81 gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
82 };
83 power_orange: power-orange {
84 label = "bthomehubv3a:orange:power";
85 gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
86 default-state = "keep";
87 };
88 power_blue: power-blue {
89 label = "bthomehubv3a:blue:power";
90 gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
91 };
92 };
93
94 usb_vbus: regulator-usb-vbus {
95 compatible = "regulator-fixed";
96
97 regulator-name = "USB_VBUS";
98
99 regulator-min-microvolt = <5000000>;
100 regulator-max-microvolt = <5000000>;
101
102 gpio = <&gpio 33 GPIO_ACTIVE_HIGH>;
103 enable-active-high;
104 };
105 };
106
107 &gpio {
108 pinctrl-names = "default";
109 pinctrl-0 = <&state_default>;
110
111 state_default: pinmux {
112 pci_rst {
113 lantiq,pins = "io21";
114 lantiq,output = <1>;
115 lantiq,open-drain = <0>;
116 };
117 };
118 };
119
120 &gsw {
121 phy-mode = "rgmii";
122 };
123
124 &localbus {
125 flash@1 { /* NAND Flash: Samsung K9F5608U0D-JIB0 32MB */
126 compatible = "lantiq,nand-xway";
127 lantiq,cs = <1>;
128 bank-width = <2>;
129 reg = <1 0x0 0x2000000 >;
130 req-mask = <0x1>; /* PCI request lines to mask during NAND access */
131
132 pinctrl-0 = <&nand_pins>, <&nand_cs1_pins>;
133 pinctrl-names = "default";
134
135 partitions {
136 compatible = "fixed-partitions";
137 #address-cells = <1>;
138 #size-cells = <1>;
139
140 partition@0 {
141 label = "preboot";
142 reg = <0x00000 0x8000>;
143 read-only;
144 };
145 partition@8000 {
146 label = "u-boot";
147 reg = <0x8000 0x05c000>;
148 read-only;
149 };
150 partition@64000 {
151 label = "uboot_env";
152 reg = <0x64000 0x004000>;
153 };
154 ath9k_cal: partition@68000 {
155 label = "art-copy";
156 reg = <0x68000 0x004000>;
157 };
158 partition@6c000 {
159 label = "kernel";
160 reg = <0x6c000 0x200000>;
161 };
162 partition@26c000 {
163 label = "ubi";
164 reg = <0x26c000 0x1d94000>;
165 };
166 };
167 };
168 };
169
170 &pci0 {
171 status = "okay";
172
173 pinctrl-0 = <&pci_gnt1_pins>, <&pci_req1_pins>;
174 pinctrl-names = "default";
175
176 gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
177
178 wifi@7000 {
179 reg = <0x7000 0 0 0 0>;
180 qca,no-eeprom; /* load from ath9k-eeprom-pci-0000:00:0e.0.bin */
181 };
182 };
183
184 &usb_phy0 {
185 status = "okay";
186 };
187
188 &usb0 {
189 status = "okay";
190 vbus-supply = <&usb_vbus>;
191 };