blob: 53356cbfefa9dddf25359b84aacd4bc9c0bf8078 [file] [log] [blame]
developer565bacb2021-09-28 21:26:32 +08001/dts-v1/;
2#include "mt7986a.dtsi"
3#include "mt7986a-pinctrl.dtsi"
4#include "mt7986-spim-nand-partition.dtsi"
5/ {
6 model = "MediaTek MT7986a RFB";
7 compatible = "mediatek,mt7986a-2500wan-spim-snand-rfb";
8 chosen {
9 bootargs = "console=ttyS0,115200n1 loglevel=8 \
10 earlycon=uart8250,mmio32,0x11002000";
11 };
12
13 memory {
14 reg = <0 0x40000000 0 0x10000000>;
15 };
16
17 sound {
18 compatible = "mediatek,mt7986-wm8960-machine";
19 mediatek,platform = <&afe>;
20 audio-routing = "Headphone", "HP_L",
21 "Headphone", "HP_R",
22 "LINPUT1", "AMIC",
23 "RINPUT1", "AMIC";
24 mediatek,audio-codec = <&wm8960>;
25 status = "okay";
26 };
27};
28
developer209e52d2022-06-30 11:32:57 +080029&fan {
30 pwms = <&pwm 1 50000 0>;
31 status = "disabled";
32};
33
developer565bacb2021-09-28 21:26:32 +080034&pwm {
35 pinctrl-names = "default";
36 pinctrl-0 = <&pwm0_pin &pwm1_pin_g1>;
37 status = "okay";
38};
39
40&uart0 {
41 status = "okay";
42};
43
44&uart1 {
45 pinctrl-names = "default";
46 pinctrl-0 = <&uart1_pins>;
47 status = "okay";
48};
49
50&uart2 {
51 pinctrl-names = "default";
52 pinctrl-0 = <&uart2_pins>;
53 status = "okay";
54};
55
56&i2c0 {
57 pinctrl-names = "default";
58 pinctrl-0 = <&i2c_pins>;
59 status = "okay";
60
61 wm8960: wm8960@1a {
62 compatible = "wlf,wm8960";
63 reg = <0x1a>;
64 };
65};
66
67&auxadc {
68 status = "okay";
69};
70
71&watchdog {
72 status = "okay";
73};
74
75&eth {
76 status = "okay";
77
78 gmac0: mac@0 {
79 compatible = "mediatek,eth-mac";
80 reg = <0>;
81 phy-mode = "2500base-x";
82
83 fixed-link {
84 speed = <2500>;
85 full-duplex;
86 pause;
87 };
88 };
89
90 gmac1: mac@1 {
91 compatible = "mediatek,eth-mac";
92 reg = <1>;
93 phy-mode = "2500base-x";
94
95 fixed-link {
96 speed = <2500>;
97 full-duplex;
98 pause;
99 };
100 };
101
102 mdio: mdio-bus {
103 #address-cells = <1>;
104 #size-cells = <0>;
105
106 phy5: phy@5 {
107 compatible = "ethernet-phy-id67c9.de0a";
108 reg = <5>;
109 reset-gpios = <&pio 6 1>;
developer8c5a08b2022-05-06 09:10:38 +0800110 reset-assert-us = <600>;
developer565bacb2021-09-28 21:26:32 +0800111 reset-deassert-us = <20000>;
112 phy-mode = "2500base-x";
113 };
114
115 phy6: phy@6 {
116 compatible = "ethernet-phy-id67c9.de0a";
117 reg = <6>;
118 phy-mode = "2500base-x";
119 };
120
121 switch@0 {
122 compatible = "mediatek,mt7531";
123 reg = <31>;
124 reset-gpios = <&pio 5 0>;
125
126 ports {
127 #address-cells = <1>;
128 #size-cells = <0>;
129
130 port@0 {
131 reg = <0>;
132 label = "lan0";
133 };
134
135 port@1 {
136 reg = <1>;
137 label = "lan1";
138 };
139
140 port@2 {
141 reg = <2>;
142 label = "lan2";
143 };
144
145 port@3 {
146 reg = <3>;
147 label = "lan3";
148 };
149
150 port@4 {
151 reg = <4>;
152 label = "lan4";
153 };
154
155 port@5 {
156 reg = <5>;
157 label = "lan5";
158 phy-mode = "2500base-x";
159
160 fixed-link {
161 speed = <2500>;
162 full-duplex;
163 pause;
164 };
165 };
166
167 port@6 {
168 reg = <6>;
169 label = "cpu";
170 ethernet = <&gmac0>;
171 phy-mode = "2500base-x";
172
173 fixed-link {
174 speed = <2500>;
175 full-duplex;
176 pause;
177 };
178 };
179 };
180 };
181 };
182};
183
184&hnat {
185 mtketh-wan = "eth1";
186 mtketh-lan = "lan";
187 mtketh-max-gmac = <2>;
188 status = "okay";
189};
190
191&spi0 {
192 pinctrl-names = "default";
193 pinctrl-0 = <&spi_flash_pins>;
194 cs-gpios = <0>, <0>;
195 status = "okay";
196
197 spi_nor@0 {
198 #address-cells = <1>;
199 #size-cells = <1>;
200 compatible = "jedec,spi-nor";
201 reg = <0>;
202 spi-max-frequency = <20000000>;
203 spi-tx-buswidth = <4>;
204 spi-rx-buswidth = <4>;
205 };
206
207 spi_nand: spi_nand@1 {
208 #address-cells = <1>;
209 #size-cells = <1>;
210 compatible = "spi-nand";
211 reg = <1>;
212 spi-max-frequency = <20000000>;
213 spi-tx-buswidth = <4>;
214 spi-rx-buswidth = <4>;
215 };
216};
217
218&spi1 {
219 pinctrl-names = "default";
220 pinctrl-0 = <&spic_pins_g2>;
221 status = "okay";
222};
223
224&pcie0 {
225 pinctrl-names = "default";
226 pinctrl-0 = <&pcie0_pins>;
227 status = "okay";
228};
229
230&wbsys {
231 mediatek,mtd-eeprom = <&factory 0x0000>;
232 status = "okay";
developere138bcd2021-12-06 09:20:47 +0800233 pinctrl-names = "default", "dbdc";
234 pinctrl-0 = <&wf_2g_5g_pins>;
235 pinctrl-1 = <&wf_dbdc_pins>;
developer565bacb2021-09-28 21:26:32 +0800236};
237
238&pio {
239 spi_flash_pins: spi-flash-pins-33-to-38 {
240 mux {
241 function = "flash";
242 groups = "spi0", "spi0_wp_hold";
243 };
244 conf-pu {
245 pins = "SPI2_CS", "SPI2_HOLD", "SPI2_WP";
246 drive-strength = <MTK_DRIVE_8mA>;
developerb5a819c2022-05-16 19:16:07 +0800247 bias-pull-up = <MTK_PUPD_SET_R1R0_11>;
developer565bacb2021-09-28 21:26:32 +0800248 };
249 conf-pd {
250 pins = "SPI2_CLK", "SPI2_MOSI", "SPI2_MISO";
251 drive-strength = <MTK_DRIVE_8mA>;
developerb5a819c2022-05-16 19:16:07 +0800252 bias-pull-down = <MTK_PUPD_SET_R1R0_11>;
developer565bacb2021-09-28 21:26:32 +0800253 };
254 };
developere138bcd2021-12-06 09:20:47 +0800255
256 wf_2g_5g_pins: wf_2g_5g-pins {
257 mux {
258 function = "wifi";
259 groups = "wf_2g", "wf_5g";
260 };
261 conf {
262 pins = "WF0_HB1", "WF0_HB2", "WF0_HB3", "WF0_HB4",
263 "WF0_HB0", "WF0_HB0_B", "WF0_HB5", "WF0_HB6",
264 "WF0_HB7", "WF0_HB8", "WF0_HB9", "WF0_HB10",
265 "WF0_TOP_CLK", "WF0_TOP_DATA", "WF1_HB1",
266 "WF1_HB2", "WF1_HB3", "WF1_HB4", "WF1_HB0",
267 "WF1_HB5", "WF1_HB6", "WF1_HB7", "WF1_HB8",
268 "WF1_TOP_CLK", "WF1_TOP_DATA";
269 drive-strength = <MTK_DRIVE_4mA>;
270 };
271 };
272
273 wf_dbdc_pins: wf_dbdc-pins {
274 mux {
275 function = "wifi";
276 groups = "wf_dbdc";
277 };
278 conf {
279 pins = "WF0_HB1", "WF0_HB2", "WF0_HB3", "WF0_HB4",
280 "WF0_HB0", "WF0_HB0_B", "WF0_HB5", "WF0_HB6",
281 "WF0_HB7", "WF0_HB8", "WF0_HB9", "WF0_HB10",
282 "WF0_TOP_CLK", "WF0_TOP_DATA", "WF1_HB1",
283 "WF1_HB2", "WF1_HB3", "WF1_HB4", "WF1_HB0",
284 "WF1_HB5", "WF1_HB6", "WF1_HB7", "WF1_HB8",
285 "WF1_TOP_CLK", "WF1_TOP_DATA";
286 drive-strength = <MTK_DRIVE_4mA>;
287 };
288 };
developer565bacb2021-09-28 21:26:32 +0800289};