blob: c094abef1523665af25e1c932924b9cca428b5c4 [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
47&pwm {
48 pinctrl-names = "default";
49 pinctrl-0 = <&pwm0_pin &pwm1_pin_g1>;
50 status = "okay";
51};
52
53&uart0 {
54 status = "okay";
55};
56
57&uart1 {
58 pinctrl-names = "default";
59 pinctrl-0 = <&uart1_pins>;
60 status = "okay";
61};
62
63&uart2 {
64 pinctrl-names = "default";
65 pinctrl-0 = <&uart2_pins>;
66 status = "okay";
67};
68
69&i2c0 {
70 pinctrl-names = "default";
71 pinctrl-0 = <&i2c_pins>;
72 status = "okay";
73
74 wm8960: wm8960@1a {
75 compatible = "wlf,wm8960";
76 reg = <0x1a>;
77 };
78};
79
80&auxadc {
81 status = "okay";
82};
83
84&watchdog {
85 status = "okay";
86};
87
88&eth {
89 status = "okay";
90
91 gmac0: mac@0 {
92 compatible = "mediatek,eth-mac";
93 reg = <0>;
94 phy-mode = "2500base-x";
95
96 fixed-link {
97 speed = <2500>;
98 full-duplex;
99 pause;
100 };
101 };
102
103 gmac1: mac@1 {
104 compatible = "mediatek,eth-mac";
105 reg = <1>;
106 phy-mode = "2500base-x";
107
108 fixed-link {
109 speed = <2500>;
110 full-duplex;
111 pause;
112 };
113 };
114
115 mdio: mdio-bus {
116 #address-cells = <1>;
117 #size-cells = <0>;
118
119 phy5: phy@5 {
120 compatible = "ethernet-phy-id67c9.de0a";
121 reg = <5>;
122 reset-gpios = <&pio 6 1>;
123 reset-deassert-us = <20000>;
124 phy-mode = "2500base-x";
125 };
126
127 phy6: phy@6 {
128 compatible = "ethernet-phy-id67c9.de0a";
129 reg = <6>;
130 phy-mode = "2500base-x";
131 };
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";
171
172 fixed-link {
173 speed = <2500>;
174 full-duplex;
175 pause;
176 };
177 };
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&spi1 {
204 pinctrl-names = "default";
205 pinctrl-0 = <&spic_pins_g2>;
206 status = "okay";
207};
208
209&mmc0 {
210 pinctrl-names = "default", "state_uhs";
211 pinctrl-0 = <&mmc0_pins_default>;
212 pinctrl-1 = <&mmc0_pins_uhs>;
213 bus-width = <8>;
214 max-frequency = <200000000>;
215 cap-mmc-highspeed;
216 mmc-hs200-1_8v;
217 mmc-hs400-1_8v;
218 hs400-ds-delay = <0x14014>;
219 vmmc-supply = <&reg_3p3v>;
220 vqmmc-supply = <&reg_1p8v>;
221 non-removable;
222 no-sd;
223 no-sdio;
224 status = "okay";
225};
226
227&pcie0 {
228 pinctrl-names = "default";
229 pinctrl-0 = <&pcie0_pins>;
230 status = "okay";
231};
232
233&wbsys {
234 mediatek,mtd-eeprom = <&factory 0x0000>;
235 status = "okay";
236};
237
238&pio {
239 mmc0_pins_default: mmc0-pins-50-to-61-default {
240 mux {
241 function = "flash";
242 groups = "emmc_51";
243 };
244 conf-cmd-dat {
245 pins = "EMMC_DATA_0", "EMMC_DATA_1", "EMMC_DATA_2",
246 "EMMC_DATA_3", "EMMC_DATA_4", "EMMC_DATA_5",
247 "EMMC_DATA_6", "EMMC_DATA_7", "EMMC_CMD";
248 input-enable;
249 drive-strength = <MTK_DRIVE_4mA>;
250 mediatek,pull-up-adv = <1>; /* pull-up 10K */
251 };
252 conf-clk {
253 pins = "EMMC_CK";
254 drive-strength = <MTK_DRIVE_6mA>;
255 mediatek,pull-down-adv = <2>; /* pull-down 50K */
256 };
257 conf-ds {
258 pins = "EMMC_DSL";
259 mediatek,pull-down-adv = <2>; /* pull-down 50K */
260 };
261 conf-rst {
262 pins = "EMMC_RSTB";
263 drive-strength = <MTK_DRIVE_4mA>;
264 mediatek,pull-up-adv = <1>; /* pull-up 10K */
265 };
266 };
267
268 mmc0_pins_uhs: mmc0-pins-50-to-61-uhs {
269 mux {
270 function = "flash";
271 groups = "emmc_51";
272 };
273 conf-cmd-dat {
274 pins = "EMMC_DATA_0", "EMMC_DATA_1", "EMMC_DATA_2",
275 "EMMC_DATA_3", "EMMC_DATA_4", "EMMC_DATA_5",
276 "EMMC_DATA_6", "EMMC_DATA_7", "EMMC_CMD";
277 input-enable;
278 drive-strength = <MTK_DRIVE_4mA>;
279 mediatek,pull-up-adv = <1>; /* pull-up 10K */
280 };
281 conf-clk {
282 pins = "EMMC_CK";
283 drive-strength = <MTK_DRIVE_6mA>;
284 mediatek,pull-down-adv = <2>; /* pull-down 50K */
285 };
286 conf-ds {
287 pins = "EMMC_DSL";
288 mediatek,pull-down-adv = <2>; /* pull-down 50K */
289 };
290 conf-rst {
291 pins = "EMMC_RSTB";
292 drive-strength = <MTK_DRIVE_4mA>;
293 mediatek,pull-up-adv = <1>; /* pull-up 10K */
294 };
295 };
296};