ath79: qcn: convert to nvmem-layout
[openwrt/staging/jow.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 wifi@0,0 {
119 compatible = "qcom,ath10k";
120 reg = <0 0 0 0 0>;
121
122 nvmem-cells = <&macaddr_artmtd_c>, <&precal_art_5000>;
123 nvmem-cell-names = "mac-address", "pre-calibration";
124 };
125 };
126
127 &spi {
128 status = "okay";
129
130 flash@0 {
131 compatible = "jedec,spi-nor";
132 reg = <0>;
133 spi-max-frequency = <25000000>;
134
135 partitions {
136 compatible = "fixed-partitions";
137 #address-cells = <1>;
138 #size-cells = <1>;
139
140 partition@0 {
141 label = "u-boot";
142 reg = <0x000000 0x040000>;
143 read-only;
144 };
145
146 partition@40000 {
147 label = "u-boot-env";
148 reg = <0x040000 0x010000>;
149 read-only;
150 };
151
152 partition@50000 {
153 label = "config";
154 reg = <0x050000 0x010000>;
155 };
156
157 partition@60000 {
158 label = "pot";
159 reg = <0x060000 0x010000>;
160 read-only;
161 };
162
163 partition@70000 {
164 label = "firmware";
165 reg = <0x70000 0xe30000>;
166 compatible = "denx,uimage";
167 };
168
169 partition@ea0000 {
170 label = "rae";
171 reg = <0xea0000 0x100000>;
172 read-only;
173 };
174
175 partition@fa0000 {
176 label = "oopsdump";
177 reg = <0xfa0000 0x40000>;
178 read-only;
179 };
180
181 partition@fe0000 {
182 label = "artmtd";
183 reg = <0xfe0000 0x10000>;
184
185 nvmem-layout {
186 compatible = "fixed-layout";
187 #address-cells = <1>;
188 #size-cells = <1>;
189
190 macaddr_artmtd_0: macaddr@0 {
191 reg = <0x0 0x6>;
192 };
193
194 macaddr_artmtd_6: macaddr@6 {
195 reg = <0x6 0x6>;
196 };
197
198 macaddr_artmtd_c: macaddr@c {
199 reg = <0xc 0x6>;
200 };
201 };
202 };
203
204 partition@ff0000 {
205 label = "art";
206 reg = <0xff0000 0x10000>;
207 read-only;
208
209 nvmem-layout {
210 compatible = "fixed-layout";
211 #address-cells = <1>;
212 #size-cells = <1>;
213
214 cal_art_1000: cal@1000 {
215 reg = <0x1000 0x440>;
216 };
217
218 precal_art_5000: precal@5000 {
219 reg = <0x5000 0x2f20>;
220 };
221 };
222 };
223 };
224 };
225 };
226
227
228 &wmac {
229 /* Does not work due to lack of QCN5502 support in ath9k. */
230 status = "disabled";
231
232 nvmem-cells = <&macaddr_artmtd_6>, <&cal_art_1000>;
233 nvmem-cell-names = "mac-address", "calibration";
234 };
235
236 &mdio0 {
237 status = "okay";
238
239 phy5: ethernet-phy@5 {
240 reg = <5>;
241 phy-mode = "sgmii";
242 };
243 };
244
245 &eth0 {
246 status = "okay";
247
248 nvmem-cells = <&macaddr_artmtd_0>;
249 nvmem-cell-names = "mac-address";
250
251 phy-handle = <&phy5>;
252 phy-mode = "sgmii";
253
254 pll-data = <0x03000000 0x00000101 0x00001313>;
255 };