19b6d5c8cbcc993e9d44e9f5c5b29dfa54cf11a7
[oweals/openwrt.git] / target / linux / ath79 / dts / qca9558_netgear_ex7300.dtsi
1 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2
3 #include <dt-bindings/gpio/gpio.h>
4 #include <dt-bindings/input/input.h>
5
6 #include "qca955x.dtsi"
7
8 / {
9         chosen {
10                 bootargs = "console=ttyS0,115200n8";
11         };
12
13         aliases {
14                 led-boot = &led_power_green;
15                 led-failsafe = &led_power_amber;
16                 led-running = &led_power_green;
17                 led-upgrade = &led_power_amber;
18                 label-mac-device = &eth0;
19         };
20
21         led_spi {
22                 compatible = "spi-gpio";
23                 #address-cells = <1>;
24                 #size-cells = <0>;
25
26                 sck-gpios = <&gpio 18 GPIO_ACTIVE_HIGH>;
27                 mosi-gpios = <&gpio 15 GPIO_ACTIVE_HIGH>;
28                 num-chipselects = <0>;
29
30                 led_gpio: led_gpio@0 {
31                         compatible = "nxp,74lvc594";
32                         reg = <0>;
33                         gpio-controller;
34                         #gpio-cells = <2>;
35                         registers-number = <1>;
36                         spi-max-frequency = <500000>;
37
38                         gpio_latch_bit {
39                                 gpio-hog;
40                                 gpios = <4 GPIO_ACTIVE_HIGH>;
41                                 output-high;
42                                 line-name = "gpio-latch-bit";
43                         };
44                 };
45         };
46
47         leds {
48                 compatible = "gpio-leds";
49
50                 led_power_green: power_green {
51                         label = "netgear:green:power";
52                         gpios = <&gpio 19 GPIO_ACTIVE_LOW>;
53                 };
54
55                 led_power_amber: power_amber {
56                         label = "netgear:amber:power";
57                         gpios = <&gpio 20 GPIO_ACTIVE_LOW>;
58                 };
59
60                 left_blue {
61                         label = "netgear:blue:left";
62                         gpios = <&led_gpio 7 GPIO_ACTIVE_LOW>;
63                 };
64
65                 right_blue {
66                         label = "netgear:blue:right";
67                         gpios = <&led_gpio 6 GPIO_ACTIVE_LOW>;
68                 };
69
70                 wps_green {
71                         label = "netgear:green:wps";
72                         gpios = <&led_gpio 5 GPIO_ACTIVE_LOW>;
73                 };
74
75                 client_red {
76                         label = "netgear:red:client";
77                         gpios = <&led_gpio 3 GPIO_ACTIVE_LOW>;
78                 };
79
80                 client_green {
81                         label = "netgear:green:client";
82                         gpios = <&led_gpio 2 GPIO_ACTIVE_LOW>;
83                 };
84
85                 router_red {
86                         label = "netgear:red:router";
87                         gpios = <&led_gpio 1 GPIO_ACTIVE_LOW>;
88                 };
89
90                 router_green {
91                         label = "netgear:green:router";
92                         gpios = <&led_gpio 0 GPIO_ACTIVE_LOW>;
93                 };
94         };
95
96         keys {
97                 compatible = "gpio-keys";
98
99                 reset {
100                         label = "Reset button";
101                         linux,code = <KEY_RESTART>;
102                         gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
103                         debounce-interval = <60>;
104                 };
105
106                 wps {
107                         label = "WPS button";
108                         linux,code = <KEY_WPS_BUTTON>;
109                         gpios = <&gpio 22 GPIO_ACTIVE_LOW>;
110                         debounce-interval = <60>;
111                 };
112
113                 extender_apmode {
114                         label = "EXTENDER/APMODE switch";
115                         gpios = <&gpio 23 GPIO_ACTIVE_LOW>;
116                         linux,code = <BTN_0>;
117                         linux,input-type = <EV_SW>;
118                         debounce-interval = <60>;
119                 };
120         };
121 };
122
123 &pcie0 {
124         status = "okay";
125 };
126
127 &uart {
128         status = "okay";
129 };
130
131 &pll {
132         clocks = <&extosc>;
133 };
134
135 &spi {
136         status = "okay";
137
138         num-cs = <1>;
139
140         flash@0 {
141                 compatible = "jedec,spi-nor";
142                 reg = <0>;
143                 spi-max-frequency = <25000000>;
144
145                 partitions {
146                         compatible = "fixed-partitions";
147                         #address-cells = <1>;
148                         #size-cells = <1>;
149
150                         uboot: partition@0 {
151                                 label = "u-boot";
152                                 reg = <0x000000 0x040000>;
153                                 read-only;
154                         };
155
156                         partition@40000 {
157                                 label = "u-boot-env";
158                                 reg = <0x040000 0x010000>;
159                         };
160
161                         caldata: partition@50000 {
162                                 label = "caldata";
163                                 reg = <0x050000 0x010000>;
164                                 read-only;
165                         };
166
167                         partition@60000 {
168                                 label = "caldata-backup";
169                                 reg = <0x060000 0x010000>;
170                                 read-only;
171                         };
172
173                         partition@70000 {
174                                 label = "config";
175                                 reg = <0x070000 0x010000>;
176                         };
177
178                         partition@80000 {
179                                 label = "pot";
180                                 reg = <0x080000 0x010000>;
181                         };
182
183                         partition@90000 {
184                                 label = "firmware";
185                                 reg = <0x090000 0xf30000>;
186                                 compatible = "denx,uimage";
187                         };
188
189                         partition@fc0000 {
190                                 label = "language";
191                                 reg = <0xfc0000 0x040000>;
192                         };
193                 };
194         };
195 };
196
197 &wmac {
198         status = "okay";
199
200         mtd-cal-data = <&caldata 0x1000>;
201         mtd-mac-address = <&caldata 0x06>;
202 };
203
204 &mdio0 {
205         status = "okay";
206
207         phy4: ethernet-phy@4 {
208                 reg = <4>;
209                 phy-mode = "rgmii";
210         };
211 };
212
213 &eth0 {
214         status = "okay";
215
216         mtd-mac-address = <&caldata 0x00>;
217
218         phy-handle = <&phy4>;
219         phy-mode = "rgmii-rxid";
220
221         pll-data = <0x86000000 0x80000101 0x80001313>;
222 };