blob: b4ae0b016799446b23bcaf288a37b63ae354b4ae [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 \
developer8262b0d2021-11-12 09:02:17 +080010 root=PARTLABEL=rootfs 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
developerbe797a32021-12-16 16:56:09 +080035 sound_wm8960 {
36 compatible = "mediatek,mt79xx-wm8960-machine";
developer565bacb2021-09-28 21:26:32 +080037 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 };
developerbe797a32021-12-16 16:56:09 +080045
46 sound_si3218x {
47 compatible = "mediatek,mt79xx-si3218x-machine";
48 mediatek,platform = <&afe>;
49 mediatek,ext-codec = <&proslic_spi>;
50 status = "okay";
51 };
developer565bacb2021-09-28 21:26:32 +080052};
53
54&pwm {
55 pinctrl-names = "default";
56 pinctrl-0 = <&pwm0_pin &pwm1_pin_g1>;
57 status = "okay";
58};
59
60&uart0 {
61 status = "okay";
62};
63
64&uart1 {
65 pinctrl-names = "default";
66 pinctrl-0 = <&uart1_pins>;
67 status = "okay";
68};
69
70&uart2 {
71 pinctrl-names = "default";
72 pinctrl-0 = <&uart2_pins>;
73 status = "okay";
74};
75
76&i2c0 {
77 pinctrl-names = "default";
78 pinctrl-0 = <&i2c_pins>;
79 status = "okay";
80
81 wm8960: wm8960@1a {
82 compatible = "wlf,wm8960";
83 reg = <0x1a>;
84 };
85};
86
87&auxadc {
88 status = "okay";
89};
90
91&watchdog {
92 status = "okay";
93};
94
95&eth {
96 status = "okay";
97
98 gmac0: mac@0 {
99 compatible = "mediatek,eth-mac";
100 reg = <0>;
101 phy-mode = "2500base-x";
102
103 fixed-link {
104 speed = <2500>;
105 full-duplex;
106 pause;
107 };
108 };
109
110 gmac1: mac@1 {
111 compatible = "mediatek,eth-mac";
112 reg = <1>;
113 phy-mode = "2500base-x";
114
115 fixed-link {
116 speed = <2500>;
117 full-duplex;
118 pause;
119 };
120 };
121
122 mdio: mdio-bus {
123 #address-cells = <1>;
124 #size-cells = <0>;
125
126 phy5: phy@5 {
127 compatible = "ethernet-phy-id67c9.de0a";
128 reg = <5>;
129 reset-gpios = <&pio 6 1>;
130 reset-deassert-us = <20000>;
131 phy-mode = "2500base-x";
132 };
133
134 phy6: phy@6 {
135 compatible = "ethernet-phy-id67c9.de0a";
136 reg = <6>;
137 phy-mode = "2500base-x";
138 };
139
140 switch@0 {
141 compatible = "mediatek,mt7531";
142 reg = <31>;
143 reset-gpios = <&pio 5 0>;
144
145 ports {
146 #address-cells = <1>;
147 #size-cells = <0>;
148
149 port@0 {
150 reg = <0>;
151 label = "lan0";
152 };
153
154 port@1 {
155 reg = <1>;
156 label = "lan1";
157 };
158
159 port@2 {
160 reg = <2>;
161 label = "lan2";
162 };
163
164 port@3 {
165 reg = <3>;
166 label = "lan3";
167 };
168
169 port@6 {
170 reg = <6>;
171 label = "cpu";
172 ethernet = <&gmac0>;
173 phy-mode = "2500base-x";
174
175 fixed-link {
176 speed = <2500>;
177 full-duplex;
178 pause;
179 };
180 };
181 };
182 };
183 };
developer19e8ed42021-06-10 19:15:03 +0800184};
185
developer565bacb2021-09-28 21:26:32 +0800186&hnat {
187 mtketh-wan = "eth1";
188 mtketh-lan = "lan";
189 mtketh-max-gmac = <2>;
190 status = "okay";
191};
192
193&spi1 {
194 pinctrl-names = "default";
195 pinctrl-0 = <&spic_pins_g2>;
196 status = "okay";
developerbe797a32021-12-16 16:56:09 +0800197
198 proslic_spi: proslic_spi@0 {
199 compatible = "silabs,proslic_spi";
200 reg = <0>;
201 spi-max-frequency = <10000000>;
202 spi-cpha = <1>;
203 spi-cpol = <1>;
204 channel_count = <1>;
205 debug_level = <4>; /* 1 = TRC, 2 = DBG, 4 = ERR */
206 reset_gpio = <&pio 7 0>;
207 ig,enable-spi = <1>; /* 1: Enable, 0: Disable */
208 };
developer565bacb2021-09-28 21:26:32 +0800209};
210
211&mmc0 {
212 pinctrl-names = "default", "state_uhs";
213 pinctrl-0 = <&mmc0_pins_default>;
214 pinctrl-1 = <&mmc0_pins_uhs>;
215 bus-width = <8>;
216 max-frequency = <200000000>;
217 cap-mmc-highspeed;
218 mmc-hs200-1_8v;
219 mmc-hs400-1_8v;
220 hs400-ds-delay = <0x14014>;
221 vmmc-supply = <&reg_3p3v>;
222 vqmmc-supply = <&reg_1p8v>;
223 non-removable;
224 no-sd;
225 no-sdio;
226 status = "okay";
developer19e8ed42021-06-10 19:15:03 +0800227};
228
developer565bacb2021-09-28 21:26:32 +0800229&pcie0 {
230 pinctrl-names = "default";
231 pinctrl-0 = <&pcie0_pins>;
232 status = "okay";
233};
234
235&wbsys {
236 status = "okay";
237};
238
239&pio {
240 mmc0_pins_default: mmc0-pins-50-to-61-default {
241 mux {
242 function = "flash";
243 groups = "emmc_51";
244 };
245 conf-cmd-dat {
246 pins = "EMMC_DATA_0", "EMMC_DATA_1", "EMMC_DATA_2",
247 "EMMC_DATA_3", "EMMC_DATA_4", "EMMC_DATA_5",
248 "EMMC_DATA_6", "EMMC_DATA_7", "EMMC_CMD";
249 input-enable;
250 drive-strength = <MTK_DRIVE_4mA>;
251 mediatek,pull-up-adv = <1>; /* pull-up 10K */
252 };
253 conf-clk {
254 pins = "EMMC_CK";
255 drive-strength = <MTK_DRIVE_6mA>;
256 mediatek,pull-down-adv = <2>; /* pull-down 50K */
257 };
258 conf-ds {
259 pins = "EMMC_DSL";
260 mediatek,pull-down-adv = <2>; /* pull-down 50K */
261 };
262 conf-rst {
263 pins = "EMMC_RSTB";
264 drive-strength = <MTK_DRIVE_4mA>;
265 mediatek,pull-up-adv = <1>; /* pull-up 10K */
266 };
267 };
268
269 mmc0_pins_uhs: mmc0-pins-50-to-61-uhs {
270 mux {
271 function = "flash";
272 groups = "emmc_51";
273 };
274 conf-cmd-dat {
275 pins = "EMMC_DATA_0", "EMMC_DATA_1", "EMMC_DATA_2",
276 "EMMC_DATA_3", "EMMC_DATA_4", "EMMC_DATA_5",
277 "EMMC_DATA_6", "EMMC_DATA_7", "EMMC_CMD";
278 input-enable;
279 drive-strength = <MTK_DRIVE_4mA>;
280 mediatek,pull-up-adv = <1>; /* pull-up 10K */
281 };
282 conf-clk {
283 pins = "EMMC_CK";
284 drive-strength = <MTK_DRIVE_6mA>;
285 mediatek,pull-down-adv = <2>; /* pull-down 50K */
286 };
287 conf-ds {
288 pins = "EMMC_DSL";
289 mediatek,pull-down-adv = <2>; /* pull-down 50K */
290 };
291 conf-rst {
292 pins = "EMMC_RSTB";
293 drive-strength = <MTK_DRIVE_4mA>;
294 mediatek,pull-up-adv = <1>; /* pull-up 10K */
295 };
296 };
developer19e8ed42021-06-10 19:15:03 +0800297};