blob: d8f35d0581e92a7b962b462985a14716422f6bf9 [file] [log] [blame]
developer565bacb2021-09-28 21:26:32 +08001/dts-v1/;
2#include "mt7986b.dtsi"
3#include "mt7986b-pinctrl.dtsi"
4/ {
5 model = "MediaTek MT7986b RFB";
6 compatible = "mediatek,mt7986b-emmc-rfb";
7 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_3p3v: regulator-3p3v {
18 compatible = "regulator-fixed";
19 regulator-name = "fixed-3.3V";
20 regulator-min-microvolt = <3300000>;
21 regulator-max-microvolt = <3300000>;
22 regulator-boot-on;
23 regulator-always-on;
24 };
25};
26
27&uart0 {
28 status = "okay";
29};
30
31/* Warning: pins shared with &snand */
32&uart1 {
33 pinctrl-names = "default";
34 pinctrl-0 = <&uart1_pins>;
35 status = "disabled";
36};
37
38/* Warning: pins shared with &spi1 */
39&uart2 {
40 pinctrl-names = "default";
41 pinctrl-0 = <&uart2_pins>;
42 status = "disabled";
43};
44
45&i2c0 {
46 pinctrl-names = "default";
47 pinctrl-0 = <&i2c_pins>;
48 status = "okay";
49};
50
51&watchdog {
52 status = "okay";
53};
54
55&eth {
56 status = "okay";
57
58 gmac0: mac@0 {
59 compatible = "mediatek,eth-mac";
60 reg = <0>;
61 phy-mode = "2500base-x";
developer283fc452022-08-18 19:50:33 +080062
63 fixed-link {
64 speed = <2500>;
65 full-duplex;
66 pause;
67 link-gpio = <&pio 47 0>;
68 phy-handle = <&phy5>;
69 label = "lan5";
70 };
developer565bacb2021-09-28 21:26:32 +080071 };
72
73 gmac1: mac@1 {
74 compatible = "mediatek,eth-mac";
75 reg = <1>;
76 phy-mode = "2500base-x";
developerf0a1e452022-08-15 12:06:11 +080077 phy-handle = <&phy6>;
developer565bacb2021-09-28 21:26:32 +080078 };
79
80 mdio: mdio-bus {
81 #address-cells = <1>;
82 #size-cells = <0>;
83
developerf0a1e452022-08-15 12:06:11 +080084 reset-gpios = <&pio 6 1>;
85 reset-delay-us = <600>;
86
developer565bacb2021-09-28 21:26:32 +080087 phy5: phy@5 {
developer283fc452022-08-18 19:50:33 +080088 compatible = "ethernet-phy-id67c9.de0a";
developer565bacb2021-09-28 21:26:32 +080089 reg = <5>;
developer565bacb2021-09-28 21:26:32 +080090 };
91
92 phy6: phy@6 {
developerf0a1e452022-08-15 12:06:11 +080093 compatible = "ethernet-phy-ieee802.3-c45";
developer565bacb2021-09-28 21:26:32 +080094 reg = <6>;
developer565bacb2021-09-28 21:26:32 +080095 };
96
97 switch@0 {
98 compatible = "mediatek,mt7531";
99 reg = <31>;
100 reset-gpios = <&pio 5 0>;
101
102 ports {
103 #address-cells = <1>;
104 #size-cells = <0>;
105
106 port@0 {
107 reg = <0>;
108 label = "lan0";
109 };
110
111 port@1 {
112 reg = <1>;
113 label = "lan1";
114 };
115
116 port@2 {
117 reg = <2>;
118 label = "lan2";
119 };
120
121 port@3 {
122 reg = <3>;
123 label = "lan3";
124 };
125
126 port@4 {
127 reg = <4>;
128 label = "lan4";
129 };
130
131 port@5 {
132 reg = <5>;
133 label = "lan5";
134 phy-mode = "2500base-x";
135
136 fixed-link {
137 speed = <2500>;
138 full-duplex;
139 pause;
140 };
141 };
142
143 port@6 {
144 reg = <6>;
145 label = "cpu";
146 ethernet = <&gmac0>;
147 phy-mode = "2500base-x";
148
149 fixed-link {
150 speed = <2500>;
151 full-duplex;
152 pause;
153 };
154 };
155 };
156 };
157 };
158};
159
160&hnat {
161 mtketh-wan = "eth1";
162 mtketh-lan = "lan";
163 mtketh-max-gmac = <2>;
164 status = "okay";
165};
166
167/* Warning: pins shared with &uart2 */
168&spi1 {
169 pinctrl-names = "default";
170 pinctrl-0 = <&spic_pins>;
171 status = "okay";
172};
173
174&mmc0 {
175 pinctrl-names = "default", "state_uhs";
176 pinctrl-0 = <&mmc0_pins_default>;
177 pinctrl-1 = <&mmc0_pins_uhs>;
178 bus-width = <8>;
179 max-frequency = <50000000>;
180 cap-mmc-highspeed;
181 vmmc-supply = <&reg_3p3v>;
182 vqmmc-supply = <&reg_3p3v>;
183 non-removable;
184 status = "okay";
185};
186
187&wbsys {
188 mediatek,mtd-eeprom = <&factory 0x0000>;
189 status = "okay";
190};
191
192&pio {
193 mmc0_pins_default: mmc0-pins-22-to-32-default {
194 mux {
195 function = "flash";
196 groups = "emmc_45";
197 };
198 conf-cmd-dat {
199 pins = "SPI0_CLK", "SPI0_MOSI", "SPI0_MISO",
200 "SPI0_CS", "SPI0_HOLD", "SPI0_WP",
201 "SPI1_CLK", "SPI1_MOSI", "SPI1_MISO";
202 input-enable;
203 drive-strength = <MTK_DRIVE_4mA>;
204 mediatek,pull-up-adv = <1>; /* pull-up 10K */
205 };
206 conf-clk {
207 pins = "SPI1_CS";
208 drive-strength = <MTK_DRIVE_6mA>;
209 mediatek,pull-down-adv = <2>; /* pull-down 50K */
210 };
211 conf-rst {
212 pins = "PWM1";
213 drive-strength = <MTK_DRIVE_4mA>;
214 mediatek,pull-up-adv = <1>; /* pull-up 10K */
215 };
216 };
217
218 mmc0_pins_uhs: mmc0-pins-22-to-32-uhs {
219 mux {
220 function = "flash";
221 groups = "emmc_45";
222 };
223 conf-cmd-dat {
224 pins = "SPI0_CLK", "SPI0_MOSI", "SPI0_MISO",
225 "SPI0_CS", "SPI0_HOLD", "SPI0_WP",
226 "SPI1_CLK", "SPI1_MOSI", "SPI1_MISO";
227 input-enable;
228 drive-strength = <MTK_DRIVE_4mA>;
229 mediatek,pull-up-adv = <1>; /* pull-up 10K */
230 };
231 conf-clk {
232 pins = "SPI1_CS";
233 drive-strength = <MTK_DRIVE_6mA>;
234 mediatek,pull-down-adv = <2>; /* pull-down 50K */
235 };
236 conf-rst {
237 pins = "PWM1";
238 drive-strength = <MTK_DRIVE_4mA>;
239 mediatek,pull-up-adv = <1>; /* pull-up 10K */
240 };
241 };
242};