ba8dae0b362968ae68c746abeac1b9024175cda2
[openwrt/staging/981213.git] / target / linux / ath79 / dts / qcn5502_netgear_ex7300-v2.dts
1 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2
3 #include "qca956x.dtsi"
4
5 #include <dt-bindings/gpio/gpio.h>
6 #include <dt-bindings/input/input.h>
7
8 / {
9 model = "Netgear EX7300 v2";
10 compatible = "netgear,ex7300-v2", "qca,qcn5500", "qca,qca9560";
11
12 aliases {
13 led-boot = &led_power_green;
14 led-failsafe = &led_power_amber;
15 led-running = &led_power_green;
16 led-upgrade = &led_power_amber;
17 label-mac-device = &eth0;
18 };
19
20 led_spi {
21 compatible = "spi-gpio";
22 #address-cells = <1>;
23 #size-cells = <0>;
24
25 sck-gpios = <&gpio 14 GPIO_ACTIVE_HIGH>;
26 mosi-gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
27 num-chipselects = <0>;
28
29 led_gpio: led_gpio@0 {
30 compatible = "fairchild,74hc595";
31 reg = <0>;
32 gpio-controller;
33 #gpio-cells = <2>;
34 registers-number = <1>;
35 spi-max-frequency = <500000>;
36 };
37 };
38
39 leds {
40 compatible = "gpio-leds";
41
42 led_power_green: power_green {
43 label = "green:power";
44 gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
45 };
46
47 led_power_amber: power_amber {
48 label = "amber:power";
49 gpios = <&led_gpio 7 GPIO_ACTIVE_LOW>;
50 };
51
52 wps_green {
53 label = "green:wps";
54 gpios = <&led_gpio 6 GPIO_ACTIVE_LOW>;
55 };
56
57 router_red {
58 label = "red:router";
59 gpios = <&led_gpio 5 GPIO_ACTIVE_LOW>;
60 };
61
62 router_green {
63 label = "green:router";
64 gpios = <&led_gpio 4 GPIO_ACTIVE_LOW>;
65 };
66
67 client_red {
68 label = "red:client";
69 gpios = <&led_gpio 3 GPIO_ACTIVE_LOW>;
70 };
71
72 client_green {
73 label = "green:client";
74 gpios = <&led_gpio 2 GPIO_ACTIVE_LOW>;
75 };
76
77 left_blue {
78 label = "blue:left";
79 gpios = <&led_gpio 1 GPIO_ACTIVE_LOW>;
80 };
81
82 right_blue {
83 label = "blue:right";
84 gpios = <&led_gpio 0 GPIO_ACTIVE_LOW>;
85 };
86 };
87
88 keys {
89 compatible = "gpio-keys";
90
91 reset {
92 label = "Reset button";
93 linux,code = <KEY_RESTART>;
94 gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
95 debounce-interval = <60>;
96 };
97
98 wps {
99 label = "WPS button";
100 linux,code = <KEY_WPS_BUTTON>;
101 gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
102 debounce-interval = <60>;
103 };
104
105 extender_apmode {
106 label = "EXTENDER/APMODE switch";
107 gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
108 linux,code = <BTN_0>;
109 linux,input-type = <EV_SW>;
110 debounce-interval = <60>;
111 };
112 };
113 };
114
115 &pcie {
116 status = "okay";
117 };
118
119 &pll {
120 clocks = <&extosc>;
121 };
122
123 &spi {
124 status = "okay";
125
126 flash@0 {
127 compatible = "jedec,spi-nor";
128 reg = <0>;
129 spi-max-frequency = <25000000>;
130
131 partitions {
132 compatible = "fixed-partitions";
133 #address-cells = <1>;
134 #size-cells = <1>;
135
136 uboot: partition@0 {
137 label = "u-boot";
138 reg = <0x000000 0x040000>;
139 read-only;
140 };
141
142 partition@40000 {
143 label = "u-boot-env";
144 reg = <0x040000 0x010000>;
145 read-only;
146 };
147
148 partition@50000 {
149 label = "config";
150 reg = <0x050000 0x010000>;
151 };
152
153 partition@60000 {
154 label = "pot";
155 reg = <0x060000 0x010000>;
156 read-only;
157 };
158
159 partition@70000 {
160 label = "firmware";
161 reg = <0x70000 0xe30000>;
162 compatible = "denx,uimage";
163 };
164
165 partition@ea0000 {
166 label = "rae";
167 reg = <0xea0000 0x100000>;
168 read-only;
169 };
170
171 partition@fa0000 {
172 label = "oopsdump";
173 reg = <0xfa0000 0x40000>;
174 read-only;
175 };
176
177 artmtd: partition@fe0000 {
178 label = "artmtd";
179 reg = <0xfe0000 0x10000>;
180 };
181
182 art: partition@ff0000 {
183 label = "art";
184 reg = <0xff0000 0x10000>;
185 read-only;
186 };
187 };
188 };
189 };
190
191 /*
192 Does not work due to lack of QCN5502 support in ath9k.
193 &wmac {
194 status = "okay";
195
196 mtd-cal-data = <&art 0x1000>;
197 mtd-mac-address = <&artmtd 0x6>;
198 };
199 */
200
201 &mdio0 {
202 status = "okay";
203
204 phy5: ethernet-phy@5 {
205 reg = <5>;
206 phy-mode = "sgmii";
207 };
208 };
209
210 &eth0 {
211 status = "okay";
212
213 mtd-mac-address = <&artmtd 0x0>;
214
215 phy-handle = <&phy5>;
216 phy-mode = "sgmii";
217
218 pll-data = <0x03000000 0x00000101 0x00001313>;
219 };