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