blob: 0ee8617bde29a3dcdcfe8a2a7673c5a9db013218 [file] [log] [blame]
developer565bacb2021-09-28 21:26:32 +08001/dts-v1/;
2#include "mt7986a.dtsi"
3#include "mt7986a-pinctrl.dtsi"
4/ {
5 model = "MediaTek MT7986a RFB";
developer8262b0d2021-11-12 09:02:17 +08006 compatible = "mediatek,mt7986a-emmc-rfb";
developer565bacb2021-09-28 21:26:32 +08007 chosen {
8 bootargs = "console=ttyS0,115200n1 loglevel=8 \
9 earlycon=uart8250,mmio32,0x11002000 \
developer8262b0d2021-11-12 09:02:17 +080010 root=PARTLABEL=rootfs rootwait rootfstype=squashfs,f2fs";
developer565bacb2021-09-28 21:26:32 +080011 };
12
13 memory {
14 reg = <0 0x40000000 0 0x10000000>;
15 };
16
17 reg_1p8v: regulator-1p8v {
18 compatible = "regulator-fixed";
19 regulator-name = "fixed-1.8V";
20 regulator-min-microvolt = <1800000>;
21 regulator-max-microvolt = <1800000>;
22 regulator-boot-on;
23 regulator-always-on;
24 };
25
26 reg_3p3v: regulator-3p3v {
27 compatible = "regulator-fixed";
28 regulator-name = "fixed-3.3V";
29 regulator-min-microvolt = <3300000>;
30 regulator-max-microvolt = <3300000>;
31 regulator-boot-on;
32 regulator-always-on;
33 };
34
35 sound {
36 compatible = "mediatek,mt7986-wm8960-machine";
37 mediatek,platform = <&afe>;
38 audio-routing = "Headphone", "HP_L",
39 "Headphone", "HP_R",
40 "LINPUT1", "AMIC",
41 "RINPUT1", "AMIC";
42 mediatek,audio-codec = <&wm8960>;
43 status = "okay";
44 };
45};
46
developer209e52d2022-06-30 11:32:57 +080047&fan {
48 pwms = <&pwm 1 50000 0>;
49 status = "disabled";
50};
51
developer565bacb2021-09-28 21:26:32 +080052&pwm {
53 pinctrl-names = "default";
54 pinctrl-0 = <&pwm0_pin &pwm1_pin_g1>;
55 status = "okay";
56};
57
58&uart0 {
59 status = "okay";
60};
61
62&uart1 {
63 pinctrl-names = "default";
64 pinctrl-0 = <&uart1_pins>;
65 status = "okay";
66};
67
68&uart2 {
69 pinctrl-names = "default";
70 pinctrl-0 = <&uart2_pins>;
developer8b1069e2022-08-26 17:49:39 +080071 status = "disabled";
developer565bacb2021-09-28 21:26:32 +080072};
73
74&i2c0 {
75 pinctrl-names = "default";
76 pinctrl-0 = <&i2c_pins>;
77 status = "okay";
78
79 wm8960: wm8960@1a {
80 compatible = "wlf,wm8960";
81 reg = <0x1a>;
82 };
83};
84
85&auxadc {
86 status = "okay";
87};
88
89&watchdog {
90 status = "okay";
91};
92
93&eth {
94 status = "okay";
95
96 gmac0: mac@0 {
97 compatible = "mediatek,eth-mac";
98 reg = <0>;
99 phy-mode = "2500base-x";
developer283fc452022-08-18 19:50:33 +0800100
101 fixed-link {
102 speed = <2500>;
103 full-duplex;
104 pause;
developer8b1069e2022-08-26 17:49:39 +0800105 link-gpio = <&pio 47 0>;
106 phy-handle = <&phy5>;
107 label = "lan5";
developer283fc452022-08-18 19:50:33 +0800108 };
developer565bacb2021-09-28 21:26:32 +0800109 };
110
111 gmac1: mac@1 {
112 compatible = "mediatek,eth-mac";
113 reg = <1>;
114 phy-mode = "2500base-x";
developer8b1069e2022-08-26 17:49:39 +0800115
116 fixed-link {
117 speed = <2500>;
118 full-duplex;
119 pause;
120 link-gpio = <&pio 46 0>;
121 phy-handle = <&phy6>;
122 };
developer565bacb2021-09-28 21:26:32 +0800123 };
124
125 mdio: mdio-bus {
126 #address-cells = <1>;
127 #size-cells = <0>;
128
developerf0a1e452022-08-15 12:06:11 +0800129 reset-gpios = <&pio 6 1>;
130 reset-delay-us = <600>;
131
developer565bacb2021-09-28 21:26:32 +0800132 phy5: phy@5 {
developer8b1069e2022-08-26 17:49:39 +0800133 compatible = "ethernet-phy-id67c9.de0a";
developer565bacb2021-09-28 21:26:32 +0800134 reg = <5>;
developer565bacb2021-09-28 21:26:32 +0800135 };
136
137 phy6: phy@6 {
developer8b1069e2022-08-26 17:49:39 +0800138 compatible = "ethernet-phy-id67c9.de0a";
developer565bacb2021-09-28 21:26:32 +0800139 reg = <6>;
developer565bacb2021-09-28 21:26:32 +0800140 };
141
142 switch@0 {
143 compatible = "mediatek,mt7531";
144 reg = <31>;
145 reset-gpios = <&pio 5 0>;
146
147 ports {
148 #address-cells = <1>;
149 #size-cells = <0>;
150
151 port@0 {
152 reg = <0>;
153 label = "lan0";
154 };
155
156 port@1 {
157 reg = <1>;
158 label = "lan1";
159 };
160
161 port@2 {
162 reg = <2>;
163 label = "lan2";
164 };
165
166 port@3 {
167 reg = <3>;
168 label = "lan3";
169 };
170
171 port@4 {
172 reg = <4>;
173 label = "lan4";
174 };
175
176 port@5 {
177 reg = <5>;
178 label = "lan5";
179 phy-mode = "2500base-x";
developer8b1069e2022-08-26 17:49:39 +0800180
181 fixed-link {
182 speed = <2500>;
183 full-duplex;
184 pause;
185 };
developer565bacb2021-09-28 21:26:32 +0800186 };
187
188 port@6 {
189 reg = <6>;
190 label = "cpu";
191 ethernet = <&gmac0>;
192 phy-mode = "2500base-x";
193
194 fixed-link {
195 speed = <2500>;
196 full-duplex;
197 pause;
198 };
199 };
200 };
201 };
202 };
203};
204
205&hnat {
206 mtketh-wan = "eth1";
207 mtketh-lan = "lan";
208 mtketh-max-gmac = <2>;
209 status = "okay";
210};
211
212&spi1 {
213 pinctrl-names = "default";
214 pinctrl-0 = <&spic_pins_g2>;
215 status = "okay";
216};
217
218&mmc0 {
219 pinctrl-names = "default", "state_uhs";
220 pinctrl-0 = <&mmc0_pins_default>;
221 pinctrl-1 = <&mmc0_pins_uhs>;
222 bus-width = <8>;
223 max-frequency = <200000000>;
224 cap-mmc-highspeed;
225 mmc-hs200-1_8v;
226 mmc-hs400-1_8v;
227 hs400-ds-delay = <0x14014>;
228 vmmc-supply = <&reg_3p3v>;
229 vqmmc-supply = <&reg_1p8v>;
230 non-removable;
231 no-sd;
232 no-sdio;
233 status = "okay";
234};
235
236&pcie0 {
237 pinctrl-names = "default";
238 pinctrl-0 = <&pcie0_pins>;
239 status = "okay";
240};
241
242&wbsys {
243 mediatek,mtd-eeprom = <&factory 0x0000>;
244 status = "okay";
245};
246
247&pio {
248 mmc0_pins_default: mmc0-pins-50-to-61-default {
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 mmc0_pins_uhs: mmc0-pins-50-to-61-uhs {
278 mux {
279 function = "flash";
280 groups = "emmc_51";
281 };
282 conf-cmd-dat {
283 pins = "EMMC_DATA_0", "EMMC_DATA_1", "EMMC_DATA_2",
284 "EMMC_DATA_3", "EMMC_DATA_4", "EMMC_DATA_5",
285 "EMMC_DATA_6", "EMMC_DATA_7", "EMMC_CMD";
286 input-enable;
287 drive-strength = <MTK_DRIVE_4mA>;
288 mediatek,pull-up-adv = <1>; /* pull-up 10K */
289 };
290 conf-clk {
291 pins = "EMMC_CK";
292 drive-strength = <MTK_DRIVE_6mA>;
293 mediatek,pull-down-adv = <2>; /* pull-down 50K */
294 };
295 conf-ds {
296 pins = "EMMC_DSL";
297 mediatek,pull-down-adv = <2>; /* pull-down 50K */
298 };
299 conf-rst {
300 pins = "EMMC_RSTB";
301 drive-strength = <MTK_DRIVE_4mA>;
302 mediatek,pull-up-adv = <1>; /* pull-up 10K */
303 };
304 };
305};