blob: 51635368212877e3b3b255bb38ab58b0b8afa68c [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>;
62 status = "okay";
63};
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";
91
92 fixed-link {
93 speed = <2500>;
94 full-duplex;
95 pause;
96 };
97 };
98
99 gmac1: mac@1 {
100 compatible = "mediatek,eth-mac";
101 reg = <1>;
102 phy-mode = "2500base-x";
103
104 fixed-link {
105 speed = <2500>;
106 full-duplex;
107 pause;
108 };
109 };
110
111 mdio: mdio-bus {
112 #address-cells = <1>;
113 #size-cells = <0>;
114
115 phy5: phy@5 {
116 compatible = "ethernet-phy-id67c9.de0a";
117 reg = <5>;
118 reset-gpios = <&pio 6 1>;
developer8c5a08b2022-05-06 09:10:38 +0800119 reset-assert-us = <600>;
developercd6a1382022-01-11 15:45:19 +0800120 reset-deassert-us = <20000>;
121 phy-mode = "2500base-x";
122 };
123
124 phy6: phy@6 {
125 compatible = "ethernet-phy-id67c9.de0a";
126 reg = <6>;
127 phy-mode = "2500base-x";
128 };
129
130 switch@0 {
131 compatible = "mediatek,mt7531";
132 reg = <31>;
133 reset-gpios = <&pio 5 0>;
134
135 ports {
136 #address-cells = <1>;
137 #size-cells = <0>;
138
139 port@0 {
140 reg = <0>;
141 label = "lan0";
142 };
143
144 port@1 {
145 reg = <1>;
146 label = "lan1";
147 };
148
149 port@2 {
150 reg = <2>;
151 label = "lan2";
152 };
153
154 port@3 {
155 reg = <3>;
156 label = "lan3";
157 };
158
159 port@4 {
160 reg = <4>;
161 label = "lan4";
162 };
163
164 port@5 {
165 reg = <5>;
166 label = "lan5";
167 phy-mode = "2500base-x";
168
169 fixed-link {
170 speed = <2500>;
171 full-duplex;
172 pause;
173 };
174 };
175
176 port@6 {
177 reg = <6>;
178 label = "cpu";
179 ethernet = <&gmac0>;
180 phy-mode = "2500base-x";
181
182 fixed-link {
183 speed = <2500>;
184 full-duplex;
185 pause;
186 };
187 };
188 };
189 };
190 };
191};
192
193&hnat {
194 mtketh-wan = "eth1";
195 mtketh-lan = "lan";
196 mtketh-max-gmac = <2>;
197 status = "okay";
198};
199
200&mmc0 {
201 pinctrl-names = "default", "state_uhs";
202 pinctrl-0 = <&mmc0_pins_default>;
203 pinctrl-1 = <&mmc0_pins_uhs>;
204 bus-width = <4>;
205 max-frequency = <52000000>;
206 cap-sd-highspeed;
207 vmmc-supply = <&reg_3p3v>;
208 vqmmc-supply = <&reg_3p3v>;
209 status = "okay";
210};
211
212&pcie0 {
213 pinctrl-names = "default";
214 pinctrl-0 = <&pcie0_pins>;
215 status = "okay";
216};
217
218&pio {
219 mmc0_pins_default: mmc0-pins-50-to-61-default {
220 mux {
221 function = "flash";
222 groups = "emmc_51";
223 };
224 conf-cmd-dat {
225 pins = "EMMC_DATA_0", "EMMC_DATA_1", "EMMC_DATA_2",
226 "EMMC_DATA_3", "EMMC_DATA_4", "EMMC_DATA_5",
227 "EMMC_DATA_6", "EMMC_DATA_7", "EMMC_CMD";
228 input-enable;
229 drive-strength = <MTK_DRIVE_4mA>;
230 mediatek,pull-up-adv = <1>; /* pull-up 10K */
231 };
232 conf-clk {
233 pins = "EMMC_CK";
234 drive-strength = <MTK_DRIVE_6mA>;
235 mediatek,pull-down-adv = <2>; /* pull-down 50K */
236 };
237 conf-ds {
238 pins = "EMMC_DSL";
239 mediatek,pull-down-adv = <2>; /* pull-down 50K */
240 };
241 conf-rst {
242 pins = "EMMC_RSTB";
243 drive-strength = <MTK_DRIVE_4mA>;
244 mediatek,pull-up-adv = <1>; /* pull-up 10K */
245 };
246 };
247
248 mmc0_pins_uhs: mmc0-pins-50-to-61-uhs {
249 mux {
250 function = "flash";
251 groups = "emmc_51";
252 };
253 conf-cmd-dat {
254 pins = "EMMC_DATA_0", "EMMC_DATA_1", "EMMC_DATA_2",
255 "EMMC_DATA_3", "EMMC_DATA_4", "EMMC_DATA_5",
256 "EMMC_DATA_6", "EMMC_DATA_7", "EMMC_CMD";
257 input-enable;
258 drive-strength = <MTK_DRIVE_4mA>;
259 mediatek,pull-up-adv = <1>; /* pull-up 10K */
260 };
261 conf-clk {
262 pins = "EMMC_CK";
263 drive-strength = <MTK_DRIVE_6mA>;
264 mediatek,pull-down-adv = <2>; /* pull-down 50K */
265 };
266 conf-ds {
267 pins = "EMMC_DSL";
268 mediatek,pull-down-adv = <2>; /* pull-down 50K */
269 };
270 conf-rst {
271 pins = "EMMC_RSTB";
272 drive-strength = <MTK_DRIVE_4mA>;
273 mediatek,pull-up-adv = <1>; /* pull-up 10K */
274 };
275 };
276
277 wf_2g_5g_pins: wf_2g_5g-pins {
278 mux {
279 function = "wifi";
280 groups = "wf_2g", "wf_5g";
281 };
282 conf {
283 pins = "WF0_HB1", "WF0_HB2", "WF0_HB3", "WF0_HB4",
284 "WF0_HB0", "WF0_HB0_B", "WF0_HB5", "WF0_HB6",
285 "WF0_HB7", "WF0_HB8", "WF0_HB9", "WF0_HB10",
286 "WF0_TOP_CLK", "WF0_TOP_DATA", "WF1_HB1",
287 "WF1_HB2", "WF1_HB3", "WF1_HB4", "WF1_HB0",
288 "WF1_HB5", "WF1_HB6", "WF1_HB7", "WF1_HB8",
289 "WF1_TOP_CLK", "WF1_TOP_DATA";
290 drive-strength = <MTK_DRIVE_4mA>;
291 };
292 };
293
294 wf_dbdc_pins: wf_dbdc-pins {
295 mux {
296 function = "wifi";
297 groups = "wf_dbdc";
298 };
299 conf {
300 pins = "WF0_HB1", "WF0_HB2", "WF0_HB3", "WF0_HB4",
301 "WF0_HB0", "WF0_HB0_B", "WF0_HB5", "WF0_HB6",
302 "WF0_HB7", "WF0_HB8", "WF0_HB9", "WF0_HB10",
303 "WF0_TOP_CLK", "WF0_TOP_DATA", "WF1_HB1",
304 "WF1_HB2", "WF1_HB3", "WF1_HB4", "WF1_HB0",
305 "WF1_HB5", "WF1_HB6", "WF1_HB7", "WF1_HB8",
306 "WF1_TOP_CLK", "WF1_TOP_DATA";
307 drive-strength = <MTK_DRIVE_4mA>;
308 };
309 };
310};