ath79: fix USB port LED assignment for ZyXEL NBG6716
[oweals/openwrt.git] / target / linux / ath79 / dts / qca9558_zyxel_nbg6716.dts
1 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2 /dts-v1/;
3
4 #include <dt-bindings/gpio/gpio.h>
5 #include <dt-bindings/input/input.h>
6
7 #include "qca9557.dtsi"
8
9 / {
10         compatible = "zyxel,nbg6716", "qca,qca9558";
11         model = "ZyXEL NBG6716";
12
13         chosen {
14                 bootargs = "console=ttyS0,115200n8";
15         };
16
17         aliases {
18                 led-boot = &led_power;
19                 led-failsafe = &led_power;
20                 led-running = &led_power;
21                 led-upgrade = &led_power;
22         };
23
24         leds {
25                 compatible = "gpio-leds";
26
27                 led_power: power {
28                         label = "nbg6716:white:power";
29                         gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
30                 };
31
32                 wan {
33                         label = "nbg6716:white:internet";
34                         gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
35                 };
36
37                 usb1 {
38                         label = "nbg6716:white:usb1";
39                         gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
40                         linux,default-trigger = "usbport";
41                         trigger-sources = <&hub_port1>;
42                 };
43
44                 usb2 {
45                         label = "nbg6716:white:usb2";
46                         gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
47                         linux,default-trigger = "usbport";
48                         trigger-sources = <&hub_port0>;
49                 };
50
51                 wifi2 {
52                         label = "nbg6716:white:wifi2";
53                         gpios = <&gpio 19 GPIO_ACTIVE_LOW>;
54                         linux,default-trigger = "phy1tpt";
55                 };
56
57                 wifi5 {
58                         label = "nbg6716:white:wifi5";
59                         gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
60                         linux,default-trigger = "phy0tpt";
61                 };
62
63                 wps {
64                         label = "nbg6716:white:wps";
65                         gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
66                 };
67         };
68
69         keys {
70                 compatible = "gpio-keys";
71
72                 reset {
73                         label = "reset";
74                         linux,code = <KEY_RESTART>;
75                         gpios = <&gpio 23 GPIO_ACTIVE_LOW>;
76                         debounce-interval = <60>;
77                 };
78
79                 wifi {
80                         label = "WiFi button";
81                         linux,code = <KEY_RFKILL>;
82                         gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
83                         debounce-interval = <60>;
84                 };
85
86                 usb1 {
87                         label = "USB1 eject button";
88                         gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
89                         debounce-interval = <60>;
90                 };
91
92                 usb2 {
93                         label = "USB2 eject button";
94                         gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
95                         debounce-interval = <60>;
96                 };
97
98                 wps {
99                         label = "WPS button";
100                         linux,code = <KEY_WPS_BUTTON>;
101                         gpios = <&gpio 22 GPIO_ACTIVE_LOW>;
102                         debounce-interval = <60>;
103                 };
104         };
105 };
106
107 &gpio {
108         usb_power {
109                 gpio-hog;
110                 gpios = <16 0>;
111                 output-high;
112                 line-name = "nbg6716:power:usb";
113         };
114 };
115
116 &uart {
117         status = "okay";
118 };
119
120 &spi {
121         status = "okay";
122
123         num-cs = <1>;
124
125         flash@0 {
126                 compatible = "jedec,spi-nor";
127                 reg = <0>;
128                 spi-max-frequency = <25000000>;
129
130                 partitions {
131                         compatible = "fixed-partitions";
132                         #address-cells = <1>;
133                         #size-cells = <1>;
134
135                         uboot: partition@0 {
136                                 label = "u-boot";
137                                 reg = <0x000000 0x040000>;
138                                 read-only;
139                         };
140
141                         uboot_env: partition@40000 {
142                                 label = "u-boot-env";
143                                 reg = <0x040000 0x010000>;
144                         };
145
146                         art: partition@50000 {
147                                 label = "art";
148                                 reg = <0x050000 0x010000>;
149                                 read-only;
150                         };
151
152                         partition@60000 {
153                                 label = "nbu";
154                                 reg = <0x060000 0xfa0000>;
155                         };
156                 };
157         };
158 };
159
160 &nand {
161         status = "okay";
162
163         partitions {
164                 compatible = "fixed-partitions";
165                 #address-cells = <1>;
166                 #size-cells = <1>;
167
168                 partition@0 {
169                         label = "zyxel_rfsd";
170                         reg = <0x0 0x200000>;
171                 };
172
173                 partition@200000 {
174                         label = "romd";
175                         reg = <0x200000 0x200000>;
176                 };
177
178                 partition@400000 {
179                         label = "header";
180                         reg = <0x400000 0x100000>;
181                 };
182
183                 firmware@500000 {
184                         label = "firmware";
185                         reg = <0x500000 0x7b00000>;
186                 };
187
188                 partition@500000 {
189                         label = "kernel";
190                         reg = <0x500000 0x400000>;
191                 };
192
193                 partition@900000 {
194                         label = "ubi";
195                         reg = <0x900000 0x7700000>;
196                 };
197         };
198 };
199
200 &mdio0 {
201         status = "okay";
202
203         phy17: ethernet-phy@11 {
204                 reg = <0x11>;
205                 phy-mode = "rgmii-id";
206         };
207
208         switch0@1f {
209                 compatible = "qca,ar8327";
210                 reg = <0x1f>;
211                 qca,ar8327-initvals = <
212                         0x04 0x87600000 /* PORT0 PAD MODE CTRL */
213                         0x0c 0x00080080 /* PORT6 PAD MODE CTRL */
214                         0x10 0x81000080 /* POWER_ON_STRIP */
215                         0x50 0xffb7ffb7 /* LED_CTRL0 */
216                         0x54 0xffb7ffb7 /* LED_CTRL1 */
217                         0x58 0xffb7ffb7 /* LED_CTRL2 */
218                         0x5c 0x03ffff00 /* LED_CTRL3 */
219                         0x7c 0x0000007e /* PORT0_STATUS */
220                         0x94 0x0000007e /* PORT6 STATUS */
221                         >;
222         };
223 };
224
225 &mdio1 {
226         status = "okay";
227
228         phy1: ethernet-phy@1 {
229                 reg = <1>;
230                 phy-mode = "sgmii";
231         };
232 };
233
234
235 &eth0 {
236         status = "okay";
237
238         pll-data = <0xa6000000 0x00000101 0x00001616>;
239         phy-handle = <&phy17>;
240
241         fixed-link {
242                 speed = <1000>;
243                 full-duplex;
244         };
245 };
246
247 &eth1 {
248         status = "okay";
249
250         pll-data = <0x03000101 0x00000101 0x00001616>;
251         phy-handle = <&phy1>;
252
253         fixed-link {
254                 speed = <1000>;
255                 full-duplex;
256         };
257 };
258
259 &gpio {
260         status = "okay";
261 };
262
263 &wmac {
264         status = "okay";
265
266         mtd-cal-data = <&art 0x1000>;
267 };
268
269 &pcie1 {
270         status = "okay";
271
272         wifi@0,0 {
273                 compatible = "qcom,ath10k";
274                 reg = <0 0 0 0 0>;
275                 qcom,ath10k-calibration-variant = "ZyXEL-NBG6716";
276         };
277 };
278
279 &usb_phy0 {
280         status = "okay";
281 };
282
283 &usb_phy1 {
284         status = "okay";
285 };
286
287 &usb0 {
288         status = "okay";
289
290         hub_port0: port@1 {
291                 reg = <1>;
292                 #trigger-source-cells = <0>;
293         };
294
295 };
296
297 &usb1 {
298         status = "okay";
299
300         hub_port1: port@1 {
301                 reg = <1>;
302                 #trigger-source-cells = <0>;
303         };
304 };