blob: 09e41f616b82aec8f27f6caa1e909d6efec85e01 [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;
developer283fc452022-08-18 19:50:33 +080067 };
developer565bacb2021-09-28 21:26:32 +080068 };
69
70 gmac1: mac@1 {
71 compatible = "mediatek,eth-mac";
72 reg = <1>;
73 phy-mode = "2500base-x";
developerf0a1e452022-08-15 12:06:11 +080074 phy-handle = <&phy6>;
developer565bacb2021-09-28 21:26:32 +080075 };
76
77 mdio: mdio-bus {
78 #address-cells = <1>;
79 #size-cells = <0>;
80
developerf0a1e452022-08-15 12:06:11 +080081 reset-gpios = <&pio 6 1>;
82 reset-delay-us = <600>;
83
developer565bacb2021-09-28 21:26:32 +080084 phy5: phy@5 {
developere0c42a12022-08-19 11:01:38 +080085 compatible = "ethernet-phy-ieee802.3-c45";
developer565bacb2021-09-28 21:26:32 +080086 reg = <5>;
developer565bacb2021-09-28 21:26:32 +080087 };
88
89 phy6: phy@6 {
developerf0a1e452022-08-15 12:06:11 +080090 compatible = "ethernet-phy-ieee802.3-c45";
developer565bacb2021-09-28 21:26:32 +080091 reg = <6>;
developer565bacb2021-09-28 21:26:32 +080092 };
93
94 switch@0 {
95 compatible = "mediatek,mt7531";
96 reg = <31>;
97 reset-gpios = <&pio 5 0>;
98
99 ports {
100 #address-cells = <1>;
101 #size-cells = <0>;
102
103 port@0 {
104 reg = <0>;
105 label = "lan0";
106 };
107
108 port@1 {
109 reg = <1>;
110 label = "lan1";
111 };
112
113 port@2 {
114 reg = <2>;
115 label = "lan2";
116 };
117
118 port@3 {
119 reg = <3>;
120 label = "lan3";
121 };
122
123 port@4 {
124 reg = <4>;
125 label = "lan4";
126 };
127
128 port@5 {
129 reg = <5>;
130 label = "lan5";
131 phy-mode = "2500base-x";
developere0c42a12022-08-19 11:01:38 +0800132 phy-handle = <&phy5>;
developer565bacb2021-09-28 21:26:32 +0800133 };
134
135 port@6 {
136 reg = <6>;
137 label = "cpu";
138 ethernet = <&gmac0>;
139 phy-mode = "2500base-x";
140
141 fixed-link {
142 speed = <2500>;
143 full-duplex;
144 pause;
145 };
146 };
147 };
148 };
149 };
150};
151
152&hnat {
153 mtketh-wan = "eth1";
154 mtketh-lan = "lan";
155 mtketh-max-gmac = <2>;
156 status = "okay";
157};
158
159/* Warning: pins shared with &uart2 */
160&spi1 {
161 pinctrl-names = "default";
162 pinctrl-0 = <&spic_pins>;
163 status = "okay";
164};
165
166&mmc0 {
167 pinctrl-names = "default", "state_uhs";
168 pinctrl-0 = <&mmc0_pins_default>;
169 pinctrl-1 = <&mmc0_pins_uhs>;
170 bus-width = <8>;
171 max-frequency = <50000000>;
172 cap-mmc-highspeed;
173 vmmc-supply = <&reg_3p3v>;
174 vqmmc-supply = <&reg_3p3v>;
175 non-removable;
176 status = "okay";
177};
178
179&wbsys {
180 mediatek,mtd-eeprom = <&factory 0x0000>;
181 status = "okay";
182};
183
184&pio {
185 mmc0_pins_default: mmc0-pins-22-to-32-default {
186 mux {
187 function = "flash";
188 groups = "emmc_45";
189 };
190 conf-cmd-dat {
191 pins = "SPI0_CLK", "SPI0_MOSI", "SPI0_MISO",
192 "SPI0_CS", "SPI0_HOLD", "SPI0_WP",
193 "SPI1_CLK", "SPI1_MOSI", "SPI1_MISO";
194 input-enable;
195 drive-strength = <MTK_DRIVE_4mA>;
196 mediatek,pull-up-adv = <1>; /* pull-up 10K */
197 };
198 conf-clk {
199 pins = "SPI1_CS";
200 drive-strength = <MTK_DRIVE_6mA>;
201 mediatek,pull-down-adv = <2>; /* pull-down 50K */
202 };
203 conf-rst {
204 pins = "PWM1";
205 drive-strength = <MTK_DRIVE_4mA>;
206 mediatek,pull-up-adv = <1>; /* pull-up 10K */
207 };
208 };
209
210 mmc0_pins_uhs: mmc0-pins-22-to-32-uhs {
211 mux {
212 function = "flash";
213 groups = "emmc_45";
214 };
215 conf-cmd-dat {
216 pins = "SPI0_CLK", "SPI0_MOSI", "SPI0_MISO",
217 "SPI0_CS", "SPI0_HOLD", "SPI0_WP",
218 "SPI1_CLK", "SPI1_MOSI", "SPI1_MISO";
219 input-enable;
220 drive-strength = <MTK_DRIVE_4mA>;
221 mediatek,pull-up-adv = <1>; /* pull-up 10K */
222 };
223 conf-clk {
224 pins = "SPI1_CS";
225 drive-strength = <MTK_DRIVE_6mA>;
226 mediatek,pull-down-adv = <2>; /* pull-down 50K */
227 };
228 conf-rst {
229 pins = "PWM1";
230 drive-strength = <MTK_DRIVE_4mA>;
231 mediatek,pull-up-adv = <1>; /* pull-up 10K */
232 };
233 };
234};