blob: 4802013dc5fe2c4605a8e971f410842de34b355f [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";
developerf0a1e452022-08-15 12:06:11 +080062 phy-handle = <&phy5>;
developer565bacb2021-09-28 21:26:32 +080063 };
64
65 gmac1: mac@1 {
66 compatible = "mediatek,eth-mac";
67 reg = <1>;
68 phy-mode = "2500base-x";
developerf0a1e452022-08-15 12:06:11 +080069 phy-handle = <&phy6>;
developer565bacb2021-09-28 21:26:32 +080070 };
71
72 mdio: mdio-bus {
73 #address-cells = <1>;
74 #size-cells = <0>;
75
developerf0a1e452022-08-15 12:06:11 +080076 reset-gpios = <&pio 6 1>;
77 reset-delay-us = <600>;
78
developer565bacb2021-09-28 21:26:32 +080079 phy5: phy@5 {
developerf0a1e452022-08-15 12:06:11 +080080 compatible = "ethernet-phy-ieee802.3-c45";
developer565bacb2021-09-28 21:26:32 +080081 reg = <5>;
developer565bacb2021-09-28 21:26:32 +080082 };
83
84 phy6: phy@6 {
developerf0a1e452022-08-15 12:06:11 +080085 compatible = "ethernet-phy-ieee802.3-c45";
developer565bacb2021-09-28 21:26:32 +080086 reg = <6>;
developer565bacb2021-09-28 21:26:32 +080087 };
88
89 switch@0 {
90 compatible = "mediatek,mt7531";
91 reg = <31>;
92 reset-gpios = <&pio 5 0>;
93
94 ports {
95 #address-cells = <1>;
96 #size-cells = <0>;
97
98 port@0 {
99 reg = <0>;
100 label = "lan0";
101 };
102
103 port@1 {
104 reg = <1>;
105 label = "lan1";
106 };
107
108 port@2 {
109 reg = <2>;
110 label = "lan2";
111 };
112
113 port@3 {
114 reg = <3>;
115 label = "lan3";
116 };
117
118 port@4 {
119 reg = <4>;
120 label = "lan4";
121 };
122
123 port@5 {
124 reg = <5>;
125 label = "lan5";
126 phy-mode = "2500base-x";
127
128 fixed-link {
129 speed = <2500>;
130 full-duplex;
131 pause;
132 };
133 };
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};