blob: e45224a98d54dc40611667ef201629674b0a45b3 [file] [log] [blame]
developercd6a1382022-01-11 15:45:19 +08001/dts-v1/;
2#include "mt7986a.dtsi"
3#include "mt7986a-pinctrl.dtsi"
4/ {
5 model = "MediaTek MT7986a RFB";
6 compatible = "mediatek,mt7986a-2500wan-sd-rfb";
7 chosen {
8 bootargs = "console=ttyS0,115200n1 loglevel=8 \
9 earlycon=uart8250,mmio32,0x11002000 \
10 root=PARTLABEL=rootfs rootwait rootfstype=squashfs,f2fs";
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 reg_3p3v: regulator-3p3v {
29 compatible = "regulator-fixed";
30 regulator-name = "fixed-3.3V";
31 regulator-min-microvolt = <3300000>;
32 regulator-max-microvolt = <3300000>;
33 regulator-boot-on;
34 regulator-always-on;
35 };
36};
37
developer209e52d2022-06-30 11:32:57 +080038&fan {
39 pwms = <&pwm 1 50000 0>;
40 status = "disabled";
41};
42
developercd6a1382022-01-11 15:45:19 +080043&pwm {
44 pinctrl-names = "default";
45 pinctrl-0 = <&pwm0_pin &pwm1_pin_g1>;
46 status = "okay";
47};
48
49&uart0 {
50 status = "okay";
51};
52
53&uart1 {
54 pinctrl-names = "default";
55 pinctrl-0 = <&uart1_pins>;
56 status = "okay";
57};
58
59&uart2 {
60 pinctrl-names = "default";
61 pinctrl-0 = <&uart2_pins>;
developer8b1069e2022-08-26 17:49:39 +080062 status = "disabled";
developercd6a1382022-01-11 15:45:19 +080063};
64
65&i2c0 {
66 pinctrl-names = "default";
67 pinctrl-0 = <&i2c_pins>;
68 status = "okay";
69
70 wm8960: wm8960@1a {
71 compatible = "wlf,wm8960";
72 reg = <0x1a>;
73 };
74};
75
76&auxadc {
77 status = "okay";
78};
79
80&watchdog {
81 status = "okay";
82};
83
84&eth {
85 status = "okay";
86
87 gmac0: mac@0 {
88 compatible = "mediatek,eth-mac";
89 reg = <0>;
90 phy-mode = "2500base-x";
developer283fc452022-08-18 19:50:33 +080091
92 fixed-link {
93 speed = <2500>;
94 full-duplex;
95 pause;
developer8b1069e2022-08-26 17:49:39 +080096 link-gpio = <&pio 47 0>;
97 phy-handle = <&phy5>;
98 label = "lan5";
developer283fc452022-08-18 19:50:33 +080099 };
developercd6a1382022-01-11 15:45:19 +0800100 };
101
102 gmac1: mac@1 {
103 compatible = "mediatek,eth-mac";
104 reg = <1>;
105 phy-mode = "2500base-x";
developer8b1069e2022-08-26 17:49:39 +0800106
107 fixed-link {
108 speed = <2500>;
109 full-duplex;
110 pause;
111 link-gpio = <&pio 46 0>;
112 phy-handle = <&phy6>;
113 };
developercd6a1382022-01-11 15:45:19 +0800114 };
115
116 mdio: mdio-bus {
117 #address-cells = <1>;
118 #size-cells = <0>;
119
developerf0a1e452022-08-15 12:06:11 +0800120 reset-gpios = <&pio 6 1>;
121 reset-delay-us = <600>;
122
developercd6a1382022-01-11 15:45:19 +0800123 phy5: phy@5 {
developer8b1069e2022-08-26 17:49:39 +0800124 compatible = "ethernet-phy-id67c9.de0a";
developercd6a1382022-01-11 15:45:19 +0800125 reg = <5>;
developercd6a1382022-01-11 15:45:19 +0800126 };
127
128 phy6: phy@6 {
developer8b1069e2022-08-26 17:49:39 +0800129 compatible = "ethernet-phy-id67c9.de0a";
developercd6a1382022-01-11 15:45:19 +0800130 reg = <6>;
developercd6a1382022-01-11 15:45:19 +0800131 };
132
133 switch@0 {
134 compatible = "mediatek,mt7531";
135 reg = <31>;
136 reset-gpios = <&pio 5 0>;
137
138 ports {
139 #address-cells = <1>;
140 #size-cells = <0>;
141
142 port@0 {
143 reg = <0>;
144 label = "lan0";
145 };
146
147 port@1 {
148 reg = <1>;
149 label = "lan1";
150 };
151
152 port@2 {
153 reg = <2>;
154 label = "lan2";
155 };
156
157 port@3 {
158 reg = <3>;
159 label = "lan3";
160 };
161
162 port@4 {
163 reg = <4>;
164 label = "lan4";
165 };
166
167 port@5 {
168 reg = <5>;
169 label = "lan5";
170 phy-mode = "2500base-x";
developer8b1069e2022-08-26 17:49:39 +0800171
172 fixed-link {
173 speed = <2500>;
174 full-duplex;
175 pause;
176 };
developercd6a1382022-01-11 15:45:19 +0800177 };
178
179 port@6 {
180 reg = <6>;
181 label = "cpu";
182 ethernet = <&gmac0>;
183 phy-mode = "2500base-x";
184
185 fixed-link {
186 speed = <2500>;
187 full-duplex;
188 pause;
189 };
190 };
191 };
192 };
193 };
194};
195
196&hnat {
197 mtketh-wan = "eth1";
198 mtketh-lan = "lan";
199 mtketh-max-gmac = <2>;
200 status = "okay";
201};
202
203&mmc0 {
204 pinctrl-names = "default", "state_uhs";
205 pinctrl-0 = <&mmc0_pins_default>;
206 pinctrl-1 = <&mmc0_pins_uhs>;
207 bus-width = <4>;
208 max-frequency = <52000000>;
209 cap-sd-highspeed;
210 vmmc-supply = <&reg_3p3v>;
211 vqmmc-supply = <&reg_3p3v>;
212 status = "okay";
213};
214
215&pcie0 {
216 pinctrl-names = "default";
217 pinctrl-0 = <&pcie0_pins>;
218 status = "okay";
219};
220
221&pio {
222 mmc0_pins_default: mmc0-pins-50-to-61-default {
223 mux {
224 function = "flash";
225 groups = "emmc_51";
226 };
227 conf-cmd-dat {
228 pins = "EMMC_DATA_0", "EMMC_DATA_1", "EMMC_DATA_2",
229 "EMMC_DATA_3", "EMMC_DATA_4", "EMMC_DATA_5",
230 "EMMC_DATA_6", "EMMC_DATA_7", "EMMC_CMD";
231 input-enable;
232 drive-strength = <MTK_DRIVE_4mA>;
233 mediatek,pull-up-adv = <1>; /* pull-up 10K */
234 };
235 conf-clk {
236 pins = "EMMC_CK";
237 drive-strength = <MTK_DRIVE_6mA>;
238 mediatek,pull-down-adv = <2>; /* pull-down 50K */
239 };
240 conf-ds {
241 pins = "EMMC_DSL";
242 mediatek,pull-down-adv = <2>; /* pull-down 50K */
243 };
244 conf-rst {
245 pins = "EMMC_RSTB";
246 drive-strength = <MTK_DRIVE_4mA>;
247 mediatek,pull-up-adv = <1>; /* pull-up 10K */
248 };
249 };
250
251 mmc0_pins_uhs: mmc0-pins-50-to-61-uhs {
252 mux {
253 function = "flash";
254 groups = "emmc_51";
255 };
256 conf-cmd-dat {
257 pins = "EMMC_DATA_0", "EMMC_DATA_1", "EMMC_DATA_2",
258 "EMMC_DATA_3", "EMMC_DATA_4", "EMMC_DATA_5",
259 "EMMC_DATA_6", "EMMC_DATA_7", "EMMC_CMD";
260 input-enable;
261 drive-strength = <MTK_DRIVE_4mA>;
262 mediatek,pull-up-adv = <1>; /* pull-up 10K */
263 };
264 conf-clk {
265 pins = "EMMC_CK";
266 drive-strength = <MTK_DRIVE_6mA>;
267 mediatek,pull-down-adv = <2>; /* pull-down 50K */
268 };
269 conf-ds {
270 pins = "EMMC_DSL";
271 mediatek,pull-down-adv = <2>; /* pull-down 50K */
272 };
273 conf-rst {
274 pins = "EMMC_RSTB";
275 drive-strength = <MTK_DRIVE_4mA>;
276 mediatek,pull-up-adv = <1>; /* pull-up 10K */
277 };
278 };
279
280 wf_2g_5g_pins: wf_2g_5g-pins {
281 mux {
282 function = "wifi";
283 groups = "wf_2g", "wf_5g";
284 };
285 conf {
286 pins = "WF0_HB1", "WF0_HB2", "WF0_HB3", "WF0_HB4",
287 "WF0_HB0", "WF0_HB0_B", "WF0_HB5", "WF0_HB6",
288 "WF0_HB7", "WF0_HB8", "WF0_HB9", "WF0_HB10",
289 "WF0_TOP_CLK", "WF0_TOP_DATA", "WF1_HB1",
290 "WF1_HB2", "WF1_HB3", "WF1_HB4", "WF1_HB0",
291 "WF1_HB5", "WF1_HB6", "WF1_HB7", "WF1_HB8",
292 "WF1_TOP_CLK", "WF1_TOP_DATA";
293 drive-strength = <MTK_DRIVE_4mA>;
294 };
295 };
296
297 wf_dbdc_pins: wf_dbdc-pins {
298 mux {
299 function = "wifi";
300 groups = "wf_dbdc";
301 };
302 conf {
303 pins = "WF0_HB1", "WF0_HB2", "WF0_HB3", "WF0_HB4",
304 "WF0_HB0", "WF0_HB0_B", "WF0_HB5", "WF0_HB6",
305 "WF0_HB7", "WF0_HB8", "WF0_HB9", "WF0_HB10",
306 "WF0_TOP_CLK", "WF0_TOP_DATA", "WF1_HB1",
307 "WF1_HB2", "WF1_HB3", "WF1_HB4", "WF1_HB0",
308 "WF1_HB5", "WF1_HB6", "WF1_HB7", "WF1_HB8",
309 "WF1_TOP_CLK", "WF1_TOP_DATA";
310 drive-strength = <MTK_DRIVE_4mA>;
311 };
312 };
313};