ramips: convert MT7603 EEPROM to NVMEM format
[openwrt/staging/dangole.git] / target / linux / ramips / dts / mt7621_keenetic_kn-3010.dts
1 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2 #include "mt7621.dtsi"
3
4 #include <dt-bindings/gpio/gpio.h>
5 #include <dt-bindings/input/input.h>
6
7 / {
8 compatible = "keenetic,kn-3010", "mediatek,mt7621-soc";
9 model = "Keenetic KN-3010";
10
11 aliases {
12 led-boot = &led_power;
13 led-failsafe = &led_power;
14 led-running = &led_power;
15 led-upgrade = &led_power;
16 label-mac-device = &gmac0;
17 };
18
19 chosen {
20 bootargs = "console=ttyS0,115200";
21 };
22
23 leds {
24 compatible = "gpio-leds";
25
26 led_power: power {
27 label = "green:power";
28 gpios = <&gpio 45 GPIO_ACTIVE_HIGH>;
29 };
30
31 internet {
32 label = "green:internet";
33 gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
34 };
35
36 wifi2 {
37 label = "green:wifi2";
38 gpios = <&gpio 47 GPIO_ACTIVE_LOW>;
39 linux,default-trigger = "phy0tpt";
40 };
41
42 wifi5 {
43 label = "green:wifi5";
44 gpios = <&gpio 48 GPIO_ACTIVE_LOW>;
45 linux,default-trigger = "phy1tpt";
46 };
47 };
48
49 keys {
50 compatible = "gpio-keys";
51
52 fn {
53 label = "fn";
54 gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
55 linux,code = <BTN_0>;
56 };
57
58 reset {
59 label = "reset";
60 gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
61 linux,code = <KEY_RESTART>;
62 };
63
64 wps {
65 label = "wps";
66 gpios = <&gpio 41 GPIO_ACTIVE_LOW>;
67 linux,code = <KEY_WPS_BUTTON>;
68 };
69 };
70
71 virtual_flash {
72 compatible = "mtd-concat";
73 devices = <&firmware1 &firmware2>;
74
75 partitions {
76 compatible = "fixed-partitions";
77 #address-cells = <1>;
78 #size-cells = <1>;
79
80 partition@0 {
81 compatible = "denx,uimage";
82 label = "firmware";
83 reg = <0x0 0x1ec0000>;
84 };
85 };
86 };
87 };
88
89 &state_default {
90 gpio {
91 groups = "uart3", "sdhci";
92 function = "gpio";
93 };
94 };
95
96 &xhci {
97 status = "disabled";
98 };
99
100 &spi0 {
101 status = "okay";
102
103 flash@0 {
104 compatible = "jedec,spi-nor";
105 reg = <0>;
106 spi-max-frequency = <31000000>;
107
108 partitions: partitions {
109 compatible = "fixed-partitions";
110 #address-cells = <1>;
111 #size-cells = <1>;
112
113 partition@0 {
114 label = "u-boot";
115 reg = <0x0 0x30000>;
116 read-only;
117 };
118
119 partition@30000 {
120 label = "u-config";
121 reg = <0x30000 0x10000>;
122 read-only;
123 };
124
125 factory: partition@40000 {
126 compatible = "nvmem-cells";
127 label = "rf-eeprom";
128 reg = <0x40000 0x10000>;
129 #address-cells = <1>;
130 #size-cells = <1>;
131 read-only;
132
133 eeprom_factory_0: eeprom@0 {
134 reg = <0x0 0x400>;
135 };
136
137 macaddr_factory_4: macaddr@4 {
138 reg = <0x4 0x6>;
139 };
140
141 macaddr_factory_28: macaddr@28 {
142 reg = <0x28 0x6>;
143 };
144 };
145
146 firmware1: partition@50000 {
147 label = "firmware_1";
148 reg = <0x50000 0xf60000>;
149 };
150
151 partition@fb0000 {
152 label = "config_1";
153 reg = <0xfb0000 0x40000>;
154 read-only;
155 };
156
157 partition@ff0000 {
158 label = "dump";
159 reg = <0xff0000 0x10000>;
160 read-only;
161 };
162
163 partition@1000000 {
164 label = "u-state";
165 reg = <0x1000000 0x30000>;
166 read-only;
167 };
168
169 partition@1030000 {
170 label = "u-config_res";
171 reg = <0x1030000 0x10000>;
172 read-only;
173 };
174
175 partition@1040000 {
176 label = "rf-eeprom_res";
177 reg = <0x1040000 0x10000>;
178 read-only;
179 };
180
181 firmware2: partition@1050000 {
182 label = "firmware_2";
183 reg = <0x1050000 0xf60000>;
184 };
185
186 partition@1fb0000 {
187 label = "config_2";
188 reg = <0x1fb0000 0x40000>;
189 read-only;
190 };
191 };
192 };
193 };
194
195 &mdio {
196 ethphy0: ethernet-phy@0 {
197 reg = <0>;
198 };
199 };
200
201 &gmac0 {
202 nvmem-cells = <&macaddr_factory_4>;
203 nvmem-cell-names = "mac-address";
204 };
205
206 &gmac1 {
207 status = "okay";
208 label = "wan";
209 phy-handle = <&ethphy0>;
210
211 nvmem-cells = <&macaddr_factory_28>;
212 nvmem-cell-names = "mac-address";
213 };
214
215 &switch0 {
216 ports {
217 port@1 {
218 status = "okay";
219 label = "lan1";
220 };
221
222 port@2 {
223 status = "okay";
224 label = "lan2";
225 };
226
227 port@3 {
228 status = "okay";
229 label = "lan3";
230 };
231
232 port@4 {
233 status = "okay";
234 label = "lan4";
235 };
236 };
237 };
238
239 &pcie {
240 status = "okay";
241 };
242
243 &pcie0 {
244 wifi@0,0 {
245 compatible = "mediatek,mt76";
246 reg = <0x0000 0 0 0 0>;
247 nvmem-cells = <&eeprom_factory_0>;
248 nvmem-cell-names = "eeprom";
249 ieee80211-freq-limit = <2400000 2500000>;
250 };
251 };
252
253 &pcie1 {
254 wifi@0,0 {
255 compatible = "mediatek,mt76";
256 reg = <0x0000 0 0 0 0>;
257 mediatek,mtd-eeprom = <&factory 0x0400>;
258 ieee80211-freq-limit = <5000000 6000000>;
259 };
260 };