blob: 27bf0b50fcdcddf216ef9b8068a247e38856584d [file] [log] [blame]
developer19e8ed42021-06-10 19:15:03 +08001/dts-v1/;
developer565bacb2021-09-28 21:26:32 +08002#include "mt7986a.dtsi"
3#include "mt7986a-pinctrl.dtsi"
developer19e8ed42021-06-10 19:15:03 +08004/ {
5 model = "MediaTek MT7986a RFB";
6 compatible = "mediatek,mt7986a-emmc-rfb";
developer19e8ed42021-06-10 19:15:03 +08007 chosen {
8 bootargs = "console=ttyS0,115200n1 loglevel=8 \
9 earlycon=uart8250,mmio32,0x11002000 \
developerf089cc02021-09-11 17:23:41 +080010 root=/dev/mmcblk0p7 rootwait rootfstype=squashfs,f2fs";
developer19e8ed42021-06-10 19:15:03 +080011 };
developer565bacb2021-09-28 21:26:32 +080012
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@6 {
163 reg = <6>;
164 label = "cpu";
165 ethernet = <&gmac0>;
166 phy-mode = "2500base-x";
167
168 fixed-link {
169 speed = <2500>;
170 full-duplex;
171 pause;
172 };
173 };
174 };
175 };
176 };
developer19e8ed42021-06-10 19:15:03 +0800177};
178
developer565bacb2021-09-28 21:26:32 +0800179&hnat {
180 mtketh-wan = "eth1";
181 mtketh-lan = "lan";
182 mtketh-max-gmac = <2>;
183 status = "okay";
184};
185
186&spi1 {
187 pinctrl-names = "default";
188 pinctrl-0 = <&spic_pins_g2>;
189 status = "okay";
190};
191
192&mmc0 {
193 pinctrl-names = "default", "state_uhs";
194 pinctrl-0 = <&mmc0_pins_default>;
195 pinctrl-1 = <&mmc0_pins_uhs>;
196 bus-width = <8>;
197 max-frequency = <200000000>;
198 cap-mmc-highspeed;
199 mmc-hs200-1_8v;
200 mmc-hs400-1_8v;
201 hs400-ds-delay = <0x14014>;
202 vmmc-supply = <&reg_3p3v>;
203 vqmmc-supply = <&reg_1p8v>;
204 non-removable;
205 no-sd;
206 no-sdio;
207 status = "okay";
developer19e8ed42021-06-10 19:15:03 +0800208};
209
developer565bacb2021-09-28 21:26:32 +0800210&pcie0 {
211 pinctrl-names = "default";
212 pinctrl-0 = <&pcie0_pins>;
213 status = "okay";
214};
215
216&wbsys {
217 status = "okay";
218};
219
220&pio {
221 mmc0_pins_default: mmc0-pins-50-to-61-default {
222 mux {
223 function = "flash";
224 groups = "emmc_51";
225 };
226 conf-cmd-dat {
227 pins = "EMMC_DATA_0", "EMMC_DATA_1", "EMMC_DATA_2",
228 "EMMC_DATA_3", "EMMC_DATA_4", "EMMC_DATA_5",
229 "EMMC_DATA_6", "EMMC_DATA_7", "EMMC_CMD";
230 input-enable;
231 drive-strength = <MTK_DRIVE_4mA>;
232 mediatek,pull-up-adv = <1>; /* pull-up 10K */
233 };
234 conf-clk {
235 pins = "EMMC_CK";
236 drive-strength = <MTK_DRIVE_6mA>;
237 mediatek,pull-down-adv = <2>; /* pull-down 50K */
238 };
239 conf-ds {
240 pins = "EMMC_DSL";
241 mediatek,pull-down-adv = <2>; /* pull-down 50K */
242 };
243 conf-rst {
244 pins = "EMMC_RSTB";
245 drive-strength = <MTK_DRIVE_4mA>;
246 mediatek,pull-up-adv = <1>; /* pull-up 10K */
247 };
248 };
249
250 mmc0_pins_uhs: mmc0-pins-50-to-61-uhs {
251 mux {
252 function = "flash";
253 groups = "emmc_51";
254 };
255 conf-cmd-dat {
256 pins = "EMMC_DATA_0", "EMMC_DATA_1", "EMMC_DATA_2",
257 "EMMC_DATA_3", "EMMC_DATA_4", "EMMC_DATA_5",
258 "EMMC_DATA_6", "EMMC_DATA_7", "EMMC_CMD";
259 input-enable;
260 drive-strength = <MTK_DRIVE_4mA>;
261 mediatek,pull-up-adv = <1>; /* pull-up 10K */
262 };
263 conf-clk {
264 pins = "EMMC_CK";
265 drive-strength = <MTK_DRIVE_6mA>;
266 mediatek,pull-down-adv = <2>; /* pull-down 50K */
267 };
268 conf-ds {
269 pins = "EMMC_DSL";
270 mediatek,pull-down-adv = <2>; /* pull-down 50K */
271 };
272 conf-rst {
273 pins = "EMMC_RSTB";
274 drive-strength = <MTK_DRIVE_4mA>;
275 mediatek,pull-up-adv = <1>; /* pull-up 10K */
276 };
277 };
developer19e8ed42021-06-10 19:15:03 +0800278};