ramips: convert MT7628 EEPROM to NVMEM format
[openwrt/openwrt.git] / target / linux / ramips / dts / mt7621_netgear_ex6150.dts
1 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2
3 #include "mt7621.dtsi"
4
5 #include <dt-bindings/gpio/gpio.h>
6 #include <dt-bindings/input/input.h>
7
8 / {
9 compatible = "netgear,ex6150", "mediatek,mt7621-soc";
10 model = "Netgear EX6150";
11
12 aliases {
13 led-boot = &power_green;
14 led-failsafe = &power_amber;
15 led-running = &power_green;
16 led-upgrade = &power_amber;
17 };
18
19 leds {
20 compatible = "gpio-leds";
21
22 power_amber: power_amber {
23 label = "amber:power";
24 gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
25 };
26
27 power_green: power_green {
28 label = "green:power";
29 gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
30 };
31
32 wps {
33 label = "green:wps";
34 gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
35 };
36
37 rightarrow {
38 label = "blue:rightarrow";
39 gpios = <&gpio 28 GPIO_ACTIVE_LOW>;
40 };
41
42 leftarrow {
43 label = "blue:leftarrow";
44 gpios = <&gpio 31 GPIO_ACTIVE_LOW>;
45 };
46
47 router_green {
48 label = "green:router";
49 gpios = <&gpio 29 GPIO_ACTIVE_LOW>;
50 linux,default-trigger = "phy1tpt";
51 };
52
53 router_red {
54 label = "red:router";
55 gpios = <&gpio 30 GPIO_ACTIVE_LOW>;
56 };
57
58 client_green {
59 label = "green:client";
60 gpios = <&gpio 33 GPIO_ACTIVE_LOW>;
61 linux,default-trigger = "phy0tpt";
62 };
63
64 client_red {
65 label = "red:client";
66 gpios = <&gpio 32 GPIO_ACTIVE_LOW>;
67 };
68 };
69
70 keys {
71 compatible = "gpio-keys";
72
73 wps {
74 label = "wps";
75 gpios = <&gpio 47 GPIO_ACTIVE_LOW>;
76 linux,code = <KEY_WPS_BUTTON>;
77 };
78
79 reset {
80 label = "reset";
81 gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
82 linux,code = <KEY_RESTART>;
83 };
84
85 toggle {
86 label = "AP/Extender toggle";
87 gpios = <&gpio 48 GPIO_ACTIVE_LOW>;
88 linux,code = <BTN_0>;
89 linux,input-type = <EV_SW>;
90 /* Active when switch is set to "Access Point" */
91 };
92 };
93 };
94
95 &spi0 {
96 status = "okay";
97
98 flash@0 {
99 compatible = "jedec,spi-nor";
100 reg = <0>;
101 spi-max-frequency = <10000000>;
102
103 partitions {
104 compatible = "fixed-partitions";
105 #address-cells = <1>;
106 #size-cells = <1>;
107
108 partition@0 {
109 label = "u-boot";
110 reg = <0x0 0x30000>;
111 read-only;
112 };
113
114 partition@30000 {
115 label = "config";
116 reg = <0x30000 0x10000>;
117 read-only;
118 };
119
120 factory: partition@40000 {
121 compatible = "nvmem-cells";
122 label = "factory";
123 reg = <0x40000 0x10000>;
124 #address-cells = <1>;
125 #size-cells = <1>;
126 read-only;
127
128 eeprom_factory_0: eeprom@0 {
129 reg = <0x0 0x200>;
130 };
131
132 eeprom_factory_8000: eeprom@8000 {
133 reg = <0x8000 0x200>;
134 };
135
136 macaddr_factory_4: macaddr@4 {
137 reg = <0x4 0x6>;
138 };
139 };
140
141 partition@50000 {
142 compatible = "denx,uimage";
143 label = "firmware";
144 reg = <0x50000 0xe80000>;
145 };
146
147 partition@ed0000 {
148 label = "ML1";
149 reg = <0xed0000 0x10000>;
150 read-only;
151 };
152
153 partition@ef0000 {
154 label = "ML2";
155 reg = <0xef0000 0x20000>;
156 read-only;
157 };
158
159 partition@f10000 {
160 label = "ML3";
161 reg = <0xf10000 0x20000>;
162 read-only;
163 };
164
165 partition@f30000 {
166 label = "ML4";
167 reg = <0xf30000 0x20000>;
168 read-only;
169 };
170
171 partition@f50000 {
172 label = "ML5";
173 reg = <0xf50000 0x20000>;
174 read-only;
175 };
176
177 partition@f70000 {
178 label = "ML6";
179 reg = <0xf70000 0x20000>;
180 read-only;
181 };
182
183 partition@f90000 {
184 label = "ML7";
185 reg = <0xf90000 0x20000>;
186 read-only;
187 };
188
189 partition@fb0000 {
190 label = "T_Meter1";
191 reg = <0xfb0000 0x10000>;
192 read-only;
193 };
194
195 partition@fc0000 {
196 label = "T_Meter2";
197 reg = <0xfc0000 0x10000>;
198 read-only;
199 };
200
201 partition@fd0000 {
202 label = "POT";
203 reg = <0xfd0000 0x10000>;
204 read-only;
205 };
206
207 partition@fe0000 {
208 label = "board_data";
209 reg = <0xfe0000 0x10000>;
210 read-only;
211 };
212
213 partition@ff0000 {
214 label = "nvram";
215 reg = <0xff0000 0x10000>;
216 read-only;
217 };
218 };
219 };
220 };
221
222 &pcie {
223 status = "okay";
224
225 reset-gpios = <&gpio 19 GPIO_ACTIVE_LOW>,
226 <&gpio 8 GPIO_ACTIVE_LOW>;
227 };
228
229 &pcie0 {
230 wifi@0,0 {
231 reg = <0x0000 0 0 0 0>;
232 nvmem-cells = <&eeprom_factory_8000>;
233 nvmem-cell-names = "eeprom";
234 ieee80211-freq-limit = <5000000 6000000>;
235 };
236 };
237
238 &pcie1 {
239 wifi@0,0 {
240 reg = <0x0000 0 0 0 0>;
241 nvmem-cells = <&eeprom_factory_0>;
242 nvmem-cell-names = "eeprom";
243 ieee80211-freq-limit = <2400000 2500000>;
244 };
245 };
246
247 &ethernet {
248 pinctrl-0 = <&mdio_pins>, <&rgmii1_pins>;
249 };
250
251 &gmac0 {
252 nvmem-cells = <&macaddr_factory_4>;
253 nvmem-cell-names = "mac-address";
254 };
255
256 &switch0 {
257 ports {
258 port@0 {
259 status = "okay";
260 label = "lan";
261 };
262 };
263 };
264
265 &state_default {
266 gpio {
267 groups = "sdhci", "rgmii2", "jtag";
268 function = "gpio";
269 };
270 };